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.
- package/README.md +21 -39
- package/dist/block/block.svelte.d.ts +11 -84
- package/dist/block/block.svelte.js +30 -134
- package/dist/block/colors.d.ts +0 -9
- package/dist/block/colors.js +1 -18
- package/dist/block/contentRange.d.ts +5 -1
- package/dist/block/contentRange.js +15 -16
- package/dist/block/inlineBlock.svelte.d.ts +11 -9
- package/dist/block/inlineBlock.svelte.js +18 -21
- package/dist/clipboard/createClipboardFragment.js +22 -64
- package/dist/clipboard/fragmentData.js +17 -42
- package/dist/clipboard/htmlFlow.js +7 -7
- package/dist/clipboard/insertClipboardFragment.js +5 -4
- package/dist/clipboard/moveText.js +16 -8
- package/dist/clipboard/serializeClipboardFragment.d.ts +2 -0
- package/dist/clipboard/serializeClipboardFragment.js +32 -28
- package/dist/cloudflare/DocumentRoom.d.ts +4 -17
- package/dist/cloudflare/DocumentRoom.js +3 -5
- package/dist/cloudflare/move.d.ts +1 -18
- package/dist/cloudflare/move.js +2 -48
- package/dist/cloudflare/room/admission.d.ts +1 -60
- package/dist/cloudflare/room/admission.js +25 -29
- package/dist/cloudflare/room/comments.d.ts +1 -3
- package/dist/cloudflare/room/comments.js +6 -6
- package/dist/cloudflare/room/context.d.ts +25 -82
- package/dist/cloudflare/room/context.js +8 -8
- package/dist/cloudflare/room/forged.d.ts +1 -1
- package/dist/cloudflare/room/forged.js +2 -12
- package/dist/cloudflare/room/frames.d.ts +1 -1
- package/dist/cloudflare/room/frames.js +1 -1
- package/dist/cloudflare/room/history.d.ts +1 -25
- package/dist/cloudflare/room/history.js +39 -54
- package/dist/cloudflare/room/moves.d.ts +1 -13
- package/dist/cloudflare/room/moves.js +33 -57
- package/dist/cloudflare/room/presence.d.ts +1 -11
- package/dist/cloudflare/room/presence.js +4 -4
- package/dist/cloudflare/room/purge.d.ts +1 -2
- package/dist/cloudflare/room/purge.js +2 -2
- package/dist/cloudflare/room/replicas.d.ts +1 -7
- package/dist/cloudflare/room/replicas.js +2 -2
- package/dist/cloudflare/room/storage.d.ts +3 -32
- package/dist/cloudflare/room/storage.js +33 -108
- package/dist/cloudflare/room/updates.d.ts +4 -4
- package/dist/cloudflare/room/updates.js +17 -24
- package/dist/cloudflare/room/validation.d.ts +1 -5
- package/dist/cloudflare/room/validation.js +16 -37
- package/dist/collaboration/RemoteSelections.svelte +13 -17
- package/dist/collaboration/awarenessSelection.d.ts +22 -1
- package/dist/collaboration/awarenessSelection.js +42 -0
- package/dist/collaboration/comments/client.d.ts +2 -2
- package/dist/collaboration/comments/client.js +1 -1
- package/dist/collaboration/history/index.d.ts +5 -5
- package/dist/collaboration/history/index.js +5 -5
- package/dist/collaboration/history/panel.svelte.d.ts +91 -0
- package/dist/collaboration/history/panel.svelte.js +223 -0
- package/dist/collaboration/providers.d.ts +12 -3
- package/dist/collaboration/providers.js +5 -4
- package/dist/components/Block.svelte +42 -56
- package/dist/components/Block.svelte.d.ts +7 -5
- package/dist/components/Content.svelte +1 -5
- package/dist/components/Edytor.svelte +82 -99
- package/dist/components/Edytor.svelte.d.ts +16 -13
- package/dist/components/InlineBlock.svelte +1 -1
- package/dist/components/Ranges.svelte +96 -0
- package/dist/components/Ranges.svelte.d.ts +19 -0
- package/dist/components/Suggestion.svelte +3 -2
- package/dist/components/Text.svelte +2 -5
- package/dist/components/Text.svelte.d.ts +1 -1
- package/dist/crdt/admission.d.ts +2 -9
- package/dist/crdt/admission.js +3 -9
- package/dist/crdt/attribution/attribution.d.ts +11 -72
- package/dist/crdt/attribution/attribution.js +5 -52
- package/dist/crdt/attribution/block.d.ts +0 -78
- package/dist/crdt/attribution/block.js +1 -144
- package/dist/crdt/data.d.ts +18 -13
- package/dist/crdt/data.js +49 -71
- package/dist/crdt/doc/anchors.js +4 -4
- package/dist/crdt/doc/content.d.ts +5 -1
- package/dist/crdt/doc/content.js +3 -1
- package/dist/crdt/doc/delete.d.ts +1 -0
- package/dist/crdt/doc/funnel.d.ts +0 -23
- package/dist/crdt/doc/funnel.js +34 -85
- package/dist/crdt/doc/gate.d.ts +8 -9
- package/dist/crdt/doc/gate.js +7 -17
- package/dist/crdt/doc/history.d.ts +87 -14
- package/dist/crdt/doc/history.js +334 -149
- package/dist/crdt/doc/layout.d.ts +0 -1
- package/dist/crdt/doc/layout.js +2 -3
- package/dist/crdt/doc/meta.d.ts +4 -4
- package/dist/crdt/doc/meta.js +10 -21
- package/dist/crdt/doc/moves.d.ts +4 -4
- package/dist/crdt/doc/moves.js +5 -5
- package/dist/crdt/doc/plan.d.ts +2 -0
- package/dist/crdt/doc/plan.js +2 -0
- package/dist/crdt/doc/reads.d.ts +8 -5
- package/dist/crdt/doc/reads.js +49 -50
- package/dist/crdt/doc/seed.d.ts +15 -6
- package/dist/crdt/doc/seed.js +27 -26
- package/dist/crdt/doc/split-merge.d.ts +1 -3
- package/dist/crdt/doc/split-merge.js +4 -5
- package/dist/crdt/doc/steps.d.ts +3 -7
- package/dist/crdt/doc/steps.js +20 -9
- package/dist/crdt/doc/types.d.ts +0 -10
- package/dist/crdt/document.d.ts +32 -115
- package/dist/crdt/document.js +216 -302
- package/dist/crdt/edytor-doc.d.ts +689 -90
- package/dist/crdt/edytor-doc.js +74 -149
- package/dist/crdt/engine-api.d.ts +15 -47
- package/dist/crdt/engine.d.ts +7 -17
- package/dist/crdt/engine.js +9 -19
- package/dist/crdt/flow.d.ts +9 -37
- package/dist/crdt/flow.js +260 -238
- package/dist/crdt/index.d.ts +32 -85
- package/dist/crdt/index.js +21 -47
- package/dist/crdt/operations.d.ts +24 -33
- package/dist/crdt/operations.js +8 -17
- package/dist/crdt/placement/display.d.ts +0 -2
- package/dist/crdt/placement/display.js +0 -15
- package/dist/crdt/placement/model.d.ts +160 -12
- package/dist/crdt/placement/model.js +413 -414
- package/dist/crdt/placement/rank.d.ts +1 -5
- package/dist/crdt/placement/rank.js +28 -38
- package/dist/crdt/props.d.ts +32 -0
- package/dist/crdt/props.js +172 -0
- package/dist/crdt/protocol.d.ts +4 -5
- package/dist/crdt/protocol.js +3 -4
- package/dist/crdt/protocols/awareness.d.ts +3 -7
- package/dist/crdt/protocols/awareness.js +17 -33
- package/dist/crdt/protocols/envelope.d.ts +9 -29
- package/dist/crdt/protocols/envelope.js +8 -25
- package/dist/crdt/protocols/sync.d.ts +15 -30
- package/dist/crdt/protocols/sync.js +27 -89
- package/dist/crdt/providers/bound.d.ts +3 -1
- package/dist/crdt/providers/bound.js +3 -1
- package/dist/crdt/providers/container.d.ts +11 -17
- package/dist/crdt/providers/container.js +39 -27
- package/dist/crdt/providers/index.d.ts +34 -6
- package/dist/crdt/providers/index.js +106 -111
- package/dist/crdt/providers/indexeddb.d.ts +2 -12
- package/dist/crdt/providers/indexeddb.js +29 -90
- package/dist/crdt/providers/room.d.ts +58 -2
- package/dist/crdt/providers/room.js +38 -21
- package/dist/crdt/providers/websocket.d.ts +1 -1
- package/dist/crdt/providers/websocket.js +3 -4
- package/dist/crdt/purge.d.ts +2 -2
- package/dist/crdt/purge.js +69 -6
- package/dist/crdt/rangeDelete.d.ts +4 -42
- package/dist/crdt/rangeDelete.js +7 -6
- package/dist/crdt/restore.d.ts +21 -1
- package/dist/crdt/restore.js +54 -59
- package/dist/crdt/schema.d.ts +2 -2
- package/dist/crdt/schema.js +4 -5
- package/dist/crdt/semantics.d.ts +10 -15
- package/dist/crdt/semantics.js +22 -21
- package/dist/crdt/storage.d.ts +7 -13
- package/dist/crdt/storage.js +10 -24
- package/dist/crdt/structs.d.ts +42 -47
- package/dist/crdt/structs.js +76 -67
- package/dist/crdt/tables.d.ts +9 -0
- package/dist/crdt/tables.js +20 -0
- package/dist/crdt/text/delete-index.d.ts +0 -13
- package/dist/crdt/text/delete-index.js +7 -14
- package/dist/crdt/text/deletes.d.ts +9 -22
- package/dist/crdt/text/deletes.js +11 -74
- package/dist/crdt/text/index/cache.js +3 -3
- package/dist/crdt/text/index/fold.d.ts +1 -2
- package/dist/crdt/text/index/fold.js +15 -10
- package/dist/crdt/text/index/layout.d.ts +0 -10
- package/dist/crdt/text/index/layout.js +6 -20
- package/dist/crdt/text/index/records.js +2 -1
- package/dist/crdt/text/index/report.js +5 -6
- package/dist/crdt/text/index/shared.d.ts +11 -4
- package/dist/crdt/text/index/shared.js +8 -7
- package/dist/crdt/text/index/state.d.ts +3 -33
- package/dist/crdt/text/index/state.js +2 -4
- package/dist/crdt/text/model.d.ts +82 -2
- package/dist/crdt/text/model.js +344 -354
- package/dist/crdt/text/rows.d.ts +0 -2
- package/dist/crdt/text/rows.js +0 -11
- package/dist/crdt/text/runs.d.ts +6 -3
- package/dist/crdt/text/runs.js +132 -137
- package/dist/crdt/text/streams.d.ts +1 -1
- package/dist/crdt/text/streams.js +1 -1
- package/dist/crdt/vendor/yjs/API-NOTES.md +25 -8
- package/dist/crdt/vendor/yjs/UPSTREAM.md +288 -8
- package/dist/crdt/vendor/yjs/dts/global.d.ts +5 -26
- package/dist/crdt/vendor/yjs/dts/index.d.ts +10 -15
- package/dist/crdt/vendor/yjs/dts/structs/AbstractStruct.d.ts +2 -2
- package/dist/crdt/vendor/yjs/dts/structs/Item.d.ts +14 -219
- package/dist/crdt/vendor/yjs/dts/structs/Skip.d.ts +2 -2
- package/dist/crdt/vendor/yjs/dts/utils/BlockSet.d.ts +2 -2
- package/dist/crdt/vendor/yjs/dts/utils/Doc.d.ts +12 -123
- package/dist/crdt/vendor/yjs/dts/utils/ID.d.ts +1 -1
- package/dist/crdt/vendor/yjs/dts/utils/RangeCursor.d.ts +37 -58
- package/dist/crdt/vendor/yjs/dts/utils/Transaction.d.ts +3 -78
- package/dist/crdt/vendor/yjs/dts/utils/UpdateDecoder.d.ts +2 -81
- package/dist/crdt/vendor/yjs/dts/utils/UpdateEncoder.d.ts +2 -74
- package/dist/crdt/vendor/yjs/dts/utils/encoding-helpers.d.ts +4 -4
- package/dist/crdt/vendor/yjs/dts/utils/encoding.d.ts +6 -18
- package/dist/crdt/vendor/yjs/dts/utils/ids.d.ts +12 -237
- package/dist/crdt/vendor/yjs/dts/utils/positions.d.ts +5 -0
- package/dist/crdt/vendor/yjs/dts/utils/redo.d.ts +3 -0
- package/dist/crdt/vendor/yjs/dts/utils/transaction-helpers.d.ts +1 -3
- package/dist/crdt/vendor/yjs/dts/utils/updates.d.ts +6 -23
- package/dist/crdt/vendor/yjs/dts/ynode.d.ts +73 -498
- package/dist/crdt/vendor/yjs/global.d.ts +5 -26
- package/dist/crdt/vendor/yjs/src/index.js +11 -25
- package/dist/crdt/vendor/yjs/src/structs/AbstractStruct.js +1 -1
- package/dist/crdt/vendor/yjs/src/structs/GC.js +1 -1
- package/dist/crdt/vendor/yjs/src/structs/Item.js +10 -372
- package/dist/crdt/vendor/yjs/src/structs/Skip.js +1 -1
- package/dist/crdt/vendor/yjs/src/utils/BlockSet.js +2 -2
- package/dist/crdt/vendor/yjs/src/utils/Doc.js +14 -170
- package/dist/crdt/vendor/yjs/src/utils/ID.js +1 -1
- package/dist/crdt/vendor/yjs/src/utils/RangeCursor.js +61 -128
- package/dist/crdt/vendor/yjs/src/utils/StructStore.js +0 -22
- package/dist/crdt/vendor/yjs/src/utils/Transaction.js +17 -282
- package/dist/crdt/vendor/yjs/src/utils/UpdateDecoder.js +3 -130
- package/dist/crdt/vendor/yjs/src/utils/UpdateEncoder.js +2 -132
- package/dist/crdt/vendor/yjs/src/utils/encoding-helpers.js +4 -4
- package/dist/crdt/vendor/yjs/src/utils/encoding.js +49 -146
- package/dist/crdt/vendor/yjs/src/utils/ids.js +23 -900
- package/dist/crdt/vendor/yjs/src/utils/positions.js +115 -0
- package/dist/crdt/vendor/yjs/src/utils/redo.js +143 -0
- package/dist/crdt/vendor/yjs/src/utils/transaction-helpers.js +10 -127
- package/dist/crdt/vendor/yjs/src/utils/updates.js +7 -50
- package/dist/crdt/vendor/yjs/src/ynode.js +261 -2226
- package/dist/dnd/autoScroll.js +1 -2
- package/dist/{plugins/blockHandles → dnd}/dropIndicator.d.ts +2 -2
- package/dist/{plugins/blockHandles → dnd}/dropIndicator.js +52 -60
- package/dist/{plugins/blockHandles → dnd}/geometry.d.ts +4 -3
- package/dist/{plugins/blockHandles → dnd}/geometry.js +6 -6
- package/dist/dnd/placement.d.ts +200 -0
- package/dist/dnd/placement.js +426 -0
- package/dist/dnd/pragmatic.d.ts +4 -22
- package/dist/dnd/pragmatic.js +7 -26
- package/dist/dnd/track.d.ts +14 -0
- package/dist/dnd/track.js +55 -0
- package/dist/dnd/vendor/pragmatic/UPSTREAM.md +103 -0
- package/dist/dnd/vendor/pragmatic/bind-event-listener/LICENSE +21 -0
- package/dist/dnd/vendor/pragmatic/bind-event-listener/bind-all.js +46 -0
- package/dist/dnd/vendor/pragmatic/bind-event-listener/bind.js +7 -0
- package/dist/dnd/vendor/pragmatic/bind-event-listener/index.js +2 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/LICENSE.md +11 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter-native-data-key.js +6 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.d.ts +57 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/adapter/element-adapter.js +306 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.d.ts +8 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/adapter.js +10 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.d.ts +4 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/element/set-custom-native-drag-preview.js +6 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/entry-point/types.d.ts +1 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/get-element-from-point-without-honey-pot.js +12 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/honey-pot-data-attribute.js +3 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/is-honey-pot-element.js +4 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/honey-pot-fix/make-honey-pot-fix.js +333 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/internal-types.d.ts +350 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/dispatch-consumer-event.js +128 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/lifecycle-manager.js +340 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/ledger/usage-ledger.js +32 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-adapter.js +59 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-drop-target.js +288 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/make-adapter/make-monitor.js +85 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/combine.js +6 -0
- 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
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/set-custom-native-drag-preview.js +153 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/element/custom-native-drag-preview/types.d.ts +16 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/public-utils/once.js +13 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/add-attribute.js +7 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/android.js +10 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/count-events-for-safari.js +104 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-from-another-window.js +16 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window-in-safari.js +12 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/changing-window/is-leaving-window.js +55 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/detect-broken-drag.js +48 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/get-input.js +14 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-firefox.js +13 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/is-safari.js +19 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/max-z-index.js +3 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/text-media-type.js +6 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/media-types/url-media-type.js +6 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/popover-reset-styles.js +40 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop/util/supports-popover.js +16 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/LICENSE.md +11 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.d.ts +4 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/entry-point/element.js +8 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/internal-types.d.ts +50 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/data-attributes.js +9 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/get-scroll-by.js +117 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/make-api.js +90 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/over-element/try-scroll.js +183 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/axis.js +22 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/can-scroll-on-edge.js +17 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/configuration.js +49 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/edges.js +9 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/engagement-history.js +43 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-over-element-hitbox.js +50 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-percentage-in-range.js +19 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/get-scroll-change.js +106 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-axis-allowed.js +3 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/is-within.js +11 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/scheduler.js +104 -0
- package/dist/dnd/vendor/pragmatic/pragmatic-drag-and-drop-auto-scroll/shared/side.js +6 -0
- package/dist/dnd/vendor/pragmatic/raf-schd/LICENSE +21 -0
- package/dist/dnd/vendor/pragmatic/raf-schd/raf-schd.esm.js +34 -0
- package/dist/edytor.svelte.d.ts +46 -63
- package/dist/edytor.svelte.js +126 -181
- package/dist/events/beforeInputCommands.d.ts +6 -11
- package/dist/events/beforeInputCommands.js +189 -181
- package/dist/events/beforeInputDeleteCommands.d.ts +20 -1
- package/dist/events/beforeInputDeleteCommands.js +153 -204
- package/dist/events/domTextOffset.d.ts +9 -9
- package/dist/events/domTextOffset.js +20 -48
- package/dist/events/events.utils.d.ts +0 -2
- package/dist/events/events.utils.js +0 -4
- package/dist/events/nativeInteractiveControl.d.ts +13 -13
- package/dist/events/nativeInteractiveControl.js +28 -56
- package/dist/events/onBeforeInput.d.ts +6 -1
- package/dist/events/onBeforeInput.js +207 -331
- package/dist/events/onCopy.js +1 -5
- package/dist/events/onDrop.d.ts +7 -1
- package/dist/events/onDrop.js +64 -78
- package/dist/events/onFocus.d.ts +9 -4
- package/dist/events/onFocus.js +45 -67
- package/dist/events/onInput.d.ts +8 -4
- package/dist/events/onInput.js +34 -147
- package/dist/events/onKeyDown.js +55 -122
- package/dist/events/onPaste.d.ts +14 -1
- package/dist/events/onPaste.js +51 -76
- package/dist/index.d.ts +11 -15
- package/dist/index.js +3 -3
- package/dist/kinds.d.ts +4 -6
- package/dist/kinds.js +28 -27
- package/dist/labels.d.ts +83 -320
- package/dist/labels.js +181 -408
- package/dist/plugins/Chrome.svelte +29 -0
- package/dist/plugins/Chrome.svelte.d.ts +32 -0
- package/dist/plugins/Control.svelte +23 -0
- package/dist/plugins/Control.svelte.d.ts +30 -0
- package/dist/plugins/anchored.svelte.d.ts +47 -0
- package/dist/plugins/anchored.svelte.js +73 -0
- package/dist/plugins/arrowMove/arrowMove.d.ts +2 -1
- package/dist/plugins/arrowMove/arrowMove.js +9 -5
- package/dist/plugins/bands.svelte.d.ts +57 -0
- package/dist/plugins/bands.svelte.js +95 -0
- package/dist/plugins/blockHandles/BlockHandle.svelte +14 -154
- package/dist/plugins/blockHandles/BlockHandle.svelte.d.ts +2 -2
- package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +21 -196
- package/dist/plugins/blockHandles/BlockHandleController.svelte.js +158 -573
- package/dist/plugins/blockHandles/BlockHandles.svelte +15 -23
- package/dist/plugins/blockHandles/BlockHandles.svelte.d.ts +2 -2
- package/dist/plugins/blockHandles/blockHandlesPlugin.d.ts +25 -39
- package/dist/plugins/blockHandles/blockHandlesPlugin.js +130 -185
- package/dist/plugins/blockHandles/dragPreview.d.ts +8 -6
- package/dist/plugins/blockHandles/dragPreview.js +18 -16
- package/dist/plugins/blockMenu/BlockMenuController.svelte.d.ts +28 -38
- package/dist/plugins/blockMenu/BlockMenuController.svelte.js +116 -183
- package/dist/plugins/blockMenu/blockMenuPlugin.d.ts +1 -3
- package/dist/plugins/blockMenu/blockMenuPlugin.js +12 -29
- package/dist/plugins/brand.d.ts +8 -0
- package/dist/plugins/brand.js +8 -0
- package/dist/plugins/chrome.d.ts +45 -38
- package/dist/plugins/chrome.js +59 -36
- package/dist/plugins/code/CodeHeader.svelte +8 -38
- package/dist/plugins/code/CodePlugin.svelte +53 -56
- package/dist/plugins/code/CodePlugin.svelte.d.ts +0 -2
- package/dist/plugins/code/LanguageMenu.svelte +16 -125
- package/dist/plugins/code/LanguageMenu.svelte.d.ts +2 -1
- package/dist/plugins/code/code.css +5 -117
- package/dist/plugins/code/header.svelte.d.ts +2 -11
- package/dist/plugins/code/header.svelte.js +11 -38
- package/dist/plugins/code/languageMenu.svelte.d.ts +12 -32
- package/dist/plugins/code/languageMenu.svelte.js +30 -160
- package/dist/plugins/code/languages.d.ts +9 -22
- package/dist/plugins/code/languages.js +39 -128
- package/dist/plugins/columns/ColumnResize.svelte +16 -27
- package/dist/plugins/columns/ColumnResize.svelte.d.ts +1 -1
- package/dist/plugins/columns/ColumnsPlugin.svelte +46 -78
- package/dist/plugins/columns/ColumnsPlugin.svelte.d.ts +0 -12
- package/dist/plugins/columns/columns.css +7 -26
- package/dist/plugins/columns/gaps.d.ts +7 -5
- package/dist/plugins/columns/gaps.js +11 -6
- package/dist/plugins/columns/resize.svelte.d.ts +17 -54
- package/dist/plugins/columns/resize.svelte.js +80 -173
- package/dist/plugins/comments/CommentsController.svelte.d.ts +1 -4
- package/dist/plugins/comments/CommentsController.svelte.js +14 -25
- package/dist/plugins/comments/CommentsSidebar.svelte +82 -431
- package/dist/plugins/comments/CommentsSidebar.svelte.d.ts +4 -2
- package/dist/plugins/comments/commentsPlugin.d.ts +25 -9
- package/dist/plugins/comments/commentsPlugin.js +12 -10
- package/dist/plugins/equation/EquationEditor.svelte +16 -130
- package/dist/plugins/equation/EquationEditor.svelte.d.ts +1 -2
- package/dist/plugins/equation/EquationPlugin.svelte +109 -172
- package/dist/plugins/equation/EquationPlugin.svelte.d.ts +3 -2
- package/dist/plugins/equation/EquationView.svelte +20 -11
- package/dist/plugins/equation/equation.css +7 -0
- package/dist/plugins/equation/equation.svelte.d.ts +37 -24
- package/dist/plugins/equation/equation.svelte.js +20 -94
- package/dist/plugins/equation/katex.js +6 -9
- package/dist/plugins/fileDrop.d.ts +28 -0
- package/dist/plugins/fileDrop.js +116 -0
- package/dist/plugins/find/FindController.svelte.d.ts +8 -13
- package/dist/plugins/find/FindController.svelte.js +34 -55
- package/dist/plugins/find/findPlugin.d.ts +4 -8
- package/dist/plugins/find/findPlugin.js +29 -9
- package/dist/plugins/image/ImageChrome.svelte +6 -167
- package/dist/plugins/image/ImageChrome.svelte.d.ts +0 -2
- package/dist/plugins/image/ImagePlugin.svelte +71 -151
- package/dist/plugins/image/ImagePlugin.svelte.d.ts +12 -41
- package/dist/plugins/image/ImageToolbarHost.svelte +37 -0
- package/dist/plugins/image/ImageToolbarHost.svelte.d.ts +9 -0
- package/dist/plugins/image/controls.svelte.d.ts +6 -36
- package/dist/plugins/image/controls.svelte.js +43 -212
- package/dist/plugins/image/image.css +17 -0
- package/dist/plugins/image/image.d.ts +0 -5
- package/dist/plugins/image/image.js +0 -3
- package/dist/plugins/image/toolbar.svelte.d.ts +69 -0
- package/dist/plugins/image/toolbar.svelte.js +145 -0
- package/dist/plugins/index.d.ts +30 -26
- package/dist/plugins/index.js +28 -22
- package/dist/plugins/list.svelte.d.ts +128 -0
- package/dist/plugins/list.svelte.js +217 -0
- package/dist/plugins/markdownShortcuts.d.ts +1 -1
- package/dist/plugins/markdownShortcuts.js +10 -9
- package/dist/plugins/marquee/MarqueeBox.svelte +3 -20
- package/dist/plugins/marquee/MarqueeBox.svelte.d.ts +1 -1
- package/dist/plugins/marquee/MarqueeController.svelte.d.ts +0 -2
- package/dist/plugins/marquee/MarqueeController.svelte.js +20 -23
- package/dist/plugins/marquee/marquee.js +4 -21
- package/dist/plugins/marquee/marqueePlugin.d.ts +4 -3
- package/dist/plugins/marquee/marqueePlugin.js +16 -15
- package/dist/plugins/media/AudioPlugin.svelte +13 -88
- package/dist/plugins/media/AudioPlugin.svelte.d.ts +11 -4
- package/dist/plugins/media/BookmarkPlugin.svelte +113 -120
- package/dist/plugins/media/BookmarkPlugin.svelte.d.ts +10 -15
- package/dist/plugins/media/EmbedPlugin.svelte +82 -86
- package/dist/plugins/media/EmbedPlugin.svelte.d.ts +11 -17
- package/dist/plugins/media/EmptySlot.svelte +44 -0
- package/dist/plugins/media/EmptySlot.svelte.d.ts +25 -0
- package/dist/plugins/media/FilePlugin.svelte +45 -113
- package/dist/plugins/media/FilePlugin.svelte.d.ts +21 -4
- package/dist/plugins/media/MediaEmpty.svelte +51 -90
- package/dist/plugins/media/MediaEmpty.svelte.d.ts +26 -10
- package/dist/plugins/media/SourceBlock.svelte +200 -0
- package/dist/plugins/media/SourceBlock.svelte.d.ts +34 -0
- package/dist/plugins/media/UploadPreview.svelte +32 -0
- package/dist/plugins/media/UploadPreview.svelte.d.ts +11 -0
- package/dist/plugins/media/VideoPlugin.svelte +14 -97
- package/dist/plugins/media/VideoPlugin.svelte.d.ts +12 -5
- package/dist/plugins/media/empty.svelte.d.ts +47 -46
- package/dist/plugins/media/empty.svelte.js +67 -60
- package/dist/plugins/media/media.d.ts +97 -44
- package/dist/plugins/media/media.js +77 -99
- package/dist/plugins/media/upload.css +23 -0
- package/dist/plugins/media/urlPaste.svelte.d.ts +6 -37
- package/dist/plugins/media/urlPaste.svelte.js +32 -102
- package/dist/plugins/mention/MentionPlugin.svelte +84 -126
- package/dist/plugins/mention/MentionPlugin.svelte.d.ts +17 -27
- package/dist/plugins/mention/mention.css +6 -0
- package/dist/plugins/page/PageLink.svelte +54 -38
- package/dist/plugins/page/PagePlugin.svelte +20 -18
- package/dist/plugins/page/PagePlugin.svelte.d.ts +2 -4
- package/dist/plugins/page/page.d.ts +35 -9
- package/dist/plugins/page/page.js +3 -4
- package/dist/plugins/pageLink/PageLinkPlugin.svelte +154 -109
- package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +19 -26
- package/dist/plugins/pageLink/pageLink.css +6 -0
- package/dist/plugins/planned.d.ts +10 -0
- package/dist/plugins/planned.js +12 -0
- package/dist/plugins/richtext/CalloutIcon.svelte +13 -26
- package/dist/plugins/richtext/CalloutIconPicker.svelte +26 -0
- package/dist/plugins/richtext/CalloutIconPicker.svelte.d.ts +9 -0
- package/dist/plugins/richtext/EmptyBody.svelte +13 -20
- package/dist/plugins/richtext/RichTextControl.svelte +39 -0
- package/dist/plugins/richtext/RichTextControl.svelte.d.ts +8 -0
- package/dist/plugins/richtext/RichTextPlugin.svelte +174 -183
- package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +34 -34
- package/dist/plugins/richtext/TodoCheckbox.svelte +10 -21
- package/dist/plugins/richtext/TodoCheckbox.svelte.d.ts +0 -2
- package/dist/plugins/richtext/body.js +2 -2
- package/dist/plugins/richtext/calloutIcons.svelte.d.ts +50 -55
- package/dist/plugins/richtext/calloutIcons.svelte.js +86 -174
- package/dist/plugins/richtext/callouts.d.ts +15 -0
- package/dist/plugins/richtext/callouts.js +23 -0
- package/dist/plugins/richtext/controls.svelte.d.ts +110 -0
- package/dist/plugins/richtext/controls.svelte.js +126 -0
- package/dist/plugins/richtext/richTextOperations.js +37 -28
- package/dist/plugins/richtext/richtext.css +6 -0
- package/dist/plugins/slashMenu/SlashMenuController.svelte.d.ts +2 -14
- package/dist/plugins/slashMenu/SlashMenuController.svelte.js +34 -71
- package/dist/plugins/slashMenu/slashMenuPlugin.d.ts +9 -26
- package/dist/plugins/slashMenu/slashMenuPlugin.js +27 -68
- package/dist/plugins/suggestions/SuggestionBars.svelte +27 -84
- package/dist/plugins/suggestions/SuggestionBars.svelte.d.ts +9 -3
- package/dist/plugins/suggestions/suggestionsPlugin.d.ts +10 -18
- package/dist/plugins/suggestions/suggestionsPlugin.js +9 -24
- package/dist/plugins/table/TableChrome.svelte +40 -124
- package/dist/plugins/table/TablePlugin.svelte +106 -168
- package/dist/plugins/table/TablePlugin.svelte.d.ts +0 -4
- package/dist/plugins/table/chrome.svelte.d.ts +38 -141
- package/dist/plugins/table/chrome.svelte.js +340 -589
- package/dist/plugins/table/ops.d.ts +47 -0
- package/dist/plugins/table/ops.js +233 -0
- package/dist/plugins/table/table.css +16 -152
- package/dist/plugins/table/table.d.ts +15 -14
- package/dist/plugins/table/table.js +22 -16
- package/dist/plugins/toc/TableOfContents.svelte +32 -38
- package/dist/plugins/toc/TableOfContents.svelte.d.ts +1 -5
- package/dist/plugins/toc/TocPlugin.svelte +22 -22
- package/dist/plugins/toc/TocPlugin.svelte.d.ts +4 -6
- package/dist/plugins/toc/toc.d.ts +41 -10
- package/dist/plugins/toc/toc.js +2 -3
- package/dist/plugins/toolbar/ToolbarController.svelte.d.ts +4 -68
- package/dist/plugins/toolbar/ToolbarController.svelte.js +63 -89
- package/dist/plugins/toolbar/toolbarPlugin.d.ts +8 -18
- package/dist/plugins/toolbar/toolbarPlugin.js +28 -43
- package/dist/plugins/triggers/TriggerController.svelte.d.ts +4 -68
- package/dist/plugins/triggers/TriggerController.svelte.js +48 -129
- package/dist/plugins/triggers/place.d.ts +0 -9
- package/dist/plugins/triggers/place.js +1 -17
- package/dist/plugins/triggers/triggers.d.ts +31 -9
- package/dist/plugins/triggers/triggers.js +82 -62
- package/dist/plugins/uploads.svelte.d.ts +55 -24
- package/dist/plugins/uploads.svelte.js +123 -50
- package/dist/plugins.d.ts +187 -66
- package/dist/selection/domSelection.d.ts +13 -4
- package/dist/selection/domSelection.js +110 -183
- package/dist/selection/pointer.svelte.d.ts +8 -10
- package/dist/selection/pointer.svelte.js +32 -73
- package/dist/selection/replaceSelection.d.ts +21 -22
- package/dist/selection/replaceSelection.js +60 -69
- package/dist/selection/selection.svelte.d.ts +5 -73
- package/dist/selection/selection.svelte.js +224 -542
- package/dist/selection/selection.utils.d.ts +34 -11
- package/dist/selection/selection.utils.js +128 -247
- package/dist/selection/visibility.d.ts +3 -8
- package/dist/selection/visibility.js +7 -5
- package/dist/session/announcer.svelte.d.ts +2 -1
- package/dist/session/announcer.svelte.js +7 -3
- package/dist/session/attempt.d.ts +43 -39
- package/dist/session/attempt.js +62 -55
- package/dist/session/bindings.js +117 -145
- package/dist/session/commands.d.ts +47 -22
- package/dist/session/commands.js +208 -208
- package/dist/session/composition.svelte.d.ts +2 -4
- package/dist/session/composition.svelte.js +55 -65
- package/dist/session/editing/text.d.ts +6 -0
- package/dist/session/editing/text.js +17 -3
- package/dist/session/handles.d.ts +10 -1
- package/dist/session/handles.js +28 -0
- package/dist/session/history.d.ts +0 -4
- package/dist/session/history.js +16 -21
- package/dist/session/inputRules.d.ts +6 -3
- package/dist/session/inputRules.js +78 -83
- package/dist/session/keymap.d.ts +1 -6
- package/dist/session/keymap.js +17 -20
- package/dist/session/moves.d.ts +43 -10
- package/dist/session/moves.js +101 -59
- package/dist/session/navigation.d.ts +10 -2
- package/dist/session/navigation.js +140 -172
- package/dist/session/ports.d.ts +2 -7
- package/dist/session/props.d.ts +25 -25
- package/dist/session/props.js +62 -159
- package/dist/session/selection.d.ts +4 -3
- package/dist/session/selection.js +5 -0
- package/dist/session/suggestions.svelte.d.ts +1 -1
- package/dist/session/suggestions.svelte.js +42 -47
- package/dist/session/uploads.d.ts +29 -0
- package/dist/session/uploads.js +10 -0
- package/dist/session/virtual.d.ts +3 -3
- package/dist/session/virtual.js +18 -40
- package/dist/surface/attributes.d.ts +1 -0
- package/dist/surface/attributes.js +3 -26
- package/dist/surface/cells.d.ts +5 -0
- package/dist/surface/cells.js +5 -0
- package/dist/surface/lines.d.ts +2 -2
- package/dist/surface/lines.js +1 -1
- package/dist/surface/observer.svelte.d.ts +3 -20
- package/dist/surface/observer.svelte.js +52 -72
- package/dist/surface/overlay.d.ts +41 -3
- package/dist/surface/overlay.js +92 -37
- package/dist/surface/pin.svelte.d.ts +5 -0
- package/dist/surface/pin.svelte.js +5 -0
- package/dist/surface/projector.svelte.d.ts +4 -6
- package/dist/surface/projector.svelte.js +42 -69
- package/dist/text/text.svelte.d.ts +14 -40
- package/dist/text/text.svelte.js +35 -51
- package/dist/text/wordBoundary.d.ts +19 -0
- package/dist/text/wordBoundary.js +29 -44
- package/dist/themes/notion.css +272 -106
- package/dist/utils/json.d.ts +3 -1
- package/dist/utils/json.js +52 -51
- package/dist/utils/listen.d.ts +8 -0
- package/dist/utils/listen.js +19 -0
- package/package.json +4 -5
- package/dist/block/block.utils.d.ts +0 -340
- package/dist/block/block.utils.js +0 -356
- package/dist/collaboration/history/HistoryPanel.svelte +0 -554
- package/dist/collaboration/history/HistoryPanel.svelte.d.ts +0 -7
- package/dist/collaboration/history/panel.d.ts +0 -61
- package/dist/collaboration/history/panel.js +0 -3
- package/dist/components/SuggestionRanges.svelte +0 -58
- package/dist/components/SuggestionRanges.svelte.d.ts +0 -7
- package/dist/crdt/doc/table.d.ts +0 -21
- package/dist/crdt/doc/table.js +0 -288
- package/dist/crdt/migration/generation.d.ts +0 -58
- package/dist/crdt/migration/generation.js +0 -70
- package/dist/crdt/migration/legacy-schema.d.ts +0 -61
- package/dist/crdt/migration/legacy-schema.js +0 -151
- package/dist/crdt/migration/migrate.d.ts +0 -56
- package/dist/crdt/migration/migrate.js +0 -227
- package/dist/crdt/nodes.d.ts +0 -121
- package/dist/crdt/nodes.js +0 -56
- package/dist/crdt/text/index/checks.d.ts +0 -15
- package/dist/crdt/text/index/checks.js +0 -156
- package/dist/crdt/vendor/yjs/dts/utils/EventHandler.d.ts +0 -17
- package/dist/crdt/vendor/yjs/dts/utils/RelativePosition.d.ts +0 -80
- package/dist/crdt/vendor/yjs/dts/utils/UndoManager.d.ts +0 -205
- package/dist/crdt/vendor/yjs/dts/utils/YEvent.d.ts +0 -93
- package/dist/crdt/vendor/yjs/dts/utils/meta.d.ts +0 -25
- package/dist/crdt/vendor/yjs/dts/utils/renderer-helpers.d.ts +0 -98
- package/dist/crdt/vendor/yjs/dts/utils/schemas.d.ts +0 -2
- package/dist/crdt/vendor/yjs/src/utils/EventHandler.js +0 -75
- package/dist/crdt/vendor/yjs/src/utils/RelativePosition.js +0 -301
- package/dist/crdt/vendor/yjs/src/utils/UndoManager.js +0 -554
- package/dist/crdt/vendor/yjs/src/utils/YEvent.js +0 -158
- package/dist/crdt/vendor/yjs/src/utils/meta.js +0 -74
- package/dist/crdt/vendor/yjs/src/utils/renderer-helpers.js +0 -186
- package/dist/crdt/vendor/yjs/src/utils/schemas.js +0 -3
- package/dist/edytor.utils.d.ts +0 -50
- package/dist/edytor.utils.js +0 -67
- package/dist/plugins/blockMenu/BlockMenu.svelte +0 -335
- package/dist/plugins/blockMenu/BlockMenu.svelte.d.ts +0 -9
- package/dist/plugins/find/FindBar.svelte +0 -170
- package/dist/plugins/find/FindBar.svelte.d.ts +0 -9
- package/dist/plugins/find/FindHighlights.svelte +0 -75
- package/dist/plugins/find/FindHighlights.svelte.d.ts +0 -9
- package/dist/plugins/icons.d.ts +0 -2
- package/dist/plugins/icons.js +0 -63
- package/dist/plugins/image/ImageEmpty.svelte +0 -93
- package/dist/plugins/image/ImageEmpty.svelte.d.ts +0 -15
- package/dist/plugins/image/empty.svelte.d.ts +0 -56
- package/dist/plugins/image/empty.svelte.js +0 -83
- package/dist/plugins/keepInView.d.ts +0 -4
- package/dist/plugins/keepInView.js +0 -6
- package/dist/plugins/media/UrlPasteMenu.svelte +0 -92
- package/dist/plugins/media/UrlPasteMenu.svelte.d.ts +0 -9
- package/dist/plugins/richtext/CalloutIconMenu.svelte +0 -98
- package/dist/plugins/richtext/CalloutIconMenu.svelte.d.ts +0 -9
- package/dist/plugins/richtext/labels.d.ts +0 -9
- package/dist/plugins/richtext/labels.js +0 -7
- package/dist/plugins/slashMenu/SlashMenu.svelte +0 -276
- package/dist/plugins/slashMenu/SlashMenu.svelte.d.ts +0 -11
- package/dist/plugins/table/dragPreview.d.ts +0 -29
- package/dist/plugins/table/dragPreview.js +0 -103
- package/dist/plugins/toolbar/LinkCard.svelte +0 -122
- package/dist/plugins/toolbar/LinkCard.svelte.d.ts +0 -9
- package/dist/plugins/toolbar/Toolbar.svelte +0 -349
- package/dist/plugins/toolbar/Toolbar.svelte.d.ts +0 -9
- package/dist/plugins/triggers/TriggerMenu.svelte +0 -135
- package/dist/plugins/triggers/TriggerMenu.svelte.d.ts +0 -7
- package/dist/text/deltas.d.ts +0 -22
- package/dist/text/deltas.js +0 -46
- package/dist/text/text.utils.d.ts +0 -45
- package/dist/text/text.utils.js +0 -199
- /package/dist/{plugins/columns → dnd}/stacking.d.ts +0 -0
- /package/dist/{plugins/columns → dnd}/stacking.js +0 -0
package/dist/plugins.d.ts
CHANGED
|
@@ -1,20 +1,21 @@
|
|
|
1
1
|
import type { Snippet } from 'svelte';
|
|
2
2
|
import type { Edytor } from './edytor.svelte.js';
|
|
3
3
|
import type { Block } from './block/block.svelte.js';
|
|
4
|
+
import type { BlockMovePosition } from './session/moves.js';
|
|
4
5
|
import type { JSONBlock, JSONDoc, JSONInlineBlock, JSONText } from './utils/json.js';
|
|
5
6
|
import type { Text } from './text/text.svelte.js';
|
|
6
7
|
import type { TextTransform } from './surface/cells.js';
|
|
7
8
|
import type { SerializableContent } from './utils/json.js';
|
|
8
9
|
import type { HotKey, HotKeyCombination } from './session/keymap.js';
|
|
9
|
-
import type {
|
|
10
|
-
import type {
|
|
10
|
+
import type { DocumentWrites } from './crdt/operations.js';
|
|
11
|
+
import type { ResolvedAt } from './session/suggestions.svelte.js';
|
|
11
12
|
import type { EdytorSelection } from './selection/selection.svelte.js';
|
|
12
13
|
import type { InlineBlock } from './block/inlineBlock.svelte.js';
|
|
13
14
|
import type { DocChange, PlanEffect } from './crdt/edytor-doc.js';
|
|
14
15
|
import type { MarkEdge } from './session/editing/text.js';
|
|
15
16
|
import type { Prevent } from './utils.js';
|
|
16
|
-
import type { MenuItemPayload } from './plugins/chrome.js';
|
|
17
17
|
import type { TriggerMenuController } from './plugins/triggers/TriggerController.svelte.js';
|
|
18
|
+
import type { KindUpload } from './plugins/uploads.svelte.js';
|
|
18
19
|
/** What a placeholder function receives: the empty block's declared values. */
|
|
19
20
|
export type PlaceholderView = {
|
|
20
21
|
type: string;
|
|
@@ -22,8 +23,8 @@ export type PlaceholderView = {
|
|
|
22
23
|
focused: boolean;
|
|
23
24
|
empty: boolean;
|
|
24
25
|
};
|
|
25
|
-
/** An empty block's placeholder text: one string, or one per block (`null`: none). */
|
|
26
|
-
export type Placeholder = string | ((view: PlaceholderView) => string | null);
|
|
26
|
+
/** An empty block's placeholder text: one string, or one per block of the view (`null`: none). */
|
|
27
|
+
export type Placeholder = string | ((view: PlaceholderView, edytor: Edytor) => string | null);
|
|
27
28
|
/**
|
|
28
29
|
* Represents the payload for mark snippets with generic serializable content.
|
|
29
30
|
* @template D - The type of serializable content
|
|
@@ -42,12 +43,17 @@ export type { Prevent };
|
|
|
42
43
|
export type BlockView<D = Record<string, any>> = {
|
|
43
44
|
readonly id: string;
|
|
44
45
|
readonly type: string;
|
|
46
|
+
/**
|
|
47
|
+
* The block's data as plain state (`block.data`): reactive at any depth,
|
|
48
|
+
* and writable, each write a dispatched `patchData`. In a suggestion's
|
|
49
|
+
* preview it is a copy: a write there changes nothing.
|
|
50
|
+
*/
|
|
45
51
|
readonly data: D;
|
|
46
52
|
readonly selected: boolean;
|
|
47
53
|
readonly focused: boolean;
|
|
48
54
|
/**
|
|
49
|
-
* The block's id-only handle (its getters, reactive in a
|
|
50
|
-
*
|
|
55
|
+
* The block's id-only, read-only handle (its getters, reactive in a
|
|
56
|
+
* template); `undefined` in a suggestion's preview, which is no block
|
|
51
57
|
* of the document.
|
|
52
58
|
*/
|
|
53
59
|
readonly handle: Block | undefined;
|
|
@@ -69,11 +75,119 @@ export type BlockSnippetPayload<D = Record<string, any>> = {
|
|
|
69
75
|
children: Snippet | null;
|
|
70
76
|
};
|
|
71
77
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
78
|
+
* The view's commands that are no single document write, each one prepared
|
|
79
|
+
* plan of them, with their payloads: a hook sees each by its name, then its
|
|
80
|
+
* planned steps as the writes they perform.
|
|
74
81
|
*/
|
|
75
|
-
export
|
|
82
|
+
export interface Commands {
|
|
83
|
+
/** A suggestion placed in the document (`edytor.suggestions`, `suggestion.accept()`). */
|
|
84
|
+
acceptSuggestion: {
|
|
85
|
+
suggestion: {
|
|
86
|
+
id: string;
|
|
87
|
+
at: ResolvedAt;
|
|
88
|
+
content: readonly JSONBlock[];
|
|
89
|
+
};
|
|
90
|
+
};
|
|
91
|
+
/**
|
|
92
|
+
* Find and replace (`plugins/find`): each match's text replaced by
|
|
93
|
+
* `replacement`, one plan, one undo step.
|
|
94
|
+
*/
|
|
95
|
+
replaceMatches: {
|
|
96
|
+
matches: {
|
|
97
|
+
block: string;
|
|
98
|
+
offset: number;
|
|
99
|
+
length: number;
|
|
100
|
+
}[];
|
|
101
|
+
replacement: string;
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* A comment thread's anchor (`plugins/comments`): its `comment:<thread>`
|
|
105
|
+
* mark over each run of the text it was made on, one plan, one undo step.
|
|
106
|
+
*/
|
|
107
|
+
addComment: {
|
|
108
|
+
thread: string;
|
|
109
|
+
runs: {
|
|
110
|
+
block: string;
|
|
111
|
+
offset: number;
|
|
112
|
+
length: number;
|
|
113
|
+
}[];
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* A text range dragged inside the editor and dropped at `to` (block
|
|
117
|
+
* offsets): its content placed at `to`, then the range deleted — or,
|
|
118
|
+
* with `copy` (Alt), only placed. Both are prepared before any write:
|
|
119
|
+
* hooks see the placement's planned steps and the deletion's, and a
|
|
120
|
+
* veto or a refusal of either writes nothing.
|
|
121
|
+
*/
|
|
122
|
+
moveText: {
|
|
123
|
+
from: {
|
|
124
|
+
start: {
|
|
125
|
+
block: string;
|
|
126
|
+
offset: number;
|
|
127
|
+
};
|
|
128
|
+
end: {
|
|
129
|
+
block: string;
|
|
130
|
+
offset: number;
|
|
131
|
+
};
|
|
132
|
+
};
|
|
133
|
+
to: {
|
|
134
|
+
block: string;
|
|
135
|
+
offset: number;
|
|
136
|
+
};
|
|
137
|
+
copy: boolean;
|
|
138
|
+
};
|
|
139
|
+
/**
|
|
140
|
+
* A closing marker typed after marked-up text (`**bold**`): the mark
|
|
141
|
+
* set, the markers removed; `value` typed at `start` of the text.
|
|
142
|
+
*/
|
|
143
|
+
inlineMarkdown: {
|
|
144
|
+
value: string;
|
|
145
|
+
start: number;
|
|
146
|
+
end: number;
|
|
147
|
+
};
|
|
148
|
+
/** A divider at the caret: its steps are the conversion, insertion or split it plans. */
|
|
149
|
+
insertDivider: Record<string, never>;
|
|
150
|
+
/** A table's row at `index`, one empty cell per column (`table.insert-row`). */
|
|
151
|
+
insertTableRow: {
|
|
152
|
+
index: number;
|
|
153
|
+
};
|
|
154
|
+
/** A table's rows, with their cells (`table.delete-row`). */
|
|
155
|
+
deleteTableRows: {
|
|
156
|
+
rows: Block[];
|
|
157
|
+
};
|
|
158
|
+
/** A table's column at `index`, an empty cell in every row (`table.insert-column`). */
|
|
159
|
+
insertTableColumn: {
|
|
160
|
+
index: number;
|
|
161
|
+
width?: number;
|
|
162
|
+
};
|
|
163
|
+
/** A table's column, by id or position, with its cells (`table.delete-column`). */
|
|
164
|
+
deleteTableColumn: {
|
|
165
|
+
column: string | number;
|
|
166
|
+
};
|
|
167
|
+
/** A table's column moved to position `to` (`table.move-column`). */
|
|
168
|
+
moveTableColumn: {
|
|
169
|
+
column: string | number;
|
|
170
|
+
to: number;
|
|
171
|
+
};
|
|
172
|
+
/** A table's rows moved to position `to` among its rows (`table.move-row`). */
|
|
173
|
+
moveTableRows: {
|
|
174
|
+
rows: Block[];
|
|
175
|
+
to: number;
|
|
176
|
+
};
|
|
177
|
+
/** The cell a row shows none of in `column`, created (`table.pad`). */
|
|
178
|
+
fillTableCell: {
|
|
179
|
+
row: string;
|
|
180
|
+
column: string | number;
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
/** A change a hook sees: its operation, its payload, the block (and text) it is about. */
|
|
184
|
+
type Change<K, P> = {
|
|
185
|
+
operation: K;
|
|
186
|
+
payload: P;
|
|
187
|
+
/** The block the operation names first (the root for none). */
|
|
76
188
|
block: Block;
|
|
189
|
+
/** The text segment at the offset a text write names. */
|
|
190
|
+
text?: Text;
|
|
77
191
|
/**
|
|
78
192
|
* Veto the operation (and, with `cb`, run that in its place): records the
|
|
79
193
|
* veto and returns, so the hook runs to its end; the first call decides.
|
|
@@ -81,21 +195,22 @@ export type ChangePayload = {
|
|
|
81
195
|
prevent: Prevent;
|
|
82
196
|
/**
|
|
83
197
|
* The prepared command's effect (blocks created, removed, merged, moved,
|
|
84
|
-
* retyped, text ranges written)
|
|
198
|
+
* retyped, text ranges written) — a hook can refuse a command by what it
|
|
199
|
+
* would do. Its planned steps are shown after it, each as the write it
|
|
200
|
+
* performs.
|
|
85
201
|
*/
|
|
86
202
|
effect?: PlanEffect;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
[K in keyof
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
}[keyof BlockOperations]);
|
|
203
|
+
};
|
|
204
|
+
/**
|
|
205
|
+
* What `onBeforeOperation` receives: a document write under its name with
|
|
206
|
+
* its arguments (`payload`: `Parameters<DocumentWrites[K]>`), or a view
|
|
207
|
+
* command with its payload (`Commands`); `operation` narrows `payload`.
|
|
208
|
+
*/
|
|
209
|
+
export type ChangePayload = {
|
|
210
|
+
[K in keyof DocumentWrites]: Change<K, Parameters<DocumentWrites[K]>>;
|
|
211
|
+
}[keyof DocumentWrites] | {
|
|
212
|
+
[K in keyof Commands]: Change<K, Commands[K]>;
|
|
213
|
+
}[keyof Commands];
|
|
99
214
|
/**
|
|
100
215
|
* What `onAfterOperation` receives: a {@link ChangePayload} without
|
|
101
216
|
* `prevent` (the operation already ran). The `Omit` distributes over the
|
|
@@ -132,7 +247,10 @@ export type TextRuleContext = {
|
|
|
132
247
|
};
|
|
133
248
|
/** What an input rule's `replace` receives besides the match. */
|
|
134
249
|
export type InputRuleContext = TextRuleContext & {
|
|
135
|
-
/**
|
|
250
|
+
/**
|
|
251
|
+
* The typed text that completed the match: the end of the match, already
|
|
252
|
+
* in the document as its own undo step (`to` is after it).
|
|
253
|
+
*/
|
|
136
254
|
typed: string;
|
|
137
255
|
/**
|
|
138
256
|
* Remove the matched text (`from` to `to`) in the same plan as the first
|
|
@@ -158,13 +276,14 @@ export type InputRule = {
|
|
|
158
276
|
*/
|
|
159
277
|
find: RegExp;
|
|
160
278
|
/**
|
|
161
|
-
* The replacement
|
|
162
|
-
*
|
|
163
|
-
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
166
|
-
*
|
|
167
|
-
*
|
|
279
|
+
* The replacement, run once the typed text is in the document (its own
|
|
280
|
+
* undo step, so the first undo gives the typed text back). Return a
|
|
281
|
+
* string to replace the whole match with it (one command and one undo
|
|
282
|
+
* step with the matched text's removal; the caret after it), or write it
|
|
283
|
+
* yourself and return `true`, usually through `ctx.remove(() => …)`.
|
|
284
|
+
* Return `false` or `null`, writing nothing, to decline: the next rule is
|
|
285
|
+
* asked, and the typed text stays as typed, as it does when the
|
|
286
|
+
* replacement is refused (by the document, readonly or a plugin's veto).
|
|
168
287
|
*/
|
|
169
288
|
replace: (match: RegExpExecArray, ctx: InputRuleContext) => string | boolean | null | void;
|
|
170
289
|
};
|
|
@@ -173,15 +292,6 @@ export type TriggerContext = TextRuleContext & {
|
|
|
173
292
|
/** The text typed after the trigger's `char`. */
|
|
174
293
|
query: string;
|
|
175
294
|
};
|
|
176
|
-
/**
|
|
177
|
-
* One row of a trigger's menu, for an `item` snippet: the row shape every
|
|
178
|
-
* menu shares (`label` is `label(item)`; set `id`, or spread `option`, so
|
|
179
|
-
* the editor names the highlighted row), and `pick`, the same as `run`.
|
|
180
|
-
*/
|
|
181
|
-
export type TriggerItemPayload<T = unknown> = MenuItemPayload<T> & {
|
|
182
|
-
/** Pick it (the same as `run`). */
|
|
183
|
-
pick: () => void;
|
|
184
|
-
};
|
|
185
295
|
/**
|
|
186
296
|
* A character typed at a text's start or after whitespace opens a menu at
|
|
187
297
|
* the caret (`@` for people, `[[` for pages); the text typed after it is
|
|
@@ -192,6 +302,11 @@ export type TriggerItemPayload<T = unknown> = MenuItemPayload<T> & {
|
|
|
192
302
|
export type Trigger<T = any> = {
|
|
193
303
|
/** The text that opens the menu (one or two characters: `@`, `[[`). */
|
|
194
304
|
char: string;
|
|
305
|
+
/**
|
|
306
|
+
* The menu's name, read by its markup as `controller.trigger.name` (the
|
|
307
|
+
* mention plugin's `kind`: one menu snippet can serve several triggers).
|
|
308
|
+
*/
|
|
309
|
+
name?: string;
|
|
195
310
|
/** The rows for `query`, at once or as a promise (a search); the newest query wins. */
|
|
196
311
|
items: (query: string, ctx: TriggerContext) => readonly T[] | Promise<readonly T[]>;
|
|
197
312
|
/**
|
|
@@ -205,21 +320,13 @@ export type Trigger<T = any> = {
|
|
|
205
320
|
label?: (item: T) => string;
|
|
206
321
|
/** A row's key, which keeps its markup across queries: default its `id`, else its label. Two rows may share one. */
|
|
207
322
|
key?: (item: T) => string;
|
|
208
|
-
/** Replace each row's markup. */
|
|
209
|
-
item?: Snippet<[TriggerItemPayload<T>]>;
|
|
210
323
|
/**
|
|
211
|
-
*
|
|
212
|
-
* the caret. Its keys stay the
|
|
213
|
-
*
|
|
214
|
-
* each row.
|
|
324
|
+
* The menu's markup and its words; it renders while `controller.isOpen`,
|
|
325
|
+
* placed at the caret (without it, nothing shows). Its keys stay the
|
|
326
|
+
* editor's; keep its ARIA with `{@attach controller.popup}` on the list
|
|
327
|
+
* (name it with `aria-label`) and `{...controller.option(index)}` on each row.
|
|
215
328
|
*/
|
|
216
329
|
menu?: Snippet<[TriggerMenuController<T>]>;
|
|
217
|
-
/** The menu's accessible name (default: the view's `labels.triggerMenu`, `Suggestions`). */
|
|
218
|
-
name?: string;
|
|
219
|
-
/** The text shown when no row matches (default: the view's `labels.noResults`, `No results`). */
|
|
220
|
-
empty?: string;
|
|
221
|
-
/** The text shown while a search is pending and no row is shown (default: the view's `labels.searching`, `Searching…`). */
|
|
222
|
-
searching?: string;
|
|
223
330
|
/** Whether the menu may open in `block` (default: a block that is not void and not in a code block). */
|
|
224
331
|
enabled?: (block: Block) => boolean;
|
|
225
332
|
};
|
|
@@ -232,10 +339,6 @@ export type PluginDefinitions = {
|
|
|
232
339
|
inlineBlocks?: Record<string, InlineBlockDefinition | Snippet<[InlineBlockSnippetPayload<any>]>>;
|
|
233
340
|
hotkeys?: Partial<Record<HotKeyCombination, HotKey>>;
|
|
234
341
|
commands?: EditorCommand[];
|
|
235
|
-
/** Text typed at the caret that a rule replaces (markdown, `:smile:` → 😄). */
|
|
236
|
-
inputRules?: InputRule[];
|
|
237
|
-
/** Characters that open a menu of rows at the caret (`@` mentions). */
|
|
238
|
-
triggers?: Trigger[];
|
|
239
342
|
};
|
|
240
343
|
/**
|
|
241
344
|
* Plugin factory function type that creates plugin definitions and operations.
|
|
@@ -248,9 +351,8 @@ export type PluginOperations = {
|
|
|
248
351
|
/** Called before an operation is executed */
|
|
249
352
|
onBeforeOperation?: <C extends ChangePayload>(payload: C) => C['payload'] | void;
|
|
250
353
|
/**
|
|
251
|
-
* Called after an operation is executed: `dispatcher.last.status` is set
|
|
252
|
-
*
|
|
253
|
-
* hook); `operation` narrows `payload`.
|
|
354
|
+
* Called after an operation is executed: `dispatcher.last.status` is set;
|
|
355
|
+
* `operation` narrows `payload`.
|
|
254
356
|
*/
|
|
255
357
|
onAfterOperation?: (payload: AfterOperationPayload) => void;
|
|
256
358
|
/** Called when the editor value changes: the same `JSONDoc` shape `<Edytor value>` takes. */
|
|
@@ -310,10 +412,18 @@ export type PluginOperations = {
|
|
|
310
412
|
prevent: Prevent;
|
|
311
413
|
e: ClipboardEvent;
|
|
312
414
|
}) => void;
|
|
313
|
-
/**
|
|
415
|
+
/**
|
|
416
|
+
* Called when a paste event is detected, and for a drop (its data as the
|
|
417
|
+
* clipboard's). `at`: where files dropped from outside land, the drop
|
|
418
|
+
* indicator's placement (beside, before, after or inside `block`).
|
|
419
|
+
*/
|
|
314
420
|
onPaste?: (payload: {
|
|
315
421
|
prevent: Prevent;
|
|
316
422
|
e: ClipboardEvent;
|
|
423
|
+
at?: {
|
|
424
|
+
block: string;
|
|
425
|
+
position: BlockMovePosition;
|
|
426
|
+
};
|
|
317
427
|
}) => void;
|
|
318
428
|
};
|
|
319
429
|
/**
|
|
@@ -405,6 +515,14 @@ export type BlockDefinition = {
|
|
|
405
515
|
* Adopted by the document; checked in development against the snippet.
|
|
406
516
|
*/
|
|
407
517
|
rendersContent?: boolean;
|
|
518
|
+
/**
|
|
519
|
+
* The files the kind takes (the image's `image/*`, the file block's any)
|
|
520
|
+
* and who sends them (`send`: the media plugins set it from their
|
|
521
|
+
* `upload` option): an empty block's Upload sends one, and a pasted or
|
|
522
|
+
* dropped file becomes a block of this kind (`media.files`). A kind
|
|
523
|
+
* without it takes no files.
|
|
524
|
+
*/
|
|
525
|
+
upload?: KindUpload;
|
|
408
526
|
/**
|
|
409
527
|
* A list-like kind (Notion's bullets, numbers, to-dos, toggles): Enter at
|
|
410
528
|
* the start or end of a non-empty block opens another block of this kind
|
|
@@ -494,17 +612,19 @@ export type BlockDefinition = {
|
|
|
494
612
|
block: Block;
|
|
495
613
|
}) => void;
|
|
496
614
|
/** Normalize block content
|
|
497
|
-
* Called at the end of the transaction of each operation
|
|
498
|
-
* block is an id-only handle whose reads show the
|
|
499
|
-
* If you return a function, it runs in the same
|
|
615
|
+
* Called at the end of the transaction of each operation that wrote the
|
|
616
|
+
* block's content: the block is an id-only handle whose reads show the
|
|
617
|
+
* operation's writes. If you return a function, it runs in the same
|
|
618
|
+
* transaction (its writes are the view's operations).
|
|
500
619
|
*/
|
|
501
620
|
normalizeContent?: (payload: {
|
|
502
621
|
block: Block;
|
|
503
622
|
}) => (() => void) | void;
|
|
504
623
|
/** Normalize block children
|
|
505
|
-
* Called at the end of the transaction of each operation
|
|
506
|
-
* block is an id-only handle whose reads show the
|
|
507
|
-
* If you return a function, it runs in the same
|
|
624
|
+
* Called at the end of the transaction of each operation that changed the
|
|
625
|
+
* block's children: the block is an id-only handle whose reads show the
|
|
626
|
+
* operation's writes. If you return a function, it runs in the same
|
|
627
|
+
* transaction (its writes are the view's operations).
|
|
508
628
|
*/
|
|
509
629
|
normalizeChildren?: (payload: {
|
|
510
630
|
block: Block;
|
|
@@ -514,6 +634,7 @@ export type BlockDefinition = {
|
|
|
514
634
|
export type InlineBlockView<D = Record<string, any>> = {
|
|
515
635
|
readonly id: string;
|
|
516
636
|
readonly type: string;
|
|
637
|
+
/** The atom's data as plain state (`atom.data`), writable; a suggested atom's is a copy. */
|
|
517
638
|
readonly data: D;
|
|
518
639
|
readonly selected: boolean;
|
|
519
640
|
/** The atom's id-only handle; a suggested atom has none. */
|
|
@@ -1,13 +1,22 @@
|
|
|
1
|
-
export type DomSelectionSnapshot = Pick<Selection, 'anchorNode' | 'anchorOffset' | '
|
|
1
|
+
export type DomSelectionSnapshot = Pick<Selection, 'anchorNode' | 'anchorOffset' | 'focusNode' | 'focusOffset' | 'isCollapsed' | 'rangeCount'> & {
|
|
2
2
|
getRangeAt: (index: number) => Range;
|
|
3
|
-
nativeSelection: Selection | null;
|
|
4
|
-
type?: string;
|
|
5
3
|
};
|
|
6
4
|
export declare const getDomSelection: (node?: Node | null) => Selection | null;
|
|
7
5
|
export declare const getActiveElement: (node?: Node | null) => Element | null;
|
|
8
6
|
export declare const clearDomSelection: (node?: Node | null) => void;
|
|
7
|
+
/**
|
|
8
|
+
* The caret point under (`x`, `y`): `caretPositionFromPoint` (Firefox,
|
|
9
|
+
* Chromium 128, Safari 26.2), else `caretRangeFromPoint` (the supported
|
|
10
|
+
* Chromium and Safari before those).
|
|
11
|
+
*/
|
|
12
|
+
export declare const caretAtPoint: (doc: Document, x: number, y: number) => {
|
|
13
|
+
node: Node;
|
|
14
|
+
offset: number;
|
|
15
|
+
} | null;
|
|
16
|
+
/** A range in `node`'s document (a node always has one). */
|
|
9
17
|
export declare const createDomRange: (node: Node) => Range;
|
|
10
|
-
|
|
18
|
+
/** A snapshot of one range, forward. */
|
|
19
|
+
export declare const createDomSelectionSnapshotFromRange: (range: Range) => DomSelectionSnapshot;
|
|
11
20
|
/**
|
|
12
21
|
* Scroll the caret into view after a programmatic selection write.
|
|
13
22
|
*
|