edytor 1.0.0-rc.2 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +65 -25
- package/dist/block/block.svelte.d.ts +10 -85
- package/dist/block/block.svelte.js +47 -141
- 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 +8 -10
- package/dist/block/inlineBlock.svelte.js +14 -22
- package/dist/clipboard/createClipboardFragment.js +22 -64
- package/dist/clipboard/fragmentData.js +17 -42
- package/dist/clipboard/htmlFlow.d.ts +6 -1
- package/dist/clipboard/htmlFlow.js +26 -13
- 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 +22 -17
- package/dist/cloudflare/DocumentRoom.js +10 -5
- package/dist/cloudflare/index.d.ts +1 -1
- package/dist/cloudflare/index.js +1 -1
- 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 +20 -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 +9 -30
- package/dist/cloudflare/room/storage.js +52 -104
- 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/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 +160 -119
- package/dist/components/Block.svelte.d.ts +8 -3
- package/dist/components/Content.svelte +91 -44
- package/dist/components/CustomMark.svelte +46 -0
- package/dist/components/CustomMark.svelte.d.ts +11 -0
- package/dist/components/Edytor.svelte +80 -95
- package/dist/components/Edytor.svelte.d.ts +8 -12
- package/dist/components/InlineBlock.svelte +4 -9
- package/dist/components/Mark.svelte +46 -35
- package/dist/components/Mark.svelte.d.ts +7 -0
- 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 +48 -14
- 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 +8 -13
- package/dist/crdt/data.js +30 -70
- 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 +1 -5
- package/dist/crdt/doc/reads.js +38 -49
- 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 +24 -115
- package/dist/crdt/document.js +207 -305
- package/dist/crdt/edytor-doc.d.ts +671 -90
- package/dist/crdt/edytor-doc.js +73 -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 +26 -85
- package/dist/crdt/index.js +21 -47
- package/dist/crdt/operations.d.ts +24 -33
- package/dist/crdt/operations.js +7 -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/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/{plugins/blockHandles → dnd}/autoScroll.d.ts +2 -1
- package/dist/{plugins/blockHandles → dnd}/autoScroll.js +3 -3
- 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 +34 -64
- package/dist/edytor.svelte.js +118 -180
- package/dist/events/beforeInputCommands.d.ts +6 -11
- package/dist/events/beforeInputCommands.js +189 -184
- 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 +33 -72
- package/dist/events/onFocus.d.ts +9 -4
- package/dist/events/onFocus.js +92 -72
- 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 +13 -1
- package/dist/events/onPaste.js +46 -76
- package/dist/index.d.ts +10 -13
- package/dist/index.js +3 -3
- package/dist/kinds.d.ts +4 -6
- package/dist/kinds.js +28 -27
- package/dist/labels.d.ts +91 -314
- package/dist/labels.js +180 -396
- 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 -151
- package/dist/plugins/blockHandles/BlockHandle.svelte.d.ts +2 -2
- package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +63 -97
- package/dist/plugins/blockHandles/BlockHandleController.svelte.js +247 -268
- package/dist/plugins/blockHandles/BlockHandles.svelte +46 -29
- package/dist/plugins/blockHandles/BlockHandles.svelte.d.ts +2 -2
- package/dist/plugins/blockHandles/blockHandlesPlugin.d.ts +29 -23
- package/dist/plugins/blockHandles/blockHandlesPlugin.js +130 -162
- package/dist/plugins/blockHandles/dragPreview.d.ts +8 -6
- package/dist/plugins/blockHandles/dragPreview.js +20 -17
- package/dist/plugins/blockHandles/dropIndicator.js +52 -60
- package/dist/plugins/blockHandles/geometry.d.ts +46 -1
- package/dist/plugins/blockHandles/geometry.js +51 -4
- package/dist/plugins/blockMenu/BlockMenuController.svelte.d.ts +59 -28
- package/dist/plugins/blockMenu/BlockMenuController.svelte.js +180 -105
- 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 +79 -0
- package/dist/plugins/chrome.js +87 -0
- package/dist/plugins/code/CodeHeader.svelte +12 -58
- package/dist/plugins/code/CodeHeader.svelte.d.ts +1 -0
- package/dist/plugins/code/CodePlugin.svelte +75 -56
- package/dist/plugins/code/CodePlugin.svelte.d.ts +0 -2
- package/dist/plugins/code/LanguageMenu.svelte +25 -0
- package/dist/plugins/code/LanguageMenu.svelte.d.ts +9 -0
- package/dist/plugins/code/code.css +5 -100
- package/dist/plugins/code/header.svelte.d.ts +47 -0
- package/dist/plugins/code/header.svelte.js +141 -0
- package/dist/plugins/code/languageMenu.svelte.d.ts +84 -0
- package/dist/plugins/code/languageMenu.svelte.js +199 -0
- package/dist/plugins/code/languages.d.ts +21 -10
- package/dist/plugins/code/languages.js +39 -126
- package/dist/plugins/columns/ColumnResize.svelte +13 -25
- 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/resize.svelte.d.ts +14 -51
- package/dist/plugins/columns/resize.svelte.js +70 -164
- 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 -430
- package/dist/plugins/comments/CommentsSidebar.svelte.d.ts +6 -7
- package/dist/plugins/comments/commentsPlugin.d.ts +31 -10
- package/dist/plugins/comments/commentsPlugin.js +12 -10
- package/dist/plugins/equation/EquationEditor.svelte +18 -129
- package/dist/plugins/equation/EquationEditor.svelte.d.ts +2 -1
- package/dist/plugins/equation/EquationPlugin.svelte +123 -168
- package/dist/plugins/equation/EquationPlugin.svelte.d.ts +5 -3
- package/dist/plugins/equation/EquationView.svelte +20 -11
- package/dist/plugins/equation/equation.svelte.d.ts +74 -36
- package/dist/plugins/equation/equation.svelte.js +74 -66
- package/dist/plugins/equation/importUrl.d.ts +6 -0
- package/dist/plugins/equation/importUrl.js +6 -0
- package/dist/plugins/equation/katex.d.ts +8 -0
- package/dist/plugins/equation/katex.js +77 -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 +5 -151
- package/dist/plugins/image/ImagePlugin.svelte +49 -117
- package/dist/plugins/image/ImagePlugin.svelte.d.ts +1 -24
- 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 -57
- package/dist/plugins/image/controls.svelte.js +51 -174
- 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 +39 -24
- package/dist/plugins/index.js +30 -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 +6 -5
- package/dist/plugins/marquee/MarqueeBox.svelte +15 -0
- package/dist/plugins/marquee/MarqueeBox.svelte.d.ts +9 -0
- package/dist/plugins/marquee/MarqueeController.svelte.d.ts +46 -0
- package/dist/plugins/marquee/MarqueeController.svelte.js +243 -0
- package/dist/plugins/marquee/marquee.d.ts +33 -0
- package/dist/plugins/marquee/marquee.js +89 -0
- package/dist/plugins/marquee/marqueePlugin.d.ts +32 -0
- package/dist/plugins/marquee/marqueePlugin.js +68 -0
- package/dist/plugins/media/AudioPlugin.svelte +3 -88
- package/dist/plugins/media/AudioPlugin.svelte.d.ts +1 -4
- package/dist/plugins/media/BookmarkPlugin.svelte +124 -112
- package/dist/plugins/media/BookmarkPlugin.svelte.d.ts +20 -7
- package/dist/plugins/media/EmbedPlugin.svelte +93 -77
- package/dist/plugins/media/EmbedPlugin.svelte.d.ts +21 -9
- package/dist/plugins/media/EmptySlot.svelte +44 -0
- package/dist/plugins/media/EmptySlot.svelte.d.ts +25 -0
- package/dist/plugins/media/FilePlugin.svelte +35 -111
- package/dist/plugins/media/FilePlugin.svelte.d.ts +12 -4
- package/dist/plugins/media/MediaEmpty.svelte +55 -112
- package/dist/plugins/media/MediaEmpty.svelte.d.ts +26 -10
- package/dist/plugins/media/SourceBlock.svelte +164 -0
- package/dist/plugins/media/SourceBlock.svelte.d.ts +33 -0
- package/dist/plugins/media/VideoPlugin.svelte +4 -97
- package/dist/plugins/media/VideoPlugin.svelte.d.ts +2 -5
- package/dist/plugins/media/empty.svelte.d.ts +69 -0
- package/dist/plugins/media/empty.svelte.js +111 -0
- package/dist/plugins/media/media.d.ts +93 -30
- package/dist/plugins/media/media.js +79 -86
- package/dist/plugins/media/urlPaste.svelte.d.ts +9 -32
- package/dist/plugins/media/urlPaste.svelte.js +46 -75
- package/dist/plugins/mention/MentionPlugin.svelte +47 -124
- package/dist/plugins/mention/MentionPlugin.svelte.d.ts +11 -23
- 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 +52 -108
- package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +11 -23
- package/dist/plugins/planned.d.ts +10 -0
- package/dist/plugins/planned.js +12 -0
- package/dist/plugins/richtext/CalloutIcon.svelte +25 -0
- package/dist/plugins/richtext/CalloutIcon.svelte.d.ts +9 -0
- package/dist/plugins/richtext/CalloutIconPicker.svelte +26 -0
- package/dist/plugins/richtext/CalloutIconPicker.svelte.d.ts +9 -0
- package/dist/plugins/richtext/EmptyBody.svelte +25 -0
- package/dist/plugins/richtext/EmptyBody.svelte.d.ts +8 -0
- package/dist/plugins/richtext/RichTextControl.svelte +39 -0
- package/dist/plugins/richtext/RichTextControl.svelte.d.ts +8 -0
- package/dist/plugins/richtext/RichTextPlugin.svelte +272 -148
- package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +37 -18
- package/dist/plugins/richtext/TodoCheckbox.svelte +10 -21
- package/dist/plugins/richtext/TodoCheckbox.svelte.d.ts +0 -2
- package/dist/plugins/richtext/body.d.ts +9 -0
- package/dist/plugins/richtext/body.js +16 -0
- package/dist/plugins/richtext/calloutIcons.svelte.d.ts +97 -0
- package/dist/plugins/richtext/calloutIcons.svelte.js +214 -0
- 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/slashMenu/SlashMenuController.svelte.d.ts +18 -11
- package/dist/plugins/slashMenu/SlashMenuController.svelte.js +93 -35
- package/dist/plugins/slashMenu/slashMenuPlugin.d.ts +11 -24
- package/dist/plugins/slashMenu/slashMenuPlugin.js +27 -68
- package/dist/plugins/suggestions/SuggestionBars.svelte +32 -84
- package/dist/plugins/suggestions/SuggestionBars.svelte.d.ts +9 -3
- package/dist/plugins/suggestions/suggestionsPlugin.d.ts +10 -16
- package/dist/plugins/suggestions/suggestionsPlugin.js +9 -24
- package/dist/plugins/table/TableChrome.svelte +96 -127
- package/dist/plugins/table/TableChrome.svelte.d.ts +5 -1
- package/dist/plugins/table/TablePlugin.svelte +116 -171
- package/dist/plugins/table/TablePlugin.svelte.d.ts +0 -4
- package/dist/plugins/table/chrome.svelte.d.ts +110 -117
- package/dist/plugins/table/chrome.svelte.js +643 -289
- package/dist/plugins/table/ops.d.ts +47 -0
- package/dist/plugins/table/ops.js +233 -0
- package/dist/plugins/table/table.css +55 -134
- package/dist/plugins/table/table.d.ts +26 -7
- package/dist/plugins/table/table.js +23 -49
- 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 +29 -66
- package/dist/plugins/toolbar/ToolbarController.svelte.js +151 -76
- package/dist/plugins/toolbar/toolbarPlugin.d.ts +14 -13
- package/dist/plugins/toolbar/toolbarPlugin.js +28 -43
- package/dist/plugins/triggers/TriggerController.svelte.d.ts +6 -45
- package/dist/plugins/triggers/TriggerController.svelte.js +51 -96
- 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 +38 -20
- package/dist/plugins/uploads.svelte.js +39 -32
- package/dist/plugins.d.ts +167 -60
- package/dist/selection/domSelection.d.ts +13 -4
- package/dist/selection/domSelection.js +110 -183
- package/dist/selection/pointer.svelte.d.ts +12 -10
- package/dist/selection/pointer.svelte.js +154 -71
- 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 +263 -542
- package/dist/selection/selection.utils.d.ts +34 -11
- package/dist/selection/selection.utils.js +128 -247
- package/dist/selection/visibility.d.ts +11 -8
- package/dist/selection/visibility.js +23 -8
- package/dist/session/announcer.svelte.d.ts +2 -1
- package/dist/session/announcer.svelte.js +7 -3
- package/dist/session/attempt.d.ts +33 -39
- package/dist/session/attempt.js +61 -53
- package/dist/session/bindings.js +108 -139
- package/dist/session/commands.d.ts +47 -22
- package/dist/session/commands.js +206 -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 +15 -21
- package/dist/session/inputRules.js +75 -84
- package/dist/session/keymap.d.ts +1 -6
- package/dist/session/keymap.js +17 -20
- package/dist/session/moves.d.ts +10 -10
- package/dist/session/moves.js +31 -59
- package/dist/session/navigation.d.ts +18 -3
- package/dist/session/navigation.js +194 -153
- package/dist/session/ports.d.ts +7 -0
- package/dist/session/selection.d.ts +4 -3
- package/dist/session/selection.js +8 -0
- package/dist/session/suggestions.svelte.d.ts +1 -1
- package/dist/session/suggestions.svelte.js +64 -47
- 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 +32 -0
- package/dist/surface/lines.js +43 -0
- package/dist/surface/observer.svelte.d.ts +3 -20
- package/dist/surface/observer.svelte.js +73 -77
- package/dist/surface/overlay.d.ts +48 -6
- package/dist/surface/overlay.js +133 -23
- 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 +315 -126
- 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 -525
- package/dist/collaboration/history/HistoryPanel.svelte.d.ts +0 -7
- package/dist/collaboration/history/panel.d.ts +0 -43
- 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 -447
- 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 -116
- package/dist/plugins/image/ImageEmpty.svelte.d.ts +0 -12
- package/dist/plugins/keepInView.d.ts +0 -4
- package/dist/plugins/keepInView.js +0 -6
- package/dist/plugins/media/UrlPasteMenu.svelte +0 -83
- package/dist/plugins/media/UrlPasteMenu.svelte.d.ts +0 -7
- package/dist/plugins/richtext/labels.d.ts +0 -5
- package/dist/plugins/richtext/labels.js +0 -3
- package/dist/plugins/slashMenu/SlashMenu.svelte +0 -360
- package/dist/plugins/slashMenu/SlashMenu.svelte.d.ts +0 -11
- package/dist/plugins/toolbar/LinkCard.svelte +0 -118
- package/dist/plugins/toolbar/LinkCard.svelte.d.ts +0 -7
- package/dist/plugins/toolbar/Toolbar.svelte +0 -400
- package/dist/plugins/toolbar/Toolbar.svelte.d.ts +0 -9
- package/dist/plugins/triggers/TriggerMenu.svelte +0 -144
- package/dist/plugins/triggers/TriggerMenu.svelte.d.ts +0 -7
- package/dist/session/props.d.ts +0 -28
- package/dist/session/props.js +0 -162
- 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
|
@@ -1,41 +1,29 @@
|
|
|
1
|
-
export function warnPrematureAccess(): void;
|
|
2
|
-
export function createAttributionFromAttributionItems(attrs: Array<ContentAttribute<any>> | null, deleted: boolean): Attribution | undefined;
|
|
3
1
|
export class ItemTextListPosition {
|
|
4
2
|
/**
|
|
5
3
|
* @param {Item|null} left
|
|
6
4
|
* @param {Item|null} right
|
|
7
5
|
* @param {number} index
|
|
8
6
|
* @param {Map<string,any>} currentFormats
|
|
9
|
-
* @param {AbstractRenderer?} renderer
|
|
10
7
|
*/
|
|
11
|
-
constructor(left: Item | null, right: Item | null, index: number, currentFormats: Map<string, any
|
|
8
|
+
constructor(left: Item | null, right: Item | null, index: number, currentFormats: Map<string, any>);
|
|
12
9
|
left: Item | null;
|
|
13
10
|
right: Item | null;
|
|
14
11
|
index: number;
|
|
15
12
|
currentFormats: Map<string, any>;
|
|
16
|
-
renderer: import("./utils/renderer-helpers.js").AbstractRenderer | null;
|
|
17
13
|
/**
|
|
18
14
|
* Only call this if you know that this.right is defined
|
|
19
15
|
*/
|
|
20
16
|
forward(): void;
|
|
21
17
|
/**
|
|
18
|
+
* Move past `length` live units, splitting the item the last one ends in,
|
|
19
|
+
* and past the deleted items around them (YP19: the positioning of every
|
|
20
|
+
* write; mark items are folded, never rewritten).
|
|
21
|
+
*
|
|
22
22
|
* @param {Transaction} transaction
|
|
23
|
-
* @param {YNode} parent
|
|
24
23
|
* @param {number} length
|
|
25
|
-
* @param {Object<string,any>} formats
|
|
26
|
-
*
|
|
27
|
-
* @function
|
|
28
24
|
*/
|
|
29
|
-
|
|
30
|
-
[x: string]: any;
|
|
31
|
-
}): void;
|
|
25
|
+
advance(transaction: Transaction, length: number): void;
|
|
32
26
|
}
|
|
33
|
-
export function insertContent(transaction: Transaction, parent: YNode, currPos: ItemTextListPosition, content: import("./structs/Item.js").AbstractContent, formats: {
|
|
34
|
-
[x: string]: any;
|
|
35
|
-
}): void;
|
|
36
|
-
export function insertContentHelper(transaction: Transaction, parent: YNode, currPos: ItemTextListPosition, insert: Array<any> | string, formats: {
|
|
37
|
-
[x: string]: any;
|
|
38
|
-
}): void;
|
|
39
27
|
export function insertAtGapEndHelper(transaction: Transaction, parent: YNode, index: number, content: import("./structs/Item.js").AbstractContent): void;
|
|
40
28
|
export function deleteText(transaction: Transaction, currPos: ItemTextListPosition, length: number): ItemTextListPosition;
|
|
41
29
|
export class ArraySearchMarker {
|
|
@@ -74,43 +62,24 @@ export class ArraySearchMarker {
|
|
|
74
62
|
formats: Map<string, any> | null;
|
|
75
63
|
timestamp: number;
|
|
76
64
|
}
|
|
77
|
-
export function
|
|
65
|
+
export function plantMarker(parent: YNode, currPos: ItemTextListPosition): void;
|
|
66
|
+
export function plantSearchMarker(parent: YNode, p: Item, index: number, formats: Map<string, any>): void;
|
|
78
67
|
export function findMarker(yarray: YNode, index: number): ArraySearchMarker | null;
|
|
79
68
|
export function updateMarkerChanges(searchMarker: Array<ArraySearchMarker>, index: number, len: number): void;
|
|
80
|
-
export function
|
|
69
|
+
export function cursorAt(transaction: Transaction, node: YNode, index: number): ItemTextListPosition;
|
|
81
70
|
/**
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
* A `YNode` is a {@link https://github.com/dmonad/lib0 lib0} `RDT` ("replicated data type", see
|
|
85
|
-
* `lib0-v14/delta/rdt.js`): it emits a `'delta'` event whenever its state changes (carrying the change
|
|
86
|
-
* and the origin of the transaction that caused it), accepts foreign
|
|
87
|
-
* changes via {@link YNode#applyDelta}, exposes its delta {@link YNode#$delta schema}, and can be
|
|
88
|
-
* torn down via {@link YNode#destroy}. This lets a `YNode` be `bind()`-ed to any other RDT (another
|
|
89
|
-
* `YNode`, an in-memory delta, a DOM subtree, …). The legacy {@link YNode#observe `observe`} /
|
|
90
|
-
* {@link YNode#observeDeep `observeDeep`} `YEvent` API continues to work alongside the `'delta'`
|
|
91
|
-
* channel.
|
|
92
|
-
*
|
|
93
|
-
* @template {delta.DeltaConf} [DConf=any]
|
|
94
|
-
* @extends {ObservableV2<{ delta: (delta: delta.Delta<DConf>, origin: any) => void, destroy: (type: YNode<DConf>) => void }>}
|
|
71
|
+
* The engine's node: a sequence (text, elements, nested nodes) and a map of attributes. YP19: the
|
|
72
|
+
* reads and writes edytor calls — no observers, no plain formats, no JSON or string renderings.
|
|
95
73
|
*/
|
|
96
|
-
export class YNode
|
|
97
|
-
delta: (delta: delta.Delta<DConf>, origin: any) => void;
|
|
98
|
-
destroy: (type: YNode<DConf>) => void;
|
|
99
|
-
}> {
|
|
100
|
-
/**
|
|
101
|
-
* @template {delta.DeltaConf} DC
|
|
102
|
-
* @param {delta.Delta<DC>} d
|
|
103
|
-
* @return {YNode<DC>}
|
|
104
|
-
*/
|
|
105
|
-
static from<DC extends delta.DeltaConf>(d: delta.Delta<DC>): YNode<DC>;
|
|
74
|
+
export class YNode {
|
|
106
75
|
/**
|
|
107
|
-
* @param {
|
|
76
|
+
* @param {string?} name
|
|
108
77
|
*/
|
|
109
|
-
constructor(name?:
|
|
78
|
+
constructor(name?: string | null);
|
|
110
79
|
/**
|
|
111
|
-
* @type {
|
|
80
|
+
* @type {string|null}
|
|
112
81
|
*/
|
|
113
|
-
name:
|
|
82
|
+
name: string | null;
|
|
114
83
|
/**
|
|
115
84
|
* @type {Item|null}
|
|
116
85
|
*/
|
|
@@ -128,312 +97,61 @@ export class YNode<DConf extends delta.DeltaConf = any> extends ObservableV2<{
|
|
|
128
97
|
*/
|
|
129
98
|
doc: Doc | null;
|
|
130
99
|
_length: number;
|
|
131
|
-
/**
|
|
132
|
-
* Event handlers
|
|
133
|
-
* @type {EventHandler<YEvent<DeltaToYNode<DConf>>,Transaction>}
|
|
134
|
-
*/
|
|
135
|
-
_eH: EventHandler<YEvent<DeltaToYNode<DConf>>, Transaction>;
|
|
136
|
-
/**
|
|
137
|
-
* Deep event handlers
|
|
138
|
-
* @type {EventHandler<YEvent<DConf>,Transaction>}
|
|
139
|
-
*/
|
|
140
|
-
_dEH: EventHandler<YEvent<DConf>, Transaction>;
|
|
141
|
-
/**
|
|
142
|
-
* @type {null | Array<ArraySearchMarker>}
|
|
143
|
-
*/
|
|
144
|
-
_searchMarker: null | Array<ArraySearchMarker>;
|
|
145
|
-
/**
|
|
146
|
-
* Maintained deep-delta cache backing {@link YNode#delta}. `null` until `delta` is first
|
|
147
|
-
* accessed; thereafter kept current on every event of this type (incrementally, by applying the
|
|
148
|
-
* deep change) and re-diffed by {@link YNode#useRenderer}. Cleared by {@link YNode#clearCache}.
|
|
149
|
-
*
|
|
150
|
-
* INVARIANT (fingerprint-memo safety): consumers (e.g. y-sync) diff against this LIVE object
|
|
151
|
-
* via {@link YNode#delta}, which memoizes `_fingerprint` on its delta/op nodes at every depth.
|
|
152
|
-
* Every in-place patch — the per-transaction `apply` in `cleanupTransactions` and the
|
|
153
|
-
* renderer-overlay `apply` in {@link typeApplyRendererChange} — MUST route through the lib0
|
|
154
|
-
* delta builder API (`apply`), which invalidates those memos. NEVER write delta/op fields
|
|
155
|
-
* directly: a direct write leaves stale memos, corrupting every subsequent fingerprint read
|
|
156
|
-
* and diff. Pinned by the `testRdtFingerprintMemo*CacheDrift` tests.
|
|
157
|
-
* @type {delta.DeltaBuilderAny | null}
|
|
158
|
-
*/
|
|
159
|
-
_delta: delta.DeltaBuilderAny | null;
|
|
160
100
|
_legacyTypeRef: number;
|
|
161
101
|
/**
|
|
162
|
-
*
|
|
163
|
-
* This flag is updated when a formatting item is integrated (see ContentFormat.integrate)
|
|
102
|
+
* @type {Array<ArraySearchMarker>|null}
|
|
164
103
|
*/
|
|
165
|
-
|
|
104
|
+
_searchMarker: Array<ArraySearchMarker> | null;
|
|
166
105
|
/**
|
|
167
|
-
* The
|
|
168
|
-
*
|
|
169
|
-
* fast path. Change it via {@link YNode#useRenderer}.
|
|
170
|
-
* @type {AbstractRenderer?}
|
|
106
|
+
* The writes made while this node is detached, replayed when it integrates (YP16).
|
|
107
|
+
* @type {Prelim|null}
|
|
171
108
|
*/
|
|
172
|
-
|
|
109
|
+
_prelim: Prelim | null;
|
|
173
110
|
/**
|
|
174
|
-
*
|
|
175
|
-
* happen without a Y transaction on this doc (e.g. a suggestion is accepted and the
|
|
176
|
-
* renderer's attribution overlay updates). `null` while no renderer is active.
|
|
177
|
-
* Managed by {@link YNode#useRenderer}; see {@link typeApplyRendererChange}.
|
|
178
|
-
* @type {((changes: IdSet, origin: any, local: boolean) => void) | null}
|
|
111
|
+
* The live length of the sequence (`0` while detached).
|
|
179
112
|
*/
|
|
180
|
-
_rendererChangeHandler: ((changes: IdSet, origin: any, local: boolean) => void) | null;
|
|
181
|
-
/**
|
|
182
|
-
* Schema of the deltas this type produces — part of the lib0 `RDT` interface.
|
|
183
|
-
*
|
|
184
|
-
* @type {s.Schema<delta.Delta<DConf>>}
|
|
185
|
-
*/
|
|
186
|
-
get $delta(): s.Schema<delta.Delta<DConf>>;
|
|
187
|
-
/**
|
|
188
|
-
* The deep delta of this type (the full nested content tree, children rendered as their own
|
|
189
|
-
* deltas).
|
|
190
|
-
*
|
|
191
|
-
* The returned value is the type's **live** maintained cache: it is materialized on first access
|
|
192
|
-
* and then kept current on every event fired on this type (and re-diffed by
|
|
193
|
-
* {@link YNode#useRenderer}), so a reference held across edits keeps updating in place. Clone it
|
|
194
|
-
* (e.g. `type.delta.clone()`) if you need a stable snapshot, and call {@link YNode#clearCache} to
|
|
195
|
-
* drop the cache.
|
|
196
|
-
*
|
|
197
|
-
* Consider the returned delta **done** — it must not be edited from the outside. It is
|
|
198
|
-
* deliberately typed as a `Delta` (not a `DeltaBuilder`) so the mutating builder API is not
|
|
199
|
-
* reachable; editing it anyway would corrupt the cache without changing the CRDT. The proper way
|
|
200
|
-
* to change this type is {@link YNode#applyDelta}.
|
|
201
|
-
*
|
|
202
|
-
* @type {delta.Delta<DConf>}
|
|
203
|
-
*/
|
|
204
|
-
get delta(): delta.Delta<DConf>;
|
|
205
|
-
/**
|
|
206
|
-
* Render the full deep current state into a fresh `isFinal` builder (so subsequent `.apply`s of
|
|
207
|
-
* deep changes update content in place). Uses this type's active renderer.
|
|
208
|
-
*
|
|
209
|
-
* @return {delta.DeltaBuilderAny}
|
|
210
|
-
*/
|
|
211
|
-
_renderDelta(): delta.DeltaBuilderAny;
|
|
212
|
-
/**
|
|
213
|
-
* Discard the cached deep delta backing {@link YNode#delta}.
|
|
214
|
-
*
|
|
215
|
-
* After `delta` is first accessed, the cache is updated on every event fired on this type (and
|
|
216
|
-
* re-diffed by {@link YNode#useRenderer}). Call this to drop it — e.g. to reclaim memory, or to
|
|
217
|
-
* force an exact recomputation after editing while a non-base renderer is active (the incremental
|
|
218
|
-
* updates can drift from a fresh deep render in that case).
|
|
219
|
-
*/
|
|
220
|
-
clearCache(): void;
|
|
221
|
-
/**
|
|
222
|
-
* Change the default renderer used by this type. After calling `useRenderer(renderer)`, the
|
|
223
|
-
* `toDelta`, `applyDelta`, and event methods all use `renderer` whenever no explicit renderer is
|
|
224
|
-
* passed (an explicit `{ renderer }` argument still overrides it per call).
|
|
225
|
-
*
|
|
226
|
-
* If the deep-delta cache ({@link YNode#delta}) is being maintained, or a `'delta'` listener is
|
|
227
|
-
* attached, the content is re-rendered with the new renderer and the difference is emitted on the
|
|
228
|
-
* `'delta'` channel only (a renderer switch is not a CRDT change, so no `YEvent` is produced, and
|
|
229
|
-
* the emitted origin is `null` as no transaction is involved).
|
|
230
|
-
*
|
|
231
|
-
* @param {AbstractRenderer?} renderer - `null` detaches: content renders as-is again
|
|
232
|
-
* @return {this}
|
|
233
|
-
*/
|
|
234
|
-
useRenderer(renderer: AbstractRenderer | null): this;
|
|
235
113
|
get length(): number;
|
|
236
|
-
/**
|
|
237
|
-
* Returns a fresh delta that can be used to change this YNode.
|
|
238
|
-
* @type {delta.DeltaBuilder<DeltaToYNode<DConf>>}
|
|
239
|
-
*/
|
|
240
|
-
get change(): delta.DeltaBuilder<DeltaToYNode<DConf>>;
|
|
241
|
-
/**
|
|
242
|
-
* @return {YNode<any>?}
|
|
243
|
-
*/
|
|
244
|
-
get parent(): YNode<any> | null;
|
|
245
114
|
/**
|
|
246
115
|
* Integrate this type into the Yjs instance.
|
|
247
116
|
*
|
|
248
|
-
* * Save this struct in the os
|
|
249
|
-
* * This type is sent to other client
|
|
250
|
-
* * Observer functions are fired
|
|
251
|
-
*
|
|
252
117
|
* @param {Doc} y The Yjs instance
|
|
253
118
|
* @param {Item|null} item
|
|
254
119
|
*/
|
|
255
120
|
_integrate(y: Doc, item: Item | null): void;
|
|
256
|
-
_prelim: any;
|
|
257
|
-
/**
|
|
258
|
-
* @return {YNode<DConf>}
|
|
259
|
-
*/
|
|
260
|
-
_copy(): YNode<DConf>;
|
|
261
|
-
/**
|
|
262
|
-
* Creates YEvent and calls all type observers.
|
|
263
|
-
* Must be implemented by each type.
|
|
264
|
-
*
|
|
265
|
-
* @param {Transaction} transaction
|
|
266
|
-
* @param {Set<null|string>} parentSubs Keys changed on this type. `null` if list was modified.
|
|
267
|
-
*/
|
|
268
|
-
_callObserver(transaction: Transaction, parentSubs: Set<null | string>): void;
|
|
269
|
-
/**
|
|
270
|
-
* Observe all events that are created on this type.
|
|
271
|
-
*
|
|
272
|
-
* @template {(target: YEvent<DeltaToYNode<DConf>>, tr: Transaction) => void} F
|
|
273
|
-
* @param {F} f Observer function
|
|
274
|
-
* @return {F}
|
|
275
|
-
*/
|
|
276
|
-
observe<F extends (target: YEvent<DeltaToYNode<DConf>>, tr: Transaction) => void>(f: F): F;
|
|
277
|
-
/**
|
|
278
|
-
* Observe all events that are created by this type and its children.
|
|
279
|
-
*
|
|
280
|
-
* @template {function(YEvent<DConf>,Transaction):void} F
|
|
281
|
-
* @param {F} f Observer function
|
|
282
|
-
* @return {F}
|
|
283
|
-
*/
|
|
284
|
-
observeDeep<F extends (arg0: YEvent<DConf>, arg1: Transaction) => void>(f: F): F;
|
|
285
|
-
/**
|
|
286
|
-
* Unregister an observer function.
|
|
287
|
-
*
|
|
288
|
-
* @param {(type:YEvent<DeltaToYNode<DConf>>,tr:Transaction)=>void} f Observer function
|
|
289
|
-
*/
|
|
290
|
-
unobserve(f: (type: YEvent<DeltaToYNode<DConf>>, tr: Transaction) => void): void;
|
|
291
121
|
/**
|
|
292
|
-
*
|
|
293
|
-
*
|
|
294
|
-
* @param {function(YEvent<DConf>,Transaction):void} f Observer function
|
|
295
|
-
*/
|
|
296
|
-
unobserveDeep(f: (arg0: YEvent<DConf>, arg1: Transaction) => void): void;
|
|
297
|
-
/**
|
|
298
|
-
* Render the difference to another ydoc (which can be empty) and highlight the differences with
|
|
299
|
-
* attributions.
|
|
300
|
-
*
|
|
301
|
-
* Note that deleted content that was not deleted in prevYdoc is rendered as an insertion with the
|
|
302
|
-
* attribution `{ isDeleted: true, .. }`.
|
|
303
|
-
*
|
|
304
|
-
* @template {boolean} [Deep=false]
|
|
305
|
-
*
|
|
306
|
-
* @param {Object} [opts]
|
|
307
|
-
* @param {AbstractRenderer?} [opts.renderer] - renders the content (with attributions); defaults to this type's active renderer (see {@link YNode#useRenderer}), i.e. `null` (render as-is) unless changed
|
|
308
|
-
* @param {IdSet?} [opts.itemsToRender]
|
|
309
|
-
* @param {boolean} [opts.retainInserts] - if true, retain rendered inserts with attributions
|
|
310
|
-
* @param {boolean} [opts.retainDeletes] - if true, retain rendered+attributed deletes only
|
|
311
|
-
* @param {IdSet?} [opts.insertedItems] - ids inserted by the change being rendered; content that is both in `insertedItems` and deleted renders as a *fresh* insert even under `retainDeletes` (it was never part of the consuming state)
|
|
312
|
-
* @param {Map<YNode,Set<string|null>>|null} [opts.modified] - set of types that should be rendered as modified children
|
|
313
|
-
* @param {Deep} [opts.deep] - render child types as delta
|
|
314
|
-
* @return {Deep extends true ? delta.Delta<DConf> : delta.Delta<DeltaConfDeltaToYNode<DConf>>} The Delta representation of this type.
|
|
315
|
-
*
|
|
316
|
-
* @public
|
|
317
|
-
*/
|
|
318
|
-
public toDelta<Deep extends boolean = false>(opts?: {
|
|
319
|
-
renderer?: import("./utils/renderer-helpers.js").AbstractRenderer | null | undefined;
|
|
320
|
-
itemsToRender?: import("./utils/ids.js").IdSet | null | undefined;
|
|
321
|
-
retainInserts?: boolean | undefined;
|
|
322
|
-
retainDeletes?: boolean | undefined;
|
|
323
|
-
insertedItems?: import("./utils/ids.js").IdSet | null | undefined;
|
|
324
|
-
modified?: Map<YNode<any>, Set<string | null>> | null | undefined;
|
|
325
|
-
deep?: Deep | undefined;
|
|
326
|
-
}): Deep extends true ? delta.Delta<DConf> : delta.Delta<DeltaConfDeltaToYNode<DConf>>;
|
|
327
|
-
/**
|
|
328
|
-
* Render the difference to another ydoc (which can be empty) and highlight the differences with
|
|
329
|
-
* attributions.
|
|
330
|
-
*
|
|
331
|
-
* @param {Object} [opts]
|
|
332
|
-
* @param {AbstractRenderer?} [opts.renderer] - renders the content (with attributions); defaults to this type's active renderer (see {@link YNode#useRenderer}), i.e. `null` (render as-is) unless changed
|
|
333
|
-
* @return {delta.Delta<DConf>}
|
|
334
|
-
*/
|
|
335
|
-
toDeltaDeep(opts?: {
|
|
336
|
-
renderer?: import("./utils/renderer-helpers.js").AbstractRenderer | null | undefined;
|
|
337
|
-
}): delta.Delta<DConf>;
|
|
338
|
-
/**
|
|
339
|
-
* Apply a {@link Delta} on this shared type.
|
|
340
|
-
*
|
|
341
|
-
* @param {delta.DeltaAny} d The changes to apply on this element.
|
|
342
|
-
* @param {any} [origin] Origin of the transaction that applies this delta (stored on
|
|
343
|
-
* `transaction.origin` and forwarded verbatim on the emitted `'delta'` event, so listeners can
|
|
344
|
-
* recognize — and skip — changes they produced themselves; see the lib0 `RDT` spec). Defaults to `null`.
|
|
345
|
-
* @param {Object} [opts]
|
|
346
|
-
* @param {AbstractRenderer?} [opts.renderer] - renders the content (with attributions); defaults to this type's active renderer (see {@link YNode#useRenderer}), i.e. `null` (render as-is) unless changed
|
|
347
|
-
* @return {delta.DeltaBuilder<any>?} The lib0 `RDT` "fix" of this apply — a change measured against the
|
|
348
|
-
* caller's expected state (`old.apply(d)`) that transforms it into the actual state, or `null`
|
|
349
|
-
* when `d` applied cleanly. A fix is produced when `d` (or a nested `modify`/`modifyAttr`)
|
|
350
|
-
* addresses a *deleted but rendered* node (e.g. a suggestion-deleted paragraph under a
|
|
351
|
-
* DiffRenderer): that part of the change is not applied to the document, and its inverse
|
|
352
|
-
* (`lib0-v14/delta` `inverse` against the node's rendered state) is returned — the change is
|
|
353
|
-
* immediately reverted.
|
|
354
|
-
*
|
|
355
|
-
* @public
|
|
122
|
+
* @return {YNode}
|
|
356
123
|
*/
|
|
357
|
-
|
|
358
|
-
renderer?: import("./utils/renderer-helpers.js").AbstractRenderer | null | undefined;
|
|
359
|
-
}): delta.DeltaBuilder<any> | null;
|
|
124
|
+
_copy(): YNode;
|
|
360
125
|
/**
|
|
361
|
-
*
|
|
362
|
-
*
|
|
363
|
-
* Note that the content is only readable _after_ it has been included somewhere in the Ydoc.
|
|
364
|
-
*
|
|
365
|
-
* @return {YNode<DConf>}
|
|
366
|
-
*/
|
|
367
|
-
clone(): YNode<DConf>;
|
|
368
|
-
/**
|
|
369
|
-
* Removes all elements from this YMap.
|
|
370
|
-
*/
|
|
371
|
-
clearAttrs(): void;
|
|
372
|
-
/**
|
|
373
|
-
* Removes an attribute from this YXmlElement.
|
|
126
|
+
* Removes an attribute. A deleted node is left as it is.
|
|
374
127
|
*
|
|
375
128
|
* @param {string} attributeName The attribute name that is to be removed.
|
|
376
|
-
*
|
|
377
|
-
* @public
|
|
378
129
|
*/
|
|
379
|
-
|
|
130
|
+
deleteAttr(attributeName: string): void;
|
|
380
131
|
/**
|
|
381
|
-
* Sets or updates an attribute.
|
|
132
|
+
* Sets or updates an attribute. A deleted node is left as it is.
|
|
382
133
|
*
|
|
383
|
-
* @template
|
|
384
|
-
* @
|
|
385
|
-
*
|
|
386
|
-
* @param {KEY} attributeName The attribute name that is to be set.
|
|
134
|
+
* @template VAL
|
|
135
|
+
* @param {string} attributeName The attribute name that is to be set.
|
|
387
136
|
* @param {VAL} attributeValue The attribute value that is to be set.
|
|
388
137
|
* @return {VAL}
|
|
389
|
-
*
|
|
390
|
-
* @public
|
|
391
138
|
*/
|
|
392
|
-
|
|
139
|
+
setAttr<VAL>(attributeName: string, attributeValue: VAL): VAL;
|
|
393
140
|
/**
|
|
394
141
|
* Returns an attribute value that belongs to the attribute name.
|
|
395
142
|
*
|
|
396
|
-
* @
|
|
397
|
-
* @
|
|
398
|
-
* @return {delta.DeltaConfGetAttrs<DConf>[KEY]|undefined} The queried attribute value.
|
|
399
|
-
* @public
|
|
400
|
-
*/
|
|
401
|
-
public getAttr<KEY extends Exclude<keyof delta.DeltaConfGetAttrs<DConf>, symbol | number>>(attributeName: KEY): delta.DeltaConfGetAttrs<DConf>[KEY] | undefined;
|
|
402
|
-
/**
|
|
403
|
-
* Returns whether an attribute exists
|
|
404
|
-
*
|
|
405
|
-
* @param {string} attributeName The attribute name to check for existence.
|
|
406
|
-
* @return {boolean} whether the attribute exists.
|
|
407
|
-
*
|
|
408
|
-
* @public
|
|
143
|
+
* @param {string} attributeName The attribute name that identifies the queried value.
|
|
144
|
+
* @return {any} The queried attribute value.
|
|
409
145
|
*/
|
|
410
|
-
|
|
146
|
+
getAttr(attributeName: string): any;
|
|
411
147
|
/**
|
|
412
|
-
*
|
|
413
|
-
*
|
|
414
|
-
* @return {{ [Key in Extract<keyof delta.DeltaConfGetAttrs<DConf>,string>]?: delta.DeltaConfGetAttrs<DConf>[Key]}} A JSON Object that describes the attributes.
|
|
415
|
-
*
|
|
416
|
-
* @public
|
|
417
|
-
*/
|
|
418
|
-
public getAttrs(): { [Key in Extract<keyof delta.DeltaConfGetAttrs<DConf>, string>]?: delta.DeltaConfGetAttrs<DConf>[Key]; };
|
|
419
|
-
/**
|
|
420
|
-
* Inserts new content at an index.
|
|
421
|
-
*
|
|
422
|
-
* Important: This function expects an array of content. Not just a content
|
|
423
|
-
* object. The reason for this "weirdness" is that inserting several elements
|
|
424
|
-
* is very efficient when it is done as a single operation.
|
|
425
|
-
*
|
|
426
|
-
* @example
|
|
427
|
-
* // Insert character 'a' at position 0
|
|
428
|
-
* yarray.insert(0, ['a'])
|
|
429
|
-
* // Insert numbers 1, 2 at position 1
|
|
430
|
-
* yarray.insert(1, [1, 2])
|
|
148
|
+
* Inserts new content at an index — a string, or an array of elements (JSON values, nodes) —
|
|
149
|
+
* as `insertInGap` places it (YP19: one sequence write). A deleted node is left as it is.
|
|
431
150
|
*
|
|
432
151
|
* @param {number} index The index to insert content at.
|
|
433
|
-
* @param {Array<
|
|
434
|
-
* @param {delta.Formats} [format]
|
|
152
|
+
* @param {Array<any>|string} content
|
|
435
153
|
*/
|
|
436
|
-
insert(index: number, content: Array<
|
|
154
|
+
insert(index: number, content: Array<any> | string): void;
|
|
437
155
|
/**
|
|
438
156
|
* Insert `content` (an array of JSON values, one countable unit each) at the end of the gap at
|
|
439
157
|
* live index `index`: after every deleted item and every format item that precedes the next live
|
|
@@ -469,212 +187,69 @@ export class YNode<DConf extends delta.DeltaConf = any> extends ObservableV2<{
|
|
|
469
187
|
*/
|
|
470
188
|
mark(index: number, length: number, mark: string, value: any, startSide: number, endSide: number): void;
|
|
471
189
|
/**
|
|
472
|
-
*
|
|
473
|
-
*
|
|
474
|
-
* Important: This function expects an array of content. Not just a content
|
|
475
|
-
* object. The reason for this "weirdness" is that inserting several elements
|
|
476
|
-
* is very efficient when it is done as a single operation.
|
|
477
|
-
*
|
|
478
|
-
* @example
|
|
479
|
-
* // Insert character 'a' at position 0
|
|
480
|
-
* yarray.insert(0, ['a'])
|
|
481
|
-
* // Insert numbers 1, 2 at position 1
|
|
482
|
-
* yarray.insert(1, [1, 2])
|
|
483
|
-
*
|
|
484
|
-
* @param {number} index The index to insert content at.
|
|
485
|
-
* @param {number} length The index to insert content at.
|
|
486
|
-
* @param {delta.Formats} formats
|
|
487
|
-
*
|
|
488
|
-
*/
|
|
489
|
-
format(index: number, length: number, formats: delta.Formats): void;
|
|
490
|
-
/**
|
|
491
|
-
* Appends content to this YArray.
|
|
492
|
-
*
|
|
493
|
-
* @param {Array<delta.DeltaConfGetChildren<DConf>>|delta.DeltaConfGetText<DConf>} content Array of content to append.
|
|
494
|
-
*
|
|
495
|
-
* @todo Use the following implementation in all types.
|
|
496
|
-
*/
|
|
497
|
-
push(content: Array<delta.DeltaConfGetChildren<DConf>> | delta.DeltaConfGetText<DConf>): void;
|
|
498
|
-
/**
|
|
499
|
-
* Prepends content to this YArray.
|
|
500
|
-
*
|
|
501
|
-
* @param {delta.DeltaConfGetText<DConf>} content Array of content to prepend.
|
|
502
|
-
*/
|
|
503
|
-
unshift(content: delta.DeltaConfGetText<DConf>): void;
|
|
504
|
-
/**
|
|
505
|
-
* Deletes elements starting from an index.
|
|
190
|
+
* Deletes elements starting from an index. A deleted node is left as it is.
|
|
506
191
|
*
|
|
507
192
|
* @param {number} index Index at which to start deleting elements
|
|
508
193
|
* @param {number} length The number of elements to remove. Defaults to 1.
|
|
509
194
|
*/
|
|
510
195
|
delete(index: number, length?: number): void;
|
|
511
|
-
/**
|
|
512
|
-
* Returns the i-th element from a YArray.
|
|
513
|
-
*
|
|
514
|
-
* @param {number} index The index of the element to return from the YArray
|
|
515
|
-
* @return {delta.DeltaConfGetChildren<DConf>}
|
|
516
|
-
*/
|
|
517
|
-
get(index: number): delta.DeltaConfGetChildren<DConf>;
|
|
518
|
-
/**
|
|
519
|
-
* Returns a portion of this YXmlFragment into a JavaScript Array selected
|
|
520
|
-
* from start to end (end not included).
|
|
521
|
-
*
|
|
522
|
-
* @param {number} [start]
|
|
523
|
-
* @param {number} [end]
|
|
524
|
-
* @return {Array<delta.DeltaConfGetChildren<DConf>>}
|
|
525
|
-
*/
|
|
526
|
-
slice(start?: number, end?: number): Array<delta.DeltaConfGetChildren<DConf>>;
|
|
527
|
-
/**
|
|
528
|
-
* @todo refactor this, this should use getContent only!
|
|
529
|
-
*
|
|
530
|
-
* Transforms this YArray to a JavaScript Array.
|
|
531
|
-
*
|
|
532
|
-
* @return {Array<delta.DeltaConfGetChildren<DConf> | delta.DeltaConfGetText<DConf>>}
|
|
533
|
-
*/
|
|
534
|
-
toArray(): Array<delta.DeltaConfGetChildren<DConf> | delta.DeltaConfGetText<DConf>>;
|
|
535
|
-
/**
|
|
536
|
-
* Transforms this Shared Type to a JSON object.
|
|
537
|
-
* @return {{ name?: string, attrs?: { [K:string|number]: any }, children?: Array<any> }}
|
|
538
|
-
*/
|
|
539
|
-
toJSON(): {
|
|
540
|
-
name?: string;
|
|
541
|
-
attrs?: {
|
|
542
|
-
[K: string | number]: any;
|
|
543
|
-
};
|
|
544
|
-
children?: Array<any>;
|
|
545
|
-
};
|
|
546
|
-
/**
|
|
547
|
-
* @param {object} opts
|
|
548
|
-
* @param {boolean} [opts.forceTag] enforce creating a surrouning <name /> tag, even if it is null.
|
|
549
|
-
*/
|
|
550
|
-
toString({ forceTag }?: {
|
|
551
|
-
forceTag?: boolean | undefined;
|
|
552
|
-
}): string;
|
|
553
|
-
/**
|
|
554
|
-
* Returns an Array with the result of calling a provided function on every
|
|
555
|
-
* child-element.
|
|
556
|
-
*
|
|
557
|
-
* @template M
|
|
558
|
-
* @param {(child:delta.DeltaConfGetChildren<DConf>|delta.DeltaConfGetText<DConf>,index:number)=>M} f Function that produces an element of the new Array
|
|
559
|
-
* @return {Array<M>} A new array with each element being the result of the
|
|
560
|
-
* callback function
|
|
561
|
-
*/
|
|
562
|
-
map<M>(f: (child: delta.DeltaConfGetChildren<DConf> | delta.DeltaConfGetText<DConf>, index: number) => M): Array<M>;
|
|
563
|
-
/**
|
|
564
|
-
* Executes a provided function once on every element of this YArray.
|
|
565
|
-
*
|
|
566
|
-
* @param {(child:delta.DeltaConfGetChildren<DConf>|delta.DeltaConfGetText<DConf>,index:number)=>any} f Function that produces an element of the new Array
|
|
567
|
-
*/
|
|
568
|
-
forEach(f: (child: delta.DeltaConfGetChildren<DConf> | delta.DeltaConfGetText<DConf>, index: number) => any): void;
|
|
569
196
|
/**
|
|
570
197
|
* Executes a provided function on once on every key-value pair.
|
|
571
198
|
*
|
|
572
|
-
* @param {(val:
|
|
573
|
-
*/
|
|
574
|
-
forEachAttr(f: (val: delta.DeltaConfGetAttrs<DConf>[any], key: Exclude<keyof delta.DeltaConfGetAttrs<DConf>, symbol>, ynode: this) => any): void;
|
|
575
|
-
/**
|
|
576
|
-
* Returns the keys for each element in the YMap Type.
|
|
577
|
-
*
|
|
578
|
-
* @return {IterableIterator<import('lib0-v14/ts').KeyOf<delta.DeltaConfGetAttrs<DConf>>>}
|
|
579
|
-
*/
|
|
580
|
-
attrKeys(): IterableIterator<import("lib0-v14/ts").KeyOf<delta.DeltaConfGetAttrs<DConf>>>;
|
|
581
|
-
/**
|
|
582
|
-
* Returns the values for each element in the YMap Type.
|
|
583
|
-
*
|
|
584
|
-
* @return {IterableIterator<delta.DeltaConfGetAttrs<DConf>[any]>}
|
|
585
|
-
*/
|
|
586
|
-
attrValues(): IterableIterator<delta.DeltaConfGetAttrs<DConf>[any]>;
|
|
587
|
-
/**
|
|
588
|
-
* Returns an Iterator of [key, value] pairs
|
|
589
|
-
*
|
|
590
|
-
* @return {IterableIterator<{ [K in keyof delta.DeltaConfGetAttrs<DConf>]: [K,delta.DeltaConfGetAttrs<DConf>[K]] }[any]>}
|
|
199
|
+
* @param {(val:any,key:string,ynode:this)=>any} f
|
|
591
200
|
*/
|
|
592
|
-
|
|
201
|
+
forEachAttr(f: (val: any, key: string, ynode: this) => any): void;
|
|
593
202
|
/**
|
|
594
|
-
*
|
|
203
|
+
* The keys of the live attributes.
|
|
595
204
|
*
|
|
596
|
-
* @return {
|
|
205
|
+
* @return {IterableIterator<string>}
|
|
597
206
|
*/
|
|
598
|
-
|
|
207
|
+
attrKeys(): IterableIterator<string>;
|
|
599
208
|
/**
|
|
600
|
-
*
|
|
209
|
+
* Write this node's type reference (and name), sent with the item that holds it.
|
|
601
210
|
*
|
|
602
|
-
*
|
|
603
|
-
* BinaryEncoder.
|
|
604
|
-
*
|
|
605
|
-
* This is called when this Item is sent to a remote peer.
|
|
606
|
-
*
|
|
607
|
-
* @param {UpdateEncoderV1 | UpdateEncoderV2} encoder The encoder to write data to.
|
|
608
|
-
*/
|
|
609
|
-
_write(encoder: UpdateEncoderV1 | UpdateEncoderV2): void;
|
|
610
|
-
$type: s.Schema<YNode<any>>;
|
|
611
|
-
/**
|
|
612
|
-
* @param {this} other
|
|
211
|
+
* @param {UpdateEncoder} encoder The encoder to write data to.
|
|
613
212
|
*/
|
|
614
|
-
|
|
213
|
+
_write(encoder: UpdateEncoder): void;
|
|
615
214
|
}
|
|
616
|
-
/**
|
|
617
|
-
* Schema of a {@link YNode} with any delta configuration. This is where the nominal `y:node` tag
|
|
618
|
-
* lives - {@link $node} builds on it. Mirrors lib0's `$deltaAny` / `$delta` split.
|
|
619
|
-
*/
|
|
620
|
-
export const $nodeAny: s.Schema<YNode<any>>;
|
|
621
|
-
export function computeModifiedFromItems(store: StructStore, items: IdSet): Map<YNode<any>, Set<string | null>>;
|
|
622
|
-
export function typeApplyRendererChange(type: YNode<any>, changes: IdSet, origin: any): void;
|
|
623
|
-
export function equalFormats(a: any, b: any): boolean;
|
|
624
|
-
export function typeListSlice(type: YNode<any>, start: number, end: number): Array<any>;
|
|
625
|
-
export function typeListGet(type: YNode, index: number): any;
|
|
626
215
|
export function nodeMapDelete(transaction: Transaction, parent: YNode, key: string): void;
|
|
627
216
|
export function nodeMapSet(transaction: Transaction, parent: YNode, key: string, value: YValue): void;
|
|
628
|
-
export function
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
export function
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
} | null | undefined;
|
|
635
|
-
};
|
|
636
|
-
export function nodeMapGetDelta<TypeDelta extends delta.DeltaBuilderAny>(d: TypeDelta, parent: YNode, attrsToRender: Set<string | null> | null, renderer: AbstractRenderer | null, deep: boolean, modified?: Set<YNode> | Map<YNode, any> | null, itemsToRender?: IdSet | null, opts?: any, optsAll?: any): void;
|
|
637
|
-
export function nodeMapHas(parent: YNode<any>, key: string): boolean;
|
|
638
|
-
export function createMapIterator(type: YNode<any> & {
|
|
639
|
-
_map: Map<string, Item>;
|
|
640
|
-
}): IterableIterator<Array<any>>;
|
|
641
|
-
export function readContentType(decoder: UpdateDecoderV1 | UpdateDecoderV2): ContentType;
|
|
642
|
-
export function readContentString(decoder: UpdateDecoderV1 | UpdateDecoderV2): ContentString;
|
|
643
|
-
export function readContentJSON(decoder: UpdateDecoderV1 | UpdateDecoderV2): ContentJSON;
|
|
644
|
-
export function readContentFormat(decoder: UpdateDecoderV1 | UpdateDecoderV2): ContentFormat;
|
|
645
|
-
export function readContentEmbed(decoder: UpdateDecoderV1 | UpdateDecoderV2): ContentEmbed;
|
|
646
|
-
export function readContentDoc(decoder: UpdateDecoderV1 | UpdateDecoderV2): ContentDoc;
|
|
647
|
-
export function readContentAny(decoder: UpdateDecoderV1 | UpdateDecoderV2): ContentAny;
|
|
648
|
-
export function readContentBinary(decoder: UpdateDecoderV1 | UpdateDecoderV2): ContentBinary;
|
|
649
|
-
export function readContentDeleted(decoder: UpdateDecoderV1 | UpdateDecoderV2): ContentDeleted;
|
|
217
|
+
export function readContentType(decoder: UpdateDecoder): ContentType;
|
|
218
|
+
export function readContentString(decoder: UpdateDecoder): ContentString;
|
|
219
|
+
export function readContentFormat(decoder: UpdateDecoder): ContentFormat;
|
|
220
|
+
export function readContentAny(decoder: UpdateDecoder): ContentAny;
|
|
221
|
+
export function readContentBinary(decoder: UpdateDecoder): ContentBinary;
|
|
222
|
+
export function readContentDeleted(decoder: UpdateDecoder): ContentDeleted;
|
|
650
223
|
/**
|
|
651
|
-
* A lookup map for reading Item content.
|
|
224
|
+
* A lookup map for reading Item content. YP19: JSON (2), embed (5) and
|
|
225
|
+
* subdocument (9) contents are refused like GC (0) and Skip (10): edytor
|
|
226
|
+
* writes none, so an update holding one is malformed.
|
|
652
227
|
*
|
|
653
|
-
* @type {Array<function(
|
|
228
|
+
* @type {Array<function(UpdateDecoder):AbstractContent>}
|
|
654
229
|
*/
|
|
655
|
-
export const contentRefs: Array<(arg0:
|
|
656
|
-
export function readItemContent(decoder:
|
|
657
|
-
export function readYNode(decoder:
|
|
230
|
+
export const contentRefs: Array<(arg0: UpdateDecoder) => AbstractContent>;
|
|
231
|
+
export function readItemContent(decoder: UpdateDecoder, info: number): import("./structs/Item.js").AbstractContent;
|
|
232
|
+
export function readYNode(decoder: UpdateDecoder): YNode;
|
|
658
233
|
export type YValue = {
|
|
659
234
|
[x: string]: any;
|
|
660
|
-
} | Array<any> | number | null | string | Uint8Array | bigint | YNode
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
235
|
+
} | Array<any> | number | null | string | Uint8Array | bigint | YNode;
|
|
236
|
+
/**
|
|
237
|
+
* What a detached node was given, replayed when it integrates: its content
|
|
238
|
+
* (adjacent strings, and adjacent arrays, merged) and its attrs in
|
|
239
|
+
* first-write order (`null`: removed).
|
|
240
|
+
*/
|
|
241
|
+
export type Prelim = {
|
|
242
|
+
runs: Array<string | Array<any>>;
|
|
243
|
+
attrs: {
|
|
244
|
+
[x: string]: {
|
|
245
|
+
value: any;
|
|
246
|
+
} | null;
|
|
247
|
+
};
|
|
248
|
+
};
|
|
666
249
|
import { Item } from './structs/Item.js';
|
|
667
|
-
import { YEvent } from './utils/YEvent.js';
|
|
668
|
-
import * as delta from 'lib0-v14/delta';
|
|
669
|
-
import { ObservableV2 } from 'lib0-v14/observable';
|
|
670
|
-
import * as s from 'lib0-v14/schema';
|
|
671
|
-
import * as traits from 'lib0-v14/traits';
|
|
672
250
|
import { ContentType } from './structs/Item.js';
|
|
673
251
|
import { ContentString } from './structs/Item.js';
|
|
674
|
-
import { ContentJSON } from './structs/Item.js';
|
|
675
252
|
import { ContentFormat } from './structs/Item.js';
|
|
676
|
-
import { ContentEmbed } from './structs/Item.js';
|
|
677
|
-
import { ContentDoc } from './structs/Item.js';
|
|
678
253
|
import { ContentAny } from './structs/Item.js';
|
|
679
254
|
import { ContentBinary } from './structs/Item.js';
|
|
680
255
|
import { ContentDeleted } from './structs/Item.js';
|