edytor 1.0.0-rc.2 → 1.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 (653) hide show
  1. package/README.md +65 -25
  2. package/dist/block/block.svelte.d.ts +10 -85
  3. package/dist/block/block.svelte.js +47 -141
  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 +8 -10
  9. package/dist/block/inlineBlock.svelte.js +14 -22
  10. package/dist/clipboard/createClipboardFragment.js +22 -64
  11. package/dist/clipboard/fragmentData.js +17 -42
  12. package/dist/clipboard/htmlFlow.d.ts +6 -1
  13. package/dist/clipboard/htmlFlow.js +26 -13
  14. package/dist/clipboard/insertClipboardFragment.js +5 -4
  15. package/dist/clipboard/moveText.js +16 -8
  16. package/dist/clipboard/serializeClipboardFragment.d.ts +2 -0
  17. package/dist/clipboard/serializeClipboardFragment.js +32 -28
  18. package/dist/cloudflare/DocumentRoom.d.ts +22 -17
  19. package/dist/cloudflare/DocumentRoom.js +10 -5
  20. package/dist/cloudflare/index.d.ts +1 -1
  21. package/dist/cloudflare/index.js +1 -1
  22. package/dist/cloudflare/move.d.ts +1 -18
  23. package/dist/cloudflare/move.js +2 -48
  24. package/dist/cloudflare/room/admission.d.ts +1 -60
  25. package/dist/cloudflare/room/admission.js +25 -29
  26. package/dist/cloudflare/room/comments.d.ts +1 -3
  27. package/dist/cloudflare/room/comments.js +6 -6
  28. package/dist/cloudflare/room/context.d.ts +20 -82
  29. package/dist/cloudflare/room/context.js +8 -8
  30. package/dist/cloudflare/room/forged.d.ts +1 -1
  31. package/dist/cloudflare/room/forged.js +2 -12
  32. package/dist/cloudflare/room/frames.d.ts +1 -1
  33. package/dist/cloudflare/room/frames.js +1 -1
  34. package/dist/cloudflare/room/history.d.ts +1 -25
  35. package/dist/cloudflare/room/history.js +39 -54
  36. package/dist/cloudflare/room/moves.d.ts +1 -13
  37. package/dist/cloudflare/room/moves.js +33 -57
  38. package/dist/cloudflare/room/presence.d.ts +1 -11
  39. package/dist/cloudflare/room/presence.js +4 -4
  40. package/dist/cloudflare/room/purge.d.ts +1 -2
  41. package/dist/cloudflare/room/purge.js +2 -2
  42. package/dist/cloudflare/room/replicas.d.ts +1 -7
  43. package/dist/cloudflare/room/replicas.js +2 -2
  44. package/dist/cloudflare/room/storage.d.ts +9 -30
  45. package/dist/cloudflare/room/storage.js +52 -104
  46. package/dist/cloudflare/room/updates.d.ts +4 -4
  47. package/dist/cloudflare/room/updates.js +17 -24
  48. package/dist/cloudflare/room/validation.d.ts +1 -5
  49. package/dist/cloudflare/room/validation.js +16 -37
  50. package/dist/collaboration/RemoteSelections.svelte +13 -17
  51. package/dist/collaboration/comments/client.d.ts +2 -2
  52. package/dist/collaboration/comments/client.js +1 -1
  53. package/dist/collaboration/history/index.d.ts +5 -5
  54. package/dist/collaboration/history/index.js +5 -5
  55. package/dist/collaboration/history/panel.svelte.d.ts +91 -0
  56. package/dist/collaboration/history/panel.svelte.js +223 -0
  57. package/dist/collaboration/providers.d.ts +12 -3
  58. package/dist/collaboration/providers.js +5 -4
  59. package/dist/components/Block.svelte +160 -119
  60. package/dist/components/Block.svelte.d.ts +8 -3
  61. package/dist/components/Content.svelte +91 -44
  62. package/dist/components/CustomMark.svelte +46 -0
  63. package/dist/components/CustomMark.svelte.d.ts +11 -0
  64. package/dist/components/Edytor.svelte +80 -95
  65. package/dist/components/Edytor.svelte.d.ts +8 -12
  66. package/dist/components/InlineBlock.svelte +4 -9
  67. package/dist/components/Mark.svelte +46 -35
  68. package/dist/components/Mark.svelte.d.ts +7 -0
  69. package/dist/components/Ranges.svelte +96 -0
  70. package/dist/components/Ranges.svelte.d.ts +19 -0
  71. package/dist/components/Suggestion.svelte +3 -2
  72. package/dist/components/Text.svelte +48 -14
  73. package/dist/components/Text.svelte.d.ts +1 -1
  74. package/dist/crdt/admission.d.ts +2 -9
  75. package/dist/crdt/admission.js +3 -9
  76. package/dist/crdt/attribution/attribution.d.ts +11 -72
  77. package/dist/crdt/attribution/attribution.js +5 -52
  78. package/dist/crdt/attribution/block.d.ts +0 -78
  79. package/dist/crdt/attribution/block.js +1 -144
  80. package/dist/crdt/data.d.ts +8 -13
  81. package/dist/crdt/data.js +30 -70
  82. package/dist/crdt/doc/anchors.js +4 -4
  83. package/dist/crdt/doc/content.d.ts +5 -1
  84. package/dist/crdt/doc/content.js +3 -1
  85. package/dist/crdt/doc/delete.d.ts +1 -0
  86. package/dist/crdt/doc/funnel.d.ts +0 -23
  87. package/dist/crdt/doc/funnel.js +34 -85
  88. package/dist/crdt/doc/gate.d.ts +8 -9
  89. package/dist/crdt/doc/gate.js +7 -17
  90. package/dist/crdt/doc/history.d.ts +87 -14
  91. package/dist/crdt/doc/history.js +334 -149
  92. package/dist/crdt/doc/layout.d.ts +0 -1
  93. package/dist/crdt/doc/layout.js +2 -3
  94. package/dist/crdt/doc/meta.d.ts +4 -4
  95. package/dist/crdt/doc/meta.js +10 -21
  96. package/dist/crdt/doc/moves.d.ts +4 -4
  97. package/dist/crdt/doc/moves.js +5 -5
  98. package/dist/crdt/doc/plan.d.ts +2 -0
  99. package/dist/crdt/doc/plan.js +2 -0
  100. package/dist/crdt/doc/reads.d.ts +1 -5
  101. package/dist/crdt/doc/reads.js +38 -49
  102. package/dist/crdt/doc/seed.d.ts +15 -6
  103. package/dist/crdt/doc/seed.js +27 -26
  104. package/dist/crdt/doc/split-merge.d.ts +1 -3
  105. package/dist/crdt/doc/split-merge.js +4 -5
  106. package/dist/crdt/doc/steps.d.ts +3 -7
  107. package/dist/crdt/doc/steps.js +20 -9
  108. package/dist/crdt/doc/types.d.ts +0 -10
  109. package/dist/crdt/document.d.ts +24 -115
  110. package/dist/crdt/document.js +207 -305
  111. package/dist/crdt/edytor-doc.d.ts +671 -90
  112. package/dist/crdt/edytor-doc.js +73 -149
  113. package/dist/crdt/engine-api.d.ts +15 -47
  114. package/dist/crdt/engine.d.ts +7 -17
  115. package/dist/crdt/engine.js +9 -19
  116. package/dist/crdt/flow.d.ts +9 -37
  117. package/dist/crdt/flow.js +260 -238
  118. package/dist/crdt/index.d.ts +26 -85
  119. package/dist/crdt/index.js +21 -47
  120. package/dist/crdt/operations.d.ts +24 -33
  121. package/dist/crdt/operations.js +7 -17
  122. package/dist/crdt/placement/display.d.ts +0 -2
  123. package/dist/crdt/placement/display.js +0 -15
  124. package/dist/crdt/placement/model.d.ts +160 -12
  125. package/dist/crdt/placement/model.js +413 -414
  126. package/dist/crdt/placement/rank.d.ts +1 -5
  127. package/dist/crdt/placement/rank.js +28 -38
  128. package/dist/crdt/protocol.d.ts +4 -5
  129. package/dist/crdt/protocol.js +3 -4
  130. package/dist/crdt/protocols/awareness.d.ts +3 -7
  131. package/dist/crdt/protocols/awareness.js +17 -33
  132. package/dist/crdt/protocols/envelope.d.ts +9 -29
  133. package/dist/crdt/protocols/envelope.js +8 -25
  134. package/dist/crdt/protocols/sync.d.ts +15 -30
  135. package/dist/crdt/protocols/sync.js +27 -89
  136. package/dist/crdt/providers/bound.d.ts +3 -1
  137. package/dist/crdt/providers/bound.js +3 -1
  138. package/dist/crdt/providers/container.d.ts +11 -17
  139. package/dist/crdt/providers/container.js +39 -27
  140. package/dist/crdt/providers/index.d.ts +34 -6
  141. package/dist/crdt/providers/index.js +106 -111
  142. package/dist/crdt/providers/indexeddb.d.ts +2 -12
  143. package/dist/crdt/providers/indexeddb.js +29 -90
  144. package/dist/crdt/providers/room.d.ts +58 -2
  145. package/dist/crdt/providers/room.js +38 -21
  146. package/dist/crdt/providers/websocket.d.ts +1 -1
  147. package/dist/crdt/providers/websocket.js +3 -4
  148. package/dist/crdt/purge.d.ts +2 -2
  149. package/dist/crdt/purge.js +69 -6
  150. package/dist/crdt/rangeDelete.d.ts +4 -42
  151. package/dist/crdt/rangeDelete.js +7 -6
  152. package/dist/crdt/restore.d.ts +21 -1
  153. package/dist/crdt/restore.js +54 -59
  154. package/dist/crdt/schema.d.ts +2 -2
  155. package/dist/crdt/schema.js +4 -5
  156. package/dist/crdt/semantics.d.ts +10 -15
  157. package/dist/crdt/semantics.js +22 -21
  158. package/dist/crdt/storage.d.ts +7 -13
  159. package/dist/crdt/storage.js +10 -24
  160. package/dist/crdt/structs.d.ts +42 -47
  161. package/dist/crdt/structs.js +76 -67
  162. package/dist/crdt/tables.d.ts +9 -0
  163. package/dist/crdt/tables.js +20 -0
  164. package/dist/crdt/text/delete-index.d.ts +0 -13
  165. package/dist/crdt/text/delete-index.js +7 -14
  166. package/dist/crdt/text/deletes.d.ts +9 -22
  167. package/dist/crdt/text/deletes.js +11 -74
  168. package/dist/crdt/text/index/cache.js +3 -3
  169. package/dist/crdt/text/index/fold.d.ts +1 -2
  170. package/dist/crdt/text/index/fold.js +15 -10
  171. package/dist/crdt/text/index/layout.d.ts +0 -10
  172. package/dist/crdt/text/index/layout.js +6 -20
  173. package/dist/crdt/text/index/records.js +2 -1
  174. package/dist/crdt/text/index/report.js +5 -6
  175. package/dist/crdt/text/index/shared.d.ts +11 -4
  176. package/dist/crdt/text/index/shared.js +8 -7
  177. package/dist/crdt/text/index/state.d.ts +3 -33
  178. package/dist/crdt/text/index/state.js +2 -4
  179. package/dist/crdt/text/model.d.ts +82 -2
  180. package/dist/crdt/text/model.js +344 -354
  181. package/dist/crdt/text/rows.d.ts +0 -2
  182. package/dist/crdt/text/rows.js +0 -11
  183. package/dist/crdt/text/runs.d.ts +6 -3
  184. package/dist/crdt/text/runs.js +132 -137
  185. package/dist/crdt/text/streams.d.ts +1 -1
  186. package/dist/crdt/text/streams.js +1 -1
  187. package/dist/crdt/vendor/yjs/API-NOTES.md +25 -8
  188. package/dist/crdt/vendor/yjs/UPSTREAM.md +288 -8
  189. package/dist/crdt/vendor/yjs/dts/global.d.ts +5 -26
  190. package/dist/crdt/vendor/yjs/dts/index.d.ts +10 -15
  191. package/dist/crdt/vendor/yjs/dts/structs/AbstractStruct.d.ts +2 -2
  192. package/dist/crdt/vendor/yjs/dts/structs/Item.d.ts +14 -219
  193. package/dist/crdt/vendor/yjs/dts/structs/Skip.d.ts +2 -2
  194. package/dist/crdt/vendor/yjs/dts/utils/BlockSet.d.ts +2 -2
  195. package/dist/crdt/vendor/yjs/dts/utils/Doc.d.ts +12 -123
  196. package/dist/crdt/vendor/yjs/dts/utils/ID.d.ts +1 -1
  197. package/dist/crdt/vendor/yjs/dts/utils/RangeCursor.d.ts +37 -58
  198. package/dist/crdt/vendor/yjs/dts/utils/Transaction.d.ts +3 -78
  199. package/dist/crdt/vendor/yjs/dts/utils/UpdateDecoder.d.ts +2 -81
  200. package/dist/crdt/vendor/yjs/dts/utils/UpdateEncoder.d.ts +2 -74
  201. package/dist/crdt/vendor/yjs/dts/utils/encoding-helpers.d.ts +4 -4
  202. package/dist/crdt/vendor/yjs/dts/utils/encoding.d.ts +6 -18
  203. package/dist/crdt/vendor/yjs/dts/utils/ids.d.ts +12 -237
  204. package/dist/crdt/vendor/yjs/dts/utils/positions.d.ts +5 -0
  205. package/dist/crdt/vendor/yjs/dts/utils/redo.d.ts +3 -0
  206. package/dist/crdt/vendor/yjs/dts/utils/transaction-helpers.d.ts +1 -3
  207. package/dist/crdt/vendor/yjs/dts/utils/updates.d.ts +6 -23
  208. package/dist/crdt/vendor/yjs/dts/ynode.d.ts +73 -498
  209. package/dist/crdt/vendor/yjs/global.d.ts +5 -26
  210. package/dist/crdt/vendor/yjs/src/index.js +11 -25
  211. package/dist/crdt/vendor/yjs/src/structs/AbstractStruct.js +1 -1
  212. package/dist/crdt/vendor/yjs/src/structs/GC.js +1 -1
  213. package/dist/crdt/vendor/yjs/src/structs/Item.js +10 -372
  214. package/dist/crdt/vendor/yjs/src/structs/Skip.js +1 -1
  215. package/dist/crdt/vendor/yjs/src/utils/BlockSet.js +2 -2
  216. package/dist/crdt/vendor/yjs/src/utils/Doc.js +14 -170
  217. package/dist/crdt/vendor/yjs/src/utils/ID.js +1 -1
  218. package/dist/crdt/vendor/yjs/src/utils/RangeCursor.js +61 -128
  219. package/dist/crdt/vendor/yjs/src/utils/StructStore.js +0 -22
  220. package/dist/crdt/vendor/yjs/src/utils/Transaction.js +17 -282
  221. package/dist/crdt/vendor/yjs/src/utils/UpdateDecoder.js +3 -130
  222. package/dist/crdt/vendor/yjs/src/utils/UpdateEncoder.js +2 -132
  223. package/dist/crdt/vendor/yjs/src/utils/encoding-helpers.js +4 -4
  224. package/dist/crdt/vendor/yjs/src/utils/encoding.js +49 -146
  225. package/dist/crdt/vendor/yjs/src/utils/ids.js +23 -900
  226. package/dist/crdt/vendor/yjs/src/utils/positions.js +115 -0
  227. package/dist/crdt/vendor/yjs/src/utils/redo.js +143 -0
  228. package/dist/crdt/vendor/yjs/src/utils/transaction-helpers.js +10 -127
  229. package/dist/crdt/vendor/yjs/src/utils/updates.js +7 -50
  230. package/dist/crdt/vendor/yjs/src/ynode.js +261 -2226
  231. package/dist/{plugins/blockHandles → dnd}/autoScroll.d.ts +2 -1
  232. package/dist/{plugins/blockHandles → dnd}/autoScroll.js +3 -3
  233. package/dist/dnd/pragmatic.d.ts +4 -22
  234. package/dist/dnd/pragmatic.js +7 -26
  235. package/dist/dnd/track.d.ts +14 -0
  236. package/dist/dnd/track.js +55 -0
  237. package/dist/dnd/vendor/pragmatic/UPSTREAM.md +103 -0
  238. package/dist/dnd/vendor/pragmatic/bind-event-listener/LICENSE +21 -0
  239. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind-all.js +46 -0
  240. package/dist/dnd/vendor/pragmatic/bind-event-listener/bind.js +7 -0
  241. package/dist/dnd/vendor/pragmatic/bind-event-listener/index.js +2 -0
  242. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/LICENSE.md +11 -0
  243. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter-native-data-key.js +6 -0
  244. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.d.ts +57 -0
  245. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.js +306 -0
  246. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.d.ts +8 -0
  247. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.js +10 -0
  248. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.d.ts +4 -0
  249. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.js +6 -0
  250. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/types.d.ts +1 -0
  251. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/get-element-from-point-without-honey-pot.js +12 -0
  252. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/honey-pot-data-attribute.js +3 -0
  253. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/is-honey-pot-element.js +4 -0
  254. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/make-honey-pot-fix.js +333 -0
  255. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/internal-types.d.ts +350 -0
  256. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/dispatch-consumer-event.js +128 -0
  257. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/lifecycle-manager.js +340 -0
  258. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/usage-ledger.js +32 -0
  259. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-adapter.js +59 -0
  260. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-drop-target.js +288 -0
  261. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-monitor.js +85 -0
  262. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/combine.js +6 -0
  263. 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
  264. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js +153 -0
  265. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/types.d.ts +16 -0
  266. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/once.js +13 -0
  267. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/add-attribute.js +7 -0
  268. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/android.js +10 -0
  269. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/count-events-for-safari.js +104 -0
  270. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-from-another-window.js +16 -0
  271. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window-in-safari.js +12 -0
  272. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window.js +55 -0
  273. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/detect-broken-drag.js +48 -0
  274. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/get-input.js +14 -0
  275. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-firefox.js +13 -0
  276. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-safari.js +19 -0
  277. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/max-z-index.js +3 -0
  278. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/text-media-type.js +6 -0
  279. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/url-media-type.js +6 -0
  280. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/popover-reset-styles.js +40 -0
  281. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/supports-popover.js +16 -0
  282. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/LICENSE.md +11 -0
  283. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.d.ts +4 -0
  284. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.js +8 -0
  285. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/internal-types.d.ts +50 -0
  286. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/data-attributes.js +9 -0
  287. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/get-scroll-by.js +117 -0
  288. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/make-api.js +90 -0
  289. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/try-scroll.js +183 -0
  290. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/axis.js +22 -0
  291. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/can-scroll-on-edge.js +17 -0
  292. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/configuration.js +49 -0
  293. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/edges.js +9 -0
  294. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/engagement-history.js +43 -0
  295. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-over-element-hitbox.js +50 -0
  296. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-percentage-in-range.js +19 -0
  297. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-scroll-change.js +106 -0
  298. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-axis-allowed.js +3 -0
  299. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-within.js +11 -0
  300. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/scheduler.js +104 -0
  301. package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/side.js +6 -0
  302. package/dist/dnd/vendor/pragmatic/raf-schd/LICENSE +21 -0
  303. package/dist/dnd/vendor/pragmatic/raf-schd/raf-schd.esm.js +34 -0
  304. package/dist/edytor.svelte.d.ts +34 -64
  305. package/dist/edytor.svelte.js +118 -180
  306. package/dist/events/beforeInputCommands.d.ts +6 -11
  307. package/dist/events/beforeInputCommands.js +189 -184
  308. package/dist/events/beforeInputDeleteCommands.d.ts +20 -1
  309. package/dist/events/beforeInputDeleteCommands.js +153 -204
  310. package/dist/events/domTextOffset.d.ts +9 -9
  311. package/dist/events/domTextOffset.js +20 -48
  312. package/dist/events/events.utils.d.ts +0 -2
  313. package/dist/events/events.utils.js +0 -4
  314. package/dist/events/nativeInteractiveControl.d.ts +13 -13
  315. package/dist/events/nativeInteractiveControl.js +28 -56
  316. package/dist/events/onBeforeInput.d.ts +6 -1
  317. package/dist/events/onBeforeInput.js +207 -331
  318. package/dist/events/onCopy.js +1 -5
  319. package/dist/events/onDrop.d.ts +7 -1
  320. package/dist/events/onDrop.js +33 -72
  321. package/dist/events/onFocus.d.ts +9 -4
  322. package/dist/events/onFocus.js +92 -72
  323. package/dist/events/onInput.d.ts +8 -4
  324. package/dist/events/onInput.js +34 -147
  325. package/dist/events/onKeyDown.js +55 -122
  326. package/dist/events/onPaste.d.ts +13 -1
  327. package/dist/events/onPaste.js +46 -76
  328. package/dist/index.d.ts +10 -13
  329. package/dist/index.js +3 -3
  330. package/dist/kinds.d.ts +4 -6
  331. package/dist/kinds.js +28 -27
  332. package/dist/labels.d.ts +91 -314
  333. package/dist/labels.js +180 -396
  334. package/dist/plugins/Chrome.svelte +29 -0
  335. package/dist/plugins/Chrome.svelte.d.ts +32 -0
  336. package/dist/plugins/Control.svelte +23 -0
  337. package/dist/plugins/Control.svelte.d.ts +30 -0
  338. package/dist/plugins/anchored.svelte.d.ts +47 -0
  339. package/dist/plugins/anchored.svelte.js +73 -0
  340. package/dist/plugins/arrowMove/arrowMove.d.ts +2 -1
  341. package/dist/plugins/arrowMove/arrowMove.js +9 -5
  342. package/dist/plugins/bands.svelte.d.ts +57 -0
  343. package/dist/plugins/bands.svelte.js +95 -0
  344. package/dist/plugins/blockHandles/BlockHandle.svelte +14 -151
  345. package/dist/plugins/blockHandles/BlockHandle.svelte.d.ts +2 -2
  346. package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +63 -97
  347. package/dist/plugins/blockHandles/BlockHandleController.svelte.js +247 -268
  348. package/dist/plugins/blockHandles/BlockHandles.svelte +46 -29
  349. package/dist/plugins/blockHandles/BlockHandles.svelte.d.ts +2 -2
  350. package/dist/plugins/blockHandles/blockHandlesPlugin.d.ts +29 -23
  351. package/dist/plugins/blockHandles/blockHandlesPlugin.js +130 -162
  352. package/dist/plugins/blockHandles/dragPreview.d.ts +8 -6
  353. package/dist/plugins/blockHandles/dragPreview.js +20 -17
  354. package/dist/plugins/blockHandles/dropIndicator.js +52 -60
  355. package/dist/plugins/blockHandles/geometry.d.ts +46 -1
  356. package/dist/plugins/blockHandles/geometry.js +51 -4
  357. package/dist/plugins/blockMenu/BlockMenuController.svelte.d.ts +59 -28
  358. package/dist/plugins/blockMenu/BlockMenuController.svelte.js +180 -105
  359. package/dist/plugins/blockMenu/blockMenuPlugin.d.ts +1 -3
  360. package/dist/plugins/blockMenu/blockMenuPlugin.js +12 -29
  361. package/dist/plugins/brand.d.ts +8 -0
  362. package/dist/plugins/brand.js +8 -0
  363. package/dist/plugins/chrome.d.ts +79 -0
  364. package/dist/plugins/chrome.js +87 -0
  365. package/dist/plugins/code/CodeHeader.svelte +12 -58
  366. package/dist/plugins/code/CodeHeader.svelte.d.ts +1 -0
  367. package/dist/plugins/code/CodePlugin.svelte +75 -56
  368. package/dist/plugins/code/CodePlugin.svelte.d.ts +0 -2
  369. package/dist/plugins/code/LanguageMenu.svelte +25 -0
  370. package/dist/plugins/code/LanguageMenu.svelte.d.ts +9 -0
  371. package/dist/plugins/code/code.css +5 -100
  372. package/dist/plugins/code/header.svelte.d.ts +47 -0
  373. package/dist/plugins/code/header.svelte.js +141 -0
  374. package/dist/plugins/code/languageMenu.svelte.d.ts +84 -0
  375. package/dist/plugins/code/languageMenu.svelte.js +199 -0
  376. package/dist/plugins/code/languages.d.ts +21 -10
  377. package/dist/plugins/code/languages.js +39 -126
  378. package/dist/plugins/columns/ColumnResize.svelte +13 -25
  379. package/dist/plugins/columns/ColumnResize.svelte.d.ts +1 -1
  380. package/dist/plugins/columns/ColumnsPlugin.svelte +46 -78
  381. package/dist/plugins/columns/ColumnsPlugin.svelte.d.ts +0 -12
  382. package/dist/plugins/columns/columns.css +7 -26
  383. package/dist/plugins/columns/resize.svelte.d.ts +14 -51
  384. package/dist/plugins/columns/resize.svelte.js +70 -164
  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 -430
  388. package/dist/plugins/comments/CommentsSidebar.svelte.d.ts +6 -7
  389. package/dist/plugins/comments/commentsPlugin.d.ts +31 -10
  390. package/dist/plugins/comments/commentsPlugin.js +12 -10
  391. package/dist/plugins/equation/EquationEditor.svelte +18 -129
  392. package/dist/plugins/equation/EquationEditor.svelte.d.ts +2 -1
  393. package/dist/plugins/equation/EquationPlugin.svelte +123 -168
  394. package/dist/plugins/equation/EquationPlugin.svelte.d.ts +5 -3
  395. package/dist/plugins/equation/EquationView.svelte +20 -11
  396. package/dist/plugins/equation/equation.svelte.d.ts +74 -36
  397. package/dist/plugins/equation/equation.svelte.js +74 -66
  398. package/dist/plugins/equation/importUrl.d.ts +6 -0
  399. package/dist/plugins/equation/importUrl.js +6 -0
  400. package/dist/plugins/equation/katex.d.ts +8 -0
  401. package/dist/plugins/equation/katex.js +77 -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 +5 -151
  407. package/dist/plugins/image/ImagePlugin.svelte +49 -117
  408. package/dist/plugins/image/ImagePlugin.svelte.d.ts +1 -24
  409. package/dist/plugins/image/ImageToolbarHost.svelte +37 -0
  410. package/dist/plugins/image/ImageToolbarHost.svelte.d.ts +9 -0
  411. package/dist/plugins/image/controls.svelte.d.ts +6 -57
  412. package/dist/plugins/image/controls.svelte.js +51 -174
  413. package/dist/plugins/image/image.d.ts +0 -5
  414. package/dist/plugins/image/image.js +0 -3
  415. package/dist/plugins/image/toolbar.svelte.d.ts +69 -0
  416. package/dist/plugins/image/toolbar.svelte.js +145 -0
  417. package/dist/plugins/index.d.ts +39 -24
  418. package/dist/plugins/index.js +30 -22
  419. package/dist/plugins/list.svelte.d.ts +128 -0
  420. package/dist/plugins/list.svelte.js +217 -0
  421. package/dist/plugins/markdownShortcuts.d.ts +1 -1
  422. package/dist/plugins/markdownShortcuts.js +6 -5
  423. package/dist/plugins/marquee/MarqueeBox.svelte +15 -0
  424. package/dist/plugins/marquee/MarqueeBox.svelte.d.ts +9 -0
  425. package/dist/plugins/marquee/MarqueeController.svelte.d.ts +46 -0
  426. package/dist/plugins/marquee/MarqueeController.svelte.js +243 -0
  427. package/dist/plugins/marquee/marquee.d.ts +33 -0
  428. package/dist/plugins/marquee/marquee.js +89 -0
  429. package/dist/plugins/marquee/marqueePlugin.d.ts +32 -0
  430. package/dist/plugins/marquee/marqueePlugin.js +68 -0
  431. package/dist/plugins/media/AudioPlugin.svelte +3 -88
  432. package/dist/plugins/media/AudioPlugin.svelte.d.ts +1 -4
  433. package/dist/plugins/media/BookmarkPlugin.svelte +124 -112
  434. package/dist/plugins/media/BookmarkPlugin.svelte.d.ts +20 -7
  435. package/dist/plugins/media/EmbedPlugin.svelte +93 -77
  436. package/dist/plugins/media/EmbedPlugin.svelte.d.ts +21 -9
  437. package/dist/plugins/media/EmptySlot.svelte +44 -0
  438. package/dist/plugins/media/EmptySlot.svelte.d.ts +25 -0
  439. package/dist/plugins/media/FilePlugin.svelte +35 -111
  440. package/dist/plugins/media/FilePlugin.svelte.d.ts +12 -4
  441. package/dist/plugins/media/MediaEmpty.svelte +55 -112
  442. package/dist/plugins/media/MediaEmpty.svelte.d.ts +26 -10
  443. package/dist/plugins/media/SourceBlock.svelte +164 -0
  444. package/dist/plugins/media/SourceBlock.svelte.d.ts +33 -0
  445. package/dist/plugins/media/VideoPlugin.svelte +4 -97
  446. package/dist/plugins/media/VideoPlugin.svelte.d.ts +2 -5
  447. package/dist/plugins/media/empty.svelte.d.ts +69 -0
  448. package/dist/plugins/media/empty.svelte.js +111 -0
  449. package/dist/plugins/media/media.d.ts +93 -30
  450. package/dist/plugins/media/media.js +79 -86
  451. package/dist/plugins/media/urlPaste.svelte.d.ts +9 -32
  452. package/dist/plugins/media/urlPaste.svelte.js +46 -75
  453. package/dist/plugins/mention/MentionPlugin.svelte +47 -124
  454. package/dist/plugins/mention/MentionPlugin.svelte.d.ts +11 -23
  455. package/dist/plugins/page/PageLink.svelte +54 -38
  456. package/dist/plugins/page/PagePlugin.svelte +20 -18
  457. package/dist/plugins/page/PagePlugin.svelte.d.ts +2 -4
  458. package/dist/plugins/page/page.d.ts +35 -9
  459. package/dist/plugins/page/page.js +3 -4
  460. package/dist/plugins/pageLink/PageLinkPlugin.svelte +52 -108
  461. package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +11 -23
  462. package/dist/plugins/planned.d.ts +10 -0
  463. package/dist/plugins/planned.js +12 -0
  464. package/dist/plugins/richtext/CalloutIcon.svelte +25 -0
  465. package/dist/plugins/richtext/CalloutIcon.svelte.d.ts +9 -0
  466. package/dist/plugins/richtext/CalloutIconPicker.svelte +26 -0
  467. package/dist/plugins/richtext/CalloutIconPicker.svelte.d.ts +9 -0
  468. package/dist/plugins/richtext/EmptyBody.svelte +25 -0
  469. package/dist/plugins/richtext/EmptyBody.svelte.d.ts +8 -0
  470. package/dist/plugins/richtext/RichTextControl.svelte +39 -0
  471. package/dist/plugins/richtext/RichTextControl.svelte.d.ts +8 -0
  472. package/dist/plugins/richtext/RichTextPlugin.svelte +272 -148
  473. package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +37 -18
  474. package/dist/plugins/richtext/TodoCheckbox.svelte +10 -21
  475. package/dist/plugins/richtext/TodoCheckbox.svelte.d.ts +0 -2
  476. package/dist/plugins/richtext/body.d.ts +9 -0
  477. package/dist/plugins/richtext/body.js +16 -0
  478. package/dist/plugins/richtext/calloutIcons.svelte.d.ts +97 -0
  479. package/dist/plugins/richtext/calloutIcons.svelte.js +214 -0
  480. package/dist/plugins/richtext/callouts.d.ts +15 -0
  481. package/dist/plugins/richtext/callouts.js +23 -0
  482. package/dist/plugins/richtext/controls.svelte.d.ts +110 -0
  483. package/dist/plugins/richtext/controls.svelte.js +126 -0
  484. package/dist/plugins/richtext/richTextOperations.js +37 -28
  485. package/dist/plugins/slashMenu/SlashMenuController.svelte.d.ts +18 -11
  486. package/dist/plugins/slashMenu/SlashMenuController.svelte.js +93 -35
  487. package/dist/plugins/slashMenu/slashMenuPlugin.d.ts +11 -24
  488. package/dist/plugins/slashMenu/slashMenuPlugin.js +27 -68
  489. package/dist/plugins/suggestions/SuggestionBars.svelte +32 -84
  490. package/dist/plugins/suggestions/SuggestionBars.svelte.d.ts +9 -3
  491. package/dist/plugins/suggestions/suggestionsPlugin.d.ts +10 -16
  492. package/dist/plugins/suggestions/suggestionsPlugin.js +9 -24
  493. package/dist/plugins/table/TableChrome.svelte +96 -127
  494. package/dist/plugins/table/TableChrome.svelte.d.ts +5 -1
  495. package/dist/plugins/table/TablePlugin.svelte +116 -171
  496. package/dist/plugins/table/TablePlugin.svelte.d.ts +0 -4
  497. package/dist/plugins/table/chrome.svelte.d.ts +110 -117
  498. package/dist/plugins/table/chrome.svelte.js +643 -289
  499. package/dist/plugins/table/ops.d.ts +47 -0
  500. package/dist/plugins/table/ops.js +233 -0
  501. package/dist/plugins/table/table.css +55 -134
  502. package/dist/plugins/table/table.d.ts +26 -7
  503. package/dist/plugins/table/table.js +23 -49
  504. package/dist/plugins/toc/TableOfContents.svelte +32 -38
  505. package/dist/plugins/toc/TableOfContents.svelte.d.ts +1 -5
  506. package/dist/plugins/toc/TocPlugin.svelte +22 -22
  507. package/dist/plugins/toc/TocPlugin.svelte.d.ts +4 -6
  508. package/dist/plugins/toc/toc.d.ts +41 -10
  509. package/dist/plugins/toc/toc.js +2 -3
  510. package/dist/plugins/toolbar/ToolbarController.svelte.d.ts +29 -66
  511. package/dist/plugins/toolbar/ToolbarController.svelte.js +151 -76
  512. package/dist/plugins/toolbar/toolbarPlugin.d.ts +14 -13
  513. package/dist/plugins/toolbar/toolbarPlugin.js +28 -43
  514. package/dist/plugins/triggers/TriggerController.svelte.d.ts +6 -45
  515. package/dist/plugins/triggers/TriggerController.svelte.js +51 -96
  516. package/dist/plugins/triggers/place.d.ts +0 -9
  517. package/dist/plugins/triggers/place.js +1 -17
  518. package/dist/plugins/triggers/triggers.d.ts +31 -9
  519. package/dist/plugins/triggers/triggers.js +82 -62
  520. package/dist/plugins/uploads.svelte.d.ts +38 -20
  521. package/dist/plugins/uploads.svelte.js +39 -32
  522. package/dist/plugins.d.ts +167 -60
  523. package/dist/selection/domSelection.d.ts +13 -4
  524. package/dist/selection/domSelection.js +110 -183
  525. package/dist/selection/pointer.svelte.d.ts +12 -10
  526. package/dist/selection/pointer.svelte.js +154 -71
  527. package/dist/selection/replaceSelection.d.ts +21 -22
  528. package/dist/selection/replaceSelection.js +60 -69
  529. package/dist/selection/selection.svelte.d.ts +5 -73
  530. package/dist/selection/selection.svelte.js +263 -542
  531. package/dist/selection/selection.utils.d.ts +34 -11
  532. package/dist/selection/selection.utils.js +128 -247
  533. package/dist/selection/visibility.d.ts +11 -8
  534. package/dist/selection/visibility.js +23 -8
  535. package/dist/session/announcer.svelte.d.ts +2 -1
  536. package/dist/session/announcer.svelte.js +7 -3
  537. package/dist/session/attempt.d.ts +33 -39
  538. package/dist/session/attempt.js +61 -53
  539. package/dist/session/bindings.js +108 -139
  540. package/dist/session/commands.d.ts +47 -22
  541. package/dist/session/commands.js +206 -208
  542. package/dist/session/composition.svelte.d.ts +2 -4
  543. package/dist/session/composition.svelte.js +55 -65
  544. package/dist/session/editing/text.d.ts +6 -0
  545. package/dist/session/editing/text.js +17 -3
  546. package/dist/session/handles.d.ts +10 -1
  547. package/dist/session/handles.js +28 -0
  548. package/dist/session/history.d.ts +0 -4
  549. package/dist/session/history.js +15 -21
  550. package/dist/session/inputRules.js +75 -84
  551. package/dist/session/keymap.d.ts +1 -6
  552. package/dist/session/keymap.js +17 -20
  553. package/dist/session/moves.d.ts +10 -10
  554. package/dist/session/moves.js +31 -59
  555. package/dist/session/navigation.d.ts +18 -3
  556. package/dist/session/navigation.js +194 -153
  557. package/dist/session/ports.d.ts +7 -0
  558. package/dist/session/selection.d.ts +4 -3
  559. package/dist/session/selection.js +8 -0
  560. package/dist/session/suggestions.svelte.d.ts +1 -1
  561. package/dist/session/suggestions.svelte.js +64 -47
  562. package/dist/session/virtual.d.ts +3 -3
  563. package/dist/session/virtual.js +18 -40
  564. package/dist/surface/attributes.d.ts +1 -0
  565. package/dist/surface/attributes.js +3 -26
  566. package/dist/surface/cells.d.ts +5 -0
  567. package/dist/surface/cells.js +5 -0
  568. package/dist/surface/lines.d.ts +32 -0
  569. package/dist/surface/lines.js +43 -0
  570. package/dist/surface/observer.svelte.d.ts +3 -20
  571. package/dist/surface/observer.svelte.js +73 -77
  572. package/dist/surface/overlay.d.ts +48 -6
  573. package/dist/surface/overlay.js +133 -23
  574. package/dist/surface/pin.svelte.d.ts +5 -0
  575. package/dist/surface/pin.svelte.js +5 -0
  576. package/dist/surface/projector.svelte.d.ts +4 -6
  577. package/dist/surface/projector.svelte.js +42 -69
  578. package/dist/text/text.svelte.d.ts +14 -40
  579. package/dist/text/text.svelte.js +35 -51
  580. package/dist/text/wordBoundary.d.ts +19 -0
  581. package/dist/text/wordBoundary.js +29 -44
  582. package/dist/themes/notion.css +315 -126
  583. package/dist/utils/json.d.ts +3 -1
  584. package/dist/utils/json.js +52 -51
  585. package/dist/utils/listen.d.ts +8 -0
  586. package/dist/utils/listen.js +19 -0
  587. package/package.json +4 -5
  588. package/dist/block/block.utils.d.ts +0 -340
  589. package/dist/block/block.utils.js +0 -356
  590. package/dist/collaboration/history/HistoryPanel.svelte +0 -525
  591. package/dist/collaboration/history/HistoryPanel.svelte.d.ts +0 -7
  592. package/dist/collaboration/history/panel.d.ts +0 -43
  593. package/dist/collaboration/history/panel.js +0 -3
  594. package/dist/components/SuggestionRanges.svelte +0 -58
  595. package/dist/components/SuggestionRanges.svelte.d.ts +0 -7
  596. package/dist/crdt/doc/table.d.ts +0 -21
  597. package/dist/crdt/doc/table.js +0 -288
  598. package/dist/crdt/migration/generation.d.ts +0 -58
  599. package/dist/crdt/migration/generation.js +0 -70
  600. package/dist/crdt/migration/legacy-schema.d.ts +0 -61
  601. package/dist/crdt/migration/legacy-schema.js +0 -151
  602. package/dist/crdt/migration/migrate.d.ts +0 -56
  603. package/dist/crdt/migration/migrate.js +0 -227
  604. package/dist/crdt/nodes.d.ts +0 -121
  605. package/dist/crdt/nodes.js +0 -56
  606. package/dist/crdt/text/index/checks.d.ts +0 -15
  607. package/dist/crdt/text/index/checks.js +0 -156
  608. package/dist/crdt/vendor/yjs/dts/utils/EventHandler.d.ts +0 -17
  609. package/dist/crdt/vendor/yjs/dts/utils/RelativePosition.d.ts +0 -80
  610. package/dist/crdt/vendor/yjs/dts/utils/UndoManager.d.ts +0 -205
  611. package/dist/crdt/vendor/yjs/dts/utils/YEvent.d.ts +0 -93
  612. package/dist/crdt/vendor/yjs/dts/utils/meta.d.ts +0 -25
  613. package/dist/crdt/vendor/yjs/dts/utils/renderer-helpers.d.ts +0 -98
  614. package/dist/crdt/vendor/yjs/dts/utils/schemas.d.ts +0 -2
  615. package/dist/crdt/vendor/yjs/src/utils/EventHandler.js +0 -75
  616. package/dist/crdt/vendor/yjs/src/utils/RelativePosition.js +0 -301
  617. package/dist/crdt/vendor/yjs/src/utils/UndoManager.js +0 -554
  618. package/dist/crdt/vendor/yjs/src/utils/YEvent.js +0 -158
  619. package/dist/crdt/vendor/yjs/src/utils/meta.js +0 -74
  620. package/dist/crdt/vendor/yjs/src/utils/renderer-helpers.js +0 -186
  621. package/dist/crdt/vendor/yjs/src/utils/schemas.js +0 -3
  622. package/dist/edytor.utils.d.ts +0 -50
  623. package/dist/edytor.utils.js +0 -67
  624. package/dist/plugins/blockMenu/BlockMenu.svelte +0 -447
  625. package/dist/plugins/blockMenu/BlockMenu.svelte.d.ts +0 -9
  626. package/dist/plugins/find/FindBar.svelte +0 -170
  627. package/dist/plugins/find/FindBar.svelte.d.ts +0 -9
  628. package/dist/plugins/find/FindHighlights.svelte +0 -75
  629. package/dist/plugins/find/FindHighlights.svelte.d.ts +0 -9
  630. package/dist/plugins/icons.d.ts +0 -2
  631. package/dist/plugins/icons.js +0 -63
  632. package/dist/plugins/image/ImageEmpty.svelte +0 -116
  633. package/dist/plugins/image/ImageEmpty.svelte.d.ts +0 -12
  634. package/dist/plugins/keepInView.d.ts +0 -4
  635. package/dist/plugins/keepInView.js +0 -6
  636. package/dist/plugins/media/UrlPasteMenu.svelte +0 -83
  637. package/dist/plugins/media/UrlPasteMenu.svelte.d.ts +0 -7
  638. package/dist/plugins/richtext/labels.d.ts +0 -5
  639. package/dist/plugins/richtext/labels.js +0 -3
  640. package/dist/plugins/slashMenu/SlashMenu.svelte +0 -360
  641. package/dist/plugins/slashMenu/SlashMenu.svelte.d.ts +0 -11
  642. package/dist/plugins/toolbar/LinkCard.svelte +0 -118
  643. package/dist/plugins/toolbar/LinkCard.svelte.d.ts +0 -7
  644. package/dist/plugins/toolbar/Toolbar.svelte +0 -400
  645. package/dist/plugins/toolbar/Toolbar.svelte.d.ts +0 -9
  646. package/dist/plugins/triggers/TriggerMenu.svelte +0 -144
  647. package/dist/plugins/triggers/TriggerMenu.svelte.d.ts +0 -7
  648. package/dist/session/props.d.ts +0 -28
  649. package/dist/session/props.js +0 -162
  650. package/dist/text/deltas.d.ts +0 -22
  651. package/dist/text/deltas.js +0 -46
  652. package/dist/text/text.utils.d.ts +0 -45
  653. package/dist/text/text.utils.js +0 -199
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,399 +32,186 @@ 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
+ });
123
+ /** The `code` section in English. */
124
+ export const codeEnglish = /* @__PURE__ */ frozen({ code: 'Code' });
125
+ /** The `columns` section in English. */
126
+ export const columnsEnglish = /* @__PURE__ */ frozen({
127
+ columns: (count) => `${count} columns`,
128
+ resize: 'Resize columns'
129
+ });
130
+ /** The `page` section in English. */
131
+ export const pageEnglish = /* @__PURE__ */ frozen({ page: 'Page', untitled: UNTITLED });
132
+ /** The `toc` section in English. */
133
+ export const tocEnglish = /* @__PURE__ */ frozen({
134
+ toc: 'Table of contents',
135
+ untitled: UNTITLED,
136
+ empty: 'Add headings to create a table of contents.'
137
+ });
138
+ /** The `pageLink` section in English. */
139
+ export const pageLinkEnglish = /* @__PURE__ */ frozen({ untitled: UNTITLED });
140
+ /** The `comments` section in English. */
141
+ export const commentsEnglish = /* @__PURE__ */ frozen({
142
+ comment: 'Comment',
143
+ sidebar: 'Comments'
144
+ });
145
+ /** The `table` section in English. */
146
+ export const tableEnglish = /* @__PURE__ */ frozen({
147
+ table: 'Table',
148
+ headerRow: 'Header row',
149
+ headerColumn: 'Header column',
150
+ insertRowAbove: 'Insert row above',
151
+ insertRowBelow: 'Insert row below',
152
+ insertColumnLeft: 'Insert column left',
153
+ insertColumnRight: 'Insert column right',
154
+ deleteRow: 'Delete row',
155
+ deleteColumn: 'Delete column',
156
+ resize: 'Resize column',
157
+ emptyCell: 'Empty cell'
158
+ });
159
+ /** The `equation` section in English. */
160
+ export const equationEnglish = /* @__PURE__ */ frozen({
161
+ block: 'Block equation',
162
+ inline: 'Inline equation',
163
+ blockPlaceholder: 'Add a TeX equation',
164
+ inlinePlaceholder: 'New equation',
165
+ invalid: 'Invalid equation'
166
+ });
38
167
  /**
39
168
  * The English dictionary: the default of every section. Frozen: start
40
- * yours from a copy (`{ ...englishLabels.toolbar, link: '…' }`).
169
+ * yours from a copy (`{ ...englishLabels.richText, checkbox: '…' }`). Each
170
+ * plugin reads only its own section, so an app ships the words of the
171
+ * plugins it lists.
41
172
  */
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
- placeholders: {
83
- heading: (level) => `Heading ${level}`,
84
- toggleHeading: (level) => `Toggle heading ${level}`,
85
- list: 'List',
86
- todo: 'To-do',
87
- toggle: 'Toggle',
88
- quote: 'Empty quote',
89
- callout: 'Type something…',
90
- caption: 'Write a caption…',
91
- empty: "Type '/' for commands"
92
- }
93
- },
94
- toolbar: {
95
- bar: 'Text formatting',
96
- text: 'Text',
97
- turnInto: 'Turn into',
98
- link: 'Link',
99
- linkUrl: 'Link URL',
100
- linkPlaceholder: 'Paste link',
101
- apply: 'Apply',
102
- applyLink: 'Apply link',
103
- remove: 'Remove',
104
- removeLink: 'Remove link',
105
- color: 'Color',
106
- textColor: 'Text color',
107
- backgroundColor: 'Background color',
108
- colors: {
109
- Default: 'Default',
110
- Gray: 'Gray',
111
- Brown: 'Brown',
112
- Orange: 'Orange',
113
- Yellow: 'Yellow',
114
- Green: 'Green',
115
- Blue: 'Blue',
116
- Purple: 'Purple',
117
- Pink: 'Pink',
118
- Red: 'Red'
119
- },
120
- colorText: (color) => `${color} text`,
121
- colorBackground: (color) => `${color} background`,
122
- card: 'Link',
123
- open: 'Open',
124
- openLink: 'Open link in a new tab',
125
- edit: 'Edit',
126
- editLink: 'Edit link'
127
- },
128
- slashMenu: {
129
- filter: 'Type to filter…',
130
- filterLabel: 'Filter block commands',
131
- list: 'Block commands',
132
- noResults: 'No results',
133
- close: 'Close menu',
134
- closeKey: 'esc',
135
- groups: {
136
- 'Basic blocks': 'Basic blocks',
137
- 'Advanced blocks': 'Advanced blocks',
138
- Media: 'Media',
139
- Layout: 'Layout',
140
- Color: 'Color',
141
- Inline: 'Inline'
142
- }
143
- },
144
- blockMenu: {
145
- search: 'Search actions…',
146
- searchLabel: 'Search actions',
147
- menu: 'Block actions',
148
- block: 'Block',
149
- turnInto: 'Turn into',
150
- color: 'Color',
151
- textColor: 'Text color',
152
- backgroundColor: 'Background color',
153
- colors: {
154
- default: 'Default',
155
- gray: 'Gray',
156
- brown: 'Brown',
157
- orange: 'Orange',
158
- yellow: 'Yellow',
159
- green: 'Green',
160
- blue: 'Blue',
161
- purple: 'Purple',
162
- pink: 'Pink',
163
- red: 'Red'
164
- },
165
- colorText: (color) => `${color} text`,
166
- colorBackground: (color) => `${color} background`,
167
- copyLink: 'Copy link to block',
168
- duplicate: 'Duplicate',
169
- moveUp: 'Move up',
170
- moveDown: 'Move down',
171
- delete: 'Delete',
172
- noResults: 'No results',
173
- ctrl: 'Ctrl',
174
- shift: 'Shift',
175
- deleteKey: 'Del'
176
- },
177
- blockHandles: {
178
- add: (kind) => `Add a block below ${kind} (Alt: above)`,
179
- addBeside: (kind) => `Add a block below ${kind} (Alt: a column to the right)`,
180
- addHint: 'Click to add below\nAlt-click to add a block above',
181
- addBesideHint: 'Click to add below\nAlt-click to add a column to the right',
182
- grip: (kind) => `${kind} block: drag to move, click for actions`
183
- },
184
- image: {
185
- image: 'Image',
186
- add: 'Add an image',
187
- link: 'Image link',
188
- linkPlaceholder: 'Paste the image link…',
189
- embed: 'Embed image',
190
- upload: 'Upload',
191
- uploading: 'Uploading…',
192
- tooLarge: (limit, upload) => `Inline images are limited to ${limit}: ${upload ? 'upload the file instead' : 'host the image and paste its link'}.`,
193
- uploadFailed: 'The upload failed: try again or paste a link.',
194
- invalid: "That doesn't look like an image link or upload.",
195
- toolbar: 'Image',
196
- alignLeft: 'Align left',
197
- alignCenter: 'Align center',
198
- alignRight: 'Align right',
199
- alt: 'Alt text',
200
- altPlaceholder: 'Describe the image…'
201
- },
202
- media: {
203
- embed: {
204
- label: 'Embed',
205
- offer: 'Embed',
206
- add: 'Embed a link',
207
- placeholder: 'Paste the link…',
208
- submit: 'Embed link',
209
- invalid: 'No embed provider plays that link.'
210
- },
211
- bookmark: {
212
- label: 'Web bookmark',
213
- offer: 'Bookmark',
214
- add: 'Add a web bookmark',
215
- placeholder: 'Paste the link…',
216
- submit: 'Create bookmark',
217
- invalid: "That doesn't look like a web link."
218
- },
219
- file: {
220
- label: 'File',
221
- add: 'Embed a file',
222
- addOrUpload: 'Upload or embed a file',
223
- placeholder: 'Paste the file link…',
224
- submit: 'Embed link',
225
- invalid: "That doesn't look like a file link or upload."
226
- },
227
- video: {
228
- label: 'Video',
229
- add: 'Embed a video',
230
- placeholder: 'Paste the video link…',
231
- submit: 'Embed video',
232
- invalid: "That doesn't look like a video link or upload."
233
- },
234
- audio: {
235
- label: 'Audio',
236
- add: 'Embed audio',
237
- placeholder: 'Paste the audio link…',
238
- submit: 'Embed audio',
239
- invalid: "That doesn't look like an audio link or upload."
240
- },
241
- upload: 'Upload',
242
- uploading: 'Uploading…',
243
- uploadFailed: 'The upload failed: try again or paste a link.',
244
- fileSize: bytes,
245
- pasteAs: 'Paste as',
246
- pasteLink: 'Link'
247
- },
248
- code: {
249
- code: 'Code',
250
- language: 'Code language',
251
- copy: 'Copy',
252
- copied: 'Copied',
253
- languages: {}
254
- },
255
- find: {
256
- bar: 'Find in page',
257
- query: 'Find',
258
- queryPlaceholder: 'Find in page',
259
- noResults: 'No results',
260
- count: (current, total) => `${current}/${total}`,
261
- matchCase: 'Match case',
262
- previous: 'Previous match',
263
- previousHint: 'Previous match (Shift+Enter)',
264
- next: 'Next match',
265
- nextHint: 'Next match (Enter)',
266
- close: 'Close',
267
- closeHint: 'Close (Escape)',
268
- replaceWith: 'Replace with',
269
- replace: 'Replace',
270
- replaceAll: 'Replace all'
271
- },
272
- suggestions: {
273
- suggestion: 'Suggestion',
274
- writing: (label) => `${label ?? 'AI'} is writing…`,
275
- accept: 'Accept',
276
- discard: 'Discard',
277
- retry: 'Try again',
278
- ctrl: 'Ctrl',
279
- escape: 'Esc'
280
- },
281
- columns: {
282
- columns: (count) => `${count} columns`,
283
- resize: 'Resize columns'
284
- },
285
- page: {
286
- page: 'Page',
287
- untitled: 'Untitled'
288
- },
289
- toc: {
290
- toc: 'Table of contents',
291
- untitled: 'Untitled',
292
- empty: 'Add headings to create a table of contents.'
293
- },
294
- pageLink: {
295
- menu: 'Pages',
296
- searching: 'Searching…',
297
- noResults: 'No results',
298
- untitled: 'Untitled'
299
- },
300
- comments: {
301
- comment: 'Comment',
302
- sidebar: 'Comments',
303
- placeholder: 'Add a comment…',
304
- reply: 'Reply…',
305
- post: 'Comment',
306
- cancel: 'Cancel',
307
- resolve: 'Resolve',
308
- reopen: 'Re-open',
309
- delete: 'Delete',
310
- resolvedBy: (name) => `Resolved by ${name}`,
311
- showResolved: (count) => `Resolved (${count})`,
312
- hideResolved: 'Hide resolved',
313
- you: 'You',
314
- when: (at) => Number.isFinite(at)
315
- ? new Intl.DateTimeFormat('en', {
316
- month: 'short',
317
- day: 'numeric',
318
- hour: 'numeric',
319
- minute: '2-digit'
320
- }).format(at)
321
- : '',
322
- failed: 'Could not save the comment. Try again.'
323
- },
324
- table: {
325
- table: 'Table',
326
- headerRow: 'Header row',
327
- headerColumn: 'Header column',
328
- insertRowAbove: 'Insert row above',
329
- insertRowBelow: 'Insert row below',
330
- insertColumnLeft: 'Insert column left',
331
- insertColumnRight: 'Insert column right',
332
- insertAbove: 'Insert above',
333
- insertBelow: 'Insert below',
334
- insertLeft: 'Insert left',
335
- insertRight: 'Insert right',
336
- moveUp: 'Move up',
337
- moveDown: 'Move down',
338
- moveLeft: 'Move left',
339
- moveRight: 'Move right',
340
- deleteRow: 'Delete row',
341
- deleteColumn: 'Delete column',
342
- addRow: 'Add a row',
343
- addColumn: 'Add a column',
344
- rowMenu: 'Row options',
345
- columnMenu: 'Column options',
346
- resize: 'Resize column',
347
- emptyCell: 'Empty cell'
348
- },
349
- mention: {
350
- menu: 'People',
351
- searching: 'Searching…',
352
- noResults: 'No results'
353
- },
354
- history: {
355
- title: 'Version history',
356
- versions: 'Versions',
357
- morning: 'Morning',
358
- evening: 'Evening',
359
- loading: 'Loading…',
360
- empty: 'No versions yet. A version is saved twice a day while the page changes.',
361
- noEditors: 'No editors',
362
- moreEditors: (count) => `+${count}`,
363
- saved: 'Saved',
364
- preview: 'Version preview',
365
- choose: 'Choose a version to preview it.',
366
- highlight: 'Highlight changes',
367
- added: (count) => `${count} added since`,
368
- removed: (count) => `${count} removed since`,
369
- changed: (count) => `${count} changed since`,
370
- same: 'Same as the current page',
371
- restore: 'Restore version',
372
- restoring: 'Restoring…',
373
- undo: 'Undo restore',
374
- restored: 'Version restored.',
375
- unchanged: 'The page already matches this version.',
376
- unavailable: 'This version is no longer available.',
377
- undone: 'Restore undone.',
378
- nothingToUndo: 'There is no restore to undo.',
379
- denied: 'You do not have access to this history.',
380
- failed: 'The history could not be reached.'
381
- },
382
- equation: {
383
- block: 'Block equation',
384
- inline: 'Inline equation',
385
- blockPlaceholder: 'Add a TeX equation',
386
- inlinePlaceholder: 'New equation',
387
- editor: 'Equation',
388
- placeholder: 'E = mc^2',
389
- done: 'Done',
390
- invalid: 'Invalid equation'
391
- }
173
+ export const englishLabels = /* @__PURE__ */ frozen({
174
+ editor: editorEnglish,
175
+ richText: richTextEnglish,
176
+ blockMenu: blockMenuEnglish,
177
+ image: imageEnglish,
178
+ media: mediaEnglish,
179
+ code: codeEnglish,
180
+ columns: columnsEnglish,
181
+ page: pageEnglish,
182
+ toc: tocEnglish,
183
+ pageLink: pageLinkEnglish,
184
+ comments: commentsEnglish,
185
+ table: tableEnglish,
186
+ equation: equationEnglish
392
187
  });
188
+ /** Each view's sections, merged once: its `labels` over the English ones. */
189
+ const merged = new WeakMap();
393
190
  /**
394
- * Section `section` of the dictionary with `overrides` over the English one:
395
- * an entry replaces its English entry, a nested group's entries replace
396
- * only theirs.
191
+ * The words of `section` in `view` (`english` its English words): the
192
+ * view's `labels` entries over them, a nested group's entries replacing
193
+ * only theirs. English for no view (a document read without one).
397
194
  */
398
- export const labelsWith = (section, overrides) => {
399
- const base = englishLabels[section];
195
+ export const labelsOf = (view, section, english) => {
196
+ const overrides = view?.labels[section];
400
197
  if (!overrides)
401
- return base;
402
- const merged = { ...base };
403
- for (const [key, value] of Object.entries(overrides)) {
404
- if (value === undefined)
405
- continue;
406
- const own = base[key];
407
- merged[key] = isGroup(own) && isGroup(value) ? { ...own, ...value } : value;
198
+ return english;
199
+ let sections = merged.get(view.labels);
200
+ if (!sections)
201
+ merged.set(view.labels, (sections = new Map()));
202
+ let words = sections.get(section);
203
+ if (!words) {
204
+ const base = english;
205
+ const out = { ...base };
206
+ for (const [key, value] of Object.entries(overrides))
207
+ if (value !== undefined)
208
+ out[key] = isGroup(base[key]) && isGroup(value) ? { ...base[key], ...value } : value;
209
+ sections.set(section, (words = out));
408
210
  }
409
- return merged;
211
+ return words;
410
212
  };
411
213
  /**
412
- * The keywords of command `id`: `overrides`' entry for it when there is one
413
- * (it replaces the defaults: list the English ones in it to keep them),
414
- * else `defaults`.
415
- */
416
- export const keywordsOf = (id, defaults, overrides) => overrides?.[id] ?? defaults;
417
- /**
418
- * One plugin's labels per view: the first plugin of its kind listed in a
419
- * view claims them, as its kind records (first wins); its components read
420
- * them through the view they render in, English when none claimed them.
214
+ * The slash keywords of command `id` in `view`: its `keywords` entry for
215
+ * the id when there is one (it replaces the defaults), else `defaults`.
421
216
  */
422
- export const viewLabels = (section) => {
423
- const claimed = new WeakMap();
424
- return {
425
- /** `labels` for `view`, unless a plugin listed before claimed it. */
426
- claim: (view, labels) => {
427
- if (view && !claimed.has(view))
428
- claimed.set(view, labels);
429
- },
430
- /** The labels of `view` (English for none, or a view no plugin claimed). */
431
- of: (view) => (view && claimed.get(view)) || englishLabels[section]
432
- };
433
- };
217
+ 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;
@@ -0,0 +1,23 @@
1
+ <script lang="ts" generics="T">
2
+ import { getContext, type Snippet } from 'svelte';
3
+ import type { Edytor } from '../edytor.svelte.js';
4
+
5
+ /**
6
+ * A control inside a block: the app's snippet for it in the view
7
+ * rendering it (`own`; a suggestion's preview's too), else the package's
8
+ * markup (`initial`), with the control's `payload`.
9
+ */
10
+ let {
11
+ own,
12
+ initial,
13
+ payload
14
+ }: {
15
+ own: (view: Edytor | undefined) => Snippet<[T]> | undefined;
16
+ initial: Snippet<[T]>;
17
+ payload: T;
18
+ } = $props();
19
+ const view = getContext<Edytor | undefined>('edytor');
20
+ const snippet = $derived(own(view) ?? initial);
21
+ </script>
22
+
23
+ {@render snippet(payload)}