oasis-editor 0.0.7 → 0.0.8
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/dist/{OasisEditorApp-Ck4oFAf-.js → OasisEditorApp-PbwiUucf.js} +17 -2
- package/dist/core/plugin.d.ts +4 -0
- package/dist/{index-BGcbqj0Q.js → index-BlQocUZB.js} +410 -86
- package/dist/index.d.ts +5 -2
- package/dist/oasis-editor.css +1 -1
- package/dist/oasis-editor.js +21 -19
- package/dist/oasis-editor.umd.cjs +4 -4
- package/dist/ui/OasisEditorApp.d.ts +1 -1
- package/dist/ui/OasisEditorAppProps.d.ts +2 -0
- package/dist/ui/app/EditorWorkspace.d.ts +2 -1
- package/dist/ui/app/useEditorUiOptions.d.ts +1 -0
- package/dist/ui/components/Toolbar/Toolbar.d.ts +2 -1
- package/dist/ui/components/Toolbar/ribbon/RibbonGroup.d.ts +8 -0
- package/dist/ui/components/Toolbar/ribbon/RibbonPanel.d.ts +9 -0
- package/dist/ui/components/Toolbar/ribbon/RibbonRow.d.ts +7 -0
- package/dist/ui/components/Toolbar/ribbon/RibbonTabs.d.ts +8 -0
- package/dist/ui/components/Toolbar/ribbon/ribbonModel.d.ts +21 -0
- package/dist/ui/components/Toolbar/schema/items.d.ts +9 -0
- package/dist/ui/shells/DocumentShell.d.ts +2 -1
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { OasisEditorAppProps } from '../OasisEditorAppProps.js';
|
|
2
2
|
|
|
3
|
-
export type { OasisEditorLoadingOptions, OasisEditorAppUiProps, OasisEditorAppDocumentProps, OasisEditorAppRuntimeProps, OasisEditorAppProps, ToolbarLayoutMode, } from '../OasisEditorAppProps.js';
|
|
3
|
+
export type { OasisEditorLoadingOptions, OasisEditorAppUiProps, OasisEditorAppDocumentProps, OasisEditorAppRuntimeProps, OasisEditorAppProps, ToolbarLayoutMode, ToolbarViewMode, } from '../OasisEditorAppProps.js';
|
|
4
4
|
export declare function OasisEditorApp(props?: OasisEditorAppProps): import("solid-js").JSX.Element;
|
|
@@ -6,6 +6,7 @@ import { DocumentPersistence } from '../../app/controllers/useEditorPersistence.
|
|
|
6
6
|
import { OasisPlugin } from '../../core/plugin.js';
|
|
7
7
|
import { OasisEditorClient, OasisEditorClientController } from '../../app/client/OasisEditorClient.js';
|
|
8
8
|
|
|
9
|
+
export type ToolbarViewMode = "ribbon" | "compact";
|
|
9
10
|
export type ToolbarLayoutMode = "overflow" | "wrap";
|
|
10
11
|
export interface OasisEditorLoadingOptions {
|
|
11
12
|
label?: string;
|
|
@@ -17,6 +18,7 @@ export interface OasisEditorAppUiProps {
|
|
|
17
18
|
shell?: "document" | "inline" | "balloon";
|
|
18
19
|
uiVariant?: "classic" | "docs";
|
|
19
20
|
toolbar?: {
|
|
21
|
+
view?: ToolbarViewMode;
|
|
20
22
|
layout?: ToolbarLayoutMode;
|
|
21
23
|
};
|
|
22
24
|
showTitleBar?: boolean;
|
|
@@ -5,7 +5,7 @@ import { ToolbarHost } from '../../../components/Toolbar/state/createToolbarApi.
|
|
|
5
5
|
import { ToolbarRegistry } from '../../../components/Toolbar/registry/ToolbarRegistry.js';
|
|
6
6
|
import { MenuRegistry } from '../../../components/Menubar/menuRegistry.js';
|
|
7
7
|
import { EditorLayoutParagraph, EditorState } from '../../../../core/model.js';
|
|
8
|
-
import { ToolbarLayoutMode } from '../../../OasisEditorAppProps.js';
|
|
8
|
+
import { ToolbarLayoutMode, ToolbarViewMode } from '../../../OasisEditorAppProps.js';
|
|
9
9
|
import { OasisEditor } from '../../../../core/plugin.js';
|
|
10
10
|
|
|
11
11
|
export interface EditorWorkspaceProps {
|
|
@@ -22,6 +22,7 @@ export interface EditorWorkspaceProps {
|
|
|
22
22
|
showMenubar: () => boolean;
|
|
23
23
|
showToolbar: () => boolean;
|
|
24
24
|
showOutline: () => boolean;
|
|
25
|
+
toolbarView: () => ToolbarViewMode;
|
|
25
26
|
toolbarLayout: () => ToolbarLayoutMode;
|
|
26
27
|
isReadOnly: () => boolean;
|
|
27
28
|
viewportHeight: () => number | string | undefined;
|
|
@@ -15,6 +15,7 @@ export declare function createEditorUiOptions(ctx: EditorUiOptionsContext): {
|
|
|
15
15
|
showMenubar: () => boolean;
|
|
16
16
|
showToolbar: () => boolean;
|
|
17
17
|
showOutline: () => boolean;
|
|
18
|
+
toolbarView: () => import('../../../OasisEditorAppProps.js').ToolbarViewMode;
|
|
18
19
|
toolbarLayout: () => import('../../../OasisEditorAppProps.js').ToolbarLayoutMode;
|
|
19
20
|
isReadOnly: () => boolean;
|
|
20
21
|
useComposedShell: () => boolean;
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { JSX } from '../../../solid-js';
|
|
2
2
|
import { ToolbarHost } from '../../../state/createToolbarApi.js';
|
|
3
3
|
import { ToolbarRegistry } from '../../../registry/ToolbarRegistry.js';
|
|
4
|
-
import { ToolbarLayoutMode } from '../../../../../OasisEditorAppProps.js';
|
|
4
|
+
import { ToolbarLayoutMode, ToolbarViewMode } from '../../../../../OasisEditorAppProps.js';
|
|
5
5
|
|
|
6
6
|
export interface ToolbarProps {
|
|
7
7
|
host: () => ToolbarHost;
|
|
8
8
|
registry: ToolbarRegistry;
|
|
9
9
|
showFileGroup?: boolean;
|
|
10
|
+
view?: ToolbarViewMode;
|
|
10
11
|
layout?: ToolbarLayoutMode;
|
|
11
12
|
}
|
|
12
13
|
/**
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { ToolbarActionApi } from '../../../../../schema/items.js';
|
|
2
|
+
import { RibbonGroupModel } from '../../../../ribbonModel.js';
|
|
3
|
+
|
|
4
|
+
export interface RibbonGroupProps {
|
|
5
|
+
group: RibbonGroupModel;
|
|
6
|
+
api: ToolbarActionApi;
|
|
7
|
+
}
|
|
8
|
+
export declare function RibbonGroup(props: RibbonGroupProps): import("solid-js").JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Accessor } from '../../../../solid-js';
|
|
2
|
+
import { RibbonTabId, ToolbarActionApi, ToolbarItem } from '../../../../../schema/items.js';
|
|
3
|
+
|
|
4
|
+
export interface RibbonPanelProps {
|
|
5
|
+
activeTab: Accessor<RibbonTabId>;
|
|
6
|
+
items: Accessor<ToolbarItem[]>;
|
|
7
|
+
api: ToolbarActionApi;
|
|
8
|
+
}
|
|
9
|
+
export declare function RibbonPanel(props: RibbonPanelProps): import("solid-js").JSX.Element;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Accessor, Setter } from '../../../../solid-js';
|
|
2
|
+
import { RibbonTabId } from '../../../../../schema/items.js';
|
|
3
|
+
|
|
4
|
+
export interface RibbonTabsProps {
|
|
5
|
+
activeTab: Accessor<RibbonTabId>;
|
|
6
|
+
setActiveTab: Setter<RibbonTabId>;
|
|
7
|
+
}
|
|
8
|
+
export declare function RibbonTabs(props: RibbonTabsProps): import("solid-js").JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { RibbonRow, RibbonTabId, ToolbarItem } from '../../../../../schema/items.js';
|
|
2
|
+
|
|
3
|
+
export interface RibbonTabDefinition {
|
|
4
|
+
id: RibbonTabId;
|
|
5
|
+
label: string;
|
|
6
|
+
}
|
|
7
|
+
export interface RibbonGroupModel {
|
|
8
|
+
id: string;
|
|
9
|
+
label: string;
|
|
10
|
+
rows: Record<RibbonRow, ToolbarItem[]>;
|
|
11
|
+
order: number;
|
|
12
|
+
}
|
|
13
|
+
export declare const RIBBON_TAB_DEFINITIONS: RibbonTabDefinition[];
|
|
14
|
+
export declare const DEFAULT_RIBBON_TAB: RibbonTabId;
|
|
15
|
+
export declare const DEFAULT_RIBBON_GROUP = "general";
|
|
16
|
+
export declare const DEFAULT_RIBBON_ROW: RibbonRow;
|
|
17
|
+
export declare function normalizeRibbonTab(tab: ToolbarItem["tab"]): RibbonTabId;
|
|
18
|
+
export declare function normalizeRibbonGroup(group: ToolbarItem["group"]): string;
|
|
19
|
+
export declare function normalizeRibbonRow(row: ToolbarItem["row"]): RibbonRow;
|
|
20
|
+
export declare function ribbonGroupLabel(group: string): string;
|
|
21
|
+
export declare function buildRibbonGroups(items: ToolbarItem[], tab: RibbonTabId): RibbonGroupModel[];
|
|
@@ -4,6 +4,9 @@ import { CommandRef } from '../../../../../../../../core/commands/CommandRef.js'
|
|
|
4
4
|
import { TranslationKey } from '../../../../../../../../i18n/index.js';
|
|
5
5
|
import { ColorPalette } from '../../../../palette.js';
|
|
6
6
|
|
|
7
|
+
export declare const RIBBON_TABS: readonly ["file", "home", "insert", "draw", "layout", "references", "collaboration", "protection", "view", "plugins", "ai"];
|
|
8
|
+
export type RibbonTabId = (typeof RIBBON_TABS)[number];
|
|
9
|
+
export type RibbonRow = 1 | 2;
|
|
7
10
|
/** Reactive snapshot of a command's state, as consumed by toolbar items. */
|
|
8
11
|
export interface ToolbarCommandState {
|
|
9
12
|
isEnabled: boolean;
|
|
@@ -41,8 +44,12 @@ export interface ItemReactiveOverrides {
|
|
|
41
44
|
interface ToolbarItemBase extends ItemReactiveOverrides {
|
|
42
45
|
id: string;
|
|
43
46
|
order?: number;
|
|
47
|
+
/** Office-style ribbon tab placement. Missing values default to Plugins. */
|
|
48
|
+
tab?: RibbonTabId;
|
|
44
49
|
/** Logical section id (used for grouping/ordering, not rendering layout). */
|
|
45
50
|
group?: string;
|
|
51
|
+
/** Two-row ribbon placement. Missing values default to row 1. */
|
|
52
|
+
row?: RibbonRow;
|
|
46
53
|
testId?: string;
|
|
47
54
|
tooltipKey?: TranslationKey;
|
|
48
55
|
tooltip?: string;
|
|
@@ -120,7 +127,9 @@ export interface SeparatorItem {
|
|
|
120
127
|
type: "separator";
|
|
121
128
|
id: string;
|
|
122
129
|
order?: number;
|
|
130
|
+
tab?: RibbonTabId;
|
|
123
131
|
group?: string;
|
|
132
|
+
row?: RibbonRow;
|
|
124
133
|
isVisible?: (api: ToolbarActionApi) => boolean;
|
|
125
134
|
}
|
|
126
135
|
export interface GroupItem extends ToolbarItemBase {
|
|
@@ -4,7 +4,7 @@ import { ToolbarHost } from '../../../components/Toolbar/state/createToolbarApi.
|
|
|
4
4
|
import { ToolbarRegistry } from '../../../components/Toolbar/registry/ToolbarRegistry.js';
|
|
5
5
|
import { MenuRegistry } from '../../../components/Menubar/menuRegistry.js';
|
|
6
6
|
import { EditorLayoutParagraph, EditorState } from '../../../../core/model.js';
|
|
7
|
-
import { ToolbarLayoutMode } from '../../../OasisEditorAppProps.js';
|
|
7
|
+
import { ToolbarLayoutMode, ToolbarViewMode } from '../../../OasisEditorAppProps.js';
|
|
8
8
|
import { OasisEditor } from '../../../../core/plugin.js';
|
|
9
9
|
|
|
10
10
|
export interface ShellProps {
|
|
@@ -19,6 +19,7 @@ export interface ShellProps {
|
|
|
19
19
|
showMenubar: boolean;
|
|
20
20
|
showToolbar: boolean;
|
|
21
21
|
showOutline: boolean;
|
|
22
|
+
toolbarView: ToolbarViewMode;
|
|
22
23
|
toolbarLayout: ToolbarLayoutMode;
|
|
23
24
|
isReadOnly: boolean;
|
|
24
25
|
measuredBlockHeights: Accessor<Record<string, number>>;
|