@pixerate/editor-svelte 0.18.0 → 0.20.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 +26 -2
- package/dist/EditableTextNodeEditor.svelte +19 -3
- package/dist/EditableTextNodeEditor.svelte.d.ts +5 -1
- package/dist/EditableTextNodeEditor.svelte.d.ts.map +1 -1
- package/dist/OutlinePanel.svelte +85 -0
- package/dist/OutlinePanel.svelte.d.ts +25 -0
- package/dist/OutlinePanel.svelte.d.ts.map +1 -0
- package/dist/TemplateRenderer.svelte +54 -7
- package/dist/TemplateRenderer.svelte.d.ts +8 -1
- package/dist/TemplateRenderer.svelte.d.ts.map +1 -1
- package/dist/VariableForm.svelte +86 -0
- package/dist/VariableForm.svelte.d.ts +21 -0
- package/dist/VariableForm.svelte.d.ts.map +1 -0
- package/dist/agentTools.svelte.d.ts +12 -0
- package/dist/agentTools.svelte.d.ts.map +1 -0
- package/dist/agentTools.svelte.js +17 -0
- package/dist/canvas/CanvasGuidesLayer.svelte +52 -0
- package/dist/canvas/CanvasGuidesLayer.svelte.d.ts +16 -0
- package/dist/canvas/CanvasGuidesLayer.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasArrange.svelte.d.ts +63 -0
- package/dist/canvas/createCanvasArrange.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasArrange.svelte.js +60 -0
- package/dist/canvas/createCanvasScenes.svelte.d.ts +51 -0
- package/dist/canvas/createCanvasScenes.svelte.d.ts.map +1 -0
- package/dist/canvas/createCanvasScenes.svelte.js +62 -0
- package/dist/canvas/index.d.ts +4 -0
- package/dist/canvas/index.d.ts.map +1 -1
- package/dist/canvas/index.js +5 -0
- package/dist/fileImport.svelte.d.ts +25 -0
- package/dist/fileImport.svelte.d.ts.map +1 -0
- package/dist/fileImport.svelte.js +40 -0
- package/dist/history/createHistoryShortcuts.d.ts +1 -1
- package/dist/history/createHistoryShortcuts.d.ts.map +1 -1
- package/dist/history/history.svelte.d.ts +1 -1
- package/dist/history/history.svelte.d.ts.map +1 -1
- package/dist/history/history.svelte.js +1 -1
- package/dist/index.d.ts +11 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/outline.svelte.d.ts +18 -0
- package/dist/outline.svelte.d.ts.map +1 -0
- package/dist/outline.svelte.js +27 -0
- package/dist/review/CommentButton.svelte +32 -0
- package/dist/review/CommentButton.svelte.d.ts +10 -0
- package/dist/review/CommentButton.svelte.d.ts.map +1 -0
- package/dist/review/CommentsPanel.svelte +226 -0
- package/dist/review/CommentsPanel.svelte.d.ts +18 -0
- package/dist/review/CommentsPanel.svelte.d.ts.map +1 -0
- package/dist/review/ReviewToolbar.svelte +86 -0
- package/dist/review/ReviewToolbar.svelte.d.ts +9 -0
- package/dist/review/ReviewToolbar.svelte.d.ts.map +1 -0
- package/dist/review/index.d.ts +12 -0
- package/dist/review/index.d.ts.map +1 -0
- package/dist/review/index.js +4 -0
- package/dist/review/review.svelte.d.ts +40 -0
- package/dist/review/review.svelte.d.ts.map +1 -0
- package/dist/review/review.svelte.js +104 -0
- package/dist/spreadsheet/FormulaBar.svelte +14 -6
- package/dist/spreadsheet/FormulaBar.svelte.d.ts.map +1 -1
- package/dist/spreadsheet/FormulaHints.svelte +149 -0
- package/dist/spreadsheet/FormulaHints.svelte.d.ts +14 -0
- package/dist/spreadsheet/FormulaHints.svelte.d.ts.map +1 -0
- package/dist/spreadsheet/SpreadsheetContextMenu.svelte +60 -0
- package/dist/spreadsheet/SpreadsheetContextMenu.svelte.d.ts +11 -0
- package/dist/spreadsheet/SpreadsheetContextMenu.svelte.d.ts.map +1 -0
- package/dist/spreadsheet/SpreadsheetEditor.svelte +172 -19
- package/dist/spreadsheet/SpreadsheetEditor.svelte.d.ts +1 -1
- package/dist/spreadsheet/SpreadsheetEditor.svelte.d.ts.map +1 -1
- package/dist/spreadsheet/SpreadsheetGroupRow.svelte +55 -0
- package/dist/spreadsheet/SpreadsheetGroupRow.svelte.d.ts +14 -0
- package/dist/spreadsheet/SpreadsheetGroupRow.svelte.d.ts.map +1 -0
- package/dist/spreadsheet/index.d.ts +6 -0
- package/dist/spreadsheet/index.d.ts.map +1 -1
- package/dist/spreadsheet/index.js +4 -0
- package/dist/spreadsheet/spreadsheet.svelte.d.ts +43 -5
- package/dist/spreadsheet/spreadsheet.svelte.d.ts.map +1 -1
- package/dist/spreadsheet/spreadsheet.svelte.js +16 -2
- package/dist/spreadsheet/tableInteractions.d.ts +28 -0
- package/dist/spreadsheet/tableInteractions.d.ts.map +1 -0
- package/dist/spreadsheet/tableInteractions.js +61 -0
- package/package.json +15 -3
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
export { default as SpreadsheetEditor } from './SpreadsheetEditor.svelte';
|
|
2
2
|
export { default as FormulaBar } from './FormulaBar.svelte';
|
|
3
|
+
export { default as FormulaHints } from './FormulaHints.svelte';
|
|
3
4
|
export * from './spreadsheet.svelte.js';
|
|
5
|
+
export { default as SpreadsheetContextMenu } from './SpreadsheetContextMenu.svelte';
|
|
6
|
+
export { default as SpreadsheetGroupRow } from './SpreadsheetGroupRow.svelte';
|
|
7
|
+
export * from './tableInteractions.js';
|
|
@@ -1,9 +1,47 @@
|
|
|
1
|
-
import { SpreadsheetController, type SpreadsheetControllerOptions, type SpreadsheetDocument, type CellCoordinate, type CellRange, type CellData, type SpreadsheetColumn, type SpreadsheetRow, type SpreadsheetDataSource } from '@pixerate/editor';
|
|
1
|
+
import { SpreadsheetController, type SpreadsheetControllerOptions, type SpreadsheetDocument, type CellCoordinate, type CellRange, type CellData, type SpreadsheetColumn, type SpreadsheetRow, type SpreadsheetDataSource } from '@pixerate/editor/spreadsheet';
|
|
2
2
|
export declare function createReactiveSpreadsheet(options?: SpreadsheetControllerOptions): {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
sortRows: (keys: import("@pixerate/editor").SortKey[], options?: {
|
|
4
|
+
range?: CellRange | null;
|
|
5
|
+
}) => boolean;
|
|
6
|
+
getFilterState: () => import("@pixerate/editor").SpreadsheetFilterState;
|
|
7
|
+
setFilterRules: (rules: import("@pixerate/editor").NewFilterRule[]) => void;
|
|
8
|
+
addFilterRule: (rule: import("@pixerate/editor").NewFilterRule) => string;
|
|
9
|
+
updateFilterRule: (ruleId: string, changes: Partial<Omit<import("@pixerate/editor").FilterRule, "id">>) => void;
|
|
10
|
+
removeFilterRule: (ruleId: string) => void;
|
|
11
|
+
clearFilters: () => void;
|
|
12
|
+
setFiltersEnabled: (enabled: boolean) => void;
|
|
13
|
+
toggleFilters: () => void;
|
|
14
|
+
setHeaderRowCount: (count: number) => void;
|
|
15
|
+
setFooterRowCount: (count: number) => void;
|
|
16
|
+
setHeaderColumnCount: (count: number) => void;
|
|
17
|
+
setFrozenRowCount: (count: number) => void;
|
|
18
|
+
setFrozenColumnCount: (count: number) => void;
|
|
19
|
+
hideRows: (indices: number[]) => void;
|
|
20
|
+
unhideRows: (indices: number[]) => void;
|
|
21
|
+
hideColumns: (indices: number[]) => void;
|
|
22
|
+
unhideColumns: (indices: number[]) => void;
|
|
23
|
+
unhideAll: () => void;
|
|
24
|
+
getMerges: () => CellRange[];
|
|
25
|
+
getMergeAt: (row: number, col: number) => CellRange | null;
|
|
26
|
+
mergeCells: (range?: CellRange | null) => boolean;
|
|
27
|
+
unmergeCells: (range?: CellRange | null) => boolean;
|
|
28
|
+
autofill: (source: CellRange, target: CellRange) => boolean;
|
|
29
|
+
groupRowsBy: (colId: string, summaries?: import("@pixerate/editor").GroupSummary[]) => void;
|
|
30
|
+
ungroupRows: () => void;
|
|
31
|
+
setGroupSummary: (colId: string, aggregate: import("@pixerate/editor").GroupAggregate | null) => void;
|
|
32
|
+
setGroupCollapsed: (key: string, collapsed: boolean) => void;
|
|
33
|
+
toggleGroupCollapsed: (key: string) => void;
|
|
34
|
+
getGroups: () => import("@pixerate/editor").SpreadsheetRowGroup[];
|
|
35
|
+
transposeRange: (range?: CellRange | null) => boolean;
|
|
36
|
+
exportToCsv: (options?: import("@pixerate/editor").CsvExportOptions) => string;
|
|
37
|
+
importFromCsv: (csv: string, options?: import("@pixerate/editor").CsvImportOptions) => void;
|
|
38
|
+
copyToClipboardData: (range?: CellRange | null) => import("@pixerate/editor").SpreadsheetClipboardData;
|
|
39
|
+
pasteClipboardData: (source: import("@pixerate/editor").SpreadsheetClipboardSource, target?: import("@pixerate/editor").CellPosition) => boolean;
|
|
40
|
+
document: SpreadsheetDocument;
|
|
41
|
+
activeCell: CellCoordinate | null;
|
|
42
|
+
selectedRange: CellRange | null;
|
|
43
|
+
editingCell: CellCoordinate | null;
|
|
44
|
+
viewModel: import("@pixerate/editor").SpreadsheetViewModel;
|
|
7
45
|
draftValue: string;
|
|
8
46
|
controller: SpreadsheetController;
|
|
9
47
|
getCell(rowId: string, colId: string): CellData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spreadsheet.svelte.d.ts","sourceRoot":"","sources":["../../src/spreadsheet/spreadsheet.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,
|
|
1
|
+
{"version":3,"file":"spreadsheet.svelte.d.ts","sourceRoot":"","sources":["../../src/spreadsheet/spreadsheet.svelte.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,qBAAqB,EAErB,KAAK,4BAA4B,EACjC,KAAK,mBAAmB,EACxB,KAAK,cAAc,EACnB,KAAK,SAAS,EACd,KAAK,QAAQ,EACb,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACnB,KAAK,qBAAqB,EAC3B,MAAM,8BAA8B,CAAC;AAEtC,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,4BAAiC;;aAmLoikB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gBA/GjmkB,MAAM;;mBAMX,MAAM,SAAS,MAAM,GAAG,QAAQ;wBAG3B,MAAM,SAAS,MAAM,OAAO,MAAM;oBAItC,MAAM,OAAO,MAAM;uBAKhB,SAAS;uBAIT,MAAM,QAAQ,MAAM,eAAe,MAAM;wBAMxC,MAAM;;oBAWV,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO;wBAK5B,MAAM,WAAW,OAAO,CAAC,iBAAiB,CAAC;wBAI3C,MAAM;qBAIT,MAAM,WAAW,OAAO,CAAC,cAAc,CAAC;qBAIxC,MAAM;0BAID,MAAM,SAAS,MAAM;8BAIjB,MAAM,gBAAgB,MAAM;2BAI/B,mBAAmB;;2BAanB,qBAAqB;6BAInB,MAAM,GAAG,SAAS;;wBAQvB,SAAS,GAAG,IAAI;wBAGhB,MAAM;;;EAc7B"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SpreadsheetController } from '@pixerate/editor';
|
|
1
|
+
import { SpreadsheetController, bindSpreadsheetTableActions } from '@pixerate/editor/spreadsheet';
|
|
2
2
|
export function createReactiveSpreadsheet(options = {}) {
|
|
3
3
|
let doc = $state({
|
|
4
4
|
id: options.document?.id || `sheet_${Date.now()}`,
|
|
@@ -33,6 +33,16 @@ export function createReactiveSpreadsheet(options = {}) {
|
|
|
33
33
|
doc = { ...controller.document };
|
|
34
34
|
activeCell = controller.activeCell;
|
|
35
35
|
selectedRange = controller.selectedRange;
|
|
36
|
+
// What to render: visible rows (with group headers) and columns, frozen
|
|
37
|
+
// offsets and merged-cell spans. Recomputed whenever the document changes.
|
|
38
|
+
const viewModel = $derived.by(() => {
|
|
39
|
+
void doc;
|
|
40
|
+
return controller.getViewModel();
|
|
41
|
+
});
|
|
42
|
+
// Table operations (sort, filters, freeze, hide, merge, autofill, categories,
|
|
43
|
+
// transpose, CSV, clipboard). The controller reports their changes through
|
|
44
|
+
// onDocumentChange / onSelectionChange, which update the state above.
|
|
45
|
+
const tableActions = bindSpreadsheetTableActions(controller);
|
|
36
46
|
return {
|
|
37
47
|
get document() {
|
|
38
48
|
return doc;
|
|
@@ -46,6 +56,9 @@ export function createReactiveSpreadsheet(options = {}) {
|
|
|
46
56
|
get editingCell() {
|
|
47
57
|
return editingCell;
|
|
48
58
|
},
|
|
59
|
+
get viewModel() {
|
|
60
|
+
return viewModel;
|
|
61
|
+
},
|
|
49
62
|
get draftValue() {
|
|
50
63
|
return draftValue;
|
|
51
64
|
},
|
|
@@ -155,6 +168,7 @@ export function createReactiveSpreadsheet(options = {}) {
|
|
|
155
168
|
redo() {
|
|
156
169
|
controller.redo();
|
|
157
170
|
doc = { ...controller.document };
|
|
158
|
-
}
|
|
171
|
+
},
|
|
172
|
+
...tableActions
|
|
159
173
|
};
|
|
160
174
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { SpreadsheetClipboardData, SpreadsheetClipboardSource, CellRange } from '@pixerate/editor/spreadsheet';
|
|
2
|
+
/** The parts of the reactive spreadsheet the clipboard handlers need. */
|
|
3
|
+
export interface SpreadsheetClipboardTarget {
|
|
4
|
+
readonly editingCell: unknown;
|
|
5
|
+
readonly selectedRange: CellRange | null;
|
|
6
|
+
copyToClipboardData(range?: CellRange | null): SpreadsheetClipboardData;
|
|
7
|
+
pasteClipboardData(source: SpreadsheetClipboardSource): boolean;
|
|
8
|
+
exportToTsv(range?: CellRange | null): string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Copy and paste for the grid. Copy writes TSV, an HTML table and the
|
|
12
|
+
* lossless `application/x.pixerate.spreadsheet+json` format; paste prefers
|
|
13
|
+
* that format, then HTML, then TSV.
|
|
14
|
+
*
|
|
15
|
+
* The listeners are on `document`: with no text selection the browser fires
|
|
16
|
+
* `copy`/`paste` at `<body>`, not at the focused grid. Text inputs inside the
|
|
17
|
+
* grid keep native copy/paste. Call `destroy()` to remove the listeners.
|
|
18
|
+
*/
|
|
19
|
+
export declare function attachSpreadsheetClipboard(getGrid: () => HTMLElement | null, sheet: SpreadsheetClipboardTarget, isReadOnly: () => boolean): {
|
|
20
|
+
/**
|
|
21
|
+
* Call on Mod+C (without preventing default). The browser normally
|
|
22
|
+
* follows with a `copy` event; where it doesn't (no selection in some
|
|
23
|
+
* browsers), the selection is written as plain TSV instead.
|
|
24
|
+
*/
|
|
25
|
+
copyShortcutFallback(): void;
|
|
26
|
+
destroy(): void;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=tableInteractions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tableInteractions.d.ts","sourceRoot":"","sources":["../../src/spreadsheet/tableInteractions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,0BAA0B,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEpH,yEAAyE;AACzE,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IACzC,mBAAmB,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,wBAAwB,CAAC;IACxE,kBAAkB,CAAC,MAAM,EAAE,0BAA0B,GAAG,OAAO,CAAC;IAChE,WAAW,CAAC,KAAK,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,MAAM,CAAC;CAC/C;AAUD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,WAAW,GAAG,IAAI,EACjC,KAAK,EAAE,0BAA0B,EACjC,UAAU,EAAE,MAAM,OAAO;IAwBvB;;;;OAIG;;;EAaN"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/** True when focus is in the grid itself, not in a text input (cell editor, formula bar). */
|
|
2
|
+
function gridHasFocus(grid) {
|
|
3
|
+
if (!grid || typeof document === 'undefined')
|
|
4
|
+
return false;
|
|
5
|
+
const active = document.activeElement;
|
|
6
|
+
if (!active || !grid.contains(active))
|
|
7
|
+
return false;
|
|
8
|
+
return !(active instanceof HTMLInputElement || active instanceof HTMLTextAreaElement);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Copy and paste for the grid. Copy writes TSV, an HTML table and the
|
|
12
|
+
* lossless `application/x.pixerate.spreadsheet+json` format; paste prefers
|
|
13
|
+
* that format, then HTML, then TSV.
|
|
14
|
+
*
|
|
15
|
+
* The listeners are on `document`: with no text selection the browser fires
|
|
16
|
+
* `copy`/`paste` at `<body>`, not at the focused grid. Text inputs inside the
|
|
17
|
+
* grid keep native copy/paste. Call `destroy()` to remove the listeners.
|
|
18
|
+
*/
|
|
19
|
+
export function attachSpreadsheetClipboard(getGrid, sheet, isReadOnly) {
|
|
20
|
+
// Set when a copy event wrote the selection, so the keyboard fallback is skipped.
|
|
21
|
+
let copied = false;
|
|
22
|
+
const handleCopy = (e) => {
|
|
23
|
+
if (!gridHasFocus(getGrid()) || sheet.editingCell || !e.clipboardData || !sheet.selectedRange)
|
|
24
|
+
return;
|
|
25
|
+
for (const [type, data] of Object.entries(sheet.copyToClipboardData(sheet.selectedRange))) {
|
|
26
|
+
e.clipboardData.setData(type, data);
|
|
27
|
+
}
|
|
28
|
+
copied = true;
|
|
29
|
+
e.preventDefault();
|
|
30
|
+
};
|
|
31
|
+
const handlePaste = (e) => {
|
|
32
|
+
if (isReadOnly() || !gridHasFocus(getGrid()) || sheet.editingCell || !e.clipboardData)
|
|
33
|
+
return;
|
|
34
|
+
if (sheet.pasteClipboardData(e.clipboardData))
|
|
35
|
+
e.preventDefault();
|
|
36
|
+
};
|
|
37
|
+
if (typeof document !== 'undefined') {
|
|
38
|
+
document.addEventListener('copy', handleCopy);
|
|
39
|
+
document.addEventListener('paste', handlePaste);
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
/**
|
|
43
|
+
* Call on Mod+C (without preventing default). The browser normally
|
|
44
|
+
* follows with a `copy` event; where it doesn't (no selection in some
|
|
45
|
+
* browsers), the selection is written as plain TSV instead.
|
|
46
|
+
*/
|
|
47
|
+
copyShortcutFallback() {
|
|
48
|
+
copied = false;
|
|
49
|
+
setTimeout(() => {
|
|
50
|
+
if (!copied)
|
|
51
|
+
navigator.clipboard?.writeText(sheet.exportToTsv(sheet.selectedRange));
|
|
52
|
+
}, 0);
|
|
53
|
+
},
|
|
54
|
+
destroy() {
|
|
55
|
+
if (typeof document === 'undefined')
|
|
56
|
+
return;
|
|
57
|
+
document.removeEventListener('copy', handleCopy);
|
|
58
|
+
document.removeEventListener('paste', handlePaste);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pixerate/editor-svelte",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.20.0",
|
|
4
4
|
"description": "Svelte bindings and prompt/rich-text components for @pixerate/editor",
|
|
5
5
|
"author": "Pixerate",
|
|
6
6
|
"license": "MIT",
|
|
@@ -18,6 +18,11 @@
|
|
|
18
18
|
"svelte": "./dist/index.js",
|
|
19
19
|
"default": "./dist/index.js"
|
|
20
20
|
},
|
|
21
|
+
"./spreadsheet": {
|
|
22
|
+
"types": "./dist/spreadsheet/index.d.ts",
|
|
23
|
+
"svelte": "./dist/spreadsheet/index.js",
|
|
24
|
+
"default": "./dist/spreadsheet/index.js"
|
|
25
|
+
},
|
|
21
26
|
"./canvas": {
|
|
22
27
|
"types": "./dist/canvas/index.d.ts",
|
|
23
28
|
"svelte": "./dist/canvas/index.js",
|
|
@@ -32,6 +37,9 @@
|
|
|
32
37
|
},
|
|
33
38
|
"typesVersions": {
|
|
34
39
|
"*": {
|
|
40
|
+
"spreadsheet": [
|
|
41
|
+
"./dist/spreadsheet/index.d.ts"
|
|
42
|
+
],
|
|
35
43
|
"canvas": [
|
|
36
44
|
"./dist/canvas/index.d.ts"
|
|
37
45
|
],
|
|
@@ -48,24 +56,28 @@
|
|
|
48
56
|
"**/*.css"
|
|
49
57
|
],
|
|
50
58
|
"dependencies": {
|
|
51
|
-
"@dagrejs/dagre": "^1.1.4",
|
|
52
59
|
"@tiptap/extension-bubble-menu": "^2.11.5",
|
|
53
60
|
"@tiptap/extension-placeholder": "^2.11.5",
|
|
54
61
|
"@tiptap/starter-kit": "^2.11.5",
|
|
55
|
-
"@pixerate/editor": "0.
|
|
62
|
+
"@pixerate/editor": "0.21.0"
|
|
56
63
|
},
|
|
57
64
|
"peerDependencies": {
|
|
65
|
+
"@dagrejs/dagre": "^1.1.4",
|
|
58
66
|
"@tiptap/core": "^2.11.5",
|
|
59
67
|
"@tiptap/pm": "^2.11.5",
|
|
60
68
|
"@xyflow/svelte": "^1.6.0",
|
|
61
69
|
"svelte": "^5.0.0"
|
|
62
70
|
},
|
|
63
71
|
"peerDependenciesMeta": {
|
|
72
|
+
"@dagrejs/dagre": {
|
|
73
|
+
"optional": true
|
|
74
|
+
},
|
|
64
75
|
"@xyflow/svelte": {
|
|
65
76
|
"optional": true
|
|
66
77
|
}
|
|
67
78
|
},
|
|
68
79
|
"devDependencies": {
|
|
80
|
+
"@dagrejs/dagre": "^1.1.4",
|
|
69
81
|
"@sveltejs/package": "^2.5.8",
|
|
70
82
|
"@sveltejs/vite-plugin-svelte": "^5.0.3",
|
|
71
83
|
"@tiptap/core": "^2.11.5",
|