@aerogel/core 0.1.1-next.bad775a386a94fedbee1d575ee1f4fb99d1f5bab → 0.1.1-next.bf5c51083c0817e96fa4f38273c32d388441f514

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.
Files changed (40) hide show
  1. package/dist/aerogel-core.d.ts +364 -118
  2. package/dist/aerogel-core.js +1699 -1346
  3. package/dist/aerogel-core.js.map +1 -1
  4. package/package.json +3 -3
  5. package/src/bootstrap/index.ts +2 -1
  6. package/src/components/AppLayout.vue +1 -1
  7. package/src/components/contracts/Combobox.ts +5 -0
  8. package/src/components/contracts/Select.ts +98 -4
  9. package/src/components/contracts/index.ts +1 -0
  10. package/src/components/headless/HeadlessInputInput.vue +19 -5
  11. package/src/components/headless/HeadlessSelect.vue +10 -91
  12. package/src/components/headless/HeadlessSelectOption.vue +1 -5
  13. package/src/components/index.ts +1 -0
  14. package/src/components/ui/Combobox.vue +94 -0
  15. package/src/components/ui/ComboboxLabel.vue +29 -0
  16. package/src/components/ui/ComboboxOption.vue +46 -0
  17. package/src/components/ui/ComboboxOptions.vue +71 -0
  18. package/src/components/ui/ComboboxTrigger.vue +67 -0
  19. package/src/components/ui/Details.vue +16 -6
  20. package/src/components/ui/ProgressBar.vue +1 -1
  21. package/src/components/ui/Select.vue +2 -0
  22. package/src/components/ui/SelectTrigger.vue +13 -2
  23. package/src/components/ui/index.ts +5 -0
  24. package/src/components/vue/Provide.vue +11 -0
  25. package/src/components/vue/index.ts +1 -0
  26. package/src/errors/index.ts +5 -0
  27. package/src/forms/FormController.test.ts +4 -4
  28. package/src/forms/FormController.ts +19 -13
  29. package/src/forms/index.ts +11 -0
  30. package/src/forms/utils.ts +36 -17
  31. package/src/forms/validation.ts +5 -1
  32. package/src/index.css +1 -0
  33. package/src/jobs/Job.ts +1 -1
  34. package/src/plugins/index.ts +1 -3
  35. package/src/services/index.ts +2 -0
  36. package/src/testing/index.ts +1 -2
  37. package/src/ui/UI.ts +2 -1
  38. package/src/utils/classes.ts +2 -3
  39. package/src/utils/composition/reactiveSet.ts +10 -2
  40. package/src/utils/time.ts +6 -1
@@ -4,6 +4,8 @@ import { App as App_2 } from 'vue';
4
4
  import { AsTag } from 'reka-ui';
5
5
  import { ClassValue } from 'clsx';
6
6
  import { closeModal } from '@noeldemartin/vue-modals';
7
+ import { ComboboxGroupProps } from 'reka-ui';
8
+ import { ComboboxItemProps } from 'reka-ui';
7
9
  import { Component } from 'vue';
8
10
  import { ComponentCustomProperties } from 'vue';
9
11
  import { ComponentCustomProps } from 'vue';
@@ -29,10 +31,9 @@ import { DialogOverlayProps } from 'reka-ui';
29
31
  import { DialogTitleProps } from 'reka-ui';
30
32
  import { Directive } from 'vue';
31
33
  import { DropdownMenuContentProps } from 'reka-ui';
34
+ import { EmitFn } from 'vue';
32
35
  import { Facade } from '@noeldemartin/utils';
33
36
  import { FocusOutsideEvent } from 'reka-ui';
34
- import { GetClosureArgs } from '@noeldemartin/utils';
35
- import { GetClosureResult } from '@noeldemartin/utils';
36
37
  import { GetModalProps } from '@noeldemartin/vue-modals';
37
38
  import { GetModalResponse } from '@noeldemartin/vue-modals';
38
39
  import { _GettersTree } from 'pinia';
@@ -164,7 +165,7 @@ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...
164
165
  as?: string;
165
166
  }> & Readonly<{
166
167
  "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
167
- }>, "id" | "value" | "name" | "description" | "errors" | "required" | "label" | "update"> & ShallowUnwrapRef< {
168
+ }>, "id" | "value" | "name" | "description" | "required" | "errors" | "label" | "update"> & ShallowUnwrapRef< {
168
169
  id: string;
169
170
  name: ComputedRef<string | undefined>;
170
171
  label: ComputedRef<string | undefined>;
@@ -180,46 +181,50 @@ default?(_: {}): any;
180
181
  }) | null;
181
182
  }, any>;
182
183
 
183
- declare const __VLS_component_19: DefineComponent<__VLS_Props_7, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_7> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDetailsElement>;
184
+ declare const __VLS_component_19: DefineComponent<__VLS_Props_7, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_7> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
184
185
 
185
186
  declare const __VLS_component_2: DefineComponent<ButtonProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ButtonProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
186
187
 
187
- declare const __VLS_component_20: DefineComponent<DropdownMenuProps, {
188
+ declare const __VLS_component_20: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
189
+ select: () => any;
190
+ }, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{
191
+ onSelect?: (() => any) | undefined;
192
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
193
+
194
+ declare const __VLS_component_21: DefineComponent<__VLS_Props_10, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_10> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDetailsElement>;
195
+
196
+ declare const __VLS_component_22: DefineComponent<DropdownMenuProps, {
188
197
  align: "start" | "center" | "end" | undefined;
189
198
  side: "top" | "right" | "bottom" | "left" | undefined;
190
199
  options: ComputedRef<DropdownMenuOptionData[] | undefined>;
191
200
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<DropdownMenuProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
192
201
 
193
- declare const __VLS_component_21: DefineComponent<__VLS_Props_8, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
202
+ declare const __VLS_component_23: DefineComponent<__VLS_Props_11, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
194
203
  select: () => any;
195
- }, string, PublicProps, Readonly<__VLS_Props_8> & Readonly<{
204
+ }, string, PublicProps, Readonly<__VLS_Props_11> & Readonly<{
196
205
  onSelect?: (() => any) | undefined;
197
206
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
198
207
 
199
- declare const __VLS_component_22: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
208
+ declare const __VLS_component_24: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
200
209
 
201
- declare const __VLS_component_23: DefineComponent<__VLS_Props_9, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
210
+ declare const __VLS_component_25: DefineComponent<__VLS_Props_12, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
202
211
  update: (value: string | number) => any;
203
212
  save: () => any;
204
- }, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{
213
+ }, string, PublicProps, Readonly<__VLS_Props_12> & Readonly<{
205
214
  onUpdate?: ((value: string | number) => any) | undefined;
206
215
  onSave?: (() => any) | undefined;
207
216
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
208
217
  $inputRef: HTMLInputElement;
209
218
  }, HTMLDivElement>;
210
219
 
211
- declare const __VLS_component_24: DefineComponent<__VLS_Props_11, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_11> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
220
+ declare const __VLS_component_26: DefineComponent<__VLS_Props_14, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_14> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
212
221
 
213
- declare const __VLS_component_25: DefineComponent<__VLS_Props_13, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
222
+ declare const __VLS_component_27: DefineComponent<__VLS_Props_16, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
214
223
  submit: () => any;
215
- }, string, PublicProps, Readonly<__VLS_Props_13> & Readonly<{
224
+ }, string, PublicProps, Readonly<__VLS_Props_16> & Readonly<{
216
225
  onSubmit?: (() => any) | undefined;
217
226
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLFormElement>;
218
227
 
219
- declare const __VLS_component_26: DefineComponent<__VLS_Props_15, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_15> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
220
-
221
- declare const __VLS_component_27: DefineComponent<__VLS_Props_16, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_16> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
222
-
223
228
  declare const __VLS_component_28: DefineComponent<__VLS_Props_18, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_18> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
224
229
 
225
230
  declare const __VLS_component_29: DefineComponent<__VLS_Props_19, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_19> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
@@ -239,9 +244,15 @@ update(value: unknown): void;
239
244
  "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
240
245
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
241
246
 
242
- declare const __VLS_component_30: DefineComponent<__VLS_Props_20, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_20> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
247
+ declare const __VLS_component_30: DefineComponent<__VLS_Props_21, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_21> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
248
+
249
+ declare const __VLS_component_31: DefineComponent<__VLS_Props_22, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_22> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
250
+
251
+ declare const __VLS_component_32: DefineComponent<__VLS_Props_23, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_23> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
243
252
 
244
- declare const __VLS_component_31: DefineComponent<__VLS_Props_22, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_22> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
253
+ declare const __VLS_component_33: DefineComponent<__VLS_Props_25, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_25> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
254
+
255
+ declare const __VLS_component_34: DefineComponent<__VLS_Props_28, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_28> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
245
256
 
246
257
  declare const __VLS_component_4: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
247
258
 
@@ -353,38 +364,62 @@ declare type __VLS_PrettifyLocal_5<T> = {
353
364
  [K in keyof T]: T[K];
354
365
  } & {};
355
366
 
367
+ declare type __VLS_PrettifyLocal_6<T> = {
368
+ [K in keyof T]: T[K];
369
+ } & {};
370
+
356
371
  declare type __VLS_Props = InputProps & {
357
372
  as?: string;
358
373
  };
359
374
 
360
375
  declare type __VLS_Props_10 = {
361
- error: ErrorSource;
376
+ label?: string;
377
+ contentClass?: HTMLAttributes['class'];
378
+ summaryClass?: HTMLAttributes['class'];
362
379
  };
363
380
 
364
381
  declare type __VLS_Props_11 = {
382
+ class?: HTMLAttributes['class'];
383
+ } & PrimitiveProps;
384
+
385
+ declare type __VLS_Props_12 = {
386
+ type?: string;
387
+ contentClass?: HTMLAttributes['class'];
388
+ ariaLabel?: string;
389
+ formAriaHidden?: boolean;
390
+ tabindex?: string;
391
+ text: string;
392
+ disabled?: boolean;
393
+ };
394
+
395
+ declare type __VLS_Props_13 = {
396
+ error: ErrorSource;
397
+ };
398
+
399
+ declare type __VLS_Props_14 = {
365
400
  report: ErrorReport;
366
401
  };
367
402
 
368
- declare type __VLS_Props_12 = {
403
+ declare type __VLS_Props_15 = {
369
404
  report: ErrorReport;
370
405
  currentReport?: number;
371
406
  totalReports?: number;
372
407
  };
373
408
 
374
- declare type __VLS_Props_13 = {
409
+ declare type __VLS_Props_16 = {
375
410
  form?: FormController;
376
411
  };
377
412
 
378
- declare type __VLS_Props_14 = InputProps & {
413
+ declare type __VLS_Props_17 = InputProps & {
379
414
  inputClass?: HTMLAttributes['class'];
380
415
  wrapperClass?: HTMLAttributes['class'];
381
416
  descriptionClass?: HTMLAttributes['class'];
382
417
  errorClass?: HTMLAttributes['class'];
383
418
  };
384
419
 
385
- declare type __VLS_Props_15 = Omit<ButtonProps, 'variant'>;
420
+ declare type __VLS_Props_18 = Omit<ButtonProps, 'variant'>;
386
421
 
387
- declare type __VLS_Props_16 = {
422
+ declare type __VLS_Props_19 = {
388
423
  as?: string;
389
424
  inline?: boolean;
390
425
  langKey?: string;
@@ -394,36 +429,36 @@ declare type __VLS_Props_16 = {
394
429
  actions?: Record<string, () => unknown>;
395
430
  };
396
431
 
397
- declare type __VLS_Props_17 = {
432
+ declare type __VLS_Props_2 = {
433
+ type?: string;
434
+ };
435
+
436
+ declare type __VLS_Props_20 = {
398
437
  filledClass?: string;
399
438
  overflowClass?: string;
400
439
  progress?: number;
401
440
  job?: Falsifiable<Job>;
402
441
  };
403
442
 
404
- declare type __VLS_Props_18 = {
443
+ declare type __VLS_Props_21 = {
405
444
  class?: HTMLAttributes['class'];
406
445
  };
407
446
 
408
- declare type __VLS_Props_19 = {
447
+ declare type __VLS_Props_22 = {
409
448
  value: AcceptableValue;
410
449
  class?: HTMLAttributes['class'];
411
450
  innerClass?: HTMLAttributes['class'];
412
451
  };
413
452
 
414
- declare type __VLS_Props_2 = {
415
- type?: string;
416
- };
417
-
418
- declare type __VLS_Props_20 = {
453
+ declare type __VLS_Props_23 = {
419
454
  class?: HTMLAttributes['class'];
420
455
  };
421
456
 
422
- declare type __VLS_Props_21 = {
457
+ declare type __VLS_Props_24 = {
423
458
  class?: HTMLAttributes['class'];
424
459
  };
425
460
 
426
- declare type __VLS_Props_22 = {
461
+ declare type __VLS_Props_25 = {
427
462
  title: string;
428
463
  titleId?: string;
429
464
  description?: string;
@@ -431,15 +466,20 @@ declare type __VLS_Props_22 = {
431
466
  layout?: 'vertical' | 'horizontal';
432
467
  };
433
468
 
434
- declare type __VLS_Props_23 = InputProps & {
469
+ declare type __VLS_Props_26 = InputProps & {
435
470
  inputClass?: HTMLAttributes['class'];
436
471
  wrapperClass?: HTMLAttributes['class'];
437
472
  };
438
473
 
439
- declare type __VLS_Props_24 = ToastProps & {
474
+ declare type __VLS_Props_27 = ToastProps & {
440
475
  class?: HTMLAttributes['class'];
441
476
  };
442
477
 
478
+ declare type __VLS_Props_28 = {
479
+ name: string;
480
+ value: unknown;
481
+ };
482
+
443
483
  declare type __VLS_Props_3 = Omit<LabelProps, 'for'>;
444
484
 
445
485
  declare type __VLS_Props_4 = SelectItemProps;
@@ -454,23 +494,12 @@ declare type __VLS_Props_6 = InputProps & {
454
494
  labelClass?: HTMLAttributes['class'];
455
495
  };
456
496
 
457
- declare type __VLS_Props_7 = {
458
- label: string;
459
- contentClass?: HTMLAttributes['class'];
460
- };
497
+ declare type __VLS_Props_7 = Omit<LabelProps, 'for'>;
461
498
 
462
- declare type __VLS_Props_8 = {
463
- class?: HTMLAttributes['class'];
464
- } & PrimitiveProps;
499
+ declare type __VLS_Props_8 = ComboboxItemProps;
465
500
 
466
501
  declare type __VLS_Props_9 = {
467
- type?: string;
468
- contentClass?: HTMLAttributes['class'];
469
- ariaLabel?: string;
470
- formAriaHidden?: boolean;
471
- tabindex?: string;
472
- text: string;
473
- disabled?: boolean;
502
+ newInputValue?: (value: string) => Nullable<FormFieldValue>;
474
503
  };
475
504
 
476
505
  declare function __VLS_template(): {
@@ -625,7 +654,7 @@ declare function __VLS_template_18(): {
625
654
  as?: string;
626
655
  }> & Readonly<{
627
656
  "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
628
- }>, "id" | "value" | "name" | "description" | "errors" | "required" | "label" | "update"> & ShallowUnwrapRef< {
657
+ }>, "id" | "value" | "name" | "description" | "required" | "errors" | "label" | "update"> & ShallowUnwrapRef< {
629
658
  id: string;
630
659
  name: ComputedRef<string | undefined>;
631
660
  label: ComputedRef<string | undefined>;
@@ -649,7 +678,7 @@ declare function __VLS_template_19(): {
649
678
  default?(_: {}): any;
650
679
  };
651
680
  refs: {};
652
- rootEl: HTMLDetailsElement;
681
+ rootEl: any;
653
682
  };
654
683
 
655
684
  declare function __VLS_template_2(): {
@@ -665,7 +694,6 @@ declare function __VLS_template_20(): {
665
694
  attrs: Partial<{}>;
666
695
  slots: {
667
696
  default?(_: {}): any;
668
- options?(_: {}): any;
669
697
  };
670
698
  refs: {};
671
699
  rootEl: any;
@@ -674,22 +702,42 @@ declare function __VLS_template_20(): {
674
702
  declare function __VLS_template_21(): {
675
703
  attrs: Partial<{}>;
676
704
  slots: {
705
+ label?(_: {}): any;
677
706
  default?(_: {}): any;
678
707
  };
679
708
  refs: {};
680
- rootEl: any;
709
+ rootEl: HTMLDetailsElement;
681
710
  };
682
711
 
683
712
  declare function __VLS_template_22(): {
684
713
  attrs: Partial<{}>;
685
714
  slots: {
686
715
  default?(_: {}): any;
716
+ options?(_: {}): any;
687
717
  };
688
718
  refs: {};
689
719
  rootEl: any;
690
720
  };
691
721
 
692
722
  declare function __VLS_template_23(): {
723
+ attrs: Partial<{}>;
724
+ slots: {
725
+ default?(_: {}): any;
726
+ };
727
+ refs: {};
728
+ rootEl: any;
729
+ };
730
+
731
+ declare function __VLS_template_24(): {
732
+ attrs: Partial<{}>;
733
+ slots: {
734
+ default?(_: {}): any;
735
+ };
736
+ refs: {};
737
+ rootEl: any;
738
+ };
739
+
740
+ declare function __VLS_template_25(): {
693
741
  attrs: Partial<{}>;
694
742
  slots: {
695
743
  default?(_: {}): any;
@@ -700,7 +748,7 @@ declare function __VLS_template_23(): {
700
748
  rootEl: HTMLDivElement;
701
749
  };
702
750
 
703
- declare function __VLS_template_24(): {
751
+ declare function __VLS_template_26(): {
704
752
  attrs: Partial<{}>;
705
753
  slots: Readonly<{
706
754
  default(props: ErrorReportModalButtonsDefaultSlotProps): unknown;
@@ -711,7 +759,7 @@ declare function __VLS_template_24(): {
711
759
  rootEl: HTMLDivElement;
712
760
  };
713
761
 
714
- declare function __VLS_template_25(): {
762
+ declare function __VLS_template_27(): {
715
763
  attrs: Partial<{}>;
716
764
  slots: {
717
765
  default?(_: {}): any;
@@ -720,7 +768,7 @@ declare function __VLS_template_25(): {
720
768
  rootEl: HTMLFormElement;
721
769
  };
722
770
 
723
- declare function __VLS_template_26(): {
771
+ declare function __VLS_template_28(): {
724
772
  attrs: Partial<{}>;
725
773
  slots: {
726
774
  default?(_: {}): any;
@@ -729,7 +777,7 @@ declare function __VLS_template_26(): {
729
777
  rootEl: any;
730
778
  };
731
779
 
732
- declare function __VLS_template_27(): {
780
+ declare function __VLS_template_29(): {
733
781
  attrs: Partial<{}>;
734
782
  slots: Readonly<{
735
783
  default?(): VNode[];
@@ -740,7 +788,7 @@ declare function __VLS_template_27(): {
740
788
  rootEl: any;
741
789
  };
742
790
 
743
- declare function __VLS_template_28(): {
791
+ declare function __VLS_template_3(): {
744
792
  attrs: Partial<{}>;
745
793
  slots: {
746
794
  default?(_: {}): any;
@@ -749,7 +797,7 @@ declare function __VLS_template_28(): {
749
797
  rootEl: any;
750
798
  };
751
799
 
752
- declare function __VLS_template_29(): {
800
+ declare function __VLS_template_30(): {
753
801
  attrs: Partial<{}>;
754
802
  slots: {
755
803
  default?(_: {}): any;
@@ -758,7 +806,7 @@ declare function __VLS_template_29(): {
758
806
  rootEl: any;
759
807
  };
760
808
 
761
- declare function __VLS_template_3(): {
809
+ declare function __VLS_template_31(): {
762
810
  attrs: Partial<{}>;
763
811
  slots: {
764
812
  default?(_: {}): any;
@@ -767,7 +815,7 @@ declare function __VLS_template_3(): {
767
815
  rootEl: any;
768
816
  };
769
817
 
770
- declare function __VLS_template_30(): {
818
+ declare function __VLS_template_32(): {
771
819
  attrs: Partial<{}>;
772
820
  slots: {
773
821
  default?(_: {}): any;
@@ -777,7 +825,7 @@ declare function __VLS_template_30(): {
777
825
  rootEl: any;
778
826
  };
779
827
 
780
- declare function __VLS_template_31(): {
828
+ declare function __VLS_template_33(): {
781
829
  attrs: Partial<{}>;
782
830
  slots: {
783
831
  default?(_: {}): any;
@@ -786,6 +834,15 @@ declare function __VLS_template_31(): {
786
834
  rootEl: HTMLDivElement;
787
835
  };
788
836
 
837
+ declare function __VLS_template_34(): {
838
+ attrs: Partial<{}>;
839
+ slots: {
840
+ default?(_: {}): any;
841
+ };
842
+ refs: {};
843
+ rootEl: any;
844
+ };
845
+
789
846
  declare function __VLS_template_4(): {
790
847
  attrs: Partial<{}>;
791
848
  slots: {
@@ -970,6 +1027,12 @@ declare type __VLS_TemplateResult_30 = ReturnType<typeof __VLS_template_30>;
970
1027
 
971
1028
  declare type __VLS_TemplateResult_31 = ReturnType<typeof __VLS_template_31>;
972
1029
 
1030
+ declare type __VLS_TemplateResult_32 = ReturnType<typeof __VLS_template_32>;
1031
+
1032
+ declare type __VLS_TemplateResult_33 = ReturnType<typeof __VLS_template_33>;
1033
+
1034
+ declare type __VLS_TemplateResult_34 = ReturnType<typeof __VLS_template_34>;
1035
+
973
1036
  declare type __VLS_TemplateResult_4 = ReturnType<typeof __VLS_template_4>;
974
1037
 
975
1038
  declare type __VLS_TemplateResult_5 = ReturnType<typeof __VLS_template_5>;
@@ -1132,6 +1195,24 @@ declare type __VLS_WithTemplateSlots_31<T, S> = T & {
1132
1195
  };
1133
1196
  };
1134
1197
 
1198
+ declare type __VLS_WithTemplateSlots_32<T, S> = T & {
1199
+ new (): {
1200
+ $slots: S;
1201
+ };
1202
+ };
1203
+
1204
+ declare type __VLS_WithTemplateSlots_33<T, S> = T & {
1205
+ new (): {
1206
+ $slots: S;
1207
+ };
1208
+ };
1209
+
1210
+ declare type __VLS_WithTemplateSlots_34<T, S> = T & {
1211
+ new (): {
1212
+ $slots: S;
1213
+ };
1214
+ };
1215
+
1135
1216
  declare type __VLS_WithTemplateSlots_4<T, S> = T & {
1136
1217
  new (): {
1137
1218
  $slots: S;
@@ -1240,7 +1321,7 @@ export declare interface AppSetting {
1240
1321
  export declare const AppToasts: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
1241
1322
 
1242
1323
  export declare function booleanInput(defaultValue?: boolean, options?: {
1243
- rules?: string;
1324
+ rules?: string[];
1244
1325
  }): FormFieldDefinition<'boolean'>;
1245
1326
 
1246
1327
  export declare function bootServices(app: App_2, services: Record<string, Service>): Promise<void>;
@@ -1284,6 +1365,118 @@ export declare function classes(...inputs: ClassValue[]): string;
1284
1365
 
1285
1366
  export { closeModal }
1286
1367
 
1368
+ export declare const Combobox: <T extends Nullable<FormFieldValue>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_4<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
1369
+ props: __VLS_PrettifyLocal_4<Pick<Partial<{}> & Omit<{
1370
+ readonly "onUpdate:modelValue"?: ((value: T) => any) | undefined;
1371
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue"> & (SelectProps<T> & {
1372
+ newInputValue?: (value: string) => T;
1373
+ }) & Partial<{}>> & PublicProps;
1374
+ expose(exposed: ShallowUnwrapRef< {
1375
+ renderOption: (option: T) => string;
1376
+ labelClass: ComputedRef<any>;
1377
+ optionsClass: ComputedRef<any>;
1378
+ align: ComputedRef<"start" | "center" | "end" | undefined>;
1379
+ side: ComputedRef<"top" | "right" | "bottom" | "left" | undefined>;
1380
+ value: ComputedRef<T>;
1381
+ id: string;
1382
+ name: ComputedRef<string | undefined>;
1383
+ label: ComputedRef<string | undefined>;
1384
+ description: ComputedRef<string | undefined>;
1385
+ placeholder: ComputedRef<string>;
1386
+ options: ComputedRef< {
1387
+ key: string;
1388
+ label: string;
1389
+ value: AcceptableValue;
1390
+ }[] | null>;
1391
+ selectedOption: ComputedRef< {
1392
+ key: string;
1393
+ label: string;
1394
+ value: AcceptableValue;
1395
+ } | undefined>;
1396
+ errors: Readonly<Ref<readonly string[] | null, readonly string[] | null>>;
1397
+ required: ComputedRef<boolean | undefined>;
1398
+ update(value: T): void;
1399
+ }>): void;
1400
+ attrs: any;
1401
+ slots: {};
1402
+ emit: (evt: "update:modelValue", value: T) => void;
1403
+ }>) => VNode & {
1404
+ __ctx?: Awaited<typeof __VLS_setup>;
1405
+ };
1406
+
1407
+ export declare type ComboboxContext = {
1408
+ input: string;
1409
+ preventChange: boolean;
1410
+ $group: HTMLDivElement | null;
1411
+ };
1412
+
1413
+ export declare const ComboboxLabel: __VLS_WithTemplateSlots_19<typeof __VLS_component_19, __VLS_TemplateResult_19["slots"]>;
1414
+
1415
+ export declare const ComboboxOption: __VLS_WithTemplateSlots_20<typeof __VLS_component_20, __VLS_TemplateResult_20["slots"]>;
1416
+
1417
+ export declare const ComboboxOptions: DefineComponent<__VLS_Props_9, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1418
+ select: () => any;
1419
+ }, string, PublicProps, Readonly<__VLS_Props_9> & Readonly<{
1420
+ onSelect?: (() => any) | undefined;
1421
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
1422
+ $group: ({
1423
+ $: ComponentInternalInstance;
1424
+ $data: {};
1425
+ $props: {
1426
+ readonly asChild?: boolean | undefined;
1427
+ readonly as?: (AsTag | Component) | undefined;
1428
+ } & VNodeProps & AllowedComponentProps & ComponentCustomProps;
1429
+ $attrs: {
1430
+ [x: string]: unknown;
1431
+ };
1432
+ $refs: {
1433
+ [x: string]: unknown;
1434
+ };
1435
+ $slots: Readonly<{
1436
+ [name: string]: Slot<any> | undefined;
1437
+ }>;
1438
+ $root: ComponentPublicInstance | null;
1439
+ $parent: ComponentPublicInstance | null;
1440
+ $host: Element | null;
1441
+ $emit: (event: string, ...args: any[]) => void;
1442
+ $el: any;
1443
+ $options: ComponentOptionsBase<Readonly<ComboboxGroupProps> & Readonly<{}>, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, {}, {}, string, {}, GlobalComponents, GlobalDirectives, string, ComponentProvideOptions> & {
1444
+ beforeCreate?: (() => void) | (() => void)[];
1445
+ created?: (() => void) | (() => void)[];
1446
+ beforeMount?: (() => void) | (() => void)[];
1447
+ mounted?: (() => void) | (() => void)[];
1448
+ beforeUpdate?: (() => void) | (() => void)[];
1449
+ updated?: (() => void) | (() => void)[];
1450
+ activated?: (() => void) | (() => void)[];
1451
+ deactivated?: (() => void) | (() => void)[];
1452
+ beforeDestroy?: (() => void) | (() => void)[];
1453
+ beforeUnmount?: (() => void) | (() => void)[];
1454
+ destroyed?: (() => void) | (() => void)[];
1455
+ unmounted?: (() => void) | (() => void)[];
1456
+ renderTracked?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
1457
+ renderTriggered?: ((e: DebuggerEvent) => void) | ((e: DebuggerEvent) => void)[];
1458
+ errorCaptured?: ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void) | ((err: unknown, instance: ComponentPublicInstance | null, info: string) => boolean | void)[];
1459
+ };
1460
+ $forceUpdate: () => void;
1461
+ $nextTick: typeof nextTick;
1462
+ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (...args: [R, R, OnCleanup]) => any : (...args: [any, any, OnCleanup]) => any, options?: WatchOptions): WatchStopHandle;
1463
+ } & Readonly<{}> & Omit<Readonly<ComboboxGroupProps> & Readonly<{}>, never> & ShallowUnwrapRef< {}> & {} & ComponentCustomProperties & {} & {
1464
+ $slots: {
1465
+ default?: (props: {}) => any;
1466
+ };
1467
+ }) | null;
1468
+ }, any>;
1469
+
1470
+ export declare const ComboboxTrigger: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1471
+ focus: () => any;
1472
+ blur: () => any;
1473
+ change: () => any;
1474
+ }, string, PublicProps, Readonly<{}> & Readonly<{
1475
+ onFocus?: (() => any) | undefined;
1476
+ onBlur?: (() => any) | undefined;
1477
+ onChange?: (() => any) | undefined;
1478
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
1479
+
1287
1480
  export declare type ComponentPropDefinitions<T> = {
1288
1481
  [K in keyof T]: {
1289
1482
  type?: PropType<T[K]>;
@@ -1357,12 +1550,12 @@ export declare interface ConfirmOptionsWithCheckboxes<T extends ConfirmModalChec
1357
1550
 
1358
1551
  export { createModal }
1359
1552
 
1360
- export declare type CVAConfig<T> = NonNullable<GetClosureArgs<typeof cva<T>>[1]>;
1553
+ export declare type CVAConfig<T> = NonNullable<Parameters<typeof cva<T>>[1]>;
1361
1554
 
1362
- export declare type CVAProps<T> = NonNullable<GetClosureArgs<GetClosureResult<typeof cva<T>>>[0]>;
1555
+ export declare type CVAProps<T> = NonNullable<Parameters<ReturnType<typeof cva<T>>>[0]>;
1363
1556
 
1364
1557
  export declare function dateInput(defaultValue?: Date, options?: {
1365
- rules?: string;
1558
+ rules?: string[];
1366
1559
  }): FormFieldDefinition<'date'>;
1367
1560
 
1368
1561
  declare const _default: ServiceWithState< {
@@ -1436,7 +1629,7 @@ export declare type DefaultServiceState = any;
1436
1629
 
1437
1630
  export declare function defineDirective<TValue = any, TModifiers extends string = string>(directive: Directive<any, TValue, TModifiers>): Directive<any, TValue, TModifiers>;
1438
1631
 
1439
- export declare function defineFormValidationRule<T>(rule: string, validator: FormFieldValidator<T>): void;
1632
+ export declare function defineFormValidationRules<T extends Record<string, FormFieldValidator>>(rules: T): T;
1440
1633
 
1441
1634
  export declare function definePlugin<T extends Plugin_2>(plugin: T): T;
1442
1635
 
@@ -1454,11 +1647,11 @@ export declare function defineServiceStore<Id extends string, S extends StateTre
1454
1647
 
1455
1648
  export declare function defineSettings<T extends AppSetting[]>(settings: T): T;
1456
1649
 
1457
- export declare const Details: __VLS_WithTemplateSlots_19<typeof __VLS_component_19, __VLS_TemplateResult_19["slots"]>;
1650
+ export declare const Details: __VLS_WithTemplateSlots_21<typeof __VLS_component_21, __VLS_TemplateResult_21["slots"]>;
1458
1651
 
1459
1652
  export declare function dispatch(job: Job): Promise<void>;
1460
1653
 
1461
- export declare const DropdownMenu: __VLS_WithTemplateSlots_20<typeof __VLS_component_20, __VLS_TemplateResult_20["slots"]>;
1654
+ export declare const DropdownMenu: __VLS_WithTemplateSlots_22<typeof __VLS_component_22, __VLS_TemplateResult_22["slots"]>;
1462
1655
 
1463
1656
  export declare interface DropdownMenuExpose {
1464
1657
  align?: DropdownMenuContentProps['align'];
@@ -1466,7 +1659,7 @@ export declare interface DropdownMenuExpose {
1466
1659
  options?: readonly DropdownMenuOptionData[];
1467
1660
  }
1468
1661
 
1469
- export declare const DropdownMenuOption: __VLS_WithTemplateSlots_21<typeof __VLS_component_21, __VLS_TemplateResult_21["slots"]>;
1662
+ export declare const DropdownMenuOption: __VLS_WithTemplateSlots_23<typeof __VLS_component_23, __VLS_TemplateResult_23["slots"]>;
1470
1663
 
1471
1664
  export declare type DropdownMenuOptionData = {
1472
1665
  label: string;
@@ -1478,7 +1671,7 @@ export declare type DropdownMenuOptionData = {
1478
1671
  class?: string;
1479
1672
  };
1480
1673
 
1481
- export declare const DropdownMenuOptions: __VLS_WithTemplateSlots_22<typeof __VLS_component_22, __VLS_TemplateResult_22["slots"]>;
1674
+ export declare const DropdownMenuOptions: __VLS_WithTemplateSlots_24<typeof __VLS_component_24, __VLS_TemplateResult_24["slots"]>;
1482
1675
 
1483
1676
  export declare interface DropdownMenuProps {
1484
1677
  align?: DropdownMenuContentProps['align'];
@@ -1486,7 +1679,7 @@ export declare interface DropdownMenuProps {
1486
1679
  options?: readonly Falsifiable<DropdownMenuOptionData>[];
1487
1680
  }
1488
1681
 
1489
- export declare const EditableContent: __VLS_WithTemplateSlots_23<typeof __VLS_component_23, __VLS_TemplateResult_23["slots"]>;
1682
+ export declare const EditableContent: __VLS_WithTemplateSlots_25<typeof __VLS_component_25, __VLS_TemplateResult_25["slots"]>;
1490
1683
 
1491
1684
  export declare interface ElementSize {
1492
1685
  width: number;
@@ -1494,7 +1687,7 @@ export declare interface ElementSize {
1494
1687
  }
1495
1688
 
1496
1689
  export declare function enumInput<const T extends string>(values: readonly T[], defaultValue?: T, options?: {
1497
- rules?: string;
1690
+ rules?: string[];
1498
1691
  }): FormFieldDefinition<'enum', string, T>;
1499
1692
 
1500
1693
  export declare type ErrorHandler = (error: ErrorSource) => boolean;
@@ -1505,7 +1698,7 @@ export declare const ErrorLogs: DefineComponent< {}, {}, {}, {}, {}, Componen
1505
1698
 
1506
1699
  export declare const ErrorLogsModal: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
1507
1700
 
1508
- export declare const ErrorMessage: DefineComponent<__VLS_Props_10, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_10> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1701
+ export declare const ErrorMessage: DefineComponent<__VLS_Props_13, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_13> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1509
1702
 
1510
1703
  export declare interface ErrorReport {
1511
1704
  title: string;
@@ -1524,7 +1717,7 @@ export declare const ErrorReportModal: DefineComponent<ErrorReportModalProps, {
1524
1717
  $content: ModalContentInstance;
1525
1718
  }, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ErrorReportModalProps> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1526
1719
 
1527
- export declare const ErrorReportModalButtons: __VLS_WithTemplateSlots_24<typeof __VLS_component_24, __VLS_TemplateResult_24["slots"]>;
1720
+ export declare const ErrorReportModalButtons: __VLS_WithTemplateSlots_26<typeof __VLS_component_26, __VLS_TemplateResult_26["slots"]>;
1528
1721
 
1529
1722
  declare interface ErrorReportModalButtonsDefaultSlotProps {
1530
1723
  id: string;
@@ -1542,7 +1735,7 @@ export declare interface ErrorReportModalProps {
1542
1735
  reports: ErrorReport[];
1543
1736
  }
1544
1737
 
1545
- export declare const ErrorReportModalTitle: DefineComponent<__VLS_Props_12, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_12> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1738
+ export declare const ErrorReportModalTitle: DefineComponent<__VLS_Props_15, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_15> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
1546
1739
 
1547
1740
  export declare const Errors: Facade<ErrorsService>;
1548
1741
 
@@ -1622,7 +1815,7 @@ export declare type Falsifiable<T> = Nullable<T> | false;
1622
1815
 
1623
1816
  export declare type FocusFormListener = (input: string) => unknown;
1624
1817
 
1625
- export declare const Form: __VLS_WithTemplateSlots_25<typeof __VLS_component_25, __VLS_TemplateResult_25["slots"]>;
1818
+ export declare const Form: __VLS_WithTemplateSlots_27<typeof __VLS_component_27, __VLS_TemplateResult_27["slots"]>;
1626
1819
 
1627
1820
  export declare class FormController<Fields extends FormFieldDefinitions = FormFieldDefinitions> extends MagicObject {
1628
1821
  errors: DeepReadonly<UnwrapNestedRefs<FormErrors<Fields>>>;
@@ -1673,7 +1866,7 @@ export declare interface FormFieldDefinition<TType extends FormFieldType = FormF
1673
1866
  type: TType;
1674
1867
  trim?: boolean;
1675
1868
  default?: GetFormFieldValue<TType>;
1676
- rules?: TRules;
1869
+ rules?: TRules[];
1677
1870
  values?: readonly TValueType[];
1678
1871
  [__valueType]?: TValueType;
1679
1872
  }
@@ -1692,6 +1885,8 @@ export declare function getErrorMessage(error: ErrorSource): string;
1692
1885
 
1693
1886
  export declare type GetFormFieldValue<TType, TValueType = unknown> = TType extends 'string' ? string : TType extends 'number' ? number : TType extends 'boolean' ? boolean : TType extends 'enum' ? TValueType : TType extends 'object' ? TValueType extends object ? TValueType : object : TType extends 'date' ? Date : never;
1694
1887
 
1888
+ export declare function getLocalTimezoneOffset(date?: Nullable<Date>): number;
1889
+
1695
1890
  export declare function getMarkdownRouter(): MarkdownRouter | null;
1696
1891
 
1697
1892
  export { GetModalProps }
@@ -1747,10 +1942,11 @@ export declare const HeadlessSelect: <T extends Nullable<FormFieldValue>>(__VLS_
1747
1942
  readonly "onUpdate:modelValue"?: ((value: T) => any) | undefined;
1748
1943
  } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue"> & SelectProps<T> & Partial<{}>> & PublicProps;
1749
1944
  expose(exposed: ShallowUnwrapRef< {
1750
- labelClass: any;
1751
- optionsClass: any;
1752
- align: "start" | "center" | "end" | undefined;
1753
- side: "top" | "right" | "bottom" | "left" | undefined;
1945
+ renderOption: (option: T) => string;
1946
+ labelClass: ComputedRef<any>;
1947
+ optionsClass: ComputedRef<any>;
1948
+ align: ComputedRef<"start" | "center" | "end" | undefined>;
1949
+ side: ComputedRef<"top" | "right" | "bottom" | "left" | undefined>;
1754
1950
  value: ComputedRef<T>;
1755
1951
  id: string;
1756
1952
  name: ComputedRef<string | undefined>;
@@ -1829,9 +2025,9 @@ export declare function injectReactive<T extends object>(key: InjectionKey<T> |
1829
2025
 
1830
2026
  export declare function injectReactiveOrFail<T extends object>(key: InjectionKey<T> | string, errorMessage?: string): UnwrapNestedRefs<T>;
1831
2027
 
1832
- export declare const Input: DefineComponent<__VLS_Props_14, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2028
+ export declare const Input: DefineComponent<__VLS_Props_17, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
1833
2029
  "update:modelValue": (value: unknown) => any;
1834
- }, string, PublicProps, Readonly<__VLS_Props_14> & Readonly<{
2030
+ }, string, PublicProps, Readonly<__VLS_Props_17> & Readonly<{
1835
2031
  "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
1836
2032
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
1837
2033
  $inputRef: ({
@@ -1898,7 +2094,7 @@ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...
1898
2094
  as?: string;
1899
2095
  }> & Readonly<{
1900
2096
  "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
1901
- }>, "id" | "value" | "name" | "description" | "errors" | "required" | "label" | "update"> & ShallowUnwrapRef< {
2097
+ }>, "id" | "value" | "name" | "description" | "required" | "errors" | "label" | "update"> & ShallowUnwrapRef< {
1902
2098
  id: string;
1903
2099
  name: ComputedRef<string | undefined>;
1904
2100
  label: ComputedRef<string | undefined>;
@@ -1936,7 +2132,7 @@ export declare interface InputProps<T extends Nullable<FormFieldValue> = Nullabl
1936
2132
  modelValue?: T;
1937
2133
  }
1938
2134
 
1939
- export declare function installPlugins(plugins: Plugin_2[], ...args: GetClosureArgs<Plugin_2['install']>): Promise<void>;
2135
+ export declare function installPlugins(plugins: Plugin_2[], ...args: Parameters<Plugin_2['install']>): Promise<void>;
1940
2136
 
1941
2137
  export declare abstract class Job<Listener extends JobListener = JobListener, Status extends JobStatus = JobStatus, SerializedStatus extends JobStatus = JobStatus> {
1942
2138
  protected status: Status;
@@ -2006,7 +2202,7 @@ export declare const Layouts: {
2006
2202
  readonly Desktop: "desktop";
2007
2203
  };
2008
2204
 
2009
- export declare const Link: __VLS_WithTemplateSlots_26<typeof __VLS_component_26, __VLS_TemplateResult_26["slots"]>;
2205
+ export declare const Link: __VLS_WithTemplateSlots_28<typeof __VLS_component_28, __VLS_TemplateResult_28["slots"]>;
2010
2206
 
2011
2207
  export declare const LoadingModal: DefineComponent<LoadingModalProps, {
2012
2208
  $content: ModalContentInstance;
@@ -2029,9 +2225,7 @@ export declare type LoadingOptions = AcceptRefs<{
2029
2225
  delay?: number;
2030
2226
  }>;
2031
2227
 
2032
- export declare const LOCAL_TIMEZONE_OFFSET: number;
2033
-
2034
- export declare const Markdown: __VLS_WithTemplateSlots_27<typeof __VLS_component_27, __VLS_TemplateResult_27["slots"]>;
2228
+ export declare const Markdown: __VLS_WithTemplateSlots_29<typeof __VLS_component_29, __VLS_TemplateResult_29["slots"]>;
2035
2229
 
2036
2230
  export declare interface MarkdownRouter {
2037
2231
  resolve(route: string): string;
@@ -2051,8 +2245,8 @@ export declare const MINUTE_MILLISECONDS = 60000;
2051
2245
 
2052
2246
  export declare const MOBILE_BREAKPOINT = 768;
2053
2247
 
2054
- export declare const Modal: <T = void>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_4<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2055
- props: __VLS_PrettifyLocal_4<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & (ModalProps & {
2248
+ export declare const Modal: <T = void>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_5<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2249
+ props: __VLS_PrettifyLocal_5<Pick<Partial<{}> & Omit<{} & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, never> & (ModalProps & {
2056
2250
  wrapperClass?: HTMLAttributes["class"];
2057
2251
  class?: HTMLAttributes["class"];
2058
2252
  closeHidden?: boolean;
@@ -2100,11 +2294,11 @@ export declare interface ModalSlots<Result = never> {
2100
2294
  export { ModalsPortal }
2101
2295
 
2102
2296
  export declare function numberInput(defaultValue?: number, options?: {
2103
- rules?: string;
2297
+ rules?: string[];
2104
2298
  }): FormFieldDefinition<'number'>;
2105
2299
 
2106
2300
  export declare function objectInput<T extends object>(defaultValue?: T, options?: {
2107
- rules?: string;
2301
+ rules?: string[];
2108
2302
  }): FormFieldDefinition<'object', string, T>;
2109
2303
 
2110
2304
  export declare function onCleanMounted(operation: () => Function): void;
@@ -2125,7 +2319,7 @@ declare interface Plugin_2 {
2125
2319
  }
2126
2320
  export { Plugin_2 as Plugin }
2127
2321
 
2128
- export declare const ProgressBar: DefineComponent<__VLS_Props_17, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_17> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
2322
+ export declare const ProgressBar: DefineComponent<__VLS_Props_20, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_20> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
2129
2323
 
2130
2324
  export declare const PromptModal: DefineComponent<PromptModalProps, {
2131
2325
  $content: ModalContentInstance;
@@ -2166,9 +2360,13 @@ export declare type PromptOptions = AcceptRefs<{
2166
2360
  trim?: boolean;
2167
2361
  }>;
2168
2362
 
2363
+ export declare const Provide: __VLS_WithTemplateSlots_34<typeof __VLS_component_34, __VLS_TemplateResult_34["slots"]>;
2364
+
2169
2365
  export declare type ReactiveSet<T = unknown> = ReturnType<typeof reactiveSet<T>>;
2170
2366
 
2171
- export declare function reactiveSet<T>(initial?: T[] | Set<T>): {
2367
+ export declare function reactiveSet<T>(initial?: T[] | Set<T>, options?: {
2368
+ equals?: (a: T, b: T) => boolean;
2369
+ }): {
2172
2370
  values(): T[];
2173
2371
  has(item: T): boolean;
2174
2372
  add(item: T): void;
@@ -2181,6 +2379,8 @@ export declare type RefUnion<T> = T extends infer R ? Ref<R> : never;
2181
2379
 
2182
2380
  export declare function registerErrorHandler(handler: ErrorHandler_2): void;
2183
2381
 
2382
+ export declare function registerFormValidationRule<T>(rule: string, validator: FormFieldValidator<T>): void;
2383
+
2184
2384
  export declare function renderMarkdown(markdown: string): string;
2185
2385
 
2186
2386
  export declare function renderVNode(node: VNode | string): string;
@@ -2191,24 +2391,36 @@ export declare type Replace<TOriginal extends Record<string, unknown>, TReplacem
2191
2391
 
2192
2392
  export declare function replaceExisting<TOriginal extends Record<string, unknown>, TReplacements extends Partial<Record<keyof TOriginal, unknown>>>(original: TOriginal, replacements: TReplacements): Replace<TOriginal, TReplacements>;
2193
2393
 
2194
- export declare function requiredBooleanInput(defaultValue?: boolean): FormFieldDefinition<'boolean', 'required'>;
2394
+ export declare function requiredBooleanInput(defaultValue?: boolean, options?: {
2395
+ rules?: string[];
2396
+ }): FormFieldDefinition<'boolean', 'required'>;
2195
2397
 
2196
- export declare function requiredDateInput(defaultValue?: Date): FormFieldDefinition<'date', 'required'>;
2398
+ export declare function requiredDateInput(defaultValue?: Date, options?: {
2399
+ rules?: string[];
2400
+ }): FormFieldDefinition<'date', 'required'>;
2197
2401
 
2198
- export declare function requiredEnumInput<const T extends string>(values: readonly T[], defaultValue?: T): FormFieldDefinition<'enum', 'required', T>;
2402
+ export declare function requiredEnumInput<const T extends string>(values: readonly T[], defaultValue?: T, options?: {
2403
+ rules?: string[];
2404
+ }): FormFieldDefinition<'enum', 'required', T>;
2199
2405
 
2200
- export declare function requiredNumberInput(defaultValue?: number): FormFieldDefinition<'number', 'required'>;
2406
+ export declare function requiredNumberInput(defaultValue?: number, options?: {
2407
+ rules?: string[];
2408
+ }): FormFieldDefinition<'number', 'required'>;
2201
2409
 
2202
- export declare function requiredObjectInput<T extends object>(defaultValue?: T): FormFieldDefinition<'object', 'required', T>;
2410
+ export declare function requiredObjectInput<T extends object>(defaultValue?: T, options?: {
2411
+ rules?: string[];
2412
+ }): FormFieldDefinition<'object', 'required', T>;
2203
2413
 
2204
- export declare function requiredStringInput(defaultValue?: string): FormFieldDefinition<'string', 'required'>;
2414
+ export declare function requiredStringInput(defaultValue?: string, options?: {
2415
+ rules?: string[];
2416
+ }): FormFieldDefinition<'string', 'required'>;
2205
2417
 
2206
2418
  export declare function resetPiniaStore(): Pinia;
2207
2419
 
2208
2420
  export declare function safeHtml(html: string): string;
2209
2421
 
2210
- export declare const Select: <T extends Nullable<FormFieldValue>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_5<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2211
- props: __VLS_PrettifyLocal_5<Pick<Partial<{}> & Omit<{
2422
+ export declare const Select: <T extends Nullable<FormFieldValue>>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal_6<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
2423
+ props: __VLS_PrettifyLocal_6<Pick<Partial<{}> & Omit<{
2212
2424
  readonly "onUpdate:modelValue"?: ((value: T) => any) | undefined;
2213
2425
  } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onUpdate:modelValue"> & SelectProps<T> & Partial<{}>> & PublicProps;
2214
2426
  expose(exposed: ShallowUnwrapRef< {}>): void;
@@ -2228,15 +2440,16 @@ export declare interface SelectExpose<T extends Nullable<FormFieldValue> = Nulla
2228
2440
  options: ComputedRef<Nullable<readonly SelectOptionData[]>>;
2229
2441
  selectedOption: ComputedRef<Nullable<SelectOptionData>>;
2230
2442
  placeholder: ComputedRef<string>;
2231
- labelClass?: HTMLAttributes['class'];
2232
- optionsClass?: HTMLAttributes['class'];
2443
+ labelClass: ComputedRef<HTMLAttributes['class']>;
2444
+ optionsClass: ComputedRef<HTMLAttributes['class']>;
2233
2445
  align?: SelectContentProps['align'];
2234
2446
  side?: SelectContentProps['side'];
2447
+ renderOption: (option: T) => string;
2235
2448
  }
2236
2449
 
2237
- export declare const SelectLabel: __VLS_WithTemplateSlots_28<typeof __VLS_component_28, __VLS_TemplateResult_28["slots"]>;
2450
+ export declare const SelectLabel: __VLS_WithTemplateSlots_30<typeof __VLS_component_30, __VLS_TemplateResult_30["slots"]>;
2238
2451
 
2239
- export declare const SelectOption: __VLS_WithTemplateSlots_29<typeof __VLS_component_29, __VLS_TemplateResult_29["slots"]>;
2452
+ export declare const SelectOption: __VLS_WithTemplateSlots_31<typeof __VLS_component_31, __VLS_TemplateResult_31["slots"]>;
2240
2453
 
2241
2454
  export declare type SelectOptionData = {
2242
2455
  key: string;
@@ -2244,7 +2457,7 @@ export declare type SelectOptionData = {
2244
2457
  value: AcceptableValue;
2245
2458
  };
2246
2459
 
2247
- export declare const SelectOptions: __VLS_WithTemplateSlots_30<typeof __VLS_component_30, __VLS_TemplateResult_30["slots"]>;
2460
+ export declare const SelectOptions: __VLS_WithTemplateSlots_32<typeof __VLS_component_32, __VLS_TemplateResult_32["slots"]>;
2248
2461
 
2249
2462
  export declare interface SelectProps<T extends Nullable<FormFieldValue> = Nullable<FormFieldValue>> extends InputProps<T> {
2250
2463
  as?: AsTag | Component;
@@ -2258,7 +2471,7 @@ export declare interface SelectProps<T extends Nullable<FormFieldValue> = Nullab
2258
2471
  side?: SelectContentProps['side'];
2259
2472
  }
2260
2473
 
2261
- export declare const SelectTrigger: DefineComponent<__VLS_Props_21, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_21> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
2474
+ export declare const SelectTrigger: DefineComponent<__VLS_Props_24, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_24> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
2262
2475
 
2263
2476
  export declare class Service<State extends ServiceState = DefaultServiceState, ComputedState extends ServiceState = {}, ServiceStorage = Partial<State>> extends MagicObject {
2264
2477
  static persist: string[];
@@ -2325,7 +2538,7 @@ export declare type ServiceWithState<State extends ServiceState = ServiceState,
2325
2538
 
2326
2539
  export declare function setMarkdownRouter(markdownRouter: MarkdownRouter): void;
2327
2540
 
2328
- export declare const Setting: __VLS_WithTemplateSlots_31<typeof __VLS_component_31, __VLS_TemplateResult_31["slots"]>;
2541
+ export declare const Setting: __VLS_WithTemplateSlots_33<typeof __VLS_component_33, __VLS_TemplateResult_33["slots"]>;
2329
2542
 
2330
2543
  export declare const SettingsModal: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
2331
2544
 
@@ -2345,16 +2558,16 @@ declare class StorageService extends Service {
2345
2558
  }
2346
2559
 
2347
2560
  export declare function stringInput(defaultValue?: string, options?: {
2348
- rules?: string;
2561
+ rules?: string[];
2349
2562
  }): FormFieldDefinition<'string'>;
2350
2563
 
2351
2564
  export declare type SubmitFormListener = () => unknown;
2352
2565
 
2353
2566
  export declare const Switch: DefineComponent< {}, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
2354
2567
 
2355
- export declare const TextArea: DefineComponent<__VLS_Props_23, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2568
+ export declare const TextArea: DefineComponent<__VLS_Props_26, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
2356
2569
  "update:modelValue": (value: unknown) => any;
2357
- }, string, PublicProps, Readonly<__VLS_Props_23> & Readonly<{
2570
+ }, string, PublicProps, Readonly<__VLS_Props_26> & Readonly<{
2358
2571
  "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
2359
2572
  }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
2360
2573
  $inputRef: ({
@@ -2421,7 +2634,7 @@ $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...
2421
2634
  as?: string;
2422
2635
  }> & Readonly<{
2423
2636
  "onUpdate:modelValue"?: ((value: unknown) => any) | undefined;
2424
- }>, "id" | "value" | "name" | "description" | "errors" | "required" | "label" | "update"> & ShallowUnwrapRef< {
2637
+ }>, "id" | "value" | "name" | "description" | "required" | "errors" | "label" | "update"> & ShallowUnwrapRef< {
2425
2638
  id: string;
2426
2639
  name: ComputedRef<string | undefined>;
2427
2640
  label: ComputedRef<string | undefined>;
@@ -2437,7 +2650,7 @@ default?(_: {}): any;
2437
2650
  }) | null;
2438
2651
  }, any>;
2439
2652
 
2440
- export declare const Toast: DefineComponent<__VLS_Props_24, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_24> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
2653
+ export declare const Toast: DefineComponent<__VLS_Props_27, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props_27> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
2441
2654
 
2442
2655
  export declare interface ToastAction {
2443
2656
  label: string;
@@ -2587,6 +2800,38 @@ export declare function usePromptModal(props: PromptModalProps): {
2587
2800
  renderedCancelText: ComputedRef<string>;
2588
2801
  };
2589
2802
 
2803
+ export declare function useSelect<T extends Nullable<FormFieldValue>>(props: Ref<SelectProps<T>>, emit: EmitFn<SelectEmits<T>>): {
2804
+ expose: {
2805
+ renderOption: (option: T) => string;
2806
+ labelClass: ComputedRef<any>;
2807
+ optionsClass: ComputedRef<any>;
2808
+ align: ComputedRef<"start" | "center" | "end" | undefined>;
2809
+ side: ComputedRef<"top" | "right" | "bottom" | "left" | undefined>;
2810
+ value: ComputedRef<T>;
2811
+ id: string;
2812
+ name: ComputedRef<string | undefined>;
2813
+ label: ComputedRef<string | undefined>;
2814
+ description: ComputedRef<string | undefined>;
2815
+ placeholder: ComputedRef<string>;
2816
+ options: ComputedRef<{
2817
+ key: string;
2818
+ label: string;
2819
+ value: AcceptableValue;
2820
+ }[] | null>;
2821
+ selectedOption: ComputedRef<{
2822
+ key: string;
2823
+ label: string;
2824
+ value: AcceptableValue;
2825
+ } | undefined>;
2826
+ errors: Readonly<Ref<readonly string[] | null, readonly string[] | null>>;
2827
+ required: ComputedRef<boolean | undefined>;
2828
+ update(value: T): void;
2829
+ };
2830
+ acceptableValue: ComputedRef<AcceptableValue>;
2831
+ update: (value: AcceptableValue) => void;
2832
+ renderOption: (option: T) => string;
2833
+ };
2834
+
2590
2835
  export declare function validate(value: unknown, rule: string): string[];
2591
2836
 
2592
2837
  export declare function validateType(value: unknown, definition: FormFieldDefinition): string[];
@@ -2662,6 +2907,7 @@ declare module '@aerogel/core' {
2662
2907
  interface AerogelOptions {
2663
2908
  services?: Record<string, Service>;
2664
2909
  settings?: AppSetting[];
2910
+ formValidationRules?: Record<string, FormFieldValidator>;
2665
2911
  settingsFullscreenOnMobile?: boolean;
2666
2912
  }
2667
2913
  }