edytor 1.0.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -72
- package/dist/block/block.svelte.d.ts +6 -4
- package/dist/block/block.svelte.js +10 -4
- package/dist/block/inlineBlock.svelte.d.ts +6 -2
- package/dist/block/inlineBlock.svelte.js +7 -2
- package/dist/cloudflare/room/context.d.ts +6 -0
- package/dist/collaboration/awarenessSelection.d.ts +22 -1
- package/dist/collaboration/awarenessSelection.js +42 -0
- package/dist/components/Block.svelte +3 -1
- package/dist/components/Edytor.svelte +36 -10
- package/dist/components/Edytor.svelte.d.ts +8 -1
- package/dist/components/InlineBlock.svelte +1 -1
- package/dist/crdt/data.d.ts +10 -0
- package/dist/crdt/data.js +20 -2
- package/dist/crdt/doc/reads.d.ts +7 -0
- package/dist/crdt/doc/reads.js +11 -1
- package/dist/crdt/document.d.ts +8 -0
- package/dist/crdt/document.js +12 -0
- package/dist/crdt/edytor-doc.d.ts +18 -0
- package/dist/crdt/edytor-doc.js +2 -1
- package/dist/crdt/index.d.ts +6 -0
- package/dist/crdt/operations.d.ts +1 -1
- package/dist/crdt/operations.js +1 -0
- package/dist/crdt/props.d.ts +32 -0
- package/dist/crdt/props.js +172 -0
- package/dist/{plugins/blockHandles → dnd}/dropIndicator.d.ts +2 -2
- package/dist/{plugins/blockHandles → dnd}/geometry.d.ts +2 -2
- package/dist/dnd/placement.d.ts +200 -0
- package/dist/dnd/placement.js +426 -0
- package/dist/edytor.svelte.d.ts +17 -4
- package/dist/edytor.svelte.js +16 -7
- package/dist/events/beforeInputCommands.d.ts +2 -2
- package/dist/events/beforeInputCommands.js +8 -4
- package/dist/events/onDrop.d.ts +6 -0
- package/dist/events/onDrop.js +38 -10
- package/dist/events/onPaste.d.ts +2 -1
- package/dist/events/onPaste.js +8 -3
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/labels.d.ts +2 -0
- package/dist/labels.js +2 -1
- package/dist/plugins/arrowMove/arrowMove.d.ts +1 -1
- package/dist/plugins/arrowMove/arrowMove.js +1 -1
- package/dist/plugins/blockHandles/BlockHandleController.svelte.d.ts +2 -122
- package/dist/plugins/blockHandles/BlockHandleController.svelte.js +29 -387
- package/dist/plugins/blockHandles/BlockHandles.svelte +14 -32
- package/dist/plugins/blockHandles/blockHandlesPlugin.js +2 -1
- package/dist/plugins/code/CodeHeader.svelte +5 -3
- package/dist/plugins/code/CodePlugin.svelte +3 -3
- package/dist/plugins/code/languages.d.ts +0 -3
- package/dist/plugins/code/languages.js +0 -2
- package/dist/plugins/columns/ColumnResize.svelte +3 -2
- package/dist/plugins/columns/ColumnsPlugin.svelte +1 -1
- package/dist/plugins/columns/gaps.d.ts +7 -5
- package/dist/plugins/columns/gaps.js +11 -6
- package/dist/plugins/columns/resize.svelte.d.ts +3 -3
- package/dist/plugins/columns/resize.svelte.js +11 -10
- package/dist/plugins/equation/EquationPlugin.svelte +1 -8
- package/dist/plugins/equation/EquationPlugin.svelte.d.ts +1 -0
- package/dist/plugins/equation/equation.css +7 -0
- package/dist/plugins/fileDrop.d.ts +28 -0
- package/dist/plugins/fileDrop.js +116 -0
- package/dist/plugins/image/ImagePlugin.svelte +42 -33
- package/dist/plugins/image/ImagePlugin.svelte.d.ts +13 -1
- package/dist/plugins/image/image.css +17 -0
- package/dist/plugins/index.d.ts +3 -4
- package/dist/plugins/index.js +0 -1
- package/dist/plugins/markdownShortcuts.js +5 -5
- package/dist/plugins/media/AudioPlugin.svelte +13 -1
- package/dist/plugins/media/AudioPlugin.svelte.d.ts +11 -1
- package/dist/plugins/media/FilePlugin.svelte +11 -1
- package/dist/plugins/media/FilePlugin.svelte.d.ts +9 -0
- package/dist/plugins/media/SourceBlock.svelte +48 -12
- package/dist/plugins/media/SourceBlock.svelte.d.ts +4 -3
- package/dist/plugins/media/UploadPreview.svelte +32 -0
- package/dist/plugins/media/UploadPreview.svelte.d.ts +11 -0
- package/dist/plugins/media/VideoPlugin.svelte +13 -1
- package/dist/plugins/media/VideoPlugin.svelte.d.ts +11 -1
- package/dist/plugins/media/empty.svelte.d.ts +13 -4
- package/dist/plugins/media/empty.svelte.js +30 -19
- package/dist/plugins/media/media.d.ts +7 -0
- package/dist/plugins/media/upload.css +23 -0
- package/dist/plugins/mention/MentionPlugin.svelte +72 -33
- package/dist/plugins/mention/MentionPlugin.svelte.d.ts +11 -2
- package/dist/plugins/mention/mention.css +6 -0
- package/dist/plugins/pageLink/PageLinkPlugin.svelte +122 -17
- package/dist/plugins/pageLink/PageLinkPlugin.svelte.d.ts +13 -1
- package/dist/plugins/pageLink/pageLink.css +6 -0
- package/dist/plugins/richtext/RichTextPlugin.svelte +14 -7
- package/dist/plugins/richtext/RichTextPlugin.svelte.d.ts +1 -0
- package/dist/plugins/richtext/richtext.css +6 -0
- package/dist/plugins/table/chrome.svelte.js +4 -3
- package/dist/plugins/uploads.svelte.d.ts +45 -32
- package/dist/plugins/uploads.svelte.js +105 -39
- package/dist/plugins.d.ts +40 -14
- package/dist/session/attempt.d.ts +16 -6
- package/dist/session/attempt.js +1 -0
- package/dist/session/bindings.js +34 -31
- package/dist/session/commands.js +2 -0
- package/dist/session/history.js +1 -0
- package/dist/session/inputRules.d.ts +6 -3
- package/dist/session/inputRules.js +9 -5
- package/dist/session/moves.d.ts +33 -0
- package/dist/session/moves.js +71 -1
- package/dist/session/navigation.d.ts +7 -0
- package/dist/session/navigation.js +19 -10
- package/dist/session/props.d.ts +28 -0
- package/dist/session/props.js +65 -0
- package/dist/session/uploads.d.ts +29 -0
- package/dist/session/uploads.js +10 -0
- package/dist/themes/notion.css +9 -0
- package/package.json +1 -1
- /package/dist/{plugins/blockHandles → dnd}/dropIndicator.js +0 -0
- /package/dist/{plugins/blockHandles → dnd}/geometry.js +0 -0
- /package/dist/{plugins/columns → dnd}/stacking.d.ts +0 -0
- /package/dist/{plugins/columns → dnd}/stacking.js +0 -0
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The view's uploads as the other layers see them: the one per view the
|
|
3
|
+
* first media plugin given an `upload` claims (`uploadHooks`), and whether it takes a
|
|
4
|
+
* file (a kind's `upload` accepts it). A file dragged over the view shows
|
|
5
|
+
* where it lands only when its uploads take it (`drop`, the plugin layer's
|
|
6
|
+
* `plugins/fileDrop.ts`); a view without uploads ignores dropped files.
|
|
7
|
+
*/
|
|
8
|
+
import type { Edytor } from '../edytor.svelte.js';
|
|
9
|
+
import type { DropAt } from './attempt.js';
|
|
10
|
+
/** Files dragged from outside over the view: where they land, shown. */
|
|
11
|
+
export interface FileDropPort {
|
|
12
|
+
/** A `dragover` of files: show where they land; `false` where none does (nothing shows). */
|
|
13
|
+
over(event: DragEvent): boolean;
|
|
14
|
+
/** The drop: the placement shown, re-resolved at the drop point, and nothing shows any more. */
|
|
15
|
+
at(event: DragEvent): DropAt | null;
|
|
16
|
+
/** The drag left the view, or ended: nothing shows. */
|
|
17
|
+
end(): void;
|
|
18
|
+
}
|
|
19
|
+
/** What the view's uploads answer about a file. */
|
|
20
|
+
export interface ViewUploads {
|
|
21
|
+
/** The kind that takes `file` (its record's `upload`), so a paste or a drop places it. */
|
|
22
|
+
kindOf(file: File): string | undefined;
|
|
23
|
+
/** Where dropped files land (the plugin layer's indicator). */
|
|
24
|
+
readonly drop: FileDropPort;
|
|
25
|
+
}
|
|
26
|
+
/** The view's uploads, when a plugin claimed them. */
|
|
27
|
+
export declare const viewUploads: (edytor: Edytor | undefined) => ViewUploads | undefined;
|
|
28
|
+
/** Claim the view's uploads for `uploads`: the first claim wins (`false` after it). */
|
|
29
|
+
export declare const claimUploads: (edytor: Edytor, uploads: ViewUploads) => boolean;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
const views = new WeakMap();
|
|
2
|
+
/** The view's uploads, when a plugin claimed them. */
|
|
3
|
+
export const viewUploads = (edytor) => edytor && views.get(edytor);
|
|
4
|
+
/** Claim the view's uploads for `uploads`: the first claim wins (`false` after it). */
|
|
5
|
+
export const claimUploads = (edytor, uploads) => {
|
|
6
|
+
if (views.has(edytor))
|
|
7
|
+
return false;
|
|
8
|
+
views.set(edytor, uploads);
|
|
9
|
+
return true;
|
|
10
|
+
};
|
package/dist/themes/notion.css
CHANGED
|
@@ -729,6 +729,15 @@
|
|
|
729
729
|
}
|
|
730
730
|
|
|
731
731
|
/* ── Columns ────────────────────────────────────────────────────────── */
|
|
732
|
+
/* A layout and its columns reserve no inline space: a column's blocks start
|
|
733
|
+
at the column's edge (Notion's), its handles stand in the gap before it. */
|
|
734
|
+
.edytor-notion
|
|
735
|
+
:is(
|
|
736
|
+
[data-edytor-block][data-edytor-columns],
|
|
737
|
+
[data-edytor-block][data-edytor-column]:not([data-edytor-table-cell])
|
|
738
|
+
) {
|
|
739
|
+
padding-inline: 0;
|
|
740
|
+
}
|
|
732
741
|
/* A column's first and last blocks sit flush with the layout's edges. */
|
|
733
742
|
.edytor-notion [data-edytor-column] > [data-edytor-children] > [data-edytor-block]:first-child {
|
|
734
743
|
margin-top: 0;
|
package/package.json
CHANGED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|