munza-x-data-grid 3.0.0-beta.9 → 3.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.
- package/README.md +471 -187
- package/dist/components/ui/button.d.ts +10 -0
- package/dist/components/ui/checkbox.d.ts +4 -0
- package/dist/components/ui/collapsible.d.ts +5 -0
- package/dist/components/ui/debounced-input.d.ts +7 -0
- package/dist/components/ui/dropdown-menu.d.ts +29 -0
- package/dist/components/ui/empty.d.ts +11 -0
- package/dist/components/ui/input.d.ts +3 -0
- package/dist/components/ui/label.d.ts +4 -0
- package/dist/components/ui/native-select.d.ts +8 -0
- package/dist/components/ui/skeleton.d.ts +2 -0
- package/dist/components/ui/table.d.ts +10 -0
- package/dist/index.cjs +60 -0
- package/dist/index.css +56 -0
- package/dist/index.d.ts +1 -7
- package/dist/index.js +11168 -0
- package/dist/lib/utils.d.ts +2 -0
- package/dist/package/components/feedback/NoDataFoundMsg.d.ts +2 -0
- package/dist/package/components/feedback/TableError.d.ts +2 -0
- package/dist/package/components/feedback/TableErrorMsg.d.ts +2 -0
- package/dist/package/components/feedback/TableLeftNoData.d.ts +2 -0
- package/dist/package/components/feedback/TableLeftSkeleton.d.ts +2 -0
- package/dist/package/components/feedback/TableNoData.d.ts +2 -0
- package/dist/package/components/feedback/TableRightNoData.d.ts +2 -0
- package/dist/package/components/feedback/TableRightSkeleton.d.ts +2 -0
- package/dist/package/components/feedback/TableRowSkeleton.d.ts +7 -0
- package/dist/package/components/feedback/TableSkeleton.d.ts +2 -0
- package/dist/package/components/header/HeaderFilter.d.ts +5 -0
- package/dist/package/components/header/HeaderMenu.d.ts +5 -0
- package/dist/package/components/header/HeaderResizing.d.ts +5 -0
- package/dist/package/components/header/HeaderSort.d.ts +5 -0
- package/dist/package/components/pagination/index.d.ts +4 -0
- package/dist/package/components/table/TBody.d.ts +3 -0
- package/dist/package/components/table/TCell.d.ts +6 -0
- package/dist/package/components/table/TGetLeftBody.d.ts +3 -0
- package/dist/package/components/table/TGetLeftHeader.d.ts +2 -0
- package/dist/package/components/table/TGetLeftMain.d.ts +2 -0
- package/dist/package/components/table/TGetRightBody.d.ts +3 -0
- package/dist/package/components/table/TGetRightHeader.d.ts +2 -0
- package/dist/package/components/table/TGetRightMain.d.ts +2 -0
- package/dist/package/components/table/THead.d.ts +6 -0
- package/dist/package/components/table/THeader.d.ts +2 -0
- package/dist/package/components/table/TMain.d.ts +3 -0
- package/dist/package/components/table/TableCellPin.d.ts +6 -0
- package/dist/package/components/table/TableLeftCellPin.d.ts +5 -0
- package/dist/package/components/table/TableRightCellPin.d.ts +5 -0
- package/dist/package/components/toolbar/ToolbarColumns.d.ts +2 -0
- package/dist/package/components/toolbar/ToolbarDnd.d.ts +2 -0
- package/dist/package/components/toolbar/ToolbarFilters.d.ts +3 -0
- package/dist/package/components/toolbar/ToolbarRows.d.ts +2 -0
- package/dist/package/components/toolbar/ToolbarSettings.d.ts +2 -0
- package/dist/package/components/toolbar/index.d.ts +4 -0
- package/dist/package/contexts/GridContext.d.ts +56 -0
- package/dist/package/core/index.d.ts +3 -0
- package/dist/package/features/columnOrder.d.ts +4 -0
- package/dist/package/features/columnPinning.d.ts +5 -0
- package/dist/package/features/columnSizing.d.ts +5 -0
- package/dist/package/features/columnVisibility.d.ts +5 -0
- package/dist/package/features/rowDensity.d.ts +24 -0
- package/dist/package/features/rowPinning.d.ts +5 -0
- package/dist/package/features/splitView.d.ts +4 -0
- package/dist/package/hooks/useGridState.d.ts +19 -0
- package/dist/package/hooks/useQueryArgs.d.ts +12 -0
- package/dist/package/hooks/useSyncScroll.d.ts +7 -0
- package/dist/package/index.d.ts +8 -0
- package/dist/package/types/index.d.ts +303 -0
- package/dist/package/utils/URLSearch.d.ts +21 -0
- package/dist/package/utils/buildQueryString.d.ts +2 -0
- package/dist/package/utils/buildSortString.d.ts +4 -0
- package/dist/package/utils/getPinStyles.d.ts +3 -0
- package/package.json +63 -49
- package/dist/App.d.ts +0 -2
- package/dist/favicon.svg +0 -1
- package/dist/icons.svg +0 -24
- package/dist/main.d.ts +0 -1
- package/dist/munza-x-data-grid.cjs.js +0 -5
- package/dist/munza-x-data-grid.es.js +0 -29
- package/dist/style.css +0 -3
|
@@ -0,0 +1,303 @@
|
|
|
1
|
+
import { ColumnFiltersState, OnChangeFn, PaginationState, Row, RowSelectionState, SortingState, ColumnDef, TableState } from '@tanstack/react-table';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Props for the `Grid` component.
|
|
5
|
+
*
|
|
6
|
+
* `Grid` is a reusable, feature-rich data-table component built on top of
|
|
7
|
+
* `@tanstack/react-table`. It supports sorting, filtering, pagination,
|
|
8
|
+
* column/row pinning, column resizing, row selection, and row expansion
|
|
9
|
+
* out of the box.
|
|
10
|
+
*
|
|
11
|
+
* @typeParam T - The shape of a single row of data.
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* Basic usage with local state via `useGridState`:
|
|
15
|
+
* ```tsx
|
|
16
|
+
* import { Grid, useGridState, type ColumnDef } from 'munza-x-data-grid';
|
|
17
|
+
*
|
|
18
|
+
* interface User {
|
|
19
|
+
* id: string;
|
|
20
|
+
* name: string;
|
|
21
|
+
* }
|
|
22
|
+
*
|
|
23
|
+
* const columns: ColumnDef<User>[] = [
|
|
24
|
+
* { id: 'id', accessorKey: 'id', header: () => 'ID' },
|
|
25
|
+
* { id: 'name', accessorKey: 'name', header: () => 'Name' },
|
|
26
|
+
* ];
|
|
27
|
+
*
|
|
28
|
+
* const App = () => {
|
|
29
|
+
* const { state, handlers } = useGridState();
|
|
30
|
+
*
|
|
31
|
+
* return (
|
|
32
|
+
* <Grid
|
|
33
|
+
* payload={{ data: users, total: users.length }}
|
|
34
|
+
* columns={columns}
|
|
35
|
+
* state={state}
|
|
36
|
+
* {...handlers}
|
|
37
|
+
* />
|
|
38
|
+
* );
|
|
39
|
+
* };
|
|
40
|
+
* ```
|
|
41
|
+
*
|
|
42
|
+
* @example
|
|
43
|
+
* Server-side (manual) pagination, sorting, and filtering:
|
|
44
|
+
* ```tsx
|
|
45
|
+
* const { state, handlers } = useGridState();
|
|
46
|
+
* const { pagination, queryParams, sort, globalFilter } = useQueryArgs(state);
|
|
47
|
+
* const { data, isLoading, isError, refetch, isFetching } = useUsersQuery({
|
|
48
|
+
* pagination,
|
|
49
|
+
* queryParams,
|
|
50
|
+
* sort,
|
|
51
|
+
* globalFilter,
|
|
52
|
+
* });
|
|
53
|
+
*
|
|
54
|
+
* <Grid
|
|
55
|
+
* payload={{ data: data?.rows ?? [], total: data?.total ?? 0 }}
|
|
56
|
+
* columns={columns}
|
|
57
|
+
* manualPagination
|
|
58
|
+
* isLoading={isLoading}
|
|
59
|
+
* isError={isError}
|
|
60
|
+
* isFetching={isFetching}
|
|
61
|
+
* refetch={refetch}
|
|
62
|
+
* state={state}
|
|
63
|
+
* {...handlers}
|
|
64
|
+
* />
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
67
|
+
export interface GridProps<T> {
|
|
68
|
+
/**
|
|
69
|
+
* The row data to render, plus the total row count (used for
|
|
70
|
+
* server-side/manual pagination to compute total pages).
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```tsx
|
|
74
|
+
* payload={{ data: users, total: 128 }}
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
payload?: {
|
|
78
|
+
data: T[];
|
|
79
|
+
total: number;
|
|
80
|
+
};
|
|
81
|
+
/**
|
|
82
|
+
* Column definitions for the table. Required.
|
|
83
|
+
*
|
|
84
|
+
* @example
|
|
85
|
+
* ```tsx
|
|
86
|
+
* const columns: ColumnDef<User>[] = [
|
|
87
|
+
* {
|
|
88
|
+
* id: 'email',
|
|
89
|
+
* accessorKey: 'email',
|
|
90
|
+
* header: () => <div>Email</div>,
|
|
91
|
+
* meta: { filterVariant: 'text' },
|
|
92
|
+
* },
|
|
93
|
+
* ];
|
|
94
|
+
* ```
|
|
95
|
+
*/
|
|
96
|
+
columns: ColumnDef<T>[];
|
|
97
|
+
/**
|
|
98
|
+
* The current table state (filters, pagination, sorting, selection,
|
|
99
|
+
* global filter, etc.), typically supplied by `useGridState`.
|
|
100
|
+
*
|
|
101
|
+
* @example
|
|
102
|
+
* ```tsx
|
|
103
|
+
* const { state } = useGridState();
|
|
104
|
+
* <Grid state={state} ... />
|
|
105
|
+
* ```
|
|
106
|
+
*/
|
|
107
|
+
state?: Partial<TableState>;
|
|
108
|
+
/**
|
|
109
|
+
* Callback fired when column filters change.
|
|
110
|
+
*
|
|
111
|
+
* @example
|
|
112
|
+
* ```tsx
|
|
113
|
+
* onColumnFiltersChange={(updater) => setColumnFilters(updater)}
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
onColumnFiltersChange?: OnChangeFn<ColumnFiltersState>;
|
|
117
|
+
/**
|
|
118
|
+
* Callback fired when pagination (page index or page size) changes.
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```tsx
|
|
122
|
+
* onPaginationChange={(updater) => setPagination(updater)}
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
onPaginationChange?: OnChangeFn<PaginationState>;
|
|
126
|
+
/**
|
|
127
|
+
* Callback fired when column sorting changes.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```tsx
|
|
131
|
+
* onSortingChange={(updater) => setSorting(updater)}
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
onSortingChange?: OnChangeFn<SortingState>;
|
|
135
|
+
/**
|
|
136
|
+
* Callback fired when row selection changes.
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```tsx
|
|
140
|
+
* onRowSelectionChange={(updater) => setRowSelection(updater)}
|
|
141
|
+
* ```
|
|
142
|
+
*/
|
|
143
|
+
onRowSelectionChange?: OnChangeFn<RowSelectionState>;
|
|
144
|
+
/**
|
|
145
|
+
* Setter for the global (cross-column) search/filter text.
|
|
146
|
+
*
|
|
147
|
+
* @example
|
|
148
|
+
* ```tsx
|
|
149
|
+
* const [globalFilter, setGlobalFilter] = useState('');
|
|
150
|
+
* <Grid setGlobalFilter={setGlobalFilter} ... />
|
|
151
|
+
* ```
|
|
152
|
+
*/
|
|
153
|
+
setGlobalFilter?: React.Dispatch<React.SetStateAction<string>>;
|
|
154
|
+
/**
|
|
155
|
+
* Enables server-side (manual) pagination. When `true`, the table will
|
|
156
|
+
* not paginate `payload.data` itself and instead relies on `payload.total`
|
|
157
|
+
* and your `onPaginationChange` handler to fetch the correct page.
|
|
158
|
+
*
|
|
159
|
+
* @defaultValue `false`
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```tsx
|
|
163
|
+
* <Grid manualPagination={true} payload={{ data: pageOfUsers, total: 500 }} ... />
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
manualPagination?: boolean;
|
|
167
|
+
/**
|
|
168
|
+
* Shows a loading state (e.g. skeleton rows) while data is being fetched.
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```tsx
|
|
172
|
+
* <Grid isLoading={isPending} ... />
|
|
173
|
+
* ```
|
|
174
|
+
*/
|
|
175
|
+
isLoading?: boolean;
|
|
176
|
+
/**
|
|
177
|
+
* Shows an error state, typically when a data-fetch request has failed.
|
|
178
|
+
*
|
|
179
|
+
* @example
|
|
180
|
+
* ```tsx
|
|
181
|
+
* <Grid isError={isError} ... />
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
isError?: boolean;
|
|
185
|
+
/**
|
|
186
|
+
* Indicates a background refetch is in progress (distinct from the
|
|
187
|
+
* initial `isLoading` state), useful for showing a subtle refresh
|
|
188
|
+
* indicator without blocking the existing rows.
|
|
189
|
+
*
|
|
190
|
+
* @example
|
|
191
|
+
* ```tsx
|
|
192
|
+
* <Grid isFetching={isFetching} ... />
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
195
|
+
isFetching?: boolean;
|
|
196
|
+
/**
|
|
197
|
+
* Function to manually re-trigger a data fetch, e.g. from a "Retry"
|
|
198
|
+
* button on the error state or a refresh action in the toolbar.
|
|
199
|
+
*
|
|
200
|
+
* @example
|
|
201
|
+
* ```tsx
|
|
202
|
+
* <Grid refetch={() => queryClient.refetchQueries(['users'])} ... />
|
|
203
|
+
* ```
|
|
204
|
+
*/
|
|
205
|
+
refetch?: () => void;
|
|
206
|
+
/**
|
|
207
|
+
* Renders custom content inside an expanded row (used together with
|
|
208
|
+
* `getRowCanExpand`).
|
|
209
|
+
*
|
|
210
|
+
* @example
|
|
211
|
+
* ```tsx
|
|
212
|
+
* renderSubComponent={({ row }) => (
|
|
213
|
+
* <pre>{JSON.stringify(row.original, null, 2)}</pre>
|
|
214
|
+
* )}
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
renderSubComponent?: (props: {
|
|
218
|
+
row: Row<T>;
|
|
219
|
+
}) => React.ReactElement;
|
|
220
|
+
/**
|
|
221
|
+
* Determines whether a given row can be expanded to show
|
|
222
|
+
* `renderSubComponent`.
|
|
223
|
+
*
|
|
224
|
+
* @example
|
|
225
|
+
* ```tsx
|
|
226
|
+
* getRowCanExpand={(row) => row.original.subRows?.length > 0}
|
|
227
|
+
* ```
|
|
228
|
+
*/
|
|
229
|
+
getRowCanExpand?: (row: Row<T>) => boolean;
|
|
230
|
+
/**
|
|
231
|
+
* Enables or disables row selection (checkbox column and related
|
|
232
|
+
* selection APIs).
|
|
233
|
+
*
|
|
234
|
+
* @defaultValue `true`
|
|
235
|
+
*
|
|
236
|
+
* @example
|
|
237
|
+
* ```tsx
|
|
238
|
+
* <Grid enableRowSelection={false} ... />
|
|
239
|
+
* ```
|
|
240
|
+
*/
|
|
241
|
+
enableRowSelection?: boolean;
|
|
242
|
+
/**
|
|
243
|
+
* Fixed height for the table's scrollable body, as a CSS value.
|
|
244
|
+
*
|
|
245
|
+
* @defaultValue `'65vh'`
|
|
246
|
+
*
|
|
247
|
+
* @example
|
|
248
|
+
* ```tsx
|
|
249
|
+
* <Grid height="480px" ... />
|
|
250
|
+
* ```
|
|
251
|
+
*/
|
|
252
|
+
height?: string;
|
|
253
|
+
/**
|
|
254
|
+
* Whether to render the built-in toolbar (column visibility, density,
|
|
255
|
+
* global search, split view, etc.) above the table.
|
|
256
|
+
*
|
|
257
|
+
* @defaultValue `true`
|
|
258
|
+
*
|
|
259
|
+
* @example
|
|
260
|
+
* ```tsx
|
|
261
|
+
* <Grid isToolbar={false} ... />
|
|
262
|
+
* ```
|
|
263
|
+
*/
|
|
264
|
+
isToolbar?: boolean;
|
|
265
|
+
/**
|
|
266
|
+
* Whether to render the built-in pagination controls below the table.
|
|
267
|
+
*
|
|
268
|
+
* @defaultValue `true`
|
|
269
|
+
*
|
|
270
|
+
* @example
|
|
271
|
+
* ```tsx
|
|
272
|
+
* <Grid isPagination={false} ... />
|
|
273
|
+
* ```
|
|
274
|
+
*/
|
|
275
|
+
isPagination?: boolean;
|
|
276
|
+
/**
|
|
277
|
+
* A unique name for this grid instance, used as a storage key to persist
|
|
278
|
+
* per-grid state (column visibility, pinning, order, sizing, split view)
|
|
279
|
+
* across sessions. Use a distinct name per grid instance in your app.
|
|
280
|
+
*
|
|
281
|
+
* @defaultValue `'munza'`
|
|
282
|
+
*
|
|
283
|
+
* @example
|
|
284
|
+
* ```tsx
|
|
285
|
+
* <Grid name="users-grid" ... />
|
|
286
|
+
* ```
|
|
287
|
+
*/
|
|
288
|
+
name?: string;
|
|
289
|
+
/**
|
|
290
|
+
* Additional content rendered inside the grid wrapper, above the table
|
|
291
|
+
* (e.g. custom banners, alerts, or bulk-action bars tied to selection).
|
|
292
|
+
*
|
|
293
|
+
* @example
|
|
294
|
+
* ```tsx
|
|
295
|
+
* <Grid ...>
|
|
296
|
+
* {rowSelection && Object.keys(rowSelection).length > 0 && (
|
|
297
|
+
* <BulkActionsBar selection={rowSelection} />
|
|
298
|
+
* )}
|
|
299
|
+
* </Grid>
|
|
300
|
+
* ```
|
|
301
|
+
*/
|
|
302
|
+
children?: ReactNode;
|
|
303
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
interface ColumnFilter {
|
|
2
|
+
id: string;
|
|
3
|
+
value: unknown;
|
|
4
|
+
}
|
|
5
|
+
interface SortingItem {
|
|
6
|
+
id: string;
|
|
7
|
+
desc: boolean;
|
|
8
|
+
}
|
|
9
|
+
interface Pagination {
|
|
10
|
+
pageIndex: number;
|
|
11
|
+
pageSize: number;
|
|
12
|
+
}
|
|
13
|
+
interface QueryArgs {
|
|
14
|
+
columnFilters: ColumnFilter[];
|
|
15
|
+
globalFilter?: string;
|
|
16
|
+
pagination: Pagination;
|
|
17
|
+
sorting: SortingItem[];
|
|
18
|
+
rowSelection?: Record<string, boolean>;
|
|
19
|
+
}
|
|
20
|
+
export declare function URLSearch(queryArgs: QueryArgs): string;
|
|
21
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,49 +1,63 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "munza-x-data-grid",
|
|
3
|
-
"private": false,
|
|
4
|
-
"version": "3.0.
|
|
5
|
-
"type": "module",
|
|
6
|
-
"files": [
|
|
7
|
-
"dist"
|
|
8
|
-
],
|
|
9
|
-
"module": "./dist/
|
|
10
|
-
"types": "./dist/index.d.ts",
|
|
11
|
-
"exports": {
|
|
12
|
-
".": {
|
|
13
|
-
"
|
|
14
|
-
"
|
|
15
|
-
},
|
|
16
|
-
"./style.css": "./dist/
|
|
17
|
-
},
|
|
18
|
-
"scripts": {
|
|
19
|
-
"dev": "vite",
|
|
20
|
-
"build": "tsc -b && vite build",
|
|
21
|
-
"lint": "eslint .",
|
|
22
|
-
"preview": "vite preview"
|
|
23
|
-
},
|
|
24
|
-
"peerDependencies": {
|
|
25
|
-
"react": "^18 || ^19",
|
|
26
|
-
"react-dom": "^18 || ^19"
|
|
27
|
-
},
|
|
28
|
-
"devDependencies": {
|
|
29
|
-
"@babel/core": "^7.29.7",
|
|
30
|
-
"@eslint/js": "^10.0.1",
|
|
31
|
-
"@
|
|
32
|
-
"@
|
|
33
|
-
"@
|
|
34
|
-
"@types/
|
|
35
|
-
"@types/
|
|
36
|
-
"@types/react
|
|
37
|
-
"@
|
|
38
|
-
"
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "munza-x-data-grid",
|
|
3
|
+
"private": false,
|
|
4
|
+
"version": "3.0.1",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"files": [
|
|
7
|
+
"dist"
|
|
8
|
+
],
|
|
9
|
+
"module": "./dist/index.js",
|
|
10
|
+
"types": "./dist/index.d.ts",
|
|
11
|
+
"exports": {
|
|
12
|
+
".": {
|
|
13
|
+
"import": "./dist/index.js",
|
|
14
|
+
"types": "./dist/index.d.ts"
|
|
15
|
+
},
|
|
16
|
+
"./style.css": "./dist/index.css"
|
|
17
|
+
},
|
|
18
|
+
"scripts": {
|
|
19
|
+
"dev": "vite",
|
|
20
|
+
"build": "tsc -b && vite build",
|
|
21
|
+
"lint": "eslint .",
|
|
22
|
+
"preview": "vite preview"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"react": "^18 || ^19",
|
|
26
|
+
"react-dom": "^18 || ^19"
|
|
27
|
+
},
|
|
28
|
+
"devDependencies": {
|
|
29
|
+
"@babel/core": "^7.29.7",
|
|
30
|
+
"@eslint/js": "^10.0.1",
|
|
31
|
+
"@fontsource-variable/geist": "^5.2.9",
|
|
32
|
+
"@rolldown/plugin-babel": "^0.2.3",
|
|
33
|
+
"@tailwindcss/vite": "^4.3.2",
|
|
34
|
+
"@types/babel__core": "^7.20.5",
|
|
35
|
+
"@types/node": "^24.13.2",
|
|
36
|
+
"@types/react": "^19.2.17",
|
|
37
|
+
"@types/react-dom": "^19.2.3",
|
|
38
|
+
"@vitejs/plugin-react": "^6.0.3",
|
|
39
|
+
"babel-plugin-react-compiler": "^1.0.0",
|
|
40
|
+
"class-variance-authority": "^0.7.1",
|
|
41
|
+
"clsx": "^2.1.1",
|
|
42
|
+
"eslint": "^10.6.0",
|
|
43
|
+
"eslint-plugin-react-hooks": "^7.1.1",
|
|
44
|
+
"eslint-plugin-react-refresh": "^0.5.3",
|
|
45
|
+
"globals": "^17.7.0",
|
|
46
|
+
"lucide-react": "^1.24.0",
|
|
47
|
+
"radix-ui": "^1.6.2",
|
|
48
|
+
"shadcn": "^4.13.0",
|
|
49
|
+
"tailwind-merge": "^3.6.0",
|
|
50
|
+
"tailwindcss": "^4.3.2",
|
|
51
|
+
"typescript": "~6.0.2",
|
|
52
|
+
"typescript-eslint": "^8.62.0",
|
|
53
|
+
"vite": "^8.1.1",
|
|
54
|
+
"vite-plugin-dts": "^5.0.3"
|
|
55
|
+
},
|
|
56
|
+
"dependencies": {
|
|
57
|
+
"@dnd-kit/core": "^6.3.1",
|
|
58
|
+
"@dnd-kit/modifiers": "^9.0.0",
|
|
59
|
+
"@dnd-kit/sortable": "^10.0.0",
|
|
60
|
+
"@dnd-kit/utilities": "^3.2.2",
|
|
61
|
+
"@tanstack/react-table": "^8.21.3"
|
|
62
|
+
}
|
|
63
|
+
}
|
package/dist/App.d.ts
DELETED
package/dist/favicon.svg
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" width="48" height="46" fill="none" viewBox="0 0 48 46"><path fill="#863bff" d="M25.946 44.938c-.664.845-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.287c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.497 0-3.578-1.842-3.578H1.237c-.92 0-1.456-1.04-.92-1.788L10.013.474c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.579 1.842 3.579h11.377c.943 0 1.473 1.088.89 1.83L25.947 44.94z" style="fill:#863bff;fill:color(display-p3 .5252 .23 1);fill-opacity:1"/><mask id="a" width="48" height="46" x="0" y="0" maskUnits="userSpaceOnUse" style="mask-type:alpha"><path fill="#000" d="M25.842 44.938c-.664.844-2.021.375-2.021-.698V33.937a2.26 2.26 0 0 0-2.262-2.262H10.183c-.92 0-1.456-1.04-.92-1.788l7.48-10.471c1.07-1.498 0-3.579-1.842-3.579H1.133c-.92 0-1.456-1.04-.92-1.787L9.91.473c.214-.297.556-.474.92-.474h28.894c.92 0 1.456 1.04.92 1.788l-7.48 10.471c-1.07 1.498 0 3.578 1.842 3.578h11.377c.943 0 1.473 1.088.89 1.832L25.843 44.94z" style="fill:#000;fill-opacity:1"/></mask><g mask="url(#a)"><g filter="url(#b)"><ellipse cx="5.508" cy="14.704" fill="#ede6ff" rx="5.508" ry="14.704" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -4.47 31.516)"/></g><g filter="url(#c)"><ellipse cx="10.399" cy="29.851" fill="#ede6ff" rx="10.399" ry="29.851" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -39.328 7.883)"/></g><g filter="url(#d)"><ellipse cx="5.508" cy="30.487" fill="#7e14ff" rx="5.508" ry="30.487" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -25.913 -14.639)scale(1 -1)"/></g><g filter="url(#e)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.814 -32.644 -3.334)scale(1 -1)"/></g><g filter="url(#f)"><ellipse cx="5.508" cy="30.599" fill="#7e14ff" rx="5.508" ry="30.599" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="matrix(.00324 1 1 -.00324 -34.34 30.47)"/></g><g filter="url(#g)"><ellipse cx="14.072" cy="22.078" fill="#ede6ff" rx="14.072" ry="22.078" style="fill:#ede6ff;fill:color(display-p3 .9275 .9033 1);fill-opacity:1" transform="rotate(93.35 24.506 48.493)scale(-1 1)"/></g><g filter="url(#h)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#i)"><ellipse cx="3.47" cy="21.501" fill="#7e14ff" rx="3.47" ry="21.501" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(89.009 28.708 47.59)scale(-1 1)"/></g><g filter="url(#j)"><ellipse cx=".387" cy="8.972" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(39.51 .387 8.972)"/></g><g filter="url(#k)"><ellipse cx="47.523" cy="-6.092" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 47.523 -6.092)"/></g><g filter="url(#l)"><ellipse cx="41.412" cy="6.333" fill="#47bfff" rx="5.971" ry="9.665" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 41.412 6.333)"/></g><g filter="url(#m)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#n)"><ellipse cx="-1.879" cy="38.332" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 -1.88 38.332)"/></g><g filter="url(#o)"><ellipse cx="35.651" cy="29.907" fill="#7e14ff" rx="4.407" ry="29.108" style="fill:#7e14ff;fill:color(display-p3 .4922 .0767 1);fill-opacity:1" transform="rotate(37.892 35.651 29.907)"/></g><g filter="url(#p)"><ellipse cx="38.418" cy="32.4" fill="#47bfff" rx="5.971" ry="15.297" style="fill:#47bfff;fill:color(display-p3 .2799 .748 1);fill-opacity:1" transform="rotate(37.892 38.418 32.4)"/></g></g><defs><filter id="b" width="60.045" height="41.654" x="-19.77" y="16.149" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="c" width="90.34" height="51.437" x="-54.613" y="-7.533" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="d" width="79.355" height="29.4" x="-49.64" y="2.03" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="e" width="79.579" height="29.4" x="-45.045" y="20.029" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="f" width="79.579" height="29.4" x="-43.513" y="21.178" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="g" width="74.749" height="58.852" x="15.756" y="-17.901" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="7.659"/></filter><filter id="h" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="i" width="61.377" height="25.362" x="23.548" y="2.284" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="j" width="56.045" height="63.649" x="-27.636" y="-22.853" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="k" width="54.814" height="64.646" x="20.116" y="-38.415" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="l" width="33.541" height="35.313" x="24.641" y="-11.323" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="m" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="n" width="54.814" height="64.646" x="-29.286" y="6.009" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="o" width="54.814" height="64.646" x="8.244" y="-2.416" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter><filter id="p" width="39.409" height="43.623" x="18.713" y="10.588" color-interpolation-filters="sRGB" filterUnits="userSpaceOnUse"><feFlood flood-opacity="0" result="BackgroundImageFix"/><feBlend in="SourceGraphic" in2="BackgroundImageFix" result="shape"/><feGaussianBlur result="effect1_foregroundBlur_2002_17158" stdDeviation="4.596"/></filter></defs></svg>
|
package/dist/icons.svg
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg">
|
|
2
|
-
<symbol id="bluesky-icon" viewBox="0 0 16 17">
|
|
3
|
-
<g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
|
|
4
|
-
<defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
|
|
5
|
-
</symbol>
|
|
6
|
-
<symbol id="discord-icon" viewBox="0 0 20 19">
|
|
7
|
-
<path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
|
|
8
|
-
</symbol>
|
|
9
|
-
<symbol id="documentation-icon" viewBox="0 0 21 20">
|
|
10
|
-
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
|
|
11
|
-
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
|
|
12
|
-
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
|
|
13
|
-
</symbol>
|
|
14
|
-
<symbol id="github-icon" viewBox="0 0 19 19">
|
|
15
|
-
<path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
|
|
16
|
-
</symbol>
|
|
17
|
-
<symbol id="social-icon" viewBox="0 0 20 20">
|
|
18
|
-
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
|
|
19
|
-
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
|
|
20
|
-
</symbol>
|
|
21
|
-
<symbol id="x-icon" viewBox="0 0 19 19">
|
|
22
|
-
<path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
|
|
23
|
-
</symbol>
|
|
24
|
-
</svg>
|
package/dist/main.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
var e=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports);let t=require("react/jsx-runtime");var n=e((e=>{var t=require("react").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;e.c=function(e){return t.H.useMemoCache(e)}})),r=e((e=>{process.env.NODE_ENV!==`production`&&(function(){var t=require("react").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;e.c=function(e){var n=t.H;return n===null&&console.error(`Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
|
|
2
|
-
1. You might have mismatching versions of React and the renderer (such as React DOM)
|
|
3
|
-
2. You might be breaking the Rules of Hooks
|
|
4
|
-
3. You might have more than one copy of React in the same app
|
|
5
|
-
See https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem.`),n.useMemoCache(e)}})()})),i=e(((e,t)=>{process.env.NODE_ENV===`production`?t.exports=n():t.exports=r()}))(),a=e=>{let n=(0,i.c)(3),{className:r,children:a}=e,o;return n[0]!==a||n[1]!==r?(o=(0,t.jsx)(`button`,{className:r,children:a}),n[0]=a,n[1]=r,n[2]=o):o=n[2],o};module.exports=a;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { jsx as e } from "react/jsx-runtime";
|
|
2
|
-
//#region \0rolldown/runtime.js
|
|
3
|
-
var t = (e, t) => () => (t || (e((t = { exports: {} }).exports, t), e = null), t.exports), n = /* @__PURE__ */ ((e) => typeof require < "u" ? require : typeof Proxy < "u" ? new Proxy(e, { get: (e, t) => (typeof require < "u" ? require : e)[t] }) : e)(function(e) {
|
|
4
|
-
if (typeof require < "u") return require.apply(this, arguments);
|
|
5
|
-
throw Error("Calling `require` for \"" + e + "\" in an environment that doesn't expose the `require` function. See https://rolldown.rs/in-depth/bundling-cjs#require-external-modules for more details.");
|
|
6
|
-
}), r = /* @__PURE__ */ t(((e) => {
|
|
7
|
-
var t = n("react").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
|
8
|
-
e.c = function(e) {
|
|
9
|
-
return t.H.useMemoCache(e);
|
|
10
|
-
};
|
|
11
|
-
})), i = /* @__PURE__ */ t(((e) => {
|
|
12
|
-
process.env.NODE_ENV !== "production" && (function() {
|
|
13
|
-
var t = n("react").__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE;
|
|
14
|
-
e.c = function(e) {
|
|
15
|
-
var n = t.H;
|
|
16
|
-
return n === null && console.error("Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:\n1. You might have mismatching versions of React and the renderer (such as React DOM)\n2. You might be breaking the Rules of Hooks\n3. You might have more than one copy of React in the same app\nSee https://react.dev/link/invalid-hook-call for tips about how to debug and fix this problem."), n.useMemoCache(e);
|
|
17
|
-
};
|
|
18
|
-
})();
|
|
19
|
-
})), a = (/* @__PURE__ */ t(((e, t) => {
|
|
20
|
-
process.env.NODE_ENV === "production" ? t.exports = r() : t.exports = i();
|
|
21
|
-
})))(), o = (t) => {
|
|
22
|
-
let n = (0, a.c)(3), { className: r, children: i } = t, o;
|
|
23
|
-
return n[0] !== i || n[1] !== r ? (o = /* @__PURE__ */ e("button", {
|
|
24
|
-
className: r,
|
|
25
|
-
children: i
|
|
26
|
-
}), n[0] = i, n[1] = r, n[2] = o) : o = n[2], o;
|
|
27
|
-
};
|
|
28
|
-
//#endregion
|
|
29
|
-
export { o as default };
|
package/dist/style.css
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
/*! tailwindcss v4.3.2 | MIT License | https://tailwindcss.com */
|
|
2
|
-
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-900:oklch(39.6% .141 25.723);--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.grid{display:grid}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.bg-red-900{background-color:var(--color-red-900)}.p-4{padding:calc(var(--spacing) * 4)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
|
|
3
|
-
/*$vite$:1*/
|