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
package/dist/labels.js CHANGED
@@ -1,18 +1,15 @@
1
1
  /**
2
- * The words the editor's chrome shows or says: one dictionary section per
3
- * bundled plugin, plus `editor` for the view itself (announcements, a
4
- * suggestion's name). English is the default; each plugin factory takes a
5
- * `labels` option with the entries to replace (`PartialLabels`), and
6
- * `<Edytor labels>` takes the `editor` section.
2
+ * The words the package itself shows or says: the kinds' and commands'
3
+ * names (the menus search them), the document's own markup (placeholders,
4
+ * a to-do's checkbox, an empty body's hint, a page's or an entry's
5
+ * "Untitled"), the accessible names of the elements it renders, and the
6
+ * view's announcements. English is the default. A view's `labels`
7
+ * (`<Edytor labels>`) replaces any entry of any section, and its
8
+ * `keywords` a command's slash keywords, by command id. The words of the
9
+ * chrome (menus, bars, panels, cards) are the app's: its snippets write them.
7
10
  *
8
11
  * A label that says something about a value is a function of it, so a
9
12
  * language can order and inflect the words: `moved: (what) => …`.
10
- *
11
- * Group names (`KindPreset.group`: `Basic blocks`, `Advanced blocks`,
12
- * `Media`, `Layout`), the toolbar's color names (`TOOLBAR_COLORS`) and the
13
- * block palette's (`BLOCK_COLORS`, and `default`) are keys: the slash menu's
14
- * `groups`, the toolbar's `colors` and the block menu's `colors` map them to
15
- * what is shown.
16
13
  */
17
14
  /** A byte count for people: `5 B`, `1.2 KB`, `3.4 MB`. */
18
15
  const bytes = (count) => {
@@ -35,411 +32,187 @@ const frozen = (value) => {
35
32
  frozen(entry);
36
33
  return Object.freeze(value);
37
34
  };
35
+ const UNTITLED = 'Untitled';
36
+ /** An empty body's hint (`body.hint`). */
37
+ /* @__NO_SIDE_EFFECTS__ */
38
+ const emptyBody = (kind) => `Empty ${kind}. Click or drop blocks inside.`;
39
+ const heading = (level) => `Heading ${level}`;
40
+ const toggleHeading = (level) => `Toggle heading ${level}`;
41
+ /** The `editor` section in English. */
42
+ export const editorEnglish = /* @__PURE__ */ frozen({
43
+ suggestion: 'Suggestion',
44
+ block: (kind) => `${kind} block`,
45
+ blocks: (count) => `${count} blocks`,
46
+ movedUp: (what) => `Moved ${what} up`,
47
+ movedDown: (what) => `Moved ${what} down`,
48
+ indented: (what) => `Indented ${what}`,
49
+ outdented: (what) => `Outdented ${what}`,
50
+ moved: (what) => `Moved ${what}`,
51
+ deleted: (what) => `Deleted ${what}`
52
+ });
53
+ /** The `richText` section in English. */
54
+ export const richTextEnglish = /* @__PURE__ */ frozen({
55
+ kinds: {
56
+ paragraph: 'Text',
57
+ heading1: heading(1),
58
+ heading2: heading(2),
59
+ heading3: heading(3),
60
+ toggleHeading1: toggleHeading(1),
61
+ toggleHeading2: toggleHeading(2),
62
+ toggleHeading3: toggleHeading(3),
63
+ bulletedList: 'Bulleted list',
64
+ numberedList: 'Numbered list',
65
+ todoList: 'To-do list',
66
+ toggleList: 'Toggle list',
67
+ callout: 'Callout',
68
+ quote: 'Quote',
69
+ divider: 'Divider'
70
+ },
71
+ marks: {
72
+ bold: 'Bold',
73
+ italic: 'Italic',
74
+ underline: 'Underline',
75
+ strike: 'Strike',
76
+ code: 'Code'
77
+ },
78
+ checkbox: 'Done',
79
+ emptyBody: {
80
+ toggle: emptyBody('toggle'),
81
+ callout: emptyBody('callout')
82
+ },
83
+ calloutIcon: { change: 'Change icon', add: 'Add icon' },
84
+ placeholders: {
85
+ heading,
86
+ toggleHeading,
87
+ list: 'List',
88
+ todo: 'To-do',
89
+ toggle: 'Toggle',
90
+ quote: 'Empty quote',
91
+ callout: 'Callout title',
92
+ caption: 'Write a caption…',
93
+ empty: "Type '/' for commands"
94
+ }
95
+ });
96
+ /** The `blockMenu` section in English. */
97
+ export const blockMenuEnglish = /* @__PURE__ */ frozen({
98
+ turnInto: 'Turn into',
99
+ color: 'Color',
100
+ colors: Object.fromEntries(['Default', 'Gray', 'Brown', 'Orange', 'Yellow', 'Green', 'Blue', 'Purple', 'Pink', 'Red'].map((name) => [name.toLowerCase(), name])),
101
+ colorText: (color) => `${color} text`,
102
+ colorBackground: (color) => `${color} background`,
103
+ copyLink: 'Copy link to block',
104
+ duplicate: 'Duplicate',
105
+ moveUp: 'Move up',
106
+ moveDown: 'Move down',
107
+ delete: 'Delete',
108
+ ctrl: 'Ctrl',
109
+ shift: 'Shift',
110
+ deleteKey: 'Del'
111
+ });
112
+ /** The `image` section in English. */
113
+ export const imageEnglish = /* @__PURE__ */ frozen({ image: 'Image' });
114
+ /** The `media` section in English. */
115
+ export const mediaEnglish = /* @__PURE__ */ frozen({
116
+ embed: 'Embed',
117
+ bookmark: 'Web bookmark',
118
+ file: 'File',
119
+ video: 'Video',
120
+ audio: 'Audio',
121
+ fileSize: bytes,
122
+ uploading: 'Uploading…'
123
+ });
124
+ /** The `code` section in English. */
125
+ export const codeEnglish = /* @__PURE__ */ frozen({ code: 'Code' });
126
+ /** The `columns` section in English. */
127
+ export const columnsEnglish = /* @__PURE__ */ frozen({
128
+ columns: (count) => `${count} columns`,
129
+ resize: 'Resize columns'
130
+ });
131
+ /** The `page` section in English. */
132
+ export const pageEnglish = /* @__PURE__ */ frozen({ page: 'Page', untitled: UNTITLED });
133
+ /** The `toc` section in English. */
134
+ export const tocEnglish = /* @__PURE__ */ frozen({
135
+ toc: 'Table of contents',
136
+ untitled: UNTITLED,
137
+ empty: 'Add headings to create a table of contents.'
138
+ });
139
+ /** The `pageLink` section in English. */
140
+ export const pageLinkEnglish = /* @__PURE__ */ frozen({ untitled: UNTITLED });
141
+ /** The `comments` section in English. */
142
+ export const commentsEnglish = /* @__PURE__ */ frozen({
143
+ comment: 'Comment',
144
+ sidebar: 'Comments'
145
+ });
146
+ /** The `table` section in English. */
147
+ export const tableEnglish = /* @__PURE__ */ frozen({
148
+ table: 'Table',
149
+ headerRow: 'Header row',
150
+ headerColumn: 'Header column',
151
+ insertRowAbove: 'Insert row above',
152
+ insertRowBelow: 'Insert row below',
153
+ insertColumnLeft: 'Insert column left',
154
+ insertColumnRight: 'Insert column right',
155
+ deleteRow: 'Delete row',
156
+ deleteColumn: 'Delete column',
157
+ resize: 'Resize column',
158
+ emptyCell: 'Empty cell'
159
+ });
160
+ /** The `equation` section in English. */
161
+ export const equationEnglish = /* @__PURE__ */ frozen({
162
+ block: 'Block equation',
163
+ inline: 'Inline equation',
164
+ blockPlaceholder: 'Add a TeX equation',
165
+ inlinePlaceholder: 'New equation',
166
+ invalid: 'Invalid equation'
167
+ });
38
168
  /**
39
169
  * The English dictionary: the default of every section. Frozen: start
40
- * yours from a copy (`{ ...englishLabels.toolbar, link: '…' }`).
170
+ * yours from a copy (`{ ...englishLabels.richText, checkbox: '…' }`). Each
171
+ * plugin reads only its own section, so an app ships the words of the
172
+ * plugins it lists.
41
173
  */
42
- export const englishLabels = frozen({
43
- editor: {
44
- suggestion: 'Suggestion',
45
- block: (kind) => `${kind} block`,
46
- blocks: (count) => `${count} blocks`,
47
- movedUp: (what) => `Moved ${what} up`,
48
- movedDown: (what) => `Moved ${what} down`,
49
- indented: (what) => `Indented ${what}`,
50
- outdented: (what) => `Outdented ${what}`,
51
- moved: (what) => `Moved ${what}`,
52
- deleted: (what) => `Deleted ${what}`,
53
- triggerMenu: 'Suggestions',
54
- searching: 'Searching…',
55
- noResults: 'No results'
56
- },
57
- richText: {
58
- kinds: {
59
- paragraph: 'Text',
60
- heading1: 'Heading 1',
61
- heading2: 'Heading 2',
62
- heading3: 'Heading 3',
63
- toggleHeading1: 'Toggle heading 1',
64
- toggleHeading2: 'Toggle heading 2',
65
- toggleHeading3: 'Toggle heading 3',
66
- bulletedList: 'Bulleted list',
67
- numberedList: 'Numbered list',
68
- todoList: 'To-do list',
69
- toggleList: 'Toggle list',
70
- callout: 'Callout',
71
- quote: 'Quote',
72
- divider: 'Divider'
73
- },
74
- marks: {
75
- bold: 'Bold',
76
- italic: 'Italic',
77
- underline: 'Underline',
78
- strike: 'Strike',
79
- code: 'Code'
80
- },
81
- checkbox: 'Done',
82
- emptyBody: {
83
- toggle: 'Empty toggle. Click or drop blocks inside.',
84
- callout: 'Empty callout. Click or drop blocks inside.'
85
- },
86
- calloutIcon: {
87
- change: 'Change icon',
88
- add: 'Add icon',
89
- picker: 'Callout icons',
90
- remove: 'Remove icon'
91
- },
92
- placeholders: {
93
- heading: (level) => `Heading ${level}`,
94
- toggleHeading: (level) => `Toggle heading ${level}`,
95
- list: 'List',
96
- todo: 'To-do',
97
- toggle: 'Toggle',
98
- quote: 'Empty quote',
99
- callout: 'Callout title',
100
- caption: 'Write a caption…',
101
- empty: "Type '/' for commands"
102
- }
103
- },
104
- toolbar: {
105
- bar: 'Text formatting',
106
- text: 'Text',
107
- turnInto: 'Turn into',
108
- link: 'Link',
109
- linkUrl: 'Link URL',
110
- linkPlaceholder: 'Paste link',
111
- apply: 'Apply',
112
- applyLink: 'Apply link',
113
- remove: 'Remove',
114
- removeLink: 'Remove link',
115
- color: 'Color',
116
- textColor: 'Text color',
117
- backgroundColor: 'Background color',
118
- colors: {
119
- Default: 'Default',
120
- Gray: 'Gray',
121
- Brown: 'Brown',
122
- Orange: 'Orange',
123
- Yellow: 'Yellow',
124
- Green: 'Green',
125
- Blue: 'Blue',
126
- Purple: 'Purple',
127
- Pink: 'Pink',
128
- Red: 'Red'
129
- },
130
- colorText: (color) => `${color} text`,
131
- colorBackground: (color) => `${color} background`,
132
- card: 'Link',
133
- open: 'Open',
134
- openLink: 'Open link in a new tab',
135
- edit: 'Edit',
136
- editLink: 'Edit link'
137
- },
138
- slashMenu: {
139
- filter: 'Type to filter…',
140
- filterLabel: 'Filter block commands',
141
- list: 'Block commands',
142
- noResults: 'No results',
143
- close: 'Close menu',
144
- closeKey: 'esc',
145
- groups: {
146
- 'Basic blocks': 'Basic blocks',
147
- 'Advanced blocks': 'Advanced blocks',
148
- Media: 'Media',
149
- Layout: 'Layout',
150
- Color: 'Color',
151
- Inline: 'Inline'
152
- }
153
- },
154
- blockMenu: {
155
- search: 'Search actions…',
156
- searchLabel: 'Search actions',
157
- menu: 'Block actions',
158
- block: 'Block',
159
- turnInto: 'Turn into',
160
- color: 'Color',
161
- textColor: 'Text color',
162
- backgroundColor: 'Background color',
163
- colors: {
164
- default: 'Default',
165
- gray: 'Gray',
166
- brown: 'Brown',
167
- orange: 'Orange',
168
- yellow: 'Yellow',
169
- green: 'Green',
170
- blue: 'Blue',
171
- purple: 'Purple',
172
- pink: 'Pink',
173
- red: 'Red'
174
- },
175
- colorText: (color) => `${color} text`,
176
- colorBackground: (color) => `${color} background`,
177
- copyLink: 'Copy link to block',
178
- duplicate: 'Duplicate',
179
- moveUp: 'Move up',
180
- moveDown: 'Move down',
181
- delete: 'Delete',
182
- noResults: 'No results',
183
- ctrl: 'Ctrl',
184
- shift: 'Shift',
185
- deleteKey: 'Del'
186
- },
187
- blockHandles: {
188
- add: (kind) => `Add a block below ${kind} (Alt: above)`,
189
- addBeside: (kind) => `Add a block below ${kind} (Alt: a column to the right)`,
190
- addHint: 'Click to add below\nAlt-click to add a block above',
191
- addBesideHint: 'Click to add below\nAlt-click to add a column to the right',
192
- grip: (kind) => `${kind} block: drag to move, click for actions`
193
- },
194
- image: {
195
- image: 'Image',
196
- add: 'Add an image',
197
- link: 'Image link',
198
- linkPlaceholder: 'Paste the image link…',
199
- embed: 'Embed image',
200
- upload: 'Upload',
201
- uploading: 'Uploading…',
202
- tooLarge: (limit, upload) => `Inline images are limited to ${limit}: ${upload ? 'upload the file instead' : 'host the image and paste its link'}.`,
203
- uploadFailed: 'The upload failed: try again or paste a link.',
204
- invalid: "That doesn't look like an image link or upload.",
205
- toolbar: 'Image',
206
- alignLeft: 'Align left',
207
- alignCenter: 'Align center',
208
- alignRight: 'Align right',
209
- alt: 'Alt text',
210
- altPlaceholder: 'Describe the image…'
211
- },
212
- media: {
213
- embed: {
214
- label: 'Embed',
215
- offer: 'Embed',
216
- add: 'Embed a link',
217
- placeholder: 'Paste the link…',
218
- submit: 'Embed link',
219
- invalid: 'No embed provider plays that link.'
220
- },
221
- bookmark: {
222
- label: 'Web bookmark',
223
- offer: 'Bookmark',
224
- add: 'Add a web bookmark',
225
- placeholder: 'Paste the link…',
226
- submit: 'Create bookmark',
227
- invalid: "That doesn't look like a web link."
228
- },
229
- file: {
230
- label: 'File',
231
- add: 'Embed a file',
232
- addOrUpload: 'Upload or embed a file',
233
- placeholder: 'Paste the file link…',
234
- submit: 'Embed link',
235
- invalid: "That doesn't look like a file link or upload."
236
- },
237
- video: {
238
- label: 'Video',
239
- add: 'Embed a video',
240
- placeholder: 'Paste the video link…',
241
- submit: 'Embed video',
242
- invalid: "That doesn't look like a video link or upload."
243
- },
244
- audio: {
245
- label: 'Audio',
246
- add: 'Embed audio',
247
- placeholder: 'Paste the audio link…',
248
- submit: 'Embed audio',
249
- invalid: "That doesn't look like an audio link or upload."
250
- },
251
- upload: 'Upload',
252
- uploading: 'Uploading…',
253
- uploadFailed: 'The upload failed: try again or paste a link.',
254
- fileSize: bytes,
255
- pasteAs: 'Paste as',
256
- pasteLink: 'Link'
257
- },
258
- code: {
259
- code: 'Code',
260
- language: 'Code language',
261
- search: 'Search for a language…',
262
- noResults: 'No results',
263
- copy: 'Copy',
264
- copied: 'Copied',
265
- languages: {}
266
- },
267
- find: {
268
- bar: 'Find in page',
269
- query: 'Find',
270
- queryPlaceholder: 'Find in page',
271
- noResults: 'No results',
272
- count: (current, total) => `${current}/${total}`,
273
- matchCase: 'Match case',
274
- previous: 'Previous match',
275
- previousHint: 'Previous match (Shift+Enter)',
276
- next: 'Next match',
277
- nextHint: 'Next match (Enter)',
278
- close: 'Close',
279
- closeHint: 'Close (Escape)',
280
- replaceWith: 'Replace with',
281
- replace: 'Replace',
282
- replaceAll: 'Replace all'
283
- },
284
- suggestions: {
285
- suggestion: 'Suggestion',
286
- writing: (label) => `${label ?? 'AI'} is writing…`,
287
- accept: 'Accept',
288
- discard: 'Discard',
289
- retry: 'Try again',
290
- ctrl: 'Ctrl',
291
- escape: 'Esc'
292
- },
293
- columns: {
294
- columns: (count) => `${count} columns`,
295
- resize: 'Resize columns'
296
- },
297
- page: {
298
- page: 'Page',
299
- untitled: 'Untitled'
300
- },
301
- toc: {
302
- toc: 'Table of contents',
303
- untitled: 'Untitled',
304
- empty: 'Add headings to create a table of contents.'
305
- },
306
- pageLink: {
307
- menu: 'Pages',
308
- searching: 'Searching…',
309
- noResults: 'No results',
310
- untitled: 'Untitled'
311
- },
312
- comments: {
313
- comment: 'Comment',
314
- sidebar: 'Comments',
315
- placeholder: 'Add a comment…',
316
- reply: 'Reply…',
317
- post: 'Comment',
318
- cancel: 'Cancel',
319
- resolve: 'Resolve',
320
- reopen: 'Re-open',
321
- delete: 'Delete',
322
- resolvedBy: (name) => `Resolved by ${name}`,
323
- showResolved: (count) => `Resolved (${count})`,
324
- hideResolved: 'Hide resolved',
325
- you: 'You',
326
- when: (at) => Number.isFinite(at)
327
- ? new Intl.DateTimeFormat('en', {
328
- month: 'short',
329
- day: 'numeric',
330
- hour: 'numeric',
331
- minute: '2-digit'
332
- }).format(at)
333
- : '',
334
- failed: 'Could not save the comment. Try again.'
335
- },
336
- table: {
337
- table: 'Table',
338
- headerRow: 'Header row',
339
- headerColumn: 'Header column',
340
- insertRowAbove: 'Insert row above',
341
- insertRowBelow: 'Insert row below',
342
- insertColumnLeft: 'Insert column left',
343
- insertColumnRight: 'Insert column right',
344
- insertAbove: 'Insert above',
345
- insertBelow: 'Insert below',
346
- insertLeft: 'Insert left',
347
- insertRight: 'Insert right',
348
- moveUp: 'Move up',
349
- moveDown: 'Move down',
350
- moveLeft: 'Move left',
351
- moveRight: 'Move right',
352
- deleteRow: 'Delete row',
353
- deleteColumn: 'Delete column',
354
- addRow: 'Add a row',
355
- addColumn: 'Add a column',
356
- rowMenu: 'Row options',
357
- columnMenu: 'Column options',
358
- resize: 'Resize column',
359
- emptyCell: 'Empty cell'
360
- },
361
- mention: {
362
- menu: 'People',
363
- searching: 'Searching…',
364
- noResults: 'No results'
365
- },
366
- history: {
367
- title: 'Version history',
368
- versions: 'Versions',
369
- morning: 'Morning',
370
- evening: 'Evening',
371
- loading: 'Loading…',
372
- empty: 'No versions yet. A version is saved twice a day while the page changes.',
373
- noEditors: 'No editors',
374
- moreEditors: (count) => `+${count}`,
375
- saved: 'Saved',
376
- preview: 'Version preview',
377
- choose: 'Choose a version to preview it.',
378
- highlight: 'Highlight changes',
379
- added: (count) => `${count} added since`,
380
- removed: (count) => `${count} removed since`,
381
- changed: (count) => `${count} changed since`,
382
- same: 'Same as the current page',
383
- restore: 'Restore version',
384
- restoring: 'Restoring…',
385
- undo: 'Undo restore',
386
- restored: 'Version restored.',
387
- unchanged: 'The page already matches this version.',
388
- unavailable: 'This version is no longer available.',
389
- undone: 'Restore undone.',
390
- nothingToUndo: 'There is no restore to undo.',
391
- denied: 'You do not have access to this history.',
392
- failed: 'The history could not be reached.'
393
- },
394
- equation: {
395
- block: 'Block equation',
396
- inline: 'Inline equation',
397
- blockPlaceholder: 'Add a TeX equation',
398
- inlinePlaceholder: 'New equation',
399
- editor: 'Equation',
400
- placeholder: 'E = mc^2',
401
- done: 'Done',
402
- invalid: 'Invalid equation'
403
- }
174
+ export const englishLabels = /* @__PURE__ */ frozen({
175
+ editor: editorEnglish,
176
+ richText: richTextEnglish,
177
+ blockMenu: blockMenuEnglish,
178
+ image: imageEnglish,
179
+ media: mediaEnglish,
180
+ code: codeEnglish,
181
+ columns: columnsEnglish,
182
+ page: pageEnglish,
183
+ toc: tocEnglish,
184
+ pageLink: pageLinkEnglish,
185
+ comments: commentsEnglish,
186
+ table: tableEnglish,
187
+ equation: equationEnglish
404
188
  });
189
+ /** Each view's sections, merged once: its `labels` over the English ones. */
190
+ const merged = new WeakMap();
405
191
  /**
406
- * Section `section` of the dictionary with `overrides` over the English one:
407
- * an entry replaces its English entry, a nested group's entries replace
408
- * only theirs.
192
+ * The words of `section` in `view` (`english` its English words): the
193
+ * view's `labels` entries over them, a nested group's entries replacing
194
+ * only theirs. English for no view (a document read without one).
409
195
  */
410
- export const labelsWith = (section, overrides) => {
411
- const base = englishLabels[section];
196
+ export const labelsOf = (view, section, english) => {
197
+ const overrides = view?.labels[section];
412
198
  if (!overrides)
413
- return base;
414
- const merged = { ...base };
415
- for (const [key, value] of Object.entries(overrides)) {
416
- if (value === undefined)
417
- continue;
418
- const own = base[key];
419
- merged[key] = isGroup(own) && isGroup(value) ? { ...own, ...value } : value;
199
+ return english;
200
+ let sections = merged.get(view.labels);
201
+ if (!sections)
202
+ merged.set(view.labels, (sections = new Map()));
203
+ let words = sections.get(section);
204
+ if (!words) {
205
+ const base = english;
206
+ const out = { ...base };
207
+ for (const [key, value] of Object.entries(overrides))
208
+ if (value !== undefined)
209
+ out[key] = isGroup(base[key]) && isGroup(value) ? { ...base[key], ...value } : value;
210
+ sections.set(section, (words = out));
420
211
  }
421
- return merged;
212
+ return words;
422
213
  };
423
214
  /**
424
- * The keywords of command `id`: `overrides`' entry for it when there is one
425
- * (it replaces the defaults: list the English ones in it to keep them),
426
- * else `defaults`.
427
- */
428
- export const keywordsOf = (id, defaults, overrides) => overrides?.[id] ?? defaults;
429
- /**
430
- * One plugin's labels per view: the first plugin of its kind listed in a
431
- * view claims them, as its kind records (first wins); its components read
432
- * them through the view they render in, English when none claimed them.
215
+ * The slash keywords of command `id` in `view`: its `keywords` entry for
216
+ * the id when there is one (it replaces the defaults), else `defaults`.
433
217
  */
434
- export const viewLabels = (section) => {
435
- const claimed = new WeakMap();
436
- return {
437
- /** `labels` for `view`, unless a plugin listed before claimed it. */
438
- claim: (view, labels) => {
439
- if (view && !claimed.has(view))
440
- claimed.set(view, labels);
441
- },
442
- /** The labels of `view` (English for none, or a view no plugin claimed). */
443
- of: (view) => (view && claimed.get(view)) || englishLabels[section]
444
- };
445
- };
218
+ export const keywordsOf = (view, id, defaults) => view?.labels.keywords?.[id] ?? defaults;
@@ -0,0 +1,29 @@
1
+ <script lang="ts" generics="T">
2
+ import type { Snippet } from 'svelte';
3
+ import type { Edytor } from '../edytor.svelte.js';
4
+
5
+ /**
6
+ * A chrome surface the app draws (`mountChrome`): its snippet with the
7
+ * controller's payload while `shown` holds; a view turning readonly
8
+ * closes it (`close`), as its actions would be refused.
9
+ */
10
+ let {
11
+ edytor,
12
+ snippet,
13
+ payload,
14
+ shown,
15
+ close
16
+ }: {
17
+ edytor: Edytor;
18
+ snippet: Snippet<[T]>;
19
+ payload: T;
20
+ shown: () => unknown;
21
+ close?: () => void;
22
+ } = $props();
23
+
24
+ $effect(() => {
25
+ if (close && shown() && edytor.readonly) close();
26
+ });
27
+ </script>
28
+
29
+ {#if shown()}{@render snippet(payload)}{/if}
@@ -0,0 +1,32 @@
1
+ import type { Snippet } from 'svelte';
2
+ import type { Edytor } from '../edytor.svelte.js';
3
+ declare function $$render<T>(): {
4
+ props: {
5
+ edytor: Edytor;
6
+ snippet: Snippet<[T]>;
7
+ payload: T;
8
+ shown: () => unknown;
9
+ close?: () => void;
10
+ };
11
+ exports: {};
12
+ bindings: "";
13
+ slots: {};
14
+ events: {};
15
+ };
16
+ declare class __sveltets_Render<T> {
17
+ props(): ReturnType<typeof $$render<T>>['props'];
18
+ events(): ReturnType<typeof $$render<T>>['events'];
19
+ slots(): ReturnType<typeof $$render<T>>['slots'];
20
+ bindings(): "";
21
+ exports(): {};
22
+ }
23
+ interface $$IsomorphicComponent {
24
+ new <T>(options: import('svelte').ComponentConstructorOptions<ReturnType<__sveltets_Render<T>['props']>>): import('svelte').SvelteComponent<ReturnType<__sveltets_Render<T>['props']>, ReturnType<__sveltets_Render<T>['events']>, ReturnType<__sveltets_Render<T>['slots']>> & {
25
+ $$bindings?: ReturnType<__sveltets_Render<T>['bindings']>;
26
+ } & ReturnType<__sveltets_Render<T>['exports']>;
27
+ <T>(internal: unknown, props: ReturnType<__sveltets_Render<T>['props']> & {}): ReturnType<__sveltets_Render<T>['exports']>;
28
+ z_$$bindings?: ReturnType<__sveltets_Render<any>['bindings']>;
29
+ }
30
+ declare const Chrome: $$IsomorphicComponent;
31
+ type Chrome<T> = InstanceType<typeof Chrome<T>>;
32
+ export default Chrome;