@nativedesktop/react 0.4.9 → 0.4.11
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/index.js
CHANGED
|
@@ -593,7 +593,7 @@ var widgetEvents = {
|
|
|
593
593
|
tabview: [{ name: "selectionChanged", handler: "onSelectionChanged", payload: "index" }, { name: "dragStarted", handler: "onDragStarted", payload: "text" }, { name: "dragEnded", handler: "onDragEnded", payload: "none" }, { name: "dragOver", handler: "onDragOver", payload: "dragPoint" }, { name: "dropped", handler: "onDropped", payload: "dragPoint" }],
|
|
594
594
|
grid: [{ name: "dragStarted", handler: "onDragStarted", payload: "text" }, { name: "dragEnded", handler: "onDragEnded", payload: "none" }, { name: "dragOver", handler: "onDragOver", payload: "dragPoint" }, { name: "dropped", handler: "onDropped", payload: "dragPoint" }],
|
|
595
595
|
listview: [{ name: "rowActivated", handler: "onRowActivated", payload: "index" }, { name: "dragStarted", handler: "onDragStarted", payload: "text" }, { name: "dragEnded", handler: "onDragEnded", payload: "none" }, { name: "dragOver", handler: "onDragOver", payload: "dragPoint" }, { name: "dropped", handler: "onDropped", payload: "dragPoint" }],
|
|
596
|
-
webview: [{ name: "navigate", handler: "onNavigate", payload: "text" }, { name: "titleChanged", handler: "onTitleChanged", payload: "text" }, { name: "loadingChanged", handler: "onLoadingChanged", payload: "checked" }, { name: "backAvailable", handler: "onBackAvailable", payload: "checked" }, { name: "forwardAvailable", handler: "onForwardAvailable", payload: "checked" }, { name: "loadProgress", handler: "onLoadProgress", payload: "value" }, { name: "loadFailed", handler: "onLoadFailed", payload: "data" }, { name: "newWindow", handler: "onNewWindow", payload: "text" }, { name: "downloadRequested", handler: "onDownloadRequested", payload: "data" }, { name: "javaScriptResult", handler: "onJavaScriptResult", payload: "data" }, { name: "scriptMessage", handler: "onScriptMessage", payload: "data" }, { name: "schemeRequest", handler: "onSchemeRequest", payload: "data" }, { name: "cookiesResult", handler: "onCookiesResult", payload: "data" }, { name: "cookiesChanged", handler: "onCookiesChanged", payload: "data" }, { name: "faviconChanged", handler: "onFaviconChanged", payload: "data" }, { name: "findResult", handler: "onFindResult", payload: "data" }, { name: "securityChanged", handler: "onSecurityChanged", payload: "data" }, { name: "linkHover", handler: "onLinkHover", payload: "text" }, { name: "contextMenu", handler: "onContextMenu", payload: "data" }, { name: "contextMenuItemClicked", handler: "onContextMenuItemClicked", payload: "data" }, { name: "sessionSaved", handler: "onSessionSaved", payload: "data" }, { name: "audioStateChanged", handler: "onAudioStateChanged", payload: "data" }, { name: "extensionsList", handler: "onExtensionsList", payload: "data" }, { name: "extensionActions", handler: "onExtensionActions", payload: "data" }, { name: "chromeDialog", handler: "onChromeDialog", payload: "data" }, { name: "permissionRequest", handler: "onPermissionRequest", payload: "data" }, { name: "dragStarted", handler: "onDragStarted", payload: "text" }, { name: "dragEnded", handler: "onDragEnded", payload: "none" }, { name: "dragOver", handler: "onDragOver", payload: "dragPoint" }, { name: "dropped", handler: "onDropped", payload: "dragPoint" }],
|
|
596
|
+
webview: [{ name: "navigate", handler: "onNavigate", payload: "text" }, { name: "titleChanged", handler: "onTitleChanged", payload: "text" }, { name: "loadingChanged", handler: "onLoadingChanged", payload: "checked" }, { name: "backAvailable", handler: "onBackAvailable", payload: "checked" }, { name: "forwardAvailable", handler: "onForwardAvailable", payload: "checked" }, { name: "loadProgress", handler: "onLoadProgress", payload: "value" }, { name: "loadFailed", handler: "onLoadFailed", payload: "data" }, { name: "newWindow", handler: "onNewWindow", payload: "text" }, { name: "downloadRequested", handler: "onDownloadRequested", payload: "data" }, { name: "javaScriptResult", handler: "onJavaScriptResult", payload: "data" }, { name: "scriptMessage", handler: "onScriptMessage", payload: "data" }, { name: "schemeRequest", handler: "onSchemeRequest", payload: "data" }, { name: "cookiesResult", handler: "onCookiesResult", payload: "data" }, { name: "cookiesChanged", handler: "onCookiesChanged", payload: "data" }, { name: "faviconChanged", handler: "onFaviconChanged", payload: "data" }, { name: "findResult", handler: "onFindResult", payload: "data" }, { name: "securityChanged", handler: "onSecurityChanged", payload: "data" }, { name: "linkHover", handler: "onLinkHover", payload: "text" }, { name: "contextMenu", handler: "onContextMenu", payload: "data" }, { name: "contextMenuItemClicked", handler: "onContextMenuItemClicked", payload: "data" }, { name: "sessionSaved", handler: "onSessionSaved", payload: "data" }, { name: "audioStateChanged", handler: "onAudioStateChanged", payload: "data" }, { name: "extensionsList", handler: "onExtensionsList", payload: "data" }, { name: "extensionActions", handler: "onExtensionActions", payload: "data" }, { name: "extensionsChanged", handler: "onExtensionsChanged", payload: "data" }, { name: "chromeDialog", handler: "onChromeDialog", payload: "data" }, { name: "permissionRequest", handler: "onPermissionRequest", payload: "data" }, { name: "dragStarted", handler: "onDragStarted", payload: "text" }, { name: "dragEnded", handler: "onDragEnded", payload: "none" }, { name: "dragOver", handler: "onDragOver", payload: "dragPoint" }, { name: "dropped", handler: "onDropped", payload: "dragPoint" }],
|
|
597
597
|
nativeview: [{ name: "nativeEvent", handler: "onNativeEvent", payload: "data" }, { name: "dragStarted", handler: "onDragStarted", payload: "text" }, { name: "dragEnded", handler: "onDragEnded", payload: "none" }, { name: "dragOver", handler: "onDragOver", payload: "dragPoint" }, { name: "dropped", handler: "onDropped", payload: "dragPoint" }],
|
|
598
598
|
splitview: [{ name: "dragStarted", handler: "onDragStarted", payload: "text" }, { name: "dragEnded", handler: "onDragEnded", payload: "none" }, { name: "dragOver", handler: "onDragOver", payload: "dragPoint" }, { name: "dropped", handler: "onDropped", payload: "dragPoint" }],
|
|
599
599
|
headerbar: [{ name: "back", handler: "onBack", payload: "none" }, { name: "forward", handler: "onForward", payload: "none" }, { name: "dragStarted", handler: "onDragStarted", payload: "text" }, { name: "dragEnded", handler: "onDragEnded", payload: "none" }, { name: "dragOver", handler: "onDragOver", payload: "dragPoint" }, { name: "dropped", handler: "onDropped", payload: "dragPoint" }],
|
|
@@ -669,7 +669,7 @@ var handlerPropNames = {
|
|
|
669
669
|
tabview: ["onSelectionChanged", "onDragStarted", "onDragEnded", "onDragOver", "onDropped"],
|
|
670
670
|
grid: ["onDragStarted", "onDragEnded", "onDragOver", "onDropped"],
|
|
671
671
|
listview: ["onRowActivated", "onDragStarted", "onDragEnded", "onDragOver", "onDropped"],
|
|
672
|
-
webview: ["onNavigate", "onTitleChanged", "onLoadingChanged", "onBackAvailable", "onForwardAvailable", "onLoadProgress", "onLoadFailed", "onNewWindow", "onDownloadRequested", "onJavaScriptResult", "onScriptMessage", "onSchemeRequest", "onCookiesResult", "onCookiesChanged", "onFaviconChanged", "onFindResult", "onSecurityChanged", "onLinkHover", "onContextMenu", "onContextMenuItemClicked", "onSessionSaved", "onAudioStateChanged", "onExtensionsList", "onExtensionActions", "onChromeDialog", "onPermissionRequest", "onDragStarted", "onDragEnded", "onDragOver", "onDropped"],
|
|
672
|
+
webview: ["onNavigate", "onTitleChanged", "onLoadingChanged", "onBackAvailable", "onForwardAvailable", "onLoadProgress", "onLoadFailed", "onNewWindow", "onDownloadRequested", "onJavaScriptResult", "onScriptMessage", "onSchemeRequest", "onCookiesResult", "onCookiesChanged", "onFaviconChanged", "onFindResult", "onSecurityChanged", "onLinkHover", "onContextMenu", "onContextMenuItemClicked", "onSessionSaved", "onAudioStateChanged", "onExtensionsList", "onExtensionActions", "onExtensionsChanged", "onChromeDialog", "onPermissionRequest", "onDragStarted", "onDragEnded", "onDragOver", "onDropped"],
|
|
673
673
|
nativeview: ["onNativeEvent", "onDragStarted", "onDragEnded", "onDragOver", "onDropped"],
|
|
674
674
|
splitview: ["onDragStarted", "onDragEnded", "onDragOver", "onDropped"],
|
|
675
675
|
headerbar: ["onBack", "onForward", "onDragStarted", "onDragEnded", "onDragOver", "onDropped"],
|
|
@@ -742,7 +742,7 @@ var widgetCommands = {
|
|
|
742
742
|
tabview: [],
|
|
743
743
|
grid: [],
|
|
744
744
|
listview: [],
|
|
745
|
-
webview: ["goBack", "goForward", "reload", "stop", "executeJavaScript", "setZoom", "setUserAgent", "openDevTools", "addUserScript", "removeUserScript", "clearUserScripts", "registerScriptMessage", "unregisterScriptMessage", "respondScheme", "respondPermission", "getCookies", "setCookie", "deleteCookie", "findStart", "findNext", "findPrevious", "findStop", "saveSession", "restoreSession", "setMuted", "setContextMenuItems", "listExtensions", "listExtensionActions", "installExtension", "uninstallExtension", "setExtensionEnabled", "focus"],
|
|
745
|
+
webview: ["goBack", "goForward", "reload", "stop", "executeJavaScript", "setZoom", "setUserAgent", "openDevTools", "addUserScript", "removeUserScript", "clearUserScripts", "registerScriptMessage", "unregisterScriptMessage", "respondScheme", "respondPermission", "getCookies", "setCookie", "deleteCookie", "findStart", "findNext", "findPrevious", "findStop", "saveSession", "restoreSession", "setMuted", "setContextMenuItems", "listExtensions", "watchExtensions", "listExtensionActions", "readExtensionAction", "installExtension", "uninstallExtension", "setExtensionEnabled", "focus"],
|
|
746
746
|
nativeview: [],
|
|
747
747
|
splitview: [],
|
|
748
748
|
headerbar: [],
|
|
@@ -1934,6 +1934,8 @@ var pendingCookies = new Map;
|
|
|
1934
1934
|
var pendingSessions = new Map;
|
|
1935
1935
|
var pendingExtensions = new Map;
|
|
1936
1936
|
var pendingActions = new Map;
|
|
1937
|
+
var pendingWatches = new Map;
|
|
1938
|
+
var pendingActionState = new Map;
|
|
1937
1939
|
var seq2 = 0;
|
|
1938
1940
|
function nextId(prefix) {
|
|
1939
1941
|
return `${prefix}${++seq2}`;
|
|
@@ -2023,6 +2025,38 @@ function extensionMutation(node, command, args) {
|
|
|
2023
2025
|
sendCommand(node, command, { id, ...args });
|
|
2024
2026
|
});
|
|
2025
2027
|
}
|
|
2028
|
+
var extensionsWatchers = [];
|
|
2029
|
+
function watchExtensions(node, listener) {
|
|
2030
|
+
const id = nextId("ext");
|
|
2031
|
+
return new Promise((resolve2, reject2) => {
|
|
2032
|
+
pendingWatches.set(id, { resolve: resolve2, reject: reject2 });
|
|
2033
|
+
extensionsWatchers.push(listener);
|
|
2034
|
+
sendCommand(node, "watchExtensions", { id });
|
|
2035
|
+
});
|
|
2036
|
+
}
|
|
2037
|
+
function onExtensionsChanged(e) {
|
|
2038
|
+
const result = e.data;
|
|
2039
|
+
if (result.id !== undefined) {
|
|
2040
|
+
const call2 = pendingWatches.get(result.id);
|
|
2041
|
+
if (!call2)
|
|
2042
|
+
return;
|
|
2043
|
+
pendingWatches.delete(result.id);
|
|
2044
|
+
if (result.ok)
|
|
2045
|
+
call2.resolve(result.sources ?? []);
|
|
2046
|
+
else
|
|
2047
|
+
call2.reject(new Error(result.error ?? "watchExtensions failed"));
|
|
2048
|
+
return;
|
|
2049
|
+
}
|
|
2050
|
+
for (const listener of extensionsWatchers)
|
|
2051
|
+
listener({ reason: result.reason ?? "" });
|
|
2052
|
+
}
|
|
2053
|
+
function readExtensionAction(node) {
|
|
2054
|
+
const id = nextId("ext");
|
|
2055
|
+
return new Promise((resolve2, reject2) => {
|
|
2056
|
+
pendingActionState.set(id, { resolve: resolve2, reject: reject2 });
|
|
2057
|
+
sendCommand(node, "readExtensionAction", { id });
|
|
2058
|
+
});
|
|
2059
|
+
}
|
|
2026
2060
|
function listExtensionActions(node) {
|
|
2027
2061
|
const id = nextId("ext");
|
|
2028
2062
|
return new Promise((resolve2, reject2) => {
|
|
@@ -2032,6 +2066,15 @@ function listExtensionActions(node) {
|
|
|
2032
2066
|
}
|
|
2033
2067
|
function onExtensionActions(e) {
|
|
2034
2068
|
const result = e.data;
|
|
2069
|
+
const state3 = pendingActionState.get(result.id);
|
|
2070
|
+
if (state3) {
|
|
2071
|
+
pendingActionState.delete(result.id);
|
|
2072
|
+
if (result.ok && result.action)
|
|
2073
|
+
state3.resolve(result.action);
|
|
2074
|
+
else
|
|
2075
|
+
state3.reject(new Error(result.error ?? "readExtensionAction failed"));
|
|
2076
|
+
return;
|
|
2077
|
+
}
|
|
2035
2078
|
const call2 = pendingActions.get(result.id);
|
|
2036
2079
|
if (!call2)
|
|
2037
2080
|
return;
|
|
@@ -2395,6 +2438,7 @@ function useStoreValue(store, select) {
|
|
|
2395
2438
|
}
|
|
2396
2439
|
export {
|
|
2397
2440
|
webviewEngine,
|
|
2441
|
+
watchExtensions,
|
|
2398
2442
|
useTransition,
|
|
2399
2443
|
useSyncExternalStore,
|
|
2400
2444
|
useStoreValue,
|
|
@@ -2428,6 +2472,7 @@ export {
|
|
|
2428
2472
|
render,
|
|
2429
2473
|
registerExports,
|
|
2430
2474
|
recentDocuments,
|
|
2475
|
+
readExtensionAction,
|
|
2431
2476
|
performRefresh,
|
|
2432
2477
|
openPath,
|
|
2433
2478
|
openFile,
|
|
@@ -2440,6 +2485,7 @@ export {
|
|
|
2440
2485
|
onOpenFileResult,
|
|
2441
2486
|
onJavaScriptResult,
|
|
2442
2487
|
onExtensionsList,
|
|
2488
|
+
onExtensionsChanged,
|
|
2443
2489
|
onExtensionActions,
|
|
2444
2490
|
onCookiesResult,
|
|
2445
2491
|
onAlertResult,
|
|
@@ -29,7 +29,7 @@ export type WidgetCommandNames = {
|
|
|
29
29
|
"checkbox": "focus";
|
|
30
30
|
"radio": "focus";
|
|
31
31
|
"select": "focus";
|
|
32
|
-
"webview": "goBack" | "goForward" | "reload" | "stop" | "executeJavaScript" | "setZoom" | "setUserAgent" | "openDevTools" | "addUserScript" | "removeUserScript" | "clearUserScripts" | "registerScriptMessage" | "unregisterScriptMessage" | "respondScheme" | "respondPermission" | "getCookies" | "setCookie" | "deleteCookie" | "findStart" | "findNext" | "findPrevious" | "findStop" | "saveSession" | "restoreSession" | "setMuted" | "setContextMenuItems" | "listExtensions" | "listExtensionActions" | "installExtension" | "uninstallExtension" | "setExtensionEnabled" | "focus";
|
|
32
|
+
"webview": "goBack" | "goForward" | "reload" | "stop" | "executeJavaScript" | "setZoom" | "setUserAgent" | "openDevTools" | "addUserScript" | "removeUserScript" | "clearUserScripts" | "registerScriptMessage" | "unregisterScriptMessage" | "respondScheme" | "respondPermission" | "getCookies" | "setCookie" | "deleteCookie" | "findStart" | "findNext" | "findPrevious" | "findStop" | "saveSession" | "restoreSession" | "setMuted" | "setContextMenuItems" | "listExtensions" | "watchExtensions" | "listExtensionActions" | "readExtensionAction" | "installExtension" | "uninstallExtension" | "setExtensionEnabled" | "focus";
|
|
33
33
|
"searchinput": "focus";
|
|
34
34
|
"switch": "focus";
|
|
35
35
|
"numberinput": "focus";
|
|
@@ -7,8 +7,8 @@ export type { SpacingScale } from "./metrics.ts";
|
|
|
7
7
|
export { getAppDataDir, ensureAppDataDir } from "./paths.ts";
|
|
8
8
|
export { defineNativeComponent } from "./native-component.ts";
|
|
9
9
|
export type { NativeComponentOptions, NativeComponentProps, NativeComponentRef } from "./native-component.ts";
|
|
10
|
-
export { executeJavaScript, onJavaScriptResult, getCookies, onCookiesResult, saveSession, onSessionSaved, setContextMenuItems, listExtensions, onExtensionsList, listExtensionActions, onExtensionActions, installExtension, uninstallExtension, setExtensionEnabled, } from "./webview.ts";
|
|
11
|
-
export type { Cookie, ContextMenuContext, ContextMenuItem, ContextMenuItemClick, ExtensionAction, InstalledExtension, } from "./webview.ts";
|
|
10
|
+
export { executeJavaScript, onJavaScriptResult, getCookies, onCookiesResult, saveSession, onSessionSaved, setContextMenuItems, listExtensions, onExtensionsList, listExtensionActions, readExtensionAction, onExtensionActions, watchExtensions, onExtensionsChanged, installExtension, uninstallExtension, setExtensionEnabled, } from "./webview.ts";
|
|
11
|
+
export type { Cookie, ContextMenuContext, ContextMenuItem, ContextMenuItemClick, ExtensionAction, ExtensionActionState, ExtensionsChange, InstalledExtension, } from "./webview.ts";
|
|
12
12
|
export { showAlert, openFile, saveFile, showAbout, showTabOverview, onAlertResult, onOpenFileResult, onSaveFileResult, } from "./dialogs.ts";
|
|
13
13
|
export type { DialogButton, ShowAlertOptions, AlertResult, OpenFileOptions as WindowOpenFileOptions, OpenFileResult as WindowOpenFileResult, SaveFileOptions as WindowSaveFileOptions, SaveFileResult as WindowSaveFileResult, ShowAboutOptions, } from "./dialogs.ts";
|
|
14
14
|
export { showToast, dismissToast, onToastButtonClicked, onToastDismissed } from "./toast.ts";
|
|
@@ -39,6 +39,13 @@ export declare function onExtensionsList(e: {
|
|
|
39
39
|
export declare function installExtension(node: NdNodeRef<"webview">, path: string): Promise<InstalledExtension[]>;
|
|
40
40
|
export declare function uninstallExtension(node: NdNodeRef<"webview">, extensionId: string): Promise<InstalledExtension[]>;
|
|
41
41
|
export declare function setExtensionEnabled(node: NdNodeRef<"webview">, extensionId: string, enabled: boolean): Promise<InstalledExtension[]>;
|
|
42
|
+
export interface ExtensionsChange {
|
|
43
|
+
reason: string;
|
|
44
|
+
}
|
|
45
|
+
export declare function watchExtensions(node: NdNodeRef<"webview">, listener: (change: ExtensionsChange) => void): Promise<string[]>;
|
|
46
|
+
export declare function onExtensionsChanged(e: {
|
|
47
|
+
data: unknown;
|
|
48
|
+
}): void;
|
|
42
49
|
export interface ExtensionAction {
|
|
43
50
|
id: string;
|
|
44
51
|
name: string;
|
|
@@ -49,9 +56,20 @@ export interface ExtensionAction {
|
|
|
49
56
|
iconUrl: string;
|
|
50
57
|
/** `chrome-extension://…` popup page, or "" for an action that fires `onClicked`. */
|
|
51
58
|
popupUrl: string;
|
|
52
|
-
/** Always "":
|
|
59
|
+
/** Always "": read the live value with `readExtensionAction`. */
|
|
53
60
|
badgeText: string;
|
|
54
61
|
}
|
|
62
|
+
export interface ExtensionActionState {
|
|
63
|
+
id: string;
|
|
64
|
+
tabId: number;
|
|
65
|
+
tabUrl: string;
|
|
66
|
+
popupUrl: string;
|
|
67
|
+
badgeText: string;
|
|
68
|
+
badgeColor: number[];
|
|
69
|
+
title: string;
|
|
70
|
+
enabled: boolean;
|
|
71
|
+
}
|
|
72
|
+
export declare function readExtensionAction(node: NdNodeRef<"webview">): Promise<ExtensionActionState>;
|
|
55
73
|
export declare function listExtensionActions(node: NdNodeRef<"webview">): Promise<ExtensionAction[]>;
|
|
56
74
|
export declare function onExtensionActions(e: {
|
|
57
75
|
data: unknown;
|