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,7 +1,6 @@
1
1
  import { type Snippet } from 'svelte';
2
2
  import type { Attachment } from 'svelte/attachments';
3
3
  import type { Edytor } from '../../edytor.svelte.js';
4
- import { type EquationLabels, type PartialLabels } from '../../labels.js';
5
4
  /** The part of KaTeX the plugin uses: `katex.renderToString`. */
6
5
  export type KatexLike = {
7
6
  renderToString: (tex: string, options?: Record<string, unknown>) => string;
@@ -30,17 +29,42 @@ export type EquationPluginOptions = {
30
29
  katex?: KatexLoader | string | false;
31
30
  /** TeX macros every equation reads (`{ '\\RR': '\\mathbb{R}' }`). */
32
31
  macros?: Record<string, string>;
33
- /** The words the equations and their editor show, over the English ones. */
34
- labels?: PartialLabels<'equation'>;
35
- /** The slash menu's keywords by command id (`block.equation`, `equation.inline`), which replace its own. */
36
- keywords?: Partial<Record<string, string[]>>;
37
32
  /**
38
- * Replace the editor's panel (the source's field, KaTeX's error, Done):
39
- * it renders under the edited equation while `editor.target` is set
40
- * (centered under a block equation). Put `{@attach editor.field}` on the
41
- * source's field.
33
+ * The editor's panel and its words (the source's field, KaTeX's error, Done): it
34
+ * renders under the edited equation while `editor.target` is set
35
+ * (centered under a block equation; without it, nothing shows). Put
36
+ * `{@attach editor.field}` on the source's field.
42
37
  */
43
38
  panel?: Snippet<[EquationEditor]>;
39
+ /**
40
+ * An empty equation's placeholder (default: `√x` and the view's
41
+ * `equation.blockPlaceholder` or `inlinePlaceholder`). A click on it
42
+ * opens the editor, as on any equation.
43
+ */
44
+ placeholder?: Snippet<[EquationPlaceholderPayload]>;
45
+ /**
46
+ * An equation KaTeX cannot read (default: its source, marked invalid,
47
+ * KaTeX's message in its title).
48
+ */
49
+ error?: Snippet<[EquationErrorPayload]>;
50
+ };
51
+ /** What an equation's `placeholder` snippet receives. */
52
+ export type EquationPlaceholderPayload = {
53
+ /** A block equation (`true`) or an inline one. */
54
+ display: boolean;
55
+ /** The view's placeholder for it (`equation.blockPlaceholder`, `inlinePlaceholder`). */
56
+ label: string;
57
+ };
58
+ /** What an equation's `error` snippet receives. */
59
+ export type EquationErrorPayload = {
60
+ /** A block equation (`true`) or an inline one. */
61
+ display: boolean;
62
+ /** Its TeX source. */
63
+ expression: string;
64
+ /** KaTeX's message. */
65
+ error: string;
66
+ /** The view's word for it (`equation.invalid`). */
67
+ label: string;
44
68
  };
45
69
  /** The data of a block equation and of an inline one: its TeX source. */
46
70
  export type EquationData = {
@@ -87,23 +111,11 @@ export declare class EquationRenderer {
87
111
  * the display asked (`display="block"`: a block), else `undefined`.
88
112
  */
89
113
  export declare const parseEquation: (element: HTMLElement, display: boolean) => EquationData | undefined;
90
- /** Each view's equation labels: the first equation plugin listed claims them, as its kinds. */
91
- export declare const equationLabels: {
92
- claim: (view: object | undefined, labels: EquationLabels) => void;
93
- of: (view: object | undefined) => EquationLabels;
94
- };
95
114
  /** The equation being edited: a block equation, or an inline one (`atom`) in block `block`. */
96
115
  export type EquationTarget = {
97
116
  block: string;
98
117
  atom?: string;
99
118
  };
100
- /** The edited equation's box, layer-relative. */
101
- export type EquationBox = {
102
- x: number;
103
- y: number;
104
- width: number;
105
- height: number;
106
- };
107
119
  /**
108
120
  * One view's equation editor (Notion's): a click on an equation of an
109
121
  * editable view (Enter on a selected one, or a new empty one) opens its
@@ -117,7 +129,7 @@ export type EquationBox = {
117
129
  *
118
130
  * What a `panel` snippet receives: the equation being edited (`target`,
119
131
  * `display` for a block one), its source (`expression`, written by
120
- * `set`), KaTeX's error (`error`), `close()` and the plugin's `labels`.
132
+ * `set`), KaTeX's error (`error`) and `close()`.
121
133
  * Put `{@attach editor.field}` on the source's field: it takes the focus
122
134
  * as the editor opens, Enter (Shift+Enter: a newline in a block equation)
123
135
  * and Escape close the editor, and focus leaving the panel closes it.
@@ -125,8 +137,6 @@ export type EquationBox = {
125
137
  export declare class EquationEditor {
126
138
  #private;
127
139
  private edytor;
128
- /** The plugin's words (`editor`, `placeholder`, `done`, …). */
129
- readonly labels: EquationLabels;
130
140
  /** The equation being edited (reactive). */
131
141
  target: EquationTarget | null;
132
142
  /** The view is readonly (reactive): the editor closes. */
@@ -162,6 +172,9 @@ export declare class EquationEditor {
162
172
  export type EquationView = {
163
173
  renderer: EquationRenderer;
164
174
  editor: EquationEditor;
175
+ /** The app's markup for an empty equation and an unreadable one, if any. */
176
+ placeholder?: Snippet<[EquationPlaceholderPayload]>;
177
+ error?: Snippet<[EquationErrorPayload]>;
165
178
  };
166
179
  /** By view. */
167
180
  export declare const equationViews: WeakMap<Edytor, EquationView>;
@@ -1,7 +1,10 @@
1
1
  import { untrack } from 'svelte';
2
+ import { blockSelection } from '../../session/selection.js';
2
3
  import { InlineBlock } from '../../block/inlineBlock.svelte.js';
3
4
  import { takeKeys } from '../../events/onFocus.js';
4
- import { englishLabels, viewLabels } from '../../labels.js';
5
+ import { Anchored } from '../anchored.svelte.js';
6
+ import { escapeHtml } from '../../clipboard/serializeClipboardFragment.js';
7
+ import { all, listen } from '../../utils/listen.js';
5
8
  /** The MathML annotation that carries an equation's TeX source. */
6
9
  export const TEX = 'application/x-tex';
7
10
  /** An equation's TeX source: its `expression`, a string. */
@@ -9,7 +12,6 @@ export const expressionOf = (data) => {
9
12
  const value = data?.expression;
10
13
  return typeof value === 'string' ? value : '';
11
14
  };
12
- const escape = (value) => value.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
13
15
  /** The cap of the drawings each renderer keeps. */
14
16
  const CACHE = 256;
15
17
  /**
@@ -71,7 +73,7 @@ export class EquationRenderer {
71
73
  // TeX KaTeX cannot read: the source as text, below.
72
74
  }
73
75
  }
74
- const source = escape(tex);
76
+ const source = escapeHtml(tex);
75
77
  return (`<span class="katex"><math xmlns="http://www.w3.org/1998/Math/MathML"${display ? ' display="block"' : ''}>` +
76
78
  `<semantics><mrow><mtext>${source}</mtext></mrow><annotation encoding="${TEX}">${source}</annotation></semantics></math></span>`);
77
79
  };
@@ -118,10 +120,6 @@ export const parseEquation = (element, display) => {
118
120
  math.getAttribute('alttext');
119
121
  return tex?.trim() ? { expression: tex.trim() } : undefined;
120
122
  };
121
- /** Each view's equation labels: the first equation plugin listed claims them, as its kinds. */
122
- export const equationLabels = viewLabels('equation');
123
- /** The overlay host the editor renders in (the overlay's mount names it). */
124
- const HOST = '[data-edytor-equation-editor-host]';
125
123
  /**
126
124
  * One view's equation editor (Notion's): a click on an equation of an
127
125
  * editable view (Enter on a selected one, or a new empty one) opens its
@@ -135,7 +133,7 @@ const HOST = '[data-edytor-equation-editor-host]';
135
133
  *
136
134
  * What a `panel` snippet receives: the equation being edited (`target`,
137
135
  * `display` for a block one), its source (`expression`, written by
138
- * `set`), KaTeX's error (`error`), `close()` and the plugin's `labels`.
136
+ * `set`), KaTeX's error (`error`) and `close()`.
139
137
  * Put `{@attach editor.field}` on the source's field: it takes the focus
140
138
  * as the editor opens, Enter (Shift+Enter: a newline in a block equation)
141
139
  * and Escape close the editor, and focus leaving the panel closes it.
@@ -143,23 +141,20 @@ const HOST = '[data-edytor-equation-editor-host]';
143
141
  export class EquationEditor {
144
142
  edytor;
145
143
  renderer;
146
- labels;
147
144
  /** The equation being edited (reactive). */
148
145
  target = $state.raw(null);
149
146
  /**
150
- * Its box, measured in the overlay's frame.
147
+ * The editor's panel under the edited equation: its place, and what closes it.
151
148
  * @internal
152
149
  */
153
- box = $state.raw(null);
150
+ panel;
154
151
  /** @internal */
155
152
  constructor(edytor,
156
153
  /** @internal */
157
- renderer,
158
- /** The plugin's words (`editor`, `placeholder`, `done`, …). */
159
- labels = englishLabels.equation) {
154
+ renderer) {
160
155
  this.edytor = edytor;
161
156
  this.renderer = renderer;
162
- this.labels = labels;
157
+ this.panel = new Anchored(edytor, 'edytor-equation-editor-host', () => (this.target ? this.#node(this.target) : undefined), () => this.close(false));
163
158
  }
164
159
  /** The view is readonly (reactive): the editor closes. */
165
160
  get readonly() {
@@ -171,13 +166,7 @@ export class EquationEditor {
171
166
  * @internal
172
167
  */
173
168
  get place() {
174
- const box = this.box;
175
- if (!this.target || !box)
176
- return null;
177
- return {
178
- left: this.display ? box.x + box.width / 2 : box.x,
179
- top: box.y + box.height + 6
180
- };
169
+ return this.target && this.panel.place(6, this.display);
181
170
  }
182
171
  /** A block equation is edited (a field of several lines). */
183
172
  get display() {
@@ -213,9 +202,9 @@ export class EquationEditor {
213
202
  const target = this.target;
214
203
  if (!target || expression === this.expression)
215
204
  return;
216
- const data = target.atom ? this.#atom(target)?.data : this.#block(target)?.data;
217
- if (data)
218
- data.expression = expression;
205
+ const at = target.atom ? { block: target.block, atom: target.atom } : target.block;
206
+ if (target.atom ? this.#atom(target) : this.#block(target))
207
+ this.edytor.patchData(at, [{ path: ['expression'], value: expression }]);
219
208
  };
220
209
  /**
221
210
  * Close the editor. An inline equation left empty is removed; then, with
@@ -227,7 +216,7 @@ export class EquationEditor {
227
216
  if (!target)
228
217
  return;
229
218
  this.target = null;
230
- this.box = null;
219
+ this.panel.box = null;
231
220
  this.edytor.overlay.invalidate();
232
221
  const block = this.#block(target);
233
222
  if (!block)
@@ -239,7 +228,7 @@ export class EquationEditor {
239
228
  return;
240
229
  const offset = offsetOf(block, atom);
241
230
  if (!expressionOf(atom.data) && this.edytor.dispatcher.permits()) {
242
- block.removeInlineBlock({ index: atom.index });
231
+ this.edytor.removeInline(block.id, atom.id);
243
232
  if (keys)
244
233
  selection.setCaret({ block, offset });
245
234
  }
@@ -247,7 +236,7 @@ export class EquationEditor {
247
236
  selection.setCaret({ block, offset: offset + 1 });
248
237
  }
249
238
  else if (keys)
250
- selection.selectBlocks(block);
239
+ selection.select(blockSelection([block.id]));
251
240
  if (keys)
252
241
  takeKeys(this.edytor);
253
242
  };
@@ -270,8 +259,8 @@ export class EquationEditor {
270
259
  this.close();
271
260
  };
272
261
  const element = node;
273
- element.addEventListener('keydown', keydown);
274
- element.addEventListener('focusout', this.#blurred);
262
+ const off = listen(element, 'keydown', keydown);
263
+ const off2 = listen(element, 'focusout', this.panel.blurred);
275
264
  // Each equation the editor opens on: the field takes the focus, the caret at the end.
276
265
  $effect(() => {
277
266
  if (!this.target)
@@ -283,64 +272,8 @@ export class EquationEditor {
283
272
  node.setSelectionRange(node.value.length, node.value.length);
284
273
  });
285
274
  });
286
- return () => {
287
- element.removeEventListener('keydown', keydown);
288
- element.removeEventListener('focusout', this.#blurred);
289
- };
275
+ return all(off, off2);
290
276
  });
291
- /**
292
- * The view turned readonly: the editor closes, the equation as it is.
293
- * @internal
294
- */
295
- lock = () => this.close(false);
296
- /**
297
- * A press anywhere (capture): one outside the editor and its equation closes it.
298
- * @internal
299
- */
300
- pressed = (event) => {
301
- const target = this.target;
302
- if (!target)
303
- return;
304
- const at = event.target;
305
- if (at?.closest?.(HOST))
306
- return;
307
- if (at instanceof Node && this.#node(target)?.contains(at))
308
- return;
309
- this.close(false);
310
- };
311
- /** Focus left the field for somewhere outside the editor: it closes. */
312
- #blurred = (event) => {
313
- const to = event.relatedTarget;
314
- const panel = event.currentTarget?.closest(HOST);
315
- // No new focus (the window went to the background): it stays.
316
- if (!(to instanceof Node) || panel?.contains(to))
317
- return;
318
- this.close(false);
319
- };
320
- /**
321
- * The overlay measure: the edited equation's box; gone, the editor closes.
322
- * @internal
323
- */
324
- measure = (host, origin) => {
325
- const target = this.target;
326
- const node = target ? this.#node(target) : null;
327
- const rect = node?.isConnected ? node.getBoundingClientRect() : null;
328
- const box = rect
329
- ? {
330
- x: rect.left - origin.left,
331
- y: rect.top - origin.top,
332
- width: rect.width,
333
- height: rect.height
334
- }
335
- : null;
336
- return () => {
337
- Object.assign(host.style, { position: 'absolute', left: '0px', top: '0px' });
338
- if (target && !node)
339
- return this.close(false);
340
- if (!sameBox(box, this.box))
341
- this.box = box;
342
- };
343
- };
344
277
  #block = (target) => {
345
278
  const block = this.edytor.idToBlock.get(target.block);
346
279
  return block?.isInTree ? block : undefined;
@@ -368,10 +301,3 @@ const offsetOf = (block, atom) => {
368
301
  };
369
302
  /** By view. */
370
303
  export const equationViews = new WeakMap();
371
- const sameBox = (a, b) => a === b ||
372
- (a !== null &&
373
- b !== null &&
374
- a.x === b.x &&
375
- a.y === b.y &&
376
- a.width === b.width &&
377
- a.height === b.height);
@@ -21,21 +21,18 @@ const stylesheet = (href) => {
21
21
  let link = [...head.querySelectorAll(`link[${MARK}]`)].find((known) => known.getAttribute('href') === href);
22
22
  if (link?.sheet)
23
23
  return Promise.resolve();
24
- const settled = new Promise((resolve) => {
25
- const done = () => resolve();
26
- link?.addEventListener('load', done, { once: true });
27
- link?.addEventListener('error', done, { once: true });
28
- if (link)
29
- return;
24
+ if (!link) {
30
25
  link = document.createElement('link');
31
26
  link.rel = 'stylesheet';
32
27
  link.href = href;
33
28
  link.setAttribute(MARK, '');
34
- link.addEventListener('load', done, { once: true });
35
- link.addEventListener('error', done, { once: true });
36
29
  head.append(link);
30
+ }
31
+ const known = link;
32
+ return new Promise((resolve) => {
33
+ for (const type of ['load', 'error'])
34
+ known.addEventListener(type, () => resolve(), { once: true });
37
35
  });
38
- return settled;
39
36
  };
40
37
  /** The KaTeX a module exports: itself, or its default export. */
41
38
  const katexOf = (module) => {
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Files dragged from outside over a view (Notion): the drop indicator a
3
+ * block drag shows, where the files land, and that placement for the drop
4
+ * (the core's `onDrop.ts` asks the view's uploads, `ViewUploads.drop`, and passes it to the occurrence; the view's uploads place one
5
+ * block per file there, one command). The placement is the block drag's
6
+ * own resolution (`DropResolver`) for a drag that moves no block, whose
7
+ * places are the ones the document takes new blocks of the files' kinds
8
+ * at (`canPlaceNew`). Shown only in an editable view whose uploads take
9
+ * one of the files (`viewUploads`); with or without the block handles.
10
+ * Plugin-owned: the view's `FileUploads` (the first media plugin listed with
11
+ * an `upload`) installs it, so a view without one ships none of it.
12
+ */
13
+ import type { Edytor } from '../edytor.svelte.js';
14
+ import type { DropAt } from '../session/attempt.js';
15
+ import type { DropPlacement } from '../dnd/geometry.js';
16
+ /**
17
+ * A `dragover` of files from outside: where they land, shown (Notion's
18
+ * indicator), `null` where none (a read-only view, no uploads taking them,
19
+ * no place the document takes them at).
20
+ */
21
+ export declare const fileDragOver: (edytor: Edytor, event: DragEvent) => DropPlacement | null;
22
+ /**
23
+ * A drop of files from outside: the placement shown (re-resolved at the
24
+ * drop point), in block terms, and nothing shows any more.
25
+ */
26
+ export declare const fileDropAt: (edytor: Edytor, event: DragEvent) => DropAt | null;
27
+ /** The files' drag left the view (or ended): the indicator goes. */
28
+ export declare const fileDragEnd: (edytor: Edytor) => void | undefined;
@@ -0,0 +1,116 @@
1
+ import { canPlaceNew } from '../session/moves.js';
2
+ import { viewUploads } from '../session/uploads.js';
3
+ import { DropIndicator } from '../dnd/dropIndicator.js';
4
+ import { DropResolver, isDropTarget } from '../dnd/placement.js';
5
+ /** The kinds the files of a drag would be, by their types (a `dragover` sees no file, only its type). */
6
+ const kindsOf = (edytor, dataTransfer) => {
7
+ const uploads = viewUploads(edytor);
8
+ if (!uploads || !dataTransfer)
9
+ return [];
10
+ const kinds = new Set();
11
+ for (const item of Array.from(dataTransfer.items ?? []))
12
+ if (item.kind === 'file') {
13
+ const file = item.getAsFile() ?? new File([], 'file', { type: item.type });
14
+ const kind = uploads.kindOf(file);
15
+ if (kind)
16
+ kinds.add(kind);
17
+ }
18
+ // An engine that lists no item for a file (WebKit before the drop): its files themselves.
19
+ if (!kinds.size)
20
+ for (const file of Array.from(dataTransfer.files ?? [])) {
21
+ const kind = uploads.kindOf(file);
22
+ if (kind)
23
+ kinds.add(kind);
24
+ }
25
+ return [...kinds];
26
+ };
27
+ class FileDrag {
28
+ edytor;
29
+ indicator;
30
+ resolver;
31
+ #begun = false;
32
+ constructor(edytor) {
33
+ this.edytor = edytor;
34
+ this.indicator = new DropIndicator(edytor, {
35
+ group: () => [],
36
+ besideOf: (block) => this.resolver.besideOf(block),
37
+ layoutOf: (outer) => this.resolver.layoutOf(outer)
38
+ });
39
+ this.resolver = new DropResolver(edytor, {
40
+ targetOf: (node) => {
41
+ const block = edytor.idToBlock.get(node.dataset.edytorId ?? '');
42
+ return block?.node === node && isDropTarget(edytor, block) ? block : undefined;
43
+ },
44
+ handle: () => null,
45
+ indicator: this.indicator
46
+ });
47
+ }
48
+ /** The drag of files of `kinds`: no block moves; a place takes them all. */
49
+ #drag(kinds) {
50
+ return {
51
+ group: [],
52
+ fits: ({ target, position }) => canPlaceNew(this.edytor, kinds, target, position)
53
+ };
54
+ }
55
+ /**
56
+ * The placement at the pointer, shown (`null`: none, and nothing shows):
57
+ * over a drop target, its row's; elsewhere in the host, its margins'.
58
+ */
59
+ over(kinds, input) {
60
+ const document = this.edytor.node?.ownerDocument;
61
+ if (!document)
62
+ return null;
63
+ if (!this.#begun) {
64
+ this.#begun = true;
65
+ this.indicator.begin(document);
66
+ }
67
+ const drag = this.#drag(kinds);
68
+ const node = this.resolver.hitAt(input);
69
+ const placement = node
70
+ ? this.resolver.over(drag, node, input)
71
+ : this.resolver.margin(drag, input);
72
+ if (!placement) {
73
+ this.indicator.clear();
74
+ return null;
75
+ }
76
+ // A margin's placement shows as the block drag's page target does (its reorder holds).
77
+ this.indicator.show(node ?? document.body, placement);
78
+ return placement;
79
+ }
80
+ /** The drag left the view, or dropped: nothing shows. */
81
+ end() {
82
+ this.#begun = false;
83
+ this.indicator.end();
84
+ }
85
+ }
86
+ const drags = new WeakMap();
87
+ const dragOf = (edytor) => {
88
+ let drag = drags.get(edytor);
89
+ if (!drag)
90
+ drags.set(edytor, (drag = new FileDrag(edytor)));
91
+ return drag;
92
+ };
93
+ /**
94
+ * A `dragover` of files from outside: where they land, shown (Notion's
95
+ * indicator), `null` where none (a read-only view, no uploads taking them,
96
+ * no place the document takes them at).
97
+ */
98
+ export const fileDragOver = (edytor, event) => {
99
+ const kinds = edytor.readonly ? [] : kindsOf(edytor, event.dataTransfer);
100
+ if (!kinds.length) {
101
+ drags.get(edytor)?.end();
102
+ return null;
103
+ }
104
+ return dragOf(edytor).over(kinds, event);
105
+ };
106
+ /**
107
+ * A drop of files from outside: the placement shown (re-resolved at the
108
+ * drop point), in block terms, and nothing shows any more.
109
+ */
110
+ export const fileDropAt = (edytor, event) => {
111
+ const placement = fileDragOver(edytor, event);
112
+ fileDragEnd(edytor);
113
+ return placement && { block: placement.target.id, position: placement.position };
114
+ };
115
+ /** The files' drag left the view (or ended): the indicator goes. */
116
+ export const fileDragEnd = (edytor) => drags.get(edytor)?.end();
@@ -1,11 +1,10 @@
1
- import type { Action } from 'svelte/action';
2
- import type { BlockOperations } from '../../block/block.utils.js';
1
+ import type { Attachment } from 'svelte/attachments';
2
+ import type { Commands } from '../../plugins.js';
3
3
  import type { Edytor } from '../../edytor.svelte.js';
4
4
  import type { CommandResult } from '../../session/commands.js';
5
5
  import { type FindMatch } from './search.js';
6
- import { type FindLabels } from '../../labels.js';
7
6
  /** What `replaceMatches` (one command, one undo step) writes: each match replaced by `replacement`. */
8
- export type ReplaceMatches = BlockOperations['replaceMatches'];
7
+ export type ReplaceMatches = Commands['replaceMatches'];
9
8
  /**
10
9
  * The find bar's state and actions (`plugins/find`): the query, the matches
11
10
  * in reading order, the current one and the replacements. It reads the
@@ -15,14 +14,10 @@ export type ReplaceMatches = BlockOperations['replaceMatches'];
15
14
  export declare class FindController {
16
15
  #private;
17
16
  private edytor;
18
- /** The words the bar shows (the plugin's `labels`): read them in a custom `bar`. */
19
- readonly labels: FindLabels;
20
17
  isOpen: boolean;
21
18
  /** The replacement text. */
22
19
  replacement: string;
23
- constructor(edytor: Edytor,
24
- /** The words the bar shows (the plugin's `labels`): read them in a custom `bar`. */
25
- labels?: FindLabels);
20
+ constructor(edytor: Edytor);
26
21
  /** What the bar searches for; setting it shows the current match. */
27
22
  get query(): string;
28
23
  set query(value: string);
@@ -58,10 +53,10 @@ export declare class FindController {
58
53
  replace: () => CommandResult["status"];
59
54
  /** Replace every match: one command, one undo step. Answers its status. */
60
55
  replaceAll: () => CommandResult["status"];
61
- /** The query field (`use:find.field`): focused on each Mod+F; Enter, Shift+Enter, Escape, Mod+F. */
62
- field: Action<HTMLInputElement>;
63
- /** The replacement field (`use:find.replaceField`): Enter replaces, Escape closes. */
64
- replaceField: Action<HTMLInputElement>;
56
+ /** The query field (`{@attach find.field}`): focused on each Mod+F; Enter, Shift+Enter, Escape, Mod+F. */
57
+ field: Attachment<HTMLInputElement>;
58
+ /** The replacement field (`{@attach find.replaceField}`): Enter replaces, Escape closes. */
59
+ replaceField: Attachment<HTMLInputElement>;
65
60
  /** Stop following the document (the editor is going away). */
66
61
  destroy: () => void;
67
62
  }