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
@@ -6,14 +6,13 @@
6
6
  import { codeKinds } from '../../crdt/semantics.js';
7
7
  import { shown } from '../../selection/visibility.js';
8
8
  import { caretBeside } from '../../selection/replaceSelection.js';
9
+ import { siblingSlot } from '../../session/handles.js';
9
10
  import CodeHeader from './CodeHeader.svelte';
10
11
  import LanguageMenuPanel from './LanguageMenu.svelte';
11
12
  import { LanguageMenu, languageMenus } from './languageMenu.svelte.js';
12
- import { onPress } from '../../events/onFocus.js';
13
- import { keywordsOf, labelsWith } from '../../labels.js';
13
+ import { codeEnglish, keywordsOf, labelsOf } from '../../labels.js';
14
14
  import {
15
15
  DEFAULT_CODE_SETTINGS,
16
- codeSettings,
17
16
  languageOf,
18
17
  tokenizeCode,
19
18
  type CodePluginOptions,
@@ -44,12 +43,12 @@
44
43
  const own: CodeSettings = {
45
44
  languages: options.languages ?? DEFAULT_CODE_SETTINGS.languages,
46
45
  defaultLanguage: options.defaultLanguage ?? DEFAULT_CODE_SETTINGS.defaultLanguage,
47
- labels: labelsWith('code', options.labels),
48
46
  header: options.header,
49
47
  menu: options.menu
50
48
  };
51
- codeSettings.set(edytor, own);
52
- // The view's language list: the first code plugin listed owns it.
49
+ // The view's code options and language list: the first code plugin
50
+ // listed owns them, as it draws the kind (first listed wins); the
51
+ // header reads them from it.
53
52
  if (edytor && !languageMenus.has(edytor))
54
53
  languageMenus.set(edytor, new LanguageMenu(edytor, own));
55
54
  const ownMenu = () => {
@@ -67,7 +66,8 @@
67
66
  * as code editors do.
68
67
  */
69
68
  const touchedLines = () => {
70
- const { startText, endText, yEnd, isCollapsed } = edytor.selection.state;
69
+ const { startText, endText, yEnd } = edytor.selection.textRange();
70
+ const { isCollapsed } = edytor.selection.projection;
71
71
  const [from, to] = [startText?.parent, endText?.parent];
72
72
  if (from?.type !== 'codeLine' || to?.type !== 'codeLine' || from.parent !== to.parent)
73
73
  return null;
@@ -83,51 +83,39 @@
83
83
  * move. The selection keeps its characters.
84
84
  */
85
85
  const indent = (step: 1 | -1) => {
86
- const { startText, endText, yStart, yEnd, isReversed } = edytor.selection.state;
86
+ const { startText, endText, yStart, yEnd } = edytor.selection.textRange();
87
+ const { isReversed } = edytor.selection.projection;
87
88
  const shifts = new Map<Text, number>();
88
89
  const kind = step > 0 ? 'indentLines' : 'dedentLines';
89
90
  edytor.dispatcher.each(kind, touchedLines() ?? [], (line) => {
90
91
  const text = line.firstText;
91
92
  if (!text) return;
92
93
  if (step > 0) {
93
- text.insertText({ value: '\t', start: 0, end: 0 });
94
+ edytor.insertText(line.id, text.segStart, '\t');
94
95
  return shifts.set(text, 1);
95
96
  }
96
97
  const removed = /^(\t| {1,2})/.exec(text.stringContent)?.[0].length ?? 0;
97
98
  if (!removed) return;
98
- line.deleteContentAtRange({ start: [text.index, 0], end: [text.index, removed] });
99
+ edytor.deleteText(line.id, text.segStart, removed);
99
100
  shifts.set(text, -removed);
100
101
  });
101
102
  const moved = (text: Text | null, offset: number) =>
102
103
  Math.max(0, offset + (text ? (shifts.get(text) ?? 0) : 0));
103
104
  if (startText && endText)
104
- edytor.selection.setAtRange(
105
+ edytor.selection.selectText(
105
106
  startText,
106
107
  moved(startText, yStart),
107
108
  endText,
108
109
  moved(endText, yEnd),
109
- { isReversed }
110
+ isReversed
110
111
  );
111
112
  };
112
113
 
113
114
  return {
114
115
  onEdytorAttached: ({ node }) => {
115
116
  const menu = ownMenu();
116
- if (!menu) return;
117
- const offPress = onPress(edytor, node.ownerDocument, menu.pressed, true);
118
- const unmount = edytor.overlay.mount(
119
- LanguageMenuPanel,
120
- { menu, readonly: () => edytor.readonly },
121
- 'edytor-code-language-host',
122
- // Above the block handles (5), as the equation editor.
123
- 7,
124
- menu.measure
125
- );
126
- return () => {
127
- offPress();
128
- unmount();
129
- menu.close();
130
- };
117
+ const snippet = menu?.settings.menu;
118
+ return snippet && menu.panel.mount(node, LanguageMenuPanel, { menu, snippet });
131
119
  },
132
120
  hotkeys: {
133
121
  // Alt+F10 at a caret in a code line: the keys go to its language button
@@ -139,31 +127,35 @@
139
127
  'mod+a': ({ prevent }) => {
140
128
  // Select the code block's text; once it is (or when it has none), Select
141
129
  // all takes the next step: the code block.
142
- const { startBlock, startText, endText, yStart, yEnd } = edytor.selection.state;
130
+ const { startText, endText, yStart, yEnd } = edytor.selection.textRange();
131
+ const startBlock = startText?.parent;
143
132
  if (startBlock?.type !== 'codeLine' || edytor.selection.selectedBlocks.size) return;
144
133
  const code = edytor.idToBlock.get(edytor.selection.projection.islandRoot ?? '');
145
134
  const [first, last] = [code?.firstEditableText, code?.lastEditableText];
146
135
  if (!first || !last) return;
147
136
  const whole =
148
137
  startText === first && yStart === 0 && endText === last && yEnd === last.length;
149
- if (!whole) prevent(() => edytor.selection.setAtTextsRange(first, last));
138
+ if (!whole) prevent(() => edytor.selection.selectText(first, 0, last, last.length));
150
139
  },
151
140
  escape: () => {
152
141
  // A completion (`end` suggestion) in a code line goes; the key goes on.
153
- const { startBlock } = edytor.selection.state;
142
+ const { startText } = edytor.selection.textRange();
143
+ const startBlock = startText?.parent;
154
144
  if (startBlock?.type === 'codeLine')
155
145
  for (const ghost of edytor.suggestions.at(startBlock.id).end) ghost.discard();
156
146
  },
157
147
  tab: ({ prevent }) => {
158
- const { startText, yStart, startBlock, isCollapsed } = edytor.selection.state;
148
+ const { startText, yStart } = edytor.selection.textRange();
149
+ const { isCollapsed } = edytor.selection.projection;
150
+ const startBlock = startText?.parent;
159
151
  if (startText?.parent.type !== 'codeLine') return;
160
152
  // Tab accepts a completion in a code line (its caret ends it), else indents.
161
153
  const ghost = startBlock && edytor.suggestions.at(startBlock.id).end.at(-1);
162
154
  if (ghost) return prevent(() => ghost.accept());
163
155
  if (isCollapsed) {
164
156
  return prevent(() => {
165
- startText.insertText({ value: '\t', start: yStart, end: yStart });
166
- edytor.selection.setAtTextOffset(startText, yStart + 1);
157
+ edytor.insertText(startText.parent.id, startText.segStart + yStart, '\t');
158
+ edytor.selection.selectText(startText, yStart + 1);
167
159
  });
168
160
  }
169
161
  if (touchedLines()) prevent(() => indent(1));
@@ -173,10 +165,15 @@
173
165
  },
174
166
  'shift+enter': ({ prevent }) => {
175
167
  // Always a new line, in the empty last line too (where Enter leaves the block).
176
- const { startBlock: line, isCollapsed } = edytor.selection.state;
168
+ const { startText } = edytor.selection.textRange();
169
+ const { isCollapsed } = edytor.selection.projection;
170
+ const line = startText?.parent;
177
171
  if (line?.type !== 'codeLine') return;
178
172
  if (isCollapsed && line.isEmpty) {
179
- const next = () => line.insertBlockAfter({ block: { type: 'codeLine' } });
173
+ const next = () =>
174
+ edytor.idToBlock.get(
175
+ edytor.insertBlocks(siblingSlot(line), [{ type: 'codeLine' }]).ids[0] ?? ''
176
+ );
180
177
  return prevent(() => edytor.dispatcher.caret(next()?.firstText, 0));
181
178
  }
182
179
  prevent(() => runIntent(edytor, 'insertParagraph'));
@@ -186,33 +183,34 @@
186
183
  // Delete before a code block: an empty block is removed, the caret at
187
184
  // the end of the text before it (else the start of the code); any other
188
185
  // is refused.
189
- const code = operation === 'mergeBlockForward' ? shown(block, 'blockAfter') : null;
186
+ const code = operation === 'mergeForward' ? shown(block, 'blockAfter') : null;
190
187
  if (code?.type === 'code') {
191
188
  if (!block.isEmpty) prevent();
192
189
  prevent(() => {
193
190
  const before = caretBeside(block, 'blockBefore', new Set([block]));
194
- block.removeBlock();
191
+ edytor.deleteBlock(block.id);
195
192
  edytor.dispatcher.caret(before?.text ?? code.firstEditableText, before?.offset ?? 0);
196
193
  });
197
194
  }
198
195
  // Backspace in an empty block right after a code block removes it; the
199
196
  // caret goes to the end of the code (the merge would be refused).
200
197
  const previous =
201
- operation === 'mergeBlockBackward' && block.type !== 'codeLine' && block.isEmpty
198
+ operation === 'mergeBackward' && block.type !== 'codeLine' && block.isEmpty
202
199
  ? shown(block, 'blockBefore')
203
200
  : null;
204
201
  if (previous?.type === 'codeLine') {
205
202
  prevent(() => {
206
- block.removeBlock();
203
+ edytor.deleteBlock(block.id);
207
204
  const text = previous.lastText;
208
205
  edytor.dispatcher.caret(text, text?.length ?? 0);
209
206
  });
210
207
  }
211
208
  if (block.type !== 'codeLine') return;
212
- const { startText, yStart, isCollapsed } = edytor.selection.state;
209
+ const { startText } = edytor.selection.textRange();
210
+ const { isCollapsed } = edytor.selection.projection;
213
211
  if (operation === 'insertText' && isCollapsed && startText) {
214
- const { value } = payload;
215
- const [at, line] = [payload.start ?? yStart, startText.stringContent];
212
+ const [id, offset, value, marks] = payload;
213
+ const [at, line] = [offset - startText.segStart, startText.stringContent];
216
214
  // A closer typed before the same character steps over it.
217
215
  if (CLOSERS.has(value) && line[at] === value) {
218
216
  prevent(() => edytor.dispatcher.caret(startText, at + 1));
@@ -220,14 +218,14 @@
220
218
  // Quotes pair only at a word boundary: the apostrophe in `don't` stays single.
221
219
  const inWord = QUOTES.has(value) && /\w/.test((line[at - 1] ?? '') + (line[at] ?? ''));
222
220
  if (Object.hasOwn(PAIRS, value) && !inWord) {
223
- return { ...payload, value: value + PAIRS[value] };
221
+ return [id, offset, value + PAIRS[value], marks];
224
222
  }
225
223
  }
226
224
  // A code line never merges out of its island's first or last slot
227
225
  // (the code block renders no content of its own).
228
226
  const siblings = block.parent?.children.length ?? 0;
229
- if (operation === 'mergeBlockBackward' && block.index === 0) prevent();
230
- if (operation === 'mergeBlockForward' && block.index === siblings - 1) prevent();
227
+ if (operation === 'mergeBackward' && block.index === 0) prevent();
228
+ if (operation === 'mergeForward' && block.index === siblings - 1) prevent();
231
229
  },
232
230
 
233
231
  blocks: {
@@ -236,9 +234,9 @@
236
234
  snippet: code,
237
235
  presets: [
238
236
  {
239
- label: own.labels.code,
237
+ label: labelsOf(edytor, 'code', codeEnglish).code,
240
238
  icon: '</>',
241
- keywords: keywordsOf('block.code', ['code block', 'snippet'], options.keywords),
239
+ keywords: keywordsOf(edytor, 'block.code', ['code block', 'snippet']),
242
240
  markdown: ['```'],
243
241
  group: 'Media'
244
242
  }
@@ -256,12 +254,14 @@
256
254
  if (!(text instanceof Text)) return;
257
255
  const [first, ...rest] = text.stringContent.split('\n');
258
256
  if (!rest.length) return;
259
- text.deleteAt(0, text.stringContent.length);
260
- text.insertAt(0, first!);
261
- block.parent?.insertChildren(
262
- block.index + 1,
263
- rest.map((line) => ({ type: 'codeLine', content: [{ text: line }] }))
264
- );
257
+ return () => {
258
+ const { edytor } = block;
259
+ edytor.deleteText(block.id, first!.length, text.length - first!.length);
260
+ edytor.insertBlocks(
261
+ siblingSlot(block),
262
+ rest.map((line) => ({ type: 'codeLine', content: [{ text: line }] }))
263
+ );
264
+ };
265
265
  }
266
266
  }
267
267
  },
@@ -270,9 +270,6 @@
270
270
  }
271
271
  };
272
272
  };
273
-
274
- /** Code blocks in `CODE_LANGUAGES`, JavaScript by default. */
275
- export const codePlugin: Plugin = createCodePlugin();
276
273
  </script>
277
274
 
278
275
  <!-- No whitespace between the header and the code (one node per block less to walk). -->
@@ -9,8 +9,6 @@ export { CODE_LANGUAGES, loadCodeLanguage, type CodeLanguage, type CodePluginOpt
9
9
  * time a line of it renders.
10
10
  */
11
11
  export declare const createCodePlugin: (options?: CodePluginOptions) => Plugin;
12
- /** Code blocks in `CODE_LANGUAGES`, JavaScript by default. */
13
- export declare const codePlugin: Plugin;
14
12
  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> {
15
13
  new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
16
14
  $$bindings?: Bindings;
@@ -1,134 +1,25 @@
1
1
  <script lang="ts">
2
+ import type { Snippet } from 'svelte';
2
3
  import type { LanguageMenu } from './languageMenu.svelte.js';
3
4
 
4
5
  /**
5
6
  * The code language list (`LanguageMenu`), in the overlay under the
6
- * language button of its block: the plugin's `menu` snippet, else a
7
- * search field holding the keys (a `combobox` naming the highlighted row)
8
- * over the listbox of languages. Both keep the keys and the ARIA through
9
- * the controller's attachments (`keys`, `popup`, `option(index)`).
7
+ * language button of its block: the plugin's `menu` snippet, placed. Its
8
+ * keys and ARIA are the controller's attachments (`keys`, `popup`,
9
+ * `option(index)`).
10
10
  */
11
- let { menu, readonly }: { menu: LanguageMenu; readonly: () => boolean } = $props();
11
+ let { menu, snippet }: { menu: LanguageMenu; snippet: Snippet<[LanguageMenu]> } = $props();
12
12
 
13
- const place = $derived(menu.place);
14
- const custom = $derived(menu.settings.menu);
15
-
16
- // The view turning readonly closes it.
17
- $effect(() => {
18
- if (readonly()) menu.lock();
19
- });
13
+ const place = $derived(menu.open && menu.panel.place(4));
20
14
  </script>
21
15
 
22
- <div role="presentation">
23
- {#if place && custom}
24
- <div data-edytor-code-language-panel style:left="{place.left}px" style:top="{place.top}px">
25
- {@render custom(menu)}
26
- </div>
27
- {:else if place}
28
- <div data-edytor-code-language-menu style:left="{place.left}px" style:top="{place.top}px">
29
- <input
30
- type="text"
31
- placeholder={menu.labels.search}
32
- spellcheck="false"
33
- autocomplete="off"
34
- autocapitalize="off"
35
- value={menu.query}
36
- oninput={(event) => menu.search(event.currentTarget.value)}
37
- {@attach menu.keys}
38
- />
39
- <div data-edytor-code-language-list {@attach menu.popup}>
40
- {#each menu.items as item, index (item.item.id)}
41
- <!-- The field keeps the focus: a row is pressed, never focused. -->
42
- <div
43
- {...menu.option(index)}
44
- data-edytor-code-language-option={item.item.id}
45
- data-current={item.current ? '' : undefined}
46
- onmousemove={item.select}
47
- onclick={item.run}
48
- role="option"
49
- >
50
- {item.label}
51
- </div>
52
- {/each}
53
- </div>
54
- {#if menu.rows.length === 0}
55
- <div data-edytor-code-language-empty role="status">{menu.labels.noResults}</div>
56
- {/if}
57
- </div>
58
- {/if}
59
- </div>
60
-
61
- <style>
62
- [data-edytor-code-language-panel] {
63
- position: absolute;
64
- }
65
- [data-edytor-code-language-menu] {
66
- position: absolute;
67
- box-sizing: border-box;
68
- display: flex;
69
- flex-direction: column;
70
- width: 220px;
71
- padding: 4px;
72
- border-radius: 10px;
73
- background: var(--edytor-menu-background, #fff);
74
- color: var(--edytor-menu-color, #2c2c2b);
75
- box-shadow:
76
- 0 14px 28px -6px rgba(0, 0, 0, 0.1),
77
- 0 2px 4px -1px rgba(0, 0, 0, 0.06),
78
- 0 0 0 1px rgba(84, 72, 49, 0.08);
79
- font-size: 14px;
80
- line-height: 20px;
81
- font-family:
82
- ui-sans-serif,
83
- -apple-system,
84
- BlinkMacSystemFont,
85
- 'Segoe UI Variable Display',
86
- 'Segoe UI',
87
- Helvetica,
88
- Arial,
89
- sans-serif;
90
- }
91
- input {
92
- box-sizing: border-box;
93
- width: 100%;
94
- margin: 0 0 4px;
95
- padding: 4px 8px;
96
- border: 1px solid rgba(84, 72, 49, 0.16);
97
- border-radius: 6px;
98
- background: rgba(242, 241, 238, 0.6);
99
- color: inherit;
100
- font: inherit;
101
- outline: none;
102
- }
103
- input:focus {
104
- border-color: var(--edytor-code-accent, #2383e2);
105
- box-shadow: 0 0 0 2px rgba(35, 131, 226, 0.2);
106
- }
107
- [role='listbox'] {
108
- max-height: 280px;
109
- overflow-y: auto;
110
- }
111
- [role='option'] {
112
- display: flex;
113
- align-items: center;
114
- justify-content: space-between;
115
- gap: 8px;
116
- height: 28px;
117
- padding: 0 8px;
118
- border-radius: 6px;
119
- white-space: nowrap;
120
- cursor: pointer;
121
- user-select: none;
122
- }
123
- /* The block's own language. */
124
- [role='option'][data-current]::after {
125
- content: '✓';
126
- }
127
- [role='option'][aria-selected='true'] {
128
- background: rgba(84, 72, 49, 0.08);
129
- }
130
- [data-edytor-code-language-empty] {
131
- padding: 4px 8px;
132
- color: #73726e;
133
- }
134
- </style>
16
+ {#if place}
17
+ <div
18
+ data-edytor-code-language-panel
19
+ style:position="absolute"
20
+ style:left="{place.left}px"
21
+ style:top="{place.top}px"
22
+ >
23
+ {@render snippet(menu)}
24
+ </div>
25
+ {/if}
@@ -1,7 +1,8 @@
1
+ import type { Snippet } from 'svelte';
1
2
  import type { LanguageMenu } from './languageMenu.svelte.js';
2
3
  type $$ComponentProps = {
3
4
  menu: LanguageMenu;
4
- readonly: () => boolean;
5
+ snippet: Snippet<[LanguageMenu]>;
5
6
  };
6
7
  declare const LanguageMenu: import("svelte").Component<$$ComponentProps, {}, "">;
7
8
  type LanguageMenu = ReturnType<typeof LanguageMenu>;
@@ -1,128 +1,16 @@
1
1
  /*
2
- * Code blocks, Notion style: a warm gray panel, the language at the top
3
- * left (a button opening the language list), Copy on hover, and Notion's
4
- * light syntax theme (Prism's palette, each color darkened to a 4.5:1
5
- * contrast on the panel, WCAG AA) over TanStack Highlight's `th-*` token
6
- * classes. The panel's colors are custom properties a theme may set:
7
- *
8
- * - `--edytor-code-background`, `--edytor-code-color`: the panel and its text;
9
- * - `--edytor-code-chrome-color`: the header's language and Copy;
10
- * - `--edytor-code-chrome-hover`: their background under the pointer;
11
- * - `--edytor-code-accent`: the focus ring of the header's buttons and the
12
- * language list's field.
2
+ * Code blocks: what makes them work. The code keeps its spaces and lines
3
+ * and scrolls sideways; the header (the app's markup, `[data-edytor-code-
4
+ * header]`) is chrome, never selected text. The look (the panel, the
5
+ * header's place over it, the font and the syntax colours over TanStack
6
+ * Highlight's `th-*` classes) is a theme's: `edytor/themes/notion.css`.
13
7
  */
14
- [data-edytor-type='code'] {
15
- position: relative;
16
- margin: 4px 0;
17
- padding: 34px 16px 32px 32px;
18
- border-radius: 10px;
19
- background: var(--edytor-code-background, #f7f6f3);
20
- color: var(--edytor-code-color, #2c2c2b);
21
- }
22
8
  [data-edytor-code-header] {
23
- position: absolute;
24
- top: 6px;
25
- left: 10px;
26
- right: 8px;
27
- display: flex;
28
- align-items: center;
29
- justify-content: space-between;
30
- font-size: 12px;
31
- line-height: 20px;
32
- color: var(--edytor-code-chrome-color, #726f6a);
33
9
  user-select: none;
34
10
  }
35
- /* The language: a button with its chevron, which opens the language list. */
36
- button[data-edytor-code-language] {
37
- display: inline-flex;
38
- align-items: center;
39
- gap: 4px;
40
- margin: 0;
41
- padding: 0 4px 0 6px;
42
- border: 0;
43
- border-radius: 6px;
44
- background: transparent;
45
- color: inherit;
46
- font: inherit;
47
- cursor: pointer;
48
- }
49
- button[data-edytor-code-language] svg {
50
- opacity: 0.7;
51
- }
52
- button[data-edytor-code-language]:hover,
53
- button[data-edytor-code-language][aria-expanded='true'] {
54
- background: var(--edytor-code-chrome-hover, rgba(33, 27, 23, 0.06));
55
- }
56
- [data-edytor-code-header] button:focus-visible {
57
- outline: 2px solid var(--edytor-code-accent, #2383e2);
58
- outline-offset: 1px;
59
- }
60
- span[data-edytor-code-language] {
61
- padding: 0 6px;
62
- }
63
- [data-edytor-code-copy] {
64
- padding: 0 6px;
65
- border-radius: 6px;
66
- color: inherit;
67
- font: inherit;
68
- cursor: pointer;
69
- opacity: 0;
70
- transition: opacity 150ms ease;
71
- }
72
- [data-edytor-type='code']:hover [data-edytor-code-copy],
73
- [data-edytor-code-copy]:focus-visible {
74
- opacity: 1;
75
- }
76
- [data-edytor-code-copy]:hover {
77
- background: var(--edytor-code-chrome-hover, rgba(33, 27, 23, 0.06));
78
- }
79
11
  pre.th-code {
80
- margin: 0;
81
12
  overflow-x: auto;
82
- color: inherit;
83
- font-family: 'SFMono-Regular', Menlo, Consolas, 'PT Mono', 'Liberation Mono', Courier, monospace;
84
- font-size: 85%;
85
- line-height: 1.5;
86
- text-align: left;
87
13
  white-space: pre;
88
14
  word-break: normal;
89
15
  tab-size: 2;
90
- hyphens: none;
91
- }
92
- pre.th-code code {
93
- font: inherit;
94
- background: none;
95
- color: inherit;
96
- padding: 0;
97
- }
98
- .th-comment,
99
- .th-meta {
100
- color: #63717f;
101
- }
102
- .th-keyword,
103
- .th-link {
104
- color: #0077aa;
105
- }
106
- .th-string,
107
- .th-attr,
108
- .th-selector,
109
- .th-inserted {
110
- color: #527a00;
111
- }
112
- .th-function,
113
- .th-type {
114
- color: #c2415c;
115
- }
116
- .th-number,
117
- .th-literal,
118
- .th-tag,
119
- .th-property,
120
- .th-deleted {
121
- color: #990055;
122
- }
123
- .th-variable {
124
- color: #9b6300;
125
- }
126
- .th-operator {
127
- color: #916737;
128
16
  }
@@ -1,13 +1,10 @@
1
1
  import type { Attachment } from 'svelte/attachments';
2
2
  import type { Block } from '../../block/block.svelte.js';
3
- import type { CodeLabels } from '../../labels.js';
4
- import type { LanguageRow } from './languageMenu.svelte.js';
5
3
  /**
6
4
  * What a code plugin's `header` snippet receives: the code block's
7
- * language (`language`, its id; `label`, as shown), the languages the
8
- * plugin lists (`languages`), whether the language may be changed here
5
+ * language (`language`, its id; `label`, as shown), whether the language may be changed here
9
6
  * (`editable`: an editable view, not a suggestion's preview), the list's
10
- * state (`expanded`), the actions (`setLanguage`, `toggle`, `copy`, and
7
+ * state (`expanded`), the actions (`toggle`, the list's own `pick`, `copy`, and
11
8
  * `copied` for a moment after a copy) and the plugin's `labels`. Put
12
9
  * `{@attach header.button}` on the element that opens the language list:
13
10
  * it opens it on a click, ArrowDown or ArrowUp, Escape gives the keys back
@@ -24,18 +21,12 @@ export declare class CodeHeader {
24
21
  get language(): string;
25
22
  /** The language's label; a language the plugin does not list shows its id (reactive). */
26
23
  get label(): string;
27
- /** The languages the plugin lists, labeled, in order. */
28
- get languages(): LanguageRow[];
29
- /** The plugin's words (`language`, `copy`, `copied`, …). */
30
- get labels(): CodeLabels;
31
24
  /** The view is readonly (reactive). */
32
25
  get readonly(): boolean;
33
26
  /** The language may be changed here: an editable view, not a suggestion's preview (reactive). */
34
27
  get editable(): boolean;
35
28
  /** The language list is open on this block (reactive). */
36
29
  get expanded(): boolean;
37
- /** Set the block's language (one undo step); nothing where it is not `editable`. */
38
- setLanguage: (id: string) => void;
39
30
  /**
40
31
  * Open the language list under the header's button, or close it (`keys`:
41
32
  * the keyboard opened it, so the keys go back to the button after).