@rfdtech/components 1.0.1 → 1.1.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/README.md +275 -1
- package/dist/components/bulk-import-modal/steps/MatchColumnsStep.d.ts.map +1 -1
- package/dist/components/data-table/DataTable.d.ts +5 -0
- package/dist/components/data-table/DataTable.d.ts.map +1 -0
- package/dist/components/data-table/DataTable.test.d.ts +2 -0
- package/dist/components/data-table/DataTable.test.d.ts.map +1 -0
- package/dist/components/data-table/hooks/useDataTable.d.ts +3 -0
- package/dist/components/data-table/hooks/useDataTable.d.ts.map +1 -0
- package/dist/components/data-table/index.d.ts +3 -0
- package/dist/components/data-table/index.d.ts.map +1 -0
- package/dist/components/data-table/utils/dataTableClient.d.ts +4 -0
- package/dist/components/data-table/utils/dataTableClient.d.ts.map +1 -0
- package/dist/components/data-table/utils/dataTableClient.test.d.ts +2 -0
- package/dist/components/data-table/utils/dataTableClient.test.d.ts.map +1 -0
- package/dist/components/dropdown/Combobox.d.ts +5 -0
- package/dist/components/dropdown/Combobox.d.ts.map +1 -0
- package/dist/components/dropdown/Combobox.test.d.ts +2 -0
- package/dist/components/dropdown/Combobox.test.d.ts.map +1 -0
- package/dist/components/dropdown/Dropdown.d.ts +5 -0
- package/dist/components/dropdown/Dropdown.d.ts.map +1 -0
- package/dist/components/dropdown/Dropdown.test.d.ts +2 -0
- package/dist/components/dropdown/Dropdown.test.d.ts.map +1 -0
- package/dist/components/dropdown/DropdownMenu.d.ts +5 -0
- package/dist/components/dropdown/DropdownMenu.d.ts.map +1 -0
- package/dist/components/dropdown/DropdownMenu.test.d.ts +2 -0
- package/dist/components/dropdown/DropdownMenu.test.d.ts.map +1 -0
- package/dist/components/dropdown/hooks/useComboboxSearch.d.ts +3 -0
- package/dist/components/dropdown/hooks/useComboboxSearch.d.ts.map +1 -0
- package/dist/components/dropdown/hooks/useDropdown.d.ts +4 -0
- package/dist/components/dropdown/hooks/useDropdown.d.ts.map +1 -0
- package/dist/components/dropdown/hooks/useDropdownPosition.d.ts +4 -0
- package/dist/components/dropdown/hooks/useDropdownPosition.d.ts.map +1 -0
- package/dist/components/dropdown/index.d.ts +5 -0
- package/dist/components/dropdown/index.d.ts.map +1 -0
- package/dist/components/input-mask/InputMask.d.ts +5 -0
- package/dist/components/input-mask/InputMask.d.ts.map +1 -0
- package/dist/components/input-mask/InputMask.test.d.ts +2 -0
- package/dist/components/input-mask/InputMask.test.d.ts.map +1 -0
- package/dist/components/input-mask/hooks/useInputMask.d.ts +18 -0
- package/dist/components/input-mask/hooks/useInputMask.d.ts.map +1 -0
- package/dist/components/input-mask/index.d.ts +5 -0
- package/dist/components/input-mask/index.d.ts.map +1 -0
- package/dist/components/input-mask/presets.d.ts +8 -0
- package/dist/components/input-mask/presets.d.ts.map +1 -0
- package/dist/components/input-mask/utils/maskUtils.d.ts +13 -0
- package/dist/components/input-mask/utils/maskUtils.d.ts.map +1 -0
- package/dist/components/pagination/Pagination.d.ts +5 -0
- package/dist/components/pagination/Pagination.d.ts.map +1 -0
- package/dist/components/pagination/Pagination.test.d.ts +2 -0
- package/dist/components/pagination/Pagination.test.d.ts.map +1 -0
- package/dist/components/pagination/index.d.ts +4 -0
- package/dist/components/pagination/index.d.ts.map +1 -0
- package/dist/components/pagination/utils.d.ts +6 -0
- package/dist/components/pagination/utils.d.ts.map +1 -0
- package/dist/components/pagination/utils.test.d.ts +2 -0
- package/dist/components/pagination/utils.test.d.ts.map +1 -0
- package/dist/index.cjs +31 -31
- package/dist/index.css +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6410 -5617
- package/dist/types/data-table.d.ts +41 -0
- package/dist/types/data-table.d.ts.map +1 -0
- package/dist/types/dropdown.d.ts +91 -0
- package/dist/types/dropdown.d.ts.map +1 -0
- package/dist/types/input-mask.d.ts +17 -0
- package/dist/types/input-mask.d.ts.map +1 -0
- package/dist/types/pagination.d.ts +14 -0
- package/dist/types/pagination.d.ts.map +1 -0
- package/package.json +24 -4
- package/dist/components/bulk-import-modal/components/FieldMappingSelect.d.ts +0 -15
- package/dist/components/bulk-import-modal/components/FieldMappingSelect.d.ts.map +0 -1
- package/dist/components/bulk-import-modal/components/FieldMappingSelect.test.d.ts +0 -2
- package/dist/components/bulk-import-modal/components/FieldMappingSelect.test.d.ts.map +0 -1
package/README.md
CHANGED
|
@@ -4,6 +4,10 @@ Shared React component library for Ghana School of Law (GSL) projects.
|
|
|
4
4
|
|
|
5
5
|
Requires React 18+ and a bundler that processes CSS (Vite, Webpack, etc.).
|
|
6
6
|
|
|
7
|
+
## Changelog
|
|
8
|
+
|
|
9
|
+
See [CHANGELOG.md](./CHANGELOG.md) for release history.
|
|
10
|
+
|
|
7
11
|
## Styles
|
|
8
12
|
|
|
9
13
|
Component styles load automatically when you import from `@rfdtech/components` (the JS bundle includes `import './index.css'`). For reliable styling in production, add this once in your app entry (`main.tsx` or `App.tsx`):
|
|
@@ -237,6 +241,276 @@ Override shared tokens on `.gsl-app-switcher` (see [Shared theming](#shared-them
|
|
|
237
241
|
|
|
238
242
|
When fetching from a remote `baseUrl` in the browser, the API must allow the host application's origin. Configure CORS on your backend or proxy `/v1` through your dev server during local development.
|
|
239
243
|
|
|
244
|
+
## Dropdown
|
|
245
|
+
|
|
246
|
+
Single-value select with a combobox trigger and portaled listbox. Use for forms and filters where the user picks one option from a list.
|
|
247
|
+
|
|
248
|
+
### Usage
|
|
249
|
+
|
|
250
|
+
```tsx
|
|
251
|
+
import { Dropdown } from "@rfdtech/components";
|
|
252
|
+
|
|
253
|
+
function DepartmentFilter() {
|
|
254
|
+
const [department, setDepartment] = useState<string | null>(null);
|
|
255
|
+
|
|
256
|
+
return (
|
|
257
|
+
<Dropdown
|
|
258
|
+
ariaLabel="Department"
|
|
259
|
+
value={department}
|
|
260
|
+
onChange={setDepartment}
|
|
261
|
+
placeholder="Choose department..."
|
|
262
|
+
clearable
|
|
263
|
+
options={[
|
|
264
|
+
{ value: "finance", label: "Finance" },
|
|
265
|
+
{ value: "hr", label: "Human Resources" },
|
|
266
|
+
]}
|
|
267
|
+
/>
|
|
268
|
+
);
|
|
269
|
+
}
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
### Props
|
|
273
|
+
|
|
274
|
+
| Prop | Type | Default | Description |
|
|
275
|
+
|------|------|---------|-------------|
|
|
276
|
+
| `ariaLabel` | `string` | required | Accessible label for the combobox |
|
|
277
|
+
| `value` | `string \| null` | required | Selected option value |
|
|
278
|
+
| `onChange` | `(value: string \| null) => void` | required | Called when selection changes |
|
|
279
|
+
| `options` | `DropdownOption[]` | required | `{ value, label, disabled? }` items |
|
|
280
|
+
| `placeholder` | `string` | `"Select..."` | Text shown when no value is selected |
|
|
281
|
+
| `clearable` | `boolean` | `false` | Show placeholder as a clear option |
|
|
282
|
+
| `disabled` | `boolean` | `false` | Disable the trigger |
|
|
283
|
+
| `open` | `boolean` | — | Controlled open state |
|
|
284
|
+
| `onOpenChange` | `(open: boolean) => void` | — | Open state callback |
|
|
285
|
+
| `className` | `string` | — | Root CSS class |
|
|
286
|
+
| `style` | `CSSProperties` | — | Root inline styles |
|
|
287
|
+
|
|
288
|
+
## Combobox
|
|
289
|
+
|
|
290
|
+
Text-input combobox with debounced async search. Use when options are loaded from an API based on what the user types.
|
|
291
|
+
|
|
292
|
+
### Usage
|
|
293
|
+
|
|
294
|
+
```tsx
|
|
295
|
+
import { Combobox } from "@rfdtech/components";
|
|
296
|
+
import type { DropdownOption } from "@rfdtech/components";
|
|
297
|
+
|
|
298
|
+
const loadUsers = (query: string): Promise<DropdownOption[]> =>
|
|
299
|
+
fetch(`/api/users?q=${encodeURIComponent(query)}`).then((r) => r.json());
|
|
300
|
+
|
|
301
|
+
function UserPicker() {
|
|
302
|
+
const [userId, setUserId] = useState<string | null>(null);
|
|
303
|
+
|
|
304
|
+
return (
|
|
305
|
+
<Combobox
|
|
306
|
+
ariaLabel="User"
|
|
307
|
+
value={userId}
|
|
308
|
+
onChange={setUserId}
|
|
309
|
+
loadOptions={loadUsers}
|
|
310
|
+
placeholder="Search users..."
|
|
311
|
+
clearable
|
|
312
|
+
getOptionLabel={(id) => cachedUsers.get(id)}
|
|
313
|
+
/>
|
|
314
|
+
);
|
|
315
|
+
}
|
|
316
|
+
```
|
|
317
|
+
|
|
318
|
+
The component caches the selected option label internally. Pass `getOptionLabel` when the value may be set before options are loaded (e.g. editing an existing record).
|
|
319
|
+
|
|
320
|
+
### Props
|
|
321
|
+
|
|
322
|
+
| Prop | Type | Default | Description |
|
|
323
|
+
|------|------|---------|-------------|
|
|
324
|
+
| `ariaLabel` | `string` | required | Accessible label for the combobox input |
|
|
325
|
+
| `value` | `string \| null` | required | Selected option value |
|
|
326
|
+
| `onChange` | `(value: string \| null) => void` | required | Called when selection changes |
|
|
327
|
+
| `loadOptions` | `(query: string) => Promise<DropdownOption[]>` | required | Async search function |
|
|
328
|
+
| `placeholder` | `string` | `"Search..."` | Input placeholder |
|
|
329
|
+
| `debounceMs` | `number` | `300` | Debounce delay before calling `loadOptions` |
|
|
330
|
+
| `minSearchLength` | `number` | `0` | Minimum query length before searching |
|
|
331
|
+
| `getOptionLabel` | `(value: string) => string \| undefined` | — | Resolve label for a value not in current results |
|
|
332
|
+
| `noResultsText` | `string` | `"No results"` | Text when search returns no options |
|
|
333
|
+
| `loadingText` | `string` | `"Loading..."` | Accessible label for the loading spinner |
|
|
334
|
+
| `clearable` | `boolean` | `false` | Show a clear button when a value is selected |
|
|
335
|
+
| `disabled` | `boolean` | `false` | Disable the input |
|
|
336
|
+
| `open` | `boolean` | — | Controlled open state |
|
|
337
|
+
| `onOpenChange` | `(open: boolean) => void` | — | Open state callback |
|
|
338
|
+
| `className` | `string` | — | Root CSS class |
|
|
339
|
+
| `style` | `CSSProperties` | — | Root inline styles |
|
|
340
|
+
|
|
341
|
+
## InputMask
|
|
342
|
+
|
|
343
|
+
Pattern-based masked text input for phone numbers, dates, and other formatted fields.
|
|
344
|
+
|
|
345
|
+
### Mask syntax
|
|
346
|
+
|
|
347
|
+
| Token | Accepts |
|
|
348
|
+
|-------|---------|
|
|
349
|
+
| `#` | Digit (`0-9`) |
|
|
350
|
+
| `A` | Letter (`a-z`, `A-Z`) |
|
|
351
|
+
| `*` | Alphanumeric |
|
|
352
|
+
| Other characters | Literals inserted automatically |
|
|
353
|
+
|
|
354
|
+
### Usage
|
|
355
|
+
|
|
356
|
+
```tsx
|
|
357
|
+
import { INPUT_MASK_PRESETS, InputMask } from "@rfdtech/components";
|
|
358
|
+
|
|
359
|
+
function ContactForm() {
|
|
360
|
+
const [phone, setPhone] = useState("");
|
|
361
|
+
const [rawPhone, setRawPhone] = useState("");
|
|
362
|
+
|
|
363
|
+
return (
|
|
364
|
+
<InputMask
|
|
365
|
+
ariaLabel="Phone number"
|
|
366
|
+
mask={INPUT_MASK_PRESETS.phoneGh}
|
|
367
|
+
value={phone}
|
|
368
|
+
onChange={setPhone}
|
|
369
|
+
onValueChange={setRawPhone}
|
|
370
|
+
placeholder="0XX XXX XXXX"
|
|
371
|
+
inputMode="tel"
|
|
372
|
+
/>
|
|
373
|
+
);
|
|
374
|
+
}
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
`onChange` receives the masked display value (e.g. `024 123 4567`). `onValueChange` receives only the slot characters (e.g. `0241234567`).
|
|
378
|
+
|
|
379
|
+
### Presets
|
|
380
|
+
|
|
381
|
+
`INPUT_MASK_PRESETS` includes `phoneGh`, `phoneIntlGh`, `date`, and `time`. Pass any custom pattern string to `mask`.
|
|
382
|
+
|
|
383
|
+
### Props
|
|
384
|
+
|
|
385
|
+
| Prop | Type | Default | Description |
|
|
386
|
+
|------|------|---------|-------------|
|
|
387
|
+
| `mask` | `string` | required | Pattern string (`#`, `A`, `*`, literals) |
|
|
388
|
+
| `ariaLabel` | `string` | required | Accessible label for the input |
|
|
389
|
+
| `value` | `string` | — | Masked display value (controlled) |
|
|
390
|
+
| `defaultValue` | `string` | `""` | Initial value (uncontrolled) |
|
|
391
|
+
| `onChange` | `(masked: string) => void` | — | Called with masked display value |
|
|
392
|
+
| `onValueChange` | `(unmasked: string) => void` | — | Called with raw slot characters |
|
|
393
|
+
| `placeholder` | `string` | — | Placeholder text |
|
|
394
|
+
| `disabled` | `boolean` | `false` | Disable the input |
|
|
395
|
+
| `id` | `string` | — | Input `id` attribute |
|
|
396
|
+
| `name` | `string` | — | Input `name` attribute |
|
|
397
|
+
| `inputMode` | `string` | `"text"` | Mobile keyboard hint |
|
|
398
|
+
| `className` | `string` | — | Root CSS class |
|
|
399
|
+
| `style` | `CSSProperties` | — | Root inline styles |
|
|
400
|
+
|
|
401
|
+
## DataTable
|
|
402
|
+
|
|
403
|
+
Read-focused data table with column sorting and pagination. Pass `data` for client-side sorting and pagination; use `loading` when data is fetched by the parent.
|
|
404
|
+
|
|
405
|
+
`DataTable` composes the standalone [`Pagination`](#pagination) component for its footer.
|
|
406
|
+
|
|
407
|
+
### Usage
|
|
408
|
+
|
|
409
|
+
```tsx
|
|
410
|
+
import { DataTable } from "@rfdtech/components";
|
|
411
|
+
|
|
412
|
+
const columns = [
|
|
413
|
+
{ key: "name", label: "Name", sortable: true },
|
|
414
|
+
{ key: "department", label: "Department", sortable: true },
|
|
415
|
+
];
|
|
416
|
+
|
|
417
|
+
const { data, loading } = useStaff();
|
|
418
|
+
|
|
419
|
+
<DataTable
|
|
420
|
+
columns={columns}
|
|
421
|
+
data={data}
|
|
422
|
+
loading={loading}
|
|
423
|
+
emptyText="No staff found."
|
|
424
|
+
pageSize={10}
|
|
425
|
+
onRowClick={(row) => console.log(row.name)}
|
|
426
|
+
/>
|
|
427
|
+
```
|
|
428
|
+
|
|
429
|
+
Sorting and pagination run in the browser against the `data` array you provide.
|
|
430
|
+
|
|
431
|
+
### Props
|
|
432
|
+
|
|
433
|
+
| Prop | Type | Default | Description |
|
|
434
|
+
|------|------|---------|-------------|
|
|
435
|
+
| `columns` | `DataTableColumn[]` | required | Column definitions |
|
|
436
|
+
| `data` | `T[]` | required | Rows to display |
|
|
437
|
+
| `loading` | `boolean` | `false` | Show loading spinner and disable controls |
|
|
438
|
+
| `getRowId` | `(row, index) => string \| number` | index | Stable row key |
|
|
439
|
+
| `pageSize` | `number` | `10` | Initial rows per page |
|
|
440
|
+
| `pageSizeOptions` | `number[]` | `[10, 25, 50]` | Page size choices |
|
|
441
|
+
| `emptyText` | `string` | `"No results found."` | Empty state message |
|
|
442
|
+
| `loadingLabel` | `string` | `"Loading data"` | Accessible label for loading spinner |
|
|
443
|
+
| `onRowClick` | `(row: T) => void` | — | Row click handler |
|
|
444
|
+
| `className` | `string` | — | Root CSS class |
|
|
445
|
+
| `style` | `CSSProperties` | — | Root inline styles |
|
|
446
|
+
|
|
447
|
+
## Pagination
|
|
448
|
+
|
|
449
|
+
Standalone pagination footer with result summary, rows-per-page dropdown, and previous/next controls. Used by `DataTable` but can be composed independently.
|
|
450
|
+
|
|
451
|
+
### Usage
|
|
452
|
+
|
|
453
|
+
```tsx
|
|
454
|
+
import { Pagination } from "@rfdtech/components";
|
|
455
|
+
|
|
456
|
+
<Pagination
|
|
457
|
+
page={page}
|
|
458
|
+
pageSize={pageSize}
|
|
459
|
+
total={total}
|
|
460
|
+
onPageChange={setPage}
|
|
461
|
+
onPageSizeChange={setPageSize}
|
|
462
|
+
/>
|
|
463
|
+
```
|
|
464
|
+
|
|
465
|
+
### Props
|
|
466
|
+
|
|
467
|
+
| Prop | Type | Default | Description |
|
|
468
|
+
|------|------|---------|-------------|
|
|
469
|
+
| `page` | `number` | required | Current page (1-based) |
|
|
470
|
+
| `pageSize` | `number` | required | Rows per page |
|
|
471
|
+
| `total` | `number` | required | Total row count |
|
|
472
|
+
| `pageSizeOptions` | `number[]` | `[10, 25, 50]` | Page size choices |
|
|
473
|
+
| `loading` | `boolean` | `false` | Disable controls while loading |
|
|
474
|
+
| `emptySummaryText` | `string` | `"Showing 0 results"` | Summary when `total` is 0 |
|
|
475
|
+
| `onPageChange` | `(page: number) => void` | required | Page change callback |
|
|
476
|
+
| `onPageSizeChange` | `(pageSize: number) => void` | required | Page size change callback |
|
|
477
|
+
| `className` | `string` | — | Root CSS class |
|
|
478
|
+
| `style` | `CSSProperties` | — | Root inline styles |
|
|
479
|
+
|
|
480
|
+
## DropdownMenu
|
|
481
|
+
|
|
482
|
+
Action menu triggered by a custom button. Use for row actions, overflow menus, and navigation shortcuts.
|
|
483
|
+
|
|
484
|
+
### Usage
|
|
485
|
+
|
|
486
|
+
```tsx
|
|
487
|
+
import { DropdownMenu } from "@rfdtech/components";
|
|
488
|
+
|
|
489
|
+
<DropdownMenu
|
|
490
|
+
ariaLabel="Row actions"
|
|
491
|
+
trigger={<span>⋮</span>}
|
|
492
|
+
items={[
|
|
493
|
+
{ id: "edit", label: "Edit", onSelect: () => console.log("edit") },
|
|
494
|
+
{ id: "docs", label: "Docs", href: "https://example.com/docs" },
|
|
495
|
+
{ id: "delete", label: "Delete", onSelect: () => {}, destructive: true },
|
|
496
|
+
]}
|
|
497
|
+
/>
|
|
498
|
+
```
|
|
499
|
+
|
|
500
|
+
### Props
|
|
501
|
+
|
|
502
|
+
| Prop | Type | Default | Description |
|
|
503
|
+
|------|------|---------|-------------|
|
|
504
|
+
| `trigger` | `ReactNode \| (state) => ReactNode` | required | Button content or render prop |
|
|
505
|
+
| `items` | `DropdownMenuItem[]` | required | Menu entries |
|
|
506
|
+
| `ariaLabel` | `string` | required | Accessible label for trigger and menu |
|
|
507
|
+
| `placement` | `"bottom-start" \| "bottom-end" \| "bottom"` | `"bottom-end"` | Panel position |
|
|
508
|
+
| `closeOnSelect` | `boolean` | `true` | Close after an item is chosen |
|
|
509
|
+
| `open` | `boolean` | — | Controlled open state |
|
|
510
|
+
| `onOpenChange` | `(open: boolean) => void` | — | Open state callback |
|
|
511
|
+
| `className` | `string` | — | Root CSS class |
|
|
512
|
+
| `style` | `CSSProperties` | — | Root inline styles |
|
|
513
|
+
|
|
240
514
|
## BulkImportModal
|
|
241
515
|
|
|
242
516
|
Four-step modal wizard for importing spreadsheet data (.xlsx, .xls, .csv). Parsing and validation run entirely in the browser.
|
|
@@ -389,7 +663,7 @@ To change the gutter size, override `--gsl-bulk-import-gutter` on `.gsl-bulk-imp
|
|
|
389
663
|
|
|
390
664
|
```bash
|
|
391
665
|
npm install
|
|
392
|
-
npm run demo # Start demo at http://localhost:5173
|
|
666
|
+
npm run demo # Start demo at http://localhost:5173 — interactive examples at / and MDX docs at /docs
|
|
393
667
|
npm run test # Run unit and component tests
|
|
394
668
|
npm run test:watch # Run tests in watch mode
|
|
395
669
|
npm run build # Build library to dist/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MatchColumnsStep.d.ts","sourceRoot":"","sources":["../../../../src/components/bulk-import-modal/steps/MatchColumnsStep.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAG1C,UAAU,qBAAqB;IAC7B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC;IACxB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9E,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAwCD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,GACvB,EAAE,qBAAqB,+
|
|
1
|
+
{"version":3,"file":"MatchColumnsStep.d.ts","sourceRoot":"","sources":["../../../../src/components/bulk-import-modal/steps/MatchColumnsStep.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,YAAY,EACZ,mBAAmB,EACpB,MAAM,kCAAkC,CAAC;AAG1C,UAAU,qBAAqB;IAC7B,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC;IACxB,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9E,sBAAsB,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CACvD;AAwCD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,gBAAgB,EAChB,WAAW,EACX,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,sBAAsB,GACvB,EAAE,qBAAqB,+BA8FvB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DataTableProps } from "../../types/data-table";
|
|
2
|
+
import "../../styles/theme.css";
|
|
3
|
+
import "./styles/data-table.css";
|
|
4
|
+
export declare function DataTable<T extends Record<string, unknown>>({ columns, data, loading, getRowId, pageSize: initialPageSize, pageSizeOptions, emptyText, loadingLabel, onRowClick, className, style, }: DataTableProps<T>): import("react").JSX.Element;
|
|
5
|
+
//# sourceMappingURL=DataTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTable.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAG7D,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AAEjC,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC3D,OAAO,EACP,IAAI,EACJ,OAAe,EACf,QAAQ,EACR,QAAQ,EAAE,eAAoB,EAC9B,eAAe,EACf,SAA+B,EAC/B,YAA6B,EAC7B,UAAU,EACV,SAAS,EACT,KAAK,GACN,EAAE,cAAc,CAAC,CAAC,CAAC,+BA8InB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataTable.test.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/DataTable.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { UseDataTableOptions, UseDataTableReturn } from "../../../types/data-table";
|
|
2
|
+
export declare function useDataTable<T extends Record<string, unknown>>({ columns, data, initialPageSize, }: UseDataTableOptions<T>): UseDataTableReturn<T>;
|
|
3
|
+
//# sourceMappingURL=useDataTable.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDataTable.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/hooks/useDataTable.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,2BAA2B,CAAC;AAInC,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAC9D,OAAO,EACP,IAAI,EACJ,eAAoB,GACrB,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAqDhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/data-table/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EACV,eAAe,EACf,cAAc,EACd,aAAa,GACd,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DataTableColumn, DataTableSort } from "../../../types/data-table";
|
|
2
|
+
export declare function sortRows<T extends Record<string, unknown>>(rows: T[], sort: DataTableSort | null, columns: DataTableColumn<T>[]): T[];
|
|
3
|
+
export declare function paginateRows<T>(rows: T[], page: number, pageSize: number): T[];
|
|
4
|
+
//# sourceMappingURL=dataTableClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataTableClient.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/utils/dataTableClient.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAchF,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACxD,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,aAAa,GAAG,IAAI,EAC1B,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,GAC5B,CAAC,EAAE,CAoBL;AAED,wBAAgB,YAAY,CAAC,CAAC,EAC5B,IAAI,EAAE,CAAC,EAAE,EACT,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,GACf,CAAC,EAAE,CAGL"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataTableClient.test.d.ts","sourceRoot":"","sources":["../../../../src/components/data-table/utils/dataTableClient.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { ComboboxProps } from "../../types/dropdown";
|
|
2
|
+
import "../../styles/theme.css";
|
|
3
|
+
import "./styles/dropdown.css";
|
|
4
|
+
export declare function Combobox({ ariaLabel, placeholder, value, loadOptions, debounceMs, minSearchLength, getOptionLabel, noResultsText, loadingText, clearable, disabled, open: controlledOpen, onOpenChange, onChange, className, style, }: ComboboxProps): import("react").JSX.Element;
|
|
5
|
+
//# sourceMappingURL=Combobox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/Combobox.tsx"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,aAAa,EAAkB,MAAM,sBAAsB,CAAC;AAI1E,OAAO,wBAAwB,CAAC;AAChC,OAAO,uBAAuB,CAAC;AAK/B,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,WAAyB,EACzB,KAAK,EACL,WAAW,EACX,UAAgB,EAChB,eAAmB,EACnB,cAAc,EACd,aAA4B,EAC5B,WAA0B,EAC1B,SAAiB,EACjB,QAAgB,EAChB,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE,aAAa,+BA4Nf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Combobox.test.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/Combobox.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DropdownProps } from "../../types/dropdown";
|
|
2
|
+
import "../../styles/theme.css";
|
|
3
|
+
import "./styles/dropdown.css";
|
|
4
|
+
export declare function Dropdown({ ariaLabel, placeholder, value, options, clearable, disabled, open: controlledOpen, onOpenChange, onChange, className, style, }: DropdownProps): import("react").JSX.Element;
|
|
5
|
+
//# sourceMappingURL=Dropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/Dropdown.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,wBAAwB,CAAC;AAChC,OAAO,uBAAuB,CAAC;AAK/B,wBAAgB,QAAQ,CAAC,EACvB,SAAS,EACT,WAAyB,EACzB,KAAK,EACL,OAAO,EACP,SAAiB,EACjB,QAAgB,EAChB,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,KAAK,GACN,EAAE,aAAa,+BAoHf"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Dropdown.test.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/Dropdown.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { DropdownMenuProps } from "../../types/dropdown";
|
|
2
|
+
import "../../styles/theme.css";
|
|
3
|
+
import "./styles/dropdown.css";
|
|
4
|
+
export declare function DropdownMenu({ trigger, items, ariaLabel, placement, closeOnSelect, open: controlledOpen, onOpenChange, className, style, }: DropdownMenuProps): import("react").JSX.Element;
|
|
5
|
+
//# sourceMappingURL=DropdownMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownMenu.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/DropdownMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,wBAAwB,CAAC;AAChC,OAAO,uBAAuB,CAAC;AAE/B,wBAAgB,YAAY,CAAC,EAC3B,OAAO,EACP,KAAK,EACL,SAAS,EACT,SAAwB,EACxB,aAAoB,EACpB,IAAI,EAAE,cAAc,EACpB,YAAY,EACZ,SAAS,EACT,KAAK,GACN,EAAE,iBAAiB,+BAgGnB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DropdownMenu.test.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/DropdownMenu.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { UseComboboxSearchOptions, UseComboboxSearchReturn } from "../../../types/dropdown";
|
|
2
|
+
export declare function useComboboxSearch({ loadOptions, debounceMs, minSearchLength, enabled, }: UseComboboxSearchOptions): UseComboboxSearchReturn;
|
|
3
|
+
//# sourceMappingURL=useComboboxSearch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useComboboxSearch.d.ts","sourceRoot":"","sources":["../../../../src/components/dropdown/hooks/useComboboxSearch.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,wBAAwB,EACxB,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,iBAAiB,CAAC,EAChC,WAAW,EACX,UAAgB,EAChB,eAAmB,EACnB,OAAc,GACf,EAAE,wBAAwB,GAAG,uBAAuB,CAoEpD"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
import type { UseDropdownOptions, UseDropdownReturn } from "../../../types/dropdown";
|
|
3
|
+
export declare function useDropdown<T extends HTMLElement = HTMLElement, U extends HTMLElement = HTMLElement>(options?: UseDropdownOptions, panelRefProp?: RefObject<T | null>, triggerRefProp?: RefObject<U | null>): UseDropdownReturn<T, U>;
|
|
4
|
+
//# sourceMappingURL=useDropdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDropdown.d.ts","sourceRoot":"","sources":["../../../../src/components/dropdown/hooks/useDropdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAErF,wBAAgB,WAAW,CACzB,CAAC,SAAS,WAAW,GAAG,WAAW,EACnC,CAAC,SAAS,WAAW,GAAG,WAAW,EAEnC,OAAO,GAAE,kBAAuB,EAChC,YAAY,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,EAClC,cAAc,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,GACnC,iBAAiB,CAAC,CAAC,EAAE,CAAC,CAAC,CAkEzB"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type RefObject } from "react";
|
|
2
|
+
import type { DropdownPosition } from "../../../types/dropdown";
|
|
3
|
+
export declare function useDropdownPosition(open: boolean, triggerRef: RefObject<HTMLElement | null>): DropdownPosition | null;
|
|
4
|
+
//# sourceMappingURL=useDropdownPosition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useDropdownPosition.d.ts","sourceRoot":"","sources":["../../../../src/components/dropdown/hooks/useDropdownPosition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,EACb,UAAU,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GACxC,gBAAgB,GAAG,IAAI,CAuCzB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { Combobox } from "./Combobox";
|
|
2
|
+
export { Dropdown } from "./Dropdown";
|
|
3
|
+
export { DropdownMenu } from "./DropdownMenu";
|
|
4
|
+
export type { ComboboxProps, DropdownOption, DropdownProps, DropdownMenuItem, DropdownMenuProps, DropdownMenuPlacement, } from "../../types/dropdown";
|
|
5
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/dropdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,YAAY,EACV,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,sBAAsB,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { InputMaskProps } from "../../types/input-mask";
|
|
2
|
+
import "../../styles/theme.css";
|
|
3
|
+
import "./styles/input-mask.css";
|
|
4
|
+
export declare function InputMask({ mask, value, defaultValue, onChange, onValueChange, ariaLabel, placeholder, disabled, id, name, className, style, inputMode, }: InputMaskProps): import("react").JSX.Element;
|
|
5
|
+
//# sourceMappingURL=InputMask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputMask.d.ts","sourceRoot":"","sources":["../../../src/components/input-mask/InputMask.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AAEjC,wBAAgB,SAAS,CAAC,EACxB,IAAI,EACJ,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,aAAa,EACb,SAAS,EACT,WAAW,EACX,QAAgB,EAChB,EAAE,EACF,IAAI,EACJ,SAAS,EACT,KAAK,EACL,SAAkB,GACnB,EAAE,cAAc,+BAkChB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"InputMask.test.d.ts","sourceRoot":"","sources":["../../../src/components/input-mask/InputMask.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ChangeEvent, type ClipboardEvent, type KeyboardEvent } from "react";
|
|
2
|
+
interface UseInputMaskOptions {
|
|
3
|
+
mask: string;
|
|
4
|
+
value?: string;
|
|
5
|
+
defaultValue?: string;
|
|
6
|
+
onChange?: (masked: string) => void;
|
|
7
|
+
onValueChange?: (unmasked: string) => void;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare function useInputMask({ mask, value, defaultValue, onChange, onValueChange, disabled, }: UseInputMaskOptions): {
|
|
11
|
+
inputRef: import("react").RefObject<HTMLInputElement | null>;
|
|
12
|
+
maskedValue: string;
|
|
13
|
+
handleChange: (event: ChangeEvent<HTMLInputElement>) => void;
|
|
14
|
+
handleKeyDown: (event: KeyboardEvent<HTMLInputElement>) => void;
|
|
15
|
+
handlePaste: (event: ClipboardEvent<HTMLInputElement>) => void;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
18
|
+
//# sourceMappingURL=useInputMask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useInputMask.d.ts","sourceRoot":"","sources":["../../../../src/components/input-mask/hooks/useInputMask.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,aAAa,EACnB,MAAM,OAAO,CAAC;AASf,UAAU,mBAAmB;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,KAAK,EACL,YAAiB,EACjB,QAAQ,EACR,aAAa,EACb,QAAgB,GACjB,EAAE,mBAAmB;;;0BA0CV,WAAW,CAAC,gBAAgB,CAAC;2BAwB7B,aAAa,CAAC,gBAAgB,CAAC;yBA+B/B,cAAc,CAAC,gBAAgB,CAAC;EA8B3C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/input-mask/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAC/C,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACjD,YAAY,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const INPUT_MASK_PRESETS: {
|
|
2
|
+
readonly phoneGh: "0## ### ####";
|
|
3
|
+
readonly phoneIntlGh: "+233 ## ### ####";
|
|
4
|
+
readonly date: "##/##/####";
|
|
5
|
+
readonly time: "##:##";
|
|
6
|
+
};
|
|
7
|
+
export type InputMaskPreset = (typeof INPUT_MASK_PRESETS)[keyof typeof INPUT_MASK_PRESETS];
|
|
8
|
+
//# sourceMappingURL=presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presets.d.ts","sourceRoot":"","sources":["../../../src/components/input-mask/presets.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,kBAAkB;;;;;CAKrB,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type MaskSlotType = "digit" | "letter" | "alphanumeric" | "literal";
|
|
2
|
+
export interface MaskSlot {
|
|
3
|
+
type: MaskSlotType;
|
|
4
|
+
char?: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function parseMask(mask: string): MaskSlot[];
|
|
7
|
+
export declare function applyMask(rawInput: string, mask: string): string;
|
|
8
|
+
export declare function stripMask(masked: string, mask: string): string;
|
|
9
|
+
export declare function maskedIndexForSlotCount(slotCount: number, mask: string): number;
|
|
10
|
+
export declare function getCursorAfterEdit(prevMasked: string, nextMasked: string, prevCursor: number, mask: string): number;
|
|
11
|
+
export declare function getCursorAfterBackspace(masked: string, cursor: number, mask: string): number;
|
|
12
|
+
export declare function deleteAtCursor(masked: string, cursor: number, mask: string): string;
|
|
13
|
+
//# sourceMappingURL=maskUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maskUtils.d.ts","sourceRoot":"","sources":["../../../../src/components/input-mask/utils/maskUtils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,QAAQ,GAAG,cAAc,GAAG,SAAS,CAAC;AAE3E,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAMD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,CAgBlD;AA6DD,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAuB9D;AAMD,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAsB/E;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,MAAM,CAiBR;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAG5F;AAED,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAenF"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { PaginationProps } from "../../types/pagination";
|
|
2
|
+
import "../../styles/theme.css";
|
|
3
|
+
import "./styles/pagination.css";
|
|
4
|
+
export declare function Pagination({ page, pageSize, total, pageSizeOptions, loading, emptySummaryText, onPageChange, onPageSizeChange, className, style, }: PaginationProps): import("react").JSX.Element;
|
|
5
|
+
//# sourceMappingURL=Pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/Pagination.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAG9D,OAAO,wBAAwB,CAAC;AAChC,OAAO,yBAAyB,CAAC;AAIjC,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,QAAQ,EACR,KAAK,EACL,eAA2C,EAC3C,OAAe,EACf,gBAAsC,EACtC,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,KAAK,GACN,EAAE,eAAe,+BAkEjB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Pagination.test.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/Pagination.test.tsx"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/utils.ts"],"names":[],"mappings":"AAAA,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMpE;AAED,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAQhC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.test.d.ts","sourceRoot":"","sources":["../../../src/components/pagination/utils.test.ts"],"names":[],"mappings":""}
|