nuxt-ui-tools 1.0.0 → 1.0.1

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 (74) hide show
  1. package/dist/module.json +1 -1
  2. package/dist/runtime/form/components/root/form.vue +1 -1
  3. package/dist/runtime/form/composables/use-form-validation.d.ts +2 -3
  4. package/dist/runtime/form/composables/use-form-validation.js +24 -112
  5. package/dist/runtime/form/composables/use-form.js +1 -1
  6. package/dist/runtime/form/fields/password/component.vue +132 -28
  7. package/dist/runtime/form/fields/password/types.d.ts +6 -0
  8. package/dist/runtime/form/fields/text/component.vue +7 -2
  9. package/dist/runtime/form/types/field.d.ts +1 -1
  10. package/dist/runtime/form/types/validation.d.ts +3 -20
  11. package/dist/runtime/form/utils/state.d.ts +1 -14
  12. package/dist/runtime/form/utils/state.js +0 -199
  13. package/dist/runtime/i18n/locales/en.js +1 -0
  14. package/dist/runtime/i18n/locales/fr.js +1 -0
  15. package/dist/runtime/i18n/types.d.ts +1 -0
  16. package/dist/runtime/table/components/data-list/data-list-content.d.vue.ts +19 -17
  17. package/dist/runtime/table/components/data-list/data-list-content.vue +14 -87
  18. package/dist/runtime/table/components/data-list/data-list-content.vue.d.ts +19 -17
  19. package/dist/runtime/table/components/data-list/data-list-default.d.vue.ts +1 -4
  20. package/dist/runtime/table/components/data-list/data-list-default.vue.d.ts +1 -4
  21. package/dist/runtime/table/components/data-list/data-list-error-state.d.vue.ts +13 -0
  22. package/dist/runtime/table/components/data-list/data-list-error-state.vue +91 -0
  23. package/dist/runtime/table/components/data-list/data-list-error-state.vue.d.ts +13 -0
  24. package/dist/runtime/table/components/data-list/data-list-layout-switch.vue +1 -1
  25. package/dist/runtime/table/components/data-list/data-list-refresh.vue +42 -4
  26. package/dist/runtime/table/components/data-list/data-list-root.d.vue.ts +1 -9
  27. package/dist/runtime/table/components/data-list/data-list-root.vue.d.ts +1 -9
  28. package/dist/runtime/table/components/data-list/data-list-sort-menu.vue +11 -5
  29. package/dist/runtime/table/components/data-list.d.vue.ts +2 -13
  30. package/dist/runtime/table/components/data-list.vue.d.ts +2 -13
  31. package/dist/runtime/table/components/drawers/column-panel.vue +7 -2
  32. package/dist/runtime/table/components/filters/panel/filter-panel-chips.vue +2 -5
  33. package/dist/runtime/table/components/filters/panel/option-filter-panel-field.vue +1 -1
  34. package/dist/runtime/table/components/filters/shared/dynamic-filter-picker.d.vue.ts +2 -2
  35. package/dist/runtime/table/components/filters/shared/dynamic-filter-picker.vue +103 -101
  36. package/dist/runtime/table/components/filters/shared/dynamic-filter-picker.vue.d.ts +2 -2
  37. package/dist/runtime/table/components/filters/shared/filter-option-multiple-list.vue +2 -2
  38. package/dist/runtime/table/components/filters/shared/filter-option-picker-content.vue +3 -3
  39. package/dist/runtime/table/components/filters/shared/filter-option-single-list.vue +1 -1
  40. package/dist/runtime/table/components/filters/shared/filter-popover-shell.d.vue.ts +3 -3
  41. package/dist/runtime/table/components/filters/shared/filter-popover-shell.vue +17 -15
  42. package/dist/runtime/table/components/filters/shared/filter-popover-shell.vue.d.ts +3 -3
  43. package/dist/runtime/table/components/filters/shared/filter-searchable-panel.vue +10 -2
  44. package/dist/runtime/table/components/filters/sheet/filter-sheet.vue +4 -3
  45. package/dist/runtime/table/components/filters/tags/filter-tags-bar.vue +1 -1
  46. package/dist/runtime/table/components/grid/grid-renderer.vue +2 -4
  47. package/dist/runtime/table/components/table/table-renderer.d.vue.ts +8 -2
  48. package/dist/runtime/table/components/table/table-renderer.vue +24 -6
  49. package/dist/runtime/table/components/table/table-renderer.vue.d.ts +8 -2
  50. package/dist/runtime/table/composables/use-option-filter-editor-state.d.ts +1 -0
  51. package/dist/runtime/table/composables/use-option-filter-editor-state.js +2 -2
  52. package/dist/runtime/table/composables/use-table-actions.js +10 -5
  53. package/dist/runtime/table/composables/use-table-api.js +4 -1
  54. package/dist/runtime/table/composables/use-table-columns.d.ts +6 -2
  55. package/dist/runtime/table/composables/use-table-data.d.ts +2 -1
  56. package/dist/runtime/table/composables/use-table-data.js +19 -2
  57. package/dist/runtime/table/composables/use-table-filter-options.d.ts +1 -0
  58. package/dist/runtime/table/composables/use-table-filter-options.js +2 -1
  59. package/dist/runtime/table/composables/use-table-internals.d.ts +18 -6
  60. package/dist/runtime/table/types/actions.d.ts +3 -2
  61. package/dist/runtime/table/types/data-list.d.ts +8 -0
  62. package/dist/runtime/table/types/source.d.ts +10 -1
  63. package/dist/runtime/table/utils/builders/table-source.d.ts +14 -15
  64. package/dist/runtime/table/utils/client-query.d.ts +1 -1
  65. package/dist/runtime/table/utils/columns/render.d.ts +13 -5
  66. package/dist/runtime/table/utils/columns/render.js +3 -2
  67. package/dist/runtime/table/utils/filters/editor-size.js +9 -9
  68. package/dist/runtime/table/utils/filters/options.js +6 -1
  69. package/dist/runtime/table/utils/index.d.ts +1 -0
  70. package/dist/runtime/table/utils/index.js +1 -0
  71. package/dist/runtime/table/utils/prefetch.js +5 -1
  72. package/dist/runtime/table/utils/source-request.d.ts +2 -0
  73. package/dist/runtime/table/utils/source-request.js +9 -0
  74. package/package.json +1 -1
@@ -89,6 +89,15 @@ export interface TableSourceRequestContext<TRow extends GenericObject = GenericO
89
89
  context: TContext;
90
90
  facets?: TableGlobalFacetDescriptor<TableKnownFieldPath<TRow> | string>[];
91
91
  }
92
+ export interface TableRemoteSourceRequest<TRow extends GenericObject = GenericObject, TSortKey extends string = TableSortKey<TRow>> {
93
+ pagination?: Exclude<TablePaginationState, {
94
+ mode: 'none';
95
+ }>;
96
+ sorting: TableSortingRule<TSortKey>[];
97
+ filters: TableResolvedFilterGroup<TableKnownFieldPath<TRow> | string>[];
98
+ search: TableSourceSearchRequest<TRow>;
99
+ facets?: TableGlobalFacetDescriptor<TableKnownFieldPath<TRow> | string>[];
100
+ }
92
101
  export interface TableFacetsContext<TRow extends GenericObject = GenericObject, TContext extends GenericObject = GenericObject, TKey extends string = TableKnownFieldPath<TRow> | string> {
93
102
  filters: TableResolvedFilterGroup<TKey>;
94
103
  search: TableSourceSearchRequest<TRow>;
@@ -102,7 +111,7 @@ export interface TableClientSource<TRow extends GenericObject = GenericObject, T
102
111
  export type TableRemoteFacetSource<TRow extends GenericObject = GenericObject, TContext extends GenericObject = GenericObject, TKey extends string = TableKnownFieldPath<TRow> | string> = true | ((ctx: TableFacetsContext<TRow, TContext, TKey>) => TableQueryDefinition<TableFacetExecutionResult<TKey>>);
103
112
  export interface TableRemoteSource<TRow extends GenericObject = GenericObject, TContext extends GenericObject = GenericObject, TResult = TableSourceExecutionResult<TRow, TableKnownFieldPath<TRow> | string> | TableOffsetPageResult<TRow, TableKnownFieldPath<TRow> | string> | TableCursorPageResult<TRow, TableKnownFieldPath<TRow> | string>> {
104
113
  mode: 'remote';
105
- query: (ctx: TableSourceRequestContext<TRow, TContext>) => TableQueryDefinition<TResult>;
114
+ query: (request: TableRemoteSourceRequest<TRow>, context: TContext) => TableQueryDefinition<TResult>;
106
115
  facets?: TableRemoteFacetSource<TRow, TContext>;
107
116
  }
108
117
  export type TableSource<TRow extends GenericObject = GenericObject, TContext extends GenericObject = GenericObject, TResult = TableSourceExecutionResult<TRow> | TRow[]> = TableClientSource<TRow, TContext, Extract<TResult, TableSourceExecutionResult<TRow> | TRow[]> extends never ? TableSourceExecutionResult<TRow> | TRow[] : Extract<TResult, TableSourceExecutionResult<TRow> | TRow[]>> | TableRemoteSource<TRow, TContext, Extract<TResult, TableSourceExecutionResult<TRow, TableKnownFieldPath<TRow> | string> | TableOffsetPageResult<TRow, TableKnownFieldPath<TRow> | string> | TableCursorPageResult<TRow, TableKnownFieldPath<TRow> | string>> extends never ? TableSourceExecutionResult<TRow, TableKnownFieldPath<TRow> | string> | TableOffsetPageResult<TRow, TableKnownFieldPath<TRow> | string> | TableCursorPageResult<TRow, TableKnownFieldPath<TRow> | string> : Extract<TResult, TableSourceExecutionResult<TRow, TableKnownFieldPath<TRow> | string> | TableOffsetPageResult<TRow, TableKnownFieldPath<TRow> | string> | TableCursorPageResult<TRow, TableKnownFieldPath<TRow> | string>>>;
@@ -1,9 +1,5 @@
1
- import type { QueryFunctionContext, QueryKey } from '@tanstack/vue-query';
2
- import type { GenericObject, TableClientSource, TableCursorPageResult, TableGlobalFacetDescriptor, TableOffsetPageResult, TablePaginationState, TableQueryDefinition, TableRemoteSource, TableResolvedFilterGroup, TableRowsFromSourceResult, TableSourceExecutionResult, TableSortingRule } from '../../types/index.js';
3
- interface TableSourceRowsResult {
4
- rows: readonly GenericObject[];
5
- }
6
- type TableSourceResult = readonly GenericObject[] | TableSourceRowsResult;
1
+ import type { QueryKey, UseQueryOptions } from '@tanstack/vue-query';
2
+ import type { GenericObject, TableClientSource, TableCursorPageResult, TableGlobalFacetDescriptor, TableOffsetPageResult, TablePaginationState, TableRemoteSource, TableRemoteSourceRequest, TableResolvedFilterGroup, TableRowsFromSourceResult, TableSourceExecutionResult, TableSortingRule } from '../../types/index.js';
7
3
  type TableSourceRow<TResult> = TableRowsFromSourceResult<Awaited<TResult>> extends infer TRow ? TRow extends GenericObject ? TRow : GenericObject : GenericObject;
8
4
  type ClientTableSourceResult<TResult> = TResult extends readonly GenericObject[] ? TableSourceRow<TResult>[] : TableSourceExecutionResult<TableSourceRow<TResult>>;
9
5
  type RemoteTableSourceResult<TResult> = TResult extends {
@@ -26,16 +22,19 @@ interface TableSourceInferenceContext {
26
22
  context: GenericObject;
27
23
  facets?: TableGlobalFacetDescriptor<never>[];
28
24
  }
29
- type TableSourceQueryDefinition<TResult> = Omit<TableQueryDefinition<unknown>, 'queryFn'> & {
30
- queryFn: (context: QueryFunctionContext<QueryKey, string | null>) => TResult | Promise<TResult>;
31
- };
32
- interface ClientTableSourceInput<TResult extends TableSourceResult> {
25
+ interface TableSourceQueryDefinition {
26
+ queryKey: QueryKey;
27
+ }
28
+ type TableSourceQueryResult<TQuery> = TQuery extends {
29
+ queryFn: (...args: never[]) => infer TResult;
30
+ } ? Awaited<TResult> : TQuery extends UseQueryOptions<infer _TQueryFnData, infer _TError, infer TResult, infer _TQueryData, infer _TQueryKey> ? Awaited<TResult> : never;
31
+ interface ClientTableSourceInput<TQuery extends TableSourceQueryDefinition> {
33
32
  mode?: 'client';
34
- query: (context: TableSourceInferenceContext) => TableSourceQueryDefinition<TResult>;
33
+ query: (context: TableSourceInferenceContext) => TQuery;
35
34
  }
36
- interface RemoteTableSourceInput<TResult extends TableSourceRowsResult> {
35
+ interface RemoteTableSourceInput<TQuery extends TableSourceQueryDefinition> {
37
36
  mode: 'remote';
38
- query: (context: TableSourceInferenceContext) => TableSourceQueryDefinition<TResult>;
37
+ query: (request: TableRemoteSourceRequest<GenericObject, string>, context: GenericObject) => TQuery;
39
38
  facets?: TableRemoteSource['facets'];
40
39
  }
41
40
  /**
@@ -55,6 +54,6 @@ interface RemoteTableSourceInput<TResult extends TableSourceRowsResult> {
55
54
  * })
56
55
  * ```
57
56
  */
58
- export declare function tableSource<TResult extends TableSourceRowsResult>(source: RemoteTableSourceInput<TResult>): TableRemoteSource<TableSourceRow<TResult>, GenericObject, RemoteTableSourceResult<TResult>>;
59
- export declare function tableSource<TResult extends TableSourceResult>(source: ClientTableSourceInput<TResult>): TableClientSource<TableSourceRow<TResult>, GenericObject, ClientTableSourceResult<TResult>>;
57
+ export declare function tableSource<TQuery extends TableSourceQueryDefinition>(source: RemoteTableSourceInput<TQuery>): TableRemoteSource<TableSourceRow<TableSourceQueryResult<TQuery>>, GenericObject, RemoteTableSourceResult<TableSourceQueryResult<TQuery>>>;
58
+ export declare function tableSource<TQuery extends TableSourceQueryDefinition>(source: ClientTableSourceInput<TQuery>): TableClientSource<TableSourceRow<TableSourceQueryResult<TQuery>>, GenericObject, ClientTableSourceResult<TableSourceQueryResult<TQuery>>>;
60
59
  export {};
@@ -13,7 +13,7 @@ export declare function executeClientFacets<TRow extends GenericObject = Generic
13
13
  export declare function filterClientRows<TRow extends GenericObject>(params: {
14
14
  rows: Iterable<TRow>;
15
15
  filters: TableResolvedFilterGroup<string>;
16
- search: TableSourceRequestContext<TRow>['search'];
16
+ search: TableSourceRequestContext['search'];
17
17
  }): TRow[];
18
18
  export declare function sortClientRows<TRow extends GenericObject>(params: {
19
19
  rows: Iterable<TRow>;
@@ -1,6 +1,6 @@
1
1
  /** @jsxImportSource vue */
2
2
  import type { DropdownMenuItem } from '@nuxt/ui/components/DropdownMenu.vue';
3
- import type { VNodeChild } from 'vue';
3
+ import { type VNodeChild } from 'vue';
4
4
  import type { GenericObject } from '../../types/index.js';
5
5
  import type { SchemaTableColumn, TableColumnRenderParams, TableRuntimeColumn, UseTableColumnsParams } from './types.js';
6
6
  export declare function createSelectionColumn(options: {
@@ -55,7 +55,9 @@ export declare function createDataColumns(options: {
55
55
  original: GenericObject;
56
56
  index: number;
57
57
  };
58
- }) => import("vue/jsx-runtime").JSX.Element;
58
+ }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
59
+ [key: string]: any;
60
+ }>;
59
61
  enableHiding: boolean;
60
62
  enablePinning: boolean;
61
63
  enableResizing: boolean;
@@ -88,7 +90,9 @@ export declare function createDataColumns(options: {
88
90
  original: GenericObject;
89
91
  index: number;
90
92
  };
91
- }) => import("vue/jsx-runtime").JSX.Element;
93
+ }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
94
+ [key: string]: any;
95
+ }>;
92
96
  enableHiding: boolean;
93
97
  enablePinning: boolean;
94
98
  enableResizing: boolean;
@@ -134,7 +138,9 @@ export declare function createDataColumns(options: {
134
138
  minSize: number;
135
139
  size: number | undefined;
136
140
  })[];
137
- export declare function renderColumnCell(options: TableColumnRenderParams): import("vue/jsx-runtime").JSX.Element;
141
+ export declare function renderColumnCell(options: TableColumnRenderParams): import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
142
+ [key: string]: any;
143
+ }>;
138
144
  export declare function wrapEllipsisContent(options: {
139
145
  column: SchemaTableColumn;
140
146
  content: VNodeChild;
@@ -157,7 +163,9 @@ export declare function createRowActionsColumn(options: {
157
163
  original: GenericObject;
158
164
  index: number;
159
165
  };
160
- }) => import("vue/jsx-runtime").JSX.Element;
166
+ }) => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
167
+ [key: string]: any;
168
+ }>;
161
169
  enableHiding: boolean;
162
170
  enablePinning: boolean;
163
171
  enableResizing: boolean;
@@ -1,4 +1,5 @@
1
1
  import { jsx } from "vue/jsx-runtime";
2
+ import { h } from "vue";
2
3
  import {
3
4
  isArray,
4
5
  isFunction,
@@ -258,7 +259,7 @@ export function createRowActionsColumn(options) {
258
259
  row: row.original,
259
260
  rowIndex: row.index
260
261
  });
261
- return /* @__PURE__ */ jsx(TableRowScopeProvider, { scope, children: /* @__PURE__ */ jsx(TableRowActionsControl, {}) });
262
+ return h(TableRowScopeProvider, { scope }, { default: () => /* @__PURE__ */ jsx(TableRowActionsControl, {}) });
262
263
  },
263
264
  enableHiding: false,
264
265
  enablePinning: true,
@@ -288,7 +289,7 @@ export function createRowActionsColumn(options) {
288
289
  };
289
290
  }
290
291
  function wrapRowScope(options) {
291
- return /* @__PURE__ */ jsx(TableRowScopeProvider, { scope: options.scope, children: options.content });
292
+ return h(TableRowScopeProvider, { scope: options.scope }, { default: () => options.content });
292
293
  }
293
294
  function resolvePlainRenderContext(params) {
294
295
  const contextSource = params.data.contextData.value;
@@ -1,58 +1,58 @@
1
1
  const filterEditorSizeClasses = {
2
2
  lg: {
3
- editor: "w-[min(17rem,calc(100vw-1rem))] min-w-52 max-w-68",
3
+ editor: "w-[min(22rem,calc(100vw-1rem))] min-w-52 max-w-[calc(100vw-1rem)]",
4
4
  empty: "px-3 py-8 text-sm",
5
5
  footer: "p-2",
6
6
  option: "gap-3 px-3 py-2 text-sm",
7
7
  optionIcon: "size-4",
8
8
  optionLabel: "text-sm",
9
9
  scrollArea: "p-2",
10
- searchHeader: "p-2",
10
+ searchHeader: "p-1.5",
11
11
  skeletonCount: "h-3.5 w-6",
12
12
  skeletonLine: "h-3.5",
13
13
  wideEditor: "w-[min(42rem,calc(100vw-1rem))] min-w-[min(21rem,calc(100vw-1rem))] max-w-[calc(100vw-1rem)]"
14
14
  },
15
15
  md: {
16
- editor: "w-[min(15rem,calc(100vw-1rem))] min-w-48 max-w-60",
16
+ editor: "w-[min(20rem,calc(100vw-1rem))] min-w-48 max-w-[calc(100vw-1rem)]",
17
17
  empty: "px-2.5 py-6 text-[13px]",
18
18
  footer: "p-1.5",
19
19
  option: "gap-2.5 px-2.5 py-1.5 text-[13px]",
20
20
  optionIcon: "size-3.5",
21
21
  optionLabel: "text-[13px]",
22
22
  scrollArea: "p-1.5",
23
- searchHeader: "p-1.5",
23
+ searchHeader: "p-1",
24
24
  skeletonCount: "h-3 w-5",
25
25
  skeletonLine: "h-3",
26
26
  wideEditor: "w-[min(38rem,calc(100vw-1rem))] min-w-[min(20rem,calc(100vw-1rem))] max-w-[calc(100vw-1rem)]"
27
27
  },
28
28
  sm: {
29
- editor: "w-[min(14rem,calc(100vw-1rem))] min-w-44 max-w-56",
29
+ editor: "w-[min(18rem,calc(100vw-1rem))] min-w-44 max-w-[calc(100vw-1rem)]",
30
30
  empty: "px-2.5 py-5 text-xs",
31
31
  footer: "p-1.5",
32
32
  option: "gap-2 px-2 py-1 text-xs",
33
33
  optionIcon: "size-3.5",
34
34
  optionLabel: "text-xs",
35
35
  scrollArea: "p-1",
36
- searchHeader: "p-1.5",
36
+ searchHeader: "p-1",
37
37
  skeletonCount: "h-3 w-5",
38
38
  skeletonLine: "h-3",
39
39
  wideEditor: "w-[min(34rem,calc(100vw-1rem))] min-w-[min(19rem,calc(100vw-1rem))] max-w-[calc(100vw-1rem)]"
40
40
  },
41
41
  xl: {
42
- editor: "w-[min(21rem,calc(100vw-1rem))] min-w-60 max-w-84",
42
+ editor: "w-[min(24rem,calc(100vw-1rem))] min-w-60 max-w-[calc(100vw-1rem)]",
43
43
  empty: "px-4 py-10 text-base",
44
44
  footer: "p-3",
45
45
  option: "gap-3.5 px-4 py-3 text-base",
46
46
  optionIcon: "size-5",
47
47
  optionLabel: "text-base",
48
48
  scrollArea: "p-3",
49
- searchHeader: "p-3",
49
+ searchHeader: "p-2",
50
50
  skeletonCount: "h-4 w-7",
51
51
  skeletonLine: "h-4",
52
52
  wideEditor: "w-[min(46rem,calc(100vw-1rem))] min-w-[min(22rem,calc(100vw-1rem))] max-w-[calc(100vw-1rem)]"
53
53
  },
54
54
  xs: {
55
- editor: "w-[min(13rem,calc(100vw-1rem))] min-w-44 max-w-52",
55
+ editor: "w-[min(16rem,calc(100vw-1rem))] min-w-44 max-w-[calc(100vw-1rem)]",
56
56
  empty: "px-2 py-4 text-xs",
57
57
  footer: "p-1",
58
58
  option: "gap-1.5 px-1.5 py-1 text-xs",
@@ -20,7 +20,12 @@ export function resolveFilterOptionEntries(options) {
20
20
  if (options.definition.kind !== "option") {
21
21
  return [];
22
22
  }
23
- const sourceOptions = options.options ?? options.definition.source?.options ?? [];
23
+ const configuredOptions = options.options ?? options.definition.source?.options ?? [];
24
+ const sourceOptions = configuredOptions.length ? configuredOptions : (options.facetCounts ?? []).map((entry) => ({
25
+ count: entry.count,
26
+ label: String(entry.value),
27
+ value: entry.value
28
+ }));
24
29
  const countByValue = new Map(
25
30
  (options.facetCounts ?? []).map((entry) => [String(entry.value), entry.count])
26
31
  );
@@ -11,4 +11,5 @@ export * from './query-state.js';
11
11
  export * from './resolved-filters.js';
12
12
  export * from './rows.js';
13
13
  export * from './schema.js';
14
+ export * from './source-request.js';
14
15
  export { tableSource } from './builders/table-source.js';
@@ -11,4 +11,5 @@ export * from "./query-state.js";
11
11
  export * from "./resolved-filters.js";
12
12
  export * from "./rows.js";
13
13
  export * from "./schema.js";
14
+ export * from "./source-request.js";
14
15
  export { tableSource } from "./builders/table-source.js";
@@ -26,6 +26,7 @@ import {
26
26
  resolveFilterSupportedOperators
27
27
  } from "./query-state.js";
28
28
  import { createResolvedFilterState } from "./resolved-filters.js";
29
+ import { toTableRemoteSourceRequest } from "./source-request.js";
29
30
  export function prefetchTable(params) {
30
31
  if (!isTableSchemaView(params.schema)) {
31
32
  throw new Error("Invalid table schema: expected a source query definition");
@@ -130,7 +131,10 @@ function resolveTableQueries(options) {
130
131
  return Object.fromEntries(entries);
131
132
  }
132
133
  function resolveSourcePrefetchQuery(options) {
133
- const definition = options.schema.source.query(options.request);
134
+ const definition = options.schema.source.mode === "remote" ? options.schema.source.query(
135
+ toTableRemoteSourceRequest(options.request),
136
+ options.request.context
137
+ ) : options.schema.source.query(options.request);
134
138
  if (options.request.pagination.mode !== "cursor" || !definition.queryFn) return definition;
135
139
  const queryFn = definition.queryFn;
136
140
  return {
@@ -0,0 +1,2 @@
1
+ import type { GenericObject, TableRemoteSourceRequest, TableSourceRequestContext } from '../types/index.js';
2
+ export declare function toTableRemoteSourceRequest<TRow extends GenericObject>(request: TableSourceRequestContext<TRow>): TableRemoteSourceRequest<TRow>;
@@ -0,0 +1,9 @@
1
+ export function toTableRemoteSourceRequest(request) {
2
+ return {
3
+ facets: request.facets,
4
+ filters: request.filters.children.length > 0 ? [request.filters] : [],
5
+ pagination: request.pagination.mode === "none" ? void 0 : request.pagination,
6
+ search: request.search,
7
+ sorting: request.sorting
8
+ };
9
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nuxt-ui-tools",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Nuxt module and runtime toolkit for UI-heavy Nuxt applications",
5
5
  "homepage": "https://github.com/ChronicStone/nuxt-ui-tools#readme",
6
6
  "bugs": "https://github.com/ChronicStone/nuxt-ui-tools/issues",