edytor 1.0.0-rc.3 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (667) hide show
  1. package/README.md +21 -39
  2. package/dist/block/block.svelte.d.ts +11 -84
  3. package/dist/block/block.svelte.js +30 -134
  4. package/dist/block/colors.d.ts +0 -9
  5. package/dist/block/colors.js +1 -18
  6. package/dist/block/contentRange.d.ts +5 -1
  7. package/dist/block/contentRange.js +15 -16
  8. package/dist/block/inlineBlock.svelte.d.ts +11 -9
  9. package/dist/block/inlineBlock.svelte.js +18 -21
  10. package/dist/clipboard/createClipboardFragment.js +22 -64
  11. package/dist/clipboard/fragmentData.js +17 -42
  12. package/dist/clipboard/htmlFlow.js +7 -7
  13. package/dist/clipboard/insertClipboardFragment.js +5 -4
  14. package/dist/clipboard/moveText.js +16 -8
  15. package/dist/clipboard/serializeClipboardFragment.d.ts +2 -0
  16. package/dist/clipboard/serializeClipboardFragment.js +32 -28
  17. package/dist/cloudflare/DocumentRoom.d.ts +4 -17
  18. package/dist/cloudflare/DocumentRoom.js +3 -5
  19. package/dist/cloudflare/move.d.ts +1 -18
  20. package/dist/cloudflare/move.js +2 -48
  21. package/dist/cloudflare/room/admission.d.ts +1 -60
  22. package/dist/cloudflare/room/admission.js +25 -29
  23. package/dist/cloudflare/room/comments.d.ts +1 -3
  24. package/dist/cloudflare/room/comments.js +6 -6
  25. package/dist/cloudflare/room/context.d.ts +25 -82
  26. package/dist/cloudflare/room/context.js +8 -8
  27. package/dist/cloudflare/room/forged.d.ts +1 -1
  28. package/dist/cloudflare/room/forged.js +2 -12
  29. package/dist/cloudflare/room/frames.d.ts +1 -1
  30. package/dist/cloudflare/room/frames.js +1 -1
  31. package/dist/cloudflare/room/history.d.ts +1 -25
  32. package/dist/cloudflare/room/history.js +39 -54
  33. package/dist/cloudflare/room/moves.d.ts +1 -13
  34. package/dist/cloudflare/room/moves.js +33 -57
  35. package/dist/cloudflare/room/presence.d.ts +1 -11
  36. package/dist/cloudflare/room/presence.js +4 -4
  37. package/dist/cloudflare/room/purge.d.ts +1 -2
  38. package/dist/cloudflare/room/purge.js +2 -2
  39. package/dist/cloudflare/room/replicas.d.ts +1 -7
  40. package/dist/cloudflare/room/replicas.js +2 -2
  41. package/dist/cloudflare/room/storage.d.ts +3 -32
  42. package/dist/cloudflare/room/storage.js +33 -108
  43. package/dist/cloudflare/room/updates.d.ts +4 -4
  44. package/dist/cloudflare/room/updates.js +17 -24
  45. package/dist/cloudflare/room/validation.d.ts +1 -5
  46. package/dist/cloudflare/room/validation.js +16 -37
  47. package/dist/collaboration/RemoteSelections.svelte +13 -17
  48. package/dist/collaboration/awarenessSelection.d.ts +22 -1
  49. package/dist/collaboration/awarenessSelection.js +42 -0
  50. package/dist/collaboration/comments/client.d.ts +2 -2
  51. package/dist/collaboration/comments/client.js +1 -1
  52. package/dist/collaboration/history/index.d.ts +5 -5
  53. package/dist/collaboration/history/index.js +5 -5
  54. package/dist/collaboration/history/panel.svelte.d.ts +91 -0
  55. package/dist/collaboration/history/panel.svelte.js +223 -0
  56. package/dist/collaboration/providers.d.ts +12 -3
  57. package/dist/collaboration/providers.js +5 -4
  58. package/dist/components/Block.svelte +42 -56
  59. package/dist/components/Block.svelte.d.ts +7 -5
  60. package/dist/components/Content.svelte +1 -5
  61. package/dist/components/Edytor.svelte +82 -99
  62. package/dist/components/Edytor.svelte.d.ts +16 -13
  63. package/dist/components/InlineBlock.svelte +1 -1
  64. package/dist/components/Ranges.svelte +96 -0
  65. package/dist/components/Ranges.svelte.d.ts +19 -0
  66. package/dist/components/Suggestion.svelte +3 -2
  67. package/dist/components/Text.svelte +2 -5
  68. package/dist/components/Text.svelte.d.ts +1 -1
  69. package/dist/crdt/admission.d.ts +2 -9
  70. package/dist/crdt/admission.js +3 -9
  71. package/dist/crdt/attribution/attribution.d.ts +11 -72
  72. package/dist/crdt/attribution/attribution.js +5 -52
  73. package/dist/crdt/attribution/block.d.ts +0 -78
  74. package/dist/crdt/attribution/block.js +1 -144
  75. package/dist/crdt/data.d.ts +18 -13
  76. package/dist/crdt/data.js +49 -71
  77. package/dist/crdt/doc/anchors.js +4 -4
  78. package/dist/crdt/doc/content.d.ts +5 -1
  79. package/dist/crdt/doc/content.js +3 -1
  80. package/dist/crdt/doc/delete.d.ts +1 -0
  81. package/dist/crdt/doc/funnel.d.ts +0 -23
  82. package/dist/crdt/doc/funnel.js +34 -85
  83. package/dist/crdt/doc/gate.d.ts +8 -9
  84. package/dist/crdt/doc/gate.js +7 -17
  85. package/dist/crdt/doc/history.d.ts +87 -14
  86. package/dist/crdt/doc/history.js +334 -149
  87. package/dist/crdt/doc/layout.d.ts +0 -1
  88. package/dist/crdt/doc/layout.js +2 -3
  89. package/dist/crdt/doc/meta.d.ts +4 -4
  90. package/dist/crdt/doc/meta.js +10 -21
  91. package/dist/crdt/doc/moves.d.ts +4 -4
  92. package/dist/crdt/doc/moves.js +5 -5
  93. package/dist/crdt/doc/plan.d.ts +2 -0
  94. package/dist/crdt/doc/plan.js +2 -0
  95. package/dist/crdt/doc/reads.d.ts +8 -5
  96. package/dist/crdt/doc/reads.js +49 -50
  97. package/dist/crdt/doc/seed.d.ts +15 -6
  98. package/dist/crdt/doc/seed.js +27 -26
  99. package/dist/crdt/doc/split-merge.d.ts +1 -3
  100. package/dist/crdt/doc/split-merge.js +4 -5
  101. package/dist/crdt/doc/steps.d.ts +3 -7
  102. package/dist/crdt/doc/steps.js +20 -9
  103. package/dist/crdt/doc/types.d.ts +0 -10
  104. package/dist/crdt/document.d.ts +32 -115
  105. package/dist/crdt/document.js +216 -302
  106. package/dist/crdt/edytor-doc.d.ts +689 -90
  107. package/dist/crdt/edytor-doc.js +74 -149
  108. package/dist/crdt/engine-api.d.ts +15 -47
  109. package/dist/crdt/engine.d.ts +7 -17
  110. package/dist/crdt/engine.js +9 -19
  111. package/dist/crdt/flow.d.ts +9 -37
  112. package/dist/crdt/flow.js +260 -238
  113. package/dist/crdt/index.d.ts +32 -85
  114. package/dist/crdt/index.js +21 -47
  115. package/dist/crdt/operations.d.ts +24 -33
  116. package/dist/crdt/operations.js +8 -17
  117. package/dist/crdt/placement/display.d.ts +0 -2
  118. package/dist/crdt/placement/display.js +0 -15
  119. package/dist/crdt/placement/model.d.ts +160 -12
  120. package/dist/crdt/placement/model.js +413 -414
  121. package/dist/crdt/placement/rank.d.ts +1 -5
  122. package/dist/crdt/placement/rank.js +28 -38
  123. package/dist/crdt/props.d.ts +32 -0
  124. package/dist/crdt/props.js +172 -0
  125. package/dist/crdt/protocol.d.ts +4 -5
  126. package/dist/crdt/protocol.js +3 -4
  127. package/dist/crdt/protocols/awareness.d.ts +3 -7
  128. package/dist/crdt/protocols/awareness.js +17 -33
  129. package/dist/crdt/protocols/envelope.d.ts +9 -29
  130. package/dist/crdt/protocols/envelope.js +8 -25
  131. package/dist/crdt/protocols/sync.d.ts +15 -30
  132. package/dist/crdt/protocols/sync.js +27 -89
  133. package/dist/crdt/providers/bound.d.ts +3 -1
  134. package/dist/crdt/providers/bound.js +3 -1
  135. package/dist/crdt/providers/container.d.ts +11 -17
  136. package/dist/crdt/providers/container.js +39 -27
  137. package/dist/crdt/providers/index.d.ts +34 -6
  138. package/dist/crdt/providers/index.js +106 -111
  139. package/dist/crdt/providers/indexeddb.d.ts +2 -12
  140. package/dist/crdt/providers/indexeddb.js +29 -90
  141. package/dist/crdt/providers/room.d.ts +58 -2
  142. package/dist/crdt/providers/room.js +38 -21
  143. package/dist/crdt/providers/websocket.d.ts +1 -1
  144. package/dist/crdt/providers/websocket.js +3 -4
  145. package/dist/crdt/purge.d.ts +2 -2
  146. package/dist/crdt/purge.js +69 -6
  147. package/dist/crdt/rangeDelete.d.ts +4 -42
  148. package/dist/crdt/rangeDelete.js +7 -6
  149. package/dist/crdt/restore.d.ts +21 -1
  150. package/dist/crdt/restore.js +54 -59
  151. package/dist/crdt/schema.d.ts +2 -2
  152. package/dist/crdt/schema.js +4 -5
  153. package/dist/crdt/semantics.d.ts +10 -15
  154. package/dist/crdt/semantics.js +22 -21
  155. package/dist/crdt/storage.d.ts +7 -13
  156. package/dist/crdt/storage.js +10 -24
  157. package/dist/crdt/structs.d.ts +42 -47
  158. package/dist/crdt/structs.js +76 -67
  159. package/dist/crdt/tables.d.ts +9 -0
  160. package/dist/crdt/tables.js +20 -0
  161. package/dist/crdt/text/delete-index.d.ts +0 -13
  162. package/dist/crdt/text/delete-index.js +7 -14
  163. package/dist/crdt/text/deletes.d.ts +9 -22
  164. package/dist/crdt/text/deletes.js +11 -74
  165. package/dist/crdt/text/index/cache.js +3 -3
  166. package/dist/crdt/text/index/fold.d.ts +1 -2
  167. package/dist/crdt/text/index/fold.js +15 -10
  168. package/dist/crdt/text/index/layout.d.ts +0 -10
  169. package/dist/crdt/text/index/layout.js +6 -20
  170. package/dist/crdt/text/index/records.js +2 -1
  171. package/dist/crdt/text/index/report.js +5 -6
  172. package/dist/crdt/text/index/shared.d.ts +11 -4
  173. package/dist/crdt/text/index/shared.js +8 -7
  174. package/dist/crdt/text/index/state.d.ts +3 -33
  175. package/dist/crdt/text/index/state.js +2 -4
  176. package/dist/crdt/text/model.d.ts +82 -2
  177. package/dist/crdt/text/model.js +344 -354
  178. package/dist/crdt/text/rows.d.ts +0 -2
  179. package/dist/crdt/text/rows.js +0 -11
  180. package/dist/crdt/text/runs.d.ts +6 -3
  181. package/dist/crdt/text/runs.js +132 -137
  182. package/dist/crdt/text/streams.d.ts +1 -1
  183. package/dist/crdt/text/streams.js +1 -1
  184. package/dist/crdt/vendor/yjs/API-NOTES.md +25 -8
  185. package/dist/crdt/vendor/yjs/UPSTREAM.md +288 -8
  186. package/dist/crdt/vendor/yjs/dts/global.d.ts +5 -26
  187. package/dist/crdt/vendor/yjs/dts/index.d.ts +10 -15
  188. package/dist/crdt/vendor/yjs/dts/structs/AbstractStruct.d.ts +2 -2
  189. package/dist/crdt/vendor/yjs/dts/structs/Item.d.ts +14 -219
  190. package/dist/crdt/vendor/yjs/dts/structs/Skip.d.ts +2 -2
  191. package/dist/crdt/vendor/yjs/dts/utils/BlockSet.d.ts +2 -2
  192. package/dist/crdt/vendor/yjs/dts/utils/Doc.d.ts +12 -123
  193. package/dist/crdt/vendor/yjs/dts/utils/ID.d.ts +1 -1
  194. package/dist/crdt/vendor/yjs/dts/utils/RangeCursor.d.ts +37 -58
  195. package/dist/crdt/vendor/yjs/dts/utils/Transaction.d.ts +3 -78
  196. package/dist/crdt/vendor/yjs/dts/utils/UpdateDecoder.d.ts +2 -81
  197. package/dist/crdt/vendor/yjs/dts/utils/UpdateEncoder.d.ts +2 -74
  198. package/dist/crdt/vendor/yjs/dts/utils/encoding-helpers.d.ts +4 -4
  199. package/dist/crdt/vendor/yjs/dts/utils/encoding.d.ts +6 -18
  200. package/dist/crdt/vendor/yjs/dts/utils/ids.d.ts +12 -237
  201. package/dist/crdt/vendor/yjs/dts/utils/positions.d.ts +5 -0
  202. package/dist/crdt/vendor/yjs/dts/utils/redo.d.ts +3 -0
  203. package/dist/crdt/vendor/yjs/dts/utils/transaction-helpers.d.ts +1 -3
  204. package/dist/crdt/vendor/yjs/dts/utils/updates.d.ts +6 -23
  205. package/dist/crdt/vendor/yjs/dts/ynode.d.ts +73 -498
  206. package/dist/crdt/vendor/yjs/global.d.ts +5 -26
  207. package/dist/crdt/vendor/yjs/src/index.js +11 -25
  208. package/dist/crdt/vendor/yjs/src/structs/AbstractStruct.js +1 -1
  209. package/dist/crdt/vendor/yjs/src/structs/GC.js +1 -1
  210. package/dist/crdt/vendor/yjs/src/structs/Item.js +10 -372
  211. package/dist/crdt/vendor/yjs/src/structs/Skip.js +1 -1
  212. package/dist/crdt/vendor/yjs/src/utils/BlockSet.js +2 -2
  213. package/dist/crdt/vendor/yjs/src/utils/Doc.js +14 -170
  214. package/dist/crdt/vendor/yjs/src/utils/ID.js +1 -1
  215. package/dist/crdt/vendor/yjs/src/utils/RangeCursor.js +61 -128
  216. package/dist/crdt/vendor/yjs/src/utils/StructStore.js +0 -22
  217. package/dist/crdt/vendor/yjs/src/utils/Transaction.js +17 -282
  218. package/dist/crdt/vendor/yjs/src/utils/UpdateDecoder.js +3 -130
  219. package/dist/crdt/vendor/yjs/src/utils/UpdateEncoder.js +2 -132
  220. package/dist/crdt/vendor/yjs/src/utils/encoding-helpers.js +4 -4
  221. package/dist/crdt/vendor/yjs/src/utils/encoding.js +49 -146
  222. package/dist/crdt/vendor/yjs/src/utils/ids.js +23 -900
  223. package/dist/crdt/vendor/yjs/src/utils/positions.js +115 -0
  224. package/dist/crdt/vendor/yjs/src/utils/redo.js +143 -0
  225. package/dist/crdt/vendor/yjs/src/utils/transaction-helpers.js +10 -127
  226. package/dist/crdt/vendor/yjs/src/utils/updates.js +7 -50
  227. package/dist/crdt/vendor/yjs/src/ynode.js +261 -2226
  228. package/dist/dnd/autoScroll.js +1 -2
  229. package/dist/{plugins/blockHandles → dnd}/dropIndicator.d.ts +2 -2
  230. package/dist/{plugins/blockHandles → dnd}/dropIndicator.js +52 -60
  231. package/dist/{plugins/blockHandles → dnd}/geometry.d.ts +4 -3
  232. package/dist/{plugins/blockHandles → dnd}/geometry.js +6 -6
  233. package/dist/dnd/placement.d.ts +200 -0
  234. package/dist/dnd/placement.js +426 -0
  235. package/dist/dnd/pragmatic.d.ts +4 -22
  236. package/dist/dnd/pragmatic.js +7 -26
  237. package/dist/dnd/track.d.ts +14 -0
  238. package/dist/dnd/track.js +55 -0
  239. package/dist/dnd/vendor/pragmatic/UPSTREAM.md +103 -0
  240. package/dist/dnd/vendor/pragmatic/bind-event-listener/LICENSE +21 -0
  241. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind-all.js +46 -0
  242. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind.js +7 -0
  243. package/dist/dnd/vendor/pragmatic/bind-event-listener/index.js +2 -0
  244. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/LICENSE.md +11 -0
  245. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter-native-data-key.js +6 -0
  246. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.d.ts +57 -0
  247. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.js +306 -0
  248. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.d.ts +8 -0
  249. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.js +10 -0
  250. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.d.ts +4 -0
  251. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.js +6 -0
  252. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/types.d.ts +1 -0
  253. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/get-element-from-point-without-honey-pot.js +12 -0
  254. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/honey-pot-data-attribute.js +3 -0
  255. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/is-honey-pot-element.js +4 -0
  256. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/make-honey-pot-fix.js +333 -0
  257. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/internal-types.d.ts +350 -0
  258. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/dispatch-consumer-event.js +128 -0
  259. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/lifecycle-manager.js +340 -0
  260. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/usage-ledger.js +32 -0
  261. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-adapter.js +59 -0
  262. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-drop-target.js +288 -0
  263. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-monitor.js +85 -0
  264. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/combine.js +6 -0
  265. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.d.ts +36 -0
  266. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js +153 -0
  267. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/types.d.ts +16 -0
  268. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/once.js +13 -0
  269. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/add-attribute.js +7 -0
  270. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/android.js +10 -0
  271. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/count-events-for-safari.js +104 -0
  272. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-from-another-window.js +16 -0
  273. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window-in-safari.js +12 -0
  274. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window.js +55 -0
  275. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/detect-broken-drag.js +48 -0
  276. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/get-input.js +14 -0
  277. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-firefox.js +13 -0
  278. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-safari.js +19 -0
  279. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/max-z-index.js +3 -0
  280. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/text-media-type.js +6 -0
  281. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/url-media-type.js +6 -0
  282. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/popover-reset-styles.js +40 -0
  283. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/supports-popover.js +16 -0
  284. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/LICENSE.md +11 -0
  285. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.d.ts +4 -0
  286. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.js +8 -0
  287. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/internal-types.d.ts +50 -0
  288. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/data-attributes.js +9 -0
  289. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/get-scroll-by.js +117 -0
  290. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/make-api.js +90 -0
  291. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/try-scroll.js +183 -0
  292. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/axis.js +22 -0
  293. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/can-scroll-on-edge.js +17 -0
  294. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/configuration.js +49 -0
  295. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/edges.js +9 -0
  296. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/engagement-history.js +43 -0
  297. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-over-element-hitbox.js +50 -0
  298. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-percentage-in-range.js +19 -0
  299. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-scroll-change.js +106 -0
  300. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-axis-allowed.js +3 -0
  301. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-within.js +11 -0
  302. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/scheduler.js +104 -0
  303. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/side.js +6 -0
  304. package/dist/dnd/vendor/pragmatic/raf-schd/LICENSE +21 -0
  305. package/dist/dnd/vendor/pragmatic/raf-schd/raf-schd.esm.js +34 -0
  306. package/dist/edytor.svelte.d.ts +46 -63
  307. package/dist/edytor.svelte.js +126 -181
  308. package/dist/events/beforeInputCommands.d.ts +6 -11
  309. package/dist/events/beforeInputCommands.js +189 -181
  310. package/dist/events/beforeInputDeleteCommands.d.ts +20 -1
  311. package/dist/events/beforeInputDeleteCommands.js +153 -204
  312. package/dist/events/domTextOffset.d.ts +9 -9
  313. package/dist/events/domTextOffset.js +20 -48
  314. package/dist/events/events.utils.d.ts +0 -2
  315. package/dist/events/events.utils.js +0 -4
  316. package/dist/events/nativeInteractiveControl.d.ts +13 -13
  317. package/dist/events/nativeInteractiveControl.js +28 -56
  318. package/dist/events/onBeforeInput.d.ts +6 -1
  319. package/dist/events/onBeforeInput.js +207 -331
  320. package/dist/events/onCopy.js +1 -5
  321. package/dist/events/onDrop.d.ts +7 -1
  322. package/dist/events/onDrop.js +64 -78
  323. package/dist/events/onFocus.d.ts +9 -4
  324. package/dist/events/onFocus.js +45 -67
  325. package/dist/events/onInput.d.ts +8 -4
  326. package/dist/events/onInput.js +34 -147
  327. package/dist/events/onKeyDown.js +55 -122
  328. package/dist/events/onPaste.d.ts +14 -1
  329. package/dist/events/onPaste.js +51 -76
  330. package/dist/index.d.ts +11 -15
  331. package/dist/index.js +3 -3
  332. package/dist/kinds.d.ts +4 -6
  333. package/dist/kinds.js +28 -27
  334. package/dist/labels.d.ts +83 -320
  335. package/dist/labels.js +181 -408
  336. package/dist/plugins/Chrome.svelte +29 -0
  337. package/dist/plugins/Chrome.svelte.d.ts +32 -0
  338. package/dist/plugins/Control.svelte +23 -0
  339. package/dist/plugins/Control.svelte.d.ts +30 -0
  340. package/dist/plugins/anchored.svelte.d.ts +47 -0
  341. package/dist/plugins/anchored.svelte.js +73 -0
  342. package/dist/plugins/arrowMove/arrowMove.d.ts +2 -1
  343. package/dist/plugins/arrowMove/arrowMove.js +9 -5
  344. package/dist/plugins/bands.svelte.d.ts +57 -0
  345. package/dist/plugins/bands.svelte.js +95 -0
  346. package/dist/plugins/blockHandles/BlockHandle.svelte +14 -154
  347. package/dist/plugins/blockHandles/BlockHandle.svelte.d.ts +2 -2
  348. package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +21 -196
  349. package/dist/plugins/blockHandles/BlockHandleController.svelte.js +158 -573
  350. package/dist/plugins/blockHandles/BlockHandles.svelte +15 -23
  351. package/dist/plugins/blockHandles/BlockHandles.svelte.d.ts +2 -2
  352. package/dist/plugins/blockHandles/blockHandlesPlugin.d.ts +25 -39
  353. package/dist/plugins/blockHandles/blockHandlesPlugin.js +130 -185
  354. package/dist/plugins/blockHandles/dragPreview.d.ts +8 -6
  355. package/dist/plugins/blockHandles/dragPreview.js +18 -16
  356. package/dist/plugins/blockMenu/BlockMenuController.svelte.d.ts +28 -38
  357. package/dist/plugins/blockMenu/BlockMenuController.svelte.js +116 -183
  358. package/dist/plugins/blockMenu/blockMenuPlugin.d.ts +1 -3
  359. package/dist/plugins/blockMenu/blockMenuPlugin.js +12 -29
  360. package/dist/plugins/brand.d.ts +8 -0
  361. package/dist/plugins/brand.js +8 -0
  362. package/dist/plugins/chrome.d.ts +45 -38
  363. package/dist/plugins/chrome.js +59 -36
  364. package/dist/plugins/code/CodeHeader.svelte +8 -38
  365. package/dist/plugins/code/CodePlugin.svelte +53 -56
  366. package/dist/plugins/code/CodePlugin.svelte.d.ts +0 -2
  367. package/dist/plugins/code/LanguageMenu.svelte +16 -125
  368. package/dist/plugins/code/LanguageMenu.svelte.d.ts +2 -1
  369. package/dist/plugins/code/code.css +5 -117
  370. package/dist/plugins/code/header.svelte.d.ts +2 -11
  371. package/dist/plugins/code/header.svelte.js +11 -38
  372. package/dist/plugins/code/languageMenu.svelte.d.ts +12 -32
  373. package/dist/plugins/code/languageMenu.svelte.js +30 -160
  374. package/dist/plugins/code/languages.d.ts +9 -22
  375. package/dist/plugins/code/languages.js +39 -128
  376. package/dist/plugins/columns/ColumnResize.svelte +16 -27
  377. package/dist/plugins/columns/ColumnResize.svelte.d.ts +1 -1
  378. package/dist/plugins/columns/ColumnsPlugin.svelte +46 -78
  379. package/dist/plugins/columns/ColumnsPlugin.svelte.d.ts +0 -12
  380. package/dist/plugins/columns/columns.css +7 -26
  381. package/dist/plugins/columns/gaps.d.ts +7 -5
  382. package/dist/plugins/columns/gaps.js +11 -6
  383. package/dist/plugins/columns/resize.svelte.d.ts +17 -54
  384. package/dist/plugins/columns/resize.svelte.js +80 -173
  385. package/dist/plugins/comments/CommentsController.svelte.d.ts +1 -4
  386. package/dist/plugins/comments/CommentsController.svelte.js +14 -25
  387. package/dist/plugins/comments/CommentsSidebar.svelte +82 -431
  388. package/dist/plugins/comments/CommentsSidebar.svelte.d.ts +4 -2
  389. package/dist/plugins/comments/commentsPlugin.d.ts +25 -9
  390. package/dist/plugins/comments/commentsPlugin.js +12 -10
  391. package/dist/plugins/equation/EquationEditor.svelte +16 -130
  392. package/dist/plugins/equation/EquationEditor.svelte.d.ts +1 -2
  393. package/dist/plugins/equation/EquationPlugin.svelte +109 -172
  394. package/dist/plugins/equation/EquationPlugin.svelte.d.ts +3 -2
  395. package/dist/plugins/equation/EquationView.svelte +20 -11
  396. package/dist/plugins/equation/equation.css +7 -0
  397. package/dist/plugins/equation/equation.svelte.d.ts +37 -24
  398. package/dist/plugins/equation/equation.svelte.js +20 -94
  399. package/dist/plugins/equation/katex.js +6 -9
  400. package/dist/plugins/fileDrop.d.ts +28 -0
  401. package/dist/plugins/fileDrop.js +116 -0
  402. package/dist/plugins/find/FindController.svelte.d.ts +8 -13
  403. package/dist/plugins/find/FindController.svelte.js +34 -55
  404. package/dist/plugins/find/findPlugin.d.ts +4 -8
  405. package/dist/plugins/find/findPlugin.js +29 -9
  406. package/dist/plugins/image/ImageChrome.svelte +6 -167
  407. package/dist/plugins/image/ImageChrome.svelte.d.ts +0 -2
  408. package/dist/plugins/image/ImagePlugin.svelte +71 -151
  409. package/dist/plugins/image/ImagePlugin.svelte.d.ts +12 -41
  410. package/dist/plugins/image/ImageToolbarHost.svelte +37 -0
  411. package/dist/plugins/image/ImageToolbarHost.svelte.d.ts +9 -0
  412. package/dist/plugins/image/controls.svelte.d.ts +6 -36
  413. package/dist/plugins/image/controls.svelte.js +43 -212
  414. package/dist/plugins/image/image.css +17 -0
  415. package/dist/plugins/image/image.d.ts +0 -5
  416. package/dist/plugins/image/image.js +0 -3
  417. package/dist/plugins/image/toolbar.svelte.d.ts +69 -0
  418. package/dist/plugins/image/toolbar.svelte.js +145 -0
  419. package/dist/plugins/index.d.ts +30 -26
  420. package/dist/plugins/index.js +28 -22
  421. package/dist/plugins/list.svelte.d.ts +128 -0
  422. package/dist/plugins/list.svelte.js +217 -0
  423. package/dist/plugins/markdownShortcuts.d.ts +1 -1
  424. package/dist/plugins/markdownShortcuts.js +10 -9
  425. package/dist/plugins/marquee/MarqueeBox.svelte +3 -20
  426. package/dist/plugins/marquee/MarqueeBox.svelte.d.ts +1 -1
  427. package/dist/plugins/marquee/MarqueeController.svelte.d.ts +0 -2
  428. package/dist/plugins/marquee/MarqueeController.svelte.js +20 -23
  429. package/dist/plugins/marquee/marquee.js +4 -21
  430. package/dist/plugins/marquee/marqueePlugin.d.ts +4 -3
  431. package/dist/plugins/marquee/marqueePlugin.js +16 -15
  432. package/dist/plugins/media/AudioPlugin.svelte +13 -88
  433. package/dist/plugins/media/AudioPlugin.svelte.d.ts +11 -4
  434. package/dist/plugins/media/BookmarkPlugin.svelte +113 -120
  435. package/dist/plugins/media/BookmarkPlugin.svelte.d.ts +10 -15
  436. package/dist/plugins/media/EmbedPlugin.svelte +82 -86
  437. package/dist/plugins/media/EmbedPlugin.svelte.d.ts +11 -17
  438. package/dist/plugins/media/EmptySlot.svelte +44 -0
  439. package/dist/plugins/media/EmptySlot.svelte.d.ts +25 -0
  440. package/dist/plugins/media/FilePlugin.svelte +45 -113
  441. package/dist/plugins/media/FilePlugin.svelte.d.ts +21 -4
  442. package/dist/plugins/media/MediaEmpty.svelte +51 -90
  443. package/dist/plugins/media/MediaEmpty.svelte.d.ts +26 -10
  444. package/dist/plugins/media/SourceBlock.svelte +200 -0
  445. package/dist/plugins/media/SourceBlock.svelte.d.ts +34 -0
  446. package/dist/plugins/media/UploadPreview.svelte +32 -0
  447. package/dist/plugins/media/UploadPreview.svelte.d.ts +11 -0
  448. package/dist/plugins/media/VideoPlugin.svelte +14 -97
  449. package/dist/plugins/media/VideoPlugin.svelte.d.ts +12 -5
  450. package/dist/plugins/media/empty.svelte.d.ts +47 -46
  451. package/dist/plugins/media/empty.svelte.js +67 -60
  452. package/dist/plugins/media/media.d.ts +97 -44
  453. package/dist/plugins/media/media.js +77 -99
  454. package/dist/plugins/media/upload.css +23 -0
  455. package/dist/plugins/media/urlPaste.svelte.d.ts +6 -37
  456. package/dist/plugins/media/urlPaste.svelte.js +32 -102
  457. package/dist/plugins/mention/MentionPlugin.svelte +84 -126
  458. package/dist/plugins/mention/MentionPlugin.svelte.d.ts +17 -27
  459. package/dist/plugins/mention/mention.css +6 -0
  460. package/dist/plugins/page/PageLink.svelte +54 -38
  461. package/dist/plugins/page/PagePlugin.svelte +20 -18
  462. package/dist/plugins/page/PagePlugin.svelte.d.ts +2 -4
  463. package/dist/plugins/page/page.d.ts +35 -9
  464. package/dist/plugins/page/page.js +3 -4
  465. package/dist/plugins/pageLink/PageLinkPlugin.svelte +154 -109
  466. package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +19 -26
  467. package/dist/plugins/pageLink/pageLink.css +6 -0
  468. package/dist/plugins/planned.d.ts +10 -0
  469. package/dist/plugins/planned.js +12 -0
  470. package/dist/plugins/richtext/CalloutIcon.svelte +13 -26
  471. package/dist/plugins/richtext/CalloutIconPicker.svelte +26 -0
  472. package/dist/plugins/richtext/CalloutIconPicker.svelte.d.ts +9 -0
  473. package/dist/plugins/richtext/EmptyBody.svelte +13 -20
  474. package/dist/plugins/richtext/RichTextControl.svelte +39 -0
  475. package/dist/plugins/richtext/RichTextControl.svelte.d.ts +8 -0
  476. package/dist/plugins/richtext/RichTextPlugin.svelte +174 -183
  477. package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +34 -34
  478. package/dist/plugins/richtext/TodoCheckbox.svelte +10 -21
  479. package/dist/plugins/richtext/TodoCheckbox.svelte.d.ts +0 -2
  480. package/dist/plugins/richtext/body.js +2 -2
  481. package/dist/plugins/richtext/calloutIcons.svelte.d.ts +50 -55
  482. package/dist/plugins/richtext/calloutIcons.svelte.js +86 -174
  483. package/dist/plugins/richtext/callouts.d.ts +15 -0
  484. package/dist/plugins/richtext/callouts.js +23 -0
  485. package/dist/plugins/richtext/controls.svelte.d.ts +110 -0
  486. package/dist/plugins/richtext/controls.svelte.js +126 -0
  487. package/dist/plugins/richtext/richTextOperations.js +37 -28
  488. package/dist/plugins/richtext/richtext.css +6 -0
  489. package/dist/plugins/slashMenu/SlashMenuController.svelte.d.ts +2 -14
  490. package/dist/plugins/slashMenu/SlashMenuController.svelte.js +34 -71
  491. package/dist/plugins/slashMenu/slashMenuPlugin.d.ts +9 -26
  492. package/dist/plugins/slashMenu/slashMenuPlugin.js +27 -68
  493. package/dist/plugins/suggestions/SuggestionBars.svelte +27 -84
  494. package/dist/plugins/suggestions/SuggestionBars.svelte.d.ts +9 -3
  495. package/dist/plugins/suggestions/suggestionsPlugin.d.ts +10 -18
  496. package/dist/plugins/suggestions/suggestionsPlugin.js +9 -24
  497. package/dist/plugins/table/TableChrome.svelte +40 -124
  498. package/dist/plugins/table/TablePlugin.svelte +106 -168
  499. package/dist/plugins/table/TablePlugin.svelte.d.ts +0 -4
  500. package/dist/plugins/table/chrome.svelte.d.ts +38 -141
  501. package/dist/plugins/table/chrome.svelte.js +340 -589
  502. package/dist/plugins/table/ops.d.ts +47 -0
  503. package/dist/plugins/table/ops.js +233 -0
  504. package/dist/plugins/table/table.css +16 -152
  505. package/dist/plugins/table/table.d.ts +15 -14
  506. package/dist/plugins/table/table.js +22 -16
  507. package/dist/plugins/toc/TableOfContents.svelte +32 -38
  508. package/dist/plugins/toc/TableOfContents.svelte.d.ts +1 -5
  509. package/dist/plugins/toc/TocPlugin.svelte +22 -22
  510. package/dist/plugins/toc/TocPlugin.svelte.d.ts +4 -6
  511. package/dist/plugins/toc/toc.d.ts +41 -10
  512. package/dist/plugins/toc/toc.js +2 -3
  513. package/dist/plugins/toolbar/ToolbarController.svelte.d.ts +4 -68
  514. package/dist/plugins/toolbar/ToolbarController.svelte.js +63 -89
  515. package/dist/plugins/toolbar/toolbarPlugin.d.ts +8 -18
  516. package/dist/plugins/toolbar/toolbarPlugin.js +28 -43
  517. package/dist/plugins/triggers/TriggerController.svelte.d.ts +4 -68
  518. package/dist/plugins/triggers/TriggerController.svelte.js +48 -129
  519. package/dist/plugins/triggers/place.d.ts +0 -9
  520. package/dist/plugins/triggers/place.js +1 -17
  521. package/dist/plugins/triggers/triggers.d.ts +31 -9
  522. package/dist/plugins/triggers/triggers.js +82 -62
  523. package/dist/plugins/uploads.svelte.d.ts +55 -24
  524. package/dist/plugins/uploads.svelte.js +123 -50
  525. package/dist/plugins.d.ts +187 -66
  526. package/dist/selection/domSelection.d.ts +13 -4
  527. package/dist/selection/domSelection.js +110 -183
  528. package/dist/selection/pointer.svelte.d.ts +8 -10
  529. package/dist/selection/pointer.svelte.js +32 -73
  530. package/dist/selection/replaceSelection.d.ts +21 -22
  531. package/dist/selection/replaceSelection.js +60 -69
  532. package/dist/selection/selection.svelte.d.ts +5 -73
  533. package/dist/selection/selection.svelte.js +224 -542
  534. package/dist/selection/selection.utils.d.ts +34 -11
  535. package/dist/selection/selection.utils.js +128 -247
  536. package/dist/selection/visibility.d.ts +3 -8
  537. package/dist/selection/visibility.js +7 -5
  538. package/dist/session/announcer.svelte.d.ts +2 -1
  539. package/dist/session/announcer.svelte.js +7 -3
  540. package/dist/session/attempt.d.ts +43 -39
  541. package/dist/session/attempt.js +62 -55
  542. package/dist/session/bindings.js +117 -145
  543. package/dist/session/commands.d.ts +47 -22
  544. package/dist/session/commands.js +208 -208
  545. package/dist/session/composition.svelte.d.ts +2 -4
  546. package/dist/session/composition.svelte.js +55 -65
  547. package/dist/session/editing/text.d.ts +6 -0
  548. package/dist/session/editing/text.js +17 -3
  549. package/dist/session/handles.d.ts +10 -1
  550. package/dist/session/handles.js +28 -0
  551. package/dist/session/history.d.ts +0 -4
  552. package/dist/session/history.js +16 -21
  553. package/dist/session/inputRules.d.ts +6 -3
  554. package/dist/session/inputRules.js +78 -83
  555. package/dist/session/keymap.d.ts +1 -6
  556. package/dist/session/keymap.js +17 -20
  557. package/dist/session/moves.d.ts +43 -10
  558. package/dist/session/moves.js +101 -59
  559. package/dist/session/navigation.d.ts +10 -2
  560. package/dist/session/navigation.js +140 -172
  561. package/dist/session/ports.d.ts +2 -7
  562. package/dist/session/props.d.ts +25 -25
  563. package/dist/session/props.js +62 -159
  564. package/dist/session/selection.d.ts +4 -3
  565. package/dist/session/selection.js +5 -0
  566. package/dist/session/suggestions.svelte.d.ts +1 -1
  567. package/dist/session/suggestions.svelte.js +42 -47
  568. package/dist/session/uploads.d.ts +29 -0
  569. package/dist/session/uploads.js +10 -0
  570. package/dist/session/virtual.d.ts +3 -3
  571. package/dist/session/virtual.js +18 -40
  572. package/dist/surface/attributes.d.ts +1 -0
  573. package/dist/surface/attributes.js +3 -26
  574. package/dist/surface/cells.d.ts +5 -0
  575. package/dist/surface/cells.js +5 -0
  576. package/dist/surface/lines.d.ts +2 -2
  577. package/dist/surface/lines.js +1 -1
  578. package/dist/surface/observer.svelte.d.ts +3 -20
  579. package/dist/surface/observer.svelte.js +52 -72
  580. package/dist/surface/overlay.d.ts +41 -3
  581. package/dist/surface/overlay.js +92 -37
  582. package/dist/surface/pin.svelte.d.ts +5 -0
  583. package/dist/surface/pin.svelte.js +5 -0
  584. package/dist/surface/projector.svelte.d.ts +4 -6
  585. package/dist/surface/projector.svelte.js +42 -69
  586. package/dist/text/text.svelte.d.ts +14 -40
  587. package/dist/text/text.svelte.js +35 -51
  588. package/dist/text/wordBoundary.d.ts +19 -0
  589. package/dist/text/wordBoundary.js +29 -44
  590. package/dist/themes/notion.css +272 -106
  591. package/dist/utils/json.d.ts +3 -1
  592. package/dist/utils/json.js +52 -51
  593. package/dist/utils/listen.d.ts +8 -0
  594. package/dist/utils/listen.js +19 -0
  595. package/package.json +4 -5
  596. package/dist/block/block.utils.d.ts +0 -340
  597. package/dist/block/block.utils.js +0 -356
  598. package/dist/collaboration/history/HistoryPanel.svelte +0 -554
  599. package/dist/collaboration/history/HistoryPanel.svelte.d.ts +0 -7
  600. package/dist/collaboration/history/panel.d.ts +0 -61
  601. package/dist/collaboration/history/panel.js +0 -3
  602. package/dist/components/SuggestionRanges.svelte +0 -58
  603. package/dist/components/SuggestionRanges.svelte.d.ts +0 -7
  604. package/dist/crdt/doc/table.d.ts +0 -21
  605. package/dist/crdt/doc/table.js +0 -288
  606. package/dist/crdt/migration/generation.d.ts +0 -58
  607. package/dist/crdt/migration/generation.js +0 -70
  608. package/dist/crdt/migration/legacy-schema.d.ts +0 -61
  609. package/dist/crdt/migration/legacy-schema.js +0 -151
  610. package/dist/crdt/migration/migrate.d.ts +0 -56
  611. package/dist/crdt/migration/migrate.js +0 -227
  612. package/dist/crdt/nodes.d.ts +0 -121
  613. package/dist/crdt/nodes.js +0 -56
  614. package/dist/crdt/text/index/checks.d.ts +0 -15
  615. package/dist/crdt/text/index/checks.js +0 -156
  616. package/dist/crdt/vendor/yjs/dts/utils/EventHandler.d.ts +0 -17
  617. package/dist/crdt/vendor/yjs/dts/utils/RelativePosition.d.ts +0 -80
  618. package/dist/crdt/vendor/yjs/dts/utils/UndoManager.d.ts +0 -205
  619. package/dist/crdt/vendor/yjs/dts/utils/YEvent.d.ts +0 -93
  620. package/dist/crdt/vendor/yjs/dts/utils/meta.d.ts +0 -25
  621. package/dist/crdt/vendor/yjs/dts/utils/renderer-helpers.d.ts +0 -98
  622. package/dist/crdt/vendor/yjs/dts/utils/schemas.d.ts +0 -2
  623. package/dist/crdt/vendor/yjs/src/utils/EventHandler.js +0 -75
  624. package/dist/crdt/vendor/yjs/src/utils/RelativePosition.js +0 -301
  625. package/dist/crdt/vendor/yjs/src/utils/UndoManager.js +0 -554
  626. package/dist/crdt/vendor/yjs/src/utils/YEvent.js +0 -158
  627. package/dist/crdt/vendor/yjs/src/utils/meta.js +0 -74
  628. package/dist/crdt/vendor/yjs/src/utils/renderer-helpers.js +0 -186
  629. package/dist/crdt/vendor/yjs/src/utils/schemas.js +0 -3
  630. package/dist/edytor.utils.d.ts +0 -50
  631. package/dist/edytor.utils.js +0 -67
  632. package/dist/plugins/blockMenu/BlockMenu.svelte +0 -335
  633. package/dist/plugins/blockMenu/BlockMenu.svelte.d.ts +0 -9
  634. package/dist/plugins/find/FindBar.svelte +0 -170
  635. package/dist/plugins/find/FindBar.svelte.d.ts +0 -9
  636. package/dist/plugins/find/FindHighlights.svelte +0 -75
  637. package/dist/plugins/find/FindHighlights.svelte.d.ts +0 -9
  638. package/dist/plugins/icons.d.ts +0 -2
  639. package/dist/plugins/icons.js +0 -63
  640. package/dist/plugins/image/ImageEmpty.svelte +0 -93
  641. package/dist/plugins/image/ImageEmpty.svelte.d.ts +0 -15
  642. package/dist/plugins/image/empty.svelte.d.ts +0 -56
  643. package/dist/plugins/image/empty.svelte.js +0 -83
  644. package/dist/plugins/keepInView.d.ts +0 -4
  645. package/dist/plugins/keepInView.js +0 -6
  646. package/dist/plugins/media/UrlPasteMenu.svelte +0 -92
  647. package/dist/plugins/media/UrlPasteMenu.svelte.d.ts +0 -9
  648. package/dist/plugins/richtext/CalloutIconMenu.svelte +0 -98
  649. package/dist/plugins/richtext/CalloutIconMenu.svelte.d.ts +0 -9
  650. package/dist/plugins/richtext/labels.d.ts +0 -9
  651. package/dist/plugins/richtext/labels.js +0 -7
  652. package/dist/plugins/slashMenu/SlashMenu.svelte +0 -276
  653. package/dist/plugins/slashMenu/SlashMenu.svelte.d.ts +0 -11
  654. package/dist/plugins/table/dragPreview.d.ts +0 -29
  655. package/dist/plugins/table/dragPreview.js +0 -103
  656. package/dist/plugins/toolbar/LinkCard.svelte +0 -122
  657. package/dist/plugins/toolbar/LinkCard.svelte.d.ts +0 -9
  658. package/dist/plugins/toolbar/Toolbar.svelte +0 -349
  659. package/dist/plugins/toolbar/Toolbar.svelte.d.ts +0 -9
  660. package/dist/plugins/triggers/TriggerMenu.svelte +0 -135
  661. package/dist/plugins/triggers/TriggerMenu.svelte.d.ts +0 -7
  662. package/dist/text/deltas.d.ts +0 -22
  663. package/dist/text/deltas.js +0 -46
  664. package/dist/text/text.utils.d.ts +0 -45
  665. package/dist/text/text.utils.js +0 -199
  666. /package/dist/{plugins/columns → dnd}/stacking.d.ts +0 -0
  667. /package/dist/{plugins/columns → dnd}/stacking.js +0 -0
@@ -1,4 +1,4 @@
1
- import { dispatchPlan } from '../../block/block.utils.js';
1
+ import * as ops from './ops.js';
2
2
  import { caretBox, sameLine } from '../../surface/lines.js';
3
3
  /** The table `block` is, or whose row or cell it is. */
4
4
  export const tableOf = (block) => {
@@ -31,28 +31,31 @@ export const cellAt = (table, grid, row, column) => {
31
31
  };
32
32
  /** The cell holding the caret (or the selection's start), if it is a table's cell. */
33
33
  export const caretCell = (edytor) => {
34
- const block = edytor.selection.state.startBlock;
34
+ const block = edytor.selection.textRange().startText?.parent;
35
35
  return block?.id && edytor.facade.isTableCell(block.id) ? block : null;
36
36
  };
37
- /** `prepare` dispatched as `operation` on `table`: one plan, its own undo step; the plan or `null`. */
38
- const run = (table, operation, payload, prepare) => dispatchPlan(table, operation, payload, prepare, []);
37
+ /** `prepare` dispatched as `operation` on `table`: one plan, its own undo step; the plan's ids, or `null` when refused. */
38
+ const run = (table, operation, payload, prepare) => {
39
+ const result = table.edytor.dispatcher.plan(operation, payload, prepare, table);
40
+ return result.status === 'refused' ? null : result;
41
+ };
39
42
  /** Insert a row at `index` (`table.insert-row`); the caret goes to its first cell when `caret`. */
40
43
  export const insertRow = (table, index, caret = false) => {
41
44
  const { edytor } = table;
42
- const plan = run(table, 'insertTableRow', { index }, (p) => edytor.facade.prepare.insertTableRow(table.id, p.index));
45
+ const plan = run(table, 'insertTableRow', { index }, (p) => ops.insertTableRow(edytor.facade, table.id, p.index));
43
46
  const row = plan ? (edytor.idToBlock.get(plan.ids[0]) ?? null) : null;
44
47
  if (row && caret)
45
48
  edytor.dispatcher.caret(row.children[0]?.firstText, 0);
46
49
  return row;
47
50
  };
48
51
  /** Delete `rows` with their cells (`table.delete-row`). */
49
- export const deleteRows = (table, rows) => run(table, 'deleteTableRows', { rows: [...rows] }, (p) => table.edytor.facade.prepare.deleteTableRows(p.rows.map((row) => row.id))) !== null;
52
+ export const deleteRows = (table, rows) => run(table, 'deleteTableRows', { rows: [...rows] }, (p) => ops.deleteTableRows(table.edytor.facade, p.rows.map((row) => row.id))) !== null;
50
53
  /**
51
54
  * Insert a column at `index` (`table.insert-column`); with `caret` (a row's
52
55
  * position), the caret goes to the new column's cell in that row.
53
56
  */
54
57
  export const insertColumn = (table, index, width, caret) => {
55
- const applied = run(table, 'insertTableColumn', { index, width }, (p) => table.edytor.facade.prepare.insertTableColumn(table.id, p.index, p.width)) !== null;
58
+ const applied = run(table, 'insertTableColumn', { index, width }, (p) => ops.insertTableColumn(table.edytor.facade, table.id, p.index, p.width)) !== null;
56
59
  const grid = applied && caret !== undefined ? gridOf(table) : null;
57
60
  if (grid) {
58
61
  const at = Math.max(0, Math.min(Math.trunc(index) || 0, grid.columns.length - 1));
@@ -63,18 +66,18 @@ export const insertColumn = (table, index, width, caret) => {
63
66
  return applied;
64
67
  };
65
68
  /** Delete a column, by id or position (`table.delete-column`). */
66
- export const deleteColumn = (table, column) => run(table, 'deleteTableColumn', { column }, (p) => table.edytor.facade.prepare.deleteTableColumn(table.id, p.column)) !== null;
69
+ export const deleteColumn = (table, column) => run(table, 'deleteTableColumn', { column }, (p) => ops.deleteTableColumn(table.edytor.facade, table.id, p.column)) !== null;
67
70
  /** Move a column to position `to` (`table.move-column`). */
68
- export const moveColumn = (table, column, to) => run(table, 'moveTableColumn', { column, to }, (p) => table.edytor.facade.prepare.moveTableColumn(table.id, p.column, p.to)) !== null;
71
+ export const moveColumn = (table, column, to) => run(table, 'moveTableColumn', { column, to }, (p) => ops.moveTableColumn(table.edytor.facade, table.id, p.column, p.to)) !== null;
69
72
  /** Move rows to position `to` among their table's rows (`table.move-row`). */
70
- export const moveRows = (table, rows, to) => run(table, 'moveTableRows', { rows: [...rows], to }, (p) => table.edytor.facade.prepare.moveTableRows(p.rows.map((row) => row.id), p.to)) !== null;
73
+ export const moveRows = (table, rows, to) => run(table, 'moveTableRows', { rows: [...rows], to }, (p) => ops.moveTableRows(table.edytor.facade, p.rows.map((row) => row.id), p.to)) !== null;
71
74
  /**
72
75
  * Fill the padded cell of `row` in `column` (`table.pad`): the cell is
73
76
  * created, the caret placed in it. Its block, or `null` when refused.
74
77
  */
75
78
  export const fillCell = (table, row, column) => {
76
79
  const { edytor } = table;
77
- const plan = run(table, 'fillTableCell', { row, column }, (p) => edytor.facade.prepare.fillTableCell(p.row, p.column));
80
+ const plan = run(table, 'fillTableCell', { row, column }, (p) => ops.fillTableCell(edytor.facade, p.row, p.column));
78
81
  const cell = plan ? (edytor.idToBlock.get(plan.ids[0]) ?? null) : null;
79
82
  if (cell)
80
83
  edytor.dispatcher.caret(cell.firstText, 0);
@@ -82,8 +85,10 @@ export const fillCell = (table, row, column) => {
82
85
  };
83
86
  /** Toggle `flag` (`headerRow` or `headerColumn`) of `table`'s data (`table.header`). */
84
87
  export const toggleHeader = (table, flag) => {
85
- table.data[flag] = table.data[flag] !== true;
88
+ table.edytor.patchData(table.id, [{ path: [flag], value: table.data[flag] !== true }]);
86
89
  };
90
+ /** A label key as a row id: `insertRowAbove` → `insert-row-above`. */
91
+ export const kebab = (key) => key.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);
87
92
  /** A cell's width as set, else `fallback`: `data.columns[i].width`. */
88
93
  export const widthOf = (column, fallback) => {
89
94
  const width = column?.width;
@@ -107,7 +112,7 @@ export const tabFrom = (cell, step) => {
107
112
  const next = cellAt(table, grid, Math.floor(i / width), i % width);
108
113
  const text = next?.lastText;
109
114
  if (text) {
110
- edytor.selection.setAtTextOffset(text, text.length);
115
+ edytor.selection.selectText(text, text.length);
111
116
  return true;
112
117
  }
113
118
  }
@@ -128,7 +133,8 @@ export const tabFrom = (cell, step) => {
128
133
  export const verticalFrom = (cell, step) => {
129
134
  const at = positionOf(cell);
130
135
  const { edytor } = cell;
131
- const { startText, yStart, isCollapsed } = edytor.selection.state;
136
+ const { startText, yStart } = edytor.selection.textRange();
137
+ const { isCollapsed } = edytor.selection.projection;
132
138
  if (!at || !isCollapsed || !startText)
133
139
  return false;
134
140
  if (step < 0 ? startText !== cell.firstText : startText !== cell.lastText)
@@ -148,7 +154,7 @@ export const verticalFrom = (cell, step) => {
148
154
  const other = caretBox(startText, yStart, step > 0);
149
155
  if (!other || !sameLine(other, edge))
150
156
  return false;
151
- edytor.selection.setAtTextOffset(startText, landing(startText, -step, caret, column));
157
+ edytor.selection.selectText(startText, landing(startText, -step, caret, column));
152
158
  return true;
153
159
  }
154
160
  }
@@ -159,7 +165,7 @@ export const verticalFrom = (cell, step) => {
159
165
  const text = step < 0 ? target?.lastText : target?.firstText;
160
166
  if (!text)
161
167
  continue;
162
- edytor.selection.setAtTextOffset(text, landing(text, step, caret, column));
168
+ edytor.selection.selectText(text, landing(text, step, caret, column));
163
169
  return true;
164
170
  }
165
171
  return false;
@@ -3,17 +3,20 @@
3
3
  import type { Edytor } from '../../edytor.svelte.js';
4
4
  import { ownText } from '../../surface/attributes.js';
5
5
  import { reveal } from '../../selection/replaceSelection.js';
6
- import { tocLabels, type TocHeadingLevel } from './toc.js';
6
+ import { labelsOf, tocEnglish } from '../../labels.js';
7
+ import { attach, keepSelection } from '../chrome.js';
8
+ import { richTextHeadingLevel, tocViews, type TocEntryPayload } from './toc.js';
7
9
 
8
10
  /**
9
11
  * The document's headings, live, in reading order (Notion's table of
10
12
  * contents): read from the view's cells, so an edit anywhere re-renders
11
13
  * only the entries it changes. Each entry scrolls its heading into view,
12
- * opening the closed toggles it sits in; the selection stays.
14
+ * opening the closed toggles it sits in; the selection stays. The app's
15
+ * `entry` and `empty` snippets draw them, else this markup.
13
16
  */
14
- let { level }: { level: TocHeadingLevel } = $props();
15
17
  const edytor = getContext<Edytor>('edytor');
16
- const labels = tocLabels.of(edytor);
18
+ const labels = labelsOf(edytor, 'toc', tocEnglish);
19
+ const { headingLevel: level = richTextHeadingLevel, entry, empty } = tocViews.get(edytor) ?? {};
17
20
 
18
21
  type Entry = { id: string; level: number; text: string };
19
22
  const entries = $derived.by(() => {
@@ -40,44 +43,35 @@
40
43
  reveal(block);
41
44
  block.node.scrollIntoView?.({ behavior: 'smooth', block: 'start' });
42
45
  };
46
+
47
+ const payloadOf = ({ id, level, text }: Entry): TocEntryPayload => ({
48
+ id,
49
+ level,
50
+ depth: level - top,
51
+ text,
52
+ label: text || labels.untitled,
53
+ go: () => go(id),
54
+ control: attach(
55
+ { 'data-edytor-toc-entry': '' },
56
+ { mousedown: keepSelection, click: () => go(id) }
57
+ )
58
+ });
43
59
  </script>
44
60
 
45
61
  {#if entries.length}
46
- {#each entries as entry (entry.id)}
47
- <button
48
- type="button"
49
- data-edytor-toc-entry
50
- data-level={entry.level}
51
- data-untitled={entry.text ? undefined : 'true'}
52
- style:--edytor-toc-depth={entry.level - top}
53
- onmousedown={(event) => event.preventDefault()}
54
- onclick={() => go(entry.id)}>{entry.text || labels.untitled}</button
55
- >
62
+ {#each entries as found (found.id)}
63
+ {@const payload = payloadOf(found)}
64
+ {#if entry}{@render entry(payload)}{:else}<button
65
+ type="button"
66
+ data-edytor-toc-entry
67
+ data-level={payload.level}
68
+ data-untitled={payload.text ? undefined : 'true'}
69
+ style:--edytor-toc-depth={payload.depth}
70
+ {@attach payload.control}>{payload.label}</button
71
+ >{/if}
56
72
  {/each}
73
+ {:else if empty}
74
+ {@render empty({ label: labels.empty })}
57
75
  {:else}
58
76
  <p data-edytor-toc-empty>{labels.empty}</p>
59
77
  {/if}
60
-
61
- <style>
62
- /*
63
- * The entries' structure, at zero specificity (`:where`): one line each,
64
- * one nesting step in per level; a theme draws them (`themes/notion.css`).
65
- */
66
- :global(:where([data-edytor-toc-entry])) {
67
- display: block;
68
- width: 100%;
69
- margin: 0;
70
- padding: 0;
71
- padding-inline-start: calc(var(--edytor-toc-depth, 0) * var(--edytor-nest-indent, 24px));
72
- border: 0;
73
- background: none;
74
- color: inherit;
75
- font: inherit;
76
- text-align: start;
77
- cursor: pointer;
78
- }
79
- :global(:where([data-edytor-toc-empty])) {
80
- margin: 0;
81
- opacity: 0.6;
82
- }
83
- </style>
@@ -1,7 +1,3 @@
1
- import { type TocHeadingLevel } from './toc.js';
2
- type $$ComponentProps = {
3
- level: TocHeadingLevel;
4
- };
5
- declare const TableOfContents: import("svelte").Component<$$ComponentProps, {}, "">;
1
+ declare const TableOfContents: import("svelte").Component<Record<string, never>, {}, "">;
6
2
  type TableOfContents = ReturnType<typeof TableOfContents>;
7
3
  export default TableOfContents;
@@ -1,35 +1,38 @@
1
1
  <script module lang="ts">
2
2
  import type { Plugin, BlockSnippetPayload } from '../../plugins.js';
3
- import type { Edytor } from '../../edytor.svelte.js';
4
3
  import { tocKinds } from '../../crdt/semantics.js';
5
- import { keywordsOf, labelsWith } from '../../labels.js';
4
+ import { tocEnglish, keywordsOf, labelsOf } from '../../labels.js';
6
5
  import TableOfContents from './TableOfContents.svelte';
7
6
  import {
8
7
  richTextHeadingLevel,
9
- tocLabels,
8
+ type TocEmptyPayload,
9
+ type TocEntryPayload,
10
10
  type TocHeadingLevel,
11
- type TocPluginOptions
11
+ type TocPluginOptions,
12
+ tocViews as views
12
13
  } from './toc.js';
13
14
 
14
- export type { TocHeadingLevel, TocPluginOptions };
15
-
16
- const levelOf = new WeakMap<Edytor, TocHeadingLevel>();
15
+ export type { TocEmptyPayload, TocEntryPayload, TocHeadingLevel, TocPluginOptions };
17
16
 
18
17
  /**
19
18
  * Notion's table of contents: a `toc` block lists the document's
20
19
  * headings, live, indented by level; a click scrolls to one (opening the
21
20
  * closed toggles it sits in). Void: it holds no text, and its list is
22
21
  * never stored, only drawn. Its preset in the slash menu turns an empty
23
- * line into one, or inserts it after the line; its words are `labels`
24
- * (English by default).
22
+ * line into one, or inserts it after the line; its words are the view's
23
+ * `toc` labels (English by default).
25
24
  */
26
25
  export const createTocPlugin =
27
26
  (options: TocPluginOptions = {}): Plugin =>
28
27
  (edytor) => {
29
28
  // First wins, as for the kind: a second listing never replaces it.
30
- if (!levelOf.has(edytor)) levelOf.set(edytor, options.headingLevel ?? richTextHeadingLevel);
31
- const labels = labelsWith('toc', options.labels);
32
- tocLabels.claim(edytor, labels);
29
+ if (!views.has(edytor))
30
+ views.set(edytor, {
31
+ headingLevel: options.headingLevel ?? richTextHeadingLevel,
32
+ entry: options.entry,
33
+ empty: options.empty
34
+ });
35
+ const labels = labelsOf(edytor, 'toc', tocEnglish);
33
36
  return {
34
37
  blocks: {
35
38
  toc: {
@@ -41,11 +44,12 @@
41
44
  {
42
45
  label: labels.toc,
43
46
  icon: '☰',
44
- keywords: keywordsOf(
45
- 'block.toc',
46
- ['toc', 'outline', 'headings', 'contents'],
47
- options.keywords
48
- ),
47
+ keywords: keywordsOf(edytor, 'block.toc', [
48
+ 'toc',
49
+ 'outline',
50
+ 'headings',
51
+ 'contents'
52
+ ]),
49
53
  group: 'Advanced blocks'
50
54
  }
51
55
  ],
@@ -58,14 +62,10 @@
58
62
  }
59
63
  };
60
64
  };
61
-
62
- /** The table of contents over the rich text headings. */
63
- export const tocPlugin = createTocPlugin();
64
65
  </script>
65
66
 
66
67
  {#snippet toc({ block }: BlockSnippetPayload)}
67
- {@const level = (block.handle && levelOf.get(block.handle.edytor)) || richTextHeadingLevel}
68
68
  <div use:block.void data-edytor-toc>
69
- <TableOfContents {level} />
69
+ <TableOfContents />
70
70
  </div>
71
71
  {/snippet}
@@ -1,17 +1,15 @@
1
1
  import type { Plugin } from '../../plugins.js';
2
- import { type TocHeadingLevel, type TocPluginOptions } from './toc.js';
3
- export type { TocHeadingLevel, TocPluginOptions };
2
+ import { type TocEmptyPayload, type TocEntryPayload, type TocHeadingLevel, type TocPluginOptions } from './toc.js';
3
+ export type { TocEmptyPayload, TocEntryPayload, TocHeadingLevel, TocPluginOptions };
4
4
  /**
5
5
  * Notion's table of contents: a `toc` block lists the document's
6
6
  * headings, live, indented by level; a click scrolls to one (opening the
7
7
  * closed toggles it sits in). Void: it holds no text, and its list is
8
8
  * never stored, only drawn. Its preset in the slash menu turns an empty
9
- * line into one, or inserts it after the line; its words are `labels`
10
- * (English by default).
9
+ * line into one, or inserts it after the line; its words are the view's
10
+ * `toc` labels (English by default).
11
11
  */
12
12
  export declare const createTocPlugin: (options?: TocPluginOptions) => Plugin;
13
- /** The table of contents over the rich text headings. */
14
- export declare const tocPlugin: Plugin;
15
13
  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> {
16
14
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
17
15
  $$bindings?: Bindings;
@@ -1,4 +1,5 @@
1
- import { type PartialLabels } from '../../labels.js';
1
+ import type { Snippet } from 'svelte';
2
+ import type { Attachment } from 'svelte/attachments';
2
3
  /**
3
4
  * A block's level in the table of contents (1 the outermost), or `null`
4
5
  * when it is not a heading: read from its kind and data.
@@ -7,11 +8,6 @@ export type TocHeadingLevel = (block: {
7
8
  type: string;
8
9
  data: Readonly<Record<string, unknown>>;
9
10
  }) => number | null;
10
- /** Each view's table of contents labels: the first toc plugin listed claims them, as its kind. */
11
- export declare const tocLabels: {
12
- claim: (view: object | undefined, labels: import("../../labels.js").TocLabels) => void;
13
- of: (view: object | undefined) => import("../../labels.js").TocLabels;
14
- };
15
11
  /** The table of contents plugin's options. */
16
12
  export type TocPluginOptions = {
17
13
  /**
@@ -20,10 +16,45 @@ export type TocPluginOptions = {
20
16
  * any other 3, as they are drawn).
21
17
  */
22
18
  headingLevel?: TocHeadingLevel;
23
- /** The words the block and its preset show, over the English ones. */
24
- labels?: PartialLabels<'toc'>;
25
- /** The slash menu's keywords of the preset (`block.toc`), which replace its own. */
26
- keywords?: Partial<Record<string, string[]>>;
19
+ /**
20
+ * One entry (default: a `button` with the heading's text, one nesting
21
+ * step in per level under the shallowest). Give it `{@attach
22
+ * entry.control}`: a click scrolls its heading into view, opening the
23
+ * closed toggles it sits in, and the selection stays.
24
+ */
25
+ entry?: Snippet<[TocEntryPayload]>;
26
+ /** What shows while the document has no heading (default: a `p` with the view's `toc.empty`). */
27
+ empty?: Snippet<[TocEmptyPayload]>;
28
+ };
29
+ /** What a table of contents' `entry` snippet receives: one heading. */
30
+ export type TocEntryPayload = {
31
+ /** The heading's block id. */
32
+ id: string;
33
+ /** Its level (`headingLevel`'s answer, 1 the outermost). */
34
+ level: number;
35
+ /** How many steps in it sits: its level less the shallowest shown. */
36
+ depth: number;
37
+ /** Its text (`''` when it has none). */
38
+ text: string;
39
+ /** What it reads: its text, else the view's `toc.untitled`. */
40
+ label: string;
41
+ /** Scroll its heading into view (opening the closed toggles it sits in). */
42
+ go: () => void;
43
+ /**
44
+ * The entry's attachment (`{@attach entry.control}`): its marker
45
+ * (`data-edytor-toc-entry`), a press that keeps the editor's selection,
46
+ * and a click that scrolls to it.
47
+ */
48
+ control: Attachment<HTMLElement>;
49
+ };
50
+ /** What a table of contents' `empty` snippet receives. */
51
+ export type TocEmptyPayload = {
52
+ /** The view's words for it (`toc.empty`). */
53
+ label: string;
27
54
  };
55
+ /** A view's table of contents: the first plugin listed sets it. */
56
+ export type TocView = Required<Pick<TocPluginOptions, 'headingLevel'>> & Pick<TocPluginOptions, 'entry' | 'empty'>;
28
57
  /** The rich text headings' levels (`heading`, `toggle-heading`), as they draw them. */
29
58
  export declare const richTextHeadingLevel: TocHeadingLevel;
59
+ /** Each view's table of contents (the first plugin listed sets it). */
60
+ export declare const tocViews: WeakMap<object, TocView>;
@@ -1,6 +1,3 @@
1
- import { viewLabels } from '../../labels.js';
2
- /** Each view's table of contents labels: the first toc plugin listed claims them, as its kind. */
3
- export const tocLabels = viewLabels('toc');
4
1
  /** The rich text headings' levels (`heading`, `toggle-heading`), as they draw them. */
5
2
  export const richTextHeadingLevel = ({ type, data }) => {
6
3
  if (type !== 'heading' && type !== 'toggle-heading')
@@ -8,3 +5,5 @@ export const richTextHeadingLevel = ({ type, data }) => {
8
5
  const { level } = data;
9
6
  return level === undefined || level === 'h1' ? 1 : level === 'h2' ? 2 : 3;
10
7
  };
8
+ /** Each view's table of contents (the first plugin listed sets it). */
9
+ export const tocViews = new WeakMap();
@@ -2,82 +2,25 @@ import type { Attachment } from 'svelte/attachments';
2
2
  import type { Edytor } from '../../edytor.svelte.js';
3
3
  import type { EdytorSelection } from '../../selection/selection.svelte.js';
4
4
  import { type KindRow } from '../../kinds.js';
5
- import type { Popup } from '../../surface/popups.svelte.js';
6
- import { type ToolbarLabels } from '../../labels.js';
7
- /** Notion's palette: text colors and their backgrounds, by name (shown through the labels' `colors`). */
8
- export declare const TOOLBAR_COLORS: readonly [{
9
- readonly name: "Default";
10
- readonly text: null;
11
- readonly background: null;
12
- }, {
13
- readonly name: "Gray";
14
- readonly text: "#7d7a75";
15
- readonly background: "#f0efed";
16
- }, {
17
- readonly name: "Brown";
18
- readonly text: "#9f765a";
19
- readonly background: "#f5ede9";
20
- }, {
21
- readonly name: "Orange";
22
- readonly text: "#d27b2d";
23
- readonly background: "#fbebde";
24
- }, {
25
- readonly name: "Yellow";
26
- readonly text: "#cb9434";
27
- readonly background: "#f9f3dc";
28
- }, {
29
- readonly name: "Green";
30
- readonly text: "#50946e";
31
- readonly background: "#e8f1ec";
32
- }, {
33
- readonly name: "Blue";
34
- readonly text: "#387dc9";
35
- readonly background: "#e5f2fc";
36
- }, {
37
- readonly name: "Purple";
38
- readonly text: "#9a6bb4";
39
- readonly background: "#f3ebf9";
40
- }, {
41
- readonly name: "Pink";
42
- readonly text: "#c14c8a";
43
- readonly background: "#fae9f1";
44
- }, {
45
- readonly name: "Red";
46
- readonly text: "#cf5148";
47
- readonly background: "#fce9e7";
48
- }];
49
5
  export declare class ToolbarController {
50
6
  #private;
51
7
  private edytor;
52
- /** The words the toolbar shows (the plugin's `labels`): read them in a custom `toolbar`. */
53
- readonly labels: ToolbarLabels;
54
8
  /** Shown for the current selection; hidden while the editor is readonly. */
55
9
  private shown;
56
10
  linkUrl: string;
57
11
  /** The open panel: the kind menu, the link field or the colors. */
58
- panel: "link" | "color" | "turn" | null;
59
- /** The selection the toolbar acts on: a value (anchors), so peers' edits move it. */
60
- private selectionSnapshot;
61
- private isRestoringSelection;
62
- /** The link panel's field takes the focus when it next mounts (it was opened, not re-rendered). */
63
- private focusField;
12
+ panel: "color" | "link" | "turn" | null;
64
13
  /** The link under the pointer, for the link card (`link.card`). */
65
14
  hovered: HTMLAnchorElement | null;
66
- constructor(edytor: Edytor,
67
- /** The words the toolbar shows (the plugin's `labels`): read them in a custom `toolbar`. */
68
- labels?: ToolbarLabels);
69
- /** A palette color's name as shown (`labels.colors`). */
70
- colorName: (name: string) => string;
15
+ constructor(edytor: Edytor);
71
16
  get isVisible(): boolean;
72
17
  /** The bar's element id (page-unique), for the root's `aria-controls`. */
73
18
  get barId(): string;
74
- /** Publish the shown bar to the view's root (`edytor.popups`), or withdraw it with `null`. */
75
- publish: (popup: Popup | null) => void;
76
19
  /** The link panel's field id (page-unique): a `label`'s `for`. */
77
20
  get linkFieldId(): string;
78
21
  /**
79
- * The bar (`{@attach controller.popup}`): it takes the bar's id, its
80
- * `toolbar` role and name unless it has its own, the placement's mark
22
+ * The bar (`{@attach controller.popup}`, named by your markup): it takes
23
+ * the bar's id, its `toolbar` role unless it has its own, the placement's mark
81
24
  * (`data-edytor-toolbar-bar`, which the toolbar's shortcut also reads),
82
25
  * and is published to the view's root (`edytor.popups`, with that
83
26
  * shortcut as its `aria-keyshortcuts`) while it is in the page.
@@ -141,8 +84,6 @@ export declare class ToolbarController {
141
84
  editHovered(): void;
142
85
  /** The card's Remove: unlink the whole hovered link (one undo step); the selection stays. */
143
86
  removeHovered(): void;
144
- /** The hovered link element's text and link run, read from the model (never from the DOM). */
145
- private hoveredLink;
146
87
  /** Convert every block the selection touches (Notion), as one undo step. */
147
88
  turnInto(kind: KindRow): void;
148
89
  /** Set (or clear, with `null`) the text color or background of the selection. */
@@ -150,9 +91,4 @@ export declare class ToolbarController {
150
91
  toggleMark(mark: string): void;
151
92
  applyLink(): void;
152
93
  removeLink(): void;
153
- private canShowForSelection;
154
- private getSelectedLinkUrl;
155
- /** Act on the held selection, then select it again (the projector displays it). */
156
- private runWithSelection;
157
- private restoreSelection;
158
94
  }