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
@@ -8,132 +8,48 @@
8
8
  import { createHighlighter } from '@tanstack/highlight/core';
9
9
  import { jsx } from '@tanstack/highlight/languages/jsx';
10
10
  import { SvelteMap } from 'svelte/reactivity';
11
- import { englishLabels } from '../../labels.js';
12
- const scripts = () => Promise.all([
13
- import('@tanstack/highlight/languages/css'),
14
- import('@tanstack/highlight/languages/js'),
15
- import('@tanstack/highlight/languages/ts')
16
- ]).then(([{ css }, { js }, { ts }]) => [css, js, ts]);
17
- /** A markup grammar with the style and script grammars it embeds. */
18
- const markup = (grammar) => () => Promise.all([grammar(), scripts()]).then(([own, embedded]) => [own, ...embedded]);
11
+ /** The grammars more than one language loads. */
12
+ const css = () => import('@tanstack/highlight/languages/css');
13
+ const ts = () => import('@tanstack/highlight/languages/ts');
14
+ const html = () => import('@tanstack/highlight/languages/html');
15
+ const scripts = () => Promise.all([css(), import('@tanstack/highlight/languages/js'), ts()]).then(([{ css }, { js }, { ts }]) => [css, js, ts]);
16
+ /**
17
+ * A listed language: its lines are tokenized with `grammar` (its id unless
18
+ * named), the definition the module `load` imports exports by that name; a
19
+ * markup grammar (`embeds`) also loads the style and script grammars it embeds.
20
+ */
21
+ const language = (id, label, load, grammar = id, embeds = false) => ({
22
+ id,
23
+ label,
24
+ grammar,
25
+ load: () => Promise.all([load(), embeds ? scripts() : []]).then(([module, embedded]) => [
26
+ module[grammar],
27
+ ...embedded
28
+ ])
29
+ });
19
30
  /** The default languages, after Notion's list, sorted by label (Plain text first). */
20
31
  export const CODE_LANGUAGES = [
21
32
  { id: 'plaintext', label: 'Plain text' },
22
- {
23
- id: 'bash',
24
- label: 'Bash',
25
- grammar: 'shell',
26
- load: () => import('@tanstack/highlight/languages/shell').then((m) => [m.shell])
27
- },
28
- {
29
- id: 'cpp',
30
- label: 'C++',
31
- grammar: 'cpp',
32
- load: () => import('@tanstack/highlight/languages/cpp').then((m) => [m.cpp])
33
- },
34
- {
35
- id: 'css',
36
- label: 'CSS',
37
- grammar: 'css',
38
- load: () => import('@tanstack/highlight/languages/css').then((m) => [m.css])
39
- },
40
- {
41
- id: 'diff',
42
- label: 'Diff',
43
- grammar: 'diff',
44
- load: () => import('@tanstack/highlight/languages/diff').then((m) => [m.diff])
45
- },
46
- {
47
- id: 'docker',
48
- label: 'Docker',
49
- grammar: 'dockerfile',
50
- load: () => import('@tanstack/highlight/languages/dockerfile').then((m) => [m.dockerfile])
51
- },
52
- {
53
- id: 'go',
54
- label: 'Go',
55
- grammar: 'go',
56
- load: () => import('@tanstack/highlight/languages/go').then((m) => [m.go])
57
- },
58
- {
59
- id: 'html',
60
- label: 'HTML',
61
- grammar: 'html',
62
- load: markup(() => import('@tanstack/highlight/languages/html').then((m) => m.html))
63
- },
33
+ language('bash', 'Bash', () => import('@tanstack/highlight/languages/shell'), 'shell'),
34
+ language('cpp', 'C++', () => import('@tanstack/highlight/languages/cpp')),
35
+ language('css', 'CSS', css),
36
+ language('diff', 'Diff', () => import('@tanstack/highlight/languages/diff')),
37
+ language('docker', 'Docker', () => import('@tanstack/highlight/languages/dockerfile'), 'dockerfile'),
38
+ language('go', 'Go', () => import('@tanstack/highlight/languages/go')),
39
+ language('html', 'HTML', html, 'html', true),
64
40
  { id: 'javascript', label: 'JavaScript', grammar: 'jsx', load: async () => [jsx] },
65
- {
66
- id: 'json',
67
- label: 'JSON',
68
- grammar: 'json',
69
- load: () => import('@tanstack/highlight/languages/json').then((m) => [m.json])
70
- },
71
- {
72
- id: 'markdown',
73
- label: 'Markdown',
74
- grammar: 'markdown',
75
- load: () => import('@tanstack/highlight/languages/markdown').then((m) => [m.markdown])
76
- },
77
- {
78
- id: 'mermaid',
79
- label: 'Mermaid',
80
- grammar: 'mermaid',
81
- load: () => import('@tanstack/highlight/languages/mermaid').then((m) => [m.mermaid])
82
- },
83
- {
84
- id: 'php',
85
- label: 'PHP',
86
- grammar: 'php',
87
- load: () => import('@tanstack/highlight/languages/php').then((m) => [m.php])
88
- },
89
- {
90
- id: 'python',
91
- label: 'Python',
92
- grammar: 'python',
93
- load: () => import('@tanstack/highlight/languages/python').then((m) => [m.python])
94
- },
95
- {
96
- id: 'sql',
97
- label: 'SQL',
98
- grammar: 'sql',
99
- load: () => import('@tanstack/highlight/languages/sql').then((m) => [m.sql])
100
- },
101
- {
102
- id: 'svelte',
103
- label: 'Svelte',
104
- grammar: 'svelte',
105
- load: markup(() => import('@tanstack/highlight/languages/svelte').then((m) => m.svelte))
106
- },
107
- {
108
- id: 'toml',
109
- label: 'TOML',
110
- grammar: 'toml',
111
- load: () => import('@tanstack/highlight/languages/toml').then((m) => [m.toml])
112
- },
113
- {
114
- id: 'typescript',
115
- label: 'TypeScript',
116
- grammar: 'ts',
117
- load: () => import('@tanstack/highlight/languages/ts').then((m) => [m.ts])
118
- },
119
- {
120
- id: 'vue',
121
- label: 'Vue',
122
- grammar: 'vue',
123
- load: markup(() => import('@tanstack/highlight/languages/vue').then((m) => m.vue))
124
- },
125
- {
126
- id: 'xml',
127
- label: 'XML',
128
- grammar: 'html',
129
- load: () => import('@tanstack/highlight/languages/html').then((m) => [m.html])
130
- },
131
- {
132
- id: 'yaml',
133
- label: 'YAML',
134
- grammar: 'yaml',
135
- load: () => import('@tanstack/highlight/languages/yaml').then((m) => [m.yaml])
136
- }
41
+ language('json', 'JSON', () => import('@tanstack/highlight/languages/json')),
42
+ language('markdown', 'Markdown', () => import('@tanstack/highlight/languages/markdown')),
43
+ language('mermaid', 'Mermaid', () => import('@tanstack/highlight/languages/mermaid')),
44
+ language('php', 'PHP', () => import('@tanstack/highlight/languages/php')),
45
+ language('python', 'Python', () => import('@tanstack/highlight/languages/python')),
46
+ language('sql', 'SQL', () => import('@tanstack/highlight/languages/sql')),
47
+ language('svelte', 'Svelte', () => import('@tanstack/highlight/languages/svelte'), 'svelte', true),
48
+ language('toml', 'TOML', () => import('@tanstack/highlight/languages/toml')),
49
+ language('typescript', 'TypeScript', ts, 'ts'),
50
+ language('vue', 'Vue', () => import('@tanstack/highlight/languages/vue'), 'vue', true),
51
+ language('xml', 'XML', html, 'html'),
52
+ language('yaml', 'YAML', () => import('@tanstack/highlight/languages/yaml'))
137
53
  ];
138
54
  /**
139
55
  * The grammars loaded so far, by name, shared by every editor (a grammar is
@@ -181,12 +97,7 @@ export const tokenizeCode = (code, language) => {
181
97
  };
182
98
  export const DEFAULT_CODE_SETTINGS = {
183
99
  languages: CODE_LANGUAGES,
184
- defaultLanguage: 'javascript',
185
- labels: englishLabels.code
100
+ defaultLanguage: 'javascript'
186
101
  };
187
- /** A language's label as shown: the labels' `languages` entry for its id, else its own. */
188
- export const languageLabel = (language, { labels }) => labels.languages[language.id] ?? language.label;
189
- /** Each view's code options, for its code blocks' header (which reads them through its view). */
190
- export const codeSettings = new WeakMap();
191
102
  /** A code block's language id: its `data.language`, else the default. */
192
103
  export const languageOf = (data, { defaultLanguage }) => (typeof data?.language === 'string' && data.language ? data.language : defaultLanguage);
@@ -1,10 +1,11 @@
1
1
  <script lang="ts">
2
- import { GUIDE, type ColumnResize } from './resize.svelte.js';
2
+ import type { ColumnResize } from './resize.svelte.js';
3
3
 
4
4
  /**
5
5
  * The resize bands of the hovered layout and the guide of a drag
6
- * (`ColumnResize`), in the overlay: each band the gap's left part, above
7
- * the block handles (their `+` and grip together right of it, `gaps.ts`);
6
+ * (`ColumnResize`), in the overlay: each band centered in its gap, above
7
+ * the block handles (their `+` and grip flush with the
8
+ * column, `gaps.ts`);
8
9
  * hovered, it shows a gray guide in its middle: where the guide shows, a
9
10
  * press resizes. A band is a focusable separator: its arrows resize
10
11
  * (`resize.key`), focused it shows its guide in the resize color.
@@ -13,7 +14,7 @@
13
14
 
14
15
  // The view turning readonly mid-drag drops the preview at once (round 4).
15
16
  $effect(() => {
16
- if (resize.readonly) resize.lock();
17
+ if (resize.readonly) resize.band.lock();
17
18
  });
18
19
  </script>
19
20
 
@@ -39,11 +40,9 @@
39
40
  style:width="{strip.width}px"
40
41
  style:height="{strip.height}px"
41
42
  style:cursor="col-resize"
42
- style:--edytor-column-resize-guide-width="{GUIDE}px"
43
- data-dragging={resize.drag ? 'true' : undefined}
44
- data-selecting={resize.selecting ? 'true' : undefined}
45
- onpointerdown={(event) => resize.start(event, strip)}
46
- onmousedown={(event) => resize.mousedown(event, strip)}
43
+ data-dragging={resize.band.drag ? 'true' : undefined}
44
+ data-selecting={resize.band.selecting ? 'true' : undefined}
45
+ {@attach resize.band.press((event) => resize.start(event, strip))}
47
46
  onkeydown={(event) => resize.key(event, strip)}
48
47
  onfocus={() => resize.focus(strip, true)}
49
48
  onblur={() => resize.focus(strip, false)}
@@ -72,38 +71,28 @@
72
71
  pointer-events: none;
73
72
  }
74
73
 
75
- /* Notion's hover guide: a thin gray rule in the band's middle. */
74
+ /* The hover guide: a 2px rule in the band's middle, shown on hover (not while
75
+ * it drags) and on a keyboard focus. Painted by a theme (`edytor/themes/notion.css`). */
76
76
  [data-edytor-column-resize]::after {
77
77
  content: '';
78
78
  position: absolute;
79
79
  top: 0;
80
80
  bottom: 0;
81
- left: calc(50% - var(--edytor-column-resize-guide-width) / 2);
82
- width: var(--edytor-column-resize-guide-width);
83
- background: var(--edytor-columns-resize-color, rgba(55, 53, 47, 0.16));
84
- opacity: 0;
81
+ left: calc(50% - 1px);
82
+ width: 2px;
85
83
  pointer-events: none;
86
- transition: opacity 80ms ease;
87
- }
88
-
89
- [data-edytor-column-resize]:hover:not([data-dragging='true'])::after {
90
- opacity: 1;
84
+ visibility: hidden;
91
85
  }
92
86
 
93
- /* Focused from the keyboard: the guide shows in the resize color. */
94
- [data-edytor-column-resize]:focus-visible {
95
- outline: none;
96
- }
87
+ [data-edytor-column-resize]:hover:not([data-dragging='true'])::after,
97
88
  [data-edytor-column-resize]:focus-visible::after {
98
- opacity: 1;
99
- background: var(--edytor-column-resize-color, rgba(35, 131, 226, 0.43));
89
+ visibility: visible;
100
90
  }
101
91
 
102
- /* Notion's resize line: a thin blue rule where the gap will be. */
92
+ /* The resize line where the gap will be, while a band drags. */
103
93
  [data-edytor-column-resize-guide] {
104
94
  position: absolute;
105
95
  width: 2px;
106
- background: var(--edytor-column-resize-color, rgba(35, 131, 226, 0.43));
107
96
  pointer-events: none;
108
97
  }
109
98
  </style>
@@ -1,4 +1,4 @@
1
- import { type ColumnResize } from './resize.svelte.js';
1
+ import type { ColumnResize } from './resize.svelte.js';
2
2
  type $$ComponentProps = {
3
3
  resize: ColumnResize;
4
4
  };
@@ -11,7 +11,9 @@
11
11
  } from '../../selection/replaceSelection.js';
12
12
  import ColumnResizeStrips from './ColumnResize.svelte';
13
13
  import { ColumnResize, weightOf } from './resize.svelte.js';
14
- import { keywordsOf, labelsWith, type PartialLabels } from '../../labels.js';
14
+ import { hoverChrome } from '../bands.svelte.js';
15
+ import { all, listen } from '../../utils/listen.js';
16
+ import { columnsEnglish, keywordsOf, labelsOf } from '../../labels.js';
15
17
 
16
18
  export type ColumnsPluginOptions = {
17
19
  /**
@@ -19,20 +21,8 @@
19
21
  * width (default `0.1`). View-only: the document stores weights.
20
22
  */
21
23
  minWidth?: number;
22
- /** The words the layout commands and the resize bands say, over the English ones. */
23
- labels?: PartialLabels<'columns'>;
24
- /**
25
- * The slash menu's keywords of a layout command, by id (`columns.2` to
26
- * `columns.5`), which replace its own.
27
- */
28
- keywords?: Partial<Record<string, string[]>>;
29
24
  };
30
25
 
31
- const columnsPlugins = new WeakSet<Plugin>();
32
-
33
- /** Recognize any columns plugin instance (the component's default yields to yours). */
34
- export const isColumnsPlugin = (plugin: Plugin) => columnsPlugins.has(plugin);
35
-
36
26
  /** A weight read back from HTML (`data-width`), when it is one. */
37
27
  const parsedWidth = (element: HTMLElement): Record<string, number> => {
38
28
  const width = Number(element.getAttribute('data-width'));
@@ -51,19 +41,22 @@
51
41
  };
52
42
 
53
43
  /** The kind row of a layout of `n` columns, each holding one empty block of the column's default kind. */
54
- const layoutRow = (edytor: Edytor, n: number, options: ColumnsPluginOptions): KindRow => {
44
+ const layoutRow = (edytor: Edytor, n: number): KindRow => {
55
45
  const kid = edytor.document.defaultChild('column');
56
46
  const id = `columns.${n}`;
57
47
  return {
58
48
  id,
59
- label: labelsWith('columns', options.labels).columns(n),
49
+ label: labelsOf(edytor, 'columns', columnsEnglish).columns(n),
60
50
  group: 'Layout',
61
51
  // Notion's `/col3`, `/columns3` and `/column 3` too (query words match in order).
62
- keywords: keywordsOf(
63
- id,
64
- ['columns', 'layout', 'side by side', `col${n}`, `columns${n}`, `column ${n}`],
65
- options.keywords
66
- ),
52
+ keywords: keywordsOf(edytor, id, [
53
+ 'columns',
54
+ 'layout',
55
+ 'side by side',
56
+ `col${n}`,
57
+ `columns${n}`,
58
+ `column ${n}`
59
+ ]),
67
60
  value: {
68
61
  type: 'columns',
69
62
  data: {},
@@ -88,12 +81,8 @@
88
81
  * block column 1 of `n`, each other column holding an empty paragraph
89
82
  * (`wrapBlocks`, `layout.wrap`, Notion); the blocks stay selected.
90
83
  */
91
- const layoutCommand = (
92
- edytor: Edytor,
93
- n: number,
94
- options: ColumnsPluginOptions
95
- ): EditorCommand => {
96
- const { id, label, group, keywords } = layoutRow(edytor, n, options);
84
+ const layoutCommand = (edytor: Edytor, n: number): EditorCommand => {
85
+ const { id, label, group, keywords } = layoutRow(edytor, n);
97
86
  return {
98
87
  id,
99
88
  label,
@@ -101,7 +90,7 @@
101
90
  keywords,
102
91
  // Asked of the view given (a `+`'s menu asks it of the block it adds).
103
92
  isEnabled: (view = edytor) => {
104
- const block = view.selection.state.startBlock;
93
+ const block = view.selection.textRange().startText?.parent;
105
94
  return Boolean(block?.convertible) && !inColumn(block);
106
95
  },
107
96
  // Turn into: one block, or `n` sibling blocks, in `n` columns (`layout.wrap`, Notion).
@@ -114,12 +103,12 @@
114
103
  (selected.length === 1 || selected.length === n)
115
104
  )
116
105
  return wrapBlocks(edytor, selected, 'columns', n);
117
- const block = edytor.selection.state.startBlock;
106
+ const block = edytor.selection.textRange().startText?.parent;
118
107
  if (inColumn(block)) {
119
108
  edytor.dispatcher.record({ operation: 'setBlock', status: 'refused' });
120
109
  return false;
121
110
  }
122
- return convertToKind(edytor, block, layoutRow(edytor, n, options));
111
+ return convertToKind(edytor, block, layoutRow(edytor, n));
123
112
  }
124
113
  };
125
114
  };
@@ -148,57 +137,40 @@
148
137
  */
149
138
  export const createColumnsPlugin = (options: ColumnsPluginOptions = {}): Plugin => {
150
139
  const plugin: Plugin = (edytor) => {
151
- const resize = new ColumnResize(
152
- edytor,
153
- options.minWidth ?? 0.1,
154
- labelsWith('columns', options.labels)
155
- );
140
+ const resize = new ColumnResize(edytor, options.minWidth ?? 0.1);
156
141
  return {
157
- commands: [2, 3, 4, 5].map((n) => layoutCommand(edytor, n, options)),
142
+ commands: [2, 3, 4, 5].map((n) => layoutCommand(edytor, n)),
158
143
  // The layout holding the caret shows its bands (the keyboard's way to them).
159
144
  onSelectionChange: () => edytor.overlay.invalidate(),
160
145
  // The resize bands: in the overlay, for the layout under the pointer.
161
146
  onEdytorAttached: ({ node }) => {
162
- const over = (event: PointerEvent) => resize.hover(event.target);
163
- const leave = (event: PointerEvent) => !resize.drag && resize.leave(event.relatedTarget);
164
- // The overlay (a band, a handle in a gap) keeps the bands while the pointer is on it.
165
- const layer = edytor.overlay.layer;
166
- // A block drag owns the pointer: no strip takes it meanwhile.
167
- const drag = (event: Event) => (resize.dragging = event.type === 'dragstart');
168
- const document = node.ownerDocument;
169
- node.addEventListener('pointerover', over);
170
- node.addEventListener('pointerleave', leave);
171
- layer?.addEventListener('pointerleave', leave);
172
- // A column block's handle in a gap stands for its block (the bands show over its layout).
173
- const overHandle = (event: PointerEvent) => {
174
- const handle = (event.target as Element | null)?.closest?.<HTMLElement>(
175
- '[data-edytor-block-handle-host][data-block-id]'
176
- );
177
- const id = handle?.dataset.blockId;
178
- if (id) resize.hover(edytor.idToBlock.get(id)?.node ?? null);
179
- };
180
- layer?.addEventListener('pointerover', overHandle);
181
- document.addEventListener('dragstart', drag, true);
182
- document.addEventListener('dragend', drag, true);
183
- document.addEventListener('drop', drag, true);
184
- const unmount = edytor.overlay.mount(
185
- ColumnResizeStrips,
186
- { resize },
187
- 'edytor-column-resizers',
188
- // Above the block handles (5): the band is the gap's left part at every height.
189
- 6,
190
- resize.measure
147
+ const off = all(
148
+ // The overlay (a band, a handle in a gap) keeps the bands while the pointer is on
149
+ // it; a block drag owns the pointer: no strip takes it meanwhile.
150
+ hoverChrome(
151
+ edytor,
152
+ node,
153
+ resize.hover,
154
+ resize.leave,
155
+ (event) => (resize.dragging = event.type === 'dragstart')
156
+ ),
157
+ // A column block's handle in a gap stands for its block (the bands show over its layout).
158
+ listen(edytor.overlay.layer, 'pointerover', (event) => {
159
+ const id = (event.target as Element | null)?.closest?.<HTMLElement>(
160
+ '[data-edytor-block-handle-host][data-block-id]'
161
+ )?.dataset.blockId;
162
+ if (id) resize.hover(edytor.idToBlock.get(id)?.node ?? null);
163
+ }),
164
+ edytor.overlay.mount(
165
+ ColumnResizeStrips,
166
+ { resize },
167
+ 'edytor-column-resizers',
168
+ // Above the block handles (5): the band centered in the gap at every height.
169
+ 6,
170
+ resize.measure
171
+ )
191
172
  );
192
- return () => {
193
- node.removeEventListener('pointerover', over);
194
- node.removeEventListener('pointerleave', leave);
195
- layer?.removeEventListener('pointerleave', leave);
196
- layer?.removeEventListener('pointerover', overHandle);
197
- document.removeEventListener('dragstart', drag, true);
198
- document.removeEventListener('dragend', drag, true);
199
- document.removeEventListener('drop', drag, true);
200
- unmount();
201
- };
173
+ return off;
202
174
  },
203
175
  blocks: {
204
176
  columns: {
@@ -229,12 +201,8 @@
229
201
  }
230
202
  };
231
203
  };
232
- columnsPlugins.add(plugin);
233
204
  return plugin;
234
205
  };
235
-
236
- /** Columns with the default options. */
237
- export const columnsPlugin = createColumnsPlugin();
238
206
  </script>
239
207
 
240
208
  <!--
@@ -1,22 +1,12 @@
1
1
  import './columns.css';
2
2
  import type { Plugin } from '../../plugins.js';
3
- import { type PartialLabels } from '../../labels.js';
4
3
  export type ColumnsPluginOptions = {
5
4
  /**
6
5
  * The narrowest a column may be resized to, as a fraction of its layout's
7
6
  * width (default `0.1`). View-only: the document stores weights.
8
7
  */
9
8
  minWidth?: number;
10
- /** The words the layout commands and the resize bands say, over the English ones. */
11
- labels?: PartialLabels<'columns'>;
12
- /**
13
- * The slash menu's keywords of a layout command, by id (`columns.2` to
14
- * `columns.5`), which replace its own.
15
- */
16
- keywords?: Partial<Record<string, string[]>>;
17
9
  };
18
- /** Recognize any columns plugin instance (the component's default yields to yours). */
19
- export declare const isColumnsPlugin: (plugin: Plugin) => boolean;
20
10
  /**
21
11
  * Notion's columns (docs/columns-plan.md): a `columns` layout shows its
22
12
  * `column`s side by side, each holding any blocks; a column grows by its
@@ -26,8 +16,6 @@ export declare const isColumnsPlugin: (plugin: Plugin) => boolean;
26
16
  * out and stacks them below a 480px wide layout.
27
17
  */
28
18
  export declare const createColumnsPlugin: (options?: ColumnsPluginOptions) => Plugin;
29
- /** Columns with the default options. */
30
- export declare const columnsPlugin: Plugin;
31
19
  interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
32
20
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
33
21
  $$bindings?: Bindings;
@@ -1,9 +1,11 @@
1
1
  /*
2
- * Columns (`docs/columns-plan.md`): a layout lays its columns out side by
3
- * side in its one children container, each column growing by its weight
4
- * (`flex: <width> 1 0`, set on the column by the kind's element), with
5
- * `--edytor-columns-gap` between them. Neither container is a nesting step:
6
- * their indent is zeroed. Below a 480px wide layout the columns stack.
2
+ * Columns: a layout lays its columns out side by side in its one children
3
+ * container, each column growing by its weight (`flex: <width> 1 0`, set on
4
+ * the column by the kind's element), with `--edytor-columns-gap` between
5
+ * them (the gap the resize bands and the handles share, `gaps.ts`).
6
+ * Neither container is a nesting step: their indent is zeroed. Below a
7
+ * 480px wide layout the columns stack. The look (a selected layout's
8
+ * highlight, the columns' edges) is a theme's.
7
9
  */
8
10
  [data-edytor-block][data-edytor-columns] {
9
11
  container-type: inline-size;
@@ -19,13 +21,6 @@
19
21
  [data-edytor-block][data-edytor-column] > [data-edytor-children] {
20
22
  padding-inline-start: 0;
21
23
  }
22
- /* A column's first and last blocks sit flush with the layout's edges. */
23
- [data-edytor-column] > [data-edytor-children] > [data-edytor-block]:first-child {
24
- margin-top: 0;
25
- }
26
- [data-edytor-column] > [data-edytor-children] > [data-edytor-block]:last-child {
27
- margin-bottom: 0;
28
- }
29
24
  @container (max-width: 480px) {
30
25
  [data-edytor-block][data-edytor-columns] > [data-edytor-children] {
31
26
  flex-direction: column;
@@ -36,17 +31,3 @@
36
31
  flex: 0 0 auto !important;
37
32
  }
38
33
  }
39
-
40
- /*
41
- * A block selection standing for the whole layout: one highlight over
42
- * the layout, none on its blocks.
43
- */
44
- [data-edytor-block][data-edytor-columns] > [data-edytor-children][data-edytor-columns-selected] {
45
- border-radius: 4px;
46
- background: var(--edytor-block-selection, rgba(35, 131, 226, 0.14));
47
- }
48
- [data-edytor-block][data-edytor-columns]
49
- > [data-edytor-children][data-edytor-columns-selected]
50
- [data-edytor-block] {
51
- background: transparent;
52
- }
@@ -19,11 +19,13 @@ export type Gap = {
19
19
  */
20
20
  export declare const gapBefore: (column: Block) => Gap | null;
21
21
  /**
22
- * The resize band of `gap`: its left part, `BAND` px (the gap's width when
23
- * narrower) from the column before it, where the guide shows. The handle of
24
- * a column's block takes the rest (`handleSpan`): its `+` and grip together
25
- * flush with the block (Notion's "+ ⋮⋮"), so at the default 46px gap
26
- * (`--edytor-columns-gap`: 10 + 18 + 18) neither is under the band.
22
+ * The resize band of `gap`: `BAND` px (the gap's width when narrower)
23
+ * centered in it, its guide on the gap's middle line (Notion's). The handle
24
+ * of a column's block takes the gap's right part (`handleSpan`): its box
25
+ * from the band to the block, its `+` and grip flush with the block
26
+ * (Notion's "+ ⋮⋮", over the band where the gap is narrower than they are).
27
+ * At the default 46px gap (`--edytor-columns-gap`): the band 18–28, the
28
+ * handle's box 28–46.
27
29
  */
28
30
  export declare const bandOf: ({ left, right }: Gap) => {
29
31
  left: number;
@@ -27,13 +27,18 @@ export const gapBefore = (column) => {
27
27
  return null;
28
28
  };
29
29
  /**
30
- * The resize band of `gap`: its left part, `BAND` px (the gap's width when
31
- * narrower) from the column before it, where the guide shows. The handle of
32
- * a column's block takes the rest (`handleSpan`): its `+` and grip together
33
- * flush with the block (Notion's "+ ⋮⋮"), so at the default 46px gap
34
- * (`--edytor-columns-gap`: 10 + 18 + 18) neither is under the band.
30
+ * The resize band of `gap`: `BAND` px (the gap's width when narrower)
31
+ * centered in it, its guide on the gap's middle line (Notion's). The handle
32
+ * of a column's block takes the gap's right part (`handleSpan`): its box
33
+ * from the band to the block, its `+` and grip flush with the block
34
+ * (Notion's "+ ⋮⋮", over the band where the gap is narrower than they are).
35
+ * At the default 46px gap (`--edytor-columns-gap`): the band 18–28, the
36
+ * handle's box 28–46.
35
37
  */
36
- export const bandOf = ({ left, right }) => ({ left, width: Math.min(BAND, right - left) });
38
+ export const bandOf = ({ left, right }) => {
39
+ const width = Math.min(BAND, right - left);
40
+ return { left: left + (right - left - width) / 2, width };
41
+ };
37
42
  /** The width a column block's handle spans in `gap`: from the band's right edge to the block at `blockLeft`. */
38
43
  export const handleSpan = (gap, blockLeft) => {
39
44
  const band = bandOf(gap);