oasis-editor 0.0.39 → 0.0.41

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.
@@ -0,0 +1,20 @@
1
+ import { EditorState } from '../../core/model.js';
2
+ import { createEditorTableOperations } from '../../app/controllers/useEditorTableOperations.js';
3
+ import { EditorTableContextMenuActions } from './useEditorContextMenuClipboard.js';
4
+
5
+ type EditorTableOperations = ReturnType<typeof createEditorTableOperations>;
6
+ export interface EditorTableContextMenuActionsDeps {
7
+ state: () => EditorState;
8
+ tableOps: EditorTableOperations;
9
+ isInsideTable: () => boolean;
10
+ openTablePropertiesDialog: (tab: "table" | "cell") => void;
11
+ applyTableContextCommand: (producer: (current: EditorState) => EditorState, mergeKey: string) => void;
12
+ }
13
+ /**
14
+ * Adapts the table operations + properties dialog into the flat action surface
15
+ * the context menu consumes. Pure callback wiring extracted from
16
+ * `OasisEditorApp` so the composition root stays free of per-feature operation
17
+ * mapping (S1).
18
+ */
19
+ export declare function createEditorTableContextMenuActions(deps: EditorTableContextMenuActionsDeps): EditorTableContextMenuActions;
20
+ export {};
@@ -24,23 +24,29 @@ export interface EditorContextMenuClipboardDeps {
24
24
  promptForLink: () => void;
25
25
  openFontDialog: () => void;
26
26
  openParagraphDialog: () => void;
27
- table?: {
28
- isInsideTable: () => boolean;
29
- canMerge: () => boolean;
30
- canSplit: () => boolean;
31
- canEditColumn: () => boolean;
32
- canEditRow: () => boolean;
33
- openProperties: () => void;
34
- openBordersAndShading: () => void;
35
- merge: () => void;
36
- split: () => void;
37
- insertColumnBefore: () => void;
38
- insertColumnAfter: () => void;
39
- deleteColumn: () => void;
40
- insertRowBefore: () => void;
41
- insertRowAfter: () => void;
42
- deleteRow: () => void;
43
- };
27
+ table?: EditorTableContextMenuActions;
28
+ }
29
+ /**
30
+ * The table-aware actions the context menu invokes when the selection is inside
31
+ * a table. Built by `createEditorTableContextMenuActions` from the table
32
+ * operations and dialog openers.
33
+ */
34
+ export interface EditorTableContextMenuActions {
35
+ isInsideTable: () => boolean;
36
+ canMerge: () => boolean;
37
+ canSplit: () => boolean;
38
+ canEditColumn: () => boolean;
39
+ canEditRow: () => boolean;
40
+ openProperties: () => void;
41
+ openBordersAndShading: () => void;
42
+ merge: () => void;
43
+ split: () => void;
44
+ insertColumnBefore: () => void;
45
+ insertColumnAfter: () => void;
46
+ deleteColumn: () => void;
47
+ insertRowBefore: () => void;
48
+ insertRowAfter: () => void;
49
+ deleteRow: () => void;
44
50
  }
45
51
  export declare function createEditorContextMenuClipboard(deps: EditorContextMenuClipboardDeps): {
46
52
  buildContextMenuItems: () => ContextMenuItem[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "oasis-editor",
3
- "version": "0.0.39",
3
+ "version": "0.0.41",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",