craft-native 0.0.37
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/LICENSE.md +21 -0
- package/README.md +424 -0
- package/bin/cli.ts +937 -0
- package/dist/api/android-advanced.d.ts +737 -0
- package/dist/api/android-advanced.d.ts.map +1 -0
- package/dist/api/app.d.ts +432 -0
- package/dist/api/app.d.ts.map +1 -0
- package/dist/api/clipboard.d.ts +85 -0
- package/dist/api/clipboard.d.ts.map +1 -0
- package/dist/api/crypto.d.ts +79 -0
- package/dist/api/crypto.d.ts.map +1 -0
- package/dist/api/db.d.ts +427 -0
- package/dist/api/db.d.ts.map +1 -0
- package/dist/api/dialog.d.ts +141 -0
- package/dist/api/dialog.d.ts.map +1 -0
- package/dist/api/fs.d.ts +131 -0
- package/dist/api/fs.d.ts.map +1 -0
- package/dist/api/http.d.ts +196 -0
- package/dist/api/http.d.ts.map +1 -0
- package/dist/api/index.d.ts +38 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/ios-advanced.d.ts +833 -0
- package/dist/api/ios-advanced.d.ts.map +1 -0
- package/dist/api/macos-advanced.d.ts +721 -0
- package/dist/api/macos-advanced.d.ts.map +1 -0
- package/dist/api/media.d.ts +233 -0
- package/dist/api/media.d.ts.map +1 -0
- package/dist/api/mobile.d.ts +658 -0
- package/dist/api/mobile.d.ts.map +1 -0
- package/dist/api/process.d.ts +168 -0
- package/dist/api/process.d.ts.map +1 -0
- package/dist/api/sidebar.d.ts +125 -0
- package/dist/api/sidebar.d.ts.map +1 -0
- package/dist/api/tray.d.ts +410 -0
- package/dist/api/tray.d.ts.map +1 -0
- package/dist/api/window.d.ts +462 -0
- package/dist/api/window.d.ts.map +1 -0
- package/dist/api/windows-advanced.d.ts +719 -0
- package/dist/api/windows-advanced.d.ts.map +1 -0
- package/dist/assets/index.d.ts +69 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/binary-resolver.d.ts +39 -0
- package/dist/binary-resolver.d.ts.map +1 -0
- package/dist/bridge/android.d.ts +574 -0
- package/dist/bridge/android.d.ts.map +1 -0
- package/dist/bridge/core.d.ts +474 -0
- package/dist/bridge/core.d.ts.map +1 -0
- package/dist/bridge/ids.d.ts +18 -0
- package/dist/bridge/ids.d.ts.map +1 -0
- package/dist/bridge/ios.d.ts +528 -0
- package/dist/bridge/ios.d.ts.map +1 -0
- package/dist/bridge/webkit-pending.d.ts +50 -0
- package/dist/bridge/webkit-pending.d.ts.map +1 -0
- package/dist/build/bundle-optimizer.d.ts +69 -0
- package/dist/build/bundle-optimizer.d.ts.map +1 -0
- package/dist/components/index.d.ts +719 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/native.d.ts +728 -0
- package/dist/components/native.d.ts.map +1 -0
- package/dist/components/sidebar.d.ts +458 -0
- package/dist/components/sidebar.d.ts.map +1 -0
- package/dist/dev/devtools.d.ts +118 -0
- package/dist/dev/devtools.d.ts.map +1 -0
- package/dist/dev/error-overlay.d.ts +73 -0
- package/dist/dev/error-overlay.d.ts.map +1 -0
- package/dist/dev/hot-reload.d.ts +127 -0
- package/dist/dev/hot-reload.d.ts.map +1 -0
- package/dist/index.cjs +10253 -0
- package/dist/index.d.cts +59 -0
- package/dist/index.d.ts +59 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +10240 -0
- package/dist/logging/index.d.ts +152 -0
- package/dist/logging/index.d.ts.map +1 -0
- package/dist/optimizations/index.d.ts +232 -0
- package/dist/optimizations/index.d.ts.map +1 -0
- package/dist/package.d.ts +90 -0
- package/dist/package.d.ts.map +1 -0
- package/dist/performance/runtime.d.ts +230 -0
- package/dist/performance/runtime.d.ts.map +1 -0
- package/dist/performance/startup.d.ts +223 -0
- package/dist/performance/startup.d.ts.map +1 -0
- package/dist/plugins/index.d.ts +114 -0
- package/dist/plugins/index.d.ts.map +1 -0
- package/dist/security/index.d.ts +268 -0
- package/dist/security/index.d.ts.map +1 -0
- package/dist/signing/index.d.ts +104 -0
- package/dist/signing/index.d.ts.map +1 -0
- package/dist/styles/headwind.d.ts +222 -0
- package/dist/styles/headwind.d.ts.map +1 -0
- package/dist/styles/index.d.ts +31 -0
- package/dist/styles/index.d.ts.map +1 -0
- package/dist/styles/sidebar-templates.d.ts +77 -0
- package/dist/styles/sidebar-templates.d.ts.map +1 -0
- package/dist/styles/sidebars.d.ts +194 -0
- package/dist/styles/sidebars.d.ts.map +1 -0
- package/dist/types.d.ts +1555 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/updater/index.d.ts +164 -0
- package/dist/updater/index.d.ts.map +1 -0
- package/dist/utils/audio.d.ts +40 -0
- package/dist/utils/audio.d.ts.map +1 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/native.d.ts +27 -0
- package/dist/utils/native.d.ts.map +1 -0
- package/dist/utils/react.d.ts +157 -0
- package/dist/utils/react.d.ts.map +1 -0
- package/dist/utils/storage.d.ts +35 -0
- package/dist/utils/storage.d.ts.map +1 -0
- package/dist/utils/svelte.d.ts +187 -0
- package/dist/utils/svelte.d.ts.map +1 -0
- package/dist/utils/timer.d.ts +57 -0
- package/dist/utils/timer.d.ts.map +1 -0
- package/dist/utils/vue.d.ts +157 -0
- package/dist/utils/vue.d.ts.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Svelte bindings for Craft
|
|
3
|
+
* @module @craft-native/svelte
|
|
4
|
+
*/
|
|
5
|
+
import { type Writable, type Readable } from 'svelte/store';
|
|
6
|
+
export interface WindowState {
|
|
7
|
+
isVisible: boolean;
|
|
8
|
+
isFullscreen: boolean;
|
|
9
|
+
isMaximized: boolean;
|
|
10
|
+
isMinimized: boolean;
|
|
11
|
+
isFocused: boolean;
|
|
12
|
+
title: string;
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
}
|
|
18
|
+
export interface TrayState {
|
|
19
|
+
isVisible: boolean;
|
|
20
|
+
tooltip: string;
|
|
21
|
+
icon: string;
|
|
22
|
+
}
|
|
23
|
+
export interface TrayMenuItem {
|
|
24
|
+
id: string;
|
|
25
|
+
label: string;
|
|
26
|
+
type?: 'normal' | 'separator' | 'checkbox' | 'submenu';
|
|
27
|
+
checked?: boolean;
|
|
28
|
+
enabled?: boolean;
|
|
29
|
+
submenu?: TrayMenuItem[];
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
}
|
|
32
|
+
export interface NotificationOptions {
|
|
33
|
+
title: string;
|
|
34
|
+
body: string;
|
|
35
|
+
icon?: string;
|
|
36
|
+
sound?: boolean;
|
|
37
|
+
actions?: Array<{
|
|
38
|
+
id: string;
|
|
39
|
+
title: string;
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
export interface CraftContext {
|
|
43
|
+
platform: 'ios' | 'android' | 'macos' | 'windows' | 'linux' | 'web';
|
|
44
|
+
isDarkMode: boolean;
|
|
45
|
+
isOnline: boolean;
|
|
46
|
+
appVersion: string;
|
|
47
|
+
}
|
|
48
|
+
declare function createCraftStore(): {
|
|
49
|
+
subscribe: Writable<CraftContext>['subscribe'];
|
|
50
|
+
setDarkMode: (dark: boolean) => void;
|
|
51
|
+
setAppVersion: (version: string) => void;
|
|
52
|
+
};
|
|
53
|
+
declare function createWindowStore(): {
|
|
54
|
+
subscribe: Writable<WindowState>['subscribe'];
|
|
55
|
+
setTitle: (title: string) => void;
|
|
56
|
+
setSize: (width: number, height: number) => void;
|
|
57
|
+
setPosition: (x: number, y: number) => void;
|
|
58
|
+
minimize: () => void;
|
|
59
|
+
maximize: () => void;
|
|
60
|
+
restore: () => void;
|
|
61
|
+
close: () => void;
|
|
62
|
+
toggleFullscreen: () => void;
|
|
63
|
+
show: () => void;
|
|
64
|
+
hide: () => void;
|
|
65
|
+
focus: () => void;
|
|
66
|
+
};
|
|
67
|
+
declare function createTrayStore(): {
|
|
68
|
+
subscribe: Writable<TrayState>['subscribe'];
|
|
69
|
+
menu: Writable<TrayMenuItem[]>;
|
|
70
|
+
setIcon: (icon: string) => void;
|
|
71
|
+
setTooltip: (tooltip: string) => void;
|
|
72
|
+
setMenu: (items: TrayMenuItem[]) => void;
|
|
73
|
+
show: () => void;
|
|
74
|
+
hide: () => void;
|
|
75
|
+
};
|
|
76
|
+
export declare const craftStore: ReturnType<typeof createCraftStore>;
|
|
77
|
+
export declare const windowStore: ReturnType<typeof createWindowStore>;
|
|
78
|
+
export declare const trayStore: ReturnType<typeof createTrayStore>;
|
|
79
|
+
export declare const platform: Readable<CraftContext['platform']>;
|
|
80
|
+
export declare const isDarkMode: Readable<boolean>;
|
|
81
|
+
export declare const isOnline: Readable<boolean>;
|
|
82
|
+
export declare const isMobile: Readable<boolean>;
|
|
83
|
+
export declare const isDesktop: Readable<boolean>;
|
|
84
|
+
export declare const isWeb: Readable<boolean>;
|
|
85
|
+
declare function createNotificationStore(): {
|
|
86
|
+
hasPermission: {
|
|
87
|
+
subscribe: Writable<boolean>['subscribe'];
|
|
88
|
+
};
|
|
89
|
+
requestPermission: () => Promise<boolean>;
|
|
90
|
+
show: (options: NotificationOptions) => Promise<string>;
|
|
91
|
+
close: (id: string) => void;
|
|
92
|
+
};
|
|
93
|
+
export declare const notificationStore: ReturnType<typeof createNotificationStore>;
|
|
94
|
+
/**
|
|
95
|
+
* Create a persistent store backed by localStorage
|
|
96
|
+
*/
|
|
97
|
+
export declare function persistentStore<T>(key: string, initialValue: T): Writable<T>;
|
|
98
|
+
/**
|
|
99
|
+
* Create a store for clipboard operations
|
|
100
|
+
*/
|
|
101
|
+
export declare function createClipboardStore(): {
|
|
102
|
+
copy: (text: string) => Promise<void>;
|
|
103
|
+
paste: () => Promise<string>;
|
|
104
|
+
readImage: () => Promise<Blob | null>;
|
|
105
|
+
};
|
|
106
|
+
export declare const clipboardStore: ReturnType<typeof createClipboardStore>;
|
|
107
|
+
/**
|
|
108
|
+
* Action for keyboard shortcuts
|
|
109
|
+
* Usage: <div use:shortcut={{ key: 'ctrl+s', callback: save }}>
|
|
110
|
+
*/
|
|
111
|
+
export declare function shortcut(_node: HTMLElement, params: {
|
|
112
|
+
key: string;
|
|
113
|
+
callback: () => void;
|
|
114
|
+
preventDefault?: boolean;
|
|
115
|
+
}): {
|
|
116
|
+
destroy(): void;
|
|
117
|
+
update(newParams: typeof params): void;
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Action for file drop zones
|
|
121
|
+
* Usage: <div use:fileDrop={{ onDrop: handleFiles }}>
|
|
122
|
+
*/
|
|
123
|
+
export declare function fileDrop(node: HTMLElement, params: {
|
|
124
|
+
onDrop: (files: File[]) => void;
|
|
125
|
+
onDragEnter?: () => void;
|
|
126
|
+
onDragLeave?: () => void;
|
|
127
|
+
accept?: string[];
|
|
128
|
+
}): {
|
|
129
|
+
destroy(): void;
|
|
130
|
+
update(newParams: typeof params): void;
|
|
131
|
+
};
|
|
132
|
+
/**
|
|
133
|
+
* Action for click outside detection
|
|
134
|
+
* Usage: <div use:clickOutside={() => close()}>
|
|
135
|
+
*/
|
|
136
|
+
export declare function clickOutside(node: HTMLElement, callback: () => void): {
|
|
137
|
+
destroy(): void;
|
|
138
|
+
update(newCallback: () => void): void;
|
|
139
|
+
};
|
|
140
|
+
/**
|
|
141
|
+
* Action for intersection observer
|
|
142
|
+
* Usage: <div use:inView={{ callback: handleVisible }}>
|
|
143
|
+
*/
|
|
144
|
+
export declare function inView(node: HTMLElement, params: {
|
|
145
|
+
callback: (isVisible: boolean) => void;
|
|
146
|
+
threshold?: number;
|
|
147
|
+
rootMargin?: string;
|
|
148
|
+
}): {
|
|
149
|
+
destroy(): void;
|
|
150
|
+
update(newParams: typeof params): void;
|
|
151
|
+
};
|
|
152
|
+
/**
|
|
153
|
+
* Action for auto-focus
|
|
154
|
+
* Usage: <input use:autoFocus>
|
|
155
|
+
*/
|
|
156
|
+
export declare function autoFocus(node: HTMLElement): {
|
|
157
|
+
destroy(): void;
|
|
158
|
+
};
|
|
159
|
+
/**
|
|
160
|
+
* Action for tooltip
|
|
161
|
+
* Usage: <button use:tooltip={'Click me'}>
|
|
162
|
+
*/
|
|
163
|
+
export declare function tooltip(node: HTMLElement, text: string): {
|
|
164
|
+
destroy(): void;
|
|
165
|
+
update(newText: string): void;
|
|
166
|
+
};
|
|
167
|
+
/**
|
|
168
|
+
* Action for long press
|
|
169
|
+
* Usage: <button use:longPress={{ callback: handleLongPress, duration: 500 }}>
|
|
170
|
+
*/
|
|
171
|
+
export declare function longPress(node: HTMLElement, params: {
|
|
172
|
+
callback: () => void;
|
|
173
|
+
duration?: number;
|
|
174
|
+
}): {
|
|
175
|
+
destroy(): void;
|
|
176
|
+
update(newParams: typeof params): void;
|
|
177
|
+
};
|
|
178
|
+
/**
|
|
179
|
+
* Run callback on mount and return cleanup function
|
|
180
|
+
*/
|
|
181
|
+
export declare function onMountWithCleanup(callback: () => void | (() => void)): void;
|
|
182
|
+
/**
|
|
183
|
+
* Subscribe to a store only when component is mounted
|
|
184
|
+
*/
|
|
185
|
+
export declare function subscribeOnMount<T>(store: Readable<T>, callback: (value: T) => void): void;
|
|
186
|
+
export {};
|
|
187
|
+
//# sourceMappingURL=svelte.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../../src/utils/svelte.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timer utilities for Craft applications
|
|
3
|
+
* Simple interval-based timer with callbacks
|
|
4
|
+
*/
|
|
5
|
+
export type TimerCallback = (_timeRemaining: number) => void;
|
|
6
|
+
export declare class Timer {
|
|
7
|
+
private duration;
|
|
8
|
+
private onTick;
|
|
9
|
+
private onComplete?;
|
|
10
|
+
private intervalId;
|
|
11
|
+
private timeRemaining;
|
|
12
|
+
private isRunning;
|
|
13
|
+
/** Wallclock deadline (ms epoch). Used to recompute timeRemaining each
|
|
14
|
+
* tick so the timer doesn't drift under load or tab throttling — a
|
|
15
|
+
* simple `--` counter loses minutes over hours. */
|
|
16
|
+
private endAt;
|
|
17
|
+
/** Reference to a clock for testability — overridable so tests can
|
|
18
|
+
* advance time deterministically. Defaults to `Date.now`. */
|
|
19
|
+
private static now;
|
|
20
|
+
constructor(duration: number, onTick: TimerCallback, onComplete?: (() => void) | undefined);
|
|
21
|
+
/**
|
|
22
|
+
* Start the timer
|
|
23
|
+
*/
|
|
24
|
+
start(): void;
|
|
25
|
+
/**
|
|
26
|
+
* Pause the timer
|
|
27
|
+
*/
|
|
28
|
+
pause(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Reset the timer to initial duration
|
|
31
|
+
*/
|
|
32
|
+
reset(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Set a new duration
|
|
35
|
+
*/
|
|
36
|
+
setDuration(duration: number): void;
|
|
37
|
+
/**
|
|
38
|
+
* Get current time remaining
|
|
39
|
+
*/
|
|
40
|
+
getTimeRemaining(): number;
|
|
41
|
+
/**
|
|
42
|
+
* Check if timer is running
|
|
43
|
+
*/
|
|
44
|
+
running(): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Format time as MM:SS. Negative values are clamped to zero since the
|
|
47
|
+
* timer should never display "negative time remaining" in a UI.
|
|
48
|
+
*/
|
|
49
|
+
static formatTime(seconds: number): string;
|
|
50
|
+
/**
|
|
51
|
+
* Override the wallclock used by `start()`/`reset()` for the lifetime
|
|
52
|
+
* of the process. Intended for tests that need to advance time
|
|
53
|
+
* deterministically. Pass `null` to restore `Date.now`.
|
|
54
|
+
*/
|
|
55
|
+
static _setClockForTests(clock: (() => number) | null): void;
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=timer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../src/utils/timer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,aAAa,GAAG,CAAC,cAAc,EAAE,MAAM,KAAK,IAAI,CAAA;AAE5D,qBAAa,KAAK;IAad,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,UAAU,CAAC;IAdrB,OAAO,CAAC,UAAU,CAA8C;IAChE,OAAO,CAAC,aAAa,CAAY;IACjC,OAAO,CAAC,SAAS,CAAiB;IAClC;;uDAEmD;IACnD,OAAO,CAAC,KAAK,CAAY;IACzB;iEAC6D;IAC7D,OAAO,CAAC,MAAM,CAAC,GAAG,CAAiC;gBAGzC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,aAAa,EACrB,UAAU,CAAC,GAAE,MAAM,IAAI,aAAA;IAKjC;;OAEG;IACH,KAAK,IAAI,IAAI;IAkBb;;OAEG;IACH,KAAK,IAAI,IAAI;IAWb;;OAEG;IACH,KAAK,IAAI,IAAI;IAOb;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAQnC;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;;OAGG;IACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAO1C;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC,MAAM,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI;CAG7D"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vue bindings for Craft
|
|
3
|
+
* @module @craft-native/vue
|
|
4
|
+
*/
|
|
5
|
+
import { type App, type ComputedRef, type InjectionKey, type Ref } from 'vue';
|
|
6
|
+
export interface WindowState {
|
|
7
|
+
isVisible: boolean;
|
|
8
|
+
isFullscreen: boolean;
|
|
9
|
+
isMaximized: boolean;
|
|
10
|
+
isMinimized: boolean;
|
|
11
|
+
isFocused: boolean;
|
|
12
|
+
title: string;
|
|
13
|
+
width: number;
|
|
14
|
+
height: number;
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
}
|
|
18
|
+
export interface TrayState {
|
|
19
|
+
isVisible: boolean;
|
|
20
|
+
tooltip: string;
|
|
21
|
+
icon: string;
|
|
22
|
+
}
|
|
23
|
+
export interface TrayMenuItem {
|
|
24
|
+
id: string;
|
|
25
|
+
label: string;
|
|
26
|
+
type?: 'normal' | 'separator' | 'checkbox' | 'submenu';
|
|
27
|
+
checked?: boolean;
|
|
28
|
+
enabled?: boolean;
|
|
29
|
+
submenu?: TrayMenuItem[];
|
|
30
|
+
onClick?: () => void;
|
|
31
|
+
}
|
|
32
|
+
export interface NotificationOptions {
|
|
33
|
+
title: string;
|
|
34
|
+
body: string;
|
|
35
|
+
icon?: string;
|
|
36
|
+
sound?: boolean;
|
|
37
|
+
actions?: Array<{
|
|
38
|
+
id: string;
|
|
39
|
+
title: string;
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
export interface CraftContext {
|
|
43
|
+
platform: 'ios' | 'android' | 'macos' | 'windows' | 'linux' | 'web';
|
|
44
|
+
isDarkMode: boolean;
|
|
45
|
+
isOnline: boolean;
|
|
46
|
+
appVersion: string;
|
|
47
|
+
}
|
|
48
|
+
export declare const CRAFT_KEY: InjectionKey<ReturnType<typeof createCraftContext>>;
|
|
49
|
+
export declare const WINDOW_KEY: InjectionKey<ReturnType<typeof createWindowContext>>;
|
|
50
|
+
export declare const TRAY_KEY: InjectionKey<ReturnType<typeof createTrayContext>>;
|
|
51
|
+
declare function createCraftContext(): {
|
|
52
|
+
state: Readonly<CraftContext>;
|
|
53
|
+
setDarkMode: (dark: boolean) => void;
|
|
54
|
+
};
|
|
55
|
+
declare function createWindowContext(): {
|
|
56
|
+
state: Readonly<WindowState>;
|
|
57
|
+
setTitle: (title: string) => void;
|
|
58
|
+
setSize: (width: number, height: number) => void;
|
|
59
|
+
setPosition: (x: number, y: number) => void;
|
|
60
|
+
minimize: () => void;
|
|
61
|
+
maximize: () => void;
|
|
62
|
+
restore: () => void;
|
|
63
|
+
close: () => void;
|
|
64
|
+
toggleFullscreen: () => void;
|
|
65
|
+
show: () => void;
|
|
66
|
+
hide: () => void;
|
|
67
|
+
focus: () => void;
|
|
68
|
+
};
|
|
69
|
+
declare function createTrayContext(): {
|
|
70
|
+
state: Readonly<TrayState>;
|
|
71
|
+
menu: Readonly<Ref<readonly TrayMenuItem[]>>;
|
|
72
|
+
setIcon: (icon: string) => void;
|
|
73
|
+
setTooltip: (tooltip: string) => void;
|
|
74
|
+
setMenu: (items: TrayMenuItem[]) => void;
|
|
75
|
+
show: () => void;
|
|
76
|
+
hide: () => void;
|
|
77
|
+
};
|
|
78
|
+
export interface CraftPluginOptions {
|
|
79
|
+
appVersion?: string;
|
|
80
|
+
}
|
|
81
|
+
export declare const CraftPlugin: {
|
|
82
|
+
install(app: App, options?: CraftPluginOptions): void;
|
|
83
|
+
};
|
|
84
|
+
/**
|
|
85
|
+
* Composable to access the Craft context
|
|
86
|
+
*/
|
|
87
|
+
export declare function useCraft(): ReturnType<typeof createCraftContext>;
|
|
88
|
+
/**
|
|
89
|
+
* Composable to manage the application window
|
|
90
|
+
*/
|
|
91
|
+
export declare function useWindow(): ReturnType<typeof createWindowContext>;
|
|
92
|
+
/**
|
|
93
|
+
* Composable to manage the system tray
|
|
94
|
+
*/
|
|
95
|
+
export declare function useTray(): ReturnType<typeof createTrayContext>;
|
|
96
|
+
/**
|
|
97
|
+
* Composable for native notifications
|
|
98
|
+
*/
|
|
99
|
+
export declare function useNotification(): {
|
|
100
|
+
hasPermission: Readonly<Ref<boolean>>;
|
|
101
|
+
requestPermission: () => Promise<boolean>;
|
|
102
|
+
show: (options: NotificationOptions) => Promise<string>;
|
|
103
|
+
close: (id: string) => void;
|
|
104
|
+
};
|
|
105
|
+
/**
|
|
106
|
+
* Composable to detect dark mode preference
|
|
107
|
+
*/
|
|
108
|
+
export declare function useDarkMode(): {
|
|
109
|
+
isDark: Readonly<Ref<boolean>>;
|
|
110
|
+
setDarkMode: (dark: boolean) => void;
|
|
111
|
+
};
|
|
112
|
+
/**
|
|
113
|
+
* Composable to detect online status
|
|
114
|
+
*/
|
|
115
|
+
export declare function useOnline(): Readonly<Ref<boolean>>;
|
|
116
|
+
/**
|
|
117
|
+
* Composable for keyboard shortcuts
|
|
118
|
+
*/
|
|
119
|
+
export declare function useShortcut(shortcut: string | Ref<string>, callback: () => void, options?: {
|
|
120
|
+
preventDefault?: boolean;
|
|
121
|
+
enabled?: Ref<boolean> | boolean;
|
|
122
|
+
}): void;
|
|
123
|
+
/**
|
|
124
|
+
* Composable for file drag and drop
|
|
125
|
+
*/
|
|
126
|
+
export declare function useFileDrop(options: {
|
|
127
|
+
onDrop: (files: File[]) => void;
|
|
128
|
+
onDragEnter?: () => void;
|
|
129
|
+
onDragLeave?: () => void;
|
|
130
|
+
accept?: string[];
|
|
131
|
+
}): {
|
|
132
|
+
isDragging: Readonly<Ref<boolean>>;
|
|
133
|
+
dropRef: Ref<HTMLElement | null>;
|
|
134
|
+
};
|
|
135
|
+
/**
|
|
136
|
+
* Composable for clipboard operations
|
|
137
|
+
*/
|
|
138
|
+
export declare function useClipboard(): {
|
|
139
|
+
copy: (text: string) => Promise<void>;
|
|
140
|
+
paste: () => Promise<string>;
|
|
141
|
+
readImage: () => Promise<Blob | null>;
|
|
142
|
+
};
|
|
143
|
+
/**
|
|
144
|
+
* Composable for local storage with reactivity
|
|
145
|
+
*/
|
|
146
|
+
export declare function useLocalStorage<T>(key: string, initialValue: T): Ref<T>;
|
|
147
|
+
/**
|
|
148
|
+
* Composable to detect platform
|
|
149
|
+
*/
|
|
150
|
+
export declare function usePlatform(): {
|
|
151
|
+
platform: ComputedRef<'ios' | 'android' | 'macos' | 'windows' | 'linux' | 'web'>;
|
|
152
|
+
isMobile: ComputedRef<boolean>;
|
|
153
|
+
isDesktop: ComputedRef<boolean>;
|
|
154
|
+
isWeb: ComputedRef<boolean>;
|
|
155
|
+
};
|
|
156
|
+
export { createCraftContext, createWindowContext, createTrayContext, };
|
|
157
|
+
//# sourceMappingURL=vue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../../src/utils/vue.ts"],"names":[],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "craft-native",
|
|
3
|
+
"version": "0.0.37",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"description": "Build desktop apps with web languages - TypeScript SDK for Craft",
|
|
6
|
+
"author": "Chris Breuer <chris@stacksjs.org>",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"homepage": "https://github.com/home-lang/craft#readme",
|
|
9
|
+
"repository": {
|
|
10
|
+
"type": "git",
|
|
11
|
+
"url": "git+https://github.com/home-lang/craft.git",
|
|
12
|
+
"directory": "packages/typescript"
|
|
13
|
+
},
|
|
14
|
+
"bugs": {
|
|
15
|
+
"url": "https://github.com/home-lang/craft/issues"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"desktop",
|
|
19
|
+
"app",
|
|
20
|
+
"framework",
|
|
21
|
+
"webview",
|
|
22
|
+
"zig",
|
|
23
|
+
"native",
|
|
24
|
+
"cross-platform",
|
|
25
|
+
"electron-alternative",
|
|
26
|
+
"tauri-alternative",
|
|
27
|
+
"gui",
|
|
28
|
+
"typescript",
|
|
29
|
+
"bun"
|
|
30
|
+
],
|
|
31
|
+
"exports": {
|
|
32
|
+
".": {
|
|
33
|
+
"import": {
|
|
34
|
+
"types": "./dist/index.d.ts",
|
|
35
|
+
"default": "./dist/index.js"
|
|
36
|
+
},
|
|
37
|
+
"require": {
|
|
38
|
+
"types": "./dist/index.d.cts",
|
|
39
|
+
"default": "./dist/index.cjs"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"module": "./dist/index.js",
|
|
44
|
+
"types": "./dist/index.d.ts",
|
|
45
|
+
"files": [
|
|
46
|
+
"bin",
|
|
47
|
+
"dist",
|
|
48
|
+
"README.md",
|
|
49
|
+
"LICENSE.md"
|
|
50
|
+
],
|
|
51
|
+
"bin": {
|
|
52
|
+
"craft": "./bin/cli.ts",
|
|
53
|
+
"craft-sdk": "./bin/cli.ts"
|
|
54
|
+
},
|
|
55
|
+
"scripts": {
|
|
56
|
+
"build": "rm -rf dist && bun run build:lib && bun run build:types",
|
|
57
|
+
"build:lib": "bun build src/index.ts --outdir dist --format esm --target bun --external archiver --external ws && bun build src/index.ts --outfile dist/index.cjs --format cjs --target node --external archiver --external ws",
|
|
58
|
+
"build:types": "bun run tsc -p tsconfig.build.json && cp dist/index.d.ts dist/index.d.cts",
|
|
59
|
+
"dev": "bun --watch src/index.ts",
|
|
60
|
+
"lint": "bunx --bun pickier lint . --config ../../pickier.config.ts --max-warnings 9999",
|
|
61
|
+
"lint:fix": "bunx --bun pickier lint . --fix --config ../../pickier.config.ts --max-warnings 9999",
|
|
62
|
+
"test": "bun test",
|
|
63
|
+
"typecheck": "tsc --noEmit",
|
|
64
|
+
"prepublishOnly": "bun run build"
|
|
65
|
+
},
|
|
66
|
+
"dependencies": {
|
|
67
|
+
"archiver": "^7.0.1",
|
|
68
|
+
"ws": "^8.18.0"
|
|
69
|
+
},
|
|
70
|
+
"devDependencies": {
|
|
71
|
+
"@stacksjs/clapp": "^0.2.0",
|
|
72
|
+
"@types/archiver": "^6.0.2",
|
|
73
|
+
"@types/bun": "^1.2.0",
|
|
74
|
+
"@types/node": "^22.0.0",
|
|
75
|
+
"@types/ws": "^8.5.12",
|
|
76
|
+
"better-dx": "^0.2.7"
|
|
77
|
+
}
|
|
78
|
+
}
|