@vanstack/solid-ark 0.0.44 → 0.0.45

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.
@@ -1,7 +1,7 @@
1
1
  import "../solid-ark.css";
2
2
  import { t as e } from "../button-Br_upy12.js";
3
3
  import { t } from "../badge-Dt0uZnmA.js";
4
- import { t as n } from "../form-DceYaN8r.js";
4
+ import { t as n } from "../form-CnlzjZZ1.js";
5
5
  import { t as r } from "../table-ByBUErrC.js";
6
6
  import { className as i, createComponent as a, effect as o, insert as s, memo as c, setAttribute as l, setStyleProperty as u, template as d, use as f } from "solid-js/web";
7
7
  import { For as p, Show as m, createEffect as ee, createMemo as h, createSignal as g, mergeProps as _, on as v, onCleanup as te, onMount as y } from "solid-js";
@@ -1,6 +1,7 @@
1
1
  import { FieldConfig } from '../type';
2
2
  export declare function FieldRenderer(p: {
3
3
  controlId: string;
4
+ disabled: boolean;
4
5
  field: FieldConfig;
5
6
  onBlur: () => void;
6
7
  onChange: (v: unknown) => void;
@@ -1,5 +1,6 @@
1
1
  export declare function FormCheckbox(p: {
2
2
  controlId: string;
3
+ disabled: boolean;
3
4
  label?: string;
4
5
  onChange: (v: boolean) => void;
5
6
  value: unknown;
@@ -1,6 +1,7 @@
1
1
  import { CheckboxGroupFieldConfig } from '../type';
2
2
  export declare function FormCheckboxGroup(p: {
3
3
  controlId: string;
4
+ disabled: boolean;
4
5
  field: CheckboxGroupFieldConfig;
5
6
  onChange: (v: string[]) => void;
6
7
  value: unknown;
@@ -1,6 +1,7 @@
1
1
  import { DatePickerFieldConfig, DatePickerStoredValue } from '../type';
2
2
  export declare function FormDatePicker(p: {
3
3
  controlId: string;
4
+ disabled: boolean;
4
5
  field: DatePickerFieldConfig;
5
6
  onBlur: () => void;
6
7
  onChange: (v: DatePickerStoredValue) => void;
@@ -1,5 +1,6 @@
1
1
  import { InputFieldConfig } from '../type';
2
2
  export declare function FormInput(p: {
3
+ disabled: boolean;
3
4
  field: InputFieldConfig;
4
5
  onBlur: () => void;
5
6
  onChange: (v: string) => void;
@@ -1,6 +1,7 @@
1
1
  import { RadioFieldConfig } from '../type';
2
2
  export declare function FormRadio(p: {
3
3
  controlId: string;
4
+ disabled: boolean;
4
5
  field: RadioFieldConfig;
5
6
  onChange: (v: string) => void;
6
7
  value: unknown;
@@ -1,6 +1,7 @@
1
1
  import { SelectFieldConfig } from '../type';
2
2
  export declare function FormSelect(p: {
3
3
  controlId: string;
4
+ disabled: boolean;
4
5
  field: SelectFieldConfig;
5
6
  onBlur: () => void;
6
7
  onChange: (v: string) => void;
@@ -1,5 +1,6 @@
1
1
  export declare function FormSwitch(p: {
2
2
  controlId: string;
3
+ disabled: boolean;
3
4
  label?: string;
4
5
  onChange: (v: boolean) => void;
5
6
  value: unknown;
@@ -1,5 +1,6 @@
1
1
  import { TextareaFieldConfig } from '../type';
2
2
  export declare function FormTextarea(p: {
3
+ disabled: boolean;
3
4
  field: TextareaFieldConfig;
4
5
  onBlur: () => void;
5
6
  onChange: (v: string) => void;
@@ -2,6 +2,7 @@ import { FieldConfig, FieldRuleContext } from '../type';
2
2
  export declare function isFieldType<T extends FieldConfig["fieldType"]>(field: FieldConfig, type: T): field is Extract<FieldConfig, {
3
3
  fieldType: T;
4
4
  }>;
5
+ export declare function isFieldDisabled(field: FieldConfig, formDisabled?: boolean): boolean;
5
6
  /** 宽度配置 → CSS 值:数字转 px,字符串原样 */
6
7
  export declare function toCssWidth(width: number | string | undefined): string | undefined;
7
8
  /**
@@ -1,3 +1,3 @@
1
1
  import "../solid-ark.css";
2
- import { t as e } from "../form-DceYaN8r.js";
2
+ import { t as e } from "../form-CnlzjZZ1.js";
3
3
  export { e as Form };
@@ -11,6 +11,8 @@ export type FieldRule = ((props: FieldRuleContext) => string | undefined) | z.Zo
11
11
  interface BaseFieldConfig {
12
12
  name: string;
13
13
  label?: string;
14
+ /** 是否禁用当前字段;禁用后不可交互,但字段值仍保留并提交 */
15
+ disabled?: boolean;
14
16
  helperText?: string;
15
17
  placeholder?: string;
16
18
  /** 字段宽度:数字为 px(如 240),也支持字符串如 "240px" / "100%";不传时按容器默认 */
@@ -114,6 +116,8 @@ export interface FieldControlProps {
114
116
  value: () => unknown;
115
117
  onChange: (value: unknown) => void;
116
118
  onBlur: () => void;
119
+ /** 当前字段是否禁用(accessor,包含表单级与字段级禁用状态) */
120
+ disabled: () => boolean;
117
121
  /** 字段错误消息列表(accessor,调用 error() 读取) */
118
122
  error?: () => string[];
119
123
  id: string;
@@ -164,6 +168,8 @@ export interface FormExposed<TData extends Record<string, unknown>> {
164
168
  export interface FormProps<TData extends Record<string, unknown>> {
165
169
  /** 字段配置 */
166
170
  fields: FieldConfig[];
171
+ /** 是否禁用整个表单;禁用后所有字段及 children 中的原生表单控件不可交互 */
172
+ disabled?: boolean;
167
173
  /** 表单值:挂载时作为初始值;之后引用变化会同步进表单 */
168
174
  values?: Partial<TData>;
169
175
  /** 表单值变化通知:内部值变化(用户输入、外部 values 同步)时触发,配合 values 使用可实现双向绑定 */
@@ -2,10 +2,10 @@ import "./solid-ark.css";
2
2
  import { Index as e, Portal as t, className as n, createComponent as r, delegateEvents as i, effect as a, insert as o, memo as s, setAttribute as c, style as l, template as u } from "solid-js/web";
3
3
  import { For as d, Index as f, Show as p, createEffect as m, createMemo as h, createSignal as g, createUniqueId as _, mergeProps as v, on as y, onCleanup as b } from "solid-js";
4
4
  import { Field as x } from "@ark-ui/solid/field";
5
- import { createForm as S } from "@tanstack/solid-form";
6
- import { Checkbox as C } from "@ark-ui/solid/checkbox";
7
- import { DatePicker as w, useDatePicker as T } from "@ark-ui/solid/date-picker";
8
- import { CalendarDate as E, CalendarDateTime as D, endOfWeek as O, parseDate as ee, startOfWeek as te } from "@internationalized/date";
5
+ import { createForm as ee } from "@tanstack/solid-form";
6
+ import { Checkbox as S } from "@ark-ui/solid/checkbox";
7
+ import { DatePicker as C, useDatePicker as w } from "@ark-ui/solid/date-picker";
8
+ import { CalendarDate as T, CalendarDateTime as E, endOfWeek as te, parseDate as D, startOfWeek as O } from "@internationalized/date";
9
9
  import { RadioGroup as k } from "@ark-ui/solid/radio-group";
10
10
  import { Select as A, createListCollection as j } from "@ark-ui/solid/select";
11
11
  import { Switch as M } from "@ark-ui/solid/switch";
@@ -13,21 +13,24 @@ import { deepEqual as N } from "fast-equals";
13
13
  //#region src/form/components/FormCheckbox.tsx
14
14
  var ne = /*#__PURE__*/ u("<svg class=van-form-check-icon fill=none stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=3 viewBox=\"0 0 24 24\"><path d=\"M5 12l5 5l10 -10\">");
15
15
  function re(e) {
16
- return r(C.Root, {
16
+ return r(S.Root, {
17
17
  get checked() {
18
18
  return e.value ?? !1;
19
19
  },
20
20
  class: "van-form-checkbox-root",
21
+ get disabled() {
22
+ return e.disabled;
23
+ },
21
24
  get id() {
22
25
  return e.controlId;
23
26
  },
24
27
  onCheckedChange: (t) => e.onChange(t.checked === !0),
25
28
  get children() {
26
29
  return [
27
- r(C.Control, {
30
+ r(S.Control, {
28
31
  class: "van-form-checkbox-control",
29
32
  get children() {
30
- return r(C.Indicator, {
33
+ return r(S.Indicator, {
31
34
  class: "van-form-checkbox-indicator",
32
35
  get children() {
33
36
  return ne();
@@ -35,13 +38,13 @@ function re(e) {
35
38
  });
36
39
  }
37
40
  }),
38
- s(() => s(() => !!e.label)() && r(C.Label, {
41
+ s(() => s(() => !!e.label)() && r(S.Label, {
39
42
  class: "van-form-checkbox-label",
40
43
  get children() {
41
44
  return e.label;
42
45
  }
43
46
  })),
44
- r(C.HiddenInput, {})
47
+ r(S.HiddenInput, {})
45
48
  ];
46
49
  }
47
50
  });
@@ -50,8 +53,11 @@ function re(e) {
50
53
  //#region src/form/components/FormCheckboxGroup.tsx
51
54
  var ie = /*#__PURE__*/ u("<svg class=van-form-check-icon fill=none stroke=currentColor stroke-linecap=round stroke-linejoin=round stroke-width=3 viewBox=\"0 0 24 24\"><path d=\"M5 12l5 5l10 -10\">");
52
55
  function ae(t) {
53
- return r(C.Group, {
56
+ return r(S.Group, {
54
57
  class: "van-form-checkbox-group",
58
+ get disabled() {
59
+ return t.disabled;
60
+ },
55
61
  get id() {
56
62
  return t.controlId;
57
63
  },
@@ -62,8 +68,11 @@ function ae(t) {
62
68
  get each() {
63
69
  return t.field.options;
64
70
  },
65
- children: (e) => r(C.Root, {
71
+ children: (e) => r(S.Root, {
66
72
  class: "van-form-checkbox-root",
73
+ get disabled() {
74
+ return t.disabled;
75
+ },
67
76
  get id() {
68
77
  return `${t.controlId}-item-${e().value}`;
69
78
  },
@@ -78,10 +87,10 @@ function ae(t) {
78
87
  },
79
88
  get children() {
80
89
  return [
81
- r(C.Control, {
90
+ r(S.Control, {
82
91
  class: "van-form-checkbox-control",
83
92
  get children() {
84
- return r(C.Indicator, {
93
+ return r(S.Indicator, {
85
94
  class: "van-form-checkbox-indicator",
86
95
  get children() {
87
96
  return ie();
@@ -89,13 +98,13 @@ function ae(t) {
89
98
  });
90
99
  }
91
100
  }),
92
- r(C.Label, {
101
+ r(S.Label, {
93
102
  class: "van-form-checkbox-label",
94
103
  get children() {
95
104
  return e().label;
96
105
  }
97
106
  }),
98
- r(C.HiddenInput, {})
107
+ r(S.HiddenInput, {})
99
108
  ];
100
109
  }
101
110
  })
@@ -166,17 +175,17 @@ function me(e, t, n) {
166
175
  switch (t) {
167
176
  case "datetime": {
168
177
  let t = /^(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2})$/.exec(e);
169
- return t ? new D(Number(t[1]), Number(t[2]), Number(t[3]), Number(t[4]), Number(t[5])) : void 0;
178
+ return t ? new E(Number(t[1]), Number(t[2]), Number(t[3]), Number(t[4]), Number(t[5])) : void 0;
170
179
  }
171
180
  case "month": {
172
181
  let t = /^(\d{4})-(\d{2})$/.exec(e);
173
- return t ? new E(Number(t[1]), Number(t[2]), 1) : void 0;
182
+ return t ? new T(Number(t[1]), Number(t[2]), 1) : void 0;
174
183
  }
175
184
  case "year": {
176
185
  let t = Number(e);
177
- return Number.isInteger(t) ? new E(t, 1, 1) : void 0;
186
+ return Number.isInteger(t) ? new T(t, 1, 1) : void 0;
178
187
  }
179
- default: return ee(e);
188
+ default: return D(e);
180
189
  }
181
190
  } catch {
182
191
  return;
@@ -186,10 +195,10 @@ function me(e, t, n) {
186
195
  function he(e, t) {
187
196
  let n = new Date(e), r = n.getUTCFullYear(), i = n.getUTCMonth() + 1, a = n.getUTCDate();
188
197
  switch (t) {
189
- case "datetime": return new D(r, i, a, n.getUTCHours(), n.getUTCMinutes());
190
- case "month": return new E(r, i, 1);
191
- case "year": return new E(r, 1, 1);
192
- default: return new E(r, i, a);
198
+ case "datetime": return new E(r, i, a, n.getUTCHours(), n.getUTCMinutes());
199
+ case "month": return new T(r, i, 1);
200
+ case "year": return new T(r, 1, 1);
201
+ default: return new T(r, i, a);
193
202
  }
194
203
  }
195
204
  function ge() {
@@ -205,23 +214,23 @@ function ye() {
205
214
  return le();
206
215
  }
207
216
  function V() {
208
- return r(w.ViewControl, {
217
+ return r(C.ViewControl, {
209
218
  class: "van-form-date-view-control",
210
219
  get children() {
211
220
  return [
212
- r(w.PrevTrigger, {
221
+ r(C.PrevTrigger, {
213
222
  class: "van-form-date-nav-trigger",
214
223
  get children() {
215
224
  return r(ve, {});
216
225
  }
217
226
  }),
218
- r(w.ViewTrigger, {
227
+ r(C.ViewTrigger, {
219
228
  class: "van-form-date-view-trigger",
220
229
  get children() {
221
- return r(w.RangeText, {});
230
+ return r(C.RangeText, {});
222
231
  }
223
232
  }),
224
- r(w.NextTrigger, {
233
+ r(C.NextTrigger, {
225
234
  class: "van-form-date-nav-trigger",
226
235
  get children() {
227
236
  return r(ye, {});
@@ -232,24 +241,24 @@ function V() {
232
241
  });
233
242
  }
234
243
  function be(e) {
235
- return r(w.Context, { children: (t) => {
236
- let n = e.dual ? h(() => t().getOffset({ months: 1 })) : null, i = (n, i, a = !1, o = !1) => r(w.Table, {
244
+ return r(C.Context, { children: (t) => {
245
+ let n = e.dual ? h(() => t().getOffset({ months: 1 })) : null, i = (n, i, a = !1, o = !1) => r(C.Table, {
237
246
  class: "van-form-date-table",
238
247
  get children() {
239
- return [r(w.TableHead, {
248
+ return [r(C.TableHead, {
240
249
  class: "van-form-date-table-head",
241
250
  get children() {
242
- return r(w.TableRow, {
251
+ return r(C.TableRow, {
243
252
  class: "van-form-date-table-row",
244
253
  get children() {
245
- return [s(() => a && r(w.WeekNumberHeaderCell, {
254
+ return [s(() => a && r(C.WeekNumberHeaderCell, {
246
255
  class: "van-form-date-week-header",
247
256
  children: "#"
248
257
  })), r(f, {
249
258
  get each() {
250
259
  return t().weekDays;
251
260
  },
252
- children: (e) => r(w.TableHeader, {
261
+ children: (e) => r(C.TableHeader, {
253
262
  class: "van-form-date-table-header",
254
263
  get children() {
255
264
  return e().narrow;
@@ -259,15 +268,15 @@ function be(e) {
259
268
  }
260
269
  });
261
270
  }
262
- }), r(w.TableBody, {
271
+ }), r(C.TableBody, {
263
272
  class: "van-form-date-table-body",
264
273
  get children() {
265
274
  return r(f, {
266
275
  each: n,
267
- children: (n, c) => r(w.TableRow, {
276
+ children: (n, c) => r(C.TableRow, {
268
277
  class: "van-form-date-table-row",
269
278
  get children() {
270
- return [s(() => a && r(w.WeekNumberCell, {
279
+ return [s(() => a && r(C.WeekNumberCell, {
271
280
  class: "van-form-date-week-cell",
272
281
  get week() {
273
282
  return n();
@@ -280,14 +289,14 @@ function be(e) {
280
289
  get each() {
281
290
  return n();
282
291
  },
283
- children: (t) => r(w.TableCell, {
292
+ children: (t) => r(C.TableCell, {
284
293
  class: "van-form-date-cell",
285
294
  get value() {
286
295
  return t();
287
296
  },
288
297
  visibleRange: i,
289
298
  get children() {
290
- return r(w.TableCellTrigger, {
299
+ return r(C.TableCellTrigger, {
291
300
  class: "van-form-date-cell-trigger",
292
301
  get id() {
293
302
  return o ? `${e.controlId}-offset-${t().toString()}` : void 0;
@@ -306,7 +315,7 @@ function be(e) {
306
315
  })];
307
316
  }
308
317
  });
309
- return r(w.View, {
318
+ return r(C.View, {
310
319
  get class() {
311
320
  return `van-form-date-view${e.dual ? " van-form-date-view-dual" : ""}`;
312
321
  },
@@ -321,14 +330,14 @@ function be(e) {
321
330
  } });
322
331
  }
323
332
  function H() {
324
- return r(w.Context, { children: (e) => r(w.View, {
333
+ return r(C.Context, { children: (e) => r(C.View, {
325
334
  class: "van-form-date-view",
326
335
  view: "month",
327
336
  get children() {
328
- return [r(V, {}), r(w.Table, {
337
+ return [r(V, {}), r(C.Table, {
329
338
  class: "van-form-date-table",
330
339
  get children() {
331
- return r(w.TableBody, {
340
+ return r(C.TableBody, {
332
341
  class: "van-form-date-table-body",
333
342
  get children() {
334
343
  return r(f, {
@@ -338,20 +347,20 @@ function H() {
338
347
  format: "short"
339
348
  });
340
349
  },
341
- children: (e) => r(w.TableRow, {
350
+ children: (e) => r(C.TableRow, {
342
351
  class: "van-form-date-table-row",
343
352
  get children() {
344
353
  return r(f, {
345
354
  get each() {
346
355
  return e();
347
356
  },
348
- children: (e) => r(w.TableCell, {
357
+ children: (e) => r(C.TableCell, {
349
358
  class: "van-form-date-cell",
350
359
  get value() {
351
360
  return e().value;
352
361
  },
353
362
  get children() {
354
- return r(w.TableCellTrigger, {
363
+ return r(C.TableCellTrigger, {
355
364
  class: "van-form-date-cell-trigger",
356
365
  get children() {
357
366
  return e().label;
@@ -371,34 +380,34 @@ function H() {
371
380
  }) });
372
381
  }
373
382
  function U() {
374
- return r(w.Context, { children: (e) => r(w.View, {
383
+ return r(C.Context, { children: (e) => r(C.View, {
375
384
  class: "van-form-date-view",
376
385
  view: "year",
377
386
  get children() {
378
- return [r(V, {}), r(w.Table, {
387
+ return [r(V, {}), r(C.Table, {
379
388
  class: "van-form-date-table",
380
389
  get children() {
381
- return r(w.TableBody, {
390
+ return r(C.TableBody, {
382
391
  class: "van-form-date-table-body",
383
392
  get children() {
384
393
  return r(f, {
385
394
  get each() {
386
395
  return e().getYearsGrid({ columns: 4 });
387
396
  },
388
- children: (e) => r(w.TableRow, {
397
+ children: (e) => r(C.TableRow, {
389
398
  class: "van-form-date-table-row",
390
399
  get children() {
391
400
  return r(f, {
392
401
  get each() {
393
402
  return e();
394
403
  },
395
- children: (e) => r(w.TableCell, {
404
+ children: (e) => r(C.TableCell, {
396
405
  class: "van-form-date-cell",
397
406
  get value() {
398
407
  return e().value;
399
408
  },
400
409
  get children() {
401
- return r(w.TableCellTrigger, {
410
+ return r(C.TableCellTrigger, {
402
411
  class: "van-form-date-cell-trigger",
403
412
  get children() {
404
413
  return e().label;
@@ -425,7 +434,7 @@ function xe(e) {
425
434
  e.onChange([]);
426
435
  return;
427
436
  }
428
- let r = pe[e.field.startOfWeek ?? 1] ?? "mon", i = e.field.locale ?? "zh-CN", a = te(n, i, r), o = O(n, i, r);
437
+ let r = pe[e.field.startOfWeek ?? 1] ?? "mon", i = e.field.locale ?? "zh-CN", a = O(n, i, r), o = te(n, i, r);
429
438
  e.onChange(c() === "timestamp" ? [R(a, "week"), R(o, "week")] : [L(a, "week"), L(o, "week")]), f?.().setOpen(!1);
430
439
  return;
431
440
  }
@@ -442,9 +451,10 @@ function xe(e) {
442
451
  return;
443
452
  }
444
453
  e.onChange(z(t.value, n(), c(), !1));
445
- }, m = T(() => ({
454
+ }, m = w(() => ({
446
455
  closeOnSelect: n() !== "datetime" && void 0,
447
456
  defaultView: n() === "year" ? "year" : n() === "month" ? "month" : void 0,
457
+ disabled: e.disabled,
448
458
  format: (e) => L(e, n()),
449
459
  id: e.controlId,
450
460
  ids: { trigger: e.controlId },
@@ -462,16 +472,16 @@ function xe(e) {
462
472
  startOfWeek: e.field.startOfWeek ?? (n() === "week" ? 1 : void 0),
463
473
  value: d()
464
474
  }));
465
- return f = m, r(w.RootProvider, {
475
+ return f = m, r(C.RootProvider, {
466
476
  value: m,
467
477
  get children() {
468
- return [r(w.Control, {
478
+ return [r(C.Control, {
469
479
  class: "van-form-date-control",
470
480
  get children() {
471
- return [r(w.Trigger, {
481
+ return [r(C.Trigger, {
472
482
  class: "van-form-date-trigger",
473
483
  get children() {
474
- return [r(w.ValueText, {
484
+ return [r(C.ValueText, {
475
485
  class: "van-form-date-value",
476
486
  get placeholder() {
477
487
  return e.field.placeholder ?? "请选择";
@@ -482,7 +492,7 @@ function xe(e) {
482
492
  return o(e, r(_e, {})), e;
483
493
  })()];
484
494
  }
485
- }), s(() => s(() => e.field.clearable === !0)() && r(w.ClearTrigger, {
495
+ }), s(() => s(() => e.field.clearable === !0 && !e.disabled)() && r(C.ClearTrigger, {
486
496
  class: "van-form-date-clear",
487
497
  get children() {
488
498
  return r(ge, {});
@@ -490,10 +500,10 @@ function xe(e) {
490
500
  }))];
491
501
  }
492
502
  }), r(t, { get children() {
493
- return r(w.Positioner, {
503
+ return r(C.Positioner, {
494
504
  class: "van-form-date-positioner",
495
505
  get children() {
496
- return r(w.Content, {
506
+ return r(C.Content, {
497
507
  get class() {
498
508
  return `van-form-date-content${n() === "week" ? " van-form-date-week-mode" : ""}`;
499
509
  },
@@ -512,15 +522,15 @@ function xe(e) {
512
522
  }),
513
523
  r(H, {}),
514
524
  r(U, {})
515
- ]), s(() => s(() => n() === "datetime")() && r(w.Context, { children: (e) => (() => {
516
- var t = fe();
517
- return t.$$input = (t) => {
518
- let [n, r] = t.currentTarget.value.split(":").map(Number);
519
- e().setTime({
525
+ ]), s(() => s(() => n() === "datetime")() && r(C.Context, { children: (t) => (() => {
526
+ var n = fe();
527
+ return n.$$input = (e) => {
528
+ let [n, r] = e.currentTarget.value.split(":").map(Number);
529
+ t().setTime({
520
530
  hour: n,
521
531
  minute: r
522
532
  });
523
- }, a(() => t.value = I(e().value[0])), t;
533
+ }, a(() => n.disabled = e.disabled), a(() => n.value = I(t().value[0])), n;
524
534
  })() }))];
525
535
  }
526
536
  });
@@ -573,6 +583,9 @@ function Oe(e) {
573
583
  return e.field.autocomplete;
574
584
  },
575
585
  class: "van-form-input",
586
+ get disabled() {
587
+ return e.disabled;
588
+ },
576
589
  onBlur: c,
577
590
  onInput: (e) => i(e.currentTarget.value),
578
591
  get placeholder() {
@@ -598,13 +611,19 @@ function Oe(e) {
598
611
  })();
599
612
  })(), null), o(i, d, null), o(i, r(p, {
600
613
  get when() {
601
- return m && t() !== "";
614
+ return s(() => !!(m && !e.disabled))() && t() !== "";
602
615
  },
603
616
  get children() {
604
617
  var t = Ce();
605
618
  return t.$$click = () => {
606
619
  l(), u?.focus();
607
- }, o(t, r(De, {})), a(() => n(t, `van-form-input-clear${e.field.suffix === void 0 ? "" : " van-form-input-clear-before-suffix"}`)), t;
620
+ }, o(t, r(De, {})), a((r) => {
621
+ var i = `van-form-input-clear${e.field.suffix === void 0 ? "" : " van-form-input-clear-before-suffix"}`, a = e.disabled;
622
+ return i !== r.e && n(t, r.e = i), a !== r.t && (t.disabled = r.t = a), r;
623
+ }, {
624
+ e: void 0,
625
+ t: void 0
626
+ }), t;
608
627
  }
609
628
  }), null), o(i, (() => {
610
629
  var t = s(() => e.field.suffix !== void 0);
@@ -622,6 +641,9 @@ function ke(t) {
622
641
  let n = h(() => t.field.options.map((e) => e.value));
623
642
  return r(k.Root, {
624
643
  class: "van-form-radio-group",
644
+ get disabled() {
645
+ return t.disabled;
646
+ },
625
647
  get id() {
626
648
  return t.controlId;
627
649
  },
@@ -681,6 +703,9 @@ function Le(n) {
681
703
  get collection() {
682
704
  return i();
683
705
  },
706
+ get disabled() {
707
+ return n.disabled;
708
+ },
684
709
  get id() {
685
710
  return n.controlId;
686
711
  },
@@ -702,7 +727,7 @@ function Le(n) {
702
727
  return o(e, () => a() ?? n.field.placeholder ?? "请选择"), e;
703
728
  }
704
729
  }),
705
- s(() => s(() => n.field.clearable === !0)() && r(A.ClearTrigger, {
730
+ s(() => s(() => n.field.clearable === !0 && !n.disabled)() && r(A.ClearTrigger, {
706
731
  class: "van-form-select-clear",
707
732
  get children() {
708
733
  return r(Ie, {});
@@ -768,6 +793,9 @@ function Re(e) {
768
793
  return e.value ?? !1;
769
794
  },
770
795
  class: "van-form-switch-root",
796
+ get disabled() {
797
+ return e.disabled;
798
+ },
771
799
  get id() {
772
800
  return e.controlId;
773
801
  },
@@ -802,6 +830,9 @@ function ze(e) {
802
830
  });
803
831
  return r(x.Textarea, {
804
832
  class: "van-form-textarea",
833
+ get disabled() {
834
+ return e.disabled;
835
+ },
805
836
  onBlur: i,
806
837
  onInput: (e) => n(e.currentTarget.value),
807
838
  get placeholder() {
@@ -820,16 +851,22 @@ function ze(e) {
820
851
  function G(e, t) {
821
852
  return e.fieldType === t;
822
853
  }
823
- function Be(e) {
824
- if (e != null) return typeof e == "number" ? `${e}px` : e;
854
+ function Be(e, t) {
855
+ return t === !0 || e.disabled === !0;
825
856
  }
826
857
  function Ve(e) {
858
+ if (e != null) return typeof e == "number" ? `${e}px` : e;
859
+ }
860
+ function He(e) {
827
861
  return ({ value: t }) => t == null || t === "" || Array.isArray(t) && t.length === 0 ? `${e ?? ""}必填` : void 0;
828
862
  }
829
863
  //#endregion
830
864
  //#region src/form/components/FieldRenderer.tsx
831
- function He(e) {
865
+ function Ue(e) {
832
866
  return G(e.field, "input") ? r(Oe, {
867
+ get disabled() {
868
+ return e.disabled;
869
+ },
833
870
  get field() {
834
871
  return e.field;
835
872
  },
@@ -841,6 +878,9 @@ function He(e) {
841
878
  return e.value;
842
879
  }
843
880
  }) : G(e.field, "textarea") ? r(ze, {
881
+ get disabled() {
882
+ return e.disabled;
883
+ },
844
884
  get field() {
845
885
  return e.field;
846
886
  },
@@ -855,6 +895,9 @@ function He(e) {
855
895
  get controlId() {
856
896
  return e.controlId;
857
897
  },
898
+ get disabled() {
899
+ return e.disabled;
900
+ },
858
901
  get field() {
859
902
  return e.field;
860
903
  },
@@ -869,6 +912,9 @@ function He(e) {
869
912
  get controlId() {
870
913
  return e.controlId;
871
914
  },
915
+ get disabled() {
916
+ return e.disabled;
917
+ },
872
918
  get field() {
873
919
  return e.field;
874
920
  },
@@ -883,6 +929,9 @@ function He(e) {
883
929
  get controlId() {
884
930
  return e.controlId;
885
931
  },
932
+ get disabled() {
933
+ return e.disabled;
934
+ },
886
935
  get label() {
887
936
  return e.field.label;
888
937
  },
@@ -894,6 +943,9 @@ function He(e) {
894
943
  get controlId() {
895
944
  return e.controlId;
896
945
  },
946
+ get disabled() {
947
+ return e.disabled;
948
+ },
897
949
  get label() {
898
950
  return e.field.label;
899
951
  },
@@ -905,6 +957,9 @@ function He(e) {
905
957
  get controlId() {
906
958
  return e.controlId;
907
959
  },
960
+ get disabled() {
961
+ return e.disabled;
962
+ },
908
963
  get field() {
909
964
  return e.field;
910
965
  },
@@ -916,6 +971,9 @@ function He(e) {
916
971
  get controlId() {
917
972
  return e.controlId;
918
973
  },
974
+ get disabled() {
975
+ return e.disabled;
976
+ },
919
977
  get field() {
920
978
  return e.field;
921
979
  },
@@ -930,7 +988,7 @@ function He(e) {
930
988
  function K(e) {
931
989
  return q(e) || e === "" ? void 0 : Number(e);
932
990
  }
933
- function Ue(e) {
991
+ function We(e) {
934
992
  return q(e) || e === "" ? 0 : Number(e);
935
993
  }
936
994
  function q(e) {
@@ -945,11 +1003,11 @@ function Y(e) {
945
1003
  function X(e) {
946
1004
  return typeof e == "object" && !!e && !Array.isArray(e);
947
1005
  }
948
- function We(e, t, n) {
1006
+ function Ge(e, t, n) {
949
1007
  let r = {};
950
1008
  for (let i of n) {
951
1009
  let { name: n, valueType: a } = i, o = e[n], s = t[n], c;
952
- c = a === "number" ? N(K(o), K(s)) : Array.isArray(o) || Array.isArray(s) ? N(J(o), J(s)) : X(o) || X(s) ? N(Y(o), Y(s)) : N(q(o) ? "" : o, q(s) ? "" : s), c || (r[n] = a === "number" ? Ue(s) : s);
1010
+ c = a === "number" ? N(K(o), K(s)) : Array.isArray(o) || Array.isArray(s) ? N(J(o), J(s)) : X(o) || X(s) ? N(Y(o), Y(s)) : N(q(o) ? "" : o, q(s) ? "" : s), c || (r[n] = a === "number" ? We(s) : s);
953
1011
  }
954
1012
  return {
955
1013
  patch: r,
@@ -958,12 +1016,12 @@ function We(e, t, n) {
958
1016
  }
959
1017
  //#endregion
960
1018
  //#region src/form/Form.tsx
961
- var Ge = /*#__PURE__*/ u("<form>"), Ke = /*#__PURE__*/ u("<div class=van-form-field><div class=van-form-loading-wrap>"), Z = /*#__PURE__*/ u("<span aria-hidden=true class=van-form-required>*"), qe = /*#__PURE__*/ u("<div class=van-form-loading-wrap>");
1019
+ var Ke = /*#__PURE__*/ u("<form><fieldset class=van-form-fieldset>"), Z = /*#__PURE__*/ u("<div class=van-form-field><div class=van-form-loading-wrap>"), qe = /*#__PURE__*/ u("<span aria-hidden=true class=van-form-required>*"), Je = /*#__PURE__*/ u("<div class=van-form-loading-wrap>");
962
1020
  function Q(e) {
963
1021
  return typeof e == "string" ? e : e && typeof e == "object" && "message" in e ? String(e.message) : String(e);
964
1022
  }
965
- function Je(e) {
966
- let t = e.required === !0 && !e.rule ? Ve(e.label) : e.rule;
1023
+ function Ye(e) {
1024
+ let t = e.required === !0 && !e.rule ? He(e.label) : e.rule;
967
1025
  if (t) return {
968
1026
  onChange: typeof t == "function" ? (e) => t({
969
1027
  value: e.value,
@@ -975,18 +1033,18 @@ function Je(e) {
975
1033
  function $(e, t) {
976
1034
  return typeof e.show == "function" ? e.show(t) : e.show !== !1;
977
1035
  }
978
- function Ye(e, t) {
1036
+ function Xe(e, t) {
979
1037
  let n = new Set(t.filter((t) => !$(t, e)).map((e) => e.name));
980
1038
  return Object.fromEntries(Object.entries(e).filter(([e]) => !n.has(e)));
981
1039
  }
982
- function Xe(e, t) {
1040
+ function Ze(e, t) {
983
1041
  return e.filter((e) => $(e, t));
984
1042
  }
985
- function Ze(e) {
1043
+ function Qe(e) {
986
1044
  let t = v({ values: {} }, e), i = t.values, u = _(), f = (e) => `${u}-${e}`, g = (e) => {
987
- let n = Ye(e, t.fields);
1045
+ let n = Xe(e, t.fields);
988
1046
  if (t.patch) {
989
- let { patch: r, changed: a } = We(i, n, Xe(t.fields, e));
1047
+ let { patch: r, changed: a } = Ge(i, n, Ze(t.fields, e));
990
1048
  return {
991
1049
  values: n,
992
1050
  patch: r,
@@ -994,7 +1052,7 @@ function Ze(e) {
994
1052
  };
995
1053
  }
996
1054
  return { values: n };
997
- }, b = S(() => ({
1055
+ }, b = ee(() => ({
998
1056
  defaultValues: i,
999
1057
  onSubmit: async ({ value: e }) => {
1000
1058
  let { values: n, patch: r, changed: i } = g(e);
@@ -1028,51 +1086,59 @@ function Ze(e) {
1028
1086
  getFieldValue: (e) => b.getFieldValue(e),
1029
1087
  setFieldValue: (e, t) => b.setFieldValue(e, t)
1030
1088
  });
1031
- let C = b.useStore((e) => e.values), w = h(() => t.fields.filter((e) => !e.hidden && $(e, C()))), T = b.useStore((e) => e.isSubmitting), E = b.useStore((e) => e.values), D = b.setFieldValue;
1089
+ let S = b.useStore((e) => e.values), C = h(() => t.fields.filter((e) => !e.hidden && $(e, S()))), w = b.useStore((e) => e.isSubmitting), T = b.useStore((e) => e.values), E = b.setFieldValue;
1032
1090
  return m(y(() => t.values, (e) => {
1033
- for (let [t, n] of Object.entries(e ?? {})) b.state.values[t] !== n && D(t, n);
1034
- }, { defer: !0 })), m(y(E, (e) => t.onValuesChange?.(e), { defer: !0 })), (() => {
1035
- var e = Ge();
1091
+ for (let [t, n] of Object.entries(e ?? {})) b.state.values[t] !== n && E(t, n);
1092
+ }, { defer: !0 })), m(y(T, (e) => t.onValuesChange?.(e), { defer: !0 })), (() => {
1093
+ var e = Ke(), i = e.firstChild;
1036
1094
  return e.addEventListener("submit", (e) => {
1037
- e.preventDefault(), e.stopPropagation(), b.handleSubmit();
1038
- }), o(e, r(d, {
1095
+ e.preventDefault(), e.stopPropagation(), !t.disabled && b.handleSubmit();
1096
+ }), o(i, r(d, {
1039
1097
  get each() {
1040
- return w();
1098
+ return C();
1041
1099
  },
1042
1100
  children: (e) => r(b.Field, {
1043
1101
  get name() {
1044
1102
  return e.name;
1045
1103
  },
1046
1104
  get validators() {
1047
- return Je(e);
1105
+ return Ye(e);
1048
1106
  },
1049
1107
  children: (n) => {
1050
- let i = n(), u = h(() => (n().state.meta.errors ?? []).map(Q).filter(Boolean)), m = h(() => n().state.value), g = Be(e.fieldWidth), _ = g ? { width: g } : void 0;
1108
+ let i = n(), u = h(() => (n().state.meta.errors ?? []).map(Q).filter(Boolean)), m = h(() => n().state.value), g = () => Be(e, t.disabled), _ = Ve(e.fieldWidth), v = _ ? { width: _ } : void 0;
1051
1109
  return e.control ? (() => {
1052
- var n = Ke(), r = n.firstChild;
1110
+ var n = Z(), r = n.firstChild;
1053
1111
  return o(r, () => e.control({
1054
1112
  value: m,
1055
- onChange: (e) => i.handleChange(e),
1113
+ onChange: (e) => {
1114
+ g() || i.handleChange(e);
1115
+ },
1056
1116
  onBlur: () => i.handleBlur(),
1117
+ disabled: g,
1057
1118
  error: u,
1058
1119
  id: f(e.name)
1059
1120
  })), a((e) => {
1060
- var i = _, a = t.loading ? "" : void 0, o = t.loading || void 0;
1061
- return e.e = l(n, i, e.e), a !== e.t && c(r, "data-loading", e.t = a), o !== e.a && (r.inert = e.a = o), e;
1121
+ var i = g() ? "" : void 0, a = v, o = g() ? "" : void 0, s = t.loading ? "" : void 0, u = t.loading || g() || void 0;
1122
+ return i !== e.e && c(n, "data-disabled", e.e = i), e.t = l(n, a, e.t), o !== e.a && c(r, "data-disabled", e.a = o), s !== e.o && c(r, "data-loading", e.o = s), u !== e.i && (r.inert = e.i = u), e;
1062
1123
  }, {
1063
1124
  e: void 0,
1064
1125
  t: void 0,
1065
- a: void 0
1126
+ a: void 0,
1127
+ o: void 0,
1128
+ i: void 0
1066
1129
  }), n;
1067
1130
  })() : r(x.Root, {
1068
1131
  class: "van-form-field",
1132
+ get disabled() {
1133
+ return g();
1134
+ },
1069
1135
  get id() {
1070
1136
  return f(e.name);
1071
1137
  },
1072
1138
  get invalid() {
1073
1139
  return u().length > 0;
1074
1140
  },
1075
- style: _,
1141
+ style: v,
1076
1142
  get children() {
1077
1143
  return [
1078
1144
  r(p, {
@@ -1088,7 +1154,7 @@ function Ze(e) {
1088
1154
  return e.required === !0;
1089
1155
  },
1090
1156
  get children() {
1091
- return Z();
1157
+ return qe();
1092
1158
  }
1093
1159
  }), s(() => s(() => !!e.renderLabel)() ? e.renderLabel(e.label) : e.label)];
1094
1160
  }
@@ -1096,23 +1162,29 @@ function Ze(e) {
1096
1162
  }
1097
1163
  }),
1098
1164
  (() => {
1099
- var n = qe();
1100
- return o(n, r(He, {
1165
+ var n = Je();
1166
+ return o(n, r(Ue, {
1101
1167
  get controlId() {
1102
1168
  return f(e.name);
1103
1169
  },
1170
+ get disabled() {
1171
+ return g();
1172
+ },
1104
1173
  field: e,
1105
1174
  onBlur: () => i.handleBlur(),
1106
- onChange: (e) => i.handleChange(e),
1175
+ onChange: (e) => {
1176
+ g() || i.handleChange(e);
1177
+ },
1107
1178
  get value() {
1108
1179
  return m();
1109
1180
  }
1110
1181
  })), a((e) => {
1111
- var r = t.loading ? "" : void 0, i = t.loading || void 0;
1112
- return r !== e.e && c(n, "data-loading", e.e = r), i !== e.t && (n.inert = e.t = i), e;
1182
+ var r = g() ? "" : void 0, i = t.loading ? "" : void 0, a = t.loading || g() || void 0;
1183
+ return r !== e.e && c(n, "data-disabled", e.e = r), i !== e.t && c(n, "data-loading", e.t = i), a !== e.a && (n.inert = e.a = a), e;
1113
1184
  }, {
1114
1185
  e: void 0,
1115
- t: void 0
1186
+ t: void 0,
1187
+ a: void 0
1116
1188
  }), n;
1117
1189
  })(),
1118
1190
  r(p, {
@@ -1154,15 +1226,16 @@ function Ze(e) {
1154
1226
  });
1155
1227
  }
1156
1228
  })
1157
- }), null), o(e, () => t.children?.({ isSubmitting: T() }), null), a((r) => {
1158
- var i = t.loading ?? !1, a = `van-form-form ${t.className ?? ""}`, o = t.size ?? "default";
1159
- return i !== r.e && c(e, "aria-busy", r.e = i), a !== r.t && n(e, r.t = a), o !== r.a && c(e, "data-size", r.a = o), r;
1229
+ }), null), o(i, () => t.children?.({ isSubmitting: w() }), null), a((r) => {
1230
+ var a = t.loading ?? !1, o = `van-form-form ${t.className ?? ""}`, s = t.size ?? "default", l = t.disabled;
1231
+ return a !== r.e && c(e, "aria-busy", r.e = a), o !== r.t && n(e, r.t = o), s !== r.a && c(e, "data-size", r.a = s), l !== r.o && (i.disabled = r.o = l), r;
1160
1232
  }, {
1161
1233
  e: void 0,
1162
1234
  t: void 0,
1163
- a: void 0
1235
+ a: void 0,
1236
+ o: void 0
1164
1237
  }), e;
1165
1238
  })();
1166
1239
  }
1167
1240
  //#endregion
1168
- export { Ze as t };
1241
+ export { Qe as t };
@@ -1,2 +1,2 @@
1
- .van-badge{height:var(--van-badge-height,20px);padding:0 var(--van-badge-padding-x,6px);border-radius:var(--radius-lg,2px);font-size:var(--van-badge-font-size,10px);white-space:nowrap;justify-content:center;align-items:center;gap:4px;font-weight:500;line-height:1;display:inline-flex}.van-badge-small{--van-badge-height:24px;--van-badge-padding-x:8px;--van-badge-font-size:11px}.van-badge-large{--van-badge-height:28px;--van-badge-padding-x:10px;--van-badge-font-size:12px}.van-badge-default{background:color-mix(in srgb, var(--muted-foreground,#737373) 12%, transparent);color:var(--muted-foreground,#737373)}.van-badge-primary{background:color-mix(in srgb, var(--primary,#3b82f6) 12%, transparent);color:var(--primary,#3b82f6)}.van-badge-outline{color:var(--card-foreground,#171717);border:1px solid var(--border,#e5e5e5);background:0 0}.van-badge-danger{background:color-mix(in srgb, var(--destructive,#ef4444) 12%, transparent);color:var(--destructive,#ef4444)}.van-badge-success{background:color-mix(in srgb, var(--success,#16a34a) 12%, transparent);color:var(--success,#16a34a)}.van-badge-warning{background:color-mix(in srgb, var(--warning,#d97706) 12%, transparent);color:var(--warning,#d97706)}.van-btn{height:var(--van-btn-height,36px);padding:0 var(--van-btn-padding-x,16px);border-radius:var(--radius-lg,2px);font-size:var(--van-btn-font-size,14px);white-space:nowrap;cursor:pointer;--van-btn-focus-ring:var(--ring,#3b82f666);outline:none;justify-content:center;align-items:center;gap:6px;font-weight:500;transition:background .15s,border-color .15s,opacity .15s,box-shadow .15s;display:inline-flex}.van-btn:focus-visible{box-shadow:0 0 0 2px var(--van-btn-focus-ring)}.van-btn:disabled{opacity:.5;cursor:not-allowed}.van-btn[data-size=small],.van-form-form[data-size=small] .van-btn:not([data-size]){--van-btn-height:32px;--van-btn-padding-x:12px;--van-btn-font-size:13px}.van-btn[data-size=large],.van-form-form[data-size=large] .van-btn:not([data-size]){--van-btn-height:40px;--van-btn-padding-x:20px;--van-btn-font-size:15px}.van-btn-icon-only{width:var(--van-btn-height,36px);min-width:0;padding:0}.van-btn-primary{background:var(--primary,#3b82f6);color:var(--primary-foreground,#fff);--van-btn-focus-ring:color-mix(in srgb, var(--primary,#3b82f6) 40%, transparent);border:none}.van-btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--primary,#3b82f6) 85%, black)}.van-btn-outline{color:var(--card-foreground,#171717);border:1px solid var(--border,#e5e5e5);--van-btn-focus-ring:color-mix(in srgb, var(--primary,#3b82f6) 40%, transparent);background:0 0}.van-btn-outline:hover:not(:disabled){background:var(--muted,#f5f5f5)}.van-btn-ghost{color:var(--muted-foreground,#737373);background:0 0;border:none}.van-btn-ghost:hover:not(:disabled){color:var(--card-foreground,#171717)}.van-btn-ghost:focus-visible{box-shadow:none;color:var(--card-foreground,#171717);text-underline-offset:4px;text-decoration:underline}.van-btn-plain{color:inherit;background:0 0;border:none}.van-btn-danger{background:var(--destructive,#ef4444);color:var(--destructive-foreground,#fff);--van-btn-focus-ring:color-mix(in srgb, var(--destructive,#ef4444) 40%, transparent);border:none}.van-btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--destructive,#ef4444) 85%, black)}.van-btn-success{background:var(--success,#16a34a);color:var(--success-foreground,#fff);--van-btn-focus-ring:color-mix(in srgb, var(--success,#16a34a) 40%, transparent);border:none}.van-btn-success:hover:not(:disabled){background:color-mix(in srgb, var(--success,#16a34a) 85%, black)}.van-btn-warning{background:var(--warning,#d97706);color:var(--warning-foreground,#fff);--van-btn-focus-ring:color-mix(in srgb, var(--warning,#d97706) 40%, transparent);border:none}.van-btn-warning:hover:not(:disabled){background:color-mix(in srgb, var(--warning,#d97706) 85%, black)}@keyframes van-btn-spin{to{transform:rotate(360deg)}}.van-btn-spinner-wrapper{flex-shrink:0;justify-content:flex-end;align-items:center;width:16px;height:16px;display:inline-flex}.van-btn-spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite van-btn-spin;display:inline-block}.van-form-form{--van-form-control-padding-y:8px;--van-form-control-padding-x:12px;--van-form-control-font-size:14px;--van-form-control-height:36px;flex-direction:column;gap:16px;width:100%;display:flex}.van-form-form[data-size=small]{--van-form-control-padding-y:6px;--van-form-control-padding-x:10px;--van-form-control-font-size:13px;--van-form-control-height:32px}.van-form-form[data-size=large]{--van-form-control-padding-y:10px;--van-form-control-padding-x:12px;--van-form-control-font-size:15px;--van-form-control-height:40px}.van-form-field{flex-direction:column;gap:6px;display:flex}.van-form-label{color:var(--card-foreground,#171717);font-size:14px;font-weight:500}.van-form-required{color:var(--destructive,#ef4444);margin-inline-end:4px}.van-form-input,.van-form-textarea{width:100%;padding:var(--van-form-control-padding-y,8px) var(--van-form-control-padding-x,12px);font-size:var(--van-form-control-font-size,14px);color:var(--card-foreground,#171717);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);box-sizing:border-box;height:var(--van-form-control-height,36px);outline:none;transition:border-color .15s}.van-form-input:focus,.van-form-textarea:focus{border-color:var(--primary,#3b82f6)}.van-form-input[data-invalid],.van-form-textarea[data-invalid]{border-color:var(--destructive,#ef4444)}.van-form-textarea{resize:vertical;min-height:80px}.van-form-input-group{box-sizing:border-box;width:100%;height:var(--van-form-control-height,36px);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);align-items:center;transition:border-color .15s;display:flex;overflow:hidden}.van-form-input-group:focus-within{border-color:var(--primary,#3b82f6)}.van-form-input-group:has(.van-form-input[data-invalid]){border-color:var(--destructive,#ef4444)}.van-form-input-group .van-form-input{min-width:0;height:var(--van-form-control-height,36px);background:0 0;border:none;flex:1}.van-form-input-group:has(.van-form-input-addon-prefix) .van-form-input{padding-left:0}.van-form-input-addon{color:var(--muted-foreground,#9ca3af);flex-shrink:0;align-self:stretch;align-items:center;padding:0 10px;font-size:14px;display:flex}.van-form-input-clear{color:var(--muted-foreground,#9ca3af);cursor:pointer;opacity:0;visibility:hidden;background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 10px 2px 2px;transition:opacity .15s,color .15s;display:flex}.van-form-input-clear-before-suffix{padding-right:2px}.van-form-input-group:hover .van-form-input-clear,.van-form-input-group:focus-within .van-form-input-clear{opacity:1;visibility:visible}.van-form-input-clear:hover{color:var(--primary,#3b82f6)}.van-form-select-control{align-items:center;display:flex;position:relative}.van-form-select-trigger{padding:var(--van-form-control-padding-y,8px) var(--van-form-control-padding-x,12px);font-size:var(--van-form-control-font-size,14px);color:var(--card-foreground,#171717);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);box-sizing:border-box;height:var(--van-form-control-height,36px);cursor:pointer;flex:1;align-items:center;transition:border-color .15s;display:flex}.van-form-select-trigger:focus{border-color:var(--primary,#3b82f6)}.van-form-select-value{text-align:left;flex:1}.van-form-select-indicator{color:var(--muted-foreground,#9ca3af);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.van-form-select-clear{color:var(--muted-foreground,#9ca3af);cursor:pointer;opacity:0;visibility:hidden;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:2px;transition:opacity .15s,color .15s;display:flex;position:absolute;top:50%;right:36px;transform:translateY(-50%)}.van-form-select-control:hover .van-form-select-clear,.van-form-select-control:focus-within .van-form-select-clear{opacity:1;visibility:visible}.van-form-select-clear:hover{color:var(--primary,#3b82f6)}.van-form-select-clear[hidden]{display:none}.van-form-select-control:has(.van-form-select-clear) .van-form-select-trigger{padding-right:56px}.van-form-select-positioner{--z-index:50!important}.van-form-select-content{background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);min-width:var(--reference-width);padding:4px;box-shadow:0 4px 12px #0000001a}.van-form-select-item{color:var(--card-foreground,#171717);cursor:pointer;border-radius:2px;padding:8px 12px;font-size:14px;transition:background .1s}.van-form-select-item:hover,.van-form-select-item[data-highlighted]{background:var(--muted,#f5f5f5)}.van-form-select-item[data-selected]{color:var(--primary,#3b82f6);font-weight:500}.van-form-select-item[data-disabled]{color:var(--muted-foreground,#9ca3af);cursor:not-allowed;opacity:.55}.van-form-select-item[data-disabled]:hover,.van-form-select-item[data-disabled][data-highlighted]{background:0 0}.van-form-select-empty{color:var(--muted-foreground,#9ca3af);text-align:center;-webkit-user-select:none;user-select:none;cursor:default;padding:8px 12px;font-size:14px}.van-form-date-control{align-items:center;display:flex;position:relative}.van-form-date-trigger{padding:var(--van-form-control-padding-y,8px) var(--van-form-control-padding-x,12px);font-size:var(--van-form-control-font-size,14px);color:var(--card-foreground,#171717);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);box-sizing:border-box;height:var(--van-form-control-height,36px);cursor:pointer;flex:1;align-items:center;gap:8px;padding-right:36px;transition:border-color .15s;display:flex;position:relative}.van-form-date-trigger:focus{border-color:var(--primary,#3b82f6)}.van-form-date-value{text-align:left;flex:1}.van-form-date-icon{color:var(--muted-foreground,#9ca3af);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.van-form-date-clear{color:var(--muted-foreground,#9ca3af);cursor:pointer;opacity:0;visibility:hidden;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:2px;transition:opacity .15s,color .15s;display:flex;position:absolute;top:50%;right:36px;transform:translateY(-50%)}.van-form-date-control:hover .van-form-date-clear,.van-form-date-control:focus-within .van-form-date-clear{opacity:1;visibility:visible}.van-form-date-clear:hover{color:var(--primary,#3b82f6)}.van-form-date-clear[hidden]{display:none}.van-form-date-control:has(.van-form-date-clear) .van-form-date-trigger{padding-right:56px}.van-form-date-positioner{--z-index:50!important}.van-form-date-content{background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);padding:10px;box-shadow:0 4px 12px #0000001a}.van-form-date-view{width:252px}.van-form-date-view-dual{width:auto}.van-form-date-days{gap:10px;display:flex}.van-form-date-days .van-form-date-table{width:224px}.van-form-date-view-control{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.van-form-date-nav-trigger{width:28px;height:28px;color:var(--muted-foreground,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.van-form-date-nav-trigger:hover{background:var(--muted,#f5f5f5);color:var(--card-foreground,#171717)}.van-form-date-view-trigger{color:var(--card-foreground,#171717);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:4px 8px;font-size:14px;font-weight:500;transition:background .1s}.van-form-date-view-trigger:hover{background:var(--muted,#f5f5f5)}.van-form-date-table{border-collapse:collapse;table-layout:fixed;width:100%}.van-form-date-table-header{color:var(--muted-foreground,#737373);text-align:center;padding:6px 0;font-size:12px;font-weight:400}.van-form-date-week-header,.van-form-date-week-cell{width:24px;color:var(--muted-foreground,#9ca3af);text-align:center;padding:1px 2px;font-size:11px;font-weight:400}.van-form-date-cell{text-align:center;padding:1px}.van-form-date-cell-trigger{width:100%;height:32px;color:var(--card-foreground,#171717);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;font-size:13px;transition:background .1s,color .1s;display:flex}.van-form-date-cell-trigger:hover{background:var(--muted,#f5f5f5)}.van-form-date-cell-trigger[data-selected]{background:var(--primary,#3b82f6);color:var(--primary-foreground,#fff);font-weight:500}.van-form-date-cell-trigger[data-in-range],.van-form-date-cell-trigger[data-range-start],.van-form-date-cell-trigger[data-range-end]{background:color-mix(in srgb, var(--primary,#3b82f6) 12%, transparent)}.van-form-date-cell-trigger[data-range-start],.van-form-date-cell-trigger[data-range-end]{background:var(--primary,#3b82f6);color:var(--primary-foreground,#fff);font-weight:500}.van-form-date-cell-trigger[data-outside-range]{color:var(--muted-foreground,#9ca3af)}.van-form-date-cell-trigger[data-today]:not([data-selected]){box-shadow:inset 0 0 0 1px var(--primary,#3b82f6)}.van-form-date-cell-trigger[data-unavailable]{opacity:.4}.van-form-date-cell-trigger[data-disabled]{opacity:.4;cursor:not-allowed}.van-form-date-week-mode .van-form-date-table-body .van-form-date-table-row:hover .van-form-date-cell-trigger:not([data-selected]):not([data-in-range]):not([data-range-start]):not([data-range-end]):not([data-disabled]){background:var(--muted,#f5f5f5)}.van-form-date-week-mode .van-form-date-table-body .van-form-date-table-row:hover .van-form-date-week-cell{color:var(--primary,#3b82f6)}.van-form-date-time{width:100%;padding:var(--van-form-control-padding-y,8px) var(--van-form-control-padding-x,12px);font-size:var(--van-form-control-font-size,14px);color:var(--card-foreground,#171717);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);outline:none;margin-top:8px;font-family:inherit;transition:border-color .15s}.van-form-date-time:focus{border-color:var(--primary,#3b82f6)}.van-form-helper{color:var(--muted-foreground,#737373);font-size:12px}.van-form-error{color:var(--destructive,#ef4444);font-size:12px}.van-form-field-skeleton,.van-form-loading-wrap[data-loading]:after{border-radius:var(--radius-lg,2px);background-color:color-mix(in srgb, var(--muted,#f5f5f5) 90%, var(--muted-foreground,#9ca3af));background-image:linear-gradient(90deg,#0000 0%,#ffffff80 50%,#0000 100%);background-repeat:no-repeat;background-size:200% 100%;animation:1.4s ease-in-out infinite van-form-skeleton-shimmer}.van-form-field-skeleton{width:100%;height:var(--van-form-control-height,36px)}.van-form-loading-wrap{display:grid;position:relative}.van-form-loading-wrap[data-loading]:after{content:"";z-index:1;position:absolute;inset:0}@keyframes van-form-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.van-form-checkbox-control{border:1px solid var(--border,#d1d5db);background:var(--card,#fff);cursor:pointer;border-radius:1px;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.van-form-checkbox-control:hover{border-color:var(--primary,#6366f1)}.van-form-checkbox-control[data-state=checked]{background:var(--primary,#6366f1);border-color:var(--primary,#6366f1)}.van-form-checkbox-indicator{color:var(--primary-foreground,#fff);justify-content:center;align-items:center;display:flex}.van-form-checkbox-root{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.van-form-checkbox-label{color:var(--card-foreground,#171717);font-size:14px}.van-form-checkbox-group{flex-direction:column;gap:8px;display:flex}.van-form-check-icon{width:14px;height:14px}.van-form-switch-control{background:var(--border,#d1d5db);cursor:pointer;border-radius:11px;align-items:center;width:40px;height:22px;padding:2px;transition:background .15s;display:flex}.van-form-switch-control[data-state=checked]{background:var(--primary,#6366f1)}.van-form-switch-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s}.van-form-switch-control[data-state=checked] .van-form-switch-thumb{transform:translate(18px)}.van-form-switch-root{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.van-form-switch-label{color:var(--card-foreground,#171717);font-size:14px}.van-form-radio-group{flex-flow:wrap;gap:8px 16px;display:flex}.van-form-radio-item{color:var(--card-foreground,#171717);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.van-form-radio-control{border:1px solid var(--border,#d1d5db);background:var(--card,#fff);border-radius:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.van-form-radio-control[data-state=checked]{border-color:var(--primary,#6366f1)}.van-form-radio-control[data-state=checked]:after{content:"";background:var(--primary,#6366f1);border-radius:0;width:12px;height:12px}.van-form-radio-control:hover{border-color:var(--primary,#6366f1)}.van-form-radio-text{flex:1}@media (prefers-color-scheme:dark){.van-form-input,.van-form-textarea,.van-form-select-trigger,.van-form-date-trigger,.van-form-date-time{background:var(--card,#1e1e2e);color:var(--card-foreground,#cdd6f4);border-color:var(--border,#313244)}.van-form-input-group{background:var(--card,#1e1e2e);border-color:var(--border,#313244)}.van-form-input-addon{color:var(--muted-foreground,#a0a0b0)}.van-form-select-content{background:var(--card,#1e1e2e);border-color:var(--border,#313244)}.van-form-select-item:hover,.van-form-select-item[data-highlighted]{background:var(--muted,#27273e)}.van-form-date-content{background:var(--card,#1e1e2e);border-color:var(--border,#313244)}.van-form-date-nav-trigger:hover,.van-form-date-view-trigger:hover,.van-form-date-cell-trigger:hover,.van-form-date-week-mode .van-form-date-table-body .van-form-date-table-row:hover .van-form-date-cell-trigger:not([data-selected]):not([data-in-range]):not([data-range-start]):not([data-range-end]):not([data-disabled]){background:var(--muted,#27273e)}.van-form-field-skeleton,.van-form-loading-wrap[data-loading]:after{background-color:var(--muted,#27273e);background-image:linear-gradient(90deg,#0000 0%,#ffffff1f 50%,#0000 100%)}}.van-table-wrapper{width:100%;color:var(--card-foreground,#1f2937);flex-direction:column;gap:12px;font-size:14px;display:flex}.van-table-container{border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-xl,2px);background:var(--card,#fff);position:relative;overflow:auto}.van-table-loading-mask{z-index:10;background:color-mix(in srgb, var(--card,#fff) 72%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.van-table-spinner{border:3px solid var(--border,#e5e7eb);border-top-color:var(--primary,#6366f1);border-radius:50%;width:28px;height:28px;animation:.6s linear infinite van-table-spin}@keyframes van-table-spin{to{transform:rotate(360deg)}}.van-table{table-layout:fixed;border-collapse:collapse;width:100%}.van-table-th{z-index:1;text-align:left;color:var(--muted-foreground,#9ca3af);border-bottom:1px solid var(--border,#e5e7eb);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:10px 14px;font-size:14px;font-weight:400;position:sticky;top:0}.van-table-th-sortable{cursor:pointer}.van-table-th-sortable:hover{background:var(--secondary,#f3f4f6)}.van-table-th-content{align-items:center;gap:4px;display:inline-flex}.van-table-sort-icon{flex-shrink:0;width:8px;height:14px}.van-table-sort-arrow{color:var(--muted-foreground,#9ca3af);opacity:.35}.van-table-sort-arrow.van-table-sort-active{opacity:1;color:var(--primary,#6366f1)}.van-table-tr{border-bottom:1px solid var(--border,#f3f4f6);transition:background .12s}.van-table-tr:last-child{border-bottom:none}.van-table-tr:hover{background:var(--muted,#f9fafb)}.van-table-tr-selected{background:color-mix(in srgb, var(--primary,#6366f1) 3%, transparent)!important}.van-table-td{vertical-align:middle;padding:10px 14px}.van-table-empty{text-align:center;color:var(--muted-foreground,#9ca3af);padding:56px 16px;font-size:14px}.van-table-checkbox-control{border:1px solid var(--input,#d1d5db);background:var(--card,#fff);cursor:pointer;border-radius:1px;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.van-table-checkbox-control:hover{border-color:var(--primary,#6366f1)}.van-table-checkbox-control[data-state=checked],.van-table-checkbox-control[data-state=indeterminate]{background:var(--primary,#6366f1);border-color:var(--primary,#6366f1)}.van-table-checkbox-indicator{color:var(--primary-foreground,#fff);justify-content:center;align-items:center;display:flex}.van-table-check-icon{width:14px;height:14px}@media (prefers-color-scheme:dark){.van-table-wrapper{--card:#1e1e2e;--card-foreground:#cdd6f4;--foreground:#cdd6f4;--muted:#181825;--muted-foreground:#9399b2;--border:#313244;--input:#45475a;--secondary:#27273e;--primary:#89b4fa;--primary-foreground:#1e1e2e}}.van-table-wrapper[data-density=compact] .van-table-th,.van-table-wrapper[data-density=compact] .van-table-td{padding:6px 12px}.van-table-th-select,.van-table-td-select{width:36px;padding-left:14px;padding-right:8px}.van-data-table{width:100%;color:var(--card-foreground,#1f2937);border:1px solid var(--border,#e5e7eb);background-color:#fff;border-radius:4px;flex-direction:column;font-size:14px;display:flex}.van-data-table-search{width:100%;padding:14px}.van-data-table-search .van-form-form{flex-flow:wrap;align-items:flex-end;gap:8px}.van-data-table-search .van-form-field{width:192px}.van-data-table-search .van-form-input,.van-data-table-search .van-form-select-trigger,.van-data-table-search .van-form-date-trigger{box-sizing:border-box;height:36px}.van-data-table-search-actions{gap:6px;display:flex}.van-data-table-toolbar{justify-content:flex-start;align-items:center;gap:8px;padding:8px 14px;display:flex}.van-data-table-actions{align-items:center;gap:6px;display:flex}.van-data-table-actions .van-btn{height:22px;padding:0 6px;font-size:12px}.van-data-table-badges{flex-wrap:wrap;gap:6px;display:flex}.van-data-table-ellipsis{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.van-data-table-tooltip{z-index:1000;border-radius:var(--radius-lg,2px);max-width:320px;color:var(--card-foreground,#171717);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);pointer-events:none;white-space:normal;word-break:break-all;padding:6px 10px;font-size:12px;line-height:1.5;position:fixed;box-shadow:0 4px 12px #0000001a}.van-data-table-search+.van-data-table-toolbar{border-top:1px solid var(--border,#e5e7eb)}.van-data-table .van-table-container{border-left:none;border-right:none}.van-data-table-pagination{color:var(--muted-foreground,#9ca3af);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.van-data-table-pagination-buttons{align-items:center;gap:6px;display:flex}.van-data-table-pagination-btn{min-width:32px;height:32px;color:var(--card-foreground,#1f2937);background:var(--card,#fff);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0 6px;font-size:14px;transition:all .15s;display:inline-flex}.van-data-table-pagination-btn:hover:not(:disabled):not([data-selected]){background:var(--muted,#6366f1)}.van-data-table-pagination-btn[data-selected]{background:var(--primary,#6366f1);border-color:var(--primary,#6366f1);color:var(--primary-foreground,#fff)}.van-data-table-pagination-btn:disabled{opacity:.45;cursor:not-allowed}.van-data-table-pagination-ellipsis{min-width:24px;height:32px;color:var(--muted-foreground,#9ca3af);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.van-data-table-pagination-icon{width:14px;height:14px}@media (prefers-color-scheme:dark){.van-data-table{--card:#1e1e2e;--card-foreground:#cdd6f4;--foreground:#cdd6f4;--muted:#181825;--muted-foreground:#9399b2;--border:#313244;--input:#45475a;--secondary:#27273e;--primary:#89b4fa;--primary-foreground:#1e1e2e}}@keyframes van-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes van-drawer-fade-out{0%{opacity:1}to{opacity:0}}@keyframes van-drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes van-drawer-slide-out-right{to{transform:translate(100%)}}@keyframes van-drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes van-drawer-slide-out-left{to{transform:translate(-100%)}}@keyframes van-drawer-slide-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes van-drawer-slide-out-top{to{transform:translateY(-100%)}}@keyframes van-drawer-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes van-drawer-slide-out-bottom{to{transform:translateY(100%)}}.van-drawer-backdrop{z-index:var(--z,1000);background:#0006;position:fixed;inset:0}.van-drawer-backdrop[data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-drawer-fade-in}.van-drawer-backdrop[data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) van-drawer-fade-out}.van-drawer-positioner{z-index:calc(var(--z-index-base,1000) + var(--layer-index,0));position:fixed;inset:0}.van-drawer-content{position:fixed}.van-drawer-content[data-placement=right],.van-drawer-content:not([data-placement]){width:var(--van-drawer-size,400px);max-width:100vw;top:0;bottom:0;right:0}.van-drawer-content[data-placement=right][data-state=open],.van-drawer-content:not([data-placement])[data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-drawer-slide-in-right}.van-drawer-content[data-placement=right][data-state=closed],.van-drawer-content:not([data-placement])[data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) forwards van-drawer-slide-out-right}.van-drawer-content[data-placement=left]{width:var(--van-drawer-size,400px);max-width:100vw;top:0;bottom:0;left:0}.van-drawer-content[data-placement=left][data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-drawer-slide-in-left}.van-drawer-content[data-placement=left][data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) forwards van-drawer-slide-out-left}.van-drawer-content[data-placement=top]{height:var(--van-drawer-size,400px);max-height:100vh;top:0;left:0;right:0}.van-drawer-content[data-placement=top][data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-drawer-slide-in-top}.van-drawer-content[data-placement=top][data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) forwards van-drawer-slide-out-top}.van-drawer-content[data-placement=bottom]{height:var(--van-drawer-size,400px);max-height:100vh;bottom:0;left:0;right:0}.van-drawer-content[data-placement=bottom][data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-drawer-slide-in-bottom}.van-drawer-content[data-placement=bottom][data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) forwards van-drawer-slide-out-bottom}.van-drawer-content-inner{background:var(--card,#fff);border-radius:2px;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 4px 16px #0000001a}.van-drawer-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:20px 20px 12px;display:flex}.van-drawer-title{color:var(--card-foreground,#171717);margin:0;font-size:16px;font-weight:600;line-height:1.4}.van-drawer-close{border-radius:var(--radius-lg,2px);cursor:pointer;width:24px;height:24px;color:var(--muted-foreground,#737373);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-2px -2px 0 8px;font-size:14px;transition:background .15s,color .15s;display:inline-flex}.van-drawer-close:hover{background:var(--muted,#f5f5f5);color:var(--card-foreground,#171717)}.van-drawer-desc{color:var(--muted-foreground,#737373);padding:0 20px 14px;font-size:14px;line-height:1.5}.van-drawer-body{flex:1;min-height:0;padding:2px 20px 16px;overflow-y:auto}.van-drawer-footer{border-top:1px solid var(--border,#e5e5e5);flex-shrink:0;justify-content:flex-end;gap:10px;padding:12px 20px;display:flex}.van-drawer-footer .van-btn{min-width:84px}.van-drawer-grabber{cursor:grab;flex-shrink:0;justify-content:center;padding:8px 0 0;display:flex}.van-drawer-grabber:active{cursor:grabbing}.van-drawer-grabber-indicator{background:#d4d4d4;border-radius:2px;width:36px;height:4px}@keyframes van-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes van-modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes van-modal-scale-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:none}}@keyframes van-modal-scale-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.95)translateY(-4px)}}.van-modal-backdrop{background:#0006;position:fixed;inset:0}.van-modal-backdrop[data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-modal-fade-in}.van-modal-backdrop[data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) van-modal-fade-out}.van-modal-positioner{justify-content:center;align-items:start;padding:15vh 1rem 1rem;display:flex;position:fixed;inset:0}.van-modal-positioner[data-center]{align-items:center;padding-top:1rem}.van-modal-content{background:var(--card,#fff);border-radius:var(--radius-lg,2px);width:var(--van-modal-width,min(480px, 92vw));min-width:min(420px,92vw);max-height:var(--van-modal-max-height,90vh);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 4px 16px #0000001a}.van-modal-content[data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-modal-scale-in}.van-modal-content[data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) van-modal-scale-out}.van-modal-header{background:var(--muted,#f5f5f5);border-bottom:1px solid var(--border,#e5e5e5);justify-content:space-between;align-items:center;gap:12px;height:56px;padding-left:16px;display:flex}.van-modal-title{color:var(--card-foreground,#171717);margin:0;font-size:16px;line-height:1.4}.van-modal-header-actions{flex-shrink:0;align-items:center;gap:6px;padding-right:12px;display:flex}.van-modal-header .van-modal-header-btn{border-radius:var(--radius-lg,2px);flex-shrink:0;width:36px;height:36px;padding:0}.van-modal-header .van-modal-header-btn-cancel{background:var(--border,#e5e5e5);color:var(--muted-foreground,#737373)}.van-modal-header .van-modal-header-btn-cancel:hover:not(:disabled){background:color-mix(in srgb, var(--border,#e5e5e5) 78%, black);color:var(--card-foreground,#171717)}.van-modal-header .van-modal-header-btn-confirm{background:var(--primary,#3b82f6);color:var(--primary-foreground,#fff)}.van-modal-header .van-modal-header-btn-confirm:hover:not(:disabled){background:color-mix(in srgb, var(--primary,#3b82f6) 85%, black);color:var(--primary-foreground,#fff)}.van-modal-header .van-modal-header-btn .van-btn-spinner-wrapper{width:18px;height:18px}.van-modal-header .van-modal-header-btn .van-btn-spinner{border-width:2px;width:18px;height:18px}.van-modal-desc{color:var(--muted-foreground,#737373);padding:20px;font-size:16px;line-height:1.5}.van-modal-body{flex:1;padding:0;overflow-y:auto}[data-scope=dialog][data-part=content][data-has-nested]{transform:scale(calc(1 - var(--nested-layer-count,0) * .03))}[data-scope=toast][data-part=root]{transform:translate3d(var(--x,0), var(--y,100%), 0);z-index:var(--z-index,0);opacity:var(--opacity,1);background:var(--card,#fff);border-radius:var(--radius-lg,2px);min-width:320px;max-width:420px;transition:transform .25s,opacity .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001f}.van-toast-bar{flex-shrink:0;width:4px}[data-type=success] .van-toast-bar{background:var(--success,#22c55e)}[data-type=error] .van-toast-bar{background:var(--destructive,#ef4444)}[data-type=info] .van-toast-bar{background:var(--primary,#3b82f6)}[data-type=warning] .van-toast-bar{background:var(--warning,#f59e0b)}[data-type=loading] .van-toast-bar{background:var(--muted-foreground,#f5f5f5)}.van-toast-body{flex:1;min-width:0;padding:12px 40px 12px 16px}.van-toast-title{color:var(--card-foreground,#171717);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1.4;overflow:hidden}.van-toast-desc{color:var(--muted-foreground,#737373);margin-top:2px;font-size:14px;line-height:1.5}.van-toast-close{cursor:pointer;width:20px;height:20px;color:var(--muted-foreground,#9ca3af);background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:inline-flex;position:absolute;top:12px;right:12px}.van-toast-close:hover{color:var(--card-foreground,#4b5563);background:var(--muted,#f3f4f6)}.van-toast-close-x{width:12px;height:12px;display:block;position:relative}.van-toast-close-x:before,.van-toast-close-x:after{content:"";background:currentColor;border-radius:1px;width:12px;height:1.5px;position:absolute;top:50%;left:50%}.van-toast-close-x:before{transform:translate(-50%,-50%)rotate(45deg)}.van-toast-close-x:after{transform:translate(-50%,-50%)rotate(-45deg)}
1
+ .van-badge{height:var(--van-badge-height,20px);padding:0 var(--van-badge-padding-x,6px);border-radius:var(--radius-lg,2px);font-size:var(--van-badge-font-size,10px);white-space:nowrap;justify-content:center;align-items:center;gap:4px;font-weight:500;line-height:1;display:inline-flex}.van-badge-small{--van-badge-height:24px;--van-badge-padding-x:8px;--van-badge-font-size:11px}.van-badge-large{--van-badge-height:28px;--van-badge-padding-x:10px;--van-badge-font-size:12px}.van-badge-default{background:color-mix(in srgb, var(--muted-foreground,#737373) 12%, transparent);color:var(--muted-foreground,#737373)}.van-badge-primary{background:color-mix(in srgb, var(--primary,#3b82f6) 12%, transparent);color:var(--primary,#3b82f6)}.van-badge-outline{color:var(--card-foreground,#171717);border:1px solid var(--border,#e5e5e5);background:0 0}.van-badge-danger{background:color-mix(in srgb, var(--destructive,#ef4444) 12%, transparent);color:var(--destructive,#ef4444)}.van-badge-success{background:color-mix(in srgb, var(--success,#16a34a) 12%, transparent);color:var(--success,#16a34a)}.van-badge-warning{background:color-mix(in srgb, var(--warning,#d97706) 12%, transparent);color:var(--warning,#d97706)}.van-btn{height:var(--van-btn-height,36px);padding:0 var(--van-btn-padding-x,16px);border-radius:var(--radius-lg,2px);font-size:var(--van-btn-font-size,14px);white-space:nowrap;cursor:pointer;--van-btn-focus-ring:var(--ring,#3b82f666);outline:none;justify-content:center;align-items:center;gap:6px;font-weight:500;transition:background .15s,border-color .15s,opacity .15s,box-shadow .15s;display:inline-flex}.van-btn:focus-visible{box-shadow:0 0 0 2px var(--van-btn-focus-ring)}.van-btn:disabled{opacity:.5;cursor:not-allowed}.van-btn[data-size=small],.van-form-form[data-size=small] .van-btn:not([data-size]){--van-btn-height:32px;--van-btn-padding-x:12px;--van-btn-font-size:13px}.van-btn[data-size=large],.van-form-form[data-size=large] .van-btn:not([data-size]){--van-btn-height:40px;--van-btn-padding-x:20px;--van-btn-font-size:15px}.van-btn-icon-only{width:var(--van-btn-height,36px);min-width:0;padding:0}.van-btn-primary{background:var(--primary,#3b82f6);color:var(--primary-foreground,#fff);--van-btn-focus-ring:color-mix(in srgb, var(--primary,#3b82f6) 40%, transparent);border:none}.van-btn-primary:hover:not(:disabled){background:color-mix(in srgb, var(--primary,#3b82f6) 85%, black)}.van-btn-outline{color:var(--card-foreground,#171717);border:1px solid var(--border,#e5e5e5);--van-btn-focus-ring:color-mix(in srgb, var(--primary,#3b82f6) 40%, transparent);background:0 0}.van-btn-outline:hover:not(:disabled){background:var(--muted,#f5f5f5)}.van-btn-ghost{color:var(--muted-foreground,#737373);background:0 0;border:none}.van-btn-ghost:hover:not(:disabled){color:var(--card-foreground,#171717)}.van-btn-ghost:focus-visible{box-shadow:none;color:var(--card-foreground,#171717);text-underline-offset:4px;text-decoration:underline}.van-btn-plain{color:inherit;background:0 0;border:none}.van-btn-danger{background:var(--destructive,#ef4444);color:var(--destructive-foreground,#fff);--van-btn-focus-ring:color-mix(in srgb, var(--destructive,#ef4444) 40%, transparent);border:none}.van-btn-danger:hover:not(:disabled){background:color-mix(in srgb, var(--destructive,#ef4444) 85%, black)}.van-btn-success{background:var(--success,#16a34a);color:var(--success-foreground,#fff);--van-btn-focus-ring:color-mix(in srgb, var(--success,#16a34a) 40%, transparent);border:none}.van-btn-success:hover:not(:disabled){background:color-mix(in srgb, var(--success,#16a34a) 85%, black)}.van-btn-warning{background:var(--warning,#d97706);color:var(--warning-foreground,#fff);--van-btn-focus-ring:color-mix(in srgb, var(--warning,#d97706) 40%, transparent);border:none}.van-btn-warning:hover:not(:disabled){background:color-mix(in srgb, var(--warning,#d97706) 85%, black)}@keyframes van-btn-spin{to{transform:rotate(360deg)}}.van-btn-spinner-wrapper{flex-shrink:0;justify-content:flex-end;align-items:center;width:16px;height:16px;display:inline-flex}.van-btn-spinner{border:1.5px solid;border-right-color:#0000;border-radius:50%;width:12px;height:12px;animation:.6s linear infinite van-btn-spin;display:inline-block}.van-form-form{--van-form-control-padding-y:8px;--van-form-control-padding-x:12px;--van-form-control-font-size:14px;--van-form-control-height:36px;flex-direction:column;gap:16px;width:100%;display:flex}.van-form-fieldset{gap:inherit;border:0;flex-direction:column;width:100%;min-width:0;margin:0;padding:0;display:flex}.van-form-form[data-size=small]{--van-form-control-padding-y:6px;--van-form-control-padding-x:10px;--van-form-control-font-size:13px;--van-form-control-height:32px}.van-form-form[data-size=large]{--van-form-control-padding-y:10px;--van-form-control-padding-x:12px;--van-form-control-font-size:15px;--van-form-control-height:40px}.van-form-field{flex-direction:column;gap:6px;display:flex}.van-form-label{color:var(--card-foreground,#171717);font-size:14px;font-weight:500}.van-form-required{color:var(--destructive,#ef4444);margin-inline-end:4px}.van-form-input,.van-form-textarea{width:100%;padding:var(--van-form-control-padding-y,8px) var(--van-form-control-padding-x,12px);font-size:var(--van-form-control-font-size,14px);color:var(--card-foreground,#171717);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);box-sizing:border-box;height:var(--van-form-control-height,36px);outline:none;transition:border-color .15s}.van-form-input:focus,.van-form-textarea:focus{border-color:var(--primary,#3b82f6)}.van-form-input[data-invalid],.van-form-textarea[data-invalid]{border-color:var(--destructive,#ef4444)}.van-form-textarea{resize:vertical;min-height:80px}.van-form-input-group{box-sizing:border-box;width:100%;height:var(--van-form-control-height,36px);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);align-items:center;transition:border-color .15s;display:flex;overflow:hidden}.van-form-input-group:focus-within{border-color:var(--primary,#3b82f6)}.van-form-input-group:has(.van-form-input[data-invalid]){border-color:var(--destructive,#ef4444)}.van-form-input-group .van-form-input{min-width:0;height:var(--van-form-control-height,36px);background:0 0;border:none;flex:1}.van-form-input-group:has(.van-form-input-addon-prefix) .van-form-input{padding-left:0}.van-form-input-addon{color:var(--muted-foreground,#9ca3af);flex-shrink:0;align-self:stretch;align-items:center;padding:0 10px;font-size:14px;display:flex}.van-form-input-clear{color:var(--muted-foreground,#9ca3af);cursor:pointer;opacity:0;visibility:hidden;background:0 0;border:none;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;padding:2px 10px 2px 2px;transition:opacity .15s,color .15s;display:flex}.van-form-input-clear-before-suffix{padding-right:2px}.van-form-input-group:hover .van-form-input-clear,.van-form-input-group:focus-within .van-form-input-clear{opacity:1;visibility:visible}.van-form-input-clear:hover{color:var(--primary,#3b82f6)}.van-form-select-control{align-items:center;display:flex;position:relative}.van-form-select-trigger{padding:var(--van-form-control-padding-y,8px) var(--van-form-control-padding-x,12px);font-size:var(--van-form-control-font-size,14px);color:var(--card-foreground,#171717);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);box-sizing:border-box;height:var(--van-form-control-height,36px);cursor:pointer;flex:1;align-items:center;transition:border-color .15s;display:flex}.van-form-select-trigger:focus{border-color:var(--primary,#3b82f6)}.van-form-select-value{text-align:left;flex:1}.van-form-select-indicator{color:var(--muted-foreground,#9ca3af);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.van-form-select-clear{color:var(--muted-foreground,#9ca3af);cursor:pointer;opacity:0;visibility:hidden;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:2px;transition:opacity .15s,color .15s;display:flex;position:absolute;top:50%;right:36px;transform:translateY(-50%)}.van-form-select-control:hover .van-form-select-clear,.van-form-select-control:focus-within .van-form-select-clear{opacity:1;visibility:visible}.van-form-select-clear:hover{color:var(--primary,#3b82f6)}.van-form-select-clear[hidden]{display:none}.van-form-select-control:has(.van-form-select-clear) .van-form-select-trigger{padding-right:56px}.van-form-select-positioner{--z-index:50!important}.van-form-select-content{background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);min-width:var(--reference-width);padding:4px;box-shadow:0 4px 12px #0000001a}.van-form-select-item{color:var(--card-foreground,#171717);cursor:pointer;border-radius:2px;padding:8px 12px;font-size:14px;transition:background .1s}.van-form-select-item:hover,.van-form-select-item[data-highlighted]{background:var(--muted,#f5f5f5)}.van-form-select-item[data-selected]{color:var(--primary,#3b82f6);font-weight:500}.van-form-select-item[data-disabled]{color:var(--muted-foreground,#9ca3af);cursor:not-allowed;opacity:.55}.van-form-select-item[data-disabled]:hover,.van-form-select-item[data-disabled][data-highlighted]{background:0 0}.van-form-select-empty{color:var(--muted-foreground,#9ca3af);text-align:center;-webkit-user-select:none;user-select:none;cursor:default;padding:8px 12px;font-size:14px}.van-form-date-control{align-items:center;display:flex;position:relative}.van-form-date-trigger{padding:var(--van-form-control-padding-y,8px) var(--van-form-control-padding-x,12px);font-size:var(--van-form-control-font-size,14px);color:var(--card-foreground,#171717);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);box-sizing:border-box;height:var(--van-form-control-height,36px);cursor:pointer;flex:1;align-items:center;gap:8px;padding-right:36px;transition:border-color .15s;display:flex;position:relative}.van-form-date-trigger:focus{border-color:var(--primary,#3b82f6)}.van-form-date-value{text-align:left;flex:1}.van-form-date-icon{color:var(--muted-foreground,#9ca3af);pointer-events:none;align-items:center;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.van-form-date-clear{color:var(--muted-foreground,#9ca3af);cursor:pointer;opacity:0;visibility:hidden;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:2px;transition:opacity .15s,color .15s;display:flex;position:absolute;top:50%;right:36px;transform:translateY(-50%)}.van-form-date-control:hover .van-form-date-clear,.van-form-date-control:focus-within .van-form-date-clear{opacity:1;visibility:visible}.van-form-date-clear:hover{color:var(--primary,#3b82f6)}.van-form-date-clear[hidden]{display:none}.van-form-date-control:has(.van-form-date-clear) .van-form-date-trigger{padding-right:56px}.van-form-date-positioner{--z-index:50!important}.van-form-date-content{background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);padding:10px;box-shadow:0 4px 12px #0000001a}.van-form-date-view{width:252px}.van-form-date-view-dual{width:auto}.van-form-date-days{gap:10px;display:flex}.van-form-date-days .van-form-date-table{width:224px}.van-form-date-view-control{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.van-form-date-nav-trigger{width:28px;height:28px;color:var(--muted-foreground,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;transition:background .1s,color .1s;display:flex}.van-form-date-nav-trigger:hover{background:var(--muted,#f5f5f5);color:var(--card-foreground,#171717)}.van-form-date-view-trigger{color:var(--card-foreground,#171717);cursor:pointer;background:0 0;border:none;border-radius:2px;padding:4px 8px;font-size:14px;font-weight:500;transition:background .1s}.van-form-date-view-trigger:hover{background:var(--muted,#f5f5f5)}.van-form-date-table{border-collapse:collapse;table-layout:fixed;width:100%}.van-form-date-table-header{color:var(--muted-foreground,#737373);text-align:center;padding:6px 0;font-size:12px;font-weight:400}.van-form-date-week-header,.van-form-date-week-cell{width:24px;color:var(--muted-foreground,#9ca3af);text-align:center;padding:1px 2px;font-size:11px;font-weight:400}.van-form-date-cell{text-align:center;padding:1px}.van-form-date-cell-trigger{width:100%;height:32px;color:var(--card-foreground,#171717);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;font-size:13px;transition:background .1s,color .1s;display:flex}.van-form-date-cell-trigger:hover{background:var(--muted,#f5f5f5)}.van-form-date-cell-trigger[data-selected]{background:var(--primary,#3b82f6);color:var(--primary-foreground,#fff);font-weight:500}.van-form-date-cell-trigger[data-in-range],.van-form-date-cell-trigger[data-range-start],.van-form-date-cell-trigger[data-range-end]{background:color-mix(in srgb, var(--primary,#3b82f6) 12%, transparent)}.van-form-date-cell-trigger[data-range-start],.van-form-date-cell-trigger[data-range-end]{background:var(--primary,#3b82f6);color:var(--primary-foreground,#fff);font-weight:500}.van-form-date-cell-trigger[data-outside-range]{color:var(--muted-foreground,#9ca3af)}.van-form-date-cell-trigger[data-today]:not([data-selected]){box-shadow:inset 0 0 0 1px var(--primary,#3b82f6)}.van-form-date-cell-trigger[data-unavailable]{opacity:.4}.van-form-date-cell-trigger[data-disabled]{opacity:.4;cursor:not-allowed}.van-form-date-week-mode .van-form-date-table-body .van-form-date-table-row:hover .van-form-date-cell-trigger:not([data-selected]):not([data-in-range]):not([data-range-start]):not([data-range-end]):not([data-disabled]){background:var(--muted,#f5f5f5)}.van-form-date-week-mode .van-form-date-table-body .van-form-date-table-row:hover .van-form-date-week-cell{color:var(--primary,#3b82f6)}.van-form-date-time{width:100%;padding:var(--van-form-control-padding-y,8px) var(--van-form-control-padding-x,12px);font-size:var(--van-form-control-font-size,14px);color:var(--card-foreground,#171717);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);border-radius:var(--radius-lg,2px);outline:none;margin-top:8px;font-family:inherit;transition:border-color .15s}.van-form-date-time:focus{border-color:var(--primary,#3b82f6)}.van-form-helper{color:var(--muted-foreground,#737373);font-size:12px}.van-form-error{color:var(--destructive,#ef4444);font-size:12px}.van-form-field-skeleton,.van-form-loading-wrap[data-loading]:after{border-radius:var(--radius-lg,2px);background-color:color-mix(in srgb, var(--muted,#f5f5f5) 90%, var(--muted-foreground,#9ca3af));background-image:linear-gradient(90deg,#0000 0%,#ffffff80 50%,#0000 100%);background-repeat:no-repeat;background-size:200% 100%;animation:1.4s ease-in-out infinite van-form-skeleton-shimmer}.van-form-field-skeleton{width:100%;height:var(--van-form-control-height,36px)}.van-form-loading-wrap{display:grid;position:relative}.van-form-loading-wrap[data-disabled]{opacity:.6}.van-form-field[data-disabled]>.van-form-label,.van-form-field[data-disabled]>.van-form-helper{color:var(--muted-foreground,#9ca3af)}.van-form-loading-wrap[data-disabled],.van-form-loading-wrap[data-disabled] :is(button,input,textarea,.van-form-checkbox-root,.van-form-switch-root,.van-form-radio-item){cursor:not-allowed}.van-form-loading-wrap[data-loading]:after{content:"";z-index:1;position:absolute;inset:0}@keyframes van-form-skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.van-form-checkbox-control{border:1px solid var(--border,#d1d5db);background:var(--card,#fff);cursor:pointer;border-radius:1px;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.van-form-checkbox-control:hover{border-color:var(--primary,#6366f1)}.van-form-checkbox-control[data-state=checked]{background:var(--primary,#6366f1);border-color:var(--primary,#6366f1)}.van-form-checkbox-indicator{color:var(--primary-foreground,#fff);justify-content:center;align-items:center;display:flex}.van-form-checkbox-root{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.van-form-checkbox-label{color:var(--card-foreground,#171717);font-size:14px}.van-form-checkbox-group{flex-direction:column;gap:8px;display:flex}.van-form-check-icon{width:14px;height:14px}.van-form-switch-control{background:var(--border,#d1d5db);cursor:pointer;border-radius:11px;align-items:center;width:40px;height:22px;padding:2px;transition:background .15s;display:flex}.van-form-switch-control[data-state=checked]{background:var(--primary,#6366f1)}.van-form-switch-thumb{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s}.van-form-switch-control[data-state=checked] .van-form-switch-thumb{transform:translate(18px)}.van-form-switch-root{cursor:pointer;align-items:center;gap:8px;display:inline-flex}.van-form-switch-label{color:var(--card-foreground,#171717);font-size:14px}.van-form-radio-group{flex-flow:wrap;gap:8px 16px;display:flex}.van-form-radio-item{color:var(--card-foreground,#171717);cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.van-form-radio-control{border:1px solid var(--border,#d1d5db);background:var(--card,#fff);border-radius:0;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.van-form-radio-control[data-state=checked]{border-color:var(--primary,#6366f1)}.van-form-radio-control[data-state=checked]:after{content:"";background:var(--primary,#6366f1);border-radius:0;width:12px;height:12px}.van-form-radio-control:hover{border-color:var(--primary,#6366f1)}.van-form-radio-text{flex:1}@media (prefers-color-scheme:dark){.van-form-input,.van-form-textarea,.van-form-select-trigger,.van-form-date-trigger,.van-form-date-time{background:var(--card,#1e1e2e);color:var(--card-foreground,#cdd6f4);border-color:var(--border,#313244)}.van-form-input-group{background:var(--card,#1e1e2e);border-color:var(--border,#313244)}.van-form-input-addon{color:var(--muted-foreground,#a0a0b0)}.van-form-select-content{background:var(--card,#1e1e2e);border-color:var(--border,#313244)}.van-form-select-item:hover,.van-form-select-item[data-highlighted]{background:var(--muted,#27273e)}.van-form-date-content{background:var(--card,#1e1e2e);border-color:var(--border,#313244)}.van-form-date-nav-trigger:hover,.van-form-date-view-trigger:hover,.van-form-date-cell-trigger:hover,.van-form-date-week-mode .van-form-date-table-body .van-form-date-table-row:hover .van-form-date-cell-trigger:not([data-selected]):not([data-in-range]):not([data-range-start]):not([data-range-end]):not([data-disabled]){background:var(--muted,#27273e)}.van-form-field-skeleton,.van-form-loading-wrap[data-loading]:after{background-color:var(--muted,#27273e);background-image:linear-gradient(90deg,#0000 0%,#ffffff1f 50%,#0000 100%)}}.van-table-wrapper{width:100%;color:var(--card-foreground,#1f2937);flex-direction:column;gap:12px;font-size:14px;display:flex}.van-table-container{border:1px solid var(--border,#e5e7eb);border-radius:var(--radius-xl,2px);background:var(--card,#fff);position:relative;overflow:auto}.van-table-loading-mask{z-index:10;background:color-mix(in srgb, var(--card,#fff) 72%, transparent);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.van-table-spinner{border:3px solid var(--border,#e5e7eb);border-top-color:var(--primary,#6366f1);border-radius:50%;width:28px;height:28px;animation:.6s linear infinite van-table-spin}@keyframes van-table-spin{to{transform:rotate(360deg)}}.van-table{table-layout:fixed;border-collapse:collapse;width:100%}.van-table-th{z-index:1;text-align:left;color:var(--muted-foreground,#9ca3af);border-bottom:1px solid var(--border,#e5e7eb);white-space:nowrap;-webkit-user-select:none;user-select:none;padding:10px 14px;font-size:14px;font-weight:400;position:sticky;top:0}.van-table-th-sortable{cursor:pointer}.van-table-th-sortable:hover{background:var(--secondary,#f3f4f6)}.van-table-th-content{align-items:center;gap:4px;display:inline-flex}.van-table-sort-icon{flex-shrink:0;width:8px;height:14px}.van-table-sort-arrow{color:var(--muted-foreground,#9ca3af);opacity:.35}.van-table-sort-arrow.van-table-sort-active{opacity:1;color:var(--primary,#6366f1)}.van-table-tr{border-bottom:1px solid var(--border,#f3f4f6);transition:background .12s}.van-table-tr:last-child{border-bottom:none}.van-table-tr:hover{background:var(--muted,#f9fafb)}.van-table-tr-selected{background:color-mix(in srgb, var(--primary,#6366f1) 3%, transparent)!important}.van-table-td{vertical-align:middle;padding:10px 14px}.van-table-empty{text-align:center;color:var(--muted-foreground,#9ca3af);padding:56px 16px;font-size:14px}.van-table-checkbox-control{border:1px solid var(--input,#d1d5db);background:var(--card,#fff);cursor:pointer;border-radius:1px;justify-content:center;align-items:center;width:18px;height:18px;transition:all .15s;display:flex}.van-table-checkbox-control:hover{border-color:var(--primary,#6366f1)}.van-table-checkbox-control[data-state=checked],.van-table-checkbox-control[data-state=indeterminate]{background:var(--primary,#6366f1);border-color:var(--primary,#6366f1)}.van-table-checkbox-indicator{color:var(--primary-foreground,#fff);justify-content:center;align-items:center;display:flex}.van-table-check-icon{width:14px;height:14px}@media (prefers-color-scheme:dark){.van-table-wrapper{--card:#1e1e2e;--card-foreground:#cdd6f4;--foreground:#cdd6f4;--muted:#181825;--muted-foreground:#9399b2;--border:#313244;--input:#45475a;--secondary:#27273e;--primary:#89b4fa;--primary-foreground:#1e1e2e}}.van-table-wrapper[data-density=compact] .van-table-th,.van-table-wrapper[data-density=compact] .van-table-td{padding:6px 12px}.van-table-th-select,.van-table-td-select{width:36px;padding-left:14px;padding-right:8px}.van-data-table{width:100%;color:var(--card-foreground,#1f2937);border:1px solid var(--border,#e5e7eb);background-color:#fff;border-radius:4px;flex-direction:column;font-size:14px;display:flex}.van-data-table-search{width:100%;padding:14px}.van-data-table-search .van-form-form{flex-flow:wrap;align-items:flex-end;gap:8px}.van-data-table-search .van-form-field{width:192px}.van-data-table-search .van-form-input,.van-data-table-search .van-form-select-trigger,.van-data-table-search .van-form-date-trigger{box-sizing:border-box;height:36px}.van-data-table-search-actions{gap:6px;display:flex}.van-data-table-toolbar{justify-content:flex-start;align-items:center;gap:8px;padding:8px 14px;display:flex}.van-data-table-actions{align-items:center;gap:6px;display:flex}.van-data-table-actions .van-btn{height:22px;padding:0 6px;font-size:12px}.van-data-table-badges{flex-wrap:wrap;gap:6px;display:flex}.van-data-table-ellipsis{text-overflow:ellipsis;white-space:nowrap;vertical-align:middle;max-width:100%;display:inline-block;overflow:hidden}.van-data-table-tooltip{z-index:1000;border-radius:var(--radius-lg,2px);max-width:320px;color:var(--card-foreground,#171717);background:var(--card,#fff);border:1px solid var(--border,#e5e5e5);pointer-events:none;white-space:normal;word-break:break-all;padding:6px 10px;font-size:12px;line-height:1.5;position:fixed;box-shadow:0 4px 12px #0000001a}.van-data-table-search+.van-data-table-toolbar{border-top:1px solid var(--border,#e5e7eb)}.van-data-table .van-table-container{border-left:none;border-right:none}.van-data-table-pagination{color:var(--muted-foreground,#9ca3af);justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.van-data-table-pagination-buttons{align-items:center;gap:6px;display:flex}.van-data-table-pagination-btn{min-width:32px;height:32px;color:var(--card-foreground,#1f2937);background:var(--card,#fff);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0 6px;font-size:14px;transition:all .15s;display:inline-flex}.van-data-table-pagination-btn:hover:not(:disabled):not([data-selected]){background:var(--muted,#6366f1)}.van-data-table-pagination-btn[data-selected]{background:var(--primary,#6366f1);border-color:var(--primary,#6366f1);color:var(--primary-foreground,#fff)}.van-data-table-pagination-btn:disabled{opacity:.45;cursor:not-allowed}.van-data-table-pagination-ellipsis{min-width:24px;height:32px;color:var(--muted-foreground,#9ca3af);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;display:inline-flex}.van-data-table-pagination-icon{width:14px;height:14px}@media (prefers-color-scheme:dark){.van-data-table{--card:#1e1e2e;--card-foreground:#cdd6f4;--foreground:#cdd6f4;--muted:#181825;--muted-foreground:#9399b2;--border:#313244;--input:#45475a;--secondary:#27273e;--primary:#89b4fa;--primary-foreground:#1e1e2e}}@keyframes van-drawer-fade-in{0%{opacity:0}to{opacity:1}}@keyframes van-drawer-fade-out{0%{opacity:1}to{opacity:0}}@keyframes van-drawer-slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes van-drawer-slide-out-right{to{transform:translate(100%)}}@keyframes van-drawer-slide-in-left{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes van-drawer-slide-out-left{to{transform:translate(-100%)}}@keyframes van-drawer-slide-in-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes van-drawer-slide-out-top{to{transform:translateY(-100%)}}@keyframes van-drawer-slide-in-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes van-drawer-slide-out-bottom{to{transform:translateY(100%)}}.van-drawer-backdrop{z-index:var(--z,1000);background:#0006;position:fixed;inset:0}.van-drawer-backdrop[data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-drawer-fade-in}.van-drawer-backdrop[data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) van-drawer-fade-out}.van-drawer-positioner{z-index:calc(var(--z-index-base,1000) + var(--layer-index,0));position:fixed;inset:0}.van-drawer-content{position:fixed}.van-drawer-content[data-placement=right],.van-drawer-content:not([data-placement]){width:var(--van-drawer-size,400px);max-width:100vw;top:0;bottom:0;right:0}.van-drawer-content[data-placement=right][data-state=open],.van-drawer-content:not([data-placement])[data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-drawer-slide-in-right}.van-drawer-content[data-placement=right][data-state=closed],.van-drawer-content:not([data-placement])[data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) forwards van-drawer-slide-out-right}.van-drawer-content[data-placement=left]{width:var(--van-drawer-size,400px);max-width:100vw;top:0;bottom:0;left:0}.van-drawer-content[data-placement=left][data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-drawer-slide-in-left}.van-drawer-content[data-placement=left][data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) forwards van-drawer-slide-out-left}.van-drawer-content[data-placement=top]{height:var(--van-drawer-size,400px);max-height:100vh;top:0;left:0;right:0}.van-drawer-content[data-placement=top][data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-drawer-slide-in-top}.van-drawer-content[data-placement=top][data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) forwards van-drawer-slide-out-top}.van-drawer-content[data-placement=bottom]{height:var(--van-drawer-size,400px);max-height:100vh;bottom:0;left:0;right:0}.van-drawer-content[data-placement=bottom][data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-drawer-slide-in-bottom}.van-drawer-content[data-placement=bottom][data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) forwards van-drawer-slide-out-bottom}.van-drawer-content-inner{background:var(--card,#fff);border-radius:2px;flex-direction:column;width:100%;height:100%;display:flex;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 4px 16px #0000001a}.van-drawer-header{flex-shrink:0;justify-content:space-between;align-items:flex-start;padding:20px 20px 12px;display:flex}.van-drawer-title{color:var(--card-foreground,#171717);margin:0;font-size:16px;font-weight:600;line-height:1.4}.van-drawer-close{border-radius:var(--radius-lg,2px);cursor:pointer;width:24px;height:24px;color:var(--muted-foreground,#737373);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;margin:-2px -2px 0 8px;font-size:14px;transition:background .15s,color .15s;display:inline-flex}.van-drawer-close:hover{background:var(--muted,#f5f5f5);color:var(--card-foreground,#171717)}.van-drawer-desc{color:var(--muted-foreground,#737373);padding:0 20px 14px;font-size:14px;line-height:1.5}.van-drawer-body{flex:1;min-height:0;padding:2px 20px 16px;overflow-y:auto}.van-drawer-footer{border-top:1px solid var(--border,#e5e5e5);flex-shrink:0;justify-content:flex-end;gap:10px;padding:12px 20px;display:flex}.van-drawer-footer .van-btn{min-width:84px}.van-drawer-grabber{cursor:grab;flex-shrink:0;justify-content:center;padding:8px 0 0;display:flex}.van-drawer-grabber:active{cursor:grabbing}.van-drawer-grabber-indicator{background:#d4d4d4;border-radius:2px;width:36px;height:4px}@keyframes van-modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes van-modal-fade-out{0%{opacity:1}to{opacity:0}}@keyframes van-modal-scale-in{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:none}}@keyframes van-modal-scale-out{0%{opacity:1;transform:none}to{opacity:0;transform:scale(.95)translateY(-4px)}}.van-modal-backdrop{background:#0006;position:fixed;inset:0}.van-modal-backdrop[data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-modal-fade-in}.van-modal-backdrop[data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) van-modal-fade-out}.van-modal-positioner{justify-content:center;align-items:start;padding:15vh 1rem 1rem;display:flex;position:fixed;inset:0}.van-modal-positioner[data-center]{align-items:center;padding-top:1rem}.van-modal-content{background:var(--card,#fff);border-radius:var(--radius-lg,2px);width:var(--van-modal-width,min(480px, 92vw));min-width:min(420px,92vw);max-height:var(--van-modal-max-height,90vh);flex-direction:column;display:flex;overflow:hidden;box-shadow:0 0 0 1px #0000000f,0 4px 16px #0000001a}.van-modal-content[data-state=open]{animation:.25s cubic-bezier(.16,1,.3,1) van-modal-scale-in}.van-modal-content[data-state=closed]{animation:.15s cubic-bezier(.4,0,1,1) van-modal-scale-out}.van-modal-header{background:var(--muted,#f5f5f5);border-bottom:1px solid var(--border,#e5e5e5);justify-content:space-between;align-items:center;gap:12px;height:56px;padding-left:16px;display:flex}.van-modal-title{color:var(--card-foreground,#171717);margin:0;font-size:16px;line-height:1.4}.van-modal-header-actions{flex-shrink:0;align-items:center;gap:6px;padding-right:12px;display:flex}.van-modal-header .van-modal-header-btn{border-radius:var(--radius-lg,2px);flex-shrink:0;width:36px;height:36px;padding:0}.van-modal-header .van-modal-header-btn-cancel{background:var(--border,#e5e5e5);color:var(--muted-foreground,#737373)}.van-modal-header .van-modal-header-btn-cancel:hover:not(:disabled){background:color-mix(in srgb, var(--border,#e5e5e5) 78%, black);color:var(--card-foreground,#171717)}.van-modal-header .van-modal-header-btn-confirm{background:var(--primary,#3b82f6);color:var(--primary-foreground,#fff)}.van-modal-header .van-modal-header-btn-confirm:hover:not(:disabled){background:color-mix(in srgb, var(--primary,#3b82f6) 85%, black);color:var(--primary-foreground,#fff)}.van-modal-header .van-modal-header-btn .van-btn-spinner-wrapper{width:18px;height:18px}.van-modal-header .van-modal-header-btn .van-btn-spinner{border-width:2px;width:18px;height:18px}.van-modal-desc{color:var(--muted-foreground,#737373);padding:20px;font-size:16px;line-height:1.5}.van-modal-body{flex:1;padding:0;overflow-y:auto}[data-scope=dialog][data-part=content][data-has-nested]{transform:scale(calc(1 - var(--nested-layer-count,0) * .03))}[data-scope=toast][data-part=root]{transform:translate3d(var(--x,0), var(--y,100%), 0);z-index:var(--z-index,0);opacity:var(--opacity,1);background:var(--card,#fff);border-radius:var(--radius-lg,2px);min-width:320px;max-width:420px;transition:transform .25s,opacity .2s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000001f}.van-toast-bar{flex-shrink:0;width:4px}[data-type=success] .van-toast-bar{background:var(--success,#22c55e)}[data-type=error] .van-toast-bar{background:var(--destructive,#ef4444)}[data-type=info] .van-toast-bar{background:var(--primary,#3b82f6)}[data-type=warning] .van-toast-bar{background:var(--warning,#f59e0b)}[data-type=loading] .van-toast-bar{background:var(--muted-foreground,#f5f5f5)}.van-toast-body{flex:1;min-width:0;padding:12px 40px 12px 16px}.van-toast-title{color:var(--card-foreground,#171717);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;line-height:1.4;overflow:hidden}.van-toast-desc{color:var(--muted-foreground,#737373);margin-top:2px;font-size:14px;line-height:1.5}.van-toast-close{cursor:pointer;width:20px;height:20px;color:var(--muted-foreground,#9ca3af);background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:0;transition:color .15s,background .15s;display:inline-flex;position:absolute;top:12px;right:12px}.van-toast-close:hover{color:var(--card-foreground,#4b5563);background:var(--muted,#f3f4f6)}.van-toast-close-x{width:12px;height:12px;display:block;position:relative}.van-toast-close-x:before,.van-toast-close-x:after{content:"";background:currentColor;border-radius:1px;width:12px;height:1.5px;position:absolute;top:50%;left:50%}.van-toast-close-x:before{transform:translate(-50%,-50%)rotate(45deg)}.van-toast-close-x:after{transform:translate(-50%,-50%)rotate(-45deg)}
2
2
  /*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vanstack/solid-ark",
3
- "version": "0.0.44",
3
+ "version": "0.0.45",
4
4
  "private": false,
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -72,10 +72,10 @@
72
72
  "vite-plugin-solid": "^2.11.0",
73
73
  "vitest": "^4.1.10",
74
74
  "zod": "^4.4.0",
75
- "@vanstack/prettier-config": "0.0.1",
75
+ "@vanstack/tsconfig": "0.0.1",
76
76
  "@vanstack/vite-config": "0.0.2",
77
- "@vanstack/eslint-config": "0.0.1",
78
- "@vanstack/tsconfig": "0.0.1"
77
+ "@vanstack/prettier-config": "0.0.1",
78
+ "@vanstack/eslint-config": "0.0.1"
79
79
  },
80
80
  "scripts": {
81
81
  "build": "tsc --noEmit && vite build",