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,5 +1,5 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import {
|
|
2
|
+
import type { ColumnResize } from './resize.svelte.js';
|
|
3
3
|
|
|
4
4
|
/**
|
|
5
5
|
* The resize bands of the hovered layout and the guide of a drag
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
|
|
14
14
|
// The view turning readonly mid-drag drops the preview at once (round 4).
|
|
15
15
|
$effect(() => {
|
|
16
|
-
if (resize.readonly) resize.lock();
|
|
16
|
+
if (resize.readonly) resize.band.lock();
|
|
17
17
|
});
|
|
18
18
|
</script>
|
|
19
19
|
|
|
@@ -39,11 +39,9 @@
|
|
|
39
39
|
style:width="{strip.width}px"
|
|
40
40
|
style:height="{strip.height}px"
|
|
41
41
|
style:cursor="col-resize"
|
|
42
|
-
|
|
43
|
-
data-
|
|
44
|
-
|
|
45
|
-
onpointerdown={(event) => resize.start(event, strip)}
|
|
46
|
-
onmousedown={(event) => resize.mousedown(event, strip)}
|
|
42
|
+
data-dragging={resize.band.drag ? 'true' : undefined}
|
|
43
|
+
data-selecting={resize.band.selecting ? 'true' : undefined}
|
|
44
|
+
{@attach resize.band.press((event) => resize.start(event, strip))}
|
|
47
45
|
onkeydown={(event) => resize.key(event, strip)}
|
|
48
46
|
onfocus={() => resize.focus(strip, true)}
|
|
49
47
|
onblur={() => resize.focus(strip, false)}
|
|
@@ -72,38 +70,28 @@
|
|
|
72
70
|
pointer-events: none;
|
|
73
71
|
}
|
|
74
72
|
|
|
75
|
-
/*
|
|
73
|
+
/* The hover guide: a 2px rule in the band's middle, shown on hover (not while
|
|
74
|
+
* it drags) and on a keyboard focus. Painted by a theme (`edytor/themes/notion.css`). */
|
|
76
75
|
[data-edytor-column-resize]::after {
|
|
77
76
|
content: '';
|
|
78
77
|
position: absolute;
|
|
79
78
|
top: 0;
|
|
80
79
|
bottom: 0;
|
|
81
|
-
left: calc(50% -
|
|
82
|
-
width:
|
|
83
|
-
background: var(--edytor-columns-resize-color, rgba(55, 53, 47, 0.16));
|
|
84
|
-
opacity: 0;
|
|
80
|
+
left: calc(50% - 1px);
|
|
81
|
+
width: 2px;
|
|
85
82
|
pointer-events: none;
|
|
86
|
-
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
[data-edytor-column-resize]:hover:not([data-dragging='true'])::after {
|
|
90
|
-
opacity: 1;
|
|
83
|
+
visibility: hidden;
|
|
91
84
|
}
|
|
92
85
|
|
|
93
|
-
|
|
94
|
-
[data-edytor-column-resize]:focus-visible {
|
|
95
|
-
outline: none;
|
|
96
|
-
}
|
|
86
|
+
[data-edytor-column-resize]:hover:not([data-dragging='true'])::after,
|
|
97
87
|
[data-edytor-column-resize]:focus-visible::after {
|
|
98
|
-
|
|
99
|
-
background: var(--edytor-column-resize-color, rgba(35, 131, 226, 0.43));
|
|
88
|
+
visibility: visible;
|
|
100
89
|
}
|
|
101
90
|
|
|
102
|
-
/*
|
|
91
|
+
/* The resize line where the gap will be, while a band drags. */
|
|
103
92
|
[data-edytor-column-resize-guide] {
|
|
104
93
|
position: absolute;
|
|
105
94
|
width: 2px;
|
|
106
|
-
background: var(--edytor-column-resize-color, rgba(35, 131, 226, 0.43));
|
|
107
95
|
pointer-events: none;
|
|
108
96
|
}
|
|
109
97
|
</style>
|
|
@@ -11,7 +11,9 @@
|
|
|
11
11
|
} from '../../selection/replaceSelection.js';
|
|
12
12
|
import ColumnResizeStrips from './ColumnResize.svelte';
|
|
13
13
|
import { ColumnResize, weightOf } from './resize.svelte.js';
|
|
14
|
-
import {
|
|
14
|
+
import { hoverChrome } from '../bands.svelte.js';
|
|
15
|
+
import { all, listen } from '../../utils/listen.js';
|
|
16
|
+
import { columnsEnglish, keywordsOf, labelsOf } from '../../labels.js';
|
|
15
17
|
|
|
16
18
|
export type ColumnsPluginOptions = {
|
|
17
19
|
/**
|
|
@@ -19,20 +21,8 @@
|
|
|
19
21
|
* width (default `0.1`). View-only: the document stores weights.
|
|
20
22
|
*/
|
|
21
23
|
minWidth?: number;
|
|
22
|
-
/** The words the layout commands and the resize bands say, over the English ones. */
|
|
23
|
-
labels?: PartialLabels<'columns'>;
|
|
24
|
-
/**
|
|
25
|
-
* The slash menu's keywords of a layout command, by id (`columns.2` to
|
|
26
|
-
* `columns.5`), which replace its own.
|
|
27
|
-
*/
|
|
28
|
-
keywords?: Partial<Record<string, string[]>>;
|
|
29
24
|
};
|
|
30
25
|
|
|
31
|
-
const columnsPlugins = new WeakSet<Plugin>();
|
|
32
|
-
|
|
33
|
-
/** Recognize any columns plugin instance (the component's default yields to yours). */
|
|
34
|
-
export const isColumnsPlugin = (plugin: Plugin) => columnsPlugins.has(plugin);
|
|
35
|
-
|
|
36
26
|
/** A weight read back from HTML (`data-width`), when it is one. */
|
|
37
27
|
const parsedWidth = (element: HTMLElement): Record<string, number> => {
|
|
38
28
|
const width = Number(element.getAttribute('data-width'));
|
|
@@ -51,19 +41,22 @@
|
|
|
51
41
|
};
|
|
52
42
|
|
|
53
43
|
/** The kind row of a layout of `n` columns, each holding one empty block of the column's default kind. */
|
|
54
|
-
const layoutRow = (edytor: Edytor, n: number
|
|
44
|
+
const layoutRow = (edytor: Edytor, n: number): KindRow => {
|
|
55
45
|
const kid = edytor.document.defaultChild('column');
|
|
56
46
|
const id = `columns.${n}`;
|
|
57
47
|
return {
|
|
58
48
|
id,
|
|
59
|
-
label:
|
|
49
|
+
label: labelsOf(edytor, 'columns', columnsEnglish).columns(n),
|
|
60
50
|
group: 'Layout',
|
|
61
51
|
// Notion's `/col3`, `/columns3` and `/column 3` too (query words match in order).
|
|
62
|
-
keywords: keywordsOf(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
52
|
+
keywords: keywordsOf(edytor, id, [
|
|
53
|
+
'columns',
|
|
54
|
+
'layout',
|
|
55
|
+
'side by side',
|
|
56
|
+
`col${n}`,
|
|
57
|
+
`columns${n}`,
|
|
58
|
+
`column ${n}`
|
|
59
|
+
]),
|
|
67
60
|
value: {
|
|
68
61
|
type: 'columns',
|
|
69
62
|
data: {},
|
|
@@ -88,12 +81,8 @@
|
|
|
88
81
|
* block column 1 of `n`, each other column holding an empty paragraph
|
|
89
82
|
* (`wrapBlocks`, `layout.wrap`, Notion); the blocks stay selected.
|
|
90
83
|
*/
|
|
91
|
-
const layoutCommand = (
|
|
92
|
-
edytor
|
|
93
|
-
n: number,
|
|
94
|
-
options: ColumnsPluginOptions
|
|
95
|
-
): EditorCommand => {
|
|
96
|
-
const { id, label, group, keywords } = layoutRow(edytor, n, options);
|
|
84
|
+
const layoutCommand = (edytor: Edytor, n: number): EditorCommand => {
|
|
85
|
+
const { id, label, group, keywords } = layoutRow(edytor, n);
|
|
97
86
|
return {
|
|
98
87
|
id,
|
|
99
88
|
label,
|
|
@@ -101,7 +90,7 @@
|
|
|
101
90
|
keywords,
|
|
102
91
|
// Asked of the view given (a `+`'s menu asks it of the block it adds).
|
|
103
92
|
isEnabled: (view = edytor) => {
|
|
104
|
-
const block = view.selection.
|
|
93
|
+
const block = view.selection.textRange().startText?.parent;
|
|
105
94
|
return Boolean(block?.convertible) && !inColumn(block);
|
|
106
95
|
},
|
|
107
96
|
// Turn into: one block, or `n` sibling blocks, in `n` columns (`layout.wrap`, Notion).
|
|
@@ -114,12 +103,12 @@
|
|
|
114
103
|
(selected.length === 1 || selected.length === n)
|
|
115
104
|
)
|
|
116
105
|
return wrapBlocks(edytor, selected, 'columns', n);
|
|
117
|
-
const block = edytor.selection.
|
|
106
|
+
const block = edytor.selection.textRange().startText?.parent;
|
|
118
107
|
if (inColumn(block)) {
|
|
119
108
|
edytor.dispatcher.record({ operation: 'setBlock', status: 'refused' });
|
|
120
109
|
return false;
|
|
121
110
|
}
|
|
122
|
-
return convertToKind(edytor, block, layoutRow(edytor, n
|
|
111
|
+
return convertToKind(edytor, block, layoutRow(edytor, n));
|
|
123
112
|
}
|
|
124
113
|
};
|
|
125
114
|
};
|
|
@@ -148,57 +137,40 @@
|
|
|
148
137
|
*/
|
|
149
138
|
export const createColumnsPlugin = (options: ColumnsPluginOptions = {}): Plugin => {
|
|
150
139
|
const plugin: Plugin = (edytor) => {
|
|
151
|
-
const resize = new ColumnResize(
|
|
152
|
-
edytor,
|
|
153
|
-
options.minWidth ?? 0.1,
|
|
154
|
-
labelsWith('columns', options.labels)
|
|
155
|
-
);
|
|
140
|
+
const resize = new ColumnResize(edytor, options.minWidth ?? 0.1);
|
|
156
141
|
return {
|
|
157
|
-
commands: [2, 3, 4, 5].map((n) => layoutCommand(edytor, n
|
|
142
|
+
commands: [2, 3, 4, 5].map((n) => layoutCommand(edytor, n)),
|
|
158
143
|
// The layout holding the caret shows its bands (the keyboard's way to them).
|
|
159
144
|
onSelectionChange: () => edytor.overlay.invalidate(),
|
|
160
145
|
// The resize bands: in the overlay, for the layout under the pointer.
|
|
161
146
|
onEdytorAttached: ({ node }) => {
|
|
162
|
-
const
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
'edytor-column-resizers',
|
|
188
|
-
// Above the block handles (5): the band is the gap's left part at every height.
|
|
189
|
-
6,
|
|
190
|
-
resize.measure
|
|
147
|
+
const off = all(
|
|
148
|
+
// The overlay (a band, a handle in a gap) keeps the bands while the pointer is on
|
|
149
|
+
// it; a block drag owns the pointer: no strip takes it meanwhile.
|
|
150
|
+
hoverChrome(
|
|
151
|
+
edytor,
|
|
152
|
+
node,
|
|
153
|
+
resize.hover,
|
|
154
|
+
resize.leave,
|
|
155
|
+
(event) => (resize.dragging = event.type === 'dragstart')
|
|
156
|
+
),
|
|
157
|
+
// A column block's handle in a gap stands for its block (the bands show over its layout).
|
|
158
|
+
listen(edytor.overlay.layer, 'pointerover', (event) => {
|
|
159
|
+
const id = (event.target as Element | null)?.closest?.<HTMLElement>(
|
|
160
|
+
'[data-edytor-block-handle-host][data-block-id]'
|
|
161
|
+
)?.dataset.blockId;
|
|
162
|
+
if (id) resize.hover(edytor.idToBlock.get(id)?.node ?? null);
|
|
163
|
+
}),
|
|
164
|
+
edytor.overlay.mount(
|
|
165
|
+
ColumnResizeStrips,
|
|
166
|
+
{ resize },
|
|
167
|
+
'edytor-column-resizers',
|
|
168
|
+
// Above the block handles (5): the band is the gap's left part at every height.
|
|
169
|
+
6,
|
|
170
|
+
resize.measure
|
|
171
|
+
)
|
|
191
172
|
);
|
|
192
|
-
return
|
|
193
|
-
node.removeEventListener('pointerover', over);
|
|
194
|
-
node.removeEventListener('pointerleave', leave);
|
|
195
|
-
layer?.removeEventListener('pointerleave', leave);
|
|
196
|
-
layer?.removeEventListener('pointerover', overHandle);
|
|
197
|
-
document.removeEventListener('dragstart', drag, true);
|
|
198
|
-
document.removeEventListener('dragend', drag, true);
|
|
199
|
-
document.removeEventListener('drop', drag, true);
|
|
200
|
-
unmount();
|
|
201
|
-
};
|
|
173
|
+
return off;
|
|
202
174
|
},
|
|
203
175
|
blocks: {
|
|
204
176
|
columns: {
|
|
@@ -229,12 +201,8 @@
|
|
|
229
201
|
}
|
|
230
202
|
};
|
|
231
203
|
};
|
|
232
|
-
columnsPlugins.add(plugin);
|
|
233
204
|
return plugin;
|
|
234
205
|
};
|
|
235
|
-
|
|
236
|
-
/** Columns with the default options. */
|
|
237
|
-
export const columnsPlugin = createColumnsPlugin();
|
|
238
206
|
</script>
|
|
239
207
|
|
|
240
208
|
<!--
|
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
import './columns.css';
|
|
2
2
|
import type { Plugin } from '../../plugins.js';
|
|
3
|
-
import { type PartialLabels } from '../../labels.js';
|
|
4
3
|
export type ColumnsPluginOptions = {
|
|
5
4
|
/**
|
|
6
5
|
* The narrowest a column may be resized to, as a fraction of its layout's
|
|
7
6
|
* width (default `0.1`). View-only: the document stores weights.
|
|
8
7
|
*/
|
|
9
8
|
minWidth?: number;
|
|
10
|
-
/** The words the layout commands and the resize bands say, over the English ones. */
|
|
11
|
-
labels?: PartialLabels<'columns'>;
|
|
12
|
-
/**
|
|
13
|
-
* The slash menu's keywords of a layout command, by id (`columns.2` to
|
|
14
|
-
* `columns.5`), which replace its own.
|
|
15
|
-
*/
|
|
16
|
-
keywords?: Partial<Record<string, string[]>>;
|
|
17
9
|
};
|
|
18
|
-
/** Recognize any columns plugin instance (the component's default yields to yours). */
|
|
19
|
-
export declare const isColumnsPlugin: (plugin: Plugin) => boolean;
|
|
20
10
|
/**
|
|
21
11
|
* Notion's columns (docs/columns-plan.md): a `columns` layout shows its
|
|
22
12
|
* `column`s side by side, each holding any blocks; a column grows by its
|
|
@@ -26,8 +16,6 @@ export declare const isColumnsPlugin: (plugin: Plugin) => boolean;
|
|
|
26
16
|
* out and stacks them below a 480px wide layout.
|
|
27
17
|
*/
|
|
28
18
|
export declare const createColumnsPlugin: (options?: ColumnsPluginOptions) => Plugin;
|
|
29
|
-
/** Columns with the default options. */
|
|
30
|
-
export declare const columnsPlugin: Plugin;
|
|
31
19
|
interface $$__sveltets_2_IsomorphicComponent<Props extends Record<string, any> = any, Events extends Record<string, any> = any, Slots extends Record<string, any> = any, Exports = {}, Bindings = string> {
|
|
32
20
|
new (options: import('svelte').ComponentConstructorOptions<Props>): import('svelte').SvelteComponent<Props, Events, Slots> & {
|
|
33
21
|
$$bindings?: Bindings;
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* Columns
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
* their indent is zeroed. Below a
|
|
2
|
+
* Columns: a layout lays its columns out side by side in its one children
|
|
3
|
+
* container, each column growing by its weight (`flex: <width> 1 0`, set on
|
|
4
|
+
* the column by the kind's element), with `--edytor-columns-gap` between
|
|
5
|
+
* them (the gap the resize bands and the handles share, `gaps.ts`).
|
|
6
|
+
* Neither container is a nesting step: their indent is zeroed. Below a
|
|
7
|
+
* 480px wide layout the columns stack. The look (a selected layout's
|
|
8
|
+
* highlight, the columns' edges) is a theme's.
|
|
7
9
|
*/
|
|
8
10
|
[data-edytor-block][data-edytor-columns] {
|
|
9
11
|
container-type: inline-size;
|
|
@@ -19,13 +21,6 @@
|
|
|
19
21
|
[data-edytor-block][data-edytor-column] > [data-edytor-children] {
|
|
20
22
|
padding-inline-start: 0;
|
|
21
23
|
}
|
|
22
|
-
/* A column's first and last blocks sit flush with the layout's edges. */
|
|
23
|
-
[data-edytor-column] > [data-edytor-children] > [data-edytor-block]:first-child {
|
|
24
|
-
margin-top: 0;
|
|
25
|
-
}
|
|
26
|
-
[data-edytor-column] > [data-edytor-children] > [data-edytor-block]:last-child {
|
|
27
|
-
margin-bottom: 0;
|
|
28
|
-
}
|
|
29
24
|
@container (max-width: 480px) {
|
|
30
25
|
[data-edytor-block][data-edytor-columns] > [data-edytor-children] {
|
|
31
26
|
flex-direction: column;
|
|
@@ -36,17 +31,3 @@
|
|
|
36
31
|
flex: 0 0 auto !important;
|
|
37
32
|
}
|
|
38
33
|
}
|
|
39
|
-
|
|
40
|
-
/*
|
|
41
|
-
* A block selection standing for the whole layout: one highlight over
|
|
42
|
-
* the layout, none on its blocks.
|
|
43
|
-
*/
|
|
44
|
-
[data-edytor-block][data-edytor-columns] > [data-edytor-children][data-edytor-columns-selected] {
|
|
45
|
-
border-radius: 4px;
|
|
46
|
-
background: var(--edytor-block-selection, rgba(35, 131, 226, 0.14));
|
|
47
|
-
}
|
|
48
|
-
[data-edytor-block][data-edytor-columns]
|
|
49
|
-
> [data-edytor-children][data-edytor-columns-selected]
|
|
50
|
-
[data-edytor-block] {
|
|
51
|
-
background: transparent;
|
|
52
|
-
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Block } from '../../block/block.svelte.js';
|
|
2
2
|
import type { Edytor } from '../../edytor.svelte.js';
|
|
3
|
-
import {
|
|
3
|
+
import { BandDrag } from '../bands.svelte.js';
|
|
4
4
|
/** The guide line's width (the hover guide's and the drag's). */
|
|
5
5
|
export declare const GUIDE = 2;
|
|
6
6
|
/** A column's weight: `data.width`, a positive number, else 1. */
|
|
@@ -20,15 +20,14 @@ export type Strip = {
|
|
|
20
20
|
};
|
|
21
21
|
/** A strip being dragged: the two columns as the drag found them, in client px. */
|
|
22
22
|
type Drag = {
|
|
23
|
-
strip: Strip;
|
|
24
23
|
left: Block;
|
|
25
24
|
right: Block;
|
|
26
25
|
/** Where the pointer went down, and where it is. */
|
|
27
26
|
from: number;
|
|
28
27
|
at: number;
|
|
29
|
-
/** The left column's width
|
|
28
|
+
/** The left column's width. */
|
|
30
29
|
width: number;
|
|
31
|
-
/** The layout's width. */
|
|
30
|
+
/** The layout's width, the pair's, and the narrowest either may get. */
|
|
32
31
|
span: number;
|
|
33
32
|
sum: number;
|
|
34
33
|
min: number;
|
|
@@ -53,7 +52,7 @@ type Drag = {
|
|
|
53
52
|
* release writes the two columns' `data.width` weights, keeping their sum,
|
|
54
53
|
* in one `edytor.transact` (two `setData` commands: one undo step), and
|
|
55
54
|
* drops the preview in the same flush; Escape, a cancel or the view turning
|
|
56
|
-
* readonly drops it alone, at once.
|
|
55
|
+
* readonly drops it alone, at once (`band`).
|
|
57
56
|
* Neither column goes under `minWidth` × the layout's width, in the view
|
|
58
57
|
* only (the document stores weights). Positions are read in the overlay's
|
|
59
58
|
* measure, once per frame.
|
|
@@ -68,8 +67,6 @@ export declare class ColumnResize {
|
|
|
68
67
|
#private;
|
|
69
68
|
private edytor;
|
|
70
69
|
private minWidth;
|
|
71
|
-
/** The words the bands say (the plugin's `labels`). */
|
|
72
|
-
readonly labels: ColumnsLabels;
|
|
73
70
|
/** The layout under the pointer. */
|
|
74
71
|
hovered: string | null;
|
|
75
72
|
/** The layout whose band holds the focus. */
|
|
@@ -78,8 +75,8 @@ export declare class ColumnResize {
|
|
|
78
75
|
dragging: boolean;
|
|
79
76
|
/** The measured strips of the hovered layout. */
|
|
80
77
|
strips: Strip[];
|
|
81
|
-
/** The strip
|
|
82
|
-
|
|
78
|
+
/** The strip's drag in progress (`band.drag`). */
|
|
79
|
+
band: BandDrag<Drag>;
|
|
83
80
|
/** The guide's layer-relative box while a strip drags. */
|
|
84
81
|
guide: {
|
|
85
82
|
x: number;
|
|
@@ -88,21 +85,12 @@ export declare class ColumnResize {
|
|
|
88
85
|
} | null;
|
|
89
86
|
/** The two dragged columns' weights at the pointer, by id, while a strip drags (view only). */
|
|
90
87
|
preview: Readonly<Record<string, number>> | null;
|
|
91
|
-
constructor(edytor: Edytor, minWidth: number
|
|
92
|
-
/** The words the bands say (the
|
|
93
|
-
labels
|
|
88
|
+
constructor(edytor: Edytor, minWidth: number);
|
|
89
|
+
/** The words the bands say (the view's `columns` labels). */
|
|
90
|
+
get labels(): import("../../labels.js").ColumnsLabels;
|
|
94
91
|
/** The view is readonly (reactive). */
|
|
95
92
|
get readonly(): boolean;
|
|
96
|
-
/**
|
|
97
|
-
get selecting(): boolean;
|
|
98
|
-
/**
|
|
99
|
-
* The layout whose bands show: the one a strip drags, else the one under
|
|
100
|
-
* the pointer, the one a band holds the focus of, the one holding the caret.
|
|
101
|
-
*/
|
|
102
|
-
private get layout();
|
|
103
|
-
/** The innermost layout holding the selection's start (the keyboard's). */
|
|
104
|
-
private get caretLayout();
|
|
105
|
-
/** Whether the strips show: for a layout of an editable view (`layout`), or while one drags. */
|
|
93
|
+
/** Whether the strips show: for a layout of an editable view, or while one drags. */
|
|
106
94
|
get shown(): boolean;
|
|
107
95
|
/** A column's weight as shown: the drag's preview while a strip drags it, else its stored one. */
|
|
108
96
|
weight: (id: string | undefined, data: Record<string, unknown> | undefined) => number;
|
|
@@ -110,50 +98,25 @@ export declare class ColumnResize {
|
|
|
110
98
|
hover: (target: EventTarget | null) => void;
|
|
111
99
|
/**
|
|
112
100
|
* The pointer left for `to`: the bands stay while it is over the editor
|
|
113
|
-
* or its overlay (a band, a column block's handle in the gap).
|
|
101
|
+
* or its overlay (a band, a column block's handle in the gap), or a strip drags.
|
|
114
102
|
*/
|
|
115
103
|
leave: (to: EventTarget | null) => void;
|
|
116
104
|
/** The overlay measure: the hovered layout's gaps, and the guide of a drag. */
|
|
117
105
|
measure: (host: HTMLElement, origin: DOMRect) => () => void;
|
|
118
|
-
/** The bands of the hovered layout (`bandOf` each gap): none when it stacks or shows fewer than two columns. */
|
|
119
|
-
private gaps;
|
|
120
|
-
/** The left column's width at the drag's pointer, held to the minimum on both sides. */
|
|
121
|
-
private widthAt;
|
|
122
|
-
/**
|
|
123
|
-
* A `mousedown` on `strip`: no native selection starts there; the press
|
|
124
|
-
* itself when no `pointerdown` came before it (`isLonePress`: WebKit's
|
|
125
|
-
* first press after a block drag), which starts the drag as one would.
|
|
126
|
-
*/
|
|
127
|
-
mousedown: (event: MouseEvent, strip: Strip) => void;
|
|
128
106
|
/**
|
|
129
|
-
* Press on `strip
|
|
130
|
-
*
|
|
131
|
-
* `mousedown` (`mousedown`) tracks the mouse on the window, its
|
|
132
|
-
* `mousemove`s and its `mouseup`, with the same preview, minimum, Escape
|
|
133
|
-
* and release.
|
|
107
|
+
* Press on `strip` (`band.press`): the drag starts (`trackDrag`), nothing
|
|
108
|
+
* is written until the release.
|
|
134
109
|
*/
|
|
135
110
|
start: (event: PointerEvent | MouseEvent, strip: Strip) => void;
|
|
136
|
-
/** `strip`'s two columns as they are now, measured, a drag from `from`; `null` when one is gone. */
|
|
137
|
-
private pair;
|
|
138
111
|
/**
|
|
139
112
|
* A key on a focused band: ArrowRight/ArrowLeft move the gap by 1% of the
|
|
140
113
|
* layout's width (Shift: 10%), Home/End to the narrowest either column
|
|
141
114
|
* may get (the drag's minimum); each press writes both weights, keeping
|
|
142
|
-
* their sum, as one undo step (
|
|
115
|
+
* their sum, as one undo step (`#release`). Every key there is the band's,
|
|
143
116
|
* never the editor's; Escape gives the keys back to the editor.
|
|
144
117
|
*/
|
|
145
118
|
key: (event: KeyboardEvent, strip: Strip) => void;
|
|
146
119
|
/** A band took (`true`) or lost the focus: its layout's bands stay while it holds it. */
|
|
147
120
|
focus: (strip: Strip, focused: boolean) => void;
|
|
148
|
-
/**
|
|
149
|
-
* The view turned readonly (or the document read-only): a drag in progress
|
|
150
|
-
* ends at once, its preview dropped, nothing written (its release would be
|
|
151
|
-
* refused anyway). Called by the strips' component when `readonly` flips.
|
|
152
|
-
*/
|
|
153
|
-
lock: () => void;
|
|
154
|
-
/** The two columns' weights at the drag's pointer, keeping their stored sum; `null` before it moved. */
|
|
155
|
-
private weights;
|
|
156
|
-
/** The release: both weights, keeping their sum, one undo step; nothing when nothing moved. */
|
|
157
|
-
private release;
|
|
158
121
|
}
|
|
159
122
|
export {};
|