@makeswift/runtime 0.19.4 → 0.20.0

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 (884) hide show
  1. package/builder/rich-text/package.json +5 -0
  2. package/core/package.json +5 -0
  3. package/dist/cjs/api/graphql/generated/types.js.map +1 -1
  4. package/dist/cjs/api/react.js.map +1 -1
  5. package/dist/cjs/{prop-controllers/base.js → builder/rich-text/index.js} +7 -12
  6. package/dist/cjs/builder/rich-text/index.js.map +1 -0
  7. package/dist/cjs/builder/serialization/control-serialization.js +51 -27
  8. package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
  9. package/dist/cjs/components/builtin/Button/Button.js.map +1 -1
  10. package/dist/cjs/components/builtin/Carousel/Carousel.js +2 -2
  11. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  12. package/dist/cjs/components/builtin/Countdown/Countdown.js.map +1 -1
  13. package/dist/cjs/components/builtin/Divider/Divider.js.map +1 -1
  14. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  15. package/dist/cjs/components/builtin/Form/context/FormContext.js.map +1 -1
  16. package/dist/cjs/components/builtin/Image/Image.js +2 -2
  17. package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
  18. package/dist/cjs/components/builtin/Navigation/Navigation.js.map +1 -1
  19. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  20. package/dist/cjs/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  21. package/dist/cjs/components/builtin/Text/register.js.map +1 -1
  22. package/dist/cjs/components/builtin/register.js.map +1 -1
  23. package/dist/cjs/components/hooks/useMediaQuery.js +2 -2
  24. package/dist/cjs/components/hooks/useMediaQuery.js.map +1 -1
  25. package/dist/cjs/components/hooks/useResponsiveColor.js +1 -1
  26. package/dist/cjs/components/hooks/useResponsiveColor.js.map +1 -1
  27. package/dist/cjs/components/shared/Link/index.js +2 -2
  28. package/dist/cjs/components/shared/Link/index.js.map +1 -1
  29. package/dist/cjs/components/utils/responsive-style.js +9 -9
  30. package/dist/cjs/components/utils/responsive-style.js.map +1 -1
  31. package/dist/cjs/components/utils/types.js.map +1 -1
  32. package/dist/cjs/controls/control.js +14 -78
  33. package/dist/cjs/controls/control.js.map +1 -1
  34. package/dist/cjs/controls/index.js +99 -21
  35. package/dist/cjs/controls/index.js.map +1 -1
  36. package/dist/cjs/controls/{image.js → link.js} +20 -11
  37. package/dist/cjs/controls/link.js.map +1 -0
  38. package/dist/cjs/controls/rich-text/control.js +97 -0
  39. package/dist/cjs/controls/rich-text/control.js.map +1 -0
  40. package/dist/cjs/controls/rich-text/index.js +1 -7
  41. package/dist/cjs/controls/rich-text/index.js.map +1 -1
  42. package/dist/cjs/controls/rich-text/rich-text.js +16 -69
  43. package/dist/cjs/controls/rich-text/rich-text.js.map +1 -1
  44. package/dist/cjs/controls/rich-text-v2/control.js +138 -0
  45. package/dist/cjs/controls/rich-text-v2/control.js.map +1 -0
  46. package/dist/cjs/controls/rich-text-v2/index.js +1 -5
  47. package/dist/cjs/controls/rich-text-v2/index.js.map +1 -1
  48. package/dist/cjs/controls/rich-text-v2/plugin.js +3 -3
  49. package/dist/cjs/controls/rich-text-v2/plugin.js.map +1 -1
  50. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js +105 -121
  51. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  52. package/dist/cjs/controls/rich-text-v2/translation.js +35 -48
  53. package/dist/cjs/controls/rich-text-v2/translation.js.map +1 -1
  54. package/dist/cjs/controls/slot.js +13 -59
  55. package/dist/cjs/controls/slot.js.map +1 -1
  56. package/dist/cjs/controls/{rich-text/fixtures → style-v2}/index.js +4 -8
  57. package/dist/cjs/controls/style-v2/index.js.map +1 -0
  58. package/dist/cjs/controls/style-v2/style-v2.js +50 -0
  59. package/dist/cjs/controls/style-v2/style-v2.js.map +1 -0
  60. package/dist/cjs/{controls/select.js → core/index.js} +11 -12
  61. package/dist/cjs/core/index.js.map +1 -0
  62. package/dist/cjs/jest-setup.js +3 -0
  63. package/dist/cjs/jest-setup.js.map +1 -1
  64. package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
  65. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +18 -5
  66. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  67. package/dist/cjs/prop-controllers/copy.js +20 -18
  68. package/dist/cjs/prop-controllers/copy.js.map +1 -1
  69. package/dist/cjs/prop-controllers/deleted.js.map +1 -1
  70. package/dist/cjs/prop-controllers/descriptors.js +6 -6
  71. package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
  72. package/dist/cjs/prop-controllers/index.js +0 -2
  73. package/dist/cjs/prop-controllers/index.js.map +1 -1
  74. package/dist/cjs/prop-controllers/instances.js +12 -90
  75. package/dist/cjs/prop-controllers/instances.js.map +1 -1
  76. package/dist/cjs/prop-controllers/introspection.js +26 -97
  77. package/dist/cjs/prop-controllers/introspection.js.map +1 -1
  78. package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
  79. package/dist/cjs/runtimes/react/controls/checkbox.js +1 -4
  80. package/dist/cjs/runtimes/react/controls/checkbox.js.map +1 -1
  81. package/dist/cjs/runtimes/react/controls/color.js.map +1 -1
  82. package/dist/cjs/runtimes/react/controls/combobox.js.map +1 -1
  83. package/dist/cjs/runtimes/react/controls/control.js +48 -39
  84. package/dist/cjs/runtimes/react/controls/control.js.map +1 -1
  85. package/dist/cjs/runtimes/react/controls/icon-radio-group.js.map +1 -1
  86. package/dist/cjs/runtimes/react/controls/image.js +6 -10
  87. package/dist/cjs/runtimes/react/controls/image.js.map +1 -1
  88. package/dist/cjs/runtimes/react/controls/link.js.map +1 -1
  89. package/dist/cjs/runtimes/react/controls/list.js +3 -1
  90. package/dist/cjs/runtimes/react/controls/list.js.map +1 -1
  91. package/dist/cjs/runtimes/react/controls/number.js +1 -4
  92. package/dist/cjs/runtimes/react/controls/number.js.map +1 -1
  93. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js +4 -2
  94. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  95. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js +1 -1
  96. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js.map +1 -1
  97. package/dist/cjs/runtimes/react/controls/rich-text/ReadOnlyText.js +2 -7
  98. package/dist/cjs/runtimes/react/controls/rich-text/ReadOnlyText.js.map +1 -1
  99. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/block.js +14 -14
  100. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/block.js.map +1 -1
  101. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/element.js +7 -23
  102. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/element.js.map +1 -1
  103. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js +1 -1
  104. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js.map +1 -1
  105. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  106. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js +3 -16
  107. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js.map +1 -1
  108. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +1 -1
  109. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +1 -1
  110. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +8 -8
  111. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  112. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js +2 -2
  113. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js.map +1 -1
  114. package/dist/cjs/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js +7 -13
  115. package/dist/cjs/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +1 -1
  116. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -2
  117. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  118. package/dist/cjs/runtimes/react/controls/select.js +1 -1
  119. package/dist/cjs/runtimes/react/controls/select.js.map +1 -1
  120. package/dist/cjs/runtimes/react/controls/shape.js +2 -7
  121. package/dist/cjs/runtimes/react/controls/shape.js.map +1 -1
  122. package/dist/cjs/runtimes/react/controls/slot.js +13 -5
  123. package/dist/cjs/runtimes/react/controls/slot.js.map +1 -1
  124. package/dist/cjs/runtimes/react/controls/style-v2.js +6 -11
  125. package/dist/cjs/runtimes/react/controls/style-v2.js.map +1 -1
  126. package/dist/cjs/runtimes/react/controls/style.js +8 -8
  127. package/dist/cjs/runtimes/react/controls/style.js.map +1 -1
  128. package/dist/cjs/runtimes/react/controls/text-area.js +1 -4
  129. package/dist/cjs/runtimes/react/controls/text-area.js.map +1 -1
  130. package/dist/cjs/runtimes/react/controls/text-input.js +1 -4
  131. package/dist/cjs/runtimes/react/controls/text-input.js.map +1 -1
  132. package/dist/cjs/runtimes/react/controls/typography.js.map +1 -1
  133. package/dist/cjs/runtimes/react/controls.js +79 -73
  134. package/dist/cjs/runtimes/react/controls.js.map +1 -1
  135. package/dist/cjs/runtimes/react/hooks/use-store.js +2 -2
  136. package/dist/cjs/runtimes/react/hooks/use-store.js.map +1 -1
  137. package/dist/cjs/runtimes/react/poll-box-model.js +1 -1
  138. package/dist/cjs/runtimes/react/poll-box-model.js.map +1 -1
  139. package/dist/cjs/runtimes/react/react-runtime.js +3 -32
  140. package/dist/cjs/runtimes/react/react-runtime.js.map +1 -1
  141. package/dist/cjs/runtimes/react/runtime-core.js +67 -0
  142. package/dist/cjs/runtimes/react/runtime-core.js.map +1 -0
  143. package/dist/cjs/slate/BlockPlugin/clearBlockKeyForDevice.js +2 -2
  144. package/dist/cjs/slate/BlockPlugin/clearBlockKeyForDevice.js.map +1 -1
  145. package/dist/cjs/slate/BlockPlugin/indent.js +3 -2
  146. package/dist/cjs/slate/BlockPlugin/indent.js.map +1 -1
  147. package/dist/cjs/slate/BlockPlugin/index.js +17 -15
  148. package/dist/cjs/slate/BlockPlugin/index.js.map +1 -1
  149. package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js +2 -2
  150. package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
  151. package/dist/cjs/slate/BlockPlugin/toggleList.js +2 -2
  152. package/dist/cjs/slate/BlockPlugin/toggleList.js.map +1 -1
  153. package/dist/cjs/slate/BlockPlugin/types.js.map +1 -1
  154. package/dist/cjs/slate/BlockPlugin/unwrapInline.js +2 -2
  155. package/dist/cjs/slate/BlockPlugin/unwrapInline.js.map +1 -1
  156. package/dist/cjs/slate/BlockPlugin/unwrapList.js +3 -4
  157. package/dist/cjs/slate/BlockPlugin/unwrapList.js.map +1 -1
  158. package/dist/cjs/slate/BlockPlugin/utils/getSelectedListItems.js +2 -2
  159. package/dist/cjs/slate/BlockPlugin/utils/getSelectedListItems.js.map +1 -1
  160. package/dist/cjs/slate/BlockPlugin/wrapInline.js.map +1 -1
  161. package/dist/cjs/slate/BlockPlugin/wrapList.js +4 -3
  162. package/dist/cjs/slate/BlockPlugin/wrapList.js.map +1 -1
  163. package/dist/cjs/slate/BuilderPlugin/index.js +3 -3
  164. package/dist/cjs/slate/BuilderPlugin/index.js.map +1 -1
  165. package/dist/cjs/slate/InlineModePlugin/index.js +4 -5
  166. package/dist/cjs/slate/InlineModePlugin/index.js.map +1 -1
  167. package/dist/cjs/slate/InlinePlugin/getValue.js +4 -4
  168. package/dist/cjs/slate/InlinePlugin/getValue.js.map +1 -1
  169. package/dist/cjs/slate/InlinePlugin/index.js +10 -14
  170. package/dist/cjs/slate/InlinePlugin/index.js.map +1 -1
  171. package/dist/cjs/slate/InlinePlugin/onChange.js +3 -3
  172. package/dist/cjs/slate/InlinePlugin/onChange.js.map +1 -1
  173. package/dist/cjs/slate/InlinePlugin/types.js +9 -6
  174. package/dist/cjs/slate/InlinePlugin/types.js.map +1 -1
  175. package/dist/cjs/slate/LinkPlugin/getValue.js +4 -5
  176. package/dist/cjs/slate/LinkPlugin/getValue.js.map +1 -1
  177. package/dist/cjs/slate/LinkPlugin/index.js +8 -10
  178. package/dist/cjs/slate/LinkPlugin/index.js.map +1 -1
  179. package/dist/cjs/slate/LinkPlugin/onChange.js +6 -6
  180. package/dist/cjs/slate/LinkPlugin/onChange.js.map +1 -1
  181. package/dist/cjs/slate/LinkPlugin/types.js +3 -8
  182. package/dist/cjs/slate/LinkPlugin/types.js.map +1 -1
  183. package/dist/cjs/slate/TextAlignPlugin/getValue.js +2 -2
  184. package/dist/cjs/slate/TextAlignPlugin/getValue.js.map +1 -1
  185. package/dist/cjs/slate/TextAlignPlugin/index.js +12 -12
  186. package/dist/cjs/slate/TextAlignPlugin/index.js.map +1 -1
  187. package/dist/cjs/slate/TypographyPlugin/clearActiveTypographyStyle.js.map +1 -1
  188. package/dist/cjs/slate/TypographyPlugin/clearDeviceActiveTypography.js.map +1 -1
  189. package/dist/cjs/slate/TypographyPlugin/detachActiveTypography.js.map +1 -1
  190. package/dist/cjs/slate/TypographyPlugin/getValue.js.map +1 -1
  191. package/dist/cjs/slate/TypographyPlugin/index.js +4 -4
  192. package/dist/cjs/slate/TypographyPlugin/index.js.map +1 -1
  193. package/dist/cjs/slate/TypographyPlugin/normalizeTypographyDown.js.map +1 -1
  194. package/dist/cjs/slate/TypographyPlugin/normalizeTypographyUp.js +6 -3
  195. package/dist/cjs/slate/TypographyPlugin/normalizeTypographyUp.js.map +1 -1
  196. package/dist/cjs/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
  197. package/dist/cjs/slate/index.js +8 -8
  198. package/dist/cjs/slate/index.js.map +1 -1
  199. package/dist/cjs/slate/selectors.js +15 -12
  200. package/dist/cjs/slate/selectors.js.map +1 -1
  201. package/dist/cjs/slate/types.js +5 -36
  202. package/dist/cjs/slate/types.js.map +1 -1
  203. package/dist/cjs/slate/utils/editor.js +3 -3
  204. package/dist/cjs/slate/utils/editor.js.map +1 -1
  205. package/dist/cjs/slate/utils/element.js +5 -27
  206. package/dist/cjs/slate/utils/element.js.map +1 -1
  207. package/dist/cjs/slate/utils/responsive.js.map +1 -1
  208. package/dist/cjs/slate/utils/toText.js +16 -52
  209. package/dist/cjs/slate/utils/toText.js.map +1 -1
  210. package/dist/cjs/state/actions.js.map +1 -1
  211. package/dist/cjs/state/modules/box-models.js.map +1 -1
  212. package/dist/cjs/state/modules/breakpoints.js +1 -1
  213. package/dist/cjs/state/modules/breakpoints.js.map +1 -1
  214. package/dist/cjs/state/modules/prop-controller-handles.js.map +1 -1
  215. package/dist/cjs/state/modules/read-only-documents.js +2 -4
  216. package/dist/cjs/state/modules/read-only-documents.js.map +1 -1
  217. package/dist/cjs/state/react-builder-preview.js +10 -7
  218. package/dist/cjs/state/react-builder-preview.js.map +1 -1
  219. package/dist/cjs/state/react-page.js +10 -41
  220. package/dist/cjs/state/react-page.js.map +1 -1
  221. package/dist/esm/api/graphql/generated/types.js.map +1 -1
  222. package/dist/esm/api/react.js.map +1 -1
  223. package/dist/esm/builder/rich-text/index.js +5 -0
  224. package/dist/esm/builder/rich-text/index.js.map +1 -0
  225. package/dist/esm/builder/serialization/control-serialization.js +66 -37
  226. package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
  227. package/dist/esm/components/builtin/Button/Button.js.map +1 -1
  228. package/dist/esm/components/builtin/Carousel/Carousel.js +1 -1
  229. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  230. package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
  231. package/dist/esm/components/builtin/Divider/Divider.js.map +1 -1
  232. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  233. package/dist/esm/components/builtin/Form/context/FormContext.js.map +1 -1
  234. package/dist/esm/components/builtin/Image/Image.js +1 -1
  235. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  236. package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
  237. package/dist/esm/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  238. package/dist/esm/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  239. package/dist/esm/components/builtin/Text/register.js.map +1 -1
  240. package/dist/esm/components/builtin/register.js.map +1 -1
  241. package/dist/esm/components/hooks/useMediaQuery.js +1 -1
  242. package/dist/esm/components/hooks/useMediaQuery.js.map +1 -1
  243. package/dist/esm/components/hooks/useResponsiveColor.js +3 -1
  244. package/dist/esm/components/hooks/useResponsiveColor.js.map +1 -1
  245. package/dist/esm/components/shared/Link/index.js +1 -1
  246. package/dist/esm/components/shared/Link/index.js.map +1 -1
  247. package/dist/esm/components/utils/responsive-style.js +1 -1
  248. package/dist/esm/components/utils/responsive-style.js.map +1 -1
  249. package/dist/esm/controls/control.js +14 -109
  250. package/dist/esm/controls/control.js.map +1 -1
  251. package/dist/esm/controls/index.js +82 -10
  252. package/dist/esm/controls/index.js.map +1 -1
  253. package/dist/esm/controls/link.js +18 -0
  254. package/dist/esm/controls/link.js.map +1 -0
  255. package/dist/esm/controls/rich-text/control.js +76 -0
  256. package/dist/esm/controls/rich-text/control.js.map +1 -0
  257. package/dist/esm/controls/rich-text/index.js +0 -3
  258. package/dist/esm/controls/rich-text/index.js.map +1 -1
  259. package/dist/esm/controls/rich-text/rich-text.js +14 -66
  260. package/dist/esm/controls/rich-text/rich-text.js.map +1 -1
  261. package/dist/esm/controls/rich-text-v2/control.js +117 -0
  262. package/dist/esm/controls/rich-text-v2/control.js.map +1 -0
  263. package/dist/esm/controls/rich-text-v2/index.js +0 -2
  264. package/dist/esm/controls/rich-text-v2/index.js.map +1 -1
  265. package/dist/esm/controls/rich-text-v2/plugin.js +2 -2
  266. package/dist/esm/controls/rich-text-v2/plugin.js.map +1 -1
  267. package/dist/esm/controls/rich-text-v2/rich-text-v2.js +111 -116
  268. package/dist/esm/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  269. package/dist/esm/controls/rich-text-v2/translation.js +33 -46
  270. package/dist/esm/controls/rich-text-v2/translation.js.map +1 -1
  271. package/dist/esm/controls/slot.js +13 -54
  272. package/dist/esm/controls/slot.js.map +1 -1
  273. package/dist/esm/controls/style-v2/index.js +2 -0
  274. package/dist/esm/controls/style-v2/index.js.map +1 -0
  275. package/dist/esm/controls/style-v2/style-v2.js +28 -0
  276. package/dist/esm/controls/style-v2/style-v2.js.map +1 -0
  277. package/dist/esm/core/index.js +11 -0
  278. package/dist/esm/core/index.js.map +1 -0
  279. package/dist/esm/jest-setup.js +3 -0
  280. package/dist/esm/jest-setup.js.map +1 -1
  281. package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
  282. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +19 -6
  283. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  284. package/dist/esm/prop-controllers/copy.js +7 -5
  285. package/dist/esm/prop-controllers/copy.js.map +1 -1
  286. package/dist/esm/prop-controllers/deleted.js.map +1 -1
  287. package/dist/esm/prop-controllers/descriptors.js +7 -5
  288. package/dist/esm/prop-controllers/descriptors.js.map +1 -1
  289. package/dist/esm/prop-controllers/index.js +1 -2
  290. package/dist/esm/prop-controllers/index.js.map +1 -1
  291. package/dist/esm/prop-controllers/instances.js +15 -107
  292. package/dist/esm/prop-controllers/instances.js.map +1 -1
  293. package/dist/esm/prop-controllers/introspection.js +28 -131
  294. package/dist/esm/prop-controllers/introspection.js.map +1 -1
  295. package/dist/esm/runtimes/react/components/Element.js.map +1 -1
  296. package/dist/esm/runtimes/react/controls/checkbox.js +1 -7
  297. package/dist/esm/runtimes/react/controls/checkbox.js.map +1 -1
  298. package/dist/esm/runtimes/react/controls/color.js.map +1 -1
  299. package/dist/esm/runtimes/react/controls/combobox.js.map +1 -1
  300. package/dist/esm/runtimes/react/controls/control.js +66 -58
  301. package/dist/esm/runtimes/react/controls/control.js.map +1 -1
  302. package/dist/esm/runtimes/react/controls/icon-radio-group.js.map +1 -1
  303. package/dist/esm/runtimes/react/controls/image.js +6 -12
  304. package/dist/esm/runtimes/react/controls/image.js.map +1 -1
  305. package/dist/esm/runtimes/react/controls/link.js.map +1 -1
  306. package/dist/esm/runtimes/react/controls/list.js +3 -1
  307. package/dist/esm/runtimes/react/controls/list.js.map +1 -1
  308. package/dist/esm/runtimes/react/controls/number.js +1 -7
  309. package/dist/esm/runtimes/react/controls/number.js.map +1 -1
  310. package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js +7 -11
  311. package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  312. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js +1 -1
  313. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js.map +1 -1
  314. package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js +2 -7
  315. package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js.map +1 -1
  316. package/dist/esm/runtimes/react/controls/rich-text/components/Element/block.js +1 -1
  317. package/dist/esm/runtimes/react/controls/rich-text/components/Element/block.js.map +1 -1
  318. package/dist/esm/runtimes/react/controls/rich-text/components/Element/element.js +7 -23
  319. package/dist/esm/runtimes/react/controls/rich-text/components/Element/element.js.map +1 -1
  320. package/dist/esm/runtimes/react/controls/rich-text/components/Element/inline.js +1 -1
  321. package/dist/esm/runtimes/react/controls/rich-text/components/Element/inline.js.map +1 -1
  322. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  323. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js +5 -27
  324. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js.map +1 -1
  325. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +1 -1
  326. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +1 -1
  327. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +7 -7
  328. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  329. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js +2 -2
  330. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js.map +1 -1
  331. package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js +9 -25
  332. package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +1 -1
  333. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -4
  334. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  335. package/dist/esm/runtimes/react/controls/select.js +1 -1
  336. package/dist/esm/runtimes/react/controls/select.js.map +1 -1
  337. package/dist/esm/runtimes/react/controls/shape.js +2 -7
  338. package/dist/esm/runtimes/react/controls/shape.js.map +1 -1
  339. package/dist/esm/runtimes/react/controls/slot.js +14 -6
  340. package/dist/esm/runtimes/react/controls/slot.js.map +1 -1
  341. package/dist/esm/runtimes/react/controls/style-v2.js +6 -11
  342. package/dist/esm/runtimes/react/controls/style-v2.js.map +1 -1
  343. package/dist/esm/runtimes/react/controls/style.js +10 -10
  344. package/dist/esm/runtimes/react/controls/style.js.map +1 -1
  345. package/dist/esm/runtimes/react/controls/text-area.js +1 -7
  346. package/dist/esm/runtimes/react/controls/text-area.js.map +1 -1
  347. package/dist/esm/runtimes/react/controls/text-input.js +1 -7
  348. package/dist/esm/runtimes/react/controls/text-input.js.map +1 -1
  349. package/dist/esm/runtimes/react/controls/typography.js.map +1 -1
  350. package/dist/esm/runtimes/react/controls.js +96 -91
  351. package/dist/esm/runtimes/react/controls.js.map +1 -1
  352. package/dist/esm/runtimes/react/hooks/use-store.js +2 -2
  353. package/dist/esm/runtimes/react/hooks/use-store.js.map +1 -1
  354. package/dist/esm/runtimes/react/poll-box-model.js +1 -1
  355. package/dist/esm/runtimes/react/poll-box-model.js.map +1 -1
  356. package/dist/esm/runtimes/react/react-runtime.js +3 -40
  357. package/dist/esm/runtimes/react/react-runtime.js.map +1 -1
  358. package/dist/esm/runtimes/react/runtime-core.js +51 -0
  359. package/dist/esm/runtimes/react/runtime-core.js.map +1 -0
  360. package/dist/esm/slate/BlockPlugin/clearBlockKeyForDevice.js +2 -2
  361. package/dist/esm/slate/BlockPlugin/clearBlockKeyForDevice.js.map +1 -1
  362. package/dist/esm/slate/BlockPlugin/indent.js +3 -2
  363. package/dist/esm/slate/BlockPlugin/indent.js.map +1 -1
  364. package/dist/esm/slate/BlockPlugin/index.js +17 -15
  365. package/dist/esm/slate/BlockPlugin/index.js.map +1 -1
  366. package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js +2 -2
  367. package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
  368. package/dist/esm/slate/BlockPlugin/toggleList.js +2 -2
  369. package/dist/esm/slate/BlockPlugin/toggleList.js.map +1 -1
  370. package/dist/esm/slate/BlockPlugin/unwrapInline.js +2 -2
  371. package/dist/esm/slate/BlockPlugin/unwrapInline.js.map +1 -1
  372. package/dist/esm/slate/BlockPlugin/unwrapList.js +3 -4
  373. package/dist/esm/slate/BlockPlugin/unwrapList.js.map +1 -1
  374. package/dist/esm/slate/BlockPlugin/utils/getSelectedListItems.js +2 -2
  375. package/dist/esm/slate/BlockPlugin/utils/getSelectedListItems.js.map +1 -1
  376. package/dist/esm/slate/BlockPlugin/wrapInline.js.map +1 -1
  377. package/dist/esm/slate/BlockPlugin/wrapList.js +4 -3
  378. package/dist/esm/slate/BlockPlugin/wrapList.js.map +1 -1
  379. package/dist/esm/slate/BuilderPlugin/index.js +3 -3
  380. package/dist/esm/slate/BuilderPlugin/index.js.map +1 -1
  381. package/dist/esm/slate/InlineModePlugin/index.js +5 -6
  382. package/dist/esm/slate/InlineModePlugin/index.js.map +1 -1
  383. package/dist/esm/slate/InlinePlugin/getValue.js +4 -4
  384. package/dist/esm/slate/InlinePlugin/getValue.js.map +1 -1
  385. package/dist/esm/slate/InlinePlugin/index.js +9 -13
  386. package/dist/esm/slate/InlinePlugin/index.js.map +1 -1
  387. package/dist/esm/slate/InlinePlugin/onChange.js +3 -3
  388. package/dist/esm/slate/InlinePlugin/onChange.js.map +1 -1
  389. package/dist/esm/slate/InlinePlugin/types.js +9 -7
  390. package/dist/esm/slate/InlinePlugin/types.js.map +1 -1
  391. package/dist/esm/slate/LinkPlugin/getValue.js +4 -5
  392. package/dist/esm/slate/LinkPlugin/getValue.js.map +1 -1
  393. package/dist/esm/slate/LinkPlugin/index.js +8 -10
  394. package/dist/esm/slate/LinkPlugin/index.js.map +1 -1
  395. package/dist/esm/slate/LinkPlugin/onChange.js +4 -4
  396. package/dist/esm/slate/LinkPlugin/onChange.js.map +1 -1
  397. package/dist/esm/slate/LinkPlugin/types.js +3 -7
  398. package/dist/esm/slate/LinkPlugin/types.js.map +1 -1
  399. package/dist/esm/slate/TextAlignPlugin/getValue.js +2 -2
  400. package/dist/esm/slate/TextAlignPlugin/getValue.js.map +1 -1
  401. package/dist/esm/slate/TextAlignPlugin/index.js +12 -16
  402. package/dist/esm/slate/TextAlignPlugin/index.js.map +1 -1
  403. package/dist/esm/slate/TypographyPlugin/clearActiveTypographyStyle.js.map +1 -1
  404. package/dist/esm/slate/TypographyPlugin/clearDeviceActiveTypography.js.map +1 -1
  405. package/dist/esm/slate/TypographyPlugin/detachActiveTypography.js.map +1 -1
  406. package/dist/esm/slate/TypographyPlugin/getValue.js.map +1 -1
  407. package/dist/esm/slate/TypographyPlugin/index.js +5 -5
  408. package/dist/esm/slate/TypographyPlugin/index.js.map +1 -1
  409. package/dist/esm/slate/TypographyPlugin/normalizeTypographyDown.js.map +1 -1
  410. package/dist/esm/slate/TypographyPlugin/normalizeTypographyUp.js +6 -3
  411. package/dist/esm/slate/TypographyPlugin/normalizeTypographyUp.js.map +1 -1
  412. package/dist/esm/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
  413. package/dist/esm/slate/index.js +4 -4
  414. package/dist/esm/slate/index.js.map +1 -1
  415. package/dist/esm/slate/selectors.js +15 -12
  416. package/dist/esm/slate/selectors.js.map +1 -1
  417. package/dist/esm/slate/types.js +4 -33
  418. package/dist/esm/slate/types.js.map +1 -1
  419. package/dist/esm/slate/utils/editor.js +3 -3
  420. package/dist/esm/slate/utils/editor.js.map +1 -1
  421. package/dist/esm/slate/utils/element.js +5 -30
  422. package/dist/esm/slate/utils/element.js.map +1 -1
  423. package/dist/esm/slate/utils/responsive.js.map +1 -1
  424. package/dist/esm/slate/utils/toText.js +16 -52
  425. package/dist/esm/slate/utils/toText.js.map +1 -1
  426. package/dist/esm/state/actions.js.map +1 -1
  427. package/dist/esm/state/modules/box-models.js.map +1 -1
  428. package/dist/esm/state/modules/breakpoints.js +1 -1
  429. package/dist/esm/state/modules/breakpoints.js.map +1 -1
  430. package/dist/esm/state/modules/prop-controller-handles.js.map +1 -1
  431. package/dist/esm/state/modules/read-only-documents.js +3 -3
  432. package/dist/esm/state/modules/read-only-documents.js.map +1 -1
  433. package/dist/esm/state/react-builder-preview.js +10 -7
  434. package/dist/esm/state/react-builder-preview.js.map +1 -1
  435. package/dist/esm/state/react-page.js +13 -41
  436. package/dist/esm/state/react-page.js.map +1 -1
  437. package/dist/types/api/graphql/generated/types.d.ts +1 -1
  438. package/dist/types/api/graphql/generated/types.d.ts.map +1 -1
  439. package/dist/types/api/react.d.ts +1 -1
  440. package/dist/types/builder/rich-text/index.d.ts +3 -0
  441. package/dist/types/builder/rich-text/index.d.ts.map +1 -0
  442. package/dist/types/builder/serialization/control-serialization.d.ts +12 -7
  443. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  444. package/dist/types/components/builtin/Box/Box.d.ts +23 -1
  445. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  446. package/dist/types/components/builtin/Button/Button.d.ts +3 -3
  447. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  448. package/dist/types/components/builtin/Carousel/Carousel.d.ts +1 -1
  449. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  450. package/dist/types/components/builtin/Countdown/Countdown.d.ts +1 -1
  451. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  452. package/dist/types/components/builtin/Divider/Divider.d.ts +1 -1
  453. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
  454. package/dist/types/components/builtin/Form/Form.d.ts +1 -1
  455. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  456. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  457. package/dist/types/components/builtin/Form/context/FormContext.d.ts +7 -8
  458. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  459. package/dist/types/components/builtin/Navigation/Navigation.d.ts +1 -1
  460. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  461. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +2 -2
  462. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  463. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts +1 -1
  464. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  465. package/dist/types/components/builtin/Text/register.d.ts +1 -1
  466. package/dist/types/components/builtin/Text/register.d.ts.map +1 -1
  467. package/dist/types/components/builtin/register.d.ts +1 -1
  468. package/dist/types/components/builtin/register.d.ts.map +1 -1
  469. package/dist/types/components/hooks/useResponsiveColor.d.ts +1 -2
  470. package/dist/types/components/hooks/useResponsiveColor.d.ts.map +1 -1
  471. package/dist/types/components/utils/responsive-style.d.ts +2 -1
  472. package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
  473. package/dist/types/components/utils/types.d.ts +2 -0
  474. package/dist/types/components/utils/types.d.ts.map +1 -1
  475. package/dist/types/controls/__tests__/fixtures/shape.d.ts +19 -8
  476. package/dist/types/controls/__tests__/fixtures/shape.d.ts.map +1 -1
  477. package/dist/types/controls/control.d.ts +28 -17
  478. package/dist/types/controls/control.d.ts.map +1 -1
  479. package/dist/types/controls/index.d.ts +6 -10
  480. package/dist/types/controls/index.d.ts.map +1 -1
  481. package/dist/types/controls/link.d.ts +9 -0
  482. package/dist/types/controls/link.d.ts.map +1 -0
  483. package/dist/types/controls/rich-text/control.d.ts +57 -0
  484. package/dist/types/controls/rich-text/control.d.ts.map +1 -0
  485. package/dist/types/controls/rich-text/index.d.ts +0 -3
  486. package/dist/types/controls/rich-text/index.d.ts.map +1 -1
  487. package/dist/types/controls/rich-text/rich-text.d.ts +9 -61
  488. package/dist/types/controls/rich-text/rich-text.d.ts.map +1 -1
  489. package/dist/types/controls/rich-text-v2/__tests__/fixtures/nested-paragraph-edge-case-3728.d.ts +3 -2
  490. package/dist/types/controls/rich-text-v2/__tests__/fixtures/nested-paragraph-edge-case-3728.d.ts.map +1 -1
  491. package/dist/types/controls/rich-text-v2/__tests__/fixtures/rearranged.d.ts +4 -3
  492. package/dist/types/controls/rich-text-v2/__tests__/fixtures/rearranged.d.ts.map +1 -1
  493. package/dist/types/controls/rich-text-v2/__tests__/fixtures/simple.d.ts +4 -3
  494. package/dist/types/controls/rich-text-v2/__tests__/fixtures/simple.d.ts.map +1 -1
  495. package/dist/types/controls/rich-text-v2/__tests__/serialization.test.d.ts +2 -0
  496. package/dist/types/controls/rich-text-v2/__tests__/serialization.test.d.ts.map +1 -0
  497. package/dist/types/controls/rich-text-v2/control.d.ts +102 -0
  498. package/dist/types/controls/rich-text-v2/control.d.ts.map +1 -0
  499. package/dist/types/controls/rich-text-v2/index.d.ts +0 -2
  500. package/dist/types/controls/rich-text-v2/index.d.ts.map +1 -1
  501. package/dist/types/controls/rich-text-v2/plugin.d.ts +9 -17
  502. package/dist/types/controls/rich-text-v2/plugin.d.ts.map +1 -1
  503. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +863 -103
  504. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  505. package/dist/types/controls/rich-text-v2/translation.d.ts +5 -4
  506. package/dist/types/controls/rich-text-v2/translation.d.ts.map +1 -1
  507. package/dist/types/controls/slot.d.ts +8 -54
  508. package/dist/types/controls/slot.d.ts.map +1 -1
  509. package/dist/types/controls/style-v2/index.d.ts +2 -0
  510. package/dist/types/controls/style-v2/index.d.ts.map +1 -0
  511. package/dist/types/controls/style-v2/style-v2.d.ts +10 -0
  512. package/dist/types/controls/style-v2/style-v2.d.ts.map +1 -0
  513. package/dist/types/controls/style-v2/style-v2.test.d.ts +2 -0
  514. package/dist/types/controls/style-v2/style-v2.test.d.ts.map +1 -0
  515. package/dist/types/core/index.d.ts +2 -0
  516. package/dist/types/core/index.d.ts.map +1 -0
  517. package/dist/types/locale.d.ts +1 -1
  518. package/dist/types/next/client.d.ts +16 -16
  519. package/dist/types/next/components/tests/controls/combobox-control.test.d.ts +2 -0
  520. package/dist/types/next/components/tests/controls/combobox-control.test.d.ts.map +1 -0
  521. package/dist/types/next/components/tests/controls/icon-radio-group-control.test.d.ts +2 -0
  522. package/dist/types/next/components/tests/controls/icon-radio-group-control.test.d.ts.map +1 -0
  523. package/dist/types/next/components/tests/controls/image-control.test.d.ts +3 -0
  524. package/dist/types/next/components/tests/controls/image-control.test.d.ts.map +1 -0
  525. package/dist/types/next/components/tests/controls/link-control.test.d.ts +2 -0
  526. package/dist/types/next/components/tests/controls/link-control.test.d.ts.map +1 -0
  527. package/dist/types/next/components/tests/controls/list-control.test.d.ts +2 -0
  528. package/dist/types/next/components/tests/controls/list-control.test.d.ts.map +1 -0
  529. package/dist/types/next/components/tests/controls/number-control.test.d.ts +2 -0
  530. package/dist/types/next/components/tests/controls/number-control.test.d.ts.map +1 -0
  531. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts +9 -5
  532. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  533. package/dist/types/next/components/tests/controls/select-control.test.d.ts +2 -0
  534. package/dist/types/next/components/tests/controls/select-control.test.d.ts.map +1 -0
  535. package/dist/types/next/components/tests/controls/shape-control.test.d.ts +2 -0
  536. package/dist/types/next/components/tests/controls/shape-control.test.d.ts.map +1 -0
  537. package/dist/types/next/components/tests/controls/slot-control.test.d.ts +2 -0
  538. package/dist/types/next/components/tests/controls/slot-control.test.d.ts.map +1 -0
  539. package/dist/types/next/components/tests/controls/style-control.test.d.ts +2 -0
  540. package/dist/types/next/components/tests/controls/style-control.test.d.ts.map +1 -0
  541. package/dist/types/next/components/tests/controls/text-area-control.test.d.ts +2 -0
  542. package/dist/types/next/components/tests/controls/text-area-control.test.d.ts.map +1 -0
  543. package/dist/types/next/components/tests/controls/text-input-control.test.d.ts +2 -0
  544. package/dist/types/next/components/tests/controls/text-input-control.test.d.ts.map +1 -0
  545. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts +15 -2
  546. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts.map +1 -1
  547. package/dist/types/prop-controllers/copy.d.ts +2 -2
  548. package/dist/types/prop-controllers/copy.d.ts.map +1 -1
  549. package/dist/types/prop-controllers/deleted.d.ts +1 -1
  550. package/dist/types/prop-controllers/deleted.d.ts.map +1 -1
  551. package/dist/types/prop-controllers/descriptors.d.ts +8 -27
  552. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  553. package/dist/types/prop-controllers/index.d.ts +3 -3
  554. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  555. package/dist/types/prop-controllers/instances.d.ts +10 -72
  556. package/dist/types/prop-controllers/instances.d.ts.map +1 -1
  557. package/dist/types/prop-controllers/introspection.d.ts +2 -2
  558. package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
  559. package/dist/types/runtimes/react/components/Element.d.ts +2 -2
  560. package/dist/types/runtimes/react/controls/checkbox.d.ts +3 -3
  561. package/dist/types/runtimes/react/controls/checkbox.d.ts.map +1 -1
  562. package/dist/types/runtimes/react/controls/color.d.ts +3 -3
  563. package/dist/types/runtimes/react/controls/color.d.ts.map +1 -1
  564. package/dist/types/runtimes/react/controls/combobox.d.ts +3 -3
  565. package/dist/types/runtimes/react/controls/combobox.d.ts.map +1 -1
  566. package/dist/types/runtimes/react/controls/control.d.ts +7 -28
  567. package/dist/types/runtimes/react/controls/control.d.ts.map +1 -1
  568. package/dist/types/runtimes/react/controls/icon-radio-group.d.ts +3 -3
  569. package/dist/types/runtimes/react/controls/icon-radio-group.d.ts.map +1 -1
  570. package/dist/types/runtimes/react/controls/image.d.ts +3 -12
  571. package/dist/types/runtimes/react/controls/image.d.ts.map +1 -1
  572. package/dist/types/runtimes/react/controls/link.d.ts +3 -10
  573. package/dist/types/runtimes/react/controls/link.d.ts.map +1 -1
  574. package/dist/types/runtimes/react/controls/list.d.ts +7 -9
  575. package/dist/types/runtimes/react/controls/list.d.ts.map +1 -1
  576. package/dist/types/runtimes/react/controls/number.d.ts +3 -3
  577. package/dist/types/runtimes/react/controls/number.d.ts.map +1 -1
  578. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts +1 -1
  579. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -1
  580. package/dist/types/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.d.ts +2 -2
  581. package/dist/types/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.d.ts.map +1 -1
  582. package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts +3 -4
  583. package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts.map +1 -1
  584. package/dist/types/runtimes/react/controls/rich-text/components/Element/block.d.ts +2 -2
  585. package/dist/types/runtimes/react/controls/rich-text/components/Element/block.d.ts.map +1 -1
  586. package/dist/types/runtimes/react/controls/rich-text/components/Element/element.d.ts +1 -1
  587. package/dist/types/runtimes/react/controls/rich-text/components/Element/element.d.ts.map +1 -1
  588. package/dist/types/runtimes/react/controls/rich-text/components/Element/inline.d.ts +2 -2
  589. package/dist/types/runtimes/react/controls/rich-text/components/Element/inline.d.ts.map +1 -1
  590. package/dist/types/runtimes/react/controls/rich-text/rich-text.d.ts +4 -3
  591. package/dist/types/runtimes/react/controls/rich-text/rich-text.d.ts.map +1 -1
  592. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts +4 -4
  593. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts.map +1 -1
  594. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts +2 -2
  595. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts.map +1 -1
  596. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts +2 -2
  597. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts.map +1 -1
  598. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.d.ts +2 -2
  599. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.d.ts.map +1 -1
  600. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.d.ts +2 -2
  601. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.d.ts.map +1 -1
  602. package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +4 -3
  603. package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
  604. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts +4 -3
  605. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  606. package/dist/types/runtimes/react/controls/select.d.ts +3 -3
  607. package/dist/types/runtimes/react/controls/select.d.ts.map +1 -1
  608. package/dist/types/runtimes/react/controls/shape.d.ts +7 -10
  609. package/dist/types/runtimes/react/controls/shape.d.ts.map +1 -1
  610. package/dist/types/runtimes/react/controls/slot.d.ts +3 -4
  611. package/dist/types/runtimes/react/controls/slot.d.ts.map +1 -1
  612. package/dist/types/runtimes/react/controls/style-v2.d.ts +7 -7
  613. package/dist/types/runtimes/react/controls/style-v2.d.ts.map +1 -1
  614. package/dist/types/runtimes/react/controls/style.d.ts +2 -2
  615. package/dist/types/runtimes/react/controls/style.d.ts.map +1 -1
  616. package/dist/types/runtimes/react/controls/text-area.d.ts +3 -3
  617. package/dist/types/runtimes/react/controls/text-area.d.ts.map +1 -1
  618. package/dist/types/runtimes/react/controls/text-input.d.ts +3 -3
  619. package/dist/types/runtimes/react/controls/text-input.d.ts.map +1 -1
  620. package/dist/types/runtimes/react/controls/typography.d.ts +6 -6
  621. package/dist/types/runtimes/react/controls/typography.d.ts.map +1 -1
  622. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  623. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  624. package/dist/types/runtimes/react/poll-box-model.d.ts +1 -1
  625. package/dist/types/runtimes/react/poll-box-model.d.ts.map +1 -1
  626. package/dist/types/runtimes/react/react-runtime.d.ts +9 -18
  627. package/dist/types/runtimes/react/react-runtime.d.ts.map +1 -1
  628. package/dist/types/runtimes/react/runtime-core.d.ts +19 -0
  629. package/dist/types/runtimes/react/runtime-core.d.ts.map +1 -0
  630. package/dist/types/slate/BlockPlugin/clearBlockKeyForDevice.d.ts.map +1 -1
  631. package/dist/types/slate/BlockPlugin/indent.d.ts.map +1 -1
  632. package/dist/types/slate/BlockPlugin/index.d.ts +19 -41
  633. package/dist/types/slate/BlockPlugin/index.d.ts.map +1 -1
  634. package/dist/types/slate/BlockPlugin/setBlockKeyForDevice.d.ts.map +1 -1
  635. package/dist/types/slate/BlockPlugin/toggleList.d.ts.map +1 -1
  636. package/dist/types/slate/BlockPlugin/types.d.ts +2 -2
  637. package/dist/types/slate/BlockPlugin/types.d.ts.map +1 -1
  638. package/dist/types/slate/BlockPlugin/unwrapInline.d.ts +2 -2
  639. package/dist/types/slate/BlockPlugin/unwrapInline.d.ts.map +1 -1
  640. package/dist/types/slate/BlockPlugin/utils/getSelectedListItems.d.ts +3 -2
  641. package/dist/types/slate/BlockPlugin/utils/getSelectedListItems.d.ts.map +1 -1
  642. package/dist/types/slate/BlockPlugin/wrapInline.d.ts +2 -2
  643. package/dist/types/slate/BlockPlugin/wrapInline.d.ts.map +1 -1
  644. package/dist/types/slate/BlockPlugin/wrapList.d.ts +1 -1
  645. package/dist/types/slate/BlockPlugin/wrapList.d.ts.map +1 -1
  646. package/dist/types/slate/BuilderPlugin/index.d.ts.map +1 -1
  647. package/dist/types/slate/InlineModePlugin/index.d.ts +79 -7
  648. package/dist/types/slate/InlineModePlugin/index.d.ts.map +1 -1
  649. package/dist/types/slate/InlinePlugin/getValue.d.ts.map +1 -1
  650. package/dist/types/slate/InlinePlugin/index.d.ts +22 -11
  651. package/dist/types/slate/InlinePlugin/index.d.ts.map +1 -1
  652. package/dist/types/slate/InlinePlugin/onChange.d.ts.map +1 -1
  653. package/dist/types/slate/InlinePlugin/types.d.ts +18 -6
  654. package/dist/types/slate/InlinePlugin/types.d.ts.map +1 -1
  655. package/dist/types/slate/LinkPlugin/getValue.d.ts +36 -3
  656. package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
  657. package/dist/types/slate/LinkPlugin/index.d.ts +40 -9
  658. package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
  659. package/dist/types/slate/LinkPlugin/onChange.d.ts +4 -3
  660. package/dist/types/slate/LinkPlugin/onChange.d.ts.map +1 -1
  661. package/dist/types/slate/LinkPlugin/types.d.ts +3 -4
  662. package/dist/types/slate/LinkPlugin/types.d.ts.map +1 -1
  663. package/dist/types/slate/TextAlignPlugin/getValue.d.ts +2 -2
  664. package/dist/types/slate/TextAlignPlugin/getValue.d.ts.map +1 -1
  665. package/dist/types/slate/TextAlignPlugin/index.d.ts +21 -6
  666. package/dist/types/slate/TextAlignPlugin/index.d.ts.map +1 -1
  667. package/dist/types/slate/TypographyPlugin/detachActiveTypography.d.ts +1 -1
  668. package/dist/types/slate/TypographyPlugin/detachActiveTypography.d.ts.map +1 -1
  669. package/dist/types/slate/TypographyPlugin/getValue.d.ts +25 -2
  670. package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
  671. package/dist/types/slate/TypographyPlugin/index.d.ts +27 -3
  672. package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
  673. package/dist/types/slate/TypographyPlugin/normalizeTypographyDown.d.ts +2 -1
  674. package/dist/types/slate/TypographyPlugin/normalizeTypographyDown.d.ts.map +1 -1
  675. package/dist/types/slate/TypographyPlugin/normalizeTypographyUp.d.ts +1 -1
  676. package/dist/types/slate/TypographyPlugin/normalizeTypographyUp.d.ts.map +1 -1
  677. package/dist/types/slate/TypographyPlugin/setActiveTypographyStyle.d.ts.map +1 -1
  678. package/dist/types/slate/index.d.ts +4 -4
  679. package/dist/types/slate/index.d.ts.map +1 -1
  680. package/dist/types/slate/selectors.d.ts +7 -7
  681. package/dist/types/slate/selectors.d.ts.map +1 -1
  682. package/dist/types/slate/test-helpers/slate-test-helper.d.ts +4 -4
  683. package/dist/types/slate/test-helpers/test-elements.d.ts +61 -5
  684. package/dist/types/slate/test-helpers/test-elements.d.ts.map +1 -1
  685. package/dist/types/slate/types.d.ts +1 -206
  686. package/dist/types/slate/types.d.ts.map +1 -1
  687. package/dist/types/slate/utils/editor.d.ts +4 -4
  688. package/dist/types/slate/utils/editor.d.ts.map +1 -1
  689. package/dist/types/slate/utils/element.d.ts +4 -12
  690. package/dist/types/slate/utils/element.d.ts.map +1 -1
  691. package/dist/types/slate/utils/responsive.d.ts +1 -1
  692. package/dist/types/slate/utils/responsive.d.ts.map +1 -1
  693. package/dist/types/slate/utils/toText.d.ts +3 -3
  694. package/dist/types/slate/utils/toText.d.ts.map +1 -1
  695. package/dist/types/state/actions.d.ts +3 -3
  696. package/dist/types/state/actions.d.ts.map +1 -1
  697. package/dist/types/state/modules/box-models.d.ts +2 -1
  698. package/dist/types/state/modules/box-models.d.ts.map +1 -1
  699. package/dist/types/state/modules/breakpoints.d.ts +2 -4
  700. package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
  701. package/dist/types/state/modules/prop-controller-handles.d.ts +4 -4
  702. package/dist/types/state/modules/prop-controller-handles.d.ts.map +1 -1
  703. package/dist/types/state/modules/read-only-documents.d.ts +2 -15
  704. package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
  705. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  706. package/dist/types/state/react-page.d.ts +55 -57
  707. package/dist/types/state/react-page.d.ts.map +1 -1
  708. package/dist/types/utils/tests/element-data-test-test.d.ts +29 -1
  709. package/dist/types/utils/tests/element-data-test-test.d.ts.map +1 -1
  710. package/package.json +16 -4
  711. package/dist/cjs/builder/serialization/controls/combobox.js +0 -45
  712. package/dist/cjs/builder/serialization/controls/combobox.js.map +0 -1
  713. package/dist/cjs/builder/serialization/controls/list.js +0 -50
  714. package/dist/cjs/builder/serialization/controls/list.js.map +0 -1
  715. package/dist/cjs/builder/serialization/controls/rich-text-v2.js +0 -106
  716. package/dist/cjs/builder/serialization/controls/rich-text-v2.js.map +0 -1
  717. package/dist/cjs/builder/serialization/controls/shape.js +0 -54
  718. package/dist/cjs/builder/serialization/controls/shape.js.map +0 -1
  719. package/dist/cjs/builder/serialization/controls/style-v2.js +0 -62
  720. package/dist/cjs/builder/serialization/controls/style-v2.js.map +0 -1
  721. package/dist/cjs/controls/image.js.map +0 -1
  722. package/dist/cjs/controls/list.js +0 -156
  723. package/dist/cjs/controls/list.js.map +0 -1
  724. package/dist/cjs/controls/rich-text/copy.js +0 -121
  725. package/dist/cjs/controls/rich-text/copy.js.map +0 -1
  726. package/dist/cjs/controls/rich-text/dto-types.js +0 -43
  727. package/dist/cjs/controls/rich-text/dto-types.js.map +0 -1
  728. package/dist/cjs/controls/rich-text/dto.js +0 -228
  729. package/dist/cjs/controls/rich-text/dto.js.map +0 -1
  730. package/dist/cjs/controls/rich-text/fixtures/blockquote.js +0 -77
  731. package/dist/cjs/controls/rich-text/fixtures/blockquote.js.map +0 -1
  732. package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js +0 -176
  733. package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js.map +0 -1
  734. package/dist/cjs/controls/rich-text/fixtures/index.js.map +0 -1
  735. package/dist/cjs/controls/rich-text/fixtures/list.js +0 -137
  736. package/dist/cjs/controls/rich-text/fixtures/list.js.map +0 -1
  737. package/dist/cjs/controls/rich-text/fixtures/typography.js +0 -926
  738. package/dist/cjs/controls/rich-text/fixtures/typography.js.map +0 -1
  739. package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js +0 -114
  740. package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js.map +0 -1
  741. package/dist/cjs/controls/rich-text/introspection.js +0 -104
  742. package/dist/cjs/controls/rich-text/introspection.js.map +0 -1
  743. package/dist/cjs/controls/rich-text-v2/copy.js +0 -115
  744. package/dist/cjs/controls/rich-text-v2/copy.js.map +0 -1
  745. package/dist/cjs/controls/rich-text-v2/dto.js +0 -44
  746. package/dist/cjs/controls/rich-text-v2/dto.js.map +0 -1
  747. package/dist/cjs/controls/rich-text-v2/introspection.js +0 -69
  748. package/dist/cjs/controls/rich-text-v2/introspection.js.map +0 -1
  749. package/dist/cjs/controls/select.js.map +0 -1
  750. package/dist/cjs/controls/shape.js +0 -149
  751. package/dist/cjs/controls/shape.js.map +0 -1
  752. package/dist/cjs/controls/style-v2.js +0 -74
  753. package/dist/cjs/controls/style-v2.js.map +0 -1
  754. package/dist/cjs/controls/style.js +0 -125
  755. package/dist/cjs/controls/style.js.map +0 -1
  756. package/dist/cjs/controls/typography.js +0 -47
  757. package/dist/cjs/controls/typography.js.map +0 -1
  758. package/dist/cjs/prop-controllers/base.js.map +0 -1
  759. package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js +0 -48
  760. package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +0 -1
  761. package/dist/cjs/utils/index-signature-hack.js +0 -17
  762. package/dist/cjs/utils/index-signature-hack.js.map +0 -1
  763. package/dist/esm/builder/serialization/controls/combobox.js +0 -20
  764. package/dist/esm/builder/serialization/controls/combobox.js.map +0 -1
  765. package/dist/esm/builder/serialization/controls/list.js +0 -25
  766. package/dist/esm/builder/serialization/controls/list.js.map +0 -1
  767. package/dist/esm/builder/serialization/controls/rich-text-v2.js +0 -81
  768. package/dist/esm/builder/serialization/controls/rich-text-v2.js.map +0 -1
  769. package/dist/esm/builder/serialization/controls/shape.js +0 -32
  770. package/dist/esm/builder/serialization/controls/shape.js.map +0 -1
  771. package/dist/esm/builder/serialization/controls/style-v2.js +0 -37
  772. package/dist/esm/builder/serialization/controls/style-v2.js.map +0 -1
  773. package/dist/esm/controls/image.js +0 -10
  774. package/dist/esm/controls/image.js.map +0 -1
  775. package/dist/esm/controls/list.js +0 -132
  776. package/dist/esm/controls/list.js.map +0 -1
  777. package/dist/esm/controls/rich-text/copy.js +0 -97
  778. package/dist/esm/controls/rich-text/copy.js.map +0 -1
  779. package/dist/esm/controls/rich-text/dto-types.js +0 -19
  780. package/dist/esm/controls/rich-text/dto-types.js.map +0 -1
  781. package/dist/esm/controls/rich-text/dto.js +0 -203
  782. package/dist/esm/controls/rich-text/dto.js.map +0 -1
  783. package/dist/esm/controls/rich-text/fixtures/blockquote.js +0 -53
  784. package/dist/esm/controls/rich-text/fixtures/blockquote.js.map +0 -1
  785. package/dist/esm/controls/rich-text/fixtures/empty-blocks.js +0 -151
  786. package/dist/esm/controls/rich-text/fixtures/empty-blocks.js.map +0 -1
  787. package/dist/esm/controls/rich-text/fixtures/index.js +0 -4
  788. package/dist/esm/controls/rich-text/fixtures/index.js.map +0 -1
  789. package/dist/esm/controls/rich-text/fixtures/list.js +0 -113
  790. package/dist/esm/controls/rich-text/fixtures/list.js.map +0 -1
  791. package/dist/esm/controls/rich-text/fixtures/typography.js +0 -902
  792. package/dist/esm/controls/rich-text/fixtures/typography.js.map +0 -1
  793. package/dist/esm/controls/rich-text/fixtures/v2-data-types.js +0 -90
  794. package/dist/esm/controls/rich-text/fixtures/v2-data-types.js.map +0 -1
  795. package/dist/esm/controls/rich-text/introspection.js +0 -78
  796. package/dist/esm/controls/rich-text/introspection.js.map +0 -1
  797. package/dist/esm/controls/rich-text-v2/copy.js +0 -91
  798. package/dist/esm/controls/rich-text-v2/copy.js.map +0 -1
  799. package/dist/esm/controls/rich-text-v2/dto.js +0 -19
  800. package/dist/esm/controls/rich-text-v2/dto.js.map +0 -1
  801. package/dist/esm/controls/rich-text-v2/introspection.js +0 -43
  802. package/dist/esm/controls/rich-text-v2/introspection.js.map +0 -1
  803. package/dist/esm/controls/select.js +0 -9
  804. package/dist/esm/controls/select.js.map +0 -1
  805. package/dist/esm/controls/shape.js +0 -125
  806. package/dist/esm/controls/shape.js.map +0 -1
  807. package/dist/esm/controls/style-v2.js +0 -48
  808. package/dist/esm/controls/style-v2.js.map +0 -1
  809. package/dist/esm/controls/style.js +0 -95
  810. package/dist/esm/controls/style.js.map +0 -1
  811. package/dist/esm/controls/typography.js +0 -20
  812. package/dist/esm/controls/typography.js.map +0 -1
  813. package/dist/esm/prop-controllers/base.js +0 -10
  814. package/dist/esm/prop-controllers/base.js.map +0 -1
  815. package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js +0 -24
  816. package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +0 -1
  817. package/dist/esm/utils/index-signature-hack.js +0 -1
  818. package/dist/esm/utils/index-signature-hack.js.map +0 -1
  819. package/dist/types/builder/serialization/controls/combobox.d.ts +0 -5
  820. package/dist/types/builder/serialization/controls/combobox.d.ts.map +0 -1
  821. package/dist/types/builder/serialization/controls/list.d.ts +0 -5
  822. package/dist/types/builder/serialization/controls/list.d.ts.map +0 -1
  823. package/dist/types/builder/serialization/controls/rich-text-v2.d.ts +0 -5
  824. package/dist/types/builder/serialization/controls/rich-text-v2.d.ts.map +0 -1
  825. package/dist/types/builder/serialization/controls/shape.d.ts +0 -5
  826. package/dist/types/builder/serialization/controls/shape.d.ts.map +0 -1
  827. package/dist/types/builder/serialization/controls/style-v2.d.ts +0 -5
  828. package/dist/types/builder/serialization/controls/style-v2.d.ts.map +0 -1
  829. package/dist/types/controls/image.d.ts +0 -4
  830. package/dist/types/controls/image.d.ts.map +0 -1
  831. package/dist/types/controls/image.test.d.ts +0 -2
  832. package/dist/types/controls/image.test.d.ts.map +0 -1
  833. package/dist/types/controls/link.test.d.ts +0 -2
  834. package/dist/types/controls/link.test.d.ts.map +0 -1
  835. package/dist/types/controls/list.d.ts +0 -78
  836. package/dist/types/controls/list.d.ts.map +0 -1
  837. package/dist/types/controls/rich-text/__tests__/copy.test.d.ts +0 -2
  838. package/dist/types/controls/rich-text/__tests__/copy.test.d.ts.map +0 -1
  839. package/dist/types/controls/rich-text/__tests__/dto.test.d.ts +0 -2
  840. package/dist/types/controls/rich-text/__tests__/dto.test.d.ts.map +0 -1
  841. package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts +0 -2
  842. package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts.map +0 -1
  843. package/dist/types/controls/rich-text/copy.d.ts +0 -4
  844. package/dist/types/controls/rich-text/copy.d.ts.map +0 -1
  845. package/dist/types/controls/rich-text/dto-types.d.ts +0 -132
  846. package/dist/types/controls/rich-text/dto-types.d.ts.map +0 -1
  847. package/dist/types/controls/rich-text/dto.d.ts +0 -8
  848. package/dist/types/controls/rich-text/dto.d.ts.map +0 -1
  849. package/dist/types/controls/rich-text/fixtures/blockquote.d.ts +0 -3
  850. package/dist/types/controls/rich-text/fixtures/blockquote.d.ts.map +0 -1
  851. package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts +0 -4
  852. package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts.map +0 -1
  853. package/dist/types/controls/rich-text/fixtures/index.d.ts +0 -4
  854. package/dist/types/controls/rich-text/fixtures/index.d.ts.map +0 -1
  855. package/dist/types/controls/rich-text/fixtures/list.d.ts +0 -3
  856. package/dist/types/controls/rich-text/fixtures/list.d.ts.map +0 -1
  857. package/dist/types/controls/rich-text/fixtures/typography.d.ts +0 -3
  858. package/dist/types/controls/rich-text/fixtures/typography.d.ts.map +0 -1
  859. package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts +0 -3
  860. package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts.map +0 -1
  861. package/dist/types/controls/rich-text/introspection.d.ts +0 -5
  862. package/dist/types/controls/rich-text/introspection.d.ts.map +0 -1
  863. package/dist/types/controls/rich-text-v2/copy.d.ts +0 -4
  864. package/dist/types/controls/rich-text-v2/copy.d.ts.map +0 -1
  865. package/dist/types/controls/rich-text-v2/dto.d.ts +0 -5
  866. package/dist/types/controls/rich-text-v2/dto.d.ts.map +0 -1
  867. package/dist/types/controls/rich-text-v2/introspection.d.ts +0 -5
  868. package/dist/types/controls/rich-text-v2/introspection.d.ts.map +0 -1
  869. package/dist/types/controls/select.d.ts +0 -22
  870. package/dist/types/controls/select.d.ts.map +0 -1
  871. package/dist/types/controls/shape.d.ts +0 -50
  872. package/dist/types/controls/shape.d.ts.map +0 -1
  873. package/dist/types/controls/style-v2.d.ts +0 -64
  874. package/dist/types/controls/style-v2.d.ts.map +0 -1
  875. package/dist/types/controls/style.d.ts +0 -179
  876. package/dist/types/controls/style.d.ts.map +0 -1
  877. package/dist/types/controls/typography.d.ts +0 -33
  878. package/dist/types/controls/typography.d.ts.map +0 -1
  879. package/dist/types/prop-controllers/base.d.ts +0 -7
  880. package/dist/types/prop-controllers/base.d.ts.map +0 -1
  881. package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts +0 -16
  882. package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts.map +0 -1
  883. package/dist/types/utils/index-signature-hack.d.ts +0 -4
  884. package/dist/types/utils/index-signature-hack.d.ts.map +0 -1
@@ -21,52 +21,30 @@ __export(element_exports, {
21
21
  ElementUtils: () => ElementUtils
22
22
  });
23
23
  module.exports = __toCommonJS(element_exports);
24
- var import_slate = require("slate");
25
- var import_types = require("../types");
24
+ var import_controls = require("@makeswift/controls");
26
25
  const ElementUtils = {
27
- isRootBlock(node) {
28
- return import_slate.Element.isElement(node) && (import_slate.Element.isElementType(node, import_types.BlockType.Paragraph) || import_slate.Element.isElementType(node, import_types.BlockType.Heading1) || import_slate.Element.isElementType(node, import_types.BlockType.Heading2) || import_slate.Element.isElementType(node, import_types.BlockType.Heading3) || import_slate.Element.isElementType(node, import_types.BlockType.Heading3) || import_slate.Element.isElementType(node, import_types.BlockType.Heading4) || import_slate.Element.isElementType(node, import_types.BlockType.Heading5) || import_slate.Element.isElementType(node, import_types.BlockType.Heading6) || import_slate.Element.isElementType(node, import_types.BlockType.BlockQuote) || import_slate.Element.isElementType(node, import_types.BlockType.UnorderedList) || import_slate.Element.isElementType(node, import_types.BlockType.OrderedList) || import_slate.Element.isElementType(node, import_types.BlockType.Default));
29
- },
30
- isBlock(node) {
31
- return import_slate.Element.isElement(node) && (this.isRootBlock(node) || import_slate.Element.isElementType(node, import_types.BlockType.ListItem) || import_slate.Element.isElementType(node, import_types.BlockType.ListItemChild));
32
- },
33
- isInline(node) {
34
- return import_slate.Element.isElement(node) && (import_slate.Element.isElementType(node, import_types.InlineType.Code) || import_slate.Element.isElementType(node, import_types.InlineType.Link) || import_slate.Element.isElementType(node, import_types.InlineType.SubScript) || import_slate.Element.isElementType(node, import_types.InlineType.SuperScript));
35
- },
36
- isConvertibleToListTextNode(node) {
37
- return !this.isList(node) && !this.isListItem(node) && !this.isListItemChild(node);
38
- },
39
- isList(node) {
40
- return import_slate.Element.isElementType(node, import_types.BlockType.OrderedList) || import_slate.Element.isElementType(node, import_types.BlockType.UnorderedList);
41
- },
42
- isListItem(node) {
43
- return import_slate.Element.isElementType(node, import_types.BlockType.ListItem);
44
- },
45
- isListItemChild(node) {
46
- return import_slate.Element.isElementType(node, import_types.BlockType.ListItemChild);
47
- },
48
26
  createText() {
49
27
  return { text: "" };
50
28
  },
51
29
  createParagraph() {
52
30
  return {
53
31
  children: [this.createText()],
54
- type: import_types.BlockType.Paragraph
32
+ type: import_controls.Slate.BlockType.Paragraph
55
33
  };
56
34
  },
57
- createList(type = import_types.BlockType.UnorderedList) {
35
+ createList(type = import_controls.Slate.BlockType.UnorderedList) {
58
36
  return { children: [this.createText()], type };
59
37
  },
60
38
  createListItem() {
61
39
  return {
62
40
  children: [this.createListItemChild()],
63
- type: import_types.BlockType.ListItem
41
+ type: import_controls.Slate.BlockType.ListItem
64
42
  };
65
43
  },
66
44
  createListItemChild() {
67
45
  return {
68
46
  children: [this.createText()],
69
- type: import_types.BlockType.ListItemChild
47
+ type: import_controls.Slate.BlockType.ListItemChild
70
48
  };
71
49
  }
72
50
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/utils/element.ts"],"sourcesContent":["import { Node, Element } from 'slate'\nimport {\n RootBlock,\n BlockType,\n Block,\n Inline,\n InlineType,\n OrderedListElement,\n UnorderedListElement,\n ListItemElement,\n ListItemChildElement,\n} from '../types'\n\nexport const ElementUtils = {\n isRootBlock(node: Node): node is RootBlock {\n return (\n Element.isElement(node) &&\n (Element.isElementType(node, BlockType.Paragraph) ||\n Element.isElementType(node, BlockType.Heading1) ||\n Element.isElementType(node, BlockType.Heading2) ||\n Element.isElementType(node, BlockType.Heading3) ||\n Element.isElementType(node, BlockType.Heading3) ||\n Element.isElementType(node, BlockType.Heading4) ||\n Element.isElementType(node, BlockType.Heading5) ||\n Element.isElementType(node, BlockType.Heading6) ||\n Element.isElementType(node, BlockType.BlockQuote) ||\n Element.isElementType(node, BlockType.UnorderedList) ||\n Element.isElementType(node, BlockType.OrderedList) ||\n Element.isElementType(node, BlockType.Default))\n )\n },\n isBlock(node: Node): node is Block {\n return (\n Element.isElement(node) &&\n (this.isRootBlock(node) ||\n Element.isElementType(node, BlockType.ListItem) ||\n Element.isElementType(node, BlockType.ListItemChild))\n )\n },\n isInline(node: unknown): node is Inline {\n return (\n Element.isElement(node) &&\n (Element.isElementType(node, InlineType.Code) ||\n Element.isElementType(node, InlineType.Link) ||\n Element.isElementType(node, InlineType.SubScript) ||\n Element.isElementType(node, InlineType.SuperScript))\n )\n },\n isConvertibleToListTextNode(node: Node) {\n return !this.isList(node) && !this.isListItem(node) && !this.isListItemChild(node)\n },\n isList(node: Node): node is OrderedListElement | UnorderedListElement {\n return (\n Element.isElementType(node, BlockType.OrderedList) ||\n Element.isElementType(node, BlockType.UnorderedList)\n )\n },\n isListItem(node: Node): node is ListItemElement {\n return Element.isElementType(node, BlockType.ListItem)\n },\n isListItemChild(node: Node): node is ListItemChildElement {\n return Element.isElementType(node, BlockType.ListItemChild)\n },\n createText() {\n return { text: '' }\n },\n createParagraph() {\n return {\n children: [this.createText()],\n type: BlockType.Paragraph,\n }\n },\n createList(type: BlockType = BlockType.UnorderedList): Block {\n return { children: [this.createText()], type }\n },\n createListItem(): Block {\n return {\n children: [this.createListItemChild()],\n type: BlockType.ListItem,\n }\n },\n createListItemChild(): Block {\n return {\n children: [this.createText()],\n type: BlockType.ListItemChild,\n }\n },\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA8B;AAC9B,mBAUO;AAEA,MAAM,eAAe;AAAA,EAC1B,YAAY,MAA+B;AACzC,WACE,qBAAQ,UAAU,IAAI,MACrB,qBAAQ,cAAc,MAAM,uBAAU,SAAS,KAC9C,qBAAQ,cAAc,MAAM,uBAAU,QAAQ,KAC9C,qBAAQ,cAAc,MAAM,uBAAU,QAAQ,KAC9C,qBAAQ,cAAc,MAAM,uBAAU,QAAQ,KAC9C,qBAAQ,cAAc,MAAM,uBAAU,QAAQ,KAC9C,qBAAQ,cAAc,MAAM,uBAAU,QAAQ,KAC9C,qBAAQ,cAAc,MAAM,uBAAU,QAAQ,KAC9C,qBAAQ,cAAc,MAAM,uBAAU,QAAQ,KAC9C,qBAAQ,cAAc,MAAM,uBAAU,UAAU,KAChD,qBAAQ,cAAc,MAAM,uBAAU,aAAa,KACnD,qBAAQ,cAAc,MAAM,uBAAU,WAAW,KACjD,qBAAQ,cAAc,MAAM,uBAAU,OAAO;AAAA,EAEnD;AAAA,EACA,QAAQ,MAA2B;AACjC,WACE,qBAAQ,UAAU,IAAI,MACrB,KAAK,YAAY,IAAI,KACpB,qBAAQ,cAAc,MAAM,uBAAU,QAAQ,KAC9C,qBAAQ,cAAc,MAAM,uBAAU,aAAa;AAAA,EAEzD;AAAA,EACA,SAAS,MAA+B;AACtC,WACE,qBAAQ,UAAU,IAAI,MACrB,qBAAQ,cAAc,MAAM,wBAAW,IAAI,KAC1C,qBAAQ,cAAc,MAAM,wBAAW,IAAI,KAC3C,qBAAQ,cAAc,MAAM,wBAAW,SAAS,KAChD,qBAAQ,cAAc,MAAM,wBAAW,WAAW;AAAA,EAExD;AAAA,EACA,4BAA4B,MAAY;AACtC,WAAO,CAAC,KAAK,OAAO,IAAI,KAAK,CAAC,KAAK,WAAW,IAAI,KAAK,CAAC,KAAK,gBAAgB,IAAI;AAAA,EACnF;AAAA,EACA,OAAO,MAA+D;AACpE,WACE,qBAAQ,cAAc,MAAM,uBAAU,WAAW,KACjD,qBAAQ,cAAc,MAAM,uBAAU,aAAa;AAAA,EAEvD;AAAA,EACA,WAAW,MAAqC;AAC9C,WAAO,qBAAQ,cAAc,MAAM,uBAAU,QAAQ;AAAA,EACvD;AAAA,EACA,gBAAgB,MAA0C;AACxD,WAAO,qBAAQ,cAAc,MAAM,uBAAU,aAAa;AAAA,EAC5D;AAAA,EACA,aAAa;AACX,WAAO,EAAE,MAAM,GAAG;AAAA,EACpB;AAAA,EACA,kBAAkB;AAChB,WAAO;AAAA,MACL,UAAU,CAAC,KAAK,WAAW,CAAC;AAAA,MAC5B,MAAM,uBAAU;AAAA,IAClB;AAAA,EACF;AAAA,EACA,WAAW,OAAkB,uBAAU,eAAsB;AAC3D,WAAO,EAAE,UAAU,CAAC,KAAK,WAAW,CAAC,GAAG,KAAK;AAAA,EAC/C;AAAA,EACA,iBAAwB;AACtB,WAAO;AAAA,MACL,UAAU,CAAC,KAAK,oBAAoB,CAAC;AAAA,MACrC,MAAM,uBAAU;AAAA,IAClB;AAAA,EACF;AAAA,EACA,sBAA6B;AAC3B,WAAO;AAAA,MACL,UAAU,CAAC,KAAK,WAAW,CAAC;AAAA,MAC5B,MAAM,uBAAU;AAAA,IAClB;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/utils/element.ts"],"sourcesContent":["import { Slate } from '@makeswift/controls'\n\nexport const ElementUtils = {\n createText() {\n return { text: '' }\n },\n createParagraph() {\n return {\n children: [this.createText()],\n type: Slate.BlockType.Paragraph,\n }\n },\n createList(type: Slate.BlockType = Slate.BlockType.UnorderedList): Slate.Block {\n return { children: [this.createText()], type }\n },\n createListItem(): Slate.Block {\n return {\n children: [this.createListItemChild()],\n type: Slate.BlockType.ListItem,\n }\n },\n createListItemChild(): Slate.Block {\n return {\n children: [this.createText()],\n type: Slate.BlockType.ListItemChild,\n }\n },\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAsB;AAEf,MAAM,eAAe;AAAA,EAC1B,aAAa;AACX,WAAO,EAAE,MAAM,GAAG;AAAA,EACpB;AAAA,EACA,kBAAkB;AAChB,WAAO;AAAA,MACL,UAAU,CAAC,KAAK,WAAW,CAAC;AAAA,MAC5B,MAAM,sBAAM,UAAU;AAAA,IACxB;AAAA,EACF;AAAA,EACA,WAAW,OAAwB,sBAAM,UAAU,eAA4B;AAC7E,WAAO,EAAE,UAAU,CAAC,KAAK,WAAW,CAAC,GAAG,KAAK;AAAA,EAC/C;AAAA,EACA,iBAA8B;AAC5B,WAAO;AAAA,MACL,UAAU,CAAC,KAAK,oBAAoB,CAAC;AAAA,MACrC,MAAM,sBAAM,UAAU;AAAA,IACxB;AAAA,EACF;AAAA,EACA,sBAAmC;AACjC,WAAO;AAAA,MACL,UAAU,CAAC,KAAK,WAAW,CAAC;AAAA,MAC5B,MAAM,sBAAM,UAAU;AAAA,IACxB;AAAA,EACF;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/utils/responsive.ts"],"sourcesContent":["import { Editor, Transforms, NodeMatch, Descendant, NodeEntry } from 'slate'\nimport { getSelection } from '../selectors'\nimport { ResponsiveValue } from '../../prop-controllers'\nimport shallowEqual from '../../utils/shallowEqual'\nimport { BlockTextAlignment } from '../types'\n\ntype SetResponsiveValueOptions<T extends Descendant> = {\n match: NodeMatch<T>\n split: boolean\n}\n\nexport function setResponsiveValue<T extends Descendant, K extends keyof T>(\n editor: Editor,\n key: K,\n value: T[K] | undefined | null,\n options: SetResponsiveValueOptions<T>,\n) {\n Editor.withoutNormalizing(editor, () => {\n const at = getSelection(editor)\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n\n if (atRef.current) {\n Transforms.setNodes<Descendant>(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: options.match,\n split: options.split,\n },\n )\n }\n\n if (atRef.current) {\n const nodesToUpdate = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: (node, path) => options.match(node, path) && (node as T).slice === true,\n }),\n )\n\n for (const [, path] of nodesToUpdate) {\n Transforms.setNodes(\n editor,\n {\n [key]: value,\n },\n { at: path },\n )\n }\n }\n\n atRef.unref()\n })\n}\n\ntype NormalizeResponsiveValueOptions<T extends Descendant> = {\n match: NodeMatch<T>\n}\n\nexport function normalizeResponsiveValue<T extends Descendant, K extends keyof T & string>(\n editor: Editor,\n key: K,\n options: NormalizeResponsiveValueOptions<T>,\n) {\n return (entry: NodeEntry<T>) => {\n const [node, path] = entry\n\n if (!options.match(node, path)) {\n return false\n }\n\n const responsiveValue = node?.[key]\n\n if (Array.isArray(responsiveValue) && responsiveValue.length === 0) {\n Transforms.unsetNodes(editor, key, { at: path })\n return true\n }\n\n if (node?.slice != null) {\n Transforms.unsetNodes(editor, 'slice', { at: path })\n return true\n }\n\n return false\n }\n}\n\nexport function responsiveShallowEqual<T>(\n a: ResponsiveValue<T> = [],\n b: ResponsiveValue<T> = [],\n): ResponsiveValue<T> {\n const aObject: Record<string, BlockTextAlignment> = a.reduce(\n (acc, curr) => ({\n ...acc,\n [curr.deviceId]: curr.value,\n }),\n {},\n )\n const bObject: Record<string, BlockTextAlignment> = b.reduce(\n (acc, curr) => ({\n ...acc,\n [curr.deviceId]: curr.value,\n }),\n {},\n )\n\n const definedDevices = new Set([...a.map(a => a.deviceId), ...b.map(b => b.deviceId)])\n\n return Array.from(definedDevices).map(deviceId => {\n const aVal = aObject[deviceId]\n const bVal = bObject[deviceId]\n\n if (aVal === undefined && bVal === undefined) return { deviceId, value: undefined }\n\n return shallowEqual(aVal, bVal) ? { deviceId, value: aVal } : { deviceId, value: null }\n }) as ResponsiveValue<T>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAqE;AACrE,uBAA6B;AAE7B,0BAAyB;AAQlB,SAAS,mBACd,QACA,KACA,OACA,SACA;AACA,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,UAAM,SAAK,+BAAa,MAAM;AAC9B,QAAI,CAAC;AAAI;AACT,UAAM,QAAQ,oBAAO,SAAS,QAAQ,EAAE;AAExC,QAAI,MAAM,SAAS;AACjB,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,IAAI,MAAM;AAAA,UACV,OAAO,QAAQ;AAAA,UACf,OAAO,QAAQ;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AAEA,QAAI,MAAM,SAAS;AACjB,YAAM,gBAAgB,MAAM;AAAA,QAC1B,oBAAO,MAAM,QAAQ;AAAA,UACnB,IAAI,MAAM;AAAA,UACV,OAAO,CAAC,MAAM,SAAS,QAAQ,MAAM,MAAM,IAAI,KAAM,KAAW,UAAU;AAAA,QAC5E,CAAC;AAAA,MACH;AAEA,iBAAW,CAAC,EAAE,IAAI,KAAK,eAAe;AACpC,gCAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,CAAC,GAAG,GAAG;AAAA,UACT;AAAA,UACA,EAAE,IAAI,KAAK;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAEA,UAAM,MAAM;AAAA,EACd,CAAC;AACH;AAMO,SAAS,yBACd,QACA,KACA,SACA;AACA,SAAO,CAAC,UAAwB;AAC9B,UAAM,CAAC,MAAM,IAAI,IAAI;AAErB,QAAI,CAAC,QAAQ,MAAM,MAAM,IAAI,GAAG;AAC9B,aAAO;AAAA,IACT;AAEA,UAAM,kBAAkB,OAAO,GAAG;AAElC,QAAI,MAAM,QAAQ,eAAe,KAAK,gBAAgB,WAAW,GAAG;AAClE,8BAAW,WAAW,QAAQ,KAAK,EAAE,IAAI,KAAK,CAAC;AAC/C,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,SAAS,MAAM;AACvB,8BAAW,WAAW,QAAQ,SAAS,EAAE,IAAI,KAAK,CAAC;AACnD,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT;AACF;AAEO,SAAS,uBACd,IAAwB,CAAC,GACzB,IAAwB,CAAC,GACL;AACpB,QAAM,UAA8C,EAAE;AAAA,IACpD,CAAC,KAAK,UAAU;AAAA,MACd,GAAG;AAAA,MACH,CAAC,KAAK,QAAQ,GAAG,KAAK;AAAA,IACxB;AAAA,IACA,CAAC;AAAA,EACH;AACA,QAAM,UAA8C,EAAE;AAAA,IACpD,CAAC,KAAK,UAAU;AAAA,MACd,GAAG;AAAA,MACH,CAAC,KAAK,QAAQ,GAAG,KAAK;AAAA,IACxB;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiB,oBAAI,IAAI,CAAC,GAAG,EAAE,IAAI,CAAAA,OAAKA,GAAE,QAAQ,GAAG,GAAG,EAAE,IAAI,CAAAC,OAAKA,GAAE,QAAQ,CAAC,CAAC;AAErF,SAAO,MAAM,KAAK,cAAc,EAAE,IAAI,cAAY;AAChD,UAAM,OAAO,QAAQ,QAAQ;AAC7B,UAAM,OAAO,QAAQ,QAAQ;AAE7B,QAAI,SAAS,UAAa,SAAS;AAAW,aAAO,EAAE,UAAU,OAAO,OAAU;AAElF,eAAO,oBAAAC,SAAa,MAAM,IAAI,IAAI,EAAE,UAAU,OAAO,KAAK,IAAI,EAAE,UAAU,OAAO,KAAK;AAAA,EACxF,CAAC;AACH;","names":["a","b","shallowEqual"]}
1
+ {"version":3,"sources":["../../../../src/slate/utils/responsive.ts"],"sourcesContent":["import { Editor, Transforms, NodeMatch, Descendant, NodeEntry } from 'slate'\nimport { Slate, type ResponsiveValue } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\nimport shallowEqual from '../../utils/shallowEqual'\n\ntype SetResponsiveValueOptions<T extends Descendant> = {\n match: NodeMatch<T>\n split: boolean\n}\n\nexport function setResponsiveValue<T extends Descendant, K extends keyof T>(\n editor: Editor,\n key: K,\n value: T[K] | undefined | null,\n options: SetResponsiveValueOptions<T>,\n) {\n Editor.withoutNormalizing(editor, () => {\n const at = getSelection(editor)\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n\n if (atRef.current) {\n Transforms.setNodes<Descendant>(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: options.match,\n split: options.split,\n },\n )\n }\n\n if (atRef.current) {\n const nodesToUpdate = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: (node, path) => options.match(node, path) && (node as T).slice === true,\n }),\n )\n\n for (const [, path] of nodesToUpdate) {\n Transforms.setNodes(\n editor,\n {\n [key]: value,\n },\n { at: path },\n )\n }\n }\n\n atRef.unref()\n })\n}\n\ntype NormalizeResponsiveValueOptions<T extends Descendant> = {\n match: NodeMatch<T>\n}\n\nexport function normalizeResponsiveValue<T extends Descendant, K extends keyof T & string>(\n editor: Editor,\n key: K,\n options: NormalizeResponsiveValueOptions<T>,\n) {\n return (entry: NodeEntry<T>) => {\n const [node, path] = entry\n\n if (!options.match(node, path)) {\n return false\n }\n\n const responsiveValue = node?.[key]\n\n if (Array.isArray(responsiveValue) && responsiveValue.length === 0) {\n Transforms.unsetNodes(editor, key, { at: path })\n return true\n }\n\n if (node?.slice != null) {\n Transforms.unsetNodes(editor, 'slice', { at: path })\n return true\n }\n\n return false\n }\n}\n\nexport function responsiveShallowEqual<T>(\n a: ResponsiveValue<T> = [],\n b: ResponsiveValue<T> = [],\n): ResponsiveValue<T> {\n const aObject: Record<string, Slate.BlockTextAlignment> = a.reduce(\n (acc, curr) => ({\n ...acc,\n [curr.deviceId]: curr.value,\n }),\n {},\n )\n const bObject: Record<string, Slate.BlockTextAlignment> = b.reduce(\n (acc, curr) => ({\n ...acc,\n [curr.deviceId]: curr.value,\n }),\n {},\n )\n\n const definedDevices = new Set([...a.map(a => a.deviceId), ...b.map(b => b.deviceId)])\n\n return Array.from(definedDevices).map(deviceId => {\n const aVal = aObject[deviceId]\n const bVal = bObject[deviceId]\n\n if (aVal === undefined && bVal === undefined) return { deviceId, value: undefined }\n\n return shallowEqual(aVal, bVal) ? { deviceId, value: aVal } : { deviceId, value: null }\n }) as ResponsiveValue<T>\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAqE;AAGrE,uBAA6B;AAC7B,0BAAyB;AAOlB,SAAS,mBACd,QACA,KACA,OACA,SACA;AACA,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,UAAM,SAAK,+BAAa,MAAM;AAC9B,QAAI,CAAC;AAAI;AACT,UAAM,QAAQ,oBAAO,SAAS,QAAQ,EAAE;AAExC,QAAI,MAAM,SAAS;AACjB,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,IAAI,MAAM;AAAA,UACV,OAAO,QAAQ;AAAA,UACf,OAAO,QAAQ;AAAA,QACjB;AAAA,MACF;AAAA,IACF;AAEA,QAAI,MAAM,SAAS;AACjB,YAAM,gBAAgB,MAAM;AAAA,QAC1B,oBAAO,MAAM,QAAQ;AAAA,UACnB,IAAI,MAAM;AAAA,UACV,OAAO,CAAC,MAAM,SAAS,QAAQ,MAAM,MAAM,IAAI,KAAM,KAAW,UAAU;AAAA,QAC5E,CAAC;AAAA,MACH;AAEA,iBAAW,CAAC,EAAE,IAAI,KAAK,eAAe;AACpC,gCAAW;AAAA,UACT;AAAA,UACA;AAAA,YACE,CAAC,GAAG,GAAG;AAAA,UACT;AAAA,UACA,EAAE,IAAI,KAAK;AAAA,QACb;AAAA,MACF;AAAA,IACF;AAEA,UAAM,MAAM;AAAA,EACd,CAAC;AACH;AAMO,SAAS,yBACd,QACA,KACA,SACA;AACA,SAAO,CAAC,UAAwB;AAC9B,UAAM,CAAC,MAAM,IAAI,IAAI;AAErB,QAAI,CAAC,QAAQ,MAAM,MAAM,IAAI,GAAG;AAC9B,aAAO;AAAA,IACT;AAEA,UAAM,kBAAkB,OAAO,GAAG;AAElC,QAAI,MAAM,QAAQ,eAAe,KAAK,gBAAgB,WAAW,GAAG;AAClE,8BAAW,WAAW,QAAQ,KAAK,EAAE,IAAI,KAAK,CAAC;AAC/C,aAAO;AAAA,IACT;AAEA,QAAI,MAAM,SAAS,MAAM;AACvB,8BAAW,WAAW,QAAQ,SAAS,EAAE,IAAI,KAAK,CAAC;AACnD,aAAO;AAAA,IACT;AAEA,WAAO;AAAA,EACT;AACF;AAEO,SAAS,uBACd,IAAwB,CAAC,GACzB,IAAwB,CAAC,GACL;AACpB,QAAM,UAAoD,EAAE;AAAA,IAC1D,CAAC,KAAK,UAAU;AAAA,MACd,GAAG;AAAA,MACH,CAAC,KAAK,QAAQ,GAAG,KAAK;AAAA,IACxB;AAAA,IACA,CAAC;AAAA,EACH;AACA,QAAM,UAAoD,EAAE;AAAA,IAC1D,CAAC,KAAK,UAAU;AAAA,MACd,GAAG;AAAA,MACH,CAAC,KAAK,QAAQ,GAAG,KAAK;AAAA,IACxB;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,iBAAiB,oBAAI,IAAI,CAAC,GAAG,EAAE,IAAI,CAAAA,OAAKA,GAAE,QAAQ,GAAG,GAAG,EAAE,IAAI,CAAAC,OAAKA,GAAE,QAAQ,CAAC,CAAC;AAErF,SAAO,MAAM,KAAK,cAAc,EAAE,IAAI,cAAY;AAChD,UAAM,OAAO,QAAQ,QAAQ;AAC7B,UAAM,OAAO,QAAQ,QAAQ;AAE7B,QAAI,SAAS,UAAa,SAAS;AAAW,aAAO,EAAE,UAAU,OAAO,OAAU;AAElF,eAAO,oBAAAC,SAAa,MAAM,IAAI,IAAI,EAAE,UAAU,OAAO,KAAK,IAAI,EAAE,UAAU,OAAO,KAAK;AAAA,EACxF,CAAC;AACH;","names":["a","b","shallowEqual"]}
@@ -21,66 +21,30 @@ __export(toText_exports, {
21
21
  toText: () => toText
22
22
  });
23
23
  module.exports = __toCommonJS(toText_exports);
24
- var import_controls = require("../../controls");
25
- var import_types = require("../types");
26
- function isText(node) {
27
- if (typeof node === "object" && "text" in node)
28
- return true;
29
- return false;
30
- }
24
+ var import_controls = require("@makeswift/controls");
25
+ var import_rich_text_v2 = require("../../controls/rich-text-v2");
31
26
  function isBlock(descendant) {
32
- if (isText(descendant))
27
+ if (import_controls.Slate.isText(descendant))
33
28
  return false;
34
- switch (descendant.type) {
35
- case import_types.BlockType.Heading1:
36
- case import_types.BlockType.Heading2:
37
- case import_types.BlockType.Heading3:
38
- case import_types.BlockType.Heading4:
39
- case import_types.BlockType.Heading5:
40
- case import_types.BlockType.Heading6:
41
- case import_types.BlockType.BlockQuote:
42
- case import_types.BlockType.Paragraph:
43
- case import_types.BlockType.Default:
44
- case import_types.BlockType.OrderedList:
45
- case import_types.BlockType.UnorderedList:
46
- case import_types.BlockType.ListItem:
47
- case import_types.BlockType.ListItemChild:
48
- return true;
49
- default:
50
- return false;
51
- }
29
+ return import_controls.Slate.isBlock(descendant);
52
30
  }
53
31
  function getTextByDescendant(descendant, mode) {
54
- if (isText(descendant)) {
32
+ if (import_controls.Slate.isText(descendant)) {
55
33
  return descendant.text ?? "";
56
34
  }
57
- switch (descendant.type) {
58
- case import_types.BlockType.Default:
59
- return mode === import_controls.RichTextV2Mode.Inline ? descendant.children.map((descendant2) => getTextByDescendant(descendant2, mode)).join("") ?? "" : descendant.children.map((descendant2) => getTextByDescendant(descendant2, mode)).join(descendant.children.every(isBlock) ? "\n" : "") ?? "";
60
- case import_types.InlineType.Link:
61
- case import_types.InlineType.Code:
62
- case import_types.InlineType.SubScript:
63
- case import_types.InlineType.SuperScript:
64
- return descendant.children.map((descendant2) => getTextByDescendant(descendant2, mode)).join("") ?? "";
65
- case import_types.BlockType.Heading1:
66
- case import_types.BlockType.Heading2:
67
- case import_types.BlockType.Heading3:
68
- case import_types.BlockType.Heading4:
69
- case import_types.BlockType.Heading5:
70
- case import_types.BlockType.Heading6:
71
- case import_types.BlockType.BlockQuote:
72
- case import_types.BlockType.Paragraph:
73
- case import_types.BlockType.OrderedList:
74
- case import_types.BlockType.UnorderedList:
75
- case import_types.BlockType.ListItem:
76
- case import_types.BlockType.ListItemChild:
77
- return descendant.children.map((descendant2) => getTextByDescendant(descendant2, mode)).join(descendant.children.every(isBlock) ? "\n" : "") ?? "";
78
- default:
79
- return "";
35
+ if (import_controls.Slate.isDefaultElement(descendant)) {
36
+ return mode === import_rich_text_v2.RichText.Mode.Inline ? descendant.children.map((descendant2) => getTextByDescendant(descendant2, mode)).join("") ?? "" : descendant.children.map((descendant2) => getTextByDescendant(descendant2, mode)).join(descendant.children.every(isBlock) ? "\n" : "") ?? "";
37
+ }
38
+ if (import_controls.Slate.isBlock(descendant)) {
39
+ return descendant.children.map((descendant2) => getTextByDescendant(descendant2, mode)).join(descendant.children.every(isBlock) ? "\n" : "") ?? "";
40
+ }
41
+ if (import_controls.Slate.isInline(descendant)) {
42
+ return descendant.children.map((descendant2) => getTextByDescendant(descendant2, mode)).join("") ?? "";
80
43
  }
44
+ return "";
81
45
  }
82
- function toText(descendant, mode) {
83
- return descendant.map((node) => getTextByDescendant(node, mode)).join("\n");
46
+ function toText(descendants, mode) {
47
+ return descendants.map((node) => getTextByDescendant(node, mode)).join("\n");
84
48
  }
85
49
  // Annotate the CommonJS export names for ESM import in node:
86
50
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/utils/toText.ts"],"sourcesContent":["import { Descendant, Text } from 'slate'\nimport { RichTextV2Mode } from '../../controls'\nimport { Block, BlockType, InlineType } from '../types'\n\n// reimplemented from slate source for code splitting\nfunction isText(node: Descendant): node is Text {\n if (typeof node === 'object' && 'text' in node) return true\n\n return false\n}\n\nfunction isBlock(descendant: Descendant): descendant is Block {\n if (isText(descendant)) return false\n\n switch (descendant.type) {\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.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.Default:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return true\n\n default:\n return false\n }\n}\n\nfunction getTextByDescendant(descendant: Descendant, mode: RichTextV2Mode): string {\n if (isText(descendant)) {\n return descendant.text ?? ''\n }\n\n switch (descendant.type) {\n case BlockType.Default:\n return mode === RichTextV2Mode.Inline\n ? descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ??\n ''\n : descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n\n case InlineType.Link:\n case InlineType.Code:\n case InlineType.SubScript:\n case InlineType.SuperScript:\n return (\n descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ?? ''\n )\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.BlockQuote:\n case BlockType.Paragraph:\n case BlockType.OrderedList:\n case BlockType.UnorderedList:\n case BlockType.ListItem:\n case BlockType.ListItemChild:\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n default:\n return ''\n }\n}\n\nexport function toText(descendant: Descendant[], mode: RichTextV2Mode): string {\n return descendant.map(node => getTextByDescendant(node, mode)).join('\\n')\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAA+B;AAC/B,mBAA6C;AAG7C,SAAS,OAAO,MAAgC;AAC9C,MAAI,OAAO,SAAS,YAAY,UAAU;AAAM,WAAO;AAEvD,SAAO;AACT;AAEA,SAAS,QAAQ,YAA6C;AAC5D,MAAI,OAAO,UAAU;AAAG,WAAO;AAE/B,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AACb,aAAO;AAAA,IAET;AACE,aAAO;AAAA,EACX;AACF;AAEA,SAAS,oBAAoB,YAAwB,MAA8B;AACjF,MAAI,OAAO,UAAU,GAAG;AACtB,WAAO,WAAW,QAAQ;AAAA,EAC5B;AAEA,UAAQ,WAAW,MAAM;AAAA,IACvB,KAAK,uBAAU;AACb,aAAO,SAAS,+BAAe,SAC3B,WAAW,SAAS,IAAI,CAAAA,gBAAc,oBAAoBA,aAAY,IAAI,CAAC,EAAE,KAAK,EAAE,KAClF,KACF,WAAW,SACR,IAAI,CAAAA,gBAAc,oBAAoBA,aAAY,IAAI,CAAC,EACvD,KAAK,WAAW,SAAS,MAAM,OAAO,IAAI,OAAO,EAAE,KAAK;AAAA,IAEjE,KAAK,wBAAW;AAAA,IAChB,KAAK,wBAAW;AAAA,IAChB,KAAK,wBAAW;AAAA,IAChB,KAAK,wBAAW;AACd,aACE,WAAW,SAAS,IAAI,CAAAA,gBAAc,oBAAoBA,aAAY,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK;AAAA,IAE7F,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AAAA,IACf,KAAK,uBAAU;AACb,aACE,WAAW,SACR,IAAI,CAAAA,gBAAc,oBAAoBA,aAAY,IAAI,CAAC,EACvD,KAAK,WAAW,SAAS,MAAM,OAAO,IAAI,OAAO,EAAE,KAAK;AAAA,IAE/D;AACE,aAAO;AAAA,EACX;AACF;AAEO,SAAS,OAAO,YAA0B,MAA8B;AAC7E,SAAO,WAAW,IAAI,UAAQ,oBAAoB,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI;AAC1E;","names":["descendant"]}
1
+ {"version":3,"sources":["../../../../src/slate/utils/toText.ts"],"sourcesContent":["import { type Descendant } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { RichText, RichTextV2Mode } from '../../controls/rich-text-v2'\n\nfunction isBlock(descendant: Descendant): descendant is Slate.Block {\n if (Slate.isText(descendant)) return false\n return Slate.isBlock(descendant)\n}\n\nfunction getTextByDescendant(descendant: Descendant, mode: RichTextV2Mode): string {\n if (Slate.isText(descendant)) {\n return descendant.text ?? ''\n }\n\n if (Slate.isDefaultElement(descendant)) {\n return mode === RichText.Mode.Inline\n ? descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ?? ''\n : descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n }\n\n if (Slate.isBlock(descendant)) {\n return (\n descendant.children\n .map(descendant => getTextByDescendant(descendant, mode))\n .join(descendant.children.every(isBlock) ? '\\n' : '') ?? ''\n )\n }\n\n if (Slate.isInline(descendant)) {\n return (\n descendant.children.map(descendant => getTextByDescendant(descendant, mode)).join('') ?? ''\n )\n }\n\n return ''\n}\n\nexport function toText(descendants: Descendant[], mode: RichTextV2Mode): string {\n return descendants.map(node => getTextByDescendant(node, mode)).join('\\n')\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAAsB;AAEtB,0BAAyC;AAEzC,SAAS,QAAQ,YAAmD;AAClE,MAAI,sBAAM,OAAO,UAAU;AAAG,WAAO;AACrC,SAAO,sBAAM,QAAQ,UAAU;AACjC;AAEA,SAAS,oBAAoB,YAAwB,MAA8B;AACjF,MAAI,sBAAM,OAAO,UAAU,GAAG;AAC5B,WAAO,WAAW,QAAQ;AAAA,EAC5B;AAEA,MAAI,sBAAM,iBAAiB,UAAU,GAAG;AACtC,WAAO,SAAS,6BAAS,KAAK,SAC1B,WAAW,SAAS,IAAI,CAAAA,gBAAc,oBAAoBA,aAAY,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,KACzF,WAAW,SACR,IAAI,CAAAA,gBAAc,oBAAoBA,aAAY,IAAI,CAAC,EACvD,KAAK,WAAW,SAAS,MAAM,OAAO,IAAI,OAAO,EAAE,KAAK;AAAA,EACjE;AAEA,MAAI,sBAAM,QAAQ,UAAU,GAAG;AAC7B,WACE,WAAW,SACR,IAAI,CAAAA,gBAAc,oBAAoBA,aAAY,IAAI,CAAC,EACvD,KAAK,WAAW,SAAS,MAAM,OAAO,IAAI,OAAO,EAAE,KAAK;AAAA,EAE/D;AAEA,MAAI,sBAAM,SAAS,UAAU,GAAG;AAC9B,WACE,WAAW,SAAS,IAAI,CAAAA,gBAAc,oBAAoBA,aAAY,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK;AAAA,EAE7F;AAEA,SAAO;AACT;AAEO,SAAS,OAAO,aAA2B,MAA8B;AAC9E,SAAO,YAAY,IAAI,UAAQ,oBAAoB,MAAM,IAAI,CAAC,EAAE,KAAK,IAAI;AAC3E;","names":["descendant"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/state/actions.ts"],"sourcesContent":["import type { Operation } from 'ot-json0'\n\nimport type { Document } from './modules/read-only-documents'\nimport type { ComponentType } from './modules/react-components'\nimport type { Measurable, BoxModel } from './modules/box-models'\nimport type { ThunkAction } from 'redux-thunk'\nimport { ComponentMeta } from './modules/components-meta'\nimport { PropControllerDescriptor } from '../prop-controllers'\nimport type { Size } from './react-builder-preview'\nimport type { PropControllersHandle } from './modules/prop-controller-handles'\nimport type { PropControllerMessage } from '../prop-controllers/instances'\nimport type { PropController } from '../prop-controllers/base'\nimport type { APIResource, APIResourceType } from '../api/graphql/types'\nimport type { SerializedControl } from '../builder'\nimport { ElementImperativeHandle } from '../runtimes/react/element-imperative-handle'\nimport { BuilderEditMode } from './modules/builder-edit-mode'\nimport type { Point } from './modules/pointer'\nimport { Breakpoints } from './modules/breakpoints'\nimport { LocaleString, localeStringSchema } from '../locale'\n\nexport const ActionTypes = {\n INIT: 'INIT',\n CLEAN_UP: 'CLEAN_UP',\n\n REGISTER_DOCUMENT: 'REGISTER_DOCUMENT',\n UNREGISTER_DOCUMENT: 'UNREGISTER_DOCUMENT',\n\n CHANGE_DOCUMENT: 'CHANGE_DOCUMENT',\n\n REGISTER_BUILDER_DOCUMENT: 'REGISTER_BUILDER_DOCUMENT',\n UNREGISTER_BUILDER_DOCUMENT: 'UNREGISTER_BUILDER_DOCUMENT',\n\n REGISTER_COMPONENT: 'REGISTER_COMPONENT',\n UNREGISTER_COMPONENT: 'UNREGISTER_COMPONENT',\n\n REGISTER_BUILDER_COMPONENT: 'REGISTER_BUILDER_COMPONENT',\n UNREGISTER_BUILDER_COMPONENT: 'UNREGISTER_BUILDER_COMPONENT',\n\n REGISTER_REACT_COMPONENT: 'REGISTER_REACT_COMPONENT',\n UNREGISTER_REACT_COMPONENT: 'UNREGISTER_REACT_COMPONENT',\n\n MOUNT_COMPONENT: 'MOUNT_COMPONENT',\n UNMOUNT_COMPONENT: 'UNMOUNT_COMPONENT',\n\n REGISTER_COMPONENT_HANDLE: 'REGISTER_COMPONENT_HANDLE',\n UNREGISTER_COMPONENT_HANDLE: 'UNREGISTER_COMPONENT_HANDLE',\n\n REGISTER_MEASURABLE: 'REGISTER_MEASURABLE',\n UNREGISTER_MEASURABLE: 'UNREGISTER_MEASURABLE',\n\n CHANGE_ELEMENT_BOX_MODELS: 'CHANGE_ELEMENT_BOX_MODELS',\n\n CHANGE_DOCUMENT_ELEMENT_SIZE: 'CHANGE_DOCUMENT_ELEMENT_SIZE',\n CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: 'CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP',\n SCROLL_DOCUMENT_ELEMENT: 'SCROLL_DOCUMENT_ELEMENT',\n\n REGISTER_PROP_CONTROLLERS_HANDLE: 'REGISTER_PROP_CONTROLLERS_HANDLE',\n UNREGISTER_PROP_CONTROLLERS_HANDLE: 'UNREGISTER_PROP_CONTROLLERS_HANDLE',\n REGISTER_PROP_CONTROLLERS: 'REGISTER_PROP_CONTROLLERS',\n UNREGISTER_PROP_CONTROLLERS: 'UNREGISTER_PROP_CONTROLLERS',\n MESSAGE_HOST_PROP_CONTROLLER: 'MESSAGE_HOST_PROP_CONTROLLER',\n MESSAGE_BUILDER_PROP_CONTROLLER: 'MESSAGE_BUILDER_PROP_CONTROLLER',\n\n CHANGE_API_RESOURCE: 'CHANGE_API_RESOURCE',\n EVICT_API_RESOURCE: 'EVICT_API_RESOURCE',\n\n SET_IS_IN_BUILDER: 'SET_IS_IN_BUILDER',\n\n HANDLE_WHEEL: 'HANDLE_WHEEL',\n HANDLE_POINTER_MOVE: 'HANDLE_POINTER_MOVE',\n\n API_RESOURCE_FULFILLED: 'API_RESOURCE_FULFILLED',\n\n SET_BUILDER_EDIT_MODE: 'SET_BUILDER_EDIT_MODE',\n MAKESWIFT_CONNECTION_INIT: 'MAKESWIFT_CONNECTION_INIT',\n MAKESWIFT_CONNECTION_CHECK: 'MAKESWIFT_CONNECTION_CHECK',\n\n BUILDER_POINTER_MOVE: 'BUILDER_POINTER_MOVE',\n ELEMENT_FROM_POINT_CHANGE: 'ELEMENT_FROM_POINT_CHANGE',\n\n SET_BREAKPOINTS: 'SET_BREAKPOINTS',\n\n SET_LOCALE: 'SET_LOCALE',\n\n SET_LOCALIZED_RESOURCE_ID: 'SET_LOCALIZED_RESOURCE_ID',\n} as const\n\ntype InitAction = { type: typeof ActionTypes.INIT }\n\ntype CleanUpAction = { type: typeof ActionTypes.CLEAN_UP }\n\ntype RegisterDocumentAction = {\n type: typeof ActionTypes.REGISTER_DOCUMENT\n payload: { documentKey: string; document: Document }\n}\n\ntype UnregisterDocumentAction = {\n type: typeof ActionTypes.UNREGISTER_DOCUMENT\n payload: { documentKey: string }\n}\n\ntype RegisterBuilderDocumentAction = {\n type: typeof ActionTypes.REGISTER_BUILDER_DOCUMENT\n payload: { documentKey: string; document: Document }\n}\n\ntype UnregisterBuilderDocumentAction = {\n type: typeof ActionTypes.UNREGISTER_BUILDER_DOCUMENT\n payload: { documentKey: string }\n}\n\ntype ChangeDocumentAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype RegisterComponentAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n propControllerDescriptors: Record<string, PropControllerDescriptor>\n }\n}\n\ntype UnregisterComponentAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterBuilderComponentAction = {\n type: typeof ActionTypes.REGISTER_BUILDER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n serializedControls: Record<string, SerializedControl>\n }\n}\n\ntype UnregisterBuilderComponentAction = {\n type: typeof ActionTypes.UNREGISTER_BUILDER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterReactComponentAction = {\n type: typeof ActionTypes.REGISTER_REACT_COMPONENT\n payload: { type: string; component: ComponentType }\n}\n\ntype UnregisterReactComponentAction = {\n type: typeof ActionTypes.UNREGISTER_REACT_COMPONENT\n payload: { type: string }\n}\n\ntype MountComponentAction = {\n type: typeof ActionTypes.MOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype UnmountComponentAction = {\n type: typeof ActionTypes.UNMOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterComponentHandleAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string; componentHandle: ElementImperativeHandle }\n}\n\ntype UnregisterComponentHandleAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterMeasurableAction = {\n type: typeof ActionTypes.REGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string; measurable: Measurable }\n}\n\ntype UnregisterMeasurableAction = {\n type: typeof ActionTypes.UNREGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype ChangeElementBoxModelsAction = {\n type: typeof ActionTypes.CHANGE_ELEMENT_BOX_MODELS\n payload: { changedElementBoxModels: Map<string, Map<string, BoxModel | null>> }\n}\n\ntype ChangeDocumentElementSizeAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE\n payload: { size: Size }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\ntype ScrollDocumentElementAction = {\n type: typeof ActionTypes.SCROLL_DOCUMENT_ELEMENT\n payload: { scrollTopDelta: number }\n}\n\ntype RegisterPropControllersHandleAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string; handle: PropControllersHandle }\n}\n\ntype UnregisterPropControllersHandleAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS\n payload: {\n documentKey: string\n elementKey: string\n propControllers: Record<string, PropController>\n }\n}\n\ntype UnregisterPropControllersAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS\n payload: { documentKey: string; elementKey: string }\n}\n\ntype MessageHostPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_HOST_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype MessageBuilderPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype ChangeAPIResourceAction = {\n type: typeof ActionTypes.CHANGE_API_RESOURCE\n payload: { resource: APIResource }\n}\n\ntype EvictAPIResourceAction = {\n type: typeof ActionTypes.EVICT_API_RESOURCE\n payload: { id: string }\n}\n\ntype SetIsInBuilderAction = {\n type: typeof ActionTypes.SET_IS_IN_BUILDER\n payload: boolean\n}\n\ntype HandleWheelAction = {\n type: typeof ActionTypes.HANDLE_WHEEL\n payload: { deltaX: number; deltaY: number }\n}\n\ntype HandlePointerMoveAction = {\n type: typeof ActionTypes.HANDLE_POINTER_MOVE\n payload: { clientX: number; clientY: number }\n}\n\ntype APIResourceFulfilledAction = {\n type: typeof ActionTypes.API_RESOURCE_FULFILLED\n payload: { resourceType: APIResourceType; resourceId: string; resource: APIResource | null }\n}\n\ntype SetBuilderEditModeAction = {\n type: typeof ActionTypes.SET_BUILDER_EDIT_MODE\n payload: { editMode: BuilderEditMode }\n}\n\ntype BuilderPointerMoveAction = {\n type: typeof ActionTypes.BUILDER_POINTER_MOVE\n payload: { pointer: Point | null }\n}\n\ntype ElementFromPointChangeAction = {\n type: typeof ActionTypes.ELEMENT_FROM_POINT_CHANGE\n payload: { keys: { documentKey: string; elementKey: string } | null }\n}\n\nexport type SetBreakpointsAction = {\n type: typeof ActionTypes.SET_BREAKPOINTS\n payload: { breakpoints: Breakpoints }\n}\n\ntype SetLocaleAction = {\n type: typeof ActionTypes.SET_LOCALE\n payload: { locale: LocaleString; pathname?: string }\n}\n\ntype SetLocalizedResourceIdAction = {\n type: typeof ActionTypes.SET_LOCALIZED_RESOURCE_ID\n payload: { resourceId: string; localizedResourceId: string | null }\n}\n\nexport type Action =\n | InitAction\n | CleanUpAction\n | ChangeDocumentAction\n | RegisterDocumentAction\n | UnregisterDocumentAction\n | RegisterBuilderDocumentAction\n | UnregisterBuilderDocumentAction\n | RegisterComponentAction\n | UnregisterComponentAction\n | RegisterBuilderComponentAction\n | UnregisterBuilderComponentAction\n | RegisterReactComponentAction\n | UnregisterReactComponentAction\n | MountComponentAction\n | UnmountComponentAction\n | RegisterComponentHandleAction\n | UnregisterComponentHandleAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | ChangeElementBoxModelsAction\n | ChangeDocumentElementSizeAction\n | ChangeDocumentElementScrollTopAction\n | ScrollDocumentElementAction\n | RegisterPropControllersHandleAction\n | UnregisterPropControllersHandleAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | MessageHostPropControllerAction\n | MessageBuilderPropControllerAction\n | ChangeAPIResourceAction\n | EvictAPIResourceAction\n | SetIsInBuilderAction\n | HandleWheelAction\n | HandlePointerMoveAction\n | APIResourceFulfilledAction\n | SetBuilderEditModeAction\n | BuilderPointerMoveAction\n | ElementFromPointChangeAction\n | SetBreakpointsAction\n | SetLocaleAction\n | SetLocalizedResourceIdAction\n\nexport function init(): InitAction {\n return { type: ActionTypes.INIT }\n}\n\nexport function cleanUp(): CleanUpAction {\n return { type: ActionTypes.CLEAN_UP }\n}\n\nexport function registerDocument(document: Document): RegisterDocumentAction {\n return { type: ActionTypes.REGISTER_DOCUMENT, payload: { documentKey: document.key, document } }\n}\n\nexport function unregisterDocument(documentKey: string): UnregisterDocumentAction {\n return { type: ActionTypes.UNREGISTER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerBuilderDocument(document: Document): RegisterBuilderDocumentAction {\n return {\n type: ActionTypes.REGISTER_BUILDER_DOCUMENT,\n payload: { documentKey: document.key, document },\n }\n}\n\nexport function unregisterBuilderDocument(documentKey: string): UnregisterBuilderDocumentAction {\n return { type: ActionTypes.UNREGISTER_BUILDER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerDocumentEffect(\n document: Document,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerDocument(document))\n\n return () => {\n dispatch(unregisterDocument(document.key))\n }\n }\n}\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function registerComponent(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): RegisterComponentAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT,\n payload: { type, meta, propControllerDescriptors },\n }\n}\n\nexport function unregisterComponent(type: string): UnregisterComponentAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT, payload: { type } }\n}\n\nexport function registerComponentEffect(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerComponent(type, meta, propControllerDescriptors))\n\n return () => {\n dispatch(unregisterComponent(type))\n }\n }\n}\n\nexport function registerBuilderComponent(\n type: string,\n meta: ComponentMeta,\n serializedControls: Record<string, SerializedControl>,\n): RegisterBuilderComponentAction {\n return {\n type: ActionTypes.REGISTER_BUILDER_COMPONENT,\n payload: { type, meta, serializedControls },\n }\n}\n\nexport function unregisterBuilderComponent(type: string): UnregisterBuilderComponentAction {\n return { type: ActionTypes.UNREGISTER_BUILDER_COMPONENT, payload: { type } }\n}\n\nfunction registerReactComponent(\n type: string,\n component: ComponentType,\n): RegisterReactComponentAction {\n return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } }\n}\n\nfunction unregisterReactComponent(type: string): UnregisterReactComponentAction {\n return { type: ActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } }\n}\n\nexport function registerReactComponentEffect(\n type: string,\n component: ComponentType,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerReactComponent(type, component))\n\n return () => {\n dispatch(unregisterReactComponent(type))\n }\n }\n}\n\nexport function mountComponent(documentKey: string, elementKey: string): MountComponentAction {\n return { type: ActionTypes.MOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function unmountComponent(documentKey: string, elementKey: string): UnmountComponentAction {\n return { type: ActionTypes.UNMOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function mountComponentEffect(\n documentKey: string,\n elementKey: string,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(mountComponent(documentKey, elementKey))\n\n return () => {\n dispatch(unmountComponent(documentKey, elementKey))\n }\n }\n}\n\nexport function registerComponentHandle(\n documentKey: string,\n elementKey: string,\n componentHandle: ElementImperativeHandle,\n): RegisterComponentHandleAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey, componentHandle },\n }\n}\n\nfunction unregisterComponentHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterComponentHandleAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT_HANDLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerComponentHandleEffect(\n documentKey: string,\n elementKey: string,\n componentHandle: ElementImperativeHandle,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerComponentHandle(documentKey, elementKey, componentHandle))\n\n return () => {\n dispatch(unregisterComponentHandle(documentKey, elementKey))\n }\n }\n}\n\nexport function registerMeasurable(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): RegisterMeasurableAction {\n return { type: ActionTypes.REGISTER_MEASURABLE, payload: { documentKey, elementKey, measurable } }\n}\n\nexport function unregisterMeasurable(\n documentKey: string,\n elementKey: string,\n): UnregisterMeasurableAction {\n return { type: ActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerMeasurableEffect(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerMeasurable(documentKey, elementKey, measurable))\n\n return () => {\n dispatch(unregisterMeasurable(documentKey, elementKey))\n }\n }\n}\n\nexport function changeElementBoxModels(\n changedElementBoxModels: Map<string, Map<string, BoxModel | null>>,\n): ChangeElementBoxModelsAction {\n return { type: ActionTypes.CHANGE_ELEMENT_BOX_MODELS, payload: { changedElementBoxModels } }\n}\n\nexport function changeDocumentElementSize(size: Size): ChangeDocumentElementSizeAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n\nexport function scrollDocumentElement(scrollTopDelta: number): ScrollDocumentElementAction {\n return { type: ActionTypes.SCROLL_DOCUMENT_ELEMENT, payload: { scrollTopDelta } }\n}\n\nexport function registerPropControllersHandle(\n documentKey: string,\n elementKey: string,\n handle: PropControllersHandle,\n): RegisterPropControllersHandleAction {\n return {\n type: ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey, handle },\n }\n}\n\nexport function unregisterPropControllersHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersHandleAction {\n return {\n type: ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerPropControllers(\n documentKey: string,\n elementKey: string,\n propControllers: Record<string, PropController>,\n): RegisterPropControllersAction {\n return {\n type: ActionTypes.REGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey, propControllers },\n }\n}\n\nexport function unregisterPropControllers(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersAction {\n return { type: ActionTypes.UNREGISTER_PROP_CONTROLLERS, payload: { documentKey, elementKey } }\n}\n\nexport function messageHostPropController<T>(\n documentKey: string,\n elementKey: string,\n propName: string,\n message: T,\n): MessageHostPropControllerAction<T> {\n return {\n type: ActionTypes.MESSAGE_HOST_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function messageBuilderPropController<T>(\n documentKey: string,\n elementKey: string,\n propName: string,\n message: T,\n): MessageBuilderPropControllerAction<T> {\n return {\n type: ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function changeApiResource(resource: APIResource): ChangeAPIResourceAction {\n return { type: ActionTypes.CHANGE_API_RESOURCE, payload: { resource } }\n}\n\nexport function evictApiResource(id: string): EvictAPIResourceAction {\n return { type: ActionTypes.EVICT_API_RESOURCE, payload: { id } }\n}\n\nexport function setIsInBuilder(isInBuilder: boolean): SetIsInBuilderAction {\n return { type: ActionTypes.SET_IS_IN_BUILDER, payload: isInBuilder }\n}\n\nexport function handleWheel(payload: { deltaX: number; deltaY: number }): HandleWheelAction {\n return { type: ActionTypes.HANDLE_WHEEL, payload }\n}\n\nexport function handlePointerMove(payload: {\n clientX: number\n clientY: number\n}): HandlePointerMoveAction {\n return { type: ActionTypes.HANDLE_POINTER_MOVE, payload }\n}\n\nexport function apiResourceFulfilled(\n resourceType: APIResourceType,\n resourceId: string,\n resource: APIResource | null,\n): APIResourceFulfilledAction {\n return {\n type: ActionTypes.API_RESOURCE_FULFILLED,\n payload: { resourceType, resourceId, resource },\n }\n}\n\nexport function setBuilderEditMode(editMode: BuilderEditMode): SetBuilderEditModeAction {\n return {\n type: ActionTypes.SET_BUILDER_EDIT_MODE,\n payload: { editMode },\n }\n}\n\nexport function builderPointerMove(pointer: Point | null): BuilderPointerMoveAction {\n return { type: ActionTypes.BUILDER_POINTER_MOVE, payload: { pointer } }\n}\n\nexport function elementFromPointChange(\n keys: {\n documentKey: string\n elementKey: string\n } | null,\n): ElementFromPointChangeAction {\n return { type: ActionTypes.ELEMENT_FROM_POINT_CHANGE, payload: { keys } }\n}\n\nexport function setBreakpoints(breakpoints: Breakpoints): SetBreakpointsAction {\n return { type: ActionTypes.SET_BREAKPOINTS, payload: { breakpoints } }\n}\n\nexport function setLocale(locale: Intl.Locale, pathname?: string): SetLocaleAction {\n return {\n type: ActionTypes.SET_LOCALE,\n payload: { locale: localeStringSchema.parse(locale.toString()), pathname },\n }\n}\n\nexport function setLocalizedResourceId({\n resourceId,\n localizedResourceId,\n}: {\n resourceId: string\n localizedResourceId: string | null\n}): SetLocalizedResourceIdAction {\n return {\n type: ActionTypes.SET_LOCALIZED_RESOURCE_ID,\n payload: { resourceId, localizedResourceId },\n }\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../src/state/actions.ts"],"sourcesContent":["import type { Operation } from 'ot-json0'\n\nimport { ControlInstance } from '@makeswift/controls'\n\nimport type { Document } from './modules/read-only-documents'\nimport type { ComponentType } from './modules/react-components'\nimport type { Measurable, BoxModel } from './modules/box-models'\nimport type { ThunkAction } from 'redux-thunk'\nimport { ComponentMeta } from './modules/components-meta'\nimport { PropControllerDescriptor } from '../prop-controllers'\nimport type { Size } from './react-builder-preview'\nimport type { PropControllersHandle } from './modules/prop-controller-handles'\nimport type { PropControllerMessage } from '../prop-controllers/instances'\nimport type { APIResource, APIResourceType } from '../api/graphql/types'\nimport type { SerializedControl } from '../builder'\nimport { ElementImperativeHandle } from '../runtimes/react/element-imperative-handle'\nimport { BuilderEditMode } from './modules/builder-edit-mode'\nimport type { Point } from './modules/pointer'\nimport { Breakpoints } from './modules/breakpoints'\nimport { LocaleString, localeStringSchema } from '../locale'\n\nexport const ActionTypes = {\n INIT: 'INIT',\n CLEAN_UP: 'CLEAN_UP',\n\n REGISTER_DOCUMENT: 'REGISTER_DOCUMENT',\n UNREGISTER_DOCUMENT: 'UNREGISTER_DOCUMENT',\n\n CHANGE_DOCUMENT: 'CHANGE_DOCUMENT',\n\n REGISTER_BUILDER_DOCUMENT: 'REGISTER_BUILDER_DOCUMENT',\n UNREGISTER_BUILDER_DOCUMENT: 'UNREGISTER_BUILDER_DOCUMENT',\n\n REGISTER_COMPONENT: 'REGISTER_COMPONENT',\n UNREGISTER_COMPONENT: 'UNREGISTER_COMPONENT',\n\n REGISTER_BUILDER_COMPONENT: 'REGISTER_BUILDER_COMPONENT',\n UNREGISTER_BUILDER_COMPONENT: 'UNREGISTER_BUILDER_COMPONENT',\n\n REGISTER_REACT_COMPONENT: 'REGISTER_REACT_COMPONENT',\n UNREGISTER_REACT_COMPONENT: 'UNREGISTER_REACT_COMPONENT',\n\n MOUNT_COMPONENT: 'MOUNT_COMPONENT',\n UNMOUNT_COMPONENT: 'UNMOUNT_COMPONENT',\n\n REGISTER_COMPONENT_HANDLE: 'REGISTER_COMPONENT_HANDLE',\n UNREGISTER_COMPONENT_HANDLE: 'UNREGISTER_COMPONENT_HANDLE',\n\n REGISTER_MEASURABLE: 'REGISTER_MEASURABLE',\n UNREGISTER_MEASURABLE: 'UNREGISTER_MEASURABLE',\n\n CHANGE_ELEMENT_BOX_MODELS: 'CHANGE_ELEMENT_BOX_MODELS',\n\n CHANGE_DOCUMENT_ELEMENT_SIZE: 'CHANGE_DOCUMENT_ELEMENT_SIZE',\n CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP: 'CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP',\n SCROLL_DOCUMENT_ELEMENT: 'SCROLL_DOCUMENT_ELEMENT',\n\n REGISTER_PROP_CONTROLLERS_HANDLE: 'REGISTER_PROP_CONTROLLERS_HANDLE',\n UNREGISTER_PROP_CONTROLLERS_HANDLE: 'UNREGISTER_PROP_CONTROLLERS_HANDLE',\n REGISTER_PROP_CONTROLLERS: 'REGISTER_PROP_CONTROLLERS',\n UNREGISTER_PROP_CONTROLLERS: 'UNREGISTER_PROP_CONTROLLERS',\n MESSAGE_HOST_PROP_CONTROLLER: 'MESSAGE_HOST_PROP_CONTROLLER',\n MESSAGE_BUILDER_PROP_CONTROLLER: 'MESSAGE_BUILDER_PROP_CONTROLLER',\n\n CHANGE_API_RESOURCE: 'CHANGE_API_RESOURCE',\n EVICT_API_RESOURCE: 'EVICT_API_RESOURCE',\n\n SET_IS_IN_BUILDER: 'SET_IS_IN_BUILDER',\n\n HANDLE_WHEEL: 'HANDLE_WHEEL',\n HANDLE_POINTER_MOVE: 'HANDLE_POINTER_MOVE',\n\n API_RESOURCE_FULFILLED: 'API_RESOURCE_FULFILLED',\n\n SET_BUILDER_EDIT_MODE: 'SET_BUILDER_EDIT_MODE',\n MAKESWIFT_CONNECTION_INIT: 'MAKESWIFT_CONNECTION_INIT',\n MAKESWIFT_CONNECTION_CHECK: 'MAKESWIFT_CONNECTION_CHECK',\n\n BUILDER_POINTER_MOVE: 'BUILDER_POINTER_MOVE',\n ELEMENT_FROM_POINT_CHANGE: 'ELEMENT_FROM_POINT_CHANGE',\n\n SET_BREAKPOINTS: 'SET_BREAKPOINTS',\n\n SET_LOCALE: 'SET_LOCALE',\n\n SET_LOCALIZED_RESOURCE_ID: 'SET_LOCALIZED_RESOURCE_ID',\n} as const\n\ntype InitAction = { type: typeof ActionTypes.INIT }\n\ntype CleanUpAction = { type: typeof ActionTypes.CLEAN_UP }\n\ntype RegisterDocumentAction = {\n type: typeof ActionTypes.REGISTER_DOCUMENT\n payload: { documentKey: string; document: Document }\n}\n\ntype UnregisterDocumentAction = {\n type: typeof ActionTypes.UNREGISTER_DOCUMENT\n payload: { documentKey: string }\n}\n\ntype RegisterBuilderDocumentAction = {\n type: typeof ActionTypes.REGISTER_BUILDER_DOCUMENT\n payload: { documentKey: string; document: Document }\n}\n\ntype UnregisterBuilderDocumentAction = {\n type: typeof ActionTypes.UNREGISTER_BUILDER_DOCUMENT\n payload: { documentKey: string }\n}\n\ntype ChangeDocumentAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT\n payload: { documentKey: string; operation: Operation }\n}\n\ntype RegisterComponentAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n propControllerDescriptors: Record<string, PropControllerDescriptor>\n }\n}\n\ntype UnregisterComponentAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterBuilderComponentAction = {\n type: typeof ActionTypes.REGISTER_BUILDER_COMPONENT\n payload: {\n type: string\n meta: ComponentMeta\n serializedControls: Record<string, SerializedControl>\n }\n}\n\ntype UnregisterBuilderComponentAction = {\n type: typeof ActionTypes.UNREGISTER_BUILDER_COMPONENT\n payload: { type: string }\n}\n\ntype RegisterReactComponentAction = {\n type: typeof ActionTypes.REGISTER_REACT_COMPONENT\n payload: { type: string; component: ComponentType }\n}\n\ntype UnregisterReactComponentAction = {\n type: typeof ActionTypes.UNREGISTER_REACT_COMPONENT\n payload: { type: string }\n}\n\ntype MountComponentAction = {\n type: typeof ActionTypes.MOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype UnmountComponentAction = {\n type: typeof ActionTypes.UNMOUNT_COMPONENT\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterComponentHandleAction = {\n type: typeof ActionTypes.REGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string; componentHandle: ElementImperativeHandle }\n}\n\ntype UnregisterComponentHandleAction = {\n type: typeof ActionTypes.UNREGISTER_COMPONENT_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterMeasurableAction = {\n type: typeof ActionTypes.REGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string; measurable: Measurable }\n}\n\ntype UnregisterMeasurableAction = {\n type: typeof ActionTypes.UNREGISTER_MEASURABLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype ChangeElementBoxModelsAction = {\n type: typeof ActionTypes.CHANGE_ELEMENT_BOX_MODELS\n payload: { changedElementBoxModels: Map<string, Map<string, BoxModel | null>> }\n}\n\ntype ChangeDocumentElementSizeAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE\n payload: { size: Size }\n}\n\ntype ChangeDocumentElementScrollTopAction = {\n type: typeof ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP\n payload: { scrollTop: number }\n}\n\ntype ScrollDocumentElementAction = {\n type: typeof ActionTypes.SCROLL_DOCUMENT_ELEMENT\n payload: { scrollTopDelta: number }\n}\n\ntype RegisterPropControllersHandleAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string; handle: PropControllersHandle }\n}\n\ntype UnregisterPropControllersHandleAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE\n payload: { documentKey: string; elementKey: string }\n}\n\ntype RegisterPropControllersAction = {\n type: typeof ActionTypes.REGISTER_PROP_CONTROLLERS\n payload: {\n documentKey: string\n elementKey: string\n propControllers: Record<string, ControlInstance>\n }\n}\n\ntype UnregisterPropControllersAction = {\n type: typeof ActionTypes.UNREGISTER_PROP_CONTROLLERS\n payload: { documentKey: string; elementKey: string }\n}\n\ntype MessageHostPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_HOST_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype MessageBuilderPropControllerAction<T = PropControllerMessage> = {\n type: typeof ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER\n payload: { documentKey: string; elementKey: string; propName: string; message: T }\n}\n\ntype ChangeAPIResourceAction = {\n type: typeof ActionTypes.CHANGE_API_RESOURCE\n payload: { resource: APIResource }\n}\n\ntype EvictAPIResourceAction = {\n type: typeof ActionTypes.EVICT_API_RESOURCE\n payload: { id: string }\n}\n\ntype SetIsInBuilderAction = {\n type: typeof ActionTypes.SET_IS_IN_BUILDER\n payload: boolean\n}\n\ntype HandleWheelAction = {\n type: typeof ActionTypes.HANDLE_WHEEL\n payload: { deltaX: number; deltaY: number }\n}\n\ntype HandlePointerMoveAction = {\n type: typeof ActionTypes.HANDLE_POINTER_MOVE\n payload: { clientX: number; clientY: number }\n}\n\ntype APIResourceFulfilledAction = {\n type: typeof ActionTypes.API_RESOURCE_FULFILLED\n payload: { resourceType: APIResourceType; resourceId: string; resource: APIResource | null }\n}\n\ntype SetBuilderEditModeAction = {\n type: typeof ActionTypes.SET_BUILDER_EDIT_MODE\n payload: { editMode: BuilderEditMode }\n}\n\ntype BuilderPointerMoveAction = {\n type: typeof ActionTypes.BUILDER_POINTER_MOVE\n payload: { pointer: Point | null }\n}\n\ntype ElementFromPointChangeAction = {\n type: typeof ActionTypes.ELEMENT_FROM_POINT_CHANGE\n payload: { keys: { documentKey: string; elementKey: string } | null }\n}\n\nexport type SetBreakpointsAction = {\n type: typeof ActionTypes.SET_BREAKPOINTS\n payload: { breakpoints: Breakpoints }\n}\n\ntype SetLocaleAction = {\n type: typeof ActionTypes.SET_LOCALE\n payload: { locale: LocaleString; pathname?: string }\n}\n\ntype SetLocalizedResourceIdAction = {\n type: typeof ActionTypes.SET_LOCALIZED_RESOURCE_ID\n payload: { resourceId: string; localizedResourceId: string | null }\n}\n\nexport type Action =\n | InitAction\n | CleanUpAction\n | ChangeDocumentAction\n | RegisterDocumentAction\n | UnregisterDocumentAction\n | RegisterBuilderDocumentAction\n | UnregisterBuilderDocumentAction\n | RegisterComponentAction\n | UnregisterComponentAction\n | RegisterBuilderComponentAction\n | UnregisterBuilderComponentAction\n | RegisterReactComponentAction\n | UnregisterReactComponentAction\n | MountComponentAction\n | UnmountComponentAction\n | RegisterComponentHandleAction\n | UnregisterComponentHandleAction\n | RegisterMeasurableAction\n | UnregisterMeasurableAction\n | ChangeElementBoxModelsAction\n | ChangeDocumentElementSizeAction\n | ChangeDocumentElementScrollTopAction\n | ScrollDocumentElementAction\n | RegisterPropControllersHandleAction\n | UnregisterPropControllersHandleAction\n | RegisterPropControllersAction\n | UnregisterPropControllersAction\n | MessageHostPropControllerAction\n | MessageBuilderPropControllerAction\n | ChangeAPIResourceAction\n | EvictAPIResourceAction\n | SetIsInBuilderAction\n | HandleWheelAction\n | HandlePointerMoveAction\n | APIResourceFulfilledAction\n | SetBuilderEditModeAction\n | BuilderPointerMoveAction\n | ElementFromPointChangeAction\n | SetBreakpointsAction\n | SetLocaleAction\n | SetLocalizedResourceIdAction\n\nexport function init(): InitAction {\n return { type: ActionTypes.INIT }\n}\n\nexport function cleanUp(): CleanUpAction {\n return { type: ActionTypes.CLEAN_UP }\n}\n\nexport function registerDocument(document: Document): RegisterDocumentAction {\n return { type: ActionTypes.REGISTER_DOCUMENT, payload: { documentKey: document.key, document } }\n}\n\nexport function unregisterDocument(documentKey: string): UnregisterDocumentAction {\n return { type: ActionTypes.UNREGISTER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerBuilderDocument(document: Document): RegisterBuilderDocumentAction {\n return {\n type: ActionTypes.REGISTER_BUILDER_DOCUMENT,\n payload: { documentKey: document.key, document },\n }\n}\n\nexport function unregisterBuilderDocument(documentKey: string): UnregisterBuilderDocumentAction {\n return { type: ActionTypes.UNREGISTER_BUILDER_DOCUMENT, payload: { documentKey } }\n}\n\nexport function registerDocumentEffect(\n document: Document,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerDocument(document))\n\n return () => {\n dispatch(unregisterDocument(document.key))\n }\n }\n}\n\nexport function changeDocument(documentKey: string, operation: Operation): ChangeDocumentAction {\n return { type: ActionTypes.CHANGE_DOCUMENT, payload: { documentKey, operation } }\n}\n\nexport function registerComponent(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): RegisterComponentAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT,\n payload: { type, meta, propControllerDescriptors },\n }\n}\n\nexport function unregisterComponent(type: string): UnregisterComponentAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT, payload: { type } }\n}\n\nexport function registerComponentEffect(\n type: string,\n meta: ComponentMeta,\n propControllerDescriptors: Record<string, PropControllerDescriptor>,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerComponent(type, meta, propControllerDescriptors))\n\n return () => {\n dispatch(unregisterComponent(type))\n }\n }\n}\n\nexport function registerBuilderComponent(\n type: string,\n meta: ComponentMeta,\n serializedControls: Record<string, SerializedControl>,\n): RegisterBuilderComponentAction {\n return {\n type: ActionTypes.REGISTER_BUILDER_COMPONENT,\n payload: { type, meta, serializedControls },\n }\n}\n\nexport function unregisterBuilderComponent(type: string): UnregisterBuilderComponentAction {\n return { type: ActionTypes.UNREGISTER_BUILDER_COMPONENT, payload: { type } }\n}\n\nfunction registerReactComponent(\n type: string,\n component: ComponentType,\n): RegisterReactComponentAction {\n return { type: ActionTypes.REGISTER_REACT_COMPONENT, payload: { type, component } }\n}\n\nfunction unregisterReactComponent(type: string): UnregisterReactComponentAction {\n return { type: ActionTypes.UNREGISTER_REACT_COMPONENT, payload: { type } }\n}\n\nexport function registerReactComponentEffect(\n type: string,\n component: ComponentType,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerReactComponent(type, component))\n\n return () => {\n dispatch(unregisterReactComponent(type))\n }\n }\n}\n\nexport function mountComponent(documentKey: string, elementKey: string): MountComponentAction {\n return { type: ActionTypes.MOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function unmountComponent(documentKey: string, elementKey: string): UnmountComponentAction {\n return { type: ActionTypes.UNMOUNT_COMPONENT, payload: { documentKey, elementKey } }\n}\n\nexport function mountComponentEffect(\n documentKey: string,\n elementKey: string,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(mountComponent(documentKey, elementKey))\n\n return () => {\n dispatch(unmountComponent(documentKey, elementKey))\n }\n }\n}\n\nexport function registerComponentHandle(\n documentKey: string,\n elementKey: string,\n componentHandle: ElementImperativeHandle,\n): RegisterComponentHandleAction {\n return {\n type: ActionTypes.REGISTER_COMPONENT_HANDLE,\n payload: { documentKey, elementKey, componentHandle },\n }\n}\n\nfunction unregisterComponentHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterComponentHandleAction {\n return { type: ActionTypes.UNREGISTER_COMPONENT_HANDLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerComponentHandleEffect(\n documentKey: string,\n elementKey: string,\n componentHandle: ElementImperativeHandle,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerComponentHandle(documentKey, elementKey, componentHandle))\n\n return () => {\n dispatch(unregisterComponentHandle(documentKey, elementKey))\n }\n }\n}\n\nexport function registerMeasurable(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): RegisterMeasurableAction {\n return { type: ActionTypes.REGISTER_MEASURABLE, payload: { documentKey, elementKey, measurable } }\n}\n\nexport function unregisterMeasurable(\n documentKey: string,\n elementKey: string,\n): UnregisterMeasurableAction {\n return { type: ActionTypes.UNREGISTER_MEASURABLE, payload: { documentKey, elementKey } }\n}\n\nexport function registerMeasurableEffect(\n documentKey: string,\n elementKey: string,\n measurable: Measurable,\n): ThunkAction<() => void, unknown, unknown, Action> {\n return dispatch => {\n dispatch(registerMeasurable(documentKey, elementKey, measurable))\n\n return () => {\n dispatch(unregisterMeasurable(documentKey, elementKey))\n }\n }\n}\n\nexport function changeElementBoxModels(\n changedElementBoxModels: Map<string, Map<string, BoxModel | null>>,\n): ChangeElementBoxModelsAction {\n return { type: ActionTypes.CHANGE_ELEMENT_BOX_MODELS, payload: { changedElementBoxModels } }\n}\n\nexport function changeDocumentElementSize(size: Size): ChangeDocumentElementSizeAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SIZE, payload: { size } }\n}\n\nexport function changeDocumentElementScrollTop(\n scrollTop: number,\n): ChangeDocumentElementScrollTopAction {\n return { type: ActionTypes.CHANGE_DOCUMENT_ELEMENT_SCROLL_TOP, payload: { scrollTop } }\n}\n\nexport function scrollDocumentElement(scrollTopDelta: number): ScrollDocumentElementAction {\n return { type: ActionTypes.SCROLL_DOCUMENT_ELEMENT, payload: { scrollTopDelta } }\n}\n\nexport function registerPropControllersHandle(\n documentKey: string,\n elementKey: string,\n handle: PropControllersHandle,\n): RegisterPropControllersHandleAction {\n return {\n type: ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey, handle },\n }\n}\n\nexport function unregisterPropControllersHandle(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersHandleAction {\n return {\n type: ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE,\n payload: { documentKey, elementKey },\n }\n}\n\nexport function registerPropControllers(\n documentKey: string,\n elementKey: string,\n propControllers: Record<string, ControlInstance>,\n): RegisterPropControllersAction {\n return {\n type: ActionTypes.REGISTER_PROP_CONTROLLERS,\n payload: { documentKey, elementKey, propControllers },\n }\n}\n\nexport function unregisterPropControllers(\n documentKey: string,\n elementKey: string,\n): UnregisterPropControllersAction {\n return { type: ActionTypes.UNREGISTER_PROP_CONTROLLERS, payload: { documentKey, elementKey } }\n}\n\nexport function messageHostPropController<T>(\n documentKey: string,\n elementKey: string,\n propName: string,\n message: T,\n): MessageHostPropControllerAction<T> {\n return {\n type: ActionTypes.MESSAGE_HOST_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function messageBuilderPropController<T>(\n documentKey: string,\n elementKey: string,\n propName: string,\n message: T,\n): MessageBuilderPropControllerAction<T> {\n return {\n type: ActionTypes.MESSAGE_BUILDER_PROP_CONTROLLER,\n payload: { documentKey, elementKey, propName, message },\n }\n}\n\nexport function changeApiResource(resource: APIResource): ChangeAPIResourceAction {\n return { type: ActionTypes.CHANGE_API_RESOURCE, payload: { resource } }\n}\n\nexport function evictApiResource(id: string): EvictAPIResourceAction {\n return { type: ActionTypes.EVICT_API_RESOURCE, payload: { id } }\n}\n\nexport function setIsInBuilder(isInBuilder: boolean): SetIsInBuilderAction {\n return { type: ActionTypes.SET_IS_IN_BUILDER, payload: isInBuilder }\n}\n\nexport function handleWheel(payload: { deltaX: number; deltaY: number }): HandleWheelAction {\n return { type: ActionTypes.HANDLE_WHEEL, payload }\n}\n\nexport function handlePointerMove(payload: {\n clientX: number\n clientY: number\n}): HandlePointerMoveAction {\n return { type: ActionTypes.HANDLE_POINTER_MOVE, payload }\n}\n\nexport function apiResourceFulfilled(\n resourceType: APIResourceType,\n resourceId: string,\n resource: APIResource | null,\n): APIResourceFulfilledAction {\n return {\n type: ActionTypes.API_RESOURCE_FULFILLED,\n payload: { resourceType, resourceId, resource },\n }\n}\n\nexport function setBuilderEditMode(editMode: BuilderEditMode): SetBuilderEditModeAction {\n return {\n type: ActionTypes.SET_BUILDER_EDIT_MODE,\n payload: { editMode },\n }\n}\n\nexport function builderPointerMove(pointer: Point | null): BuilderPointerMoveAction {\n return { type: ActionTypes.BUILDER_POINTER_MOVE, payload: { pointer } }\n}\n\nexport function elementFromPointChange(\n keys: {\n documentKey: string\n elementKey: string\n } | null,\n): ElementFromPointChangeAction {\n return { type: ActionTypes.ELEMENT_FROM_POINT_CHANGE, payload: { keys } }\n}\n\nexport function setBreakpoints(breakpoints: Breakpoints): SetBreakpointsAction {\n return { type: ActionTypes.SET_BREAKPOINTS, payload: { breakpoints } }\n}\n\nexport function setLocale(locale: Intl.Locale, pathname?: string): SetLocaleAction {\n return {\n type: ActionTypes.SET_LOCALE,\n payload: { locale: localeStringSchema.parse(locale.toString()), pathname },\n }\n}\n\nexport function setLocalizedResourceId({\n resourceId,\n localizedResourceId,\n}: {\n resourceId: string\n localizedResourceId: string | null\n}): SetLocalizedResourceIdAction {\n return {\n type: ActionTypes.SET_LOCALIZED_RESOURCE_ID,\n payload: { resourceId, localizedResourceId },\n }\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/state/modules/box-models.ts"],"sourcesContent":["import {\n BoxModel,\n createBox as createBoxWithoutScroll,\n CreateBoxArgs,\n getBox as getBoxWithoutScroll,\n withScroll,\n} from 'css-box-model'\n\nimport { Action, ActionTypes } from '../actions'\n\nexport type { BoxModel }\n\nexport function parse(rawString: string): number {\n const value = Number(rawString.replace(/px$/, ''))\n\n return Number.isFinite(value) ? value : 0\n}\n\nexport function createBox(boxArgs: CreateBoxArgs): BoxModel {\n return withScroll(createBoxWithoutScroll(boxArgs))\n}\n\nexport function getBox(element: Element): BoxModel {\n return withScroll(getBoxWithoutScroll(element))\n}\n\nexport interface BoxModelHandle {\n getBoxModel(): BoxModel | null\n}\n\nexport type Measurable = Element | BoxModelHandle\n\nexport function isMeasurable(value: unknown): value is Measurable {\n if (value instanceof Element) return true\n\n if (\n typeof value === 'object' &&\n value !== null &&\n 'getBoxModel' in value &&\n typeof (value as { getBoxModel: unknown }).getBoxModel === 'function'\n ) {\n return true\n }\n\n return false\n}\n\nexport function measure(measurable: Measurable): BoxModel | null {\n if (measurable instanceof Element) return getBox(measurable)\n\n return measurable.getBoxModel()\n}\n\nexport type State = {\n measurables: Map<string, Map<string, Measurable>>\n boxModels: Map<string, Map<string, BoxModel>>\n}\n\nexport function getInitialState(): State {\n return { measurables: new Map(), boxModels: new Map() }\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, Measurable>> {\n return state.measurables\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModel>> {\n return state.boxModels\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModel | null {\n return getBoxModels(state).get(documentKey)?.get(elementKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action) {\n switch (action.type) {\n case ActionTypes.REGISTER_MEASURABLE: {\n const { documentKey, elementKey, measurable } = action.payload\n\n return {\n ...state,\n measurables: new Map(state.measurables).set(\n documentKey,\n new Map(state.measurables.get(documentKey) ?? []).set(elementKey, measurable),\n ),\n }\n }\n\n case ActionTypes.UNREGISTER_MEASURABLE: {\n const { documentKey, elementKey } = action.payload\n const nextMeasurables = new Map(state.measurables.get(documentKey) ?? [])\n\n const deleted = nextMeasurables.delete(elementKey)\n\n return deleted\n ? { ...state, measurables: new Map(state.measurables).set(documentKey, nextMeasurables) }\n : state\n }\n\n case ActionTypes.CHANGE_ELEMENT_BOX_MODELS: {\n const { changedElementBoxModels } = action.payload\n\n if (changedElementBoxModels.size === 0) return state\n\n const nextBoxModels = new Map(state.boxModels)\n\n changedElementBoxModels.forEach((changedBoxModels, documentKey) => {\n const nextDocumentBoxModels = new Map(nextBoxModels.get(documentKey) ?? [])\n\n changedBoxModels.forEach((changedBoxModel, elementKey) => {\n if (changedBoxModel == null) nextDocumentBoxModels.delete(elementKey)\n else nextDocumentBoxModels.set(elementKey, changedBoxModel)\n })\n\n if (nextDocumentBoxModels.size > 0) nextBoxModels.set(documentKey, nextDocumentBoxModels)\n else nextBoxModels.delete(documentKey)\n })\n\n return { ...state, boxModels: nextBoxModels }\n }\n\n default:\n return state\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,2BAMO;AAEP,qBAAoC;AAI7B,SAAS,MAAM,WAA2B;AAC/C,QAAM,QAAQ,OAAO,UAAU,QAAQ,OAAO,EAAE,CAAC;AAEjD,SAAO,OAAO,SAAS,KAAK,IAAI,QAAQ;AAC1C;AAEO,SAAS,UAAU,SAAkC;AAC1D,aAAO,qCAAW,qBAAAA,WAAuB,OAAO,CAAC;AACnD;AAEO,SAAS,OAAO,SAA4B;AACjD,aAAO,qCAAW,qBAAAC,QAAoB,OAAO,CAAC;AAChD;AAQO,SAAS,aAAa,OAAqC;AAChE,MAAI,iBAAiB;AAAS,WAAO;AAErC,MACE,OAAO,UAAU,YACjB,UAAU,QACV,iBAAiB,SACjB,OAAQ,MAAmC,gBAAgB,YAC3D;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,QAAQ,YAAyC;AAC/D,MAAI,sBAAsB;AAAS,WAAO,OAAO,UAAU;AAE3D,SAAO,WAAW,YAAY;AAChC;AAOO,SAAS,kBAAyB;AACvC,SAAO,EAAE,aAAa,oBAAI,IAAI,GAAG,WAAW,oBAAI,IAAI,EAAE;AACxD;AAEO,SAAS,eAAe,OAAoD;AACjF,SAAO,MAAM;AACf;AAEO,SAAS,aAAa,OAAkD;AAC7E,SAAO,MAAM;AACf;AAEO,SAAS,YACd,OACA,aACA,YACiB;AACjB,SAAO,aAAa,KAAK,EAAE,IAAI,WAAW,GAAG,IAAI,UAAU,KAAK;AAClE;AAEO,SAAS,QAAQ,QAAe,gBAAgB,GAAG,QAAgB;AACxE,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,2BAAY,qBAAqB;AACpC,YAAM,EAAE,aAAa,YAAY,WAAW,IAAI,OAAO;AAEvD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa,IAAI,IAAI,MAAM,WAAW,EAAE;AAAA,UACtC;AAAA,UACA,IAAI,IAAI,MAAM,YAAY,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,IAAI,YAAY,UAAU;AAAA,QAC9E;AAAA,MACF;AAAA,IACF;AAAA,IAEA,KAAK,2BAAY,uBAAuB;AACtC,YAAM,EAAE,aAAa,WAAW,IAAI,OAAO;AAC3C,YAAM,kBAAkB,IAAI,IAAI,MAAM,YAAY,IAAI,WAAW,KAAK,CAAC,CAAC;AAExE,YAAM,UAAU,gBAAgB,OAAO,UAAU;AAEjD,aAAO,UACH,EAAE,GAAG,OAAO,aAAa,IAAI,IAAI,MAAM,WAAW,EAAE,IAAI,aAAa,eAAe,EAAE,IACtF;AAAA,IACN;AAAA,IAEA,KAAK,2BAAY,2BAA2B;AAC1C,YAAM,EAAE,wBAAwB,IAAI,OAAO;AAE3C,UAAI,wBAAwB,SAAS;AAAG,eAAO;AAE/C,YAAM,gBAAgB,IAAI,IAAI,MAAM,SAAS;AAE7C,8BAAwB,QAAQ,CAAC,kBAAkB,gBAAgB;AACjE,cAAM,wBAAwB,IAAI,IAAI,cAAc,IAAI,WAAW,KAAK,CAAC,CAAC;AAE1E,yBAAiB,QAAQ,CAAC,iBAAiB,eAAe;AACxD,cAAI,mBAAmB;AAAM,kCAAsB,OAAO,UAAU;AAAA;AAC/D,kCAAsB,IAAI,YAAY,eAAe;AAAA,QAC5D,CAAC;AAED,YAAI,sBAAsB,OAAO;AAAG,wBAAc,IAAI,aAAa,qBAAqB;AAAA;AACnF,wBAAc,OAAO,WAAW;AAAA,MACvC,CAAC;AAED,aAAO,EAAE,GAAG,OAAO,WAAW,cAAc;AAAA,IAC9C;AAAA,IAEA;AACE,aAAO;AAAA,EACX;AACF;","names":["createBoxWithoutScroll","getBoxWithoutScroll"]}
1
+ {"version":3,"sources":["../../../../src/state/modules/box-models.ts"],"sourcesContent":["import { type BoxModel } from '@makeswift/controls'\nimport {\n createBox as createBoxWithoutScroll,\n CreateBoxArgs,\n getBox as getBoxWithoutScroll,\n withScroll,\n} from 'css-box-model'\n\nimport { Action, ActionTypes } from '../actions'\n\nexport type { BoxModel }\n\nexport function parse(rawString: string): number {\n const value = Number(rawString.replace(/px$/, ''))\n\n return Number.isFinite(value) ? value : 0\n}\n\nexport function createBox(boxArgs: CreateBoxArgs): BoxModel {\n return withScroll(createBoxWithoutScroll(boxArgs))\n}\n\nexport function getBox(element: Element): BoxModel {\n return withScroll(getBoxWithoutScroll(element))\n}\n\nexport interface BoxModelHandle {\n getBoxModel(): BoxModel | null\n}\n\nexport type Measurable = Element | BoxModelHandle\n\nexport function isMeasurable(value: unknown): value is Measurable {\n if (value instanceof Element) return true\n\n if (\n typeof value === 'object' &&\n value !== null &&\n 'getBoxModel' in value &&\n typeof (value as { getBoxModel: unknown }).getBoxModel === 'function'\n ) {\n return true\n }\n\n return false\n}\n\nexport function measure(measurable: Measurable): BoxModel | null {\n if (measurable instanceof Element) return getBox(measurable)\n\n return measurable.getBoxModel()\n}\n\nexport type State = {\n measurables: Map<string, Map<string, Measurable>>\n boxModels: Map<string, Map<string, BoxModel>>\n}\n\nexport function getInitialState(): State {\n return { measurables: new Map(), boxModels: new Map() }\n}\n\nexport function getMeasurables(state: State): Map<string, Map<string, Measurable>> {\n return state.measurables\n}\n\nexport function getBoxModels(state: State): Map<string, Map<string, BoxModel>> {\n return state.boxModels\n}\n\nexport function getBoxModel(\n state: State,\n documentKey: string,\n elementKey: string,\n): BoxModel | null {\n return getBoxModels(state).get(documentKey)?.get(elementKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action) {\n switch (action.type) {\n case ActionTypes.REGISTER_MEASURABLE: {\n const { documentKey, elementKey, measurable } = action.payload\n\n return {\n ...state,\n measurables: new Map(state.measurables).set(\n documentKey,\n new Map(state.measurables.get(documentKey) ?? []).set(elementKey, measurable),\n ),\n }\n }\n\n case ActionTypes.UNREGISTER_MEASURABLE: {\n const { documentKey, elementKey } = action.payload\n const nextMeasurables = new Map(state.measurables.get(documentKey) ?? [])\n\n const deleted = nextMeasurables.delete(elementKey)\n\n return deleted\n ? { ...state, measurables: new Map(state.measurables).set(documentKey, nextMeasurables) }\n : state\n }\n\n case ActionTypes.CHANGE_ELEMENT_BOX_MODELS: {\n const { changedElementBoxModels } = action.payload\n\n if (changedElementBoxModels.size === 0) return state\n\n const nextBoxModels = new Map(state.boxModels)\n\n changedElementBoxModels.forEach((changedBoxModels, documentKey) => {\n const nextDocumentBoxModels = new Map(nextBoxModels.get(documentKey) ?? [])\n\n changedBoxModels.forEach((changedBoxModel, elementKey) => {\n if (changedBoxModel == null) nextDocumentBoxModels.delete(elementKey)\n else nextDocumentBoxModels.set(elementKey, changedBoxModel)\n })\n\n if (nextDocumentBoxModels.size > 0) nextBoxModels.set(documentKey, nextDocumentBoxModels)\n else nextBoxModels.delete(documentKey)\n })\n\n return { ...state, boxModels: nextBoxModels }\n }\n\n default:\n return state\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,2BAKO;AAEP,qBAAoC;AAI7B,SAAS,MAAM,WAA2B;AAC/C,QAAM,QAAQ,OAAO,UAAU,QAAQ,OAAO,EAAE,CAAC;AAEjD,SAAO,OAAO,SAAS,KAAK,IAAI,QAAQ;AAC1C;AAEO,SAAS,UAAU,SAAkC;AAC1D,aAAO,qCAAW,qBAAAA,WAAuB,OAAO,CAAC;AACnD;AAEO,SAAS,OAAO,SAA4B;AACjD,aAAO,qCAAW,qBAAAC,QAAoB,OAAO,CAAC;AAChD;AAQO,SAAS,aAAa,OAAqC;AAChE,MAAI,iBAAiB;AAAS,WAAO;AAErC,MACE,OAAO,UAAU,YACjB,UAAU,QACV,iBAAiB,SACjB,OAAQ,MAAmC,gBAAgB,YAC3D;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAEO,SAAS,QAAQ,YAAyC;AAC/D,MAAI,sBAAsB;AAAS,WAAO,OAAO,UAAU;AAE3D,SAAO,WAAW,YAAY;AAChC;AAOO,SAAS,kBAAyB;AACvC,SAAO,EAAE,aAAa,oBAAI,IAAI,GAAG,WAAW,oBAAI,IAAI,EAAE;AACxD;AAEO,SAAS,eAAe,OAAoD;AACjF,SAAO,MAAM;AACf;AAEO,SAAS,aAAa,OAAkD;AAC7E,SAAO,MAAM;AACf;AAEO,SAAS,YACd,OACA,aACA,YACiB;AACjB,SAAO,aAAa,KAAK,EAAE,IAAI,WAAW,GAAG,IAAI,UAAU,KAAK;AAClE;AAEO,SAAS,QAAQ,QAAe,gBAAgB,GAAG,QAAgB;AACxE,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,2BAAY,qBAAqB;AACpC,YAAM,EAAE,aAAa,YAAY,WAAW,IAAI,OAAO;AAEvD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,aAAa,IAAI,IAAI,MAAM,WAAW,EAAE;AAAA,UACtC;AAAA,UACA,IAAI,IAAI,MAAM,YAAY,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,IAAI,YAAY,UAAU;AAAA,QAC9E;AAAA,MACF;AAAA,IACF;AAAA,IAEA,KAAK,2BAAY,uBAAuB;AACtC,YAAM,EAAE,aAAa,WAAW,IAAI,OAAO;AAC3C,YAAM,kBAAkB,IAAI,IAAI,MAAM,YAAY,IAAI,WAAW,KAAK,CAAC,CAAC;AAExE,YAAM,UAAU,gBAAgB,OAAO,UAAU;AAEjD,aAAO,UACH,EAAE,GAAG,OAAO,aAAa,IAAI,IAAI,MAAM,WAAW,EAAE,IAAI,aAAa,eAAe,EAAE,IACtF;AAAA,IACN;AAAA,IAEA,KAAK,2BAAY,2BAA2B;AAC1C,YAAM,EAAE,wBAAwB,IAAI,OAAO;AAE3C,UAAI,wBAAwB,SAAS;AAAG,eAAO;AAE/C,YAAM,gBAAgB,IAAI,IAAI,MAAM,SAAS;AAE7C,8BAAwB,QAAQ,CAAC,kBAAkB,gBAAgB;AACjE,cAAM,wBAAwB,IAAI,IAAI,cAAc,IAAI,WAAW,KAAK,CAAC,CAAC;AAE1E,yBAAiB,QAAQ,CAAC,iBAAiB,eAAe;AACxD,cAAI,mBAAmB;AAAM,kCAAsB,OAAO,UAAU;AAAA;AAC/D,kCAAsB,IAAI,YAAY,eAAe;AAAA,QAC5D,CAAC;AAED,YAAI,sBAAsB,OAAO;AAAG,wBAAc,IAAI,aAAa,qBAAqB;AAAA;AACnF,wBAAc,OAAO,WAAW;AAAA,MACvC,CAAC;AAED,aAAO,EAAE,GAAG,OAAO,WAAW,cAAc;AAAA,IAC9C;AAAA,IAEA;AACE,aAAO;AAAA,EACX;AACF;","names":["createBoxWithoutScroll","getBoxWithoutScroll"]}
@@ -45,8 +45,8 @@ __export(breakpoints_exports, {
45
45
  shallowMergeFallbacks: () => shallowMergeFallbacks
46
46
  });
47
47
  module.exports = __toCommonJS(breakpoints_exports);
48
- var import_shallowMerge = __toESM(require("../../utils/shallowMerge"));
49
48
  var import_actions = require("../actions");
49
+ var import_shallowMerge = __toESM(require("../../utils/shallowMerge"));
50
50
  var import_coalesce = __toESM(require("../../utils/coalesce"));
51
51
  const DefaultBreakpointID = {
52
52
  Desktop: "desktop",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/state/modules/breakpoints.ts"],"sourcesContent":["import { Viewport } from 'csstype'\nimport { Data } from '@makeswift/controls'\n\nimport {\n ResponsiveValue as PropControllerResponsiveValue,\n DeviceOverride as PropControllerDeviceOverride,\n Device as DeviceId,\n} from '../../prop-controllers'\nimport shallowMerge from '../../utils/shallowMerge'\nimport { Action, ActionTypes } from '../actions'\nimport coalesce from '../../utils/coalesce'\n\nexport type DeviceOverride<T> = PropControllerDeviceOverride<T>\nexport type ResponsiveValue<T> = PropControllerResponsiveValue<T>\nexport type BreakpointId = DeviceId\n\nexport type Breakpoint = {\n id: BreakpointId\n label?: string\n viewportWidth?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type Breakpoints = Breakpoint[]\n\nexport type State = Breakpoints\n\nexport const DefaultBreakpointID = {\n Desktop: 'desktop',\n Tablet: 'tablet',\n Mobile: 'mobile',\n} as const\n\ntype DefaultBreakpointID = typeof DefaultBreakpointID[keyof typeof DefaultBreakpointID]\n\nexport const DEFAULT_BREAKPOINTS: Breakpoints = [\n {\n id: DefaultBreakpointID.Desktop,\n label: 'Desktop',\n minWidth: 769,\n },\n {\n id: DefaultBreakpointID.Tablet,\n label: 'Tablet',\n minWidth: 576,\n maxWidth: 768,\n viewportWidth: 760,\n },\n {\n id: DefaultBreakpointID.Mobile,\n label: 'Mobile',\n maxWidth: 575,\n viewportWidth: 390,\n },\n]\n\nexport function getInitialState(breakpoints = DEFAULT_BREAKPOINTS): State {\n return breakpoints\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.SET_BREAKPOINTS: {\n const breakpoints = action.payload.breakpoints\n\n if (breakpoints.length === 0) throw new Error('Breakpoints cannot be empty.')\n\n return breakpoints\n }\n\n default:\n return state\n }\n}\n\nexport type BreakpointsInput = Record<string, { width: number; label?: string; viewport?: number }>\n\nexport function parseBreakpointsInput(input: BreakpointsInput): Breakpoints {\n validateBreakpointsInput(input)\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n const transformed = sorted.reduce(\n (prev, curr, index, array) => {\n const { width, viewport, id, label } = curr\n const next = array[index + 1]\n\n const breakpoint: Breakpoint = {\n id,\n ...(label && { label }),\n ...(next && { minWidth: next.width + 1 }),\n maxWidth: width,\n viewportWidth: viewport ?? width,\n }\n\n return [...prev, breakpoint]\n },\n [\n { id: DefaultBreakpointID.Desktop, label: 'Desktop', minWidth: sorted[0].width + 1 },\n ] as Breakpoints,\n )\n\n return transformed\n}\n\nfunction validateBreakpointsInput(input: BreakpointsInput) {\n if (DefaultBreakpointID.Desktop in input) {\n throw new Error(\n `Cannot change the base breakpoint. \"${DefaultBreakpointID.Desktop}\" is reserved as the base breakpoint.`,\n )\n }\n\n if (Object.keys(input).length === 0) {\n throw new Error(`Breakpoints cannot be empty. You must provide at least one breakpoint.`)\n }\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n sorted.forEach(({ id, width, viewport }, index, array) => {\n // This is only valid for desktop-first. We need to check the inverse for mobile-first.\n if (viewport && viewport > width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be greater than its width.\n \"${id}\" has a viewport of ${viewport}px and a width of ${width}px.`,\n )\n }\n\n const next = array[index + 1]\n\n if (viewport && next && viewport < next.width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be smaller than the next breakpoint's width. \n \"${id}\" has a viewport of ${viewport}px and the next breakpoint \"${next.id}\" has a width of ${next.width}px.`,\n )\n }\n\n if (next && width === next.width) {\n throw new Error(\n `Breakpoints cannot have the same width. \"${id}\" and \"${next.id}\" have the same width`,\n )\n }\n })\n}\n\n// Sort breakpoints by minWidth in descending order\nfunction sortBreakpoints(breakpoints: Breakpoints): Breakpoints {\n return breakpoints.sort((a, b) => (b?.minWidth ?? 0) - (a?.minWidth ?? 0))\n}\n\nexport const getBreakpoint = (state: State, breakpointId: Breakpoint['id']): Breakpoint => {\n const breakpoint = state.find(({ id }) => id === breakpointId)\n\n if (breakpoint == null) throw new Error(`Unrecognized breakpoint ID: \"${breakpointId}\".`)\n\n return breakpoint\n}\n\nexport const getBaseBreakpoint = (breakpoints: Breakpoints): Breakpoint => {\n const breakpoint = sortBreakpoints(breakpoints)[0]\n\n if (breakpoint == null) throw new Error(`Cannot get base breakpoint.`)\n\n return breakpoint\n}\n\nexport function findBreakpointOverride<S>(\n breakpoints: Breakpoints,\n values: ResponsiveValue<S> = [],\n deviceId: string,\n strategy: FallbackStrategy<S> = defaultStrategy,\n): DeviceOverride<S> | undefined {\n const value = values.find(({ deviceId: d }) => d === deviceId)\n const fallbacks = breakpoints\n .slice(0, breakpoints.findIndex(d => d.id === deviceId) + 1)\n .reverse()\n .map(d => values.find(v => v.deviceId === d.id))\n .filter((override): override is DeviceOverride<S> => Boolean(override))\n\n return value != null || fallbacks.length > 0 ? strategy(value, fallbacks) : undefined\n}\n\nexport type FallbackStrategy<V> = (\n arg0: DeviceOverride<V> | undefined,\n arg1: ResponsiveValue<V>,\n) => DeviceOverride<V> | undefined\n\nfunction defaultStrategy<V>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return value || fallbacks[0]\n}\n\nexport function shallowMergeFallbacks<V extends Record<string, unknown>>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: shallowMerge(a.value, b.value),\n }))\n}\n\nfunction mergeOrCoalesce<A extends Data>(a: A, b: A): A {\n if (\n typeof a === 'object' &&\n a !== null &&\n !Array.isArray(a) &&\n typeof b === 'object' &&\n b !== null &&\n !Array.isArray(b)\n ) {\n return shallowMerge(a, b) as A\n }\n return coalesce(a, b)\n}\n\nexport function mergeOrCoalesceFallbacks<V extends Data>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: mergeOrCoalesce(a.value, b.value),\n }))\n}\n\nexport type ExtractResponsiveValue<T> = T extends ResponsiveValue<infer V> ? V : never\n\nexport function join<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>, R>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n joinFn: (values: { [I in keyof A]: ExtractResponsiveValue<A[I]> | undefined }) => R,\n strategy?: FallbackStrategy<V>,\n): ResponsiveValue<R> {\n return breakpoints\n .map(({ id }) => id)\n .map(deviceId => {\n const value = joinFn(\n responsiveValues.map(responsiveValue => {\n const deviceValue =\n responsiveValue &&\n findBreakpointOverride(breakpoints, responsiveValue, deviceId, strategy)\n\n return deviceValue == null ? undefined : deviceValue.value\n }) as unknown as { [I in keyof A]: ExtractResponsiveValue<A[I] | undefined> },\n )\n\n if (value == null) return null\n\n return { deviceId, value }\n })\n .filter((override): override is NonNullable<typeof override> => Boolean(override))\n}\n\nexport const getBreakpointMediaQuery = (breakpoint: Breakpoint): string => {\n const parts = ['@media only screen']\n\n if (breakpoint.minWidth != null) {\n parts.push(`(min-width: ${breakpoint.minWidth}px)`)\n }\n\n if (breakpoint.maxWidth != null) {\n parts.push(`(max-width: ${breakpoint.maxWidth}px)`)\n }\n\n return parts.join(' and ')\n}\n\nexport const getViewportStyle = (\n state: State,\n deviceId: string,\n): Viewport<string | number> | null | undefined => {\n const device = getBreakpoint(state, deviceId)\n\n return (\n device && {\n width: device.viewportWidth != null ? device.viewportWidth : '100%',\n minWidth: device.minWidth,\n }\n )\n}\n\nexport function findNextFallback<V>(\n breakpoints: Breakpoints,\n value: ResponsiveValue<V>,\n deviceId: BreakpointId,\n activeDeviceId: BreakpointId,\n fallbackStrategy?: FallbackStrategy<V>,\n): Breakpoint | null {\n const deviceOverride = findBreakpointOverride(\n breakpoints,\n value.filter(v => v.deviceId !== activeDeviceId),\n deviceId,\n fallbackStrategy,\n )\n\n return (deviceOverride && getBreakpoint(breakpoints, deviceOverride.deviceId)) ?? null\n}\n\nexport const mergeResponsiveValues = <A>(\n breakpoints: Breakpoints,\n source: DeviceOverride<A>[],\n override: DeviceOverride<A>[],\n): DeviceOverride<A>[] => {\n const devices = [\n ...new Set(\n source.map(({ deviceId }) => deviceId).concat(override.map(({ deviceId }) => deviceId)),\n ),\n ]\n\n return devices.map(deviceId => ({\n deviceId,\n value: {\n ...(findBreakpointOverride(breakpoints, source, deviceId) || { value: {} }).value,\n ...(findBreakpointOverride(breakpoints, override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n"],"mappings":"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","names":["shallowMerge","coalesce"]}
1
+ {"version":3,"sources":["../../../../src/state/modules/breakpoints.ts"],"sourcesContent":["import { Viewport } from 'csstype'\n\nimport {\n type Data,\n type ResponsiveValue,\n type DeviceOverride,\n type Device as DeviceId,\n} from '@makeswift/controls'\n\nimport { Action, ActionTypes } from '../actions'\n\nimport shallowMerge from '../../utils/shallowMerge'\nimport coalesce from '../../utils/coalesce'\n\nexport { type ResponsiveValue, type DeviceOverride } from '@makeswift/controls'\n\nexport type BreakpointId = DeviceId\n\nexport type Breakpoint = {\n id: BreakpointId\n label?: string\n viewportWidth?: number\n minWidth?: number\n maxWidth?: number\n}\n\nexport type Breakpoints = Breakpoint[]\n\nexport type State = Breakpoints\n\nexport const DefaultBreakpointID = {\n Desktop: 'desktop',\n Tablet: 'tablet',\n Mobile: 'mobile',\n} as const\n\ntype DefaultBreakpointID = (typeof DefaultBreakpointID)[keyof typeof DefaultBreakpointID]\n\nexport const DEFAULT_BREAKPOINTS: Breakpoints = [\n {\n id: DefaultBreakpointID.Desktop,\n label: 'Desktop',\n minWidth: 769,\n },\n {\n id: DefaultBreakpointID.Tablet,\n label: 'Tablet',\n minWidth: 576,\n maxWidth: 768,\n viewportWidth: 760,\n },\n {\n id: DefaultBreakpointID.Mobile,\n label: 'Mobile',\n maxWidth: 575,\n viewportWidth: 390,\n },\n]\n\nexport function getInitialState(breakpoints = DEFAULT_BREAKPOINTS): State {\n return breakpoints\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.SET_BREAKPOINTS: {\n const breakpoints = action.payload.breakpoints\n\n if (breakpoints.length === 0) throw new Error('Breakpoints cannot be empty.')\n\n return breakpoints\n }\n\n default:\n return state\n }\n}\n\nexport type BreakpointsInput = Record<string, { width: number; label?: string; viewport?: number }>\n\nexport function parseBreakpointsInput(input: BreakpointsInput): Breakpoints {\n validateBreakpointsInput(input)\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n const transformed = sorted.reduce(\n (prev, curr, index, array) => {\n const { width, viewport, id, label } = curr\n const next = array[index + 1]\n\n const breakpoint: Breakpoint = {\n id,\n ...(label && { label }),\n ...(next && { minWidth: next.width + 1 }),\n maxWidth: width,\n viewportWidth: viewport ?? width,\n }\n\n return [...prev, breakpoint]\n },\n [\n { id: DefaultBreakpointID.Desktop, label: 'Desktop', minWidth: sorted[0].width + 1 },\n ] as Breakpoints,\n )\n\n return transformed\n}\n\nfunction validateBreakpointsInput(input: BreakpointsInput) {\n if (DefaultBreakpointID.Desktop in input) {\n throw new Error(\n `Cannot change the base breakpoint. \"${DefaultBreakpointID.Desktop}\" is reserved as the base breakpoint.`,\n )\n }\n\n if (Object.keys(input).length === 0) {\n throw new Error(`Breakpoints cannot be empty. You must provide at least one breakpoint.`)\n }\n\n const sorted = Object.entries(input)\n .map(([id, value]) => ({ ...value, id }))\n .sort((a, b) => b.width - a.width) // Sort by width in descending order\n\n sorted.forEach(({ id, width, viewport }, index, array) => {\n // This is only valid for desktop-first. We need to check the inverse for mobile-first.\n if (viewport && viewport > width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be greater than its width.\n \"${id}\" has a viewport of ${viewport}px and a width of ${width}px.`,\n )\n }\n\n const next = array[index + 1]\n\n if (viewport && next && viewport < next.width) {\n throw new Error(\n `Error on breakpoint \"${id}\". Viewport cannot be smaller than the next breakpoint's width. \n \"${id}\" has a viewport of ${viewport}px and the next breakpoint \"${next.id}\" has a width of ${next.width}px.`,\n )\n }\n\n if (next && width === next.width) {\n throw new Error(\n `Breakpoints cannot have the same width. \"${id}\" and \"${next.id}\" have the same width`,\n )\n }\n })\n}\n\n// Sort breakpoints by minWidth in descending order\nfunction sortBreakpoints(breakpoints: Breakpoints): Breakpoints {\n return breakpoints.sort((a, b) => (b?.minWidth ?? 0) - (a?.minWidth ?? 0))\n}\n\nexport const getBreakpoint = (state: State, breakpointId: Breakpoint['id']): Breakpoint => {\n const breakpoint = state.find(({ id }) => id === breakpointId)\n\n if (breakpoint == null) throw new Error(`Unrecognized breakpoint ID: \"${breakpointId}\".`)\n\n return breakpoint\n}\n\nexport const getBaseBreakpoint = (breakpoints: Breakpoints): Breakpoint => {\n const breakpoint = sortBreakpoints(breakpoints)[0]\n\n if (breakpoint == null) throw new Error(`Cannot get base breakpoint.`)\n\n return breakpoint\n}\n\nexport function findBreakpointOverride<S>(\n breakpoints: Breakpoints,\n values: ResponsiveValue<S> = [],\n deviceId: string,\n strategy: FallbackStrategy<S> = defaultStrategy,\n): DeviceOverride<S> | undefined {\n const value = values.find(({ deviceId: d }) => d === deviceId)\n const fallbacks = breakpoints\n .slice(0, breakpoints.findIndex(d => d.id === deviceId) + 1)\n .reverse()\n .map(d => values.find(v => v.deviceId === d.id))\n .filter((override): override is DeviceOverride<S> => Boolean(override))\n\n return value != null || fallbacks.length > 0 ? strategy(value, fallbacks) : undefined\n}\n\nexport type FallbackStrategy<V> = (\n arg0: DeviceOverride<V> | undefined,\n arg1: ResponsiveValue<V>,\n) => DeviceOverride<V> | undefined\n\nfunction defaultStrategy<V>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return value || fallbacks[0]\n}\n\nexport function shallowMergeFallbacks<V extends Record<string, unknown>>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: shallowMerge(a.value, b.value),\n }))\n}\n\nfunction mergeOrCoalesce<A extends Data>(a: A, b: A): A {\n if (\n typeof a === 'object' &&\n a !== null &&\n !Array.isArray(a) &&\n typeof b === 'object' &&\n b !== null &&\n !Array.isArray(b)\n ) {\n return shallowMerge(a, b) as A\n }\n return coalesce(a, b)\n}\n\nexport function mergeOrCoalesceFallbacks<V extends Data>(\n value: DeviceOverride<V> | undefined,\n fallbacks: ResponsiveValue<V>,\n): DeviceOverride<V> | undefined {\n return [value, ...fallbacks]\n .filter((override): override is DeviceOverride<V> => Boolean(override))\n .reduce((a, b) => ({\n deviceId: a.deviceId || b.deviceId,\n value: mergeOrCoalesce(a.value, b.value),\n }))\n}\n\nexport type ExtractResponsiveValue<T> = T extends ResponsiveValue<infer V> ? V : never\n\nexport function join<V, A extends ReadonlyArray<ResponsiveValue<V> | null | undefined>, R>(\n breakpoints: Breakpoints,\n responsiveValues: A,\n joinFn: (values: { [I in keyof A]: ExtractResponsiveValue<A[I]> | undefined }) => R,\n strategy?: FallbackStrategy<V>,\n): ResponsiveValue<R> {\n return breakpoints\n .map(({ id }) => id)\n .map(deviceId => {\n const value = joinFn(\n responsiveValues.map(responsiveValue => {\n const deviceValue =\n responsiveValue &&\n findBreakpointOverride(breakpoints, responsiveValue, deviceId, strategy)\n\n return deviceValue == null ? undefined : deviceValue.value\n }) as unknown as { [I in keyof A]: ExtractResponsiveValue<A[I] | undefined> },\n )\n\n if (value == null) return null\n\n return { deviceId, value }\n })\n .filter((override): override is NonNullable<typeof override> => Boolean(override))\n}\n\nexport const getBreakpointMediaQuery = (breakpoint: Breakpoint): string => {\n const parts = ['@media only screen']\n\n if (breakpoint.minWidth != null) {\n parts.push(`(min-width: ${breakpoint.minWidth}px)`)\n }\n\n if (breakpoint.maxWidth != null) {\n parts.push(`(max-width: ${breakpoint.maxWidth}px)`)\n }\n\n return parts.join(' and ')\n}\n\nexport const getViewportStyle = (\n state: State,\n deviceId: string,\n): Viewport<string | number> | null | undefined => {\n const device = getBreakpoint(state, deviceId)\n\n return (\n device && {\n width: device.viewportWidth != null ? device.viewportWidth : '100%',\n minWidth: device.minWidth,\n }\n )\n}\n\nexport function findNextFallback<V>(\n breakpoints: Breakpoints,\n value: ResponsiveValue<V>,\n deviceId: BreakpointId,\n activeDeviceId: BreakpointId,\n fallbackStrategy?: FallbackStrategy<V>,\n): Breakpoint | null {\n const deviceOverride = findBreakpointOverride(\n breakpoints,\n value.filter(v => v.deviceId !== activeDeviceId),\n deviceId,\n fallbackStrategy,\n )\n\n return (deviceOverride && getBreakpoint(breakpoints, deviceOverride.deviceId)) ?? null\n}\n\nexport const mergeResponsiveValues = <A>(\n breakpoints: Breakpoints,\n source: DeviceOverride<A>[],\n override: DeviceOverride<A>[],\n): DeviceOverride<A>[] => {\n const devices = [\n ...new Set(\n source.map(({ deviceId }) => deviceId).concat(override.map(({ deviceId }) => deviceId)),\n ),\n ]\n\n return devices.map(deviceId => ({\n deviceId,\n value: {\n ...(findBreakpointOverride(breakpoints, source, deviceId) || { value: {} }).value,\n ...(findBreakpointOverride(breakpoints, override, deviceId, v => v) || { value: {} }).value,\n },\n })) as DeviceOverride<A>[]\n}\n"],"mappings":"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","names":["shallowMerge","coalesce"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/state/modules/prop-controller-handles.ts"],"sourcesContent":["import { Action, ActionTypes } from '../actions'\nimport type { DescriptorsPropControllers } from '../../prop-controllers/instances'\nimport { PropController } from '../../prop-controllers/base'\nimport type { Descriptor } from '../../prop-controllers/descriptors'\n\nexport interface PropControllersHandle<\n T extends Record<string, Descriptor> = Record<string, Descriptor>,\n> {\n setPropControllers(propControllers: DescriptorsPropControllers<T> | null): void\n}\n\nexport function isPropControllersHandle(value: unknown): value is PropControllersHandle {\n if (\n typeof value === 'object' &&\n value !== null &&\n 'setPropControllers' in value &&\n typeof (value as { setPropControllers: unknown }).setPropControllers === 'function'\n ) {\n return true\n }\n\n return false\n}\n\nexport type State = {\n handles: Map<string, Map<string, PropControllersHandle>>\n instances: Map<string, Map<string, Record<string, PropController>>>\n}\n\nexport function getInitialState(): State {\n return { handles: new Map(), instances: new Map() }\n}\n\nexport function getPropControllersHandle(\n state: State,\n documentKey: string,\n elementKey: string,\n): PropControllersHandle | null {\n return state.handles.get(documentKey)?.get(elementKey) ?? null\n}\n\nexport function getPropControllers(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, PropController> | null {\n return state.instances.get(documentKey)?.get(elementKey) ?? null\n}\n\nexport function getPropController(\n state: State,\n documentKey: string,\n elementKey: string,\n propName: string,\n): PropController | null {\n return getPropControllers(state, documentKey, elementKey)?.[propName] ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE: {\n const { documentKey, elementKey, handle } = action.payload\n\n return {\n ...state,\n handles: new Map(state.handles).set(\n documentKey,\n new Map(state.handles.get(documentKey) ?? []).set(elementKey, handle),\n ),\n }\n }\n\n case ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE: {\n const { documentKey, elementKey } = action.payload\n const nextHandles = new Map(state.handles.get(documentKey) ?? [])\n\n const deleted = nextHandles.delete(elementKey)\n\n return deleted\n ? { ...state, handles: new Map(state.handles).set(documentKey, nextHandles) }\n : state\n }\n\n case ActionTypes.REGISTER_PROP_CONTROLLERS: {\n const { documentKey, elementKey, propControllers } = action.payload\n\n return {\n ...state,\n instances: new Map(state.instances).set(\n documentKey,\n new Map(state.instances.get(documentKey) ?? []).set(elementKey, propControllers),\n ),\n }\n }\n\n case ActionTypes.UNREGISTER_PROP_CONTROLLERS: {\n const { documentKey, elementKey } = action.payload\n const nextInstances = new Map(state.instances.get(documentKey) ?? [])\n\n const deleted = nextInstances.delete(elementKey)\n\n return deleted\n ? { ...state, instances: new Map(state.instances).set(documentKey, nextInstances) }\n : state\n }\n\n default:\n return state\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoC;AAW7B,SAAS,wBAAwB,OAAgD;AACtF,MACE,OAAO,UAAU,YACjB,UAAU,QACV,wBAAwB,SACxB,OAAQ,MAA0C,uBAAuB,YACzE;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAOO,SAAS,kBAAyB;AACvC,SAAO,EAAE,SAAS,oBAAI,IAAI,GAAG,WAAW,oBAAI,IAAI,EAAE;AACpD;AAEO,SAAS,yBACd,OACA,aACA,YAC8B;AAC9B,SAAO,MAAM,QAAQ,IAAI,WAAW,GAAG,IAAI,UAAU,KAAK;AAC5D;AAEO,SAAS,mBACd,OACA,aACA,YACuC;AACvC,SAAO,MAAM,UAAU,IAAI,WAAW,GAAG,IAAI,UAAU,KAAK;AAC9D;AAEO,SAAS,kBACd,OACA,aACA,YACA,UACuB;AACvB,SAAO,mBAAmB,OAAO,aAAa,UAAU,IAAI,QAAQ,KAAK;AAC3E;AAEO,SAAS,QAAQ,QAAe,gBAAgB,GAAG,QAAuB;AAC/E,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,2BAAY,kCAAkC;AACjD,YAAM,EAAE,aAAa,YAAY,OAAO,IAAI,OAAO;AAEnD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,SAAS,IAAI,IAAI,MAAM,OAAO,EAAE;AAAA,UAC9B;AAAA,UACA,IAAI,IAAI,MAAM,QAAQ,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,IAAI,YAAY,MAAM;AAAA,QACtE;AAAA,MACF;AAAA,IACF;AAAA,IAEA,KAAK,2BAAY,oCAAoC;AACnD,YAAM,EAAE,aAAa,WAAW,IAAI,OAAO;AAC3C,YAAM,cAAc,IAAI,IAAI,MAAM,QAAQ,IAAI,WAAW,KAAK,CAAC,CAAC;AAEhE,YAAM,UAAU,YAAY,OAAO,UAAU;AAE7C,aAAO,UACH,EAAE,GAAG,OAAO,SAAS,IAAI,IAAI,MAAM,OAAO,EAAE,IAAI,aAAa,WAAW,EAAE,IAC1E;AAAA,IACN;AAAA,IAEA,KAAK,2BAAY,2BAA2B;AAC1C,YAAM,EAAE,aAAa,YAAY,gBAAgB,IAAI,OAAO;AAE5D,aAAO;AAAA,QACL,GAAG;AAAA,QACH,WAAW,IAAI,IAAI,MAAM,SAAS,EAAE;AAAA,UAClC;AAAA,UACA,IAAI,IAAI,MAAM,UAAU,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,IAAI,YAAY,eAAe;AAAA,QACjF;AAAA,MACF;AAAA,IACF;AAAA,IAEA,KAAK,2BAAY,6BAA6B;AAC5C,YAAM,EAAE,aAAa,WAAW,IAAI,OAAO;AAC3C,YAAM,gBAAgB,IAAI,IAAI,MAAM,UAAU,IAAI,WAAW,KAAK,CAAC,CAAC;AAEpE,YAAM,UAAU,cAAc,OAAO,UAAU;AAE/C,aAAO,UACH,EAAE,GAAG,OAAO,WAAW,IAAI,IAAI,MAAM,SAAS,EAAE,IAAI,aAAa,aAAa,EAAE,IAChF;AAAA,IACN;AAAA,IAEA;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/state/modules/prop-controller-handles.ts"],"sourcesContent":["import { ControlInstance } from '@makeswift/controls'\nimport { Action, ActionTypes } from '../actions'\nimport type { DescriptorsPropControllers } from '../../prop-controllers/instances'\nimport type { Descriptor } from '../../prop-controllers/descriptors'\n\nexport interface PropControllersHandle<\n T extends Record<string, Descriptor> = Record<string, Descriptor>,\n> {\n setPropControllers(propControllers: DescriptorsPropControllers<T> | null): void\n}\n\nexport function isPropControllersHandle(value: unknown): value is PropControllersHandle {\n if (\n typeof value === 'object' &&\n value !== null &&\n 'setPropControllers' in value &&\n typeof (value as { setPropControllers: unknown }).setPropControllers === 'function'\n ) {\n return true\n }\n\n return false\n}\n\nexport type State = {\n handles: Map<string, Map<string, PropControllersHandle>>\n instances: Map<string, Map<string, Record<string, ControlInstance>>>\n}\n\nexport function getInitialState(): State {\n return { handles: new Map(), instances: new Map() }\n}\n\nexport function getPropControllersHandle(\n state: State,\n documentKey: string,\n elementKey: string,\n): PropControllersHandle | null {\n return state.handles.get(documentKey)?.get(elementKey) ?? null\n}\n\nexport function getPropControllers(\n state: State,\n documentKey: string,\n elementKey: string,\n): Record<string, ControlInstance> | null {\n return state.instances.get(documentKey)?.get(elementKey) ?? null\n}\n\nexport function getPropController(\n state: State,\n documentKey: string,\n elementKey: string,\n propName: string,\n): ControlInstance | null {\n return getPropControllers(state, documentKey, elementKey)?.[propName] ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_PROP_CONTROLLERS_HANDLE: {\n const { documentKey, elementKey, handle } = action.payload\n\n return {\n ...state,\n handles: new Map(state.handles).set(\n documentKey,\n new Map(state.handles.get(documentKey) ?? []).set(elementKey, handle),\n ),\n }\n }\n\n case ActionTypes.UNREGISTER_PROP_CONTROLLERS_HANDLE: {\n const { documentKey, elementKey } = action.payload\n const nextHandles = new Map(state.handles.get(documentKey) ?? [])\n\n const deleted = nextHandles.delete(elementKey)\n\n return deleted\n ? { ...state, handles: new Map(state.handles).set(documentKey, nextHandles) }\n : state\n }\n\n case ActionTypes.REGISTER_PROP_CONTROLLERS: {\n const { documentKey, elementKey, propControllers } = action.payload\n\n return {\n ...state,\n instances: new Map(state.instances).set(\n documentKey,\n new Map(state.instances.get(documentKey) ?? []).set(elementKey, propControllers),\n ),\n }\n }\n\n case ActionTypes.UNREGISTER_PROP_CONTROLLERS: {\n const { documentKey, elementKey } = action.payload\n const nextInstances = new Map(state.instances.get(documentKey) ?? [])\n\n const deleted = nextInstances.delete(elementKey)\n\n return deleted\n ? { ...state, instances: new Map(state.instances).set(documentKey, nextInstances) }\n : state\n }\n\n default:\n return state\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAAoC;AAU7B,SAAS,wBAAwB,OAAgD;AACtF,MACE,OAAO,UAAU,YACjB,UAAU,QACV,wBAAwB,SACxB,OAAQ,MAA0C,uBAAuB,YACzE;AACA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;AAOO,SAAS,kBAAyB;AACvC,SAAO,EAAE,SAAS,oBAAI,IAAI,GAAG,WAAW,oBAAI,IAAI,EAAE;AACpD;AAEO,SAAS,yBACd,OACA,aACA,YAC8B;AAC9B,SAAO,MAAM,QAAQ,IAAI,WAAW,GAAG,IAAI,UAAU,KAAK;AAC5D;AAEO,SAAS,mBACd,OACA,aACA,YACwC;AACxC,SAAO,MAAM,UAAU,IAAI,WAAW,GAAG,IAAI,UAAU,KAAK;AAC9D;AAEO,SAAS,kBACd,OACA,aACA,YACA,UACwB;AACxB,SAAO,mBAAmB,OAAO,aAAa,UAAU,IAAI,QAAQ,KAAK;AAC3E;AAEO,SAAS,QAAQ,QAAe,gBAAgB,GAAG,QAAuB;AAC/E,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,2BAAY,kCAAkC;AACjD,YAAM,EAAE,aAAa,YAAY,OAAO,IAAI,OAAO;AAEnD,aAAO;AAAA,QACL,GAAG;AAAA,QACH,SAAS,IAAI,IAAI,MAAM,OAAO,EAAE;AAAA,UAC9B;AAAA,UACA,IAAI,IAAI,MAAM,QAAQ,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,IAAI,YAAY,MAAM;AAAA,QACtE;AAAA,MACF;AAAA,IACF;AAAA,IAEA,KAAK,2BAAY,oCAAoC;AACnD,YAAM,EAAE,aAAa,WAAW,IAAI,OAAO;AAC3C,YAAM,cAAc,IAAI,IAAI,MAAM,QAAQ,IAAI,WAAW,KAAK,CAAC,CAAC;AAEhE,YAAM,UAAU,YAAY,OAAO,UAAU;AAE7C,aAAO,UACH,EAAE,GAAG,OAAO,SAAS,IAAI,IAAI,MAAM,OAAO,EAAE,IAAI,aAAa,WAAW,EAAE,IAC1E;AAAA,IACN;AAAA,IAEA,KAAK,2BAAY,2BAA2B;AAC1C,YAAM,EAAE,aAAa,YAAY,gBAAgB,IAAI,OAAO;AAE5D,aAAO;AAAA,QACL,GAAG;AAAA,QACH,WAAW,IAAI,IAAI,MAAM,SAAS,EAAE;AAAA,UAClC;AAAA,UACA,IAAI,IAAI,MAAM,UAAU,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,IAAI,YAAY,eAAe;AAAA,QACjF;AAAA,MACF;AAAA,IACF;AAAA,IAEA,KAAK,2BAAY,6BAA6B;AAC5C,YAAM,EAAE,aAAa,WAAW,IAAI,OAAO;AAC3C,YAAM,gBAAgB,IAAI,IAAI,MAAM,UAAU,IAAI,WAAW,KAAK,CAAC,CAAC;AAEpE,YAAM,UAAU,cAAc,OAAO,UAAU;AAE/C,aAAO,UACH,EAAE,GAAG,OAAO,WAAW,IAAI,IAAI,MAAM,SAAS,EAAE,IAAI,aAAa,aAAa,EAAE,IAChF;AAAA,IACN;AAAA,IAEA;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
@@ -23,14 +23,12 @@ __export(read_only_documents_exports, {
23
23
  getDocument: () => getDocument,
24
24
  getDocuments: () => getDocuments,
25
25
  getInitialState: () => getInitialState,
26
- isElementReference: () => isElementReference,
26
+ isElementReference: () => import_controls2.isElementReference,
27
27
  reducer: () => reducer
28
28
  });
29
29
  module.exports = __toCommonJS(read_only_documents_exports);
30
30
  var import_actions = require("../actions");
31
- function isElementReference(element) {
32
- return !("props" in element);
33
- }
31
+ var import_controls2 = require("@makeswift/controls");
34
32
  function createDocumentReference(key) {
35
33
  return { key };
36
34
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/state/modules/read-only-documents.ts"],"sourcesContent":["import { Action, ActionTypes } from '../actions'\n\nexport type Data = undefined | null | boolean | number | string | Data[] | { [key: string]: Data }\n\nexport type ElementData = { type: string; key: string; props: Record<string, Data> }\n\nexport type ElementReference = { type: 'reference'; key: string; value: string }\n\nexport type Element = ElementData | ElementReference\n\nexport function isElementReference(element: Element): element is ElementReference {\n return !('props' in element)\n}\n\nexport type DocumentReference = {\n key: string\n}\n\nexport function createDocumentReference(key: string): DocumentReference {\n return { key }\n}\n\nexport type Document = {\n key: string\n rootElement: Element\n}\n\nexport function createDocument(key: string, rootElement: Element): Document {\n return { key, rootElement }\n}\n\nexport type State = Map<string, Document>\n\nexport function getInitialState({\n rootElements = new Map(),\n}: { rootElements?: Map<string, Element> } = {}): State {\n const initialState = new Map()\n\n rootElements.forEach((rootElement, documentKey) => {\n initialState.set(documentKey, createDocument(documentKey, rootElement))\n })\n\n return initialState\n}\n\nexport function getDocuments(state: State): Map<string, Document> {\n return state\n}\n\nexport function getDocument(state: State, documentKey: string): Document | null {\n return getDocuments(state).get(documentKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_DOCUMENT:\n return new Map(state).set(action.payload.documentKey, action.payload.document)\n\n case ActionTypes.UNREGISTER_DOCUMENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.documentKey)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAoC;AAU7B,SAAS,mBAAmB,SAA+C;AAChF,SAAO,EAAE,WAAW;AACtB;AAMO,SAAS,wBAAwB,KAAgC;AACtE,SAAO,EAAE,IAAI;AACf;AAOO,SAAS,eAAe,KAAa,aAAgC;AAC1E,SAAO,EAAE,KAAK,YAAY;AAC5B;AAIO,SAAS,gBAAgB;AAAA,EAC9B,eAAe,oBAAI,IAAI;AACzB,IAA6C,CAAC,GAAU;AACtD,QAAM,eAAe,oBAAI,IAAI;AAE7B,eAAa,QAAQ,CAAC,aAAa,gBAAgB;AACjD,iBAAa,IAAI,aAAa,eAAe,aAAa,WAAW,CAAC;AAAA,EACxE,CAAC;AAED,SAAO;AACT;AAEO,SAAS,aAAa,OAAqC;AAChE,SAAO;AACT;AAEO,SAAS,YAAY,OAAc,aAAsC;AAC9E,SAAO,aAAa,KAAK,EAAE,IAAI,WAAW,KAAK;AACjD;AAEO,SAAS,QAAQ,QAAe,gBAAgB,GAAG,QAAuB;AAC/E,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,2BAAY;AACf,aAAO,IAAI,IAAI,KAAK,EAAE,IAAI,OAAO,QAAQ,aAAa,OAAO,QAAQ,QAAQ;AAAA,IAE/E,KAAK,2BAAY,qBAAqB;AACpC,YAAM,YAAY,IAAI,IAAI,KAAK;AAE/B,YAAM,UAAU,UAAU,OAAO,OAAO,QAAQ,WAAW;AAE3D,aAAO,UAAU,YAAY;AAAA,IAC/B;AAAA,IAEA;AACE,aAAO;AAAA,EACX;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/state/modules/read-only-documents.ts"],"sourcesContent":["import { type Element } from '@makeswift/controls'\nimport { Action, ActionTypes } from '../actions'\n\nexport {\n type Data,\n type ElementData,\n type ElementReference,\n type Element,\n isElementReference,\n} from '@makeswift/controls'\n\nexport type DocumentReference = {\n key: string\n}\n\nexport function createDocumentReference(key: string): DocumentReference {\n return { key }\n}\n\nexport type Document = {\n key: string\n rootElement: Element\n}\n\nexport function createDocument(key: string, rootElement: Element): Document {\n return { key, rootElement }\n}\n\nexport type State = Map<string, Document>\n\nexport function getInitialState({\n rootElements = new Map(),\n}: { rootElements?: Map<string, Element> } = {}): State {\n const initialState = new Map()\n\n rootElements.forEach((rootElement, documentKey) => {\n initialState.set(documentKey, createDocument(documentKey, rootElement))\n })\n\n return initialState\n}\n\nexport function getDocuments(state: State): Map<string, Document> {\n return state\n}\n\nexport function getDocument(state: State, documentKey: string): Document | null {\n return getDocuments(state).get(documentKey) ?? null\n}\n\nexport function reducer(state: State = getInitialState(), action: Action): State {\n switch (action.type) {\n case ActionTypes.REGISTER_DOCUMENT:\n return new Map(state).set(action.payload.documentKey, action.payload.document)\n\n case ActionTypes.UNREGISTER_DOCUMENT: {\n const nextState = new Map(state)\n\n const deleted = nextState.delete(action.payload.documentKey)\n\n return deleted ? nextState : state\n }\n\n default:\n return state\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAAoC;AAEpC,IAAAA,mBAMO;AAMA,SAAS,wBAAwB,KAAgC;AACtE,SAAO,EAAE,IAAI;AACf;AAOO,SAAS,eAAe,KAAa,aAAgC;AAC1E,SAAO,EAAE,KAAK,YAAY;AAC5B;AAIO,SAAS,gBAAgB;AAAA,EAC9B,eAAe,oBAAI,IAAI;AACzB,IAA6C,CAAC,GAAU;AACtD,QAAM,eAAe,oBAAI,IAAI;AAE7B,eAAa,QAAQ,CAAC,aAAa,gBAAgB;AACjD,iBAAa,IAAI,aAAa,eAAe,aAAa,WAAW,CAAC;AAAA,EACxE,CAAC;AAED,SAAO;AACT;AAEO,SAAS,aAAa,OAAqC;AAChE,SAAO;AACT;AAEO,SAAS,YAAY,OAAc,aAAsC;AAC9E,SAAO,aAAa,KAAK,EAAE,IAAI,WAAW,KAAK;AACjD;AAEO,SAAS,QAAQ,QAAe,gBAAgB,GAAG,QAAuB;AAC/E,UAAQ,OAAO,MAAM;AAAA,IACnB,KAAK,2BAAY;AACf,aAAO,IAAI,IAAI,KAAK,EAAE,IAAI,OAAO,QAAQ,aAAa,OAAO,QAAQ,QAAQ;AAAA,IAE/E,KAAK,2BAAY,qBAAqB;AACpC,YAAM,YAAY,IAAI,IAAI,KAAK;AAE/B,YAAM,UAAU,UAAU,OAAO,OAAO,QAAQ,WAAW;AAE3D,aAAO,UAAU,YAAY;AAAA,IAC/B;AAAA,IAEA;AACE,aAAO;AAAA,EACX;AACF;","names":["import_controls"]}
@@ -463,13 +463,16 @@ function createAndRegisterPropControllers(documentKey, elementKey) {
463
463
  );
464
464
  if (descriptors == null)
465
465
  return null;
466
- const propControllers = Object.entries(descriptors).reduce((acc, [propName, descriptor]) => {
467
- const propController = (0, import_instances.createPropController)(
468
- descriptor,
469
- (message) => dispatch((0, import_actions.messageBuilderPropController)(documentKey, elementKey, propName, message))
470
- );
471
- return { ...acc, [propName]: propController };
472
- }, {});
466
+ const propControllers = Object.entries(descriptors).reduce(
467
+ (acc, [propName, descriptor]) => {
468
+ const propController = (0, import_instances.createPropController)(
469
+ descriptor,
470
+ (message) => dispatch((0, import_actions.messageBuilderPropController)(documentKey, elementKey, propName, message))
471
+ );
472
+ return { ...acc, [propName]: propController };
473
+ },
474
+ {}
475
+ );
473
476
  dispatch((0, import_actions.registerPropControllers)(documentKey, elementKey, propControllers));
474
477
  return propControllers;
475
478
  };