@hybridly/vue 0.10.0-beta.13 → 0.10.0-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.mts CHANGED
@@ -1,76 +1,35 @@
1
- import { GlobalHybridlyProperties, HybridRequestOptions, Method, NavigationResponse, Plugin, Progress, RouteName, RouteParameters, RouterContext, RouterContextOptions, UrlResolvable, can, registerHook as registerHook$1, route, router } from "@hybridly/core";
2
- import { FormDataConvertible, RequestData } from "@hybridly/utils";
1
+ import { Errors, GlobalHybridlyProperties, HttpClient, HybridRequestOptions, Method, NavigationResponse, Plugin, Progress, RequestMode, RouteName, RouteParameters, RouterContext, RouterContextOptions, UrlResolvable, Validation, can, registerHook as registerHook$1, route, router } from "@hybridly/core";
2
+ import { FormDataConvertible, Path, PathValue, RequestData, SearchableObject } from "@hybridly/utils";
3
3
  import * as vue from "vue";
4
- import { App, ComputedRef, DeepReadonly, DefineComponent, MaybeRefOrGetter, Plugin as Plugin$1, Ref, h } from "vue";
5
- import { Path, PathValue, SearchableObject } from "@clickbar/dot-diver";
4
+ import { App, Component, ComputedRef, DeepReadonly, DefineComponent, MaybeRefOrGetter, Plugin as Plugin$1, PropType, Ref, SlotsType, h } from "vue";
5
+ import { Path as Path$1, SearchableObject as SearchableObject$1 } from "@clickbar/dot-diver";
6
6
 
7
- //#region src/components/link.d.ts
8
- interface RouterLinkProps {
9
- href?: string;
10
- as?: string | object;
11
- method?: Method | Lowercase<Method>;
12
- data?: RequestData;
13
- external?: boolean;
14
- disabled?: boolean;
15
- options?: Omit<HybridRequestOptions, 'url' | 'data' | 'method'>;
16
- text?: string;
17
- preload?: boolean | 'hover' | 'mount';
18
- preserveScroll?: boolean;
19
- preserveState?: boolean;
20
- }
21
- declare const RouterLink: DefineComponent<RouterLinkProps>;
22
- import * as import__hybridly_core from "@hybridly/core";
23
- //#endregion
24
- //#region src/plugins/progress.d.ts
25
- interface ProgressOptions {
26
- /**
27
- * The delay after which the progress bar will
28
- * appear during navigation, in milliseconds.
29
- *
30
- * @default 250
31
- */
32
- delay: number;
33
- /**
34
- * The color of the progress bar.
35
- *
36
- * Defaults to #29d.
37
- */
38
- color: string;
39
- /**
40
- * Whether to include the default NProgress styles.
41
- *
42
- * Defaults to true.
43
- */
44
- includeCSS: boolean;
45
- /**
46
- * Whether the NProgress spinner will be shown.
47
- *
48
- * Defaults to false.
49
- */
50
- spinner: boolean;
51
- }
52
- //#endregion
53
- //#region src/composables/property.d.ts
54
- type Property$1 = string | number | boolean | Property$1[] | {
55
- [name: string]: Property$1;
56
- };
57
- type InternalProperties = GlobalHybridlyProperties & {
58
- [key: string]: Property$1;
59
- };
60
- /** Accesses all current properties. */
61
- declare function useProperties<T extends object, Global extends InternalProperties = InternalProperties>(): vue.DeepReadonly<vue.UnwrapNestedRefs<T & Global>>;
62
- /** Accesses a property with a dot notation. */
63
- declare function useProperty<Override = never, T extends SearchableObject = GlobalHybridlyProperties, P extends Path<T> & string = Path<T> & string, ReturnType = ([Override] extends [never] ? PathValue<T, P> : Override)>(path: [Override] extends [never] ? P : string): ComputedRef<ReturnType>;
64
- /**
65
- * Sets the property at the given path to the given value.
66
- * Note: this helper is experimental and may change in the future.
67
- */
68
- declare function setProperty<Override = never, T extends SearchableObject = GlobalHybridlyProperties, P extends Path<T> & string = Path<T> & string, ValueType = ([Override] extends [never] ? PathValue<T, P> : Override)>(path: [Override] extends [never] ? P : string, value: ValueType): void;
7
+ //#region src/components/deferred.d.ts
8
+ declare const Deferred: vue.DefineComponent<vue.ExtractPropTypes<{
9
+ data: {
10
+ type: PropType<string | string[]>;
11
+ required: true;
12
+ };
13
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
14
+ [key: string]: any;
15
+ }>[], {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
16
+ data: {
17
+ type: PropType<string | string[]>;
18
+ required: true;
19
+ };
20
+ }>> & Readonly<{}>, {}, SlotsType<{
21
+ default: {
22
+ reloading: boolean;
23
+ loading: boolean;
24
+ loaded: boolean;
25
+ };
26
+ fallback: {};
27
+ }>, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
69
28
  //#endregion
70
29
  //#region src/composables/form.d.ts
71
- type Errors<T extends SearchableObject> = { [K in keyof T]?: T[K] extends Record<string, any> ? Errors<T[K]> : string };
72
- type DefaultFormOptions = Pick<FormOptions<object>, 'timeout' | 'reset' | 'updateInitials' | 'progress' | 'preserveScroll' | 'preserveState' | 'preserveUrl' | 'headers' | 'errorBag' | 'spoof' | 'transformUrl' | 'updateHistoryState' | 'useFormData'>;
73
- interface FormOptions<T extends SearchableObject> extends Omit<HybridRequestOptions, 'data' | 'url'> {
30
+ type Errors$1<T extends SearchableObject$1> = { [K in keyof T]?: T[K] extends Record<string, any> ? Errors$1<T[K]> : string };
31
+ type DefaultFormOptions = Pick<FormOptions<object>, 'timeout' | 'resetOnSuccess' | 'setDefaultOnSuccess' | 'progress' | 'preserveScroll' | 'preserveState' | 'preserveUrl' | 'headers' | 'errorBag' | 'spoof' | 'transformUrl' | 'updateHistoryState' | 'useFormData'>;
32
+ interface FormOptions<T extends SearchableObject$1> extends Omit<HybridRequestOptions, 'data' | 'url' | 'reset'> {
74
33
  fields: T;
75
34
  url?: UrlResolvable | (() => UrlResolvable);
76
35
  key?: string | false;
@@ -79,55 +38,254 @@ interface FormOptions<T extends SearchableObject> extends Omit<HybridRequestOpti
79
38
  */
80
39
  timeout?: number;
81
40
  /**
82
- * Resets the fields of the form to their initial value after a successful submission.
41
+ * Resets the fields of the form to their default value after a successful submission.
83
42
  * @default true
84
43
  */
85
- reset?: boolean;
44
+ resetOnSuccess?: boolean;
86
45
  /**
87
- * Updates the initial values from the form after a successful submission.
46
+ * Updates the default values from the form after a successful submission.
88
47
  * @default false
89
48
  */
90
- updateInitials?: boolean;
49
+ setDefaultOnSuccess?: boolean;
91
50
  /**
92
51
  * Callback executed before the form submission for transforming the fields.
93
52
  */
94
53
  transform?: (fields: T) => any;
95
54
  }
96
- interface FormReturn<T extends SearchableObject, P extends Path<T> & string = Path<T> & string> {
55
+ interface FormReturn<T extends SearchableObject$1, P extends Path$1<T> & string = Path$1<T> & string> {
97
56
  resetFields: (...keys: P[]) => void;
98
57
  reset: () => void;
99
58
  resetSubmissionState: () => void;
100
59
  clear: (...keys: P[]) => void;
101
60
  fields: T;
102
61
  abort: () => void;
103
- setErrors: (incoming: Errors<T>) => void;
62
+ setErrors: (incoming: Errors$1<T>) => void;
104
63
  clearErrors: (...keys: P[]) => void;
105
64
  clearError: (key: P) => void;
106
- setInitial: (newInitial: Partial<T>) => void;
65
+ setDefault: (newDefault: Partial<T>) => void;
107
66
  hasDirty: (...keys: P[]) => boolean;
108
- submitWith: (optionsOverrides?: Omit<FormOptions<T>, 'fields' | 'key'>) => Promise<any>;
109
- submitWithOptions: (optionsOverrides?: Omit<FormOptions<T>, 'fields' | 'key'>) => Promise<any>;
110
- submit: () => Promise<any>;
67
+ submit: (optionsOverrides?: Omit<FormOptions<T>, 'fields' | 'key'>) => Promise<any>;
111
68
  hasErrors: boolean;
112
- initial: DeepReadonly<T>;
69
+ defaults: DeepReadonly<T>;
113
70
  loaded: DeepReadonly<T>;
114
71
  progress: Progress | undefined;
115
72
  isDirty: boolean;
116
- errors: Errors<T>;
73
+ errors: Errors$1<T>;
117
74
  processing: boolean;
118
75
  successful: boolean;
119
76
  failed: boolean;
120
77
  recentlySuccessful: boolean;
121
78
  recentlyFailed: boolean;
122
79
  }
123
- declare function useForm<T extends SearchableObject, P extends Path<T> & string = Path<T> & string>(options: FormOptions<T>): FormReturn<T, P>;
80
+ declare function useForm<T extends SearchableObject$1, P extends Path$1<T> & string = Path$1<T> & string>(options: FormOptions<T>): FormReturn<T, P>;
124
81
  //#endregion
125
- //#region src/composables/history.d.ts
126
- /**
127
- * Returns a ref with a value saved in the history state through Hybridly.
128
- * The state is linked to a specific browser history entry.
129
- */
130
- declare function useHistoryState<T = any>(key: string, initial: T): Ref<T>;
82
+ //#region src/components/form.d.ts
83
+ type DefaultFormFields = Record<string, any>;
84
+ type FormInternalSubmitOptions<T extends SearchableObject$1 = DefaultFormFields> = NonNullable<Parameters<FormReturn<T>['submit']>[0]>;
85
+ type FormRequestOptions = Omit<HybridRequestOptions, 'url' | 'data' | 'method' | 'errorBag' | 'progress'>;
86
+ type FormSubmitOptions<T extends SearchableObject$1 = DefaultFormFields> = FormInternalSubmitOptions<T>;
87
+ type FormSlotProps<T extends SearchableObject$1 = DefaultFormFields> = Omit<FormReturn<T>, 'submit' | 'reset' | 'resetFields' | 'errors'> & {
88
+ errors: Record<string, any>;
89
+ getError: (key: string) => any;
90
+ submit: (optionsOverrides?: FormSubmitOptions<T>) => Promise<any>;
91
+ reset: () => void;
92
+ resetFields: (...keys: string[]) => void;
93
+ };
94
+ interface FormProps {
95
+ action?: string;
96
+ method?: Method | Lowercase<Method>;
97
+ options?: FormRequestOptions;
98
+ errorBag?: string;
99
+ showProgress?: boolean;
100
+ disableWhileProcessing?: boolean;
101
+ resetOnSuccess?: boolean;
102
+ setDefaultOnSuccess?: boolean;
103
+ }
104
+ declare const Form: vue.DefineComponent<vue.ExtractPropTypes<{
105
+ action: {
106
+ type: StringConstructor;
107
+ required: false;
108
+ default: undefined;
109
+ };
110
+ method: {
111
+ type: PropType<NonNullable<FormProps["method"]>>;
112
+ default: "POST";
113
+ };
114
+ options: {
115
+ type: PropType<FormRequestOptions>;
116
+ default: () => {};
117
+ };
118
+ errorBag: {
119
+ type: StringConstructor;
120
+ required: false;
121
+ default: undefined;
122
+ };
123
+ showProgress: {
124
+ type: BooleanConstructor;
125
+ required: false;
126
+ default: undefined;
127
+ };
128
+ disableWhileProcessing: {
129
+ type: BooleanConstructor;
130
+ default: false;
131
+ };
132
+ resetOnSuccess: {
133
+ type: BooleanConstructor;
134
+ default: true;
135
+ };
136
+ setDefaultOnSuccess: {
137
+ type: BooleanConstructor;
138
+ default: false;
139
+ };
140
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
141
+ [key: string]: any;
142
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
143
+ action: {
144
+ type: StringConstructor;
145
+ required: false;
146
+ default: undefined;
147
+ };
148
+ method: {
149
+ type: PropType<NonNullable<FormProps["method"]>>;
150
+ default: "POST";
151
+ };
152
+ options: {
153
+ type: PropType<FormRequestOptions>;
154
+ default: () => {};
155
+ };
156
+ errorBag: {
157
+ type: StringConstructor;
158
+ required: false;
159
+ default: undefined;
160
+ };
161
+ showProgress: {
162
+ type: BooleanConstructor;
163
+ required: false;
164
+ default: undefined;
165
+ };
166
+ disableWhileProcessing: {
167
+ type: BooleanConstructor;
168
+ default: false;
169
+ };
170
+ resetOnSuccess: {
171
+ type: BooleanConstructor;
172
+ default: true;
173
+ };
174
+ setDefaultOnSuccess: {
175
+ type: BooleanConstructor;
176
+ default: false;
177
+ };
178
+ }>> & Readonly<{}>, {
179
+ action: string;
180
+ method: NonNullable<Method | "get" | "post" | "put" | "patch" | "delete" | undefined>;
181
+ options: FormRequestOptions;
182
+ errorBag: string;
183
+ showProgress: boolean;
184
+ disableWhileProcessing: boolean;
185
+ resetOnSuccess: boolean;
186
+ setDefaultOnSuccess: boolean;
187
+ }, SlotsType<{
188
+ default: FormSlotProps;
189
+ }>, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
190
+ //#endregion
191
+ //#region src/components/link.d.ts
192
+ interface RouterLinkProps {
193
+ href?: string;
194
+ as?: string | object;
195
+ method?: Method | Lowercase<Method>;
196
+ mode?: RequestMode;
197
+ data?: RequestData;
198
+ external?: boolean;
199
+ disabled?: boolean;
200
+ options?: Omit<HybridRequestOptions, 'url' | 'data' | 'method'>;
201
+ text?: string;
202
+ preload?: boolean | 'hover' | 'mount';
203
+ preserveScroll?: boolean;
204
+ preserveState?: boolean;
205
+ }
206
+ declare const RouterLink: DefineComponent<RouterLinkProps>;
207
+ //#endregion
208
+ //#region src/components/when-visible.d.ts
209
+ declare const WhenVisible: vue.DefineComponent<vue.ExtractPropTypes<{
210
+ as: {
211
+ type: StringConstructor;
212
+ default: string;
213
+ };
214
+ data: {
215
+ type: (StringConstructor | {
216
+ (arrayLength: number): string[];
217
+ (...items: string[]): string[];
218
+ new (arrayLength: number): string[];
219
+ new (...items: string[]): string[];
220
+ isArray(arg: any): arg is any[];
221
+ readonly prototype: any[];
222
+ from<T>(arrayLike: ArrayLike<T>): T[];
223
+ from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
224
+ from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
225
+ from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
226
+ of<T>(...items: T[]): T[];
227
+ fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
228
+ fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>, index: number) => U, thisArg?: any): Promise<Awaited<U>[]>;
229
+ readonly [Symbol.species]: ArrayConstructor;
230
+ })[];
231
+ required: true;
232
+ };
233
+ buffer: {
234
+ type: NumberConstructor;
235
+ default: number;
236
+ };
237
+ once: {
238
+ type: BooleanConstructor;
239
+ default: boolean;
240
+ };
241
+ options: {
242
+ type: PropType<Omit<HybridRequestOptions, "url" | "data" | "method">>;
243
+ default: () => {};
244
+ };
245
+ }>, () => vue.VNode<vue.RendererNode, vue.RendererElement, {
246
+ [key: string]: any;
247
+ }>, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
248
+ as: {
249
+ type: StringConstructor;
250
+ default: string;
251
+ };
252
+ data: {
253
+ type: (StringConstructor | {
254
+ (arrayLength: number): string[];
255
+ (...items: string[]): string[];
256
+ new (arrayLength: number): string[];
257
+ new (...items: string[]): string[];
258
+ isArray(arg: any): arg is any[];
259
+ readonly prototype: any[];
260
+ from<T>(arrayLike: ArrayLike<T>): T[];
261
+ from<T, U>(arrayLike: ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
262
+ from<T>(iterable: Iterable<T> | ArrayLike<T>): T[];
263
+ from<T, U>(iterable: Iterable<T> | ArrayLike<T>, mapfn: (v: T, k: number) => U, thisArg?: any): U[];
264
+ of<T>(...items: T[]): T[];
265
+ fromAsync<T>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T | PromiseLike<T>> | ArrayLike<T | PromiseLike<T>>): Promise<T[]>;
266
+ fromAsync<T, U>(iterableOrArrayLike: AsyncIterable<T> | Iterable<T> | ArrayLike<T>, mapFn: (value: Awaited<T>, index: number) => U, thisArg?: any): Promise<Awaited<U>[]>;
267
+ readonly [Symbol.species]: ArrayConstructor;
268
+ })[];
269
+ required: true;
270
+ };
271
+ buffer: {
272
+ type: NumberConstructor;
273
+ default: number;
274
+ };
275
+ once: {
276
+ type: BooleanConstructor;
277
+ default: boolean;
278
+ };
279
+ options: {
280
+ type: PropType<Omit<HybridRequestOptions, "url" | "data" | "method">>;
281
+ default: () => {};
282
+ };
283
+ }>> & Readonly<{}>, {
284
+ options: Omit<HybridRequestOptions, "data" | "method" | "url">;
285
+ as: string;
286
+ buffer: number;
287
+ once: boolean;
288
+ }, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
131
289
  //#endregion
132
290
  //#region src/composables/back-forward.d.ts
133
291
  type BackForwardCallback = (context: RouterContext) => void;
@@ -142,6 +300,66 @@ declare function useBackForward(options?: UseBackForwardOptions): {
142
300
  reloadOnBackForward: (options?: HybridRequestOptions) => void;
143
301
  };
144
302
  //#endregion
303
+ //#region src/composables/bulk-select.d.ts
304
+ interface BulkSelection<T = any> {
305
+ /** Whether all records are selected. */
306
+ all: boolean;
307
+ /** Included records. */
308
+ only: Set<T>;
309
+ /** Excluded records. */
310
+ except: Set<T>;
311
+ }
312
+ declare function useBulkSelect<T = any>(): {
313
+ allSelected: vue.ComputedRef<boolean>;
314
+ anySelected: vue.ComputedRef<boolean>;
315
+ toggleAll: (force?: boolean) => void;
316
+ selectAll: () => void;
317
+ deselectAll: () => void;
318
+ select: (...records: T[]) => void;
319
+ deselect: (...records: T[]) => void;
320
+ toggle: (record: T, force?: boolean) => void;
321
+ selected: (record: T) => boolean;
322
+ selection: Ref<BulkSelection<T>, BulkSelection<T>>;
323
+ bindCheckbox: (key: T) => {
324
+ onChange: (event: Event) => void;
325
+ checked: boolean;
326
+ value: T;
327
+ };
328
+ };
329
+ //#endregion
330
+ //#region src/composables/current-route.d.ts
331
+ declare function useRoute(): {
332
+ isNavigating: Readonly<vue.Ref<boolean, boolean>>;
333
+ current: Readonly<vue.Ref<string | undefined, string | undefined>>;
334
+ matches: <T extends RouteName>(name: MaybeRefOrGetter<T>, parameters?: RouteParameters<T>) => boolean;
335
+ };
336
+ import * as import__hybridly_core from "@hybridly/core";
337
+ //#endregion
338
+ //#region ../core/src/router/types.d.ts
339
+ type Property$1 = null | string | number | boolean | Property$1[] | {
340
+ [name: string]: Property$1;
341
+ };
342
+ type Properties = Record<string | number, Property$1>;
343
+ //#endregion
344
+ //#region src/composables/dialog.d.ts
345
+ /**
346
+ * Exposes utilities related to the dialogs.
347
+ */
348
+ declare function useDialog(): {
349
+ /** Closes the dialog. */close: () => Promise<void | index_d_exports.NavigationResponse>; /** Closes the dialog without a server round-trip. */
350
+ closeLocally: () => Promise<void | index_d_exports.NavigationResponse>; /** Unmounts the dialog. Should be called after its closing animations. */
351
+ unmount: () => void; /** Whether the dialog is shown. */
352
+ show: vue.WritableComputedRef<boolean | undefined, boolean | undefined>; /** Properties of the dialog. */
353
+ properties: vue.ComputedRef<Properties | undefined>;
354
+ };
355
+ //#endregion
356
+ //#region src/composables/history.d.ts
357
+ /**
358
+ * Returns a ref with a value saved in the history state through Hybridly.
359
+ * The state is linked to a specific browser history entry.
360
+ */
361
+ declare function useHistoryState<T = any>(key: string, initial: T): Ref<T>;
362
+ //#endregion
145
363
  //#region src/composables/paginator.d.ts
146
364
  declare global {
147
365
  /**
@@ -218,30 +436,59 @@ type PaginatorResult<T, P = MaybeWithData<Paginator<T>>> = P extends MaybeWithDa
218
436
  } : P;
219
437
  declare function createPaginator<T, P extends MaybeWithData<Paginator<T> | SimplePaginator<T> | CursorPaginator<T>>>(paginator: P, defaultOptions?: Omit<index_d_exports.HybridRequestOptions, 'method' | 'url'>): PaginatorResult<T, P>;
220
438
  //#endregion
221
- //#region src/composables/register-hook.d.ts
222
- /**
223
- * Registers a global hook.
224
- * If called inside a component, unregisters after the component is unmounted.
225
- */
226
- declare const registerHook: typeof registerHook$1;
227
- //#endregion
228
- //#region ../core/src/router/types.d.ts
229
- type Property = null | string | number | boolean | Property[] | {
439
+ //#region src/composables/property.d.ts
440
+ type Property = string | number | boolean | Property[] | {
230
441
  [name: string]: Property;
231
442
  };
232
- type Properties = Record<string | number, Property>;
443
+ type InternalProperties = GlobalHybridlyProperties & {
444
+ [key: string]: Property;
445
+ };
446
+ /** Accesses all current properties. */
447
+ declare function useProperties<T extends object, Global extends InternalProperties = InternalProperties>(): vue.DeepReadonly<vue.UnwrapNestedRefs<T & Global>>;
448
+ /** Accesses a property with a dot notation. */
449
+ declare function useProperty<Override = never, T extends SearchableObject = GlobalHybridlyProperties, P extends Path<T> & string = Path<T> & string, ReturnType = ([Override] extends [never] ? PathValue<T, P> : Override)>(path: [Override] extends [never] ? P : string): ComputedRef<ReturnType>;
450
+ /**
451
+ * Sets the property at the given path to the given value.
452
+ * Note: this helper is experimental and may change in the future.
453
+ */
454
+ declare function setProperty<Override = never, T extends SearchableObject = GlobalHybridlyProperties, P extends Path<T> & string = Path<T> & string, ValueType = ([Override] extends [never] ? PathValue<T, P> : Override)>(path: [Override] extends [never] ? P : string, value: ValueType): void;
233
455
  //#endregion
234
- //#region src/composables/dialog.d.ts
456
+ //#region src/composables/query-parameters.d.ts
235
457
  /**
236
- * Exposes utilities related to the dialogs.
458
+ * Access reactive query parameters.
459
+ *
460
+ * @see https://hybridly.dev/api/utils/use-query-parameters.html
237
461
  */
238
- declare function useDialog(): {
239
- /** Closes the dialog. */close: () => void; /** Closes the dialog without a server round-trip. */
240
- closeLocally: () => void; /** Unmounts the dialog. Should be called after its closing animations. */
241
- unmount: () => void; /** Whether the dialog is shown. */
242
- show: vue.WritableComputedRef<boolean | undefined, boolean | undefined>; /** Properties of the dialog. */
243
- properties: vue.ComputedRef<Properties | undefined>;
244
- };
462
+ declare function useQueryParameters<T extends Record<string, any> = Record<string, any>>(): T;
463
+ type RouteParameter = string | number | boolean | null | undefined;
464
+ type TransformFunction<V extends RouteParameter, R> = (val: V) => R;
465
+ type TransformType<T extends RouteParameter, O> = O extends {
466
+ transform: 'number';
467
+ } ? number : O extends {
468
+ transform: 'bool';
469
+ } ? boolean : O extends {
470
+ transform: 'string';
471
+ } ? string : O extends {
472
+ transform: 'date';
473
+ } ? Date : O extends {
474
+ transform: TransformFunction<T, infer R>;
475
+ } ? R : T;
476
+ interface UseQueryParameterOptions<V extends RouteParameter, R> {
477
+ /**
478
+ * Specifies a default value if the query parameter does not exist.
479
+ */
480
+ defaultValue?: MaybeRefOrGetter<R>;
481
+ /**
482
+ * Transforms the query parameter.
483
+ */
484
+ transform?: 'number' | 'bool' | 'string' | 'date' | TransformFunction<V, R>;
485
+ }
486
+ /**
487
+ * Makes the specified query parameter reactive.
488
+ *
489
+ * @see https://hybridly.dev/api/utils/use-query-parameter.html
490
+ */
491
+ declare function useQueryParameter<ParameterType extends RouteParameter = RouteParameter, Options extends UseQueryParameterOptions<ParameterType, any> = UseQueryParameterOptions<ParameterType, ParameterType>>(name: string, options?: Options): Ref<TransformType<ParameterType, Options>>;
245
492
  //#endregion
246
493
  //#region src/composables/refinements.d.ts
247
494
  type SortDirection = 'asc' | 'desc';
@@ -779,39 +1026,12 @@ interface UseRefinements {
779
1026
  }
780
1027
  declare function useRefinements<T extends Refinements>(input: MaybeRefOrGetter<T>, defaultOptions?: AvailableHybridRequestOptions): UseRefinements;
781
1028
  //#endregion
782
- //#region src/composables/current-route.d.ts
783
- declare function useRoute(): {
784
- isNavigating: Readonly<vue.Ref<boolean, boolean>>;
785
- current: Readonly<vue.Ref<string | undefined, string | undefined>>;
786
- matches: <T extends RouteName>(name: MaybeRefOrGetter<T>, parameters?: RouteParameters<T>) => boolean;
787
- };
788
- //#endregion
789
- //#region src/composables/bulk-select.d.ts
790
- interface BulkSelection<T = any> {
791
- /** Whether all records are selected. */
792
- all: boolean;
793
- /** Included records. */
794
- only: Set<T>;
795
- /** Excluded records. */
796
- except: Set<T>;
797
- }
798
- declare function useBulkSelect<T = any>(): {
799
- allSelected: vue.ComputedRef<boolean>;
800
- anySelected: vue.ComputedRef<boolean>;
801
- toggleAll: (force?: boolean) => void;
802
- selectAll: () => void;
803
- deselectAll: () => void;
804
- select: (...records: T[]) => void;
805
- deselect: (...records: T[]) => void;
806
- toggle: (record: T, force?: boolean) => void;
807
- selected: (record: T) => boolean;
808
- selection: Ref<BulkSelection<T>, BulkSelection<T>>;
809
- bindCheckbox: (key: T) => {
810
- onChange: (event: Event) => void;
811
- checked: boolean;
812
- value: T;
813
- };
814
- };
1029
+ //#region src/composables/register-hook.d.ts
1030
+ /**
1031
+ * Registers a global hook.
1032
+ * If called inside a component, unregisters after the component is unmounted.
1033
+ */
1034
+ declare const registerHook: typeof registerHook$1;
815
1035
  //#endregion
816
1036
  //#region src/composables/table.d.ts
817
1037
  declare global {
@@ -971,42 +1191,44 @@ declare function useTable<T extends Table<any, any>, RecordType extends Record<s
971
1191
  paginator: PaginatorResult<unknown, Omit<PaginatorKind extends "cursor" ? CursorPaginator<RecordTypeWithExtra> : PaginatorKind extends "simple" ? SimplePaginator<RecordTypeWithExtra> : Paginator<RecordTypeWithExtra>, "data">>;
972
1192
  };
973
1193
  //#endregion
974
- //#region src/composables/query-parameters.d.ts
975
- /**
976
- * Access reactive query parameters.
977
- *
978
- * @see https://hybridly.dev/api/utils/use-query-parameters.html
979
- */
980
- declare function useQueryParameters<T extends Record<string, any> = Record<string, any>>(): T;
981
- type RouteParameter = string | number | boolean | null | undefined;
982
- type TransformFunction<V extends RouteParameter, R> = (val: V) => R;
983
- type TransformType<T extends RouteParameter, O> = O extends {
984
- transform: 'number';
985
- } ? number : O extends {
986
- transform: 'bool';
987
- } ? boolean : O extends {
988
- transform: 'string';
989
- } ? string : O extends {
990
- transform: 'date';
991
- } ? Date : O extends {
992
- transform: TransformFunction<T, infer R>;
993
- } ? R : T;
994
- interface UseQueryParameterOptions<V extends RouteParameter, R> {
1194
+ //#region src/composables/validation.d.ts
1195
+ /** Accesses all validation errors grouped by bag name. */
1196
+ declare function useValidation<T extends Validation = Validation>(): vue.DeepReadonly<vue.UnwrapNestedRefs<T>>;
1197
+ /** Accesses validation errors for a single bag. */
1198
+ declare function useValidationBag<T extends Errors = Errors>(bag?: string): vue.DeepReadonly<vue.UnwrapNestedRefs<T>>;
1199
+ //#endregion
1200
+ //#region src/default-layout.d.ts
1201
+ type ViewLayout = Component | Component[];
1202
+ type DefaultLayout = ViewLayout | (() => ViewLayout);
1203
+ //#endregion
1204
+ //#region src/plugins/progress.d.ts
1205
+ interface ProgressOptions {
995
1206
  /**
996
- * Specifies a default value if the query parameter does not exist.
1207
+ * The delay after which the progress bar will
1208
+ * appear during navigation, in milliseconds.
1209
+ *
1210
+ * @default 250
997
1211
  */
998
- defaultValue?: MaybeRefOrGetter<R>;
1212
+ delay: number;
999
1213
  /**
1000
- * Transforms the query parameter.
1214
+ * The color of the progress bar.
1215
+ *
1216
+ * Defaults to #29d.
1001
1217
  */
1002
- transform?: 'number' | 'bool' | 'string' | 'date' | TransformFunction<V, R>;
1218
+ color: string;
1219
+ /**
1220
+ * Whether to include the default NProgress styles.
1221
+ *
1222
+ * Defaults to true.
1223
+ */
1224
+ includeCSS: boolean;
1225
+ /**
1226
+ * Whether the NProgress spinner will be shown.
1227
+ *
1228
+ * Defaults to false.
1229
+ */
1230
+ spinner: boolean;
1003
1231
  }
1004
- /**
1005
- * Makes the specified query parameter reactive.
1006
- *
1007
- * @see https://hybridly.dev/api/utils/use-query-parameter.html
1008
- */
1009
- declare function useQueryParameter<ParameterType extends RouteParameter = RouteParameter, Options extends UseQueryParameterOptions<ParameterType, any> = UseQueryParameterOptions<ParameterType, ParameterType>>(name: string, options?: Options): Ref<TransformType<ParameterType, Options>>;
1010
1232
  //#endregion
1011
1233
  //#region src/initialize.d.ts
1012
1234
  /**
@@ -1036,8 +1258,8 @@ interface InitializeOptions {
1036
1258
  setup?: (options: SetupArguments) => any;
1037
1259
  /** List of Hybridly plugins. */
1038
1260
  plugins?: Plugin[];
1039
- /** Custom Axios instance. */
1040
- axios?: Axios;
1261
+ /** Custom HTTP client instance. */
1262
+ http?: HttpClient;
1041
1263
  /**
1042
1264
  * Enables the View Transition API, if supported.
1043
1265
  * @see https://developer.mozilla.org/en-US/docs/Web/API/ViewTransition
@@ -1045,6 +1267,8 @@ interface InitializeOptions {
1045
1267
  viewTransition?: boolean;
1046
1268
  /** Options that will apply to all forms by default. Specific forms' options will override them. */
1047
1269
  defaultFormOptions?: DefaultFormOptions;
1270
+ /** Default layout applied to views that do not define one. */
1271
+ layout?: DefaultLayout;
1048
1272
  }
1049
1273
  interface SetupArguments {
1050
1274
  /** DOM element to mount Vue on. */
@@ -1063,4 +1287,4 @@ interface SetupArguments {
1063
1287
  payload: Record<string, any>;
1064
1288
  }
1065
1289
  //#endregion
1066
- export { Action, AvailableHybridRequestOptions, AvailableHybridRequestOptionsForFilters, BaseFilterRefinement, BindFilterOptions, BooleanFilterRefinement, BoundBooleanFilterRefinement, BoundCallbackFilterRefinement, BoundDateFilterRefinement, BoundFilterRefinement, BoundSelectFilterRefinement, BoundSortRefinement, BoundTernaryFilterRefinement, BoundTextFilterRefinement, BoundTrashedFilterRefinement, BulkAction, BulkSelection, CallbackFilterRefinement, Column, DateFilterRefinement, DefaultFormOptions, FilterOperator, FilterRefinement, FormReturn, type InitializeOptions, InlineAction, InternalProperties, MaybeWithData, NumericFilterRefinement, PaginatorResult, RecordIdentifier, Refinements, RouterLink, SelectFilterRefinement, SortDirection, SortRefinement, TableDefaultOptions, TernaryFilterRefinement, TextFilterRefinement, TimeSuggestion, TimeframeSuggestion, ToggleSortOptions, TrashedFilterRefinement, UseRefinements, can, createPaginator, initializeHybridly, isBooleanFilter, isCallbackFilter, isDateFilter, isSelectFilter, isTernaryFilter, isTextFilter, isTrashedFilter, registerHook, route, router, setProperty, useBackForward, useBulkSelect, useDialog, useForm, useHistoryState, useProperties, useProperty, useQueryParameter, useQueryParameters, useRefinements, useRoute, useTable };
1290
+ export { Action, AvailableHybridRequestOptions, AvailableHybridRequestOptionsForFilters, BaseFilterRefinement, BindFilterOptions, BooleanFilterRefinement, BoundBooleanFilterRefinement, BoundCallbackFilterRefinement, BoundDateFilterRefinement, BoundFilterRefinement, BoundSelectFilterRefinement, BoundSortRefinement, BoundTernaryFilterRefinement, BoundTextFilterRefinement, BoundTrashedFilterRefinement, BulkAction, BulkSelection, CallbackFilterRefinement, Column, DateFilterRefinement, DefaultFormOptions, Deferred, FilterOperator, FilterRefinement, Form, type FormProps, FormReturn, type FormSlotProps, type FormSubmitOptions, type InitializeOptions, InlineAction, InternalProperties, MaybeWithData, NumericFilterRefinement, PaginatorResult, RecordIdentifier, Refinements, RouterLink, SelectFilterRefinement, SortDirection, SortRefinement, TableDefaultOptions, TernaryFilterRefinement, TextFilterRefinement, TimeSuggestion, TimeframeSuggestion, ToggleSortOptions, TrashedFilterRefinement, UseRefinements, WhenVisible, can, createPaginator, initializeHybridly, isBooleanFilter, isCallbackFilter, isDateFilter, isSelectFilter, isTernaryFilter, isTextFilter, isTrashedFilter, registerHook, route, router, setProperty, useBackForward, useBulkSelect, useDialog, useForm, useHistoryState, useProperties, useProperty, useQueryParameter, useQueryParameters, useRefinements, useRoute, useTable, useValidation, useValidationBag };