@medway-ui/notes-core 0.1.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 +127 -0
- package/dist/document/normalize.d.ts +61 -0
- package/dist/document/normalize.d.ts.map +1 -0
- package/dist/document/normalize.js +373 -0
- package/dist/document/normalize.js.map +1 -0
- package/dist/document/types.d.ts +47 -0
- package/dist/document/types.d.ts.map +1 -0
- package/dist/document/types.js +9 -0
- package/dist/document/types.js.map +1 -0
- package/dist/editor/handle.d.ts +28 -0
- package/dist/editor/handle.d.ts.map +1 -0
- package/dist/editor/handle.js +34 -0
- package/dist/editor/handle.js.map +1 -0
- package/dist/editor/slashCommands.d.ts +21 -0
- package/dist/editor/slashCommands.d.ts.map +1 -0
- package/dist/editor/slashCommands.js +98 -0
- package/dist/editor/slashCommands.js.map +1 -0
- package/dist/editor/vocabulary.d.ts +110 -0
- package/dist/editor/vocabulary.d.ts.map +1 -0
- package/dist/editor/vocabulary.js +11 -0
- package/dist/editor/vocabulary.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -0
- package/dist/index.js.map +1 -0
- package/dist/schema/contract.d.ts +14 -0
- package/dist/schema/contract.d.ts.map +1 -0
- package/dist/schema/contract.js +51 -0
- package/dist/schema/contract.js.map +1 -0
- package/dist/schema/extensions.d.ts +23 -0
- package/dist/schema/extensions.d.ts.map +1 -0
- package/dist/schema/extensions.js +81 -0
- package/dist/schema/extensions.js.map +1 -0
- package/dist/schema/image.d.ts +14 -0
- package/dist/schema/image.d.ts.map +1 -0
- package/dist/schema/image.js +28 -0
- package/dist/schema/image.js.map +1 -0
- package/dist/schema/index.d.ts +17 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +18 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/schema/slashCommand.d.ts +19 -0
- package/dist/schema/slashCommand.d.ts.map +1 -0
- package/dist/schema/slashCommand.js +146 -0
- package/dist/schema/slashCommand.js.map +1 -0
- package/package.json +134 -0
- package/src/document/normalize.ts +456 -0
- package/src/document/types.ts +74 -0
- package/src/editor/handle.ts +65 -0
- package/src/editor/slashCommands.ts +120 -0
- package/src/editor/vocabulary.ts +126 -0
- package/src/index.ts +52 -0
- package/src/schema/contract.ts +76 -0
- package/src/schema/extensions.ts +120 -0
- package/src/schema/image.ts +44 -0
- package/src/schema/index.ts +29 -0
- package/src/schema/slashCommand.ts +181 -0
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `@medway-ui/notes-core/schema` — the Tiptap half, behind its own subpath so
|
|
3
|
+
* that importing the document model never pulls Tiptap in.
|
|
4
|
+
*
|
|
5
|
+
* `Editor`, `generateHTML` and `generateJSON` are re-exported to guarantee a
|
|
6
|
+
* single ProseMirror copy, and must always be passed the exact array
|
|
7
|
+
* `buildExtensions()` returns.
|
|
8
|
+
*/
|
|
9
|
+
export { Editor, generateHTML, generateJSON } from '@tiptap/core';
|
|
10
|
+
export { buildExtensions } from './extensions.js';
|
|
11
|
+
// Re-exported so hosts can build custom extension lists, and — less obviously
|
|
12
|
+
// — so `./image`'s `declare module '@tiptap/core'` augmentation (the
|
|
13
|
+
// `setImage` command) ships: `buildExtensions`'s signature never mentions
|
|
14
|
+
// `Image`, so declaration emission would otherwise drop the import.
|
|
15
|
+
export { Image } from './image.js';
|
|
16
|
+
export { createSlashCommand } from './slashCommand.js';
|
|
17
|
+
export { MARK_TYPES, NODE_TYPES, assertSchemaContract, } from './contract.js';
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIlE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAElD,8EAA8E;AAC9E,qEAAqE;AACrE,0EAA0E;AAC1E,oEAAoE;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAGnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,OAAO,EACL,UAAU,EACV,UAAU,EACV,oBAAoB,GACrB,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { Extension, type Editor } from '@tiptap/core';
|
|
2
|
+
import type { SlashCommandId, SlashMenuState } from '../editor/vocabulary.js';
|
|
3
|
+
export type SlashCommandController = {
|
|
4
|
+
/** Add this to the extension list — see `buildExtensions`. */
|
|
5
|
+
extension: Extension;
|
|
6
|
+
/** Runs the command the host picked, if the menu is still open. */
|
|
7
|
+
run: (commandId: SlashCommandId) => boolean;
|
|
8
|
+
dismiss: (editor: Editor) => void;
|
|
9
|
+
/** Re-publishes the caret position, e.g. after the document scrolls. */
|
|
10
|
+
refreshCaret: () => void;
|
|
11
|
+
};
|
|
12
|
+
/**
|
|
13
|
+
* The `/` menu's detection half: owns only *when* `/` is active, *what* was
|
|
14
|
+
* typed, *where* the caret is, and the range to replace. The host draws the
|
|
15
|
+
* menu and answers with `run`, which removes the typed `/query` in the same
|
|
16
|
+
* transaction as the command it applies.
|
|
17
|
+
*/
|
|
18
|
+
export declare const createSlashCommand: (onChange: (state: SlashMenuState) => void) => SlashCommandController;
|
|
19
|
+
//# sourceMappingURL=slashCommand.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slashCommand.d.ts","sourceRoot":"","sources":["../../src/schema/slashCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,MAAM,EAAc,MAAM,cAAc,CAAC;AAOlE,OAAO,KAAK,EAEV,cAAc,EACd,cAAc,EACf,MAAM,yBAAyB,CAAC;AA2EjC,MAAM,MAAM,sBAAsB,GAAG;IACnC,8DAA8D;IAC9D,SAAS,EAAE,SAAS,CAAC;IACrB,mEAAmE;IACnE,GAAG,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,OAAO,CAAC;IAC5C,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,wEAAwE;IACxE,YAAY,EAAE,MAAM,IAAI,CAAC;CAC1B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,UAAU,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,KACxC,sBA4EF,CAAC"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { Extension } from '@tiptap/core';
|
|
2
|
+
import { PluginKey } from '@tiptap/pm/state';
|
|
3
|
+
import Suggestion, { exitSuggestion, } from '@tiptap/suggestion';
|
|
4
|
+
import { filterSlashCommands } from '../editor/slashCommands.js';
|
|
5
|
+
const SlashPluginKey = new PluginKey('medwaySlashCommand');
|
|
6
|
+
const EMPTY = {
|
|
7
|
+
active: false,
|
|
8
|
+
query: '',
|
|
9
|
+
commandIds: [],
|
|
10
|
+
caret: null,
|
|
11
|
+
};
|
|
12
|
+
const toCaretRect = (props) => {
|
|
13
|
+
const rect = props.clientRect?.() ?? props.decorationNode?.getBoundingClientRect();
|
|
14
|
+
if (!rect)
|
|
15
|
+
return null;
|
|
16
|
+
return { x: rect.left, y: rect.top, width: rect.width, height: rect.height };
|
|
17
|
+
};
|
|
18
|
+
const applyCommand = (editor, range, id) => {
|
|
19
|
+
// Deleting the typed range and applying the block happen in one chain so a
|
|
20
|
+
// single undo takes the student back to the text they typed.
|
|
21
|
+
const chain = editor.chain().focus().deleteRange(range);
|
|
22
|
+
switch (id) {
|
|
23
|
+
case 'paragraph':
|
|
24
|
+
chain.setParagraph().run();
|
|
25
|
+
return;
|
|
26
|
+
case 'heading1':
|
|
27
|
+
chain.setNode('heading', { level: 1 }).run();
|
|
28
|
+
return;
|
|
29
|
+
case 'heading2':
|
|
30
|
+
chain.setNode('heading', { level: 2 }).run();
|
|
31
|
+
return;
|
|
32
|
+
case 'heading3':
|
|
33
|
+
chain.setNode('heading', { level: 3 }).run();
|
|
34
|
+
return;
|
|
35
|
+
case 'bulletList':
|
|
36
|
+
chain.toggleBulletList().run();
|
|
37
|
+
return;
|
|
38
|
+
case 'orderedList':
|
|
39
|
+
chain.toggleOrderedList().run();
|
|
40
|
+
return;
|
|
41
|
+
case 'taskList':
|
|
42
|
+
chain.toggleTaskList().run();
|
|
43
|
+
return;
|
|
44
|
+
case 'blockquote':
|
|
45
|
+
chain.setBlockquote().run();
|
|
46
|
+
return;
|
|
47
|
+
case 'codeBlock':
|
|
48
|
+
chain.setCodeBlock().run();
|
|
49
|
+
return;
|
|
50
|
+
case 'horizontalRule':
|
|
51
|
+
chain.setHorizontalRule().run();
|
|
52
|
+
return;
|
|
53
|
+
case 'image':
|
|
54
|
+
// Only clears the typed `/query`: picking and uploading a file is host
|
|
55
|
+
// UI (`NoteEditor`'s `onImageUpload`), which inserts the node itself.
|
|
56
|
+
chain.run();
|
|
57
|
+
return;
|
|
58
|
+
default: {
|
|
59
|
+
// Exhaustiveness check: a new `SlashCommandId` without a case above stops
|
|
60
|
+
// this file compiling. Still a runtime no-op rather than a throw — `id`
|
|
61
|
+
// crosses the WebView bridge, so an out-of-contract value should degrade
|
|
62
|
+
// gracefully instead of crashing the editor.
|
|
63
|
+
const _exhaustive = id;
|
|
64
|
+
void _exhaustive;
|
|
65
|
+
chain.run();
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* The `/` menu's detection half: owns only *when* `/` is active, *what* was
|
|
71
|
+
* typed, *where* the caret is, and the range to replace. The host draws the
|
|
72
|
+
* menu and answers with `run`, which removes the typed `/query` in the same
|
|
73
|
+
* transaction as the command it applies.
|
|
74
|
+
*/
|
|
75
|
+
export const createSlashCommand = (onChange) => {
|
|
76
|
+
let active = null;
|
|
77
|
+
const publish = (props) => {
|
|
78
|
+
if (!props) {
|
|
79
|
+
onChange(EMPTY);
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
onChange({
|
|
83
|
+
active: true,
|
|
84
|
+
query: props.query,
|
|
85
|
+
commandIds: props.items,
|
|
86
|
+
caret: toCaretRect(props),
|
|
87
|
+
});
|
|
88
|
+
};
|
|
89
|
+
const extension = Extension.create({
|
|
90
|
+
name: 'medwaySlashCommand',
|
|
91
|
+
addProseMirrorPlugins() {
|
|
92
|
+
return [
|
|
93
|
+
Suggestion({
|
|
94
|
+
editor: this.editor,
|
|
95
|
+
pluginKey: SlashPluginKey,
|
|
96
|
+
char: '/',
|
|
97
|
+
decorationClass: 'medway-slash',
|
|
98
|
+
// A `/` inside a code block is code, not a command.
|
|
99
|
+
allow: ({ state, range }) => state.doc.resolve(range.from).parent.type.name !== 'codeBlock',
|
|
100
|
+
items: ({ query }) => filterSlashCommands(query),
|
|
101
|
+
command: ({ editor, range, props }) => applyCommand(editor, range, props),
|
|
102
|
+
render: () => ({
|
|
103
|
+
onStart: (props) => {
|
|
104
|
+
active = props;
|
|
105
|
+
publish(props);
|
|
106
|
+
},
|
|
107
|
+
onUpdate: (props) => {
|
|
108
|
+
active = props;
|
|
109
|
+
publish(props);
|
|
110
|
+
},
|
|
111
|
+
onExit: () => {
|
|
112
|
+
active = null;
|
|
113
|
+
publish(null);
|
|
114
|
+
},
|
|
115
|
+
onKeyDown: ({ event }) => {
|
|
116
|
+
if (event.key !== 'Escape')
|
|
117
|
+
return false;
|
|
118
|
+
active = null;
|
|
119
|
+
publish(null);
|
|
120
|
+
return true;
|
|
121
|
+
},
|
|
122
|
+
}),
|
|
123
|
+
}),
|
|
124
|
+
];
|
|
125
|
+
},
|
|
126
|
+
});
|
|
127
|
+
return {
|
|
128
|
+
extension,
|
|
129
|
+
run: (commandId) => {
|
|
130
|
+
if (!active || !active.items.includes(commandId))
|
|
131
|
+
return false;
|
|
132
|
+
active.command(commandId);
|
|
133
|
+
return true;
|
|
134
|
+
},
|
|
135
|
+
dismiss: (editor) => {
|
|
136
|
+
if (!active)
|
|
137
|
+
return;
|
|
138
|
+
exitSuggestion(editor.view, SlashPluginKey);
|
|
139
|
+
},
|
|
140
|
+
refreshCaret: () => {
|
|
141
|
+
if (active)
|
|
142
|
+
publish(active);
|
|
143
|
+
},
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=slashCommand.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slashCommand.js","sourceRoot":"","sources":["../../src/schema/slashCommand.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAA2B,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,UAAU,EAAE,EACjB,cAAc,GAEf,MAAM,oBAAoB,CAAC;AAO5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,cAAc,GAAG,IAAI,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAI3D,MAAM,KAAK,GAAmB;IAC5B,MAAM,EAAE,KAAK;IACb,KAAK,EAAE,EAAE;IACT,UAAU,EAAE,EAAE;IACd,KAAK,EAAE,IAAI;CACZ,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,KAAiB,EAA0B,EAAE;IAChE,MAAM,IAAI,GACR,KAAK,CAAC,UAAU,EAAE,EAAE,IAAI,KAAK,CAAC,cAAc,EAAE,qBAAqB,EAAE,CAAC;IACxE,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;AAC/E,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,MAAc,EAAE,KAAY,EAAE,EAAkB,EAAE,EAAE;IACxE,2EAA2E;IAC3E,6DAA6D;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAExD,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,WAAW;YACd,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC;YAC3B,OAAO;QACT,KAAK,UAAU;YACb,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7C,OAAO;QACT,KAAK,UAAU;YACb,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7C,OAAO;QACT,KAAK,UAAU;YACb,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YAC7C,OAAO;QACT,KAAK,YAAY;YACf,KAAK,CAAC,gBAAgB,EAAE,CAAC,GAAG,EAAE,CAAC;YAC/B,OAAO;QACT,KAAK,aAAa;YAChB,KAAK,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC;YAChC,OAAO;QACT,KAAK,UAAU;YACb,KAAK,CAAC,cAAc,EAAE,CAAC,GAAG,EAAE,CAAC;YAC7B,OAAO;QACT,KAAK,YAAY;YACf,KAAK,CAAC,aAAa,EAAE,CAAC,GAAG,EAAE,CAAC;YAC5B,OAAO;QACT,KAAK,WAAW;YACd,KAAK,CAAC,YAAY,EAAE,CAAC,GAAG,EAAE,CAAC;YAC3B,OAAO;QACT,KAAK,gBAAgB;YACnB,KAAK,CAAC,iBAAiB,EAAE,CAAC,GAAG,EAAE,CAAC;YAChC,OAAO;QACT,KAAK,OAAO;YACV,uEAAuE;YACvE,sEAAsE;YACtE,KAAK,CAAC,GAAG,EAAE,CAAC;YACZ,OAAO;QACT,OAAO,CAAC,CAAC,CAAC;YACR,0EAA0E;YAC1E,wEAAwE;YACxE,yEAAyE;YACzE,6CAA6C;YAC7C,MAAM,WAAW,GAAU,EAAE,CAAC;YAC9B,KAAK,WAAW,CAAC;YACjB,KAAK,CAAC,GAAG,EAAE,CAAC;QACd,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAYF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,QAAyC,EACjB,EAAE;IAC1B,IAAI,MAAM,GAAsB,IAAI,CAAC;IAErC,MAAM,OAAO,GAAG,CAAC,KAAwB,EAAE,EAAE;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,OAAO;QACT,CAAC;QAED,QAAQ,CAAC;YACP,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,KAAK,CAAC,KAAK;YAClB,UAAU,EAAE,KAAK,CAAC,KAAK;YACvB,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC;QACjC,IAAI,EAAE,oBAAoB;QAE1B,qBAAqB;YACnB,OAAO;gBACL,UAAU,CAAiC;oBACzC,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,SAAS,EAAE,cAAc;oBACzB,IAAI,EAAE,GAAG;oBACT,eAAe,EAAE,cAAc;oBAC/B,oDAAoD;oBACpD,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CAC1B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW;oBAChE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC;oBAChD,OAAO,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,CACpC,YAAY,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC;oBACpC,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;wBACb,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;4BACjB,MAAM,GAAG,KAAK,CAAC;4BACf,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC;wBACD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;4BAClB,MAAM,GAAG,KAAK,CAAC;4BACf,OAAO,CAAC,KAAK,CAAC,CAAC;wBACjB,CAAC;wBACD,MAAM,EAAE,GAAG,EAAE;4BACX,MAAM,GAAG,IAAI,CAAC;4BACd,OAAO,CAAC,IAAI,CAAC,CAAC;wBAChB,CAAC;wBACD,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;4BACvB,IAAI,KAAK,CAAC,GAAG,KAAK,QAAQ;gCAAE,OAAO,KAAK,CAAC;4BAEzC,MAAM,GAAG,IAAI,CAAC;4BACd,OAAO,CAAC,IAAI,CAAC,CAAC;4BACd,OAAO,IAAI,CAAC;wBACd,CAAC;qBACF,CAAC;iBACH,CAAC;aACH,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,OAAO;QACL,SAAS;QACT,GAAG,EAAE,CAAC,SAAS,EAAE,EAAE;YACjB,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO,KAAK,CAAC;YAE/D,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;YAClB,IAAI,CAAC,MAAM;gBAAE,OAAO;YAEpB,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;QAC9C,CAAC;QACD,YAAY,EAAE,GAAG,EAAE;YACjB,IAAI,MAAM;gBAAE,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@medway-ui/notes-core",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"private": false,
|
|
5
|
+
"description": "Modelo de documento, schema Tiptap e vocabulário do editor de anotações — compartilhado entre o app mobile e a web.",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"sideEffects": false,
|
|
8
|
+
"type": "module",
|
|
9
|
+
"main": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"default": "./dist/index.js"
|
|
15
|
+
},
|
|
16
|
+
"./schema": {
|
|
17
|
+
"types": "./dist/schema/index.d.ts",
|
|
18
|
+
"default": "./dist/schema/index.js"
|
|
19
|
+
},
|
|
20
|
+
"./package.json": "./package.json"
|
|
21
|
+
},
|
|
22
|
+
"files": [
|
|
23
|
+
"dist",
|
|
24
|
+
"src",
|
|
25
|
+
"README.md"
|
|
26
|
+
],
|
|
27
|
+
"scripts": {
|
|
28
|
+
"build": "tsc -p tsconfig.build.json",
|
|
29
|
+
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
30
|
+
"prepublishOnly": "npm run build"
|
|
31
|
+
},
|
|
32
|
+
"peerDependencies": {
|
|
33
|
+
"@tiptap/core": "^3.6.5",
|
|
34
|
+
"@tiptap/extension-blockquote": "^3.6.5",
|
|
35
|
+
"@tiptap/extension-bold": "^3.6.5",
|
|
36
|
+
"@tiptap/extension-code": "^3.6.5",
|
|
37
|
+
"@tiptap/extension-code-block": "^3.6.5",
|
|
38
|
+
"@tiptap/extension-document": "^3.6.5",
|
|
39
|
+
"@tiptap/extension-hard-break": "^3.6.5",
|
|
40
|
+
"@tiptap/extension-heading": "^3.6.5",
|
|
41
|
+
"@tiptap/extension-horizontal-rule": "^3.6.5",
|
|
42
|
+
"@tiptap/extension-italic": "^3.6.5",
|
|
43
|
+
"@tiptap/extension-link": "^3.6.5",
|
|
44
|
+
"@tiptap/extension-list": "^3.6.5",
|
|
45
|
+
"@tiptap/extension-paragraph": "^3.6.5",
|
|
46
|
+
"@tiptap/extension-strike": "^3.6.5",
|
|
47
|
+
"@tiptap/extension-text": "^3.6.5",
|
|
48
|
+
"@tiptap/extension-underline": "^3.6.5",
|
|
49
|
+
"@tiptap/extensions": "^3.6.5",
|
|
50
|
+
"@tiptap/pm": "^3.6.5",
|
|
51
|
+
"@tiptap/suggestion": "^3.6.5"
|
|
52
|
+
},
|
|
53
|
+
"peerDependenciesMeta": {
|
|
54
|
+
"@tiptap/core": {
|
|
55
|
+
"optional": true
|
|
56
|
+
},
|
|
57
|
+
"@tiptap/extension-blockquote": {
|
|
58
|
+
"optional": true
|
|
59
|
+
},
|
|
60
|
+
"@tiptap/extension-bold": {
|
|
61
|
+
"optional": true
|
|
62
|
+
},
|
|
63
|
+
"@tiptap/extension-code": {
|
|
64
|
+
"optional": true
|
|
65
|
+
},
|
|
66
|
+
"@tiptap/extension-code-block": {
|
|
67
|
+
"optional": true
|
|
68
|
+
},
|
|
69
|
+
"@tiptap/extension-document": {
|
|
70
|
+
"optional": true
|
|
71
|
+
},
|
|
72
|
+
"@tiptap/extension-hard-break": {
|
|
73
|
+
"optional": true
|
|
74
|
+
},
|
|
75
|
+
"@tiptap/extension-heading": {
|
|
76
|
+
"optional": true
|
|
77
|
+
},
|
|
78
|
+
"@tiptap/extension-horizontal-rule": {
|
|
79
|
+
"optional": true
|
|
80
|
+
},
|
|
81
|
+
"@tiptap/extension-italic": {
|
|
82
|
+
"optional": true
|
|
83
|
+
},
|
|
84
|
+
"@tiptap/extension-link": {
|
|
85
|
+
"optional": true
|
|
86
|
+
},
|
|
87
|
+
"@tiptap/extension-list": {
|
|
88
|
+
"optional": true
|
|
89
|
+
},
|
|
90
|
+
"@tiptap/extension-paragraph": {
|
|
91
|
+
"optional": true
|
|
92
|
+
},
|
|
93
|
+
"@tiptap/extension-strike": {
|
|
94
|
+
"optional": true
|
|
95
|
+
},
|
|
96
|
+
"@tiptap/extension-text": {
|
|
97
|
+
"optional": true
|
|
98
|
+
},
|
|
99
|
+
"@tiptap/extension-underline": {
|
|
100
|
+
"optional": true
|
|
101
|
+
},
|
|
102
|
+
"@tiptap/extensions": {
|
|
103
|
+
"optional": true
|
|
104
|
+
},
|
|
105
|
+
"@tiptap/pm": {
|
|
106
|
+
"optional": true
|
|
107
|
+
},
|
|
108
|
+
"@tiptap/suggestion": {
|
|
109
|
+
"optional": true
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"devDependencies": {
|
|
113
|
+
"@tiptap/core": "^3.6.5",
|
|
114
|
+
"@tiptap/extension-blockquote": "^3.6.5",
|
|
115
|
+
"@tiptap/extension-bold": "^3.6.5",
|
|
116
|
+
"@tiptap/extension-code": "^3.6.5",
|
|
117
|
+
"@tiptap/extension-code-block": "^3.6.5",
|
|
118
|
+
"@tiptap/extension-document": "^3.6.5",
|
|
119
|
+
"@tiptap/extension-hard-break": "^3.6.5",
|
|
120
|
+
"@tiptap/extension-heading": "^3.6.5",
|
|
121
|
+
"@tiptap/extension-horizontal-rule": "^3.6.5",
|
|
122
|
+
"@tiptap/extension-italic": "^3.6.5",
|
|
123
|
+
"@tiptap/extension-link": "^3.6.5",
|
|
124
|
+
"@tiptap/extension-list": "^3.6.5",
|
|
125
|
+
"@tiptap/extension-paragraph": "^3.6.5",
|
|
126
|
+
"@tiptap/extension-strike": "^3.6.5",
|
|
127
|
+
"@tiptap/extension-text": "^3.6.5",
|
|
128
|
+
"@tiptap/extension-underline": "^3.6.5",
|
|
129
|
+
"@tiptap/extensions": "^3.6.5",
|
|
130
|
+
"@tiptap/pm": "^3.6.5",
|
|
131
|
+
"@tiptap/suggestion": "^3.6.5",
|
|
132
|
+
"typescript": "~5.8.3"
|
|
133
|
+
}
|
|
134
|
+
}
|