oasis-editor 0.0.40 → 0.0.42

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,18 @@
1
+ import { EditorState } from '../../core/model.js';
2
+ import { LayoutOptionsOverlay } from '../editorUiTypes.js';
3
+
4
+ export interface EditorLayoutOptionsControllerDeps {
5
+ state: () => EditorState;
6
+ resetTransactionGrouping: () => void;
7
+ applyTransactionalState: (transform: (current: EditorState) => EditorState, options?: {
8
+ mergeKey?: string;
9
+ }) => void;
10
+ focusInput: () => void;
11
+ }
12
+ /**
13
+ * Builds the Layout Options overlay controller (Word-style text-wrapping popup
14
+ * for the selected image / text box). Extracted from `OasisEditorApp` so the
15
+ * composition root does not carry per-feature operation logic (S1). See
16
+ * [[layout-options-feature]].
17
+ */
18
+ export declare function createEditorLayoutOptionsController(deps: EditorLayoutOptionsControllerDeps): LayoutOptionsOverlay;
@@ -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.40",
3
+ "version": "0.0.42",
4
4
  "type": "module",
5
5
  "repository": {
6
6
  "type": "git",