@hybridly/vue 0.7.7 → 0.7.9

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,12 +1,12 @@
1
1
  import * as vue from 'vue';
2
- import { App, Plugin as Plugin$1, h, PropType, ComputedRef, DeepReadonly, Ref, MaybeRefOrGetter } from 'vue';
2
+ import { ComputedRef, DeepReadonly, Ref, MaybeRefOrGetter, App, Plugin as Plugin$1, h, PropType } from 'vue';
3
3
  import * as _hybridly_core from '@hybridly/core';
4
- import { RouterContextOptions, Plugin, RouterContext, Method, HybridRequestOptions, UrlResolvable, registerHook as registerHook$1, RouteParameters } from '@hybridly/core';
4
+ import { HybridRequestOptions, UrlResolvable, RouterContext, registerHook as registerHook$1, RouteName, RouteParameters, RouterContextOptions, Plugin, Method } from '@hybridly/core';
5
5
  export { can, route, router } from '@hybridly/core';
6
6
  import { Axios } from 'axios';
7
- import * as _vue_shared from '@vue/shared';
8
- import { RequestData, FormDataConvertible } from '@hybridly/utils';
9
7
  import { SearchableObject, Path, PathValue } from '@clickbar/dot-diver';
8
+ import { FormDataConvertible, RequestData } from '@hybridly/utils';
9
+ import * as _vue_shared from '@vue/shared';
10
10
 
11
11
  interface ProgressOptions {
12
12
  /**
@@ -36,176 +36,6 @@ interface ProgressOptions {
36
36
  spinner: boolean;
37
37
  }
38
38
 
39
- /**
40
- * Initializes Hybridly's router and context.
41
- */
42
- declare function initializeHybridly(options?: InitializeOptions): Promise<any>;
43
- interface InitializeOptions {
44
- /** Callback that gets executed before Vue is mounted. */
45
- enhanceVue?: (vue: App<Element>) => any;
46
- /** ID of the app element. */
47
- id?: string;
48
- /** Clean up the host element's payload dataset after loading. */
49
- cleanup?: boolean;
50
- /** Whether to set up the devtools plugin. */
51
- devtools?: boolean;
52
- /** Whether to display response error modals. */
53
- responseErrorModals?: boolean;
54
- /** Custom history state serialization functions. */
55
- serializer?: RouterContextOptions['serializer'];
56
- /** Progressbar options. */
57
- progress?: false | Partial<ProgressOptions>;
58
- /** Sets up the hybridly router. */
59
- setup?: (options: SetupArguments) => any;
60
- /** List of Hybridly plugins. */
61
- plugins?: Plugin[];
62
- /** Custom Axios instance. */
63
- axios?: Axios;
64
- /**
65
- * Enables the View Transition API, if supported.
66
- * @see https://developer.mozilla.org/en-US/docs/Web/API/ViewTransition
67
- */
68
- viewTransition?: boolean;
69
- }
70
- interface SetupArguments {
71
- /** DOM element to mount Vue on. */
72
- element: Element;
73
- /** Hybridly wrapper component. */
74
- wrapper: any;
75
- /** Hybridly wrapper component properties. */
76
- props: {
77
- context: RouterContext;
78
- };
79
- /** Vue plugin that registers the devtools. */
80
- hybridly: Plugin$1;
81
- /** Renders the wrapper. */
82
- render: () => ReturnType<typeof h>;
83
- /** Initial payload. */
84
- payload: Record<string, any>;
85
- }
86
-
87
- declare const RouterLink: vue.DefineComponent<{
88
- href: {
89
- type: StringConstructor;
90
- required: false;
91
- default: undefined;
92
- };
93
- as: {
94
- type: (ObjectConstructor | StringConstructor)[];
95
- default: string;
96
- };
97
- method: {
98
- type: PropType<"delete" | Method | "get" | "post" | "put" | "patch">;
99
- default: string;
100
- };
101
- data: {
102
- type: PropType<RequestData>;
103
- default: () => {};
104
- };
105
- external: {
106
- type: BooleanConstructor;
107
- default: boolean;
108
- };
109
- disabled: {
110
- type: BooleanConstructor;
111
- default: boolean;
112
- };
113
- options: {
114
- type: PropType<Omit<HybridRequestOptions, "data" | "url" | "method">>;
115
- default: () => {};
116
- };
117
- text: {
118
- type: StringConstructor;
119
- required: false;
120
- default: undefined;
121
- };
122
- preload: {
123
- type: PropType<boolean | "hover" | "mount">;
124
- default: boolean;
125
- };
126
- preserveScroll: {
127
- type: BooleanConstructor;
128
- default: undefined;
129
- };
130
- preserveState: {
131
- type: BooleanConstructor;
132
- default: undefined;
133
- };
134
- }, (props: _vue_shared.LooseRequired<{
135
- readonly data: RequestData;
136
- readonly method: "delete" | Method | "get" | "post" | "put" | "patch";
137
- readonly options: Omit<HybridRequestOptions, "data" | "url" | "method">;
138
- readonly as: string | Record<string, any>;
139
- readonly external: boolean;
140
- readonly disabled: boolean;
141
- readonly preload: boolean | "hover" | "mount";
142
- readonly text?: string | undefined;
143
- readonly preserveScroll?: boolean | undefined;
144
- readonly preserveState?: boolean | undefined;
145
- readonly href?: string | undefined;
146
- } & {}>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
147
- [key: string]: any;
148
- }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
149
- href: {
150
- type: StringConstructor;
151
- required: false;
152
- default: undefined;
153
- };
154
- as: {
155
- type: (ObjectConstructor | StringConstructor)[];
156
- default: string;
157
- };
158
- method: {
159
- type: PropType<"delete" | Method | "get" | "post" | "put" | "patch">;
160
- default: string;
161
- };
162
- data: {
163
- type: PropType<RequestData>;
164
- default: () => {};
165
- };
166
- external: {
167
- type: BooleanConstructor;
168
- default: boolean;
169
- };
170
- disabled: {
171
- type: BooleanConstructor;
172
- default: boolean;
173
- };
174
- options: {
175
- type: PropType<Omit<HybridRequestOptions, "data" | "url" | "method">>;
176
- default: () => {};
177
- };
178
- text: {
179
- type: StringConstructor;
180
- required: false;
181
- default: undefined;
182
- };
183
- preload: {
184
- type: PropType<boolean | "hover" | "mount">;
185
- default: boolean;
186
- };
187
- preserveScroll: {
188
- type: BooleanConstructor;
189
- default: undefined;
190
- };
191
- preserveState: {
192
- type: BooleanConstructor;
193
- default: undefined;
194
- };
195
- }>>, {
196
- data: RequestData;
197
- text: string;
198
- preserveScroll: boolean;
199
- preserveState: boolean;
200
- method: "delete" | Method | "get" | "post" | "put" | "patch";
201
- href: string;
202
- options: Omit<HybridRequestOptions, "data" | "url" | "method">;
203
- as: string | Record<string, any>;
204
- external: boolean;
205
- disabled: boolean;
206
- preload: boolean | "hover" | "mount";
207
- }, {}>;
208
-
209
39
  /** Accesses all current properties. */
210
40
  declare function useProperties<T extends object, Global extends GlobalHybridlyProperties = GlobalHybridlyProperties>(): vue.DeepReadonly<vue.UnwrapNestedRefs<T & Global>>;
211
41
  /** Accesses a property with a dot notation. */
@@ -219,6 +49,7 @@ declare function setProperty<Override = never, T extends SearchableObject = Glob
219
49
  type Errors<T extends SearchableObject> = {
220
50
  [K in keyof T]?: T[K] extends Record<string, any> ? Errors<T[K]> : string;
221
51
  };
52
+ type DefaultFormOptions = Pick<FormOptions<object>, 'timeout' | 'reset' | 'updateInitials' | 'progress' | 'preserveScroll' | 'preserveState' | 'preserveUrl' | 'headers' | 'errorBag' | 'spoof' | 'transformUrl' | 'updateHistoryState' | 'useFormData'>;
222
53
  interface FormOptions<T extends SearchableObject> extends Omit<HybridRequestOptions, 'data' | 'url'> {
223
54
  fields: T;
224
55
  url?: UrlResolvable | (() => UrlResolvable);
@@ -254,25 +85,26 @@ declare function useForm<T extends SearchableObject, P extends Path<T> & string
254
85
  clearError: (key: P) => void;
255
86
  setInitial: (newInitial: Partial<T>) => void;
256
87
  hasDirty: (...keys: P[]) => boolean;
257
- submitWith: (optionsOverrides?: Omit<FormOptions<T>, 'fields' | 'key'>) => Promise<_hybridly_core.NavigationResponse>;
258
- submitWithOptions: (optionsOverrides?: Omit<FormOptions<T>, 'fields' | 'key'>) => Promise<_hybridly_core.NavigationResponse>;
88
+ submitWith: (optionsOverrides?: Omit<FormOptions<T>, "fields" | "key">) => Promise<_hybridly_core.NavigationResponse>;
89
+ submitWithOptions: (optionsOverrides?: Omit<FormOptions<T>, "fields" | "key">) => Promise<_hybridly_core.NavigationResponse>;
259
90
  submit: () => Promise<_hybridly_core.NavigationResponse>;
260
91
  hasErrors: boolean;
261
92
  initial: vue.UnwrapRef<DeepReadonly<T>>;
262
- loaded: any;
93
+ loaded: DeepReadonly<any>;
263
94
  progress: {
264
95
  readonly event: {
265
96
  readonly loaded: number;
266
- readonly total?: number | undefined;
267
- readonly progress?: number | undefined;
97
+ readonly total?: number;
98
+ readonly progress?: number;
268
99
  readonly bytes: number;
269
- readonly rate?: number | undefined;
270
- readonly estimated?: number | undefined;
271
- readonly upload?: boolean | undefined;
272
- readonly download?: boolean | undefined;
100
+ readonly rate?: number;
101
+ readonly estimated?: number;
102
+ readonly upload?: boolean;
103
+ readonly download?: boolean;
273
104
  readonly event?: any;
105
+ readonly lengthComputable: boolean;
274
106
  };
275
- readonly percentage: number;
107
+ readonly percentage: Readonly<number>;
276
108
  } | undefined;
277
109
  isDirty: boolean;
278
110
  errors: DeepReadonly<vue.UnwrapRef<Errors<T>>>;
@@ -408,10 +240,10 @@ interface ToggleSortOptions extends AvailableHybridRequestOptions {
408
240
  }
409
241
  interface BindFilterOptions<T> extends AvailableHybridRequestOptions {
410
242
  transformValue?: (value?: T) => any;
411
- /** If specified, this callback will watch the ref and apply */
243
+ /** If specified, this callback will be responsible for watching the specified ref that contains the filter value. */
412
244
  watch?: (ref: Ref<T>, cb: any) => void;
413
245
  /**
414
- * The debounce time in milliseconds for updating this filter.
246
+ * The debounce time in milliseconds for applying this filter.
415
247
  * @default 250ms
416
248
  */
417
249
  debounce?: number;
@@ -552,7 +384,7 @@ declare function useRefinements<Properties extends object, RefinementsKey extend
552
384
  /**
553
385
  * The type of this filter.
554
386
  */
555
- type: string;
387
+ type: "trashed" | "callback" | "exact" | "similar:loose" | "similar:begins_with_strict" | "similar:ends_with_strict" | string;
556
388
  /**
557
389
  * The label of the filter.
558
390
  */
@@ -601,11 +433,11 @@ declare function useRefinements<Properties extends object, RefinementsKey extend
601
433
  /**
602
434
  * The current direction of the sort.
603
435
  */
604
- direction?: SortDirection | undefined;
436
+ direction?: SortDirection;
605
437
  /**
606
438
  * The default direction of the sort.
607
439
  */
608
- default?: SortDirection | undefined;
440
+ default?: SortDirection;
609
441
  /**
610
442
  * The label of the sort.
611
443
  */
@@ -691,7 +523,7 @@ declare function useRefinements<Properties extends object, RefinementsKey extend
691
523
 
692
524
  declare function useRoute(): {
693
525
  current: Readonly<vue.Ref<string | undefined>>;
694
- matches: <T extends string>(name: MaybeRefOrGetter<T>, parameters?: RouteParameters<T>) => boolean;
526
+ matches: <T extends RouteName>(name: MaybeRefOrGetter<T>, parameters?: RouteParameters<T>) => boolean;
695
527
  };
696
528
 
697
529
  interface BulkSelection<T = any> {
@@ -721,7 +553,7 @@ declare global {
721
553
  columns: Column<T>[];
722
554
  inlineActions: InlineAction[];
723
555
  bulkActions: BulkAction[];
724
- records: T[];
556
+ records: Array<T>;
725
557
  paginator: Exclude<PaginatorKind extends 'cursor' ? CursorPaginator<T> : (PaginatorKind extends 'simple' ? SimplePaginator<T> : Paginator<T>), 'data'>;
726
558
  refinements: Refinements;
727
559
  endpoint: string;
@@ -734,8 +566,8 @@ interface Column<T extends object = never> {
734
566
  label: string;
735
567
  /** The type of this column. */
736
568
  type: string;
737
- /** Custom metadata for this column. */
738
- metadata: any;
569
+ /** Metadata of this column. */
570
+ metadata: Record<string, any>;
739
571
  }
740
572
  interface Action {
741
573
  /** The name of this action. */
@@ -758,16 +590,22 @@ interface BulkActionOptions {
758
590
  interface InlineAction extends Action {
759
591
  }
760
592
  type RecordIdentifier = string | number;
593
+ type AsRecordType<T extends Record<string, any>> = {
594
+ [K in keyof T]: {
595
+ extra: Record<string, any>;
596
+ value: T[K];
597
+ };
598
+ };
761
599
  /**
762
600
  * Provides utilities for working with tables.
763
601
  */
764
- declare function useTable<RecordType extends (Props[PropsKey] extends Table<infer RecordType, any> ? RecordType : never), PaginatorKindName extends (Props[PropsKey] extends Table<RecordType, infer PaginatorKind> ? PaginatorKind : never), TableType extends (Props[PropsKey] extends Table<RecordType, PaginatorKindName> ? Table<RecordType, PaginatorKindName> : never), Props extends Record<string, unknown>, PropsKey extends keyof Props>(props: Props, key: PropsKey, defaultOptions?: AvailableHybridRequestOptions): {
602
+ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infer T, any> ? AsRecordType<T> : never), PaginatorKindName extends (Props[PropsKey] extends Table<RecordType, infer PaginatorKind> ? PaginatorKind : never), TableType extends (Props[PropsKey] extends Table<RecordType, PaginatorKindName> ? Table<RecordType, PaginatorKindName> : never), Props extends Record<string, unknown>, PropsKey extends keyof Props>(props: Props, key: PropsKey, defaultOptions?: AvailableHybridRequestOptions): {
765
603
  bindFilter: <T = any>(name: string, options?: BindFilterOptions<T>) => vue.Ref<T>;
766
604
  filters: {
767
- apply: (value: any, options?: AvailableHybridRequestOptions | undefined) => Promise<_hybridly_core.NavigationResponse | undefined>;
768
- clear: (options?: AvailableHybridRequestOptions | undefined) => Promise<_hybridly_core.NavigationResponse>;
605
+ apply: (value: any, options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse | undefined>;
606
+ clear: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
769
607
  is_active: boolean;
770
- type: string;
608
+ type: "trashed" | "callback" | "exact" | "similar:loose" | "similar:begins_with_strict" | "similar:ends_with_strict" | string;
771
609
  label: string;
772
610
  metadata: Record<string, any>;
773
611
  name: string;
@@ -776,12 +614,12 @@ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infe
776
614
  default: any;
777
615
  }[];
778
616
  sorts: {
779
- toggle: (options?: ToggleSortOptions | undefined) => Promise<_hybridly_core.NavigationResponse | undefined>;
780
- isSorting: (direction?: SortDirection | undefined) => boolean;
781
- clear: (options?: AvailableHybridRequestOptions | undefined) => Promise<_hybridly_core.NavigationResponse>;
617
+ toggle: (options?: ToggleSortOptions) => Promise<_hybridly_core.NavigationResponse | undefined>;
618
+ isSorting: (direction?: SortDirection) => boolean;
619
+ clear: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
782
620
  is_active: boolean;
783
- direction?: SortDirection | undefined;
784
- default?: SortDirection | undefined;
621
+ direction?: SortDirection;
622
+ default?: SortDirection;
785
623
  label: string;
786
624
  metadata: Record<string, any>;
787
625
  name: string;
@@ -794,11 +632,11 @@ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infe
794
632
  getFilter: (name: string) => FilterRefinement | undefined;
795
633
  getSort: (name: string) => SortRefinement | undefined;
796
634
  reset: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
797
- toggleSort: (name: string, options?: ToggleSortOptions | undefined) => Promise<_hybridly_core.NavigationResponse | undefined>;
798
- isSorting: (name?: string | undefined, direction?: SortDirection | undefined) => boolean;
799
- isFiltering: (name?: string | undefined) => boolean;
800
- currentSorts: () => SortRefinement[];
801
- currentFilters: () => FilterRefinement[];
635
+ toggleSort: (name: string, options?: ToggleSortOptions) => Promise<_hybridly_core.NavigationResponse | undefined>;
636
+ isSorting: (name?: string, direction?: SortDirection) => boolean;
637
+ isFiltering: (name?: string) => boolean;
638
+ currentSorts: () => Array<SortRefinement>;
639
+ currentFilters: () => Array<FilterRefinement>;
802
640
  clearFilter: (filter: string, options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
803
641
  clearSorts: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
804
642
  clearFilters: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
@@ -849,46 +687,21 @@ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infe
849
687
  /** Clears the filter for this column. */
850
688
  clearFilter: (options?: AvailableHybridRequestOptions) => Promise<_hybridly_core.NavigationResponse>;
851
689
  /** Checks whether the column is sortable. */
852
- isSortable: {
853
- toggle: (options?: ToggleSortOptions | undefined) => Promise<_hybridly_core.NavigationResponse | undefined>;
854
- isSorting: (direction?: SortDirection | undefined) => boolean;
855
- clear: (options?: AvailableHybridRequestOptions | undefined) => Promise<_hybridly_core.NavigationResponse>;
856
- is_active: boolean;
857
- direction?: SortDirection | undefined;
858
- default?: SortDirection | undefined;
859
- label: string;
860
- metadata: Record<string, any>;
861
- name: string;
862
- desc: string;
863
- asc: string;
864
- next: string;
865
- hidden: boolean;
866
- } | undefined;
690
+ isSortable: boolean;
867
691
  /** Checks whether the column is filterable. */
868
- isFilterable: {
869
- apply: (value: any, options?: AvailableHybridRequestOptions | undefined) => Promise<_hybridly_core.NavigationResponse | undefined>;
870
- clear: (options?: AvailableHybridRequestOptions | undefined) => Promise<_hybridly_core.NavigationResponse>;
871
- is_active: boolean;
872
- type: string;
873
- label: string;
874
- metadata: Record<string, any>;
875
- name: string;
876
- value: any;
877
- hidden: boolean;
878
- default: any;
879
- } | undefined;
692
+ isFilterable: boolean;
880
693
  /** The name of this column. */
881
694
  name: keyof RecordType;
882
695
  /** The label of this column. */
883
696
  label: string;
884
697
  /** The type of this column. */
885
698
  type: string;
886
- /** Custom metadata for this column. */
887
- metadata: any;
699
+ /** Metadata of this column. */
700
+ metadata: Record<string, any>;
888
701
  }[];
889
702
  records: {
890
703
  /** The actual record. */
891
- record: RecordType;
704
+ record: any[];
892
705
  /** The key of the record. Use this instead of `id`. */
893
706
  key: RecordIdentifier;
894
707
  /** Executes the given inline action. */
@@ -915,7 +728,9 @@ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infe
915
728
  /** Checks whether this record is selected. */
916
729
  selected: boolean;
917
730
  /** Gets the value of the record for the specified column. */
918
- value: (column: string | Column<RecordType>) => RecordType[string | keyof RecordType];
731
+ value: (column: string | Column<RecordType>) => any;
732
+ /** Gets the extra object of the record for the specified column. */
733
+ extra: (column: string | Column<RecordType>, path: string) => any;
919
734
  }[];
920
735
  paginator: Exclude<PaginatorKindName extends "cursor" ? CursorPaginator<RecordType> : PaginatorKindName extends "simple" ? SimplePaginator<RecordType> : Paginator<RecordType>, "data">;
921
736
  };
@@ -927,4 +742,180 @@ declare function useTable<RecordType extends (Props[PropsKey] extends Table<infe
927
742
  */
928
743
  declare function useQueryParameters<T extends Record<string, any> = Record<string, any>>(): T;
929
744
 
930
- export { type Action, type AvailableHybridRequestOptions, type BindFilterOptions, type BulkAction, type BulkSelection, type Column, type InlineAction, type RecordIdentifier, RouterLink, type SortDirection, type ToggleSortOptions, initializeHybridly, registerHook, setProperty, useBackForward, useBulkSelect, useDialog, useForm, useHistoryState, useProperties, useProperty, useQueryParameters, useRefinements, useRoute, useTable };
745
+ /**
746
+ * Initializes Hybridly's router and context.
747
+ */
748
+ declare function initializeHybridly(options?: InitializeOptions): Promise<any>;
749
+ interface InitializeOptions {
750
+ /** Callback that gets executed before Vue is mounted. */
751
+ enhanceVue?: (
752
+ /** Vue application to enhance. */
753
+ vue: App<Element>,
754
+ /** Initial payload. */
755
+ payload: Record<string, any>) => any;
756
+ /** ID of the app element. */
757
+ id?: string;
758
+ /** Clean up the host element's payload dataset after loading. */
759
+ cleanup?: boolean;
760
+ /** Whether to set up the devtools plugin. */
761
+ devtools?: boolean;
762
+ /** Whether to display response error modals. */
763
+ responseErrorModals?: boolean;
764
+ /** Custom history state serialization functions. */
765
+ serializer?: RouterContextOptions['serializer'];
766
+ /** Progressbar options. */
767
+ progress?: false | Partial<ProgressOptions>;
768
+ /** Sets up the hybridly router. */
769
+ setup?: (options: SetupArguments) => any;
770
+ /** List of Hybridly plugins. */
771
+ plugins?: Plugin[];
772
+ /** Custom Axios instance. */
773
+ axios?: Axios;
774
+ /**
775
+ * Enables the View Transition API, if supported.
776
+ * @see https://developer.mozilla.org/en-US/docs/Web/API/ViewTransition
777
+ */
778
+ viewTransition?: boolean;
779
+ /** Options that will apply to all forms by default. Specific forms' options will override them. */
780
+ defaultFormOptions?: DefaultFormOptions;
781
+ }
782
+ interface SetupArguments {
783
+ /** DOM element to mount Vue on. */
784
+ element: Element;
785
+ /** Hybridly wrapper component. */
786
+ wrapper: any;
787
+ /** Hybridly wrapper component properties. */
788
+ props: {
789
+ context: RouterContext;
790
+ };
791
+ /** Vue plugin that registers the devtools. */
792
+ hybridly: Plugin$1;
793
+ /** Renders the wrapper. */
794
+ render: () => ReturnType<typeof h>;
795
+ /** Initial payload. */
796
+ payload: Record<string, any>;
797
+ }
798
+
799
+ declare const RouterLink: vue.DefineComponent<{
800
+ href: {
801
+ type: StringConstructor;
802
+ required: false;
803
+ default: undefined;
804
+ };
805
+ as: {
806
+ type: (ObjectConstructor | StringConstructor)[];
807
+ default: string;
808
+ };
809
+ method: {
810
+ type: PropType<Method | Lowercase<Method>>;
811
+ default: string;
812
+ };
813
+ data: {
814
+ type: PropType<RequestData>;
815
+ default: () => {};
816
+ };
817
+ external: {
818
+ type: BooleanConstructor;
819
+ default: boolean;
820
+ };
821
+ disabled: {
822
+ type: BooleanConstructor;
823
+ default: boolean;
824
+ };
825
+ options: {
826
+ type: PropType<Omit<HybridRequestOptions, "url" | "data" | "method">>;
827
+ default: () => {};
828
+ };
829
+ text: {
830
+ type: StringConstructor;
831
+ required: false;
832
+ default: undefined;
833
+ };
834
+ preload: {
835
+ type: PropType<boolean | "hover" | "mount">;
836
+ default: boolean;
837
+ };
838
+ preserveScroll: {
839
+ type: BooleanConstructor;
840
+ default: undefined;
841
+ };
842
+ preserveState: {
843
+ type: BooleanConstructor;
844
+ default: undefined;
845
+ };
846
+ }, (props: _vue_shared.LooseRequired<{
847
+ readonly data: RequestData;
848
+ readonly method: "delete" | Method | "get" | "post" | "put" | "patch";
849
+ readonly options: Omit<HybridRequestOptions, "data" | "url" | "method">;
850
+ readonly as: string | Record<string, any>;
851
+ readonly external: boolean;
852
+ readonly disabled: boolean;
853
+ readonly preload: boolean | "hover" | "mount";
854
+ readonly text?: string | undefined;
855
+ readonly preserveScroll?: boolean | undefined;
856
+ readonly preserveState?: boolean | undefined;
857
+ readonly href?: string | undefined;
858
+ } & {}>) => vue.VNode<vue.RendererNode, vue.RendererElement, {
859
+ [key: string]: any;
860
+ }>, unknown, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<vue.ExtractPropTypes<{
861
+ href: {
862
+ type: StringConstructor;
863
+ required: false;
864
+ default: undefined;
865
+ };
866
+ as: {
867
+ type: (ObjectConstructor | StringConstructor)[];
868
+ default: string;
869
+ };
870
+ method: {
871
+ type: PropType<Method | Lowercase<Method>>;
872
+ default: string;
873
+ };
874
+ data: {
875
+ type: PropType<RequestData>;
876
+ default: () => {};
877
+ };
878
+ external: {
879
+ type: BooleanConstructor;
880
+ default: boolean;
881
+ };
882
+ disabled: {
883
+ type: BooleanConstructor;
884
+ default: boolean;
885
+ };
886
+ options: {
887
+ type: PropType<Omit<HybridRequestOptions, "url" | "data" | "method">>;
888
+ default: () => {};
889
+ };
890
+ text: {
891
+ type: StringConstructor;
892
+ required: false;
893
+ default: undefined;
894
+ };
895
+ preload: {
896
+ type: PropType<boolean | "hover" | "mount">;
897
+ default: boolean;
898
+ };
899
+ preserveScroll: {
900
+ type: BooleanConstructor;
901
+ default: undefined;
902
+ };
903
+ preserveState: {
904
+ type: BooleanConstructor;
905
+ default: undefined;
906
+ };
907
+ }>>, {
908
+ data: RequestData;
909
+ text: string;
910
+ preserveScroll: boolean;
911
+ preserveState: boolean;
912
+ method: "delete" | Method | "get" | "post" | "put" | "patch";
913
+ href: string;
914
+ options: Omit<HybridRequestOptions, "data" | "url" | "method">;
915
+ as: string | Record<string, any>;
916
+ external: boolean;
917
+ disabled: boolean;
918
+ preload: boolean | "hover" | "mount";
919
+ }, {}>;
920
+
921
+ export { type Action, type AvailableHybridRequestOptions, type BindFilterOptions, type BulkAction, type BulkSelection, type Column, type DefaultFormOptions, type InitializeOptions, type InlineAction, type RecordIdentifier, RouterLink, type SortDirection, type ToggleSortOptions, initializeHybridly, registerHook, setProperty, useBackForward, useBulkSelect, useDialog, useForm, useHistoryState, useProperties, useProperty, useQueryParameters, useRefinements, useRoute, useTable };