vex-ui-kit 1.0.0
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/README.md +830 -0
- package/dist/adapters/react.cjs.js +17 -0
- package/dist/adapters/react.cjs.js.map +1 -0
- package/dist/adapters/react.d.mts +37 -0
- package/dist/adapters/react.d.ts +37 -0
- package/dist/adapters/react.esm.js +17 -0
- package/dist/adapters/react.esm.js.map +1 -0
- package/dist/adapters/react.umd.js +63 -0
- package/dist/adapters/react.umd.js.map +1 -0
- package/dist/adapters/svelte.cjs.js +17 -0
- package/dist/adapters/svelte.cjs.js.map +1 -0
- package/dist/adapters/svelte.d.mts +21 -0
- package/dist/adapters/svelte.d.ts +21 -0
- package/dist/adapters/svelte.esm.js +17 -0
- package/dist/adapters/svelte.esm.js.map +1 -0
- package/dist/adapters/svelte.umd.js +44 -0
- package/dist/adapters/svelte.umd.js.map +1 -0
- package/dist/adapters/vue.cjs.js +17 -0
- package/dist/adapters/vue.cjs.js.map +1 -0
- package/dist/adapters/vue.d.mts +35 -0
- package/dist/adapters/vue.d.ts +35 -0
- package/dist/adapters/vue.esm.js +17 -0
- package/dist/adapters/vue.esm.js.map +1 -0
- package/dist/adapters/vue.umd.js +147 -0
- package/dist/adapters/vue.umd.js.map +1 -0
- package/dist/index-CpFq7Lxe.d.mts +213 -0
- package/dist/index-CpFq7Lxe.d.ts +213 -0
- package/dist/themes/flat.css +47 -0
- package/dist/themes/glass.css +22 -0
- package/dist/themes/minimal.css +35 -0
- package/dist/themes/neon.css +45 -0
- package/dist/themes/outline.css +18 -0
- package/dist/themes/pastel.css +21 -0
- package/dist/themes/tokens.css +329 -0
- package/dist/vex-ui-kit.css +329 -0
- package/dist/vexui.cjs.js +17 -0
- package/dist/vexui.cjs.js.map +1 -0
- package/dist/vexui.d.mts +1 -0
- package/dist/vexui.d.ts +1 -0
- package/dist/vexui.esm.js +17 -0
- package/dist/vexui.esm.js.map +1 -0
- package/dist/vexui.umd.js +17 -0
- package/dist/vexui.umd.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
interface HistoryEntry {
|
|
2
|
+
id: string;
|
|
3
|
+
type: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
message: string;
|
|
6
|
+
timestamp: Date;
|
|
7
|
+
read: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare class HistoryManager {
|
|
10
|
+
private entries;
|
|
11
|
+
private limit;
|
|
12
|
+
private storageKey;
|
|
13
|
+
constructor();
|
|
14
|
+
add(entry: Omit<HistoryEntry, 'timestamp' | 'read'>): void;
|
|
15
|
+
get(): HistoryEntry[];
|
|
16
|
+
clear(): void;
|
|
17
|
+
markAllRead(): void;
|
|
18
|
+
markRead(id: string): void;
|
|
19
|
+
open(anchorSelector: string): void;
|
|
20
|
+
private save;
|
|
21
|
+
private load;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface ThemeTokens {
|
|
25
|
+
[key: string]: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
interface AlertAction {
|
|
29
|
+
label: string;
|
|
30
|
+
variant?: 'primary' | 'danger' | 'default';
|
|
31
|
+
onClick?: (close: () => void) => void;
|
|
32
|
+
}
|
|
33
|
+
interface AlertOptions {
|
|
34
|
+
type?: 'success' | 'error' | 'warning' | 'info' | 'neutral' | 'loading' | 'upload';
|
|
35
|
+
title?: string;
|
|
36
|
+
message: string;
|
|
37
|
+
duration?: number;
|
|
38
|
+
dismissible?: boolean;
|
|
39
|
+
icon?: string | null;
|
|
40
|
+
progress?: boolean;
|
|
41
|
+
actions?: AlertAction[];
|
|
42
|
+
priority?: 'critical' | 'high' | 'normal' | 'low';
|
|
43
|
+
position?: 'top' | 'bottom';
|
|
44
|
+
align?: 'center' | 'left' | 'right';
|
|
45
|
+
animate?: 'slide' | 'fade' | 'scale' | 'bounce';
|
|
46
|
+
maxStack?: number;
|
|
47
|
+
theme?: Partial<ThemeTokens>;
|
|
48
|
+
onClose?: () => void;
|
|
49
|
+
renderer?: 'fixed' | 'inline' | 'attach';
|
|
50
|
+
selector?: string | HTMLElement;
|
|
51
|
+
placement?: 'top' | 'bottom' | 'left' | 'right' | 'auto';
|
|
52
|
+
total?: number;
|
|
53
|
+
}
|
|
54
|
+
declare class AlertEngine {
|
|
55
|
+
private queue;
|
|
56
|
+
private activeAlerts;
|
|
57
|
+
constructor();
|
|
58
|
+
success(message: string, opts?: Partial<AlertOptions>): string;
|
|
59
|
+
error(message: string, opts?: Partial<AlertOptions>): string;
|
|
60
|
+
warning(message: string, opts?: Partial<AlertOptions>): string;
|
|
61
|
+
info(message: string, opts?: Partial<AlertOptions>): string;
|
|
62
|
+
neutral(message: string, opts?: Partial<AlertOptions>): string;
|
|
63
|
+
loading(message: string, opts?: Partial<AlertOptions>): string;
|
|
64
|
+
upload(message: string, opts?: Partial<AlertOptions>): string;
|
|
65
|
+
inline(selector: string | HTMLElement, opts: AlertOptions): string;
|
|
66
|
+
fixed(opts: AlertOptions): string;
|
|
67
|
+
attach(selector: string | HTMLElement, opts: AlertOptions): string;
|
|
68
|
+
show(opts: AlertOptions): string;
|
|
69
|
+
private create;
|
|
70
|
+
private processOptions;
|
|
71
|
+
private render;
|
|
72
|
+
private mount;
|
|
73
|
+
private positionAttached;
|
|
74
|
+
dismiss(id: string): void;
|
|
75
|
+
dismissAll(filter?: {
|
|
76
|
+
type?: string;
|
|
77
|
+
position?: string;
|
|
78
|
+
}): void;
|
|
79
|
+
update(id: string, opts: Partial<AlertOptions>): void;
|
|
80
|
+
progress(id: string, value: number | {
|
|
81
|
+
loaded: number;
|
|
82
|
+
total: number;
|
|
83
|
+
}): void;
|
|
84
|
+
private generateId;
|
|
85
|
+
private getIcon;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
interface ModalOptions {
|
|
89
|
+
type?: 'danger' | 'warning' | 'info' | 'success';
|
|
90
|
+
title?: string;
|
|
91
|
+
message?: string;
|
|
92
|
+
confirmLabel?: string;
|
|
93
|
+
cancelLabel?: string;
|
|
94
|
+
confirmDelay?: number;
|
|
95
|
+
closeOnBackdrop?: boolean;
|
|
96
|
+
closeOnEscape?: boolean;
|
|
97
|
+
width?: number;
|
|
98
|
+
animate?: 'scale' | 'slide' | 'fade';
|
|
99
|
+
showClose?: boolean;
|
|
100
|
+
stackable?: boolean;
|
|
101
|
+
onOpen?: () => void;
|
|
102
|
+
onClose?: () => void;
|
|
103
|
+
content?: string | HTMLElement;
|
|
104
|
+
footer?: boolean;
|
|
105
|
+
}
|
|
106
|
+
interface FormField {
|
|
107
|
+
name: string;
|
|
108
|
+
label: string;
|
|
109
|
+
type: 'text' | 'email' | 'password' | 'number' | 'textarea' | 'select' | 'radio' | 'checkbox' | 'date' | 'file' | 'range' | 'color';
|
|
110
|
+
options?: string[];
|
|
111
|
+
required?: boolean;
|
|
112
|
+
placeholder?: string;
|
|
113
|
+
defaultValue?: any;
|
|
114
|
+
validate?: (value: any) => string | null;
|
|
115
|
+
}
|
|
116
|
+
interface FormOptions extends ModalOptions {
|
|
117
|
+
fields: FormField[];
|
|
118
|
+
submitLabel?: string;
|
|
119
|
+
validate?: (data: Record<string, any>) => Record<string, string> | null;
|
|
120
|
+
}
|
|
121
|
+
declare class ModalEngine {
|
|
122
|
+
private activeModals;
|
|
123
|
+
confirm(opts: ModalOptions): Promise<boolean>;
|
|
124
|
+
alert(opts: ModalOptions): Promise<void>;
|
|
125
|
+
form(opts: FormOptions): Promise<Record<string, any> | null>;
|
|
126
|
+
prompt(opts: ModalOptions & {
|
|
127
|
+
defaultValue?: string;
|
|
128
|
+
placeholder?: string;
|
|
129
|
+
validate?: (v: string) => string | null;
|
|
130
|
+
}): Promise<string | null>;
|
|
131
|
+
preview(opts: ModalOptions & {
|
|
132
|
+
src: string;
|
|
133
|
+
meta?: string[];
|
|
134
|
+
gallery?: string[];
|
|
135
|
+
}): void;
|
|
136
|
+
custom(opts: ModalOptions): {
|
|
137
|
+
close: () => void;
|
|
138
|
+
};
|
|
139
|
+
private create;
|
|
140
|
+
private close;
|
|
141
|
+
private getIcon;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
interface DrawerAction {
|
|
145
|
+
label: string;
|
|
146
|
+
variant?: 'primary' | 'danger' | 'default';
|
|
147
|
+
onClick?: (close: () => void) => void;
|
|
148
|
+
}
|
|
149
|
+
interface DrawerOptions {
|
|
150
|
+
title?: string;
|
|
151
|
+
position: 'right' | 'left' | 'top' | 'bottom';
|
|
152
|
+
width?: number;
|
|
153
|
+
height?: number;
|
|
154
|
+
content: string | HTMLElement;
|
|
155
|
+
persistent?: boolean;
|
|
156
|
+
footer?: DrawerAction[];
|
|
157
|
+
onClose?: () => void;
|
|
158
|
+
className?: string;
|
|
159
|
+
}
|
|
160
|
+
declare function drawer(opts: DrawerOptions): {
|
|
161
|
+
close: () => void;
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
interface FlowStep {
|
|
165
|
+
title: string;
|
|
166
|
+
type?: 'info' | 'success' | 'warning' | 'danger';
|
|
167
|
+
description?: string;
|
|
168
|
+
fields?: FormField[];
|
|
169
|
+
condition?: (accumulatedData: Record<string, any>) => boolean;
|
|
170
|
+
beforeNext?: (stepData: Record<string, any>) => Promise<Record<string, string> | null>;
|
|
171
|
+
}
|
|
172
|
+
declare function flow(steps: FlowStep[]): Promise<Record<string, any> | null>;
|
|
173
|
+
|
|
174
|
+
declare const alert: AlertEngine;
|
|
175
|
+
declare const modal: ModalEngine;
|
|
176
|
+
declare const history: HistoryManager;
|
|
177
|
+
|
|
178
|
+
interface VexConfig {
|
|
179
|
+
duration?: number;
|
|
180
|
+
position?: 'top' | 'bottom';
|
|
181
|
+
maxStack?: number;
|
|
182
|
+
theme?: 'dark' | 'light' | 'auto';
|
|
183
|
+
}
|
|
184
|
+
declare function configure(opts: VexConfig): void;
|
|
185
|
+
declare function setTheme(theme: 'dark' | 'light' | 'auto'): void;
|
|
186
|
+
declare function dismiss(id: string): void;
|
|
187
|
+
declare function dismissAll(filter?: {
|
|
188
|
+
type?: string;
|
|
189
|
+
position?: string;
|
|
190
|
+
}): void;
|
|
191
|
+
declare function update(id: string, opts: Partial<AlertOptions>): void;
|
|
192
|
+
declare function progress(id: string, value: number | {
|
|
193
|
+
loaded: number;
|
|
194
|
+
total: number;
|
|
195
|
+
}): void;
|
|
196
|
+
declare const vex: {
|
|
197
|
+
alert: AlertEngine;
|
|
198
|
+
modal: ModalEngine;
|
|
199
|
+
drawer: typeof drawer;
|
|
200
|
+
flow: typeof flow;
|
|
201
|
+
history: HistoryManager;
|
|
202
|
+
configure: typeof configure;
|
|
203
|
+
setTheme: typeof setTheme;
|
|
204
|
+
dismiss: typeof dismiss;
|
|
205
|
+
dismissAll: typeof dismissAll;
|
|
206
|
+
update: typeof update;
|
|
207
|
+
progress: typeof progress;
|
|
208
|
+
prompt: {
|
|
209
|
+
inline: (selector: string | HTMLElement, opts: any) => Promise<unknown>;
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
export { type AlertOptions as A, type DrawerOptions as D, type FlowStep as F, HistoryManager as H, ModalEngine as M, type VexConfig as V, dismiss as a, dismissAll as b, configure as c, drawer as d, AlertEngine as e, flow as f, type FormOptions as g, type ModalOptions as h, alert as i, history as j, modal as m, progress as p, setTheme as s, update as u, vex as v };
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
interface HistoryEntry {
|
|
2
|
+
id: string;
|
|
3
|
+
type: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
message: string;
|
|
6
|
+
timestamp: Date;
|
|
7
|
+
read: boolean;
|
|
8
|
+
}
|
|
9
|
+
declare class HistoryManager {
|
|
10
|
+
private entries;
|
|
11
|
+
private limit;
|
|
12
|
+
private storageKey;
|
|
13
|
+
constructor();
|
|
14
|
+
add(entry: Omit<HistoryEntry, 'timestamp' | 'read'>): void;
|
|
15
|
+
get(): HistoryEntry[];
|
|
16
|
+
clear(): void;
|
|
17
|
+
markAllRead(): void;
|
|
18
|
+
markRead(id: string): void;
|
|
19
|
+
open(anchorSelector: string): void;
|
|
20
|
+
private save;
|
|
21
|
+
private load;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
interface ThemeTokens {
|
|
25
|
+
[key: string]: string;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
interface AlertAction {
|
|
29
|
+
label: string;
|
|
30
|
+
variant?: 'primary' | 'danger' | 'default';
|
|
31
|
+
onClick?: (close: () => void) => void;
|
|
32
|
+
}
|
|
33
|
+
interface AlertOptions {
|
|
34
|
+
type?: 'success' | 'error' | 'warning' | 'info' | 'neutral' | 'loading' | 'upload';
|
|
35
|
+
title?: string;
|
|
36
|
+
message: string;
|
|
37
|
+
duration?: number;
|
|
38
|
+
dismissible?: boolean;
|
|
39
|
+
icon?: string | null;
|
|
40
|
+
progress?: boolean;
|
|
41
|
+
actions?: AlertAction[];
|
|
42
|
+
priority?: 'critical' | 'high' | 'normal' | 'low';
|
|
43
|
+
position?: 'top' | 'bottom';
|
|
44
|
+
align?: 'center' | 'left' | 'right';
|
|
45
|
+
animate?: 'slide' | 'fade' | 'scale' | 'bounce';
|
|
46
|
+
maxStack?: number;
|
|
47
|
+
theme?: Partial<ThemeTokens>;
|
|
48
|
+
onClose?: () => void;
|
|
49
|
+
renderer?: 'fixed' | 'inline' | 'attach';
|
|
50
|
+
selector?: string | HTMLElement;
|
|
51
|
+
placement?: 'top' | 'bottom' | 'left' | 'right' | 'auto';
|
|
52
|
+
total?: number;
|
|
53
|
+
}
|
|
54
|
+
declare class AlertEngine {
|
|
55
|
+
private queue;
|
|
56
|
+
private activeAlerts;
|
|
57
|
+
constructor();
|
|
58
|
+
success(message: string, opts?: Partial<AlertOptions>): string;
|
|
59
|
+
error(message: string, opts?: Partial<AlertOptions>): string;
|
|
60
|
+
warning(message: string, opts?: Partial<AlertOptions>): string;
|
|
61
|
+
info(message: string, opts?: Partial<AlertOptions>): string;
|
|
62
|
+
neutral(message: string, opts?: Partial<AlertOptions>): string;
|
|
63
|
+
loading(message: string, opts?: Partial<AlertOptions>): string;
|
|
64
|
+
upload(message: string, opts?: Partial<AlertOptions>): string;
|
|
65
|
+
inline(selector: string | HTMLElement, opts: AlertOptions): string;
|
|
66
|
+
fixed(opts: AlertOptions): string;
|
|
67
|
+
attach(selector: string | HTMLElement, opts: AlertOptions): string;
|
|
68
|
+
show(opts: AlertOptions): string;
|
|
69
|
+
private create;
|
|
70
|
+
private processOptions;
|
|
71
|
+
private render;
|
|
72
|
+
private mount;
|
|
73
|
+
private positionAttached;
|
|
74
|
+
dismiss(id: string): void;
|
|
75
|
+
dismissAll(filter?: {
|
|
76
|
+
type?: string;
|
|
77
|
+
position?: string;
|
|
78
|
+
}): void;
|
|
79
|
+
update(id: string, opts: Partial<AlertOptions>): void;
|
|
80
|
+
progress(id: string, value: number | {
|
|
81
|
+
loaded: number;
|
|
82
|
+
total: number;
|
|
83
|
+
}): void;
|
|
84
|
+
private generateId;
|
|
85
|
+
private getIcon;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
interface ModalOptions {
|
|
89
|
+
type?: 'danger' | 'warning' | 'info' | 'success';
|
|
90
|
+
title?: string;
|
|
91
|
+
message?: string;
|
|
92
|
+
confirmLabel?: string;
|
|
93
|
+
cancelLabel?: string;
|
|
94
|
+
confirmDelay?: number;
|
|
95
|
+
closeOnBackdrop?: boolean;
|
|
96
|
+
closeOnEscape?: boolean;
|
|
97
|
+
width?: number;
|
|
98
|
+
animate?: 'scale' | 'slide' | 'fade';
|
|
99
|
+
showClose?: boolean;
|
|
100
|
+
stackable?: boolean;
|
|
101
|
+
onOpen?: () => void;
|
|
102
|
+
onClose?: () => void;
|
|
103
|
+
content?: string | HTMLElement;
|
|
104
|
+
footer?: boolean;
|
|
105
|
+
}
|
|
106
|
+
interface FormField {
|
|
107
|
+
name: string;
|
|
108
|
+
label: string;
|
|
109
|
+
type: 'text' | 'email' | 'password' | 'number' | 'textarea' | 'select' | 'radio' | 'checkbox' | 'date' | 'file' | 'range' | 'color';
|
|
110
|
+
options?: string[];
|
|
111
|
+
required?: boolean;
|
|
112
|
+
placeholder?: string;
|
|
113
|
+
defaultValue?: any;
|
|
114
|
+
validate?: (value: any) => string | null;
|
|
115
|
+
}
|
|
116
|
+
interface FormOptions extends ModalOptions {
|
|
117
|
+
fields: FormField[];
|
|
118
|
+
submitLabel?: string;
|
|
119
|
+
validate?: (data: Record<string, any>) => Record<string, string> | null;
|
|
120
|
+
}
|
|
121
|
+
declare class ModalEngine {
|
|
122
|
+
private activeModals;
|
|
123
|
+
confirm(opts: ModalOptions): Promise<boolean>;
|
|
124
|
+
alert(opts: ModalOptions): Promise<void>;
|
|
125
|
+
form(opts: FormOptions): Promise<Record<string, any> | null>;
|
|
126
|
+
prompt(opts: ModalOptions & {
|
|
127
|
+
defaultValue?: string;
|
|
128
|
+
placeholder?: string;
|
|
129
|
+
validate?: (v: string) => string | null;
|
|
130
|
+
}): Promise<string | null>;
|
|
131
|
+
preview(opts: ModalOptions & {
|
|
132
|
+
src: string;
|
|
133
|
+
meta?: string[];
|
|
134
|
+
gallery?: string[];
|
|
135
|
+
}): void;
|
|
136
|
+
custom(opts: ModalOptions): {
|
|
137
|
+
close: () => void;
|
|
138
|
+
};
|
|
139
|
+
private create;
|
|
140
|
+
private close;
|
|
141
|
+
private getIcon;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
interface DrawerAction {
|
|
145
|
+
label: string;
|
|
146
|
+
variant?: 'primary' | 'danger' | 'default';
|
|
147
|
+
onClick?: (close: () => void) => void;
|
|
148
|
+
}
|
|
149
|
+
interface DrawerOptions {
|
|
150
|
+
title?: string;
|
|
151
|
+
position: 'right' | 'left' | 'top' | 'bottom';
|
|
152
|
+
width?: number;
|
|
153
|
+
height?: number;
|
|
154
|
+
content: string | HTMLElement;
|
|
155
|
+
persistent?: boolean;
|
|
156
|
+
footer?: DrawerAction[];
|
|
157
|
+
onClose?: () => void;
|
|
158
|
+
className?: string;
|
|
159
|
+
}
|
|
160
|
+
declare function drawer(opts: DrawerOptions): {
|
|
161
|
+
close: () => void;
|
|
162
|
+
};
|
|
163
|
+
|
|
164
|
+
interface FlowStep {
|
|
165
|
+
title: string;
|
|
166
|
+
type?: 'info' | 'success' | 'warning' | 'danger';
|
|
167
|
+
description?: string;
|
|
168
|
+
fields?: FormField[];
|
|
169
|
+
condition?: (accumulatedData: Record<string, any>) => boolean;
|
|
170
|
+
beforeNext?: (stepData: Record<string, any>) => Promise<Record<string, string> | null>;
|
|
171
|
+
}
|
|
172
|
+
declare function flow(steps: FlowStep[]): Promise<Record<string, any> | null>;
|
|
173
|
+
|
|
174
|
+
declare const alert: AlertEngine;
|
|
175
|
+
declare const modal: ModalEngine;
|
|
176
|
+
declare const history: HistoryManager;
|
|
177
|
+
|
|
178
|
+
interface VexConfig {
|
|
179
|
+
duration?: number;
|
|
180
|
+
position?: 'top' | 'bottom';
|
|
181
|
+
maxStack?: number;
|
|
182
|
+
theme?: 'dark' | 'light' | 'auto';
|
|
183
|
+
}
|
|
184
|
+
declare function configure(opts: VexConfig): void;
|
|
185
|
+
declare function setTheme(theme: 'dark' | 'light' | 'auto'): void;
|
|
186
|
+
declare function dismiss(id: string): void;
|
|
187
|
+
declare function dismissAll(filter?: {
|
|
188
|
+
type?: string;
|
|
189
|
+
position?: string;
|
|
190
|
+
}): void;
|
|
191
|
+
declare function update(id: string, opts: Partial<AlertOptions>): void;
|
|
192
|
+
declare function progress(id: string, value: number | {
|
|
193
|
+
loaded: number;
|
|
194
|
+
total: number;
|
|
195
|
+
}): void;
|
|
196
|
+
declare const vex: {
|
|
197
|
+
alert: AlertEngine;
|
|
198
|
+
modal: ModalEngine;
|
|
199
|
+
drawer: typeof drawer;
|
|
200
|
+
flow: typeof flow;
|
|
201
|
+
history: HistoryManager;
|
|
202
|
+
configure: typeof configure;
|
|
203
|
+
setTheme: typeof setTheme;
|
|
204
|
+
dismiss: typeof dismiss;
|
|
205
|
+
dismissAll: typeof dismissAll;
|
|
206
|
+
update: typeof update;
|
|
207
|
+
progress: typeof progress;
|
|
208
|
+
prompt: {
|
|
209
|
+
inline: (selector: string | HTMLElement, opts: any) => Promise<unknown>;
|
|
210
|
+
};
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
export { type AlertOptions as A, type DrawerOptions as D, type FlowStep as F, HistoryManager as H, ModalEngine as M, type VexConfig as V, dismiss as a, dismissAll as b, configure as c, drawer as d, AlertEngine as e, flow as f, type FormOptions as g, type ModalOptions as h, alert as i, history as j, modal as m, progress as p, setTheme as s, update as u, vex as v };
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/* VexUI Flat Theme */
|
|
2
|
+
:root {
|
|
3
|
+
--vex-blur: 0px;
|
|
4
|
+
--vex-backdrop-blur: 0px;
|
|
5
|
+
--vex-shadow: 0 2px 5px rgba(0,0,0,0.05);
|
|
6
|
+
--vex-shadow-modal: 0 10px 25px rgba(0,0,0,0.1);
|
|
7
|
+
--vex-radius-alert: 6px;
|
|
8
|
+
--vex-radius-modal: 12px;
|
|
9
|
+
|
|
10
|
+
/* Light Flat Colors */
|
|
11
|
+
--vex-success-bg: #dcfce7;
|
|
12
|
+
--vex-success-border: #86efac;
|
|
13
|
+
--vex-success-text: #166534;
|
|
14
|
+
--vex-success-accent: #16a34a;
|
|
15
|
+
--vex-success-icon-bg: #bbf7d0;
|
|
16
|
+
|
|
17
|
+
--vex-error-bg: #fee2e2;
|
|
18
|
+
--vex-error-border: #fca5a5;
|
|
19
|
+
--vex-error-text: #991b1b;
|
|
20
|
+
--vex-error-accent: #dc2626;
|
|
21
|
+
--vex-error-icon-bg: #fecaca;
|
|
22
|
+
|
|
23
|
+
--vex-warning-bg: #fef3c7;
|
|
24
|
+
--vex-warning-border: #fcd34d;
|
|
25
|
+
--vex-warning-text: #92400e;
|
|
26
|
+
--vex-warning-accent: #d97706;
|
|
27
|
+
--vex-warning-icon-bg: #fde68a;
|
|
28
|
+
|
|
29
|
+
--vex-info-bg: #e0e7ff;
|
|
30
|
+
--vex-info-border: #a5b4fc;
|
|
31
|
+
--vex-info-text: #3730a3;
|
|
32
|
+
--vex-info-accent: #4f46e5;
|
|
33
|
+
--vex-info-icon-bg: #c7d2fe;
|
|
34
|
+
|
|
35
|
+
--vex-neutral-bg: #f1f5f9;
|
|
36
|
+
--vex-neutral-border: #cbd5e1;
|
|
37
|
+
--vex-neutral-text: #0f172a;
|
|
38
|
+
--vex-neutral-accent: #64748b;
|
|
39
|
+
--vex-neutral-icon-bg: #e2e8f0;
|
|
40
|
+
|
|
41
|
+
--vex-modal-bg: #ffffff;
|
|
42
|
+
--vex-modal-border: #e2e8f0;
|
|
43
|
+
--vex-backdrop-bg: rgba(0,0,0,0.4);
|
|
44
|
+
|
|
45
|
+
--vex-drawer-bg: #ffffff;
|
|
46
|
+
--vex-drawer-border: #e2e8f0;
|
|
47
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/* VexUI Glass Theme (Default) */
|
|
2
|
+
/* This theme is applied by default in tokens.css */
|
|
3
|
+
/* Importing this file ensures glass tokens are active if they were overridden */
|
|
4
|
+
|
|
5
|
+
:root {
|
|
6
|
+
--vex-blur: 20px;
|
|
7
|
+
--vex-backdrop-blur: 12px;
|
|
8
|
+
--vex-radius-alert: 14px;
|
|
9
|
+
--vex-radius-modal: 22px;
|
|
10
|
+
|
|
11
|
+
/* Reset colors to default glass values */
|
|
12
|
+
--vex-success-bg: rgba(5, 25, 14, 0.88);
|
|
13
|
+
--vex-success-border: rgba(34, 197, 94, 0.28);
|
|
14
|
+
--vex-success-text: #dcfce7;
|
|
15
|
+
|
|
16
|
+
--vex-error-bg: rgba(25, 5, 5, 0.88);
|
|
17
|
+
--vex-error-border: rgba(239, 68, 68, 0.28);
|
|
18
|
+
--vex-error-text: #fee2e2;
|
|
19
|
+
|
|
20
|
+
--vex-modal-bg: rgba(10, 14, 26, 0.95);
|
|
21
|
+
--vex-neutral-text: #e2e8f0;
|
|
22
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/* VexUI Minimal Theme */
|
|
2
|
+
:root {
|
|
3
|
+
--vex-blur: 0px;
|
|
4
|
+
--vex-backdrop-blur: 2px;
|
|
5
|
+
--vex-radius-alert: 2px;
|
|
6
|
+
--vex-radius-modal: 4px;
|
|
7
|
+
--vex-shadow: 0 4px 6px rgba(0,0,0,0.05);
|
|
8
|
+
--vex-border-width: 0px;
|
|
9
|
+
|
|
10
|
+
--vex-success-bg: #ffffff;
|
|
11
|
+
--vex-success-border: transparent;
|
|
12
|
+
--vex-success-text: #065f46;
|
|
13
|
+
--vex-success-accent: #10b981;
|
|
14
|
+
|
|
15
|
+
--vex-error-bg: #ffffff;
|
|
16
|
+
--vex-error-border: transparent;
|
|
17
|
+
--vex-error-text: #991b1b;
|
|
18
|
+
--vex-error-accent: #ef4444;
|
|
19
|
+
|
|
20
|
+
/* ... others ... */
|
|
21
|
+
--vex-modal-bg: #ffffff;
|
|
22
|
+
--vex-neutral-text: #111827;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/* Minimal override specific styles */
|
|
26
|
+
.vex-alert {
|
|
27
|
+
border: none;
|
|
28
|
+
border-left: 3px solid var(--vex-info-accent);
|
|
29
|
+
background: #ffffff;
|
|
30
|
+
box-shadow: 0 2px 10px rgba(0,0,0,0.05);
|
|
31
|
+
}
|
|
32
|
+
.vex-success { border-left-color: #10b981; }
|
|
33
|
+
.vex-error { border-left-color: #ef4444; }
|
|
34
|
+
.vex-warning { border-left-color: #f59e0b; }
|
|
35
|
+
.vex-info { border-left-color: #3b82f6; }
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* VexUI Neon Theme */
|
|
2
|
+
:root {
|
|
3
|
+
--vex-blur: 10px;
|
|
4
|
+
--vex-backdrop-blur: 5px;
|
|
5
|
+
--vex-radius-alert: 4px;
|
|
6
|
+
--vex-radius-modal: 8px;
|
|
7
|
+
--vex-shadow: 0 0 15px rgba(0,0,0,0.5);
|
|
8
|
+
|
|
9
|
+
--vex-success-bg: rgba(0, 30, 10, 0.95);
|
|
10
|
+
--vex-success-border: #00ff7f;
|
|
11
|
+
--vex-success-text: #00ff7f;
|
|
12
|
+
--vex-success-accent: #00ff7f;
|
|
13
|
+
|
|
14
|
+
--vex-error-bg: rgba(30, 0, 0, 0.95);
|
|
15
|
+
--vex-error-border: #ff3232;
|
|
16
|
+
--vex-error-text: #ff3232;
|
|
17
|
+
--vex-error-accent: #ff3232;
|
|
18
|
+
|
|
19
|
+
--vex-warning-bg: rgba(30, 20, 0, 0.95);
|
|
20
|
+
--vex-warning-border: #ffff00;
|
|
21
|
+
--vex-warning-text: #ffff00;
|
|
22
|
+
--vex-warning-accent: #ffff00;
|
|
23
|
+
|
|
24
|
+
--vex-info-bg: rgba(0, 0, 30, 0.95);
|
|
25
|
+
--vex-info-border: #00ffff;
|
|
26
|
+
--vex-info-text: #00ffff;
|
|
27
|
+
--vex-info-accent: #00ffff;
|
|
28
|
+
|
|
29
|
+
--vex-neutral-bg: rgba(10, 10, 10, 0.95);
|
|
30
|
+
--vex-neutral-border: #ffffff;
|
|
31
|
+
--vex-neutral-text: #ffffff;
|
|
32
|
+
|
|
33
|
+
--vex-modal-bg: #050a12;
|
|
34
|
+
--vex-modal-border: #00ffff;
|
|
35
|
+
--vex-drawer-bg: #050a12;
|
|
36
|
+
--vex-drawer-border: #00ffff;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.vex-alert, .vex-modal {
|
|
40
|
+
box-shadow: 0 0 10px var(--vex-info-border);
|
|
41
|
+
}
|
|
42
|
+
.vex-success { box-shadow: 0 0 10px #00ff7f; text-shadow: 0 0 5px #00ff7f; }
|
|
43
|
+
.vex-error { box-shadow: 0 0 10px #ff3232; text-shadow: 0 0 5px #ff3232; }
|
|
44
|
+
.vex-warning { box-shadow: 0 0 10px #ffff00; text-shadow: 0 0 5px #ffff00; }
|
|
45
|
+
.vex-info { box-shadow: 0 0 10px #00ffff; text-shadow: 0 0 5px #00ffff; }
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* VexUI Outline Theme */
|
|
2
|
+
:root {
|
|
3
|
+
--vex-blur: 0px;
|
|
4
|
+
--vex-backdrop-blur: 8px;
|
|
5
|
+
--vex-border-width: 1.5px;
|
|
6
|
+
|
|
7
|
+
--vex-success-bg: transparent;
|
|
8
|
+
--vex-success-border: rgba(34, 197, 94, 0.7);
|
|
9
|
+
--vex-success-text: #4ade80;
|
|
10
|
+
|
|
11
|
+
--vex-error-bg: transparent;
|
|
12
|
+
--vex-error-border: rgba(239, 68, 68, 0.7);
|
|
13
|
+
--vex-error-text: #f87171;
|
|
14
|
+
|
|
15
|
+
--vex-modal-bg: #09090b;
|
|
16
|
+
--vex-modal-border: rgba(255,255,255,0.2);
|
|
17
|
+
--vex-neutral-text: #a1a1aa;
|
|
18
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/* VexUI Pastel Theme */
|
|
2
|
+
:root {
|
|
3
|
+
--vex-blur: 0px;
|
|
4
|
+
--vex-backdrop-blur: 4px;
|
|
5
|
+
--vex-radius-alert: 20px;
|
|
6
|
+
--vex-radius-modal: 24px;
|
|
7
|
+
--vex-shadow: 0 4px 15px rgba(0,0,0,0.03);
|
|
8
|
+
|
|
9
|
+
--vex-success-bg: #f0fdf4;
|
|
10
|
+
--vex-success-border: #bbf7d0;
|
|
11
|
+
--vex-success-text: #15803d;
|
|
12
|
+
--vex-success-accent: #22c55e;
|
|
13
|
+
|
|
14
|
+
--vex-error-bg: #fff1f2;
|
|
15
|
+
--vex-error-border: #fecdd3;
|
|
16
|
+
--vex-error-text: #be123c;
|
|
17
|
+
--vex-error-accent: #f43f5e;
|
|
18
|
+
|
|
19
|
+
--vex-modal-bg: #fdf4ff;
|
|
20
|
+
--vex-neutral-text: #4a044e;
|
|
21
|
+
}
|