@platned/ui 0.7.0 → 0.7.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/dist/index.cjs +1146 -913
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +79 -15
- package/dist/index.d.ts +79 -15
- package/dist/index.js +1234 -995
- package/dist/index.js.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
package/dist/index.d.cts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, HTMLAttributes, LabelHTMLAttributes, TextareaHTMLAttributes, RefObject, ReactElement, Ref, AnchorHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes, Component, ErrorInfo } from 'react';
|
|
2
|
+
import { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, HTMLAttributes, LabelHTMLAttributes, TextareaHTMLAttributes, ChangeEventHandler, RefObject, ReactElement, Ref, AnchorHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes, Component, ErrorInfo } from 'react';
|
|
3
3
|
import { ClassValue } from 'clsx';
|
|
4
4
|
import { Column, Table as Table$1, ColumnDef, RowData, SortingState, ColumnFiltersState, PaginationState, VisibilityState, RowSelectionState, TableOptions } from '@tanstack/react-table';
|
|
5
5
|
export { CellContext, ColumnDef, ColumnFiltersState, Column as DataTableColumn, Table as DataTableInstance, HeaderContext, PaginationState, Row, RowSelectionState, SortingState, VisibilityState, createColumnHelper } from '@tanstack/react-table';
|
|
@@ -339,22 +339,54 @@ interface SelectProps extends SelectControlProps {
|
|
|
339
339
|
*/
|
|
340
340
|
declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLButtonElement>>;
|
|
341
341
|
|
|
342
|
-
interface DatePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
|
|
342
|
+
interface DatePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'value' | 'defaultValue'> {
|
|
343
343
|
label?: string;
|
|
344
344
|
description?: string;
|
|
345
345
|
/** Red border + message shown below the control. Also sets `aria-invalid`. */
|
|
346
346
|
error?: string;
|
|
347
347
|
hint?: string;
|
|
348
348
|
size?: InputSize;
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
349
|
+
/** The selected date as an ISO `YYYY-MM-DD` string, `''` for none. Controlled. */
|
|
350
|
+
value?: string;
|
|
351
|
+
/** Initial ISO date when uncontrolled. */
|
|
352
|
+
defaultValue?: string;
|
|
353
|
+
/**
|
|
354
|
+
* Called with a real change event from the underlying date input, so
|
|
355
|
+
* `onChange={(e) => set(e.target.value)}` keeps working; `e.target.value` is the ISO date.
|
|
356
|
+
*/
|
|
357
|
+
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
358
|
+
/** The new ISO date. New in 0.7.1; an alternative to reading `onChange`'s event. */
|
|
359
|
+
onValueChange?: (value: string) => void;
|
|
360
|
+
/** Shown when there is no date. Default "Pick a date". */
|
|
361
|
+
placeholder?: string;
|
|
362
|
+
/** BCP 47 tag for the shown date and the calendar. Default: the browser's. */
|
|
363
|
+
locale?: string;
|
|
364
|
+
/** 0 = Sunday, 1 = Monday. Default `1`. */
|
|
365
|
+
weekStartsOn?: 0 | 1;
|
|
366
|
+
/** `dropdown` (default) puts month and year selects in the calendar header. */
|
|
367
|
+
captionLayout?: 'label' | 'dropdown';
|
|
368
|
+
/** First year in the year select. Default `min`'s year, else 100 years ago. */
|
|
369
|
+
startYear?: number;
|
|
370
|
+
/** Last year in the year select. Default `max`'s year, else 10 years ahead. */
|
|
371
|
+
endYear?: number;
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* A date field that opens the library's `Calendar` in a `Popover`, the shape of shadcn/ui's
|
|
375
|
+
* Date Picker. Rebuilt in 0.7.1: through 0.7.0 it was a native `<input type="date">`, whose
|
|
376
|
+
* picker is the browser's own and differs in Chromium, Firefox and Safari (Firefox draws its
|
|
377
|
+
* own button inside the field and cannot be restyled), so it never matched `Calendar`.
|
|
378
|
+
*
|
|
379
|
+
* - The trigger is a `role="combobox"` button with `aria-haspopup="dialog"`, named by the label
|
|
380
|
+
* and then the date ("Start date 22 Oct 2026"); unlike a plain button, that role carries the
|
|
381
|
+
* `aria-required` and `aria-invalid` that `Field` supplies.
|
|
382
|
+
* - Opening moves focus into the calendar grid, on the selected date or today. Picking a date
|
|
383
|
+
* closes the popover and returns focus to the trigger; Escape closes it without a change.
|
|
384
|
+
* - The month and year selects (`captionLayout="dropdown"`, the default) reach a far-away date
|
|
385
|
+
* in two choices instead of a PageUp per month.
|
|
386
|
+
* - A real, invisible `<input type="date">` keeps the old contract: it carries `name`, `value`,
|
|
387
|
+
* `min`, `max` and `required` for forms and native validation, the forwarded ref points at
|
|
388
|
+
* it, and `onChange` receives its genuine change event. When validation focuses it, focus is
|
|
389
|
+
* handed to the trigger.
|
|
358
390
|
*/
|
|
359
391
|
declare const DatePicker: react.ForwardRefExoticComponent<DatePickerProps & react.RefAttributes<HTMLInputElement>>;
|
|
360
392
|
|
|
@@ -1253,6 +1285,17 @@ interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'>
|
|
|
1253
1285
|
locale?: string;
|
|
1254
1286
|
/** Names the grid. Default `Calendar`. */
|
|
1255
1287
|
label?: string;
|
|
1288
|
+
/**
|
|
1289
|
+
* `label` (default) shows the month as text between the arrows. `dropdown` replaces it with
|
|
1290
|
+
* month and year selects, for dates far from today (a date of birth, a start date years ago),
|
|
1291
|
+
* which would otherwise take a dozen PageUp presses a year to reach. Same name and behaviour
|
|
1292
|
+
* as shadcn/react-day-picker's `captionLayout="dropdown"`. New in 0.7.1.
|
|
1293
|
+
*/
|
|
1294
|
+
captionLayout?: 'label' | 'dropdown';
|
|
1295
|
+
/** First year in the year select. Default `min`'s year, else 100 years ago. */
|
|
1296
|
+
startYear?: number;
|
|
1297
|
+
/** Last year in the year select. Default `max`'s year, else 10 years ahead. */
|
|
1298
|
+
endYear?: number;
|
|
1256
1299
|
}
|
|
1257
1300
|
/**
|
|
1258
1301
|
* Month grid. Matches Figma's `Calendar`, `Calendar Button`
|
|
@@ -1270,11 +1313,12 @@ interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'>
|
|
|
1270
1313
|
* 42 individually tabbable buttons takes 42 presses to get past.
|
|
1271
1314
|
* - **Arrows cross month boundaries.** Pressing Left on the 1st moves to the previous
|
|
1272
1315
|
* month's last day and pages the view, rather than dead-ending.
|
|
1273
|
-
* - **PageUp/PageDown** move by month, **
|
|
1316
|
+
* - **PageUp/PageDown** move by month, **Shift+PageUp/PageDown** by year, **Home/End** to the
|
|
1317
|
+
* start/end of the week.
|
|
1274
1318
|
* - Each day's accessible name is the full date, not the number — "14" tells a screen
|
|
1275
1319
|
* reader user nothing.
|
|
1276
1320
|
*/
|
|
1277
|
-
declare function Calendar({ mode, value, range, onSelect, onRangeChange, defaultMonth, min, max, isDateDisabled, weekStartsOn, locale, label, className, ...rest }: CalendarProps): react.JSX.Element;
|
|
1321
|
+
declare function Calendar({ mode, value, range, onSelect, onRangeChange, defaultMonth, min, max, isDateDisabled, weekStartsOn, locale, label, captionLayout, startYear, endYear, className, ...rest }: CalendarProps): react.JSX.Element;
|
|
1278
1322
|
|
|
1279
1323
|
type InputGroupAlign = 'inline-start' | 'inline-end' | 'block-start' | 'block-end';
|
|
1280
1324
|
interface InputGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
@@ -1547,6 +1591,8 @@ interface PopoverContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
1547
1591
|
label?: string;
|
|
1548
1592
|
/** Where to portal the panel. Defaults to the enclosing dialog, else `document.body`. */
|
|
1549
1593
|
container?: HTMLElement | null;
|
|
1594
|
+
/** Radix's open auto-focus hook: `preventDefault()` and focus something else, e.g. a calendar's selected day. */
|
|
1595
|
+
onOpenAutoFocus?: (event: Event) => void;
|
|
1550
1596
|
}
|
|
1551
1597
|
declare const PopoverContent: react.ForwardRefExoticComponent<PopoverContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
1552
1598
|
/** Closes the enclosing popover, e.g. an "Apply" or "Cancel" button. New in 0.7.0. */
|
|
@@ -4325,6 +4371,12 @@ interface TableProps extends HTMLAttributes<HTMLTableElement> {
|
|
|
4325
4371
|
density?: TableDensity;
|
|
4326
4372
|
/** Equal-width columns driven by `<colgroup>`, matching `DataTable`. Default `false`. */
|
|
4327
4373
|
fixed?: boolean;
|
|
4374
|
+
/**
|
|
4375
|
+
* Cap the height (px number or CSS length) and scroll the body inside it. Pair with
|
|
4376
|
+
* `<TableHead sticky>` to keep the header row in view. The wrapper becomes a focusable region
|
|
4377
|
+
* named by `label`, so the keyboard can scroll it. New in 0.7.1.
|
|
4378
|
+
*/
|
|
4379
|
+
maxHeight?: number | string;
|
|
4328
4380
|
}
|
|
4329
4381
|
declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>>;
|
|
4330
4382
|
interface TableCaptionProps extends HTMLAttributes<HTMLTableCaptionElement> {
|
|
@@ -4479,7 +4531,12 @@ interface TableCellProgressProps {
|
|
|
4479
4531
|
size?: TableCellSize;
|
|
4480
4532
|
className?: string;
|
|
4481
4533
|
}
|
|
4482
|
-
/**
|
|
4534
|
+
/**
|
|
4535
|
+
* Mini progress bar with its percentage at the end. The bar fills whatever width the cell gives
|
|
4536
|
+
* it, as shadcn's Progress (`w-full`), Ant Design's line Progress and MUI's LinearProgress do:
|
|
4537
|
+
* through 0.7.0 it was a fixed 48 / 64px, which left most of a wide column, or of a card field in
|
|
4538
|
+
* the responsive layout, empty. `size` now sets the bar's thickness (4 / 6px).
|
|
4539
|
+
*/
|
|
4483
4540
|
declare function TableCellProgress({ percent, tone, size, className, }: TableCellProgressProps): react.JSX.Element;
|
|
4484
4541
|
|
|
4485
4542
|
type DataTableColumnAlign = 'start' | 'center' | 'end';
|
|
@@ -4627,6 +4684,13 @@ interface DataTableProps<TData, TValue = unknown> {
|
|
|
4627
4684
|
responsive?: boolean | {
|
|
4628
4685
|
breakpoint?: number;
|
|
4629
4686
|
};
|
|
4687
|
+
/**
|
|
4688
|
+
* Cap the table's height (px number or any CSS length) and scroll the body inside it, with the
|
|
4689
|
+
* header row pinned. Works with horizontal scrolling and sticky columns, and caps the card list
|
|
4690
|
+
* in the responsive layout. The pattern of MUI's `TableContainer` + `stickyHeader` and Ant
|
|
4691
|
+
* Design's `scroll.y`. New in 0.7.1.
|
|
4692
|
+
*/
|
|
4693
|
+
maxHeight?: number | string;
|
|
4630
4694
|
manual?: DataTableManual;
|
|
4631
4695
|
/** Controlled state. Any key you pass is controlled; the rest stay internal. */
|
|
4632
4696
|
state?: Partial<DataTableState>;
|
|
@@ -4662,7 +4726,7 @@ interface DataTableProps<TData, TValue = unknown> {
|
|
|
4662
4726
|
* while loading, a polite announcement of the result count after a search, keyboard row
|
|
4663
4727
|
* activation, and named selection checkboxes.
|
|
4664
4728
|
*/
|
|
4665
|
-
declare function DataTable<TData, TValue = unknown>({ columns, data, getRowId, label, caption, searchable, columnVisibility: showColumnMenu, pagination: paginated, pageSize, pageSizeOptions, enableRowSelection, onSelectionChange, getRowLabel, onRowClick, getRowHref, renderRowLink, getRowTone, getRowDimmed, loading, loadingRows, error, onRetry, empty, toolbar, footer, density, align, responsive, manual, state, onSortingChange, onGlobalFilterChange, onColumnFiltersChange, onPaginationChange, onColumnVisibilityChange, onRowSelectionChange, tableOptions, className, }: DataTableProps<TData, TValue>): react.JSX.Element;
|
|
4729
|
+
declare function DataTable<TData, TValue = unknown>({ columns, data, getRowId, label, caption, searchable, columnVisibility: showColumnMenu, pagination: paginated, pageSize, pageSizeOptions, enableRowSelection, onSelectionChange, getRowLabel, onRowClick, getRowHref, renderRowLink, getRowTone, getRowDimmed, loading, loadingRows, error, onRetry, empty, toolbar, footer, density, align, responsive, maxHeight, manual, state, onSortingChange, onGlobalFilterChange, onColumnFiltersChange, onPaginationChange, onColumnVisibilityChange, onRowSelectionChange, tableOptions, className, }: DataTableProps<TData, TValue>): react.JSX.Element;
|
|
4666
4730
|
|
|
4667
4731
|
/**
|
|
4668
4732
|
* Tracks an element's rendered content-box width. New in 0.7.0, from SCIC.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as react from 'react';
|
|
2
|
-
import { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, HTMLAttributes, LabelHTMLAttributes, TextareaHTMLAttributes, RefObject, ReactElement, Ref, AnchorHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes, Component, ErrorInfo } from 'react';
|
|
2
|
+
import { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, HTMLAttributes, LabelHTMLAttributes, TextareaHTMLAttributes, ChangeEventHandler, RefObject, ReactElement, Ref, AnchorHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes, Component, ErrorInfo } from 'react';
|
|
3
3
|
import { ClassValue } from 'clsx';
|
|
4
4
|
import { Column, Table as Table$1, ColumnDef, RowData, SortingState, ColumnFiltersState, PaginationState, VisibilityState, RowSelectionState, TableOptions } from '@tanstack/react-table';
|
|
5
5
|
export { CellContext, ColumnDef, ColumnFiltersState, Column as DataTableColumn, Table as DataTableInstance, HeaderContext, PaginationState, Row, RowSelectionState, SortingState, VisibilityState, createColumnHelper } from '@tanstack/react-table';
|
|
@@ -339,22 +339,54 @@ interface SelectProps extends SelectControlProps {
|
|
|
339
339
|
*/
|
|
340
340
|
declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLButtonElement>>;
|
|
341
341
|
|
|
342
|
-
interface DatePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type'> {
|
|
342
|
+
interface DatePickerProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size' | 'type' | 'value' | 'defaultValue'> {
|
|
343
343
|
label?: string;
|
|
344
344
|
description?: string;
|
|
345
345
|
/** Red border + message shown below the control. Also sets `aria-invalid`. */
|
|
346
346
|
error?: string;
|
|
347
347
|
hint?: string;
|
|
348
348
|
size?: InputSize;
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
349
|
+
/** The selected date as an ISO `YYYY-MM-DD` string, `''` for none. Controlled. */
|
|
350
|
+
value?: string;
|
|
351
|
+
/** Initial ISO date when uncontrolled. */
|
|
352
|
+
defaultValue?: string;
|
|
353
|
+
/**
|
|
354
|
+
* Called with a real change event from the underlying date input, so
|
|
355
|
+
* `onChange={(e) => set(e.target.value)}` keeps working; `e.target.value` is the ISO date.
|
|
356
|
+
*/
|
|
357
|
+
onChange?: ChangeEventHandler<HTMLInputElement>;
|
|
358
|
+
/** The new ISO date. New in 0.7.1; an alternative to reading `onChange`'s event. */
|
|
359
|
+
onValueChange?: (value: string) => void;
|
|
360
|
+
/** Shown when there is no date. Default "Pick a date". */
|
|
361
|
+
placeholder?: string;
|
|
362
|
+
/** BCP 47 tag for the shown date and the calendar. Default: the browser's. */
|
|
363
|
+
locale?: string;
|
|
364
|
+
/** 0 = Sunday, 1 = Monday. Default `1`. */
|
|
365
|
+
weekStartsOn?: 0 | 1;
|
|
366
|
+
/** `dropdown` (default) puts month and year selects in the calendar header. */
|
|
367
|
+
captionLayout?: 'label' | 'dropdown';
|
|
368
|
+
/** First year in the year select. Default `min`'s year, else 100 years ago. */
|
|
369
|
+
startYear?: number;
|
|
370
|
+
/** Last year in the year select. Default `max`'s year, else 10 years ahead. */
|
|
371
|
+
endYear?: number;
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* A date field that opens the library's `Calendar` in a `Popover`, the shape of shadcn/ui's
|
|
375
|
+
* Date Picker. Rebuilt in 0.7.1: through 0.7.0 it was a native `<input type="date">`, whose
|
|
376
|
+
* picker is the browser's own and differs in Chromium, Firefox and Safari (Firefox draws its
|
|
377
|
+
* own button inside the field and cannot be restyled), so it never matched `Calendar`.
|
|
378
|
+
*
|
|
379
|
+
* - The trigger is a `role="combobox"` button with `aria-haspopup="dialog"`, named by the label
|
|
380
|
+
* and then the date ("Start date 22 Oct 2026"); unlike a plain button, that role carries the
|
|
381
|
+
* `aria-required` and `aria-invalid` that `Field` supplies.
|
|
382
|
+
* - Opening moves focus into the calendar grid, on the selected date or today. Picking a date
|
|
383
|
+
* closes the popover and returns focus to the trigger; Escape closes it without a change.
|
|
384
|
+
* - The month and year selects (`captionLayout="dropdown"`, the default) reach a far-away date
|
|
385
|
+
* in two choices instead of a PageUp per month.
|
|
386
|
+
* - A real, invisible `<input type="date">` keeps the old contract: it carries `name`, `value`,
|
|
387
|
+
* `min`, `max` and `required` for forms and native validation, the forwarded ref points at
|
|
388
|
+
* it, and `onChange` receives its genuine change event. When validation focuses it, focus is
|
|
389
|
+
* handed to the trigger.
|
|
358
390
|
*/
|
|
359
391
|
declare const DatePicker: react.ForwardRefExoticComponent<DatePickerProps & react.RefAttributes<HTMLInputElement>>;
|
|
360
392
|
|
|
@@ -1253,6 +1285,17 @@ interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'>
|
|
|
1253
1285
|
locale?: string;
|
|
1254
1286
|
/** Names the grid. Default `Calendar`. */
|
|
1255
1287
|
label?: string;
|
|
1288
|
+
/**
|
|
1289
|
+
* `label` (default) shows the month as text between the arrows. `dropdown` replaces it with
|
|
1290
|
+
* month and year selects, for dates far from today (a date of birth, a start date years ago),
|
|
1291
|
+
* which would otherwise take a dozen PageUp presses a year to reach. Same name and behaviour
|
|
1292
|
+
* as shadcn/react-day-picker's `captionLayout="dropdown"`. New in 0.7.1.
|
|
1293
|
+
*/
|
|
1294
|
+
captionLayout?: 'label' | 'dropdown';
|
|
1295
|
+
/** First year in the year select. Default `min`'s year, else 100 years ago. */
|
|
1296
|
+
startYear?: number;
|
|
1297
|
+
/** Last year in the year select. Default `max`'s year, else 10 years ahead. */
|
|
1298
|
+
endYear?: number;
|
|
1256
1299
|
}
|
|
1257
1300
|
/**
|
|
1258
1301
|
* Month grid. Matches Figma's `Calendar`, `Calendar Button`
|
|
@@ -1270,11 +1313,12 @@ interface CalendarProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onSelect'>
|
|
|
1270
1313
|
* 42 individually tabbable buttons takes 42 presses to get past.
|
|
1271
1314
|
* - **Arrows cross month boundaries.** Pressing Left on the 1st moves to the previous
|
|
1272
1315
|
* month's last day and pages the view, rather than dead-ending.
|
|
1273
|
-
* - **PageUp/PageDown** move by month, **
|
|
1316
|
+
* - **PageUp/PageDown** move by month, **Shift+PageUp/PageDown** by year, **Home/End** to the
|
|
1317
|
+
* start/end of the week.
|
|
1274
1318
|
* - Each day's accessible name is the full date, not the number — "14" tells a screen
|
|
1275
1319
|
* reader user nothing.
|
|
1276
1320
|
*/
|
|
1277
|
-
declare function Calendar({ mode, value, range, onSelect, onRangeChange, defaultMonth, min, max, isDateDisabled, weekStartsOn, locale, label, className, ...rest }: CalendarProps): react.JSX.Element;
|
|
1321
|
+
declare function Calendar({ mode, value, range, onSelect, onRangeChange, defaultMonth, min, max, isDateDisabled, weekStartsOn, locale, label, captionLayout, startYear, endYear, className, ...rest }: CalendarProps): react.JSX.Element;
|
|
1278
1322
|
|
|
1279
1323
|
type InputGroupAlign = 'inline-start' | 'inline-end' | 'block-start' | 'block-end';
|
|
1280
1324
|
interface InputGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
@@ -1547,6 +1591,8 @@ interface PopoverContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
|
1547
1591
|
label?: string;
|
|
1548
1592
|
/** Where to portal the panel. Defaults to the enclosing dialog, else `document.body`. */
|
|
1549
1593
|
container?: HTMLElement | null;
|
|
1594
|
+
/** Radix's open auto-focus hook: `preventDefault()` and focus something else, e.g. a calendar's selected day. */
|
|
1595
|
+
onOpenAutoFocus?: (event: Event) => void;
|
|
1550
1596
|
}
|
|
1551
1597
|
declare const PopoverContent: react.ForwardRefExoticComponent<PopoverContentProps & react.RefAttributes<HTMLDivElement>>;
|
|
1552
1598
|
/** Closes the enclosing popover, e.g. an "Apply" or "Cancel" button. New in 0.7.0. */
|
|
@@ -4325,6 +4371,12 @@ interface TableProps extends HTMLAttributes<HTMLTableElement> {
|
|
|
4325
4371
|
density?: TableDensity;
|
|
4326
4372
|
/** Equal-width columns driven by `<colgroup>`, matching `DataTable`. Default `false`. */
|
|
4327
4373
|
fixed?: boolean;
|
|
4374
|
+
/**
|
|
4375
|
+
* Cap the height (px number or CSS length) and scroll the body inside it. Pair with
|
|
4376
|
+
* `<TableHead sticky>` to keep the header row in view. The wrapper becomes a focusable region
|
|
4377
|
+
* named by `label`, so the keyboard can scroll it. New in 0.7.1.
|
|
4378
|
+
*/
|
|
4379
|
+
maxHeight?: number | string;
|
|
4328
4380
|
}
|
|
4329
4381
|
declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>>;
|
|
4330
4382
|
interface TableCaptionProps extends HTMLAttributes<HTMLTableCaptionElement> {
|
|
@@ -4479,7 +4531,12 @@ interface TableCellProgressProps {
|
|
|
4479
4531
|
size?: TableCellSize;
|
|
4480
4532
|
className?: string;
|
|
4481
4533
|
}
|
|
4482
|
-
/**
|
|
4534
|
+
/**
|
|
4535
|
+
* Mini progress bar with its percentage at the end. The bar fills whatever width the cell gives
|
|
4536
|
+
* it, as shadcn's Progress (`w-full`), Ant Design's line Progress and MUI's LinearProgress do:
|
|
4537
|
+
* through 0.7.0 it was a fixed 48 / 64px, which left most of a wide column, or of a card field in
|
|
4538
|
+
* the responsive layout, empty. `size` now sets the bar's thickness (4 / 6px).
|
|
4539
|
+
*/
|
|
4483
4540
|
declare function TableCellProgress({ percent, tone, size, className, }: TableCellProgressProps): react.JSX.Element;
|
|
4484
4541
|
|
|
4485
4542
|
type DataTableColumnAlign = 'start' | 'center' | 'end';
|
|
@@ -4627,6 +4684,13 @@ interface DataTableProps<TData, TValue = unknown> {
|
|
|
4627
4684
|
responsive?: boolean | {
|
|
4628
4685
|
breakpoint?: number;
|
|
4629
4686
|
};
|
|
4687
|
+
/**
|
|
4688
|
+
* Cap the table's height (px number or any CSS length) and scroll the body inside it, with the
|
|
4689
|
+
* header row pinned. Works with horizontal scrolling and sticky columns, and caps the card list
|
|
4690
|
+
* in the responsive layout. The pattern of MUI's `TableContainer` + `stickyHeader` and Ant
|
|
4691
|
+
* Design's `scroll.y`. New in 0.7.1.
|
|
4692
|
+
*/
|
|
4693
|
+
maxHeight?: number | string;
|
|
4630
4694
|
manual?: DataTableManual;
|
|
4631
4695
|
/** Controlled state. Any key you pass is controlled; the rest stay internal. */
|
|
4632
4696
|
state?: Partial<DataTableState>;
|
|
@@ -4662,7 +4726,7 @@ interface DataTableProps<TData, TValue = unknown> {
|
|
|
4662
4726
|
* while loading, a polite announcement of the result count after a search, keyboard row
|
|
4663
4727
|
* activation, and named selection checkboxes.
|
|
4664
4728
|
*/
|
|
4665
|
-
declare function DataTable<TData, TValue = unknown>({ columns, data, getRowId, label, caption, searchable, columnVisibility: showColumnMenu, pagination: paginated, pageSize, pageSizeOptions, enableRowSelection, onSelectionChange, getRowLabel, onRowClick, getRowHref, renderRowLink, getRowTone, getRowDimmed, loading, loadingRows, error, onRetry, empty, toolbar, footer, density, align, responsive, manual, state, onSortingChange, onGlobalFilterChange, onColumnFiltersChange, onPaginationChange, onColumnVisibilityChange, onRowSelectionChange, tableOptions, className, }: DataTableProps<TData, TValue>): react.JSX.Element;
|
|
4729
|
+
declare function DataTable<TData, TValue = unknown>({ columns, data, getRowId, label, caption, searchable, columnVisibility: showColumnMenu, pagination: paginated, pageSize, pageSizeOptions, enableRowSelection, onSelectionChange, getRowLabel, onRowClick, getRowHref, renderRowLink, getRowTone, getRowDimmed, loading, loadingRows, error, onRetry, empty, toolbar, footer, density, align, responsive, maxHeight, manual, state, onSortingChange, onGlobalFilterChange, onColumnFiltersChange, onPaginationChange, onColumnVisibilityChange, onRowSelectionChange, tableOptions, className, }: DataTableProps<TData, TValue>): react.JSX.Element;
|
|
4666
4730
|
|
|
4667
4731
|
/**
|
|
4668
4732
|
* Tracks an element's rendered content-box width. New in 0.7.0, from SCIC.
|