@makeswift/runtime 0.19.4 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (884) hide show
  1. package/builder/rich-text/package.json +5 -0
  2. package/core/package.json +5 -0
  3. package/dist/cjs/api/graphql/generated/types.js.map +1 -1
  4. package/dist/cjs/api/react.js.map +1 -1
  5. package/dist/cjs/{prop-controllers/base.js → builder/rich-text/index.js} +7 -12
  6. package/dist/cjs/builder/rich-text/index.js.map +1 -0
  7. package/dist/cjs/builder/serialization/control-serialization.js +51 -27
  8. package/dist/cjs/builder/serialization/control-serialization.js.map +1 -1
  9. package/dist/cjs/components/builtin/Button/Button.js.map +1 -1
  10. package/dist/cjs/components/builtin/Carousel/Carousel.js +2 -2
  11. package/dist/cjs/components/builtin/Carousel/Carousel.js.map +1 -1
  12. package/dist/cjs/components/builtin/Countdown/Countdown.js.map +1 -1
  13. package/dist/cjs/components/builtin/Divider/Divider.js.map +1 -1
  14. package/dist/cjs/components/builtin/Form/Form.js.map +1 -1
  15. package/dist/cjs/components/builtin/Form/context/FormContext.js.map +1 -1
  16. package/dist/cjs/components/builtin/Image/Image.js +2 -2
  17. package/dist/cjs/components/builtin/Image/Image.js.map +1 -1
  18. package/dist/cjs/components/builtin/Navigation/Navigation.js.map +1 -1
  19. package/dist/cjs/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  20. package/dist/cjs/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  21. package/dist/cjs/components/builtin/Text/register.js.map +1 -1
  22. package/dist/cjs/components/builtin/register.js.map +1 -1
  23. package/dist/cjs/components/hooks/useMediaQuery.js +2 -2
  24. package/dist/cjs/components/hooks/useMediaQuery.js.map +1 -1
  25. package/dist/cjs/components/hooks/useResponsiveColor.js +1 -1
  26. package/dist/cjs/components/hooks/useResponsiveColor.js.map +1 -1
  27. package/dist/cjs/components/shared/Link/index.js +2 -2
  28. package/dist/cjs/components/shared/Link/index.js.map +1 -1
  29. package/dist/cjs/components/utils/responsive-style.js +9 -9
  30. package/dist/cjs/components/utils/responsive-style.js.map +1 -1
  31. package/dist/cjs/components/utils/types.js.map +1 -1
  32. package/dist/cjs/controls/control.js +14 -78
  33. package/dist/cjs/controls/control.js.map +1 -1
  34. package/dist/cjs/controls/index.js +99 -21
  35. package/dist/cjs/controls/index.js.map +1 -1
  36. package/dist/cjs/controls/{image.js → link.js} +20 -11
  37. package/dist/cjs/controls/link.js.map +1 -0
  38. package/dist/cjs/controls/rich-text/control.js +97 -0
  39. package/dist/cjs/controls/rich-text/control.js.map +1 -0
  40. package/dist/cjs/controls/rich-text/index.js +1 -7
  41. package/dist/cjs/controls/rich-text/index.js.map +1 -1
  42. package/dist/cjs/controls/rich-text/rich-text.js +16 -69
  43. package/dist/cjs/controls/rich-text/rich-text.js.map +1 -1
  44. package/dist/cjs/controls/rich-text-v2/control.js +138 -0
  45. package/dist/cjs/controls/rich-text-v2/control.js.map +1 -0
  46. package/dist/cjs/controls/rich-text-v2/index.js +1 -5
  47. package/dist/cjs/controls/rich-text-v2/index.js.map +1 -1
  48. package/dist/cjs/controls/rich-text-v2/plugin.js +3 -3
  49. package/dist/cjs/controls/rich-text-v2/plugin.js.map +1 -1
  50. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js +105 -121
  51. package/dist/cjs/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  52. package/dist/cjs/controls/rich-text-v2/translation.js +35 -48
  53. package/dist/cjs/controls/rich-text-v2/translation.js.map +1 -1
  54. package/dist/cjs/controls/slot.js +13 -59
  55. package/dist/cjs/controls/slot.js.map +1 -1
  56. package/dist/cjs/controls/{rich-text/fixtures → style-v2}/index.js +4 -8
  57. package/dist/cjs/controls/style-v2/index.js.map +1 -0
  58. package/dist/cjs/controls/style-v2/style-v2.js +50 -0
  59. package/dist/cjs/controls/style-v2/style-v2.js.map +1 -0
  60. package/dist/cjs/{controls/select.js → core/index.js} +11 -12
  61. package/dist/cjs/core/index.js.map +1 -0
  62. package/dist/cjs/jest-setup.js +3 -0
  63. package/dist/cjs/jest-setup.js.map +1 -1
  64. package/dist/cjs/next/api-handler/handlers/manifest.js +1 -1
  65. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js +18 -5
  66. package/dist/cjs/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  67. package/dist/cjs/prop-controllers/copy.js +20 -18
  68. package/dist/cjs/prop-controllers/copy.js.map +1 -1
  69. package/dist/cjs/prop-controllers/deleted.js.map +1 -1
  70. package/dist/cjs/prop-controllers/descriptors.js +6 -6
  71. package/dist/cjs/prop-controllers/descriptors.js.map +1 -1
  72. package/dist/cjs/prop-controllers/index.js +0 -2
  73. package/dist/cjs/prop-controllers/index.js.map +1 -1
  74. package/dist/cjs/prop-controllers/instances.js +12 -90
  75. package/dist/cjs/prop-controllers/instances.js.map +1 -1
  76. package/dist/cjs/prop-controllers/introspection.js +26 -97
  77. package/dist/cjs/prop-controllers/introspection.js.map +1 -1
  78. package/dist/cjs/runtimes/react/components/Element.js.map +1 -1
  79. package/dist/cjs/runtimes/react/controls/checkbox.js +1 -4
  80. package/dist/cjs/runtimes/react/controls/checkbox.js.map +1 -1
  81. package/dist/cjs/runtimes/react/controls/color.js.map +1 -1
  82. package/dist/cjs/runtimes/react/controls/combobox.js.map +1 -1
  83. package/dist/cjs/runtimes/react/controls/control.js +48 -39
  84. package/dist/cjs/runtimes/react/controls/control.js.map +1 -1
  85. package/dist/cjs/runtimes/react/controls/icon-radio-group.js.map +1 -1
  86. package/dist/cjs/runtimes/react/controls/image.js +6 -10
  87. package/dist/cjs/runtimes/react/controls/image.js.map +1 -1
  88. package/dist/cjs/runtimes/react/controls/link.js.map +1 -1
  89. package/dist/cjs/runtimes/react/controls/list.js +3 -1
  90. package/dist/cjs/runtimes/react/controls/list.js.map +1 -1
  91. package/dist/cjs/runtimes/react/controls/number.js +1 -4
  92. package/dist/cjs/runtimes/react/controls/number.js.map +1 -1
  93. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js +4 -2
  94. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  95. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js +1 -1
  96. package/dist/cjs/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js.map +1 -1
  97. package/dist/cjs/runtimes/react/controls/rich-text/ReadOnlyText.js +2 -7
  98. package/dist/cjs/runtimes/react/controls/rich-text/ReadOnlyText.js.map +1 -1
  99. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/block.js +14 -14
  100. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/block.js.map +1 -1
  101. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/element.js +7 -23
  102. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/element.js.map +1 -1
  103. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js +1 -1
  104. package/dist/cjs/runtimes/react/controls/rich-text/components/Element/inline.js.map +1 -1
  105. package/dist/cjs/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  106. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js +3 -16
  107. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js.map +1 -1
  108. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +1 -1
  109. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +1 -1
  110. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +8 -8
  111. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  112. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js +2 -2
  113. package/dist/cjs/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js.map +1 -1
  114. package/dist/cjs/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js +7 -13
  115. package/dist/cjs/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +1 -1
  116. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -2
  117. package/dist/cjs/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  118. package/dist/cjs/runtimes/react/controls/select.js +1 -1
  119. package/dist/cjs/runtimes/react/controls/select.js.map +1 -1
  120. package/dist/cjs/runtimes/react/controls/shape.js +2 -7
  121. package/dist/cjs/runtimes/react/controls/shape.js.map +1 -1
  122. package/dist/cjs/runtimes/react/controls/slot.js +13 -5
  123. package/dist/cjs/runtimes/react/controls/slot.js.map +1 -1
  124. package/dist/cjs/runtimes/react/controls/style-v2.js +6 -11
  125. package/dist/cjs/runtimes/react/controls/style-v2.js.map +1 -1
  126. package/dist/cjs/runtimes/react/controls/style.js +8 -8
  127. package/dist/cjs/runtimes/react/controls/style.js.map +1 -1
  128. package/dist/cjs/runtimes/react/controls/text-area.js +1 -4
  129. package/dist/cjs/runtimes/react/controls/text-area.js.map +1 -1
  130. package/dist/cjs/runtimes/react/controls/text-input.js +1 -4
  131. package/dist/cjs/runtimes/react/controls/text-input.js.map +1 -1
  132. package/dist/cjs/runtimes/react/controls/typography.js.map +1 -1
  133. package/dist/cjs/runtimes/react/controls.js +79 -73
  134. package/dist/cjs/runtimes/react/controls.js.map +1 -1
  135. package/dist/cjs/runtimes/react/hooks/use-store.js +2 -2
  136. package/dist/cjs/runtimes/react/hooks/use-store.js.map +1 -1
  137. package/dist/cjs/runtimes/react/poll-box-model.js +1 -1
  138. package/dist/cjs/runtimes/react/poll-box-model.js.map +1 -1
  139. package/dist/cjs/runtimes/react/react-runtime.js +3 -32
  140. package/dist/cjs/runtimes/react/react-runtime.js.map +1 -1
  141. package/dist/cjs/runtimes/react/runtime-core.js +67 -0
  142. package/dist/cjs/runtimes/react/runtime-core.js.map +1 -0
  143. package/dist/cjs/slate/BlockPlugin/clearBlockKeyForDevice.js +2 -2
  144. package/dist/cjs/slate/BlockPlugin/clearBlockKeyForDevice.js.map +1 -1
  145. package/dist/cjs/slate/BlockPlugin/indent.js +3 -2
  146. package/dist/cjs/slate/BlockPlugin/indent.js.map +1 -1
  147. package/dist/cjs/slate/BlockPlugin/index.js +17 -15
  148. package/dist/cjs/slate/BlockPlugin/index.js.map +1 -1
  149. package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js +2 -2
  150. package/dist/cjs/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
  151. package/dist/cjs/slate/BlockPlugin/toggleList.js +2 -2
  152. package/dist/cjs/slate/BlockPlugin/toggleList.js.map +1 -1
  153. package/dist/cjs/slate/BlockPlugin/types.js.map +1 -1
  154. package/dist/cjs/slate/BlockPlugin/unwrapInline.js +2 -2
  155. package/dist/cjs/slate/BlockPlugin/unwrapInline.js.map +1 -1
  156. package/dist/cjs/slate/BlockPlugin/unwrapList.js +3 -4
  157. package/dist/cjs/slate/BlockPlugin/unwrapList.js.map +1 -1
  158. package/dist/cjs/slate/BlockPlugin/utils/getSelectedListItems.js +2 -2
  159. package/dist/cjs/slate/BlockPlugin/utils/getSelectedListItems.js.map +1 -1
  160. package/dist/cjs/slate/BlockPlugin/wrapInline.js.map +1 -1
  161. package/dist/cjs/slate/BlockPlugin/wrapList.js +4 -3
  162. package/dist/cjs/slate/BlockPlugin/wrapList.js.map +1 -1
  163. package/dist/cjs/slate/BuilderPlugin/index.js +3 -3
  164. package/dist/cjs/slate/BuilderPlugin/index.js.map +1 -1
  165. package/dist/cjs/slate/InlineModePlugin/index.js +4 -5
  166. package/dist/cjs/slate/InlineModePlugin/index.js.map +1 -1
  167. package/dist/cjs/slate/InlinePlugin/getValue.js +4 -4
  168. package/dist/cjs/slate/InlinePlugin/getValue.js.map +1 -1
  169. package/dist/cjs/slate/InlinePlugin/index.js +10 -14
  170. package/dist/cjs/slate/InlinePlugin/index.js.map +1 -1
  171. package/dist/cjs/slate/InlinePlugin/onChange.js +3 -3
  172. package/dist/cjs/slate/InlinePlugin/onChange.js.map +1 -1
  173. package/dist/cjs/slate/InlinePlugin/types.js +9 -6
  174. package/dist/cjs/slate/InlinePlugin/types.js.map +1 -1
  175. package/dist/cjs/slate/LinkPlugin/getValue.js +4 -5
  176. package/dist/cjs/slate/LinkPlugin/getValue.js.map +1 -1
  177. package/dist/cjs/slate/LinkPlugin/index.js +8 -10
  178. package/dist/cjs/slate/LinkPlugin/index.js.map +1 -1
  179. package/dist/cjs/slate/LinkPlugin/onChange.js +6 -6
  180. package/dist/cjs/slate/LinkPlugin/onChange.js.map +1 -1
  181. package/dist/cjs/slate/LinkPlugin/types.js +3 -8
  182. package/dist/cjs/slate/LinkPlugin/types.js.map +1 -1
  183. package/dist/cjs/slate/TextAlignPlugin/getValue.js +2 -2
  184. package/dist/cjs/slate/TextAlignPlugin/getValue.js.map +1 -1
  185. package/dist/cjs/slate/TextAlignPlugin/index.js +12 -12
  186. package/dist/cjs/slate/TextAlignPlugin/index.js.map +1 -1
  187. package/dist/cjs/slate/TypographyPlugin/clearActiveTypographyStyle.js.map +1 -1
  188. package/dist/cjs/slate/TypographyPlugin/clearDeviceActiveTypography.js.map +1 -1
  189. package/dist/cjs/slate/TypographyPlugin/detachActiveTypography.js.map +1 -1
  190. package/dist/cjs/slate/TypographyPlugin/getValue.js.map +1 -1
  191. package/dist/cjs/slate/TypographyPlugin/index.js +4 -4
  192. package/dist/cjs/slate/TypographyPlugin/index.js.map +1 -1
  193. package/dist/cjs/slate/TypographyPlugin/normalizeTypographyDown.js.map +1 -1
  194. package/dist/cjs/slate/TypographyPlugin/normalizeTypographyUp.js +6 -3
  195. package/dist/cjs/slate/TypographyPlugin/normalizeTypographyUp.js.map +1 -1
  196. package/dist/cjs/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
  197. package/dist/cjs/slate/index.js +8 -8
  198. package/dist/cjs/slate/index.js.map +1 -1
  199. package/dist/cjs/slate/selectors.js +15 -12
  200. package/dist/cjs/slate/selectors.js.map +1 -1
  201. package/dist/cjs/slate/types.js +5 -36
  202. package/dist/cjs/slate/types.js.map +1 -1
  203. package/dist/cjs/slate/utils/editor.js +3 -3
  204. package/dist/cjs/slate/utils/editor.js.map +1 -1
  205. package/dist/cjs/slate/utils/element.js +5 -27
  206. package/dist/cjs/slate/utils/element.js.map +1 -1
  207. package/dist/cjs/slate/utils/responsive.js.map +1 -1
  208. package/dist/cjs/slate/utils/toText.js +16 -52
  209. package/dist/cjs/slate/utils/toText.js.map +1 -1
  210. package/dist/cjs/state/actions.js.map +1 -1
  211. package/dist/cjs/state/modules/box-models.js.map +1 -1
  212. package/dist/cjs/state/modules/breakpoints.js +1 -1
  213. package/dist/cjs/state/modules/breakpoints.js.map +1 -1
  214. package/dist/cjs/state/modules/prop-controller-handles.js.map +1 -1
  215. package/dist/cjs/state/modules/read-only-documents.js +2 -4
  216. package/dist/cjs/state/modules/read-only-documents.js.map +1 -1
  217. package/dist/cjs/state/react-builder-preview.js +10 -7
  218. package/dist/cjs/state/react-builder-preview.js.map +1 -1
  219. package/dist/cjs/state/react-page.js +10 -41
  220. package/dist/cjs/state/react-page.js.map +1 -1
  221. package/dist/esm/api/graphql/generated/types.js.map +1 -1
  222. package/dist/esm/api/react.js.map +1 -1
  223. package/dist/esm/builder/rich-text/index.js +5 -0
  224. package/dist/esm/builder/rich-text/index.js.map +1 -0
  225. package/dist/esm/builder/serialization/control-serialization.js +66 -37
  226. package/dist/esm/builder/serialization/control-serialization.js.map +1 -1
  227. package/dist/esm/components/builtin/Button/Button.js.map +1 -1
  228. package/dist/esm/components/builtin/Carousel/Carousel.js +1 -1
  229. package/dist/esm/components/builtin/Carousel/Carousel.js.map +1 -1
  230. package/dist/esm/components/builtin/Countdown/Countdown.js.map +1 -1
  231. package/dist/esm/components/builtin/Divider/Divider.js.map +1 -1
  232. package/dist/esm/components/builtin/Form/Form.js.map +1 -1
  233. package/dist/esm/components/builtin/Form/context/FormContext.js.map +1 -1
  234. package/dist/esm/components/builtin/Image/Image.js +1 -1
  235. package/dist/esm/components/builtin/Image/Image.js.map +1 -1
  236. package/dist/esm/components/builtin/Navigation/Navigation.js.map +1 -1
  237. package/dist/esm/components/builtin/Navigation/components/MobileMenu/index.js.map +1 -1
  238. package/dist/esm/components/builtin/SocialLinks/SocialLinks.js.map +1 -1
  239. package/dist/esm/components/builtin/Text/register.js.map +1 -1
  240. package/dist/esm/components/builtin/register.js.map +1 -1
  241. package/dist/esm/components/hooks/useMediaQuery.js +1 -1
  242. package/dist/esm/components/hooks/useMediaQuery.js.map +1 -1
  243. package/dist/esm/components/hooks/useResponsiveColor.js +3 -1
  244. package/dist/esm/components/hooks/useResponsiveColor.js.map +1 -1
  245. package/dist/esm/components/shared/Link/index.js +1 -1
  246. package/dist/esm/components/shared/Link/index.js.map +1 -1
  247. package/dist/esm/components/utils/responsive-style.js +1 -1
  248. package/dist/esm/components/utils/responsive-style.js.map +1 -1
  249. package/dist/esm/controls/control.js +14 -109
  250. package/dist/esm/controls/control.js.map +1 -1
  251. package/dist/esm/controls/index.js +82 -10
  252. package/dist/esm/controls/index.js.map +1 -1
  253. package/dist/esm/controls/link.js +18 -0
  254. package/dist/esm/controls/link.js.map +1 -0
  255. package/dist/esm/controls/rich-text/control.js +76 -0
  256. package/dist/esm/controls/rich-text/control.js.map +1 -0
  257. package/dist/esm/controls/rich-text/index.js +0 -3
  258. package/dist/esm/controls/rich-text/index.js.map +1 -1
  259. package/dist/esm/controls/rich-text/rich-text.js +14 -66
  260. package/dist/esm/controls/rich-text/rich-text.js.map +1 -1
  261. package/dist/esm/controls/rich-text-v2/control.js +117 -0
  262. package/dist/esm/controls/rich-text-v2/control.js.map +1 -0
  263. package/dist/esm/controls/rich-text-v2/index.js +0 -2
  264. package/dist/esm/controls/rich-text-v2/index.js.map +1 -1
  265. package/dist/esm/controls/rich-text-v2/plugin.js +2 -2
  266. package/dist/esm/controls/rich-text-v2/plugin.js.map +1 -1
  267. package/dist/esm/controls/rich-text-v2/rich-text-v2.js +111 -116
  268. package/dist/esm/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  269. package/dist/esm/controls/rich-text-v2/translation.js +33 -46
  270. package/dist/esm/controls/rich-text-v2/translation.js.map +1 -1
  271. package/dist/esm/controls/slot.js +13 -54
  272. package/dist/esm/controls/slot.js.map +1 -1
  273. package/dist/esm/controls/style-v2/index.js +2 -0
  274. package/dist/esm/controls/style-v2/index.js.map +1 -0
  275. package/dist/esm/controls/style-v2/style-v2.js +28 -0
  276. package/dist/esm/controls/style-v2/style-v2.js.map +1 -0
  277. package/dist/esm/core/index.js +11 -0
  278. package/dist/esm/core/index.js.map +1 -0
  279. package/dist/esm/jest-setup.js +3 -0
  280. package/dist/esm/jest-setup.js.map +1 -1
  281. package/dist/esm/next/api-handler/handlers/manifest.js +1 -1
  282. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js +19 -6
  283. package/dist/esm/next/components/tests/controls/page-control-prop-rendering.js.map +1 -1
  284. package/dist/esm/prop-controllers/copy.js +7 -5
  285. package/dist/esm/prop-controllers/copy.js.map +1 -1
  286. package/dist/esm/prop-controllers/deleted.js.map +1 -1
  287. package/dist/esm/prop-controllers/descriptors.js +7 -5
  288. package/dist/esm/prop-controllers/descriptors.js.map +1 -1
  289. package/dist/esm/prop-controllers/index.js +1 -2
  290. package/dist/esm/prop-controllers/index.js.map +1 -1
  291. package/dist/esm/prop-controllers/instances.js +15 -107
  292. package/dist/esm/prop-controllers/instances.js.map +1 -1
  293. package/dist/esm/prop-controllers/introspection.js +28 -131
  294. package/dist/esm/prop-controllers/introspection.js.map +1 -1
  295. package/dist/esm/runtimes/react/components/Element.js.map +1 -1
  296. package/dist/esm/runtimes/react/controls/checkbox.js +1 -7
  297. package/dist/esm/runtimes/react/controls/checkbox.js.map +1 -1
  298. package/dist/esm/runtimes/react/controls/color.js.map +1 -1
  299. package/dist/esm/runtimes/react/controls/combobox.js.map +1 -1
  300. package/dist/esm/runtimes/react/controls/control.js +66 -58
  301. package/dist/esm/runtimes/react/controls/control.js.map +1 -1
  302. package/dist/esm/runtimes/react/controls/icon-radio-group.js.map +1 -1
  303. package/dist/esm/runtimes/react/controls/image.js +6 -12
  304. package/dist/esm/runtimes/react/controls/image.js.map +1 -1
  305. package/dist/esm/runtimes/react/controls/link.js.map +1 -1
  306. package/dist/esm/runtimes/react/controls/list.js +3 -1
  307. package/dist/esm/runtimes/react/controls/list.js.map +1 -1
  308. package/dist/esm/runtimes/react/controls/number.js +1 -7
  309. package/dist/esm/runtimes/react/controls/number.js.map +1 -1
  310. package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js +7 -11
  311. package/dist/esm/runtimes/react/controls/rich-text/EditableText/editable-text.js.map +1 -1
  312. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js +1 -1
  313. package/dist/esm/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.js.map +1 -1
  314. package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js +2 -7
  315. package/dist/esm/runtimes/react/controls/rich-text/ReadOnlyText.js.map +1 -1
  316. package/dist/esm/runtimes/react/controls/rich-text/components/Element/block.js +1 -1
  317. package/dist/esm/runtimes/react/controls/rich-text/components/Element/block.js.map +1 -1
  318. package/dist/esm/runtimes/react/controls/rich-text/components/Element/element.js +7 -23
  319. package/dist/esm/runtimes/react/controls/rich-text/components/Element/element.js.map +1 -1
  320. package/dist/esm/runtimes/react/controls/rich-text/components/Element/inline.js +1 -1
  321. package/dist/esm/runtimes/react/controls/rich-text/components/Element/inline.js.map +1 -1
  322. package/dist/esm/runtimes/react/controls/rich-text/rich-text.js.map +1 -1
  323. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js +5 -27
  324. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.js.map +1 -1
  325. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.js.map +1 -1
  326. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.js.map +1 -1
  327. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js +7 -7
  328. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.js.map +1 -1
  329. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js +2 -2
  330. package/dist/esm/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.js.map +1 -1
  331. package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js +9 -25
  332. package/dist/esm/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.js.map +1 -1
  333. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js +2 -4
  334. package/dist/esm/runtimes/react/controls/rich-text-v2/rich-text-v2.js.map +1 -1
  335. package/dist/esm/runtimes/react/controls/select.js +1 -1
  336. package/dist/esm/runtimes/react/controls/select.js.map +1 -1
  337. package/dist/esm/runtimes/react/controls/shape.js +2 -7
  338. package/dist/esm/runtimes/react/controls/shape.js.map +1 -1
  339. package/dist/esm/runtimes/react/controls/slot.js +14 -6
  340. package/dist/esm/runtimes/react/controls/slot.js.map +1 -1
  341. package/dist/esm/runtimes/react/controls/style-v2.js +6 -11
  342. package/dist/esm/runtimes/react/controls/style-v2.js.map +1 -1
  343. package/dist/esm/runtimes/react/controls/style.js +10 -10
  344. package/dist/esm/runtimes/react/controls/style.js.map +1 -1
  345. package/dist/esm/runtimes/react/controls/text-area.js +1 -7
  346. package/dist/esm/runtimes/react/controls/text-area.js.map +1 -1
  347. package/dist/esm/runtimes/react/controls/text-input.js +1 -7
  348. package/dist/esm/runtimes/react/controls/text-input.js.map +1 -1
  349. package/dist/esm/runtimes/react/controls/typography.js.map +1 -1
  350. package/dist/esm/runtimes/react/controls.js +96 -91
  351. package/dist/esm/runtimes/react/controls.js.map +1 -1
  352. package/dist/esm/runtimes/react/hooks/use-store.js +2 -2
  353. package/dist/esm/runtimes/react/hooks/use-store.js.map +1 -1
  354. package/dist/esm/runtimes/react/poll-box-model.js +1 -1
  355. package/dist/esm/runtimes/react/poll-box-model.js.map +1 -1
  356. package/dist/esm/runtimes/react/react-runtime.js +3 -40
  357. package/dist/esm/runtimes/react/react-runtime.js.map +1 -1
  358. package/dist/esm/runtimes/react/runtime-core.js +51 -0
  359. package/dist/esm/runtimes/react/runtime-core.js.map +1 -0
  360. package/dist/esm/slate/BlockPlugin/clearBlockKeyForDevice.js +2 -2
  361. package/dist/esm/slate/BlockPlugin/clearBlockKeyForDevice.js.map +1 -1
  362. package/dist/esm/slate/BlockPlugin/indent.js +3 -2
  363. package/dist/esm/slate/BlockPlugin/indent.js.map +1 -1
  364. package/dist/esm/slate/BlockPlugin/index.js +17 -15
  365. package/dist/esm/slate/BlockPlugin/index.js.map +1 -1
  366. package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js +2 -2
  367. package/dist/esm/slate/BlockPlugin/setBlockKeyForDevice.js.map +1 -1
  368. package/dist/esm/slate/BlockPlugin/toggleList.js +2 -2
  369. package/dist/esm/slate/BlockPlugin/toggleList.js.map +1 -1
  370. package/dist/esm/slate/BlockPlugin/unwrapInline.js +2 -2
  371. package/dist/esm/slate/BlockPlugin/unwrapInline.js.map +1 -1
  372. package/dist/esm/slate/BlockPlugin/unwrapList.js +3 -4
  373. package/dist/esm/slate/BlockPlugin/unwrapList.js.map +1 -1
  374. package/dist/esm/slate/BlockPlugin/utils/getSelectedListItems.js +2 -2
  375. package/dist/esm/slate/BlockPlugin/utils/getSelectedListItems.js.map +1 -1
  376. package/dist/esm/slate/BlockPlugin/wrapInline.js.map +1 -1
  377. package/dist/esm/slate/BlockPlugin/wrapList.js +4 -3
  378. package/dist/esm/slate/BlockPlugin/wrapList.js.map +1 -1
  379. package/dist/esm/slate/BuilderPlugin/index.js +3 -3
  380. package/dist/esm/slate/BuilderPlugin/index.js.map +1 -1
  381. package/dist/esm/slate/InlineModePlugin/index.js +5 -6
  382. package/dist/esm/slate/InlineModePlugin/index.js.map +1 -1
  383. package/dist/esm/slate/InlinePlugin/getValue.js +4 -4
  384. package/dist/esm/slate/InlinePlugin/getValue.js.map +1 -1
  385. package/dist/esm/slate/InlinePlugin/index.js +9 -13
  386. package/dist/esm/slate/InlinePlugin/index.js.map +1 -1
  387. package/dist/esm/slate/InlinePlugin/onChange.js +3 -3
  388. package/dist/esm/slate/InlinePlugin/onChange.js.map +1 -1
  389. package/dist/esm/slate/InlinePlugin/types.js +9 -7
  390. package/dist/esm/slate/InlinePlugin/types.js.map +1 -1
  391. package/dist/esm/slate/LinkPlugin/getValue.js +4 -5
  392. package/dist/esm/slate/LinkPlugin/getValue.js.map +1 -1
  393. package/dist/esm/slate/LinkPlugin/index.js +8 -10
  394. package/dist/esm/slate/LinkPlugin/index.js.map +1 -1
  395. package/dist/esm/slate/LinkPlugin/onChange.js +4 -4
  396. package/dist/esm/slate/LinkPlugin/onChange.js.map +1 -1
  397. package/dist/esm/slate/LinkPlugin/types.js +3 -7
  398. package/dist/esm/slate/LinkPlugin/types.js.map +1 -1
  399. package/dist/esm/slate/TextAlignPlugin/getValue.js +2 -2
  400. package/dist/esm/slate/TextAlignPlugin/getValue.js.map +1 -1
  401. package/dist/esm/slate/TextAlignPlugin/index.js +12 -16
  402. package/dist/esm/slate/TextAlignPlugin/index.js.map +1 -1
  403. package/dist/esm/slate/TypographyPlugin/clearActiveTypographyStyle.js.map +1 -1
  404. package/dist/esm/slate/TypographyPlugin/clearDeviceActiveTypography.js.map +1 -1
  405. package/dist/esm/slate/TypographyPlugin/detachActiveTypography.js.map +1 -1
  406. package/dist/esm/slate/TypographyPlugin/getValue.js.map +1 -1
  407. package/dist/esm/slate/TypographyPlugin/index.js +5 -5
  408. package/dist/esm/slate/TypographyPlugin/index.js.map +1 -1
  409. package/dist/esm/slate/TypographyPlugin/normalizeTypographyDown.js.map +1 -1
  410. package/dist/esm/slate/TypographyPlugin/normalizeTypographyUp.js +6 -3
  411. package/dist/esm/slate/TypographyPlugin/normalizeTypographyUp.js.map +1 -1
  412. package/dist/esm/slate/TypographyPlugin/setActiveTypographyStyle.js.map +1 -1
  413. package/dist/esm/slate/index.js +4 -4
  414. package/dist/esm/slate/index.js.map +1 -1
  415. package/dist/esm/slate/selectors.js +15 -12
  416. package/dist/esm/slate/selectors.js.map +1 -1
  417. package/dist/esm/slate/types.js +4 -33
  418. package/dist/esm/slate/types.js.map +1 -1
  419. package/dist/esm/slate/utils/editor.js +3 -3
  420. package/dist/esm/slate/utils/editor.js.map +1 -1
  421. package/dist/esm/slate/utils/element.js +5 -30
  422. package/dist/esm/slate/utils/element.js.map +1 -1
  423. package/dist/esm/slate/utils/responsive.js.map +1 -1
  424. package/dist/esm/slate/utils/toText.js +16 -52
  425. package/dist/esm/slate/utils/toText.js.map +1 -1
  426. package/dist/esm/state/actions.js.map +1 -1
  427. package/dist/esm/state/modules/box-models.js.map +1 -1
  428. package/dist/esm/state/modules/breakpoints.js +1 -1
  429. package/dist/esm/state/modules/breakpoints.js.map +1 -1
  430. package/dist/esm/state/modules/prop-controller-handles.js.map +1 -1
  431. package/dist/esm/state/modules/read-only-documents.js +3 -3
  432. package/dist/esm/state/modules/read-only-documents.js.map +1 -1
  433. package/dist/esm/state/react-builder-preview.js +10 -7
  434. package/dist/esm/state/react-builder-preview.js.map +1 -1
  435. package/dist/esm/state/react-page.js +13 -41
  436. package/dist/esm/state/react-page.js.map +1 -1
  437. package/dist/types/api/graphql/generated/types.d.ts +1 -1
  438. package/dist/types/api/graphql/generated/types.d.ts.map +1 -1
  439. package/dist/types/api/react.d.ts +1 -1
  440. package/dist/types/builder/rich-text/index.d.ts +3 -0
  441. package/dist/types/builder/rich-text/index.d.ts.map +1 -0
  442. package/dist/types/builder/serialization/control-serialization.d.ts +12 -7
  443. package/dist/types/builder/serialization/control-serialization.d.ts.map +1 -1
  444. package/dist/types/components/builtin/Box/Box.d.ts +23 -1
  445. package/dist/types/components/builtin/Box/Box.d.ts.map +1 -1
  446. package/dist/types/components/builtin/Button/Button.d.ts +3 -3
  447. package/dist/types/components/builtin/Button/Button.d.ts.map +1 -1
  448. package/dist/types/components/builtin/Carousel/Carousel.d.ts +1 -1
  449. package/dist/types/components/builtin/Carousel/Carousel.d.ts.map +1 -1
  450. package/dist/types/components/builtin/Countdown/Countdown.d.ts +1 -1
  451. package/dist/types/components/builtin/Countdown/Countdown.d.ts.map +1 -1
  452. package/dist/types/components/builtin/Divider/Divider.d.ts +1 -1
  453. package/dist/types/components/builtin/Divider/Divider.d.ts.map +1 -1
  454. package/dist/types/components/builtin/Form/Form.d.ts +1 -1
  455. package/dist/types/components/builtin/Form/Form.d.ts.map +1 -1
  456. package/dist/types/components/builtin/Form/components/Field/components/Checkbox/index.d.ts +1 -1
  457. package/dist/types/components/builtin/Form/context/FormContext.d.ts +7 -8
  458. package/dist/types/components/builtin/Form/context/FormContext.d.ts.map +1 -1
  459. package/dist/types/components/builtin/Navigation/Navigation.d.ts +1 -1
  460. package/dist/types/components/builtin/Navigation/Navigation.d.ts.map +1 -1
  461. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts +2 -2
  462. package/dist/types/components/builtin/Navigation/components/MobileMenu/index.d.ts.map +1 -1
  463. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts +1 -1
  464. package/dist/types/components/builtin/SocialLinks/SocialLinks.d.ts.map +1 -1
  465. package/dist/types/components/builtin/Text/register.d.ts +1 -1
  466. package/dist/types/components/builtin/Text/register.d.ts.map +1 -1
  467. package/dist/types/components/builtin/register.d.ts +1 -1
  468. package/dist/types/components/builtin/register.d.ts.map +1 -1
  469. package/dist/types/components/hooks/useResponsiveColor.d.ts +1 -2
  470. package/dist/types/components/hooks/useResponsiveColor.d.ts.map +1 -1
  471. package/dist/types/components/utils/responsive-style.d.ts +2 -1
  472. package/dist/types/components/utils/responsive-style.d.ts.map +1 -1
  473. package/dist/types/components/utils/types.d.ts +2 -0
  474. package/dist/types/components/utils/types.d.ts.map +1 -1
  475. package/dist/types/controls/__tests__/fixtures/shape.d.ts +19 -8
  476. package/dist/types/controls/__tests__/fixtures/shape.d.ts.map +1 -1
  477. package/dist/types/controls/control.d.ts +28 -17
  478. package/dist/types/controls/control.d.ts.map +1 -1
  479. package/dist/types/controls/index.d.ts +6 -10
  480. package/dist/types/controls/index.d.ts.map +1 -1
  481. package/dist/types/controls/link.d.ts +9 -0
  482. package/dist/types/controls/link.d.ts.map +1 -0
  483. package/dist/types/controls/rich-text/control.d.ts +57 -0
  484. package/dist/types/controls/rich-text/control.d.ts.map +1 -0
  485. package/dist/types/controls/rich-text/index.d.ts +0 -3
  486. package/dist/types/controls/rich-text/index.d.ts.map +1 -1
  487. package/dist/types/controls/rich-text/rich-text.d.ts +9 -61
  488. package/dist/types/controls/rich-text/rich-text.d.ts.map +1 -1
  489. package/dist/types/controls/rich-text-v2/__tests__/fixtures/nested-paragraph-edge-case-3728.d.ts +3 -2
  490. package/dist/types/controls/rich-text-v2/__tests__/fixtures/nested-paragraph-edge-case-3728.d.ts.map +1 -1
  491. package/dist/types/controls/rich-text-v2/__tests__/fixtures/rearranged.d.ts +4 -3
  492. package/dist/types/controls/rich-text-v2/__tests__/fixtures/rearranged.d.ts.map +1 -1
  493. package/dist/types/controls/rich-text-v2/__tests__/fixtures/simple.d.ts +4 -3
  494. package/dist/types/controls/rich-text-v2/__tests__/fixtures/simple.d.ts.map +1 -1
  495. package/dist/types/controls/rich-text-v2/__tests__/serialization.test.d.ts +2 -0
  496. package/dist/types/controls/rich-text-v2/__tests__/serialization.test.d.ts.map +1 -0
  497. package/dist/types/controls/rich-text-v2/control.d.ts +102 -0
  498. package/dist/types/controls/rich-text-v2/control.d.ts.map +1 -0
  499. package/dist/types/controls/rich-text-v2/index.d.ts +0 -2
  500. package/dist/types/controls/rich-text-v2/index.d.ts.map +1 -1
  501. package/dist/types/controls/rich-text-v2/plugin.d.ts +9 -17
  502. package/dist/types/controls/rich-text-v2/plugin.d.ts.map +1 -1
  503. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts +863 -103
  504. package/dist/types/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  505. package/dist/types/controls/rich-text-v2/translation.d.ts +5 -4
  506. package/dist/types/controls/rich-text-v2/translation.d.ts.map +1 -1
  507. package/dist/types/controls/slot.d.ts +8 -54
  508. package/dist/types/controls/slot.d.ts.map +1 -1
  509. package/dist/types/controls/style-v2/index.d.ts +2 -0
  510. package/dist/types/controls/style-v2/index.d.ts.map +1 -0
  511. package/dist/types/controls/style-v2/style-v2.d.ts +10 -0
  512. package/dist/types/controls/style-v2/style-v2.d.ts.map +1 -0
  513. package/dist/types/controls/style-v2/style-v2.test.d.ts +2 -0
  514. package/dist/types/controls/style-v2/style-v2.test.d.ts.map +1 -0
  515. package/dist/types/core/index.d.ts +2 -0
  516. package/dist/types/core/index.d.ts.map +1 -0
  517. package/dist/types/locale.d.ts +1 -1
  518. package/dist/types/next/client.d.ts +16 -16
  519. package/dist/types/next/components/tests/controls/combobox-control.test.d.ts +2 -0
  520. package/dist/types/next/components/tests/controls/combobox-control.test.d.ts.map +1 -0
  521. package/dist/types/next/components/tests/controls/icon-radio-group-control.test.d.ts +2 -0
  522. package/dist/types/next/components/tests/controls/icon-radio-group-control.test.d.ts.map +1 -0
  523. package/dist/types/next/components/tests/controls/image-control.test.d.ts +3 -0
  524. package/dist/types/next/components/tests/controls/image-control.test.d.ts.map +1 -0
  525. package/dist/types/next/components/tests/controls/link-control.test.d.ts +2 -0
  526. package/dist/types/next/components/tests/controls/link-control.test.d.ts.map +1 -0
  527. package/dist/types/next/components/tests/controls/list-control.test.d.ts +2 -0
  528. package/dist/types/next/components/tests/controls/list-control.test.d.ts.map +1 -0
  529. package/dist/types/next/components/tests/controls/number-control.test.d.ts +2 -0
  530. package/dist/types/next/components/tests/controls/number-control.test.d.ts.map +1 -0
  531. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts +9 -5
  532. package/dist/types/next/components/tests/controls/page-control-prop-rendering.d.ts.map +1 -1
  533. package/dist/types/next/components/tests/controls/select-control.test.d.ts +2 -0
  534. package/dist/types/next/components/tests/controls/select-control.test.d.ts.map +1 -0
  535. package/dist/types/next/components/tests/controls/shape-control.test.d.ts +2 -0
  536. package/dist/types/next/components/tests/controls/shape-control.test.d.ts.map +1 -0
  537. package/dist/types/next/components/tests/controls/slot-control.test.d.ts +2 -0
  538. package/dist/types/next/components/tests/controls/slot-control.test.d.ts.map +1 -0
  539. package/dist/types/next/components/tests/controls/style-control.test.d.ts +2 -0
  540. package/dist/types/next/components/tests/controls/style-control.test.d.ts.map +1 -0
  541. package/dist/types/next/components/tests/controls/text-area-control.test.d.ts +2 -0
  542. package/dist/types/next/components/tests/controls/text-area-control.test.d.ts.map +1 -0
  543. package/dist/types/next/components/tests/controls/text-input-control.test.d.ts +2 -0
  544. package/dist/types/next/components/tests/controls/text-input-control.test.d.ts.map +1 -0
  545. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts +15 -2
  546. package/dist/types/next/components/tests/prop-controllers/page-prop-controller.d.ts.map +1 -1
  547. package/dist/types/prop-controllers/copy.d.ts +2 -2
  548. package/dist/types/prop-controllers/copy.d.ts.map +1 -1
  549. package/dist/types/prop-controllers/deleted.d.ts +1 -1
  550. package/dist/types/prop-controllers/deleted.d.ts.map +1 -1
  551. package/dist/types/prop-controllers/descriptors.d.ts +8 -27
  552. package/dist/types/prop-controllers/descriptors.d.ts.map +1 -1
  553. package/dist/types/prop-controllers/index.d.ts +3 -3
  554. package/dist/types/prop-controllers/index.d.ts.map +1 -1
  555. package/dist/types/prop-controllers/instances.d.ts +10 -72
  556. package/dist/types/prop-controllers/instances.d.ts.map +1 -1
  557. package/dist/types/prop-controllers/introspection.d.ts +2 -2
  558. package/dist/types/prop-controllers/introspection.d.ts.map +1 -1
  559. package/dist/types/runtimes/react/components/Element.d.ts +2 -2
  560. package/dist/types/runtimes/react/controls/checkbox.d.ts +3 -3
  561. package/dist/types/runtimes/react/controls/checkbox.d.ts.map +1 -1
  562. package/dist/types/runtimes/react/controls/color.d.ts +3 -3
  563. package/dist/types/runtimes/react/controls/color.d.ts.map +1 -1
  564. package/dist/types/runtimes/react/controls/combobox.d.ts +3 -3
  565. package/dist/types/runtimes/react/controls/combobox.d.ts.map +1 -1
  566. package/dist/types/runtimes/react/controls/control.d.ts +7 -28
  567. package/dist/types/runtimes/react/controls/control.d.ts.map +1 -1
  568. package/dist/types/runtimes/react/controls/icon-radio-group.d.ts +3 -3
  569. package/dist/types/runtimes/react/controls/icon-radio-group.d.ts.map +1 -1
  570. package/dist/types/runtimes/react/controls/image.d.ts +3 -12
  571. package/dist/types/runtimes/react/controls/image.d.ts.map +1 -1
  572. package/dist/types/runtimes/react/controls/link.d.ts +3 -10
  573. package/dist/types/runtimes/react/controls/link.d.ts.map +1 -1
  574. package/dist/types/runtimes/react/controls/list.d.ts +7 -9
  575. package/dist/types/runtimes/react/controls/list.d.ts.map +1 -1
  576. package/dist/types/runtimes/react/controls/number.d.ts +3 -3
  577. package/dist/types/runtimes/react/controls/number.d.ts.map +1 -1
  578. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts +1 -1
  579. package/dist/types/runtimes/react/controls/rich-text/EditableText/editable-text.d.ts.map +1 -1
  580. package/dist/types/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.d.ts +2 -2
  581. package/dist/types/runtimes/react/controls/rich-text/EditableText/useSyncWithBuilder.d.ts.map +1 -1
  582. package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts +3 -4
  583. package/dist/types/runtimes/react/controls/rich-text/ReadOnlyText.d.ts.map +1 -1
  584. package/dist/types/runtimes/react/controls/rich-text/components/Element/block.d.ts +2 -2
  585. package/dist/types/runtimes/react/controls/rich-text/components/Element/block.d.ts.map +1 -1
  586. package/dist/types/runtimes/react/controls/rich-text/components/Element/element.d.ts +1 -1
  587. package/dist/types/runtimes/react/controls/rich-text/components/Element/element.d.ts.map +1 -1
  588. package/dist/types/runtimes/react/controls/rich-text/components/Element/inline.d.ts +2 -2
  589. package/dist/types/runtimes/react/controls/rich-text/components/Element/inline.d.ts.map +1 -1
  590. package/dist/types/runtimes/react/controls/rich-text/rich-text.d.ts +4 -3
  591. package/dist/types/runtimes/react/controls/rich-text/rich-text.d.ts.map +1 -1
  592. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts +4 -4
  593. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/editable-text-v2.d.ts.map +1 -1
  594. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts +2 -2
  595. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-element.d.ts.map +1 -1
  596. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts +2 -2
  597. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/render-leaf.d.ts.map +1 -1
  598. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.d.ts +2 -2
  599. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/usePresetValue.d.ts.map +1 -1
  600. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.d.ts +2 -2
  601. package/dist/types/runtimes/react/controls/rich-text-v2/EditableTextV2/useRemoteChanges.d.ts.map +1 -1
  602. package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts +4 -3
  603. package/dist/types/runtimes/react/controls/rich-text-v2/ReadOnlyTextV2.d.ts.map +1 -1
  604. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts +4 -3
  605. package/dist/types/runtimes/react/controls/rich-text-v2/rich-text-v2.d.ts.map +1 -1
  606. package/dist/types/runtimes/react/controls/select.d.ts +3 -3
  607. package/dist/types/runtimes/react/controls/select.d.ts.map +1 -1
  608. package/dist/types/runtimes/react/controls/shape.d.ts +7 -10
  609. package/dist/types/runtimes/react/controls/shape.d.ts.map +1 -1
  610. package/dist/types/runtimes/react/controls/slot.d.ts +3 -4
  611. package/dist/types/runtimes/react/controls/slot.d.ts.map +1 -1
  612. package/dist/types/runtimes/react/controls/style-v2.d.ts +7 -7
  613. package/dist/types/runtimes/react/controls/style-v2.d.ts.map +1 -1
  614. package/dist/types/runtimes/react/controls/style.d.ts +2 -2
  615. package/dist/types/runtimes/react/controls/style.d.ts.map +1 -1
  616. package/dist/types/runtimes/react/controls/text-area.d.ts +3 -3
  617. package/dist/types/runtimes/react/controls/text-area.d.ts.map +1 -1
  618. package/dist/types/runtimes/react/controls/text-input.d.ts +3 -3
  619. package/dist/types/runtimes/react/controls/text-input.d.ts.map +1 -1
  620. package/dist/types/runtimes/react/controls/typography.d.ts +6 -6
  621. package/dist/types/runtimes/react/controls/typography.d.ts.map +1 -1
  622. package/dist/types/runtimes/react/controls.d.ts.map +1 -1
  623. package/dist/types/runtimes/react/hooks/use-store.d.ts.map +1 -1
  624. package/dist/types/runtimes/react/poll-box-model.d.ts +1 -1
  625. package/dist/types/runtimes/react/poll-box-model.d.ts.map +1 -1
  626. package/dist/types/runtimes/react/react-runtime.d.ts +9 -18
  627. package/dist/types/runtimes/react/react-runtime.d.ts.map +1 -1
  628. package/dist/types/runtimes/react/runtime-core.d.ts +19 -0
  629. package/dist/types/runtimes/react/runtime-core.d.ts.map +1 -0
  630. package/dist/types/slate/BlockPlugin/clearBlockKeyForDevice.d.ts.map +1 -1
  631. package/dist/types/slate/BlockPlugin/indent.d.ts.map +1 -1
  632. package/dist/types/slate/BlockPlugin/index.d.ts +19 -41
  633. package/dist/types/slate/BlockPlugin/index.d.ts.map +1 -1
  634. package/dist/types/slate/BlockPlugin/setBlockKeyForDevice.d.ts.map +1 -1
  635. package/dist/types/slate/BlockPlugin/toggleList.d.ts.map +1 -1
  636. package/dist/types/slate/BlockPlugin/types.d.ts +2 -2
  637. package/dist/types/slate/BlockPlugin/types.d.ts.map +1 -1
  638. package/dist/types/slate/BlockPlugin/unwrapInline.d.ts +2 -2
  639. package/dist/types/slate/BlockPlugin/unwrapInline.d.ts.map +1 -1
  640. package/dist/types/slate/BlockPlugin/utils/getSelectedListItems.d.ts +3 -2
  641. package/dist/types/slate/BlockPlugin/utils/getSelectedListItems.d.ts.map +1 -1
  642. package/dist/types/slate/BlockPlugin/wrapInline.d.ts +2 -2
  643. package/dist/types/slate/BlockPlugin/wrapInline.d.ts.map +1 -1
  644. package/dist/types/slate/BlockPlugin/wrapList.d.ts +1 -1
  645. package/dist/types/slate/BlockPlugin/wrapList.d.ts.map +1 -1
  646. package/dist/types/slate/BuilderPlugin/index.d.ts.map +1 -1
  647. package/dist/types/slate/InlineModePlugin/index.d.ts +79 -7
  648. package/dist/types/slate/InlineModePlugin/index.d.ts.map +1 -1
  649. package/dist/types/slate/InlinePlugin/getValue.d.ts.map +1 -1
  650. package/dist/types/slate/InlinePlugin/index.d.ts +22 -11
  651. package/dist/types/slate/InlinePlugin/index.d.ts.map +1 -1
  652. package/dist/types/slate/InlinePlugin/onChange.d.ts.map +1 -1
  653. package/dist/types/slate/InlinePlugin/types.d.ts +18 -6
  654. package/dist/types/slate/InlinePlugin/types.d.ts.map +1 -1
  655. package/dist/types/slate/LinkPlugin/getValue.d.ts +36 -3
  656. package/dist/types/slate/LinkPlugin/getValue.d.ts.map +1 -1
  657. package/dist/types/slate/LinkPlugin/index.d.ts +40 -9
  658. package/dist/types/slate/LinkPlugin/index.d.ts.map +1 -1
  659. package/dist/types/slate/LinkPlugin/onChange.d.ts +4 -3
  660. package/dist/types/slate/LinkPlugin/onChange.d.ts.map +1 -1
  661. package/dist/types/slate/LinkPlugin/types.d.ts +3 -4
  662. package/dist/types/slate/LinkPlugin/types.d.ts.map +1 -1
  663. package/dist/types/slate/TextAlignPlugin/getValue.d.ts +2 -2
  664. package/dist/types/slate/TextAlignPlugin/getValue.d.ts.map +1 -1
  665. package/dist/types/slate/TextAlignPlugin/index.d.ts +21 -6
  666. package/dist/types/slate/TextAlignPlugin/index.d.ts.map +1 -1
  667. package/dist/types/slate/TypographyPlugin/detachActiveTypography.d.ts +1 -1
  668. package/dist/types/slate/TypographyPlugin/detachActiveTypography.d.ts.map +1 -1
  669. package/dist/types/slate/TypographyPlugin/getValue.d.ts +25 -2
  670. package/dist/types/slate/TypographyPlugin/getValue.d.ts.map +1 -1
  671. package/dist/types/slate/TypographyPlugin/index.d.ts +27 -3
  672. package/dist/types/slate/TypographyPlugin/index.d.ts.map +1 -1
  673. package/dist/types/slate/TypographyPlugin/normalizeTypographyDown.d.ts +2 -1
  674. package/dist/types/slate/TypographyPlugin/normalizeTypographyDown.d.ts.map +1 -1
  675. package/dist/types/slate/TypographyPlugin/normalizeTypographyUp.d.ts +1 -1
  676. package/dist/types/slate/TypographyPlugin/normalizeTypographyUp.d.ts.map +1 -1
  677. package/dist/types/slate/TypographyPlugin/setActiveTypographyStyle.d.ts.map +1 -1
  678. package/dist/types/slate/index.d.ts +4 -4
  679. package/dist/types/slate/index.d.ts.map +1 -1
  680. package/dist/types/slate/selectors.d.ts +7 -7
  681. package/dist/types/slate/selectors.d.ts.map +1 -1
  682. package/dist/types/slate/test-helpers/slate-test-helper.d.ts +4 -4
  683. package/dist/types/slate/test-helpers/test-elements.d.ts +61 -5
  684. package/dist/types/slate/test-helpers/test-elements.d.ts.map +1 -1
  685. package/dist/types/slate/types.d.ts +1 -206
  686. package/dist/types/slate/types.d.ts.map +1 -1
  687. package/dist/types/slate/utils/editor.d.ts +4 -4
  688. package/dist/types/slate/utils/editor.d.ts.map +1 -1
  689. package/dist/types/slate/utils/element.d.ts +4 -12
  690. package/dist/types/slate/utils/element.d.ts.map +1 -1
  691. package/dist/types/slate/utils/responsive.d.ts +1 -1
  692. package/dist/types/slate/utils/responsive.d.ts.map +1 -1
  693. package/dist/types/slate/utils/toText.d.ts +3 -3
  694. package/dist/types/slate/utils/toText.d.ts.map +1 -1
  695. package/dist/types/state/actions.d.ts +3 -3
  696. package/dist/types/state/actions.d.ts.map +1 -1
  697. package/dist/types/state/modules/box-models.d.ts +2 -1
  698. package/dist/types/state/modules/box-models.d.ts.map +1 -1
  699. package/dist/types/state/modules/breakpoints.d.ts +2 -4
  700. package/dist/types/state/modules/breakpoints.d.ts.map +1 -1
  701. package/dist/types/state/modules/prop-controller-handles.d.ts +4 -4
  702. package/dist/types/state/modules/prop-controller-handles.d.ts.map +1 -1
  703. package/dist/types/state/modules/read-only-documents.d.ts +2 -15
  704. package/dist/types/state/modules/read-only-documents.d.ts.map +1 -1
  705. package/dist/types/state/react-builder-preview.d.ts.map +1 -1
  706. package/dist/types/state/react-page.d.ts +55 -57
  707. package/dist/types/state/react-page.d.ts.map +1 -1
  708. package/dist/types/utils/tests/element-data-test-test.d.ts +29 -1
  709. package/dist/types/utils/tests/element-data-test-test.d.ts.map +1 -1
  710. package/package.json +16 -4
  711. package/dist/cjs/builder/serialization/controls/combobox.js +0 -45
  712. package/dist/cjs/builder/serialization/controls/combobox.js.map +0 -1
  713. package/dist/cjs/builder/serialization/controls/list.js +0 -50
  714. package/dist/cjs/builder/serialization/controls/list.js.map +0 -1
  715. package/dist/cjs/builder/serialization/controls/rich-text-v2.js +0 -106
  716. package/dist/cjs/builder/serialization/controls/rich-text-v2.js.map +0 -1
  717. package/dist/cjs/builder/serialization/controls/shape.js +0 -54
  718. package/dist/cjs/builder/serialization/controls/shape.js.map +0 -1
  719. package/dist/cjs/builder/serialization/controls/style-v2.js +0 -62
  720. package/dist/cjs/builder/serialization/controls/style-v2.js.map +0 -1
  721. package/dist/cjs/controls/image.js.map +0 -1
  722. package/dist/cjs/controls/list.js +0 -156
  723. package/dist/cjs/controls/list.js.map +0 -1
  724. package/dist/cjs/controls/rich-text/copy.js +0 -121
  725. package/dist/cjs/controls/rich-text/copy.js.map +0 -1
  726. package/dist/cjs/controls/rich-text/dto-types.js +0 -43
  727. package/dist/cjs/controls/rich-text/dto-types.js.map +0 -1
  728. package/dist/cjs/controls/rich-text/dto.js +0 -228
  729. package/dist/cjs/controls/rich-text/dto.js.map +0 -1
  730. package/dist/cjs/controls/rich-text/fixtures/blockquote.js +0 -77
  731. package/dist/cjs/controls/rich-text/fixtures/blockquote.js.map +0 -1
  732. package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js +0 -176
  733. package/dist/cjs/controls/rich-text/fixtures/empty-blocks.js.map +0 -1
  734. package/dist/cjs/controls/rich-text/fixtures/index.js.map +0 -1
  735. package/dist/cjs/controls/rich-text/fixtures/list.js +0 -137
  736. package/dist/cjs/controls/rich-text/fixtures/list.js.map +0 -1
  737. package/dist/cjs/controls/rich-text/fixtures/typography.js +0 -926
  738. package/dist/cjs/controls/rich-text/fixtures/typography.js.map +0 -1
  739. package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js +0 -114
  740. package/dist/cjs/controls/rich-text/fixtures/v2-data-types.js.map +0 -1
  741. package/dist/cjs/controls/rich-text/introspection.js +0 -104
  742. package/dist/cjs/controls/rich-text/introspection.js.map +0 -1
  743. package/dist/cjs/controls/rich-text-v2/copy.js +0 -115
  744. package/dist/cjs/controls/rich-text-v2/copy.js.map +0 -1
  745. package/dist/cjs/controls/rich-text-v2/dto.js +0 -44
  746. package/dist/cjs/controls/rich-text-v2/dto.js.map +0 -1
  747. package/dist/cjs/controls/rich-text-v2/introspection.js +0 -69
  748. package/dist/cjs/controls/rich-text-v2/introspection.js.map +0 -1
  749. package/dist/cjs/controls/select.js.map +0 -1
  750. package/dist/cjs/controls/shape.js +0 -149
  751. package/dist/cjs/controls/shape.js.map +0 -1
  752. package/dist/cjs/controls/style-v2.js +0 -74
  753. package/dist/cjs/controls/style-v2.js.map +0 -1
  754. package/dist/cjs/controls/style.js +0 -125
  755. package/dist/cjs/controls/style.js.map +0 -1
  756. package/dist/cjs/controls/typography.js +0 -47
  757. package/dist/cjs/controls/typography.js.map +0 -1
  758. package/dist/cjs/prop-controllers/base.js.map +0 -1
  759. package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js +0 -48
  760. package/dist/cjs/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +0 -1
  761. package/dist/cjs/utils/index-signature-hack.js +0 -17
  762. package/dist/cjs/utils/index-signature-hack.js.map +0 -1
  763. package/dist/esm/builder/serialization/controls/combobox.js +0 -20
  764. package/dist/esm/builder/serialization/controls/combobox.js.map +0 -1
  765. package/dist/esm/builder/serialization/controls/list.js +0 -25
  766. package/dist/esm/builder/serialization/controls/list.js.map +0 -1
  767. package/dist/esm/builder/serialization/controls/rich-text-v2.js +0 -81
  768. package/dist/esm/builder/serialization/controls/rich-text-v2.js.map +0 -1
  769. package/dist/esm/builder/serialization/controls/shape.js +0 -32
  770. package/dist/esm/builder/serialization/controls/shape.js.map +0 -1
  771. package/dist/esm/builder/serialization/controls/style-v2.js +0 -37
  772. package/dist/esm/builder/serialization/controls/style-v2.js.map +0 -1
  773. package/dist/esm/controls/image.js +0 -10
  774. package/dist/esm/controls/image.js.map +0 -1
  775. package/dist/esm/controls/list.js +0 -132
  776. package/dist/esm/controls/list.js.map +0 -1
  777. package/dist/esm/controls/rich-text/copy.js +0 -97
  778. package/dist/esm/controls/rich-text/copy.js.map +0 -1
  779. package/dist/esm/controls/rich-text/dto-types.js +0 -19
  780. package/dist/esm/controls/rich-text/dto-types.js.map +0 -1
  781. package/dist/esm/controls/rich-text/dto.js +0 -203
  782. package/dist/esm/controls/rich-text/dto.js.map +0 -1
  783. package/dist/esm/controls/rich-text/fixtures/blockquote.js +0 -53
  784. package/dist/esm/controls/rich-text/fixtures/blockquote.js.map +0 -1
  785. package/dist/esm/controls/rich-text/fixtures/empty-blocks.js +0 -151
  786. package/dist/esm/controls/rich-text/fixtures/empty-blocks.js.map +0 -1
  787. package/dist/esm/controls/rich-text/fixtures/index.js +0 -4
  788. package/dist/esm/controls/rich-text/fixtures/index.js.map +0 -1
  789. package/dist/esm/controls/rich-text/fixtures/list.js +0 -113
  790. package/dist/esm/controls/rich-text/fixtures/list.js.map +0 -1
  791. package/dist/esm/controls/rich-text/fixtures/typography.js +0 -902
  792. package/dist/esm/controls/rich-text/fixtures/typography.js.map +0 -1
  793. package/dist/esm/controls/rich-text/fixtures/v2-data-types.js +0 -90
  794. package/dist/esm/controls/rich-text/fixtures/v2-data-types.js.map +0 -1
  795. package/dist/esm/controls/rich-text/introspection.js +0 -78
  796. package/dist/esm/controls/rich-text/introspection.js.map +0 -1
  797. package/dist/esm/controls/rich-text-v2/copy.js +0 -91
  798. package/dist/esm/controls/rich-text-v2/copy.js.map +0 -1
  799. package/dist/esm/controls/rich-text-v2/dto.js +0 -19
  800. package/dist/esm/controls/rich-text-v2/dto.js.map +0 -1
  801. package/dist/esm/controls/rich-text-v2/introspection.js +0 -43
  802. package/dist/esm/controls/rich-text-v2/introspection.js.map +0 -1
  803. package/dist/esm/controls/select.js +0 -9
  804. package/dist/esm/controls/select.js.map +0 -1
  805. package/dist/esm/controls/shape.js +0 -125
  806. package/dist/esm/controls/shape.js.map +0 -1
  807. package/dist/esm/controls/style-v2.js +0 -48
  808. package/dist/esm/controls/style-v2.js.map +0 -1
  809. package/dist/esm/controls/style.js +0 -95
  810. package/dist/esm/controls/style.js.map +0 -1
  811. package/dist/esm/controls/typography.js +0 -20
  812. package/dist/esm/controls/typography.js.map +0 -1
  813. package/dist/esm/prop-controllers/base.js +0 -10
  814. package/dist/esm/prop-controllers/base.js.map +0 -1
  815. package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js +0 -24
  816. package/dist/esm/slate/LinkPlugin/linkPluginWithoutRenderElement.js.map +0 -1
  817. package/dist/esm/utils/index-signature-hack.js +0 -1
  818. package/dist/esm/utils/index-signature-hack.js.map +0 -1
  819. package/dist/types/builder/serialization/controls/combobox.d.ts +0 -5
  820. package/dist/types/builder/serialization/controls/combobox.d.ts.map +0 -1
  821. package/dist/types/builder/serialization/controls/list.d.ts +0 -5
  822. package/dist/types/builder/serialization/controls/list.d.ts.map +0 -1
  823. package/dist/types/builder/serialization/controls/rich-text-v2.d.ts +0 -5
  824. package/dist/types/builder/serialization/controls/rich-text-v2.d.ts.map +0 -1
  825. package/dist/types/builder/serialization/controls/shape.d.ts +0 -5
  826. package/dist/types/builder/serialization/controls/shape.d.ts.map +0 -1
  827. package/dist/types/builder/serialization/controls/style-v2.d.ts +0 -5
  828. package/dist/types/builder/serialization/controls/style-v2.d.ts.map +0 -1
  829. package/dist/types/controls/image.d.ts +0 -4
  830. package/dist/types/controls/image.d.ts.map +0 -1
  831. package/dist/types/controls/image.test.d.ts +0 -2
  832. package/dist/types/controls/image.test.d.ts.map +0 -1
  833. package/dist/types/controls/link.test.d.ts +0 -2
  834. package/dist/types/controls/link.test.d.ts.map +0 -1
  835. package/dist/types/controls/list.d.ts +0 -78
  836. package/dist/types/controls/list.d.ts.map +0 -1
  837. package/dist/types/controls/rich-text/__tests__/copy.test.d.ts +0 -2
  838. package/dist/types/controls/rich-text/__tests__/copy.test.d.ts.map +0 -1
  839. package/dist/types/controls/rich-text/__tests__/dto.test.d.ts +0 -2
  840. package/dist/types/controls/rich-text/__tests__/dto.test.d.ts.map +0 -1
  841. package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts +0 -2
  842. package/dist/types/controls/rich-text/__tests__/introspection.test.d.ts.map +0 -1
  843. package/dist/types/controls/rich-text/copy.d.ts +0 -4
  844. package/dist/types/controls/rich-text/copy.d.ts.map +0 -1
  845. package/dist/types/controls/rich-text/dto-types.d.ts +0 -132
  846. package/dist/types/controls/rich-text/dto-types.d.ts.map +0 -1
  847. package/dist/types/controls/rich-text/dto.d.ts +0 -8
  848. package/dist/types/controls/rich-text/dto.d.ts.map +0 -1
  849. package/dist/types/controls/rich-text/fixtures/blockquote.d.ts +0 -3
  850. package/dist/types/controls/rich-text/fixtures/blockquote.d.ts.map +0 -1
  851. package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts +0 -4
  852. package/dist/types/controls/rich-text/fixtures/empty-blocks.d.ts.map +0 -1
  853. package/dist/types/controls/rich-text/fixtures/index.d.ts +0 -4
  854. package/dist/types/controls/rich-text/fixtures/index.d.ts.map +0 -1
  855. package/dist/types/controls/rich-text/fixtures/list.d.ts +0 -3
  856. package/dist/types/controls/rich-text/fixtures/list.d.ts.map +0 -1
  857. package/dist/types/controls/rich-text/fixtures/typography.d.ts +0 -3
  858. package/dist/types/controls/rich-text/fixtures/typography.d.ts.map +0 -1
  859. package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts +0 -3
  860. package/dist/types/controls/rich-text/fixtures/v2-data-types.d.ts.map +0 -1
  861. package/dist/types/controls/rich-text/introspection.d.ts +0 -5
  862. package/dist/types/controls/rich-text/introspection.d.ts.map +0 -1
  863. package/dist/types/controls/rich-text-v2/copy.d.ts +0 -4
  864. package/dist/types/controls/rich-text-v2/copy.d.ts.map +0 -1
  865. package/dist/types/controls/rich-text-v2/dto.d.ts +0 -5
  866. package/dist/types/controls/rich-text-v2/dto.d.ts.map +0 -1
  867. package/dist/types/controls/rich-text-v2/introspection.d.ts +0 -5
  868. package/dist/types/controls/rich-text-v2/introspection.d.ts.map +0 -1
  869. package/dist/types/controls/select.d.ts +0 -22
  870. package/dist/types/controls/select.d.ts.map +0 -1
  871. package/dist/types/controls/shape.d.ts +0 -50
  872. package/dist/types/controls/shape.d.ts.map +0 -1
  873. package/dist/types/controls/style-v2.d.ts +0 -64
  874. package/dist/types/controls/style-v2.d.ts.map +0 -1
  875. package/dist/types/controls/style.d.ts +0 -179
  876. package/dist/types/controls/style.d.ts.map +0 -1
  877. package/dist/types/controls/typography.d.ts +0 -33
  878. package/dist/types/controls/typography.d.ts.map +0 -1
  879. package/dist/types/prop-controllers/base.d.ts +0 -7
  880. package/dist/types/prop-controllers/base.d.ts.map +0 -1
  881. package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts +0 -16
  882. package/dist/types/slate/LinkPlugin/linkPluginWithoutRenderElement.d.ts.map +0 -1
  883. package/dist/types/utils/index-signature-hack.d.ts +0 -4
  884. package/dist/types/utils/index-signature-hack.d.ts.map +0 -1
@@ -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":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAA4E;AAC5E,wCAA2C;AAC3C,yCAA4C;AAC5C,oCAAuC;AACvC,mCAAsC;AACtC,sCAAyC;AACzC,sBAAoC;AACpC,sBAAyB;AACzB,uBAA6B;AAC7B,oBAAuC;AACvC,mCAAsC;AACtC,qCAAwC;AACxC,kCAAqC;AAE9B,MAAM,oBAAoB;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,MAAM,iBAAiB;AAMvB,SAAS,eAAe,QAAgB;AAC7C,QAAM,EAAE,cAAc,IAAI;AAC1B,SAAO,gBAAgB,WAAS;AAC9B,UAAM,CAAC,mBAAmB,iBAAiB,IAAI;AAE/C,QACE,gBAAgB,qBAChB,mBAAmB,YAAY,MAAM,QACrC,mBAAmB,YAAY,MAAM,WAAW,GAChD;AACA,8BAAW,WAAW,QAAQ,gBAAgB,EAAE,IAAI,kBAAkB,CAAC;AACvE;AAAA,IACF;AAEA,QAAI,WAAW,qBAAqB,mBAAmB,SAAS,MAAM;AACpE,8BAAW,WAAW,QAAQ,SAAS,EAAE,IAAI,kBAAkB,CAAC;AAChE;AAAA,IACF;AAEA,YAAI,kDAAqB,QAAQ,KAAK;AAAG;AAEzC,QAAI,OAAO,qCAAqC,YAAQ,oDAAsB,QAAQ,KAAK;AACzF;AAEF,SACG,OAAO,qCAAqC,UAC3C,OAAO,oCAAoC,aAC7C,wDAAwB,QAAQ,KAAK;AAErC;AAEF,kBAAc,KAAK;AAAA,EACrB;AAEA,SAAO;AACT;AAEO,SAAS,mBAAmB;AACjC,aAAO,sCAAuB;AAAA,IAC5B,YAAY;AAAA,IACZ,SAAS;AAAA,MACP,gBAAY,qCAAoB;AAAA,MAChC,UAAU,CAAC,QAAQ,UAAU;AAC3B,4BAAO,mBAAmB,QAAQ,MAAM;AACtC,gBAAM,SAAK,+BAAa,MAAM;AAC9B,cAAI,CAAC;AAAI;AACT,gBAAM,QAAQ,oBAAO,SAAS,QAAQ,EAAE;AACxC,cAAI,MAAM,SAAS;AACjB,oCAAW;AAAA,cACT;AAAA,cACA;AAAA,gBACE,OAAO;AAAA,cACT;AAAA,cACA;AAAA,gBACE,IAAI,MAAM;AAAA,gBACV,OAAO,kBAAK;AAAA,gBACZ,OAAO;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAEA,cAAI,MAAM,SAAS;AACjB,kBAAM,gBAAgB,MAAM;AAAA,cAC1B,oBAAO,MAAM,QAAQ;AAAA,gBACnB,IAAI,MAAM;AAAA,gBACV,OAAO,UAAQ,kBAAK,OAAO,IAAI,KAAK,KAAK,UAAU;AAAA,cACrD,CAAC;AAAA,YACH;AAEA,gBAAI,cAAc,WAAW,OAAO;AAClC,qBAAO,QAAQ;AAAA,gBACb;AAAA,cACF,OAAO,MAAM,sBAAsB,cAAc,MAAM;AAAA,cACvD;AAEF,uBAAW,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,cAAc,QAAQ,GAAG;AACvD,sCAAW;AAAA,gBACT;AAAA,gBACA;AAAA,kBACE,YAAY,OAAO,GAAG,KAAK;AAAA,gBAC7B;AAAA,gBACA,EAAE,IAAI,MAAM,OAAO,kBAAK,OAAO;AAAA,cACjC;AAAA,YACF;AAAA,UACF;AAEA,gBAAM,MAAM;AAAA,QACd,CAAC;AAAA,MACH;AAAA,MACA,UAAU,gBAAU,0BAAS,MAAM;AAAA,MACnC,cAAc,CAAC,SAAe;AAC5B,eAAO,kBAAK,OAAO,IAAI,IAAI,KAAK,aAAa;AAAA,MAC/C;AAAA,IACF;AAAA,IACA,YAAY,CAAC,YAAY,cAAc,WAAS;AAC9C,aAAO,WAAW;AAAA,QAChB,GAAG;AAAA,QACH,MAAM;AAAA,UACJ,GAAG,MAAM;AAAA,UACT,WAAW,GAAG,MAAM,KAAK,SAAS,IAAI,SAAS;AAAA,QACjD;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACH;","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAmE;AAInE,kBAAiB;AACjB,uBAAsB;AACtB,qCAAyC;AAEzC,SAAS,WACP,GACA,GACO;AACP,QAAM,YAAQ,YAAAA,SAAK,CAAC;AACpB,QAAM,SAAS,EAAE,GAAG,EAAE;AACtB,QAAM,MAAM,CAAC;AAEb,QAAM,QAAQ,SAAO;AACnB,YAAI,iBAAAC,SAAU,OAAO,GAAG,GAAG,EAAE,GAAG,CAAC;AAAG,UAAI,GAAG,IAAI,OAAO,GAAG;AAAA,EAC3D,CAAC;AAED,SAAO;AACT;AAEA,SAAS,0BAA0B,cAAwD;AACzF,SAAO;AAAA,IACL,IAAI,aAAa,MAAM,gBAAc,YAAY,OAAO,aAAa,GAAG,CAAC,GAAG,EAAE,IAC1E,aAAa,GAAG,CAAC,GAAG,KACpB;AAAA,IACJ,OAAO;AAAA,MACL,GAAG,IAAI;AAAA,QACL,aAAa,QAAQ,gBAAc,YAAY,MAAM,IAAI,UAAQ,KAAK,QAAQ,KAAK,CAAC,CAAC;AAAA,MACvF;AAAA,IACF,EAAE,QAAQ,cAAY;AACpB,YAAM,sBAAsB,aACzB,IAAI,gBAAc,WAAW,MAAM,KAAK,OAAK,EAAE,aAAa,QAAQ,GAAG,KAAK,EAC5E;AAAA,QAAO,CAAC,eACP,QAAQ,UAAU;AAAA,MACpB;AAEF,UAAI,aAAa,WAAW,oBAAoB;AAAQ,eAAO,CAAC;AAEhE,YAAM,QAAQ,oBAAoB;AAAA,QAChC,CAAC,KAAK,SAAS;AACb,iBAAO,WAAW,KAAK,IAAI;AAAA,QAC7B;AAAA,QACA,oBAAoB,GAAG,CAAC;AAAA,MAC1B;AAEA,UAAI,SAAS,QAAQ,OAAO,KAAK,KAAK,EAAE,WAAW,GAAG;AACpD,eAAO,CAAC;AAAA,MACV;AAEA,aAAO;AAAA,QACL;AAAA,UACE;AAAA,UACA;AAAA,QACF;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACF;AAEA,SAAS,kBACP,GACA,GACO;AACP,QAAM,QAAQ,MAAM,KAAK,oBAAI,IAAI,CAAC,OAAG,YAAAD,SAAK,CAAC,GAAG,OAAG,YAAAA,SAAK,CAAC,CAAC,CAAC,CAAC;AAC1D,QAAM,SAAS,EAAE,GAAG,EAAE;AACtB,QAAM,SAAS,EAAE,GAAG,EAAE;AACtB,QAAM,MAAM,CAAC;AAEb,QAAM,QAAQ,SAAO;AACnB,QAAI,KAAC,iBAAAC,SAAU,OAAO,GAAG,GAAG,OAAO,GAAU,CAAC;AAAG,UAAI,GAAG,IAAI,OAAO,GAAG;AAAA,EACxE,CAAC;AAED,SAAO;AACT;AAEA,SAAS,8BACP,GACA,GACoB;AACpB,QAAM,aAAa,EAAE,OAAO,CAAC,EAAE;AAC/B,MAAI,GAAG,OAAO,EAAE,IAAI;AAClB,eAAW,KAAK,GAAG;AAAA,EACrB;AAEA,MAAI,KAAK,EAAE,MAAM,SAAS,GAAG;AAC3B,UAAM,SAAsC,CAAC;AAC7C,eAAW,SAAS,EAAE,OAAO;AAC3B,YAAM,oBAAoB,EAAE,MAAM,KAAK,OAAK,EAAE,aAAa,MAAM,QAAQ;AACzE,UAAI,qBAAqB,MAAM;AAC7B,eAAO,KAAK,KAAK;AAAA,MACnB,OAAO;AACL,cAAM,sBAAsB,kBAAkB,MAAM,OAAO,kBAAkB,KAAK;AAElF,YAAI,OAAO,KAAK,mBAAmB,EAAE,SAAS,GAAG;AAC/C,iBAAO,KAAK;AAAA,YACV,UAAU,MAAM;AAAA,YAChB,OAAO;AAAA,UACT,CAAC;AAAA,QACH;AAAA,MACF;AAAA,IACF;AACA,eAAW,QAAQ;AAAA,EACrB;AAEA,SAAO;AACT;AAKA,SAAS,YAAY,MAAqB;AACxC,SAAO,kBAAK,OAAO,IAAI,KAAK,KAAK,SAAS;AAC5C;AAEO,SAAS,sBAAsB,QAAyB,OAA2B;AACxF,QAAM,CAAC,MAAM,IAAI,IAAI;AACrB,MAAI,qBAAQ,UAAU,IAAI,KAAK,KAAK,SAAS,QAAQ;AACnD,UAAM,yBAAyB,KAAK,SACjC,OAAO,WAAS,CAAC,YAAY,KAAK,CAAC,EACnC,IAAI,WAAS,MAAM,UAAU;AAEhC,UAAM,gCAAgC,uBAAuB;AAAA,MAC3D,CAAC,eAAiD,QAAQ,UAAU;AAAA,IACtE;AACA,QAAI,uBAAuB,WAAW,8BAA8B,QAAQ;AAC1E,UAAI,mBAAuC;AAAA,QACzC,GAAG;AAAA,MACL;AAEA,UAAI,iBAAiB,MAAM,SAAS,KAAK,iBAAiB,MAAM,MAAM;AACpE,cAAM,qBAAqC;AAAA,UACzC;AAAA,UACA,KAAK;AAAA,QACP;AACA,4BAAO,mBAAmB,QAAQ,MAAM;AACtC,kCAAW,SAAS,QAAQ,EAAE,YAAY,eAAe,GAAG,EAAE,IAAI,KAAK,CAAC;AACxE,mBAAS,IAAI,GAAG,IAAI,KAAK,SAAS,QAAQ,KAAK;AAC7C,kBAAM,aAAiC;AAAA,cACrC,KAAK,SAAS,GAAG,CAAC,GAAG,cAAc,EAAE,OAAO,CAAC,EAAE;AAAA,cAC/C;AAAA,YACF;AAEA,oCAAW,SAAS,QAAQ,EAAE,WAAW,GAAG,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,EAAE,CAAC;AAAA,UAClE;AAAA,QACF,CAAC;AACD,eAAO;AAAA,MACT;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;","names":["keys","deepEqual"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/TypographyPlugin/setActiveTypographyStyle.ts"],"sourcesContent":["import { Editor, Transforms, Text, Range } from 'slate'\nimport { Breakpoints, findBreakpointOverride, BreakpointId } from '../../state/modules/breakpoints'\nimport { RichTextTypography } from '../types'\n\ntype SetActiveTypographyStyleOptions = {\n at?: Range\n}\n\nexport function setActiveTypographyStyle(\n editor: Editor,\n breakpoints: Breakpoints,\n deviceId: string,\n prop: string,\n value?: unknown,\n options?: SetActiveTypographyStyleOptions,\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 deviceOverrides = node?.typography?.style ?? []\n const deviceStyle = findBreakpointOverride(\n breakpoints,\n deviceOverrides,\n deviceId as BreakpointId,\n v => v,\n ) || {\n value: {},\n }\n const nextDeviceStyle = {\n deviceId,\n value: { ...deviceStyle.value, [prop]: value },\n }\n\n const nextTypography: RichTextTypography = {\n ...node.typography,\n style: [...deviceOverrides.filter(v => v.deviceId !== deviceId), nextDeviceStyle],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography: nextTypography,\n },\n { at: path },\n )\n }\n }\n }\n\n atRef.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgD;AAChD,yBAAkE;AAO3D,SAAS,yBACd,QACA,aACA,UACA,MACA,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,gBAAM,kBAAkB,MAAM,YAAY,SAAS,CAAC;AACpD,gBAAM,kBAAc;AAAA,YAClB;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAK;AAAA,UACP,KAAK;AAAA,YACH,OAAO,CAAC;AAAA,UACV;AACA,gBAAM,kBAAkB;AAAA,YACtB;AAAA,YACA,OAAO,EAAE,GAAG,YAAY,OAAO,CAAC,IAAI,GAAG,MAAM;AAAA,UAC/C;AAEA,gBAAM,iBAAqC;AAAA,YACzC,GAAG,KAAK;AAAA,YACR,OAAO,CAAC,GAAG,gBAAgB,OAAO,OAAK,EAAE,aAAa,QAAQ,GAAG,eAAe;AAAA,UAClF;AAEA,kCAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,YAAY;AAAA,YACd;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/setActiveTypographyStyle.ts"],"sourcesContent":["import { Editor, Transforms, Text, Range } from 'slate'\nimport { RichTextTypography } from '@makeswift/controls'\n\nimport { Breakpoints, findBreakpointOverride, BreakpointId } from '../../state/modules/breakpoints'\n\ntype SetActiveTypographyStyleOptions = {\n at?: Range\n}\n\nexport function setActiveTypographyStyle(\n editor: Editor,\n breakpoints: Breakpoints,\n deviceId: string,\n prop: string,\n value?: unknown,\n options?: SetActiveTypographyStyleOptions,\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 deviceOverrides = node?.typography?.style ?? []\n const deviceStyle = findBreakpointOverride(\n breakpoints,\n deviceOverrides,\n deviceId as BreakpointId,\n v => v,\n ) || {\n value: {},\n }\n const nextDeviceStyle = {\n deviceId,\n value: { ...deviceStyle.value, [prop]: value },\n }\n\n const nextTypography: RichTextTypography = {\n ...node.typography,\n style: [...deviceOverrides.filter(v => v.deviceId !== deviceId), nextDeviceStyle],\n }\n\n Transforms.setNodes(\n editor,\n {\n typography: nextTypography,\n },\n { at: path },\n )\n }\n }\n }\n\n atRef.unref()\n })\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAgD;AAGhD,yBAAkE;AAM3D,SAAS,yBACd,QACA,aACA,UACA,MACA,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,gBAAM,kBAAkB,MAAM,YAAY,SAAS,CAAC;AACpD,gBAAM,kBAAc;AAAA,YAClB;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAK;AAAA,UACP,KAAK;AAAA,YACH,OAAO,CAAC;AAAA,UACV;AACA,gBAAM,kBAAkB;AAAA,YACtB;AAAA,YACA,OAAO,EAAE,GAAG,YAAY,OAAO,CAAC,IAAI,GAAG,MAAM;AAAA,UAC/C;AAEA,gBAAM,iBAAqC;AAAA,YACzC,GAAG,KAAK;AAAA,YACR,OAAO,CAAC,GAAG,gBAAgB,OAAO,OAAK,EAAE,aAAa,QAAQ,GAAG,eAAe;AAAA,UAClF;AAEA,kCAAW;AAAA,YACT;AAAA,YACA;AAAA,cACE,YAAY;AAAA,YACd;AAAA,YACA,EAAE,IAAI,KAAK;AAAA,UACb;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,UAAM,MAAM;AAAA,EACd,CAAC;AACH;","names":[]}
@@ -15,27 +15,27 @@ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "defau
15
15
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
16
16
  var slate_exports = {};
17
17
  module.exports = __toCommonJS(slate_exports);
18
- __reExport(slate_exports, require("./TypographyPlugin"), module.exports);
19
18
  __reExport(slate_exports, require("./BlockPlugin"), module.exports);
20
- __reExport(slate_exports, require("./InlineModePlugin"), module.exports);
21
19
  __reExport(slate_exports, require("./BuilderPlugin"), module.exports);
22
- __reExport(slate_exports, require("./TextAlignPlugin"), module.exports);
23
- __reExport(slate_exports, require("./types"), module.exports);
20
+ __reExport(slate_exports, require("./InlineModePlugin"), module.exports);
24
21
  __reExport(slate_exports, require("./InlinePlugin"), module.exports);
25
22
  __reExport(slate_exports, require("./LinkPlugin"), module.exports);
26
23
  __reExport(slate_exports, require("./LocalChangesPlugin"), module.exports);
24
+ __reExport(slate_exports, require("./TextAlignPlugin"), module.exports);
25
+ __reExport(slate_exports, require("./TypographyPlugin"), module.exports);
26
+ __reExport(slate_exports, require("./types"), module.exports);
27
27
  __reExport(slate_exports, require("./utils"), module.exports);
28
28
  // Annotate the CommonJS export names for ESM import in node:
29
29
  0 && (module.exports = {
30
- ...require("./TypographyPlugin"),
31
30
  ...require("./BlockPlugin"),
32
- ...require("./InlineModePlugin"),
33
31
  ...require("./BuilderPlugin"),
34
- ...require("./TextAlignPlugin"),
35
- ...require("./types"),
32
+ ...require("./InlineModePlugin"),
36
33
  ...require("./InlinePlugin"),
37
34
  ...require("./LinkPlugin"),
38
35
  ...require("./LocalChangesPlugin"),
36
+ ...require("./TextAlignPlugin"),
37
+ ...require("./TypographyPlugin"),
38
+ ...require("./types"),
39
39
  ...require("./utils")
40
40
  });
41
41
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/slate/index.ts"],"sourcesContent":["export * from './TypographyPlugin'\nexport * from './BlockPlugin'\nexport * from './InlineModePlugin'\nexport * from './BuilderPlugin'\nexport * from './TextAlignPlugin'\nexport * from './types'\nexport * from './InlinePlugin'\nexport * from './LinkPlugin'\nexport * from './LocalChangesPlugin'\nexport * from './utils'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,+BAAd;AACA,0BAAc,0BADd;AAEA,0BAAc,+BAFd;AAGA,0BAAc,4BAHd;AAIA,0BAAc,8BAJd;AAKA,0BAAc,oBALd;AAMA,0BAAc,2BANd;AAOA,0BAAc,yBAPd;AAQA,0BAAc,iCARd;AASA,0BAAc,oBATd;","names":[]}
1
+ {"version":3,"sources":["../../../src/slate/index.ts"],"sourcesContent":["export * from './BlockPlugin'\nexport * from './BuilderPlugin'\nexport * from './InlineModePlugin'\nexport * from './InlinePlugin'\nexport * from './LinkPlugin'\nexport * from './LocalChangesPlugin'\nexport * from './TextAlignPlugin'\nexport * from './TypographyPlugin'\nexport * from './types'\nexport * from './utils'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,0BAAd;AACA,0BAAc,4BADd;AAEA,0BAAc,+BAFd;AAGA,0BAAc,2BAHd;AAIA,0BAAc,yBAJd;AAKA,0BAAc,iCALd;AAMA,0BAAc,8BANd;AAOA,0BAAc,+BAPd;AAQA,0BAAc,oBARd;AASA,0BAAc,oBATd;","names":[]}
@@ -39,7 +39,7 @@ __export(selectors_exports, {
39
39
  });
40
40
  module.exports = __toCommonJS(selectors_exports);
41
41
  var import_slate = require("slate");
42
- var import_element = require("./utils/element");
42
+ var import_controls = require("@makeswift/controls");
43
43
  var import_unhangRange = __toESM(require("./utils/unhangRange"));
44
44
  var import_shallowEqual = __toESM(require("../utils/shallowEqual"));
45
45
  var import_isNonNullable = require("../utils/isNonNullable");
@@ -58,17 +58,17 @@ function getBlocksInSelection(editor) {
58
58
  return Array.from(
59
59
  import_slate.Editor.nodes(editor, {
60
60
  at: getSelection(editor),
61
- match: (node) => import_element.ElementUtils.isRootBlock(node)
61
+ match: (node) => import_controls.Slate.isRootBlock(node)
62
62
  })
63
- ).filter((entry) => import_element.ElementUtils.isRootBlock(entry[0]));
63
+ ).filter((entry) => import_controls.Slate.isRootBlock(entry[0]));
64
64
  }
65
65
  function getInlinesInSelection(editor) {
66
66
  return Array.from(
67
67
  import_slate.Editor.nodes(editor, {
68
68
  at: getSelection(editor),
69
- match: (node) => import_element.ElementUtils.isInline(node)
69
+ match: (node) => import_controls.Slate.isInline(node)
70
70
  })
71
- ).filter((entry) => import_element.ElementUtils.isInline(entry[0]));
71
+ ).filter((entry) => import_controls.Slate.isInline(entry[0]));
72
72
  }
73
73
  function getActiveBlockType(editor) {
74
74
  const rootBlocks = getBlocksInSelection(editor).map(([node]) => node.type);
@@ -96,13 +96,16 @@ function getActiveBlockDeviceOverrideValue(editor, key, breakpoints, deviceId) {
96
96
  const concat = (a, b) => a.concat(b);
97
97
  function intersection(a, b, isEqual = import_deepEqual.default) {
98
98
  const allKeys = [.../* @__PURE__ */ new Set([...(0, import_keys.default)(a), ...(0, import_keys.default)(b)])];
99
- return allKeys.reduce((acc, k) => {
100
- if (isEqual(a[k], b[k]))
101
- acc[k] = a[k];
102
- else
103
- acc[k] = void 0;
104
- return acc;
105
- }, {});
99
+ return allKeys.reduce(
100
+ (acc, k) => {
101
+ if (isEqual(a[k], b[k]))
102
+ acc[k] = a[k];
103
+ else
104
+ acc[k] = void 0;
105
+ return acc;
106
+ },
107
+ {}
108
+ );
106
109
  }
107
110
  const fuseTypographyMarks = (values, breakpoints) => {
108
111
  const devices = [
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/slate/selectors.ts"],"sourcesContent":["import { Editor, NodeEntry, Range, Text } from 'slate'\nimport { EditableBlockKey } from './BlockPlugin/types'\nimport { ElementUtils } from './utils/element'\n\nimport unhangRange from './utils/unhangRange'\nimport shallowEqual from '../utils/shallowEqual'\nimport { isNonNullable } from '../utils/isNonNullable'\n\nimport { Breakpoints, BreakpointId, findBreakpointOverride } from '../state/modules/breakpoints'\nimport deepEqual from '../utils/deepEqual'\nimport keys from '../utils/keys'\nimport {\n RootBlock,\n Inline,\n RootBlockType,\n ResponsiveBlockTextAlignment,\n BlockTextAlignment,\n RichTextTypography,\n} from './types'\n\nexport function getSelection(editor: Editor): Range {\n if (editor.selection) return unhangRange(editor, editor.selection)\n return {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n }\n}\n\nexport function getBlocksInSelection(editor: Editor): NodeEntry<RootBlock>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node => ElementUtils.isRootBlock(node),\n }),\n ).filter((entry): entry is NodeEntry<RootBlock> => ElementUtils.isRootBlock(entry[0]))\n}\n\nexport function getInlinesInSelection(editor: Editor): NodeEntry<Inline>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node => ElementUtils.isInline(node),\n }),\n ).filter((entry): entry is NodeEntry<Inline> => ElementUtils.isInline(entry[0]))\n}\n\nexport function getActiveBlockType(editor: Editor): RootBlockType | null {\n const rootBlocks = getBlocksInSelection(editor).map(([node]) => node.type)\n\n return rootBlocks.reduce<RootBlockType | null>(\n (a, b) => (a === b ? b : null),\n rootBlocks.at(0) ?? null,\n )\n}\n\nexport function getActiveBlockValue(editor: Editor, key: EditableBlockKey) {\n const blocks = getBlocksInSelection(editor)\n\n const active = blocks.map(\n ([block]) => block[key] ?? null,\n ) as (ResponsiveBlockTextAlignment | null)[]\n\n return active.length === 0 ? null : active.reduce((a, b) => (shallowEqual(a, b) ? b : null))\n}\n\nexport function getActiveBlockDeviceOverrideValue(\n editor: Editor,\n key: EditableBlockKey,\n breakpoints: Breakpoints,\n deviceId: BreakpointId,\n) {\n const active: (BlockTextAlignment | null)[] = []\n const blocks = getBlocksInSelection(editor)\n\n blocks.forEach(([block]) => {\n const deviceOverride =\n findBreakpointOverride<BlockTextAlignment>(breakpoints, block[key], deviceId) || null\n active.push(deviceOverride?.value ?? null)\n })\n\n return active.length === 0 ? null : active.reduce((a, b) => (shallowEqual(a, b) ? b : null))\n}\n\n// Typography\n\nconst concat = (a: unknown[], b: unknown[]) => a.concat(b)\n\n// TODO: This is more cruft from trying to remove null from the typography type. This optimization is not worth it.\n/**\n * This is a c/p of the intersection of the utils from the root utils folder.\n * The only change is defaulting to undefined instead of to null.\n */\nexport default function intersection<A extends Record<string, unknown>, B extends A>(\n a: A,\n b: B,\n isEqual: (a: unknown, b: unknown) => boolean = deepEqual,\n): { [K in keyof A]: A[K] | undefined } {\n const allKeys = [...new Set([...keys(a), ...keys(b)])] as (keyof A)[]\n\n return allKeys.reduce((acc, k) => {\n if (isEqual(a[k], b[k])) acc[k] = a[k]\n else acc[k] = undefined\n\n return acc\n }, {} as { [K in keyof A]: A[K] | undefined })\n}\n\nconst fuseTypographyMarks = (\n values: Array<RichTextTypography | null | undefined>,\n breakpoints: Breakpoints,\n): RichTextTypography => {\n const devices = [\n ...new Set(\n values\n .filter(isNonNullable)\n .map(({ style }) => style.map(({ deviceId }) => deviceId))\n .reduce(concat, []),\n ),\n ] as BreakpointId[]\n\n return {\n id: values.map(v => v && v.id).reduce((a, b) => (a === b ? a : undefined)) ?? undefined,\n style: devices.map(deviceId =>\n values\n .map(\n v =>\n (v && findBreakpointOverride(breakpoints, v.style, deviceId)) || {\n deviceId,\n value: {},\n },\n )\n .reduce((acc, { value }) => {\n const a = intersection(acc.value, value)\n return {\n deviceId,\n value: a,\n }\n }),\n ),\n }\n}\n\nexport function getActiveTypographyMark(\n editor: Editor,\n breakpoints: Breakpoints,\n): RichTextTypography {\n const active: RichTextTypography[] = []\n\n const textNodes = Editor.nodes(editor, {\n at: getSelection(editor),\n match: node => Text.isText(node),\n })\n\n for (const [node] of textNodes) {\n if (Text.isText(node) && 'typography' in node && node.typography != undefined) {\n active.push(node.typography)\n }\n }\n return active.length === 0 ? { style: [] } : fuseTypographyMarks(active, breakpoints)\n}\n"],"mappings":"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","names":["unhangRange","shallowEqual","deepEqual","keys"]}
1
+ {"version":3,"sources":["../../../src/slate/selectors.ts"],"sourcesContent":["import { Editor, NodeEntry, Range, Text } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nimport { EditableBlockKey } from './BlockPlugin/types'\n\nimport unhangRange from './utils/unhangRange'\nimport shallowEqual from '../utils/shallowEqual'\nimport { isNonNullable } from '../utils/isNonNullable'\n\nimport { Breakpoints, BreakpointId, findBreakpointOverride } from '../state/modules/breakpoints'\nimport deepEqual from '../utils/deepEqual'\nimport keys from '../utils/keys'\n\nexport function getSelection(editor: Editor): Range {\n if (editor.selection) return unhangRange(editor, editor.selection)\n return {\n anchor: Editor.start(editor, []),\n focus: Editor.end(editor, []),\n }\n}\n\nexport function getBlocksInSelection(editor: Editor): NodeEntry<Slate.RootBlock>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node => Slate.isRootBlock(node),\n }),\n ).filter((entry): entry is NodeEntry<Slate.RootBlock> => Slate.isRootBlock(entry[0]))\n}\n\nexport function getInlinesInSelection(editor: Editor): NodeEntry<Slate.Inline>[] {\n return Array.from(\n Editor.nodes(editor, {\n at: getSelection(editor),\n match: node => Slate.isInline(node),\n }),\n ).filter((entry): entry is NodeEntry<Slate.Inline> => Slate.isInline(entry[0]))\n}\n\nexport function getActiveBlockType(editor: Editor): Slate.RootBlockType | null {\n const rootBlocks = getBlocksInSelection(editor).map(([node]) => node.type)\n\n return rootBlocks.reduce<Slate.RootBlockType | null>(\n (a, b) => (a === b ? b : null),\n rootBlocks.at(0) ?? null,\n )\n}\n\nexport function getActiveBlockValue(editor: Editor, key: EditableBlockKey) {\n const blocks = getBlocksInSelection(editor)\n\n const active = blocks.map(\n ([block]) => block[key] ?? null,\n ) as (Slate.ResponsiveBlockTextAlignment | null)[]\n\n return active.length === 0 ? null : active.reduce((a, b) => (shallowEqual(a, b) ? b : null))\n}\n\nexport function getActiveBlockDeviceOverrideValue(\n editor: Editor,\n key: EditableBlockKey,\n breakpoints: Breakpoints,\n deviceId: BreakpointId,\n) {\n const active: (Slate.BlockTextAlignment | null)[] = []\n const blocks = getBlocksInSelection(editor)\n\n blocks.forEach(([block]) => {\n const deviceOverride =\n findBreakpointOverride<Slate.BlockTextAlignment>(breakpoints, block[key], deviceId) || null\n active.push(deviceOverride?.value ?? null)\n })\n\n return active.length === 0 ? null : active.reduce((a, b) => (shallowEqual(a, b) ? b : null))\n}\n\n// Typography\n\nconst concat = (a: unknown[], b: unknown[]) => a.concat(b)\n\n// TODO: This is more cruft from trying to remove null from the typography type. This optimization is not worth it.\n/**\n * This is a c/p of the intersection of the utils from the root utils folder.\n * The only change is defaulting to undefined instead of to null.\n */\nexport default function intersection<A extends Record<string, unknown>, B extends A>(\n a: A,\n b: B,\n isEqual: (a: unknown, b: unknown) => boolean = deepEqual,\n): { [K in keyof A]: A[K] | undefined } {\n const allKeys = [...new Set([...keys(a), ...keys(b)])] as (keyof A)[]\n\n return allKeys.reduce(\n (acc, k) => {\n if (isEqual(a[k], b[k])) acc[k] = a[k]\n else acc[k] = undefined\n\n return acc\n },\n {} as { [K in keyof A]: A[K] | undefined },\n )\n}\n\nconst fuseTypographyMarks = (\n values: Array<Slate.Typography | null | undefined>,\n breakpoints: Breakpoints,\n): Slate.Typography => {\n const devices = [\n ...new Set(\n values\n .filter(isNonNullable)\n .map(({ style }) => style.map(({ deviceId }) => deviceId))\n .reduce(concat, []),\n ),\n ] as BreakpointId[]\n\n return {\n id: values.map(v => v && v.id).reduce((a, b) => (a === b ? a : undefined)) ?? undefined,\n style: devices.map(deviceId =>\n values\n .map(\n v =>\n (v && findBreakpointOverride(breakpoints, v.style, deviceId)) || {\n deviceId,\n value: {},\n },\n )\n .reduce((acc, { value }) => {\n const a = intersection(acc.value, value)\n return {\n deviceId,\n value: a,\n }\n }),\n ),\n }\n}\n\nexport function getActiveTypographyMark(\n editor: Editor,\n breakpoints: Breakpoints,\n): Slate.Typography {\n const active: Slate.Typography[] = []\n\n const textNodes = Editor.nodes(editor, {\n at: getSelection(editor),\n match: node => Text.isText(node),\n })\n\n for (const [node] of textNodes) {\n if (Text.isText(node) && 'typography' in node && node.typography != undefined) {\n active.push(node.typography)\n }\n }\n return active.length === 0 ? { style: [] } : fuseTypographyMarks(active, breakpoints)\n}\n"],"mappings":"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","names":["unhangRange","shallowEqual","deepEqual","keys"]}
@@ -18,47 +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
- BlockTextAlignment: () => BlockTextAlignment,
22
21
  BlockType: () => BlockType,
23
- InlineType: () => InlineType,
24
- RootBlockType: () => RootBlockType
22
+ InlineType: () => InlineType
25
23
  });
26
24
  module.exports = __toCommonJS(types_exports);
27
- const RootBlockType = {
28
- Default: "default",
29
- Paragraph: "paragraph",
30
- Heading1: "heading-one",
31
- Heading2: "heading-two",
32
- Heading3: "heading-three",
33
- Heading4: "heading-four",
34
- Heading5: "heading-five",
35
- Heading6: "heading-six",
36
- BlockQuote: "blockquote",
37
- UnorderedList: "unordered-list",
38
- OrderedList: "ordered-list"
39
- };
40
- const BlockType = {
41
- ...RootBlockType,
42
- ListItem: "list-item",
43
- ListItemChild: "list-item-child"
44
- };
45
- const InlineType = {
46
- Code: "code",
47
- SuperScript: "superscript",
48
- SubScript: "subscript",
49
- Link: "link"
50
- };
51
- const BlockTextAlignment = {
52
- Left: "left",
53
- Center: "center",
54
- Right: "right",
55
- Justify: "justify"
56
- };
25
+ var import_controls = require("@makeswift/controls");
26
+ const BlockType = import_controls.Slate.BlockType;
27
+ const InlineType = import_controls.Slate.InlineType;
57
28
  // Annotate the CommonJS export names for ESM import in node:
58
29
  0 && (module.exports = {
59
- BlockTextAlignment,
60
30
  BlockType,
61
- InlineType,
62
- RootBlockType
31
+ InlineType
63
32
  });
64
33
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/slate/types.ts"],"sourcesContent":["import { BaseEditor, Descendant } from 'slate'\nimport { ReactEditor } from 'slate-react'\nimport { LinkControlData } from '../controls'\nimport { BuilderEditor, TypographyEditor } from '.'\nimport { ResponsiveValue } from '../prop-controllers'\nimport { ResponsiveColor } from '../runtimes/react/controls'\nimport { LocalChangesEditor } from './LocalChangesPlugin'\n\nexport type RichTextTypography = {\n id?: string\n style: Array<{\n deviceId: string\n value: {\n fontFamily?: string | null\n lineHeight?: number | null\n letterSpacing?: number | null\n fontWeight?: number | null\n textAlign?: string | null\n uppercase?: boolean | null\n underline?: boolean | null\n strikethrough?: boolean | null\n italic?: boolean | null\n fontSize?: { value: number | null; unit: string | null } | null\n color?: { swatchId: string | null; alpha: number | null } | null\n }\n }>\n}\n\nexport type Text = {\n text: string\n typography?: RichTextTypography\n color?: ResponsiveColor\n slice?: boolean\n className?: string\n translationKey?: string\n}\n\nexport const RootBlockType = {\n Default: 'default',\n Paragraph: 'paragraph',\n Heading1: 'heading-one',\n Heading2: 'heading-two',\n Heading3: 'heading-three',\n Heading4: 'heading-four',\n Heading5: 'heading-five',\n Heading6: 'heading-six',\n BlockQuote: 'blockquote',\n UnorderedList: 'unordered-list',\n OrderedList: 'ordered-list',\n} as const\n\nexport type RootBlockType = typeof RootBlockType[keyof typeof RootBlockType]\n\nexport const BlockType = {\n ...RootBlockType,\n ListItem: 'list-item',\n ListItemChild: 'list-item-child',\n} as const\n\nexport type BlockType = typeof BlockType[keyof typeof BlockType]\n\nexport type DefaultElement = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.Default\n}\n\nexport type ParagraphElement = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.Paragraph\n}\n\nexport type Heading1Element = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.Heading1\n}\n\nexport type Heading2Element = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.Heading2\n}\n\nexport type Heading3Element = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.Heading3\n}\n\nexport type Heading4Element = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.Heading4\n}\n\nexport type Heading5Element = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.Heading5\n}\n\nexport type Heading6Element = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.Heading6\n}\n\nexport type BlockQuoteElement = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.BlockQuote\n}\n\nexport type UnorderedListElement = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.UnorderedList\n}\n\nexport type OrderedListElement = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.OrderedList\n}\n\nexport type ListElement = OrderedListElement | UnorderedListElement\n\nexport type ListItemElement = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.ListItem\n}\n\nexport type ListItemChildElement = {\n textAlign?: ResponsiveBlockTextAlignment\n className?: string\n children: Array<Element | Text>\n slice?: boolean\n typography?: RichTextTypography\n type: typeof BlockType.ListItemChild\n}\n\nexport const InlineType = {\n Code: 'code',\n SuperScript: 'superscript',\n SubScript: 'subscript',\n Link: 'link',\n} as const\n\nexport type InlineType = typeof InlineType[keyof typeof InlineType]\n\nexport const BlockTextAlignment = {\n Left: 'left',\n Center: 'center',\n Right: 'right',\n Justify: 'justify',\n} as const\n\nexport type BlockTextAlignment = typeof BlockTextAlignment[keyof typeof BlockTextAlignment]\n\nexport type ResponsiveBlockTextAlignment = ResponsiveValue<BlockTextAlignment>\n\nexport type CodeElement = {\n children: Array<Text | Inline>\n type: typeof InlineType.Code\n className?: string\n slice?: boolean\n typography?: RichTextTypography\n translationKey?: string\n}\n\nexport type SuperElement = {\n children: Array<Text | Inline>\n type: typeof InlineType.SuperScript\n className?: string\n slice?: boolean\n typography?: RichTextTypography\n translationKey?: string\n}\n\nexport type SubElement = {\n children: Array<Text | Inline>\n type: typeof InlineType.SubScript\n className?: string\n slice?: boolean\n typography?: RichTextTypography\n translationKey?: string\n}\n\nexport type LinkElement = {\n children: Array<Text | Inline>\n type: typeof InlineType.Link\n link: LinkControlData\n className?: string\n slice?: boolean\n typography?: RichTextTypography\n translationKey?: string\n}\n\nexport type RootBlock =\n | DefaultElement\n | ParagraphElement\n | Heading1Element\n | Heading2Element\n | Heading3Element\n | Heading4Element\n | Heading5Element\n | Heading6Element\n | BlockQuoteElement\n | ListElement\n\nexport type Block = RootBlock | ListItemElement | ListItemChildElement\n\nexport type Inline = CodeElement | SuperElement | SubElement | LinkElement\n\nexport type Element = Block | Inline\n\nexport type RichTextDAO = Descendant[]\n\nexport type MakeswiftEditor = BaseEditor & ReactEditor & BuilderEditor & LocalChangesEditor & TypographyEditor \n\ndeclare module 'slate' {\n interface CustomTypes {\n Editor: MakeswiftEditor\n Element: Element\n Text: Text\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqCO,MAAM,gBAAgB;AAAA,EAC3B,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,YAAY;AAAA,EACZ,eAAe;AAAA,EACf,aAAa;AACf;AAIO,MAAM,YAAY;AAAA,EACvB,GAAG;AAAA,EACH,UAAU;AAAA,EACV,eAAe;AACjB;AA2HO,MAAM,aAAa;AAAA,EACxB,MAAM;AAAA,EACN,aAAa;AAAA,EACb,WAAW;AAAA,EACX,MAAM;AACR;AAIO,MAAM,qBAAqB;AAAA,EAChC,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,SAAS;AACX;","names":[]}
1
+ {"version":3,"sources":["../../../src/slate/types.ts"],"sourcesContent":["import { BaseEditor } from 'slate'\nimport { ReactEditor } from 'slate-react'\nimport { Slate } from '@makeswift/controls'\n\nimport { BuilderEditor, TypographyEditor } from '.'\nimport { LocalChangesEditor } from './LocalChangesPlugin'\n\nexport const BlockType = Slate.BlockType\nexport const InlineType = Slate.InlineType\n\nexport type MakeswiftEditor = BaseEditor &\n ReactEditor &\n BuilderEditor &\n LocalChangesEditor &\n TypographyEditor\n\ndeclare module 'slate' {\n interface CustomTypes {\n Editor: MakeswiftEditor\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,sBAAsB;AAKf,MAAM,YAAY,sBAAM;AACxB,MAAM,aAAa,sBAAM;","names":[]}
@@ -22,13 +22,13 @@ __export(editor_exports, {
22
22
  });
23
23
  module.exports = __toCommonJS(editor_exports);
24
24
  var import_slate = require("slate");
25
- var import_element = require("./element");
25
+ var import_controls = require("@makeswift/controls");
26
26
  const EditorUtils = {
27
27
  getFirstAncestorList(editor, path) {
28
28
  try {
29
29
  const parentList = import_slate.Editor.above(editor, {
30
30
  at: path,
31
- match: (node) => import_element.ElementUtils.isList(node)
31
+ match: import_controls.Slate.isList
32
32
  });
33
33
  return parentList ?? null;
34
34
  } catch (e) {
@@ -39,7 +39,7 @@ const EditorUtils = {
39
39
  try {
40
40
  const parentListItem = import_slate.Editor.above(editor, {
41
41
  at: path,
42
- match: (node) => import_element.ElementUtils.isListItem(node)
42
+ match: import_controls.Slate.isListItem
43
43
  });
44
44
  return parentListItem ?? null;
45
45
  } catch (e) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/slate/utils/editor.ts"],"sourcesContent":["import { Path, Editor, NodeEntry } from 'slate'\n\nimport { ElementUtils } from './element'\nimport { ListElement, ListItemElement } from '../types'\n\nexport const EditorUtils = {\n getFirstAncestorList(editor: Editor, path: Path): NodeEntry<ListElement> | null {\n try {\n const parentList = Editor.above(editor, {\n at: path,\n match: (node): node is ListElement => ElementUtils.isList(node),\n })\n return parentList ?? null\n } catch (e) {\n return null\n }\n },\n getFirstAncestorListItem(editor: Editor, path: Path): NodeEntry<ListItemElement> | null {\n try {\n const parentListItem = Editor.above(editor, {\n at: path,\n match: (node): node is ListItemElement => ElementUtils.isListItem(node),\n })\n\n return parentListItem ?? null\n } catch (e) {\n return null\n }\n },\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAwC;AAExC,qBAA6B;AAGtB,MAAM,cAAc;AAAA,EACzB,qBAAqB,QAAgB,MAA2C;AAC9E,QAAI;AACF,YAAM,aAAa,oBAAO,MAAM,QAAQ;AAAA,QACtC,IAAI;AAAA,QACJ,OAAO,CAAC,SAA8B,4BAAa,OAAO,IAAI;AAAA,MAChE,CAAC;AACD,aAAO,cAAc;AAAA,IACvB,SAAS,GAAG;AACV,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EACA,yBAAyB,QAAgB,MAA+C;AACtF,QAAI;AACF,YAAM,iBAAiB,oBAAO,MAAM,QAAQ;AAAA,QAC1C,IAAI;AAAA,QACJ,OAAO,CAAC,SAAkC,4BAAa,WAAW,IAAI;AAAA,MACxE,CAAC;AAED,aAAO,kBAAkB;AAAA,IAC3B,SAAS,GAAG;AACV,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/slate/utils/editor.ts"],"sourcesContent":["import { Editor, type Path, type NodeEntry } from 'slate'\nimport { Slate } from '@makeswift/controls'\n\nexport const EditorUtils = {\n getFirstAncestorList(\n editor: Editor,\n path: Path,\n ): NodeEntry<Slate.Element & Slate.ListElement> | null {\n try {\n const parentList = Editor.above(editor, {\n at: path,\n match: Slate.isList,\n })\n return parentList ?? null\n } catch (e) {\n return null\n }\n },\n\n getFirstAncestorListItem(editor: Editor, path: Path): NodeEntry<Slate.ListItemElement> | null {\n try {\n const parentListItem = Editor.above(editor, {\n at: path,\n match: Slate.isListItem,\n })\n\n return parentListItem ?? null\n } catch (e) {\n return null\n }\n },\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,mBAAkD;AAClD,sBAAsB;AAEf,MAAM,cAAc;AAAA,EACzB,qBACE,QACA,MACqD;AACrD,QAAI;AACF,YAAM,aAAa,oBAAO,MAAM,QAAQ;AAAA,QACtC,IAAI;AAAA,QACJ,OAAO,sBAAM;AAAA,MACf,CAAC;AACD,aAAO,cAAc;AAAA,IACvB,SAAS,GAAG;AACV,aAAO;AAAA,IACT;AAAA,EACF;AAAA,EAEA,yBAAyB,QAAgB,MAAqD;AAC5F,QAAI;AACF,YAAM,iBAAiB,oBAAO,MAAM,QAAQ;AAAA,QAC1C,IAAI;AAAA,QACJ,OAAO,sBAAM;AAAA,MACf,CAAC;AAED,aAAO,kBAAkB;AAAA,IAC3B,SAAS,GAAG;AACV,aAAO;AAAA,IACT;AAAA,EACF;AACF;","names":[]}