@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
@@ -19,25 +19,25 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
21
  isSupportedInlineEntry: () => isSupportedInlineEntry,
22
+ isSupportedInlineNode: () => isSupportedInlineNode,
22
23
  isSupportedInlineType: () => isSupportedInlineType,
23
24
  supportedInlineOptions: () => supportedInlineOptions
24
25
  });
25
26
  module.exports = __toCommonJS(types_exports);
26
27
  var import_controls = require("@makeswift/controls");
27
- var import_element = require("../utils/element");
28
28
  const supportedInlineOptions = [
29
29
  {
30
- icon: import_controls.unstable_IconRadioGroupIcon.Superscript,
30
+ icon: import_controls.unstable_IconRadioGroup.Icon.Superscript,
31
31
  label: "Superscript",
32
32
  value: "superscript"
33
33
  },
34
34
  {
35
- icon: import_controls.unstable_IconRadioGroupIcon.Subscript,
35
+ icon: import_controls.unstable_IconRadioGroup.Icon.Subscript,
36
36
  label: "Subscript",
37
37
  value: "subscript"
38
38
  },
39
39
  {
40
- icon: import_controls.unstable_IconRadioGroupIcon.Code,
40
+ icon: import_controls.unstable_IconRadioGroup.Icon.Code,
41
41
  label: "Code",
42
42
  value: "code"
43
43
  }
@@ -45,13 +45,16 @@ const supportedInlineOptions = [
45
45
  function isSupportedInlineType(inline) {
46
46
  return supportedInlineOptions.findIndex((option) => option.value === inline) !== -1;
47
47
  }
48
+ function isSupportedInlineNode(node) {
49
+ return import_controls.Slate.isInline(node) && isSupportedInlineType(node.type);
50
+ }
48
51
  function isSupportedInlineEntry(entry) {
49
- const node = entry[0];
50
- return import_element.ElementUtils.isInline(node) && supportedInlineOptions.findIndex((option) => option.value === node.type) !== -1;
52
+ return isSupportedInlineNode(entry[0]);
51
53
  }
52
54
  // Annotate the CommonJS export names for ESM import in node:
53
55
  0 && (module.exports = {
54
56
  isSupportedInlineEntry,
57
+ isSupportedInlineNode,
55
58
  isSupportedInlineType,
56
59
  supportedInlineOptions
57
60
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/InlinePlugin/types.ts"],"sourcesContent":["import { IconRadioGroupOption, unstable_IconRadioGroupIcon } from '@makeswift/controls'\nimport { Node, NodeEntry } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { Inline, InlineType, LinkElement } from '../types'\n\nexport type SupportedInlineType = Exclude<InlineType, 'link'>\nexport type SupportedInline = Exclude<Inline, LinkElement>\n\nexport const supportedInlineOptions: IconRadioGroupOption<SupportedInlineType>[] = [\n {\n icon: unstable_IconRadioGroupIcon.Superscript,\n label: 'Superscript',\n value: 'superscript',\n },\n {\n icon: unstable_IconRadioGroupIcon.Subscript,\n label: 'Subscript',\n value: 'subscript',\n },\n {\n icon: unstable_IconRadioGroupIcon.Code,\n label: 'Code',\n value: 'code',\n },\n]\n\nexport function isSupportedInlineType(inline: InlineType): inline is SupportedInlineType {\n return supportedInlineOptions.findIndex(option => option.value === inline) !== -1\n}\n\nexport function isSupportedInlineEntry(\n entry: NodeEntry<Node>,\n): entry is NodeEntry<SupportedInline> {\n const node = entry[0]\n return (\n ElementUtils.isInline(node) &&\n supportedInlineOptions.findIndex(option => option.value === node.type) !== -1\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAAkE;AAElE,qBAA6B;AAMtB,MAAM,yBAAsE;AAAA,EACjF;AAAA,IACE,MAAM,4CAA4B;AAAA,IAClC,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM,4CAA4B;AAAA,IAClC,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM,4CAA4B;AAAA,IAClC,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,SAAS,sBAAsB,QAAmD;AACvF,SAAO,uBAAuB,UAAU,YAAU,OAAO,UAAU,MAAM,MAAM;AACjF;AAEO,SAAS,uBACd,OACqC;AACrC,QAAM,OAAO,MAAM,CAAC;AACpB,SACE,4BAAa,SAAS,IAAI,KAC1B,uBAAuB,UAAU,YAAU,OAAO,UAAU,KAAK,IAAI,MAAM;AAE/E;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/InlinePlugin/types.ts"],"sourcesContent":["import { Slate, unstable_IconRadioGroup } from '@makeswift/controls'\nimport { Node, NodeEntry } from 'slate'\n\nexport type SupportedInlineType = Exclude<Slate.InlineType, 'link'>\nexport type SupportedInline = Exclude<Slate.Inline, Slate.LinkElement>\n\nexport const supportedInlineOptions = [\n {\n icon: unstable_IconRadioGroup.Icon.Superscript,\n label: 'Superscript',\n value: 'superscript',\n },\n {\n icon: unstable_IconRadioGroup.Icon.Subscript,\n label: 'Subscript',\n value: 'subscript',\n },\n {\n icon: unstable_IconRadioGroup.Icon.Code,\n label: 'Code',\n value: 'code',\n },\n] as const\n\nexport function isSupportedInlineType(inline: Slate.InlineType): inline is SupportedInlineType {\n return supportedInlineOptions.findIndex(option => option.value === inline) !== -1\n}\n\nexport function isSupportedInlineNode(node: Node): node is SupportedInline {\n return Slate.isInline(node) && isSupportedInlineType(node.type)\n}\n\nexport function isSupportedInlineEntry(\n entry: NodeEntry<Node>,\n): entry is NodeEntry<SupportedInline> {\n return isSupportedInlineNode(entry[0])\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,sBAA+C;AAMxC,MAAM,yBAAyB;AAAA,EACpC;AAAA,IACE,MAAM,wCAAwB,KAAK;AAAA,IACnC,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM,wCAAwB,KAAK;AAAA,IACnC,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AAAA,EACA;AAAA,IACE,MAAM,wCAAwB,KAAK;AAAA,IACnC,OAAO;AAAA,IACP,OAAO;AAAA,EACT;AACF;AAEO,SAAS,sBAAsB,QAAyD;AAC7F,SAAO,uBAAuB,UAAU,YAAU,OAAO,UAAU,MAAM,MAAM;AACjF;AAEO,SAAS,sBAAsB,MAAqC;AACzE,SAAO,sBAAM,SAAS,IAAI,KAAK,sBAAsB,KAAK,IAAI;AAChE;AAEO,SAAS,uBACd,OACqC;AACrC,SAAO,sBAAsB,MAAM,CAAC,CAAC;AACvC;","names":[]}
@@ -33,25 +33,24 @@ __export(getValue_exports, {
33
33
  });
34
34
  module.exports = __toCommonJS(getValue_exports);
35
35
  var import_slate = require("slate");
36
- var import_element = require("../utils/element");
36
+ var import_controls = require("@makeswift/controls");
37
37
  var import_selectors = require("../selectors");
38
38
  var import_filterForSubtreeRoots = require("../BlockPlugin/utils/filterForSubtreeRoots");
39
- var import_types2 = require("./types");
40
39
  var import_deepEqual = __toESM(require("../../utils/deepEqual"));
41
40
  function getLinksAndTextInSelection(editor) {
42
41
  return Array.from(
43
42
  import_slate.Editor.nodes(editor, {
44
43
  at: (0, import_selectors.getSelection)(editor),
45
- match: (node) => import_element.ElementUtils.isInline(node) && (0, import_types2.isLinkElement)(node) || import_slate.Text.isText(node)
44
+ match: (node) => import_controls.Slate.isInline(node) && import_controls.Slate.isLink(node) || import_slate.Text.isText(node)
46
45
  })
47
46
  );
48
47
  }
49
48
  const getValue = (editor) => {
50
49
  const roots = (0, import_filterForSubtreeRoots.filterForSubtreeRoots)(getLinksAndTextInSelection(editor));
51
- const areAllRootsLinks = roots.every(([root]) => (0, import_types2.isLinkElement)(root) || import_slate.Text.isText(root));
50
+ const areAllRootsLinks = roots.every(([root]) => import_controls.Slate.isLink(root) || import_slate.Text.isText(root));
52
51
  if (!areAllRootsLinks)
53
52
  return void 0;
54
- const matchingValues = roots.map(([node]) => node).filter(import_types2.isLinkElement);
53
+ const matchingValues = roots.map(([node]) => node).filter(import_controls.Slate.isLink);
55
54
  const match = matchingValues.reduce(
56
55
  (a, b) => (0, import_deepEqual.default)(a?.link, b?.link) ? b : null,
57
56
  matchingValues.at(0) ?? void 0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/LinkPlugin/getValue.ts"],"sourcesContent":["import { Editor, NodeEntry, Text } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { LinkElement } from '../types'\nimport { getSelection } from '../selectors'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport { isLinkElement } from './types'\nimport deepEqual from '../../utils/deepEqual'\n\nexport function getLinksAndTextInSelection(editor: Editor): NodeEntry<LinkElement | Text>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node => (ElementUtils.isInline(node) && isLinkElement(node)) || Text.isText(node),\n }),\n ) as NodeEntry<Text | LinkElement>[]\n}\n\nexport const getValue = (editor: Editor) => {\n const roots = filterForSubtreeRoots(getLinksAndTextInSelection(editor))\n\n const areAllRootsLinks = roots.every(([root]) => isLinkElement(root) || Text.isText(root))\n\n if (!areAllRootsLinks) return undefined\n\n const matchingValues = roots.map(([node]) => node).filter(isLinkElement) as (\n | LinkElement\n | null\n | undefined\n )[]\n\n const match = matchingValues.reduce(\n (a, b) => (deepEqual(a?.link, b?.link) ? b : null),\n matchingValues.at(0) ?? undefined,\n )\n\n return match == null ? match : match.link\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwC;AACxC,qBAA6B;AAE7B,uBAA6B;AAC7B,mCAAsC;AACtC,IAAAA,gBAA8B;AAC9B,uBAAsB;AAEf,SAAS,2BAA2B,QAAiD;AAC1F,SAAO,MAAM;AAAA,IACX,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,UAAS,4BAAa,SAAS,IAAI,SAAK,6BAAc,IAAI,KAAM,kBAAK,OAAO,IAAI;AAAA,IACzF,CAAC;AAAA,EACH;AACF;AAEO,MAAM,WAAW,CAAC,WAAmB;AAC1C,QAAM,YAAQ,oDAAsB,2BAA2B,MAAM,CAAC;AAEtE,QAAM,mBAAmB,MAAM,MAAM,CAAC,CAAC,IAAI,UAAM,6BAAc,IAAI,KAAK,kBAAK,OAAO,IAAI,CAAC;AAEzF,MAAI,CAAC;AAAkB,WAAO;AAE9B,QAAM,iBAAiB,MAAM,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI,EAAE,OAAO,2BAAa;AAMvE,QAAM,QAAQ,eAAe;AAAA,IAC3B,CAAC,GAAG,UAAO,iBAAAC,SAAU,GAAG,MAAM,GAAG,IAAI,IAAI,IAAI;AAAA,IAC7C,eAAe,GAAG,CAAC,KAAK;AAAA,EAC1B;AAEA,SAAO,SAAS,OAAO,QAAQ,MAAM;AACvC;","names":["import_types","deepEqual"]}
1
+ {"version":3,"sources":["../../../../src/slate/LinkPlugin/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 deepEqual from '../../utils/deepEqual'\n\nexport function getLinksAndTextInSelection(editor: Editor): NodeEntry<Slate.LinkElement | Text>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node => (Slate.isInline(node) && Slate.isLink(node)) || Text.isText(node),\n }),\n ) as NodeEntry<Text | Slate.LinkElement>[]\n}\n\nexport const getValue = (editor: Editor) => {\n const roots = filterForSubtreeRoots(getLinksAndTextInSelection(editor))\n\n const areAllRootsLinks = roots.every(([root]) => Slate.isLink(root) || Text.isText(root))\n\n if (!areAllRootsLinks) return undefined\n\n const matchingValues = roots.map(([node]) => node).filter(Slate.isLink) as (\n | Slate.LinkElement\n | null\n | undefined\n )[]\n\n const match = matchingValues.reduce(\n (a, b) => (deepEqual(a?.link, b?.link) ? b : null),\n matchingValues.at(0) ?? undefined,\n )\n\n return match == null ? match : match.link\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwC;AACxC,sBAAsB;AAEtB,uBAA6B;AAC7B,mCAAsC;AACtC,uBAAsB;AAEf,SAAS,2BAA2B,QAAuD;AAChG,SAAO,MAAM;AAAA,IACX,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,UAAS,sBAAM,SAAS,IAAI,KAAK,sBAAM,OAAO,IAAI,KAAM,kBAAK,OAAO,IAAI;AAAA,IACjF,CAAC;AAAA,EACH;AACF;AAEO,MAAM,WAAW,CAAC,WAAmB;AAC1C,QAAM,YAAQ,oDAAsB,2BAA2B,MAAM,CAAC;AAEtE,QAAM,mBAAmB,MAAM,MAAM,CAAC,CAAC,IAAI,MAAM,sBAAM,OAAO,IAAI,KAAK,kBAAK,OAAO,IAAI,CAAC;AAExF,MAAI,CAAC;AAAkB,WAAO;AAE9B,QAAM,iBAAiB,MAAM,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI,EAAE,OAAO,sBAAM,MAAM;AAMtE,QAAM,QAAQ,eAAe;AAAA,IAC3B,CAAC,GAAG,UAAO,iBAAAA,SAAU,GAAG,MAAM,GAAG,IAAI,IAAI,IAAI;AAAA,IAC7C,eAAe,GAAG,CAAC,KAAK;AAAA,EAC1B;AAEA,SAAO,SAAS,OAAO,QAAQ,MAAM;AACvC;","names":["deepEqual"]}
@@ -23,20 +23,18 @@ __export(LinkPlugin_exports, {
23
23
  });
24
24
  module.exports = __toCommonJS(LinkPlugin_exports);
25
25
  var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_css = require("@emotion/css");
26
27
  var import_controls = require("@makeswift/controls");
27
- var import_plugin = require("../../controls/rich-text-v2/plugin");
28
- var import_element = require("../utils/element");
29
- var import_types = require("../types");
28
+ var import_link = require("../../controls/link");
30
29
  var import_use_style = require("../../runtimes/react/use-style");
31
30
  var import_Link = require("../../components/shared/Link");
32
- var import_css = require("@emotion/css");
33
- var import_types2 = require("./types");
31
+ var import_plugin = require("../../controls/rich-text-v2/plugin");
34
32
  var import_onChange = require("./onChange");
35
33
  var import_getValue = require("./getValue");
36
34
  const withLink = (editor) => {
37
35
  const { isInline } = editor;
38
36
  editor.isInline = (entry) => {
39
- return import_element.ElementUtils.isInline(entry) && isInline(entry);
37
+ return import_controls.Slate.isInline(entry) && isInline(entry);
40
38
  };
41
39
  return editor;
42
40
  };
@@ -48,7 +46,7 @@ function InlinePluginComponent({
48
46
  }) {
49
47
  const linkStyle = (0, import_use_style.useStyle)({ textDecoration: "none" });
50
48
  switch (element.type) {
51
- case import_types.InlineType.Link:
49
+ case import_controls.Slate.InlineType.Link:
52
50
  return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
53
51
  import_Link.Link,
54
52
  {
@@ -71,15 +69,15 @@ function InlinePluginComponent({
71
69
  }
72
70
  }
73
71
  function LinkPlugin() {
74
- return (0, import_plugin.createRichTextV2Plugin)({
72
+ return (0, import_plugin.Plugin)({
75
73
  control: {
76
- definition: (0, import_controls.Link)({
74
+ definition: (0, import_link.Link)({
77
75
  label: "On Click"
78
76
  }),
79
77
  onChange: import_onChange.onChange,
80
78
  getValue: import_getValue.getValue,
81
79
  getElementValue: (element) => {
82
- return import_element.ElementUtils.isInline(element) && (0, import_types2.isLinkElement)(element) ? element.link : void 0;
80
+ return import_controls.Slate.isLink(element) ? element.link : void 0;
83
81
  }
84
82
  },
85
83
  withPlugin: withLink,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/LinkPlugin/index.tsx"],"sourcesContent":["import { Editor, Element } from 'slate'\nimport { Link } from '@makeswift/controls'\nimport { RenderElement, createRichTextV2Plugin } from '../../controls/rich-text-v2/plugin'\nimport { ElementUtils } from '../utils/element'\nimport { InlineType } from '../types'\nimport { RenderElementProps } from 'slate-react'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { Link as LinkComponent } from '../../components/shared/Link'\nimport { cx } from '@emotion/css'\nimport { isLinkElement } from './types'\nimport { onChange } from './onChange'\nimport { getValue } from './getValue'\n\nexport const withLink = (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\nfunction InlinePluginComponent({\n element,\n attributes,\n children,\n renderElement,\n}: RenderElementProps & { renderElement: RenderElement }) {\n const linkStyle = useStyle({ textDecoration: 'none' })\n switch (element.type) {\n case InlineType.Link:\n return (\n <LinkComponent\n {...attributes}\n link={element.link ?? undefined}\n className={cx(linkStyle, element.className)}\n >\n {renderElement({\n element,\n attributes,\n children,\n })}\n </LinkComponent>\n )\n\n default:\n return (\n <>\n {renderElement({\n element,\n attributes,\n children,\n })}\n </>\n )\n }\n}\n\nexport function LinkPlugin() {\n return createRichTextV2Plugin({\n control: {\n definition: Link({\n label: 'On Click',\n }),\n onChange,\n getValue,\n getElementValue: (element: Element) => {\n return ElementUtils.isInline(element) && isLinkElement(element) ? element.link : undefined\n },\n },\n withPlugin: withLink,\n renderElement: renderElement => props => {\n return <InlinePluginComponent {...props} renderElement={renderElement} />\n },\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCQ;AAhCR,sBAAqB;AACrB,oBAAsD;AACtD,qBAA6B;AAC7B,mBAA2B;AAE3B,uBAAyB;AACzB,kBAAsC;AACtC,iBAAmB;AACnB,IAAAA,gBAA8B;AAC9B,sBAAyB;AACzB,sBAAyB;AAElB,MAAM,WAAW,CAAC,WAAmB;AAC1C,QAAM,EAAE,SAAS,IAAI;AAErB,SAAO,WAAW,WAAS;AACzB,WAAO,4BAAa,SAAS,KAAK,KAAK,SAAS,KAAK;AAAA,EACvD;AAEA,SAAO;AACT;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA0D;AACxD,QAAM,gBAAY,2BAAS,EAAE,gBAAgB,OAAO,CAAC;AACrD,UAAQ,QAAQ,MAAM;AAAA,IACpB,KAAK,wBAAW;AACd,aACE;AAAA,QAAC,YAAAC;AAAA,QAAA;AAAA,UACE,GAAG;AAAA,UACJ,MAAM,QAAQ,QAAQ;AAAA,UACtB,eAAW,eAAG,WAAW,QAAQ,SAAS;AAAA,UAEzC,wBAAc;AAAA,YACb;AAAA,YACA;AAAA,YACA;AAAA,UACF,CAAC;AAAA;AAAA,MACH;AAAA,IAGJ;AACE,aACE,2EACG,wBAAc;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,GACH;AAAA,EAEN;AACF;AAEO,SAAS,aAAa;AAC3B,aAAO,sCAAuB;AAAA,IAC5B,SAAS;AAAA,MACP,gBAAY,sBAAK;AAAA,QACf,OAAO;AAAA,MACT,CAAC;AAAA,MACD;AAAA,MACA;AAAA,MACA,iBAAiB,CAAC,YAAqB;AACrC,eAAO,4BAAa,SAAS,OAAO,SAAK,6BAAc,OAAO,IAAI,QAAQ,OAAO;AAAA,MACnF;AAAA,IACF;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,mBAAiB,WAAS;AACvC,aAAO,4CAAC,yBAAuB,GAAG,OAAO,eAA8B;AAAA,IACzE;AAAA,EACF,CAAC;AACH;","names":["import_types","LinkComponent"]}
1
+ {"version":3,"sources":["../../../../src/slate/LinkPlugin/index.tsx"],"sourcesContent":["import { cx } from '@emotion/css'\nimport { type Editor, Element } from 'slate'\nimport { type RenderElementProps } from 'slate-react'\nimport { Slate } from '@makeswift/controls'\n\nimport { Link } from '../../controls/link'\nimport { useStyle } from '../../runtimes/react/use-style'\nimport { Link as LinkComponent } from '../../components/shared/Link'\nimport { type RenderElement, Plugin } from '../../controls/rich-text-v2/plugin'\n\nimport { onChange } from './onChange'\nimport { getValue } from './getValue'\n\nexport const withLink = (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\nfunction InlinePluginComponent({\n element,\n attributes,\n children,\n renderElement,\n}: RenderElementProps & { renderElement: RenderElement }) {\n const linkStyle = useStyle({ textDecoration: 'none' })\n switch (element.type) {\n case Slate.InlineType.Link:\n return (\n <LinkComponent\n {...attributes}\n link={element.link ?? undefined}\n className={cx(linkStyle, element.className)}\n >\n {renderElement({\n element,\n attributes,\n children,\n })}\n </LinkComponent>\n )\n\n default:\n return (\n <>\n {renderElement({\n element,\n attributes,\n children,\n })}\n </>\n )\n }\n}\n\nexport function LinkPlugin() {\n return Plugin({\n control: {\n definition: Link({\n label: 'On Click',\n }),\n onChange,\n getValue,\n getElementValue: (element: Element) => {\n return Slate.isLink(element) ? element.link : undefined\n },\n },\n withPlugin: withLink,\n renderElement: renderElement => props => {\n return <InlinePluginComponent {...props} renderElement={renderElement} />\n },\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAiCQ;AAjCR,iBAAmB;AAGnB,sBAAsB;AAEtB,kBAAqB;AACrB,uBAAyB;AACzB,kBAAsC;AACtC,oBAA2C;AAE3C,sBAAyB;AACzB,sBAAyB;AAElB,MAAM,WAAW,CAAC,WAAmB;AAC1C,QAAM,EAAE,SAAS,IAAI;AAErB,SAAO,WAAW,WAAS;AACzB,WAAO,sBAAM,SAAS,KAAK,KAAK,SAAS,KAAK;AAAA,EAChD;AAEA,SAAO;AACT;AAEA,SAAS,sBAAsB;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAA0D;AACxD,QAAM,gBAAY,2BAAS,EAAE,gBAAgB,OAAO,CAAC;AACrD,UAAQ,QAAQ,MAAM;AAAA,IACpB,KAAK,sBAAM,WAAW;AACpB,aACE;AAAA,QAAC,YAAAA;AAAA,QAAA;AAAA,UACE,GAAG;AAAA,UACJ,MAAM,QAAQ,QAAQ;AAAA,UACtB,eAAW,eAAG,WAAW,QAAQ,SAAS;AAAA,UAEzC,wBAAc;AAAA,YACb;AAAA,YACA;AAAA,YACA;AAAA,UACF,CAAC;AAAA;AAAA,MACH;AAAA,IAGJ;AACE,aACE,2EACG,wBAAc;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,MACF,CAAC,GACH;AAAA,EAEN;AACF;AAEO,SAAS,aAAa;AAC3B,aAAO,sBAAO;AAAA,IACZ,SAAS;AAAA,MACP,gBAAY,kBAAK;AAAA,QACf,OAAO;AAAA,MACT,CAAC;AAAA,MACD;AAAA,MACA;AAAA,MACA,iBAAiB,CAAC,YAAqB;AACrC,eAAO,sBAAM,OAAO,OAAO,IAAI,QAAQ,OAAO;AAAA,MAChD;AAAA,IACF;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,mBAAiB,WAAS;AACvC,aAAO,4CAAC,yBAAuB,GAAG,OAAO,eAA8B;AAAA,IACzE;AAAA,EACF,CAAC;AACH;","names":["LinkComponent"]}
@@ -22,18 +22,18 @@ __export(onChange_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(onChange_exports);
24
24
  var import_slate = require("slate");
25
+ var import_controls = require("@makeswift/controls");
25
26
  var import_unwrapInline = require("../BlockPlugin/unwrapInline");
26
27
  var import_wrapInline = require("../BlockPlugin/wrapInline");
27
- var import_types = require("../types");
28
28
  var import_filterForSubtreeRoots = require("../BlockPlugin/utils/filterForSubtreeRoots");
29
- var import_types2 = require("./types");
29
+ var import_types = require("./types");
30
30
  var import_getValue = require("./getValue");
31
31
  const onChange = (editor, value) => {
32
32
  if (value == null)
33
- return (0, import_unwrapInline.unwrapInline)(editor, import_types.InlineType.Link);
33
+ return (0, import_unwrapInline.unwrapInline)(editor, import_controls.Slate.InlineType.Link);
34
34
  const roots = (0, import_filterForSubtreeRoots.filterForSubtreeRoots)((0, import_getValue.getLinksAndTextInSelection)(editor));
35
35
  const root = roots.at(0);
36
- if (roots.length === 1 && root != null && (0, import_types2.isLinkEntry)(root)) {
36
+ if (roots.length === 1 && root != null && (0, import_types.isLinkEntry)(root)) {
37
37
  import_slate.Transforms.setNodes(
38
38
  editor,
39
39
  {
@@ -42,8 +42,8 @@ const onChange = (editor, value) => {
42
42
  { at: root[1] }
43
43
  );
44
44
  } else {
45
- (0, import_unwrapInline.unwrapInline)(editor, import_types.InlineType.Link);
46
- (0, import_wrapInline.wrapInline)(editor, { type: import_types.InlineType.Link, link: value, children: [] });
45
+ (0, import_unwrapInline.unwrapInline)(editor, import_controls.Slate.InlineType.Link);
46
+ (0, import_wrapInline.wrapInline)(editor, { type: import_controls.Slate.InlineType.Link, link: value, children: [] });
47
47
  }
48
48
  };
49
49
  // Annotate the CommonJS export names for ESM import in node:
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/LinkPlugin/onChange.ts"],"sourcesContent":["import { Editor, Transforms } from 'slate'\nimport { LinkControlData } from '../../controls'\nimport { unwrapInline } from '../BlockPlugin/unwrapInline'\nimport { wrapInline } from '../BlockPlugin/wrapInline'\nimport { InlineType } from '../types'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\nimport { isLinkEntry } from './types'\nimport { getLinksAndTextInSelection } from './getValue'\n\nexport const onChange = (editor: Editor, value: LinkControlData) => {\n if (value == null) return unwrapInline(editor, InlineType.Link)\n\n const roots = filterForSubtreeRoots(getLinksAndTextInSelection(editor))\n const root = roots.at(0)\n\n // If the root of our selection is a link we just want to modify it\n if (roots.length === 1 && root != null && isLinkEntry(root)) {\n Transforms.setNodes(\n editor,\n {\n link: value,\n },\n { at: root[1] },\n )\n }\n // In all other cases we want to remove all existing links and wrap the current selection in a new link\n else {\n unwrapInline(editor, InlineType.Link)\n wrapInline(editor, { type: InlineType.Link, link: value, children: [] })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmC;AAEnC,0BAA6B;AAC7B,wBAA2B;AAC3B,mBAA2B;AAC3B,mCAAsC;AACtC,IAAAA,gBAA4B;AAC5B,sBAA2C;AAEpC,MAAM,WAAW,CAAC,QAAgB,UAA2B;AAClE,MAAI,SAAS;AAAM,eAAO,kCAAa,QAAQ,wBAAW,IAAI;AAE9D,QAAM,YAAQ,wDAAsB,4CAA2B,MAAM,CAAC;AACtE,QAAM,OAAO,MAAM,GAAG,CAAC;AAGvB,MAAI,MAAM,WAAW,KAAK,QAAQ,YAAQ,2BAAY,IAAI,GAAG;AAC3D,4BAAW;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM;AAAA,MACR;AAAA,MACA,EAAE,IAAI,KAAK,CAAC,EAAE;AAAA,IAChB;AAAA,EACF,OAEK;AACH,0CAAa,QAAQ,wBAAW,IAAI;AACpC,sCAAW,QAAQ,EAAE,MAAM,wBAAW,MAAM,MAAM,OAAO,UAAU,CAAC,EAAE,CAAC;AAAA,EACzE;AACF;","names":["import_types"]}
1
+ {"version":3,"sources":["../../../../src/slate/LinkPlugin/onChange.ts"],"sourcesContent":["import { type Editor, Transforms } from 'slate'\nimport { type DataType, Slate } from '@makeswift/controls'\n\nimport { LinkDefinition } from '../../controls/link'\n\nimport { unwrapInline } from '../BlockPlugin/unwrapInline'\nimport { wrapInline } from '../BlockPlugin/wrapInline'\nimport { filterForSubtreeRoots } from '../BlockPlugin/utils/filterForSubtreeRoots'\n\nimport { isLinkEntry } from './types'\nimport { getLinksAndTextInSelection } from './getValue'\n\nexport const onChange = (editor: Editor, value: DataType<LinkDefinition>) => {\n if (value == null) return unwrapInline(editor, Slate.InlineType.Link)\n\n const roots = filterForSubtreeRoots(getLinksAndTextInSelection(editor))\n const root = roots.at(0)\n\n // If the root of our selection is a link we just want to modify it\n if (roots.length === 1 && root != null && isLinkEntry(root)) {\n Transforms.setNodes(\n editor,\n {\n link: value,\n },\n { at: root[1] },\n )\n }\n // In all other cases we want to remove all existing links and wrap the current selection in a new link\n else {\n unwrapInline(editor, Slate.InlineType.Link)\n wrapInline(editor, { type: Slate.InlineType.Link, link: value, children: [] })\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwC;AACxC,sBAAqC;AAIrC,0BAA6B;AAC7B,wBAA2B;AAC3B,mCAAsC;AAEtC,mBAA4B;AAC5B,sBAA2C;AAEpC,MAAM,WAAW,CAAC,QAAgB,UAAoC;AAC3E,MAAI,SAAS;AAAM,eAAO,kCAAa,QAAQ,sBAAM,WAAW,IAAI;AAEpE,QAAM,YAAQ,wDAAsB,4CAA2B,MAAM,CAAC;AACtE,QAAM,OAAO,MAAM,GAAG,CAAC;AAGvB,MAAI,MAAM,WAAW,KAAK,QAAQ,YAAQ,0BAAY,IAAI,GAAG;AAC3D,4BAAW;AAAA,MACT;AAAA,MACA;AAAA,QACE,MAAM;AAAA,MACR;AAAA,MACA,EAAE,IAAI,KAAK,CAAC,EAAE;AAAA,IAChB;AAAA,EACF,OAEK;AACH,0CAAa,QAAQ,sBAAM,WAAW,IAAI;AAC1C,sCAAW,QAAQ,EAAE,MAAM,sBAAM,WAAW,MAAM,MAAM,OAAO,UAAU,CAAC,EAAE,CAAC;AAAA,EAC/E;AACF;","names":[]}
@@ -18,21 +18,16 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var types_exports = {};
20
20
  __export(types_exports, {
21
- isLinkElement: () => isLinkElement,
22
21
  isLinkEntry: () => isLinkEntry
23
22
  });
24
23
  module.exports = __toCommonJS(types_exports);
25
- var import_element = require("../utils/element");
26
- var import_types = require("../types");
27
- function isLinkElement(node) {
28
- return import_element.ElementUtils.isInline(node) && node.type === import_types.InlineType.Link;
29
- }
24
+ var import_slate = require("slate");
25
+ var import_controls = require("@makeswift/controls");
30
26
  function isLinkEntry(inline) {
31
- return import_element.ElementUtils.isInline(inline[0]) && inline[0].type === import_types.InlineType.Link;
27
+ return import_controls.Slate.isInline(inline[0]) && import_slate.Element.isElementType(inline[0], import_controls.Slate.InlineType.Link);
32
28
  }
33
29
  // Annotate the CommonJS export names for ESM import in node:
34
30
  0 && (module.exports = {
35
- isLinkElement,
36
31
  isLinkEntry
37
32
  });
38
33
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/LinkPlugin/types.ts"],"sourcesContent":["import { Node, NodeEntry } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { InlineType, LinkElement } from '../types'\n\nexport function isLinkElement(node: Node): node is LinkElement {\n return ElementUtils.isInline(node) && node.type === InlineType.Link\n}\n\nexport function isLinkEntry(inline: NodeEntry<Node>): inline is NodeEntry<LinkElement> {\n return ElementUtils.isInline(inline[0]) && inline[0].type === InlineType.Link\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,qBAA6B;AAC7B,mBAAwC;AAEjC,SAAS,cAAc,MAAiC;AAC7D,SAAO,4BAAa,SAAS,IAAI,KAAK,KAAK,SAAS,wBAAW;AACjE;AAEO,SAAS,YAAY,QAA2D;AACrF,SAAO,4BAAa,SAAS,OAAO,CAAC,CAAC,KAAK,OAAO,CAAC,EAAE,SAAS,wBAAW;AAC3E;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/LinkPlugin/types.ts"],"sourcesContent":["import { type Node, type NodeEntry, Element } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nexport function isLinkEntry(inline: NodeEntry<Node>): inline is NodeEntry<Slate.LinkElement> {\n return Slate.isInline(inline[0]) && Element.isElementType(inline[0], Slate.InlineType.Link)\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmD;AACnD,sBAAsB;AAEf,SAAS,YAAY,QAAiE;AAC3F,SAAO,sBAAM,SAAS,OAAO,CAAC,CAAC,KAAK,qBAAQ,cAAc,OAAO,CAAC,GAAG,sBAAM,WAAW,IAAI;AAC5F;","names":[]}
@@ -22,14 +22,14 @@ __export(getValue_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(getValue_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
  var import_responsive = require("../utils/responsive");
28
28
  function getValue(editor) {
29
29
  const matchingValues = Array.from(
30
30
  import_slate.Editor.nodes(editor, {
31
31
  at: (0, import_selectors.getSelection)(editor),
32
- match: import_element.ElementUtils.isRootBlock
32
+ match: import_controls.Slate.isRootBlock
33
33
  })
34
34
  ).map(([node]) => node["textAlign"]);
35
35
  return matchingValues.length === 0 ? void 0 : matchingValues.reduce((a, b) => {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/TextAlignPlugin/getValue.ts"],"sourcesContent":["import { Editor } from 'slate'\nimport { ElementUtils } from '../utils/element'\nimport { ResponsiveBlockTextAlignment } from '../types'\nimport { getSelection } from '../selectors'\nimport { responsiveShallowEqual } from '../utils/responsive'\n\nexport function getValue(editor: Editor): ResponsiveBlockTextAlignment | undefined {\n const matchingValues = Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: ElementUtils.isRootBlock,\n }),\n ).map(([node]) => node['textAlign']) as (ResponsiveBlockTextAlignment | undefined)[]\n\n return matchingValues.length === 0\n ? undefined\n : matchingValues.reduce((a, b) => {\n return responsiveShallowEqual(a, b)\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuB;AACvB,qBAA6B;AAE7B,uBAA6B;AAC7B,wBAAuC;AAEhC,SAAS,SAAS,QAA0D;AACjF,QAAM,iBAAiB,MAAM;AAAA,IAC3B,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,4BAAa;AAAA,IACtB,CAAC;AAAA,EACH,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,KAAK,WAAW,CAAC;AAEnC,SAAO,eAAe,WAAW,IAC7B,SACA,eAAe,OAAO,CAAC,GAAG,MAAM;AAC9B,eAAO,0CAAuB,GAAG,CAAC;AAAA,EACpC,CAAC;AACP;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/TextAlignPlugin/getValue.ts"],"sourcesContent":["import { Editor } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\nimport { responsiveShallowEqual } from '../utils/responsive'\n\nexport function getValue(editor: Editor): Slate.ResponsiveBlockTextAlignment | undefined {\n const matchingValues = Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: Slate.isRootBlock,\n }),\n ).map(([node]) => node['textAlign']) as (Slate.ResponsiveBlockTextAlignment | undefined)[]\n\n return matchingValues.length === 0\n ? undefined\n : matchingValues.reduce((a, b) => {\n return responsiveShallowEqual(a, b)\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuB;AACvB,sBAAsB;AAEtB,uBAA6B;AAC7B,wBAAuC;AAEhC,SAAS,SAAS,QAAgE;AACvF,QAAM,iBAAiB,MAAM;AAAA,IAC3B,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,sBAAM;AAAA,IACf,CAAC;AAAA,EACH,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,KAAK,WAAW,CAAC;AAEnC,SAAO,eAAe,WAAW,IAC7B,SACA,eAAe,OAAO,CAAC,GAAG,MAAM;AAC9B,eAAO,0CAAuB,GAAG,CAAC;AAAA,EACpC,CAAC;AACP;","names":[]}
@@ -22,8 +22,8 @@ __export(TextAlignPlugin_exports, {
22
22
  withTextAlign: () => withTextAlign
23
23
  });
24
24
  module.exports = __toCommonJS(TextAlignPlugin_exports);
25
- var import_controls = require("../../controls");
26
- var import_element = require("../utils/element");
25
+ var import_controls = require("@makeswift/controls");
26
+ var import_style_v2 = require("../../controls/style-v2/style-v2");
27
27
  var import_responsive = require("../utils/responsive");
28
28
  var import_getValue = require("./getValue");
29
29
  var import_plugin = require("../../controls/rich-text-v2/plugin");
@@ -31,7 +31,7 @@ const TEXT_ALIGN_KEY = "textAlign";
31
31
  const withTextAlign = (editor) => {
32
32
  const { normalizeNode } = editor;
33
33
  editor.normalizeNode = (entry) => {
34
- if ((0, import_responsive.normalizeResponsiveValue)(editor, TEXT_ALIGN_KEY, { match: import_element.ElementUtils.isRootBlock })(
34
+ if ((0, import_responsive.normalizeResponsiveValue)(editor, TEXT_ALIGN_KEY, { match: import_controls.Slate.isRootBlock })(
35
35
  entry
36
36
  )) {
37
37
  return;
@@ -41,29 +41,29 @@ const withTextAlign = (editor) => {
41
41
  return editor;
42
42
  };
43
43
  function TextAlignPlugin() {
44
- return (0, import_plugin.createRichTextV2Plugin)({
44
+ return (0, import_plugin.Plugin)({
45
45
  control: {
46
- definition: (0, import_controls.unstable_StyleV2)({
46
+ definition: (0, import_style_v2.unstable_StyleV2)({
47
47
  type: (0, import_controls.unstable_IconRadioGroup)({
48
48
  label: "Alignment",
49
49
  options: [
50
50
  {
51
- icon: import_controls.unstable_IconRadioGroupIcon.TextAlignLeft,
51
+ icon: import_controls.unstable_IconRadioGroup.Icon.TextAlignLeft,
52
52
  label: "Left Align",
53
53
  value: "left"
54
54
  },
55
55
  {
56
- icon: import_controls.unstable_IconRadioGroupIcon.TextAlignCenter,
56
+ icon: import_controls.unstable_IconRadioGroup.Icon.TextAlignCenter,
57
57
  label: "Center Align",
58
58
  value: "center"
59
59
  },
60
60
  {
61
- icon: import_controls.unstable_IconRadioGroupIcon.TextAlignRight,
61
+ icon: import_controls.unstable_IconRadioGroup.Icon.TextAlignRight,
62
62
  label: "Right Align",
63
63
  value: "right"
64
64
  },
65
65
  {
66
- icon: import_controls.unstable_IconRadioGroupIcon.TextAlignJustify,
66
+ icon: import_controls.unstable_IconRadioGroup.Icon.TextAlignJustify,
67
67
  label: "Justify",
68
68
  value: "justify"
69
69
  }
@@ -75,12 +75,12 @@ function TextAlignPlugin() {
75
75
  }
76
76
  }),
77
77
  onChange: (editor, value) => (0, import_responsive.setResponsiveValue)(editor, TEXT_ALIGN_KEY, value, {
78
- match: import_element.ElementUtils.isRootBlock,
78
+ match: import_controls.Slate.isRootBlock,
79
79
  split: false
80
80
  }),
81
- getValue: (editor) => (0, import_getValue.getValue)(editor),
81
+ getValue: import_getValue.getValue,
82
82
  getElementValue: (element) => {
83
- return import_element.ElementUtils.isRootBlock(element) ? element.textAlign : void 0;
83
+ return import_controls.Slate.isRootBlock(element) ? element.textAlign : void 0;
84
84
  }
85
85
  },
86
86
  withPlugin: withTextAlign,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/TextAlignPlugin/index.tsx"],"sourcesContent":["import { Editor, Element, NodeEntry } from 'slate'\nimport {\n unstable_IconRadioGroup,\n unstable_IconRadioGroupIcon,\n unstable_StyleV2,\n} from '../../controls'\nimport { ElementUtils } from '../utils/element'\nimport { normalizeResponsiveValue, setResponsiveValue } from '../utils/responsive'\nimport { getValue } from './getValue'\nimport { RootBlock } from '../types'\nimport { createRichTextV2Plugin } from '../../controls/rich-text-v2/plugin'\n\nconst TEXT_ALIGN_KEY = 'textAlign'\n\nexport const withTextAlign = (editor: Editor) => {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n if (\n normalizeResponsiveValue(editor, TEXT_ALIGN_KEY, { match: ElementUtils.isRootBlock })(\n entry as NodeEntry<RootBlock>,\n )\n ) {\n return\n }\n normalizeNode(entry)\n }\n\n return editor\n}\n\nexport function TextAlignPlugin() {\n return createRichTextV2Plugin({\n control: {\n definition: unstable_StyleV2({\n type: unstable_IconRadioGroup({\n label: 'Alignment',\n options: [\n {\n icon: unstable_IconRadioGroupIcon.TextAlignLeft,\n label: 'Left Align',\n value: 'left',\n },\n {\n icon: unstable_IconRadioGroupIcon.TextAlignCenter,\n label: 'Center Align',\n value: 'center',\n },\n {\n icon: unstable_IconRadioGroupIcon.TextAlignRight,\n label: 'Right Align',\n value: 'right',\n },\n {\n icon: unstable_IconRadioGroupIcon.TextAlignJustify,\n label: 'Justify',\n value: 'justify',\n },\n ],\n defaultValue: 'left',\n }),\n getStyle(textAlign: 'left' | 'center' | 'right' | 'justify' | undefined) {\n return { textAlign }\n },\n }),\n onChange: (editor, value) =>\n setResponsiveValue(editor, TEXT_ALIGN_KEY, value, {\n match: ElementUtils.isRootBlock,\n split: false,\n }),\n getValue: editor => getValue(editor),\n getElementValue: (element: Element) => {\n return ElementUtils.isRootBlock(element) ? element.textAlign : undefined\n },\n },\n withPlugin: withTextAlign,\n renderElement: (renderElement, className) => props => {\n return renderElement({\n ...props,\n element: {\n ...props.element,\n className,\n },\n })\n },\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAIO;AACP,qBAA6B;AAC7B,wBAA6D;AAC7D,sBAAyB;AAEzB,oBAAuC;AAEvC,MAAM,iBAAiB;AAEhB,MAAM,gBAAgB,CAAC,WAAmB;AAC/C,QAAM,EAAE,cAAc,IAAI;AAC1B,SAAO,gBAAgB,WAAS;AAC9B,YACE,4CAAyB,QAAQ,gBAAgB,EAAE,OAAO,4BAAa,YAAY,CAAC;AAAA,MAClF;AAAA,IACF,GACA;AACA;AAAA,IACF;AACA,kBAAc,KAAK;AAAA,EACrB;AAEA,SAAO;AACT;AAEO,SAAS,kBAAkB;AAChC,aAAO,sCAAuB;AAAA,IAC5B,SAAS;AAAA,MACP,gBAAY,kCAAiB;AAAA,QAC3B,UAAM,yCAAwB;AAAA,UAC5B,OAAO;AAAA,UACP,SAAS;AAAA,YACP;AAAA,cACE,MAAM,4CAA4B;AAAA,cAClC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM,4CAA4B;AAAA,cAClC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM,4CAA4B;AAAA,cAClC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM,4CAA4B;AAAA,cAClC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,UACF;AAAA,UACA,cAAc;AAAA,QAChB,CAAC;AAAA,QACD,SAAS,WAAgE;AACvE,iBAAO,EAAE,UAAU;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,MACD,UAAU,CAAC,QAAQ,cACjB,sCAAmB,QAAQ,gBAAgB,OAAO;AAAA,QAChD,OAAO,4BAAa;AAAA,QACpB,OAAO;AAAA,MACT,CAAC;AAAA,MACH,UAAU,gBAAU,0BAAS,MAAM;AAAA,MACnC,iBAAiB,CAAC,YAAqB;AACrC,eAAO,4BAAa,YAAY,OAAO,IAAI,QAAQ,YAAY;AAAA,MACjE;AAAA,IACF;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,CAAC,eAAe,cAAc,WAAS;AACpD,aAAO,cAAc;AAAA,QACnB,GAAG;AAAA,QACH,SAAS;AAAA,UACP,GAAG,MAAM;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/TextAlignPlugin/index.tsx"],"sourcesContent":["import { Editor, Element, NodeEntry } from 'slate'\nimport { unstable_IconRadioGroup, Slate } from '@makeswift/controls'\n\nimport { unstable_StyleV2 } from '../../controls/style-v2/style-v2'\nimport { normalizeResponsiveValue, setResponsiveValue } from '../utils/responsive'\nimport { getValue } from './getValue'\nimport { Plugin } from '../../controls/rich-text-v2/plugin'\n\nconst TEXT_ALIGN_KEY = 'textAlign'\n\nexport const withTextAlign = (editor: Editor) => {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n if (\n normalizeResponsiveValue(editor, TEXT_ALIGN_KEY, { match: Slate.isRootBlock })(\n entry as NodeEntry<Slate.RootBlock>,\n )\n ) {\n return\n }\n normalizeNode(entry)\n }\n\n return editor\n}\n\nexport function TextAlignPlugin() {\n return Plugin({\n control: {\n definition: unstable_StyleV2({\n type: unstable_IconRadioGroup({\n label: 'Alignment',\n options: [\n {\n icon: unstable_IconRadioGroup.Icon.TextAlignLeft,\n label: 'Left Align',\n value: 'left',\n },\n {\n icon: unstable_IconRadioGroup.Icon.TextAlignCenter,\n label: 'Center Align',\n value: 'center',\n },\n {\n icon: unstable_IconRadioGroup.Icon.TextAlignRight,\n label: 'Right Align',\n value: 'right',\n },\n {\n icon: unstable_IconRadioGroup.Icon.TextAlignJustify,\n label: 'Justify',\n value: 'justify',\n },\n ],\n defaultValue: 'left',\n }),\n getStyle(textAlign) {\n return { textAlign }\n },\n }),\n onChange: (editor, value) =>\n setResponsiveValue(editor, TEXT_ALIGN_KEY, value, {\n match: Slate.isRootBlock,\n split: false,\n }),\n getValue,\n getElementValue: (element: Element) => {\n return Slate.isRootBlock(element) ? element.textAlign : undefined\n },\n },\n withPlugin: withTextAlign,\n renderElement: (renderElement, className) => props => {\n return renderElement({\n ...props,\n element: {\n ...props.element,\n className,\n },\n })\n },\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,sBAA+C;AAE/C,sBAAiC;AACjC,wBAA6D;AAC7D,sBAAyB;AACzB,oBAAuB;AAEvB,MAAM,iBAAiB;AAEhB,MAAM,gBAAgB,CAAC,WAAmB;AAC/C,QAAM,EAAE,cAAc,IAAI;AAC1B,SAAO,gBAAgB,WAAS;AAC9B,YACE,4CAAyB,QAAQ,gBAAgB,EAAE,OAAO,sBAAM,YAAY,CAAC;AAAA,MAC3E;AAAA,IACF,GACA;AACA;AAAA,IACF;AACA,kBAAc,KAAK;AAAA,EACrB;AAEA,SAAO;AACT;AAEO,SAAS,kBAAkB;AAChC,aAAO,sBAAO;AAAA,IACZ,SAAS;AAAA,MACP,gBAAY,kCAAiB;AAAA,QAC3B,UAAM,yCAAwB;AAAA,UAC5B,OAAO;AAAA,UACP,SAAS;AAAA,YACP;AAAA,cACE,MAAM,wCAAwB,KAAK;AAAA,cACnC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM,wCAAwB,KAAK;AAAA,cACnC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM,wCAAwB,KAAK;AAAA,cACnC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,YACA;AAAA,cACE,MAAM,wCAAwB,KAAK;AAAA,cACnC,OAAO;AAAA,cACP,OAAO;AAAA,YACT;AAAA,UACF;AAAA,UACA,cAAc;AAAA,QAChB,CAAC;AAAA,QACD,SAAS,WAAW;AAClB,iBAAO,EAAE,UAAU;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,MACD,UAAU,CAAC,QAAQ,cACjB,sCAAmB,QAAQ,gBAAgB,OAAO;AAAA,QAChD,OAAO,sBAAM;AAAA,QACb,OAAO;AAAA,MACT,CAAC;AAAA,MACH;AAAA,MACA,iBAAiB,CAAC,YAAqB;AACrC,eAAO,sBAAM,YAAY,OAAO,IAAI,QAAQ,YAAY;AAAA,MAC1D;AAAA,IACF;AAAA,IACA,YAAY;AAAA,IACZ,eAAe,CAAC,eAAe,cAAc,WAAS;AACpD,aAAO,cAAc;AAAA,QACnB,GAAG;AAAA,QACH,SAAS;AAAA,UACP,GAAG,MAAM;AAAA,UACT;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/TypographyPlugin/clearActiveTypographyStyle.ts"],"sourcesContent":["import { Editor, Transforms, Text, Range } from 'slate'\nimport { RichTextTypography } from '../types'\n\ntype ClearActiveTypographyStyleOptions = {\n at?: Range\n}\n\nexport function clearActiveTypographyStyle(\n editor: Editor,\n options?: ClearActiveTypographyStyleOptions,\n) {\n Editor.withoutNormalizing(editor, () => {\n const at = options?.at ?? editor.selection\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n\n if (atRef.current) {\n Transforms.setNodes(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: node => Text.isText(node),\n split: Range.isExpanded(atRef.current),\n },\n )\n }\n\n if (atRef.current) {\n const textNodes = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: node => Text.isText(node) && node.slice === true,\n }),\n )\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n const typography: RichTextTypography = {\n ...node.typography,\n style: [],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography,\n },\n { at: path },\n )\n }\n }\n }\n\n atRef.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgD;AAOzC,SAAS,2BACd,QACA,SACA;AACA,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,UAAM,KAAK,SAAS,MAAM,OAAO;AACjC,QAAI,CAAC;AAAI;AACT,UAAM,QAAQ,oBAAO,SAAS,QAAQ,EAAE;AAExC,QAAI,MAAM,SAAS;AACjB,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI;AAAA,UAC/B,OAAO,mBAAM,WAAW,MAAM,OAAO;AAAA,QACvC;AAAA,MACF;AAAA,IACF;AAEA,QAAI,MAAM,SAAS;AACjB,YAAM,YAAY,MAAM;AAAA,QACtB,oBAAO,MAAM,QAAQ;AAAA,UACnB,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI,KAAK,KAAK,UAAU;AAAA,QACrD,CAAC;AAAA,MACH;AAEA,iBAAW,CAAC,MAAM,IAAI,KAAK,WAAW;AACpC,YAAI,kBAAK,OAAO,IAAI,GAAG;AACrB,gBAAM,aAAiC;AAAA,YACrC,GAAG,KAAK;AAAA,YACR,OAAO,CAAC;AAAA,UACV;AAEA,kCAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE;AAAA,YACF;AAAA,YACA,EAAE,IAAI,KAAK;AAAA,UACb;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,MAAM;AAAA,EACd,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/TypographyPlugin/clearActiveTypographyStyle.ts"],"sourcesContent":["import { Editor, Transforms, Text, Range } from 'slate'\nimport { RichTextTypography } from '@makeswift/controls'\n\ntype ClearActiveTypographyStyleOptions = {\n at?: Range\n}\n\nexport function clearActiveTypographyStyle(\n editor: Editor,\n options?: ClearActiveTypographyStyleOptions,\n) {\n Editor.withoutNormalizing(editor, () => {\n const at = options?.at ?? editor.selection\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n\n if (atRef.current) {\n Transforms.setNodes(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: node => Text.isText(node),\n split: Range.isExpanded(atRef.current),\n },\n )\n }\n\n if (atRef.current) {\n const textNodes = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: node => Text.isText(node) && node.slice === true,\n }),\n )\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n const typography: RichTextTypography = {\n ...node.typography,\n style: [],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography,\n },\n { at: path },\n )\n }\n }\n }\n\n atRef.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgD;AAOzC,SAAS,2BACd,QACA,SACA;AACA,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,UAAM,KAAK,SAAS,MAAM,OAAO;AACjC,QAAI,CAAC;AAAI;AACT,UAAM,QAAQ,oBAAO,SAAS,QAAQ,EAAE;AAExC,QAAI,MAAM,SAAS;AACjB,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI;AAAA,UAC/B,OAAO,mBAAM,WAAW,MAAM,OAAO;AAAA,QACvC;AAAA,MACF;AAAA,IACF;AAEA,QAAI,MAAM,SAAS;AACjB,YAAM,YAAY,MAAM;AAAA,QACtB,oBAAO,MAAM,QAAQ;AAAA,UACnB,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI,KAAK,KAAK,UAAU;AAAA,QACrD,CAAC;AAAA,MACH;AAEA,iBAAW,CAAC,MAAM,IAAI,KAAK,WAAW;AACpC,YAAI,kBAAK,OAAO,IAAI,GAAG;AACrB,gBAAM,aAAiC;AAAA,YACrC,GAAG,KAAK;AAAA,YACR,OAAO,CAAC;AAAA,UACV;AAEA,kCAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE;AAAA,YACF;AAAA,YACA,EAAE,IAAI,KAAK;AAAA,UACb;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,MAAM;AAAA,EACd,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/TypographyPlugin/clearDeviceActiveTypography.ts"],"sourcesContent":["import { Editor, Transforms, Text, Range } from 'slate'\nimport { RichTextTypography } from '../types'\n\ntype ClearDeviceActiveTypographyOptions = {\n at?: Range\n}\n\nexport function clearDeviceActiveTypography(\n editor: Editor,\n currentDeviceId: string,\n options?: ClearDeviceActiveTypographyOptions,\n) {\n Editor.withoutNormalizing(editor, () => {\n const at = options?.at ?? editor.selection\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n\n if (atRef.current) {\n Transforms.setNodes(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: node => Text.isText(node),\n split: Range.isExpanded(atRef.current),\n },\n )\n }\n\n if (atRef.current) {\n const textNodes = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: node => Text.isText(node) && node.slice === true,\n }),\n )\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n const typography: RichTextTypography = {\n ...node.typography,\n style:\n node?.typography?.style.filter(({ deviceId }) => deviceId !== currentDeviceId) ?? [],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography,\n },\n { at: path },\n )\n }\n }\n }\n\n atRef.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgD;AAOzC,SAAS,4BACd,QACA,iBACA,SACA;AACA,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,UAAM,KAAK,SAAS,MAAM,OAAO;AACjC,QAAI,CAAC;AAAI;AACT,UAAM,QAAQ,oBAAO,SAAS,QAAQ,EAAE;AAExC,QAAI,MAAM,SAAS;AACjB,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI;AAAA,UAC/B,OAAO,mBAAM,WAAW,MAAM,OAAO;AAAA,QACvC;AAAA,MACF;AAAA,IACF;AAEA,QAAI,MAAM,SAAS;AACjB,YAAM,YAAY,MAAM;AAAA,QACtB,oBAAO,MAAM,QAAQ;AAAA,UACnB,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI,KAAK,KAAK,UAAU;AAAA,QACrD,CAAC;AAAA,MACH;AAEA,iBAAW,CAAC,MAAM,IAAI,KAAK,WAAW;AACpC,YAAI,kBAAK,OAAO,IAAI,GAAG;AACrB,gBAAM,aAAiC;AAAA,YACrC,GAAG,KAAK;AAAA,YACR,OACE,MAAM,YAAY,MAAM,OAAO,CAAC,EAAE,SAAS,MAAM,aAAa,eAAe,KAAK,CAAC;AAAA,UACvF;AAEA,kCAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE;AAAA,YACF;AAAA,YACA,EAAE,IAAI,KAAK;AAAA,UACb;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,MAAM;AAAA,EACd,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/TypographyPlugin/clearDeviceActiveTypography.ts"],"sourcesContent":["import { Editor, Transforms, Text, Range } from 'slate'\nimport { RichTextTypography } from '@makeswift/controls'\n\ntype ClearDeviceActiveTypographyOptions = {\n at?: Range\n}\n\nexport function clearDeviceActiveTypography(\n editor: Editor,\n currentDeviceId: string,\n options?: ClearDeviceActiveTypographyOptions,\n) {\n Editor.withoutNormalizing(editor, () => {\n const at = options?.at ?? editor.selection\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n\n if (atRef.current) {\n Transforms.setNodes(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: node => Text.isText(node),\n split: Range.isExpanded(atRef.current),\n },\n )\n }\n\n if (atRef.current) {\n const textNodes = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: node => Text.isText(node) && node.slice === true,\n }),\n )\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n const typography: RichTextTypography = {\n ...node.typography,\n style:\n node?.typography?.style.filter(({ deviceId }) => deviceId !== currentDeviceId) ?? [],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography,\n },\n { at: path },\n )\n }\n }\n }\n\n atRef.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgD;AAOzC,SAAS,4BACd,QACA,iBACA,SACA;AACA,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,UAAM,KAAK,SAAS,MAAM,OAAO;AACjC,QAAI,CAAC;AAAI;AACT,UAAM,QAAQ,oBAAO,SAAS,QAAQ,EAAE;AAExC,QAAI,MAAM,SAAS;AACjB,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI;AAAA,UAC/B,OAAO,mBAAM,WAAW,MAAM,OAAO;AAAA,QACvC;AAAA,MACF;AAAA,IACF;AAEA,QAAI,MAAM,SAAS;AACjB,YAAM,YAAY,MAAM;AAAA,QACtB,oBAAO,MAAM,QAAQ;AAAA,UACnB,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI,KAAK,KAAK,UAAU;AAAA,QACrD,CAAC;AAAA,MACH;AAEA,iBAAW,CAAC,MAAM,IAAI,KAAK,WAAW;AACpC,YAAI,kBAAK,OAAO,IAAI,GAAG;AACrB,gBAAM,aAAiC;AAAA,YACrC,GAAG,KAAK;AAAA,YACR,OACE,MAAM,YAAY,MAAM,OAAO,CAAC,EAAE,SAAS,MAAM,aAAa,eAAe,KAAK,CAAC;AAAA,UACvF;AAEA,kCAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE;AAAA,YACF;AAAA,YACA,EAAE,IAAI,KAAK;AAAA,UACb;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,MAAM;AAAA,EACd,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/TypographyPlugin/detachActiveTypography.ts"],"sourcesContent":["import { Editor, Transforms, Text, Range } from 'slate'\nimport { RichTextTypography } from '../types'\n\ntype SetActiveTypographyIdOptions = {\n at?: Range\n}\n\nexport function detachActiveTypography(\n editor: Editor,\n value: RichTextTypography['style'],\n options?: SetActiveTypographyIdOptions,\n) {\n Editor.withoutNormalizing(editor, () => {\n const at = options?.at ?? editor.selection\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n\n if (atRef.current) {\n Transforms.setNodes(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: node => Text.isText(node),\n split: Range.isExpanded(atRef.current),\n },\n )\n }\n\n if (atRef.current) {\n const textNodes = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: node => Text.isText(node) && node.slice === true,\n }),\n )\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n Transforms.setNodes(\n editor,\n {\n typography: {\n style: value,\n },\n },\n { at: path },\n )\n }\n }\n }\n\n atRef.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgD;AAOzC,SAAS,uBACd,QACA,OACA,SACA;AACA,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,UAAM,KAAK,SAAS,MAAM,OAAO;AACjC,QAAI,CAAC;AAAI;AACT,UAAM,QAAQ,oBAAO,SAAS,QAAQ,EAAE;AAExC,QAAI,MAAM,SAAS;AACjB,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI;AAAA,UAC/B,OAAO,mBAAM,WAAW,MAAM,OAAO;AAAA,QACvC;AAAA,MACF;AAAA,IACF;AAEA,QAAI,MAAM,SAAS;AACjB,YAAM,YAAY,MAAM;AAAA,QACtB,oBAAO,MAAM,QAAQ;AAAA,UACnB,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI,KAAK,KAAK,UAAU;AAAA,QACrD,CAAC;AAAA,MACH;AAEA,iBAAW,CAAC,MAAM,IAAI,KAAK,WAAW;AACpC,YAAI,kBAAK,OAAO,IAAI,GAAG;AACrB,kCAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,YAAY;AAAA,gBACV,OAAO;AAAA,cACT;AAAA,YACF;AAAA,YACA,EAAE,IAAI,KAAK;AAAA,UACb;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,MAAM;AAAA,EACd,CAAC;AACH;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/TypographyPlugin/detachActiveTypography.ts"],"sourcesContent":["import { Editor, Transforms, Text, Range } from 'slate'\nimport { RichTextTypography } from '@makeswift/controls'\n\ntype SetActiveTypographyIdOptions = {\n at?: Range\n}\n\nexport function detachActiveTypography(\n editor: Editor,\n value: RichTextTypography['style'],\n options?: SetActiveTypographyIdOptions,\n) {\n Editor.withoutNormalizing(editor, () => {\n const at = options?.at ?? editor.selection\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n\n if (atRef.current) {\n Transforms.setNodes(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: node => Text.isText(node),\n split: Range.isExpanded(atRef.current),\n },\n )\n }\n\n if (atRef.current) {\n const textNodes = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: node => Text.isText(node) && node.slice === true,\n }),\n )\n\n for (const [node, path] of textNodes) {\n if (Text.isText(node)) {\n Transforms.setNodes(\n editor,\n {\n typography: {\n style: value,\n },\n },\n { at: path },\n )\n }\n }\n }\n\n atRef.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgD;AAOzC,SAAS,uBACd,QACA,OACA,SACA;AACA,sBAAO,mBAAmB,QAAQ,MAAM;AACtC,UAAM,KAAK,SAAS,MAAM,OAAO;AACjC,QAAI,CAAC;AAAI;AACT,UAAM,QAAQ,oBAAO,SAAS,QAAQ,EAAE;AAExC,QAAI,MAAM,SAAS;AACjB,8BAAW;AAAA,QACT;AAAA,QACA;AAAA,UACE,OAAO;AAAA,QACT;AAAA,QACA;AAAA,UACE,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI;AAAA,UAC/B,OAAO,mBAAM,WAAW,MAAM,OAAO;AAAA,QACvC;AAAA,MACF;AAAA,IACF;AAEA,QAAI,MAAM,SAAS;AACjB,YAAM,YAAY,MAAM;AAAA,QACtB,oBAAO,MAAM,QAAQ;AAAA,UACnB,IAAI,MAAM;AAAA,UACV,OAAO,UAAQ,kBAAK,OAAO,IAAI,KAAK,KAAK,UAAU;AAAA,QACrD,CAAC;AAAA,MACH;AAEA,iBAAW,CAAC,MAAM,IAAI,KAAK,WAAW;AACpC,YAAI,kBAAK,OAAO,IAAI,GAAG;AACrB,kCAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,YAAY;AAAA,gBACV,OAAO;AAAA,cACT;AAAA,YACF;AAAA,YACA,EAAE,IAAI,KAAK;AAAA,UACb;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,MAAM;AAAA,EACd,CAAC;AACH;","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/TypographyPlugin/getValue.tsx"],"sourcesContent":["import { Editor, Text } from 'slate'\nimport { RichTextTypography } from '../types'\nimport { getSelection } from '../selectors'\n\nexport function getValue(editor: Editor) {\n const matchingValues = Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: Text.isText,\n }),\n ).map(([node]) => node['typography']) as (RichTextTypography | undefined)[]\n\n return matchingValues\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6B;AAE7B,uBAA6B;AAEtB,SAAS,SAAS,QAAgB;AACvC,QAAM,iBAAiB,MAAM;AAAA,IAC3B,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,kBAAK;AAAA,IACd,CAAC;AAAA,EACH,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,KAAK,YAAY,CAAC;AAEpC,SAAO;AACT;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/TypographyPlugin/getValue.tsx"],"sourcesContent":["import { Editor, Text } from 'slate'\nimport { RichTextTypography } from '@makeswift/controls'\n\nimport { getSelection } from '../selectors'\n\nexport function getValue(editor: Editor) {\n const matchingValues = Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: Text.isText,\n }),\n ).map(([node]) => node['typography']) as (RichTextTypography | undefined)[]\n\n return matchingValues\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA6B;AAG7B,uBAA6B;AAEtB,SAAS,SAAS,QAAgB;AACvC,QAAM,iBAAiB,MAAM;AAAA,IAC3B,oBAAO,MAAM,QAAQ;AAAA,MACnB,QAAI,+BAAa,MAAM;AAAA,MACvB,OAAO,kBAAK;AAAA,IACd,CAAC;AAAA,EACH,EAAE,IAAI,CAAC,CAAC,IAAI,MAAM,KAAK,YAAY,CAAC;AAEpC,SAAO;AACT;","names":[]}
@@ -25,12 +25,12 @@ __export(TypographyPlugin_exports, {
25
25
  });
26
26
  module.exports = __toCommonJS(TypographyPlugin_exports);
27
27
  var import_slate = require("slate");
28
+ var import_controls = require("@makeswift/controls");
28
29
  var import_clearActiveTypographyStyle = require("./clearActiveTypographyStyle");
29
30
  var import_clearDeviceActiveTypography = require("./clearDeviceActiveTypography");
30
31
  var import_detachActiveTypography = require("./detachActiveTypography");
31
32
  var import_setActiveTypographyId = require("./setActiveTypographyId");
32
33
  var import_setActiveTypographyStyle = require("./setActiveTypographyStyle");
33
- var import_controls = require("../../controls");
34
34
  var import_getValue = require("./getValue");
35
35
  var import_selectors = require("../selectors");
36
36
  var import_plugin = require("../../controls/rich-text-v2/plugin");
@@ -68,7 +68,7 @@ function withTypography(editor) {
68
68
  return editor;
69
69
  }
70
70
  function TypographyPlugin() {
71
- return (0, import_plugin.createRichTextV2Plugin)({
71
+ return (0, import_plugin.Plugin)({
72
72
  withPlugin: withTypography,
73
73
  control: {
74
74
  definition: (0, import_controls.unstable_Typography)(),
@@ -101,7 +101,7 @@ function TypographyPlugin() {
101
101
  if (nodesToUpdate.length !== value?.length)
102
102
  return console.error(
103
103
  `TypographyControl.onChange received the wrong number of arguments.
104
- Called with ${value?.length} values mapping to ${nodesToUpdate.length} nodes.`
104
+ Called with ${value?.length} values mapping to ${nodesToUpdate.length} nodes.`
105
105
  );
106
106
  for (const [index, [, path]] of nodesToUpdate.entries()) {
107
107
  import_slate.Transforms.setNodes(
@@ -116,7 +116,7 @@ Called with ${value?.length} values mapping to ${nodesToUpdate.length} nodes.`
116
116
  atRef.unref();
117
117
  });
118
118
  },
119
- getValue: (editor) => (0, import_getValue.getValue)(editor),
119
+ getValue: import_getValue.getValue,
120
120
  getLeafValue: (text) => {
121
121
  return import_slate.Text.isText(text) ? text.typography : void 0;
122
122
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/TypographyPlugin/index.ts"],"sourcesContent":["import { BaseEditor, Descendant, Editor, NodeEntry, Text, Transforms } from 'slate'\nimport { clearActiveTypographyStyle } from './clearActiveTypographyStyle'\nimport { clearDeviceActiveTypography } from './clearDeviceActiveTypography'\nimport { detachActiveTypography } from './detachActiveTypography'\nimport { setActiveTypographyId } from './setActiveTypographyId'\nimport { setActiveTypographyStyle } from './setActiveTypographyStyle'\nimport { unstable_Typography } from '../../controls'\nimport { getValue } from './getValue'\nimport { getSelection } from '../selectors'\nimport { createRichTextV2Plugin } from '../../controls/rich-text-v2/plugin'\nimport { normalizeTypographyUp } from './normalizeTypographyUp'\nimport { normalizeTypographyDown } from './normalizeTypographyDown'\nimport { normalizeSimilarText } from './normalizeSimilarText'\n\nexport const TypographyActions = {\n setActiveTypographyId,\n setActiveTypographyStyle,\n clearActiveTypographyStyle,\n clearDeviceActiveTypography,\n detachActiveTypography,\n}\n\nexport const TYPOGRAPHY_KEY = 'typography'\n\nexport interface TypographyEditor extends BaseEditor {\n typographyNormalizationDirection?: 'up' | 'neutral' | 'down'\n}\n\nexport function withTypography(editor: Editor) {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n\n if (\n 'typography' in normalizationNode &&\n normalizationNode?.typography?.id == null &&\n normalizationNode?.typography?.style.length === 0\n ) {\n Transforms.unsetNodes(editor, TYPOGRAPHY_KEY, { at: normalizationPath })\n return\n }\n\n if ('slice' in normalizationNode && normalizationNode?.slice != null) {\n Transforms.unsetNodes(editor, 'slice', { at: normalizationPath })\n return\n }\n\n if (normalizeSimilarText(editor, entry)) return\n\n if (editor.typographyNormalizationDirection === 'up' && normalizeTypographyUp(editor, entry))\n return\n\n if (\n (editor.typographyNormalizationDirection === 'down' ||\n editor.typographyNormalizationDirection == null) &&\n normalizeTypographyDown(editor, entry)\n )\n return\n\n normalizeNode(entry)\n }\n\n return editor\n}\n\nexport function TypographyPlugin() {\n return createRichTextV2Plugin({\n withPlugin: withTypography,\n control: {\n definition: unstable_Typography(),\n onChange: (editor, value) => {\n Editor.withoutNormalizing(editor, () => {\n const at = getSelection(editor)\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n if (atRef.current) {\n Transforms.setNodes<Descendant>(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: Text.isText,\n split: true,\n },\n )\n }\n\n if (atRef.current) {\n const nodesToUpdate = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: node => Text.isText(node) && node.slice === true,\n }),\n ) as NodeEntry<Text>[]\n\n if (nodesToUpdate.length !== value?.length)\n return console.error(\n `TypographyControl.onChange received the wrong number of arguments.\nCalled with ${value?.length} values mapping to ${nodesToUpdate.length} nodes.`,\n )\n\n for (const [index, [, path]] of nodesToUpdate.entries()) {\n Transforms.setNodes(\n editor,\n {\n typography: value?.at(index),\n },\n { at: path, match: Text.isText },\n )\n }\n }\n\n atRef.unref()\n })\n },\n getValue: editor => getValue(editor),\n getLeafValue: (text: Text) => {\n return Text.isText(text) ? text.typography : undefined\n },\n },\n renderLeaf: (renderLeaf, className) => props => {\n return renderLeaf({\n ...props,\n leaf: {\n ...props.leaf,\n className: `${props.leaf.className} ${className}`,\n },\n })\n },\n })\n}\n"],"mappings":"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","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/TypographyPlugin/index.ts"],"sourcesContent":["import { BaseEditor, Descendant, Editor, NodeEntry, Text, Transforms } from 'slate'\nimport { unstable_Typography } from '@makeswift/controls'\n\nimport { clearActiveTypographyStyle } from './clearActiveTypographyStyle'\nimport { clearDeviceActiveTypography } from './clearDeviceActiveTypography'\nimport { detachActiveTypography } from './detachActiveTypography'\nimport { setActiveTypographyId } from './setActiveTypographyId'\nimport { setActiveTypographyStyle } from './setActiveTypographyStyle'\nimport { getValue } from './getValue'\nimport { getSelection } from '../selectors'\nimport { Plugin } from '../../controls/rich-text-v2/plugin'\nimport { normalizeTypographyUp } from './normalizeTypographyUp'\nimport { normalizeTypographyDown } from './normalizeTypographyDown'\nimport { normalizeSimilarText } from './normalizeSimilarText'\n\nexport const TypographyActions = {\n setActiveTypographyId,\n setActiveTypographyStyle,\n clearActiveTypographyStyle,\n clearDeviceActiveTypography,\n detachActiveTypography,\n}\n\nexport const TYPOGRAPHY_KEY = 'typography'\n\nexport interface TypographyEditor extends BaseEditor {\n typographyNormalizationDirection?: 'up' | 'neutral' | 'down'\n}\n\nexport function withTypography(editor: Editor) {\n const { normalizeNode } = editor\n editor.normalizeNode = entry => {\n const [normalizationNode, normalizationPath] = entry\n\n if (\n 'typography' in normalizationNode &&\n normalizationNode?.typography?.id == null &&\n normalizationNode?.typography?.style.length === 0\n ) {\n Transforms.unsetNodes(editor, TYPOGRAPHY_KEY, { at: normalizationPath })\n return\n }\n\n if ('slice' in normalizationNode && normalizationNode?.slice != null) {\n Transforms.unsetNodes(editor, 'slice', { at: normalizationPath })\n return\n }\n\n if (normalizeSimilarText(editor, entry)) return\n\n if (editor.typographyNormalizationDirection === 'up' && normalizeTypographyUp(editor, entry))\n return\n\n if (\n (editor.typographyNormalizationDirection === 'down' ||\n editor.typographyNormalizationDirection == null) &&\n normalizeTypographyDown(editor, entry)\n )\n return\n\n normalizeNode(entry)\n }\n\n return editor\n}\n\nexport function TypographyPlugin() {\n return Plugin({\n withPlugin: withTypography,\n control: {\n definition: unstable_Typography(),\n onChange: (editor, value) => {\n Editor.withoutNormalizing(editor, () => {\n const at = getSelection(editor)\n if (!at) return\n const atRef = Editor.rangeRef(editor, at)\n if (atRef.current) {\n Transforms.setNodes<Descendant>(\n editor,\n {\n slice: true,\n },\n {\n at: atRef.current,\n match: Text.isText,\n split: true,\n },\n )\n }\n\n if (atRef.current) {\n const nodesToUpdate = Array.from(\n Editor.nodes(editor, {\n at: atRef.current,\n match: node => Text.isText(node) && node.slice === true,\n }),\n ) as NodeEntry<Text>[]\n\n if (nodesToUpdate.length !== value?.length)\n return console.error(\n `TypographyControl.onChange received the wrong number of arguments.\n Called with ${value?.length} values mapping to ${nodesToUpdate.length} nodes.`,\n )\n\n for (const [index, [, path]] of nodesToUpdate.entries()) {\n Transforms.setNodes(\n editor,\n {\n typography: value?.at(index),\n },\n { at: path, match: Text.isText },\n )\n }\n }\n\n atRef.unref()\n })\n },\n getValue,\n getLeafValue: (text: Text) => {\n return Text.isText(text) ? text.typography : undefined\n },\n },\n renderLeaf: (renderLeaf, className) => props => {\n return renderLeaf({\n ...props,\n leaf: {\n ...props.leaf,\n className: `${props.leaf.className} ${className}`,\n },\n })\n },\n })\n}\n"],"mappings":"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","names":[]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/TypographyPlugin/normalizeTypographyDown.ts"],"sourcesContent":["import { Editor, Element, NodeEntry, Transforms } from 'slate'\nimport { MakeswiftEditor, RichTextTypography } from '../types'\nimport shallowMerge from '../../utils/shallowMerge'\nimport { TYPOGRAPHY_KEY } from '.'\n\nexport function shallowMergeTypographies(\n commonTypography?: RichTextTypography,\n typography?: RichTextTypography,\n) {\n const devices = [\n ...new Set(\n commonTypography?.style\n .map(node => node.deviceId)\n .concat(typography?.style.map(node => node.deviceId) ?? []),\n ),\n ]\n\n return {\n id: commonTypography?.id ?? typography?.id,\n style: devices.map(deviceId => {\n const commonDevice = commonTypography?.style.find(s => s.deviceId === deviceId)\n const existingDeviceStyle = typography?.style.find(s => s.deviceId === deviceId)\n\n return {\n deviceId,\n value: shallowMerge(existingDeviceStyle?.value ?? {}, commonDevice?.value ?? {}),\n }\n }),\n }\n}\n\nexport function normalizeTypographyDown(editor: MakeswiftEditor, entry: NodeEntry): boolean {\n const [normalizationNode, normalizationPath] = entry\n\n if (\n Element.isElement(normalizationNode) &&\n normalizationNode.typography != null &&\n normalizationNode.children.length\n ) {\n Editor.withoutNormalizing(editor, () => {\n Transforms.unsetNodes(editor, TYPOGRAPHY_KEY, { at: normalizationPath })\n for (let i = 0; i < normalizationNode.children.length; i++) {\n const resultingTypography = shallowMergeTypographies(\n normalizationNode.typography,\n normalizationNode.children.at(i)?.typography,\n )\n Transforms.setNodes(\n editor,\n { typography: resultingTypography },\n { at: [...normalizationPath, i] },\n )\n }\n })\n return true\n }\n\n return false\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuD;AAEvD,0BAAyB;AACzB,eAA+B;AAExB,SAAS,yBACd,kBACA,YACA;AACA,QAAM,UAAU;AAAA,IACd,GAAG,IAAI;AAAA,MACL,kBAAkB,MACf,IAAI,UAAQ,KAAK,QAAQ,EACzB,OAAO,YAAY,MAAM,IAAI,UAAQ,KAAK,QAAQ,KAAK,CAAC,CAAC;AAAA,IAC9D;AAAA,EACF;AAEA,SAAO;AAAA,IACL,IAAI,kBAAkB,MAAM,YAAY;AAAA,IACxC,OAAO,QAAQ,IAAI,cAAY;AAC7B,YAAM,eAAe,kBAAkB,MAAM,KAAK,OAAK,EAAE,aAAa,QAAQ;AAC9E,YAAM,sBAAsB,YAAY,MAAM,KAAK,OAAK,EAAE,aAAa,QAAQ;AAE/E,aAAO;AAAA,QACL;AAAA,QACA,WAAO,oBAAAA,SAAa,qBAAqB,SAAS,CAAC,GAAG,cAAc,SAAS,CAAC,CAAC;AAAA,MACjF;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,SAAS,wBAAwB,QAAyB,OAA2B;AAC1F,QAAM,CAAC,mBAAmB,iBAAiB,IAAI;AAE/C,MACE,qBAAQ,UAAU,iBAAiB,KACnC,kBAAkB,cAAc,QAChC,kBAAkB,SAAS,QAC3B;AACA,wBAAO,mBAAmB,QAAQ,MAAM;AACtC,8BAAW,WAAW,QAAQ,yBAAgB,EAAE,IAAI,kBAAkB,CAAC;AACvE,eAAS,IAAI,GAAG,IAAI,kBAAkB,SAAS,QAAQ,KAAK;AAC1D,cAAM,sBAAsB;AAAA,UAC1B,kBAAkB;AAAA,UAClB,kBAAkB,SAAS,GAAG,CAAC,GAAG;AAAA,QACpC;AACA,gCAAW;AAAA,UACT;AAAA,UACA,EAAE,YAAY,oBAAoB;AAAA,UAClC,EAAE,IAAI,CAAC,GAAG,mBAAmB,CAAC,EAAE;AAAA,QAClC;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":["shallowMerge"]}
1
+ {"version":3,"sources":["../../../../src/slate/TypographyPlugin/normalizeTypographyDown.ts"],"sourcesContent":["import { Editor, Element, NodeEntry, Transforms } from 'slate'\nimport { RichTextTypography } from '@makeswift/controls'\n\nimport { MakeswiftEditor } from '../types'\nimport shallowMerge from '../../utils/shallowMerge'\nimport { TYPOGRAPHY_KEY } from '.'\n\nexport function shallowMergeTypographies(\n commonTypography?: RichTextTypography,\n typography?: RichTextTypography,\n) {\n const devices = [\n ...new Set(\n commonTypography?.style\n .map(node => node.deviceId)\n .concat(typography?.style.map(node => node.deviceId) ?? []),\n ),\n ]\n\n return {\n id: commonTypography?.id ?? typography?.id,\n style: devices.map(deviceId => {\n const commonDevice = commonTypography?.style.find(s => s.deviceId === deviceId)\n const existingDeviceStyle = typography?.style.find(s => s.deviceId === deviceId)\n\n return {\n deviceId,\n value: shallowMerge(existingDeviceStyle?.value ?? {}, commonDevice?.value ?? {}),\n }\n }),\n }\n}\n\nexport function normalizeTypographyDown(editor: MakeswiftEditor, entry: NodeEntry): boolean {\n const [normalizationNode, normalizationPath] = entry\n\n if (\n Element.isElement(normalizationNode) &&\n normalizationNode.typography != null &&\n normalizationNode.children.length\n ) {\n Editor.withoutNormalizing(editor, () => {\n Transforms.unsetNodes(editor, TYPOGRAPHY_KEY, { at: normalizationPath })\n for (let i = 0; i < normalizationNode.children.length; i++) {\n const resultingTypography = shallowMergeTypographies(\n normalizationNode.typography,\n normalizationNode.children.at(i)?.typography,\n )\n Transforms.setNodes(\n editor,\n { typography: resultingTypography },\n { at: [...normalizationPath, i] },\n )\n }\n })\n return true\n }\n\n return false\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAuD;AAIvD,0BAAyB;AACzB,eAA+B;AAExB,SAAS,yBACd,kBACA,YACA;AACA,QAAM,UAAU;AAAA,IACd,GAAG,IAAI;AAAA,MACL,kBAAkB,MACf,IAAI,UAAQ,KAAK,QAAQ,EACzB,OAAO,YAAY,MAAM,IAAI,UAAQ,KAAK,QAAQ,KAAK,CAAC,CAAC;AAAA,IAC9D;AAAA,EACF;AAEA,SAAO;AAAA,IACL,IAAI,kBAAkB,MAAM,YAAY;AAAA,IACxC,OAAO,QAAQ,IAAI,cAAY;AAC7B,YAAM,eAAe,kBAAkB,MAAM,KAAK,OAAK,EAAE,aAAa,QAAQ;AAC9E,YAAM,sBAAsB,YAAY,MAAM,KAAK,OAAK,EAAE,aAAa,QAAQ;AAE/E,aAAO;AAAA,QACL;AAAA,QACA,WAAO,oBAAAA,SAAa,qBAAqB,SAAS,CAAC,GAAG,cAAc,SAAS,CAAC,CAAC;AAAA,MACjF;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEO,SAAS,wBAAwB,QAAyB,OAA2B;AAC1F,QAAM,CAAC,mBAAmB,iBAAiB,IAAI;AAE/C,MACE,qBAAQ,UAAU,iBAAiB,KACnC,kBAAkB,cAAc,QAChC,kBAAkB,SAAS,QAC3B;AACA,wBAAO,mBAAmB,QAAQ,MAAM;AACtC,8BAAW,WAAW,QAAQ,yBAAgB,EAAE,IAAI,kBAAkB,CAAC;AACvE,eAAS,IAAI,GAAG,IAAI,kBAAkB,SAAS,QAAQ,KAAK;AAC1D,cAAM,sBAAsB;AAAA,UAC1B,kBAAkB;AAAA,UAClB,kBAAkB,SAAS,GAAG,CAAC,GAAG;AAAA,QACpC;AACA,gCAAW;AAAA,UACT;AAAA,UACA,EAAE,YAAY,oBAAoB;AAAA,UAClC,EAAE,IAAI,CAAC,GAAG,mBAAmB,CAAC,EAAE;AAAA,QAClC;AAAA,MACF;AAAA,IACF,CAAC;AACD,WAAO;AAAA,EACT;AAEA,SAAO;AACT;","names":["shallowMerge"]}
@@ -58,9 +58,12 @@ function shallowAndTypographies(...typographies) {
58
58
  );
59
59
  if (typographies.length !== stylesForThisDevice.length)
60
60
  return [];
61
- const value = stylesForThisDevice.reduce((acc, curr) => {
62
- return shallowAnd(acc, curr);
63
- }, stylesForThisDevice.at(0));
61
+ const value = stylesForThisDevice.reduce(
62
+ (acc, curr) => {
63
+ return shallowAnd(acc, curr);
64
+ },
65
+ stylesForThisDevice.at(0)
66
+ );
64
67
  if (value == null || Object.keys(value).length === 0) {
65
68
  return [];
66
69
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/TypographyPlugin/normalizeTypographyUp.ts"],"sourcesContent":["import { MakeswiftEditor } from '../types'\nimport { Editor, Element, NodeEntry, Transforms, Node, Text } from 'slate'\nimport { RichTextTypography } from '../types'\nimport keys from '../../utils/keys'\nimport deepEqual from '../../utils/deepEqual'\nimport { shallowMergeTypographies } from './normalizeTypographyDown'\n\nfunction shallowAnd<A extends Record<string, unknown>, B extends Record<string, unknown>>(\n a: A,\n b: B,\n): A & B {\n const bKeys = keys(b)\n const aPrime = { ...a } as A & B\n const and = {} as A & B\n\n bKeys.forEach(key => {\n if (deepEqual(aPrime[key], b[key])) and[key] = aPrime[key]\n })\n\n return and\n}\n\nfunction shallowAndTypographies(...typographies: RichTextTypography[]): RichTextTypography {\n return {\n id: typographies.every(typography => typography?.id === typographies.at(0)?.id)\n ? typographies.at(0)?.id\n : undefined,\n style: [\n ...new Set(\n typographies.flatMap(typography => typography?.style.map(node => node.deviceId) ?? []),\n ),\n ].flatMap(deviceId => {\n const stylesForThisDevice = typographies\n .map(typography => typography.style.find(s => s.deviceId === deviceId)?.value)\n .filter((typography): typography is RichTextTypography['style'][number]['value'] =>\n Boolean(typography),\n )\n\n if (typographies.length !== stylesForThisDevice.length) return []\n\n const value = stylesForThisDevice.reduce((acc, curr) => {\n return shallowAnd(acc, curr)\n }, stylesForThisDevice.at(0) as RichTextTypography['style'][number]['value'])\n\n if (value == null || Object.keys(value).length === 0) {\n return []\n }\n\n return [\n {\n deviceId,\n value,\n },\n ]\n }),\n }\n}\n\nfunction shallowInverseAnd<A extends Record<string, unknown>, B extends Record<string, unknown>>(\n a: A,\n b: B,\n): A & B {\n const bKeys = Array.from(new Set([...keys(b), ...keys(a)]))\n const aPrime = { ...a } as A & B\n const bPrime = { ...b } as A & B\n const xor = {} as A & B\n\n bKeys.forEach(key => {\n if (!deepEqual(aPrime[key], bPrime[key as any])) xor[key] = aPrime[key]\n })\n\n return xor\n}\n\nfunction shallowInverseAndTypographies(\n a: RichTextTypography,\n b: RichTextTypography,\n): RichTextTypography {\n const typography = { style: [] } as RichTextTypography\n if (a?.id !== b.id) {\n typography.id = a?.id\n }\n\n if (a && a.style.length > 0) {\n const styles: RichTextTypography['style'] = []\n for (const style of a.style) {\n const bDeviceTypography = b.style.find(s => s.deviceId === style.deviceId)\n if (bDeviceTypography == null) {\n styles.push(style)\n } else {\n const uniquePropertiesOfA = shallowInverseAnd(style.value, bDeviceTypography.value)\n\n if (Object.keys(uniquePropertiesOfA).length > 0) {\n styles.push({\n deviceId: style.deviceId,\n value: uniquePropertiesOfA,\n })\n }\n }\n }\n typography.style = styles\n }\n\n return typography\n}\n\n/**\n * If a text is empty then don't include it in our comparison.\n */\nfunction isException(node: Node): boolean {\n return Text.isText(node) && node.text === ''\n}\n\nexport function normalizeTypographyUp(editor: MakeswiftEditor, entry: NodeEntry): boolean {\n const [node, path] = entry\n if (Element.isElement(node) && node.children.length) {\n const typographiesOfChildren = node.children\n .filter(child => !isException(child))\n .map(child => child.typography)\n\n const definedTypographiesOfChildren = typographiesOfChildren.filter(\n (typography): typography is RichTextTypography => Boolean(typography),\n )\n if (typographiesOfChildren.length === definedTypographiesOfChildren.length) {\n let sharedTypography: RichTextTypography = shallowAndTypographies(\n ...definedTypographiesOfChildren,\n )\n\n if (sharedTypography.style.length > 0 || sharedTypography.id != null) {\n const rootTypography: RichTextTypography = shallowMergeTypographies(\n sharedTypography,\n node.typography,\n )\n Editor.withoutNormalizing(editor, () => {\n Transforms.setNodes(editor, { typography: rootTypography }, { at: path })\n for (let i = 0; i < node.children.length; i++) {\n const typography: RichTextTypography = shallowInverseAndTypographies(\n node.children.at(i)?.typography ?? { style: [] },\n sharedTypography,\n )\n\n Transforms.setNodes(editor, { typography }, { at: [...path, i] })\n }\n })\n return true\n }\n }\n }\n return false\n}\n"],"mappings":"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","names":["keys","deepEqual"]}
1
+ {"version":3,"sources":["../../../../src/slate/TypographyPlugin/normalizeTypographyUp.ts"],"sourcesContent":["import { Editor, Element, NodeEntry, Transforms, Node, Text } from 'slate'\nimport { RichTextTypography } from '@makeswift/controls'\n\nimport { MakeswiftEditor } from '../types'\nimport keys from '../../utils/keys'\nimport deepEqual from '../../utils/deepEqual'\nimport { shallowMergeTypographies } from './normalizeTypographyDown'\n\nfunction shallowAnd<A extends Record<string, unknown>, B extends Record<string, unknown>>(\n a: A,\n b: B,\n): A & B {\n const bKeys = keys(b)\n const aPrime = { ...a } as A & B\n const and = {} as A & B\n\n bKeys.forEach(key => {\n if (deepEqual(aPrime[key], b[key])) and[key] = aPrime[key]\n })\n\n return and\n}\n\nfunction shallowAndTypographies(...typographies: RichTextTypography[]): RichTextTypography {\n return {\n id: typographies.every(typography => typography?.id === typographies.at(0)?.id)\n ? typographies.at(0)?.id\n : undefined,\n style: [\n ...new Set(\n typographies.flatMap(typography => typography?.style.map(node => node.deviceId) ?? []),\n ),\n ].flatMap(deviceId => {\n const stylesForThisDevice = typographies\n .map(typography => typography.style.find(s => s.deviceId === deviceId)?.value)\n .filter((typography): typography is RichTextTypography['style'][number]['value'] =>\n Boolean(typography),\n )\n\n if (typographies.length !== stylesForThisDevice.length) return []\n\n const value = stylesForThisDevice.reduce(\n (acc, curr) => {\n return shallowAnd(acc, curr)\n },\n stylesForThisDevice.at(0) as RichTextTypography['style'][number]['value'],\n )\n\n if (value == null || Object.keys(value).length === 0) {\n return []\n }\n\n return [\n {\n deviceId,\n value,\n },\n ]\n }),\n }\n}\n\nfunction shallowInverseAnd<A extends Record<string, unknown>, B extends Record<string, unknown>>(\n a: A,\n b: B,\n): A & B {\n const bKeys = Array.from(new Set([...keys(b), ...keys(a)]))\n const aPrime = { ...a } as A & B\n const bPrime = { ...b } as A & B\n const xor = {} as A & B\n\n bKeys.forEach(key => {\n if (!deepEqual(aPrime[key], bPrime[key as any])) xor[key] = aPrime[key]\n })\n\n return xor\n}\n\nfunction shallowInverseAndTypographies(\n a: RichTextTypography,\n b: RichTextTypography,\n): RichTextTypography {\n const typography = { style: [] } as RichTextTypography\n if (a?.id !== b.id) {\n typography.id = a?.id\n }\n\n if (a && a.style.length > 0) {\n const styles: RichTextTypography['style'] = []\n for (const style of a.style) {\n const bDeviceTypography = b.style.find(s => s.deviceId === style.deviceId)\n if (bDeviceTypography == null) {\n styles.push(style)\n } else {\n const uniquePropertiesOfA = shallowInverseAnd(style.value, bDeviceTypography.value)\n\n if (Object.keys(uniquePropertiesOfA).length > 0) {\n styles.push({\n deviceId: style.deviceId,\n value: uniquePropertiesOfA,\n })\n }\n }\n }\n typography.style = styles\n }\n\n return typography\n}\n\n/**\n * If a text is empty then don't include it in our comparison.\n */\nfunction isException(node: Node): boolean {\n return Text.isText(node) && node.text === ''\n}\n\nexport function normalizeTypographyUp(editor: MakeswiftEditor, entry: NodeEntry): boolean {\n const [node, path] = entry\n if (Element.isElement(node) && node.children.length) {\n const typographiesOfChildren = node.children\n .filter(child => !isException(child))\n .map(child => child.typography)\n\n const definedTypographiesOfChildren = typographiesOfChildren.filter(\n (typography): typography is RichTextTypography => Boolean(typography),\n )\n if (typographiesOfChildren.length === definedTypographiesOfChildren.length) {\n let sharedTypography: RichTextTypography = shallowAndTypographies(\n ...definedTypographiesOfChildren,\n )\n\n if (sharedTypography.style.length > 0 || sharedTypography.id != null) {\n const rootTypography: RichTextTypography = shallowMergeTypographies(\n sharedTypography,\n node.typography,\n )\n Editor.withoutNormalizing(editor, () => {\n Transforms.setNodes(editor, { typography: rootTypography }, { at: path })\n for (let i = 0; i < node.children.length; i++) {\n const typography: RichTextTypography = shallowInverseAndTypographies(\n node.children.at(i)?.typography ?? { style: [] },\n sharedTypography,\n )\n\n Transforms.setNodes(editor, { typography }, { at: [...path, i] })\n }\n })\n return true\n }\n }\n }\n return false\n}\n"],"mappings":"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","names":["keys","deepEqual"]}