@makeswift/runtime 0.19.4 → 0.20.0-canary.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 (889) 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/components/ElementData.js +24 -3
  80. package/dist/cjs/runtimes/react/components/ElementData.js.map +1 -1
  81. package/dist/cjs/runtimes/react/controls/checkbox.js +1 -4
  82. package/dist/cjs/runtimes/react/controls/checkbox.js.map +1 -1
  83. package/dist/cjs/runtimes/react/controls/color.js.map +1 -1
  84. package/dist/cjs/runtimes/react/controls/combobox.js.map +1 -1
  85. package/dist/cjs/runtimes/react/controls/control.js +48 -39
  86. package/dist/cjs/runtimes/react/controls/control.js.map +1 -1
  87. package/dist/cjs/runtimes/react/controls/icon-radio-group.js.map +1 -1
  88. package/dist/cjs/runtimes/react/controls/image.js +6 -10
  89. package/dist/cjs/runtimes/react/controls/image.js.map +1 -1
  90. package/dist/cjs/runtimes/react/controls/link.js.map +1 -1
  91. package/dist/cjs/runtimes/react/controls/list.js +3 -1
  92. package/dist/cjs/runtimes/react/controls/list.js.map +1 -1
  93. package/dist/cjs/runtimes/react/controls/number.js +1 -4
  94. package/dist/cjs/runtimes/react/controls/number.js.map +1 -1
  95. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js +4 -2
  96. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  97. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js +1 -1
  98. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js.map +1 -1
  99. package/dist/cjs/runtimes/react/controls/rich-text/ReadOnlyText.js +2 -7
  100. package/dist/cjs/runtimes/react/controls/rich-text/ReadOnlyText.js.map +1 -1
  101. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/block.js +14 -14
  102. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/block.js.map +1 -1
  103. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/element.js +7 -23
  104. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/element.js.map +1 -1
  105. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js +1 -1
  106. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js.map +1 -1
  107. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  108. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js +3 -16
  109. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js.map +1 -1
  110. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +1 -1
  111. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +1 -1
  112. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +8 -8
  113. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  114. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js +2 -2
  115. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js.map +1 -1
  116. package/dist/cjs/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js +7 -13
  117. package/dist/cjs/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +1 -1
  118. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -2
  119. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  120. package/dist/cjs/runtimes/react/controls/select.js +1 -1
  121. package/dist/cjs/runtimes/react/controls/select.js.map +1 -1
  122. package/dist/cjs/runtimes/react/controls/shape.js +2 -7
  123. package/dist/cjs/runtimes/react/controls/shape.js.map +1 -1
  124. package/dist/cjs/runtimes/react/controls/slot.js +13 -5
  125. package/dist/cjs/runtimes/react/controls/slot.js.map +1 -1
  126. package/dist/cjs/runtimes/react/controls/style-v2.js +6 -11
  127. package/dist/cjs/runtimes/react/controls/style-v2.js.map +1 -1
  128. package/dist/cjs/runtimes/react/controls/style.js +8 -8
  129. package/dist/cjs/runtimes/react/controls/style.js.map +1 -1
  130. package/dist/cjs/runtimes/react/controls/text-area.js +1 -4
  131. package/dist/cjs/runtimes/react/controls/text-area.js.map +1 -1
  132. package/dist/cjs/runtimes/react/controls/text-input.js +1 -4
  133. package/dist/cjs/runtimes/react/controls/text-input.js.map +1 -1
  134. package/dist/cjs/runtimes/react/controls/typography.js.map +1 -1
  135. package/dist/cjs/runtimes/react/controls.js +79 -73
  136. package/dist/cjs/runtimes/react/controls.js.map +1 -1
  137. package/dist/cjs/runtimes/react/hooks/use-store.js +2 -2
  138. package/dist/cjs/runtimes/react/hooks/use-store.js.map +1 -1
  139. package/dist/cjs/runtimes/react/poll-box-model.js +1 -1
  140. package/dist/cjs/runtimes/react/poll-box-model.js.map +1 -1
  141. package/dist/cjs/runtimes/react/react-runtime.js +3 -32
  142. package/dist/cjs/runtimes/react/react-runtime.js.map +1 -1
  143. package/dist/cjs/runtimes/react/runtime-core.js +67 -0
  144. package/dist/cjs/runtimes/react/runtime-core.js.map +1 -0
  145. package/dist/cjs/slate/BlockPlugin/clearBlockKeyForDevice.js +2 -2
  146. package/dist/cjs/slate/BlockPlugin/clearBlockKeyForDevice.js.map +1 -1
  147. package/dist/cjs/slate/BlockPlugin/indent.js +3 -2
  148. package/dist/cjs/slate/BlockPlugin/indent.js.map +1 -1
  149. package/dist/cjs/slate/BlockPlugin/index.js +17 -15
  150. package/dist/cjs/slate/BlockPlugin/index.js.map +1 -1
  151. package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js +2 -2
  152. package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
  153. package/dist/cjs/slate/BlockPlugin/toggleList.js +2 -2
  154. package/dist/cjs/slate/BlockPlugin/toggleList.js.map +1 -1
  155. package/dist/cjs/slate/BlockPlugin/types.js.map +1 -1
  156. package/dist/cjs/slate/BlockPlugin/unwrapInline.js +2 -2
  157. package/dist/cjs/slate/BlockPlugin/unwrapInline.js.map +1 -1
  158. package/dist/cjs/slate/BlockPlugin/unwrapList.js +3 -4
  159. package/dist/cjs/slate/BlockPlugin/unwrapList.js.map +1 -1
  160. package/dist/cjs/slate/BlockPlugin/utils/getSelectedListItems.js +2 -2
  161. package/dist/cjs/slate/BlockPlugin/utils/getSelectedListItems.js.map +1 -1
  162. package/dist/cjs/slate/BlockPlugin/wrapInline.js.map +1 -1
  163. package/dist/cjs/slate/BlockPlugin/wrapList.js +4 -3
  164. package/dist/cjs/slate/BlockPlugin/wrapList.js.map +1 -1
  165. package/dist/cjs/slate/BuilderPlugin/index.js +3 -3
  166. package/dist/cjs/slate/BuilderPlugin/index.js.map +1 -1
  167. package/dist/cjs/slate/InlineModePlugin/index.js +4 -5
  168. package/dist/cjs/slate/InlineModePlugin/index.js.map +1 -1
  169. package/dist/cjs/slate/InlinePlugin/getValue.js +4 -4
  170. package/dist/cjs/slate/InlinePlugin/getValue.js.map +1 -1
  171. package/dist/cjs/slate/InlinePlugin/index.js +10 -14
  172. package/dist/cjs/slate/InlinePlugin/index.js.map +1 -1
  173. package/dist/cjs/slate/InlinePlugin/onChange.js +3 -3
  174. package/dist/cjs/slate/InlinePlugin/onChange.js.map +1 -1
  175. package/dist/cjs/slate/InlinePlugin/types.js +9 -6
  176. package/dist/cjs/slate/InlinePlugin/types.js.map +1 -1
  177. package/dist/cjs/slate/LinkPlugin/getValue.js +4 -5
  178. package/dist/cjs/slate/LinkPlugin/getValue.js.map +1 -1
  179. package/dist/cjs/slate/LinkPlugin/index.js +8 -10
  180. package/dist/cjs/slate/LinkPlugin/index.js.map +1 -1
  181. package/dist/cjs/slate/LinkPlugin/onChange.js +6 -6
  182. package/dist/cjs/slate/LinkPlugin/onChange.js.map +1 -1
  183. package/dist/cjs/slate/LinkPlugin/types.js +3 -8
  184. package/dist/cjs/slate/LinkPlugin/types.js.map +1 -1
  185. package/dist/cjs/slate/TextAlignPlugin/getValue.js +2 -2
  186. package/dist/cjs/slate/TextAlignPlugin/getValue.js.map +1 -1
  187. package/dist/cjs/slate/TextAlignPlugin/index.js +12 -12
  188. package/dist/cjs/slate/TextAlignPlugin/index.js.map +1 -1
  189. package/dist/cjs/slate/TypographyPlugin/clearActiveTypographyStyle.js.map +1 -1
  190. package/dist/cjs/slate/TypographyPlugin/clearDeviceActiveTypography.js.map +1 -1
  191. package/dist/cjs/slate/TypographyPlugin/detachActiveTypography.js.map +1 -1
  192. package/dist/cjs/slate/TypographyPlugin/getValue.js.map +1 -1
  193. package/dist/cjs/slate/TypographyPlugin/index.js +4 -4
  194. package/dist/cjs/slate/TypographyPlugin/index.js.map +1 -1
  195. package/dist/cjs/slate/TypographyPlugin/normalizeTypographyDown.js.map +1 -1
  196. package/dist/cjs/slate/TypographyPlugin/normalizeTypographyUp.js +6 -3
  197. package/dist/cjs/slate/TypographyPlugin/normalizeTypographyUp.js.map +1 -1
  198. package/dist/cjs/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
  199. package/dist/cjs/slate/index.js +8 -8
  200. package/dist/cjs/slate/index.js.map +1 -1
  201. package/dist/cjs/slate/selectors.js +15 -12
  202. package/dist/cjs/slate/selectors.js.map +1 -1
  203. package/dist/cjs/slate/types.js +5 -36
  204. package/dist/cjs/slate/types.js.map +1 -1
  205. package/dist/cjs/slate/utils/editor.js +3 -3
  206. package/dist/cjs/slate/utils/editor.js.map +1 -1
  207. package/dist/cjs/slate/utils/element.js +5 -27
  208. package/dist/cjs/slate/utils/element.js.map +1 -1
  209. package/dist/cjs/slate/utils/responsive.js.map +1 -1
  210. package/dist/cjs/slate/utils/toText.js +16 -52
  211. package/dist/cjs/slate/utils/toText.js.map +1 -1
  212. package/dist/cjs/state/actions.js.map +1 -1
  213. package/dist/cjs/state/modules/box-models.js.map +1 -1
  214. package/dist/cjs/state/modules/breakpoints.js +1 -1
  215. package/dist/cjs/state/modules/breakpoints.js.map +1 -1
  216. package/dist/cjs/state/modules/prop-controller-handles.js.map +1 -1
  217. package/dist/cjs/state/modules/read-only-documents.js +2 -4
  218. package/dist/cjs/state/modules/read-only-documents.js.map +1 -1
  219. package/dist/cjs/state/react-builder-preview.js +10 -7
  220. package/dist/cjs/state/react-builder-preview.js.map +1 -1
  221. package/dist/cjs/state/react-page.js +10 -41
  222. package/dist/cjs/state/react-page.js.map +1 -1
  223. package/dist/esm/api/graphql/generated/types.js.map +1 -1
  224. package/dist/esm/api/react.js.map +1 -1
  225. package/dist/esm/builder/rich-text/index.js +5 -0
  226. package/dist/esm/builder/rich-text/index.js.map +1 -0
  227. package/dist/esm/builder/serialization/control-serialization.js +66 -37
  228. package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
  229. package/dist/esm/components/builtin/Button/Button.js.map +1 -1
  230. package/dist/esm/components/builtin/Carousel/Carousel.js +1 -1
  231. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  232. package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
  233. package/dist/esm/components/builtin/Divider/Divider.js.map +1 -1
  234. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  235. package/dist/esm/components/builtin/Form/context/FormContext.js.map +1 -1
  236. package/dist/esm/components/builtin/Image/Image.js +1 -1
  237. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  238. package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
  239. package/dist/esm/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  240. package/dist/esm/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  241. package/dist/esm/components/builtin/Text/register.js.map +1 -1
  242. package/dist/esm/components/builtin/register.js.map +1 -1
  243. package/dist/esm/components/hooks/useMediaQuery.js +1 -1
  244. package/dist/esm/components/hooks/useMediaQuery.js.map +1 -1
  245. package/dist/esm/components/hooks/useResponsiveColor.js +3 -1
  246. package/dist/esm/components/hooks/useResponsiveColor.js.map +1 -1
  247. package/dist/esm/components/shared/Link/index.js +1 -1
  248. package/dist/esm/components/shared/Link/index.js.map +1 -1
  249. package/dist/esm/components/utils/responsive-style.js +1 -1
  250. package/dist/esm/components/utils/responsive-style.js.map +1 -1
  251. package/dist/esm/controls/control.js +14 -109
  252. package/dist/esm/controls/control.js.map +1 -1
  253. package/dist/esm/controls/index.js +82 -10
  254. package/dist/esm/controls/index.js.map +1 -1
  255. package/dist/esm/controls/link.js +18 -0
  256. package/dist/esm/controls/link.js.map +1 -0
  257. package/dist/esm/controls/rich-text/control.js +76 -0
  258. package/dist/esm/controls/rich-text/control.js.map +1 -0
  259. package/dist/esm/controls/rich-text/index.js +0 -3
  260. package/dist/esm/controls/rich-text/index.js.map +1 -1
  261. package/dist/esm/controls/rich-text/rich-text.js +14 -66
  262. package/dist/esm/controls/rich-text/rich-text.js.map +1 -1
  263. package/dist/esm/controls/rich-text-v2/control.js +117 -0
  264. package/dist/esm/controls/rich-text-v2/control.js.map +1 -0
  265. package/dist/esm/controls/rich-text-v2/index.js +0 -2
  266. package/dist/esm/controls/rich-text-v2/index.js.map +1 -1
  267. package/dist/esm/controls/rich-text-v2/plugin.js +2 -2
  268. package/dist/esm/controls/rich-text-v2/plugin.js.map +1 -1
  269. package/dist/esm/controls/rich-text-v2/rich-text-v2.js +111 -116
  270. package/dist/esm/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  271. package/dist/esm/controls/rich-text-v2/translation.js +33 -46
  272. package/dist/esm/controls/rich-text-v2/translation.js.map +1 -1
  273. package/dist/esm/controls/slot.js +13 -54
  274. package/dist/esm/controls/slot.js.map +1 -1
  275. package/dist/esm/controls/style-v2/index.js +2 -0
  276. package/dist/esm/controls/style-v2/index.js.map +1 -0
  277. package/dist/esm/controls/style-v2/style-v2.js +28 -0
  278. package/dist/esm/controls/style-v2/style-v2.js.map +1 -0
  279. package/dist/esm/core/index.js +11 -0
  280. package/dist/esm/core/index.js.map +1 -0
  281. package/dist/esm/jest-setup.js +3 -0
  282. package/dist/esm/jest-setup.js.map +1 -1
  283. package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
  284. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +19 -6
  285. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  286. package/dist/esm/prop-controllers/copy.js +7 -5
  287. package/dist/esm/prop-controllers/copy.js.map +1 -1
  288. package/dist/esm/prop-controllers/deleted.js.map +1 -1
  289. package/dist/esm/prop-controllers/descriptors.js +7 -5
  290. package/dist/esm/prop-controllers/descriptors.js.map +1 -1
  291. package/dist/esm/prop-controllers/index.js +1 -2
  292. package/dist/esm/prop-controllers/index.js.map +1 -1
  293. package/dist/esm/prop-controllers/instances.js +15 -107
  294. package/dist/esm/prop-controllers/instances.js.map +1 -1
  295. package/dist/esm/prop-controllers/introspection.js +28 -131
  296. package/dist/esm/prop-controllers/introspection.js.map +1 -1
  297. package/dist/esm/runtimes/react/components/Element.js.map +1 -1
  298. package/dist/esm/runtimes/react/components/ElementData.js +24 -3
  299. package/dist/esm/runtimes/react/components/ElementData.js.map +1 -1
  300. package/dist/esm/runtimes/react/controls/checkbox.js +1 -7
  301. package/dist/esm/runtimes/react/controls/checkbox.js.map +1 -1
  302. package/dist/esm/runtimes/react/controls/color.js.map +1 -1
  303. package/dist/esm/runtimes/react/controls/combobox.js.map +1 -1
  304. package/dist/esm/runtimes/react/controls/control.js +66 -58
  305. package/dist/esm/runtimes/react/controls/control.js.map +1 -1
  306. package/dist/esm/runtimes/react/controls/icon-radio-group.js.map +1 -1
  307. package/dist/esm/runtimes/react/controls/image.js +6 -12
  308. package/dist/esm/runtimes/react/controls/image.js.map +1 -1
  309. package/dist/esm/runtimes/react/controls/link.js.map +1 -1
  310. package/dist/esm/runtimes/react/controls/list.js +3 -1
  311. package/dist/esm/runtimes/react/controls/list.js.map +1 -1
  312. package/dist/esm/runtimes/react/controls/number.js +1 -7
  313. package/dist/esm/runtimes/react/controls/number.js.map +1 -1
  314. package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js +7 -11
  315. package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  316. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js +1 -1
  317. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js.map +1 -1
  318. package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js +2 -7
  319. package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js.map +1 -1
  320. package/dist/esm/runtimes/react/controls/rich-text/components/Element/block.js +1 -1
  321. package/dist/esm/runtimes/react/controls/rich-text/components/Element/block.js.map +1 -1
  322. package/dist/esm/runtimes/react/controls/rich-text/components/Element/element.js +7 -23
  323. package/dist/esm/runtimes/react/controls/rich-text/components/Element/element.js.map +1 -1
  324. package/dist/esm/runtimes/react/controls/rich-text/components/Element/inline.js +1 -1
  325. package/dist/esm/runtimes/react/controls/rich-text/components/Element/inline.js.map +1 -1
  326. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  327. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js +5 -27
  328. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js.map +1 -1
  329. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +1 -1
  330. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +1 -1
  331. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +7 -7
  332. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  333. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js +2 -2
  334. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js.map +1 -1
  335. package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js +9 -25
  336. package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +1 -1
  337. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -4
  338. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  339. package/dist/esm/runtimes/react/controls/select.js +1 -1
  340. package/dist/esm/runtimes/react/controls/select.js.map +1 -1
  341. package/dist/esm/runtimes/react/controls/shape.js +2 -7
  342. package/dist/esm/runtimes/react/controls/shape.js.map +1 -1
  343. package/dist/esm/runtimes/react/controls/slot.js +14 -6
  344. package/dist/esm/runtimes/react/controls/slot.js.map +1 -1
  345. package/dist/esm/runtimes/react/controls/style-v2.js +6 -11
  346. package/dist/esm/runtimes/react/controls/style-v2.js.map +1 -1
  347. package/dist/esm/runtimes/react/controls/style.js +10 -10
  348. package/dist/esm/runtimes/react/controls/style.js.map +1 -1
  349. package/dist/esm/runtimes/react/controls/text-area.js +1 -7
  350. package/dist/esm/runtimes/react/controls/text-area.js.map +1 -1
  351. package/dist/esm/runtimes/react/controls/text-input.js +1 -7
  352. package/dist/esm/runtimes/react/controls/text-input.js.map +1 -1
  353. package/dist/esm/runtimes/react/controls/typography.js.map +1 -1
  354. package/dist/esm/runtimes/react/controls.js +96 -91
  355. package/dist/esm/runtimes/react/controls.js.map +1 -1
  356. package/dist/esm/runtimes/react/hooks/use-store.js +2 -2
  357. package/dist/esm/runtimes/react/hooks/use-store.js.map +1 -1
  358. package/dist/esm/runtimes/react/poll-box-model.js +1 -1
  359. package/dist/esm/runtimes/react/poll-box-model.js.map +1 -1
  360. package/dist/esm/runtimes/react/react-runtime.js +3 -40
  361. package/dist/esm/runtimes/react/react-runtime.js.map +1 -1
  362. package/dist/esm/runtimes/react/runtime-core.js +51 -0
  363. package/dist/esm/runtimes/react/runtime-core.js.map +1 -0
  364. package/dist/esm/slate/BlockPlugin/clearBlockKeyForDevice.js +2 -2
  365. package/dist/esm/slate/BlockPlugin/clearBlockKeyForDevice.js.map +1 -1
  366. package/dist/esm/slate/BlockPlugin/indent.js +3 -2
  367. package/dist/esm/slate/BlockPlugin/indent.js.map +1 -1
  368. package/dist/esm/slate/BlockPlugin/index.js +17 -15
  369. package/dist/esm/slate/BlockPlugin/index.js.map +1 -1
  370. package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js +2 -2
  371. package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
  372. package/dist/esm/slate/BlockPlugin/toggleList.js +2 -2
  373. package/dist/esm/slate/BlockPlugin/toggleList.js.map +1 -1
  374. package/dist/esm/slate/BlockPlugin/unwrapInline.js +2 -2
  375. package/dist/esm/slate/BlockPlugin/unwrapInline.js.map +1 -1
  376. package/dist/esm/slate/BlockPlugin/unwrapList.js +3 -4
  377. package/dist/esm/slate/BlockPlugin/unwrapList.js.map +1 -1
  378. package/dist/esm/slate/BlockPlugin/utils/getSelectedListItems.js +2 -2
  379. package/dist/esm/slate/BlockPlugin/utils/getSelectedListItems.js.map +1 -1
  380. package/dist/esm/slate/BlockPlugin/wrapInline.js.map +1 -1
  381. package/dist/esm/slate/BlockPlugin/wrapList.js +4 -3
  382. package/dist/esm/slate/BlockPlugin/wrapList.js.map +1 -1
  383. package/dist/esm/slate/BuilderPlugin/index.js +3 -3
  384. package/dist/esm/slate/BuilderPlugin/index.js.map +1 -1
  385. package/dist/esm/slate/InlineModePlugin/index.js +5 -6
  386. package/dist/esm/slate/InlineModePlugin/index.js.map +1 -1
  387. package/dist/esm/slate/InlinePlugin/getValue.js +4 -4
  388. package/dist/esm/slate/InlinePlugin/getValue.js.map +1 -1
  389. package/dist/esm/slate/InlinePlugin/index.js +9 -13
  390. package/dist/esm/slate/InlinePlugin/index.js.map +1 -1
  391. package/dist/esm/slate/InlinePlugin/onChange.js +3 -3
  392. package/dist/esm/slate/InlinePlugin/onChange.js.map +1 -1
  393. package/dist/esm/slate/InlinePlugin/types.js +9 -7
  394. package/dist/esm/slate/InlinePlugin/types.js.map +1 -1
  395. package/dist/esm/slate/LinkPlugin/getValue.js +4 -5
  396. package/dist/esm/slate/LinkPlugin/getValue.js.map +1 -1
  397. package/dist/esm/slate/LinkPlugin/index.js +8 -10
  398. package/dist/esm/slate/LinkPlugin/index.js.map +1 -1
  399. package/dist/esm/slate/LinkPlugin/onChange.js +4 -4
  400. package/dist/esm/slate/LinkPlugin/onChange.js.map +1 -1
  401. package/dist/esm/slate/LinkPlugin/types.js +3 -7
  402. package/dist/esm/slate/LinkPlugin/types.js.map +1 -1
  403. package/dist/esm/slate/TextAlignPlugin/getValue.js +2 -2
  404. package/dist/esm/slate/TextAlignPlugin/getValue.js.map +1 -1
  405. package/dist/esm/slate/TextAlignPlugin/index.js +12 -16
  406. package/dist/esm/slate/TextAlignPlugin/index.js.map +1 -1
  407. package/dist/esm/slate/TypographyPlugin/clearActiveTypographyStyle.js.map +1 -1
  408. package/dist/esm/slate/TypographyPlugin/clearDeviceActiveTypography.js.map +1 -1
  409. package/dist/esm/slate/TypographyPlugin/detachActiveTypography.js.map +1 -1
  410. package/dist/esm/slate/TypographyPlugin/getValue.js.map +1 -1
  411. package/dist/esm/slate/TypographyPlugin/index.js +5 -5
  412. package/dist/esm/slate/TypographyPlugin/index.js.map +1 -1
  413. package/dist/esm/slate/TypographyPlugin/normalizeTypographyDown.js.map +1 -1
  414. package/dist/esm/slate/TypographyPlugin/normalizeTypographyUp.js +6 -3
  415. package/dist/esm/slate/TypographyPlugin/normalizeTypographyUp.js.map +1 -1
  416. package/dist/esm/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
  417. package/dist/esm/slate/index.js +4 -4
  418. package/dist/esm/slate/index.js.map +1 -1
  419. package/dist/esm/slate/selectors.js +15 -12
  420. package/dist/esm/slate/selectors.js.map +1 -1
  421. package/dist/esm/slate/types.js +4 -33
  422. package/dist/esm/slate/types.js.map +1 -1
  423. package/dist/esm/slate/utils/editor.js +3 -3
  424. package/dist/esm/slate/utils/editor.js.map +1 -1
  425. package/dist/esm/slate/utils/element.js +5 -30
  426. package/dist/esm/slate/utils/element.js.map +1 -1
  427. package/dist/esm/slate/utils/responsive.js.map +1 -1
  428. package/dist/esm/slate/utils/toText.js +16 -52
  429. package/dist/esm/slate/utils/toText.js.map +1 -1
  430. package/dist/esm/state/actions.js.map +1 -1
  431. package/dist/esm/state/modules/box-models.js.map +1 -1
  432. package/dist/esm/state/modules/breakpoints.js +1 -1
  433. package/dist/esm/state/modules/breakpoints.js.map +1 -1
  434. package/dist/esm/state/modules/prop-controller-handles.js.map +1 -1
  435. package/dist/esm/state/modules/read-only-documents.js +3 -3
  436. package/dist/esm/state/modules/read-only-documents.js.map +1 -1
  437. package/dist/esm/state/react-builder-preview.js +10 -7
  438. package/dist/esm/state/react-builder-preview.js.map +1 -1
  439. package/dist/esm/state/react-page.js +13 -41
  440. package/dist/esm/state/react-page.js.map +1 -1
  441. package/dist/types/api/graphql/generated/types.d.ts +1 -1
  442. package/dist/types/api/graphql/generated/types.d.ts.map +1 -1
  443. package/dist/types/api/react.d.ts +1 -1
  444. package/dist/types/builder/rich-text/index.d.ts +3 -0
  445. package/dist/types/builder/rich-text/index.d.ts.map +1 -0
  446. package/dist/types/builder/serialization/control-serialization.d.ts +12 -7
  447. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  448. package/dist/types/components/builtin/Box/Box.d.ts +23 -1
  449. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  450. package/dist/types/components/builtin/Button/Button.d.ts +3 -3
  451. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  452. package/dist/types/components/builtin/Carousel/Carousel.d.ts +1 -1
  453. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  454. package/dist/types/components/builtin/Countdown/Countdown.d.ts +1 -1
  455. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  456. package/dist/types/components/builtin/Divider/Divider.d.ts +1 -1
  457. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
  458. package/dist/types/components/builtin/Form/Form.d.ts +1 -1
  459. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  460. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  461. package/dist/types/components/builtin/Form/context/FormContext.d.ts +7 -8
  462. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  463. package/dist/types/components/builtin/Navigation/Navigation.d.ts +1 -1
  464. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  465. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +2 -2
  466. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  467. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts +1 -1
  468. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  469. package/dist/types/components/builtin/Text/register.d.ts +1 -1
  470. package/dist/types/components/builtin/Text/register.d.ts.map +1 -1
  471. package/dist/types/components/builtin/register.d.ts +1 -1
  472. package/dist/types/components/builtin/register.d.ts.map +1 -1
  473. package/dist/types/components/hooks/useResponsiveColor.d.ts +1 -2
  474. package/dist/types/components/hooks/useResponsiveColor.d.ts.map +1 -1
  475. package/dist/types/components/utils/responsive-style.d.ts +2 -1
  476. package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
  477. package/dist/types/components/utils/types.d.ts +2 -0
  478. package/dist/types/components/utils/types.d.ts.map +1 -1
  479. package/dist/types/controls/__tests__/fixtures/shape.d.ts +19 -8
  480. package/dist/types/controls/__tests__/fixtures/shape.d.ts.map +1 -1
  481. package/dist/types/controls/control.d.ts +28 -17
  482. package/dist/types/controls/control.d.ts.map +1 -1
  483. package/dist/types/controls/index.d.ts +6 -10
  484. package/dist/types/controls/index.d.ts.map +1 -1
  485. package/dist/types/controls/link.d.ts +9 -0
  486. package/dist/types/controls/link.d.ts.map +1 -0
  487. package/dist/types/controls/rich-text/control.d.ts +57 -0
  488. package/dist/types/controls/rich-text/control.d.ts.map +1 -0
  489. package/dist/types/controls/rich-text/index.d.ts +0 -3
  490. package/dist/types/controls/rich-text/index.d.ts.map +1 -1
  491. package/dist/types/controls/rich-text/rich-text.d.ts +9 -61
  492. package/dist/types/controls/rich-text/rich-text.d.ts.map +1 -1
  493. package/dist/types/controls/rich-text-v2/__tests__/fixtures/nested-paragraph-edge-case-3728.d.ts +3 -2
  494. package/dist/types/controls/rich-text-v2/__tests__/fixtures/nested-paragraph-edge-case-3728.d.ts.map +1 -1
  495. package/dist/types/controls/rich-text-v2/__tests__/fixtures/rearranged.d.ts +4 -3
  496. package/dist/types/controls/rich-text-v2/__tests__/fixtures/rearranged.d.ts.map +1 -1
  497. package/dist/types/controls/rich-text-v2/__tests__/fixtures/simple.d.ts +4 -3
  498. package/dist/types/controls/rich-text-v2/__tests__/fixtures/simple.d.ts.map +1 -1
  499. package/dist/types/controls/rich-text-v2/__tests__/serialization.test.d.ts +2 -0
  500. package/dist/types/controls/rich-text-v2/__tests__/serialization.test.d.ts.map +1 -0
  501. package/dist/types/controls/rich-text-v2/control.d.ts +102 -0
  502. package/dist/types/controls/rich-text-v2/control.d.ts.map +1 -0
  503. package/dist/types/controls/rich-text-v2/index.d.ts +0 -2
  504. package/dist/types/controls/rich-text-v2/index.d.ts.map +1 -1
  505. package/dist/types/controls/rich-text-v2/plugin.d.ts +9 -17
  506. package/dist/types/controls/rich-text-v2/plugin.d.ts.map +1 -1
  507. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +863 -103
  508. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  509. package/dist/types/controls/rich-text-v2/translation.d.ts +5 -4
  510. package/dist/types/controls/rich-text-v2/translation.d.ts.map +1 -1
  511. package/dist/types/controls/slot.d.ts +8 -54
  512. package/dist/types/controls/slot.d.ts.map +1 -1
  513. package/dist/types/controls/style-v2/index.d.ts +2 -0
  514. package/dist/types/controls/style-v2/index.d.ts.map +1 -0
  515. package/dist/types/controls/style-v2/style-v2.d.ts +10 -0
  516. package/dist/types/controls/style-v2/style-v2.d.ts.map +1 -0
  517. package/dist/types/controls/style-v2/style-v2.test.d.ts +2 -0
  518. package/dist/types/controls/style-v2/style-v2.test.d.ts.map +1 -0
  519. package/dist/types/core/index.d.ts +2 -0
  520. package/dist/types/core/index.d.ts.map +1 -0
  521. package/dist/types/locale.d.ts +1 -1
  522. package/dist/types/next/client.d.ts +16 -16
  523. package/dist/types/next/components/tests/controls/combobox-control.test.d.ts +2 -0
  524. package/dist/types/next/components/tests/controls/combobox-control.test.d.ts.map +1 -0
  525. package/dist/types/next/components/tests/controls/icon-radio-group-control.test.d.ts +2 -0
  526. package/dist/types/next/components/tests/controls/icon-radio-group-control.test.d.ts.map +1 -0
  527. package/dist/types/next/components/tests/controls/image-control.test.d.ts +3 -0
  528. package/dist/types/next/components/tests/controls/image-control.test.d.ts.map +1 -0
  529. package/dist/types/next/components/tests/controls/link-control.test.d.ts +2 -0
  530. package/dist/types/next/components/tests/controls/link-control.test.d.ts.map +1 -0
  531. package/dist/types/next/components/tests/controls/list-control.test.d.ts +2 -0
  532. package/dist/types/next/components/tests/controls/list-control.test.d.ts.map +1 -0
  533. package/dist/types/next/components/tests/controls/number-control.test.d.ts +2 -0
  534. package/dist/types/next/components/tests/controls/number-control.test.d.ts.map +1 -0
  535. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts +9 -5
  536. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  537. package/dist/types/next/components/tests/controls/select-control.test.d.ts +2 -0
  538. package/dist/types/next/components/tests/controls/select-control.test.d.ts.map +1 -0
  539. package/dist/types/next/components/tests/controls/shape-control.test.d.ts +2 -0
  540. package/dist/types/next/components/tests/controls/shape-control.test.d.ts.map +1 -0
  541. package/dist/types/next/components/tests/controls/slot-control.test.d.ts +2 -0
  542. package/dist/types/next/components/tests/controls/slot-control.test.d.ts.map +1 -0
  543. package/dist/types/next/components/tests/controls/style-control.test.d.ts +2 -0
  544. package/dist/types/next/components/tests/controls/style-control.test.d.ts.map +1 -0
  545. package/dist/types/next/components/tests/controls/text-area-control.test.d.ts +2 -0
  546. package/dist/types/next/components/tests/controls/text-area-control.test.d.ts.map +1 -0
  547. package/dist/types/next/components/tests/controls/text-input-control.test.d.ts +2 -0
  548. package/dist/types/next/components/tests/controls/text-input-control.test.d.ts.map +1 -0
  549. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts +15 -2
  550. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts.map +1 -1
  551. package/dist/types/prop-controllers/copy.d.ts +2 -2
  552. package/dist/types/prop-controllers/copy.d.ts.map +1 -1
  553. package/dist/types/prop-controllers/deleted.d.ts +1 -1
  554. package/dist/types/prop-controllers/deleted.d.ts.map +1 -1
  555. package/dist/types/prop-controllers/descriptors.d.ts +8 -27
  556. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  557. package/dist/types/prop-controllers/index.d.ts +3 -3
  558. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  559. package/dist/types/prop-controllers/instances.d.ts +10 -72
  560. package/dist/types/prop-controllers/instances.d.ts.map +1 -1
  561. package/dist/types/prop-controllers/introspection.d.ts +2 -2
  562. package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
  563. package/dist/types/runtimes/react/components/Element.d.ts +2 -2
  564. package/dist/types/runtimes/react/components/ElementData.d.ts.map +1 -1
  565. package/dist/types/runtimes/react/controls/checkbox.d.ts +3 -3
  566. package/dist/types/runtimes/react/controls/checkbox.d.ts.map +1 -1
  567. package/dist/types/runtimes/react/controls/color.d.ts +3 -3
  568. package/dist/types/runtimes/react/controls/color.d.ts.map +1 -1
  569. package/dist/types/runtimes/react/controls/combobox.d.ts +3 -3
  570. package/dist/types/runtimes/react/controls/combobox.d.ts.map +1 -1
  571. package/dist/types/runtimes/react/controls/control.d.ts +7 -28
  572. package/dist/types/runtimes/react/controls/control.d.ts.map +1 -1
  573. package/dist/types/runtimes/react/controls/icon-radio-group.d.ts +3 -3
  574. package/dist/types/runtimes/react/controls/icon-radio-group.d.ts.map +1 -1
  575. package/dist/types/runtimes/react/controls/image.d.ts +3 -12
  576. package/dist/types/runtimes/react/controls/image.d.ts.map +1 -1
  577. package/dist/types/runtimes/react/controls/link.d.ts +3 -10
  578. package/dist/types/runtimes/react/controls/link.d.ts.map +1 -1
  579. package/dist/types/runtimes/react/controls/list.d.ts +7 -9
  580. package/dist/types/runtimes/react/controls/list.d.ts.map +1 -1
  581. package/dist/types/runtimes/react/controls/number.d.ts +3 -3
  582. package/dist/types/runtimes/react/controls/number.d.ts.map +1 -1
  583. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts +1 -1
  584. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -1
  585. package/dist/types/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.d.ts +2 -2
  586. package/dist/types/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.d.ts.map +1 -1
  587. package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts +3 -4
  588. package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts.map +1 -1
  589. package/dist/types/runtimes/react/controls/rich-text/components/Element/block.d.ts +2 -2
  590. package/dist/types/runtimes/react/controls/rich-text/components/Element/block.d.ts.map +1 -1
  591. package/dist/types/runtimes/react/controls/rich-text/components/Element/element.d.ts +1 -1
  592. package/dist/types/runtimes/react/controls/rich-text/components/Element/element.d.ts.map +1 -1
  593. package/dist/types/runtimes/react/controls/rich-text/components/Element/inline.d.ts +2 -2
  594. package/dist/types/runtimes/react/controls/rich-text/components/Element/inline.d.ts.map +1 -1
  595. package/dist/types/runtimes/react/controls/rich-text/rich-text.d.ts +4 -3
  596. package/dist/types/runtimes/react/controls/rich-text/rich-text.d.ts.map +1 -1
  597. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts +4 -4
  598. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts.map +1 -1
  599. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts +2 -2
  600. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts.map +1 -1
  601. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts +2 -2
  602. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts.map +1 -1
  603. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.d.ts +2 -2
  604. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.d.ts.map +1 -1
  605. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.d.ts +2 -2
  606. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.d.ts.map +1 -1
  607. package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +4 -3
  608. package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
  609. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts +4 -3
  610. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  611. package/dist/types/runtimes/react/controls/select.d.ts +3 -3
  612. package/dist/types/runtimes/react/controls/select.d.ts.map +1 -1
  613. package/dist/types/runtimes/react/controls/shape.d.ts +7 -10
  614. package/dist/types/runtimes/react/controls/shape.d.ts.map +1 -1
  615. package/dist/types/runtimes/react/controls/slot.d.ts +3 -4
  616. package/dist/types/runtimes/react/controls/slot.d.ts.map +1 -1
  617. package/dist/types/runtimes/react/controls/style-v2.d.ts +7 -7
  618. package/dist/types/runtimes/react/controls/style-v2.d.ts.map +1 -1
  619. package/dist/types/runtimes/react/controls/style.d.ts +2 -2
  620. package/dist/types/runtimes/react/controls/style.d.ts.map +1 -1
  621. package/dist/types/runtimes/react/controls/text-area.d.ts +3 -3
  622. package/dist/types/runtimes/react/controls/text-area.d.ts.map +1 -1
  623. package/dist/types/runtimes/react/controls/text-input.d.ts +3 -3
  624. package/dist/types/runtimes/react/controls/text-input.d.ts.map +1 -1
  625. package/dist/types/runtimes/react/controls/typography.d.ts +6 -6
  626. package/dist/types/runtimes/react/controls/typography.d.ts.map +1 -1
  627. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  628. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  629. package/dist/types/runtimes/react/poll-box-model.d.ts +1 -1
  630. package/dist/types/runtimes/react/poll-box-model.d.ts.map +1 -1
  631. package/dist/types/runtimes/react/react-runtime.d.ts +9 -18
  632. package/dist/types/runtimes/react/react-runtime.d.ts.map +1 -1
  633. package/dist/types/runtimes/react/runtime-core.d.ts +19 -0
  634. package/dist/types/runtimes/react/runtime-core.d.ts.map +1 -0
  635. package/dist/types/slate/BlockPlugin/clearBlockKeyForDevice.d.ts.map +1 -1
  636. package/dist/types/slate/BlockPlugin/indent.d.ts.map +1 -1
  637. package/dist/types/slate/BlockPlugin/index.d.ts +19 -41
  638. package/dist/types/slate/BlockPlugin/index.d.ts.map +1 -1
  639. package/dist/types/slate/BlockPlugin/setBlockKeyForDevice.d.ts.map +1 -1
  640. package/dist/types/slate/BlockPlugin/toggleList.d.ts.map +1 -1
  641. package/dist/types/slate/BlockPlugin/types.d.ts +2 -2
  642. package/dist/types/slate/BlockPlugin/types.d.ts.map +1 -1
  643. package/dist/types/slate/BlockPlugin/unwrapInline.d.ts +2 -2
  644. package/dist/types/slate/BlockPlugin/unwrapInline.d.ts.map +1 -1
  645. package/dist/types/slate/BlockPlugin/utils/getSelectedListItems.d.ts +3 -2
  646. package/dist/types/slate/BlockPlugin/utils/getSelectedListItems.d.ts.map +1 -1
  647. package/dist/types/slate/BlockPlugin/wrapInline.d.ts +2 -2
  648. package/dist/types/slate/BlockPlugin/wrapInline.d.ts.map +1 -1
  649. package/dist/types/slate/BlockPlugin/wrapList.d.ts +1 -1
  650. package/dist/types/slate/BlockPlugin/wrapList.d.ts.map +1 -1
  651. package/dist/types/slate/BuilderPlugin/index.d.ts.map +1 -1
  652. package/dist/types/slate/InlineModePlugin/index.d.ts +79 -7
  653. package/dist/types/slate/InlineModePlugin/index.d.ts.map +1 -1
  654. package/dist/types/slate/InlinePlugin/getValue.d.ts.map +1 -1
  655. package/dist/types/slate/InlinePlugin/index.d.ts +22 -11
  656. package/dist/types/slate/InlinePlugin/index.d.ts.map +1 -1
  657. package/dist/types/slate/InlinePlugin/onChange.d.ts.map +1 -1
  658. package/dist/types/slate/InlinePlugin/types.d.ts +18 -6
  659. package/dist/types/slate/InlinePlugin/types.d.ts.map +1 -1
  660. package/dist/types/slate/LinkPlugin/getValue.d.ts +36 -3
  661. package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
  662. package/dist/types/slate/LinkPlugin/index.d.ts +40 -9
  663. package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
  664. package/dist/types/slate/LinkPlugin/onChange.d.ts +4 -3
  665. package/dist/types/slate/LinkPlugin/onChange.d.ts.map +1 -1
  666. package/dist/types/slate/LinkPlugin/types.d.ts +3 -4
  667. package/dist/types/slate/LinkPlugin/types.d.ts.map +1 -1
  668. package/dist/types/slate/TextAlignPlugin/getValue.d.ts +2 -2
  669. package/dist/types/slate/TextAlignPlugin/getValue.d.ts.map +1 -1
  670. package/dist/types/slate/TextAlignPlugin/index.d.ts +21 -6
  671. package/dist/types/slate/TextAlignPlugin/index.d.ts.map +1 -1
  672. package/dist/types/slate/TypographyPlugin/detachActiveTypography.d.ts +1 -1
  673. package/dist/types/slate/TypographyPlugin/detachActiveTypography.d.ts.map +1 -1
  674. package/dist/types/slate/TypographyPlugin/getValue.d.ts +25 -2
  675. package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
  676. package/dist/types/slate/TypographyPlugin/index.d.ts +27 -3
  677. package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
  678. package/dist/types/slate/TypographyPlugin/normalizeTypographyDown.d.ts +2 -1
  679. package/dist/types/slate/TypographyPlugin/normalizeTypographyDown.d.ts.map +1 -1
  680. package/dist/types/slate/TypographyPlugin/normalizeTypographyUp.d.ts +1 -1
  681. package/dist/types/slate/TypographyPlugin/normalizeTypographyUp.d.ts.map +1 -1
  682. package/dist/types/slate/TypographyPlugin/setActiveTypographyStyle.d.ts.map +1 -1
  683. package/dist/types/slate/index.d.ts +4 -4
  684. package/dist/types/slate/index.d.ts.map +1 -1
  685. package/dist/types/slate/selectors.d.ts +7 -7
  686. package/dist/types/slate/selectors.d.ts.map +1 -1
  687. package/dist/types/slate/test-helpers/slate-test-helper.d.ts +4 -4
  688. package/dist/types/slate/test-helpers/test-elements.d.ts +61 -5
  689. package/dist/types/slate/test-helpers/test-elements.d.ts.map +1 -1
  690. package/dist/types/slate/types.d.ts +1 -206
  691. package/dist/types/slate/types.d.ts.map +1 -1
  692. package/dist/types/slate/utils/editor.d.ts +4 -4
  693. package/dist/types/slate/utils/editor.d.ts.map +1 -1
  694. package/dist/types/slate/utils/element.d.ts +4 -12
  695. package/dist/types/slate/utils/element.d.ts.map +1 -1
  696. package/dist/types/slate/utils/responsive.d.ts +1 -1
  697. package/dist/types/slate/utils/responsive.d.ts.map +1 -1
  698. package/dist/types/slate/utils/toText.d.ts +3 -3
  699. package/dist/types/slate/utils/toText.d.ts.map +1 -1
  700. package/dist/types/state/actions.d.ts +3 -3
  701. package/dist/types/state/actions.d.ts.map +1 -1
  702. package/dist/types/state/modules/box-models.d.ts +2 -1
  703. package/dist/types/state/modules/box-models.d.ts.map +1 -1
  704. package/dist/types/state/modules/breakpoints.d.ts +2 -4
  705. package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
  706. package/dist/types/state/modules/prop-controller-handles.d.ts +4 -4
  707. package/dist/types/state/modules/prop-controller-handles.d.ts.map +1 -1
  708. package/dist/types/state/modules/read-only-documents.d.ts +2 -15
  709. package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
  710. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  711. package/dist/types/state/react-page.d.ts +55 -57
  712. package/dist/types/state/react-page.d.ts.map +1 -1
  713. package/dist/types/utils/tests/element-data-test-test.d.ts +29 -1
  714. package/dist/types/utils/tests/element-data-test-test.d.ts.map +1 -1
  715. package/package.json +17 -5
  716. package/dist/cjs/builder/serialization/controls/combobox.js +0 -45
  717. package/dist/cjs/builder/serialization/controls/combobox.js.map +0 -1
  718. package/dist/cjs/builder/serialization/controls/list.js +0 -50
  719. package/dist/cjs/builder/serialization/controls/list.js.map +0 -1
  720. package/dist/cjs/builder/serialization/controls/rich-text-v2.js +0 -106
  721. package/dist/cjs/builder/serialization/controls/rich-text-v2.js.map +0 -1
  722. package/dist/cjs/builder/serialization/controls/shape.js +0 -54
  723. package/dist/cjs/builder/serialization/controls/shape.js.map +0 -1
  724. package/dist/cjs/builder/serialization/controls/style-v2.js +0 -62
  725. package/dist/cjs/builder/serialization/controls/style-v2.js.map +0 -1
  726. package/dist/cjs/controls/image.js.map +0 -1
  727. package/dist/cjs/controls/list.js +0 -156
  728. package/dist/cjs/controls/list.js.map +0 -1
  729. package/dist/cjs/controls/rich-text/copy.js +0 -121
  730. package/dist/cjs/controls/rich-text/copy.js.map +0 -1
  731. package/dist/cjs/controls/rich-text/dto-types.js +0 -43
  732. package/dist/cjs/controls/rich-text/dto-types.js.map +0 -1
  733. package/dist/cjs/controls/rich-text/dto.js +0 -228
  734. package/dist/cjs/controls/rich-text/dto.js.map +0 -1
  735. package/dist/cjs/controls/rich-text/fixtures/blockquote.js +0 -77
  736. package/dist/cjs/controls/rich-text/fixtures/blockquote.js.map +0 -1
  737. package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js +0 -176
  738. package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js.map +0 -1
  739. package/dist/cjs/controls/rich-text/fixtures/index.js.map +0 -1
  740. package/dist/cjs/controls/rich-text/fixtures/list.js +0 -137
  741. package/dist/cjs/controls/rich-text/fixtures/list.js.map +0 -1
  742. package/dist/cjs/controls/rich-text/fixtures/typography.js +0 -926
  743. package/dist/cjs/controls/rich-text/fixtures/typography.js.map +0 -1
  744. package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js +0 -114
  745. package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js.map +0 -1
  746. package/dist/cjs/controls/rich-text/introspection.js +0 -104
  747. package/dist/cjs/controls/rich-text/introspection.js.map +0 -1
  748. package/dist/cjs/controls/rich-text-v2/copy.js +0 -115
  749. package/dist/cjs/controls/rich-text-v2/copy.js.map +0 -1
  750. package/dist/cjs/controls/rich-text-v2/dto.js +0 -44
  751. package/dist/cjs/controls/rich-text-v2/dto.js.map +0 -1
  752. package/dist/cjs/controls/rich-text-v2/introspection.js +0 -69
  753. package/dist/cjs/controls/rich-text-v2/introspection.js.map +0 -1
  754. package/dist/cjs/controls/select.js.map +0 -1
  755. package/dist/cjs/controls/shape.js +0 -149
  756. package/dist/cjs/controls/shape.js.map +0 -1
  757. package/dist/cjs/controls/style-v2.js +0 -74
  758. package/dist/cjs/controls/style-v2.js.map +0 -1
  759. package/dist/cjs/controls/style.js +0 -125
  760. package/dist/cjs/controls/style.js.map +0 -1
  761. package/dist/cjs/controls/typography.js +0 -47
  762. package/dist/cjs/controls/typography.js.map +0 -1
  763. package/dist/cjs/prop-controllers/base.js.map +0 -1
  764. package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js +0 -48
  765. package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +0 -1
  766. package/dist/cjs/utils/index-signature-hack.js +0 -17
  767. package/dist/cjs/utils/index-signature-hack.js.map +0 -1
  768. package/dist/esm/builder/serialization/controls/combobox.js +0 -20
  769. package/dist/esm/builder/serialization/controls/combobox.js.map +0 -1
  770. package/dist/esm/builder/serialization/controls/list.js +0 -25
  771. package/dist/esm/builder/serialization/controls/list.js.map +0 -1
  772. package/dist/esm/builder/serialization/controls/rich-text-v2.js +0 -81
  773. package/dist/esm/builder/serialization/controls/rich-text-v2.js.map +0 -1
  774. package/dist/esm/builder/serialization/controls/shape.js +0 -32
  775. package/dist/esm/builder/serialization/controls/shape.js.map +0 -1
  776. package/dist/esm/builder/serialization/controls/style-v2.js +0 -37
  777. package/dist/esm/builder/serialization/controls/style-v2.js.map +0 -1
  778. package/dist/esm/controls/image.js +0 -10
  779. package/dist/esm/controls/image.js.map +0 -1
  780. package/dist/esm/controls/list.js +0 -132
  781. package/dist/esm/controls/list.js.map +0 -1
  782. package/dist/esm/controls/rich-text/copy.js +0 -97
  783. package/dist/esm/controls/rich-text/copy.js.map +0 -1
  784. package/dist/esm/controls/rich-text/dto-types.js +0 -19
  785. package/dist/esm/controls/rich-text/dto-types.js.map +0 -1
  786. package/dist/esm/controls/rich-text/dto.js +0 -203
  787. package/dist/esm/controls/rich-text/dto.js.map +0 -1
  788. package/dist/esm/controls/rich-text/fixtures/blockquote.js +0 -53
  789. package/dist/esm/controls/rich-text/fixtures/blockquote.js.map +0 -1
  790. package/dist/esm/controls/rich-text/fixtures/empty-blocks.js +0 -151
  791. package/dist/esm/controls/rich-text/fixtures/empty-blocks.js.map +0 -1
  792. package/dist/esm/controls/rich-text/fixtures/index.js +0 -4
  793. package/dist/esm/controls/rich-text/fixtures/index.js.map +0 -1
  794. package/dist/esm/controls/rich-text/fixtures/list.js +0 -113
  795. package/dist/esm/controls/rich-text/fixtures/list.js.map +0 -1
  796. package/dist/esm/controls/rich-text/fixtures/typography.js +0 -902
  797. package/dist/esm/controls/rich-text/fixtures/typography.js.map +0 -1
  798. package/dist/esm/controls/rich-text/fixtures/v2-data-types.js +0 -90
  799. package/dist/esm/controls/rich-text/fixtures/v2-data-types.js.map +0 -1
  800. package/dist/esm/controls/rich-text/introspection.js +0 -78
  801. package/dist/esm/controls/rich-text/introspection.js.map +0 -1
  802. package/dist/esm/controls/rich-text-v2/copy.js +0 -91
  803. package/dist/esm/controls/rich-text-v2/copy.js.map +0 -1
  804. package/dist/esm/controls/rich-text-v2/dto.js +0 -19
  805. package/dist/esm/controls/rich-text-v2/dto.js.map +0 -1
  806. package/dist/esm/controls/rich-text-v2/introspection.js +0 -43
  807. package/dist/esm/controls/rich-text-v2/introspection.js.map +0 -1
  808. package/dist/esm/controls/select.js +0 -9
  809. package/dist/esm/controls/select.js.map +0 -1
  810. package/dist/esm/controls/shape.js +0 -125
  811. package/dist/esm/controls/shape.js.map +0 -1
  812. package/dist/esm/controls/style-v2.js +0 -48
  813. package/dist/esm/controls/style-v2.js.map +0 -1
  814. package/dist/esm/controls/style.js +0 -95
  815. package/dist/esm/controls/style.js.map +0 -1
  816. package/dist/esm/controls/typography.js +0 -20
  817. package/dist/esm/controls/typography.js.map +0 -1
  818. package/dist/esm/prop-controllers/base.js +0 -10
  819. package/dist/esm/prop-controllers/base.js.map +0 -1
  820. package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js +0 -24
  821. package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +0 -1
  822. package/dist/esm/utils/index-signature-hack.js +0 -1
  823. package/dist/esm/utils/index-signature-hack.js.map +0 -1
  824. package/dist/types/builder/serialization/controls/combobox.d.ts +0 -5
  825. package/dist/types/builder/serialization/controls/combobox.d.ts.map +0 -1
  826. package/dist/types/builder/serialization/controls/list.d.ts +0 -5
  827. package/dist/types/builder/serialization/controls/list.d.ts.map +0 -1
  828. package/dist/types/builder/serialization/controls/rich-text-v2.d.ts +0 -5
  829. package/dist/types/builder/serialization/controls/rich-text-v2.d.ts.map +0 -1
  830. package/dist/types/builder/serialization/controls/shape.d.ts +0 -5
  831. package/dist/types/builder/serialization/controls/shape.d.ts.map +0 -1
  832. package/dist/types/builder/serialization/controls/style-v2.d.ts +0 -5
  833. package/dist/types/builder/serialization/controls/style-v2.d.ts.map +0 -1
  834. package/dist/types/controls/image.d.ts +0 -4
  835. package/dist/types/controls/image.d.ts.map +0 -1
  836. package/dist/types/controls/image.test.d.ts +0 -2
  837. package/dist/types/controls/image.test.d.ts.map +0 -1
  838. package/dist/types/controls/link.test.d.ts +0 -2
  839. package/dist/types/controls/link.test.d.ts.map +0 -1
  840. package/dist/types/controls/list.d.ts +0 -78
  841. package/dist/types/controls/list.d.ts.map +0 -1
  842. package/dist/types/controls/rich-text/__tests__/copy.test.d.ts +0 -2
  843. package/dist/types/controls/rich-text/__tests__/copy.test.d.ts.map +0 -1
  844. package/dist/types/controls/rich-text/__tests__/dto.test.d.ts +0 -2
  845. package/dist/types/controls/rich-text/__tests__/dto.test.d.ts.map +0 -1
  846. package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts +0 -2
  847. package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts.map +0 -1
  848. package/dist/types/controls/rich-text/copy.d.ts +0 -4
  849. package/dist/types/controls/rich-text/copy.d.ts.map +0 -1
  850. package/dist/types/controls/rich-text/dto-types.d.ts +0 -132
  851. package/dist/types/controls/rich-text/dto-types.d.ts.map +0 -1
  852. package/dist/types/controls/rich-text/dto.d.ts +0 -8
  853. package/dist/types/controls/rich-text/dto.d.ts.map +0 -1
  854. package/dist/types/controls/rich-text/fixtures/blockquote.d.ts +0 -3
  855. package/dist/types/controls/rich-text/fixtures/blockquote.d.ts.map +0 -1
  856. package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts +0 -4
  857. package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts.map +0 -1
  858. package/dist/types/controls/rich-text/fixtures/index.d.ts +0 -4
  859. package/dist/types/controls/rich-text/fixtures/index.d.ts.map +0 -1
  860. package/dist/types/controls/rich-text/fixtures/list.d.ts +0 -3
  861. package/dist/types/controls/rich-text/fixtures/list.d.ts.map +0 -1
  862. package/dist/types/controls/rich-text/fixtures/typography.d.ts +0 -3
  863. package/dist/types/controls/rich-text/fixtures/typography.d.ts.map +0 -1
  864. package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts +0 -3
  865. package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts.map +0 -1
  866. package/dist/types/controls/rich-text/introspection.d.ts +0 -5
  867. package/dist/types/controls/rich-text/introspection.d.ts.map +0 -1
  868. package/dist/types/controls/rich-text-v2/copy.d.ts +0 -4
  869. package/dist/types/controls/rich-text-v2/copy.d.ts.map +0 -1
  870. package/dist/types/controls/rich-text-v2/dto.d.ts +0 -5
  871. package/dist/types/controls/rich-text-v2/dto.d.ts.map +0 -1
  872. package/dist/types/controls/rich-text-v2/introspection.d.ts +0 -5
  873. package/dist/types/controls/rich-text-v2/introspection.d.ts.map +0 -1
  874. package/dist/types/controls/select.d.ts +0 -22
  875. package/dist/types/controls/select.d.ts.map +0 -1
  876. package/dist/types/controls/shape.d.ts +0 -50
  877. package/dist/types/controls/shape.d.ts.map +0 -1
  878. package/dist/types/controls/style-v2.d.ts +0 -64
  879. package/dist/types/controls/style-v2.d.ts.map +0 -1
  880. package/dist/types/controls/style.d.ts +0 -179
  881. package/dist/types/controls/style.d.ts.map +0 -1
  882. package/dist/types/controls/typography.d.ts +0 -33
  883. package/dist/types/controls/typography.d.ts.map +0 -1
  884. package/dist/types/prop-controllers/base.d.ts +0 -7
  885. package/dist/types/prop-controllers/base.d.ts.map +0 -1
  886. package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts +0 -16
  887. package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts.map +0 -1
  888. package/dist/types/utils/index-signature-hack.d.ts +0 -4
  889. package/dist/types/utils/index-signature-hack.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/BlockPlugin/index.tsx"],"sourcesContent":["import type { KeyboardEvent } from 'react'\nimport { Editor, Transforms, Range, Node, PathRef, Text } from 'slate'\nimport { setBlockKeyForDevice } from './setBlockKeyForDevice'\nimport { clearBlockKeyForDevice } from './clearBlockKeyForDevice'\nimport { wrapInline } from './wrapInline'\nimport { unwrapInline } from './unwrapInline'\nimport { getSelection } from '../selectors'\nimport { ElementUtils } from '../utils/element'\nimport { Select } from '../../controls/select'\nimport { getActiveBlockType } from '../selectors'\nimport { BlockType, RootBlockType } from '../types'\nimport { unwrapList } from './unwrapList'\nimport { wrapList } from './wrapList'\nimport { indent } from './indent'\nimport { dedent } from './dedent'\nimport { toggleList } from './toggleList'\nimport { EditorUtils } from '../utils/editor'\nimport isHotkey from 'is-hotkey'\nimport { LIST_ITEM_CHILD_POSITION } from './constants'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { cx } from '@emotion/css'\nimport { RenderElementProps } from 'slate-react'\nimport { RenderElement, createRichTextV2Plugin } from '../../controls/rich-text-v2/plugin'\n\nexport const BlockActions = {\n setBlockKeyForDevice,\n clearBlockKeyForDevice,\n wrapInline,\n unwrapInline,\n}\n\n// TODO: This API is still litered with artifacts from the list plugin being seperated out.\n// This plugin needs to be rewritten to be assumptionless.\nexport const ListActions = {\n unwrapList,\n wrapList,\n indent,\n dedent,\n toggleList,\n}\n\nexport function onKeyDown(e: KeyboardEvent, editor: Editor) {\n if (\n !editor.selection ||\n Array.from(Editor.nodes(editor, { match: node => ElementUtils.isListItem(node) })).length === 0\n )\n return\n\n if (isHotkey('shift+tab', e)) {\n e.preventDefault()\n ListActions.dedent(editor)\n }\n\n if (isHotkey('tab', e)) {\n e.preventDefault()\n ListActions.indent(editor)\n }\n\n if (isHotkey('backspace', e)) {\n if (!editor.selection) return\n if (Range.isExpanded(editor.selection)) return\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (editor.selection.anchor.offset === 0 && listItem) {\n e.preventDefault()\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n const list = EditorUtils.getFirstAncestorList(editor, listItem[1])\n\n if (parentListItem) {\n ListActions.dedent(editor)\n } else if (list) {\n ListActions.unwrapList(editor)\n }\n return\n }\n }\n\n if (isHotkey('enter', e)) {\n e.preventDefault()\n\n if (!editor.selection) return\n\n if (Range.isExpanded(editor.selection)) {\n Transforms.delete(editor)\n return\n }\n\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (\n editor.selection.anchor.offset === 0 &&\n listItem &&\n Editor.string(editor, listItem[1]) === ''\n ) {\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n\n if (parentListItem) {\n ListActions.dedent(editor)\n } else {\n ListActions.unwrapList(editor)\n }\n return\n }\n\n Transforms.splitNodes(editor, {\n at: editor.selection,\n always: true,\n match: node => ElementUtils.isListItem(node),\n })\n }\n\n if (isHotkey('shift+enter', e)) {\n e.preventDefault()\n editor.insertText('\\n')\n }\n}\n\nexport function withBlock(editor: Editor) {\n const { normalizeNode } = editor\n\n editor.isInline = entry => {\n return ElementUtils.isInline(entry)\n }\n\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n // Normalization textAlign with empty array of values\n if (ElementUtils.isBlock(normalizationNode) && normalizationNode?.textAlign?.length == 0) {\n Transforms.unsetNodes(editor, 'textAlign', { at: normalizationPath })\n return\n }\n\n // Normalization for preventing non-list root blocks from being nested.\n if (\n normalizationPath.length === 1 &&\n ElementUtils.isRootBlock(normalizationNode) &&\n !ElementUtils.isList(normalizationNode)\n ) {\n const children = Array.from(Node.children(editor, normalizationPath))\n if (children.findIndex(([child]) => ElementUtils.isRootBlock(child)) !== -1) {\n Transforms.unwrapNodes(editor, { at: normalizationPath })\n return\n }\n }\n\n // Normalization for converting children of list items to list item children\n // In the case of backspace from position 0 of node into a list this converts the node into a list item.\n if (ElementUtils.isListItem(normalizationNode)) {\n const pathToListItemText = [...normalizationPath, LIST_ITEM_CHILD_POSITION]\n\n if (Node.has(editor, pathToListItemText)) {\n const nodeInListItemTextPosition = Node.get(editor, pathToListItemText)\n if (ElementUtils.isRootBlock(nodeInListItemTextPosition)) {\n Transforms.setNodes(\n editor,\n { type: BlockType.ListItemChild },\n {\n at: pathToListItemText,\n },\n )\n return\n }\n } else {\n Transforms.insertNodes(editor, ElementUtils.createListItem(), {\n at: pathToListItemText,\n })\n return\n }\n }\n\n // Normalization for merging adjacent lists of the same type\n if (!Text.isText(normalizationNode)) {\n const mergeableChildren = Array.from(Node.children(editor, normalizationPath))\n .map((child, index, children) => {\n const potentialNodeToBeMerged = children.at(index + 1)\n if (\n !potentialNodeToBeMerged ||\n !ElementUtils.isList(potentialNodeToBeMerged[0]) ||\n !ElementUtils.isList(child[0]) ||\n potentialNodeToBeMerged[0].type !== child[0].type\n ) {\n return null\n }\n return [\n Editor.pathRef(editor, child[1]),\n Editor.pathRef(editor, potentialNodeToBeMerged[1]),\n ]\n })\n .filter((mergeableNodes): mergeableNodes is PathRef[] => Boolean(mergeableNodes))\n\n if (mergeableChildren.length !== 0) {\n mergeableChildren.reverse().forEach(([nodePathRef, nodeToBeMergedPathRef]) => {\n const nodePath = nodePathRef.current\n const nodeToBeMergedPath = nodeToBeMergedPathRef.current\n if (nodePath == null || nodeToBeMergedPath == null) return\n const nodeChildren = Array.from(Node.children(editor, nodePath))\n const childrenToBeMerged = Array.from(Node.children(editor, nodeToBeMergedPath))\n Editor.withoutNormalizing(editor, () => {\n childrenToBeMerged.reverse().forEach(([_, childPath]) => {\n Transforms.moveNodes(editor, {\n at: childPath,\n to: [...nodePath, nodeChildren.length],\n })\n })\n Transforms.removeNodes(editor, { at: nodeToBeMergedPath })\n })\n nodePathRef.unref()\n nodeToBeMergedPathRef.unref()\n })\n return\n }\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n\nconst definition = Select({\n label: 'Block',\n labelOrientation: 'horizontal',\n options: [\n {\n value: BlockType.Paragraph,\n label: 'Paragraph',\n },\n {\n value: BlockType.Heading1,\n label: 'Heading 1',\n },\n {\n value: BlockType.Heading2,\n label: 'Heading 2',\n },\n {\n value: BlockType.Heading3,\n label: 'Heading 3',\n },\n {\n value: BlockType.Heading4,\n label: 'Heading 4',\n },\n {\n value: BlockType.Heading5,\n label: 'Heading 5',\n },\n {\n value: BlockType.Heading6,\n label: 'Heading 6',\n },\n {\n value: BlockType.UnorderedList,\n label: 'Bulleted list',\n },\n {\n value: BlockType.OrderedList,\n label: 'Numbered list',\n },\n {\n value: BlockType.BlockQuote,\n label: 'Quote',\n },\n ],\n defaultValue: BlockType.Paragraph,\n})\n\nexport function BlockPlugin() {\n return createRichTextV2Plugin({\n withPlugin: withBlock,\n onKeyDown: onKeyDown,\n control: {\n definition,\n onChange: (editor, value) => {\n // TODO: This onChange being so complex is an artifact of how the List plugin used to be seperated out from the block plugin.\n // Would be great to refactor and simplify here.\n\n const activeBlockType = getActiveBlockType(editor)\n if (value === BlockType.UnorderedList || value === BlockType.OrderedList) {\n ListActions.toggleList(editor, {\n type: value,\n at: getSelection(editor),\n })\n } else if (activeBlockType === value) {\n Transforms.setNodes(\n editor,\n {\n type: BlockType.Default,\n },\n { at: getSelection(editor) },\n )\n } else {\n ListActions.unwrapList(editor, {\n at: getSelection(editor),\n })\n Transforms.setNodes(\n editor,\n {\n type: value ?? BlockType.Default,\n },\n { at: getSelection(editor) },\n )\n }\n },\n getValue: editor => {\n const activeBlock = getActiveBlockType(editor)\n\n if (activeBlock === RootBlockType.Default) return undefined\n\n return activeBlock\n },\n },\n renderElement: renderElement => props =>\n <BlockPluginComponent {...props} renderElement={renderElement} />,\n })\n}\n\nfunction BlockPluginComponent({\n renderElement,\n ...props\n}: RenderElementProps & { renderElement: RenderElement }) {\n const blockStyles = [useStyle({ margin: 0 }), props.element.className]\n const quoteStyles = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n const unorderedListStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'disc',\n ul: {\n listStyleType: 'circle',\n },\n 'ul ul': {\n listStyleType: 'square',\n },\n })\n\n const orderedListStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'decimal',\n })\n\n switch (props.element.type) {\n case BlockType.Default:\n case BlockType.Paragraph:\n return (\n <p {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote {...props.attributes} className={cx(...blockStyles, quoteStyles)}>\n {renderElement(props)}\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol {...props.attributes} className={cx(...blockStyles, orderedListStyles)}>\n {renderElement(props)}\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul {...props.attributes} className={cx(...blockStyles, unorderedListStyles)}>\n {renderElement(props)}\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </span>\n )\n default:\n return <>{renderElement(props)}</>\n }\n}\n"],"mappings":"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","names":["import_selectors","isHotkey"]}
1
+ {"version":3,"sources":["../../../../src/slate/BlockPlugin/index.tsx"],"sourcesContent":["import type { KeyboardEvent } from 'react'\nimport { cx } from '@emotion/css'\nimport { Editor, Transforms, Range, Node, PathRef, Text } from 'slate'\nimport { type RenderElementProps } from 'slate-react'\nimport { Select, Slate, type DataType } from '@makeswift/controls'\n\nimport { setBlockKeyForDevice } from './setBlockKeyForDevice'\nimport { clearBlockKeyForDevice } from './clearBlockKeyForDevice'\nimport { wrapInline } from './wrapInline'\nimport { unwrapInline } from './unwrapInline'\nimport { getSelection } from '../selectors'\nimport { ElementUtils } from '../utils/element'\nimport { getActiveBlockType } from '../selectors'\nimport { unwrapList } from './unwrapList'\nimport { wrapList } from './wrapList'\nimport { indent } from './indent'\nimport { dedent } from './dedent'\nimport { toggleList } from './toggleList'\nimport { EditorUtils } from '../utils/editor'\nimport isHotkey from 'is-hotkey'\nimport { LIST_ITEM_CHILD_POSITION } from './constants'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { type RenderElement, Plugin } from '../../controls/rich-text-v2/plugin'\nimport { BlockType } from '../../slate/types'\n\nexport const BlockActions = {\n setBlockKeyForDevice,\n clearBlockKeyForDevice,\n wrapInline,\n unwrapInline,\n}\n\n// TODO: This API is still litered with artifacts from the list plugin being seperated out.\n// This plugin needs to be rewritten to be assumptionless.\nexport const ListActions = {\n unwrapList,\n wrapList,\n indent,\n dedent,\n toggleList,\n}\n\nexport function onKeyDown(e: KeyboardEvent, editor: Editor) {\n if (\n !editor.selection ||\n Array.from(Editor.nodes(editor, { match: node => Slate.isListItem(node) })).length === 0\n )\n return\n\n if (isHotkey('shift+tab', e)) {\n e.preventDefault()\n ListActions.dedent(editor)\n }\n\n if (isHotkey('tab', e)) {\n e.preventDefault()\n ListActions.indent(editor)\n }\n\n if (isHotkey('backspace', e)) {\n if (!editor.selection) return\n if (Range.isExpanded(editor.selection)) return\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (editor.selection.anchor.offset === 0 && listItem) {\n e.preventDefault()\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n const list = EditorUtils.getFirstAncestorList(editor, listItem[1])\n\n if (parentListItem) {\n ListActions.dedent(editor)\n } else if (list) {\n ListActions.unwrapList(editor)\n }\n return\n }\n }\n\n if (isHotkey('enter', e)) {\n e.preventDefault()\n\n if (!editor.selection) return\n\n if (Range.isExpanded(editor.selection)) {\n Transforms.delete(editor)\n return\n }\n\n const listItem = EditorUtils.getFirstAncestorListItem(editor, editor.selection.anchor.path)\n if (\n editor.selection.anchor.offset === 0 &&\n listItem &&\n Editor.string(editor, listItem[1]) === ''\n ) {\n const parentListItem = EditorUtils.getFirstAncestorListItem(editor, listItem[1])\n\n if (parentListItem) {\n ListActions.dedent(editor)\n } else {\n ListActions.unwrapList(editor)\n }\n return\n }\n\n Transforms.splitNodes(editor, {\n at: editor.selection,\n always: true,\n match: node => Slate.isListItem(node),\n })\n }\n\n if (isHotkey('shift+enter', e)) {\n e.preventDefault()\n editor.insertText('\\n')\n }\n}\n\nexport function withBlock(editor: Editor) {\n const { normalizeNode } = editor\n\n editor.isInline = entry => {\n return Slate.isInline(entry)\n }\n\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n // Normalization textAlign with empty array of values\n if (Slate.isBlock(normalizationNode) && normalizationNode?.textAlign?.length == 0) {\n Transforms.unsetNodes(editor, 'textAlign', { at: normalizationPath })\n return\n }\n\n // Normalization for preventing non-list root blocks from being nested.\n if (\n normalizationPath.length === 1 &&\n Slate.isRootBlock(normalizationNode) &&\n !Slate.isList(normalizationNode)\n ) {\n const children = Array.from(Node.children(editor, normalizationPath))\n if (children.findIndex(([child]) => Slate.isRootBlock(child)) !== -1) {\n Transforms.unwrapNodes(editor, { at: normalizationPath })\n return\n }\n }\n\n // Normalization for converting children of list items to list item children\n // In the case of backspace from position 0 of node into a list this converts the node into a list item.\n if (Slate.isListItem(normalizationNode)) {\n const pathToListItemText = [...normalizationPath, LIST_ITEM_CHILD_POSITION]\n\n if (Node.has(editor, pathToListItemText)) {\n const nodeInListItemTextPosition = Node.get(editor, pathToListItemText)\n if (Slate.isRootBlock(nodeInListItemTextPosition)) {\n Transforms.setNodes(\n editor,\n { type: BlockType.ListItemChild },\n {\n at: pathToListItemText,\n },\n )\n return\n }\n } else {\n Transforms.insertNodes(editor, ElementUtils.createListItem(), {\n at: pathToListItemText,\n })\n return\n }\n }\n\n // Normalization for merging adjacent lists of the same type\n if (!Text.isText(normalizationNode)) {\n const mergeableChildren = Array.from(Node.children(editor, normalizationPath))\n .map((child, index, children) => {\n const potentialNodeToBeMerged = children.at(index + 1)\n if (\n !potentialNodeToBeMerged ||\n !Slate.isList(potentialNodeToBeMerged[0]) ||\n !Slate.isList(child[0]) ||\n potentialNodeToBeMerged[0].type !== child[0].type\n ) {\n return null\n }\n return [\n Editor.pathRef(editor, child[1]),\n Editor.pathRef(editor, potentialNodeToBeMerged[1]),\n ]\n })\n .filter((mergeableNodes): mergeableNodes is PathRef[] => Boolean(mergeableNodes))\n\n if (mergeableChildren.length !== 0) {\n mergeableChildren.reverse().forEach(([nodePathRef, nodeToBeMergedPathRef]) => {\n const nodePath = nodePathRef.current\n const nodeToBeMergedPath = nodeToBeMergedPathRef.current\n if (nodePath == null || nodeToBeMergedPath == null) return\n const nodeChildren = Array.from(Node.children(editor, nodePath))\n const childrenToBeMerged = Array.from(Node.children(editor, nodeToBeMergedPath))\n Editor.withoutNormalizing(editor, () => {\n childrenToBeMerged.reverse().forEach(([_, childPath]) => {\n Transforms.moveNodes(editor, {\n at: childPath,\n to: [...nodePath, nodeChildren.length],\n })\n })\n Transforms.removeNodes(editor, { at: nodeToBeMergedPath })\n })\n nodePathRef.unref()\n nodeToBeMergedPathRef.unref()\n })\n return\n }\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n\nconst definition = Select({\n label: 'Block',\n labelOrientation: 'horizontal',\n options: [\n {\n value: BlockType.Paragraph,\n label: 'Paragraph',\n },\n {\n value: BlockType.Heading1,\n label: 'Heading 1',\n },\n {\n value: BlockType.Heading2,\n label: 'Heading 2',\n },\n {\n value: BlockType.Heading3,\n label: 'Heading 3',\n },\n {\n value: BlockType.Heading4,\n label: 'Heading 4',\n },\n {\n value: BlockType.Heading5,\n label: 'Heading 5',\n },\n {\n value: BlockType.Heading6,\n label: 'Heading 6',\n },\n {\n value: BlockType.UnorderedList,\n label: 'Bulleted list',\n },\n {\n value: BlockType.OrderedList,\n label: 'Numbered list',\n },\n {\n value: BlockType.BlockQuote,\n label: 'Quote',\n },\n ],\n defaultValue: BlockType.Paragraph,\n})\n\nexport function BlockPlugin() {\n return Plugin({\n withPlugin: withBlock,\n onKeyDown: onKeyDown,\n control: {\n definition,\n onChange: (editor, value: DataType<typeof definition>) => {\n // TODO: This onChange being so complex is an artifact of how the List plugin used to be seperated out from the block plugin.\n // Would be great to refactor and simplify here.\n\n const activeBlockType = getActiveBlockType(editor)\n if (value === BlockType.UnorderedList || value === BlockType.OrderedList) {\n ListActions.toggleList(editor, {\n type: value,\n at: getSelection(editor),\n })\n } else if (activeBlockType === value) {\n Transforms.setNodes(\n editor,\n {\n type: BlockType.Default,\n },\n { at: getSelection(editor) },\n )\n } else {\n ListActions.unwrapList(editor, {\n at: getSelection(editor),\n })\n Transforms.setNodes(\n editor,\n {\n type: value ?? BlockType.Default,\n },\n { at: getSelection(editor) },\n )\n }\n },\n getValue: editor => {\n const activeBlock = getActiveBlockType(editor)\n\n if (activeBlock == null) return undefined\n if (activeBlock === Slate.RootBlockType.Default) return undefined\n\n return activeBlock\n },\n },\n renderElement: renderElement => props => (\n <BlockPluginComponent {...props} renderElement={renderElement} />\n ),\n })\n}\n\nfunction BlockPluginComponent({\n renderElement,\n ...props\n}: RenderElementProps & { renderElement: RenderElement }) {\n const blockStyles = [useStyle({ margin: 0 }), props.element.className]\n const quoteStyles = useStyle({\n padding: '0.5em 10px',\n fontSize: '1.25em',\n fontWeight: '300',\n borderLeft: '5px solid rgba(0, 0, 0, 0.1)',\n })\n\n const unorderedListStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'disc',\n ul: {\n listStyleType: 'circle',\n },\n 'ul ul': {\n listStyleType: 'square',\n },\n })\n\n const orderedListStyles = useStyle({\n listStylePosition: 'inside',\n paddingInlineStart: '20px',\n listStyleType: 'decimal',\n })\n\n switch (props.element.type) {\n case BlockType.Default:\n case BlockType.Paragraph:\n return (\n <p {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </p>\n )\n case BlockType.Heading1:\n return (\n <h1 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h1>\n )\n case BlockType.Heading2:\n return (\n <h2 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h2>\n )\n case BlockType.Heading3:\n return (\n <h3 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h3>\n )\n case BlockType.Heading4:\n return (\n <h4 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h4>\n )\n case BlockType.Heading5:\n return (\n <h5 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h5>\n )\n case BlockType.Heading6:\n return (\n <h6 {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </h6>\n )\n case BlockType.BlockQuote:\n return (\n <blockquote {...props.attributes} className={cx(...blockStyles, quoteStyles)}>\n {renderElement(props)}\n </blockquote>\n )\n case BlockType.OrderedList:\n return (\n <ol {...props.attributes} className={cx(...blockStyles, orderedListStyles)}>\n {renderElement(props)}\n </ol>\n )\n case BlockType.UnorderedList:\n return (\n <ul {...props.attributes} className={cx(...blockStyles, unorderedListStyles)}>\n {renderElement(props)}\n </ul>\n )\n case BlockType.ListItem:\n return (\n <li {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </li>\n )\n case BlockType.ListItemChild:\n return (\n <span {...props.attributes} className={cx(...blockStyles)}>\n {renderElement(props)}\n </span>\n )\n default:\n return <>{renderElement(props)}</>\n }\n}\n"],"mappings":"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","names":["import_selectors","isHotkey"]}
@@ -22,8 +22,8 @@ __export(setBlockKeyForDevice_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(setBlockKeyForDevice_exports);
24
24
  var import_slate = require("slate");
25
+ var import_controls = require("@makeswift/controls");
25
26
  var import_selectors = require("../selectors");
26
- var import_element = require("../utils/element");
27
27
  var import_breakpoints = require("../../state/modules/breakpoints");
28
28
  function setBlockKeyForDevice(editor, breakpoints, deviceId, key, value, options) {
29
29
  const at = options?.at ?? editor.selection;
@@ -31,7 +31,7 @@ function setBlockKeyForDevice(editor, breakpoints, deviceId, key, value, options
31
31
  return;
32
32
  const rootElements = (0, import_selectors.getBlocksInSelection)(editor);
33
33
  for (const [node, path] of rootElements) {
34
- if (import_element.ElementUtils.isBlock(node)) {
34
+ if (import_controls.Slate.isBlock(node)) {
35
35
  const deviceValues = node[key] ?? [];
36
36
  const currentDeviceValue = (0, import_breakpoints.findBreakpointOverride)(breakpoints, deviceValues, deviceId, (v) => v);
37
37
  const nextDeviceValue = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/BlockPlugin/setBlockKeyForDevice.ts"],"sourcesContent":["import { Editor, Transforms, Location } from 'slate'\nimport { getBlocksInSelection } from '../selectors'\nimport { ElementUtils } from '../utils/element'\nimport { EditableBlockKey, EditableBlockValue } from './types'\nimport { Breakpoints, BreakpointId, findBreakpointOverride } from '../../state/modules/breakpoints'\n\ntype SetBlockKeyForDeviceOptions = {\n at?: Location\n}\n\nexport function setBlockKeyForDevice(\n editor: Editor,\n breakpoints: Breakpoints,\n deviceId: BreakpointId,\n key: EditableBlockKey,\n value: EditableBlockValue[number]['value'],\n options?: SetBlockKeyForDeviceOptions,\n) {\n const at = options?.at ?? editor.selection\n if (!at) return\n\n const rootElements = getBlocksInSelection(editor)\n\n for (const [node, path] of rootElements) {\n if (ElementUtils.isBlock(node)) {\n const deviceValues = node[key] ?? []\n const currentDeviceValue = findBreakpointOverride(breakpoints, deviceValues, deviceId, v => v)\n const nextDeviceValue = {\n ...currentDeviceValue,\n deviceId,\n value,\n }\n Transforms.setNodes(\n editor,\n {\n [key]: [...deviceValues.filter(v => v.deviceId !== deviceId), nextDeviceValue],\n },\n { at: path },\n )\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6C;AAC7C,uBAAqC;AACrC,qBAA6B;AAE7B,yBAAkE;AAM3D,SAAS,qBACd,QACA,aACA,UACA,KACA,OACA,SACA;AACA,QAAM,KAAK,SAAS,MAAM,OAAO;AACjC,MAAI,CAAC;AAAI;AAET,QAAM,mBAAe,uCAAqB,MAAM;AAEhD,aAAW,CAAC,MAAM,IAAI,KAAK,cAAc;AACvC,QAAI,4BAAa,QAAQ,IAAI,GAAG;AAC9B,YAAM,eAAe,KAAK,GAAG,KAAK,CAAC;AACnC,YAAM,yBAAqB,2CAAuB,aAAa,cAAc,UAAU,OAAK,CAAC;AAC7F,YAAM,kBAAkB;AAAA,QACtB,GAAG;AAAA,QACH;AAAA,QACA;AAAA,MACF;AACA,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,CAAC,GAAG,GAAG,CAAC,GAAG,aAAa,OAAO,OAAK,EAAE,aAAa,QAAQ,GAAG,eAAe;AAAA,QAC/E;AAAA,QACA,EAAE,IAAI,KAAK;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/BlockPlugin/setBlockKeyForDevice.ts"],"sourcesContent":["import { Editor, Transforms, Location } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getBlocksInSelection } from '../selectors'\nimport { EditableBlockKey, EditableBlockValue } from './types'\nimport { Breakpoints, BreakpointId, findBreakpointOverride } from '../../state/modules/breakpoints'\n\ntype SetBlockKeyForDeviceOptions = {\n at?: Location\n}\n\nexport function setBlockKeyForDevice(\n editor: Editor,\n breakpoints: Breakpoints,\n deviceId: BreakpointId,\n key: EditableBlockKey,\n value: EditableBlockValue[number]['value'],\n options?: SetBlockKeyForDeviceOptions,\n) {\n const at = options?.at ?? editor.selection\n if (!at) return\n\n const rootElements = getBlocksInSelection(editor)\n\n for (const [node, path] of rootElements) {\n if (Slate.isBlock(node)) {\n const deviceValues = node[key] ?? []\n const currentDeviceValue = findBreakpointOverride(breakpoints, deviceValues, deviceId, v => v)\n const nextDeviceValue = {\n ...currentDeviceValue,\n deviceId,\n value,\n }\n Transforms.setNodes(\n editor,\n {\n [key]: [...deviceValues.filter(v => v.deviceId !== deviceId), nextDeviceValue],\n },\n { at: path },\n )\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6C;AAC7C,sBAAsB;AAEtB,uBAAqC;AAErC,yBAAkE;AAM3D,SAAS,qBACd,QACA,aACA,UACA,KACA,OACA,SACA;AACA,QAAM,KAAK,SAAS,MAAM,OAAO;AACjC,MAAI,CAAC;AAAI;AAET,QAAM,mBAAe,uCAAqB,MAAM;AAEhD,aAAW,CAAC,MAAM,IAAI,KAAK,cAAc;AACvC,QAAI,sBAAM,QAAQ,IAAI,GAAG;AACvB,YAAM,eAAe,KAAK,GAAG,KAAK,CAAC;AACnC,YAAM,yBAAqB,2CAAuB,aAAa,cAAc,UAAU,OAAK,CAAC;AAC7F,YAAM,kBAAkB;AAAA,QACtB,GAAG;AAAA,QACH;AAAA,QACA;AAAA,MACF;AACA,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,CAAC,GAAG,GAAG,CAAC,GAAG,aAAa,OAAO,OAAK,EAAE,aAAa,QAAQ,GAAG,eAAe;AAAA,QAC/E;AAAA,QACA,EAAE,IAAI,KAAK;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;","names":[]}
@@ -22,7 +22,7 @@ __export(toggleList_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(toggleList_exports);
24
24
  var import_slate = require("slate");
25
- var import_element = require("../utils/element");
25
+ var import_controls = require("@makeswift/controls");
26
26
  var import_unwrapList = require("./unwrapList");
27
27
  var import_location = require("./utils/location");
28
28
  var import_wrapList = require("./wrapList");
@@ -36,7 +36,7 @@ function toggleList(editor, options = { type: import_types.BlockType.UnorderedLi
36
36
  if (!ancestorPath || !import_slate.Node.has(editor, ancestorPath))
37
37
  return;
38
38
  const ancestor = import_slate.Node.get(editor, ancestorPath);
39
- if (!import_element.ElementUtils.isList(ancestor)) {
39
+ if (!import_controls.Slate.isList(ancestor)) {
40
40
  return (0, import_wrapList.wrapList)(editor, { type: options.type, at });
41
41
  }
42
42
  if (ancestor.type === options.type) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/BlockPlugin/toggleList.ts"],"sourcesContent":["import { Editor, Location, Node, Path, Transforms } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { unwrapList } from './unwrapList'\nimport { LocationUtils } from './utils/location'\nimport { wrapList } from './wrapList'\nimport { BlockType } from '../types'\n\ntype ToggleListOptions = {\n type: typeof BlockType.UnorderedList | typeof BlockType.OrderedList\n at?: Location\n}\n\nexport function toggleList(\n editor: Editor,\n options: ToggleListOptions = { type: BlockType.UnorderedList },\n) {\n const at = options.at ?? editor.selection\n if (at == null) return\n const start = LocationUtils.getStartPath(at)\n const ancestorPath = Path.ancestors(start).at(1)\n if (!ancestorPath || !Node.has(editor, ancestorPath)) return\n const ancestor = Node.get(editor, ancestorPath)\n\n if (!ElementUtils.isList(ancestor)) {\n return wrapList(editor, { type: options.type, at })\n }\n\n if (ancestor.type === options.type) {\n unwrapList(editor, { at })\n } else {\n Transforms.setNodes(editor, { type: options.type }, { at: ancestorPath })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyD;AACzD,qBAA6B;AAC7B,wBAA2B;AAC3B,sBAA8B;AAC9B,sBAAyB;AACzB,mBAA0B;AAOnB,SAAS,WACd,QACA,UAA6B,EAAE,MAAM,uBAAU,cAAc,GAC7D;AACA,QAAM,KAAK,QAAQ,MAAM,OAAO;AAChC,MAAI,MAAM;AAAM;AAChB,QAAM,QAAQ,8BAAc,aAAa,EAAE;AAC3C,QAAM,eAAe,kBAAK,UAAU,KAAK,EAAE,GAAG,CAAC;AAC/C,MAAI,CAAC,gBAAgB,CAAC,kBAAK,IAAI,QAAQ,YAAY;AAAG;AACtD,QAAM,WAAW,kBAAK,IAAI,QAAQ,YAAY;AAE9C,MAAI,CAAC,4BAAa,OAAO,QAAQ,GAAG;AAClC,eAAO,0BAAS,QAAQ,EAAE,MAAM,QAAQ,MAAM,GAAG,CAAC;AAAA,EACpD;AAEA,MAAI,SAAS,SAAS,QAAQ,MAAM;AAClC,sCAAW,QAAQ,EAAE,GAAG,CAAC;AAAA,EAC3B,OAAO;AACL,4BAAW,SAAS,QAAQ,EAAE,MAAM,QAAQ,KAAK,GAAG,EAAE,IAAI,aAAa,CAAC;AAAA,EAC1E;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/BlockPlugin/toggleList.ts"],"sourcesContent":["import { Editor, Location, Node, Path, Transforms } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { unwrapList } from './unwrapList'\nimport { LocationUtils } from './utils/location'\nimport { wrapList } from './wrapList'\nimport { BlockType } from '../types'\n\ntype ToggleListOptions = {\n type: typeof BlockType.UnorderedList | typeof BlockType.OrderedList\n at?: Location\n}\n\nexport function toggleList(\n editor: Editor,\n options: ToggleListOptions = { type: BlockType.UnorderedList },\n) {\n const at = options.at ?? editor.selection\n if (at == null) return\n const start = LocationUtils.getStartPath(at)\n const ancestorPath = Path.ancestors(start).at(1)\n if (!ancestorPath || !Node.has(editor, ancestorPath)) return\n const ancestor = Node.get(editor, ancestorPath)\n\n if (!Slate.isList(ancestor)) {\n return wrapList(editor, { type: options.type, at })\n }\n\n if (ancestor.type === options.type) {\n unwrapList(editor, { at })\n } else {\n Transforms.setNodes(editor, { type: options.type }, { at: ancestorPath })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAyD;AACzD,sBAAsB;AAEtB,wBAA2B;AAC3B,sBAA8B;AAC9B,sBAAyB;AACzB,mBAA0B;AAOnB,SAAS,WACd,QACA,UAA6B,EAAE,MAAM,uBAAU,cAAc,GAC7D;AACA,QAAM,KAAK,QAAQ,MAAM,OAAO;AAChC,MAAI,MAAM;AAAM;AAChB,QAAM,QAAQ,8BAAc,aAAa,EAAE;AAC3C,QAAM,eAAe,kBAAK,UAAU,KAAK,EAAE,GAAG,CAAC;AAC/C,MAAI,CAAC,gBAAgB,CAAC,kBAAK,IAAI,QAAQ,YAAY;AAAG;AACtD,QAAM,WAAW,kBAAK,IAAI,QAAQ,YAAY;AAE9C,MAAI,CAAC,sBAAM,OAAO,QAAQ,GAAG;AAC3B,eAAO,0BAAS,QAAQ,EAAE,MAAM,QAAQ,MAAM,GAAG,CAAC;AAAA,EACpD;AAEA,MAAI,SAAS,SAAS,QAAQ,MAAM;AAClC,sCAAW,QAAQ,EAAE,GAAG,CAAC;AAAA,EAC3B,OAAO;AACL,4BAAW,SAAS,QAAQ,EAAE,MAAM,QAAQ,KAAK,GAAG,EAAE,IAAI,aAAa,CAAC;AAAA,EAC1E;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/BlockPlugin/types.ts"],"sourcesContent":["import { ResponsiveBlockTextAlignment } from '../types'\n\nexport type EditableBlockKey = 'textAlign'\nexport type EditableBlockValue = ResponsiveBlockTextAlignment\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/BlockPlugin/types.ts"],"sourcesContent":["import { Slate } from '@makeswift/controls'\n\nexport type EditableBlockKey = 'textAlign'\nexport type EditableBlockValue = Slate.ResponsiveBlockTextAlignment\n"],"mappings":";;;;;;;;;;;;;;AAAA;AAAA;","names":[]}
@@ -22,11 +22,11 @@ __export(unwrapInline_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(unwrapInline_exports);
24
24
  var import_slate = require("slate");
25
- var import_element = require("../utils/element");
25
+ var import_controls = require("@makeswift/controls");
26
26
  var import_selectors = require("../selectors");
27
27
  function unwrapInline(editor, type) {
28
28
  import_slate.Transforms.unwrapNodes(editor, {
29
- match: (node) => import_element.ElementUtils.isInline(node) && node.type === type,
29
+ match: (node) => import_controls.Slate.isInline(node) && node.type === type,
30
30
  at: (0, import_selectors.getSelection)(editor)
31
31
  });
32
32
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/BlockPlugin/unwrapInline.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { getSelection } from '../selectors'\nimport { InlineType } from '../types'\n\nexport function unwrapInline(editor: Editor, type: InlineType) {\n Transforms.unwrapNodes(editor, {\n match: node => ElementUtils.isInline(node) && node.type === type,\n at: getSelection(editor),\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AACnC,qBAA6B;AAC7B,uBAA6B;AAGtB,SAAS,aAAa,QAAgB,MAAkB;AAC7D,0BAAW,YAAY,QAAQ;AAAA,IAC7B,OAAO,UAAQ,4BAAa,SAAS,IAAI,KAAK,KAAK,SAAS;AAAA,IAC5D,QAAI,+BAAa,MAAM;AAAA,EACzB,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/BlockPlugin/unwrapInline.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\n\nexport function unwrapInline(editor: Editor, type: Slate.InlineType) {\n Transforms.unwrapNodes(editor, {\n match: node => Slate.isInline(node) && node.type === type,\n at: getSelection(editor),\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AACnC,sBAAsB;AAEtB,uBAA6B;AAEtB,SAAS,aAAa,QAAgB,MAAwB;AACnE,0BAAW,YAAY,QAAQ;AAAA,IAC7B,OAAO,UAAQ,sBAAM,SAAS,IAAI,KAAK,KAAK,SAAS;AAAA,IACrD,QAAI,+BAAa,MAAM;AAAA,EACzB,CAAC;AACH;","names":[]}
@@ -23,11 +23,10 @@ __export(unwrapList_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(unwrapList_exports);
25
25
  var import_slate = require("slate");
26
+ var import_controls = require("@makeswift/controls");
26
27
  var import_editor = require("../utils/editor");
27
28
  var import_constants = require("./constants");
28
29
  var import_filterForSubtreeRoots = require("./utils/filterForSubtreeRoots");
29
- var import_element = require("../utils/element");
30
- var import_types = require("../types");
31
30
  function unwrapPath(editor, listItemPath) {
32
31
  const parentList = import_editor.EditorUtils.getFirstAncestorList(editor, listItemPath);
33
32
  const listItemContainingParentList = import_editor.EditorUtils.getFirstAncestorListItem(editor, listItemPath);
@@ -44,7 +43,7 @@ function unwrapPath(editor, listItemPath) {
44
43
  if (import_slate.Node.has(editor, listItemTextPath)) {
45
44
  import_slate.Transforms.setNodes(
46
45
  editor,
47
- { type: import_types.BlockType.Paragraph },
46
+ { type: import_controls.Slate.BlockType.Paragraph },
48
47
  {
49
48
  at: listItemTextPath
50
49
  }
@@ -62,7 +61,7 @@ function unwrapList(editor, options) {
62
61
  import_slate.Editor.nodes(editor, {
63
62
  at,
64
63
  match: (node) => {
65
- return import_slate.Element.isElement(node) && import_element.ElementUtils.isListItem(node);
64
+ return import_slate.Element.isElement(node) && import_controls.Slate.isListItem(node);
66
65
  }
67
66
  })
68
67
  );
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/BlockPlugin/unwrapList.ts"],"sourcesContent":["import { Editor, Element, Transforms, Path, Node, Location, Span } from 'slate'\nimport { EditorUtils } from '../utils/editor'\nimport { LIST_ITEM_CHILD_POSITION, LIST_ITEM_LIST_POSITION } from './constants'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\nimport { ElementUtils } from '../utils/element'\nimport { BlockType } from '../types'\n\nexport function unwrapPath(editor: Editor, listItemPath: Path) {\n const parentList = EditorUtils.getFirstAncestorList(editor, listItemPath)\n const listItemContainingParentList = EditorUtils.getFirstAncestorListItem(editor, listItemPath)\n //if this is a nested item we don't want to unwrap it\n if (!parentList || listItemContainingParentList) return\n\n Editor.withoutNormalizing(editor, () => {\n const listItemTextPath = [...listItemPath, LIST_ITEM_CHILD_POSITION]\n const listItemNestedListPath = [...listItemPath, LIST_ITEM_LIST_POSITION]\n\n if (Node.has(editor, listItemNestedListPath)) {\n Transforms.setNodes(editor, { type: parentList[0].type }, { at: listItemNestedListPath })\n Transforms.liftNodes(editor, { at: listItemNestedListPath })\n Transforms.liftNodes(editor, { at: Path.next(listItemPath) })\n }\n\n if (Node.has(editor, listItemTextPath)) {\n Transforms.setNodes(\n editor,\n { type: BlockType.Paragraph },\n {\n at: listItemTextPath,\n },\n )\n Transforms.liftNodes(editor, { at: listItemTextPath })\n Transforms.liftNodes(editor, { at: listItemPath })\n }\n })\n}\n\ntype UnwrapListOptions = {\n at?: Location | Span\n}\n\nexport function unwrapList(editor: Editor, options?: UnwrapListOptions) {\n const at = options?.at ?? editor.selection\n if (!at) return\n\n const listItems = Array.from(\n Editor.nodes(editor, {\n at,\n match: node => {\n return Element.isElement(node) && ElementUtils.isListItem(node)\n },\n }),\n )\n const subRoots = filterForSubtreeRoots(listItems)\n const refs = subRoots.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n if (ref.current) {\n unwrapPath(editor, ref.current)\n }\n ref.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwE;AACxE,oBAA4B;AAC5B,uBAAkE;AAClE,mCAAsC;AACtC,qBAA6B;AAC7B,mBAA0B;AAEnB,SAAS,WAAW,QAAgB,cAAoB;AAC7D,QAAM,aAAa,0BAAY,qBAAqB,QAAQ,YAAY;AACxE,QAAM,+BAA+B,0BAAY,yBAAyB,QAAQ,YAAY;AAE9F,MAAI,CAAC,cAAc;AAA8B;AAEjD,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,UAAM,mBAAmB,CAAC,GAAG,cAAc,yCAAwB;AACnE,UAAM,yBAAyB,CAAC,GAAG,cAAc,wCAAuB;AAExE,QAAI,kBAAK,IAAI,QAAQ,sBAAsB,GAAG;AAC5C,8BAAW,SAAS,QAAQ,EAAE,MAAM,WAAW,CAAC,EAAE,KAAK,GAAG,EAAE,IAAI,uBAAuB,CAAC;AACxF,8BAAW,UAAU,QAAQ,EAAE,IAAI,uBAAuB,CAAC;AAC3D,8BAAW,UAAU,QAAQ,EAAE,IAAI,kBAAK,KAAK,YAAY,EAAE,CAAC;AAAA,IAC9D;AAEA,QAAI,kBAAK,IAAI,QAAQ,gBAAgB,GAAG;AACtC,8BAAW;AAAA,QACT;AAAA,QACA,EAAE,MAAM,uBAAU,UAAU;AAAA,QAC5B;AAAA,UACE,IAAI;AAAA,QACN;AAAA,MACF;AACA,8BAAW,UAAU,QAAQ,EAAE,IAAI,iBAAiB,CAAC;AACrD,8BAAW,UAAU,QAAQ,EAAE,IAAI,aAAa,CAAC;AAAA,IACnD;AAAA,EACF,CAAC;AACH;AAMO,SAAS,WAAW,QAAgB,SAA6B;AACtE,QAAM,KAAK,SAAS,MAAM,OAAO;AACjC,MAAI,CAAC;AAAI;AAET,QAAM,YAAY,MAAM;AAAA,IACtB,oBAAO,MAAM,QAAQ;AAAA,MACnB;AAAA,MACA,OAAO,UAAQ;AACb,eAAO,qBAAQ,UAAU,IAAI,KAAK,4BAAa,WAAW,IAAI;AAAA,MAChE;AAAA,IACF,CAAC;AAAA,EACH;AACA,QAAM,eAAW,oDAAsB,SAAS;AAChD,QAAM,OAAO,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,oBAAO,QAAQ,QAAQ,IAAI,CAAC;AAErE,OAAK,QAAQ,SAAO;AAClB,QAAI,IAAI,SAAS;AACf,iBAAW,QAAQ,IAAI,OAAO;AAAA,IAChC;AACA,QAAI,MAAM;AAAA,EACZ,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/BlockPlugin/unwrapList.ts"],"sourcesContent":["import { Editor, Element, Transforms, Path, Node, Location, Span } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { EditorUtils } from '../utils/editor'\nimport { LIST_ITEM_CHILD_POSITION, LIST_ITEM_LIST_POSITION } from './constants'\nimport { filterForSubtreeRoots } from './utils/filterForSubtreeRoots'\n\nexport function unwrapPath(editor: Editor, listItemPath: Path) {\n const parentList = EditorUtils.getFirstAncestorList(editor, listItemPath)\n const listItemContainingParentList = EditorUtils.getFirstAncestorListItem(editor, listItemPath)\n //if this is a nested item we don't want to unwrap it\n if (!parentList || listItemContainingParentList) return\n\n Editor.withoutNormalizing(editor, () => {\n const listItemTextPath = [...listItemPath, LIST_ITEM_CHILD_POSITION]\n const listItemNestedListPath = [...listItemPath, LIST_ITEM_LIST_POSITION]\n\n if (Node.has(editor, listItemNestedListPath)) {\n Transforms.setNodes(editor, { type: parentList[0].type }, { at: listItemNestedListPath })\n Transforms.liftNodes(editor, { at: listItemNestedListPath })\n Transforms.liftNodes(editor, { at: Path.next(listItemPath) })\n }\n\n if (Node.has(editor, listItemTextPath)) {\n Transforms.setNodes(\n editor,\n { type: Slate.BlockType.Paragraph },\n {\n at: listItemTextPath,\n },\n )\n Transforms.liftNodes(editor, { at: listItemTextPath })\n Transforms.liftNodes(editor, { at: listItemPath })\n }\n })\n}\n\ntype UnwrapListOptions = {\n at?: Location | Span\n}\n\nexport function unwrapList(editor: Editor, options?: UnwrapListOptions) {\n const at = options?.at ?? editor.selection\n if (!at) return\n\n const listItems = Array.from(\n Editor.nodes(editor, {\n at,\n match: node => {\n return Element.isElement(node) && Slate.isListItem(node)\n },\n }),\n )\n const subRoots = filterForSubtreeRoots(listItems)\n const refs = subRoots.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n if (ref.current) {\n unwrapPath(editor, ref.current)\n }\n ref.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwE;AACxE,sBAAsB;AAEtB,oBAA4B;AAC5B,uBAAkE;AAClE,mCAAsC;AAE/B,SAAS,WAAW,QAAgB,cAAoB;AAC7D,QAAM,aAAa,0BAAY,qBAAqB,QAAQ,YAAY;AACxE,QAAM,+BAA+B,0BAAY,yBAAyB,QAAQ,YAAY;AAE9F,MAAI,CAAC,cAAc;AAA8B;AAEjD,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,UAAM,mBAAmB,CAAC,GAAG,cAAc,yCAAwB;AACnE,UAAM,yBAAyB,CAAC,GAAG,cAAc,wCAAuB;AAExE,QAAI,kBAAK,IAAI,QAAQ,sBAAsB,GAAG;AAC5C,8BAAW,SAAS,QAAQ,EAAE,MAAM,WAAW,CAAC,EAAE,KAAK,GAAG,EAAE,IAAI,uBAAuB,CAAC;AACxF,8BAAW,UAAU,QAAQ,EAAE,IAAI,uBAAuB,CAAC;AAC3D,8BAAW,UAAU,QAAQ,EAAE,IAAI,kBAAK,KAAK,YAAY,EAAE,CAAC;AAAA,IAC9D;AAEA,QAAI,kBAAK,IAAI,QAAQ,gBAAgB,GAAG;AACtC,8BAAW;AAAA,QACT;AAAA,QACA,EAAE,MAAM,sBAAM,UAAU,UAAU;AAAA,QAClC;AAAA,UACE,IAAI;AAAA,QACN;AAAA,MACF;AACA,8BAAW,UAAU,QAAQ,EAAE,IAAI,iBAAiB,CAAC;AACrD,8BAAW,UAAU,QAAQ,EAAE,IAAI,aAAa,CAAC;AAAA,IACnD;AAAA,EACF,CAAC;AACH;AAMO,SAAS,WAAW,QAAgB,SAA6B;AACtE,QAAM,KAAK,SAAS,MAAM,OAAO;AACjC,MAAI,CAAC;AAAI;AAET,QAAM,YAAY,MAAM;AAAA,IACtB,oBAAO,MAAM,QAAQ;AAAA,MACnB;AAAA,MACA,OAAO,UAAQ;AACb,eAAO,qBAAQ,UAAU,IAAI,KAAK,sBAAM,WAAW,IAAI;AAAA,MACzD;AAAA,IACF,CAAC;AAAA,EACH;AACA,QAAM,eAAW,oDAAsB,SAAS;AAChD,QAAM,OAAO,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,oBAAO,QAAQ,QAAQ,IAAI,CAAC;AAErE,OAAK,QAAQ,SAAO;AAClB,QAAI,IAAI,SAAS;AACf,iBAAW,QAAQ,IAAI,OAAO;AAAA,IAChC;AACA,QAAI,MAAM;AAAA,EACZ,CAAC;AACH;","names":[]}
@@ -22,8 +22,8 @@ __export(getSelectedListItems_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(getSelectedListItems_exports);
24
24
  var import_slate = require("slate");
25
+ var import_controls = require("@makeswift/controls");
25
26
  var import_editor = require("../../utils/editor");
26
- var import_element = require("../../utils/element");
27
27
  var import_location = require("./location");
28
28
  function getSelectedListItems(editor) {
29
29
  if (!editor.selection)
@@ -31,7 +31,7 @@ function getSelectedListItems(editor) {
31
31
  const start = import_location.LocationUtils.getStartPath(editor.selection);
32
32
  const listItems = import_slate.Editor.nodes(editor, {
33
33
  at: editor.selection,
34
- match: (node) => import_element.ElementUtils.isListItem(node)
34
+ match: import_controls.Slate.isListItem
35
35
  });
36
36
  const firstAncestorPath = import_editor.EditorUtils.getFirstAncestorListItem(editor, start)?.[1] ?? [];
37
37
  return Array.from(listItems).filter(
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/slate/BlockPlugin/utils/getSelectedListItems.ts"],"sourcesContent":["import type { Element, NodeEntry } from 'slate'\nimport { Editor, Path } from 'slate'\nimport { EditorUtils } from '../../utils/editor'\nimport { ElementUtils } from '../../utils/element'\nimport { LocationUtils } from './location'\n\nexport function getSelectedListItems(editor: Editor): NodeEntry<Element>[] {\n if (!editor.selection) return []\n\n const start = LocationUtils.getStartPath(editor.selection)\n const listItems = Editor.nodes(editor, {\n at: editor.selection,\n match: node => ElementUtils.isListItem(node),\n })\n const firstAncestorPath = EditorUtils.getFirstAncestorListItem(editor, start)?.[1] ?? []\n\n return Array.from(listItems).filter((node): node is NodeEntry<Element> =>\n Path.isDescendant(start, node[1])\n ? Path.equals(node[1], firstAncestorPath)\n : !Path.isAfter(start, node[1]),\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA6B;AAC7B,oBAA4B;AAC5B,qBAA6B;AAC7B,sBAA8B;AAEvB,SAAS,qBAAqB,QAAsC;AACzE,MAAI,CAAC,OAAO;AAAW,WAAO,CAAC;AAE/B,QAAM,QAAQ,8BAAc,aAAa,OAAO,SAAS;AACzD,QAAM,YAAY,oBAAO,MAAM,QAAQ;AAAA,IACrC,IAAI,OAAO;AAAA,IACX,OAAO,UAAQ,4BAAa,WAAW,IAAI;AAAA,EAC7C,CAAC;AACD,QAAM,oBAAoB,0BAAY,yBAAyB,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC;AAEvF,SAAO,MAAM,KAAK,SAAS,EAAE;AAAA,IAAO,CAAC,SACnC,kBAAK,aAAa,OAAO,KAAK,CAAC,CAAC,IAC5B,kBAAK,OAAO,KAAK,CAAC,GAAG,iBAAiB,IACtC,CAAC,kBAAK,QAAQ,OAAO,KAAK,CAAC,CAAC;AAAA,EAClC;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../../src/slate/BlockPlugin/utils/getSelectedListItems.ts"],"sourcesContent":["import type { NodeEntry } from 'slate'\nimport { Editor, Path } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { EditorUtils } from '../../utils/editor'\nimport { LocationUtils } from './location'\n\nexport function getSelectedListItems(editor: Editor): NodeEntry<Slate.Element>[] {\n if (!editor.selection) return []\n\n const start = LocationUtils.getStartPath(editor.selection)\n const listItems = Editor.nodes(editor, {\n at: editor.selection,\n match: Slate.isListItem,\n })\n\n const firstAncestorPath = EditorUtils.getFirstAncestorListItem(editor, start)?.[1] ?? []\n\n return Array.from(listItems).filter(node =>\n Path.isDescendant(start, node[1])\n ? Path.equals(node[1], firstAncestorPath)\n : !Path.isAfter(start, node[1]),\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,mBAA6B;AAC7B,sBAAsB;AAEtB,oBAA4B;AAC5B,sBAA8B;AAEvB,SAAS,qBAAqB,QAA4C;AAC/E,MAAI,CAAC,OAAO;AAAW,WAAO,CAAC;AAE/B,QAAM,QAAQ,8BAAc,aAAa,OAAO,SAAS;AACzD,QAAM,YAAY,oBAAO,MAAM,QAAQ;AAAA,IACrC,IAAI,OAAO;AAAA,IACX,OAAO,sBAAM;AAAA,EACf,CAAC;AAED,QAAM,oBAAoB,0BAAY,yBAAyB,QAAQ,KAAK,IAAI,CAAC,KAAK,CAAC;AAEvF,SAAO,MAAM,KAAK,SAAS,EAAE;AAAA,IAAO,UAClC,kBAAK,aAAa,OAAO,KAAK,CAAC,CAAC,IAC5B,kBAAK,OAAO,KAAK,CAAC,GAAG,iBAAiB,IACtC,CAAC,kBAAK,QAAQ,OAAO,KAAK,CAAC,CAAC;AAAA,EAClC;AACF;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/BlockPlugin/wrapInline.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport { getSelection } from '../selectors'\nimport { Inline } from '../types'\n\nexport function wrapInline(editor: Editor, inline: Inline) {\n Transforms.wrapNodes(editor, inline, {\n at: getSelection(editor),\n split: true,\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AACnC,uBAA6B;AAGtB,SAAS,WAAW,QAAgB,QAAgB;AACzD,0BAAW,UAAU,QAAQ,QAAQ;AAAA,IACnC,QAAI,+BAAa,MAAM;AAAA,IACvB,OAAO;AAAA,EACT,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/BlockPlugin/wrapInline.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\n\nexport function wrapInline(editor: Editor, inline: Slate.Inline) {\n Transforms.wrapNodes(editor, inline, {\n at: getSelection(editor),\n split: true,\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AAGnC,uBAA6B;AAEtB,SAAS,WAAW,QAAgB,QAAsB;AAC/D,0BAAW,UAAU,QAAQ,QAAQ;AAAA,IACnC,QAAI,+BAAa,MAAM;AAAA,IACvB,OAAO;AAAA,EACT,CAAC;AACH;","names":[]}
@@ -22,8 +22,9 @@ __export(wrapList_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(wrapList_exports);
24
24
  var import_slate = require("slate");
25
+ var import_controls = require("@makeswift/controls");
25
26
  var import_element = require("../utils/element");
26
- var import_types = require("../types");
27
+ var import_types = require("../../slate/types");
27
28
  function wrapList(editor, options = { type: import_types.BlockType.UnorderedList }) {
28
29
  const at = options.at ?? editor.selection;
29
30
  if (!at)
@@ -32,7 +33,7 @@ function wrapList(editor, options = { type: import_types.BlockType.UnorderedList
32
33
  import_slate.Editor.nodes(editor, {
33
34
  at,
34
35
  match: (node) => {
35
- return import_slate.Element.isElement(node) && import_element.ElementUtils.isConvertibleToListTextNode(node);
36
+ return import_slate.Element.isElement(node) && import_controls.Slate.isConvertibleToListTextNode(node);
36
37
  }
37
38
  })
38
39
  );
@@ -49,7 +50,7 @@ function wrapList(editor, options = { type: import_types.BlockType.UnorderedList
49
50
  }
50
51
  );
51
52
  import_slate.Transforms.wrapNodes(editor, import_element.ElementUtils.createListItem(), {
52
- match: (node) => import_element.ElementUtils.isListItemChild(node),
53
+ match: (node) => import_controls.Slate.isListItemChild(node),
53
54
  at: path
54
55
  });
55
56
  import_slate.Transforms.wrapNodes(editor, import_element.ElementUtils.createList(options.type), {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/BlockPlugin/wrapList.ts"],"sourcesContent":["import { Editor, Element, Location, Span, Transforms } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { BlockType } from '../types'\n\ntype WrapListOptions = {\n type: typeof BlockType.UnorderedList | typeof BlockType.OrderedList\n at?: Location | Span\n}\n\nexport function wrapList(\n editor: Editor,\n options: WrapListOptions = { type: BlockType.UnorderedList },\n) {\n const at = options.at ?? editor.selection\n if (!at) return\n\n const nonListEntries = Array.from(\n Editor.nodes(editor, {\n at,\n match: node => {\n return Element.isElement(node) && ElementUtils.isConvertibleToListTextNode(node)\n },\n }),\n )\n\n const refs = nonListEntries.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n const path = ref.current\n if (path) {\n Editor.withoutNormalizing(editor, () => {\n Transforms.setNodes(\n editor,\n { type: BlockType.ListItemChild },\n {\n at: path,\n },\n )\n Transforms.wrapNodes(editor, ElementUtils.createListItem(), {\n match: node => ElementUtils.isListItemChild(node),\n at: path,\n })\n Transforms.wrapNodes(editor, ElementUtils.createList(options.type), {\n at: path,\n })\n })\n }\n ref.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA4D;AAC5D,qBAA6B;AAC7B,mBAA0B;AAOnB,SAAS,SACd,QACA,UAA2B,EAAE,MAAM,uBAAU,cAAc,GAC3D;AACA,QAAM,KAAK,QAAQ,MAAM,OAAO;AAChC,MAAI,CAAC;AAAI;AAET,QAAM,iBAAiB,MAAM;AAAA,IAC3B,oBAAO,MAAM,QAAQ;AAAA,MACnB;AAAA,MACA,OAAO,UAAQ;AACb,eAAO,qBAAQ,UAAU,IAAI,KAAK,4BAAa,4BAA4B,IAAI;AAAA,MACjF;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,OAAO,eAAe,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,oBAAO,QAAQ,QAAQ,IAAI,CAAC;AAE3E,OAAK,QAAQ,SAAO;AAClB,UAAM,OAAO,IAAI;AACjB,QAAI,MAAM;AACR,0BAAO,mBAAmB,QAAQ,MAAM;AACtC,gCAAW;AAAA,UACT;AAAA,UACA,EAAE,MAAM,uBAAU,cAAc;AAAA,UAChC;AAAA,YACE,IAAI;AAAA,UACN;AAAA,QACF;AACA,gCAAW,UAAU,QAAQ,4BAAa,eAAe,GAAG;AAAA,UAC1D,OAAO,UAAQ,4BAAa,gBAAgB,IAAI;AAAA,UAChD,IAAI;AAAA,QACN,CAAC;AACD,gCAAW,UAAU,QAAQ,4BAAa,WAAW,QAAQ,IAAI,GAAG;AAAA,UAClE,IAAI;AAAA,QACN,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AACA,QAAI,MAAM;AAAA,EACZ,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/BlockPlugin/wrapList.ts"],"sourcesContent":["import { Editor, Element, Location, Span, Transforms } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { ElementUtils } from '../utils/element'\nimport { BlockType } from '../../slate/types'\n\ntype WrapListOptions = {\n type: typeof BlockType.UnorderedList | typeof BlockType.OrderedList\n at?: Location | Span\n}\n\nexport function wrapList(\n editor: Editor,\n options: WrapListOptions = { type: BlockType.UnorderedList },\n) {\n const at = options.at ?? editor.selection\n if (!at) return\n\n const nonListEntries = Array.from(\n Editor.nodes(editor, {\n at,\n match: node => {\n return Element.isElement(node) && Slate.isConvertibleToListTextNode(node)\n },\n }),\n )\n\n const refs = nonListEntries.map(([_, path]) => Editor.pathRef(editor, path))\n\n refs.forEach(ref => {\n const path = ref.current\n if (path) {\n Editor.withoutNormalizing(editor, () => {\n Transforms.setNodes(\n editor,\n { type: BlockType.ListItemChild },\n {\n at: path,\n },\n )\n Transforms.wrapNodes(editor, ElementUtils.createListItem(), {\n match: node => Slate.isListItemChild(node),\n at: path,\n })\n Transforms.wrapNodes(editor, ElementUtils.createList(options.type), {\n at: path,\n })\n })\n }\n ref.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA4D;AAC5D,sBAAsB;AAEtB,qBAA6B;AAC7B,mBAA0B;AAOnB,SAAS,SACd,QACA,UAA2B,EAAE,MAAM,uBAAU,cAAc,GAC3D;AACA,QAAM,KAAK,QAAQ,MAAM,OAAO;AAChC,MAAI,CAAC;AAAI;AAET,QAAM,iBAAiB,MAAM;AAAA,IAC3B,oBAAO,MAAM,QAAQ;AAAA,MACnB;AAAA,MACA,OAAO,UAAQ;AACb,eAAO,qBAAQ,UAAU,IAAI,KAAK,sBAAM,4BAA4B,IAAI;AAAA,MAC1E;AAAA,IACF,CAAC;AAAA,EACH;AAEA,QAAM,OAAO,eAAe,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,oBAAO,QAAQ,QAAQ,IAAI,CAAC;AAE3E,OAAK,QAAQ,SAAO;AAClB,UAAM,OAAO,IAAI;AACjB,QAAI,MAAM;AACR,0BAAO,mBAAmB,QAAQ,MAAM;AACtC,gCAAW;AAAA,UACT;AAAA,UACA,EAAE,MAAM,uBAAU,cAAc;AAAA,UAChC;AAAA,YACE,IAAI;AAAA,UACN;AAAA,QACF;AACA,gCAAW,UAAU,QAAQ,4BAAa,eAAe,GAAG;AAAA,UAC1D,OAAO,UAAQ,sBAAM,gBAAgB,IAAI;AAAA,UACzC,IAAI;AAAA,QACN,CAAC;AACD,gCAAW,UAAU,QAAQ,4BAAa,WAAW,QAAQ,IAAI,GAAG;AAAA,UAClE,IAAI;AAAA,QACN,CAAC;AAAA,MACH,CAAC;AAAA,IACH;AACA,QAAI,MAAM;AAAA,EACZ,CAAC;AACH;","names":[]}
@@ -23,11 +23,11 @@ __export(BuilderPlugin_exports, {
23
23
  module.exports = __toCommonJS(BuilderPlugin_exports);
24
24
  var import_slate = require("slate");
25
25
  var import_slate_react = require("slate-react");
26
- var import_element = require("../utils/element");
26
+ var import_controls = require("@makeswift/controls");
27
27
  function withBuilder(editor) {
28
28
  editor.resetValue = function(value) {
29
29
  const firstRootBlock = import_slate.Node.has(editor, [0]) && import_slate.Node.get(editor, [0]);
30
- const textAlignOfFirstBlock = firstRootBlock && import_element.ElementUtils.isRootBlock(firstRootBlock) ? firstRootBlock.textAlign : void 0;
30
+ const textAlignOfFirstBlock = firstRootBlock && import_controls.Slate.isRootBlock(firstRootBlock) ? firstRootBlock.textAlign : void 0;
31
31
  const typographyOfFirstText = Array.from(import_slate.Node.texts(editor)).at(0)?.[0].typography;
32
32
  import_slate_react.ReactEditor.deselect(editor);
33
33
  import_slate_react.ReactEditor.blur(editor);
@@ -51,7 +51,7 @@ function withBuilder(editor) {
51
51
  editor,
52
52
  { textAlign: textAlignOfFirstBlock },
53
53
  {
54
- match: import_element.ElementUtils.isRootBlock,
54
+ match: import_controls.Slate.isRootBlock,
55
55
  at: {
56
56
  anchor: import_slate.Editor.start(editor, []),
57
57
  focus: import_slate.Editor.end(editor, [])
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/BuilderPlugin/index.ts"],"sourcesContent":["import { BaseEditor, Descendant, Editor, Transforms, Text, Node } from 'slate'\nimport { ReactEditor } from 'slate-react'\nimport { ElementUtils } from '../utils/element'\n\nexport interface BuilderEditor extends BaseEditor {\n focusAndSelectAll: () => void\n deselectAndBlur: () => void\n resetValue: (value: Descendant[]) => void\n}\n\nexport function withBuilder(editor: Editor) {\n editor.resetValue = function (value: Descendant[]) {\n const firstRootBlock = Node.has(editor, [0]) && Node.get(editor, [0])\n const textAlignOfFirstBlock =\n firstRootBlock && ElementUtils.isRootBlock(firstRootBlock)\n ? firstRootBlock.textAlign\n : undefined\n const typographyOfFirstText = Array.from(Node.texts(editor)).at(0)?.[0].typography\n\n ReactEditor.deselect(editor)\n ReactEditor.blur(editor)\n\n editor.children = value\n editor.onChange()\n\n if (typographyOfFirstText) {\n Transforms.setNodes(\n editor,\n { typography: typographyOfFirstText },\n {\n match: Text.isText,\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n },\n )\n }\n if (textAlignOfFirstBlock) {\n Transforms.setNodes(\n editor,\n { textAlign: textAlignOfFirstBlock },\n {\n match: ElementUtils.isRootBlock,\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n },\n )\n }\n }\n editor.deselectAndBlur = function () {\n ReactEditor.deselect(editor)\n ReactEditor.blur(editor)\n }\n\n editor.focusAndSelectAll = function () {\n ReactEditor.focus(editor)\n Transforms.select(editor, {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n })\n }\n\n return editor\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuE;AACvE,yBAA4B;AAC5B,qBAA6B;AAQtB,SAAS,YAAY,QAAgB;AAC1C,SAAO,aAAa,SAAU,OAAqB;AACjD,UAAM,iBAAiB,kBAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,kBAAK,IAAI,QAAQ,CAAC,CAAC,CAAC;AACpE,UAAM,wBACJ,kBAAkB,4BAAa,YAAY,cAAc,IACrD,eAAe,YACf;AACN,UAAM,wBAAwB,MAAM,KAAK,kBAAK,MAAM,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;AAExE,mCAAY,SAAS,MAAM;AAC3B,mCAAY,KAAK,MAAM;AAEvB,WAAO,WAAW;AAClB,WAAO,SAAS;AAEhB,QAAI,uBAAuB;AACzB,8BAAW;AAAA,QACT;AAAA,QACA,EAAE,YAAY,sBAAsB;AAAA,QACpC;AAAA,UACE,OAAO,kBAAK;AAAA,UACZ,IAAI;AAAA,YACF,QAAQ,oBAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,YAC/B,OAAO,oBAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,uBAAuB;AACzB,8BAAW;AAAA,QACT;AAAA,QACA,EAAE,WAAW,sBAAsB;AAAA,QACnC;AAAA,UACE,OAAO,4BAAa;AAAA,UACpB,IAAI;AAAA,YACF,QAAQ,oBAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,YAC/B,OAAO,oBAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO,kBAAkB,WAAY;AACnC,mCAAY,SAAS,MAAM;AAC3B,mCAAY,KAAK,MAAM;AAAA,EACzB;AAEA,SAAO,oBAAoB,WAAY;AACrC,mCAAY,MAAM,MAAM;AACxB,4BAAW,OAAO,QAAQ;AAAA,MACxB,QAAQ,oBAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,MAC/B,OAAO,oBAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,IAC9B,CAAC;AAAA,EACH;AAEA,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/BuilderPlugin/index.ts"],"sourcesContent":["import { BaseEditor, Descendant, Editor, Transforms, Text, Node } from 'slate'\nimport { ReactEditor } from 'slate-react'\nimport { Slate } from '@makeswift/controls'\n\nexport interface BuilderEditor extends BaseEditor {\n focusAndSelectAll: () => void\n deselectAndBlur: () => void\n resetValue: (value: Descendant[]) => void\n}\n\nexport function withBuilder(editor: Editor) {\n editor.resetValue = function (value: Descendant[]) {\n const firstRootBlock = Node.has(editor, [0]) && Node.get(editor, [0])\n const textAlignOfFirstBlock =\n firstRootBlock && Slate.isRootBlock(firstRootBlock) ? firstRootBlock.textAlign : undefined\n const typographyOfFirstText = Array.from(Node.texts(editor)).at(0)?.[0].typography\n\n ReactEditor.deselect(editor)\n ReactEditor.blur(editor)\n\n editor.children = value\n editor.onChange()\n\n if (typographyOfFirstText) {\n Transforms.setNodes(\n editor,\n { typography: typographyOfFirstText },\n {\n match: Text.isText,\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n },\n )\n }\n if (textAlignOfFirstBlock) {\n Transforms.setNodes(\n editor,\n { textAlign: textAlignOfFirstBlock },\n {\n match: Slate.isRootBlock,\n at: {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n },\n },\n )\n }\n }\n editor.deselectAndBlur = function () {\n ReactEditor.deselect(editor)\n ReactEditor.blur(editor)\n }\n\n editor.focusAndSelectAll = function () {\n ReactEditor.focus(editor)\n Transforms.select(editor, {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n })\n }\n\n return editor\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuE;AACvE,yBAA4B;AAC5B,sBAAsB;AAQf,SAAS,YAAY,QAAgB;AAC1C,SAAO,aAAa,SAAU,OAAqB;AACjD,UAAM,iBAAiB,kBAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,kBAAK,IAAI,QAAQ,CAAC,CAAC,CAAC;AACpE,UAAM,wBACJ,kBAAkB,sBAAM,YAAY,cAAc,IAAI,eAAe,YAAY;AACnF,UAAM,wBAAwB,MAAM,KAAK,kBAAK,MAAM,MAAM,CAAC,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;AAExE,mCAAY,SAAS,MAAM;AAC3B,mCAAY,KAAK,MAAM;AAEvB,WAAO,WAAW;AAClB,WAAO,SAAS;AAEhB,QAAI,uBAAuB;AACzB,8BAAW;AAAA,QACT;AAAA,QACA,EAAE,YAAY,sBAAsB;AAAA,QACpC;AAAA,UACE,OAAO,kBAAK;AAAA,UACZ,IAAI;AAAA,YACF,QAAQ,oBAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,YAC/B,OAAO,oBAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,QAAI,uBAAuB;AACzB,8BAAW;AAAA,QACT;AAAA,QACA,EAAE,WAAW,sBAAsB;AAAA,QACnC;AAAA,UACE,OAAO,sBAAM;AAAA,UACb,IAAI;AAAA,YACF,QAAQ,oBAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,YAC/B,OAAO,oBAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO,kBAAkB,WAAY;AACnC,mCAAY,SAAS,MAAM;AAC3B,mCAAY,KAAK,MAAM;AAAA,EACzB;AAEA,SAAO,oBAAoB,WAAY;AACrC,mCAAY,MAAM,MAAM;AACxB,4BAAW,OAAO,QAAQ;AAAA,MACxB,QAAQ,oBAAO,MAAM,QAAQ,CAAC,CAAC;AAAA,MAC/B,OAAO,oBAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,IAC9B,CAAC;AAAA,EACH;AAEA,SAAO;AACT;","names":[]}
@@ -35,9 +35,8 @@ module.exports = __toCommonJS(InlineModePlugin_exports);
35
35
  var import_jsx_runtime = require("react/jsx-runtime");
36
36
  var import_slate = require("slate");
37
37
  var import_is_hotkey = __toESM(require("is-hotkey"));
38
+ var import_controls = require("@makeswift/controls");
38
39
  var import_plugin = require("../../controls/rich-text-v2/plugin");
39
- var import_element = require("../utils/element");
40
- var import_types = require("../types");
41
40
  const BLOCK_ONE_PATH = [0];
42
41
  const BLOCK_TWO_PATH = [1];
43
42
  function withInlineMode(editor) {
@@ -48,14 +47,14 @@ function withInlineMode(editor) {
48
47
  import_slate.Transforms.mergeNodes(editor, { at: BLOCK_TWO_PATH });
49
48
  return;
50
49
  }
51
- if (import_slate.Path.isAncestor(BLOCK_ONE_PATH, normalizationPath) && import_element.ElementUtils.isBlock(normalizationNode)) {
50
+ if (import_slate.Path.isAncestor(BLOCK_ONE_PATH, normalizationPath) && import_controls.Slate.isBlock(normalizationNode)) {
52
51
  import_slate.Transforms.unwrapNodes(editor, {
53
52
  at: normalizationPath
54
53
  });
55
54
  return;
56
55
  }
57
56
  if (import_slate.Path.equals(BLOCK_ONE_PATH, normalizationPath)) {
58
- import_slate.Transforms.setNodes(editor, { type: import_types.BlockType.Default }, { at: normalizationPath });
57
+ import_slate.Transforms.setNodes(editor, { type: import_controls.Slate.BlockType.Default }, { at: normalizationPath });
59
58
  return;
60
59
  }
61
60
  normalizeNode(entry);
@@ -63,7 +62,7 @@ function withInlineMode(editor) {
63
62
  return editor;
64
63
  }
65
64
  function InlineModePlugin() {
66
- return (0, import_plugin.createRichTextV2Plugin)({
65
+ return (0, import_plugin.Plugin)({
67
66
  onKeyDown: (e) => {
68
67
  if ((0, import_is_hotkey.default)("enter", e))
69
68
  e.preventDefault();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/InlineModePlugin/index.tsx"],"sourcesContent":["import { Editor, Path, Text, Transforms } from 'slate'\nimport { KeyboardEvent } from 'react'\nimport isHotkey from 'is-hotkey'\nimport { RenderElement, createRichTextV2Plugin } from '../../controls/rich-text-v2/plugin'\nimport { ElementUtils } from '../utils/element'\nimport { BlockType } from '../types'\nimport { RenderElementProps } from 'slate-react'\n\nconst BLOCK_ONE_PATH = [0]\nconst BLOCK_TWO_PATH = [1]\n\nexport function withInlineMode(editor: Editor): Editor {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n\n /**\n * Merge root nodes past the first one\n */\n if (Path.equals(BLOCK_TWO_PATH, normalizationPath)) {\n Transforms.mergeNodes(editor, { at: BLOCK_TWO_PATH })\n return\n }\n /**\n * Unwrap non text nodes of first root node\n */\n if (\n Path.isAncestor(BLOCK_ONE_PATH, normalizationPath) &&\n ElementUtils.isBlock(normalizationNode)\n ) {\n Transforms.unwrapNodes(editor, {\n at: normalizationPath,\n })\n return\n }\n /**\n * Update type of root nodes to be `text-block`\n */\n if (Path.equals(BLOCK_ONE_PATH, normalizationPath)) {\n Transforms.setNodes(editor, { type: BlockType.Default }, { at: normalizationPath })\n return\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n\nexport function InlineModePlugin() {\n return createRichTextV2Plugin({\n onKeyDown: (e: KeyboardEvent) => {\n if (isHotkey('enter', e)) e.preventDefault()\n },\n withPlugin: withInlineMode,\n renderElement: renderElement => props =>\n <InlineModePluginComponent {...props} renderElement={renderElement} />,\n })\n}\n\nconst minWidth = `${'Write some text...'.length}ch`\n\nfunction InlineModePluginComponent({\n renderElement,\n ...props\n}: RenderElementProps & { renderElement: RenderElement }) {\n if (props.element.children.length === 1) {\n const text = props.element.children[0]\n\n if (Text.isText(text) && text.text === '') {\n return (\n <span style={{ display: 'inline-block', minWidth }} {...props.attributes}>\n {renderElement(props)}\n </span>\n )\n }\n }\n\n return (\n <span style={{ minWidth }} {...props.attributes}>\n {renderElement(props)}\n </span>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAwDM;AAxDN,mBAA+C;AAE/C,uBAAqB;AACrB,oBAAsD;AACtD,qBAA6B;AAC7B,mBAA0B;AAG1B,MAAM,iBAAiB,CAAC,CAAC;AACzB,MAAM,iBAAiB,CAAC,CAAC;AAElB,SAAS,eAAe,QAAwB;AACrD,QAAM,EAAE,cAAc,IAAI;AAC1B,SAAO,gBAAgB,WAAS;AAC9B,UAAM,CAAC,mBAAmB,iBAAiB,IAAI;AAK/C,QAAI,kBAAK,OAAO,gBAAgB,iBAAiB,GAAG;AAClD,8BAAW,WAAW,QAAQ,EAAE,IAAI,eAAe,CAAC;AACpD;AAAA,IACF;AAIA,QACE,kBAAK,WAAW,gBAAgB,iBAAiB,KACjD,4BAAa,QAAQ,iBAAiB,GACtC;AACA,8BAAW,YAAY,QAAQ;AAAA,QAC7B,IAAI;AAAA,MACN,CAAC;AACD;AAAA,IACF;AAIA,QAAI,kBAAK,OAAO,gBAAgB,iBAAiB,GAAG;AAClD,8BAAW,SAAS,QAAQ,EAAE,MAAM,uBAAU,QAAQ,GAAG,EAAE,IAAI,kBAAkB,CAAC;AAClF;AAAA,IACF;AAEA,kBAAc,KAAK;AAAA,EACrB;AAEA,SAAO;AACT;AAEO,SAAS,mBAAmB;AACjC,aAAO,sCAAuB;AAAA,IAC5B,WAAW,CAAC,MAAqB;AAC/B,cAAI,iBAAAA,SAAS,SAAS,CAAC;AAAG,UAAE,eAAe;AAAA,IAC7C;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,mBAAiB,WAC9B,4CAAC,6BAA2B,GAAG,OAAO,eAA8B;AAAA,EACxE,CAAC;AACH;AAEA,MAAM,WAAW,GAAG,qBAAqB,MAAM;AAE/C,SAAS,0BAA0B;AAAA,EACjC;AAAA,EACA,GAAG;AACL,GAA0D;AACxD,MAAI,MAAM,QAAQ,SAAS,WAAW,GAAG;AACvC,UAAM,OAAO,MAAM,QAAQ,SAAS,CAAC;AAErC,QAAI,kBAAK,OAAO,IAAI,KAAK,KAAK,SAAS,IAAI;AACzC,aACE,4CAAC,UAAK,OAAO,EAAE,SAAS,gBAAgB,SAAS,GAAI,GAAG,MAAM,YAC3D,wBAAc,KAAK,GACtB;AAAA,IAEJ;AAAA,EACF;AAEA,SACE,4CAAC,UAAK,OAAO,EAAE,SAAS,GAAI,GAAG,MAAM,YAClC,wBAAc,KAAK,GACtB;AAEJ;","names":["isHotkey"]}
1
+ {"version":3,"sources":["../../../../src/slate/InlineModePlugin/index.tsx"],"sourcesContent":["import { type KeyboardEvent } from 'react'\nimport { type Editor, Path, Text, Transforms } from 'slate'\nimport { type RenderElementProps } from 'slate-react'\nimport isHotkey from 'is-hotkey'\n\nimport { Slate } from '@makeswift/controls'\n\nimport { type RenderElement, Plugin } from '../../controls/rich-text-v2/plugin'\n\nconst BLOCK_ONE_PATH = [0]\nconst BLOCK_TWO_PATH = [1]\n\nexport function withInlineMode(editor: Editor): Editor {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n\n /**\n * Merge root nodes past the first one\n */\n if (Path.equals(BLOCK_TWO_PATH, normalizationPath)) {\n Transforms.mergeNodes(editor, { at: BLOCK_TWO_PATH })\n return\n }\n /**\n * Unwrap non text nodes of first root node\n */\n if (Path.isAncestor(BLOCK_ONE_PATH, normalizationPath) && Slate.isBlock(normalizationNode)) {\n Transforms.unwrapNodes(editor, {\n at: normalizationPath,\n })\n return\n }\n /**\n * Update type of root nodes to be `text-block`\n */\n if (Path.equals(BLOCK_ONE_PATH, normalizationPath)) {\n Transforms.setNodes(editor, { type: Slate.BlockType.Default }, { at: normalizationPath })\n return\n }\n\n normalizeNode(entry)\n }\n\n return editor\n}\n\nexport function InlineModePlugin() {\n return Plugin({\n onKeyDown: (e: KeyboardEvent) => {\n if (isHotkey('enter', e)) e.preventDefault()\n },\n withPlugin: withInlineMode,\n renderElement: renderElement => props => (\n <InlineModePluginComponent {...props} renderElement={renderElement} />\n ),\n })\n}\n\nconst minWidth = `${'Write some text...'.length}ch`\n\nfunction InlineModePluginComponent({\n renderElement,\n ...props\n}: RenderElementProps & { renderElement: RenderElement }) {\n if (props.element.children.length === 1) {\n const text = props.element.children[0]\n\n if (Text.isText(text) && text.text === '') {\n return (\n <span style={{ display: 'inline-block', minWidth }} {...props.attributes}>\n {renderElement(props)}\n </span>\n )\n }\n }\n\n return (\n <span style={{ minWidth }} {...props.attributes}>\n {renderElement(props)}\n </span>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsDM;AArDN,mBAAoD;AAEpD,uBAAqB;AAErB,sBAAsB;AAEtB,oBAA2C;AAE3C,MAAM,iBAAiB,CAAC,CAAC;AACzB,MAAM,iBAAiB,CAAC,CAAC;AAElB,SAAS,eAAe,QAAwB;AACrD,QAAM,EAAE,cAAc,IAAI;AAC1B,SAAO,gBAAgB,WAAS;AAC9B,UAAM,CAAC,mBAAmB,iBAAiB,IAAI;AAK/C,QAAI,kBAAK,OAAO,gBAAgB,iBAAiB,GAAG;AAClD,8BAAW,WAAW,QAAQ,EAAE,IAAI,eAAe,CAAC;AACpD;AAAA,IACF;AAIA,QAAI,kBAAK,WAAW,gBAAgB,iBAAiB,KAAK,sBAAM,QAAQ,iBAAiB,GAAG;AAC1F,8BAAW,YAAY,QAAQ;AAAA,QAC7B,IAAI;AAAA,MACN,CAAC;AACD;AAAA,IACF;AAIA,QAAI,kBAAK,OAAO,gBAAgB,iBAAiB,GAAG;AAClD,8BAAW,SAAS,QAAQ,EAAE,MAAM,sBAAM,UAAU,QAAQ,GAAG,EAAE,IAAI,kBAAkB,CAAC;AACxF;AAAA,IACF;AAEA,kBAAc,KAAK;AAAA,EACrB;AAEA,SAAO;AACT;AAEO,SAAS,mBAAmB;AACjC,aAAO,sBAAO;AAAA,IACZ,WAAW,CAAC,MAAqB;AAC/B,cAAI,iBAAAA,SAAS,SAAS,CAAC;AAAG,UAAE,eAAe;AAAA,IAC7C;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,mBAAiB,WAC9B,4CAAC,6BAA2B,GAAG,OAAO,eAA8B;AAAA,EAExE,CAAC;AACH;AAEA,MAAM,WAAW,GAAG,qBAAqB,MAAM;AAE/C,SAAS,0BAA0B;AAAA,EACjC;AAAA,EACA,GAAG;AACL,GAA0D;AACxD,MAAI,MAAM,QAAQ,SAAS,WAAW,GAAG;AACvC,UAAM,OAAO,MAAM,QAAQ,SAAS,CAAC;AAErC,QAAI,kBAAK,OAAO,IAAI,KAAK,KAAK,SAAS,IAAI;AACzC,aACE,4CAAC,UAAK,OAAO,EAAE,SAAS,gBAAgB,SAAS,GAAI,GAAG,MAAM,YAC3D,wBAAc,KAAK,GACtB;AAAA,IAEJ;AAAA,EACF;AAEA,SACE,4CAAC,UAAK,OAAO,EAAE,SAAS,GAAI,GAAG,MAAM,YAClC,wBAAc,KAAK,GACtB;AAEJ;","names":["isHotkey"]}
@@ -23,7 +23,7 @@ __export(getValue_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(getValue_exports);
25
25
  var import_slate = require("slate");
26
- var import_element = require("../utils/element");
26
+ var import_controls = require("@makeswift/controls");
27
27
  var import_selectors = require("../selectors");
28
28
  var import_filterForSubtreeRoots = require("../BlockPlugin/utils/filterForSubtreeRoots");
29
29
  var import_types = require("./types");
@@ -31,7 +31,7 @@ function getSupportedInlinesAndTextInSelection(editor) {
31
31
  return Array.from(
32
32
  import_slate.Editor.nodes(editor, {
33
33
  at: (0, import_selectors.getSelection)(editor),
34
- match: (node) => import_element.ElementUtils.isInline(node) && (0, import_types.isSupportedInlineType)(node.type) || import_slate.Text.isText(node)
34
+ match: (node) => import_controls.Slate.isInline(node) && (0, import_types.isSupportedInlineType)(node.type) || import_slate.Text.isText(node)
35
35
  })
36
36
  );
37
37
  }
@@ -44,10 +44,10 @@ const getValue = (editor) => {
44
44
  return void 0;
45
45
  const matchingValues = roots.filter(import_types.isSupportedInlineEntry).map(([node]) => node);
46
46
  const match = matchingValues.reduce(
47
- (a, b) => a?.type === b?.type ? b : null,
47
+ (a, b) => a?.type === b?.type ? b : void 0,
48
48
  matchingValues.at(0) ?? void 0
49
49
  );
50
- return match == null ? match : match.type;
50
+ return match == null ? null : match.type;
51
51
  };
52
52
  // Annotate the CommonJS export names for ESM import in node:
53
53
  0 && (module.exports = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/InlinePlugin/getValue.ts"],"sourcesContent":["import { Editor, NodeEntry, Text } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport { SupportedInline, isSupportedInlineType, isSupportedInlineEntry } from './types'\n\nexport function getSupportedInlinesAndTextInSelection(\n editor: Editor,\n): NodeEntry<SupportedInline | Text>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node =>\n (ElementUtils.isInline(node) && isSupportedInlineType(node.type)) || Text.isText(node),\n }),\n ) as NodeEntry<Text | SupportedInline>[]\n}\n\nexport const getValue = (editor: Editor) => {\n const roots = filterForSubtreeRoots(getSupportedInlinesAndTextInSelection(editor))\n\n const areAllRootsSupportedInlineTypesOrText = roots.every(\n entry => isSupportedInlineEntry(entry) || Text.isText(entry[0]),\n )\n\n if (!areAllRootsSupportedInlineTypesOrText) return undefined\n\n const matchingValues = roots.filter(isSupportedInlineEntry).map(([node]) => node) as (\n | SupportedInline\n | null\n | undefined\n )[]\n\n const match = matchingValues.reduce(\n (a, b) => (a?.type === b?.type ? b : null),\n matchingValues.at(0) ?? undefined,\n )\n\n return match == null ? match : match.type\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwC;AACxC,qBAA6B;AAC7B,uBAA6B;AAC7B,mCAAsC;AACtC,mBAA+E;AAExE,SAAS,sCACd,QACqC;AACrC,SAAO,MAAM;AAAA,IACX,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,UACJ,4BAAa,SAAS,IAAI,SAAK,oCAAsB,KAAK,IAAI,KAAM,kBAAK,OAAO,IAAI;AAAA,IACzF,CAAC;AAAA,EACH;AACF;AAEO,MAAM,WAAW,CAAC,WAAmB;AAC1C,QAAM,YAAQ,oDAAsB,sCAAsC,MAAM,CAAC;AAEjF,QAAM,wCAAwC,MAAM;AAAA,IAClD,eAAS,qCAAuB,KAAK,KAAK,kBAAK,OAAO,MAAM,CAAC,CAAC;AAAA,EAChE;AAEA,MAAI,CAAC;AAAuC,WAAO;AAEnD,QAAM,iBAAiB,MAAM,OAAO,mCAAsB,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI;AAMhF,QAAM,QAAQ,eAAe;AAAA,IAC3B,CAAC,GAAG,MAAO,GAAG,SAAS,GAAG,OAAO,IAAI;AAAA,IACrC,eAAe,GAAG,CAAC,KAAK;AAAA,EAC1B;AAEA,SAAO,SAAS,OAAO,QAAQ,MAAM;AACvC;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/InlinePlugin/getValue.ts"],"sourcesContent":["import { Editor, NodeEntry, Text } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport { SupportedInline, isSupportedInlineType, isSupportedInlineEntry } from './types'\n\nexport function getSupportedInlinesAndTextInSelection(\n editor: Editor,\n): NodeEntry<SupportedInline | Text>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node =>\n (Slate.isInline(node) && isSupportedInlineType(node.type)) || Text.isText(node),\n }),\n ) as NodeEntry<Text | SupportedInline>[]\n}\n\nexport const getValue = (editor: Editor) => {\n const roots = filterForSubtreeRoots(getSupportedInlinesAndTextInSelection(editor))\n const areAllRootsSupportedInlineTypesOrText = roots.every(\n entry => isSupportedInlineEntry(entry) || Text.isText(entry[0]),\n )\n\n if (!areAllRootsSupportedInlineTypesOrText) return undefined\n\n const matchingValues = roots.filter(isSupportedInlineEntry).map(([node]) => node)\n\n const match = matchingValues.reduce(\n (a, b) => (a?.type === b?.type ? b : undefined),\n matchingValues.at(0) ?? undefined,\n )\n\n return match == null ? null : match.type\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwC;AACxC,sBAAsB;AAEtB,uBAA6B;AAC7B,mCAAsC;AACtC,mBAA+E;AAExE,SAAS,sCACd,QACqC;AACrC,SAAO,MAAM;AAAA,IACX,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,UACJ,sBAAM,SAAS,IAAI,SAAK,oCAAsB,KAAK,IAAI,KAAM,kBAAK,OAAO,IAAI;AAAA,IAClF,CAAC;AAAA,EACH;AACF;AAEO,MAAM,WAAW,CAAC,WAAmB;AAC1C,QAAM,YAAQ,oDAAsB,sCAAsC,MAAM,CAAC;AACjF,QAAM,wCAAwC,MAAM;AAAA,IAClD,eAAS,qCAAuB,KAAK,KAAK,kBAAK,OAAO,MAAM,CAAC,CAAC;AAAA,EAChE;AAEA,MAAI,CAAC;AAAuC,WAAO;AAEnD,QAAM,iBAAiB,MAAM,OAAO,mCAAsB,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI;AAEhF,QAAM,QAAQ,eAAe;AAAA,IAC3B,CAAC,GAAG,MAAO,GAAG,SAAS,GAAG,OAAO,IAAI;AAAA,IACrC,eAAe,GAAG,CAAC,KAAK;AAAA,EAC1B;AAEA,SAAO,SAAS,OAAO,OAAO,MAAM;AACtC;","names":[]}
@@ -23,32 +23,28 @@ __export(InlinePlugin_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(InlinePlugin_exports);
25
25
  var import_jsx_runtime = require("react/jsx-runtime");
26
- var import_controls = require("../../controls");
27
- var import_element = require("../utils/element");
28
- var import_types = require("../types");
29
- var import_types2 = require("./types");
26
+ var import_controls = require("@makeswift/controls");
27
+ var import_plugin = require("../../controls/rich-text-v2/plugin");
28
+ var import_types = require("./types");
30
29
  var import_onChange = require("./onChange");
31
30
  var import_getValue = require("./getValue");
32
- var import_plugin = require("../../controls/rich-text-v2/plugin");
33
31
  const withInline = (editor) => {
34
32
  const { isInline } = editor;
35
33
  editor.isInline = (entry) => {
36
- return import_element.ElementUtils.isInline(entry) && isInline(entry);
34
+ return import_controls.Slate.isInline(entry) && isInline(entry);
37
35
  };
38
36
  return editor;
39
37
  };
40
38
  function InlinePlugin() {
41
- return (0, import_plugin.createRichTextV2Plugin)({
39
+ return (0, import_plugin.Plugin)({
42
40
  control: {
43
41
  definition: (0, import_controls.unstable_IconRadioGroup)({
44
42
  label: "Inline",
45
- options: import_types2.supportedInlineOptions
43
+ options: import_types.supportedInlineOptions
46
44
  }),
47
45
  onChange: import_onChange.onChange,
48
46
  getValue: import_getValue.getValue,
49
- getElementValue: (element) => {
50
- return import_element.ElementUtils.isInline(element) ? element.type : void 0;
51
- }
47
+ getElementValue: (element) => (0, import_types.isSupportedInlineNode)(element) ? element.type : void 0
52
48
  },
53
49
  withPlugin: withInline,
54
50
  renderElement: (renderElement) => (props) => {
@@ -61,11 +57,11 @@ function InlinePluginComponent({
61
57
  ...props
62
58
  }) {
63
59
  switch (props.element.type) {
64
- case import_types.InlineType.Code:
60
+ case import_controls.Slate.InlineType.Code:
65
61
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("code", { ...props.attributes, children: renderElement(props) });
66
- case import_types.InlineType.SuperScript:
62
+ case import_controls.Slate.InlineType.SuperScript:
67
63
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("sup", { ...props.attributes, children: renderElement(props) });
68
- case import_types.InlineType.SubScript:
64
+ case import_controls.Slate.InlineType.SubScript:
69
65
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("sub", { ...props.attributes, children: renderElement(props) });
70
66
  default:
71
67
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_jsx_runtime.Fragment, { children: renderElement(props) });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/InlinePlugin/index.tsx"],"sourcesContent":["import { Editor, Element } from 'slate'\nimport { unstable_IconRadioGroup } from '../../controls'\nimport { ElementUtils } from '../utils/element'\nimport { InlineType } from '../types'\nimport { RenderElementProps } from 'slate-react'\nimport { supportedInlineOptions } from './types'\nimport { onChange } from './onChange'\nimport { getValue } from './getValue'\nimport { RenderElement, createRichTextV2Plugin } from '../../controls/rich-text-v2/plugin'\n\nexport const withInline = (editor: Editor) => {\n const { isInline } = editor\n\n editor.isInline = entry => {\n return ElementUtils.isInline(entry) && isInline(entry)\n }\n\n return editor\n}\n\nexport function InlinePlugin() {\n return createRichTextV2Plugin({\n control: {\n definition: unstable_IconRadioGroup({\n label: 'Inline',\n options: supportedInlineOptions,\n }),\n onChange,\n getValue,\n getElementValue: (element: Element) => {\n return ElementUtils.isInline(element) ? element.type : undefined\n },\n },\n withPlugin: withInline,\n renderElement: renderElement => props => {\n return <InlinePluginComponent {...props} renderElement={renderElement} />\n },\n })\n}\n\nfunction InlinePluginComponent({\n renderElement,\n ...props\n}: RenderElementProps & { renderElement: RenderElement }) {\n switch (props.element.type) {\n case InlineType.Code:\n return <code {...props.attributes}>{renderElement(props)}</code>\n case InlineType.SuperScript:\n return <sup {...props.attributes}>{renderElement(props)}</sup>\n case InlineType.SubScript:\n return <sub {...props.attributes}>{renderElement(props)}</sub>\n\n default:\n return <>{renderElement(props)}</>\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAmCa;AAlCb,sBAAwC;AACxC,qBAA6B;AAC7B,mBAA2B;AAE3B,IAAAA,gBAAuC;AACvC,sBAAyB;AACzB,sBAAyB;AACzB,oBAAsD;AAE/C,MAAM,aAAa,CAAC,WAAmB;AAC5C,QAAM,EAAE,SAAS,IAAI;AAErB,SAAO,WAAW,WAAS;AACzB,WAAO,4BAAa,SAAS,KAAK,KAAK,SAAS,KAAK;AAAA,EACvD;AAEA,SAAO;AACT;AAEO,SAAS,eAAe;AAC7B,aAAO,sCAAuB;AAAA,IAC5B,SAAS;AAAA,MACP,gBAAY,yCAAwB;AAAA,QAClC,OAAO;AAAA,QACP,SAAS;AAAA,MACX,CAAC;AAAA,MACD;AAAA,MACA;AAAA,MACA,iBAAiB,CAAC,YAAqB;AACrC,eAAO,4BAAa,SAAS,OAAO,IAAI,QAAQ,OAAO;AAAA,MACzD;AAAA,IACF;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,mBAAiB,WAAS;AACvC,aAAO,4CAAC,yBAAuB,GAAG,OAAO,eAA8B;AAAA,IACzE;AAAA,EACF,CAAC;AACH;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA,GAAG;AACL,GAA0D;AACxD,UAAQ,MAAM,QAAQ,MAAM;AAAA,IAC1B,KAAK,wBAAW;AACd,aAAO,4CAAC,UAAM,GAAG,MAAM,YAAa,wBAAc,KAAK,GAAE;AAAA,IAC3D,KAAK,wBAAW;AACd,aAAO,4CAAC,SAAK,GAAG,MAAM,YAAa,wBAAc,KAAK,GAAE;AAAA,IAC1D,KAAK,wBAAW;AACd,aAAO,4CAAC,SAAK,GAAG,MAAM,YAAa,wBAAc,KAAK,GAAE;AAAA,IAE1D;AACE,aAAO,2EAAG,wBAAc,KAAK,GAAE;AAAA,EACnC;AACF;","names":["import_types"]}
1
+ {"version":3,"sources":["../../../../src/slate/InlinePlugin/index.tsx"],"sourcesContent":["import { type Editor, type Element } from 'slate'\nimport { type RenderElementProps } from 'slate-react'\nimport { unstable_IconRadioGroup, Slate } from '@makeswift/controls'\n\nimport { type RenderElement, Plugin } from '../../controls/rich-text-v2/plugin'\n\nimport { supportedInlineOptions, isSupportedInlineNode } from './types'\nimport { onChange } from './onChange'\nimport { getValue } from './getValue'\n\nexport const withInline = (editor: Editor) => {\n const { isInline } = editor\n\n editor.isInline = entry => {\n return Slate.isInline(entry) && isInline(entry)\n }\n\n return editor\n}\n\nexport function InlinePlugin() {\n return Plugin({\n control: {\n definition: unstable_IconRadioGroup({\n label: 'Inline',\n options: supportedInlineOptions,\n }),\n onChange,\n getValue,\n getElementValue: (element: Element) =>\n isSupportedInlineNode(element) ? element.type : undefined,\n },\n withPlugin: withInline,\n renderElement: renderElement => props => {\n return <InlinePluginComponent {...props} renderElement={renderElement} />\n },\n })\n}\n\nfunction InlinePluginComponent({\n renderElement,\n ...props\n}: RenderElementProps & { renderElement: RenderElement }) {\n switch (props.element.type) {\n case Slate.InlineType.Code:\n return <code {...props.attributes}>{renderElement(props)}</code>\n\n case Slate.InlineType.SuperScript:\n return <sup {...props.attributes}>{renderElement(props)}</sup>\n\n case Slate.InlineType.SubScript:\n return <sub {...props.attributes}>{renderElement(props)}</sub>\n\n default:\n return <>{renderElement(props)}</>\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAkCa;AAhCb,sBAA+C;AAE/C,oBAA2C;AAE3C,mBAA8D;AAC9D,sBAAyB;AACzB,sBAAyB;AAElB,MAAM,aAAa,CAAC,WAAmB;AAC5C,QAAM,EAAE,SAAS,IAAI;AAErB,SAAO,WAAW,WAAS;AACzB,WAAO,sBAAM,SAAS,KAAK,KAAK,SAAS,KAAK;AAAA,EAChD;AAEA,SAAO;AACT;AAEO,SAAS,eAAe;AAC7B,aAAO,sBAAO;AAAA,IACZ,SAAS;AAAA,MACP,gBAAY,yCAAwB;AAAA,QAClC,OAAO;AAAA,QACP,SAAS;AAAA,MACX,CAAC;AAAA,MACD;AAAA,MACA;AAAA,MACA,iBAAiB,CAAC,gBAChB,oCAAsB,OAAO,IAAI,QAAQ,OAAO;AAAA,IACpD;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,mBAAiB,WAAS;AACvC,aAAO,4CAAC,yBAAuB,GAAG,OAAO,eAA8B;AAAA,IACzE;AAAA,EACF,CAAC;AACH;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA,GAAG;AACL,GAA0D;AACxD,UAAQ,MAAM,QAAQ,MAAM;AAAA,IAC1B,KAAK,sBAAM,WAAW;AACpB,aAAO,4CAAC,UAAM,GAAG,MAAM,YAAa,wBAAc,KAAK,GAAE;AAAA,IAE3D,KAAK,sBAAM,WAAW;AACpB,aAAO,4CAAC,SAAK,GAAG,MAAM,YAAa,wBAAc,KAAK,GAAE;AAAA,IAE1D,KAAK,sBAAM,WAAW;AACpB,aAAO,4CAAC,SAAK,GAAG,MAAM,YAAa,wBAAc,KAAK,GAAE;AAAA,IAE1D;AACE,aAAO,2EAAG,wBAAc,KAAK,GAAE;AAAA,EACnC;AACF;","names":[]}
@@ -21,9 +21,9 @@ __export(onChange_exports, {
21
21
  onChange: () => onChange
22
22
  });
23
23
  module.exports = __toCommonJS(onChange_exports);
24
- var import_getValue = require("./getValue");
25
24
  var import_slate = require("slate");
26
- var import_element = require("../utils/element");
25
+ var import_controls = require("@makeswift/controls");
26
+ var import_getValue = require("./getValue");
27
27
  var import_unwrapInline = require("../BlockPlugin/unwrapInline");
28
28
  var import_wrapInline = require("../BlockPlugin/wrapInline");
29
29
  var import_selectors = require("../selectors");
@@ -35,7 +35,7 @@ const onChange = (editor, value) => {
35
35
  }
36
36
  function unwrapAllInlines() {
37
37
  import_slate.Transforms.unwrapNodes(editor, {
38
- match: (node) => import_element.ElementUtils.isInline(node),
38
+ match: (node) => import_controls.Slate.isInline(node),
39
39
  at: (0, import_selectors.getSelection)(editor)
40
40
  });
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/InlinePlugin/onChange.ts"],"sourcesContent":["import { getSupportedInlinesAndTextInSelection } from './getValue'\nimport { Editor, Transforms } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { unwrapInline } from '../BlockPlugin/unwrapInline'\nimport { wrapInline } from '../BlockPlugin/wrapInline'\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport {\n SupportedInlineType,\n isSupportedInlineEntry,\n isSupportedInlineType,\n supportedInlineOptions,\n} from './types'\n\nexport const onChange = (editor: Editor, value: SupportedInlineType) => {\n function unwrapAllSupportedTypes() {\n supportedInlineOptions.forEach(({ value: optionValue }) => unwrapInline(editor, optionValue))\n }\n\n function unwrapAllInlines() {\n Transforms.unwrapNodes(editor, {\n match: node => ElementUtils.isInline(node),\n at: getSelection(editor),\n })\n }\n\n if (value == null) return unwrapAllSupportedTypes()\n\n if (!isSupportedInlineType(value)) return\n\n const roots = filterForSubtreeRoots(getSupportedInlinesAndTextInSelection(editor))\n const root = roots.at(0)\n\n if (\n roots.length === 1 &&\n root != null &&\n isSupportedInlineEntry(root) &&\n root[0].type === value\n ) {\n unwrapInline(editor, value)\n } else {\n unwrapAllInlines()\n wrapInline(editor, { type: value, children: [] })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAsD;AACtD,mBAAmC;AACnC,qBAA6B;AAC7B,0BAA6B;AAC7B,wBAA2B;AAC3B,uBAA6B;AAC7B,mCAAsC;AACtC,mBAKO;AAEA,MAAM,WAAW,CAAC,QAAgB,UAA+B;AACtE,WAAS,0BAA0B;AACjC,wCAAuB,QAAQ,CAAC,EAAE,OAAO,YAAY,UAAM,kCAAa,QAAQ,WAAW,CAAC;AAAA,EAC9F;AAEA,WAAS,mBAAmB;AAC1B,4BAAW,YAAY,QAAQ;AAAA,MAC7B,OAAO,UAAQ,4BAAa,SAAS,IAAI;AAAA,MACzC,QAAI,+BAAa,MAAM;AAAA,IACzB,CAAC;AAAA,EACH;AAEA,MAAI,SAAS;AAAM,WAAO,wBAAwB;AAElD,MAAI,KAAC,oCAAsB,KAAK;AAAG;AAEnC,QAAM,YAAQ,wDAAsB,uDAAsC,MAAM,CAAC;AACjF,QAAM,OAAO,MAAM,GAAG,CAAC;AAEvB,MACE,MAAM,WAAW,KACjB,QAAQ,YACR,qCAAuB,IAAI,KAC3B,KAAK,CAAC,EAAE,SAAS,OACjB;AACA,0CAAa,QAAQ,KAAK;AAAA,EAC5B,OAAO;AACL,qBAAiB;AACjB,sCAAW,QAAQ,EAAE,MAAM,OAAO,UAAU,CAAC,EAAE,CAAC;AAAA,EAClD;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/InlinePlugin/onChange.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getSupportedInlinesAndTextInSelection } from './getValue'\nimport { unwrapInline } from '../BlockPlugin/unwrapInline'\nimport { wrapInline } from '../BlockPlugin/wrapInline'\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport {\n SupportedInlineType,\n isSupportedInlineEntry,\n isSupportedInlineType,\n supportedInlineOptions,\n} from './types'\n\nexport const onChange = (editor: Editor, value: SupportedInlineType) => {\n function unwrapAllSupportedTypes() {\n supportedInlineOptions.forEach(({ value: optionValue }) => unwrapInline(editor, optionValue))\n }\n\n function unwrapAllInlines() {\n Transforms.unwrapNodes(editor, {\n match: node => Slate.isInline(node),\n at: getSelection(editor),\n })\n }\n\n if (value == null) return unwrapAllSupportedTypes()\n\n if (!isSupportedInlineType(value)) return\n\n const roots = filterForSubtreeRoots(getSupportedInlinesAndTextInSelection(editor))\n const root = roots.at(0)\n\n if (\n roots.length === 1 &&\n root != null &&\n isSupportedInlineEntry(root) &&\n root[0].type === value\n ) {\n unwrapInline(editor, value)\n } else {\n unwrapAllInlines()\n wrapInline(editor, { type: value, children: [] })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AACnC,sBAAsB;AAEtB,sBAAsD;AACtD,0BAA6B;AAC7B,wBAA2B;AAC3B,uBAA6B;AAC7B,mCAAsC;AACtC,mBAKO;AAEA,MAAM,WAAW,CAAC,QAAgB,UAA+B;AACtE,WAAS,0BAA0B;AACjC,wCAAuB,QAAQ,CAAC,EAAE,OAAO,YAAY,UAAM,kCAAa,QAAQ,WAAW,CAAC;AAAA,EAC9F;AAEA,WAAS,mBAAmB;AAC1B,4BAAW,YAAY,QAAQ;AAAA,MAC7B,OAAO,UAAQ,sBAAM,SAAS,IAAI;AAAA,MAClC,QAAI,+BAAa,MAAM;AAAA,IACzB,CAAC;AAAA,EACH;AAEA,MAAI,SAAS;AAAM,WAAO,wBAAwB;AAElD,MAAI,KAAC,oCAAsB,KAAK;AAAG;AAEnC,QAAM,YAAQ,wDAAsB,uDAAsC,MAAM,CAAC;AACjF,QAAM,OAAO,MAAM,GAAG,CAAC;AAEvB,MACE,MAAM,WAAW,KACjB,QAAQ,YACR,qCAAuB,IAAI,KAC3B,KAAK,CAAC,EAAE,SAAS,OACjB;AACA,0CAAa,QAAQ,KAAK;AAAA,EAC5B,OAAO;AACL,qBAAiB;AACjB,sCAAW,QAAQ,EAAE,MAAM,OAAO,UAAU,CAAC,EAAE,CAAC;AAAA,EAClD;AACF;","names":[]}