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/crdt/index.d.ts
CHANGED
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
* (`BlockSpec`, `Destination`, `ProjectedDoc`, `DocChange`, `JSONDoc`,
|
|
25
25
|
* …), the provider/sync contract (`EdytorSync`), `Awareness`, the
|
|
26
26
|
* admission errors a load throws, the attribution read surface
|
|
27
|
-
* (`DocumentAttribution`)
|
|
27
|
+
* (`DocumentAttribution`).
|
|
28
28
|
* - **Composition** — `bindCrdt(Y)` for consumers that inject the engine
|
|
29
|
-
* themselves (node/SSR-side provider stacks,
|
|
29
|
+
* themselves (node/SSR-side provider stacks,
|
|
30
30
|
* alternate engine instances) plus the engine typings that contract
|
|
31
31
|
* needs.
|
|
32
32
|
*
|
|
@@ -49,15 +49,14 @@ export { defaultSemantics, richTextSemantics, codeSemantics, imageSemantics, med
|
|
|
49
49
|
export { tableBlock, type TableBlockOptions } from './tables.js';
|
|
50
50
|
export { markName, type MarkEdge } from './text/marks.js';
|
|
51
51
|
export type { JSONDoc, JSONBlock, JSONText, JSONInlineBlock, SerializableContent } from '../utils/json.js';
|
|
52
|
-
/** Canonical JSON → the `BlockSpec` `facade.
|
|
52
|
+
/** Canonical JSON → the `BlockSpec` `facade.insertBlocks` takes (ids kept or minted). */
|
|
53
53
|
export { toBlockSpec } from '../utils/json.js';
|
|
54
54
|
export { type EdytorDoc, type OpResult, type Plan, type Prepared, type DocChange, type BlockRole, type OrderPolicy, type DocAnchor, type AnchorAffinity, type DataTarget } from './edytor-doc.js';
|
|
55
|
-
export { DOCUMENT_OPERATIONS, type DocumentOperations, type DocumentReads, type DocumentWrites } from './operations.js';
|
|
55
|
+
export { DOCUMENT_OPERATIONS, DOCUMENT_WRITES, type DocumentOperations, type DocumentReads, type DocumentWrites } from './operations.js';
|
|
56
56
|
export { type DataPatch } from './data.js';
|
|
57
57
|
export { type DocPosition, type RangeView } from './rangeDelete.js';
|
|
58
58
|
export { type FlowView } from './flow.js';
|
|
59
59
|
export { type BlockId, type Destination, type ContentItem, type BlockSpec, type InlineSpec, type ProjectedBlock, type ProjectedDoc } from './placement/model.js';
|
|
60
|
-
export { type DocBlock } from './nodes.js';
|
|
61
60
|
export { type ContentRun } from './text/runs.js';
|
|
62
61
|
export type { YDoc, YUndoManager, YTransaction } from './engine-api.js';
|
|
63
62
|
export { type EdytorSync, type EdytorSyncPayload, type EdytorSyncCleanup, type IndexeddbSyncOptions, type WebsocketSync, type WebsocketSyncOptions, type ProviderStack, type PrefetchOptions, type PrefetchResult, type LastUpdatedOptions } from './providers/index.js';
|
|
@@ -66,10 +65,9 @@ export { Awareness, type AwarenessDoc, type AwarenessStates, type AwarenessUpdat
|
|
|
66
65
|
export { SchemaMismatchError, UndecodableUpdateError, UnsupportedDocError } from './admission.js';
|
|
67
66
|
export { type DocumentAttribution, type AttributionActor, type ActorProfile, type AttributionController } from './attribution/index.js';
|
|
68
67
|
export { type ActorId, type BlockAttribution } from './attribution/index.js';
|
|
69
|
-
export { isLegacyDoc } from './migration/legacy-schema.js';
|
|
70
|
-
export { type Migration, type MigrationStatus, type MigrationRecord, type MigrationPhase, type MigrateResult, type MigrateOptions } from './migration/migrate.js';
|
|
71
68
|
import type { EngineApi, YDoc } from './engine-api.js';
|
|
72
69
|
import { Awareness as _Awareness } from './protocols/awareness.js';
|
|
70
|
+
import { type PrefetchOptions } from './providers/index.js';
|
|
73
71
|
export declare const bindCrdt: (Y: EngineApi) => {
|
|
74
72
|
/** Create a v14 edytor document — `new Y.Doc(opts)` on the bound engine, with the document's rules (`doc.newDoc`). */
|
|
75
73
|
createDoc: (opts?: ConstructorParameters<EngineApi["Doc"]>[0]) => YDoc;
|
|
@@ -77,7 +75,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
77
75
|
Awareness: typeof _Awareness;
|
|
78
76
|
doc: {
|
|
79
77
|
SCHEMA: {
|
|
80
|
-
readonly version:
|
|
78
|
+
readonly version: 6;
|
|
81
79
|
readonly name: "edytor-doc";
|
|
82
80
|
readonly roots: {
|
|
83
81
|
readonly registry: "blocks";
|
|
@@ -88,7 +86,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
88
86
|
readonly schema: "schema";
|
|
89
87
|
};
|
|
90
88
|
};
|
|
91
|
-
SCHEMA_VERSION:
|
|
89
|
+
SCHEMA_VERSION: 6;
|
|
92
90
|
SCHEMA_NAME: "edytor-doc";
|
|
93
91
|
META_KEY: "meta";
|
|
94
92
|
init: (doc: import("./engine-api.js").EngineDoc, opts?: {
|
|
@@ -108,17 +106,8 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
108
106
|
insertFlow: (target: import("./flow.js").FlowTarget, flow: import("./flow.js").Flow, view?: import("./flow.js").FlowView) => import("./edytor-doc.js").Prepared;
|
|
109
107
|
deleteRange: (from: import("./rangeDelete.js").DocPosition, to: import("./rangeDelete.js").DocPosition, view?: import("./rangeDelete.js").RangeView) => import("./edytor-doc.js").Prepared;
|
|
110
108
|
replaceRange: (from: import("./rangeDelete.js").DocPosition, to: import("./rangeDelete.js").DocPosition, view?: import("./rangeDelete.js").RangeView) => import("./edytor-doc.js").Prepared;
|
|
111
|
-
insertTableRow: (table: import("./index.js").BlockId, index: number) => import("./edytor-doc.js").Prepared;
|
|
112
|
-
deleteTableRows: (rows: readonly import("./index.js").BlockId[]) => import("./edytor-doc.js").Prepared;
|
|
113
|
-
insertTableColumn: (table: import("./index.js").BlockId, index: number, width?: number) => import("./edytor-doc.js").Prepared;
|
|
114
|
-
deleteTableColumn: (table: import("./index.js").BlockId, column: string | number) => import("./edytor-doc.js").Prepared;
|
|
115
|
-
moveTableColumn: (table: import("./index.js").BlockId, column: string | number, to: number) => import("./edytor-doc.js").Prepared;
|
|
116
|
-
moveTableRows: (rows: readonly import("./index.js").BlockId[], to: number) => import("./edytor-doc.js").Prepared;
|
|
117
|
-
fillTableCell: (row: import("./index.js").BlockId, column: string | number) => import("./edytor-doc.js").Prepared;
|
|
118
109
|
insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").BlockSpec | import("./index.js").JSONBlock)[]) => import("./edytor-doc.js").Prepared;
|
|
119
|
-
insertBlock: (dest: import("./index.js").Destination, spec: import("./index.js").BlockSpec | import("./index.js").JSONBlock) => import("./edytor-doc.js").Prepared;
|
|
120
110
|
moveBlocks: (ids: readonly import("./index.js").BlockId[], dest: import("./index.js").Destination) => import("./edytor-doc.js").Prepared;
|
|
121
|
-
moveBlock: (id: import("./index.js").BlockId, dest: import("./index.js").Destination) => import("./edytor-doc.js").Prepared;
|
|
122
111
|
nestBlock: (id: import("./index.js").BlockId, parent: import("./index.js").BlockId) => import("./edytor-doc.js").Prepared;
|
|
123
112
|
unNestBlock: (id: import("./index.js").BlockId) => import("./edytor-doc.js").Prepared;
|
|
124
113
|
unNestBlocks: (ids: readonly import("./index.js").BlockId[]) => import("./edytor-doc.js").Prepared;
|
|
@@ -138,22 +127,18 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
138
127
|
setBlock: (id: import("./index.js").BlockId, value: {
|
|
139
128
|
type?: string;
|
|
140
129
|
data?: Record<string, unknown>;
|
|
141
|
-
content?: import("./index.js").ContentItem[];
|
|
142
|
-
children?: import("./index.js").BlockSpec[];
|
|
130
|
+
content?: (import("./index.js").ContentItem | import("./index.js").JSONText | import("./index.js").JSONInlineBlock)[];
|
|
131
|
+
children?: (import("./index.js").BlockSpec | import("./index.js").JSONBlock)[];
|
|
143
132
|
}) => import("./edytor-doc.js").Prepared;
|
|
144
133
|
setBlockType: (id: import("./index.js").BlockId, type: string) => import("./edytor-doc.js").Prepared;
|
|
145
134
|
patchData: (target: import("./edytor-doc.js").DataTarget, patches: readonly import("./data.js").DataPatch[]) => import("./edytor-doc.js").Prepared;
|
|
146
|
-
|
|
147
|
-
duplicateBlock: (id: import("./index.js").BlockId, freshId: (oldId: string, kind: "block" | "inline") => string) => import("./edytor-doc.js").Prepared;
|
|
135
|
+
duplicateBlock: (id: import("./index.js").BlockId, freshId?: (oldId: string, kind: "block" | "inline") => string) => import("./edytor-doc.js").Prepared;
|
|
148
136
|
insertText: (id: import("./index.js").BlockId, offset: number, text: string, marks?: Record<string, unknown>) => import("./edytor-doc.js").Prepared;
|
|
149
137
|
deleteText: (id: import("./index.js").BlockId, offset: number, length: number) => import("./edytor-doc.js").Prepared;
|
|
150
138
|
formatRange: (id: import("./index.js").BlockId, offset: number, length: number, marks: Record<string, unknown>) => import("./edytor-doc.js").Prepared;
|
|
151
|
-
setMark: (id: import("./index.js").BlockId, offset: number, length: number, name: string, value: unknown) => import("./edytor-doc.js").Prepared;
|
|
152
|
-
unsetMark: (id: import("./index.js").BlockId, offset: number, length: number, name: string) => import("./edytor-doc.js").Prepared;
|
|
153
139
|
clearMarks: (id: import("./index.js").BlockId, offset: number, length: number) => import("./edytor-doc.js").Prepared;
|
|
154
|
-
insertInline: (id: import("./index.js").BlockId, offset: number, atom: import("./
|
|
140
|
+
insertInline: (id: import("./index.js").BlockId, offset: number, atom: import("./doc/content.js").NewInline) => import("./edytor-doc.js").Prepared;
|
|
155
141
|
removeInline: (id: import("./index.js").BlockId, inlineId: string) => import("./edytor-doc.js").Prepared;
|
|
156
|
-
setInlineData: (id: import("./index.js").BlockId, inlineId: string, data: Record<string, unknown>) => import("./edytor-doc.js").Prepared;
|
|
157
142
|
deleteBlocks: (ids: readonly import("./index.js").BlockId[]) => import("./edytor-doc.js").Prepared;
|
|
158
143
|
};
|
|
159
144
|
apply: (p: import("./edytor-doc.js").Prepared) => import("./edytor-doc.js").OpResult;
|
|
@@ -178,7 +163,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
178
163
|
writePlacement: (doc: import("./engine-api.js").EngineDoc, node: import("./engine-api.js").EngineNode, p: import("./index.js").BlockId | null, r: string) => void;
|
|
179
164
|
withdrawOnUndo: (doc: import("./engine-api.js").EngineDoc) => (item: import("./engine-api.js").EngineItemRef, stackItem: {
|
|
180
165
|
inserts: {
|
|
181
|
-
|
|
166
|
+
has(client: number, clock: number): boolean;
|
|
182
167
|
};
|
|
183
168
|
}) => boolean;
|
|
184
169
|
materializeSpec: (doc: import("./engine-api.js").EngineDoc, sp: import("./index.js").BlockSpec, parent: import("./index.js").BlockId | null, rank: string) => void;
|
|
@@ -228,21 +213,11 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
228
213
|
};
|
|
229
214
|
runsView: import("./text/runs.js").RunView;
|
|
230
215
|
version: number;
|
|
231
|
-
block: (id: import("./index.js").BlockId) => import("./nodes.js").DocBlock;
|
|
232
216
|
insertFlow: (target: import("./flow.js").FlowTarget, flow: import("./flow.js").Flow, view?: import("./flow.js").FlowView | undefined) => import("./edytor-doc.js").OpResult;
|
|
233
217
|
deleteRange: (from: import("./rangeDelete.js").DocPosition, to: import("./rangeDelete.js").DocPosition, view?: import("./rangeDelete.js").RangeView | undefined) => import("./edytor-doc.js").OpResult;
|
|
234
218
|
replaceRange: (from: import("./rangeDelete.js").DocPosition, to: import("./rangeDelete.js").DocPosition, view?: import("./rangeDelete.js").RangeView | undefined) => import("./edytor-doc.js").OpResult;
|
|
235
|
-
|
|
236
|
-
deleteTableRows: (rows: readonly string[]) => import("./edytor-doc.js").OpResult;
|
|
237
|
-
insertTableColumn: (table: string, index: number, width?: number | undefined) => import("./edytor-doc.js").OpResult;
|
|
238
|
-
deleteTableColumn: (table: string, column: string | number) => import("./edytor-doc.js").OpResult;
|
|
239
|
-
moveTableColumn: (table: string, column: string | number, to: number) => import("./edytor-doc.js").OpResult;
|
|
240
|
-
moveTableRows: (rows: readonly string[], to: number) => import("./edytor-doc.js").OpResult;
|
|
241
|
-
fillTableCell: (row: string, column: string | number) => import("./edytor-doc.js").OpResult;
|
|
242
|
-
insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").JSONBlock | import("./index.js").BlockSpec)[]) => import("./edytor-doc.js").OpResult;
|
|
243
|
-
insertBlock: (dest: import("./index.js").Destination, spec: import("./index.js").JSONBlock | import("./index.js").BlockSpec) => import("./edytor-doc.js").OpResult;
|
|
219
|
+
insertBlocks: (dest: import("./index.js").Destination, specs: readonly (import("./index.js").BlockSpec | import("./index.js").JSONBlock)[]) => import("./edytor-doc.js").OpResult;
|
|
244
220
|
moveBlocks: (ids: readonly string[], dest: import("./index.js").Destination) => import("./edytor-doc.js").OpResult;
|
|
245
|
-
moveBlock: (id: string, dest: import("./index.js").Destination) => import("./edytor-doc.js").OpResult;
|
|
246
221
|
nestBlock: (id: string, parent: string) => import("./edytor-doc.js").OpResult;
|
|
247
222
|
unNestBlock: (id: string) => import("./edytor-doc.js").OpResult;
|
|
248
223
|
unNestBlocks: (ids: readonly string[]) => import("./edytor-doc.js").OpResult;
|
|
@@ -262,22 +237,18 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
262
237
|
setBlock: (id: string, value: {
|
|
263
238
|
type?: string;
|
|
264
239
|
data?: Record<string, unknown>;
|
|
265
|
-
content?: import("./index.js").ContentItem[];
|
|
266
|
-
children?: import("./index.js").BlockSpec[];
|
|
240
|
+
content?: (import("./index.js").ContentItem | import("./index.js").JSONText | import("./index.js").JSONInlineBlock)[];
|
|
241
|
+
children?: (import("./index.js").BlockSpec | import("./index.js").JSONBlock)[];
|
|
267
242
|
}) => import("./edytor-doc.js").OpResult;
|
|
268
243
|
setBlockType: (id: string, type: string) => import("./edytor-doc.js").OpResult;
|
|
269
244
|
patchData: (target: import("./edytor-doc.js").DataTarget, patches: readonly import("./data.js").DataPatch[]) => import("./edytor-doc.js").OpResult;
|
|
270
|
-
|
|
271
|
-
duplicateBlock: (id: string, freshId: (oldId: string, kind: "block" | "inline") => string) => import("./edytor-doc.js").OpResult;
|
|
245
|
+
duplicateBlock: (id: string, freshId?: ((oldId: string, kind: "block" | "inline") => string) | undefined) => import("./edytor-doc.js").OpResult;
|
|
272
246
|
insertText: (id: string, offset: number, text: string, marks?: Record<string, unknown> | undefined) => import("./edytor-doc.js").OpResult;
|
|
273
247
|
deleteText: (id: string, offset: number, length: number) => import("./edytor-doc.js").OpResult;
|
|
274
248
|
formatRange: (id: string, offset: number, length: number, marks: Record<string, unknown>) => import("./edytor-doc.js").OpResult;
|
|
275
|
-
setMark: (id: string, offset: number, length: number, name: string, value: unknown) => import("./edytor-doc.js").OpResult;
|
|
276
|
-
unsetMark: (id: string, offset: number, length: number, name: string) => import("./edytor-doc.js").OpResult;
|
|
277
249
|
clearMarks: (id: string, offset: number, length: number) => import("./edytor-doc.js").OpResult;
|
|
278
|
-
insertInline: (id: string, offset: number, atom: import("./
|
|
250
|
+
insertInline: (id: string, offset: number, atom: import("./doc/content.js").NewInline) => import("./edytor-doc.js").OpResult;
|
|
279
251
|
removeInline: (id: string, inlineId: string) => import("./edytor-doc.js").OpResult;
|
|
280
|
-
setInlineData: (id: string, inlineId: string, data: Record<string, unknown>) => import("./edytor-doc.js").OpResult;
|
|
281
252
|
deleteBlocks: (ids: readonly string[]) => import("./edytor-doc.js").OpResult;
|
|
282
253
|
init: (opts?: Parameters<(doc: import("./engine-api.js").EngineDoc, opts?: {
|
|
283
254
|
content?: import("./index.js").BlockSpec[];
|
|
@@ -289,10 +260,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
289
260
|
checkSchema: () => import("./edytor-doc.js").SchemaProblem | null;
|
|
290
261
|
assertSchema: () => void;
|
|
291
262
|
dispose: () => void;
|
|
292
|
-
createUndoManager: (options?:
|
|
293
|
-
limit?: number;
|
|
294
|
-
}) => import("./engine-api.js").YUndoManager;
|
|
295
|
-
releaseHistory: (um: import("./engine-api.js").YUndoManager) => void;
|
|
263
|
+
createUndoManager: (options?: import("./doc/history.js").HistoryOptions) => import("./doc/history.js").UndoManager;
|
|
296
264
|
project: () => import("./index.js").ProjectedDoc;
|
|
297
265
|
toJSON: () => import("./index.js").JSONDoc;
|
|
298
266
|
blockJSON: (id: string) => import("./index.js").JSONBlock;
|
|
@@ -312,6 +280,12 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
312
280
|
blockDataOf: (id: string) => Record<string, unknown> | undefined;
|
|
313
281
|
docData: () => import("./doc/types.js").JsonObj;
|
|
314
282
|
dataItemIds: (target: import("./edytor-doc.js").DataTarget, path: readonly string[]) => string[];
|
|
283
|
+
dataPreview: (target: import("./edytor-doc.js").DataTarget, pending: readonly import("./data.js").DataPatch[]) => {
|
|
284
|
+
data: {
|
|
285
|
+
[x: string]: unknown;
|
|
286
|
+
};
|
|
287
|
+
ids: (path: readonly string[]) => string[];
|
|
288
|
+
} | null;
|
|
315
289
|
blockAttribution: (id: string) => import("./index.js").BlockAttribution | undefined;
|
|
316
290
|
crdtId: (id: string) => string | null;
|
|
317
291
|
resolveBlock: (id: string) => import("./engine-api.js").EngineNode | null;
|
|
@@ -400,7 +374,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
400
374
|
writePlacement: (doc: import("./engine-api.js").EngineDoc, node: import("./engine-api.js").EngineNode, p: import("./index.js").BlockId | null, r: string) => void;
|
|
401
375
|
withdrawOnUndo: (doc: import("./engine-api.js").EngineDoc) => (item: import("./engine-api.js").EngineItemRef, stackItem: {
|
|
402
376
|
inserts: {
|
|
403
|
-
|
|
377
|
+
has(client: number, clock: number): boolean;
|
|
404
378
|
};
|
|
405
379
|
}) => boolean;
|
|
406
380
|
materializeSpec: (doc: import("./engine-api.js").EngineDoc, sp: import("./index.js").BlockSpec, parent: import("./index.js").BlockId | null, rank: string) => void;
|
|
@@ -453,7 +427,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
453
427
|
};
|
|
454
428
|
};
|
|
455
429
|
providers: {
|
|
456
|
-
prefetch: (options:
|
|
430
|
+
prefetch: (options: PrefetchOptions) => Promise<import("./index.js").PrefetchResult>;
|
|
457
431
|
lastUpdated: (options: import("./index.js").LastUpdatedOptions) => Promise<number | null>;
|
|
458
432
|
documentSnapshot: (options: import("./index.js").LastUpdatedOptions) => Promise<import("./index.js").JSONDoc | null>;
|
|
459
433
|
IndexeddbPersistence: {
|
|
@@ -479,7 +453,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
479
453
|
bcconnected: boolean;
|
|
480
454
|
disableBc: boolean;
|
|
481
455
|
_ownsAwareness: boolean;
|
|
482
|
-
_bcSubscriber: (data: ArrayBuffer, origin: unknown) => void;
|
|
456
|
+
_bcSubscriber: (data: ArrayBuffer | Uint8Array, origin: unknown) => void;
|
|
483
457
|
_awarenessUpdateHandler: (updates: {
|
|
484
458
|
added: number[];
|
|
485
459
|
updated: number[];
|
|
@@ -551,7 +525,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
551
525
|
bcChannel: string;
|
|
552
526
|
bcconnected: boolean;
|
|
553
527
|
disableBc: boolean;
|
|
554
|
-
_bcSubscriber: (data: ArrayBuffer, origin: unknown) => void;
|
|
528
|
+
_bcSubscriber: (data: ArrayBuffer | Uint8Array, origin: unknown) => void;
|
|
555
529
|
_fromTab: {};
|
|
556
530
|
wsUnsuccessfulReconnects: number;
|
|
557
531
|
wsLastMessageReceived: number;
|
|
@@ -618,31 +592,11 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
618
592
|
_dbsize: number;
|
|
619
593
|
_destroyed: boolean;
|
|
620
594
|
}, forceStore?: boolean) => Promise<undefined>;
|
|
621
|
-
clearDocument: (name: string) => Promise<
|
|
595
|
+
clearDocument: (name: string) => Promise<void>;
|
|
622
596
|
PREFERRED_TRIM_SIZE: number;
|
|
623
597
|
createIndexeddbSync: (name: string) => import("./index.js").EdytorSync;
|
|
624
598
|
createWebsocketSync: (options: import("./index.js").WebsocketSyncOptions) => import("./index.js").WebsocketSync;
|
|
625
599
|
};
|
|
626
|
-
migration: {
|
|
627
|
-
migrate: (name: string, options?: import("./index.js").MigrateOptions) => Promise<import("./index.js").MigrateResult>;
|
|
628
|
-
rollback: (name: string) => Promise<void>;
|
|
629
|
-
status: (name: string) => Promise<import("./index.js").MigrationRecord>;
|
|
630
|
-
waitForSettled: (name: string) => Promise<import("./index.js").MigrationRecord>;
|
|
631
|
-
};
|
|
632
|
-
/** The generation cutover (4 → 5): a generation-4 state read as JSON. */
|
|
633
|
-
generations: {
|
|
634
|
-
isPreviousGenerationRecord: (v: unknown) => v is import("./protocol.js").GenerationRecord;
|
|
635
|
-
previousJSON: (updates: ReadonlyArray<Uint8Array | {
|
|
636
|
-
v2: Uint8Array;
|
|
637
|
-
}>, facadeOf: (doc: YDoc) => {
|
|
638
|
-
toJSON(): import("./index.js").JSONDoc;
|
|
639
|
-
dispose(): void;
|
|
640
|
-
}) => import("./index.js").JSONDoc;
|
|
641
|
-
seedOf: (value: import("./index.js").JSONDoc, semantics?: import("./document.js").DocumentSemanticsConfig) => Uint8Array;
|
|
642
|
-
previousJSONWith: (updates: ReadonlyArray<Uint8Array | {
|
|
643
|
-
v2: Uint8Array;
|
|
644
|
-
}>, semantics?: import("./document.js").DocumentSemanticsConfig) => import("./index.js").JSONDoc;
|
|
645
|
-
};
|
|
646
600
|
sync: {
|
|
647
601
|
messageYjsSyncStep1: number;
|
|
648
602
|
messageYjsSyncStep2: number;
|
|
@@ -650,12 +604,7 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
650
604
|
remoteApplyOrigin: symbol;
|
|
651
605
|
writeSyncStep1: (encoder: import("lib0-v14/encoding").Encoder, doc: YDoc) => void;
|
|
652
606
|
writeSyncStep2: (encoder: import("lib0-v14/encoding").Encoder, doc: YDoc, encodedStateVector?: Uint8Array) => void;
|
|
653
|
-
step2Update: (payload: Uint8Array) => Uint8Array;
|
|
654
|
-
readSyncStep1: (decoder: import("lib0-v14/decoding").Decoder, encoder: import("lib0-v14/encoding").Encoder, doc: YDoc) => void;
|
|
655
|
-
readSyncStep2: (decoder: import("lib0-v14/decoding").Decoder, doc: YDoc, transactionOrigin: unknown, errorHandler?: (error: Error) => unknown) => void;
|
|
656
607
|
writeUpdate: (encoder: import("lib0-v14/encoding").Encoder, update: Uint8Array) => void;
|
|
657
|
-
readUpdate: (decoder: import("lib0-v14/decoding").Decoder, doc: YDoc, transactionOrigin: unknown, errorHandler?: (error: Error) => unknown) => void;
|
|
658
|
-
readSyncMessage: (decoder: import("lib0-v14/decoding").Decoder, encoder: import("lib0-v14/encoding").Encoder, doc: YDoc, transactionOrigin: unknown, errorHandler?: (error: Error) => unknown) => number;
|
|
659
608
|
applyRemote: (doc: YDoc, update: Uint8Array, transactionOrigin: unknown, errorHandler?: (error: Error) => unknown) => {
|
|
660
609
|
applied: boolean;
|
|
661
610
|
problem: import("./edytor-doc.js").SchemaProblem | null;
|
|
@@ -670,13 +619,11 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
670
619
|
};
|
|
671
620
|
/** The document-admission boundary (`admitUpdate` staged restore + the shared gate vocabulary). */
|
|
672
621
|
admission: {
|
|
673
|
-
admitUpdate: (update: Uint8Array | ReadonlyArray<Uint8Array
|
|
674
|
-
v2: Uint8Array;
|
|
675
|
-
}>, docName?: string, options?: {
|
|
622
|
+
admitUpdate: (update: Uint8Array | ReadonlyArray<Uint8Array>, docName?: string, options?: {
|
|
676
623
|
prepare?: (doc: YDoc) => void;
|
|
677
624
|
}) => YDoc;
|
|
678
625
|
};
|
|
679
|
-
/** Bind the attribution service to this engine — actor dictionary +
|
|
626
|
+
/** Bind the attribution service to this engine — actor dictionary + block attribution (documents attach it automatically). */
|
|
680
627
|
attribution: {
|
|
681
628
|
attach: (doc: import("./engine-api.js").EngineDoc, opts: {
|
|
682
629
|
actor: import("./index.js").AttributionActor;
|
|
@@ -684,5 +631,5 @@ export declare const bindCrdt: (Y: EngineApi) => {
|
|
|
684
631
|
};
|
|
685
632
|
};
|
|
686
633
|
export type Crdt = ReturnType<typeof bindCrdt>;
|
|
687
|
-
export type { EngineApi, EngineDoc, EngineNode,
|
|
634
|
+
export type { EngineApi, EngineDoc, EngineNode, EngineTransaction, EngineItemRef, YNode, YItem } from './engine-api.js';
|
|
688
635
|
export { EdytorDocDisposedError, DEFAULT_HISTORY_LIMIT } from './edytor-doc.js';
|
package/dist/crdt/index.js
CHANGED
|
@@ -24,9 +24,9 @@
|
|
|
24
24
|
* (`BlockSpec`, `Destination`, `ProjectedDoc`, `DocChange`, `JSONDoc`,
|
|
25
25
|
* …), the provider/sync contract (`EdytorSync`), `Awareness`, the
|
|
26
26
|
* admission errors a load throws, the attribution read surface
|
|
27
|
-
* (`DocumentAttribution`)
|
|
27
|
+
* (`DocumentAttribution`).
|
|
28
28
|
* - **Composition** — `bindCrdt(Y)` for consumers that inject the engine
|
|
29
|
-
* themselves (node/SSR-side provider stacks,
|
|
29
|
+
* themselves (node/SSR-side provider stacks,
|
|
30
30
|
* alternate engine instances) plus the engine typings that contract
|
|
31
31
|
* needs.
|
|
32
32
|
*
|
|
@@ -65,24 +65,23 @@ export { defaultSemantics, richTextSemantics, codeSemantics, imageSemantics, med
|
|
|
65
65
|
export { tableBlock } from './tables.js';
|
|
66
66
|
// Paired marks — a mark's edge as document semantics, the record a key names.
|
|
67
67
|
export { markName } from './text/marks.js';
|
|
68
|
-
/** Canonical JSON → the `BlockSpec` `facade.
|
|
68
|
+
/** Canonical JSON → the `BlockSpec` `facade.insertBlocks` takes (ids kept or minted). */
|
|
69
69
|
export { toBlockSpec } from '../utils/json.js';
|
|
70
70
|
// ── 2 · The document's vocabulary ──────────────────────────────────────
|
|
71
71
|
//
|
|
72
72
|
// Types a consumer meets while driving the document's operations
|
|
73
|
-
// (`DocumentOperations`: `document.
|
|
73
|
+
// (`DocumentOperations`: `document.insertBlocks(…)`, a room's `transact`) — block specs, destinations, projected
|
|
74
74
|
// trees, change notifications — plus the engine-object types the
|
|
75
75
|
// document's own members are typed as (`document.doc: YDoc`,
|
|
76
76
|
// `document.history: YUndoManager`).
|
|
77
77
|
export {} from './edytor-doc.js';
|
|
78
|
-
export { DOCUMENT_OPERATIONS } from './operations.js';
|
|
78
|
+
export { DOCUMENT_OPERATIONS, DOCUMENT_WRITES } from './operations.js';
|
|
79
79
|
export {} from './data.js';
|
|
80
80
|
export {} from './rangeDelete.js';
|
|
81
81
|
export {} from './flow.js';
|
|
82
82
|
export {} from './placement/model.js';
|
|
83
|
-
|
|
84
|
-
// `
|
|
85
|
-
// serialization speaks (`text/deltas.ts`). Part of the public
|
|
83
|
+
// `ContentRun` — the maintained-runs item the view layer's text values
|
|
84
|
+
// read (`segmentJSON`, `session/handles.ts`). Part of the public
|
|
86
85
|
// model→render vocabulary.
|
|
87
86
|
export {} from './text/runs.js';
|
|
88
87
|
// ── 3 · Sync, providers, awareness ─────────────────────────────────────
|
|
@@ -106,65 +105,40 @@ export { SchemaMismatchError, UndecodableUpdateError, UnsupportedDocError } from
|
|
|
106
105
|
// ── 5 · Attribution (read surface) ─────────────────────────────────────
|
|
107
106
|
//
|
|
108
107
|
// `document.attribution` hands back a `DocumentAttribution` — compact
|
|
109
|
-
// per-block records
|
|
110
|
-
//
|
|
111
|
-
//
|
|
108
|
+
// per-block records and the replicated actor dictionary. The types are
|
|
109
|
+
// the public read vocabulary; ordinary editing writes no per-edit
|
|
110
|
+
// attribution.
|
|
112
111
|
export {} from './attribution/index.js';
|
|
113
112
|
// Compact per-BLOCK attribution read vocabulary (`b/<blockId>`
|
|
114
113
|
// records + the block-node `l` attr — see `attribution/block.ts`).
|
|
115
|
-
// `document.attribution.block(id)` / `
|
|
116
|
-
//
|
|
114
|
+
// `document.attribution.block(id)` / `document.blockAttribution(id)`
|
|
115
|
+
// are the read entry points.
|
|
117
116
|
export {} from './attribution/index.js';
|
|
118
|
-
// ── 6 · Migration ──────────────────────────────────────────────────────
|
|
119
|
-
//
|
|
120
|
-
// v13 → v14 one-way import: `isLegacyDoc` detects a v13-era layout, the
|
|
121
|
-
// `Migration` surface (via `bindCrdt(Y).migration` or `bindMigration`)
|
|
122
|
-
// rebuilds an admitted document whose `MigrateResult.update` restores
|
|
123
|
-
// through `loadDocument`. Runbook: `docs/crdt-v14-migration.md`.
|
|
124
|
-
export { isLegacyDoc } from './migration/legacy-schema.js';
|
|
125
|
-
export {} from './migration/migrate.js';
|
|
126
|
-
// ── 7 · Composition — injecting the engine ─────────────────────────────
|
|
127
|
-
//
|
|
128
|
-
// `bindCrdt(Y)` is the supported one-shot entry for consumers that take
|
|
129
|
-
// the engine themselves (the documented node/SSR path):
|
|
130
|
-
//
|
|
131
|
-
// ```ts
|
|
132
|
-
// import * as Y from 'edytor/crdt'; // vendored v14 engine
|
|
133
|
-
// import { bindCrdt } from 'edytor/crdt/edytor';
|
|
134
|
-
// const crdt = bindCrdt(Y);
|
|
135
|
-
// const doc = crdt.createDoc();
|
|
136
|
-
// const provider = new crdt.providers.IndexeddbPersistence('my-doc', doc);
|
|
137
|
-
// ```
|
|
138
|
-
//
|
|
139
|
-
// Everything `bindCrdt` composes is also available pre-bound through the
|
|
140
|
-
// document factories above — reach for `bindCrdt` when the caller needs
|
|
141
|
-
// the raw provider/migration/sync stacks on a doc it owns, not for
|
|
142
|
-
// ordinary document work. `EngineApi`/`EngineDoc`/`YDoc` and friends are
|
|
143
|
-
// the typings that injection contract speaks.
|
|
144
|
-
import { bindGenerations } from './migration/generation.js';
|
|
145
117
|
import { Awareness as _Awareness } from './protocols/awareness.js';
|
|
146
118
|
import { bindAdmission } from './admission.js';
|
|
147
119
|
import { bindAttribution } from './attribution/index.js';
|
|
148
120
|
import { bindEdytorDoc } from './edytor-doc.js';
|
|
149
|
-
import { bindProviders } from './providers/index.js';
|
|
150
|
-
import { bindMigration } from './migration/migrate.js';
|
|
121
|
+
import { bindProviders, documentSnapshot, lastUpdated, prefetchWith } from './providers/index.js';
|
|
151
122
|
import { bindSync } from './protocols/sync.js';
|
|
152
123
|
export const bindCrdt = (Y) => {
|
|
153
124
|
const doc = bindEdytorDoc(Y);
|
|
125
|
+
const providers = bindProviders(Y);
|
|
154
126
|
return {
|
|
155
127
|
/** Create a v14 edytor document — `new Y.Doc(opts)` on the bound engine, with the document's rules (`doc.newDoc`). */
|
|
156
128
|
createDoc: (opts) => doc.newDoc(opts),
|
|
157
129
|
/** Engine-free — same class for every engine instance. */
|
|
158
130
|
Awareness: _Awareness,
|
|
159
131
|
doc,
|
|
160
|
-
providers:
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
132
|
+
providers: {
|
|
133
|
+
...providers,
|
|
134
|
+
prefetch: (options) => prefetchWith(Y, providers, options),
|
|
135
|
+
lastUpdated,
|
|
136
|
+
documentSnapshot
|
|
137
|
+
},
|
|
164
138
|
sync: bindSync(Y),
|
|
165
139
|
/** The document-admission boundary (`admitUpdate` staged restore + the shared gate vocabulary). */
|
|
166
140
|
admission: bindAdmission(Y),
|
|
167
|
-
/** Bind the attribution service to this engine — actor dictionary +
|
|
141
|
+
/** Bind the attribution service to this engine — actor dictionary + block attribution (documents attach it automatically). */
|
|
168
142
|
attribution: bindAttribution(Y)
|
|
169
143
|
};
|
|
170
144
|
};
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The document's public operations and reads (`DocumentOperations`)
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
2
|
+
* The document's public operations and reads (`DocumentOperations`). The
|
|
3
|
+
* writes (`DocumentWrites`) are the one operation set, entered two ways
|
|
4
|
+
* under the same names and arguments: on a bare `EdytorDocument`
|
|
5
|
+
* (`document.insertBlocks(…)`, a room's `transact` callback and `validate`)
|
|
6
|
+
* they are raw — no plugin hook, no view's undo, no readonly check; through
|
|
7
|
+
* a view (`edytor.insertBlocks(…)`) they are dispatched. The facade a
|
|
8
|
+
* document binds has more (the index, the engine hooks): those stay
|
|
9
|
+
* internal. `DOCUMENT_OPERATIONS` lists the names, `DOCUMENT_WRITES` the
|
|
10
|
+
* writes, checked against the interfaces here and against the facade in
|
|
11
|
+
* `document.ts`. Worker-safe: types and two lists.
|
|
10
12
|
*/
|
|
11
13
|
import type { BlockAttribution } from './attribution/block.js';
|
|
12
14
|
import type { AnchorAffinity, DataTarget, DocAnchor, DocChange, JsonObj, OpResult, OrderPolicy, Prepared } from './doc/types.js';
|
|
13
15
|
import type { DataPatch } from './data.js';
|
|
16
|
+
import type { NewInline } from './doc/content.js';
|
|
14
17
|
import type { Flow, FlowTarget, FlowView } from './flow.js';
|
|
15
|
-
import type {
|
|
16
|
-
import type { BlockId, BlockSpec, ContentItem, Destination, InlineSpec, ProjectedDoc, SplitTail } from './placement/model.js';
|
|
18
|
+
import type { BlockId, BlockSpec, ContentItem, Destination, ProjectedDoc, SplitTail } from './placement/model.js';
|
|
17
19
|
import type { DocPosition, RangeView } from './rangeDelete.js';
|
|
18
20
|
import type { ContentRun } from './text/runs.js';
|
|
19
|
-
import type { JSONBlock, JSONDoc } from '../utils/json.js';
|
|
21
|
+
import type { JSONBlock, JSONDoc, JSONInlineBlock, JSONText } from '../utils/json.js';
|
|
20
22
|
/** The document's writes: each one transaction, answering what it did (`OpResult`). */
|
|
21
23
|
export interface DocumentWrites {
|
|
22
|
-
insertBlock(dest: Destination, spec: JSONBlock | BlockSpec): OpResult;
|
|
23
24
|
insertBlocks(dest: Destination, specs: readonly (JSONBlock | BlockSpec)[]): OpResult;
|
|
24
|
-
moveBlock(id: BlockId, dest: Destination): OpResult;
|
|
25
25
|
moveBlocks(ids: readonly BlockId[], dest: Destination): OpResult;
|
|
26
26
|
nestBlock(id: BlockId, parent: BlockId): OpResult;
|
|
27
27
|
unNestBlock(id: BlockId): OpResult;
|
|
@@ -43,29 +43,20 @@ export interface DocumentWrites {
|
|
|
43
43
|
setBlock(id: BlockId, value: {
|
|
44
44
|
type?: string;
|
|
45
45
|
data?: Record<string, unknown>;
|
|
46
|
-
content?: ContentItem[];
|
|
47
|
-
children?: BlockSpec[];
|
|
46
|
+
content?: (ContentItem | JSONText | JSONInlineBlock)[];
|
|
47
|
+
children?: (BlockSpec | JSONBlock)[];
|
|
48
48
|
}): OpResult;
|
|
49
49
|
setBlockType(id: BlockId, type: string): OpResult;
|
|
50
50
|
patchData(target: DataTarget, patches: readonly DataPatch[]): OpResult;
|
|
51
|
-
|
|
52
|
-
duplicateBlock(id: BlockId, freshId
|
|
53
|
-
insertTableRow(table: BlockId, index: number): OpResult;
|
|
54
|
-
deleteTableRows(rows: readonly BlockId[]): OpResult;
|
|
55
|
-
insertTableColumn(table: BlockId, index: number, width?: number): OpResult;
|
|
56
|
-
deleteTableColumn(table: BlockId, column: string | number): OpResult;
|
|
57
|
-
moveTableColumn(table: BlockId, column: string | number, to: number): OpResult;
|
|
58
|
-
moveTableRows(rows: readonly BlockId[], to: number): OpResult;
|
|
59
|
-
fillTableCell(row: BlockId, column: string | number): OpResult;
|
|
51
|
+
/** `freshId` names each copy (fresh ids by default). */
|
|
52
|
+
duplicateBlock(id: BlockId, freshId?: (oldId: string, kind: 'block' | 'inline') => string): OpResult;
|
|
60
53
|
insertText(id: BlockId, offset: number, text: string, marks?: Record<string, unknown>): OpResult;
|
|
61
54
|
deleteText(id: BlockId, offset: number, length: number): OpResult;
|
|
62
55
|
formatRange(id: BlockId, offset: number, length: number, marks: Record<string, unknown>): OpResult;
|
|
63
|
-
setMark(id: BlockId, offset: number, length: number, name: string, value: unknown): OpResult;
|
|
64
|
-
unsetMark(id: BlockId, offset: number, length: number, name: string): OpResult;
|
|
65
56
|
clearMarks(id: BlockId, offset: number, length: number): OpResult;
|
|
66
|
-
|
|
57
|
+
/** An atom without an id gets a fresh one. */
|
|
58
|
+
insertInline(id: BlockId, offset: number, atom: NewInline): OpResult;
|
|
67
59
|
removeInline(id: BlockId, inlineId: string): OpResult;
|
|
68
|
-
setInlineData(id: BlockId, inlineId: string, data: Record<string, unknown>): OpResult;
|
|
69
60
|
deleteRange(from: DocPosition, to: DocPosition, view?: RangeView): OpResult;
|
|
70
61
|
replaceRange(from: DocPosition, to: DocPosition, view?: RangeView): OpResult;
|
|
71
62
|
insertFlow(target: FlowTarget, flow: Flow, view?: FlowView): OpResult;
|
|
@@ -136,8 +127,8 @@ export interface DocumentReads {
|
|
|
136
127
|
/**
|
|
137
128
|
* The document's public operations: the writes, each also prepared
|
|
138
129
|
* (`prepare.<op>(…)`, pure, then `apply(plan)`; `compose` joins plans),
|
|
139
|
-
* the reads,
|
|
140
|
-
*
|
|
130
|
+
* the reads, `transact`, `onChange` and `version`. See the document API
|
|
131
|
+
* reference.
|
|
141
132
|
*/
|
|
142
133
|
export interface DocumentOperations extends DocumentWrites, DocumentReads {
|
|
143
134
|
/** Every write, prepared: a plan of named steps and its effect, or `refused`. Writes nothing. */
|
|
@@ -150,12 +141,12 @@ export interface DocumentOperations extends DocumentWrites, DocumentReads {
|
|
|
150
141
|
compose(...parts: Prepared[]): Prepared;
|
|
151
142
|
/** Group writes in one transaction and one change event (no rollback on a throw). */
|
|
152
143
|
transact<R>(fn: () => R, origin?: unknown): R;
|
|
153
|
-
/** A handle over block `id`: the same operations bound to it (cached; refused when absent). */
|
|
154
|
-
block(id: BlockId): DocBlock;
|
|
155
144
|
/** Hear each transaction's change; answers the unsubscribe. */
|
|
156
145
|
onChange(listener: (change: DocChange) => void): () => void;
|
|
157
146
|
/** Changes on every write that changed the tree. */
|
|
158
147
|
readonly version: number;
|
|
159
148
|
}
|
|
149
|
+
/** Every write of `DocumentWrites`: what a view dispatches under the same names (`edytor.insertBlocks(…)`). */
|
|
150
|
+
export declare const DOCUMENT_WRITES: readonly ["insertBlocks", "moveBlocks", "nestBlock", "unNestBlock", "unNestBlocks", "liftOut", "wrapInLayout", "placeBeside", "splitBlock", "mergeBlocks", "mergeBackward", "mergeForward", "deleteBlock", "deleteBlocks", "setBlock", "setBlockType", "patchData", "duplicateBlock", "insertText", "deleteText", "formatRange", "clearMarks", "insertInline", "removeInline", "deleteRange", "replaceRange", "insertFlow"];
|
|
160
151
|
/** Every name of `DocumentOperations`, for the document's own members (`EdytorDocument`). */
|
|
161
|
-
export declare const DOCUMENT_OPERATIONS: readonly ["
|
|
152
|
+
export declare const DOCUMENT_OPERATIONS: readonly ["insertBlocks", "moveBlocks", "nestBlock", "unNestBlock", "unNestBlocks", "liftOut", "wrapInLayout", "placeBeside", "splitBlock", "mergeBlocks", "mergeBackward", "mergeForward", "deleteBlock", "deleteBlocks", "setBlock", "setBlockType", "patchData", "duplicateBlock", "insertText", "deleteText", "formatRange", "clearMarks", "insertInline", "removeInline", "deleteRange", "replaceRange", "insertFlow", "toJSON", "docData", "dataItemIds", "dataPreview", "project", "blockJSON", "childrenIds", "parentOf", "ancestorsOf", "positionOf", "pathOf", "blockTypeOf", "blockDataOf", "blockText", "contentItems", "displayLength", "runs", "hasBlock", "isVisibleBlock", "listBlockIds", "blockAttribution", "isVoid", "isIsland", "isLines", "islandOf", "insideIsland", "isLayout", "isLayoutItem", "besideAt", "isTable", "isTableRow", "isTableCell", "tableOf", "tableColumns", "tableGrid", "order", "compare", "next", "previous", "canPlace", "canMerge", "fits", "nestParent", "landingOf", "anchorAt", "resolveAnchor", "prepare", "apply", "compose", "transact", "onChange", "version"];
|
package/dist/crdt/operations.js
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
/** Every
|
|
2
|
-
export const
|
|
3
|
-
'insertBlock',
|
|
1
|
+
/** Every write of `DocumentWrites`: what a view dispatches under the same names (`edytor.insertBlocks(…)`). */
|
|
2
|
+
export const DOCUMENT_WRITES = [
|
|
4
3
|
'insertBlocks',
|
|
5
|
-
'moveBlock',
|
|
6
4
|
'moveBlocks',
|
|
7
5
|
'nestBlock',
|
|
8
6
|
'unNestBlock',
|
|
@@ -19,30 +17,24 @@ export const DOCUMENT_OPERATIONS = [
|
|
|
19
17
|
'setBlock',
|
|
20
18
|
'setBlockType',
|
|
21
19
|
'patchData',
|
|
22
|
-
'setBlockData',
|
|
23
20
|
'duplicateBlock',
|
|
24
|
-
'insertTableRow',
|
|
25
|
-
'deleteTableRows',
|
|
26
|
-
'insertTableColumn',
|
|
27
|
-
'deleteTableColumn',
|
|
28
|
-
'moveTableColumn',
|
|
29
|
-
'moveTableRows',
|
|
30
|
-
'fillTableCell',
|
|
31
21
|
'insertText',
|
|
32
22
|
'deleteText',
|
|
33
23
|
'formatRange',
|
|
34
|
-
'setMark',
|
|
35
|
-
'unsetMark',
|
|
36
24
|
'clearMarks',
|
|
37
25
|
'insertInline',
|
|
38
26
|
'removeInline',
|
|
39
|
-
'setInlineData',
|
|
40
27
|
'deleteRange',
|
|
41
28
|
'replaceRange',
|
|
42
|
-
'insertFlow'
|
|
29
|
+
'insertFlow'
|
|
30
|
+
];
|
|
31
|
+
/** Every name of `DocumentOperations`, for the document's own members (`EdytorDocument`). */
|
|
32
|
+
export const DOCUMENT_OPERATIONS = [
|
|
33
|
+
...DOCUMENT_WRITES,
|
|
43
34
|
'toJSON',
|
|
44
35
|
'docData',
|
|
45
36
|
'dataItemIds',
|
|
37
|
+
'dataPreview',
|
|
46
38
|
'project',
|
|
47
39
|
'blockJSON',
|
|
48
40
|
'childrenIds',
|
|
@@ -89,7 +81,6 @@ export const DOCUMENT_OPERATIONS = [
|
|
|
89
81
|
'apply',
|
|
90
82
|
'compose',
|
|
91
83
|
'transact',
|
|
92
|
-
'block',
|
|
93
84
|
'onChange',
|
|
94
85
|
'version'
|
|
95
86
|
];
|
|
@@ -33,8 +33,6 @@ export declare const textRanker: (blocks: ReadonlyMap<BlockId, BlockRec>, placem
|
|
|
33
33
|
/** Drop what was decided for `home`'s text (every one, without it). */
|
|
34
34
|
forget: (home?: BlockId) => void;
|
|
35
35
|
};
|
|
36
|
-
/** The inverse of `ownerOf` over `blocks`: each live owner → the blocks it displays. */
|
|
37
|
-
export declare const displayIndex: (blocks: ReadonlyMap<BlockId, unknown>, ownerOf: (b: BlockId) => Owner) => Map<BlockId, BlockId[]>;
|
|
38
36
|
/**
|
|
39
37
|
* THE liveness answer: `id` carries no live delete mark, owns
|
|
40
38
|
* itself (`own.hidden` covers both: a delete-marked or unknown block owns
|
|
@@ -139,21 +139,6 @@ export const textRanker = (blocks, placements, homeOf, inText) => {
|
|
|
139
139
|
}
|
|
140
140
|
};
|
|
141
141
|
};
|
|
142
|
-
/** The inverse of `ownerOf` over `blocks`: each live owner → the blocks it displays. */
|
|
143
|
-
export const displayIndex = (blocks, ownerOf) => {
|
|
144
|
-
const by = new Map();
|
|
145
|
-
for (const b of blocks.keys()) {
|
|
146
|
-
const owner = ownerOf(b);
|
|
147
|
-
if (typeof owner !== 'string')
|
|
148
|
-
continue;
|
|
149
|
-
const list = by.get(owner);
|
|
150
|
-
if (list === undefined)
|
|
151
|
-
by.set(owner, [b]);
|
|
152
|
-
else
|
|
153
|
-
list.push(b);
|
|
154
|
-
}
|
|
155
|
-
return by;
|
|
156
|
-
};
|
|
157
142
|
/**
|
|
158
143
|
* THE liveness answer: `id` carries no live delete mark, owns
|
|
159
144
|
* itself (`own.hidden` covers both: a delete-marked or unknown block owns
|