@makeswift/runtime 0.23.13 → 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 (502) 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/manifest.js +1 -1
  86. package/dist/cjs/next/api-handler/handlers/redirect-preview.js +4 -3
  87. package/dist/cjs/next/api-handler/handlers/redirect-preview.js.map +1 -1
  88. package/dist/cjs/next/context/makeswift-host-api-client.js +46 -0
  89. package/dist/cjs/next/context/makeswift-host-api-client.js.map +1 -0
  90. package/dist/cjs/next/context/react-runtime.js +44 -0
  91. package/dist/cjs/next/context/react-runtime.js.map +1 -0
  92. package/dist/cjs/next/hooks/use-sync-cache-data.js +41 -0
  93. package/dist/cjs/next/hooks/use-sync-cache-data.js.map +1 -0
  94. package/dist/cjs/prop-controllers/base.js +34 -0
  95. package/dist/cjs/prop-controllers/base.js.map +1 -0
  96. package/dist/cjs/prop-controllers/copy/backgrounds.js +86 -0
  97. package/dist/cjs/prop-controllers/copy/backgrounds.js.map +1 -0
  98. package/dist/cjs/prop-controllers/copy/element-id.js +36 -0
  99. package/dist/cjs/prop-controllers/copy/element-id.js.map +1 -0
  100. package/dist/cjs/prop-controllers/copy/grid.js +36 -0
  101. package/dist/cjs/prop-controllers/copy/grid.js.map +1 -0
  102. package/dist/cjs/prop-controllers/copy/image.js +35 -0
  103. package/dist/cjs/prop-controllers/copy/image.js.map +1 -0
  104. package/dist/cjs/prop-controllers/copy/images.js +49 -0
  105. package/dist/cjs/prop-controllers/copy/images.js.map +1 -0
  106. package/dist/cjs/prop-controllers/copy/navigation-links.js +58 -0
  107. package/dist/cjs/prop-controllers/copy/navigation-links.js.map +1 -0
  108. package/dist/cjs/prop-controllers/copy/rich-text.js +121 -0
  109. package/dist/cjs/prop-controllers/copy/rich-text.js.map +1 -0
  110. package/dist/cjs/prop-controllers/copy/table-form-fields.js +39 -0
  111. package/dist/cjs/prop-controllers/copy/table-form-fields.js.map +1 -0
  112. package/dist/cjs/prop-controllers/copy/table.js +33 -0
  113. package/dist/cjs/prop-controllers/copy/table.js.map +1 -0
  114. package/dist/cjs/runtimes/react/components/DocumentReference.js +42 -0
  115. package/dist/cjs/runtimes/react/components/DocumentReference.js.map +1 -0
  116. package/dist/cjs/runtimes/react/controls/checkbox.js +34 -0
  117. package/dist/cjs/runtimes/react/controls/checkbox.js.map +1 -0
  118. package/dist/cjs/runtimes/react/controls/color.js +58 -0
  119. package/dist/cjs/runtimes/react/controls/color.js.map +1 -0
  120. package/dist/cjs/runtimes/react/controls/combobox.js +31 -0
  121. package/dist/cjs/runtimes/react/controls/combobox.js.map +1 -0
  122. package/dist/cjs/runtimes/react/controls/icon-radio-group.js +31 -0
  123. package/dist/cjs/runtimes/react/controls/icon-radio-group.js.map +1 -0
  124. package/dist/cjs/runtimes/react/controls/image.js +53 -0
  125. package/dist/cjs/runtimes/react/controls/image.js.map +1 -0
  126. package/dist/cjs/runtimes/react/controls/link.js +110 -0
  127. package/dist/cjs/runtimes/react/controls/link.js.map +1 -0
  128. package/dist/cjs/runtimes/react/controls/list.js +58 -0
  129. package/dist/cjs/runtimes/react/controls/list.js.map +1 -0
  130. package/dist/cjs/runtimes/react/controls/number.js +34 -0
  131. package/dist/cjs/runtimes/react/controls/number.js.map +1 -0
  132. package/dist/cjs/runtimes/react/controls/select.js +31 -0
  133. package/dist/cjs/runtimes/react/controls/select.js.map +1 -0
  134. package/dist/cjs/runtimes/react/controls/shape.js +44 -0
  135. package/dist/cjs/runtimes/react/controls/shape.js.map +1 -0
  136. package/dist/cjs/runtimes/react/controls/style-v2.js +92 -0
  137. package/dist/cjs/runtimes/react/controls/style-v2.js.map +1 -0
  138. package/dist/cjs/runtimes/react/controls/text-area.js +34 -0
  139. package/dist/cjs/runtimes/react/controls/text-area.js.map +1 -0
  140. package/dist/cjs/runtimes/react/controls/text-input.js +34 -0
  141. package/dist/cjs/runtimes/react/controls/text-input.js.map +1 -0
  142. package/dist/cjs/runtimes/react/hooks/use-document-key.js +36 -0
  143. package/dist/cjs/runtimes/react/hooks/use-document-key.js.map +1 -0
  144. package/dist/cjs/runtimes/react/hooks/use-head-marker.js +40 -0
  145. package/dist/cjs/runtimes/react/hooks/use-head-marker.js.map +1 -0
  146. package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js +48 -0
  147. package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +1 -0
  148. package/dist/cjs/utils/coalesce.js +33 -0
  149. package/dist/cjs/utils/coalesce.js.map +1 -0
  150. package/dist/cjs/utils/index-signature-hack.js +17 -0
  151. package/dist/cjs/utils/index-signature-hack.js.map +1 -0
  152. package/dist/cjs/utils/shallowMerge.js +44 -0
  153. package/dist/cjs/utils/shallowMerge.js.map +1 -0
  154. package/dist/cjs/utils/tests/breakpoint-test-util.js +35 -0
  155. package/dist/cjs/utils/tests/breakpoint-test-util.js.map +1 -0
  156. package/dist/cjs/utils/tests/element-data-test-test.js +75 -0
  157. package/dist/cjs/utils/tests/element-data-test-test.js.map +1 -0
  158. package/dist/esm/api/graphql/fragments.js +6 -0
  159. package/dist/esm/api/graphql/fragments.js.map +1 -0
  160. package/dist/esm/api/graphql/types.js +16 -0
  161. package/dist/esm/api/graphql/types.js.map +1 -0
  162. package/dist/esm/api/resource-types.js +8 -0
  163. package/dist/esm/api/resource-types.js.map +1 -0
  164. package/dist/esm/builder/serialization/controls/combobox.js +20 -0
  165. package/dist/esm/builder/serialization/controls/combobox.js.map +1 -0
  166. package/dist/esm/builder/serialization/controls/list.js +25 -0
  167. package/dist/esm/builder/serialization/controls/list.js.map +1 -0
  168. package/dist/esm/builder/serialization/controls/rich-text-v2.js +81 -0
  169. package/dist/esm/builder/serialization/controls/rich-text-v2.js.map +1 -0
  170. package/dist/esm/builder/serialization/controls/shape.js +32 -0
  171. package/dist/esm/builder/serialization/controls/shape.js.map +1 -0
  172. package/dist/esm/builder/serialization/controls/style-v2.js +37 -0
  173. package/dist/esm/builder/serialization/controls/style-v2.js.map +1 -0
  174. package/dist/esm/builder/unstructured-introspection/__fixtures__/element-containing-resources.js +875 -0
  175. package/dist/esm/builder/unstructured-introspection/__fixtures__/element-containing-resources.js.map +1 -0
  176. package/dist/esm/builder/unstructured-introspection/__fixtures__/index.js +2 -0
  177. package/dist/esm/builder/unstructured-introspection/__fixtures__/index.js.map +1 -0
  178. package/dist/esm/builder/unstructured-introspection/index.js +5 -0
  179. package/dist/esm/builder/unstructured-introspection/index.js.map +1 -0
  180. package/dist/esm/builder/unstructured-introspection/unstructured-introspection.js +61 -0
  181. package/dist/esm/builder/unstructured-introspection/unstructured-introspection.js.map +1 -0
  182. package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js +1 -0
  183. package/dist/esm/components/shared/BackgroundsContainer/components/BackgroundVideo/index.js.map +1 -1
  184. package/dist/esm/controls/checkbox.js +14 -0
  185. package/dist/esm/controls/checkbox.js.map +1 -0
  186. package/dist/esm/controls/color.js +27 -0
  187. package/dist/esm/controls/color.js.map +1 -0
  188. package/dist/esm/controls/combobox.js +9 -0
  189. package/dist/esm/controls/combobox.js.map +1 -0
  190. package/dist/esm/controls/control-data-type-key.js +5 -0
  191. package/dist/esm/controls/control-data-type-key.js.map +1 -0
  192. package/dist/esm/controls/icon-radio-group.js +19 -0
  193. package/dist/esm/controls/icon-radio-group.js.map +1 -0
  194. package/dist/esm/controls/image.js +10 -0
  195. package/dist/esm/controls/image.js.map +1 -0
  196. package/dist/esm/controls/list.js +132 -0
  197. package/dist/esm/controls/list.js.map +1 -0
  198. package/dist/esm/controls/number.js +14 -0
  199. package/dist/esm/controls/number.js.map +1 -0
  200. package/dist/esm/controls/rich-text/copy.js +97 -0
  201. package/dist/esm/controls/rich-text/copy.js.map +1 -0
  202. package/dist/esm/controls/rich-text/dto-types.js +19 -0
  203. package/dist/esm/controls/rich-text/dto-types.js.map +1 -0
  204. package/dist/esm/controls/rich-text/dto.js +203 -0
  205. package/dist/esm/controls/rich-text/dto.js.map +1 -0
  206. package/dist/esm/controls/rich-text/fixtures/blockquote.js +53 -0
  207. package/dist/esm/controls/rich-text/fixtures/blockquote.js.map +1 -0
  208. package/dist/esm/controls/rich-text/fixtures/empty-blocks.js +151 -0
  209. package/dist/esm/controls/rich-text/fixtures/empty-blocks.js.map +1 -0
  210. package/dist/esm/controls/rich-text/fixtures/index.js +4 -0
  211. package/dist/esm/controls/rich-text/fixtures/index.js.map +1 -0
  212. package/dist/esm/controls/rich-text/fixtures/list.js +113 -0
  213. package/dist/esm/controls/rich-text/fixtures/list.js.map +1 -0
  214. package/dist/esm/controls/rich-text/fixtures/typography.js +902 -0
  215. package/dist/esm/controls/rich-text/fixtures/typography.js.map +1 -0
  216. package/dist/esm/controls/rich-text/fixtures/v2-data-types.js +90 -0
  217. package/dist/esm/controls/rich-text/fixtures/v2-data-types.js.map +1 -0
  218. package/dist/esm/controls/rich-text/introspection.js +78 -0
  219. package/dist/esm/controls/rich-text/introspection.js.map +1 -0
  220. package/dist/esm/controls/rich-text-v2/copy.js +91 -0
  221. package/dist/esm/controls/rich-text-v2/copy.js.map +1 -0
  222. package/dist/esm/controls/rich-text-v2/dto.js +19 -0
  223. package/dist/esm/controls/rich-text-v2/dto.js.map +1 -0
  224. package/dist/esm/controls/rich-text-v2/introspection.js +43 -0
  225. package/dist/esm/controls/rich-text-v2/introspection.js.map +1 -0
  226. package/dist/esm/controls/select.js +9 -0
  227. package/dist/esm/controls/select.js.map +1 -0
  228. package/dist/esm/controls/shape.js +125 -0
  229. package/dist/esm/controls/shape.js.map +1 -0
  230. package/dist/esm/controls/style-v2.js +48 -0
  231. package/dist/esm/controls/style-v2.js.map +1 -0
  232. package/dist/esm/controls/style.js +95 -0
  233. package/dist/esm/controls/style.js.map +1 -0
  234. package/dist/esm/controls/text-area.js +14 -0
  235. package/dist/esm/controls/text-area.js.map +1 -0
  236. package/dist/esm/controls/text-input.js +14 -0
  237. package/dist/esm/controls/text-input.js.map +1 -0
  238. package/dist/esm/controls/types.js +1 -0
  239. package/dist/esm/controls/types.js.map +1 -0
  240. package/dist/esm/controls/typography.js +20 -0
  241. package/dist/esm/controls/typography.js.map +1 -0
  242. package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
  243. package/dist/esm/next/api-handler/handlers/redirect-preview.js +4 -3
  244. package/dist/esm/next/api-handler/handlers/redirect-preview.js.map +1 -1
  245. package/dist/esm/next/context/makeswift-host-api-client.js +21 -0
  246. package/dist/esm/next/context/makeswift-host-api-client.js.map +1 -0
  247. package/dist/esm/next/context/react-runtime.js +19 -0
  248. package/dist/esm/next/context/react-runtime.js.map +1 -0
  249. package/dist/esm/next/hooks/use-sync-cache-data.js +17 -0
  250. package/dist/esm/next/hooks/use-sync-cache-data.js.map +1 -0
  251. package/dist/esm/prop-controllers/base.js +10 -0
  252. package/dist/esm/prop-controllers/base.js.map +1 -0
  253. package/dist/esm/prop-controllers/copy/backgrounds.js +62 -0
  254. package/dist/esm/prop-controllers/copy/backgrounds.js.map +1 -0
  255. package/dist/esm/prop-controllers/copy/element-id.js +12 -0
  256. package/dist/esm/prop-controllers/copy/element-id.js.map +1 -0
  257. package/dist/esm/prop-controllers/copy/grid.js +12 -0
  258. package/dist/esm/prop-controllers/copy/grid.js.map +1 -0
  259. package/dist/esm/prop-controllers/copy/image.js +11 -0
  260. package/dist/esm/prop-controllers/copy/image.js.map +1 -0
  261. package/dist/esm/prop-controllers/copy/images.js +25 -0
  262. package/dist/esm/prop-controllers/copy/images.js.map +1 -0
  263. package/dist/esm/prop-controllers/copy/navigation-links.js +34 -0
  264. package/dist/esm/prop-controllers/copy/navigation-links.js.map +1 -0
  265. package/dist/esm/prop-controllers/copy/rich-text.js +97 -0
  266. package/dist/esm/prop-controllers/copy/rich-text.js.map +1 -0
  267. package/dist/esm/prop-controllers/copy/table-form-fields.js +15 -0
  268. package/dist/esm/prop-controllers/copy/table-form-fields.js.map +1 -0
  269. package/dist/esm/prop-controllers/copy/table.js +9 -0
  270. package/dist/esm/prop-controllers/copy/table.js.map +1 -0
  271. package/dist/esm/runtimes/react/components/DocumentReference.js +18 -0
  272. package/dist/esm/runtimes/react/components/DocumentReference.js.map +1 -0
  273. package/dist/esm/runtimes/react/controls/checkbox.js +13 -0
  274. package/dist/esm/runtimes/react/controls/checkbox.js.map +1 -0
  275. package/dist/esm/runtimes/react/controls/color.js +24 -0
  276. package/dist/esm/runtimes/react/controls/color.js.map +1 -0
  277. package/dist/esm/runtimes/react/controls/combobox.js +7 -0
  278. package/dist/esm/runtimes/react/controls/combobox.js.map +1 -0
  279. package/dist/esm/runtimes/react/controls/icon-radio-group.js +7 -0
  280. package/dist/esm/runtimes/react/controls/icon-radio-group.js.map +1 -0
  281. package/dist/esm/runtimes/react/controls/image.js +29 -0
  282. package/dist/esm/runtimes/react/controls/image.js.map +1 -0
  283. package/dist/esm/runtimes/react/controls/link.js +76 -0
  284. package/dist/esm/runtimes/react/controls/link.js.map +1 -0
  285. package/dist/esm/runtimes/react/controls/list.js +34 -0
  286. package/dist/esm/runtimes/react/controls/list.js.map +1 -0
  287. package/dist/esm/runtimes/react/controls/number.js +13 -0
  288. package/dist/esm/runtimes/react/controls/number.js.map +1 -0
  289. package/dist/esm/runtimes/react/controls/select.js +7 -0
  290. package/dist/esm/runtimes/react/controls/select.js.map +1 -0
  291. package/dist/esm/runtimes/react/controls/shape.js +20 -0
  292. package/dist/esm/runtimes/react/controls/shape.js.map +1 -0
  293. package/dist/esm/runtimes/react/controls/style-v2.js +72 -0
  294. package/dist/esm/runtimes/react/controls/style-v2.js.map +1 -0
  295. package/dist/esm/runtimes/react/controls/text-area.js +13 -0
  296. package/dist/esm/runtimes/react/controls/text-area.js.map +1 -0
  297. package/dist/esm/runtimes/react/controls/text-input.js +13 -0
  298. package/dist/esm/runtimes/react/controls/text-input.js.map +1 -0
  299. package/dist/esm/runtimes/react/hooks/use-document-key.js +11 -0
  300. package/dist/esm/runtimes/react/hooks/use-document-key.js.map +1 -0
  301. package/dist/esm/runtimes/react/hooks/use-head-marker.js +16 -0
  302. package/dist/esm/runtimes/react/hooks/use-head-marker.js.map +1 -0
  303. package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js +24 -0
  304. package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +1 -0
  305. package/dist/esm/utils/coalesce.js +13 -0
  306. package/dist/esm/utils/coalesce.js.map +1 -0
  307. package/dist/esm/utils/index-signature-hack.js +1 -0
  308. package/dist/esm/utils/index-signature-hack.js.map +1 -0
  309. package/dist/esm/utils/shallowMerge.js +14 -0
  310. package/dist/esm/utils/shallowMerge.js.map +1 -0
  311. package/dist/esm/utils/tests/breakpoint-test-util.js +9 -0
  312. package/dist/esm/utils/tests/breakpoint-test-util.js.map +1 -0
  313. package/dist/esm/utils/tests/element-data-test-test.js +50 -0
  314. package/dist/esm/utils/tests/element-data-test-test.js.map +1 -0
  315. package/dist/types/api/graphql/fragments.d.ts +4 -0
  316. package/dist/types/api/graphql/fragments.d.ts.map +1 -0
  317. package/dist/types/api/graphql/types.d.ts +8 -0
  318. package/dist/types/api/graphql/types.d.ts.map +1 -0
  319. package/dist/types/api/resource-types.d.ts +20 -0
  320. package/dist/types/api/resource-types.d.ts.map +1 -0
  321. package/dist/types/builder/serialization/controls/combobox.d.ts +5 -0
  322. package/dist/types/builder/serialization/controls/combobox.d.ts.map +1 -0
  323. package/dist/types/builder/serialization/controls/list.d.ts +5 -0
  324. package/dist/types/builder/serialization/controls/list.d.ts.map +1 -0
  325. package/dist/types/builder/serialization/controls/rich-text-v2.d.ts +5 -0
  326. package/dist/types/builder/serialization/controls/rich-text-v2.d.ts.map +1 -0
  327. package/dist/types/builder/serialization/controls/shape.d.ts +5 -0
  328. package/dist/types/builder/serialization/controls/shape.d.ts.map +1 -0
  329. package/dist/types/builder/serialization/controls/style-v2.d.ts +5 -0
  330. package/dist/types/builder/serialization/controls/style-v2.d.ts.map +1 -0
  331. package/dist/types/builder/unstructured-introspection/__fixtures__/element-containing-resources.d.ts +3 -0
  332. package/dist/types/builder/unstructured-introspection/__fixtures__/element-containing-resources.d.ts.map +1 -0
  333. package/dist/types/builder/unstructured-introspection/__fixtures__/index.d.ts +2 -0
  334. package/dist/types/builder/unstructured-introspection/__fixtures__/index.d.ts.map +1 -0
  335. package/dist/types/builder/unstructured-introspection/index.d.ts +2 -0
  336. package/dist/types/builder/unstructured-introspection/index.d.ts.map +1 -0
  337. package/dist/types/builder/unstructured-introspection/unstructured-introspection.d.ts +10 -0
  338. package/dist/types/builder/unstructured-introspection/unstructured-introspection.d.ts.map +1 -0
  339. package/dist/types/builder/unstructured-introspection/unstructured-introspection.test.d.ts +2 -0
  340. package/dist/types/builder/unstructured-introspection/unstructured-introspection.test.d.ts.map +1 -0
  341. package/dist/types/components/shared/BackgroundsContainer/components/BackgroundVideo/index.d.ts.map +1 -1
  342. package/dist/types/controls/checkbox.d.ts +21 -0
  343. package/dist/types/controls/checkbox.d.ts.map +1 -0
  344. package/dist/types/controls/color.d.ts +25 -0
  345. package/dist/types/controls/color.d.ts.map +1 -0
  346. package/dist/types/controls/combobox.d.ts +22 -0
  347. package/dist/types/controls/combobox.d.ts.map +1 -0
  348. package/dist/types/controls/control-data-type-key.d.ts +2 -0
  349. package/dist/types/controls/control-data-type-key.d.ts.map +1 -0
  350. package/dist/types/controls/icon-radio-group.d.ts +32 -0
  351. package/dist/types/controls/icon-radio-group.d.ts.map +1 -0
  352. package/dist/types/controls/image.d.ts +4 -0
  353. package/dist/types/controls/image.d.ts.map +1 -0
  354. package/dist/types/controls/image.test.d.ts +2 -0
  355. package/dist/types/controls/image.test.d.ts.map +1 -0
  356. package/dist/types/controls/link.test.d.ts +2 -0
  357. package/dist/types/controls/link.test.d.ts.map +1 -0
  358. package/dist/types/controls/list.d.ts +78 -0
  359. package/dist/types/controls/list.d.ts.map +1 -0
  360. package/dist/types/controls/number.d.ts +26 -0
  361. package/dist/types/controls/number.d.ts.map +1 -0
  362. package/dist/types/controls/rich-text/__tests__/copy.test.d.ts +2 -0
  363. package/dist/types/controls/rich-text/__tests__/copy.test.d.ts.map +1 -0
  364. package/dist/types/controls/rich-text/__tests__/dto.test.d.ts +2 -0
  365. package/dist/types/controls/rich-text/__tests__/dto.test.d.ts.map +1 -0
  366. package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts +2 -0
  367. package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts.map +1 -0
  368. package/dist/types/controls/rich-text/copy.d.ts +4 -0
  369. package/dist/types/controls/rich-text/copy.d.ts.map +1 -0
  370. package/dist/types/controls/rich-text/dto-types.d.ts +132 -0
  371. package/dist/types/controls/rich-text/dto-types.d.ts.map +1 -0
  372. package/dist/types/controls/rich-text/dto.d.ts +8 -0
  373. package/dist/types/controls/rich-text/dto.d.ts.map +1 -0
  374. package/dist/types/controls/rich-text/fixtures/blockquote.d.ts +3 -0
  375. package/dist/types/controls/rich-text/fixtures/blockquote.d.ts.map +1 -0
  376. package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts +4 -0
  377. package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts.map +1 -0
  378. package/dist/types/controls/rich-text/fixtures/index.d.ts +4 -0
  379. package/dist/types/controls/rich-text/fixtures/index.d.ts.map +1 -0
  380. package/dist/types/controls/rich-text/fixtures/list.d.ts +3 -0
  381. package/dist/types/controls/rich-text/fixtures/list.d.ts.map +1 -0
  382. package/dist/types/controls/rich-text/fixtures/typography.d.ts +3 -0
  383. package/dist/types/controls/rich-text/fixtures/typography.d.ts.map +1 -0
  384. package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts +3 -0
  385. package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts.map +1 -0
  386. package/dist/types/controls/rich-text/introspection.d.ts +5 -0
  387. package/dist/types/controls/rich-text/introspection.d.ts.map +1 -0
  388. package/dist/types/controls/rich-text-v2/copy.d.ts +4 -0
  389. package/dist/types/controls/rich-text-v2/copy.d.ts.map +1 -0
  390. package/dist/types/controls/rich-text-v2/dto.d.ts +5 -0
  391. package/dist/types/controls/rich-text-v2/dto.d.ts.map +1 -0
  392. package/dist/types/controls/rich-text-v2/introspection.d.ts +5 -0
  393. package/dist/types/controls/rich-text-v2/introspection.d.ts.map +1 -0
  394. package/dist/types/controls/select.d.ts +22 -0
  395. package/dist/types/controls/select.d.ts.map +1 -0
  396. package/dist/types/controls/shape.d.ts +50 -0
  397. package/dist/types/controls/shape.d.ts.map +1 -0
  398. package/dist/types/controls/style-v2.d.ts +64 -0
  399. package/dist/types/controls/style-v2.d.ts.map +1 -0
  400. package/dist/types/controls/style.d.ts +179 -0
  401. package/dist/types/controls/style.d.ts.map +1 -0
  402. package/dist/types/controls/text-area.d.ts +22 -0
  403. package/dist/types/controls/text-area.d.ts.map +1 -0
  404. package/dist/types/controls/text-input.d.ts +22 -0
  405. package/dist/types/controls/text-input.d.ts.map +1 -0
  406. package/dist/types/controls/types.d.ts +14 -0
  407. package/dist/types/controls/types.d.ts.map +1 -0
  408. package/dist/types/controls/typography.d.ts +33 -0
  409. package/dist/types/controls/typography.d.ts.map +1 -0
  410. package/dist/types/next/components/tests/controls/color-control.test.d.ts +3 -0
  411. package/dist/types/next/components/tests/controls/color-control.test.d.ts.map +1 -0
  412. package/dist/types/next/components/tests/controls/style-control.test.d.ts +2 -0
  413. package/dist/types/next/components/tests/controls/style-control.test.d.ts.map +1 -0
  414. package/dist/types/next/context/makeswift-host-api-client.d.ts +8 -0
  415. package/dist/types/next/context/makeswift-host-api-client.d.ts.map +1 -0
  416. package/dist/types/next/context/react-runtime.d.ts +8 -0
  417. package/dist/types/next/context/react-runtime.d.ts.map +1 -0
  418. package/dist/types/next/hooks/use-sync-cache-data.d.ts +3 -0
  419. package/dist/types/next/hooks/use-sync-cache-data.d.ts.map +1 -0
  420. package/dist/types/prop-controllers/base.d.ts +7 -0
  421. package/dist/types/prop-controllers/base.d.ts.map +1 -0
  422. package/dist/types/prop-controllers/copy/backgrounds.d.ts +4 -0
  423. package/dist/types/prop-controllers/copy/backgrounds.d.ts.map +1 -0
  424. package/dist/types/prop-controllers/copy/element-id.d.ts +3 -0
  425. package/dist/types/prop-controllers/copy/element-id.d.ts.map +1 -0
  426. package/dist/types/prop-controllers/copy/grid.d.ts +4 -0
  427. package/dist/types/prop-controllers/copy/grid.d.ts.map +1 -0
  428. package/dist/types/prop-controllers/copy/image.d.ts +4 -0
  429. package/dist/types/prop-controllers/copy/image.d.ts.map +1 -0
  430. package/dist/types/prop-controllers/copy/image.test.d.ts +2 -0
  431. package/dist/types/prop-controllers/copy/image.test.d.ts.map +1 -0
  432. package/dist/types/prop-controllers/copy/images.d.ts +4 -0
  433. package/dist/types/prop-controllers/copy/images.d.ts.map +1 -0
  434. package/dist/types/prop-controllers/copy/images.test.d.ts +2 -0
  435. package/dist/types/prop-controllers/copy/images.test.d.ts.map +1 -0
  436. package/dist/types/prop-controllers/copy/navigation-links.d.ts +4 -0
  437. package/dist/types/prop-controllers/copy/navigation-links.d.ts.map +1 -0
  438. package/dist/types/prop-controllers/copy/navigation-links.test.d.ts +2 -0
  439. package/dist/types/prop-controllers/copy/navigation-links.test.d.ts.map +1 -0
  440. package/dist/types/prop-controllers/copy/rich-text.d.ts +4 -0
  441. package/dist/types/prop-controllers/copy/rich-text.d.ts.map +1 -0
  442. package/dist/types/prop-controllers/copy/rich-text.test.d.ts +2 -0
  443. package/dist/types/prop-controllers/copy/rich-text.test.d.ts.map +1 -0
  444. package/dist/types/prop-controllers/copy/table-form-fields.d.ts +4 -0
  445. package/dist/types/prop-controllers/copy/table-form-fields.d.ts.map +1 -0
  446. package/dist/types/prop-controllers/copy/table-form-fields.test.d.ts +2 -0
  447. package/dist/types/prop-controllers/copy/table-form-fields.test.d.ts.map +1 -0
  448. package/dist/types/prop-controllers/copy/table.d.ts +4 -0
  449. package/dist/types/prop-controllers/copy/table.d.ts.map +1 -0
  450. package/dist/types/prop-controllers/copy/table.test.d.ts +2 -0
  451. package/dist/types/prop-controllers/copy/table.test.d.ts.map +1 -0
  452. package/dist/types/runtimes/react/components/DocumentReference.d.ts +9 -0
  453. package/dist/types/runtimes/react/components/DocumentReference.d.ts.map +1 -0
  454. package/dist/types/runtimes/react/controls/checkbox.d.ts +4 -0
  455. package/dist/types/runtimes/react/controls/checkbox.d.ts.map +1 -0
  456. package/dist/types/runtimes/react/controls/color.d.ts +4 -0
  457. package/dist/types/runtimes/react/controls/color.d.ts.map +1 -0
  458. package/dist/types/runtimes/react/controls/combobox.d.ts +4 -0
  459. package/dist/types/runtimes/react/controls/combobox.d.ts.map +1 -0
  460. package/dist/types/runtimes/react/controls/icon-radio-group.d.ts +4 -0
  461. package/dist/types/runtimes/react/controls/icon-radio-group.d.ts.map +1 -0
  462. package/dist/types/runtimes/react/controls/image.d.ts +4 -0
  463. package/dist/types/runtimes/react/controls/image.d.ts.map +1 -0
  464. package/dist/types/runtimes/react/controls/link.d.ts +4 -0
  465. package/dist/types/runtimes/react/controls/link.d.ts.map +1 -0
  466. package/dist/types/runtimes/react/controls/list.d.ts +12 -0
  467. package/dist/types/runtimes/react/controls/list.d.ts.map +1 -0
  468. package/dist/types/runtimes/react/controls/number.d.ts +4 -0
  469. package/dist/types/runtimes/react/controls/number.d.ts.map +1 -0
  470. package/dist/types/runtimes/react/controls/select.d.ts +4 -0
  471. package/dist/types/runtimes/react/controls/select.d.ts.map +1 -0
  472. package/dist/types/runtimes/react/controls/shape.d.ts +12 -0
  473. package/dist/types/runtimes/react/controls/shape.d.ts.map +1 -0
  474. package/dist/types/runtimes/react/controls/style-v2.d.ts +13 -0
  475. package/dist/types/runtimes/react/controls/style-v2.d.ts.map +1 -0
  476. package/dist/types/runtimes/react/controls/text-area.d.ts +4 -0
  477. package/dist/types/runtimes/react/controls/text-area.d.ts.map +1 -0
  478. package/dist/types/runtimes/react/controls/text-input.d.ts +4 -0
  479. package/dist/types/runtimes/react/controls/text-input.d.ts.map +1 -0
  480. package/dist/types/runtimes/react/hooks/use-document-key.d.ts +4 -0
  481. package/dist/types/runtimes/react/hooks/use-document-key.d.ts.map +1 -0
  482. package/dist/types/runtimes/react/hooks/use-head-marker.d.ts +3 -0
  483. package/dist/types/runtimes/react/hooks/use-head-marker.d.ts.map +1 -0
  484. package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts +16 -0
  485. package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts.map +1 -0
  486. package/dist/types/state/react-builder-preview.test.d.ts +2 -0
  487. package/dist/types/state/react-builder-preview.test.d.ts.map +1 -0
  488. package/dist/types/state/react-page.test.d.ts +2 -0
  489. package/dist/types/state/react-page.test.d.ts.map +1 -0
  490. package/dist/types/utils/coalesce.d.ts +3 -0
  491. package/dist/types/utils/coalesce.d.ts.map +1 -0
  492. package/dist/types/utils/index-signature-hack.d.ts +4 -0
  493. package/dist/types/utils/index-signature-hack.d.ts.map +1 -0
  494. package/dist/types/utils/shallowMerge.d.ts +2 -0
  495. package/dist/types/utils/shallowMerge.d.ts.map +1 -0
  496. package/dist/types/utils/tests/breakpoint-test-util.d.ts +4 -0
  497. package/dist/types/utils/tests/breakpoint-test-util.d.ts.map +1 -0
  498. package/dist/types/utils/tests/element-data-test-test.d.ts +51 -0
  499. package/dist/types/utils/tests/element-data-test-test.d.ts.map +1 -0
  500. package/package.json +3 -3
  501. package/dist/types/next/types.d.ts +0 -123
  502. package/dist/types/next/types.d.ts.map +0 -1
@@ -0,0 +1,97 @@
1
+ function copy(value, context) {
2
+ if (value == null)
3
+ return value;
4
+ return { ...value, document: value.document ? copyNode(value.document) : value.document };
5
+ function copyNode(node) {
6
+ switch (node.object) {
7
+ case "document":
8
+ case "block":
9
+ case "inline":
10
+ return copyInline(node);
11
+ case "text":
12
+ return { ...node, marks: node.marks?.map(copyMark) };
13
+ default:
14
+ return node;
15
+ }
16
+ }
17
+ function copyInline(inline) {
18
+ switch (inline.type) {
19
+ case "link":
20
+ return {
21
+ ...inline,
22
+ nodes: inline.nodes?.map(copyNode),
23
+ data: inline.data ? copyLinkData(inline.data) : inline.data
24
+ };
25
+ default:
26
+ return { ...inline, nodes: inline.nodes?.map(copyNode) };
27
+ }
28
+ }
29
+ function copyLinkData(data) {
30
+ switch (data.type) {
31
+ case "OPEN_PAGE": {
32
+ const pageId = data.payload.pageId;
33
+ if (pageId == null)
34
+ return data;
35
+ return {
36
+ ...data,
37
+ payload: {
38
+ ...data.payload,
39
+ pageId: context.replacementContext.pageIds.get(pageId) ?? data.payload.pageId
40
+ }
41
+ };
42
+ }
43
+ case "SCROLL_TO_ELEMENT": {
44
+ const elementIdConfig = data.payload.elementIdConfig;
45
+ if (elementIdConfig == null)
46
+ return data;
47
+ return {
48
+ ...data,
49
+ payload: {
50
+ ...data.payload,
51
+ elementIdConfig: {
52
+ ...elementIdConfig,
53
+ elementKey: context.replacementContext.elementKeys.get(elementIdConfig.elementKey) ?? elementIdConfig.elementKey
54
+ }
55
+ }
56
+ };
57
+ }
58
+ default:
59
+ return data;
60
+ }
61
+ }
62
+ function copyMark(mark) {
63
+ switch (mark.type) {
64
+ case "typography": {
65
+ const typographyId = mark.data?.value.id;
66
+ return {
67
+ ...mark,
68
+ data: {
69
+ ...mark.data,
70
+ value: {
71
+ ...mark.data?.value,
72
+ id: context.replacementContext.typographyIds.get(typographyId) ?? typographyId,
73
+ style: mark.data?.value.style.map((override) => ({
74
+ ...override,
75
+ value: {
76
+ ...override.value,
77
+ color: override.value.color == null ? override.value.color : {
78
+ ...override.value.color,
79
+ swatchId: context.replacementContext.swatchIds.get(
80
+ override.value.color?.swatchId
81
+ ) ?? override.value.color?.swatchId
82
+ }
83
+ }
84
+ }))
85
+ }
86
+ }
87
+ };
88
+ }
89
+ default:
90
+ return mark;
91
+ }
92
+ }
93
+ }
94
+ export {
95
+ copy
96
+ };
97
+ //# sourceMappingURL=rich-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/prop-controllers/copy/rich-text.ts"],"sourcesContent":["import { NodeJSON, InlineJSON, MarkJSON } from '../../controls'\nimport { CopyContext } from '../../state/react-page'\nimport { RichTextValue } from '../descriptors'\n\nexport function copy(\n value: RichTextValue | undefined,\n context: CopyContext,\n): RichTextValue | undefined {\n if (value == null) return value\n\n return { ...value, document: value.document ? copyNode(value.document) : value.document }\n\n function copyNode<T extends NodeJSON>(node: T): T {\n switch (node.object) {\n case 'document':\n case 'block':\n case 'inline':\n // @ts-expect-error: TypeScript can't refine the generic type T, even though it can\n // refine NodeJSON.\n return copyInline(node)\n\n case 'text':\n return { ...node, marks: node.marks?.map(copyMark) }\n\n default:\n return node\n }\n }\n\n function copyInline(inline: InlineJSON): InlineJSON {\n switch (inline.type) {\n case 'link':\n return {\n ...inline,\n nodes: inline.nodes?.map(copyNode),\n data: inline.data ? copyLinkData(inline.data as any) : inline.data,\n }\n\n default:\n return { ...inline, nodes: inline.nodes?.map(copyNode) }\n }\n }\n\n function copyLinkData(data: any): any {\n switch (data.type) {\n case 'OPEN_PAGE': {\n const pageId = data.payload.pageId\n\n if (pageId == null) return data\n\n return {\n ...data,\n payload: {\n ...data.payload,\n pageId: context.replacementContext.pageIds.get(pageId) ?? data.payload.pageId,\n },\n }\n }\n\n case 'SCROLL_TO_ELEMENT': {\n const elementIdConfig = data.payload.elementIdConfig\n\n if (elementIdConfig == null) return data\n\n return {\n ...data,\n payload: {\n ...data.payload,\n elementIdConfig: {\n ...elementIdConfig,\n elementKey:\n context.replacementContext.elementKeys.get(elementIdConfig.elementKey) ??\n elementIdConfig.elementKey,\n },\n },\n }\n }\n\n default:\n return data\n }\n }\n\n function copyMark(mark: MarkJSON): MarkJSON {\n switch (mark.type) {\n case 'typography': {\n const typographyId = mark.data?.value.id\n\n return {\n ...mark,\n data: {\n ...mark.data,\n value: {\n ...mark.data?.value,\n id: context.replacementContext.typographyIds.get(typographyId) ?? typographyId,\n style: mark.data?.value.style.map((override: any) => ({\n ...override,\n value: {\n ...override.value,\n color:\n override.value.color == null\n ? override.value.color\n : {\n ...override.value.color,\n swatchId:\n context.replacementContext.swatchIds.get(\n override.value.color?.swatchId,\n ) ?? override.value.color?.swatchId,\n },\n },\n })),\n },\n },\n }\n }\n\n default:\n return mark\n }\n }\n}\n"],"mappings":"AAIO,SAAS,KACd,OACA,SAC2B;AAC3B,MAAI,SAAS;AAAM,WAAO;AAE1B,SAAO,EAAE,GAAG,OAAO,UAAU,MAAM,WAAW,SAAS,MAAM,QAAQ,IAAI,MAAM,SAAS;AAExF,WAAS,SAA6B,MAAY;AAChD,YAAQ,KAAK,QAAQ;AAAA,MACnB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAGH,eAAO,WAAW,IAAI;AAAA,MAExB,KAAK;AACH,eAAO,EAAE,GAAG,MAAM,OAAO,KAAK,OAAO,IAAI,QAAQ,EAAE;AAAA,MAErD;AACE,eAAO;AAAA,IACX;AAAA,EACF;AAEA,WAAS,WAAW,QAAgC;AAClD,YAAQ,OAAO,MAAM;AAAA,MACnB,KAAK;AACH,eAAO;AAAA,UACL,GAAG;AAAA,UACH,OAAO,OAAO,OAAO,IAAI,QAAQ;AAAA,UACjC,MAAM,OAAO,OAAO,aAAa,OAAO,IAAW,IAAI,OAAO;AAAA,QAChE;AAAA,MAEF;AACE,eAAO,EAAE,GAAG,QAAQ,OAAO,OAAO,OAAO,IAAI,QAAQ,EAAE;AAAA,IAC3D;AAAA,EACF;AAEA,WAAS,aAAa,MAAgB;AACpC,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,aAAa;AAChB,cAAM,SAAS,KAAK,QAAQ;AAE5B,YAAI,UAAU;AAAM,iBAAO;AAE3B,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,YACR,QAAQ,QAAQ,mBAAmB,QAAQ,IAAI,MAAM,KAAK,KAAK,QAAQ;AAAA,UACzE;AAAA,QACF;AAAA,MACF;AAAA,MAEA,KAAK,qBAAqB;AACxB,cAAM,kBAAkB,KAAK,QAAQ;AAErC,YAAI,mBAAmB;AAAM,iBAAO;AAEpC,eAAO;AAAA,UACL,GAAG;AAAA,UACH,SAAS;AAAA,YACP,GAAG,KAAK;AAAA,YACR,iBAAiB;AAAA,cACf,GAAG;AAAA,cACH,YACE,QAAQ,mBAAmB,YAAY,IAAI,gBAAgB,UAAU,KACrE,gBAAgB;AAAA,YACpB;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MAEA;AACE,eAAO;AAAA,IACX;AAAA,EACF;AAEA,WAAS,SAAS,MAA0B;AAC1C,YAAQ,KAAK,MAAM;AAAA,MACjB,KAAK,cAAc;AACjB,cAAM,eAAe,KAAK,MAAM,MAAM;AAEtC,eAAO;AAAA,UACL,GAAG;AAAA,UACH,MAAM;AAAA,YACJ,GAAG,KAAK;AAAA,YACR,OAAO;AAAA,cACL,GAAG,KAAK,MAAM;AAAA,cACd,IAAI,QAAQ,mBAAmB,cAAc,IAAI,YAAY,KAAK;AAAA,cAClE,OAAO,KAAK,MAAM,MAAM,MAAM,IAAI,CAAC,cAAmB;AAAA,gBACpD,GAAG;AAAA,gBACH,OAAO;AAAA,kBACL,GAAG,SAAS;AAAA,kBACZ,OACE,SAAS,MAAM,SAAS,OACpB,SAAS,MAAM,QACf;AAAA,oBACE,GAAG,SAAS,MAAM;AAAA,oBAClB,UACE,QAAQ,mBAAmB,UAAU;AAAA,sBACnC,SAAS,MAAM,OAAO;AAAA,oBACxB,KAAK,SAAS,MAAM,OAAO;AAAA,kBAC/B;AAAA,gBACR;AAAA,cACF,EAAE;AAAA,YACJ;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MAEA;AACE,eAAO;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
@@ -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,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":[]}
@@ -0,0 +1,72 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { useStyle } from "../use-style";
3
+ import {
4
+ findBreakpointOverride,
5
+ getBaseBreakpoint,
6
+ getBreakpointMediaQuery,
7
+ mergeOrCoalesceFallbacks
8
+ } from "../../../state/modules/breakpoints";
9
+ import { ControlValue } from "./control";
10
+ import { RenderHook } from "../components";
11
+ import { useBreakpoints } from "../hooks/use-breakpoints";
12
+ function useStyleControlCssObject(styleControlData, controlDefinition) {
13
+ const breakpoints = useBreakpoints();
14
+ return {
15
+ ...controlDefinition.config.getStyle(
16
+ findBreakpointOverride(
17
+ breakpoints,
18
+ styleControlData,
19
+ getBaseBreakpoint(breakpoints).id,
20
+ mergeOrCoalesceFallbacks
21
+ )?.value
22
+ ),
23
+ ...breakpoints.reduce((styles, breakpoint) => {
24
+ return {
25
+ ...styles,
26
+ [getBreakpointMediaQuery(breakpoint)]: controlDefinition.config.getStyle(
27
+ findBreakpointOverride(
28
+ breakpoints,
29
+ styleControlData,
30
+ breakpoint.id,
31
+ mergeOrCoalesceFallbacks
32
+ )?.value
33
+ )
34
+ };
35
+ }, {})
36
+ };
37
+ }
38
+ function useFormattedStyleV2(styleControlData, controlDefinition) {
39
+ const styles = useStyleControlCssObject(styleControlData, controlDefinition);
40
+ return useStyle(styles);
41
+ }
42
+ function StyleV2ControlValue({
43
+ definition,
44
+ data,
45
+ children,
46
+ control
47
+ }) {
48
+ return (data ?? []).reduceRight(
49
+ (renderFn, { deviceId, value }) => (responsiveValue) => {
50
+ return /* @__PURE__ */ jsx(ControlValue, { definition: definition.config.type, data: value, control: control?.child(), children: (value2) => renderFn([
51
+ { deviceId, value: value2 },
52
+ ...responsiveValue
53
+ ]) });
54
+ },
55
+ (value) => {
56
+ return /* @__PURE__ */ jsx(
57
+ RenderHook,
58
+ {
59
+ hook: useFormattedStyleV2,
60
+ parameters: [value, definition],
61
+ children: (value2) => children(value2)
62
+ },
63
+ definition.controlType
64
+ );
65
+ }
66
+ )([]);
67
+ }
68
+ export {
69
+ StyleV2ControlValue,
70
+ useFormattedStyleV2
71
+ };
72
+ //# sourceMappingURL=style-v2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/style-v2.tsx"],"sourcesContent":["import { CSSObject } from '@emotion/css'\nimport {\n type ResponsiveValue,\n type ResolvedValueType,\n type DataType,\n type DeviceOverride,\n} from '@makeswift/controls'\n\nimport { StyleV2Definition, StyleV2Control } from '../../../controls/style-v2/style-v2'\n\nimport { useStyle } from '../use-style'\nimport {\n findBreakpointOverride,\n getBaseBreakpoint,\n getBreakpointMediaQuery,\n mergeOrCoalesceFallbacks,\n} from '../../../state/modules/breakpoints'\n\nimport { ControlValue } from './control'\nimport { RenderHook } from '../components'\nimport { useBreakpoints } from '../hooks/use-breakpoints'\n\nfunction useStyleControlCssObject(\n styleControlData: ResponsiveValue<ResolvedValueType<StyleV2Definition>>,\n controlDefinition: StyleV2Definition,\n): CSSObject {\n const breakpoints = useBreakpoints()\n\n return {\n ...controlDefinition.config.getStyle(\n findBreakpointOverride(\n breakpoints,\n styleControlData,\n getBaseBreakpoint(breakpoints).id,\n mergeOrCoalesceFallbacks,\n )?.value,\n ),\n ...breakpoints.reduce((styles, breakpoint) => {\n return {\n ...styles,\n [getBreakpointMediaQuery(breakpoint)]: controlDefinition.config.getStyle(\n findBreakpointOverride(\n breakpoints,\n styleControlData,\n breakpoint.id,\n mergeOrCoalesceFallbacks,\n )?.value,\n ),\n }\n }, {}),\n }\n}\n\nexport function useFormattedStyleV2(\n styleControlData: ResponsiveValue<ResolvedValueType<StyleV2Definition>>,\n controlDefinition: StyleV2Definition,\n): ResolvedValueType<StyleV2Definition> {\n const styles = useStyleControlCssObject(styleControlData, controlDefinition)\n\n return useStyle(styles)\n}\n\ntype ValueProps = {\n definition: StyleV2Definition\n data: DataType<StyleV2Definition> | undefined\n children(value: string): JSX.Element\n control?: StyleV2Control\n}\n\nexport function StyleV2ControlValue({\n definition,\n data,\n children,\n control,\n}: ValueProps): JSX.Element {\n return (data ?? []).reduceRight(\n (renderFn, { deviceId, value }: DeviceOverride<DataType<StyleV2Definition>>) =>\n responsiveValue => {\n return (\n <ControlValue definition={definition.config.type} data={value} control={control?.child()}>\n {value =>\n renderFn([\n { deviceId, value: value as ResolvedValueType<typeof definition.config.type> },\n ...responsiveValue,\n ])\n }\n </ControlValue>\n )\n },\n (value: ResponsiveValue<ResolvedValueType<StyleV2Definition>>) => {\n return (\n <RenderHook\n key={definition.controlType}\n hook={useFormattedStyleV2}\n parameters={[value, definition]}\n >\n {value => children(value)}\n </RenderHook>\n )\n },\n )([])\n}\n"],"mappings":"AA+EU;AArEV,SAAS,gBAAgB;AACzB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAEP,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAC3B,SAAS,sBAAsB;AAE/B,SAAS,yBACP,kBACA,mBACW;AACX,QAAM,cAAc,eAAe;AAEnC,SAAO;AAAA,IACL,GAAG,kBAAkB,OAAO;AAAA,MAC1B;AAAA,QACE;AAAA,QACA;AAAA,QACA,kBAAkB,WAAW,EAAE;AAAA,QAC/B;AAAA,MACF,GAAG;AAAA,IACL;AAAA,IACA,GAAG,YAAY,OAAO,CAAC,QAAQ,eAAe;AAC5C,aAAO;AAAA,QACL,GAAG;AAAA,QACH,CAAC,wBAAwB,UAAU,CAAC,GAAG,kBAAkB,OAAO;AAAA,UAC9D;AAAA,YACE;AAAA,YACA;AAAA,YACA,WAAW;AAAA,YACX;AAAA,UACF,GAAG;AAAA,QACL;AAAA,MACF;AAAA,IACF,GAAG,CAAC,CAAC;AAAA,EACP;AACF;AAEO,SAAS,oBACd,kBACA,mBACsC;AACtC,QAAM,SAAS,yBAAyB,kBAAkB,iBAAiB;AAE3E,SAAO,SAAS,MAAM;AACxB;AASO,SAAS,oBAAoB;AAAA,EAClC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA4B;AAC1B,UAAQ,QAAQ,CAAC,GAAG;AAAA,IAClB,CAAC,UAAU,EAAE,UAAU,MAAM,MAC3B,qBAAmB;AACjB,aACE,oBAAC,gBAAa,YAAY,WAAW,OAAO,MAAM,MAAM,OAAO,SAAS,SAAS,MAAM,GACpF,WAAAA,WACC,SAAS;AAAA,QACP,EAAE,UAAU,OAAOA,OAA0D;AAAA,QAC7E,GAAG;AAAA,MACL,CAAC,GAEL;AAAA,IAEJ;AAAA,IACF,CAAC,UAAiE;AAChE,aACE;AAAA,QAAC;AAAA;AAAA,UAEC,MAAM;AAAA,UACN,YAAY,CAAC,OAAO,UAAU;AAAA,UAE7B,WAAAA,WAAS,SAASA,MAAK;AAAA;AAAA,QAJnB,WAAW;AAAA,MAKlB;AAAA,IAEJ;AAAA,EACF,EAAE,CAAC,CAAC;AACN;","names":["value"]}
@@ -0,0 +1,13 @@
1
+ import { match } from "ts-pattern";
2
+ import {
3
+ TextAreaControlDataTypeKey,
4
+ TextAreaControlDataTypeValueV1
5
+ } from "@makeswift/controls";
6
+ function useTextAreaValue(data, definition) {
7
+ const value = match(data).with({ [TextAreaControlDataTypeKey]: TextAreaControlDataTypeValueV1 }, (val) => val.value).otherwise((val) => val) ?? definition.config.defaultValue;
8
+ return value;
9
+ }
10
+ export {
11
+ useTextAreaValue
12
+ };
13
+ //# sourceMappingURL=text-area.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/text-area.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n TextAreaControlData,\n TextAreaControlDataTypeKey,\n TextAreaControlDataTypeValueV1,\n TextAreaControlDefinition,\n} from '@makeswift/controls'\n\nexport type TextAreaControlValue<T extends TextAreaControlDefinition> =\n undefined extends T['config']['defaultValue'] ? string | undefined : string\n\nexport function useTextAreaValue<T extends TextAreaControlDefinition>(\n data: TextAreaControlData | undefined,\n definition: T,\n): TextAreaControlValue<T> {\n const value: string | undefined =\n match(data)\n .with({ [TextAreaControlDataTypeKey]: TextAreaControlDataTypeValueV1 }, val => val.value)\n .otherwise(val => val) ?? definition.config.defaultValue\n\n return value as TextAreaControlValue<T>\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB;AAAA,EAEE;AAAA,EACA;AAAA,OAEK;AAKA,SAAS,iBACd,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,13 @@
1
+ import { match } from "ts-pattern";
2
+ import {
3
+ TextInputControlDataTypeKey,
4
+ TextInputControlDataTypeValueV1
5
+ } from "@makeswift/controls";
6
+ function useTextInputValue(data, definition) {
7
+ const value = match(data).with({ [TextInputControlDataTypeKey]: TextInputControlDataTypeValueV1 }, (val) => val.value).otherwise((val) => val) ?? definition.config.defaultValue;
8
+ return value;
9
+ }
10
+ export {
11
+ useTextInputValue
12
+ };
13
+ //# sourceMappingURL=text-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/controls/text-input.ts"],"sourcesContent":["import { match } from 'ts-pattern'\nimport {\n TextInputControlData,\n TextInputControlDataTypeKey,\n TextInputControlDataTypeValueV1,\n TextInputControlDefinition,\n} from '@makeswift/controls'\n\nexport type TextInputControlValue<T extends TextInputControlDefinition> =\n undefined extends T['config']['defaultValue'] ? string | undefined : string\n\nexport function useTextInputValue<T extends TextInputControlDefinition>(\n data: TextInputControlData | undefined,\n definition: T,\n): TextInputControlValue<T> {\n const value: string | undefined =\n match(data)\n .with({ [TextInputControlDataTypeKey]: TextInputControlDataTypeValueV1 }, val => val.value)\n .otherwise(val => val) ?? definition.config.defaultValue\n\n return value as TextInputControlValue<T>\n}\n"],"mappings":"AAAA,SAAS,aAAa;AACtB;AAAA,EAEE;AAAA,EACA;AAAA,OAEK;AAKA,SAAS,kBACd,MACA,YAC0B;AAC1B,QAAM,QACJ,MAAM,IAAI,EACP,KAAK,EAAE,CAAC,2BAA2B,GAAG,gCAAgC,GAAG,SAAO,IAAI,KAAK,EACzF,UAAU,SAAO,GAAG,KAAK,WAAW,OAAO;AAEhD,SAAO;AACT;","names":[]}
@@ -0,0 +1,11 @@
1
+ "use client";
2
+ import { createContext, useContext } from "react";
3
+ const DocumentContext = createContext(null);
4
+ function useDocumentKey() {
5
+ return useContext(DocumentContext);
6
+ }
7
+ export {
8
+ DocumentContext,
9
+ useDocumentKey
10
+ };
11
+ //# sourceMappingURL=use-document-key.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/runtimes/react/hooks/use-document-key.ts"],"sourcesContent":["'use client'\n\nimport { createContext, useContext } from 'react'\n\nexport const DocumentContext = createContext<string | null>(null)\n\nexport function useDocumentKey(): string | null {\n return useContext(DocumentContext)\n}\n"],"mappings":";AAEA,SAAS,eAAe,kBAAkB;AAEnC,MAAM,kBAAkB,cAA6B,IAAI;AAEzD,SAAS,iBAAgC;AAC9C,SAAO,WAAW,eAAe;AACnC;","names":[]}