@react-x11/components 0.8.0 → 0.10.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 (721) hide show
  1. package/README.md +105 -38
  2. package/dist/charts/node.d.ts +12 -2
  3. package/dist/charts/node.d.ts.map +1 -1
  4. package/dist/charts/node.js +50 -16
  5. package/dist/charts/node.js.map +1 -1
  6. package/dist/charts/render.d.ts +12 -3
  7. package/dist/charts/render.d.ts.map +1 -1
  8. package/dist/charts/render.js +94 -25
  9. package/dist/charts/render.js.map +1 -1
  10. package/dist/code/index.d.ts.map +1 -1
  11. package/dist/code/index.js +3 -1
  12. package/dist/code/index.js.map +1 -1
  13. package/dist/code-editor/completion.d.ts.map +1 -1
  14. package/dist/code-editor/completion.js +3 -2
  15. package/dist/code-editor/completion.js.map +1 -1
  16. package/dist/code-editor/index.d.ts.map +1 -1
  17. package/dist/code-editor/index.js +19 -0
  18. package/dist/code-editor/index.js.map +1 -1
  19. package/dist/code-editor/node.d.ts +177 -7
  20. package/dist/code-editor/node.d.ts.map +1 -1
  21. package/dist/code-editor/node.js +1329 -164
  22. package/dist/code-editor/node.js.map +1 -1
  23. package/dist/code-language/languages/glsl.d.ts.map +1 -1
  24. package/dist/code-language/languages/glsl.js +10 -2
  25. package/dist/code-language/languages/glsl.js.map +1 -1
  26. package/dist/code-language/languages/javascript.d.ts.map +1 -1
  27. package/dist/code-language/languages/javascript.js +18 -3
  28. package/dist/code-language/languages/javascript.js.map +1 -1
  29. package/dist/code-language/languages/json.d.ts.map +1 -1
  30. package/dist/code-language/languages/json.js +10 -2
  31. package/dist/code-language/languages/json.js.map +1 -1
  32. package/dist/code-language/languages/shell.d.ts.map +1 -1
  33. package/dist/code-language/languages/shell.js +10 -2
  34. package/dist/code-language/languages/shell.js.map +1 -1
  35. package/dist/code-language/languages/sql.d.ts.map +1 -1
  36. package/dist/code-language/languages/sql.js +20 -2
  37. package/dist/code-language/languages/sql.js.map +1 -1
  38. package/dist/code-language/stream.d.ts +22 -0
  39. package/dist/code-language/stream.d.ts.map +1 -1
  40. package/dist/code-language/stream.js +259 -9
  41. package/dist/code-language/stream.js.map +1 -1
  42. package/dist/code-language/types.d.ts +5 -4
  43. package/dist/code-language/types.d.ts.map +1 -1
  44. package/dist/codeblock/index.d.ts +13 -2
  45. package/dist/codeblock/index.d.ts.map +1 -1
  46. package/dist/codeblock/index.js +20 -3
  47. package/dist/codeblock/index.js.map +1 -1
  48. package/dist/embed/client.d.ts +48 -3
  49. package/dist/embed/client.d.ts.map +1 -1
  50. package/dist/embed/client.js +79 -5
  51. package/dist/embed/client.js.map +1 -1
  52. package/dist/embed/index.d.ts +1 -1
  53. package/dist/embed/index.d.ts.map +1 -1
  54. package/dist/embed/index.js +1 -1
  55. package/dist/embed/index.js.map +1 -1
  56. package/dist/flow/draw.d.ts +50 -0
  57. package/dist/flow/draw.d.ts.map +1 -1
  58. package/dist/flow/draw.js +132 -33
  59. package/dist/flow/draw.js.map +1 -1
  60. package/dist/flow/gl/color.d.ts +13 -0
  61. package/dist/flow/gl/color.d.ts.map +1 -0
  62. package/dist/flow/gl/color.js +82 -0
  63. package/dist/flow/gl/color.js.map +1 -0
  64. package/dist/flow/gl/index.d.ts +60 -0
  65. package/dist/flow/gl/index.d.ts.map +1 -0
  66. package/dist/flow/gl/index.js +283 -0
  67. package/dist/flow/gl/index.js.map +1 -0
  68. package/dist/flow/gl/pack.d.ts +133 -0
  69. package/dist/flow/gl/pack.d.ts.map +1 -0
  70. package/dist/flow/gl/pack.js +408 -0
  71. package/dist/flow/gl/pack.js.map +1 -0
  72. package/dist/flow/gl/renderer.d.ts +95 -0
  73. package/dist/flow/gl/renderer.d.ts.map +1 -0
  74. package/dist/flow/gl/renderer.js +459 -0
  75. package/dist/flow/gl/renderer.js.map +1 -0
  76. package/dist/flow/gl/shaders.d.ts +79 -0
  77. package/dist/flow/gl/shaders.d.ts.map +1 -0
  78. package/dist/flow/gl/shaders.js +346 -0
  79. package/dist/flow/gl/shaders.js.map +1 -0
  80. package/dist/flow/gl/text.d.ts +318 -0
  81. package/dist/flow/gl/text.d.ts.map +1 -0
  82. package/dist/flow/gl/text.js +1103 -0
  83. package/dist/flow/gl/text.js.map +1 -0
  84. package/dist/flow/index.d.ts +1 -1
  85. package/dist/flow/index.d.ts.map +1 -1
  86. package/dist/flow/index.js +619 -64
  87. package/dist/flow/index.js.map +1 -1
  88. package/dist/flow/node.d.ts +621 -72
  89. package/dist/flow/node.d.ts.map +1 -1
  90. package/dist/flow/node.js +2253 -1018
  91. package/dist/flow/node.js.map +1 -1
  92. package/dist/flow/paint.d.ts +35 -0
  93. package/dist/flow/paint.d.ts.map +1 -0
  94. package/dist/flow/paint.js +393 -0
  95. package/dist/flow/paint.js.map +1 -0
  96. package/dist/flow/paths.d.ts +14 -0
  97. package/dist/flow/paths.d.ts.map +1 -1
  98. package/dist/flow/paths.js +45 -19
  99. package/dist/flow/paths.js.map +1 -1
  100. package/dist/flow/scene.d.ts +584 -0
  101. package/dist/flow/scene.d.ts.map +1 -0
  102. package/dist/flow/scene.js +1453 -0
  103. package/dist/flow/scene.js.map +1 -0
  104. package/dist/flow/types.d.ts +111 -1
  105. package/dist/flow/types.d.ts.map +1 -1
  106. package/dist/html/controls.d.ts +28 -0
  107. package/dist/html/controls.d.ts.map +1 -1
  108. package/dist/html/controls.js +52 -2
  109. package/dist/html/controls.js.map +1 -1
  110. package/dist/html/css/calc.d.ts +14 -0
  111. package/dist/html/css/calc.d.ts.map +1 -0
  112. package/dist/html/css/calc.js +344 -0
  113. package/dist/html/css/calc.js.map +1 -0
  114. package/dist/html/css/cascade.d.ts +240 -6
  115. package/dist/html/css/cascade.d.ts.map +1 -1
  116. package/dist/html/css/cascade.js +1327 -66
  117. package/dist/html/css/cascade.js.map +1 -1
  118. package/dist/html/css/color.d.ts +23 -0
  119. package/dist/html/css/color.d.ts.map +1 -0
  120. package/dist/html/css/color.js +740 -0
  121. package/dist/html/css/color.js.map +1 -0
  122. package/dist/html/css/content.d.ts +92 -0
  123. package/dist/html/css/content.d.ts.map +1 -0
  124. package/dist/html/css/content.js +388 -0
  125. package/dist/html/css/content.js.map +1 -0
  126. package/dist/html/css/counter-styles.d.ts +76 -0
  127. package/dist/html/css/counter-styles.d.ts.map +1 -0
  128. package/dist/html/css/counter-styles.js +893 -0
  129. package/dist/html/css/counter-styles.js.map +1 -0
  130. package/dist/html/css/decode.d.ts +12 -0
  131. package/dist/html/css/decode.d.ts.map +1 -0
  132. package/dist/html/css/decode.js +116 -0
  133. package/dist/html/css/decode.js.map +1 -0
  134. package/dist/html/css/parse.d.ts +110 -10
  135. package/dist/html/css/parse.d.ts.map +1 -1
  136. package/dist/html/css/parse.js +1473 -180
  137. package/dist/html/css/parse.js.map +1 -1
  138. package/dist/html/css/style.d.ts +498 -15
  139. package/dist/html/css/style.d.ts.map +1 -1
  140. package/dist/html/css/style.js +3698 -206
  141. package/dist/html/css/style.js.map +1 -1
  142. package/dist/html/css/ua.d.ts.map +1 -1
  143. package/dist/html/css/ua.js +57 -11
  144. package/dist/html/css/ua.js.map +1 -1
  145. package/dist/html/css/values.d.ts +37 -3
  146. package/dist/html/css/values.d.ts.map +1 -1
  147. package/dist/html/css/values.js +122 -48
  148. package/dist/html/css/values.js.map +1 -1
  149. package/dist/html/css/vars.d.ts +52 -0
  150. package/dist/html/css/vars.d.ts.map +1 -0
  151. package/dist/html/css/vars.js +358 -0
  152. package/dist/html/css/vars.js.map +1 -0
  153. package/dist/html/dom.d.ts +30 -4
  154. package/dist/html/dom.d.ts.map +1 -1
  155. package/dist/html/dom.js +278 -17
  156. package/dist/html/dom.js.map +1 -1
  157. package/dist/html/fonts.d.ts +106 -0
  158. package/dist/html/fonts.d.ts.map +1 -0
  159. package/dist/html/fonts.js +565 -0
  160. package/dist/html/fonts.js.map +1 -0
  161. package/dist/html/gif.d.ts +15 -0
  162. package/dist/html/gif.d.ts.map +1 -0
  163. package/dist/html/gif.js +229 -0
  164. package/dist/html/gif.js.map +1 -0
  165. package/dist/html/index.d.ts +50 -11
  166. package/dist/html/index.d.ts.map +1 -1
  167. package/dist/html/index.js +115 -9
  168. package/dist/html/index.js.map +1 -1
  169. package/dist/html/layout/block.d.ts +226 -3
  170. package/dist/html/layout/block.d.ts.map +1 -1
  171. package/dist/html/layout/block.js +2937 -197
  172. package/dist/html/layout/block.js.map +1 -1
  173. package/dist/html/layout/boxes.d.ts +340 -17
  174. package/dist/html/layout/boxes.d.ts.map +1 -1
  175. package/dist/html/layout/boxes.js +1714 -182
  176. package/dist/html/layout/boxes.js.map +1 -1
  177. package/dist/html/layout/cache.d.ts +58 -0
  178. package/dist/html/layout/cache.d.ts.map +1 -0
  179. package/dist/html/layout/cache.js +224 -0
  180. package/dist/html/layout/cache.js.map +1 -0
  181. package/dist/html/layout/collapse.d.ts +45 -0
  182. package/dist/html/layout/collapse.d.ts.map +1 -0
  183. package/dist/html/layout/collapse.js +246 -0
  184. package/dist/html/layout/collapse.js.map +1 -0
  185. package/dist/html/layout/css-grid.d.ts +7 -0
  186. package/dist/html/layout/css-grid.d.ts.map +1 -0
  187. package/dist/html/layout/css-grid.js +900 -0
  188. package/dist/html/layout/css-grid.js.map +1 -0
  189. package/dist/html/layout/flex.d.ts.map +1 -1
  190. package/dist/html/layout/flex.js +1025 -89
  191. package/dist/html/layout/flex.js.map +1 -1
  192. package/dist/html/layout/floats.d.ts +45 -6
  193. package/dist/html/layout/floats.d.ts.map +1 -1
  194. package/dist/html/layout/floats.js +113 -14
  195. package/dist/html/layout/floats.js.map +1 -1
  196. package/dist/html/layout/grid-lines.d.ts +39 -0
  197. package/dist/html/layout/grid-lines.d.ts.map +1 -0
  198. package/dist/html/layout/grid-lines.js +119 -0
  199. package/dist/html/layout/grid-lines.js.map +1 -0
  200. package/dist/html/layout/grid.d.ts +53 -0
  201. package/dist/html/layout/grid.d.ts.map +1 -0
  202. package/dist/html/layout/grid.js +153 -0
  203. package/dist/html/layout/grid.js.map +1 -0
  204. package/dist/html/layout/inline.d.ts +151 -1
  205. package/dist/html/layout/inline.d.ts.map +1 -1
  206. package/dist/html/layout/inline.js +3375 -174
  207. package/dist/html/layout/inline.js.map +1 -1
  208. package/dist/html/layout/shaping.d.ts +6 -0
  209. package/dist/html/layout/shaping.d.ts.map +1 -0
  210. package/dist/html/layout/shaping.js +100 -0
  211. package/dist/html/layout/shaping.js.map +1 -0
  212. package/dist/html/layout/table.d.ts +3 -0
  213. package/dist/html/layout/table.d.ts.map +1 -1
  214. package/dist/html/layout/table.js +681 -175
  215. package/dist/html/layout/table.js.map +1 -1
  216. package/dist/html/layout/tracks.d.ts +44 -0
  217. package/dist/html/layout/tracks.d.ts.map +1 -0
  218. package/dist/html/layout/tracks.js +349 -0
  219. package/dist/html/layout/tracks.js.map +1 -0
  220. package/dist/html/node.d.ts +172 -5
  221. package/dist/html/node.d.ts.map +1 -1
  222. package/dist/html/node.js +1336 -103
  223. package/dist/html/node.js.map +1 -1
  224. package/dist/html/paint.d.ts +92 -3
  225. package/dist/html/paint.d.ts.map +1 -1
  226. package/dist/html/paint.js +3503 -141
  227. package/dist/html/paint.js.map +1 -1
  228. package/dist/html/resources.d.ts +60 -14
  229. package/dist/html/resources.d.ts.map +1 -1
  230. package/dist/html/resources.js +122 -36
  231. package/dist/html/resources.js.map +1 -1
  232. package/dist/html/surfaces.d.ts +23 -0
  233. package/dist/html/surfaces.d.ts.map +1 -0
  234. package/dist/html/surfaces.js +68 -0
  235. package/dist/html/surfaces.js.map +1 -0
  236. package/dist/html/svg.d.ts +80 -0
  237. package/dist/html/svg.d.ts.map +1 -0
  238. package/dist/html/svg.js +435 -0
  239. package/dist/html/svg.js.map +1 -0
  240. package/dist/html/url.d.ts +23 -0
  241. package/dist/html/url.d.ts.map +1 -0
  242. package/dist/html/url.js +80 -0
  243. package/dist/html/url.js.map +1 -0
  244. package/dist/index.d.ts +2 -2
  245. package/dist/index.d.ts.map +1 -1
  246. package/dist/index.js +1 -1
  247. package/dist/index.js.map +1 -1
  248. package/dist/internal/collate.d.ts +3 -0
  249. package/dist/internal/collate.d.ts.map +1 -0
  250. package/dist/internal/collate.js +11 -0
  251. package/dist/internal/collate.js.map +1 -0
  252. package/dist/{markdown → internal/markdown}/ast.d.ts +23 -0
  253. package/dist/internal/markdown/ast.d.ts.map +1 -0
  254. package/dist/internal/markdown/ast.js +22 -0
  255. package/dist/internal/markdown/ast.js.map +1 -0
  256. package/dist/internal/markdown/parse.d.ts.map +1 -0
  257. package/dist/{markdown → internal/markdown}/parse.js +221 -30
  258. package/dist/internal/markdown/parse.js.map +1 -0
  259. package/dist/internal/markdown/stringify.d.ts +4 -0
  260. package/dist/internal/markdown/stringify.d.ts.map +1 -0
  261. package/dist/internal/markdown/stringify.js +684 -0
  262. package/dist/internal/markdown/stringify.js.map +1 -0
  263. package/dist/internal/markdown/tags.d.ts.map +1 -0
  264. package/dist/internal/markdown/tags.js.map +1 -0
  265. package/dist/internal/prewarm.d.ts +18 -0
  266. package/dist/internal/prewarm.d.ts.map +1 -0
  267. package/dist/internal/prewarm.js +42 -0
  268. package/dist/internal/prewarm.js.map +1 -0
  269. package/dist/internal/scroll.d.ts +3 -2
  270. package/dist/internal/scroll.d.ts.map +1 -1
  271. package/dist/internal/scroll.js +1 -0
  272. package/dist/internal/scroll.js.map +1 -1
  273. package/dist/internal/sdf.d.ts +20 -0
  274. package/dist/internal/sdf.d.ts.map +1 -0
  275. package/dist/internal/sdf.js +216 -0
  276. package/dist/internal/sdf.js.map +1 -0
  277. package/dist/internal/splice.d.ts +12 -0
  278. package/dist/internal/splice.d.ts.map +1 -0
  279. package/dist/internal/splice.js +23 -0
  280. package/dist/internal/splice.js.map +1 -0
  281. package/dist/internal/window.d.ts +12 -0
  282. package/dist/internal/window.d.ts.map +1 -1
  283. package/dist/internal/window.js +23 -6
  284. package/dist/internal/window.js.map +1 -1
  285. package/dist/maps/anchors.d.ts +103 -0
  286. package/dist/maps/anchors.d.ts.map +1 -0
  287. package/dist/maps/anchors.js +790 -0
  288. package/dist/maps/anchors.js.map +1 -0
  289. package/dist/maps/controller.d.ts +340 -0
  290. package/dist/maps/controller.d.ts.map +1 -0
  291. package/dist/maps/controller.js +822 -0
  292. package/dist/maps/controller.js.map +1 -0
  293. package/dist/maps/gl/buckets.d.ts +99 -0
  294. package/dist/maps/gl/buckets.d.ts.map +1 -0
  295. package/dist/maps/gl/buckets.js +365 -0
  296. package/dist/maps/gl/buckets.js.map +1 -0
  297. package/dist/maps/gl/build-worker.d.ts +15 -0
  298. package/dist/maps/gl/build-worker.d.ts.map +1 -0
  299. package/dist/maps/gl/build-worker.js +44 -0
  300. package/dist/maps/gl/build-worker.js.map +1 -0
  301. package/dist/maps/gl/color.d.ts +8 -0
  302. package/dist/maps/gl/color.d.ts.map +1 -0
  303. package/dist/maps/gl/color.js +57 -0
  304. package/dist/maps/gl/color.js.map +1 -0
  305. package/dist/maps/gl/cover.d.ts +70 -0
  306. package/dist/maps/gl/cover.d.ts.map +1 -0
  307. package/dist/maps/gl/cover.js +137 -0
  308. package/dist/maps/gl/cover.js.map +1 -0
  309. package/dist/maps/gl/index.d.ts +3 -0
  310. package/dist/maps/gl/index.d.ts.map +1 -0
  311. package/dist/maps/gl/index.js +20 -0
  312. package/dist/maps/gl/index.js.map +1 -0
  313. package/dist/maps/gl/markers.d.ts +28 -0
  314. package/dist/maps/gl/markers.d.ts.map +1 -0
  315. package/dist/maps/gl/markers.js +60 -0
  316. package/dist/maps/gl/markers.js.map +1 -0
  317. package/dist/maps/gl/overlays.d.ts +68 -0
  318. package/dist/maps/gl/overlays.d.ts.map +1 -0
  319. package/dist/maps/gl/overlays.js +300 -0
  320. package/dist/maps/gl/overlays.js.map +1 -0
  321. package/dist/maps/gl/pane.d.ts +12 -0
  322. package/dist/maps/gl/pane.d.ts.map +1 -0
  323. package/dist/maps/gl/pane.js +37 -0
  324. package/dist/maps/gl/pane.js.map +1 -0
  325. package/dist/maps/gl/placement.d.ts +124 -0
  326. package/dist/maps/gl/placement.d.ts.map +1 -0
  327. package/dist/maps/gl/placement.js +642 -0
  328. package/dist/maps/gl/placement.js.map +1 -0
  329. package/dist/maps/gl/renderer.d.ts +384 -0
  330. package/dist/maps/gl/renderer.d.ts.map +1 -0
  331. package/dist/maps/gl/renderer.js +1184 -0
  332. package/dist/maps/gl/renderer.js.map +1 -0
  333. package/dist/maps/gl/shaders.d.ts +121 -0
  334. package/dist/maps/gl/shaders.d.ts.map +1 -0
  335. package/dist/maps/gl/shaders.js +453 -0
  336. package/dist/maps/gl/shaders.js.map +1 -0
  337. package/dist/maps/gl/store.d.ts +125 -0
  338. package/dist/maps/gl/store.d.ts.map +1 -0
  339. package/dist/maps/gl/store.js +512 -0
  340. package/dist/maps/gl/store.js.map +1 -0
  341. package/dist/maps/gl/text.d.ts +283 -0
  342. package/dist/maps/gl/text.d.ts.map +1 -0
  343. package/dist/maps/gl/text.js +698 -0
  344. package/dist/maps/gl/text.js.map +1 -0
  345. package/dist/maps/gl/view.d.ts +345 -0
  346. package/dist/maps/gl/view.d.ts.map +1 -0
  347. package/dist/maps/gl/view.js +1209 -0
  348. package/dist/maps/gl/view.js.map +1 -0
  349. package/dist/maps/icons.d.ts +32 -0
  350. package/dist/maps/icons.d.ts.map +1 -0
  351. package/dist/maps/icons.js +151 -0
  352. package/dist/maps/icons.js.map +1 -0
  353. package/dist/maps/index.d.ts +3 -1
  354. package/dist/maps/index.d.ts.map +1 -1
  355. package/dist/maps/index.js +218 -52
  356. package/dist/maps/index.js.map +1 -1
  357. package/dist/maps/labels.d.ts +91 -18
  358. package/dist/maps/labels.d.ts.map +1 -1
  359. package/dist/maps/labels.js +376 -140
  360. package/dist/maps/labels.js.map +1 -1
  361. package/dist/maps/node.d.ts +179 -56
  362. package/dist/maps/node.d.ts.map +1 -1
  363. package/dist/maps/node.js +663 -537
  364. package/dist/maps/node.js.map +1 -1
  365. package/dist/maps/overlay.d.ts +72 -9
  366. package/dist/maps/overlay.d.ts.map +1 -1
  367. package/dist/maps/overlay.js +108 -28
  368. package/dist/maps/overlay.js.map +1 -1
  369. package/dist/maps/paint.d.ts +3 -0
  370. package/dist/maps/paint.d.ts.map +1 -1
  371. package/dist/maps/paint.js.map +1 -1
  372. package/dist/maps/proj.d.ts +62 -0
  373. package/dist/maps/proj.d.ts.map +1 -1
  374. package/dist/maps/proj.js +101 -0
  375. package/dist/maps/proj.js.map +1 -1
  376. package/dist/maps/renderer.d.ts +69 -0
  377. package/dist/maps/renderer.d.ts.map +1 -0
  378. package/dist/maps/renderer.js +66 -0
  379. package/dist/maps/renderer.js.map +1 -0
  380. package/dist/maps/sources.d.ts +30 -6
  381. package/dist/maps/sources.d.ts.map +1 -1
  382. package/dist/maps/sources.js +22 -3
  383. package/dist/maps/sources.js.map +1 -1
  384. package/dist/maps/style.d.ts +35 -0
  385. package/dist/maps/style.d.ts.map +1 -1
  386. package/dist/maps/style.js.map +1 -1
  387. package/dist/maps/styles.d.ts +12 -0
  388. package/dist/maps/styles.d.ts.map +1 -1
  389. package/dist/maps/styles.js +120 -6
  390. package/dist/maps/styles.js.map +1 -1
  391. package/dist/maps/theme.d.ts +19 -0
  392. package/dist/maps/theme.d.ts.map +1 -0
  393. package/dist/maps/theme.js +44 -0
  394. package/dist/maps/theme.js.map +1 -0
  395. package/dist/maps/tiles.d.ts +147 -27
  396. package/dist/maps/tiles.d.ts.map +1 -1
  397. package/dist/maps/tiles.js +221 -54
  398. package/dist/maps/tiles.js.map +1 -1
  399. package/dist/maps/types.d.ts +213 -21
  400. package/dist/maps/types.d.ts.map +1 -1
  401. package/dist/markdown/expressions.d.ts +1 -1
  402. package/dist/markdown/expressions.d.ts.map +1 -1
  403. package/dist/markdown/expressions.js.map +1 -1
  404. package/dist/markdown/index.d.ts +7 -6
  405. package/dist/markdown/index.d.ts.map +1 -1
  406. package/dist/markdown/index.js +121 -50
  407. package/dist/markdown/index.js.map +1 -1
  408. package/dist/markdown/spans.d.ts +1 -1
  409. package/dist/markdown/spans.d.ts.map +1 -1
  410. package/dist/markdown/spans.js +6 -0
  411. package/dist/markdown/spans.js.map +1 -1
  412. package/dist/media-player/index.d.ts +11 -3
  413. package/dist/media-player/index.d.ts.map +1 -1
  414. package/dist/media-player/index.js +13 -2
  415. package/dist/media-player/index.js.map +1 -1
  416. package/dist/qml/containers.d.ts.map +1 -1
  417. package/dist/qml/containers.js +6 -1
  418. package/dist/qml/containers.js.map +1 -1
  419. package/dist/qml/interaction.d.ts.map +1 -1
  420. package/dist/qml/interaction.js +38 -5
  421. package/dist/qml/interaction.js.map +1 -1
  422. package/dist/qml/layouts.d.ts.map +1 -1
  423. package/dist/qml/layouts.js +21 -6
  424. package/dist/qml/layouts.js.map +1 -1
  425. package/dist/qml/qtquick.d.ts.map +1 -1
  426. package/dist/qml/qtquick.js +9 -2
  427. package/dist/qml/qtquick.js.map +1 -1
  428. package/dist/qml/react.d.ts.map +1 -1
  429. package/dist/qml/react.js +9 -7
  430. package/dist/qml/react.js.map +1 -1
  431. package/dist/reorder/clock.d.ts +7 -0
  432. package/dist/reorder/clock.d.ts.map +1 -0
  433. package/dist/reorder/clock.js +26 -0
  434. package/dist/reorder/clock.js.map +1 -0
  435. package/dist/reorder/index.d.ts +25 -3
  436. package/dist/reorder/index.d.ts.map +1 -1
  437. package/dist/reorder/index.js +64 -19
  438. package/dist/reorder/index.js.map +1 -1
  439. package/dist/rich-text-editor/clipboard.d.ts +23 -0
  440. package/dist/rich-text-editor/clipboard.d.ts.map +1 -0
  441. package/dist/rich-text-editor/clipboard.js +307 -0
  442. package/dist/rich-text-editor/clipboard.js.map +1 -0
  443. package/dist/rich-text-editor/collab.d.ts +32 -0
  444. package/dist/rich-text-editor/collab.d.ts.map +1 -0
  445. package/dist/rich-text-editor/collab.js +55 -0
  446. package/dist/rich-text-editor/collab.js.map +1 -0
  447. package/dist/rich-text-editor/commands.d.ts +50 -0
  448. package/dist/rich-text-editor/commands.d.ts.map +1 -0
  449. package/dist/rich-text-editor/commands.js +376 -0
  450. package/dist/rich-text-editor/commands.js.map +1 -0
  451. package/dist/rich-text-editor/drag.d.ts +68 -0
  452. package/dist/rich-text-editor/drag.d.ts.map +1 -0
  453. package/dist/rich-text-editor/drag.js +148 -0
  454. package/dist/rich-text-editor/drag.js.map +1 -0
  455. package/dist/rich-text-editor/html.d.ts +145 -0
  456. package/dist/rich-text-editor/html.d.ts.map +1 -0
  457. package/dist/rich-text-editor/html.js +516 -0
  458. package/dist/rich-text-editor/html.js.map +1 -0
  459. package/dist/rich-text-editor/index.d.ts +252 -0
  460. package/dist/rich-text-editor/index.d.ts.map +1 -0
  461. package/dist/rich-text-editor/index.js +856 -0
  462. package/dist/rich-text-editor/index.js.map +1 -0
  463. package/dist/rich-text-editor/inline.d.ts +94 -0
  464. package/dist/rich-text-editor/inline.d.ts.map +1 -0
  465. package/dist/rich-text-editor/inline.js +252 -0
  466. package/dist/rich-text-editor/inline.js.map +1 -0
  467. package/dist/rich-text-editor/keymap.d.ts +71 -0
  468. package/dist/rich-text-editor/keymap.d.ts.map +1 -0
  469. package/dist/rich-text-editor/keymap.js +394 -0
  470. package/dist/rich-text-editor/keymap.js.map +1 -0
  471. package/dist/rich-text-editor/keys.d.ts +40 -0
  472. package/dist/rich-text-editor/keys.d.ts.map +1 -0
  473. package/dist/rich-text-editor/keys.js +202 -0
  474. package/dist/rich-text-editor/keys.js.map +1 -0
  475. package/dist/rich-text-editor/look.d.ts +71 -0
  476. package/dist/rich-text-editor/look.d.ts.map +1 -0
  477. package/dist/rich-text-editor/look.js +342 -0
  478. package/dist/rich-text-editor/look.js.map +1 -0
  479. package/dist/rich-text-editor/markdown.d.ts +18 -0
  480. package/dist/rich-text-editor/markdown.d.ts.map +1 -0
  481. package/dist/rich-text-editor/markdown.js +496 -0
  482. package/dist/rich-text-editor/markdown.js.map +1 -0
  483. package/dist/rich-text-editor/marks.d.ts +9 -0
  484. package/dist/rich-text-editor/marks.d.ts.map +1 -0
  485. package/dist/rich-text-editor/marks.js +83 -0
  486. package/dist/rich-text-editor/marks.js.map +1 -0
  487. package/dist/rich-text-editor/nodes.d.ts +135 -0
  488. package/dist/rich-text-editor/nodes.d.ts.map +1 -0
  489. package/dist/rich-text-editor/nodes.js +397 -0
  490. package/dist/rich-text-editor/nodes.js.map +1 -0
  491. package/dist/rich-text-editor/render.d.ts +68 -0
  492. package/dist/rich-text-editor/render.d.ts.map +1 -0
  493. package/dist/rich-text-editor/render.js +518 -0
  494. package/dist/rich-text-editor/render.js.map +1 -0
  495. package/dist/rich-text-editor/schema.d.ts +16 -0
  496. package/dist/rich-text-editor/schema.d.ts.map +1 -0
  497. package/dist/rich-text-editor/schema.js +386 -0
  498. package/dist/rich-text-editor/schema.js.map +1 -0
  499. package/dist/rich-text-editor/store.d.ts +11 -0
  500. package/dist/rich-text-editor/store.d.ts.map +1 -0
  501. package/dist/rich-text-editor/store.js +43 -0
  502. package/dist/rich-text-editor/store.js.map +1 -0
  503. package/dist/rich-text-editor/suggest.d.ts +127 -0
  504. package/dist/rich-text-editor/suggest.d.ts.map +1 -0
  505. package/dist/rich-text-editor/suggest.js +0 -0
  506. package/dist/rich-text-editor/suggest.js.map +1 -0
  507. package/dist/rich-text-editor/tables.d.ts +41 -0
  508. package/dist/rich-text-editor/tables.d.ts.map +1 -0
  509. package/dist/rich-text-editor/tables.js +204 -0
  510. package/dist/rich-text-editor/tables.js.map +1 -0
  511. package/dist/rich-text-editor/toolbar.d.ts +58 -0
  512. package/dist/rich-text-editor/toolbar.d.ts.map +1 -0
  513. package/dist/rich-text-editor/toolbar.js +548 -0
  514. package/dist/rich-text-editor/toolbar.js.map +1 -0
  515. package/dist/rich-text-editor/view.d.ts +368 -0
  516. package/dist/rich-text-editor/view.d.ts.map +1 -0
  517. package/dist/rich-text-editor/view.js +1968 -0
  518. package/dist/rich-text-editor/view.js.map +1 -0
  519. package/dist/rich-text-editor/virtual.d.ts +54 -0
  520. package/dist/rich-text-editor/virtual.d.ts.map +1 -0
  521. package/dist/rich-text-editor/virtual.js +279 -0
  522. package/dist/rich-text-editor/virtual.js.map +1 -0
  523. package/dist/richtext/node.d.ts +71 -4
  524. package/dist/richtext/node.d.ts.map +1 -1
  525. package/dist/richtext/node.js +233 -28
  526. package/dist/richtext/node.js.map +1 -1
  527. package/dist/richtext/runs.d.ts +13 -8
  528. package/dist/richtext/runs.d.ts.map +1 -1
  529. package/dist/richtext/runs.js +18 -8
  530. package/dist/richtext/runs.js.map +1 -1
  531. package/dist/table/index.d.ts.map +1 -1
  532. package/dist/table/index.js +23 -0
  533. package/dist/table/index.js.map +1 -1
  534. package/dist/table/rows.d.ts +3 -2
  535. package/dist/table/rows.d.ts.map +1 -1
  536. package/dist/table/rows.js +20 -6
  537. package/dist/table/rows.js.map +1 -1
  538. package/dist/terminal/backends.d.ts +4 -1
  539. package/dist/terminal/backends.d.ts.map +1 -1
  540. package/dist/terminal/backends.js.map +1 -1
  541. package/dist/terminal/index.d.ts +18 -7
  542. package/dist/terminal/index.d.ts.map +1 -1
  543. package/dist/terminal/index.js +32 -11
  544. package/dist/terminal/index.js.map +1 -1
  545. package/dist/terminal/vt/pty.d.ts +13 -2
  546. package/dist/terminal/vt/pty.d.ts.map +1 -1
  547. package/dist/terminal/vt/pty.js +18 -3
  548. package/dist/terminal/vt/pty.js.map +1 -1
  549. package/dist/terminal-output/index.d.ts.map +1 -1
  550. package/dist/terminal-output/index.js +6 -1
  551. package/dist/terminal-output/index.js.map +1 -1
  552. package/dist/three/canvas.d.ts.map +1 -1
  553. package/dist/three/canvas.js +85 -7
  554. package/dist/three/canvas.js.map +1 -1
  555. package/dist/three/events.d.ts +22 -4
  556. package/dist/three/events.d.ts.map +1 -1
  557. package/dist/three/events.js +34 -4
  558. package/dist/three/events.js.map +1 -1
  559. package/dist/tree/index.d.ts.map +1 -1
  560. package/dist/tree/index.js +17 -0
  561. package/dist/tree/index.js.map +1 -1
  562. package/package.json +59 -31
  563. package/src/charts/node.ts +68 -28
  564. package/src/charts/render.ts +120 -30
  565. package/src/code/index.ts +3 -1
  566. package/src/code-editor/completion.ts +3 -2
  567. package/src/code-editor/index.ts +19 -0
  568. package/src/code-editor/node.ts +1574 -184
  569. package/src/code-language/languages/glsl.ts +12 -2
  570. package/src/code-language/languages/javascript.ts +21 -4
  571. package/src/code-language/languages/json.ts +12 -2
  572. package/src/code-language/languages/shell.ts +12 -2
  573. package/src/code-language/languages/sql.ts +22 -2
  574. package/src/code-language/stream.ts +257 -17
  575. package/src/code-language/types.ts +5 -4
  576. package/src/codeblock/index.ts +20 -3
  577. package/src/embed/client.ts +102 -8
  578. package/src/embed/index.ts +2 -0
  579. package/src/flow/draw.ts +167 -41
  580. package/src/flow/gl/color.ts +85 -0
  581. package/src/flow/gl/index.ts +342 -0
  582. package/src/flow/gl/pack.ts +585 -0
  583. package/src/flow/gl/renderer.ts +679 -0
  584. package/src/flow/gl/shaders.ts +371 -0
  585. package/src/flow/gl/text.ts +1295 -0
  586. package/src/flow/index.ts +794 -67
  587. package/src/flow/node.ts +2496 -1256
  588. package/src/flow/paint.ts +511 -0
  589. package/src/flow/paths.ts +80 -15
  590. package/src/flow/scene.ts +2199 -0
  591. package/src/flow/types.ts +113 -1
  592. package/src/html/controls.ts +73 -2
  593. package/src/html/css/calc.ts +385 -0
  594. package/src/html/css/cascade.ts +1403 -62
  595. package/src/html/css/color.ts +755 -0
  596. package/src/html/css/content.ts +417 -0
  597. package/src/html/css/counter-styles.ts +973 -0
  598. package/src/html/css/decode.ts +130 -0
  599. package/src/html/css/parse.ts +1514 -160
  600. package/src/html/css/style.ts +4102 -222
  601. package/src/html/css/ua.ts +58 -12
  602. package/src/html/css/values.ts +150 -50
  603. package/src/html/css/vars.ts +348 -0
  604. package/src/html/dom.ts +284 -17
  605. package/src/html/fonts.ts +641 -0
  606. package/src/html/gif.ts +233 -0
  607. package/src/html/index.ts +180 -20
  608. package/src/html/layout/block.ts +3456 -230
  609. package/src/html/layout/boxes.ts +2100 -190
  610. package/src/html/layout/cache.ts +289 -0
  611. package/src/html/layout/collapse.ts +317 -0
  612. package/src/html/layout/css-grid.ts +1063 -0
  613. package/src/html/layout/flex.ts +1115 -106
  614. package/src/html/layout/floats.ts +128 -14
  615. package/src/html/layout/grid-lines.ts +141 -0
  616. package/src/html/layout/grid.ts +181 -0
  617. package/src/html/layout/inline.ts +3943 -192
  618. package/src/html/layout/shaping.ts +140 -0
  619. package/src/html/layout/table.ts +696 -186
  620. package/src/html/layout/tracks.ts +437 -0
  621. package/src/html/node.ts +1486 -121
  622. package/src/html/paint.ts +4293 -169
  623. package/src/html/resources.ts +161 -50
  624. package/src/html/surfaces.ts +81 -0
  625. package/src/html/svg.ts +493 -0
  626. package/src/html/url.ts +86 -0
  627. package/src/index.ts +4 -0
  628. package/src/internal/collate.ts +12 -0
  629. package/src/{markdown → internal/markdown}/ast.ts +35 -7
  630. package/src/{markdown → internal/markdown}/parse.ts +288 -35
  631. package/src/internal/markdown/stringify.ts +772 -0
  632. package/src/internal/prewarm.ts +45 -0
  633. package/src/internal/scroll.ts +5 -3
  634. package/src/internal/sdf.ts +227 -0
  635. package/src/internal/splice.ts +25 -0
  636. package/src/internal/window.ts +36 -5
  637. package/src/maps/anchors.ts +913 -0
  638. package/src/maps/controller.ts +1084 -0
  639. package/src/maps/gl/buckets.ts +461 -0
  640. package/src/maps/gl/build-worker.ts +66 -0
  641. package/src/maps/gl/color.ts +62 -0
  642. package/src/maps/gl/cover.ts +205 -0
  643. package/src/maps/gl/index.ts +23 -0
  644. package/src/maps/gl/markers.ts +83 -0
  645. package/src/maps/gl/overlays.ts +379 -0
  646. package/src/maps/gl/pane.ts +42 -0
  647. package/src/maps/gl/placement.ts +968 -0
  648. package/src/maps/gl/renderer.ts +1660 -0
  649. package/src/maps/gl/shaders.ts +489 -0
  650. package/src/maps/gl/store.ts +615 -0
  651. package/src/maps/gl/text.ts +868 -0
  652. package/src/maps/gl/view.ts +1489 -0
  653. package/src/maps/icons.ts +183 -0
  654. package/src/maps/index.ts +274 -81
  655. package/src/maps/labels.ts +457 -144
  656. package/src/maps/node.ts +832 -665
  657. package/src/maps/overlay.ts +148 -43
  658. package/src/maps/paint.ts +3 -0
  659. package/src/maps/proj.ts +118 -0
  660. package/src/maps/renderer.ts +155 -0
  661. package/src/maps/sources.ts +43 -6
  662. package/src/maps/style.ts +32 -0
  663. package/src/maps/styles.ts +215 -4
  664. package/src/maps/theme.ts +51 -0
  665. package/src/maps/tiles.ts +253 -62
  666. package/src/maps/types.ts +213 -21
  667. package/src/markdown/expressions.ts +5 -1
  668. package/src/markdown/index.ts +163 -78
  669. package/src/markdown/spans.ts +6 -1
  670. package/src/media-player/index.ts +18 -4
  671. package/src/qml/containers.tsx +6 -1
  672. package/src/qml/interaction.tsx +42 -5
  673. package/src/qml/layouts.tsx +21 -6
  674. package/src/qml/qtquick.tsx +9 -2
  675. package/src/qml/react.tsx +7 -5
  676. package/src/reorder/clock.ts +27 -0
  677. package/src/reorder/index.ts +100 -27
  678. package/src/rich-text-editor/clipboard.ts +439 -0
  679. package/src/rich-text-editor/collab.ts +91 -0
  680. package/src/rich-text-editor/commands.ts +448 -0
  681. package/src/rich-text-editor/dom-globals.d.ts +23 -0
  682. package/src/rich-text-editor/drag.ts +211 -0
  683. package/src/rich-text-editor/html.ts +619 -0
  684. package/src/rich-text-editor/index.ts +1364 -0
  685. package/src/rich-text-editor/inline.ts +345 -0
  686. package/src/rich-text-editor/keymap.ts +510 -0
  687. package/src/rich-text-editor/keys.ts +228 -0
  688. package/src/rich-text-editor/look.ts +427 -0
  689. package/src/rich-text-editor/markdown.ts +653 -0
  690. package/src/rich-text-editor/marks.ts +101 -0
  691. package/src/rich-text-editor/nodes.ts +497 -0
  692. package/src/rich-text-editor/render.ts +837 -0
  693. package/src/rich-text-editor/schema.ts +431 -0
  694. package/src/rich-text-editor/store.ts +39 -0
  695. package/src/rich-text-editor/suggest.ts +597 -0
  696. package/src/rich-text-editor/tables.ts +272 -0
  697. package/src/rich-text-editor/toolbar.ts +724 -0
  698. package/src/rich-text-editor/view.ts +2287 -0
  699. package/src/rich-text-editor/virtual.ts +372 -0
  700. package/src/richtext/node.ts +294 -44
  701. package/src/richtext/runs.ts +23 -12
  702. package/src/table/index.ts +29 -0
  703. package/src/table/rows.ts +18 -8
  704. package/src/terminal/backends.ts +4 -1
  705. package/src/terminal/index.ts +47 -15
  706. package/src/terminal/vt/pty.ts +16 -2
  707. package/src/terminal-output/index.ts +6 -1
  708. package/src/three/canvas.ts +102 -8
  709. package/src/three/events.ts +49 -9
  710. package/src/tree/index.ts +19 -0
  711. package/dist/markdown/ast.d.ts.map +0 -1
  712. package/dist/markdown/ast.js +0 -17
  713. package/dist/markdown/ast.js.map +0 -1
  714. package/dist/markdown/parse.d.ts.map +0 -1
  715. package/dist/markdown/parse.js.map +0 -1
  716. package/dist/markdown/tags.d.ts.map +0 -1
  717. package/dist/markdown/tags.js.map +0 -1
  718. /package/dist/{markdown → internal/markdown}/parse.d.ts +0 -0
  719. /package/dist/{markdown → internal/markdown}/tags.d.ts +0 -0
  720. /package/dist/{markdown → internal/markdown}/tags.js +0 -0
  721. /package/src/{markdown → internal/markdown}/tags.ts +0 -0
@@ -0,0 +1,307 @@
1
+ // Copy and paste, in the formats every other application speaks.
2
+ //
3
+ // A copy offers three things: `text/html` (the schema's `toDOM`, with
4
+ // ProseMirror's `data-pm-slice` marker so the open sides survive), plain text
5
+ // (the `clipboardTextSerializer` prop, or blocks a blank line apart — the
6
+ // markdown editor's default hands markdown here), and, in this process only,
7
+ // the slice itself. The last is not an optimisation: react-x11's Cocoa
8
+ // clipboard carries one flavour, text (react-x11 docs/clipboard.md,
9
+ // "Limits"), so without it a copy and paste inside one editor would flatten
10
+ // every heading and list on a Mac. A paste whose text is exactly what this
11
+ // process last put there takes the slice back instead of re-reading it.
12
+ //
13
+ // Reading is prosemirror-view's `parseFromClipboard`, ported: the same
14
+ // props, in the same order, over the DOM shim in `./html.ts` instead of a
15
+ // browser's — so a paste from a web page is read by the schema's own
16
+ // `parseDOM` rules, and a plugin's `transformPasted` sees what it would see
17
+ // in a browser. The helpers below `parseFromClipboard` are prosemirror-view's
18
+ // own (MIT), which does not export them; they are pure functions over the
19
+ // model and came across unchanged.
20
+ import { DOMParser, DOMSerializer, Fragment, Slice } from 'prosemirror-model';
21
+ import { clipboardHTML, readHTML, sliceFromElement } from './html.js';
22
+ export function serializeForClipboard(view, slice) {
23
+ view.someProp('transformCopied', (f) => {
24
+ slice = f(slice, view.asEditorView);
25
+ });
26
+ const context = [];
27
+ let { content, openStart, openEnd } = slice;
28
+ while (openStart > 1 &&
29
+ openEnd > 1 &&
30
+ content.childCount === 1 &&
31
+ content.firstChild.childCount === 1) {
32
+ openStart--;
33
+ openEnd--;
34
+ const node = content.firstChild;
35
+ // a node made with no attributes shares its type's default object —
36
+ // ProseMirror's own test, through a member its declarations leave out
37
+ const defaults = node.type
38
+ .defaultAttrs;
39
+ context.push(node.type.name, node.attrs !== defaults ? node.attrs : null);
40
+ content = node.content;
41
+ }
42
+ const serializer = view.someProp('clipboardSerializer', (s) => s) ??
43
+ DOMSerializer.fromSchema(view.state.schema);
44
+ const html = clipboardHTML(serializer, content, openStart, openEnd, context);
45
+ const text = view.someProp('clipboardTextSerializer', (f) => f(slice, view.asEditorView)) || slice.content.textBetween(0, slice.content.size, '\n\n');
46
+ return { html, text, slice };
47
+ }
48
+ const INLINE_PARENTS = /^(a|abbr|acronym|b|cite|code|del|em|i|ins|kbd|label|output|q|ruby|s|samp|span|strong|sub|sup|time|u|tt|var)$/i;
49
+ /** A paste — or a drop — read into a slice. `plainText` is a paste that
50
+ * asked for no formatting (Shift held). */
51
+ export function parseFromClipboard(view, text, html, plainText, $context) {
52
+ const { schema } = view.state;
53
+ const inCode = !!$context.parent.type.spec.code;
54
+ let dom = null;
55
+ let slice = null;
56
+ if (!html && !text)
57
+ return null;
58
+ const asText = !!text && (plainText || inCode || !html);
59
+ if (asText) {
60
+ let pasted = text;
61
+ view.someProp('transformPastedText', (f) => {
62
+ pasted = f(pasted, inCode || plainText, view.asEditorView);
63
+ });
64
+ if (inCode) {
65
+ let codeSlice = pasted
66
+ ? new Slice(Fragment.from(schema.text(pasted.replace(/\r\n?/g, '\n'))), 0, 0)
67
+ : Slice.empty;
68
+ view.someProp('transformPasted', (f) => {
69
+ codeSlice = f(codeSlice, view.asEditorView, true);
70
+ });
71
+ return codeSlice;
72
+ }
73
+ const parsed = view.someProp('clipboardTextParser', (f) => f(pasted, $context, plainText, view.asEditorView));
74
+ if (parsed) {
75
+ slice = parsed;
76
+ }
77
+ else {
78
+ // One paragraph per line, carrying the marks at the caret — what
79
+ // ProseMirror builds as `<p>`s and parses, built directly.
80
+ const marks = $context.marks();
81
+ const paragraph = defaultTextblock($context);
82
+ if (paragraph) {
83
+ const blocks = pasted
84
+ .split(/(?:\r\n?|\n)+/)
85
+ .map((line) => paragraph.create(null, line ? schema.text(line, marks) : null));
86
+ slice = Slice.maxOpen(Fragment.from(blocks));
87
+ }
88
+ else {
89
+ slice = new Slice(Fragment.from(schema.text(pasted, marks)), 0, 0);
90
+ }
91
+ }
92
+ }
93
+ else {
94
+ let source = html;
95
+ view.someProp('transformPastedHTML', (f) => {
96
+ source = f(source, view.asEditorView);
97
+ });
98
+ dom = readHTML(source);
99
+ }
100
+ const contextNode = dom
101
+ ? dom.matches('[data-pm-slice]')
102
+ ? dom
103
+ : dom.querySelector('[data-pm-slice]')
104
+ : null;
105
+ const sliceData = contextNode &&
106
+ /^(\d+) (\d+)(?: -(\d+))? (.*)/.exec(contextNode.getAttribute('data-pm-slice') || '');
107
+ if (dom && sliceData && sliceData[3]) {
108
+ for (let i = +sliceData[3]; i > 0; i--) {
109
+ let child = dom.firstChild;
110
+ while (child && child.nodeType !== 1)
111
+ child = child.nextSibling;
112
+ if (!child)
113
+ break;
114
+ dom = child;
115
+ }
116
+ }
117
+ if (!slice && dom) {
118
+ const parser = view.someProp('clipboardParser', (p) => p) ??
119
+ view.someProp('domParser', (p) => p) ??
120
+ DOMParser.fromSchema(schema);
121
+ // `ruleFromNode` is a parse option prosemirror-view passes and
122
+ // prosemirror-model's declarations leave out: a trailing `<br>` in a
123
+ // block is the browser's placeholder, not a line break
124
+ const options = {
125
+ preserveWhitespace: !!(asText || sliceData),
126
+ context: $context,
127
+ ruleFromNode(node) {
128
+ const el = node;
129
+ if (el.nodeName === 'BR' &&
130
+ !el.nextSibling &&
131
+ el.parentNode &&
132
+ !INLINE_PARENTS.test(el.parentNode.nodeName)) {
133
+ return { ignore: true };
134
+ }
135
+ return null;
136
+ },
137
+ };
138
+ slice = sliceFromElement(parser, dom, options);
139
+ }
140
+ if (!slice)
141
+ return null;
142
+ if (sliceData) {
143
+ slice = addContext(closeSlice(slice, +sliceData[1], +sliceData[2]), sliceData[4]);
144
+ }
145
+ else {
146
+ // HTML that did not come from ProseMirror: make the top-level siblings
147
+ // coherent, so `replace` can place them at all
148
+ slice = Slice.maxOpen(normalizeSiblings(slice.content, $context), true);
149
+ if (slice.openStart || slice.openEnd) {
150
+ let openStart = 0;
151
+ let openEnd = 0;
152
+ for (let node = slice.content.firstChild; openStart < slice.openStart && node && !node.type.spec.isolating; openStart++, node = node.firstChild) {
153
+ // counting
154
+ }
155
+ for (let node = slice.content.lastChild; openEnd < slice.openEnd && node && !node.type.spec.isolating; openEnd++, node = node.lastChild) {
156
+ // counting
157
+ }
158
+ slice = closeSlice(slice, openStart, openEnd);
159
+ }
160
+ }
161
+ const result = slice;
162
+ let transformed = result;
163
+ view.someProp('transformPasted', (f) => {
164
+ transformed = f(transformed, view.asEditorView, asText);
165
+ });
166
+ return transformed;
167
+ }
168
+ /** The textblock a line of pasted text becomes: the first one the context
169
+ * can hold, which in every schema anyone writes is the paragraph. */
170
+ function defaultTextblock($context) {
171
+ for (let d = $context.depth; d >= 0; d--) {
172
+ const type = $context.node(d).contentMatchAt($context.index(d)).defaultType;
173
+ if (type?.isTextblock)
174
+ return type;
175
+ }
176
+ return null;
177
+ }
178
+ // --- prosemirror-view's helpers (MIT, Marijn Haverbeke) ----------------------
179
+ // Takes a slice parsed with parseSlice, which means there hasn't been any
180
+ // content-expression checking done on the top nodes, tries to find a parent
181
+ // node in the current context that might fit the nodes, and if successful,
182
+ // rebuilds the slice so that it fits into that parent.
183
+ function normalizeSiblings(fragment, $context) {
184
+ if (fragment.childCount < 2)
185
+ return fragment;
186
+ for (let d = $context.depth; d >= 0; d--) {
187
+ const parent = $context.node(d);
188
+ let match = parent.contentMatchAt($context.index(d));
189
+ let lastWrap = [];
190
+ let result = [];
191
+ fragment.forEach((node) => {
192
+ if (!result)
193
+ return;
194
+ const wrap = match.findWrapping(node.type);
195
+ if (!wrap) {
196
+ result = null;
197
+ return;
198
+ }
199
+ const inLast = result.length &&
200
+ lastWrap.length &&
201
+ addToSibling(wrap, lastWrap, node, result[result.length - 1], 0);
202
+ if (inLast) {
203
+ result[result.length - 1] = inLast;
204
+ }
205
+ else {
206
+ if (result.length) {
207
+ result[result.length - 1] = closeRight(result[result.length - 1], lastWrap.length);
208
+ }
209
+ const wrapped = withWrappers(node, wrap);
210
+ result.push(wrapped);
211
+ match = match.matchType(wrapped.type);
212
+ lastWrap = wrap;
213
+ }
214
+ });
215
+ if (result)
216
+ return Fragment.from(result);
217
+ }
218
+ return fragment;
219
+ }
220
+ function withWrappers(node, wrap, from = 0) {
221
+ for (let i = wrap.length - 1; i >= from; i--) {
222
+ node = wrap[i].create(null, Fragment.from(node));
223
+ }
224
+ return node;
225
+ }
226
+ function addToSibling(wrap, lastWrap, node, sibling, depth) {
227
+ if (depth < wrap.length &&
228
+ depth < lastWrap.length &&
229
+ wrap[depth] === lastWrap[depth]) {
230
+ const inner = addToSibling(wrap, lastWrap, node, sibling.lastChild, depth + 1);
231
+ if (inner) {
232
+ return sibling.copy(sibling.content.replaceChild(sibling.childCount - 1, inner));
233
+ }
234
+ const match = sibling.contentMatchAt(sibling.childCount);
235
+ if (match.matchType(depth === wrap.length - 1 ? node.type : wrap[depth + 1])) {
236
+ return sibling.copy(sibling.content.append(Fragment.from(withWrappers(node, wrap, depth + 1))));
237
+ }
238
+ }
239
+ return undefined;
240
+ }
241
+ function closeRight(node, depth) {
242
+ if (depth === 0)
243
+ return node;
244
+ const fragment = node.content.replaceChild(node.childCount - 1, closeRight(node.lastChild, depth - 1));
245
+ const fill = node
246
+ .contentMatchAt(node.childCount)
247
+ .fillBefore(Fragment.empty, true);
248
+ return node.copy(fragment.append(fill));
249
+ }
250
+ function closeRange(fragment, side, from, to, depth, openEnd) {
251
+ const node = side < 0 ? fragment.firstChild : fragment.lastChild;
252
+ let inner = node.content;
253
+ if (fragment.childCount > 1)
254
+ openEnd = 0;
255
+ if (depth < to - 1)
256
+ inner = closeRange(inner, side, from, to, depth + 1, openEnd);
257
+ if (depth >= from) {
258
+ inner =
259
+ side < 0
260
+ ? node
261
+ .contentMatchAt(0)
262
+ .fillBefore(inner, openEnd <= depth)
263
+ .append(inner)
264
+ : inner.append(node
265
+ .contentMatchAt(node.childCount)
266
+ .fillBefore(Fragment.empty, true));
267
+ }
268
+ return fragment.replaceChild(side < 0 ? 0 : fragment.childCount - 1, node.copy(inner));
269
+ }
270
+ function closeSlice(slice, openStart, openEnd) {
271
+ if (openStart < slice.openStart) {
272
+ slice = new Slice(closeRange(slice.content, -1, openStart, slice.openStart, 0, slice.openEnd), openStart, slice.openEnd);
273
+ }
274
+ if (openEnd < slice.openEnd) {
275
+ slice = new Slice(closeRange(slice.content, 1, openEnd, slice.openEnd, 0, 0), slice.openStart, openEnd);
276
+ }
277
+ return slice;
278
+ }
279
+ function addContext(slice, context) {
280
+ if (!slice.size)
281
+ return slice;
282
+ const schema = slice.content.firstChild.type.schema;
283
+ let array;
284
+ try {
285
+ array = JSON.parse(context);
286
+ }
287
+ catch {
288
+ return slice;
289
+ }
290
+ let { content, openStart, openEnd } = slice;
291
+ for (let i = array.length - 2; i >= 0; i -= 2) {
292
+ const type = schema.nodes[array[i]];
293
+ if (!type || type.hasRequiredAttrs())
294
+ break;
295
+ try {
296
+ type.checkAttrs(array[i + 1]);
297
+ }
298
+ catch {
299
+ break;
300
+ }
301
+ content = Fragment.from(type.create(array[i + 1], content));
302
+ openStart++;
303
+ openEnd++;
304
+ }
305
+ return new Slice(content, openStart, openEnd);
306
+ }
307
+ //# sourceMappingURL=clipboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard.js","sourceRoot":"","sources":["../../src/rich-text-editor/clipboard.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ import type { Decoration, EditorView } from 'prosemirror-view';
2
+ /** A collaborator's caret, as `remoteCaret` describes it. */
3
+ export interface RemoteCaret {
4
+ /** The bar's and the flag's colour — the awareness state's `user.color`. */
5
+ readonly color: string;
6
+ /** Whose caret it is — carried along; the caret is drawn without it. */
7
+ readonly name: string;
8
+ }
9
+ /**
10
+ * y-prosemirror's `cursorBuilder`, for this editor:
11
+ *
12
+ * ```ts
13
+ * yCursorPlugin(awareness, { cursorBuilder: remoteCaret })
14
+ * ```
15
+ *
16
+ * `user` is the awareness state's `user` field, `{ name, color }`, with the
17
+ * colour a `#rrggbb` (y-prosemirror's own requirement). Typed as the
18
+ * `HTMLElement` y-prosemirror asks a builder for; what it returns is a
19
+ * description only this editor's view reads.
20
+ */
21
+ export declare function remoteCaret(user?: {
22
+ name?: unknown;
23
+ color?: unknown;
24
+ } | null): HTMLElement;
25
+ /**
26
+ * The caret a widget decoration stands for, when its `toDOM` is
27
+ * `remoteCaret`'s — or null for any other widget, which has nothing here to
28
+ * draw it with. A `toDOM` that reaches for `document` throws under this view:
29
+ * that is a widget written for a browser, skipped like the rest.
30
+ */
31
+ export declare function caretOf(deco: Decoration, view: EditorView): RemoteCaret | null;
32
+ //# sourceMappingURL=collab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collab.d.ts","sourceRoot":"","sources":["../../src/rich-text-editor/collab.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAK/D,6DAA6D;AAC7D,MAAM,WAAW,WAAW;IAC1B,4EAA4E;IAC5E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,wEAAwE;IACxE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,GAChD,WAAW,CAOb;AAcD;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,UAAU,EAChB,IAAI,EAAE,UAAU,GACf,WAAW,GAAG,IAAI,CAgBpB"}
@@ -0,0 +1,55 @@
1
+ // a registered symbol, so two copies of this package in one app agree
2
+ const CARET = Symbol.for('@react-x11/components/rich-text-editor:remote-caret');
3
+ /**
4
+ * y-prosemirror's `cursorBuilder`, for this editor:
5
+ *
6
+ * ```ts
7
+ * yCursorPlugin(awareness, { cursorBuilder: remoteCaret })
8
+ * ```
9
+ *
10
+ * `user` is the awareness state's `user` field, `{ name, color }`, with the
11
+ * colour a `#rrggbb` (y-prosemirror's own requirement). Typed as the
12
+ * `HTMLElement` y-prosemirror asks a builder for; what it returns is a
13
+ * description only this editor's view reads.
14
+ */
15
+ export function remoteCaret(user) {
16
+ const caret = {
17
+ [CARET]: true,
18
+ color: typeof user?.color === 'string' ? user.color : '#ffa500',
19
+ name: typeof user?.name === 'string' ? user.name : '',
20
+ };
21
+ return caret;
22
+ }
23
+ function isRemoteCaret(value) {
24
+ return (typeof value === 'object' &&
25
+ value !== null &&
26
+ value[CARET] === true);
27
+ }
28
+ /** What a widget's `toDOM` made, by the widget's type — which a mapped
29
+ * decoration keeps, so a caret that only moved is not asked again. */
30
+ const made = new WeakMap();
31
+ /**
32
+ * The caret a widget decoration stands for, when its `toDOM` is
33
+ * `remoteCaret`'s — or null for any other widget, which has nothing here to
34
+ * draw it with. A `toDOM` that reaches for `document` throws under this view:
35
+ * that is a widget written for a browser, skipped like the rest.
36
+ */
37
+ export function caretOf(deco, view) {
38
+ const type = deco.type;
39
+ if (!type || typeof type.toDOM !== 'function')
40
+ return null;
41
+ const known = made.get(type);
42
+ if (known !== undefined)
43
+ return known;
44
+ let caret = null;
45
+ try {
46
+ const out = type.toDOM(view, () => deco.from);
47
+ caret = isRemoteCaret(out) ? out : null;
48
+ }
49
+ catch {
50
+ caret = null;
51
+ }
52
+ made.set(type, caret);
53
+ return caret;
54
+ }
55
+ //# sourceMappingURL=collab.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"collab.js","sourceRoot":"","sources":["../../src/rich-text-editor/collab.ts"],"names":[],"mappings":"AAmBA,sEAAsE;AACtE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;AAUhF;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,WAAW,CACzB,IAAiD;IAEjD,MAAM,KAAK,GAAG;QACZ,CAAC,KAAK,CAAC,EAAE,IAAI;QACb,KAAK,EAAE,OAAO,IAAI,EAAE,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;QAC/D,IAAI,EAAE,OAAO,IAAI,EAAE,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;KACtD,CAAC;IACF,OAAO,KAA+B,CAAC;AACzC,CAAC;AAED,SAAS,aAAa,CAAC,KAAc;IACnC,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACb,KAAiC,CAAC,KAAK,CAAC,KAAK,IAAI,CACnD,CAAC;AACJ,CAAC;AAED;uEACuE;AACvE,MAAM,IAAI,GAAG,IAAI,OAAO,EAA8B,CAAC;AAEvD;;;;;GAKG;AACH,MAAM,UAAU,OAAO,CACrB,IAAgB,EAChB,IAAgB;IAEhB,MAAM,IAAI,GAAI,IAAkD,CAAC,IAAI,CAAC;IACtE,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI,KAAK,GAAuB,IAAI,CAAC;IACrC,IAAI,CAAC;QACH,MAAM,GAAG,GACP,IAAI,CAAC,KACN,CAAC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IACD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACtB,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,50 @@
1
+ import type { Attrs, MarkType, NodeType, Schema } from 'prosemirror-model';
2
+ import type { Command, EditorState } from 'prosemirror-state';
3
+ /** Whether `type` is on the selection — or, with a bare caret, on what the
4
+ * next character typed would get. */
5
+ export declare function isMarkActive(state: EditorState, type: MarkType): boolean;
6
+ /** The attributes of the `type` mark on the selection, if it has one. */
7
+ export declare function markAttrs(state: EditorState, type: MarkType): Attrs | null;
8
+ /** Whether the selection sits in a `type` node (with `attrs`, when given) —
9
+ * the textblock it is in, or any block around it. */
10
+ export declare function isBlockActive(state: EditorState, type: NodeType, attrs?: Attrs | null): boolean;
11
+ /** `type` with `attrs` — or back to a paragraph when the selection already
12
+ * is one: how a "Heading 2" button toggles. */
13
+ export declare function toggleBlockType(type: NodeType, attrs?: Attrs | null, fallback?: NodeType): Command;
14
+ /** Into a blockquote (or any wrapper), or out of the one the selection is in. */
15
+ export declare function toggleWrap(type: NodeType, attrs?: Attrs | null): Command;
16
+ /**
17
+ * A list of `listType`: out of it when the selection is already in one,
18
+ * across to it when it is in a list of another kind (a bullet list becomes
19
+ * numbered and keeps its items), into it otherwise.
20
+ */
21
+ export declare function toggleList(listType: NodeType, itemType: NodeType): Command;
22
+ /**
23
+ * Tasks: the selected list items become checkable, or plain again when all of
24
+ * them already are. Outside a list, a new list of unchecked tasks.
25
+ */
26
+ export declare function toggleTaskList(schema: Schema): Command;
27
+ /** Check or uncheck the task item at `pos` — what clicking its box does. */
28
+ export declare function setTaskChecked(pos: number, checked: boolean): Command;
29
+ /** Enter in a list item: a new item — an unchecked one, if this is a task. */
30
+ export declare function splitItem(itemType: NodeType): Command;
31
+ /** A rule where the selection is — and a paragraph after it, when nothing
32
+ * that takes a caret would follow. */
33
+ export declare function insertHorizontalRule(type: NodeType): Command;
34
+ /** Tab inside a code block: two spaces, or every selected line indented. */
35
+ export declare const indentCode: Command;
36
+ /** Shift+Tab inside a code block: up to two spaces off each selected line.
37
+ * Consumed even when there is nothing to take off — Shift+Tab in code
38
+ * should not leave the editor while the user is indenting. */
39
+ export declare const dedentCode: Command;
40
+ /** Tab / Shift+Tab in a table: the next or the previous cell, its text
41
+ * selected. Tab in the last cell adds a row. */
42
+ export declare function goToCell(dir: 1 | -1): Command;
43
+ /**
44
+ * A link on the selection. On a bare caret inside a link, that whole link
45
+ * gets the new target; on a bare caret anywhere else, `text` (or the href
46
+ * itself) is inserted as a link. `href: null` takes the link off — off the
47
+ * selection, or off the whole link the caret is in.
48
+ */
49
+ export declare function setLink(href: string | null, title?: string | null, text?: string): Command;
50
+ //# sourceMappingURL=commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/rich-text-editor/commands.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EACV,KAAK,EACL,QAAQ,EAER,QAAQ,EACR,MAAM,EACP,MAAM,mBAAmB,CAAC;AAO3B,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAI9D;sCACsC;AACtC,wBAAgB,YAAY,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,CAIxE;AAED,yEAAyE;AACzE,wBAAgB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,GAAG,KAAK,GAAG,IAAI,CAW1E;AASD;sDACsD;AACtD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,QAAQ,EACd,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GACnB,OAAO,CAQT;AAoBD;gDACgD;AAChD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EACd,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,EACpB,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAQT;AAED,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAKxE;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAY1E;AAgBD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAwCtD;AAED,4EAA4E;AAC5E,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CASrE;AAED,8EAA8E;AAC9E,wBAAgB,SAAS,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAcrD;AAED;uCACuC;AACvC,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,QAAQ,GAAG,OAAO,CAa5D;AA4BD,4EAA4E;AAC5E,eAAO,MAAM,UAAU,EAAE,OAYxB,CAAC;AAEF;;+DAE+D;AAC/D,eAAO,MAAM,UAAU,EAAE,OAiBxB,CAAC;AAIF;iDACiD;AACjD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAmD7C;AAyCD;;;;;GAKG;AACH,wBAAgB,OAAO,CACrB,IAAI,EAAE,MAAM,GAAG,IAAI,EACnB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,EACrB,IAAI,CAAC,EAAE,MAAM,GACZ,OAAO,CAwCT"}