orgnote-api 0.40.24 → 0.40.27
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/api.d.ts +4 -0
- package/constants/i18n-keys.d.ts +7 -2
- package/constants/i18n-keys.js +5 -0
- package/constants/route-names.d.ts +1 -0
- package/constants/route-names.js +1 -0
- package/models/babel-store.d.ts +13 -0
- package/models/babel-store.js +1 -0
- package/models/buffer.d.ts +4 -1
- package/models/config-store.d.ts +2 -2
- package/models/default-commands.d.ts +0 -1
- package/models/default-commands.js +0 -1
- package/models/editor-store.d.ts +16 -0
- package/models/editor-store.js +1 -0
- package/models/editor.d.ts +2 -2
- package/models/extension.d.ts +8 -0
- package/models/extension.js +4 -1
- package/models/file-opener-store.d.ts +18 -3
- package/models/index.d.ts +2 -0
- package/models/index.js +2 -0
- package/models/orgnote-config.d.ts +3 -0
- package/models/orgnote-config.js +3 -0
- package/models/widget.d.ts +21 -13
- package/package.json +3 -3
- package/utils/binary.d.ts +4 -0
- package/utils/binary.js +17 -0
- package/utils/index.d.ts +1 -0
- package/utils/index.js +1 -0
package/api.d.ts
CHANGED
|
@@ -3,6 +3,8 @@ import { WebSocketClient } from './websocket/client.js';
|
|
|
3
3
|
import { WidgetType } from './models/widget-type.js';
|
|
4
4
|
import { NodeType } from 'org-mode-ast';
|
|
5
5
|
import { ExtensionStoreDefinition } from './models/extension-store.js';
|
|
6
|
+
import { EditorStoreDefinition } from './models/editor-store.js';
|
|
7
|
+
import { BabelStoreDefinition } from './models/babel-store.js';
|
|
6
8
|
import { FileSystemStoreDefinition } from './models/file-system-store.js';
|
|
7
9
|
import { EncryptionStoreDefinition } from './models/encryption-store.js';
|
|
8
10
|
import { PlatformSpecificFn } from './models/platform-specific.js';
|
|
@@ -67,6 +69,8 @@ export interface OrgNoteApi {
|
|
|
67
69
|
useFileGuard: FileGuardStoreDefinition;
|
|
68
70
|
useAuth: AuthStoreDefinition;
|
|
69
71
|
useSync: SyncStoreDefinition;
|
|
72
|
+
useEditor: EditorStoreDefinition;
|
|
73
|
+
useBabel: BabelStoreDefinition;
|
|
70
74
|
app: App;
|
|
71
75
|
};
|
|
72
76
|
utils: {
|
package/constants/i18n-keys.d.ts
CHANGED
|
@@ -135,6 +135,8 @@ export declare enum i18n {
|
|
|
135
135
|
CONFIRM_CLEAR_LOGS = "confirm clear logs",
|
|
136
136
|
SYSTEM_INFO = "system info",
|
|
137
137
|
FILE_DELETED_EXTERNALLY = "file was deleted externally",
|
|
138
|
+
IMAGE_LOAD_FAILED = "failed to load image",
|
|
139
|
+
IMAGE_NOT_FOUND = "image not found",
|
|
138
140
|
USED_SPACE = "used space",
|
|
139
141
|
STORAGE = "storage",
|
|
140
142
|
AUTHENTICATION_STATUS = "authentication status",
|
|
@@ -150,7 +152,8 @@ export declare enum i18n {
|
|
|
150
152
|
AUTH_LOGIN_DESCRIPTION = "sign in to your account",
|
|
151
153
|
AUTH_INVALID_CALLBACK_PARAMS = "invalid authentication callback parameters",
|
|
152
154
|
AUTH_REMOVE_ACCOUNT_DESCRIPTION = "permanently delete your account",
|
|
153
|
-
AUTH_GROUP = "auth"
|
|
155
|
+
AUTH_GROUP = "auth",
|
|
156
|
+
TABS_COUNT = "tabsCount"
|
|
154
157
|
}
|
|
155
158
|
export declare const I18N: {
|
|
156
159
|
REPORT_BUG: DefaultCommands.REPORT_BUG;
|
|
@@ -212,7 +215,6 @@ export declare const I18N: {
|
|
|
212
215
|
CONFIRM_FILE_DELETION: DefaultCommands.CONFIRM_FILE_DELETION;
|
|
213
216
|
NEW_FILE_PATH: DefaultCommands.NEW_FILE_PATH;
|
|
214
217
|
OPEN_NOTE: DefaultCommands.OPEN_NOTE;
|
|
215
|
-
OPEN_CODE_EDITOR: DefaultCommands.OPEN_CODE_EDITOR;
|
|
216
218
|
TABS: DefaultCommands.TABS;
|
|
217
219
|
SHOW_TAB_SWITCHER: DefaultCommands.SHOW_TAB_SWITCHER;
|
|
218
220
|
CLOSE_TAB: DefaultCommands.CLOSE_TAB;
|
|
@@ -361,6 +363,8 @@ export declare const I18N: {
|
|
|
361
363
|
CONFIRM_CLEAR_LOGS: i18n.CONFIRM_CLEAR_LOGS;
|
|
362
364
|
SYSTEM_INFO: i18n.SYSTEM_INFO;
|
|
363
365
|
FILE_DELETED_EXTERNALLY: i18n.FILE_DELETED_EXTERNALLY;
|
|
366
|
+
IMAGE_LOAD_FAILED: i18n.IMAGE_LOAD_FAILED;
|
|
367
|
+
IMAGE_NOT_FOUND: i18n.IMAGE_NOT_FOUND;
|
|
364
368
|
USED_SPACE: i18n.USED_SPACE;
|
|
365
369
|
STORAGE: i18n.STORAGE;
|
|
366
370
|
AUTHENTICATION_STATUS: i18n.AUTHENTICATION_STATUS;
|
|
@@ -377,5 +381,6 @@ export declare const I18N: {
|
|
|
377
381
|
AUTH_INVALID_CALLBACK_PARAMS: i18n.AUTH_INVALID_CALLBACK_PARAMS;
|
|
378
382
|
AUTH_REMOVE_ACCOUNT_DESCRIPTION: i18n.AUTH_REMOVE_ACCOUNT_DESCRIPTION;
|
|
379
383
|
AUTH_GROUP: i18n.AUTH_GROUP;
|
|
384
|
+
TABS_COUNT: i18n.TABS_COUNT;
|
|
380
385
|
};
|
|
381
386
|
export type I18N = i18n | DefaultCommands;
|
package/constants/i18n-keys.js
CHANGED
|
@@ -139,6 +139,9 @@ export var i18n;
|
|
|
139
139
|
i18n["SYSTEM_INFO"] = "system info";
|
|
140
140
|
// Buffer
|
|
141
141
|
i18n["FILE_DELETED_EXTERNALLY"] = "file was deleted externally";
|
|
142
|
+
// Images
|
|
143
|
+
i18n["IMAGE_LOAD_FAILED"] = "failed to load image";
|
|
144
|
+
i18n["IMAGE_NOT_FOUND"] = "image not found";
|
|
142
145
|
// Subscription limits
|
|
143
146
|
i18n["USED_SPACE"] = "used space";
|
|
144
147
|
i18n["STORAGE"] = "storage";
|
|
@@ -157,6 +160,8 @@ export var i18n;
|
|
|
157
160
|
i18n["AUTH_INVALID_CALLBACK_PARAMS"] = "invalid authentication callback parameters";
|
|
158
161
|
i18n["AUTH_REMOVE_ACCOUNT_DESCRIPTION"] = "permanently delete your account";
|
|
159
162
|
i18n["AUTH_GROUP"] = "auth";
|
|
163
|
+
// Tabs
|
|
164
|
+
i18n["TABS_COUNT"] = "tabsCount";
|
|
160
165
|
})(i18n || (i18n = {}));
|
|
161
166
|
export const I18N = {
|
|
162
167
|
...i18n,
|
package/constants/route-names.js
CHANGED
|
@@ -9,6 +9,7 @@ export var RouteNames;
|
|
|
9
9
|
RouteNames["UserGraph"] = "UserGraph";
|
|
10
10
|
RouteNames["EditNote"] = "EditNote";
|
|
11
11
|
RouteNames["EditCode"] = "EditCode";
|
|
12
|
+
RouteNames["File"] = "File";
|
|
12
13
|
RouteNames["SettingsPage"] = "SettingsPage";
|
|
13
14
|
RouteNames["SystemSettings"] = "SystemSettings";
|
|
14
15
|
RouteNames["ExtensionsSettings"] = "ExtensionsSettings";
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { Ref } from 'vue';
|
|
2
|
+
import type { StoreDefinition } from './store.js';
|
|
3
|
+
export interface OrgBabel {
|
|
4
|
+
executor: (code: string) => Promise<string> | string;
|
|
5
|
+
languages?: string[];
|
|
6
|
+
}
|
|
7
|
+
export interface BabelStore {
|
|
8
|
+
orgBabels: Ref<Record<string, OrgBabel>>;
|
|
9
|
+
register: (babel: OrgBabel) => void;
|
|
10
|
+
unregister: (languages: string[]) => void;
|
|
11
|
+
execute: (lang: string, code: string) => Promise<string>;
|
|
12
|
+
}
|
|
13
|
+
export type BabelStoreDefinition = StoreDefinition<BabelStore>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/models/buffer.d.ts
CHANGED
|
@@ -11,7 +11,10 @@ export interface BufferGuard {
|
|
|
11
11
|
export interface Buffer<T = unknown> {
|
|
12
12
|
path: string;
|
|
13
13
|
title: string;
|
|
14
|
-
|
|
14
|
+
rawContent: Uint8Array;
|
|
15
|
+
readonly text: string;
|
|
16
|
+
readonly base64: string;
|
|
17
|
+
setText: (value: string) => void;
|
|
15
18
|
isSaving: boolean;
|
|
16
19
|
isLoading: boolean;
|
|
17
20
|
encryptionStatus?: boolean;
|
package/models/config-store.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Ref, UnwrapNestedRefs } from 'vue';
|
|
2
|
-
import { OrgNoteConfig } from './orgnote-config.js';
|
|
3
|
-
import { StoreDefinition } from './store.js';
|
|
2
|
+
import type { OrgNoteConfig } from './orgnote-config.js';
|
|
3
|
+
import type { StoreDefinition } from './store.js';
|
|
4
4
|
export interface ConfigStore {
|
|
5
5
|
config: UnwrapNestedRefs<OrgNoteConfig>;
|
|
6
6
|
configErrors: Ref<string[]>;
|
|
@@ -58,7 +58,6 @@ export declare enum DefaultCommands {
|
|
|
58
58
|
CONFIRM_FILE_DELETION = "are you sure you want to delete file?",
|
|
59
59
|
NEW_FILE_PATH = "new file path",
|
|
60
60
|
OPEN_NOTE = "open note",
|
|
61
|
-
OPEN_CODE_EDITOR = "open code editor",
|
|
62
61
|
TABS = "show tabs",
|
|
63
62
|
SHOW_TAB_SWITCHER = "show tab switcher",
|
|
64
63
|
CLOSE_TAB = "close tab",
|
|
@@ -72,7 +72,6 @@ export var DefaultCommands;
|
|
|
72
72
|
DefaultCommands["NEW_FILE_PATH"] = "new file path";
|
|
73
73
|
// Notes commands
|
|
74
74
|
DefaultCommands["OPEN_NOTE"] = "open note";
|
|
75
|
-
DefaultCommands["OPEN_CODE_EDITOR"] = "open code editor";
|
|
76
75
|
// Windows & buffers
|
|
77
76
|
DefaultCommands["TABS"] = "show tabs";
|
|
78
77
|
DefaultCommands["SHOW_TAB_SWITCHER"] = "show tab switcher";
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ComputedRef, ShallowRef } from 'vue';
|
|
2
|
+
import type { InlineEmbeddedWidgets, MultilineEmbeddedWidgets, OrgLineClasses } from './widget.js';
|
|
3
|
+
import type { EditorExtension } from './editor.js';
|
|
4
|
+
import type { WidgetMeta } from '../api.js';
|
|
5
|
+
import type { StoreDefinition } from './store.js';
|
|
6
|
+
export interface EditorStore {
|
|
7
|
+
inlineWidgets: ComputedRef<InlineEmbeddedWidgets>;
|
|
8
|
+
multilineWidgets: ComputedRef<MultilineEmbeddedWidgets>;
|
|
9
|
+
lineClasses: ComputedRef<OrgLineClasses>;
|
|
10
|
+
extensions: ShallowRef<EditorExtension[]>;
|
|
11
|
+
addWidgets: (...widgets: WidgetMeta[]) => void;
|
|
12
|
+
removeWidget: (widgetId: string) => void;
|
|
13
|
+
addExtensions: (...extensions: EditorExtension[]) => void;
|
|
14
|
+
removeExtensions: (...extensions: EditorExtension[]) => void;
|
|
15
|
+
}
|
|
16
|
+
export type EditorStoreDefinition = StoreDefinition<EditorStore>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/models/editor.d.ts
CHANGED
|
@@ -12,12 +12,12 @@ interface DynamicComponent {
|
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
export interface EditorExtensionParams {
|
|
15
|
-
orgNodeGetter: () => OrgNode;
|
|
15
|
+
orgNodeGetter: () => OrgNode | null;
|
|
16
16
|
readonly: boolean;
|
|
17
17
|
showSpecialSymbols?: boolean;
|
|
18
18
|
dynamicComponent: DynamicComponent;
|
|
19
19
|
foldWidget?: InlineEmbeddedWidget;
|
|
20
|
-
editorViewGetter: () => EditorView;
|
|
20
|
+
editorViewGetter: () => EditorView | undefined;
|
|
21
21
|
}
|
|
22
22
|
export type EditorExtension = (params: EditorExtensionParams) => Extension;
|
|
23
23
|
export {};
|
package/models/extension.d.ts
CHANGED
|
@@ -12,6 +12,9 @@ declare const GIT_SOURCE_SCHEMA: import("valibot").ObjectSchema<{
|
|
|
12
12
|
declare const LOCAL_SOURCE_SCHEMA: import("valibot").ObjectSchema<{
|
|
13
13
|
readonly type: import("valibot").LiteralSchema<"local", undefined>;
|
|
14
14
|
}, undefined>;
|
|
15
|
+
declare const BUILTIN_SOURCE_SCHEMA: import("valibot").ObjectSchema<{
|
|
16
|
+
readonly type: import("valibot").LiteralSchema<"builtin", undefined>;
|
|
17
|
+
}, undefined>;
|
|
15
18
|
declare const SOURCE_SCHEMA: import("valibot").UnionSchema<[import("valibot").ObjectSchema<{
|
|
16
19
|
readonly type: import("valibot").LiteralSchema<"git", undefined>;
|
|
17
20
|
readonly repo: import("valibot").StringSchema<undefined>;
|
|
@@ -19,6 +22,8 @@ declare const SOURCE_SCHEMA: import("valibot").UnionSchema<[import("valibot").Ob
|
|
|
19
22
|
readonly tag: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
20
23
|
}, undefined>, import("valibot").ObjectSchema<{
|
|
21
24
|
readonly type: import("valibot").LiteralSchema<"local", undefined>;
|
|
25
|
+
}, undefined>, import("valibot").ObjectSchema<{
|
|
26
|
+
readonly type: import("valibot").LiteralSchema<"builtin", undefined>;
|
|
22
27
|
}, undefined>], undefined>;
|
|
23
28
|
declare const COMMAND_SCHEMA: import("valibot").ObjectSchema<{
|
|
24
29
|
readonly id: import("valibot").StringSchema<undefined>;
|
|
@@ -41,6 +46,8 @@ export declare const EXTENSION_MANIFEST_SCHEMA: import("valibot").ObjectSchema<{
|
|
|
41
46
|
readonly tag: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
42
47
|
}, undefined>, import("valibot").ObjectSchema<{
|
|
43
48
|
readonly type: import("valibot").LiteralSchema<"local", undefined>;
|
|
49
|
+
}, undefined>, import("valibot").ObjectSchema<{
|
|
50
|
+
readonly type: import("valibot").LiteralSchema<"builtin", undefined>;
|
|
44
51
|
}, undefined>], undefined>;
|
|
45
52
|
readonly author: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
46
53
|
readonly description: import("valibot").OptionalSchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
@@ -81,6 +88,7 @@ export type ExtensionCategory = InferOutput<typeof CATEGORY_SCHEMA>;
|
|
|
81
88
|
export type ExtensionSourceInfo = InferOutput<typeof SOURCE_SCHEMA>;
|
|
82
89
|
export type GitSource = InferOutput<typeof GIT_SOURCE_SCHEMA>;
|
|
83
90
|
export type LocalSource = InferOutput<typeof LOCAL_SOURCE_SCHEMA>;
|
|
91
|
+
export type BuiltinSource = InferOutput<typeof BUILTIN_SOURCE_SCHEMA>;
|
|
84
92
|
export type ExtensionCommand = InferOutput<typeof COMMAND_SCHEMA>;
|
|
85
93
|
export type ExtensionKeybinding = InferOutput<typeof KEYBINDING_SCHEMA>;
|
|
86
94
|
export type ExtensionPlatform = InferOutput<typeof PLATFORM_SCHEMA>;
|
package/models/extension.js
CHANGED
|
@@ -41,7 +41,10 @@ const GIT_SOURCE_SCHEMA = object({
|
|
|
41
41
|
const LOCAL_SOURCE_SCHEMA = object({
|
|
42
42
|
type: literal('local'),
|
|
43
43
|
});
|
|
44
|
-
const
|
|
44
|
+
const BUILTIN_SOURCE_SCHEMA = object({
|
|
45
|
+
type: literal('builtin'),
|
|
46
|
+
});
|
|
47
|
+
const SOURCE_SCHEMA = union([GIT_SOURCE_SCHEMA, LOCAL_SOURCE_SCHEMA, BUILTIN_SOURCE_SCHEMA]);
|
|
45
48
|
const COMMAND_SCHEMA = object({
|
|
46
49
|
id: string(),
|
|
47
50
|
title: string(),
|
|
@@ -1,7 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Component } from 'vue';
|
|
2
|
+
import type { StoreDefinition } from './store.js';
|
|
3
|
+
export type FileReaderComponent = Component | (() => Promise<Component>);
|
|
4
|
+
export interface ReaderMeta {
|
|
5
|
+
id: string;
|
|
6
|
+
name: string;
|
|
7
|
+
icon?: string;
|
|
8
|
+
priority?: number;
|
|
9
|
+
}
|
|
10
|
+
export interface FileReaderEntry {
|
|
11
|
+
pattern: string;
|
|
12
|
+
component: FileReaderComponent;
|
|
13
|
+
meta: ReaderMeta;
|
|
14
|
+
}
|
|
2
15
|
export interface FileReaderStore {
|
|
3
|
-
|
|
4
|
-
|
|
16
|
+
register: (entry: FileReaderEntry) => void;
|
|
17
|
+
unregister: (readerId: string) => void;
|
|
18
|
+
getReaders: (path: string) => FileReaderEntry[];
|
|
19
|
+
getReader: (path: string) => FileReaderEntry | undefined;
|
|
5
20
|
openFile: (path: string) => Promise<void>;
|
|
6
21
|
}
|
|
7
22
|
export type FileReaderStoreDefinition = StoreDefinition<FileReaderStore>;
|
package/models/index.d.ts
CHANGED
|
@@ -61,6 +61,8 @@ export * from './panes-store.js';
|
|
|
61
61
|
export * from './layout-store.js';
|
|
62
62
|
export * from './file-system-manager-store.js';
|
|
63
63
|
export * from './config-store.js';
|
|
64
|
+
export * from './editor-store.js';
|
|
65
|
+
export * from './babel-store.js';
|
|
64
66
|
export * from './notifications-store.js';
|
|
65
67
|
export * from './notification-config.js';
|
|
66
68
|
export * from './buffer-store.js';
|
package/models/index.js
CHANGED
|
@@ -63,6 +63,8 @@ export * from "./panes-store.js";
|
|
|
63
63
|
export * from "./layout-store.js";
|
|
64
64
|
export * from "./file-system-manager-store.js";
|
|
65
65
|
export * from "./config-store.js";
|
|
66
|
+
export * from "./editor-store.js";
|
|
67
|
+
export * from "./babel-store.js";
|
|
66
68
|
export * from "./notifications-store.js";
|
|
67
69
|
export * from "./notification-config.js";
|
|
68
70
|
export * from "./buffer-store.js";
|
|
@@ -34,6 +34,9 @@ export declare const ORG_NOTE_CONFIG_SCHEMA: import("valibot").SchemaWithPipe<re
|
|
|
34
34
|
readonly persistantPanesSaveDelay: import("valibot").NumberSchema<undefined>;
|
|
35
35
|
readonly dropZoneEdgeRatio: import("valibot").NumberSchema<undefined>;
|
|
36
36
|
}, undefined>;
|
|
37
|
+
readonly fileReaders: import("valibot").OptionalSchema<import("valibot").ObjectSchema<{
|
|
38
|
+
readonly preferredReaders: import("valibot").OptionalSchema<import("valibot").ObjectWithRestSchema<{}, import("valibot").StringSchema<undefined>, undefined>, undefined>;
|
|
39
|
+
}, undefined>, undefined>;
|
|
37
40
|
readonly extensions: import("valibot").ObjectSchema<{
|
|
38
41
|
readonly sources: import("valibot").ArraySchema<import("valibot").StringSchema<undefined>, undefined>;
|
|
39
42
|
}, undefined>;
|
package/models/orgnote-config.js
CHANGED
|
@@ -35,6 +35,9 @@ export const ORG_NOTE_CONFIG_SCHEMA = pipe(objectWithRest({
|
|
|
35
35
|
persistantPanesSaveDelay: number(),
|
|
36
36
|
dropZoneEdgeRatio: number(),
|
|
37
37
|
}),
|
|
38
|
+
fileReaders: optional(object({
|
|
39
|
+
preferredReaders: optional(objectWithRest({}, string())),
|
|
40
|
+
})),
|
|
38
41
|
extensions: object({
|
|
39
42
|
sources: array(string()),
|
|
40
43
|
}),
|
package/models/widget.d.ts
CHANGED
|
@@ -1,32 +1,41 @@
|
|
|
1
1
|
import type { ChangeSpec } from '@codemirror/state';
|
|
2
|
-
import { EditorView } from '@codemirror/view';
|
|
2
|
+
import type { EditorView } from '@codemirror/view';
|
|
3
3
|
import type { NodeType, OrgNode } from 'org-mode-ast';
|
|
4
|
+
import type { Component } from 'vue';
|
|
4
5
|
export type EmbeddedWidget = {
|
|
5
6
|
destroy: () => void;
|
|
6
7
|
refresh?: (...args: unknown[]) => void;
|
|
7
8
|
};
|
|
8
|
-
export interface WidgetBuilderParams {
|
|
9
|
+
export interface WidgetBuilderParams<TEditorView = EditorView> {
|
|
9
10
|
wrap: HTMLElement;
|
|
10
11
|
orgNode: OrgNode;
|
|
11
|
-
|
|
12
|
+
orgNodeGetter?: () => OrgNode;
|
|
13
|
+
rootNodeSrc: () => OrgNode | null;
|
|
12
14
|
onUpdateFn?: (newVal: string) => void;
|
|
13
|
-
|
|
15
|
+
onEditMode?: () => void;
|
|
16
|
+
editorView: TEditorView;
|
|
14
17
|
readonly?: boolean;
|
|
18
|
+
suppressEdit?: boolean;
|
|
15
19
|
}
|
|
16
20
|
export type WidgetBuilder = (params: WidgetBuilderParams) => EmbeddedWidget;
|
|
17
21
|
export interface CommonEmbeddedWidget {
|
|
22
|
+
id: string;
|
|
18
23
|
satisfied?: (orgNode: OrgNode) => boolean;
|
|
19
24
|
widgetBuilder?: WidgetBuilder;
|
|
25
|
+
component?: Component;
|
|
26
|
+
componentProps?: Record<string, unknown>;
|
|
20
27
|
viewUpdater?: (orgNode: OrgNode, newVal: string) => ViewUpdateSchema;
|
|
21
28
|
ignoreEvent?: boolean;
|
|
22
29
|
showRangeOffset?: [number, number];
|
|
30
|
+
priority?: number;
|
|
23
31
|
}
|
|
24
32
|
export interface MultilineEmbeddedWidget extends CommonEmbeddedWidget {
|
|
25
|
-
widgetBuilder
|
|
33
|
+
widgetBuilder?: WidgetBuilder;
|
|
34
|
+
component?: Component;
|
|
26
35
|
suppressEdit?: boolean;
|
|
27
36
|
}
|
|
28
37
|
export type MultilineEmbeddedWidgets = {
|
|
29
|
-
[key in NodeType]?: MultilineEmbeddedWidget;
|
|
38
|
+
[key in NodeType]?: MultilineEmbeddedWidget[];
|
|
30
39
|
};
|
|
31
40
|
export type ViewUpdateSchema = ChangeSpec;
|
|
32
41
|
export interface InlineEmbeddedWidget extends CommonEmbeddedWidget {
|
|
@@ -38,14 +47,13 @@ export interface InlineEmbeddedWidget extends CommonEmbeddedWidget {
|
|
|
38
47
|
inclusive?: boolean;
|
|
39
48
|
}
|
|
40
49
|
export type InlineEmbeddedWidgets = {
|
|
41
|
-
[key in NodeType]?: InlineEmbeddedWidget;
|
|
50
|
+
[key in NodeType]?: InlineEmbeddedWidget[];
|
|
42
51
|
};
|
|
43
|
-
export
|
|
44
|
-
|
|
45
|
-
}) => EmbeddedWidget;
|
|
46
|
-
export type OrgLineClass = {
|
|
52
|
+
export interface OrgLineClass {
|
|
53
|
+
id: string;
|
|
47
54
|
class: string | ((orgNode: OrgNode) => string);
|
|
48
|
-
|
|
55
|
+
priority?: number;
|
|
56
|
+
}
|
|
49
57
|
export type OrgLineClasses = {
|
|
50
|
-
[key in NodeType]?: OrgLineClass;
|
|
58
|
+
[key in NodeType]?: OrgLineClass[];
|
|
51
59
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orgnote-api",
|
|
3
|
-
"version": "0.40.
|
|
3
|
+
"version": "0.40.27",
|
|
4
4
|
"description": "Official API for creating extensions for OrgNote app",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./index.js",
|
|
@@ -67,8 +67,8 @@
|
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
69
|
"@capacitor/filesystem": ">=6.0.0",
|
|
70
|
-
"@codemirror/state": "
|
|
71
|
-
"@codemirror/view": "
|
|
70
|
+
"@codemirror/state": "6.5.3",
|
|
71
|
+
"@codemirror/view": "6.39.5",
|
|
72
72
|
"@faker-js/faker": ">=9.0.0",
|
|
73
73
|
"pinia": ">=2.0.0",
|
|
74
74
|
"quasar": ">=2.0.0",
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare const uint8ArrayToBase64: (bytes: Uint8Array) => string;
|
|
2
|
+
export declare const base64ToUint8Array: (base64: string) => Uint8Array;
|
|
3
|
+
export declare const textToUint8Array: (text: string) => Uint8Array;
|
|
4
|
+
export declare const uint8ArrayToText: (bytes: Uint8Array) => string;
|
package/utils/binary.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
export const uint8ArrayToBase64 = (bytes) => {
|
|
2
|
+
let binary = '';
|
|
3
|
+
for (let i = 0; i < bytes.length; i++) {
|
|
4
|
+
binary += String.fromCharCode(bytes[i]);
|
|
5
|
+
}
|
|
6
|
+
return btoa(binary);
|
|
7
|
+
};
|
|
8
|
+
export const base64ToUint8Array = (base64) => {
|
|
9
|
+
const binary = atob(base64);
|
|
10
|
+
const bytes = new Uint8Array(binary.length);
|
|
11
|
+
for (let i = 0; i < binary.length; i++) {
|
|
12
|
+
bytes[i] = binary.charCodeAt(i);
|
|
13
|
+
}
|
|
14
|
+
return bytes;
|
|
15
|
+
};
|
|
16
|
+
export const textToUint8Array = (text) => new TextEncoder().encode(text);
|
|
17
|
+
export const uint8ArrayToText = (bytes) => new TextDecoder().decode(bytes);
|
package/utils/index.d.ts
CHANGED
package/utils/index.js
CHANGED