@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,156 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var list_exports = {};
20
+ __export(list_exports, {
21
+ List: () => List,
22
+ ListControl: () => ListControl,
23
+ ListControlMessageType: () => ListControlMessageType,
24
+ ListControlType: () => ListControlType,
25
+ copyListData: () => copyListData,
26
+ getListElementChildren: () => getListElementChildren,
27
+ getListFileIds: () => getListFileIds,
28
+ getListPageIds: () => getListPageIds,
29
+ getListSwatchIds: () => getListSwatchIds,
30
+ getListTranslatableData: () => getListTranslatableData,
31
+ getListTypographyIds: () => getListTypographyIds,
32
+ mergeListTranslatedData: () => mergeListTranslatedData
33
+ });
34
+ module.exports = __toCommonJS(list_exports);
35
+ var import_instances = require("../prop-controllers/instances");
36
+ var import_base = require("../prop-controllers/base");
37
+ var import_control = require("./control");
38
+ var import_control2 = require("./control");
39
+ var import_introspection = require("../prop-controllers/introspection");
40
+ const ListControlType = "makeswift::controls::list";
41
+ function List(config) {
42
+ return { type: ListControlType, config };
43
+ }
44
+ const ListControlMessageType = {
45
+ LIST_CONTROL_ITEM_CONTROL_MESSAGE: "makeswift::controls::list::message::item-control-message"
46
+ };
47
+ class ListControl extends import_base.PropController {
48
+ controls;
49
+ descriptor;
50
+ send;
51
+ constructor(send, descriptor) {
52
+ super(send);
53
+ this.descriptor = descriptor;
54
+ this.send = send;
55
+ this.controls = /* @__PURE__ */ new Map();
56
+ }
57
+ setItemsControl = (value) => {
58
+ const controls = /* @__PURE__ */ new Map();
59
+ if (value == null)
60
+ return;
61
+ const shouldUpdate = () => {
62
+ if (value.length !== this.controls.size)
63
+ return true;
64
+ if (!value.every(({ id }) => this.controls.has(id)))
65
+ return true;
66
+ return false;
67
+ };
68
+ if (!shouldUpdate())
69
+ return this.controls;
70
+ value.forEach((item) => {
71
+ const control = (0, import_instances.createPropController)(
72
+ this.descriptor.config.type,
73
+ (message) => this.send({
74
+ type: ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE,
75
+ payload: { message, itemId: item.id }
76
+ })
77
+ );
78
+ controls.set(item.id, control);
79
+ });
80
+ this.controls = controls;
81
+ return this.controls;
82
+ };
83
+ recv = (message) => {
84
+ switch (message.type) {
85
+ case ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE: {
86
+ const control = this.controls.get(message.payload.itemId);
87
+ if (control == null)
88
+ return;
89
+ const recv = control.recv;
90
+ recv(message.payload.message);
91
+ }
92
+ }
93
+ };
94
+ }
95
+ function copyListData(definition, value, context) {
96
+ if (value == null)
97
+ return value;
98
+ return value && value.map((item) => ({
99
+ ...item,
100
+ value: (0, import_control2.copy)(definition.config.type, item.value, context)
101
+ }));
102
+ }
103
+ function introspectListData(definition, value, func) {
104
+ if (value == null)
105
+ return [];
106
+ return value.flatMap((item) => func(definition.config.type, item.value));
107
+ }
108
+ function getListElementChildren(definition, value) {
109
+ return introspectListData(definition, value, import_introspection.getElementChildren);
110
+ }
111
+ function getListSwatchIds(definition, value) {
112
+ return introspectListData(definition, value, import_introspection.getSwatchIds);
113
+ }
114
+ function getListFileIds(definition, value) {
115
+ return introspectListData(definition, value, import_introspection.getFileIds);
116
+ }
117
+ function getListTypographyIds(definition, value) {
118
+ return introspectListData(definition, value, import_introspection.getTypographyIds);
119
+ }
120
+ function getListPageIds(definition, value) {
121
+ return introspectListData(definition, value, import_introspection.getPageIds);
122
+ }
123
+ function getListTranslatableData(definition, data) {
124
+ return Object.fromEntries(
125
+ data.map((item) => [item.id, (0, import_control.getTranslatableData)(definition.config.type, item.value)])
126
+ );
127
+ }
128
+ function mergeListTranslatedData(definition, data, translatedData, context) {
129
+ return data.map((item) => {
130
+ return {
131
+ ...item,
132
+ value: (0, import_control.mergeTranslatedData)(
133
+ definition.config.type,
134
+ item.value,
135
+ translatedData[item.id],
136
+ context
137
+ )
138
+ };
139
+ });
140
+ }
141
+ // Annotate the CommonJS export names for ESM import in node:
142
+ 0 && (module.exports = {
143
+ List,
144
+ ListControl,
145
+ ListControlMessageType,
146
+ ListControlType,
147
+ copyListData,
148
+ getListElementChildren,
149
+ getListFileIds,
150
+ getListPageIds,
151
+ getListSwatchIds,
152
+ getListTranslatableData,
153
+ getListTypographyIds,
154
+ mergeListTranslatedData
155
+ });
156
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/controls/list.ts"],"sourcesContent":["import {\n CheckboxControlDefinition,\n NumberControlDefinition,\n TextInputControlDefinition,\n TextAreaControlDefinition,\n ColorData,\n Data,\n ColorControlDefinition,\n ComboboxControlData,\n ComboboxControlDefinition,\n IconRadioGroupControlData,\n IconRadioGroupControlDefinition,\n ImageControlData,\n ImageControlDefinition,\n LinkControlData,\n LinkControlDefinition,\n} from '@makeswift/controls'\n\nimport {\n AnyPropController,\n createPropController,\n PropControllerMessage,\n Send,\n} from '../prop-controllers/instances'\nimport { PropController } from '../prop-controllers/base'\nimport { CopyContext, MergeTranslatableDataContext } from '../state/react-page'\nimport {\n ControlDefinition,\n ControlDefinitionData,\n getTranslatableData,\n mergeTranslatedData,\n} from './control'\n\nimport { copy as controlCopy } from './control'\nimport {\n getElementChildren,\n getFileIds,\n getPageIds,\n getSwatchIds,\n getTypographyIds,\n} from '../prop-controllers/introspection'\nimport { SelectControlData, SelectControlDefinition } from './select'\nimport { ShapeControlDefinition } from './shape'\nimport { RichTextControlData, RichTextControlDefinition } from './rich-text'\nimport { RichTextV2ControlData, RichTextV2ControlDefinition } from './rich-text-v2'\nimport { StyleControlData, StyleControlDefinition } from './style'\nimport { StyleV2ControlData, StyleV2ControlDefinition } from './style-v2'\nimport { TypographyControlData, TypographyControlDefinition } from './typography'\nimport { IndexSignatureHack } from '../utils/index-signature-hack'\n\nexport type GetItemLabelControlData<T extends ControlDefinition> = T extends CheckboxControlDefinition\n ? boolean\n : T extends NumberControlDefinition\n ? number\n : T extends TextInputControlDefinition\n ? string\n : T extends TextAreaControlDefinition\n ? string\n : T extends SelectControlDefinition\n ? SelectControlData<T>\n : T extends ColorControlDefinition\n ? ColorData\n : T extends IconRadioGroupControlDefinition\n ? IconRadioGroupControlData<T>\n : T extends ImageControlDefinition\n ? ImageControlData\n : T extends ComboboxControlDefinition\n ? ComboboxControlData<T>\n : T extends ShapeControlDefinition\n ? GetItemLabelShapeControlData<T>\n : T extends ListControlDefinition\n ? GetItemListControlData<T>\n : T extends LinkControlDefinition\n ? LinkControlData\n : T extends RichTextControlDefinition\n ? IndexSignatureHack<RichTextControlData>\n : T extends RichTextV2ControlDefinition\n ? RichTextV2ControlData\n : T extends StyleControlDefinition\n ? StyleControlData\n : T extends StyleV2ControlDefinition\n ? StyleV2ControlData\n : T extends TypographyControlDefinition\n ? TypographyControlData\n : never\n\nexport type GetItemLabelListControlItemData<T extends ListControlDefinition> = {\n id: string\n type?: T['config']['type']['type']\n value: GetItemLabelControlData<T['config']['type']>\n}\n\nexport type GetItemLabelShapeControlData<T extends ShapeControlDefinition = ShapeControlDefinition> = {\n [K in keyof T['config']['type']]?: GetItemLabelControlData<T['config']['type'][K]>\n}\n\nexport type GetItemListControlData<T extends ListControlDefinition = ListControlDefinition> =\n GetItemLabelListControlItemData<T>[]\n\nexport const ListControlType = 'makeswift::controls::list'\n\ntype ListControlConfig<T extends ControlDefinition = ControlDefinition> = {\n type: T\n label?: string\n getItemLabel?(item: GetItemLabelControlData<T> | undefined): string\n}\n\nexport type ListControlDefinition<C extends ListControlConfig = ListControlConfig> = {\n type: typeof ListControlType\n config: C\n}\n\nexport function List<T extends ControlDefinition, C extends ListControlConfig<T>>(\n config: C & { type: T },\n): ListControlDefinition<C> {\n return { type: ListControlType, config }\n}\n\nexport type ListControlItemData<T extends ListControlDefinition> = {\n id: string\n type?: T['config']['type']['type']\n value: ControlDefinitionData<T['config']['type']>\n}\n\nexport type ListControlData<T extends ListControlDefinition = ListControlDefinition> =\n ListControlItemData<T>[]\n\nexport const ListControlMessageType = {\n LIST_CONTROL_ITEM_CONTROL_MESSAGE: 'makeswift::controls::list::message::item-control-message',\n} as const\n\ntype ListControlItemControlMessage = {\n type: typeof ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE\n payload: { message: PropControllerMessage; itemId: string }\n}\n\nexport type ListControlMessage = ListControlItemControlMessage\n\nexport class ListControl<\n T extends ListControlDefinition = ListControlDefinition,\n> extends PropController<ListControlMessage> {\n controls: Map<string, AnyPropController>\n descriptor: ListControlDefinition\n send: Send<ListControlMessage>\n\n constructor(send: Send<ListControlMessage>, descriptor: T) {\n super(send)\n\n this.descriptor = descriptor\n this.send = send\n\n this.controls = new Map<string, AnyPropController>()\n }\n\n setItemsControl = (value: ListControlData<T> | undefined) => {\n const controls = new Map<string, AnyPropController>()\n\n if (value == null) return\n\n const shouldUpdate = () => {\n // If the length is different, should update\n if (value.length !== this.controls.size) return true\n // If this.controls does not have an itemId, should update\n if (!value.every(({ id }) => this.controls.has(id))) return true\n\n return false\n }\n\n if (!shouldUpdate()) return this.controls\n\n value.forEach(item => {\n const control = createPropController(this.descriptor.config.type, message =>\n this.send({\n type: ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE,\n payload: { message, itemId: item.id },\n }),\n )\n\n controls.set(item.id, control)\n })\n\n this.controls = controls\n\n return this.controls\n }\n\n recv = (message: ListControlMessage) => {\n switch (message.type) {\n case ListControlMessageType.LIST_CONTROL_ITEM_CONTROL_MESSAGE: {\n const control = this.controls.get(message.payload.itemId)\n\n if (control == null) return\n\n // TODO: We're casting the type here as the arg0 type for control.recv is never\n const recv = control.recv as (arg0: PropControllerMessage) => void\n\n recv(message.payload.message)\n }\n }\n }\n}\n\nexport function copyListData(\n definition: ListControlDefinition,\n value: ListControlData | undefined,\n context: CopyContext,\n): ListControlData | undefined {\n if (value == null) return value\n\n return (\n value &&\n value.map(item => ({\n ...item,\n value: controlCopy(definition.config.type, item.value, context),\n }))\n )\n}\n\nfunction introspectListData<T>(\n definition: ListControlDefinition,\n value: ListControlData | undefined,\n func: (definition: ControlDefinition, data: Data) => T[],\n): T[] {\n if (value == null) return []\n\n return value.flatMap(item => func(definition.config.type, item.value))\n}\n\nexport function getListElementChildren(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getElementChildren)\n}\n\nexport function getListSwatchIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getSwatchIds)\n}\n\nexport function getListFileIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getFileIds)\n}\n\nexport function getListTypographyIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getTypographyIds)\n}\n\nexport function getListPageIds(definition: ListControlDefinition, value: ListControlData) {\n return introspectListData(definition, value, getPageIds)\n}\n\nexport function getListTranslatableData(definition: ListControlDefinition, data: ListControlData) {\n return Object.fromEntries(\n data.map(item => [item.id, getTranslatableData(definition.config.type, item.value)]),\n )\n}\n\nexport type ListControlTranslationDto = Record<string, ListControlData>\n\nexport function mergeListTranslatedData(\n definition: ListControlDefinition,\n data: ListControlData,\n translatedData: ListControlTranslationDto,\n context: MergeTranslatableDataContext,\n) {\n return data.map(item => {\n return {\n ...item,\n value: mergeTranslatedData(\n definition.config.type,\n item.value,\n translatedData[item.id],\n context,\n ),\n }\n })\n}\n"],"mappings":"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","names":["import_control","controlCopy"]}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var number_exports = {};
20
+ __export(number_exports, {
21
+ Number: () => Number,
22
+ NumberControlDataTypeKey: () => NumberControlDataTypeKey,
23
+ NumberControlDataTypeValueV1: () => NumberControlDataTypeValueV1,
24
+ NumberControlType: () => NumberControlType
25
+ });
26
+ module.exports = __toCommonJS(number_exports);
27
+ var import_control_data_type_key = require("./control-data-type-key");
28
+ const NumberControlDataTypeKey = import_control_data_type_key.ControlDataTypeKey;
29
+ const NumberControlDataTypeValueV1 = "number::v1";
30
+ const NumberControlType = "makeswift::controls::number";
31
+ function Number(config = {}) {
32
+ return { type: NumberControlType, config, version: 1 };
33
+ }
34
+ // Annotate the CommonJS export names for ESM import in node:
35
+ 0 && (module.exports = {
36
+ Number,
37
+ NumberControlDataTypeKey,
38
+ NumberControlDataTypeValueV1,
39
+ NumberControlType
40
+ });
41
+ //# sourceMappingURL=number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/controls/number.ts"],"sourcesContent":["import { ControlDataTypeKey } from \"./control-data-type-key\"\n\nexport const NumberControlDataTypeKey = ControlDataTypeKey\n\nexport const NumberControlDataTypeValueV1 = 'number::v1'\n\nexport type NumberControlDataV0 = number\n\nexport type NumberControlDataV1 = {\n [NumberControlDataTypeKey]: typeof NumberControlDataTypeValueV1\n value: number,\n}\n\nexport type NumberControlData = NumberControlDataV0 | NumberControlDataV1\n\nexport const NumberControlType = 'makeswift::controls::number'\n\ntype NumberControlConfig = {\n label?: string\n labelOrientation?: 'vertical' | 'horizontal'\n defaultValue?: number\n min?: number\n max?: number\n step?: number\n suffix?: string\n}\n\nexport type NumberControlDefinition<C extends NumberControlConfig = NumberControlConfig> = {\n type: typeof NumberControlType\n config: C\n version?: 1\n}\n\nexport function Number<C extends NumberControlConfig>(\n config: C = {} as C,\n): NumberControlDefinition<C> {\n return { type: NumberControlType, config, version: 1 }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mCAAmC;AAE5B,MAAM,2BAA2B;AAEjC,MAAM,+BAA+B;AAWrC,MAAM,oBAAoB;AAkB1B,SAAS,OACd,SAAY,CAAC,GACe;AAC5B,SAAO,EAAE,MAAM,mBAAmB,QAAQ,SAAS,EAAE;AACvD;","names":[]}
@@ -0,0 +1,121 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var copy_exports = {};
20
+ __export(copy_exports, {
21
+ copyRichTextData: () => copyRichTextData
22
+ });
23
+ module.exports = __toCommonJS(copy_exports);
24
+ function copyRichTextData(value, context) {
25
+ if (value == null)
26
+ return value;
27
+ return { ...value, document: value.document ? copyNode(value.document) : value.document };
28
+ function copyNode(node) {
29
+ switch (node.object) {
30
+ case "document":
31
+ case "block":
32
+ case "inline":
33
+ return copyInline(node);
34
+ case "text":
35
+ return { ...node, marks: node.marks?.map(copyMark) };
36
+ default:
37
+ return node;
38
+ }
39
+ }
40
+ function copyInline(inline) {
41
+ switch (inline.type) {
42
+ case "link":
43
+ return {
44
+ ...inline,
45
+ nodes: inline.nodes?.map(copyNode),
46
+ data: inline.data ? copyLinkData(inline.data) : inline.data
47
+ };
48
+ default:
49
+ return { ...inline, nodes: inline.nodes?.map(copyNode) };
50
+ }
51
+ }
52
+ function copyLinkData(data) {
53
+ switch (data.type) {
54
+ case "OPEN_PAGE": {
55
+ const pageId = data.payload.pageId;
56
+ if (pageId == null)
57
+ return data;
58
+ return {
59
+ ...data,
60
+ payload: {
61
+ ...data.payload,
62
+ pageId: context.replacementContext.pageIds.get(pageId) ?? data.payload.pageId
63
+ }
64
+ };
65
+ }
66
+ case "SCROLL_TO_ELEMENT": {
67
+ const elementIdConfig = data.payload.elementIdConfig;
68
+ if (elementIdConfig == null)
69
+ return data;
70
+ return {
71
+ ...data,
72
+ payload: {
73
+ ...data.payload,
74
+ elementIdConfig: {
75
+ ...elementIdConfig,
76
+ elementKey: context.replacementContext.elementKeys.get(elementIdConfig.elementKey) ?? elementIdConfig.elementKey
77
+ }
78
+ }
79
+ };
80
+ }
81
+ default:
82
+ return data;
83
+ }
84
+ }
85
+ function copyMark(mark) {
86
+ switch (mark.type) {
87
+ case "typography": {
88
+ const typographyId = mark.data?.value.id;
89
+ return {
90
+ ...mark,
91
+ data: {
92
+ ...mark.data,
93
+ value: {
94
+ ...mark.data?.value,
95
+ id: context.replacementContext.typographyIds.get(typographyId) ?? typographyId,
96
+ style: mark.data?.value.style.map((override) => ({
97
+ ...override,
98
+ value: {
99
+ ...override.value,
100
+ color: override.value.color == null ? override.value.color : {
101
+ ...override.value.color,
102
+ swatchId: context.replacementContext.swatchIds.get(
103
+ override.value.color?.swatchId
104
+ ) ?? override.value.color?.swatchId
105
+ }
106
+ }
107
+ }))
108
+ }
109
+ }
110
+ };
111
+ }
112
+ default:
113
+ return mark;
114
+ }
115
+ }
116
+ }
117
+ // Annotate the CommonJS export names for ESM import in node:
118
+ 0 && (module.exports = {
119
+ copyRichTextData
120
+ });
121
+ //# sourceMappingURL=copy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/controls/rich-text/copy.ts"],"sourcesContent":["import { CopyContext } from '../../state/react-page'\nimport { NodeJSON, InlineJSON, MarkJSON } from './dto-types'\nimport { RichTextControlData } from './rich-text'\n\nexport function copyRichTextData(\n value: RichTextControlData | undefined,\n context: CopyContext,\n): RichTextControlData | 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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,SAAS,iBACd,OACA,SACiC;AACjC,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,43 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var dto_types_exports = {};
20
+ __export(dto_types_exports, {
21
+ ObjectType: () => ObjectType
22
+ });
23
+ module.exports = __toCommonJS(dto_types_exports);
24
+ const ObjectType = {
25
+ Value: "value",
26
+ Text: "text",
27
+ Inline: "inline",
28
+ Block: "block",
29
+ Document: "document",
30
+ Leaf: "leaf",
31
+ Selection: "selection",
32
+ Mark: "mark",
33
+ Range: "range",
34
+ Decoration: "decoration",
35
+ Annotation: "annotation",
36
+ Point: "point",
37
+ Operation: "operation"
38
+ };
39
+ // Annotate the CommonJS export names for ESM import in node:
40
+ 0 && (module.exports = {
41
+ ObjectType
42
+ });
43
+ //# sourceMappingURL=dto-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/controls/rich-text/dto-types.ts"],"sourcesContent":["import { BlockType, InlineType } from '../../slate'\nimport { IndexSignatureHack } from '../../utils/index-signature-hack'\n\nexport const ObjectType = {\n Value: 'value',\n Text: 'text',\n Inline: 'inline',\n Block: 'block',\n Document: 'document',\n Leaf: 'leaf',\n Selection: 'selection',\n Mark: 'mark',\n Range: 'range',\n Decoration: 'decoration',\n Annotation: 'annotation',\n Point: 'point',\n Operation: 'operation',\n} as const\n\nexport type ObjectType = typeof ObjectType[keyof typeof ObjectType]\n\nexport interface ValueJSON {\n object?: typeof ObjectType.Value | undefined\n document?: DocumentJSON | undefined\n selection?: SelectionJSON | undefined\n annotations?: { [key: string]: AnnotationJSON } | undefined\n data?: { [key: string]: any } | undefined\n}\n\nexport type RichTextDTO = ValueJSON\n\nexport type RichTextValue = IndexSignatureHack<RichTextDTO>\n\nexport interface DocumentJSON {\n object?: typeof ObjectType.Document | undefined\n nodes?: NodeJSON[] | undefined\n key?: string | undefined\n data?: { [key: string]: any } | undefined\n}\n\nexport interface BlockJSON {\n object?: typeof ObjectType.Block | undefined\n type: typeof BlockType[keyof typeof BlockType]\n key?: string | undefined\n nodes?: Array<BlockJSON | InlineJSON | TextJSON> | undefined\n data?: { [key: string]: any } | undefined\n}\n\nexport interface InlineJSON {\n object?: typeof ObjectType.Inline | undefined\n type: typeof InlineType[keyof typeof InlineType]\n key?: string | undefined\n nodes?: Array<InlineJSON | TextJSON> | undefined\n data?: { [key: string]: any } | undefined\n}\n\nexport interface TextJSON {\n object?: typeof ObjectType.Text | undefined\n key?: string | undefined\n text?: string | undefined\n marks?: MarkJSON[] | undefined\n}\n\nexport interface LeafJSON {\n object?: typeof ObjectType.Leaf | undefined\n marks?: MarkJSON[] | undefined\n text?: string | undefined\n}\nexport type NodeJSON = DocumentJSON | BlockJSON | InlineJSON | TextJSON\n\nexport interface SelectionJSON {\n object?: typeof ObjectType.Selection | undefined\n anchor?: PointJSON | undefined\n focus?: PointJSON | undefined\n isFocused?: boolean | undefined\n marks?: MarkJSON[] | undefined\n}\n\nexport interface MarkJSON {\n object?: typeof ObjectType.Mark | undefined\n type: string\n data?: { [key: string]: any } | undefined\n}\n\nexport interface RangeJSON {\n object?: typeof ObjectType.Range | undefined\n anchor?: PointJSON | undefined\n focus?: PointJSON | undefined\n}\n\nexport interface DecorationJSON {\n object?: typeof ObjectType.Decoration | undefined\n anchor?: PointJSON | undefined\n focus?: PointJSON | undefined\n type?: string | undefined\n data?: { [key: string]: any } | undefined\n}\n\nexport interface AnnotationJSON {\n object?: typeof ObjectType.Annotation | undefined\n key: string\n type: string\n data?: { [key: string]: any } | undefined\n anchor?: PointJSON | undefined\n focus?: PointJSON | undefined\n}\n\nexport interface PointJSON {\n object?: typeof ObjectType.Point | undefined\n key?: string | undefined\n offset?: number | undefined\n path?: number[] | undefined\n}\n\nexport interface OperationJSON {\n object?: typeof ObjectType.Operation | undefined\n type: string\n text?: string | undefined\n target?: number | undefined\n properties?: NodeJSON | ValueJSON | SelectionJSON | AnnotationJSON | undefined\n position?: number | undefined\n path?: number[] | undefined\n offset?: number | undefined\n node?: Node | undefined\n newProperties?: NodeJSON | ValueJSON | SelectionJSON | MarkJSON | AnnotationJSON | undefined\n newPath?: number[] | undefined\n mark?: MarkJSON | undefined\n data?: { [key: string]: any } | undefined\n annotation?: AnnotationJSON | undefined\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,aAAa;AAAA,EACxB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,UAAU;AAAA,EACV,MAAM;AAAA,EACN,WAAW;AAAA,EACX,MAAM;AAAA,EACN,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,OAAO;AAAA,EACP,WAAW;AACb;","names":[]}
@@ -0,0 +1,228 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var dto_exports = {};
20
+ __export(dto_exports, {
21
+ richTextDAOToDTO: () => richTextDAOToDTO,
22
+ richTextDTOtoDAO: () => richTextDTOtoDAO,
23
+ richTextDTOtoSelection: () => richTextDTOtoSelection,
24
+ toSelectionDTO: () => toSelectionDTO
25
+ });
26
+ module.exports = __toCommonJS(dto_exports);
27
+ var import_dto_types = require("./dto-types");
28
+ var import_types = require("../../slate/types");
29
+ function isText(node) {
30
+ if (typeof node === "object" && "text" in node)
31
+ return true;
32
+ return false;
33
+ }
34
+ function toTextDAO(node) {
35
+ const typographyMark = node.marks?.find((mark) => mark.type === "typography");
36
+ return [
37
+ {
38
+ text: node.text ?? "",
39
+ typography: typographyMark?.data?.value ?? void 0
40
+ }
41
+ ];
42
+ }
43
+ function toInlineDAO(node) {
44
+ switch (node.type) {
45
+ case import_types.InlineType.Link:
46
+ return [
47
+ {
48
+ children: node.nodes?.flatMap(toInlineOrTextDAO) ?? [],
49
+ [node.type]: node.data,
50
+ type: node.type
51
+ }
52
+ ];
53
+ case import_types.InlineType.Code:
54
+ case import_types.InlineType.SubScript:
55
+ case import_types.InlineType.SuperScript:
56
+ return [
57
+ {
58
+ children: node.nodes?.flatMap(toInlineOrTextDAO) ?? [],
59
+ type: node.type
60
+ }
61
+ ];
62
+ default:
63
+ return [];
64
+ }
65
+ }
66
+ function toInlineOrTextDAO(node) {
67
+ switch (node.object) {
68
+ case import_dto_types.ObjectType.Inline:
69
+ return toInlineDAO(node);
70
+ case import_dto_types.ObjectType.Text:
71
+ return toTextDAO(node);
72
+ default:
73
+ return [];
74
+ }
75
+ }
76
+ function toNodeDAO(node) {
77
+ switch (node.object) {
78
+ case import_dto_types.ObjectType.Inline:
79
+ case import_dto_types.ObjectType.Text:
80
+ return toInlineOrTextDAO(node);
81
+ case import_dto_types.ObjectType.Block:
82
+ return [
83
+ {
84
+ type: node.type,
85
+ textAlign: node?.data && "textAlign" in node.data ? node?.data.textAlign : void 0,
86
+ children: node.nodes == null || node.nodes && node.nodes.length === 0 ? [{ text: "" }] : node.nodes.flatMap(toNodeDAO)
87
+ }
88
+ ];
89
+ default:
90
+ return [];
91
+ }
92
+ }
93
+ function richTextDTOtoSelection(data) {
94
+ if (data.selection?.anchor?.offset != null && data.selection.anchor.path != null && data.selection?.focus?.offset != null && data.selection.focus.path != null)
95
+ return {
96
+ anchor: {
97
+ offset: data.selection.anchor.offset,
98
+ path: data.selection.anchor.path
99
+ },
100
+ focus: {
101
+ offset: data.selection.focus.offset,
102
+ path: data.selection.focus.path
103
+ }
104
+ };
105
+ return null;
106
+ }
107
+ function richTextDTOtoDAO(data) {
108
+ return data.document?.nodes?.flatMap(toNodeDAO) ?? [
109
+ { type: import_types.BlockType.Default, children: [{ text: "" }] }
110
+ ];
111
+ }
112
+ function toInlineOrTextDTO(node) {
113
+ if (isText(node)) {
114
+ return [
115
+ {
116
+ text: node.text,
117
+ object: "text",
118
+ marks: node.typography ? [
119
+ {
120
+ data: {
121
+ value: node.typography
122
+ },
123
+ type: "typography",
124
+ object: "mark"
125
+ }
126
+ ] : []
127
+ }
128
+ ];
129
+ }
130
+ switch (node.type) {
131
+ case import_types.InlineType.Link:
132
+ return [
133
+ {
134
+ object: import_dto_types.ObjectType.Inline,
135
+ nodes: node.children.flatMap(toInlineOrTextDTO),
136
+ type: node.type,
137
+ data: node.link ?? void 0
138
+ }
139
+ ];
140
+ case import_types.InlineType.Code:
141
+ case import_types.InlineType.SubScript:
142
+ case import_types.InlineType.SuperScript:
143
+ return [
144
+ {
145
+ object: "inline",
146
+ nodes: node.children.flatMap(toInlineOrTextDTO),
147
+ type: node.type,
148
+ data: {}
149
+ }
150
+ ];
151
+ }
152
+ }
153
+ function toNodeDTO(node) {
154
+ if (isText(node))
155
+ return toInlineOrTextDTO(node);
156
+ switch (node.type) {
157
+ case import_types.InlineType.Link:
158
+ case import_types.InlineType.Code:
159
+ case import_types.InlineType.SubScript:
160
+ case import_types.InlineType.SuperScript:
161
+ return toInlineOrTextDTO(node);
162
+ case import_types.BlockType.Heading1:
163
+ case import_types.BlockType.Heading2:
164
+ case import_types.BlockType.Heading3:
165
+ case import_types.BlockType.Heading4:
166
+ case import_types.BlockType.Heading5:
167
+ case import_types.BlockType.Heading6:
168
+ case import_types.BlockType.Default:
169
+ case import_types.BlockType.BlockQuote:
170
+ case import_types.BlockType.Paragraph:
171
+ case import_types.BlockType.OrderedList:
172
+ case import_types.BlockType.UnorderedList:
173
+ case import_types.BlockType.ListItem:
174
+ case import_types.BlockType.ListItemChild:
175
+ return [
176
+ {
177
+ type: node.type,
178
+ data: node.textAlign ? {
179
+ textAlign: node.textAlign
180
+ } : {},
181
+ object: "block",
182
+ nodes: node.children?.flatMap(toNodeDTO) ?? []
183
+ }
184
+ ];
185
+ default:
186
+ return [];
187
+ }
188
+ }
189
+ function toSelectionDTO(selection) {
190
+ if (selection == null)
191
+ return void 0;
192
+ return {
193
+ isFocused: false,
194
+ marks: void 0,
195
+ object: "selection",
196
+ anchor: {
197
+ offset: selection.anchor.offset,
198
+ path: selection.anchor.path,
199
+ object: "point"
200
+ },
201
+ focus: {
202
+ offset: selection.focus.offset,
203
+ path: selection.focus.path,
204
+ object: "point"
205
+ }
206
+ };
207
+ }
208
+ function richTextDAOToDTO(children, selection) {
209
+ return {
210
+ document: {
211
+ data: void 0,
212
+ nodes: children.flatMap(toNodeDTO),
213
+ object: "document"
214
+ },
215
+ object: "value",
216
+ selection: toSelectionDTO(selection),
217
+ annotations: void 0,
218
+ data: void 0
219
+ };
220
+ }
221
+ // Annotate the CommonJS export names for ESM import in node:
222
+ 0 && (module.exports = {
223
+ richTextDAOToDTO,
224
+ richTextDTOtoDAO,
225
+ richTextDTOtoSelection,
226
+ toSelectionDTO
227
+ });
228
+ //# sourceMappingURL=dto.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/controls/rich-text/dto.ts"],"sourcesContent":["import { Descendant, Text, Selection } from 'slate'\nimport { LinkControlData } from '@makeswift/controls'\nimport {\n BlockJSON,\n InlineJSON,\n NodeJSON,\n SelectionJSON,\n TextJSON,\n RichTextDTO,\n ObjectType,\n} from './dto-types'\nimport { Inline, InlineType, RichTextDAO, BlockType } from '../../slate/types'\n\n// reimplemented from slate source for code splitting\nfunction isText(node: any): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction toTextDAO(node: TextJSON): Text[] {\n const typographyMark = node.marks?.find(mark => mark.type === 'typography')\n\n return [\n {\n text: node.text ?? '',\n typography: typographyMark?.data?.value ?? undefined,\n },\n ]\n}\n\nfunction toInlineDAO(node: InlineJSON): Inline[] {\n switch (node.type) {\n case InlineType.Link:\n return [\n {\n children: node.nodes?.flatMap(toInlineOrTextDAO) ?? [],\n [node.type]: node.data as LinkControlData,\n type: node.type,\n },\n ]\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return [\n {\n children: node.nodes?.flatMap(toInlineOrTextDAO) ?? [],\n type: node.type,\n },\n ]\n default:\n return []\n }\n}\n\nfunction toInlineOrTextDAO(node: InlineJSON | TextJSON): Array<Inline | Text> {\n switch (node.object) {\n case ObjectType.Inline:\n return toInlineDAO(node)\n case ObjectType.Text:\n return toTextDAO(node)\n default:\n return []\n }\n}\n\nfunction toNodeDAO(node: NodeJSON): Descendant[] {\n switch (node.object) {\n case ObjectType.Inline:\n case ObjectType.Text:\n return toInlineOrTextDAO(node)\n case ObjectType.Block:\n /**\n * Prior to 0.50.0 of slate `node.nodes` could be `undefined` or empty. In that situation nothing was rendered.\n * With 0.50.0 slate introduced an normalization that requires all blocks to contain a text node.\n */\n return [\n {\n type: node.type,\n textAlign: node?.data && 'textAlign' in node.data ? node?.data.textAlign : undefined,\n children:\n node.nodes == null || (node.nodes && node.nodes.length === 0)\n ? [{ text: '' }]\n : node.nodes.flatMap(toNodeDAO),\n },\n ]\n default:\n return []\n }\n}\n\nexport function richTextDTOtoSelection(data: RichTextDTO): Selection {\n if (\n data.selection?.anchor?.offset != null &&\n data.selection.anchor.path != null &&\n data.selection?.focus?.offset != null &&\n data.selection.focus.path != null\n )\n return {\n anchor: {\n offset: data.selection.anchor.offset,\n path: data.selection.anchor.path,\n },\n focus: {\n offset: data.selection.focus.offset,\n path: data.selection.focus.path,\n },\n }\n\n return null\n}\n\nexport function richTextDTOtoDAO(data: RichTextDTO): RichTextDAO {\n return (\n data.document?.nodes?.flatMap(toNodeDAO) ?? [\n { type: BlockType.Default, children: [{ text: '' }] },\n ]\n )\n}\n\nfunction toInlineOrTextDTO(node: Inline | Text): Array<InlineJSON | TextJSON> {\n if (isText(node)) {\n return [\n {\n text: node.text,\n object: 'text',\n marks: node.typography\n ? [\n {\n data: {\n value: node.typography,\n },\n type: 'typography',\n object: 'mark',\n },\n ]\n : [],\n },\n ]\n }\n switch (node.type) {\n case InlineType.Link:\n return [\n {\n object: ObjectType.Inline,\n nodes: node.children.flatMap(toInlineOrTextDTO),\n type: node.type,\n data: node.link ?? undefined,\n },\n ]\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return [\n {\n object: 'inline',\n nodes: node.children.flatMap(toInlineOrTextDTO),\n type: node.type,\n data: {},\n },\n ]\n }\n}\n\nfunction toNodeDTO(node: Descendant): Array<BlockJSON | InlineJSON | TextJSON> {\n if (isText(node)) return toInlineOrTextDTO(node)\n\n switch (node.type) {\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return toInlineOrTextDTO(node)\n case BlockType.Heading1:\n case BlockType.Heading2:\n case BlockType.Heading3:\n case BlockType.Heading4:\n case BlockType.Heading5:\n case BlockType.Heading6:\n case BlockType.Default:\n case BlockType.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return [\n {\n type: node.type,\n data: node.textAlign\n ? {\n textAlign: node.textAlign,\n }\n : {},\n object: 'block',\n nodes: node.children?.flatMap(toNodeDTO) ?? [],\n },\n ]\n default:\n return []\n }\n}\n\nexport function toSelectionDTO(selection: Selection | null): SelectionJSON | undefined {\n if (selection == null) return undefined\n\n return {\n isFocused: false,\n marks: undefined,\n object: 'selection',\n anchor: {\n offset: selection.anchor.offset,\n path: selection.anchor.path,\n object: 'point',\n },\n focus: {\n offset: selection.focus.offset,\n path: selection.focus.path,\n object: 'point',\n },\n }\n}\n\nexport function richTextDAOToDTO(children: Descendant[], selection: Selection): RichTextDTO {\n return {\n document: {\n data: undefined,\n nodes: children.flatMap(toNodeDTO),\n object: 'document',\n },\n object: 'value',\n selection: toSelectionDTO(selection),\n annotations: undefined,\n data: undefined,\n }\n}\n"],"mappings":"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","names":[]}