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
@@ -0,0 +1,23 @@
1
+ <script lang="ts" generics="T">
2
+ import { getContext, type Snippet } from 'svelte';
3
+ import type { Edytor } from '../edytor.svelte.js';
4
+
5
+ /**
6
+ * A control inside a block: the app's snippet for it in the view
7
+ * rendering it (`own`; a suggestion's preview's too), else the package's
8
+ * markup (`initial`), with the control's `payload`.
9
+ */
10
+ let {
11
+ own,
12
+ initial,
13
+ payload
14
+ }: {
15
+ own: (view: Edytor | undefined) => Snippet<[T]> | undefined;
16
+ initial: Snippet<[T]>;
17
+ payload: T;
18
+ } = $props();
19
+ const view = getContext<Edytor | undefined>('edytor');
20
+ const snippet = $derived(own(view) ?? initial);
21
+ </script>
22
+
23
+ {@render snippet(payload)}
@@ -0,0 +1,30 @@
1
+ import { type Snippet } from 'svelte';
2
+ import type { Edytor } from '../edytor.svelte.js';
3
+ declare function $$render<T>(): {
4
+ props: {
5
+ own: (view: Edytor | undefined) => Snippet<[T]> | undefined;
6
+ initial: Snippet<[T]>;
7
+ payload: T;
8
+ };
9
+ exports: {};
10
+ bindings: "";
11
+ slots: {};
12
+ events: {};
13
+ };
14
+ declare class __sveltets_Render<T> {
15
+ props(): ReturnType<typeof $$render<T>>['props'];
16
+ events(): ReturnType<typeof $$render<T>>['events'];
17
+ slots(): ReturnType<typeof $$render<T>>['slots'];
18
+ bindings(): "";
19
+ exports(): {};
20
+ }
21
+ interface $$IsomorphicComponent {
22
+ new <T>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
23
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
24
+ } & ReturnType<__sveltets_Render<T>['exports']>;
25
+ <T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
26
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
27
+ }
28
+ declare const Control: $$IsomorphicComponent;
29
+ type Control<T> = InstanceType<typeof Control<T>>;
30
+ export default Control;
@@ -0,0 +1,47 @@
1
+ /**
2
+ * A panel the overlay draws under an element of the page (the code
3
+ * language list under its button, the equation editor under its
4
+ * equation): the anchor's box, measured on the overlay's frames, and the
5
+ * one rule that closes the panel without moving the keys: its anchor gone,
6
+ * a press or a focus outside the panel and its anchor, the view turning
7
+ * readonly.
8
+ */
9
+ import type { Component } from 'svelte';
10
+ import type { Edytor } from '../edytor.svelte.js';
11
+ import { type LayerBox } from '../surface/overlay.js';
12
+ export declare class Anchored {
13
+ #private;
14
+ private edytor;
15
+ /** The overlay host's name: its element is `[data-<name>]`. */
16
+ private name;
17
+ /** The element the panel stands under: `null` when it left the page, `undefined` while closed. */
18
+ private anchor;
19
+ /** Close the panel, the keys where they are. */
20
+ private dismiss;
21
+ /** The anchor's box in the overlay's frame while the panel is open, else `null` (reactive). */
22
+ box: LayerBox | null;
23
+ constructor(edytor: Edytor,
24
+ /** The overlay host's name: its element is `[data-<name>]`. */
25
+ name: string,
26
+ /** The element the panel stands under: `null` when it left the page, `undefined` while closed. */
27
+ anchor: () => Element | null | undefined,
28
+ /** Close the panel, the keys where they are. */
29
+ dismiss: () => void);
30
+ /** Where the panel stands: `gap` under its anchor, from its middle with `center`, layer-relative. */
31
+ place: (gap: number, center?: boolean) => {
32
+ left: number;
33
+ top: number;
34
+ } | null;
35
+ /**
36
+ * Focus left a field of the panel (its `focusout`): for somewhere outside
37
+ * the panel and its anchor, it closes; with no new focus (the window went
38
+ * to the background), it stays.
39
+ */
40
+ blurred: (event: FocusEvent) => void;
41
+ /**
42
+ * Mount the panel in the overlay at `zIndex` (above the block handles, 5,
43
+ * by default), with a press listener (capture) on `node`'s document and
44
+ * the readonly rule. Answers the teardown, which closes it.
45
+ */
46
+ mount: <Props extends Record<string, unknown>>(node: HTMLElement, component: Component<Props>, props: Props, zIndex?: number) => () => void;
47
+ }
@@ -0,0 +1,73 @@
1
+ import { onPress } from '../events/onFocus.js';
2
+ import { layerBox, pin, sameValues } from '../surface/overlay.js';
3
+ export class Anchored {
4
+ edytor;
5
+ name;
6
+ anchor;
7
+ dismiss;
8
+ /** The anchor's box in the overlay's frame while the panel is open, else `null` (reactive). */
9
+ box = $state.raw(null);
10
+ constructor(edytor,
11
+ /** The overlay host's name: its element is `[data-<name>]`. */
12
+ name,
13
+ /** The element the panel stands under: `null` when it left the page, `undefined` while closed. */
14
+ anchor,
15
+ /** Close the panel, the keys where they are. */
16
+ dismiss) {
17
+ this.edytor = edytor;
18
+ this.name = name;
19
+ this.anchor = anchor;
20
+ this.dismiss = dismiss;
21
+ }
22
+ /** Where the panel stands: `gap` under its anchor, from its middle with `center`, layer-relative. */
23
+ place = (gap, center = false) => {
24
+ const box = this.box;
25
+ return box && { left: box.x + (center ? box.width / 2 : 0), top: box.y + box.height + gap };
26
+ };
27
+ /** `at` is outside the panel's host and its anchor: the panel closes. */
28
+ #outside = (at, host) => {
29
+ if (!(at instanceof Node))
30
+ return;
31
+ if (!host?.contains(at) && !this.anchor()?.contains(at))
32
+ this.dismiss();
33
+ };
34
+ /**
35
+ * Focus left a field of the panel (its `focusout`): for somewhere outside
36
+ * the panel and its anchor, it closes; with no new focus (the window went
37
+ * to the background), it stays.
38
+ */
39
+ blurred = (event) => this.#outside(event.relatedTarget, event.currentTarget?.closest(`[data-${this.name}]`));
40
+ /**
41
+ * Mount the panel in the overlay at `zIndex` (above the block handles, 5,
42
+ * by default), with a press listener (capture) on `node`'s document and
43
+ * the readonly rule. Answers the teardown, which closes it.
44
+ */
45
+ mount = (node, component, props, zIndex = 7) => {
46
+ const { edytor } = this;
47
+ const offPress = onPress(edytor, node.ownerDocument, (event) => this.anchor() !== undefined &&
48
+ this.#outside(event.target, event.target?.closest?.(`[data-${this.name}]`)), true);
49
+ const unmount = edytor.overlay.mount(component, props, this.name, zIndex, (host, origin) => {
50
+ const anchor = this.anchor();
51
+ const box = layerBox(anchor, origin);
52
+ return () => {
53
+ pin(host);
54
+ if (anchor === null)
55
+ return this.dismiss();
56
+ if (!sameValues(box, this.box))
57
+ this.box = box;
58
+ };
59
+ });
60
+ const offLock = $effect.root(() => {
61
+ $effect(() => {
62
+ if (edytor.readonly)
63
+ this.dismiss();
64
+ });
65
+ });
66
+ return () => {
67
+ offPress();
68
+ offLock();
69
+ unmount();
70
+ this.dismiss();
71
+ };
72
+ };
73
+ }
@@ -1,2 +1,3 @@
1
1
  import type { Plugin } from '../../plugins.js';
2
- export declare const arrowMovePlugin: Plugin;
2
+ /** Block moves from the keyboard (Mod+Up/Down, Mod+Shift+Up/Down): apps list it (`createArrowMovePlugin()`), it is not a default. */
3
+ export declare const createArrowMovePlugin: () => Plugin;
@@ -1,3 +1,4 @@
1
+ import { branded } from '../brand.js';
1
2
  import { getSelectionBlocks, movable, outermost, selectMoved } from '../../selection/replaceSelection.js';
2
3
  /**
3
4
  * One relative step for the selected blocks; with `caret`, the block
@@ -8,24 +9,27 @@ import { getSelectionBlocks, movable, outermost, selectMoved } from '../../selec
8
9
  */
9
10
  const move = (direction, caret = false) => ({ edytor, prevent }) => {
10
11
  const selected = [...edytor.selection.selectedBlocks];
11
- const { startBlock: at, isCollapsed } = edytor.selection.state;
12
+ const { startText } = edytor.selection.textRange();
13
+ const { isCollapsed } = edytor.selection.projection;
14
+ const at = startText?.parent;
12
15
  // A code line moves as its code block (`movable`).
13
16
  const spanned = () => outermost(movable(isCollapsed ? (at ? [at] : []) : getSelectionBlocks(edytor)));
14
17
  // A selected block's selected descendants travel with it (`outermost`), as the menu's Move does.
15
18
  const blocks = selected.length ? outermost(movable(selected)) : caret ? spanned() : [];
16
- if (!blocks.length || !edytor.canMoveBlocks({ blocks, direction }))
19
+ if (!blocks.length || !edytor.canMove({ blocks, direction }))
17
20
  return;
18
21
  prevent(() => {
19
- const moved = edytor.moveBlocks({ blocks, direction });
22
+ const moved = edytor.move({ blocks, direction });
20
23
  if (moved.length && selected.length)
21
24
  selectMoved(edytor, moved, selected);
22
25
  });
23
26
  };
24
- export const arrowMovePlugin = () => ({
27
+ /** Block moves from the keyboard (Mod+Up/Down, Mod+Shift+Up/Down): apps list it (`createArrowMovePlugin()`), it is not a default. */
28
+ export const createArrowMovePlugin = () => branded('arrowMove', () => ({
25
29
  hotkeys: {
26
30
  'mod+arrowdown': move('down'),
27
31
  'mod+arrowup': move('up'),
28
32
  'mod+shift+arrowdown': move('down', true),
29
33
  'mod+shift+arrowup': move('up', true)
30
34
  }
31
- });
35
+ }));
@@ -0,0 +1,57 @@
1
+ /**
2
+ * What the chrome over a view's blocks shares (the table's grips and
3
+ * bands, the column resize): its listeners on the host, the overlay and the
4
+ * page, and a resize band's gesture.
5
+ */
6
+ import type { Attachment } from 'svelte/attachments';
7
+ import type { Edytor } from '../edytor.svelte.js';
8
+ /**
9
+ * The pointer over a view for its chrome: `over` hears it over the host,
10
+ * `leave` it leaving the host or the overlay for `relatedTarget`, and
11
+ * `drag` every drag starting (`dragstart`) or ending (`dragend`, `drop`)
12
+ * in the page. Answers the cleanup.
13
+ */
14
+ export declare const hoverChrome: (edytor: Edytor, node: HTMLElement, over: (target: EventTarget | null) => void, leave: (to: EventTarget | null) => void, drag: (event: Event) => void) => () => void;
15
+ /**
16
+ * A resize band's gesture (a table column's, a layout gap's): a press
17
+ * drags a view-only preview (`drag`, its `at` the pointer's x) and the
18
+ * release writes once; Escape, a cancel or the view turning readonly
19
+ * (`lock`) drop the preview, nothing written. A focused band's keys are its
20
+ * own (`key`).
21
+ */
22
+ export declare class BandDrag<D extends {
23
+ at: number;
24
+ }> {
25
+ #private;
26
+ private edytor;
27
+ /** The drag in progress. */
28
+ drag: D | null;
29
+ constructor(edytor: Edytor);
30
+ /** A text selection is in progress (`selection.dragging`): the bands take no pointer. */
31
+ get selecting(): boolean;
32
+ /**
33
+ * A band's press (`{@attach band.press(start)}`): its `pointerdown`, or
34
+ * its lone `mousedown` (`isLonePress`: WebKit's first press after a
35
+ * block drag); no `mousedown` there starts a native selection.
36
+ */
37
+ press: (start: (event: PointerEvent | MouseEvent) => void) => Attachment<HTMLElement>;
38
+ /**
39
+ * Start `drag` from `event` (a primary press in an editable view, none in
40
+ * progress): `moved` hears each move, `end` the release (the drag at its
41
+ * x) or `null` when it ends without one.
42
+ */
43
+ start(event: PointerEvent | MouseEvent, drag: D, end: (drag: D | null) => void, moved?: () => void): void;
44
+ /**
45
+ * The view turned readonly (or the document read-only): a drag in progress
46
+ * ends at once, its preview dropped, nothing written.
47
+ */
48
+ lock: () => void;
49
+ }
50
+ /**
51
+ * A key on a focused band of `band`: every key there is the band's, never
52
+ * the editor's; Escape gives the keys back to the editor. The step `steps`
53
+ * gives the key, when one does and a write may start (no drag in progress).
54
+ */
55
+ export declare const bandKey: (edytor: Edytor, band: BandDrag<{
56
+ at: number;
57
+ }>, event: KeyboardEvent, steps: Record<string, number>) => number | undefined;
@@ -0,0 +1,95 @@
1
+ import { trackDrag } from '../dnd/track.js';
2
+ import { isLonePress, takeKeys } from '../events/onFocus.js';
3
+ import { all, listen } from '../utils/listen.js';
4
+ /**
5
+ * The pointer over a view for its chrome: `over` hears it over the host,
6
+ * `leave` it leaving the host or the overlay for `relatedTarget`, and
7
+ * `drag` every drag starting (`dragstart`) or ending (`dragend`, `drop`)
8
+ * in the page. Answers the cleanup.
9
+ */
10
+ export const hoverChrome = (edytor, node, over, leave, drag) => {
11
+ const out = (event) => leave(event.relatedTarget);
12
+ const off = all(listen(node, 'pointerover', (event) => over(event.target)), listen(node, 'pointerleave', out), listen(edytor.overlay.layer, 'pointerleave', out), listen(node.ownerDocument, 'dragstart dragend drop', drag, true));
13
+ return off;
14
+ };
15
+ /**
16
+ * A resize band's gesture (a table column's, a layout gap's): a press
17
+ * drags a view-only preview (`drag`, its `at` the pointer's x) and the
18
+ * release writes once; Escape, a cancel or the view turning readonly
19
+ * (`lock`) drop the preview, nothing written. A focused band's keys are its
20
+ * own (`key`).
21
+ */
22
+ export class BandDrag {
23
+ edytor;
24
+ /** The drag in progress. */
25
+ drag = $state(null);
26
+ /** Ends the drag in progress without a write. */
27
+ #cancel = null;
28
+ constructor(edytor) {
29
+ this.edytor = edytor;
30
+ }
31
+ /** A text selection is in progress (`selection.dragging`): the bands take no pointer. */
32
+ get selecting() {
33
+ return this.drag === null && this.edytor.selection.dragging;
34
+ }
35
+ /**
36
+ * A band's press (`{@attach band.press(start)}`): its `pointerdown`, or
37
+ * its lone `mousedown` (`isLonePress`: WebKit's first press after a
38
+ * block drag); no `mousedown` there starts a native selection.
39
+ */
40
+ press = (start) => (node) => {
41
+ const off = all(listen(node, 'pointerdown', start), listen(node, 'mousedown', (event) => {
42
+ event.preventDefault();
43
+ if (isLonePress(this.edytor, event))
44
+ start(event);
45
+ }));
46
+ return off;
47
+ };
48
+ /**
49
+ * Start `drag` from `event` (a primary press in an editable view, none in
50
+ * progress): `moved` hears each move, `end` the release (the drag at its
51
+ * x) or `null` when it ends without one.
52
+ */
53
+ start(event, drag, end, moved) {
54
+ if (event.button !== 0 || this.edytor.readonly || this.drag)
55
+ return;
56
+ this.drag = drag;
57
+ this.#cancel = trackDrag(this.edytor, event, (x) => {
58
+ if (!this.drag)
59
+ return;
60
+ this.drag.at = x;
61
+ moved?.();
62
+ }, (x) => {
63
+ const drag = this.drag;
64
+ this.drag = null;
65
+ this.#cancel = null;
66
+ end(drag && x !== null ? { ...drag, at: x } : null);
67
+ });
68
+ }
69
+ /**
70
+ * The view turned readonly (or the document read-only): a drag in progress
71
+ * ends at once, its preview dropped, nothing written.
72
+ */
73
+ lock = () => {
74
+ if (this.drag && !this.edytor.dispatcher.permits())
75
+ this.#cancel?.();
76
+ };
77
+ }
78
+ /**
79
+ * A key on a focused band of `band`: every key there is the band's, never
80
+ * the editor's; Escape gives the keys back to the editor. The step `steps`
81
+ * gives the key, when one does and a write may start (no drag in progress).
82
+ */
83
+ export const bandKey = (edytor, band, event, steps) => {
84
+ event.stopPropagation();
85
+ if (event.key === 'Escape') {
86
+ event.preventDefault();
87
+ takeKeys(edytor);
88
+ return;
89
+ }
90
+ const step = steps[event.key];
91
+ if (step === undefined)
92
+ return;
93
+ event.preventDefault();
94
+ return band.drag || !edytor.dispatcher.permits() ? undefined : step;
95
+ };
@@ -1,10 +1,10 @@
1
1
  <script lang="ts">
2
+ import type { Snippet } from 'svelte';
2
3
  import type { Block } from '../../block/block.svelte.js';
3
4
  import type { BlockHandleController } from './BlockHandleController.svelte.js';
4
-
5
- import type { Snippet } from 'svelte';
6
5
  import type { BlockHandleSnippetPayload } from './blockHandlesPlugin.js';
7
6
 
7
+ /** One block's handle: the app's `handle` snippet, with the block's payload (reactive). */
8
8
  let {
9
9
  block,
10
10
  controller,
@@ -12,159 +12,19 @@
12
12
  }: {
13
13
  block: Block;
14
14
  controller: BlockHandleController;
15
- handle?: Snippet<[BlockHandleSnippetPayload]>;
15
+ handle: Snippet<[BlockHandleSnippetPayload]>;
16
16
  } = $props();
17
17
  const grip = $derived(controller.grip(block));
18
- /** Alt+click on the `+` of a block directly in a column adds a column right of it (Notion). */
19
- const beside = $derived(controller.addsColumn(block));
20
- /** The block's kind as people read it: the controls' names. */
21
- const label = $derived(controller.labelOf(block));
22
- /** The menus this handle's `+` and grip opened, while open: their `aria-expanded`. */
23
- const added = $derived(controller.opened(block, 'add'));
24
- const gripped = $derived(controller.opened(block, 'grip'));
25
- const labels = $derived(controller.labels);
18
+ const plus = $derived(controller.plus(block));
26
19
  </script>
27
20
 
28
- {#if handle}
29
- {@render handle({
30
- block,
31
- label,
32
- grip,
33
- add: (alt = false, anchor) => controller.addBlock(block, alt, anchor ?? block.node ?? null),
34
- addable: true,
35
- readonly: controller.readonly,
36
- draggable: controller.draggable,
37
- expanded: { add: added !== undefined, grip: gripped !== undefined },
38
- controls: { add: added?.id, grip: gripped?.id },
39
- labels
40
- })}
41
- {:else}
42
- <button
43
- type="button"
44
- class="edytor-block-add"
45
- contenteditable="false"
46
- hidden={controller.readonly}
47
- data-testid="block-add"
48
- aria-label={beside ? labels.addBeside(label) : labels.add(label)}
49
- aria-expanded={added ? 'true' : undefined}
50
- aria-controls={added?.id}
51
- aria-haspopup={added?.haspopup}
52
- title={beside ? labels.addBesideHint : labels.addHint}
53
- onmousedown={(event) => event.preventDefault()}
54
- onpointerdown={(event) => event.stopPropagation()}
55
- onclick={(event) => {
56
- event.preventDefault();
57
- event.stopPropagation();
58
- controller.addBlock(block, event.altKey, event.currentTarget);
59
- }}
60
- >
61
- <svg viewBox="0 0 16 16" width="16" height="16" aria-hidden="true" focusable="false">
62
- <path
63
- d="M8 2.75v10.5M2.75 8h10.5"
64
- fill="none"
65
- stroke="currentColor"
66
- stroke-width="1.4"
67
- stroke-linecap="round"
68
- />
69
- </svg>
70
- </button><button
71
- type="button"
72
- class="edytor-block-handle"
73
- contenteditable="false"
74
- use:grip
75
- hidden={controller.readonly}
76
- data-testid="block-handle"
77
- data-block-id={block.id}
78
- aria-label={labels.grip(label)}
79
- aria-expanded={gripped ? 'true' : undefined}
80
- aria-controls={gripped?.id}
81
- aria-haspopup={gripped?.haspopup}
82
- aria-keyshortcuts="Alt+ArrowUp Alt+ArrowDown Alt+ArrowRight Alt+ArrowLeft"
83
- data-draggable={controller.draggable ? 'true' : undefined}
84
- >
85
- <svg viewBox="0 0 10 16" width="10" height="16" aria-hidden="true" focusable="false">
86
- <circle cx="2.5" cy="3" r="1.3" />
87
- <circle cx="7.5" cy="3" r="1.3" />
88
- <circle cx="2.5" cy="8" r="1.3" />
89
- <circle cx="7.5" cy="8" r="1.3" />
90
- <circle cx="2.5" cy="13" r="1.3" />
91
- <circle cx="7.5" cy="13" r="1.3" />
92
- </svg>
93
- </button>
94
- {/if}
95
-
96
- <style>
97
- .edytor-block-handle,
98
- .edytor-block-add {
99
- display: inline-flex;
100
- align-items: center;
101
- justify-content: center;
102
- width: 24px;
103
- height: 24px;
104
- padding: 0;
105
- border: 0;
106
- border-radius: 6px;
107
- background: transparent;
108
- color: #ada9a3;
109
- cursor: pointer;
110
- transition: background-color 80ms ease;
111
- }
112
-
113
- .edytor-block-handle {
114
- width: 18px;
115
- }
116
-
117
- .edytor-block-handle[data-draggable='true'] {
118
- cursor: grab;
119
- }
120
-
121
- .edytor-block-handle[hidden],
122
- .edytor-block-add[hidden] {
123
- display: none;
124
- }
125
-
126
- .edytor-block-handle:hover,
127
- .edytor-block-handle:focus-visible,
128
- .edytor-block-add:hover,
129
- .edytor-block-add:focus-visible {
130
- background: rgba(33, 27, 23, 0.06);
131
- outline: 0;
132
- }
133
-
134
- .edytor-block-handle[data-draggable='true']:active {
135
- cursor: grabbing;
136
- }
137
-
138
- .edytor-block-handle svg {
139
- fill: currentColor;
140
- }
141
-
142
- /* Notion's drop bar: plain, 4px, indented when the block nests. */
143
- :global([data-edytor-drop-indicator]) {
144
- position: absolute;
145
- z-index: 100;
146
- box-sizing: border-box;
147
- height: 4px;
148
- border: 0;
149
- border-radius: 0;
150
- background: var(--edytor-drop-indicator-color, rgba(35, 131, 226, 0.43));
151
- pointer-events: none;
152
- }
153
-
154
- /* Notion's nest backdrop: the future parent's own row, softly tinted. */
155
- :global([data-edytor-drop-backdrop]) {
156
- position: absolute;
157
- z-index: 99;
158
- border-radius: 4px;
159
- /* One plain color: lightningcss rewrites light-dark() into variables it
160
- * only defines beside a `color-scheme`, voiding the background. */
161
- background: var(--edytor-drop-backdrop-color, rgba(35, 131, 226, 0.14));
162
- opacity: 0;
163
- pointer-events: none;
164
- transition: opacity 120ms ease;
165
- }
166
-
167
- :global([data-edytor-drop-backdrop][data-shown='true']) {
168
- opacity: 1;
169
- }
170
- </style>
21
+ {@render handle({
22
+ block,
23
+ label: controller.labelOf(block),
24
+ grip,
25
+ plus,
26
+ add: (alt = false, anchor) => controller.addBlock(block, alt, anchor ?? block.node ?? null),
27
+ beside: controller.addsColumn(block),
28
+ readonly: controller.readonly,
29
+ draggable: controller.draggable
30
+ })}
@@ -1,11 +1,11 @@
1
+ import type { Snippet } from 'svelte';
1
2
  import type { Block } from '../../block/block.svelte.js';
2
3
  import type { BlockHandleController } from './BlockHandleController.svelte.js';
3
- import type { Snippet } from 'svelte';
4
4
  import type { BlockHandleSnippetPayload } from './blockHandlesPlugin.js';
5
5
  type $$ComponentProps = {
6
6
  block: Block;
7
7
  controller: BlockHandleController;
8
- handle?: Snippet<[BlockHandleSnippetPayload]>;
8
+ handle: Snippet<[BlockHandleSnippetPayload]>;
9
9
  };
10
10
  declare const BlockHandle: import("svelte").Component<$$ComponentProps, {}, "">;
11
11
  type BlockHandle = ReturnType<typeof BlockHandle>;