@epoch32/visage 0.0.0-stage → 0.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/LICENSE +373 -0
- package/README.md +110 -2
- package/dist/bundle.dev.js +4875 -0
- package/dist/index.js +9633 -0
- package/dist/src/api/index.js +4002 -0
- package/dist/src/charts/index.js +2717 -0
- package/dist/src/devtools/index.js +4677 -0
- package/dist/src/dom/index.js +1550 -0
- package/dist/src/form/index.js +1415 -0
- package/dist/src/index.js +11826 -0
- package/dist/src/jsx-runtime/index.js +1630 -0
- package/dist/src/query/index.js +2422 -0
- package/dist/src/router/index.js +1856 -0
- package/dist/src/rpc/index.js +3484 -0
- package/dist/src/server/index.js +1173 -0
- package/dist/src/signals/index.js +1077 -0
- package/dist/src/style/index.js +2340 -0
- package/dist/src/template/index.js +1149 -0
- package/dist/src/ui/index.js +4155 -0
- package/dist/src/virtual/index.js +1955 -0
- package/dist/src/vite/index.js +984 -0
- package/dist/vite/index.js +707 -0
- package/package.json +140 -4
- package/src/api/client.ts +371 -0
- package/src/api/file-router.ts +183 -0
- package/src/api/handler.ts +326 -0
- package/src/api/index.ts +71 -0
- package/src/api/middleware.ts +54 -0
- package/src/api/pragma.ts +155 -0
- package/src/api/procedure.ts +172 -0
- package/src/api/types.ts +249 -0
- package/src/charts/Area.tsx +111 -0
- package/src/charts/Axis.tsx +126 -0
- package/src/charts/Bar.tsx +86 -0
- package/src/charts/CartesianGrid.tsx +72 -0
- package/src/charts/Chart.tsx +269 -0
- package/src/charts/Cursor.tsx +42 -0
- package/src/charts/Legend.tsx +56 -0
- package/src/charts/Line.tsx +106 -0
- package/src/charts/Pie.tsx +88 -0
- package/src/charts/Tooltip.tsx +127 -0
- package/src/charts/context.ts +30 -0
- package/src/charts/index.ts +14 -0
- package/src/charts/path.ts +155 -0
- package/src/charts/scale.ts +133 -0
- package/src/charts/types.ts +50 -0
- package/src/devtools/DomTab.tsx +134 -0
- package/src/devtools/GraphInspector.tsx +196 -0
- package/src/devtools/GraphTab.tsx +315 -0
- package/src/devtools/QueryTab.tsx +200 -0
- package/src/devtools/RpcTab.tsx +190 -0
- package/src/devtools/SignalsTab.tsx +129 -0
- package/src/devtools/component.tsx +243 -0
- package/src/devtools/highlighter.ts +134 -0
- package/src/devtools/hub.ts +175 -0
- package/src/devtools/index.ts +20 -0
- package/src/devtools/styles.ts +313 -0
- package/src/devtools/types.ts +45 -0
- package/src/dom/async.ts +232 -0
- package/src/dom/control-flow.ts +353 -0
- package/src/dom/index.ts +32 -0
- package/src/dom/lazy.ts +82 -0
- package/src/dom/render.ts +286 -0
- package/src/dom/resource.ts +120 -0
- package/src/form/form.ts +218 -0
- package/src/form/index.ts +17 -0
- package/src/form/schema.ts +299 -0
- package/src/index.ts +413 -0
- package/src/jsx-dev-runtime/index.ts +1 -0
- package/src/jsx-runtime/index.ts +112 -0
- package/src/jsx-runtime/jsx.d.ts +278 -0
- package/src/query/create-mutation.ts +64 -0
- package/src/query/create-query.ts +426 -0
- package/src/query/focus-manager.ts +68 -0
- package/src/query/index.ts +63 -0
- package/src/query/mutation-cache.ts +138 -0
- package/src/query/online-manager.ts +67 -0
- package/src/query/query-cache.ts +369 -0
- package/src/query/query-client.ts +248 -0
- package/src/query/types.ts +221 -0
- package/src/query/utils.ts +132 -0
- package/src/router/index.ts +19 -0
- package/src/router/router.tsx +352 -0
- package/src/rpc/client.ts +317 -0
- package/src/rpc/error.ts +70 -0
- package/src/rpc/index.ts +52 -0
- package/src/rpc/procedure.ts +88 -0
- package/src/rpc/router.ts +105 -0
- package/src/rpc/server.ts +511 -0
- package/src/rpc/types.ts +328 -0
- package/src/server/hydrate.ts +21 -0
- package/src/server/index.ts +10 -0
- package/src/server/render-to-stream.ts +31 -0
- package/src/server/render-to-string.ts +125 -0
- package/src/signals/computed.ts +217 -0
- package/src/signals/context.ts +89 -0
- package/src/signals/effect.ts +161 -0
- package/src/signals/index.ts +57 -0
- package/src/signals/scope.ts +132 -0
- package/src/signals/signal.ts +203 -0
- package/src/signals/store.ts +163 -0
- package/src/signals/system.ts +124 -0
- package/src/signals/types.ts +64 -0
- package/src/style/component.tsx +122 -0
- package/src/style/create-style.ts +229 -0
- package/src/style/cx.ts +75 -0
- package/src/style/hash.ts +19 -0
- package/src/style/index.ts +8 -0
- package/src/style/layout.tsx +406 -0
- package/src/style/manager.ts +87 -0
- package/src/style/parser.ts +257 -0
- package/src/style/scale.ts +237 -0
- package/src/template/index.ts +4 -0
- package/src/template/template.ts +126 -0
- package/src/ui/accordion.tsx +286 -0
- package/src/ui/command-dialog.tsx +49 -0
- package/src/ui/command.tsx +400 -0
- package/src/ui/data-table.tsx +322 -0
- package/src/ui/dialog.tsx +362 -0
- package/src/ui/dropdown-menu.tsx +381 -0
- package/src/ui/icon.tsx +69 -0
- package/src/ui/index.ts +138 -0
- package/src/ui/layout.tsx +13 -0
- package/src/ui/popover.tsx +249 -0
- package/src/ui/switch.tsx +114 -0
- package/src/ui/tabs.tsx +297 -0
- package/src/ui/toast.tsx +280 -0
- package/src/ui/tooltip.tsx +262 -0
- package/src/ui/utils.ts +110 -0
- package/src/virtual/index.ts +12 -0
- package/src/virtual/virtual-list.tsx +185 -0
- package/src/virtual/virtualizer.ts +274 -0
- package/src/vite/hmr.ts +38 -0
- package/src/vite/index.ts +3 -0
- package/src/vite/lucide.ts +124 -0
- package/src/vite/plugin.ts +102 -0
- package/src/vite/rpc-middleware.ts +82 -0
- package/src/vite/types.ts +65 -0
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Built-in lightweight schema validator & Standard Schema v1 (ArkType, Zod, Valibot) support
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export interface ValidationIssue {
|
|
6
|
+
path: string;
|
|
7
|
+
message: string;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface ValidationResult<T> {
|
|
11
|
+
success: boolean;
|
|
12
|
+
data?: T;
|
|
13
|
+
issues?: ValidationIssue[];
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export interface StandardSchemaV1<T = any> {
|
|
17
|
+
"~standard": {
|
|
18
|
+
version: 1;
|
|
19
|
+
vendor: string;
|
|
20
|
+
validate: (value: unknown) =>
|
|
21
|
+
| { value: T }
|
|
22
|
+
| {
|
|
23
|
+
issues: ReadonlyArray<{
|
|
24
|
+
path?: ReadonlyArray<string | number>;
|
|
25
|
+
message: string;
|
|
26
|
+
}>;
|
|
27
|
+
};
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export type SchemaLike<T = any> =
|
|
32
|
+
| Schema<T>
|
|
33
|
+
| StandardSchemaV1<T>
|
|
34
|
+
| ((value: unknown) => ValidationResult<T> | boolean | string | null | undefined);
|
|
35
|
+
|
|
36
|
+
export abstract class Schema<T = any> {
|
|
37
|
+
declare readonly _type: T;
|
|
38
|
+
abstract validate(value: unknown, path?: string): ValidationResult<T>;
|
|
39
|
+
|
|
40
|
+
// Standard Schema v1 specification compatibility
|
|
41
|
+
"~standard" = {
|
|
42
|
+
version: 1 as const,
|
|
43
|
+
vendor: "visage",
|
|
44
|
+
validate: (val: unknown) => {
|
|
45
|
+
const res = this.validate(val);
|
|
46
|
+
if (res.success) {
|
|
47
|
+
return { value: res.data as T };
|
|
48
|
+
}
|
|
49
|
+
return {
|
|
50
|
+
issues: (res.issues || []).map((i) => ({
|
|
51
|
+
path: [i.path],
|
|
52
|
+
message: i.message
|
|
53
|
+
}))
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
class StringSchema extends Schema<string> {
|
|
60
|
+
private _min?: { val: number; msg?: string };
|
|
61
|
+
private _max?: { val: number; msg?: string };
|
|
62
|
+
private _emailMsg?: string;
|
|
63
|
+
private _regex?: { pattern: RegExp; msg?: string };
|
|
64
|
+
private _isOptional = false;
|
|
65
|
+
|
|
66
|
+
min(length: number, message?: string): this {
|
|
67
|
+
this._min = { val: length, msg: message };
|
|
68
|
+
return this;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
max(length: number, message?: string): this {
|
|
72
|
+
this._max = { val: length, msg: message };
|
|
73
|
+
return this;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
email(message?: string): this {
|
|
77
|
+
this._emailMsg = message ?? "Invalid email address";
|
|
78
|
+
return this;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
regex(pattern: RegExp, message?: string): this {
|
|
82
|
+
this._regex = { pattern, msg: message };
|
|
83
|
+
return this;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
optional(): Schema<string | undefined> {
|
|
87
|
+
this._isOptional = true;
|
|
88
|
+
return this as any;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
validate(value: unknown, path = ""): ValidationResult<string> {
|
|
92
|
+
if (value === undefined || value === null || value === "") {
|
|
93
|
+
if (this._isOptional) return { success: true, data: undefined };
|
|
94
|
+
return { success: false, issues: [{ path, message: "This field is required" }] };
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
if (typeof value !== "string") {
|
|
98
|
+
return { success: false, issues: [{ path, message: "Must be a string" }] };
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
if (this._min && value.length < this._min.val) {
|
|
102
|
+
return {
|
|
103
|
+
success: false,
|
|
104
|
+
issues: [{ path, message: this._min.msg ?? `Must be at least ${this._min.val} characters` }]
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
if (this._max && value.length > this._max.val) {
|
|
109
|
+
return {
|
|
110
|
+
success: false,
|
|
111
|
+
issues: [{ path, message: this._max.msg ?? `Must be at most ${this._max.val} characters` }]
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
if (this._emailMsg) {
|
|
116
|
+
const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
|
|
117
|
+
if (!emailRegex.test(value)) {
|
|
118
|
+
return { success: false, issues: [{ path, message: this._emailMsg }] };
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
if (this._regex && !this._regex.pattern.test(value)) {
|
|
123
|
+
return {
|
|
124
|
+
success: false,
|
|
125
|
+
issues: [{ path, message: this._regex.msg ?? "Invalid format" }]
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
return { success: true, data: value };
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
class NumberSchema extends Schema<number> {
|
|
134
|
+
private _min?: { val: number; msg?: string };
|
|
135
|
+
private _max?: { val: number; msg?: string };
|
|
136
|
+
private _integer?: { msg?: string };
|
|
137
|
+
private _isOptional = false;
|
|
138
|
+
|
|
139
|
+
min(value: number, message?: string): this {
|
|
140
|
+
this._min = { val: value, msg: message };
|
|
141
|
+
return this;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
max(value: number, message?: string): this {
|
|
145
|
+
this._max = { val: value, msg: message };
|
|
146
|
+
return this;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
integer(message?: string): this {
|
|
150
|
+
this._integer = { msg: message };
|
|
151
|
+
return this;
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
optional(): Schema<number | undefined> {
|
|
155
|
+
this._isOptional = true;
|
|
156
|
+
return this as any;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
validate(value: unknown, path = ""): ValidationResult<number> {
|
|
160
|
+
if (value === undefined || value === null || value === "") {
|
|
161
|
+
if (this._isOptional) return { success: true, data: undefined };
|
|
162
|
+
return { success: false, issues: [{ path, message: "This field is required" }] };
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
const num = Number(value);
|
|
166
|
+
if (Number.isNaN(num) || typeof value === "boolean") {
|
|
167
|
+
return { success: false, issues: [{ path, message: "Must be a valid number" }] };
|
|
168
|
+
}
|
|
169
|
+
|
|
170
|
+
if (this._integer && !Number.isInteger(num)) {
|
|
171
|
+
return {
|
|
172
|
+
success: false,
|
|
173
|
+
issues: [{ path, message: this._integer.msg ?? "Must be an integer" }]
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
if (this._min && num < this._min.val) {
|
|
178
|
+
return {
|
|
179
|
+
success: false,
|
|
180
|
+
issues: [{ path, message: this._min.msg ?? `Must be at least ${this._min.val}` }]
|
|
181
|
+
};
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
if (this._max && num > this._max.val) {
|
|
185
|
+
return {
|
|
186
|
+
success: false,
|
|
187
|
+
issues: [{ path, message: this._max.msg ?? `Must be at most ${this._max.val}` }]
|
|
188
|
+
};
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
return { success: true, data: num };
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
class BooleanSchema extends Schema<boolean> {
|
|
196
|
+
validate(value: unknown, _path = ""): ValidationResult<boolean> {
|
|
197
|
+
return { success: true, data: Boolean(value) };
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
export type InferSchemaType<S> =
|
|
202
|
+
S extends Schema<infer T>
|
|
203
|
+
? T
|
|
204
|
+
: S extends StandardSchemaV1<infer T>
|
|
205
|
+
? T
|
|
206
|
+
: S extends (val: any) => ValidationResult<infer T>
|
|
207
|
+
? T
|
|
208
|
+
: any;
|
|
209
|
+
|
|
210
|
+
export type InferObjectShape<S extends Record<string, SchemaLike<any>>> = {
|
|
211
|
+
[K in keyof S]: InferSchemaType<S[K]>;
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
export class ObjectSchema<T extends Record<string, any>> extends Schema<T> {
|
|
215
|
+
constructor(public shape: { [K in keyof T]: SchemaLike<T[K]> }) {
|
|
216
|
+
super();
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
validate(value: unknown, basePath = ""): ValidationResult<T> {
|
|
220
|
+
if (typeof value !== "object" || value === null) {
|
|
221
|
+
return { success: false, issues: [{ path: basePath, message: "Must be an object" }] };
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
const issues: ValidationIssue[] = [];
|
|
225
|
+
const data: Record<string, any> = {};
|
|
226
|
+
|
|
227
|
+
for (const key in this.shape) {
|
|
228
|
+
const fieldSchema = this.shape[key]!;
|
|
229
|
+
const fieldVal = (value as any)[key];
|
|
230
|
+
const fieldPath = basePath ? `${basePath}.${key}` : key;
|
|
231
|
+
|
|
232
|
+
const res = validateWithSchema(fieldSchema, fieldVal, fieldPath);
|
|
233
|
+
if (res.success) {
|
|
234
|
+
data[key] = res.data;
|
|
235
|
+
} else if (res.issues) {
|
|
236
|
+
issues.push(...res.issues);
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
|
|
240
|
+
if (issues.length > 0) {
|
|
241
|
+
return { success: false, issues };
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
return { success: true, data: data as T };
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
|
|
248
|
+
export function validateWithSchema<T>(
|
|
249
|
+
schema: SchemaLike<T>,
|
|
250
|
+
value: unknown,
|
|
251
|
+
path = ""
|
|
252
|
+
): ValidationResult<T> {
|
|
253
|
+
if (!schema) return { success: true, data: value as T };
|
|
254
|
+
|
|
255
|
+
if (schema instanceof Schema) {
|
|
256
|
+
return schema.validate(value, path);
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
if (typeof schema === "object" && "~standard" in schema) {
|
|
260
|
+
const res = schema["~standard"].validate(value);
|
|
261
|
+
if ("value" in res) {
|
|
262
|
+
return { success: true, data: res.value };
|
|
263
|
+
}
|
|
264
|
+
return {
|
|
265
|
+
success: false,
|
|
266
|
+
issues: res.issues.map((i) => ({
|
|
267
|
+
path: i.path ? i.path.join(".") : path,
|
|
268
|
+
message: i.message
|
|
269
|
+
}))
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
if (typeof schema === "function") {
|
|
274
|
+
const res = schema(value);
|
|
275
|
+
if (res === true || res === null || res === undefined) {
|
|
276
|
+
return { success: true, data: value as T };
|
|
277
|
+
}
|
|
278
|
+
if (typeof res === "string") {
|
|
279
|
+
return { success: false, issues: [{ path, message: res }] };
|
|
280
|
+
}
|
|
281
|
+
if (typeof res === "object") {
|
|
282
|
+
return res as ValidationResult<T>;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
return { success: true, data: value as T };
|
|
287
|
+
}
|
|
288
|
+
|
|
289
|
+
/**
|
|
290
|
+
* Built-in schema definition library
|
|
291
|
+
*/
|
|
292
|
+
export const v = {
|
|
293
|
+
string: () => new StringSchema(),
|
|
294
|
+
number: () => new NumberSchema(),
|
|
295
|
+
boolean: () => new BooleanSchema(),
|
|
296
|
+
object: <S extends Record<string, SchemaLike<any>>>(
|
|
297
|
+
shape: S
|
|
298
|
+
): ObjectSchema<{ [K in keyof S]: InferSchemaType<S[K]> }> => new ObjectSchema(shape as any)
|
|
299
|
+
};
|
package/src/index.ts
ADDED
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
// Reactive Primitives
|
|
2
|
+
|
|
3
|
+
// File-Based API & Opinionated RPC
|
|
4
|
+
export {
|
|
5
|
+
type ApiClient,
|
|
6
|
+
type ApiClientOptions,
|
|
7
|
+
buildFileRouter,
|
|
8
|
+
createApi,
|
|
9
|
+
createApiClient,
|
|
10
|
+
createApiHandler,
|
|
11
|
+
defineMiddleware,
|
|
12
|
+
type FileRouteModule,
|
|
13
|
+
ProcedureBuilder,
|
|
14
|
+
procedure
|
|
15
|
+
} from "./api";
|
|
16
|
+
// Composable Fine-Grained Reactive Charts
|
|
17
|
+
export {
|
|
18
|
+
type AnyScale,
|
|
19
|
+
Area,
|
|
20
|
+
type AreaProps,
|
|
21
|
+
type BandScale,
|
|
22
|
+
Bar,
|
|
23
|
+
type BarProps,
|
|
24
|
+
CartesianGrid,
|
|
25
|
+
type CartesianGridProps,
|
|
26
|
+
Chart,
|
|
27
|
+
ChartContext,
|
|
28
|
+
type ChartContextValue,
|
|
29
|
+
ChartCursor,
|
|
30
|
+
type ChartCursorProps,
|
|
31
|
+
ChartLegend,
|
|
32
|
+
type ChartProps,
|
|
33
|
+
ChartTooltip,
|
|
34
|
+
type CurveType,
|
|
35
|
+
createBandScale,
|
|
36
|
+
createLinearScale,
|
|
37
|
+
generateNiceTicks,
|
|
38
|
+
type HoverState,
|
|
39
|
+
Legend,
|
|
40
|
+
type LegendProps,
|
|
41
|
+
Line,
|
|
42
|
+
type LinearScale,
|
|
43
|
+
type LineProps,
|
|
44
|
+
type Margin,
|
|
45
|
+
Pie,
|
|
46
|
+
type PieProps,
|
|
47
|
+
type Point,
|
|
48
|
+
pathArc,
|
|
49
|
+
pathArea,
|
|
50
|
+
pathLine,
|
|
51
|
+
type SeriesMeta,
|
|
52
|
+
useChartContext,
|
|
53
|
+
XAxis,
|
|
54
|
+
type XAxisProps,
|
|
55
|
+
YAxis,
|
|
56
|
+
type YAxisProps
|
|
57
|
+
} from "./charts";
|
|
58
|
+
// In-Browser DevTools & Visual Inspector
|
|
59
|
+
export {
|
|
60
|
+
connectDevTools,
|
|
61
|
+
DevToolsHub,
|
|
62
|
+
type DevToolsOptions,
|
|
63
|
+
type DevToolsTab,
|
|
64
|
+
devtoolsHub,
|
|
65
|
+
highlightElement,
|
|
66
|
+
type QueryRecord,
|
|
67
|
+
type RpcRecord,
|
|
68
|
+
type SignalRecord,
|
|
69
|
+
VisageDevTools
|
|
70
|
+
} from "./devtools";
|
|
71
|
+
// DOM & Mount Primitives
|
|
72
|
+
export {
|
|
73
|
+
type Child,
|
|
74
|
+
type Component,
|
|
75
|
+
createResource,
|
|
76
|
+
ErrorBoundary,
|
|
77
|
+
type ErrorBoundaryProps,
|
|
78
|
+
For,
|
|
79
|
+
type ForProps,
|
|
80
|
+
insertChild,
|
|
81
|
+
isReactive,
|
|
82
|
+
type LazyComponent,
|
|
83
|
+
lazy,
|
|
84
|
+
Portal,
|
|
85
|
+
type PortalProps,
|
|
86
|
+
type ReactiveValue,
|
|
87
|
+
type Resource,
|
|
88
|
+
type ResourceActions,
|
|
89
|
+
render,
|
|
90
|
+
resolveValue,
|
|
91
|
+
Show,
|
|
92
|
+
type ShowProps,
|
|
93
|
+
Suspense,
|
|
94
|
+
type SuspenseProps,
|
|
95
|
+
setAttribute
|
|
96
|
+
} from "./dom";
|
|
97
|
+
// Reactive Forms & Schema Validation
|
|
98
|
+
export {
|
|
99
|
+
createForm,
|
|
100
|
+
type FieldState,
|
|
101
|
+
type Form,
|
|
102
|
+
type FormFields,
|
|
103
|
+
type FormOptions,
|
|
104
|
+
Schema,
|
|
105
|
+
type SchemaLike,
|
|
106
|
+
type StandardSchemaV1,
|
|
107
|
+
type ValidationIssue,
|
|
108
|
+
type ValidationResult,
|
|
109
|
+
v,
|
|
110
|
+
validateWithSchema
|
|
111
|
+
} from "./form";
|
|
112
|
+
// JSX Typings
|
|
113
|
+
export type {
|
|
114
|
+
AnchorAttributes,
|
|
115
|
+
ButtonAttributes,
|
|
116
|
+
HTMLAttributes,
|
|
117
|
+
InputAttributes,
|
|
118
|
+
JSX,
|
|
119
|
+
ReactiveProp
|
|
120
|
+
} from "./jsx-runtime/jsx";
|
|
121
|
+
// Query & Server State Cache
|
|
122
|
+
export {
|
|
123
|
+
type CreateQueryOptions,
|
|
124
|
+
createInfiniteQuery,
|
|
125
|
+
createMutation,
|
|
126
|
+
createQuery,
|
|
127
|
+
type DefaultOptions,
|
|
128
|
+
type FetchStatus,
|
|
129
|
+
FocusManager,
|
|
130
|
+
focusManager,
|
|
131
|
+
hashKey,
|
|
132
|
+
type InfiniteData,
|
|
133
|
+
type InfiniteQueryOptions,
|
|
134
|
+
type InfiniteQueryResult,
|
|
135
|
+
type MutateOptions,
|
|
136
|
+
Mutation,
|
|
137
|
+
MutationCache,
|
|
138
|
+
type MutationFunction,
|
|
139
|
+
type MutationOptions,
|
|
140
|
+
type MutationResult,
|
|
141
|
+
type MutationStatus,
|
|
142
|
+
OnlineManager,
|
|
143
|
+
onlineManager,
|
|
144
|
+
Query,
|
|
145
|
+
QueryCache,
|
|
146
|
+
QueryClient,
|
|
147
|
+
type QueryClientConfig,
|
|
148
|
+
QueryClientContext,
|
|
149
|
+
QueryClientProvider,
|
|
150
|
+
type QueryFilters,
|
|
151
|
+
type QueryFunction,
|
|
152
|
+
type QueryFunctionContext,
|
|
153
|
+
type QueryKey,
|
|
154
|
+
type QueryObserver,
|
|
155
|
+
type QueryOptions,
|
|
156
|
+
type QueryResult,
|
|
157
|
+
type QueryState,
|
|
158
|
+
type QueryStatus,
|
|
159
|
+
type RefetchOptions,
|
|
160
|
+
type RetryDelayValue
|
|
161
|
+
} from "./query";
|
|
162
|
+
// Router Primitives
|
|
163
|
+
export {
|
|
164
|
+
Link,
|
|
165
|
+
type LinkProps,
|
|
166
|
+
type LocationState,
|
|
167
|
+
type MatchedRoute,
|
|
168
|
+
Route,
|
|
169
|
+
type RouteDefinition,
|
|
170
|
+
type RouteProps,
|
|
171
|
+
Router,
|
|
172
|
+
type RouterContextValue,
|
|
173
|
+
type RouterProps,
|
|
174
|
+
Routes,
|
|
175
|
+
type RoutesProps,
|
|
176
|
+
useLocation,
|
|
177
|
+
useNavigate,
|
|
178
|
+
useParams,
|
|
179
|
+
useSearchParams
|
|
180
|
+
} from "./router";
|
|
181
|
+
// Type-Safe Wire RPC & APIs
|
|
182
|
+
export {
|
|
183
|
+
type ClientOptions,
|
|
184
|
+
type ClientRouter,
|
|
185
|
+
type CORSOptions,
|
|
186
|
+
createClient,
|
|
187
|
+
createFetchHandler,
|
|
188
|
+
createProcedure,
|
|
189
|
+
createRouter,
|
|
190
|
+
ERROR_CODE_TO_STATUS,
|
|
191
|
+
executeProcedure,
|
|
192
|
+
type FetchHandlerOptions,
|
|
193
|
+
type MiddlewareFn,
|
|
194
|
+
mutation,
|
|
195
|
+
type Procedure,
|
|
196
|
+
type ProcedureOptions,
|
|
197
|
+
type ProcedureRecord,
|
|
198
|
+
type ProcedureType,
|
|
199
|
+
query,
|
|
200
|
+
type Router as RPCRouter,
|
|
201
|
+
RouterImpl,
|
|
202
|
+
RPCError,
|
|
203
|
+
type RPCErrorCode,
|
|
204
|
+
type RPCResponse,
|
|
205
|
+
STATUS_TO_ERROR_CODE,
|
|
206
|
+
type SubscriptionCallbacks,
|
|
207
|
+
type SubscriptionHandle,
|
|
208
|
+
subscription
|
|
209
|
+
} from "./rpc";
|
|
210
|
+
// Server-Side Rendering & Hydration
|
|
211
|
+
export {
|
|
212
|
+
hydrate,
|
|
213
|
+
renderChildToString,
|
|
214
|
+
renderToStream,
|
|
215
|
+
renderToString,
|
|
216
|
+
type StreamOptions
|
|
217
|
+
} from "./server";
|
|
218
|
+
export {
|
|
219
|
+
batch,
|
|
220
|
+
type CleanupFn,
|
|
221
|
+
Computed,
|
|
222
|
+
type Context,
|
|
223
|
+
computed,
|
|
224
|
+
createContext,
|
|
225
|
+
createEffect,
|
|
226
|
+
createMemo,
|
|
227
|
+
createRoot,
|
|
228
|
+
createSignal,
|
|
229
|
+
createStore,
|
|
230
|
+
type Dependency,
|
|
231
|
+
Effect,
|
|
232
|
+
effect,
|
|
233
|
+
getActiveScope,
|
|
234
|
+
isSignal,
|
|
235
|
+
mutateStore,
|
|
236
|
+
onCleanup,
|
|
237
|
+
type ReadonlySignal,
|
|
238
|
+
runInScope,
|
|
239
|
+
Scope,
|
|
240
|
+
Signal,
|
|
241
|
+
type Store,
|
|
242
|
+
type Subscriber,
|
|
243
|
+
signal,
|
|
244
|
+
untrack,
|
|
245
|
+
unwrapStore,
|
|
246
|
+
useContext,
|
|
247
|
+
type WritableSignal
|
|
248
|
+
} from "./signals";
|
|
249
|
+
// Scoped Styles & CSS Engine
|
|
250
|
+
// Spatial Engine & Semantic Layout Primitives
|
|
251
|
+
export {
|
|
252
|
+
type BaseLayoutProps,
|
|
253
|
+
Center,
|
|
254
|
+
type CenterProps,
|
|
255
|
+
type ClassValue,
|
|
256
|
+
createStyle,
|
|
257
|
+
css,
|
|
258
|
+
cx,
|
|
259
|
+
DIMENSION_KEYWORDS,
|
|
260
|
+
em,
|
|
261
|
+
extractStyleTags,
|
|
262
|
+
fluid,
|
|
263
|
+
formatStyleProp,
|
|
264
|
+
type GlassOptions,
|
|
265
|
+
Grid,
|
|
266
|
+
type GridProps,
|
|
267
|
+
getScopeId,
|
|
268
|
+
glass,
|
|
269
|
+
hashString,
|
|
270
|
+
hasReactiveClass,
|
|
271
|
+
normalizeClass,
|
|
272
|
+
px,
|
|
273
|
+
type RadiusVariant,
|
|
274
|
+
Row,
|
|
275
|
+
type RowProps,
|
|
276
|
+
radius,
|
|
277
|
+
rem,
|
|
278
|
+
type ScopeOptions,
|
|
279
|
+
type ShadowVariant,
|
|
280
|
+
Spacer,
|
|
281
|
+
type SpacerProps,
|
|
282
|
+
Stack,
|
|
283
|
+
type StackProps,
|
|
284
|
+
Style,
|
|
285
|
+
type StyleClasses,
|
|
286
|
+
StyleManager,
|
|
287
|
+
type StyleProps,
|
|
288
|
+
scopeCSS,
|
|
289
|
+
scopeSelector,
|
|
290
|
+
shadow,
|
|
291
|
+
space,
|
|
292
|
+
styleManager,
|
|
293
|
+
UNITLESS_PROPERTIES,
|
|
294
|
+
useStyle
|
|
295
|
+
} from "./style";
|
|
296
|
+
// Template HTML Cloning & Tagged Template
|
|
297
|
+
export {
|
|
298
|
+
html,
|
|
299
|
+
template
|
|
300
|
+
} from "./template";
|
|
301
|
+
// Headless Accessible UI Component Primitives
|
|
302
|
+
export {
|
|
303
|
+
Accordion,
|
|
304
|
+
AccordionContent,
|
|
305
|
+
AccordionItem,
|
|
306
|
+
type AccordionItemProps,
|
|
307
|
+
type AccordionMultipleProps,
|
|
308
|
+
type AccordionProps,
|
|
309
|
+
type AccordionSingleProps,
|
|
310
|
+
AccordionTrigger,
|
|
311
|
+
type ColumnDef,
|
|
312
|
+
Command,
|
|
313
|
+
CommandDialog,
|
|
314
|
+
type CommandDialogProps,
|
|
315
|
+
CommandEmpty,
|
|
316
|
+
CommandGroup,
|
|
317
|
+
type CommandGroupData,
|
|
318
|
+
CommandInput,
|
|
319
|
+
type CommandInputProps,
|
|
320
|
+
CommandItem,
|
|
321
|
+
type CommandItemData,
|
|
322
|
+
type CommandItemProps,
|
|
323
|
+
CommandList,
|
|
324
|
+
type CommandProps,
|
|
325
|
+
createControllableSignal,
|
|
326
|
+
createIcon,
|
|
327
|
+
createId,
|
|
328
|
+
createToastManager,
|
|
329
|
+
DataTable,
|
|
330
|
+
type DataTableProps,
|
|
331
|
+
Dialog,
|
|
332
|
+
DialogClose,
|
|
333
|
+
DialogContent,
|
|
334
|
+
type DialogContentProps,
|
|
335
|
+
DialogDescription,
|
|
336
|
+
DialogOverlay,
|
|
337
|
+
DialogPortal,
|
|
338
|
+
type DialogProps,
|
|
339
|
+
DialogTitle,
|
|
340
|
+
DialogTrigger,
|
|
341
|
+
DropdownMenu,
|
|
342
|
+
DropdownMenuContent,
|
|
343
|
+
DropdownMenuItem,
|
|
344
|
+
type DropdownMenuItemProps,
|
|
345
|
+
DropdownMenuPortal,
|
|
346
|
+
type DropdownMenuProps,
|
|
347
|
+
DropdownMenuSeparator,
|
|
348
|
+
DropdownMenuTrigger,
|
|
349
|
+
defaultToastManager,
|
|
350
|
+
type IconNode,
|
|
351
|
+
type IconProps,
|
|
352
|
+
onClickOutside,
|
|
353
|
+
Popover,
|
|
354
|
+
PopoverClose,
|
|
355
|
+
PopoverContent,
|
|
356
|
+
type PopoverContentProps,
|
|
357
|
+
PopoverPortal,
|
|
358
|
+
type PopoverProps,
|
|
359
|
+
PopoverTrigger,
|
|
360
|
+
type SortDirection,
|
|
361
|
+
type SortState,
|
|
362
|
+
Switch,
|
|
363
|
+
type SwitchProps,
|
|
364
|
+
SwitchThumb,
|
|
365
|
+
type SwitchThumbProps,
|
|
366
|
+
Tabs,
|
|
367
|
+
TabsContent,
|
|
368
|
+
type TabsContentProps,
|
|
369
|
+
TabsList,
|
|
370
|
+
type TabsProps,
|
|
371
|
+
TabsTrigger,
|
|
372
|
+
Toast,
|
|
373
|
+
ToastClose,
|
|
374
|
+
type ToastData,
|
|
375
|
+
ToastDescription,
|
|
376
|
+
type ToastManager,
|
|
377
|
+
type ToastOptions,
|
|
378
|
+
type ToastProps,
|
|
379
|
+
ToastProvider,
|
|
380
|
+
type ToastProviderProps,
|
|
381
|
+
ToastTitle,
|
|
382
|
+
type ToastVariant,
|
|
383
|
+
ToastViewport,
|
|
384
|
+
type ToastViewportProps,
|
|
385
|
+
Tooltip,
|
|
386
|
+
TooltipContent,
|
|
387
|
+
type TooltipContentProps,
|
|
388
|
+
TooltipPortal,
|
|
389
|
+
type TooltipProps,
|
|
390
|
+
TooltipTrigger,
|
|
391
|
+
toast,
|
|
392
|
+
trapFocus,
|
|
393
|
+
useAccordionContext,
|
|
394
|
+
useAccordionItemContext,
|
|
395
|
+
useCommandContext,
|
|
396
|
+
useDialogContext,
|
|
397
|
+
useDropdownMenuContext,
|
|
398
|
+
usePopoverContext,
|
|
399
|
+
useTabsContext,
|
|
400
|
+
useToast,
|
|
401
|
+
useTooltipContext
|
|
402
|
+
} from "./ui";
|
|
403
|
+
// Virtual List & Grid Virtualization
|
|
404
|
+
export {
|
|
405
|
+
createVirtualizer,
|
|
406
|
+
VirtualGrid,
|
|
407
|
+
type VirtualGridProps,
|
|
408
|
+
type VirtualItem,
|
|
409
|
+
type Virtualizer,
|
|
410
|
+
type VirtualizerOptions,
|
|
411
|
+
VirtualList,
|
|
412
|
+
type VirtualListProps
|
|
413
|
+
} from "./virtual";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Fragment, type JSX, jsx, jsxDEV, jsxs } from "../jsx-runtime";
|