@adapttable/mantine 0.1.0 → 0.2.0

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.ts CHANGED
@@ -1,86 +1,86 @@
1
- import * as react from 'react';
2
- import { ReactNode, RefObject, DependencyList } from 'react';
3
- import { BaseDataTableProps, TableSource, UseServerDataOptions, UrlStateAdapter, UseSavedViewsOptions, ActiveFilterChip, FilterDef, TableLabels, UseSavedViewsResult } from '@adapttable/core';
4
- export { ActionConfirm, ActiveFilterChip, BulkAction, CellProps, ColorScheme, ColumnDef, ConfirmHandler, ConfirmRequest, Direction, ExtraFilters, FilterDef, FilterOption, FilterType, FilterValue, InfiniteQueryLike, PageSelector, PaginatedResponse, PaginationMode, RowAction, SavedView, SortByOption, SortDirection, SortableValue, TableLabels, TableQuery, TableQueryParams, TableSource, UrlStateAdapter, UseBackendDataOptions, UseDataTableResult, UseFrontendDataOptions, UseSavedViewsOptions, UseSavedViewsResult, UseTableUrlStateOptions, UseTableUrlStateResult, createHistoryAdapter, createMemoryAdapter, defaultConfirm, defaultLabels, deriveSortByOptions, getHistoryAdapter, useBackendData, useDataTable, useFrontendData, useSavedViews, useTableUrlState } from '@adapttable/core';
1
+ import { ActionConfirm, ActiveFilterChip, ActiveFilterChip as ActiveFilterChip$1, BaseDataTableProps, BulkAction, CellProps, ColorScheme, ColumnDef, ConfirmHandler, ConfirmRequest, Direction, ExtraFilters, FilterDef, FilterDef as FilterDef$1, FilterOption, FilterType, FilterValue, InfiniteQueryLike, PageSelector, PaginatedResponse, PaginationMode, RowAction, SavedView, SortByOption, SortDirection, SortableValue, TableLabels, TableLabels as TableLabels$1, TableQuery, TableQueryParams, TableSource, TableSource as TableSource$1, UrlStateAdapter, UrlStateAdapter as UrlStateAdapter$1, UseBackendDataOptions, UseDataTableResult, UseFrontendDataOptions, UseSavedViewsOptions, UseSavedViewsOptions as UseSavedViewsOptions$1, UseSavedViewsResult, UseSavedViewsResult as UseSavedViewsResult$1, UseServerDataOptions, UseTableUrlStateOptions, UseTableUrlStateResult, createHistoryAdapter, createMemoryAdapter, defaultConfirm, defaultLabels, deriveSortByOptions, getHistoryAdapter, useBackendData, useDataTable, useFrontendData, useSavedViews, useTableUrlState } from "@adapttable/core";
2
+ import { DependencyList, ReactNode, RefObject } from "react";
5
3
 
4
+ //#region src/types.d.ts
6
5
  /** Overridable sub-components. Each defaults to a styled Mantine part. */
7
6
  interface DataTableSlots {
8
- /** Replace the loading skeleton. */
9
- skeleton?: ReactNode;
10
- /** Replace the empty-state. */
11
- empty?: ReactNode;
7
+ /** Replace the loading skeleton. */
8
+ skeleton?: ReactNode;
9
+ /** Replace the empty-state. */
10
+ empty?: ReactNode;
12
11
  }
13
12
  /** Per-part class name overrides. */
14
13
  interface DataTableClassNames {
15
- root?: string;
16
- toolbar?: string;
17
- table?: string;
18
- card?: string;
19
- footer?: string;
14
+ root?: string;
15
+ toolbar?: string;
16
+ table?: string;
17
+ card?: string;
18
+ footer?: string;
20
19
  }
21
20
  /** Props for the Mantine `<DataTable>`. */
22
21
  interface DataTableProps<TRow> extends Omit<BaseDataTableProps<TRow>, "source"> {
23
- /**
24
- * Full-control tier: a prebuilt source (`useFrontendData` /
25
- * `useBackendData`). Omit it and pass `data` for the zero-ceremony tiers.
26
- */
27
- source?: TableSource<TRow>;
28
- /**
29
- * Frontend tier: the raw rows — the table filters, sorts and pages them.
30
- * Combined with `onQueryChange` it becomes the server tier: `data` is the
31
- * current page, rendered as-is.
32
- */
33
- data?: readonly TRow[];
34
- /** Server tier: total row count across all pages (drives the pager). */
35
- total?: number;
36
- /** Server tier: a request is in flight. */
37
- loading?: boolean;
38
- /**
39
- * Server tier: fired with the consolidated query (page, limit, search,
40
- * sort, filters) whenever it changes — including once on mount with the
41
- * URL-restored values. Fetch in response and hand back `data` + `total`.
42
- */
43
- onQueryChange?: UseServerDataOptions<TRow>["onQueryChange"];
44
- /**
45
- * Namespace for this table's URL params (`urlKey="left"` → `left.q`,
46
- * `left.page`, …) so multiple tables can share one URL. Applies to the
47
- * `data` / `onQueryChange` tiers; a prebuilt `source` owns its own state.
48
- */
49
- urlKey?: string;
50
- /**
51
- * URL-state backend for the `data` / `onQueryChange` tiers. Defaults to
52
- * the browser History API; supply a router adapter (react-router,
53
- * Next.js) — or `createMemoryAdapter()` in tests — to integrate with an
54
- * existing navigation stack.
55
- */
56
- urlAdapter?: UrlStateAdapter;
57
- /**
58
- * Sync table state (search, sort, page, filters) to the URL. `false`
59
- * keeps everything in memory — the table works identically, the address
60
- * bar never changes, and any `urlAdapter` is ignored.
61
- *
62
- * @default true
63
- */
64
- urlSync?: boolean;
65
- /**
66
- * Saved views: capture the table's current URL state (search, sort, page,
67
- * filters, column layout) under a name and re-apply it on demand. Setting
68
- * this renders a Saved-views menu in the toolbar next to the Columns
69
- * button. `adapter` / `urlKey` default to the table's own `urlAdapter` /
70
- * `urlKey`, so usually only `storageKey` is needed.
71
- */
72
- savedViews?: UseSavedViewsOptions;
73
- /** Replace sub-components (skeleton, empty-state). */
74
- slots?: DataTableSlots;
75
- /** Per-part class name overrides. */
76
- classNames?: DataTableClassNames;
77
- /**
78
- * Animate rows/cards on mount (dependency-free; honors reduced motion).
79
- * Off by default.
80
- */
81
- animate?: boolean;
22
+ /**
23
+ * Full-control tier: a prebuilt source (`useFrontendData` /
24
+ * `useBackendData`). Omit it and pass `data` for the zero-ceremony tiers.
25
+ */
26
+ source?: TableSource$1<TRow>;
27
+ /**
28
+ * Frontend tier: the raw rows — the table filters, sorts and pages them.
29
+ * Combined with `onQueryChange` it becomes the server tier: `data` is the
30
+ * current page, rendered as-is.
31
+ */
32
+ data?: readonly TRow[];
33
+ /** Server tier: total row count across all pages (drives the pager). */
34
+ total?: number;
35
+ /** Server tier: a request is in flight. */
36
+ loading?: boolean;
37
+ /**
38
+ * Server tier: fired with the consolidated query (page, limit, search,
39
+ * sort, filters) whenever it changes — including once on mount with the
40
+ * URL-restored values. Fetch in response and hand back `data` + `total`.
41
+ */
42
+ onQueryChange?: UseServerDataOptions<TRow>["onQueryChange"];
43
+ /**
44
+ * Namespace for this table's URL params (`urlKey="left"` → `left.q`,
45
+ * `left.page`, …) so multiple tables can share one URL. Applies to the
46
+ * `data` / `onQueryChange` tiers; a prebuilt `source` owns its own state.
47
+ */
48
+ urlKey?: string;
49
+ /**
50
+ * URL-state backend for the `data` / `onQueryChange` tiers. Defaults to
51
+ * the browser History API; supply a router adapter (react-router,
52
+ * Next.js) — or `createMemoryAdapter()` in tests — to integrate with an
53
+ * existing navigation stack.
54
+ */
55
+ urlAdapter?: UrlStateAdapter$1;
56
+ /**
57
+ * Sync table state (search, sort, page, filters) to the URL. `false`
58
+ * keeps everything in memory — the table works identically, the address
59
+ * bar never changes, and any `urlAdapter` is ignored.
60
+ *
61
+ * @default true
62
+ */
63
+ urlSync?: boolean;
64
+ /**
65
+ * Saved views: capture the table's current URL state (search, sort, page,
66
+ * filters, column layout) under a name and re-apply it on demand. Setting
67
+ * this renders a Saved-views menu in the toolbar next to the Columns
68
+ * button. `adapter` / `urlKey` default to the table's own `urlAdapter` /
69
+ * `urlKey`, so usually only `storageKey` is needed.
70
+ */
71
+ savedViews?: UseSavedViewsOptions$1;
72
+ /** Replace sub-components (skeleton, empty-state). */
73
+ slots?: DataTableSlots;
74
+ /** Per-part class name overrides. */
75
+ classNames?: DataTableClassNames;
76
+ /**
77
+ * Animate rows/cards on mount (dependency-free; honors reduced motion).
78
+ * Off by default.
79
+ */
80
+ animate?: boolean;
82
81
  }
83
-
82
+ //#endregion
83
+ //#region src/DataTable.d.ts
84
84
  /**
85
85
  * Batteries-included Mantine data table. Drop in `columns`, a `rowKey`,
86
86
  * and a data tier — raw `data` (frontend), `data` + `onQueryChange`
@@ -90,30 +90,37 @@ interface DataTableProps<TRow> extends Omit<BaseDataTableProps<TRow>, "source">
90
90
  *
91
91
  * @typeParam TRow - The row type.
92
92
  */
93
- declare function DataTable<TRow>(props: Readonly<DataTableProps<TRow>>): react.JSX.Element;
94
-
93
+ declare function DataTable<TRow>(props: Readonly<DataTableProps<TRow>>): import("react").JSX.Element;
94
+ //#endregion
95
+ //#region src/components/ActiveFilterChips.d.ts
95
96
  /** Props for {@link ActiveFilterChips}. */
96
97
  interface ActiveFilterChipsProps {
97
- /** The chips to render. */
98
- chips: readonly ActiveFilterChip[];
99
- /** Optional clear-all handler; the link is hidden when omitted. */
100
- onClearAll?: () => void;
101
- /** Accessible label for the strip. */
102
- label: string;
103
- /** Clear-all link text. */
104
- clearAllLabel: string;
98
+ /** The chips to render. */
99
+ chips: readonly ActiveFilterChip$1[];
100
+ /** Optional clear-all handler; the link is hidden when omitted. */
101
+ onClearAll?: () => void;
102
+ /** Accessible label for the strip. */
103
+ label: string;
104
+ /** Clear-all link text. */
105
+ clearAllLabel: string;
105
106
  }
106
107
  /** A wrapping strip of removable filter chips. Renders nothing when empty. */
107
- declare function ActiveFilterChips({ chips, onClearAll, label, clearAllLabel, }: Readonly<ActiveFilterChipsProps>): react.JSX.Element | null;
108
-
108
+ declare function ActiveFilterChips({
109
+ chips,
110
+ onClearAll,
111
+ label,
112
+ clearAllLabel
113
+ }: Readonly<ActiveFilterChipsProps>): import("react").JSX.Element | null;
114
+ //#endregion
115
+ //#region src/components/AutoFilterForm.d.ts
109
116
  /** Props for {@link AutoFilterForm}. */
110
117
  interface AutoFilterFormProps<TRow> {
111
- /** The resolved declarative definitions, in render order. */
112
- defs: readonly FilterDef<TRow>[];
113
- /** The resolved source whose `extra` bag the controls read and write. */
114
- source: TableSource<TRow>;
115
- /** Resolved labels — the range widgets read the operator/value strings. */
116
- labels: Required<TableLabels>;
118
+ /** The resolved declarative definitions, in render order. */
119
+ defs: readonly FilterDef$1<TRow>[];
120
+ /** The resolved source whose `extra` bag the controls read and write. */
121
+ source: TableSource$1<TRow>;
122
+ /** Resolved labels — the range widgets read the operator/value strings. */
123
+ labels: Required<TableLabels$1>;
117
124
  }
118
125
  /**
119
126
  * The auto-built filter form: one labeled, Mantine-native control per
@@ -125,61 +132,91 @@ interface AutoFilterFormProps<TRow> {
125
132
  *
126
133
  * @typeParam TRow - The row type.
127
134
  */
128
- declare function AutoFilterForm<TRow>({ defs, source, labels, }: Readonly<AutoFilterFormProps<TRow>>): react.JSX.Element;
129
-
135
+ declare function AutoFilterForm<TRow>({
136
+ defs,
137
+ source,
138
+ labels
139
+ }: Readonly<AutoFilterFormProps<TRow>>): import("react").JSX.Element;
140
+ //#endregion
141
+ //#region src/components/EmptyState.d.ts
130
142
  /** Props for {@link EmptyState}. */
131
143
  interface EmptyStateProps {
132
- /** Headline text. */
133
- title: string;
134
- /** Optional supporting description. */
135
- description?: string;
136
- /** Optional custom icon (defaults to an inbox glyph). */
137
- icon?: ReactNode;
138
- /** Optional call-to-action (e.g. a clear-filters button). */
139
- action?: ReactNode;
144
+ /** Headline text. */
145
+ title: string;
146
+ /** Optional supporting description. */
147
+ description?: string;
148
+ /** Optional custom icon (defaults to an inbox glyph). */
149
+ icon?: ReactNode;
150
+ /** Optional call-to-action (e.g. a clear-filters button). */
151
+ action?: ReactNode;
140
152
  }
141
153
  /** Centred "nothing to show" placeholder. */
142
- declare function EmptyState({ title, description, icon, action, }: Readonly<EmptyStateProps>): react.JSX.Element;
143
-
154
+ declare function EmptyState({
155
+ title,
156
+ description,
157
+ icon,
158
+ action
159
+ }: Readonly<EmptyStateProps>): import("react").JSX.Element;
160
+ //#endregion
161
+ //#region src/components/ErrorState.d.ts
144
162
  /** Props for {@link ErrorState}. */
145
163
  interface ErrorStateProps {
146
- /** The error to surface. */
147
- error: Error;
148
- /** Title line. */
149
- title: string;
150
- /** Supporting message. */
151
- message: string;
152
- /** Retry button label. */
153
- retryLabel: string;
154
- /** Optional retry handler; the button is hidden when omitted. */
155
- onRetry?: () => void;
156
- /** Whether a retry is in flight. */
157
- isRetrying?: boolean;
164
+ /** The error to surface. */
165
+ error: Error;
166
+ /** Title line. */
167
+ title: string;
168
+ /** Supporting message. */
169
+ message: string;
170
+ /** Retry button label. */
171
+ retryLabel: string;
172
+ /** Optional retry handler; the button is hidden when omitted. */
173
+ onRetry?: () => void;
174
+ /** Whether a retry is in flight. */
175
+ isRetrying?: boolean;
158
176
  }
159
177
  /** Inline error alert with an optional retry button. */
160
- declare function ErrorState({ error, title, message, retryLabel, onRetry, isRetrying, }: Readonly<ErrorStateProps>): react.JSX.Element;
161
-
178
+ declare function ErrorState({
179
+ error,
180
+ title,
181
+ message,
182
+ retryLabel,
183
+ onRetry,
184
+ isRetrying
185
+ }: Readonly<ErrorStateProps>): import("react").JSX.Element;
186
+ //#endregion
187
+ //#region src/components/PaginationFooter.d.ts
162
188
  /** Props for {@link PaginationFooter}. */
163
189
  interface PaginationFooterProps {
164
- page: number;
165
- totalPages: number;
166
- limit: number;
167
- total: number;
168
- fromIndex: number;
169
- toIndex: number;
170
- onPageChange: (page: number) => void;
171
- onLimitChange: (limit: number) => void;
172
- labels: Required<TableLabels>;
190
+ page: number;
191
+ totalPages: number;
192
+ limit: number;
193
+ total: number;
194
+ fromIndex: number;
195
+ toIndex: number;
196
+ onPageChange: (page: number) => void;
197
+ onLimitChange: (limit: number) => void;
198
+ labels: Required<TableLabels$1>;
173
199
  }
174
200
  /** Desktop pagination bar: page-size + range on the left, pager on the right. */
175
- declare function PaginationFooter({ page, totalPages, limit, total, fromIndex, toIndex, onPageChange, onLimitChange, labels, }: Readonly<PaginationFooterProps>): react.JSX.Element;
176
-
201
+ declare function PaginationFooter({
202
+ page,
203
+ totalPages,
204
+ limit,
205
+ total,
206
+ fromIndex,
207
+ toIndex,
208
+ onPageChange,
209
+ onLimitChange,
210
+ labels
211
+ }: Readonly<PaginationFooterProps>): import("react").JSX.Element;
212
+ //#endregion
213
+ //#region src/components/SavedViewsMenu.d.ts
177
214
  /** Props for {@link SavedViewsMenu}. */
178
215
  interface SavedViewsMenuProps {
179
- /** The saved-views state from core's `useSavedViews`. */
180
- views: UseSavedViewsResult;
181
- /** Resolved table labels (e.g. `table.labels` from `useDataTable`). */
182
- labels: Required<TableLabels>;
216
+ /** The saved-views state from core's `useSavedViews`. */
217
+ views: UseSavedViewsResult$1;
218
+ /** Resolved table labels (e.g. `table.labels` from `useDataTable`). */
219
+ labels: Required<TableLabels$1>;
183
220
  }
184
221
  /**
185
222
  * Saved-views menu: lists every captured view (click a name to apply it, the
@@ -188,28 +225,37 @@ interface SavedViewsMenuProps {
188
225
  * and composes into the `toolbar` slot — or let `<DataTable savedViews>`
189
226
  * mount it for you next to the Columns menu.
190
227
  */
191
- declare function SavedViewsMenu({ views, labels, }: Readonly<SavedViewsMenuProps>): react.JSX.Element;
192
-
228
+ declare function SavedViewsMenu({
229
+ views,
230
+ labels
231
+ }: Readonly<SavedViewsMenuProps>): import("react").JSX.Element;
232
+ //#endregion
233
+ //#region src/components/TableSkeleton.d.ts
193
234
  /** Props for {@link TableSkeleton}. */
194
235
  interface TableSkeletonProps {
195
- /** Number of placeholder columns. */
196
- columns: number;
197
- /** Number of placeholder rows. Defaults to 5. */
198
- rows?: number;
199
- /** Screen-reader text announcing the loading state. */
200
- loadingLabel?: string;
236
+ /** Number of placeholder columns. */
237
+ columns: number;
238
+ /** Number of placeholder rows. Defaults to 5. */
239
+ rows?: number;
240
+ /** Screen-reader text announcing the loading state. */
241
+ loadingLabel?: string;
201
242
  }
202
243
  /** Loading placeholder that mirrors the table shape to avoid layout shift. */
203
- declare function TableSkeleton({ columns, rows, loadingLabel, }: Readonly<TableSkeletonProps>): react.JSX.Element;
204
-
244
+ declare function TableSkeleton({
245
+ columns,
246
+ rows,
247
+ loadingLabel
248
+ }: Readonly<TableSkeletonProps>): import("react").JSX.Element;
249
+ //#endregion
250
+ //#region src/animation/useMountStagger.d.ts
205
251
  /** Tuning for the mount stagger. */
206
252
  interface MountStaggerOptions {
207
- /** Master switch. When `false`, the hook is a no-op. */
208
- enabled: boolean;
209
- /** Per-item delay in ms. Defaults to 40. */
210
- step?: number;
211
- /** Tween duration in ms. Defaults to 320. */
212
- duration?: number;
253
+ /** Master switch. When `false`, the hook is a no-op. */
254
+ enabled: boolean;
255
+ /** Per-item delay in ms. Defaults to 40. */
256
+ step?: number;
257
+ /** Tween duration in ms. Defaults to 320. */
258
+ duration?: number;
213
259
  }
214
260
  /**
215
261
  * Dependency-free entrance stagger using the Web Animations API. Animates
@@ -222,5 +268,6 @@ interface MountStaggerOptions {
222
268
  * @param options - See {@link MountStaggerOptions}.
223
269
  */
224
270
  declare function useMountStagger(ref: RefObject<HTMLElement | null>, deps: DependencyList, options: MountStaggerOptions): void;
225
-
226
- export { ActiveFilterChips, type ActiveFilterChipsProps, AutoFilterForm, type AutoFilterFormProps, DataTable, type DataTableClassNames, type DataTableProps, type DataTableSlots, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, type MountStaggerOptions, PaginationFooter, type PaginationFooterProps, SavedViewsMenu, type SavedViewsMenuProps, TableSkeleton, type TableSkeletonProps, useMountStagger };
271
+ //#endregion
272
+ export { type ActionConfirm, type ActiveFilterChip, ActiveFilterChips, type ActiveFilterChipsProps, AutoFilterForm, type AutoFilterFormProps, type BulkAction, type CellProps, type ColorScheme, type ColumnDef, type ConfirmHandler, type ConfirmRequest, DataTable, type DataTableClassNames, type DataTableProps, type DataTableSlots, type Direction, EmptyState, type EmptyStateProps, ErrorState, type ErrorStateProps, type ExtraFilters, type FilterDef, type FilterOption, type FilterType, type FilterValue, type InfiniteQueryLike, type MountStaggerOptions, type PageSelector, type PaginatedResponse, PaginationFooter, type PaginationFooterProps, type PaginationMode, type RowAction, type SavedView, SavedViewsMenu, type SavedViewsMenuProps, type SortByOption, type SortDirection, type SortableValue, type TableLabels, type TableQuery, type TableQueryParams, TableSkeleton, type TableSkeletonProps, type TableSource, type UrlStateAdapter, type UseBackendDataOptions, type UseDataTableResult, type UseFrontendDataOptions, type UseSavedViewsOptions, type UseSavedViewsResult, type UseTableUrlStateOptions, type UseTableUrlStateResult, createHistoryAdapter, createMemoryAdapter, defaultConfirm, defaultLabels, deriveSortByOptions, getHistoryAdapter, useBackendData, useDataTable, useFrontendData, useMountStagger, useSavedViews, useTableUrlState };
273
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/types.ts","../src/DataTable.tsx","../src/components/ActiveFilterChips.tsx","../src/components/AutoFilterForm.tsx","../src/components/EmptyState.tsx","../src/components/ErrorState.tsx","../src/components/PaginationFooter.tsx","../src/components/SavedViewsMenu.tsx","../src/components/TableSkeleton.tsx","../src/animation/useMountStagger.ts"],"mappings":"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"}