edytor 1.0.0-rc.3 → 2.0.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 (667) hide show
  1. package/README.md +21 -39
  2. package/dist/block/block.svelte.d.ts +11 -84
  3. package/dist/block/block.svelte.js +30 -134
  4. package/dist/block/colors.d.ts +0 -9
  5. package/dist/block/colors.js +1 -18
  6. package/dist/block/contentRange.d.ts +5 -1
  7. package/dist/block/contentRange.js +15 -16
  8. package/dist/block/inlineBlock.svelte.d.ts +11 -9
  9. package/dist/block/inlineBlock.svelte.js +18 -21
  10. package/dist/clipboard/createClipboardFragment.js +22 -64
  11. package/dist/clipboard/fragmentData.js +17 -42
  12. package/dist/clipboard/htmlFlow.js +7 -7
  13. package/dist/clipboard/insertClipboardFragment.js +5 -4
  14. package/dist/clipboard/moveText.js +16 -8
  15. package/dist/clipboard/serializeClipboardFragment.d.ts +2 -0
  16. package/dist/clipboard/serializeClipboardFragment.js +32 -28
  17. package/dist/cloudflare/DocumentRoom.d.ts +4 -17
  18. package/dist/cloudflare/DocumentRoom.js +3 -5
  19. package/dist/cloudflare/move.d.ts +1 -18
  20. package/dist/cloudflare/move.js +2 -48
  21. package/dist/cloudflare/room/admission.d.ts +1 -60
  22. package/dist/cloudflare/room/admission.js +25 -29
  23. package/dist/cloudflare/room/comments.d.ts +1 -3
  24. package/dist/cloudflare/room/comments.js +6 -6
  25. package/dist/cloudflare/room/context.d.ts +25 -82
  26. package/dist/cloudflare/room/context.js +8 -8
  27. package/dist/cloudflare/room/forged.d.ts +1 -1
  28. package/dist/cloudflare/room/forged.js +2 -12
  29. package/dist/cloudflare/room/frames.d.ts +1 -1
  30. package/dist/cloudflare/room/frames.js +1 -1
  31. package/dist/cloudflare/room/history.d.ts +1 -25
  32. package/dist/cloudflare/room/history.js +39 -54
  33. package/dist/cloudflare/room/moves.d.ts +1 -13
  34. package/dist/cloudflare/room/moves.js +33 -57
  35. package/dist/cloudflare/room/presence.d.ts +1 -11
  36. package/dist/cloudflare/room/presence.js +4 -4
  37. package/dist/cloudflare/room/purge.d.ts +1 -2
  38. package/dist/cloudflare/room/purge.js +2 -2
  39. package/dist/cloudflare/room/replicas.d.ts +1 -7
  40. package/dist/cloudflare/room/replicas.js +2 -2
  41. package/dist/cloudflare/room/storage.d.ts +3 -32
  42. package/dist/cloudflare/room/storage.js +33 -108
  43. package/dist/cloudflare/room/updates.d.ts +4 -4
  44. package/dist/cloudflare/room/updates.js +17 -24
  45. package/dist/cloudflare/room/validation.d.ts +1 -5
  46. package/dist/cloudflare/room/validation.js +16 -37
  47. package/dist/collaboration/RemoteSelections.svelte +13 -17
  48. package/dist/collaboration/awarenessSelection.d.ts +22 -1
  49. package/dist/collaboration/awarenessSelection.js +42 -0
  50. package/dist/collaboration/comments/client.d.ts +2 -2
  51. package/dist/collaboration/comments/client.js +1 -1
  52. package/dist/collaboration/history/index.d.ts +5 -5
  53. package/dist/collaboration/history/index.js +5 -5
  54. package/dist/collaboration/history/panel.svelte.d.ts +91 -0
  55. package/dist/collaboration/history/panel.svelte.js +223 -0
  56. package/dist/collaboration/providers.d.ts +12 -3
  57. package/dist/collaboration/providers.js +5 -4
  58. package/dist/components/Block.svelte +42 -56
  59. package/dist/components/Block.svelte.d.ts +7 -5
  60. package/dist/components/Content.svelte +1 -5
  61. package/dist/components/Edytor.svelte +82 -99
  62. package/dist/components/Edytor.svelte.d.ts +16 -13
  63. package/dist/components/InlineBlock.svelte +1 -1
  64. package/dist/components/Ranges.svelte +96 -0
  65. package/dist/components/Ranges.svelte.d.ts +19 -0
  66. package/dist/components/Suggestion.svelte +3 -2
  67. package/dist/components/Text.svelte +2 -5
  68. package/dist/components/Text.svelte.d.ts +1 -1
  69. package/dist/crdt/admission.d.ts +2 -9
  70. package/dist/crdt/admission.js +3 -9
  71. package/dist/crdt/attribution/attribution.d.ts +11 -72
  72. package/dist/crdt/attribution/attribution.js +5 -52
  73. package/dist/crdt/attribution/block.d.ts +0 -78
  74. package/dist/crdt/attribution/block.js +1 -144
  75. package/dist/crdt/data.d.ts +18 -13
  76. package/dist/crdt/data.js +49 -71
  77. package/dist/crdt/doc/anchors.js +4 -4
  78. package/dist/crdt/doc/content.d.ts +5 -1
  79. package/dist/crdt/doc/content.js +3 -1
  80. package/dist/crdt/doc/delete.d.ts +1 -0
  81. package/dist/crdt/doc/funnel.d.ts +0 -23
  82. package/dist/crdt/doc/funnel.js +34 -85
  83. package/dist/crdt/doc/gate.d.ts +8 -9
  84. package/dist/crdt/doc/gate.js +7 -17
  85. package/dist/crdt/doc/history.d.ts +87 -14
  86. package/dist/crdt/doc/history.js +334 -149
  87. package/dist/crdt/doc/layout.d.ts +0 -1
  88. package/dist/crdt/doc/layout.js +2 -3
  89. package/dist/crdt/doc/meta.d.ts +4 -4
  90. package/dist/crdt/doc/meta.js +10 -21
  91. package/dist/crdt/doc/moves.d.ts +4 -4
  92. package/dist/crdt/doc/moves.js +5 -5
  93. package/dist/crdt/doc/plan.d.ts +2 -0
  94. package/dist/crdt/doc/plan.js +2 -0
  95. package/dist/crdt/doc/reads.d.ts +8 -5
  96. package/dist/crdt/doc/reads.js +49 -50
  97. package/dist/crdt/doc/seed.d.ts +15 -6
  98. package/dist/crdt/doc/seed.js +27 -26
  99. package/dist/crdt/doc/split-merge.d.ts +1 -3
  100. package/dist/crdt/doc/split-merge.js +4 -5
  101. package/dist/crdt/doc/steps.d.ts +3 -7
  102. package/dist/crdt/doc/steps.js +20 -9
  103. package/dist/crdt/doc/types.d.ts +0 -10
  104. package/dist/crdt/document.d.ts +32 -115
  105. package/dist/crdt/document.js +216 -302
  106. package/dist/crdt/edytor-doc.d.ts +689 -90
  107. package/dist/crdt/edytor-doc.js +74 -149
  108. package/dist/crdt/engine-api.d.ts +15 -47
  109. package/dist/crdt/engine.d.ts +7 -17
  110. package/dist/crdt/engine.js +9 -19
  111. package/dist/crdt/flow.d.ts +9 -37
  112. package/dist/crdt/flow.js +260 -238
  113. package/dist/crdt/index.d.ts +32 -85
  114. package/dist/crdt/index.js +21 -47
  115. package/dist/crdt/operations.d.ts +24 -33
  116. package/dist/crdt/operations.js +8 -17
  117. package/dist/crdt/placement/display.d.ts +0 -2
  118. package/dist/crdt/placement/display.js +0 -15
  119. package/dist/crdt/placement/model.d.ts +160 -12
  120. package/dist/crdt/placement/model.js +413 -414
  121. package/dist/crdt/placement/rank.d.ts +1 -5
  122. package/dist/crdt/placement/rank.js +28 -38
  123. package/dist/crdt/props.d.ts +32 -0
  124. package/dist/crdt/props.js +172 -0
  125. package/dist/crdt/protocol.d.ts +4 -5
  126. package/dist/crdt/protocol.js +3 -4
  127. package/dist/crdt/protocols/awareness.d.ts +3 -7
  128. package/dist/crdt/protocols/awareness.js +17 -33
  129. package/dist/crdt/protocols/envelope.d.ts +9 -29
  130. package/dist/crdt/protocols/envelope.js +8 -25
  131. package/dist/crdt/protocols/sync.d.ts +15 -30
  132. package/dist/crdt/protocols/sync.js +27 -89
  133. package/dist/crdt/providers/bound.d.ts +3 -1
  134. package/dist/crdt/providers/bound.js +3 -1
  135. package/dist/crdt/providers/container.d.ts +11 -17
  136. package/dist/crdt/providers/container.js +39 -27
  137. package/dist/crdt/providers/index.d.ts +34 -6
  138. package/dist/crdt/providers/index.js +106 -111
  139. package/dist/crdt/providers/indexeddb.d.ts +2 -12
  140. package/dist/crdt/providers/indexeddb.js +29 -90
  141. package/dist/crdt/providers/room.d.ts +58 -2
  142. package/dist/crdt/providers/room.js +38 -21
  143. package/dist/crdt/providers/websocket.d.ts +1 -1
  144. package/dist/crdt/providers/websocket.js +3 -4
  145. package/dist/crdt/purge.d.ts +2 -2
  146. package/dist/crdt/purge.js +69 -6
  147. package/dist/crdt/rangeDelete.d.ts +4 -42
  148. package/dist/crdt/rangeDelete.js +7 -6
  149. package/dist/crdt/restore.d.ts +21 -1
  150. package/dist/crdt/restore.js +54 -59
  151. package/dist/crdt/schema.d.ts +2 -2
  152. package/dist/crdt/schema.js +4 -5
  153. package/dist/crdt/semantics.d.ts +10 -15
  154. package/dist/crdt/semantics.js +22 -21
  155. package/dist/crdt/storage.d.ts +7 -13
  156. package/dist/crdt/storage.js +10 -24
  157. package/dist/crdt/structs.d.ts +42 -47
  158. package/dist/crdt/structs.js +76 -67
  159. package/dist/crdt/tables.d.ts +9 -0
  160. package/dist/crdt/tables.js +20 -0
  161. package/dist/crdt/text/delete-index.d.ts +0 -13
  162. package/dist/crdt/text/delete-index.js +7 -14
  163. package/dist/crdt/text/deletes.d.ts +9 -22
  164. package/dist/crdt/text/deletes.js +11 -74
  165. package/dist/crdt/text/index/cache.js +3 -3
  166. package/dist/crdt/text/index/fold.d.ts +1 -2
  167. package/dist/crdt/text/index/fold.js +15 -10
  168. package/dist/crdt/text/index/layout.d.ts +0 -10
  169. package/dist/crdt/text/index/layout.js +6 -20
  170. package/dist/crdt/text/index/records.js +2 -1
  171. package/dist/crdt/text/index/report.js +5 -6
  172. package/dist/crdt/text/index/shared.d.ts +11 -4
  173. package/dist/crdt/text/index/shared.js +8 -7
  174. package/dist/crdt/text/index/state.d.ts +3 -33
  175. package/dist/crdt/text/index/state.js +2 -4
  176. package/dist/crdt/text/model.d.ts +82 -2
  177. package/dist/crdt/text/model.js +344 -354
  178. package/dist/crdt/text/rows.d.ts +0 -2
  179. package/dist/crdt/text/rows.js +0 -11
  180. package/dist/crdt/text/runs.d.ts +6 -3
  181. package/dist/crdt/text/runs.js +132 -137
  182. package/dist/crdt/text/streams.d.ts +1 -1
  183. package/dist/crdt/text/streams.js +1 -1
  184. package/dist/crdt/vendor/yjs/API-NOTES.md +25 -8
  185. package/dist/crdt/vendor/yjs/UPSTREAM.md +288 -8
  186. package/dist/crdt/vendor/yjs/dts/global.d.ts +5 -26
  187. package/dist/crdt/vendor/yjs/dts/index.d.ts +10 -15
  188. package/dist/crdt/vendor/yjs/dts/structs/AbstractStruct.d.ts +2 -2
  189. package/dist/crdt/vendor/yjs/dts/structs/Item.d.ts +14 -219
  190. package/dist/crdt/vendor/yjs/dts/structs/Skip.d.ts +2 -2
  191. package/dist/crdt/vendor/yjs/dts/utils/BlockSet.d.ts +2 -2
  192. package/dist/crdt/vendor/yjs/dts/utils/Doc.d.ts +12 -123
  193. package/dist/crdt/vendor/yjs/dts/utils/ID.d.ts +1 -1
  194. package/dist/crdt/vendor/yjs/dts/utils/RangeCursor.d.ts +37 -58
  195. package/dist/crdt/vendor/yjs/dts/utils/Transaction.d.ts +3 -78
  196. package/dist/crdt/vendor/yjs/dts/utils/UpdateDecoder.d.ts +2 -81
  197. package/dist/crdt/vendor/yjs/dts/utils/UpdateEncoder.d.ts +2 -74
  198. package/dist/crdt/vendor/yjs/dts/utils/encoding-helpers.d.ts +4 -4
  199. package/dist/crdt/vendor/yjs/dts/utils/encoding.d.ts +6 -18
  200. package/dist/crdt/vendor/yjs/dts/utils/ids.d.ts +12 -237
  201. package/dist/crdt/vendor/yjs/dts/utils/positions.d.ts +5 -0
  202. package/dist/crdt/vendor/yjs/dts/utils/redo.d.ts +3 -0
  203. package/dist/crdt/vendor/yjs/dts/utils/transaction-helpers.d.ts +1 -3
  204. package/dist/crdt/vendor/yjs/dts/utils/updates.d.ts +6 -23
  205. package/dist/crdt/vendor/yjs/dts/ynode.d.ts +73 -498
  206. package/dist/crdt/vendor/yjs/global.d.ts +5 -26
  207. package/dist/crdt/vendor/yjs/src/index.js +11 -25
  208. package/dist/crdt/vendor/yjs/src/structs/AbstractStruct.js +1 -1
  209. package/dist/crdt/vendor/yjs/src/structs/GC.js +1 -1
  210. package/dist/crdt/vendor/yjs/src/structs/Item.js +10 -372
  211. package/dist/crdt/vendor/yjs/src/structs/Skip.js +1 -1
  212. package/dist/crdt/vendor/yjs/src/utils/BlockSet.js +2 -2
  213. package/dist/crdt/vendor/yjs/src/utils/Doc.js +14 -170
  214. package/dist/crdt/vendor/yjs/src/utils/ID.js +1 -1
  215. package/dist/crdt/vendor/yjs/src/utils/RangeCursor.js +61 -128
  216. package/dist/crdt/vendor/yjs/src/utils/StructStore.js +0 -22
  217. package/dist/crdt/vendor/yjs/src/utils/Transaction.js +17 -282
  218. package/dist/crdt/vendor/yjs/src/utils/UpdateDecoder.js +3 -130
  219. package/dist/crdt/vendor/yjs/src/utils/UpdateEncoder.js +2 -132
  220. package/dist/crdt/vendor/yjs/src/utils/encoding-helpers.js +4 -4
  221. package/dist/crdt/vendor/yjs/src/utils/encoding.js +49 -146
  222. package/dist/crdt/vendor/yjs/src/utils/ids.js +23 -900
  223. package/dist/crdt/vendor/yjs/src/utils/positions.js +115 -0
  224. package/dist/crdt/vendor/yjs/src/utils/redo.js +143 -0
  225. package/dist/crdt/vendor/yjs/src/utils/transaction-helpers.js +10 -127
  226. package/dist/crdt/vendor/yjs/src/utils/updates.js +7 -50
  227. package/dist/crdt/vendor/yjs/src/ynode.js +261 -2226
  228. package/dist/dnd/autoScroll.js +1 -2
  229. package/dist/{plugins/blockHandles → dnd}/dropIndicator.d.ts +2 -2
  230. package/dist/{plugins/blockHandles → dnd}/dropIndicator.js +52 -60
  231. package/dist/{plugins/blockHandles → dnd}/geometry.d.ts +4 -3
  232. package/dist/{plugins/blockHandles → dnd}/geometry.js +6 -6
  233. package/dist/dnd/placement.d.ts +200 -0
  234. package/dist/dnd/placement.js +426 -0
  235. package/dist/dnd/pragmatic.d.ts +4 -22
  236. package/dist/dnd/pragmatic.js +7 -26
  237. package/dist/dnd/track.d.ts +14 -0
  238. package/dist/dnd/track.js +55 -0
  239. package/dist/dnd/vendor/pragmatic/UPSTREAM.md +103 -0
  240. package/dist/dnd/vendor/pragmatic/bind-event-listener/LICENSE +21 -0
  241. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind-all.js +46 -0
  242. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind.js +7 -0
  243. package/dist/dnd/vendor/pragmatic/bind-event-listener/index.js +2 -0
  244. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/LICENSE.md +11 -0
  245. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter-native-data-key.js +6 -0
  246. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.d.ts +57 -0
  247. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.js +306 -0
  248. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.d.ts +8 -0
  249. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.js +10 -0
  250. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.d.ts +4 -0
  251. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.js +6 -0
  252. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/types.d.ts +1 -0
  253. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/get-element-from-point-without-honey-pot.js +12 -0
  254. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/honey-pot-data-attribute.js +3 -0
  255. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/is-honey-pot-element.js +4 -0
  256. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/make-honey-pot-fix.js +333 -0
  257. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/internal-types.d.ts +350 -0
  258. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/dispatch-consumer-event.js +128 -0
  259. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/lifecycle-manager.js +340 -0
  260. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/usage-ledger.js +32 -0
  261. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-adapter.js +59 -0
  262. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-drop-target.js +288 -0
  263. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-monitor.js +85 -0
  264. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/combine.js +6 -0
  265. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.d.ts +36 -0
  266. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js +153 -0
  267. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/types.d.ts +16 -0
  268. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/once.js +13 -0
  269. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/add-attribute.js +7 -0
  270. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/android.js +10 -0
  271. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/count-events-for-safari.js +104 -0
  272. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-from-another-window.js +16 -0
  273. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window-in-safari.js +12 -0
  274. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window.js +55 -0
  275. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/detect-broken-drag.js +48 -0
  276. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/get-input.js +14 -0
  277. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-firefox.js +13 -0
  278. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-safari.js +19 -0
  279. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/max-z-index.js +3 -0
  280. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/text-media-type.js +6 -0
  281. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/url-media-type.js +6 -0
  282. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/popover-reset-styles.js +40 -0
  283. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/supports-popover.js +16 -0
  284. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/LICENSE.md +11 -0
  285. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.d.ts +4 -0
  286. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.js +8 -0
  287. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/internal-types.d.ts +50 -0
  288. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/data-attributes.js +9 -0
  289. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/get-scroll-by.js +117 -0
  290. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/make-api.js +90 -0
  291. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/try-scroll.js +183 -0
  292. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/axis.js +22 -0
  293. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/can-scroll-on-edge.js +17 -0
  294. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/configuration.js +49 -0
  295. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/edges.js +9 -0
  296. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/engagement-history.js +43 -0
  297. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-over-element-hitbox.js +50 -0
  298. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-percentage-in-range.js +19 -0
  299. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-scroll-change.js +106 -0
  300. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-axis-allowed.js +3 -0
  301. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-within.js +11 -0
  302. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/scheduler.js +104 -0
  303. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/side.js +6 -0
  304. package/dist/dnd/vendor/pragmatic/raf-schd/LICENSE +21 -0
  305. package/dist/dnd/vendor/pragmatic/raf-schd/raf-schd.esm.js +34 -0
  306. package/dist/edytor.svelte.d.ts +46 -63
  307. package/dist/edytor.svelte.js +126 -181
  308. package/dist/events/beforeInputCommands.d.ts +6 -11
  309. package/dist/events/beforeInputCommands.js +189 -181
  310. package/dist/events/beforeInputDeleteCommands.d.ts +20 -1
  311. package/dist/events/beforeInputDeleteCommands.js +153 -204
  312. package/dist/events/domTextOffset.d.ts +9 -9
  313. package/dist/events/domTextOffset.js +20 -48
  314. package/dist/events/events.utils.d.ts +0 -2
  315. package/dist/events/events.utils.js +0 -4
  316. package/dist/events/nativeInteractiveControl.d.ts +13 -13
  317. package/dist/events/nativeInteractiveControl.js +28 -56
  318. package/dist/events/onBeforeInput.d.ts +6 -1
  319. package/dist/events/onBeforeInput.js +207 -331
  320. package/dist/events/onCopy.js +1 -5
  321. package/dist/events/onDrop.d.ts +7 -1
  322. package/dist/events/onDrop.js +64 -78
  323. package/dist/events/onFocus.d.ts +9 -4
  324. package/dist/events/onFocus.js +45 -67
  325. package/dist/events/onInput.d.ts +8 -4
  326. package/dist/events/onInput.js +34 -147
  327. package/dist/events/onKeyDown.js +55 -122
  328. package/dist/events/onPaste.d.ts +14 -1
  329. package/dist/events/onPaste.js +51 -76
  330. package/dist/index.d.ts +11 -15
  331. package/dist/index.js +3 -3
  332. package/dist/kinds.d.ts +4 -6
  333. package/dist/kinds.js +28 -27
  334. package/dist/labels.d.ts +83 -320
  335. package/dist/labels.js +181 -408
  336. package/dist/plugins/Chrome.svelte +29 -0
  337. package/dist/plugins/Chrome.svelte.d.ts +32 -0
  338. package/dist/plugins/Control.svelte +23 -0
  339. package/dist/plugins/Control.svelte.d.ts +30 -0
  340. package/dist/plugins/anchored.svelte.d.ts +47 -0
  341. package/dist/plugins/anchored.svelte.js +73 -0
  342. package/dist/plugins/arrowMove/arrowMove.d.ts +2 -1
  343. package/dist/plugins/arrowMove/arrowMove.js +9 -5
  344. package/dist/plugins/bands.svelte.d.ts +57 -0
  345. package/dist/plugins/bands.svelte.js +95 -0
  346. package/dist/plugins/blockHandles/BlockHandle.svelte +14 -154
  347. package/dist/plugins/blockHandles/BlockHandle.svelte.d.ts +2 -2
  348. package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +21 -196
  349. package/dist/plugins/blockHandles/BlockHandleController.svelte.js +158 -573
  350. package/dist/plugins/blockHandles/BlockHandles.svelte +15 -23
  351. package/dist/plugins/blockHandles/BlockHandles.svelte.d.ts +2 -2
  352. package/dist/plugins/blockHandles/blockHandlesPlugin.d.ts +25 -39
  353. package/dist/plugins/blockHandles/blockHandlesPlugin.js +130 -185
  354. package/dist/plugins/blockHandles/dragPreview.d.ts +8 -6
  355. package/dist/plugins/blockHandles/dragPreview.js +18 -16
  356. package/dist/plugins/blockMenu/BlockMenuController.svelte.d.ts +28 -38
  357. package/dist/plugins/blockMenu/BlockMenuController.svelte.js +116 -183
  358. package/dist/plugins/blockMenu/blockMenuPlugin.d.ts +1 -3
  359. package/dist/plugins/blockMenu/blockMenuPlugin.js +12 -29
  360. package/dist/plugins/brand.d.ts +8 -0
  361. package/dist/plugins/brand.js +8 -0
  362. package/dist/plugins/chrome.d.ts +45 -38
  363. package/dist/plugins/chrome.js +59 -36
  364. package/dist/plugins/code/CodeHeader.svelte +8 -38
  365. package/dist/plugins/code/CodePlugin.svelte +53 -56
  366. package/dist/plugins/code/CodePlugin.svelte.d.ts +0 -2
  367. package/dist/plugins/code/LanguageMenu.svelte +16 -125
  368. package/dist/plugins/code/LanguageMenu.svelte.d.ts +2 -1
  369. package/dist/plugins/code/code.css +5 -117
  370. package/dist/plugins/code/header.svelte.d.ts +2 -11
  371. package/dist/plugins/code/header.svelte.js +11 -38
  372. package/dist/plugins/code/languageMenu.svelte.d.ts +12 -32
  373. package/dist/plugins/code/languageMenu.svelte.js +30 -160
  374. package/dist/plugins/code/languages.d.ts +9 -22
  375. package/dist/plugins/code/languages.js +39 -128
  376. package/dist/plugins/columns/ColumnResize.svelte +16 -27
  377. package/dist/plugins/columns/ColumnResize.svelte.d.ts +1 -1
  378. package/dist/plugins/columns/ColumnsPlugin.svelte +46 -78
  379. package/dist/plugins/columns/ColumnsPlugin.svelte.d.ts +0 -12
  380. package/dist/plugins/columns/columns.css +7 -26
  381. package/dist/plugins/columns/gaps.d.ts +7 -5
  382. package/dist/plugins/columns/gaps.js +11 -6
  383. package/dist/plugins/columns/resize.svelte.d.ts +17 -54
  384. package/dist/plugins/columns/resize.svelte.js +80 -173
  385. package/dist/plugins/comments/CommentsController.svelte.d.ts +1 -4
  386. package/dist/plugins/comments/CommentsController.svelte.js +14 -25
  387. package/dist/plugins/comments/CommentsSidebar.svelte +82 -431
  388. package/dist/plugins/comments/CommentsSidebar.svelte.d.ts +4 -2
  389. package/dist/plugins/comments/commentsPlugin.d.ts +25 -9
  390. package/dist/plugins/comments/commentsPlugin.js +12 -10
  391. package/dist/plugins/equation/EquationEditor.svelte +16 -130
  392. package/dist/plugins/equation/EquationEditor.svelte.d.ts +1 -2
  393. package/dist/plugins/equation/EquationPlugin.svelte +109 -172
  394. package/dist/plugins/equation/EquationPlugin.svelte.d.ts +3 -2
  395. package/dist/plugins/equation/EquationView.svelte +20 -11
  396. package/dist/plugins/equation/equation.css +7 -0
  397. package/dist/plugins/equation/equation.svelte.d.ts +37 -24
  398. package/dist/plugins/equation/equation.svelte.js +20 -94
  399. package/dist/plugins/equation/katex.js +6 -9
  400. package/dist/plugins/fileDrop.d.ts +28 -0
  401. package/dist/plugins/fileDrop.js +116 -0
  402. package/dist/plugins/find/FindController.svelte.d.ts +8 -13
  403. package/dist/plugins/find/FindController.svelte.js +34 -55
  404. package/dist/plugins/find/findPlugin.d.ts +4 -8
  405. package/dist/plugins/find/findPlugin.js +29 -9
  406. package/dist/plugins/image/ImageChrome.svelte +6 -167
  407. package/dist/plugins/image/ImageChrome.svelte.d.ts +0 -2
  408. package/dist/plugins/image/ImagePlugin.svelte +71 -151
  409. package/dist/plugins/image/ImagePlugin.svelte.d.ts +12 -41
  410. package/dist/plugins/image/ImageToolbarHost.svelte +37 -0
  411. package/dist/plugins/image/ImageToolbarHost.svelte.d.ts +9 -0
  412. package/dist/plugins/image/controls.svelte.d.ts +6 -36
  413. package/dist/plugins/image/controls.svelte.js +43 -212
  414. package/dist/plugins/image/image.css +17 -0
  415. package/dist/plugins/image/image.d.ts +0 -5
  416. package/dist/plugins/image/image.js +0 -3
  417. package/dist/plugins/image/toolbar.svelte.d.ts +69 -0
  418. package/dist/plugins/image/toolbar.svelte.js +145 -0
  419. package/dist/plugins/index.d.ts +30 -26
  420. package/dist/plugins/index.js +28 -22
  421. package/dist/plugins/list.svelte.d.ts +128 -0
  422. package/dist/plugins/list.svelte.js +217 -0
  423. package/dist/plugins/markdownShortcuts.d.ts +1 -1
  424. package/dist/plugins/markdownShortcuts.js +10 -9
  425. package/dist/plugins/marquee/MarqueeBox.svelte +3 -20
  426. package/dist/plugins/marquee/MarqueeBox.svelte.d.ts +1 -1
  427. package/dist/plugins/marquee/MarqueeController.svelte.d.ts +0 -2
  428. package/dist/plugins/marquee/MarqueeController.svelte.js +20 -23
  429. package/dist/plugins/marquee/marquee.js +4 -21
  430. package/dist/plugins/marquee/marqueePlugin.d.ts +4 -3
  431. package/dist/plugins/marquee/marqueePlugin.js +16 -15
  432. package/dist/plugins/media/AudioPlugin.svelte +13 -88
  433. package/dist/plugins/media/AudioPlugin.svelte.d.ts +11 -4
  434. package/dist/plugins/media/BookmarkPlugin.svelte +113 -120
  435. package/dist/plugins/media/BookmarkPlugin.svelte.d.ts +10 -15
  436. package/dist/plugins/media/EmbedPlugin.svelte +82 -86
  437. package/dist/plugins/media/EmbedPlugin.svelte.d.ts +11 -17
  438. package/dist/plugins/media/EmptySlot.svelte +44 -0
  439. package/dist/plugins/media/EmptySlot.svelte.d.ts +25 -0
  440. package/dist/plugins/media/FilePlugin.svelte +45 -113
  441. package/dist/plugins/media/FilePlugin.svelte.d.ts +21 -4
  442. package/dist/plugins/media/MediaEmpty.svelte +51 -90
  443. package/dist/plugins/media/MediaEmpty.svelte.d.ts +26 -10
  444. package/dist/plugins/media/SourceBlock.svelte +200 -0
  445. package/dist/plugins/media/SourceBlock.svelte.d.ts +34 -0
  446. package/dist/plugins/media/UploadPreview.svelte +32 -0
  447. package/dist/plugins/media/UploadPreview.svelte.d.ts +11 -0
  448. package/dist/plugins/media/VideoPlugin.svelte +14 -97
  449. package/dist/plugins/media/VideoPlugin.svelte.d.ts +12 -5
  450. package/dist/plugins/media/empty.svelte.d.ts +47 -46
  451. package/dist/plugins/media/empty.svelte.js +67 -60
  452. package/dist/plugins/media/media.d.ts +97 -44
  453. package/dist/plugins/media/media.js +77 -99
  454. package/dist/plugins/media/upload.css +23 -0
  455. package/dist/plugins/media/urlPaste.svelte.d.ts +6 -37
  456. package/dist/plugins/media/urlPaste.svelte.js +32 -102
  457. package/dist/plugins/mention/MentionPlugin.svelte +84 -126
  458. package/dist/plugins/mention/MentionPlugin.svelte.d.ts +17 -27
  459. package/dist/plugins/mention/mention.css +6 -0
  460. package/dist/plugins/page/PageLink.svelte +54 -38
  461. package/dist/plugins/page/PagePlugin.svelte +20 -18
  462. package/dist/plugins/page/PagePlugin.svelte.d.ts +2 -4
  463. package/dist/plugins/page/page.d.ts +35 -9
  464. package/dist/plugins/page/page.js +3 -4
  465. package/dist/plugins/pageLink/PageLinkPlugin.svelte +154 -109
  466. package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +19 -26
  467. package/dist/plugins/pageLink/pageLink.css +6 -0
  468. package/dist/plugins/planned.d.ts +10 -0
  469. package/dist/plugins/planned.js +12 -0
  470. package/dist/plugins/richtext/CalloutIcon.svelte +13 -26
  471. package/dist/plugins/richtext/CalloutIconPicker.svelte +26 -0
  472. package/dist/plugins/richtext/CalloutIconPicker.svelte.d.ts +9 -0
  473. package/dist/plugins/richtext/EmptyBody.svelte +13 -20
  474. package/dist/plugins/richtext/RichTextControl.svelte +39 -0
  475. package/dist/plugins/richtext/RichTextControl.svelte.d.ts +8 -0
  476. package/dist/plugins/richtext/RichTextPlugin.svelte +174 -183
  477. package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +34 -34
  478. package/dist/plugins/richtext/TodoCheckbox.svelte +10 -21
  479. package/dist/plugins/richtext/TodoCheckbox.svelte.d.ts +0 -2
  480. package/dist/plugins/richtext/body.js +2 -2
  481. package/dist/plugins/richtext/calloutIcons.svelte.d.ts +50 -55
  482. package/dist/plugins/richtext/calloutIcons.svelte.js +86 -174
  483. package/dist/plugins/richtext/callouts.d.ts +15 -0
  484. package/dist/plugins/richtext/callouts.js +23 -0
  485. package/dist/plugins/richtext/controls.svelte.d.ts +110 -0
  486. package/dist/plugins/richtext/controls.svelte.js +126 -0
  487. package/dist/plugins/richtext/richTextOperations.js +37 -28
  488. package/dist/plugins/richtext/richtext.css +6 -0
  489. package/dist/plugins/slashMenu/SlashMenuController.svelte.d.ts +2 -14
  490. package/dist/plugins/slashMenu/SlashMenuController.svelte.js +34 -71
  491. package/dist/plugins/slashMenu/slashMenuPlugin.d.ts +9 -26
  492. package/dist/plugins/slashMenu/slashMenuPlugin.js +27 -68
  493. package/dist/plugins/suggestions/SuggestionBars.svelte +27 -84
  494. package/dist/plugins/suggestions/SuggestionBars.svelte.d.ts +9 -3
  495. package/dist/plugins/suggestions/suggestionsPlugin.d.ts +10 -18
  496. package/dist/plugins/suggestions/suggestionsPlugin.js +9 -24
  497. package/dist/plugins/table/TableChrome.svelte +40 -124
  498. package/dist/plugins/table/TablePlugin.svelte +106 -168
  499. package/dist/plugins/table/TablePlugin.svelte.d.ts +0 -4
  500. package/dist/plugins/table/chrome.svelte.d.ts +38 -141
  501. package/dist/plugins/table/chrome.svelte.js +340 -589
  502. package/dist/plugins/table/ops.d.ts +47 -0
  503. package/dist/plugins/table/ops.js +233 -0
  504. package/dist/plugins/table/table.css +16 -152
  505. package/dist/plugins/table/table.d.ts +15 -14
  506. package/dist/plugins/table/table.js +22 -16
  507. package/dist/plugins/toc/TableOfContents.svelte +32 -38
  508. package/dist/plugins/toc/TableOfContents.svelte.d.ts +1 -5
  509. package/dist/plugins/toc/TocPlugin.svelte +22 -22
  510. package/dist/plugins/toc/TocPlugin.svelte.d.ts +4 -6
  511. package/dist/plugins/toc/toc.d.ts +41 -10
  512. package/dist/plugins/toc/toc.js +2 -3
  513. package/dist/plugins/toolbar/ToolbarController.svelte.d.ts +4 -68
  514. package/dist/plugins/toolbar/ToolbarController.svelte.js +63 -89
  515. package/dist/plugins/toolbar/toolbarPlugin.d.ts +8 -18
  516. package/dist/plugins/toolbar/toolbarPlugin.js +28 -43
  517. package/dist/plugins/triggers/TriggerController.svelte.d.ts +4 -68
  518. package/dist/plugins/triggers/TriggerController.svelte.js +48 -129
  519. package/dist/plugins/triggers/place.d.ts +0 -9
  520. package/dist/plugins/triggers/place.js +1 -17
  521. package/dist/plugins/triggers/triggers.d.ts +31 -9
  522. package/dist/plugins/triggers/triggers.js +82 -62
  523. package/dist/plugins/uploads.svelte.d.ts +55 -24
  524. package/dist/plugins/uploads.svelte.js +123 -50
  525. package/dist/plugins.d.ts +187 -66
  526. package/dist/selection/domSelection.d.ts +13 -4
  527. package/dist/selection/domSelection.js +110 -183
  528. package/dist/selection/pointer.svelte.d.ts +8 -10
  529. package/dist/selection/pointer.svelte.js +32 -73
  530. package/dist/selection/replaceSelection.d.ts +21 -22
  531. package/dist/selection/replaceSelection.js +60 -69
  532. package/dist/selection/selection.svelte.d.ts +5 -73
  533. package/dist/selection/selection.svelte.js +224 -542
  534. package/dist/selection/selection.utils.d.ts +34 -11
  535. package/dist/selection/selection.utils.js +128 -247
  536. package/dist/selection/visibility.d.ts +3 -8
  537. package/dist/selection/visibility.js +7 -5
  538. package/dist/session/announcer.svelte.d.ts +2 -1
  539. package/dist/session/announcer.svelte.js +7 -3
  540. package/dist/session/attempt.d.ts +43 -39
  541. package/dist/session/attempt.js +62 -55
  542. package/dist/session/bindings.js +117 -145
  543. package/dist/session/commands.d.ts +47 -22
  544. package/dist/session/commands.js +208 -208
  545. package/dist/session/composition.svelte.d.ts +2 -4
  546. package/dist/session/composition.svelte.js +55 -65
  547. package/dist/session/editing/text.d.ts +6 -0
  548. package/dist/session/editing/text.js +17 -3
  549. package/dist/session/handles.d.ts +10 -1
  550. package/dist/session/handles.js +28 -0
  551. package/dist/session/history.d.ts +0 -4
  552. package/dist/session/history.js +16 -21
  553. package/dist/session/inputRules.d.ts +6 -3
  554. package/dist/session/inputRules.js +78 -83
  555. package/dist/session/keymap.d.ts +1 -6
  556. package/dist/session/keymap.js +17 -20
  557. package/dist/session/moves.d.ts +43 -10
  558. package/dist/session/moves.js +101 -59
  559. package/dist/session/navigation.d.ts +10 -2
  560. package/dist/session/navigation.js +140 -172
  561. package/dist/session/ports.d.ts +2 -7
  562. package/dist/session/props.d.ts +25 -25
  563. package/dist/session/props.js +62 -159
  564. package/dist/session/selection.d.ts +4 -3
  565. package/dist/session/selection.js +5 -0
  566. package/dist/session/suggestions.svelte.d.ts +1 -1
  567. package/dist/session/suggestions.svelte.js +42 -47
  568. package/dist/session/uploads.d.ts +29 -0
  569. package/dist/session/uploads.js +10 -0
  570. package/dist/session/virtual.d.ts +3 -3
  571. package/dist/session/virtual.js +18 -40
  572. package/dist/surface/attributes.d.ts +1 -0
  573. package/dist/surface/attributes.js +3 -26
  574. package/dist/surface/cells.d.ts +5 -0
  575. package/dist/surface/cells.js +5 -0
  576. package/dist/surface/lines.d.ts +2 -2
  577. package/dist/surface/lines.js +1 -1
  578. package/dist/surface/observer.svelte.d.ts +3 -20
  579. package/dist/surface/observer.svelte.js +52 -72
  580. package/dist/surface/overlay.d.ts +41 -3
  581. package/dist/surface/overlay.js +92 -37
  582. package/dist/surface/pin.svelte.d.ts +5 -0
  583. package/dist/surface/pin.svelte.js +5 -0
  584. package/dist/surface/projector.svelte.d.ts +4 -6
  585. package/dist/surface/projector.svelte.js +42 -69
  586. package/dist/text/text.svelte.d.ts +14 -40
  587. package/dist/text/text.svelte.js +35 -51
  588. package/dist/text/wordBoundary.d.ts +19 -0
  589. package/dist/text/wordBoundary.js +29 -44
  590. package/dist/themes/notion.css +272 -106
  591. package/dist/utils/json.d.ts +3 -1
  592. package/dist/utils/json.js +52 -51
  593. package/dist/utils/listen.d.ts +8 -0
  594. package/dist/utils/listen.js +19 -0
  595. package/package.json +4 -5
  596. package/dist/block/block.utils.d.ts +0 -340
  597. package/dist/block/block.utils.js +0 -356
  598. package/dist/collaboration/history/HistoryPanel.svelte +0 -554
  599. package/dist/collaboration/history/HistoryPanel.svelte.d.ts +0 -7
  600. package/dist/collaboration/history/panel.d.ts +0 -61
  601. package/dist/collaboration/history/panel.js +0 -3
  602. package/dist/components/SuggestionRanges.svelte +0 -58
  603. package/dist/components/SuggestionRanges.svelte.d.ts +0 -7
  604. package/dist/crdt/doc/table.d.ts +0 -21
  605. package/dist/crdt/doc/table.js +0 -288
  606. package/dist/crdt/migration/generation.d.ts +0 -58
  607. package/dist/crdt/migration/generation.js +0 -70
  608. package/dist/crdt/migration/legacy-schema.d.ts +0 -61
  609. package/dist/crdt/migration/legacy-schema.js +0 -151
  610. package/dist/crdt/migration/migrate.d.ts +0 -56
  611. package/dist/crdt/migration/migrate.js +0 -227
  612. package/dist/crdt/nodes.d.ts +0 -121
  613. package/dist/crdt/nodes.js +0 -56
  614. package/dist/crdt/text/index/checks.d.ts +0 -15
  615. package/dist/crdt/text/index/checks.js +0 -156
  616. package/dist/crdt/vendor/yjs/dts/utils/EventHandler.d.ts +0 -17
  617. package/dist/crdt/vendor/yjs/dts/utils/RelativePosition.d.ts +0 -80
  618. package/dist/crdt/vendor/yjs/dts/utils/UndoManager.d.ts +0 -205
  619. package/dist/crdt/vendor/yjs/dts/utils/YEvent.d.ts +0 -93
  620. package/dist/crdt/vendor/yjs/dts/utils/meta.d.ts +0 -25
  621. package/dist/crdt/vendor/yjs/dts/utils/renderer-helpers.d.ts +0 -98
  622. package/dist/crdt/vendor/yjs/dts/utils/schemas.d.ts +0 -2
  623. package/dist/crdt/vendor/yjs/src/utils/EventHandler.js +0 -75
  624. package/dist/crdt/vendor/yjs/src/utils/RelativePosition.js +0 -301
  625. package/dist/crdt/vendor/yjs/src/utils/UndoManager.js +0 -554
  626. package/dist/crdt/vendor/yjs/src/utils/YEvent.js +0 -158
  627. package/dist/crdt/vendor/yjs/src/utils/meta.js +0 -74
  628. package/dist/crdt/vendor/yjs/src/utils/renderer-helpers.js +0 -186
  629. package/dist/crdt/vendor/yjs/src/utils/schemas.js +0 -3
  630. package/dist/edytor.utils.d.ts +0 -50
  631. package/dist/edytor.utils.js +0 -67
  632. package/dist/plugins/blockMenu/BlockMenu.svelte +0 -335
  633. package/dist/plugins/blockMenu/BlockMenu.svelte.d.ts +0 -9
  634. package/dist/plugins/find/FindBar.svelte +0 -170
  635. package/dist/plugins/find/FindBar.svelte.d.ts +0 -9
  636. package/dist/plugins/find/FindHighlights.svelte +0 -75
  637. package/dist/plugins/find/FindHighlights.svelte.d.ts +0 -9
  638. package/dist/plugins/icons.d.ts +0 -2
  639. package/dist/plugins/icons.js +0 -63
  640. package/dist/plugins/image/ImageEmpty.svelte +0 -93
  641. package/dist/plugins/image/ImageEmpty.svelte.d.ts +0 -15
  642. package/dist/plugins/image/empty.svelte.d.ts +0 -56
  643. package/dist/plugins/image/empty.svelte.js +0 -83
  644. package/dist/plugins/keepInView.d.ts +0 -4
  645. package/dist/plugins/keepInView.js +0 -6
  646. package/dist/plugins/media/UrlPasteMenu.svelte +0 -92
  647. package/dist/plugins/media/UrlPasteMenu.svelte.d.ts +0 -9
  648. package/dist/plugins/richtext/CalloutIconMenu.svelte +0 -98
  649. package/dist/plugins/richtext/CalloutIconMenu.svelte.d.ts +0 -9
  650. package/dist/plugins/richtext/labels.d.ts +0 -9
  651. package/dist/plugins/richtext/labels.js +0 -7
  652. package/dist/plugins/slashMenu/SlashMenu.svelte +0 -276
  653. package/dist/plugins/slashMenu/SlashMenu.svelte.d.ts +0 -11
  654. package/dist/plugins/table/dragPreview.d.ts +0 -29
  655. package/dist/plugins/table/dragPreview.js +0 -103
  656. package/dist/plugins/toolbar/LinkCard.svelte +0 -122
  657. package/dist/plugins/toolbar/LinkCard.svelte.d.ts +0 -9
  658. package/dist/plugins/toolbar/Toolbar.svelte +0 -349
  659. package/dist/plugins/toolbar/Toolbar.svelte.d.ts +0 -9
  660. package/dist/plugins/triggers/TriggerMenu.svelte +0 -135
  661. package/dist/plugins/triggers/TriggerMenu.svelte.d.ts +0 -7
  662. package/dist/text/deltas.d.ts +0 -22
  663. package/dist/text/deltas.js +0 -46
  664. package/dist/text/text.utils.d.ts +0 -45
  665. package/dist/text/text.utils.js +0 -199
  666. /package/dist/{plugins/columns → dnd}/stacking.d.ts +0 -0
  667. /package/dist/{plugins/columns → dnd}/stacking.js +0 -0
@@ -1,75 +1,76 @@
1
1
  import type { Attachment } from 'svelte/attachments';
2
2
  import type { Block } from '../../block/block.svelte.js';
3
- import type { MediaKindLabels, MediaLabels } from '../../labels.js';
4
3
  import type { MediaKind } from './media.js';
5
- import { type FileUpload, type Uploader } from '../uploads.svelte.js';
6
- /** Why the last link or upload was not embedded. */
7
- export type MediaEmptyFailure = 'invalid' | 'upload';
4
+ import { type FileUpload } from '../uploads.svelte.js';
5
+ /** Each media kind's icon (the image's too): its menu row, its empty block, its paste offer. */
6
+ export declare const MEDIA_ICONS: Record<MediaKind | 'image', string>;
8
7
  /**
9
- * An empty media block's state (an embed, a bookmark, a file, a video, an
10
- * audio track: the image's pattern, Notion's): the panel's `open` state,
11
- * the link field's `draft`, why the last link or upload was not embedded
12
- * (`failed`), and the upload of a pasted or dropped file (`pending`);
13
- * `embed` and `upload` set the source. What a media plugin's `empty`
14
- * snippet receives (one per empty block shown).
8
+ * Why the last link or upload was not embedded: no source the kind takes
9
+ * (`invalid`), an inline image over the cap (`inline`), a failed upload.
10
+ */
11
+ export type MediaEmptyFailure = 'invalid' | 'inline' | 'upload';
12
+ /** What an empty block reads of its kind in a view: how it stores a source. */
13
+ export type EmptyView = {
14
+ /** Store a link (or the URL an upload of `file` answered) on `block`: why it did not, or `null`. */
15
+ store: (block: Block, value: string, file?: File) => MediaEmptyFailure | null;
16
+ };
17
+ /**
18
+ * An empty image or media block's state (an image, an embed, a bookmark, a
19
+ * file, a video, an audio track: Notion's "Add …"): the panel's `open`
20
+ * state, the link field's `draft`, why the last link or upload was not
21
+ * embedded (`failed`), and the upload of a pasted or dropped file
22
+ * (`pending`); `embed` and `upload` set the source. What an image or media
23
+ * plugin's `empty` snippet receives (one per empty block shown).
15
24
  */
16
25
  export declare class MediaEmptyController {
26
+ #private;
17
27
  /** The empty block; none in a suggestion's preview. */
18
28
  readonly block: Block | undefined;
19
- /** Which media kind it is: whose words it shows. */
20
- readonly kind: MediaKind;
21
- /** The kind's icon (an emoji). */
22
- readonly icon: string;
23
- private words;
24
- private options;
29
+ /** Which kind it is (your words for it: its button, placeholder, errors). */
30
+ readonly kind: MediaKind | 'image';
31
+ /** The kind in the block's view. */
32
+ private view;
25
33
  /** The link panel is open. */
26
34
  open: boolean;
27
35
  /** The link field's text. */
28
36
  draft: string;
29
- /** Why the last link or upload was not embedded (`false`: it was, or none was tried). */
30
- failed: false | MediaEmptyFailure;
37
+ /** Why the last link or upload was not embedded (`null`: it was, or none was tried). */
38
+ failed: MediaEmptyFailure | null;
31
39
  constructor(
32
40
  /** The empty block; none in a suggestion's preview. */
33
41
  block: Block | undefined,
34
- /** Which media kind it is: whose words it shows. */
35
- kind: MediaKind,
42
+ /** Which kind it is (your words for it: its button, placeholder, errors). */
43
+ kind: MediaKind | 'image',
44
+ /** The kind in the block's view. */
45
+ view: EmptyView | undefined);
36
46
  /** The kind's icon (an emoji). */
37
- icon: string, words: () => MediaLabels, options: {
38
- /** The file picker's `accept`. */
39
- accept?: string;
40
- upload?: Uploader;
41
- /** Store a link; answers whether the block took it. */
42
- link: (value: string) => boolean;
43
- /** Store an uploaded file's URL; answers whether the block took it. */
44
- file?: (file: File, src: string) => boolean;
45
- });
46
- /** The words of the view rendering it (a suggestion's preview included). */
47
- get labels(): MediaLabels;
48
- /** The kind's own words (its button, placeholder, submit and invalid link text). */
49
- get kindLabels(): MediaKindLabels & {
50
- addOrUpload?: string;
51
- };
52
- /** The button and placeholder text ("Embed a link"; the file's names its upload). */
53
- get label(): string;
54
- /** The file picker's `accept`. */
47
+ get icon(): string;
48
+ /** The file picker's `accept`: `image/*`, `video/*`, `audio/*`, else any file. */
55
49
  get accept(): string | undefined;
56
50
  /**
57
51
  * No control may write: a readonly view, or a suggestion's preview (no
58
52
  * block). Show a passive placeholder then.
59
53
  */
60
54
  get readonly(): boolean;
61
- /** The plugin has an `upload`: offer Upload. */
55
+ /** The kind's plugin was given an `upload`: offer Upload. */
62
56
  get canUpload(): boolean;
63
- /** The upload of a pasted or dropped file into this block, if any (its `status`, `progress`). */
57
+ /** The upload of a pasted or dropped file into this block, if any (its `status`, `progress`, `preview`). */
64
58
  get pending(): FileUpload | undefined;
65
- /** Open or close the link panel. */
66
- toggle: () => void;
67
- /** Embed `value` (default the `draft`): the block takes the link, or `failed` says it did not. */
59
+ /**
60
+ * The file uploading into this block, shown at once: its object URL
61
+ * (this view's only, never stored; revoked once the upload ends), else `null`.
62
+ */
63
+ get preview(): string | null;
64
+ /** The share of the upload sent, `0` to `1`; `null` before a report, or with no upload. */
65
+ get progress(): number | null;
66
+ /** Embed `value` (default the `draft`): the block takes the link, or `failed` says why not. */
68
67
  embed: (value?: string) => void;
69
68
  /**
70
- * Upload `file` with the plugin's `upload` and store the URL it answers,
71
- * only on the block as it was picked from: still in the tree, of its kind
72
- * and empty (a peer may have set a source, or deleted it, meanwhile).
69
+ * Upload `file` with its kind's uploader (its plugin's `upload`), the
70
+ * block showing it meanwhile (`pending`, `preview`, `progress`), and
71
+ * store the URL it answers, only on the block as it was picked from:
72
+ * still in the tree, of its kind and empty (a peer may have set a
73
+ * source, or deleted it, meanwhile).
73
74
  */
74
75
  upload: (picked: File) => Promise<void>;
75
76
  /** The link field (`{@attach empty.field}`): Enter embeds its `draft`. */
@@ -1,53 +1,51 @@
1
1
  import { fileUploads } from '../uploads.svelte.js';
2
+ import { listen } from '../../utils/listen.js';
3
+ /** Each media kind's icon (the image's too): its menu row, its empty block, its paste offer. */
4
+ export const MEDIA_ICONS = {
5
+ image: '🖼',
6
+ embed: '⧉',
7
+ bookmark: '🔖',
8
+ file: '📎',
9
+ video: '🎬',
10
+ audio: '🎵'
11
+ };
2
12
  /**
3
- * An empty media block's state (an embed, a bookmark, a file, a video, an
4
- * audio track: the image's pattern, Notion's): the panel's `open` state,
5
- * the link field's `draft`, why the last link or upload was not embedded
6
- * (`failed`), and the upload of a pasted or dropped file (`pending`);
7
- * `embed` and `upload` set the source. What a media plugin's `empty`
8
- * snippet receives (one per empty block shown).
13
+ * An empty image or media block's state (an image, an embed, a bookmark, a
14
+ * file, a video, an audio track: Notion's "Add …"): the panel's `open`
15
+ * state, the link field's `draft`, why the last link or upload was not
16
+ * embedded (`failed`), and the upload of a pasted or dropped file
17
+ * (`pending`); `embed` and `upload` set the source. What an image or media
18
+ * plugin's `empty` snippet receives (one per empty block shown).
9
19
  */
10
20
  export class MediaEmptyController {
11
21
  block;
12
22
  kind;
13
- icon;
14
- words;
15
- options;
23
+ view;
16
24
  /** The link panel is open. */
17
25
  open = $state(false);
18
26
  /** The link field's text. */
19
27
  draft = $state('');
20
- /** Why the last link or upload was not embedded (`false`: it was, or none was tried). */
21
- failed = $state(false);
28
+ /** Why the last link or upload was not embedded (`null`: it was, or none was tried). */
29
+ failed = $state(null);
22
30
  constructor(
23
31
  /** The empty block; none in a suggestion's preview. */
24
32
  block,
25
- /** Which media kind it is: whose words it shows. */
33
+ /** Which kind it is (your words for it: its button, placeholder, errors). */
26
34
  kind,
27
- /** The kind's icon (an emoji). */
28
- icon, words, options) {
35
+ /** The kind in the block's view. */
36
+ view) {
29
37
  this.block = block;
30
38
  this.kind = kind;
31
- this.icon = icon;
32
- this.words = words;
33
- this.options = options;
34
- }
35
- /** The words of the view rendering it (a suggestion's preview included). */
36
- get labels() {
37
- return this.words();
39
+ this.view = view;
38
40
  }
39
- /** The kind's own words (its button, placeholder, submit and invalid link text). */
40
- get kindLabels() {
41
- return this.labels[this.kind];
42
- }
43
- /** The button and placeholder text ("Embed a link"; the file's names its upload). */
44
- get label() {
45
- const words = this.kindLabels;
46
- return this.options.upload && words.addOrUpload ? words.addOrUpload : words.add;
41
+ /** The kind's icon (an emoji). */
42
+ get icon() {
43
+ return MEDIA_ICONS[this.kind];
47
44
  }
48
- /** The file picker's `accept`. */
45
+ /** The file picker's `accept`: `image/*`, `video/*`, `audio/*`, else any file. */
49
46
  get accept() {
50
- return this.options.accept;
47
+ const { kind } = this;
48
+ return kind === 'image' || kind === 'video' || kind === 'audio' ? `${kind}/*` : undefined;
51
49
  }
52
50
  /**
53
51
  * No control may write: a readonly view, or a suggestion's preview (no
@@ -56,50 +54,60 @@ export class MediaEmptyController {
56
54
  get readonly() {
57
55
  return !this.block || this.block.edytor.readonly;
58
56
  }
59
- /** The plugin has an `upload`: offer Upload. */
57
+ /** The kind's plugin was given an `upload`: offer Upload. */
60
58
  get canUpload() {
61
- return Boolean(this.options.upload);
59
+ const { block } = this;
60
+ return Boolean(block && fileUploads(block.edytor) && block.definition.upload);
62
61
  }
63
- /** The upload of a pasted or dropped file into this block, if any (its `status`, `progress`). */
62
+ /** The upload of a pasted or dropped file into this block, if any (its `status`, `progress`, `preview`). */
64
63
  get pending() {
65
64
  const { block } = this;
66
65
  return block ? fileUploads(block.edytor)?.of(block.id) : undefined;
67
66
  }
68
- /** Open or close the link panel. */
69
- toggle = () => {
70
- this.open = !this.open;
71
- };
72
- /** Embed `value` (default the `draft`): the block takes the link, or `failed` says it did not. */
67
+ /**
68
+ * The file uploading into this block, shown at once: its object URL
69
+ * (this view's only, never stored; revoked once the upload ends), else `null`.
70
+ */
71
+ get preview() {
72
+ const { pending } = this;
73
+ return pending?.status === 'uploading' ? pending.preview : null;
74
+ }
75
+ /** The share of the upload sent, `0` to `1`; `null` before a report, or with no upload. */
76
+ get progress() {
77
+ const { pending } = this;
78
+ return pending?.status === 'uploading' ? pending.progress : null;
79
+ }
80
+ /** Store `value` on the block: why it did not take it, or `null`. */
81
+ #store = (value, file) => this.block && this.view ? this.view.store(this.block, value, file) : 'invalid';
82
+ /** Embed `value` (default the `draft`): the block takes the link, or `failed` says why not. */
73
83
  embed = (value = this.draft) => {
74
- this.failed = this.options.link(value) ? false : 'invalid';
84
+ this.failed = this.#store(value);
75
85
  if (!this.failed && this.block)
76
86
  fileUploads(this.block.edytor)?.clear(this.block.id);
77
87
  };
78
88
  /**
79
- * Upload `file` with the plugin's `upload` and store the URL it answers,
80
- * only on the block as it was picked from: still in the tree, of its kind
81
- * and empty (a peer may have set a source, or deleted it, meanwhile).
89
+ * Upload `file` with its kind's uploader (its plugin's `upload`), the
90
+ * block showing it meanwhile (`pending`, `preview`, `progress`), and
91
+ * store the URL it answers, only on the block as it was picked from:
92
+ * still in the tree, of its kind and empty (a peer may have set a
93
+ * source, or deleted it, meanwhile).
82
94
  */
83
95
  upload = async (picked) => {
84
96
  const { block } = this;
85
- const { upload, file, link } = this.options;
86
- if (!upload || !block || block.edytor.readonly)
97
+ const uploads = this.canUpload && fileUploads(block?.edytor);
98
+ if (!uploads || !block || block.edytor.readonly)
87
99
  return;
88
100
  const { edytor, id, type } = block;
89
- let src;
90
- try {
91
- src = await upload(picked, { progress: () => { } });
92
- }
93
- catch {
101
+ const stored = await uploads.pick(id, picked, (src) => {
102
+ const live = edytor.idToBlock.get(id);
103
+ if (!live?.isInTree || live.type !== type || edytor.readonly)
104
+ return;
105
+ if (edytor.facade.blockDataOf(id)?.src !== undefined)
106
+ return;
107
+ this.failed = this.#store(src, picked);
108
+ });
109
+ if (!stored)
94
110
  this.failed = 'upload';
95
- return;
96
- }
97
- const live = edytor.idToBlock.get(id);
98
- if (!live?.isInTree || live.type !== type || edytor.readonly)
99
- return;
100
- if (edytor.facade.blockDataOf(id)?.src !== undefined)
101
- return;
102
- this.failed = (file ? file(picked, src) : link(src)) ? false : 'invalid';
103
111
  };
104
112
  /** The link field (`{@attach empty.field}`): Enter embeds its `draft`. */
105
113
  field = (node) => {
@@ -109,7 +117,6 @@ export class MediaEmptyController {
109
117
  event.preventDefault();
110
118
  this.embed();
111
119
  };
112
- node.addEventListener('keydown', keydown);
113
- return () => node.removeEventListener('keydown', keydown);
120
+ return listen(node, 'keydown', keydown);
114
121
  };
115
122
  }
@@ -1,24 +1,106 @@
1
1
  import type { Snippet } from 'svelte';
2
2
  import type { Edytor } from '../../edytor.svelte.js';
3
- import type { PluginOperations } from '../../plugins.js';
4
- import { type Uploader } from '../uploads.svelte.js';
5
- import { viewLabels, type PartialLabels } from '../../labels.js';
6
- import type { MediaEmptyController } from './empty.svelte.js';
7
- /** The media kinds a view shows the labels of. */
3
+ import type { Block } from '../../block/block.svelte.js';
4
+ import type { Attachment } from 'svelte/attachments';
5
+ import type { BlockDefinition, Plugin, PluginDefinitions, PluginOperations } from '../../plugins.js';
6
+ import { escapeHtml } from '../../clipboard/serializeClipboardFragment.js';
7
+ import { MEDIA_ICONS, type EmptyView } from './empty.svelte.js';
8
+ /** The media kinds. */
8
9
  export type MediaKind = 'embed' | 'bookmark' | 'file' | 'video' | 'audio';
10
+ export { MEDIA_ICONS };
9
11
  /**
10
- * Each view's media labels, by kind: the first plugin of a kind listed in a
11
- * view claims them, as its kind record (first wins).
12
+ * A media kind in a view: the first plugin of the kind listed in it claims
13
+ * it, as its kind record (first wins): how a block of it stores a source,
14
+ * the embed's allowlist, and the app's markup for the kind's own control
15
+ * (the bookmark's `card`, the file's `row`, the embed's `fallback`).
12
16
  */
13
- export declare const mediaLabels: Record<MediaKind, ReturnType<typeof viewLabels<'media'>>>;
17
+ export type MediaView = EmptyView & {
18
+ providers?: readonly EmbedProvider[];
19
+ card?: Snippet<[BookmarkCardPayload]>;
20
+ row?: Snippet<[FileRowPayload]>;
21
+ fallback?: Snippet<[EmbedFallbackPayload]>;
22
+ };
23
+ /** What a bookmark's `card` snippet receives: the page it links to, as `unfurl` described it. */
24
+ export type BookmarkCardPayload = {
25
+ /** The bookmark; `undefined` in a suggestion's preview. */
26
+ block: Block | undefined;
27
+ /** The page's URL (`http(s)`). */
28
+ url: string;
29
+ /** Its title, description, cover image and icon, when `unfurl` answered them. */
30
+ title: string | undefined;
31
+ description: string | undefined;
32
+ image: string | undefined;
33
+ icon: string | undefined;
34
+ /**
35
+ * The card's link (`<a href={card.url} {@attach card.link}>`): a new tab
36
+ * without the opener, never dragged out of the editor.
37
+ */
38
+ link: Attachment<HTMLElement>;
39
+ };
40
+ /** What a file block's `row` snippet receives: the file it links to. */
41
+ export type FileRowPayload = {
42
+ /** The file block; `undefined` in a suggestion's preview. */
43
+ block: Block | undefined;
44
+ /** The file's URL. */
45
+ src: string;
46
+ /** Its name: the uploaded file's, else its URL's last segment. */
47
+ name: string;
48
+ /** Its size in bytes, when it was uploaded. */
49
+ size: number | undefined;
50
+ /** That size in the view's words (`media.fileSize`), `''` without one. */
51
+ sizeLabel: string;
52
+ /**
53
+ * The file is uploading (then `src` is its object URL, this view's only,
54
+ * never stored): the row shows it at once, with `progress`.
55
+ */
56
+ uploading: boolean;
57
+ /** The share sent while it uploads, `0` to `1`; `null` before a report or once stored. */
58
+ progress: number | null;
59
+ /**
60
+ * The row's link (`<a href={row.src} {@attach row.link}>`): it downloads
61
+ * the file under its name, in a new tab without the opener, never dragged
62
+ * out of the editor.
63
+ */
64
+ link: Attachment<HTMLElement>;
65
+ };
66
+ /** What an embed's `fallback` snippet receives: a link no allowed provider plays. */
67
+ export type EmbedFallbackPayload = {
68
+ /** The embed; `undefined` in a suggestion's preview. */
69
+ block: Block | undefined;
70
+ /** The link (`http(s)`), shown as a link, never in a frame. */
71
+ url: string;
72
+ /** Its link (`<a href={fallback.url} {@attach fallback.link}>`): a new tab without the opener. */
73
+ link: Attachment<HTMLElement>;
74
+ };
75
+ /** A media block's link opens a new tab without the opener (and tells the target nothing). */
76
+ export declare const LINK_REL = "noopener noreferrer nofollow";
14
77
  /**
15
- * Each view's `empty` snippet, by kind: the first plugin of a kind listed in
16
- * a view claims it (with none, the built-in markup), as its kind record.
78
+ * A media block's link's attachment: a new tab without the opener
79
+ * (`target`, `rel`), and `own` (`draggable="false"`: no drag of its own; a
80
+ * file's `download` name). The default markup writes the same, so a server
81
+ * render's link is safe too; its `href` is the markup's.
17
82
  */
18
- export declare const mediaEmpty: {
19
- claim(edytor: Edytor | undefined, kind: MediaKind, snippet?: Snippet<[MediaEmptyController]>): void;
20
- of: (edytor: Edytor | undefined, kind: MediaKind) => Snippet<[MediaEmptyController]> | undefined;
21
- };
83
+ export declare const mediaLink: (own?: {
84
+ draggable?: "false";
85
+ download?: string;
86
+ }) => Attachment<HTMLElement>;
87
+ /** The app's markup for a media kind's own control in `view`, if any. */
88
+ export declare const mediaControl: <K extends "card" | "row" | "fallback">(kind: MediaKind, control: K) => (view: Edytor | undefined) => MediaView[K] | undefined;
89
+ /** The view's media kind, when a plugin of it is listed there. */
90
+ export declare const mediaView: (edytor: Edytor | undefined, kind: MediaKind) => MediaView | undefined;
91
+ /**
92
+ * A media kind's plugin (Notion's): a void `figure` with an editable
93
+ * caption, its preset (its icon, `keywords`, its name in the view's
94
+ * `media` labels), and its view
95
+ * (`MediaView`), which the first plugin of the kind listed claims. `own`
96
+ * answers the kind's own parts: how it stores a source, its hooks and its
97
+ * record (its snippet, its export and import); `claims` says whether this
98
+ * plugin claimed the kind in `edytor`.
99
+ */
100
+ export declare const mediaPlugin: (kind: MediaKind, keywords: string[], own: (edytor: Edytor, claims: boolean) => Pick<MediaView, "store" | "providers" | "card" | "row" | "fallback"> & {
101
+ hooks?: PluginOperations & PluginDefinitions;
102
+ record: Partial<BlockDefinition>;
103
+ }) => Plugin;
22
104
  /**
23
105
  * A web page's URL a media block may store or render: the link sanitizer's
24
106
  * reading of it (`sanitizeLinkHref`: ASCII control characters and spaces stripped,
@@ -33,27 +115,6 @@ export declare const safeWebUrl: (value: unknown) => string | null;
33
115
  * an inline file would be stored in the document and sent in every update.
34
116
  */
35
117
  export declare const safeMediaSrc: (value: unknown) => string | null;
36
- /** The file, video and audio plugins' options. */
37
- export type MediaPluginOptions = {
38
- /**
39
- * Upload a file and answer its URL: the empty block's Upload button, and
40
- * the pasted and dropped files the kind takes (`media.files`), each shown
41
- * uploading with the progress it reports. Without it only links are
42
- * embedded.
43
- */
44
- upload?: Uploader;
45
- /** The words the block shows (its empty panel, its menu row), over the English ones. */
46
- labels?: PartialLabels<'media'>;
47
- /** The slash menu's keywords of its command (`block.<kind>`), which replace its own. */
48
- keywords?: Partial<Record<string, string[]>>;
49
- /**
50
- * Replace an empty block's markup (its "Add …" button and link panel, its
51
- * upload's progress, or a readonly view's placeholder): it receives the
52
- * block's `MediaEmptyController` (`open`, `draft`, `failed`, `pending`,
53
- * `embed`, `upload`, `readonly`).
54
- */
55
- empty?: Snippet<[MediaEmptyController]>;
56
- };
57
118
  /** One allowlisted embed provider: which links it plays, and its player. */
58
119
  export type EmbedProvider = {
59
120
  /** The provider's name: the frame's `title`. */
@@ -103,12 +164,4 @@ export declare const fileNameOf: (src: string) => string;
103
164
  export declare const claimed: (element: HTMLElement, tag: string) => HTMLElement | undefined;
104
165
  /** An imported `video`'s or `audio`'s source: its `src`, else its first `source`'s. */
105
166
  export declare const mediaSourceOf: (element: HTMLElement | undefined) => string | null;
106
- /** HTML-escape `value` for an attribute or text of an export. */
107
- export declare const escapeHtml: (value: string) => string;
108
- /**
109
- * Register `type`'s uploads on the view's (`media.files`): with an
110
- * `upload`, the files it takes (the file kind: any no other kind takes)
111
- * become its blocks. Answers the paste hook to list, or `undefined`
112
- * without an `upload` or a view.
113
- */
114
- export declare const mediaUploads: (edytor: Edytor | undefined, type: "video" | "audio" | "file", upload: Uploader | undefined) => PluginOperations["onPaste"];
167
+ export { escapeHtml };