@aerogel/core 0.0.0-next.7f6ed5a1f91688a86bf5ede2adc465e4fd6cfdea → 0.0.0-next.b85327579d32f21c6a9fa21142f0165cdd320d7e

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 (62) hide show
  1. package/dist/aerogel-core.cjs.js +1 -1
  2. package/dist/aerogel-core.d.ts +426 -82
  3. package/dist/aerogel-core.esm.js +1 -1
  4. package/package.json +6 -8
  5. package/src/bootstrap/bootstrap.test.ts +0 -56
  6. package/src/bootstrap/index.ts +9 -25
  7. package/src/bootstrap/options.ts +5 -1
  8. package/src/components/basic/AGMarkdown.vue +20 -5
  9. package/src/components/forms/AGButton.vue +26 -3
  10. package/src/components/forms/AGCheckbox.vue +35 -0
  11. package/src/components/forms/AGInput.vue +8 -4
  12. package/src/components/forms/index.ts +2 -1
  13. package/src/components/headless/forms/AGHeadlessButton.vue +3 -4
  14. package/src/components/headless/forms/AGHeadlessInput.ts +2 -2
  15. package/src/components/headless/forms/AGHeadlessInput.vue +5 -5
  16. package/src/components/headless/forms/AGHeadlessInputError.vue +9 -5
  17. package/src/components/headless/forms/AGHeadlessInputInput.vue +20 -4
  18. package/src/components/headless/forms/AGHeadlessInputLabel.vue +16 -0
  19. package/src/components/headless/forms/index.ts +6 -4
  20. package/src/components/headless/modals/AGHeadlessModal.vue +5 -1
  21. package/src/components/headless/modals/AGHeadlessModalPanel.vue +10 -2
  22. package/src/components/index.ts +2 -1
  23. package/src/components/modals/AGAlertModal.vue +13 -2
  24. package/src/components/modals/AGConfirmModal.vue +30 -0
  25. package/src/components/modals/AGLoadingModal.vue +19 -0
  26. package/src/components/modals/AGModal.ts +4 -0
  27. package/src/components/modals/AGModal.vue +20 -2
  28. package/src/components/modals/index.ts +4 -1
  29. package/src/directives/index.ts +5 -3
  30. package/src/errors/Errors.state.ts +31 -0
  31. package/src/errors/Errors.ts +132 -0
  32. package/src/errors/index.ts +21 -0
  33. package/src/forms/Form.test.ts +21 -0
  34. package/src/forms/Form.ts +38 -16
  35. package/src/forms/utils.ts +17 -0
  36. package/src/globals.ts +6 -0
  37. package/src/lang/Lang.ts +47 -8
  38. package/src/lang/index.ts +17 -76
  39. package/src/lang/utils.ts +4 -0
  40. package/src/main.ts +4 -0
  41. package/src/plugins/Plugin.ts +7 -0
  42. package/src/plugins/index.ts +7 -0
  43. package/src/services/App.state.ts +13 -0
  44. package/src/services/App.ts +17 -0
  45. package/src/services/Service.ts +151 -28
  46. package/src/services/index.ts +29 -7
  47. package/src/services/store.ts +27 -0
  48. package/src/types/vite.d.ts +0 -2
  49. package/src/ui/UI.state.ts +3 -6
  50. package/src/ui/UI.ts +35 -2
  51. package/src/ui/index.ts +20 -14
  52. package/src/utils/composition/forms.ts +11 -0
  53. package/src/utils/composition/hooks.ts +9 -0
  54. package/src/utils/index.ts +3 -0
  55. package/tsconfig.json +1 -10
  56. package/vite.config.ts +2 -6
  57. package/src/bootstrap/hooks.ts +0 -19
  58. package/src/lang/helpers.ts +0 -5
  59. package/src/models/index.ts +0 -18
  60. package/src/routing/index.ts +0 -33
  61. package/src/testing/stubs/lang/en.yaml +0 -1
  62. package/src/testing/stubs/models/User.ts +0 -3
@@ -1,8 +1,9 @@
1
1
  import { AllowedComponentProps } from 'vue';
2
- import type { App } from 'vue';
2
+ import type { App as App_2 } from 'vue';
3
3
  import type { Component } from 'vue';
4
4
  import { ComponentCustomProps } from 'vue';
5
5
  import { ComponentOptionsMixin } from 'vue';
6
+ import type { ComputedRef } from 'vue';
6
7
  import { Constructor } from '@noeldemartin/utils';
7
8
  import type { DeepReadonly } from 'vue';
8
9
  import { DefineComponent } from 'vue';
@@ -10,7 +11,7 @@ import type { Directive } from 'vue';
10
11
  import { ExtractPropTypes } from 'vue';
11
12
  import { Facade } from '@noeldemartin/utils';
12
13
  import type { InjectionKey } from 'vue';
13
- import type { LocationQuery } from 'vue-router';
14
+ import type { JSError } from '@noeldemartin/utils';
14
15
  import { MagicObject } from '@noeldemartin/utils';
15
16
  import type { ObjectValues } from '@noeldemartin/utils';
16
17
  import { PromisedValue } from '@noeldemartin/utils';
@@ -18,19 +19,139 @@ import { PropType } from 'vue';
18
19
  import type { Ref } from 'vue';
19
20
  import { RendererElement } from 'vue';
20
21
  import { RendererNode } from 'vue';
21
- import type { RouteParams } from 'vue-router';
22
22
  import type { UnwrapNestedRefs } from 'vue';
23
23
  import { VNode } from 'vue';
24
24
  import { VNodeProps } from 'vue';
25
25
 
26
+ declare interface AerogelOptions {
27
+ plugins?: Plugin_2[];
28
+ }
29
+
30
+ export declare const AGAlertModal: DefineComponent< {
31
+ title: {
32
+ type: PropType<string | null>;
33
+ validator?(value: unknown): boolean;
34
+ } & {
35
+ default: string | (() => string | null) | null;
36
+ };
37
+ message: {
38
+ type: PropType<string>;
39
+ validator?(value: unknown): boolean;
40
+ } & {
41
+ required: true;
42
+ };
43
+ }, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
44
+ [key: string]: any;
45
+ }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
46
+ title: {
47
+ type: PropType<string | null>;
48
+ validator?(value: unknown): boolean;
49
+ } & {
50
+ default: string | (() => string | null) | null;
51
+ };
52
+ message: {
53
+ type: PropType<string>;
54
+ validator?(value: unknown): boolean;
55
+ } & {
56
+ required: true;
57
+ };
58
+ }>>, {
59
+ title: string | null;
60
+ }, {}>;
61
+
26
62
  export declare const AGAppLayout: DefineComponent< {}, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
27
63
  [key: string]: any;
28
64
  }>, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {}>>, {}, {}>;
29
65
 
30
- export declare const AGButton: DefineComponent< {}, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
66
+ export declare const AGAppOverlays: DefineComponent< {}, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
31
67
  [key: string]: any;
32
68
  }>, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {}>>, {}, {}>;
33
69
 
70
+ export declare const AGButton: DefineComponent< {
71
+ clear: {
72
+ type: PropType<boolean>;
73
+ validator?(value: unknown): boolean;
74
+ } & {
75
+ default: boolean | (() => boolean) | null;
76
+ };
77
+ secondary: {
78
+ type: PropType<boolean>;
79
+ validator?(value: unknown): boolean;
80
+ } & {
81
+ default: boolean | (() => boolean) | null;
82
+ };
83
+ }, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
84
+ [key: string]: any;
85
+ }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
86
+ clear: {
87
+ type: PropType<boolean>;
88
+ validator?(value: unknown): boolean;
89
+ } & {
90
+ default: boolean | (() => boolean) | null;
91
+ };
92
+ secondary: {
93
+ type: PropType<boolean>;
94
+ validator?(value: unknown): boolean;
95
+ } & {
96
+ default: boolean | (() => boolean) | null;
97
+ };
98
+ }>>, {
99
+ clear: boolean;
100
+ secondary: boolean;
101
+ }, {}>;
102
+
103
+ export declare const AGCheckbox: DefineComponent< {
104
+ name: {
105
+ type: PropType<string | null>;
106
+ validator?(value: unknown): boolean;
107
+ } & {
108
+ default: string | (() => string | null) | null;
109
+ };
110
+ }, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
111
+ [key: string]: any;
112
+ }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
113
+ name: {
114
+ type: PropType<string | null>;
115
+ validator?(value: unknown): boolean;
116
+ } & {
117
+ default: string | (() => string | null) | null;
118
+ };
119
+ }>>, {
120
+ name: string | null;
121
+ }, {}>;
122
+
123
+ export declare const AGConfirmModal: DefineComponent< {
124
+ title: {
125
+ type: PropType<string | null>;
126
+ validator?(value: unknown): boolean;
127
+ } & {
128
+ default: string | (() => string | null) | null;
129
+ };
130
+ message: {
131
+ type: PropType<string>;
132
+ validator?(value: unknown): boolean;
133
+ } & {
134
+ required: true;
135
+ };
136
+ }, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
137
+ [key: string]: any;
138
+ }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
139
+ title: {
140
+ type: PropType<string | null>;
141
+ validator?(value: unknown): boolean;
142
+ } & {
143
+ default: string | (() => string | null) | null;
144
+ };
145
+ message: {
146
+ type: PropType<string>;
147
+ validator?(value: unknown): boolean;
148
+ } & {
149
+ required: true;
150
+ };
151
+ }>>, {
152
+ title: string | null;
153
+ }, {}>;
154
+
34
155
  export declare const AGForm: DefineComponent< {
35
156
  form: {
36
157
  type: PropType<Form<FormFieldDefinitions> | null>;
@@ -67,16 +188,16 @@ validator?(value: unknown): boolean;
67
188
  default: string | (() => string | null) | null;
68
189
  };
69
190
  routeParams: {
70
- type: PropType<RouteParams>;
191
+ type: PropType< {}>;
71
192
  validator?(value: unknown): boolean;
72
193
  } & {
73
- default: RouteParams | (() => RouteParams) | null;
194
+ default: {} | (() => {}) | null;
74
195
  };
75
196
  routeQuery: {
76
- type: PropType<LocationQuery>;
197
+ type: PropType< {}>;
77
198
  validator?(value: unknown): boolean;
78
199
  } & {
79
- default: LocationQuery | (() => LocationQuery) | null;
200
+ default: {} | (() => {}) | null;
80
201
  };
81
202
  submit: {
82
203
  type: PropType<boolean>;
@@ -100,16 +221,16 @@ validator?(value: unknown): boolean;
100
221
  default: string | (() => string | null) | null;
101
222
  };
102
223
  routeParams: {
103
- type: PropType<RouteParams>;
224
+ type: PropType< {}>;
104
225
  validator?(value: unknown): boolean;
105
226
  } & {
106
- default: RouteParams | (() => RouteParams) | null;
227
+ default: {} | (() => {}) | null;
107
228
  };
108
229
  routeQuery: {
109
- type: PropType<LocationQuery>;
230
+ type: PropType< {}>;
110
231
  validator?(value: unknown): boolean;
111
232
  } & {
112
- default: LocationQuery | (() => LocationQuery) | null;
233
+ default: {} | (() => {}) | null;
113
234
  };
114
235
  submit: {
115
236
  type: PropType<boolean>;
@@ -120,17 +241,17 @@ default: boolean | (() => boolean) | null;
120
241
  }>>, {
121
242
  url: string | null;
122
243
  route: string | null;
123
- routeParams: RouteParams;
124
- routeQuery: LocationQuery;
244
+ routeParams: {};
245
+ routeQuery: {};
125
246
  submit: boolean;
126
247
  }, {}>;
127
248
 
128
249
  export declare const AGHeadlessInput: DefineComponent< {
129
250
  as: {
130
- type: PropType<string | null>;
251
+ type: PropType<string>;
131
252
  validator?(value: unknown): boolean;
132
253
  } & {
133
- default: string | (() => string | null) | null;
254
+ default: string | (() => string) | null;
134
255
  };
135
256
  name: {
136
257
  type: PropType<string | null>;
@@ -139,19 +260,19 @@ validator?(value: unknown): boolean;
139
260
  default: string | (() => string | null) | null;
140
261
  };
141
262
  modelValue: {
142
- type: PropType<string | null>;
263
+ type: PropType<string | number | boolean | null>;
143
264
  validator?(value: unknown): boolean;
144
265
  } & {
145
- default: string | (() => string | null) | null;
266
+ default: string | number | boolean | (() => string | number | boolean | null) | null;
146
267
  };
147
268
  }, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
148
269
  [key: string]: any;
149
270
  }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, "update:modelValue"[], "update:modelValue", VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
150
271
  as: {
151
- type: PropType<string | null>;
272
+ type: PropType<string>;
152
273
  validator?(value: unknown): boolean;
153
274
  } & {
154
- default: string | (() => string | null) | null;
275
+ default: string | (() => string) | null;
155
276
  };
156
277
  name: {
157
278
  type: PropType<string | null>;
@@ -160,19 +281,47 @@ validator?(value: unknown): boolean;
160
281
  default: string | (() => string | null) | null;
161
282
  };
162
283
  modelValue: {
163
- type: PropType<string | null>;
284
+ type: PropType<string | number | boolean | null>;
164
285
  validator?(value: unknown): boolean;
165
286
  } & {
166
- default: string | (() => string | null) | null;
287
+ default: string | number | boolean | (() => string | number | boolean | null) | null;
167
288
  };
168
289
  }>> & {
169
290
  "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
170
291
  }, {
171
- as: string | null;
292
+ as: string;
172
293
  name: string | null;
173
- modelValue: string | null;
294
+ modelValue: string | number | boolean | null;
295
+ }, {}>;
296
+
297
+ export declare const AGHeadlessInputError: DefineComponent< {}, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
298
+ [key: string]: any;
299
+ }>, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {}>>, {}, {}>;
300
+
301
+ export declare const AGHeadlessInputInput: DefineComponent< {
302
+ type: {
303
+ type: PropType<string>;
304
+ validator?(value: unknown): boolean;
305
+ } & {
306
+ default: string | (() => string) | null;
307
+ };
308
+ }, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
309
+ [key: string]: any;
310
+ }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
311
+ type: {
312
+ type: PropType<string>;
313
+ validator?(value: unknown): boolean;
314
+ } & {
315
+ default: string | (() => string) | null;
316
+ };
317
+ }>>, {
318
+ type: string;
174
319
  }, {}>;
175
320
 
321
+ export declare const AGHeadlessInputLabel: DefineComponent< {}, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
322
+ [key: string]: any;
323
+ }>, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {}>>, {}, {}>;
324
+
176
325
  export declare const AGHeadlessModal: DefineComponent< {
177
326
  cancellable: {
178
327
  type: PropType<boolean>;
@@ -237,7 +386,33 @@ default: string | (() => string | null) | null;
237
386
  name: string | null;
238
387
  }, {}>;
239
388
 
389
+ export declare const AGLoadingModal: DefineComponent< {
390
+ message: {
391
+ type: PropType<string | null>;
392
+ validator?(value: unknown): boolean;
393
+ } & {
394
+ default: string | (() => string | null) | null;
395
+ };
396
+ }, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
397
+ [key: string]: any;
398
+ }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
399
+ message: {
400
+ type: PropType<string | null>;
401
+ validator?(value: unknown): boolean;
402
+ } & {
403
+ default: string | (() => string | null) | null;
404
+ };
405
+ }>>, {
406
+ message: string | null;
407
+ }, {}>;
408
+
240
409
  export declare const AGMarkdown: DefineComponent< {
410
+ as: {
411
+ type: PropType<string>;
412
+ validator?(value: unknown): boolean;
413
+ } & {
414
+ default: string | (() => string) | null;
415
+ };
241
416
  langKey: {
242
417
  type: PropType<string | null>;
243
418
  validator?(value: unknown): boolean;
@@ -250,9 +425,27 @@ validator?(value: unknown): boolean;
250
425
  } & {
251
426
  default: string | (() => string | null) | null;
252
427
  };
428
+ inline: {
429
+ type: PropType<boolean>;
430
+ validator?(value: unknown): boolean;
431
+ } & {
432
+ default: boolean | (() => boolean) | null;
433
+ };
434
+ raw: {
435
+ type: PropType<boolean>;
436
+ validator?(value: unknown): boolean;
437
+ } & {
438
+ default: boolean | (() => boolean) | null;
439
+ };
253
440
  }, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
254
441
  [key: string]: any;
255
442
  }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
443
+ as: {
444
+ type: PropType<string>;
445
+ validator?(value: unknown): boolean;
446
+ } & {
447
+ default: string | (() => string) | null;
448
+ };
256
449
  langKey: {
257
450
  type: PropType<string | null>;
258
451
  validator?(value: unknown): boolean;
@@ -265,14 +458,45 @@ validator?(value: unknown): boolean;
265
458
  } & {
266
459
  default: string | (() => string | null) | null;
267
460
  };
461
+ inline: {
462
+ type: PropType<boolean>;
463
+ validator?(value: unknown): boolean;
464
+ } & {
465
+ default: boolean | (() => boolean) | null;
466
+ };
467
+ raw: {
468
+ type: PropType<boolean>;
469
+ validator?(value: unknown): boolean;
470
+ } & {
471
+ default: boolean | (() => boolean) | null;
472
+ };
268
473
  }>>, {
474
+ as: string;
269
475
  langKey: string | null;
270
476
  text: string | null;
477
+ inline: boolean;
478
+ raw: boolean;
271
479
  }, {}>;
272
480
 
273
- export declare const AGModal: DefineComponent< {}, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
481
+ export declare const AGModal: DefineComponent< {
482
+ cancellable: {
483
+ type: PropType<boolean>;
484
+ validator?(value: unknown): boolean;
485
+ } & {
486
+ default: boolean | (() => boolean) | null;
487
+ };
488
+ }, (_ctx: any, _cache: any) => VNode<RendererNode, RendererElement, {
274
489
  [key: string]: any;
275
- }>, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {}>>, {}, {}>;
490
+ }>, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, VNodeProps & AllowedComponentProps & ComponentCustomProps, Readonly<ExtractPropTypes< {
491
+ cancellable: {
492
+ type: PropType<boolean>;
493
+ validator?(value: unknown): boolean;
494
+ } & {
495
+ default: boolean | (() => boolean) | null;
496
+ };
497
+ }>>, {
498
+ cancellable: boolean;
499
+ }, {}>;
276
500
 
277
501
  export declare const AGModalContext: DefineComponent< {
278
502
  modal: {
@@ -304,6 +528,12 @@ required: true;
304
528
  };
305
529
  }>>, {}, {}>;
306
530
 
531
+ export declare const App: Facade<AppService, Constructor<AppService>>;
532
+
533
+ export declare class AppService extends _default_2 {
534
+ protected boot(): Promise<void>;
535
+ }
536
+
307
537
  export declare function arrayProp<T>(defaultValue?: () => T[]): OptionalProp<T[]>;
308
538
 
309
539
  declare type BaseProp<T> = {
@@ -311,39 +541,104 @@ declare type BaseProp<T> = {
311
541
  validator?(value: unknown): boolean;
312
542
  };
313
543
 
544
+ export declare function booleanInput(defaultValue?: boolean): FormFieldDefinition<typeof FormFieldTypes.Boolean>;
545
+
314
546
  export declare function booleanProp(defaultValue?: boolean): OptionalProp<boolean>;
315
547
 
316
- export declare function bootServices(app: App, services: Record<string, Service>): Promise<void>;
548
+ export declare function bootServices(app: App_2, services: Record<string, Service>): Promise<void>;
317
549
 
318
- export declare function bootstrapApplication(rootComponent: Component, options?: BootstrapOptions): Promise<void>;
319
-
320
- declare interface BootstrapOptions {
321
- }
550
+ export declare function bootstrapApplication(rootComponent: Component, options?: AerogelOptions): Promise<void>;
322
551
 
323
552
  export declare function componentRef<T>(): Ref<UnwrapNestedRefs<T> | undefined>;
324
553
 
325
- declare const _default: Constructor<State> & Constructor<Service<DefaultServiceState>> & Service;
554
+ export declare type ComputedStateDefinition<TState extends ServiceState, TComputedState extends ServiceState> = {
555
+ [K in keyof TComputedState]: (state: TState) => TComputedState[K];
556
+ } & ThisType<{
557
+ readonly [K in keyof TComputedState]: TComputedState[K];
558
+ }>;
559
+
560
+ declare const _default: Constructor< {
561
+ logs: ErrorReportLog[];
562
+ startupErrors: ErrorReport[];
563
+ }> & Constructor< {
564
+ hasErrors: boolean;
565
+ hasNewErrors: boolean;
566
+ hasStartupErrors: boolean;
567
+ }> & Constructor<Service<DefaultServiceState, {}, Partial<DefaultServiceState>>> & Service;
568
+
569
+ declare const _default_2: Constructor< {
570
+ environment: "production" | "development" | "testing";
571
+ isMounted: boolean;
572
+ }> & Constructor< {
573
+ isDevelopment: boolean;
574
+ isTesting: boolean;
575
+ }> & Constructor<Service<DefaultServiceState, {}, Partial<DefaultServiceState>>> & Service;
576
+
577
+ declare const _default_3: Constructor< {
578
+ modals: Modal<unknown>[];
579
+ }> & Constructor< {}> & Constructor<Service<DefaultServiceState, {}, Partial<DefaultServiceState>>> & Service;
326
580
 
327
581
  export declare type DefaultServices = typeof defaultServices;
328
582
 
329
583
  declare const defaultServices: {
330
- $events: Facade<EventsService>;
584
+ $app: Facade<AppService, Constructor<AppService>>;
585
+ $events: Facade<EventsService, Constructor<EventsService>>;
331
586
  };
332
587
 
333
- export declare type DefaultServiceState = {};
588
+ export declare type DefaultServiceState = any;
334
589
 
335
590
  export declare function defineDirective(directive: Directive): Directive;
336
591
 
337
- export declare function defineServiceState<State extends ServiceState>(options: {
592
+ export declare function definePlugin<T extends Plugin_2>(plugin: T): T;
593
+
594
+ export declare function defineServiceState<State extends ServiceState = ServiceState, ComputedState extends ServiceState = {}>(options: {
595
+ name: string;
338
596
  initialState: State;
339
- }): Constructor<State> & ServiceConstructor;
597
+ persist?: (keyof State)[];
598
+ computed?: ComputedStateDefinition<State, ComputedState>;
599
+ serialize?: (state: Partial<State>) => Partial<State>;
600
+ }): Constructor<State> & Constructor<ComputedState> & Constructor<Service<State, ComputedState, Partial<State>>>;
340
601
 
341
602
  export declare function enumProp<Enum extends Record<string, unknown>>(enumeration: Enum, defaultValue?: Enum[keyof Enum]): OptionalProp<Enum[keyof Enum]>;
342
603
 
604
+ export declare interface ErrorReport {
605
+ title: string;
606
+ description?: string;
607
+ details?: string;
608
+ error?: Error | JSError | unknown;
609
+ }
610
+
611
+ export declare interface ErrorReportLog {
612
+ report: ErrorReport;
613
+ seen: boolean;
614
+ date: Date;
615
+ }
616
+
617
+ export declare const Errors: Facade<ErrorsService, Constructor<ErrorsService>>;
618
+
619
+ export declare type ErrorSource = string | Error | JSError | unknown;
620
+
621
+ declare class ErrorsService extends _default {
622
+ forceReporting: boolean;
623
+ private enabled;
624
+ enable(): void;
625
+ disable(): void;
626
+ inspect(error: ErrorSource | ErrorReport[]): Promise<void>;
627
+ report(error: ErrorSource, message?: string): Promise<void>;
628
+ see(report: ErrorReport): void;
629
+ seeAll(): void;
630
+ private logError;
631
+ private createErrorReport;
632
+ private createStartupErrorReport;
633
+ private createErrorReportFromError;
634
+ }
635
+
636
+ export declare type ErrorsServices = typeof services;
637
+
343
638
  declare type EventListener_2<T = unknown> = (payload: T) => unknown;
344
639
  export { EventListener_2 as EventListener }
345
640
 
346
- export declare const Events: Facade<EventsService>;
641
+ export declare const Events: Facade<EventsService, Constructor<EventsService>>;
347
642
 
348
643
  export declare interface EventsPayload {
349
644
  }
@@ -383,16 +678,19 @@ declare class Form<Fields extends FormFieldDefinitions = FormFieldDefinitions> e
383
678
  setFieldValue<T extends keyof Fields>(field: T, value: FormData_2<Fields>[T]): void;
384
679
  getFieldValue<T extends keyof Fields>(field: T): GetFormFieldValue<Fields[T]['type']>;
385
680
  validate(): boolean;
681
+ reset(): void;
386
682
  submit(): boolean;
387
683
  protected __get(property: string): unknown;
388
684
  protected __set(property: string, value: unknown): void;
389
685
  private getFieldErrors;
390
686
  private getInitialData;
391
687
  private getInitialErrors;
688
+ private resetData;
689
+ private resetErrors;
392
690
  }
393
691
 
394
692
  declare type FormData_2<T> = {
395
- [k in keyof T]: T[k] extends FormFieldDefinition<infer TType, infer TRules> ? TRules extends 'required' ? GetFormFieldValue<TType> : GetFormFieldValue<TType> | null : never;
693
+ -readonly [k in keyof T]: T[k] extends FormFieldDefinition<infer TType, infer TRules> ? TRules extends 'required' ? GetFormFieldValue<TType> : GetFormFieldValue<TType> | null : never;
396
694
  };
397
695
  export { FormData_2 as FormData }
398
696
 
@@ -413,9 +711,17 @@ export declare type FormFieldType = ObjectValues<typeof FormFieldTypes>;
413
711
  export declare const FormFieldTypes: {
414
712
  readonly String: "string";
415
713
  readonly Number: "number";
714
+ readonly Boolean: "boolean";
416
715
  };
417
716
 
418
- export declare type GetFormFieldValue<TType> = TType extends typeof FormFieldTypes.String ? string : TType extends typeof FormFieldTypes.Number ? number : never;
717
+ export declare type GetFormFieldValue<TType> = TType extends typeof FormFieldTypes.String ? string : TType extends typeof FormFieldTypes.Number ? number : TType extends typeof FormFieldTypes.Boolean ? boolean : never;
718
+
719
+ export declare interface IAGHeadlessInput {
720
+ id: string;
721
+ value: ComputedRef<string | number | boolean | null>;
722
+ errors: DeepReadonly<Ref<string[] | null>>;
723
+ update(value: string | number | boolean | null): void;
724
+ }
419
725
 
420
726
  export declare interface IAGHeadlessModal extends IAGModal {
421
727
  }
@@ -431,25 +737,22 @@ export declare function injectReactive<T extends object>(key: InjectionKey<T> |
431
737
 
432
738
  export declare function injectReactiveOrFail<T extends object>(key: InjectionKey<T> | string, errorMessage?: string): UnwrapNestedRefs<T>;
433
739
 
434
- export declare const Lang: Facade<LangService>;
435
-
436
- export declare function lang(key: string, parameters?: Record<string, unknown>): string;
740
+ export declare const Lang: Facade<LangService, Constructor<LangService>>;
437
741
 
438
- export declare interface LangOptions {
439
- messages: Record<string, unknown>;
440
- defaultLocale?: string;
441
- fallbackLocale?: string;
742
+ export declare interface LangProvider {
743
+ translate(key: string, parameters?: Record<string, unknown>): string;
442
744
  }
443
745
 
444
746
  declare class LangService extends Service {
445
- private i18n?;
446
- setup(): void;
747
+ private provider;
748
+ constructor();
749
+ setProvider(provider: LangProvider): void;
447
750
  translate(key: string, parameters?: Record<string, unknown>): string;
751
+ translateWithDefault(key: string, defaultMessage: string): string;
752
+ translateWithDefault(key: string, parameters: Record<string, unknown>, defaultMessage: string): string;
448
753
  }
449
754
 
450
- export declare type LangServices = typeof services;
451
-
452
- export declare type LazyMessages = () => Promise<Record<string, unknown>>;
755
+ export declare type LangServices = typeof services_2;
453
756
 
454
757
  export declare function mixedProp<T>(type: PropType<T>): OptionalProp<T | null>;
455
758
 
@@ -478,12 +781,21 @@ export declare function objectProp<T = Object>(): OptionalProp<T | null>;
478
781
 
479
782
  export declare function objectProp<T>(defaultValue: () => T): OptionalProp<T>;
480
783
 
784
+ export declare function onCleanMounted(operation: () => Function): void;
785
+
481
786
  declare type OptionalProp<T> = BaseProp<T> & {
482
787
  default: T | (() => T) | null;
483
788
  };
484
789
 
790
+ declare interface Plugin_2 {
791
+ install(app: App_2, options: AerogelOptions): void | Promise<void>;
792
+ }
793
+ export { Plugin_2 as Plugin }
794
+
485
795
  export declare function requiredArrayProp<T>(): RequiredProp<T[]>;
486
796
 
797
+ export declare function requiredBooleanInput(defaultValue?: boolean): FormFieldDefinition<typeof FormFieldTypes.Boolean, 'required'>;
798
+
487
799
  export declare function requiredEnumProp<Enum extends Record<string, unknown>>(enumeration: Enum): RequiredProp<Enum[keyof Enum]>;
488
800
 
489
801
  export declare function requiredMixedProp<T>(type: PropType<T>): RequiredProp<T>;
@@ -502,21 +814,30 @@ export declare function requiredStringInput(defaultValue?: string): FormFieldDef
502
814
 
503
815
  export declare function requiredStringProp(): RequiredProp<string>;
504
816
 
505
- export declare class Service<State extends ServiceState = DefaultServiceState> extends MagicObject {
506
- protected _namespace: string;
817
+ export declare class Service<State extends ServiceState = DefaultServiceState, ComputedState extends ServiceState = {}, ServiceStorage extends Partial<State> = Partial<State>> extends MagicObject {
818
+ static persist: string[];
819
+ protected _name: string;
507
820
  private _booted;
508
- private _state;
821
+ private _computedStateKeys;
822
+ private _store?;
509
823
  constructor();
510
824
  get booted(): PromisedValue<void>;
511
- launch(namespace?: string): Promise<void>;
825
+ launch(): Promise<void>;
826
+ hasState<P extends keyof State>(property: P): boolean;
827
+ getState(): State;
828
+ getState<P extends keyof State>(property: P): State[P];
829
+ setState<P extends keyof State>(property: P, value: State[P]): void;
830
+ setState(state: Partial<State>): void;
512
831
  protected __get(property: string): unknown;
513
832
  protected __set(property: string, value: unknown): void;
514
- protected hasState<P extends keyof State>(property: P): boolean;
515
- protected getState(): State;
516
- protected getState<P extends keyof State>(property: P): State[P];
517
- protected setState(state: Partial<State>): void;
833
+ protected onStateUpdated(state: Partial<State>): void;
834
+ protected usesStore(): boolean;
835
+ protected getName(): string | null;
518
836
  protected getInitialState(): State;
837
+ protected getComputedStateDefinition(): ComputedStateDefinition<State, ComputedState>;
838
+ protected serializePersistedState(state: Partial<State>): Partial<State>;
519
839
  protected boot(): Promise<void>;
840
+ protected restorePersistedState(): void;
520
841
  }
521
842
 
522
843
  export declare type ServiceConstructor<T extends Service = Service> = Constructor<T> & typeof Service;
@@ -525,18 +846,18 @@ export declare interface Services extends DefaultServices {
525
846
  }
526
847
 
527
848
  declare const services: {
528
- $lang: Facade<LangService>;
849
+ $errors: Facade<ErrorsService, Constructor<ErrorsService>>;
529
850
  };
530
851
 
531
852
  declare const services_2: {
532
- $ui: Facade<UIService>;
853
+ $lang: Facade<LangService, Constructor<LangService>>;
533
854
  };
534
855
 
535
- export declare type ServiceState = Record<string, any>;
856
+ declare const services_3: {
857
+ $ui: Facade<UIService, Constructor<UIService>>;
858
+ };
536
859
 
537
- declare interface State {
538
- modals: Modal[];
539
- }
860
+ export declare type ServiceState = Record<string, any>;
540
861
 
541
862
  export declare function stringInput(defaultValue?: string): FormFieldDefinition<typeof FormFieldTypes.String>;
542
863
 
@@ -544,18 +865,32 @@ export declare function stringProp(): OptionalProp<string | null>;
544
865
 
545
866
  export declare function stringProp(defaultValue: string): OptionalProp<string>;
546
867
 
547
- export declare const UI: Facade<UIService>;
868
+ export declare const translate: (key: string, parameters?: Record<string, unknown> | undefined) => string;
869
+
870
+ export declare const translateWithDefault: {
871
+ (key: string, defaultMessage: string): string;
872
+ (key: string, parameters: Record<string, unknown>, defaultMessage: string): string;
873
+ };
874
+
875
+ export declare const UI: Facade<UIService, Constructor<UIService>>;
548
876
 
549
877
  export declare type UIComponent = ObjectValues<typeof UIComponents>;
550
878
 
551
879
  export declare const UIComponents: {
552
880
  readonly AlertModal: "alert-modal";
881
+ readonly ConfirmModal: "confirm-modal";
882
+ readonly LoadingModal: "loading-modal";
553
883
  };
554
884
 
555
- declare class UIService extends _default {
885
+ declare class UIService extends _default_3 {
556
886
  private modalCallbacks;
557
887
  private components;
558
888
  alert(message: string): void;
889
+ alert(title: string, message: string): void;
890
+ confirm(message: string): Promise<boolean>;
891
+ confirm(title: string, message: string): Promise<boolean>;
892
+ loading<T>(operation: Promise<T>): Promise<T>;
893
+ loading<T>(message: string, operation: Promise<T>): Promise<T>;
559
894
  registerComponent(name: UIComponent, component: Component): void;
560
895
  openModal<TModalComponent extends ModalComponent>(component: TModalComponent, properties?: ModalProperties<TModalComponent>): Promise<Modal<ModalResult<TModalComponent>>>;
561
896
  closeModal(id: string, result?: unknown): Promise<void>;
@@ -564,31 +899,40 @@ declare class UIService extends _default {
564
899
  private watchModalEvents;
565
900
  }
566
901
 
567
- export declare type UIServices = typeof services_2;
902
+ export declare type UIServices = typeof services_3;
568
903
 
569
904
  export declare type UnknownEvent<T> = T extends keyof EventsPayload ? never : T;
570
905
 
906
+ export declare function useEvent<Event extends EventWithoutPayload>(event: Event, listener: () => unknown): void;
907
+
908
+ export declare function useEvent<Event extends EventWithPayload>(event: Event, listener: EventListener_2<EventsPayload[Event]>): void;
909
+
910
+ export declare function useEvent<Event extends string>(event: UnknownEvent<Event>, listener: EventListener_2): void;
911
+
571
912
  export declare function useForm<const T extends FormFieldDefinitions>(fields: T): Form<T> & FormData_2<T>;
572
913
 
914
+ export declare function useInputAttrs(): [ComputedRef<{}>, ComputedRef<unknown>];
915
+
573
916
  export { }
574
917
 
575
- interface BootstrapOptions {
576
- lang?: LangOptions;
577
- langMessages?: Record<string, unknown>;
578
- }
918
+ export interface Services extends ErrorsServices {}
579
919
 
580
- interface Services extends LangServices {}
920
+ declare global {
921
+ export const __AG_BASE_PATH: string | undefined;
922
+ export const __AG_ENV: 'production' | 'development' | 'testing';
923
+ }
581
924
 
582
- interface BootstrapOptions {
583
- models?: Record<string, Record<string, unknown>>;
584
- }
925
+ export interface Services extends LangServices {}
585
926
 
586
- interface BootstrapOptions {
587
- routes?: RouteRecordRaw[];
588
- basePath?: string;
927
+ declare module '@vue/runtime-core' {
928
+ interface ComponentCustomProperties {
929
+ $td: typeof translateWithDefault;
589
930
  }
931
+ }
590
932
 
591
- import type { RouteRecordRaw } from 'vue-router';
933
+ interface AerogelOptions {
934
+ services?: Record<string, Service>;
935
+ }
592
936
 
593
937
  declare module '@vue/runtime-core' {
594
938
  interface ComponentCustomProperties extends Services {}
@@ -602,8 +946,8 @@ declare module '@vue/runtime-core' {
602
946
  'show-modal': { id: string };
603
947
  }
604
948
 
605
- interface BootstrapOptions {
949
+ interface AerogelOptions {
606
950
  components?: Partial<Record<UIComponent, Component>>;
607
951
  }
608
952
 
609
- interface Services extends UIServices {}
953
+ export interface Services extends UIServices {}