twico-ui 1.5.0 → 1.6.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/llms.txt CHANGED
@@ -854,6 +854,9 @@ Props:
854
854
  - `tone` — `"primary" | "success" | "warning" | "danger" | "info" | "neutral"` · default `"primary"` — Recolors the focus/open accent (border + ring) using one of six semantic intents; defaults to primary.
855
855
  - `leftIcon` — `React.ReactNode` — Renders an icon node inside the field on the leading edge, useful as a prefix like a search or mail glyph.
856
856
  - `rightIcon` — `React.ReactNode` — Renders a trailing icon node inside the field, overriding the built-in password reveal toggle when supplied.
857
+ - `leftAddon` — `React.ReactNode` — Bordered text addon flush against the leading edge (e.g. https://, @), distinct from the inline leftIcon.
858
+ - `rightAddon` — `React.ReactNode` — Bordered text addon flush against the trailing edge (e.g. .00, kg, %).
859
+ - `showCount` — `boolean` · default `false` — With maxLength, renders a live current / max character counter on the hint/error line, danger-toned near the limit.
857
860
  - `onChange` — `(e: React.ChangeEvent) => void` — Native change handler on the underlying form control.
858
861
  - `name` — `string` — Form field name submitted with the value.
859
862
  - `placeholder` — `string` — Placeholder text shown while the field is empty.
@@ -967,7 +970,10 @@ Props:
967
970
  - `tone` — `"primary" | "success" | "warning" | "danger" | "info" | "neutral"` · default `"warning"` — Sets the filled-star color from six semantic intents; defaults to warning (gold). The explicit color prop overrides it.
968
971
  - `color` — `string` — Overrides the filled-star color with any CSS color, falling back to the warning/amber token when omitted.
969
972
  - `readOnly` — `boolean` · default `false` — Renders the stars as a non-interactive display only, useful for showing an existing score without accepting input.
970
- - `showValue` — `boolean` · default `false` — Displays the numeric score beside the stars when enabled, giving an exact figure alongside the visual rating.
973
+ - `showValue` — `boolean` · default `false` — Displays the numeric score beside the stars (clean integer, or one decimal for fractional values).
974
+ - `clearable` — `boolean` · default `true` — Allow clearing back to 0 — clicking the selected star, or pressing Delete/Backspace, resets to no rating.
975
+ - `format` — `(value: number) => React.ReactNode` — Custom formatter for the showValue badge and the read-only accessible label (e.g. custom precision, i18n, a /5 suffix).
976
+ - `name` — `string` — Name for a hidden form field so the rating value participates in native form submission.
971
977
  - `onChange` — `(value: number) => void` — Fires with the new rating when the user clicks a star, or 0 when they clear the current selection.
972
978
  - `disabled` — `boolean` · default `false` — Disable all interaction and dim the control.
973
979
 
@@ -1051,6 +1057,11 @@ Props:
1051
1057
  - `showValue` — `boolean` · default `true` — Displays the current value at the top-right above the track when true (the default), for an always-visible readout.
1052
1058
  - `showTicks` — `boolean` · default `false` — Renders step ticks along the rail when enabled, helping users see and snap to discrete increments.
1053
1059
  - `formatValue` — `(value: number) => React.ReactNode` — Formats the displayed value in the label and drag bubble, useful for adding units, currency, or custom text.
1060
+ - `range` — `boolean` · default `false` — Enable dual-thumb range mode (also auto-enabled by a [number, number] value/defaultValue); onChange then emits a [min, max] tuple.
1061
+ - `pageStep` — `number` · default `Math.max(step, (max-min)/10)` — Large-step increment for PageUp/PageDown keys; defaults to ~10% of the range.
1062
+ - `precision` — `number` — Decimal places for the default display and aria value; derived from step when unset (so a 0.1 step shows one decimal).
1063
+ - `getAriaValueText` — `(value: number) => string` — Human-readable value for aria-valuetext; use when formatValue returns a node so assistive tech still announces a meaningful value.
1064
+ - `name` — `string` — Name for a hidden form field so the slider value participates in native form submission.
1054
1065
  - `onChange` — `(value: number) => void` — Fires with the new number whenever the value changes via drag or keyboard, keeping state in sync.
1055
1066
  - `hint` — `React.ReactNode` — Helper text shown below the track when there is no error.
1056
1067
  - `error` — `React.ReactNode` — Error message shown below the track; turns it red (sets aria-invalid) and replaces the hint.
@@ -1119,6 +1130,10 @@ Props:
1119
1130
  - `required` — `boolean` · default `false` — Adds a required asterisk beside the label when true, signaling that the field must be filled in.
1120
1131
  - `size` — `"sm" | "md" | "lg"` · default `"md"` — Control size — same padding steps as Input.
1121
1132
  - `tone` — `"primary" | "success" | "warning" | "danger" | "info" | "neutral"` · default `"primary"` — Recolors the focus/open accent (border + ring) using one of six semantic intents; defaults to primary.
1133
+ - `autosize` — `boolean` · default `false` — Grows the textarea to fit its content between minRows and maxRows, hiding the manual resize handle.
1134
+ - `minRows` — `number` — Minimum rows when autosize is on (falls back to rows).
1135
+ - `maxRows` — `number` — Maximum rows when autosize is on; taller content scrolls internally.
1136
+ - `showCount` — `boolean` · default `false` — With maxLength, renders a live current / max character counter, danger-toned near the limit.
1122
1137
  - `onChange` — `(e: React.ChangeEvent) => void` — Native change handler on the underlying form control.
1123
1138
  - `name` — `string` — Form field name submitted with the value.
1124
1139
  - `placeholder` — `string` — Placeholder text shown while the field is empty.
@@ -1227,6 +1242,7 @@ Card is a surface container for grouping related content, with an optional heade
1227
1242
  Props:
1228
1243
  - `title` — `React.ReactNode` — Renders a bold title in the card header, giving the grouped content a clear heading at the top.
1229
1244
  - `subtitle` — `React.ReactNode` — Renders a muted subtitle beneath the title to add supporting context or a brief secondary description.
1245
+ - `actions` — `React.ReactNode` — Header actions rendered top-right, opposite the title/subtitle (e.g. a button or overflow menu).
1230
1246
  - `footer` — `React.ReactNode` — Renders pinned footer content such as action buttons below the card body, separated from the main content.
1231
1247
  - `variant` — `"elevated" | "outline" | "soft"` · default `"elevated"` — Selects the surface treatment from elevated, outline, or soft to control how the card stands out from the page.
1232
1248
  - `padding` — `"none" | "md" | "lg"` · default `"md"` — Sets the card's inner padding to none, md, or lg, with none useful for edge-to-edge media or custom layouts.
@@ -1345,6 +1361,8 @@ Props:
1345
1361
  - `exportFilename` — `string` · default `export` — Sets the base filename used for exported files, defaulting to "export".
1346
1362
  - `aggregationValues` — `object|null` · default `null` — Supplies precomputed footer aggregation values for serverMode, where totals cannot be calculated client-side; null by default.
1347
1363
  - `disableColumnReorder` — `boolean` · default `false` — Prevents users from dragging columns into a new order, locking the column arrangement; off by default.
1364
+ - `emptyMessage` — `React.ReactNode` — Message shown when there are no rows; the default is filter-aware ("No rows match your filters" vs "No rows").
1365
+ - `renderEmpty` — `() => React.ReactNode` — Render a custom empty state inside the table body (e.g. the shipped EmptyState); overrides emptyMessage.
1348
1366
  - `disableColumnResize` — `boolean` · default `false` — Prevents resizing columns, locking their widths; off by default. When enabled, drag a header's right edge to resize, or double-click it to auto-fit the column to its content (Excel-style).
1349
1367
  - `editMode` — `boolean` · default `false` — Makes all columns editable inline so users can change cell values directly; off by default.
1350
1368
  - `onRowUpdate` — `(updated,original,field)=>void` · default `-` — Fires when an inline cell edit is committed, receiving the updated row, the original row, and the edited field.
@@ -1506,6 +1524,7 @@ List renders a vertical stack of rows with optional leading/trailing slots, a ti
1506
1524
  Props:
1507
1525
  - `items` — `ListItemData[]` · **required** — Provides the rows to render, each with a title plus optional description, leading, trailing, onClick, href, and active fields.
1508
1526
  - `plain` — `boolean` · default `false` — Drops the card chrome to render borderless, transparent rows when set to true; defaults to false for the boxed style.
1527
+ - `emptyMessage` — `React.ReactNode` · default `"Nothing here yet"` — Shown as a centered zero-state row when items is empty, so an empty list reads as intentional rather than broken.
1509
1528
 
1510
1529
  ```jsx
1511
1530
  import { List } from "twico-ui";
@@ -1533,6 +1552,7 @@ Props:
1533
1552
  - `size` — `"sm" | "md"` · default `"md"` — Sets the control density, sm or md, scaling button height and spacing to match the surrounding layout.
1534
1553
  - `showJumper` — `boolean` · default `false` — Adds a "Go to" number input so users can jump directly to a specific page instead of clicking through.
1535
1554
  - `jumperLabel` — `React.ReactNode` · default `"Go to"` — Text or node rendered before the jumper input, defaulting to "Go to", to clarify what the field does.
1555
+ - `getPageLabel` — `(page: number) => string` · default `(n) => `Page ${n}`` — Accessible label for each numbered page button, so screen readers announce "Page 3" rather than a bare number; override for i18n.
1536
1556
  - `defaultPage` — `number` · default `1` — Initial 1-based page when uncontrolled (no `page` prop).
1537
1557
  - `showPageJumper` — `boolean` · default `false` — Show a "Go to" page input for jumping directly to a page; preferred alias for showJumper.
1538
1558
 
@@ -1601,6 +1621,11 @@ Props:
1601
1621
  - `onSortChange` — `(sort: TableSort) => void` — Fired when a sortable header is clicked with the next sort state.
1602
1622
  - `stickyHeader` — `boolean` · default `false` — Pin the header to the top while the body scrolls (use with maxHeight or an enclosing scroll container).
1603
1623
  - `maxHeight` — `number | string` — Cap the table height and give it its own vertical scroll area (CSS length or number of px); enables stickyHeader to shine.
1624
+ - `loading` — `boolean` · default `false` — Renders shimmering skeleton rows instead of data and sets aria-busy, avoiding a flash-of-empty during fetches.
1625
+ - `loadingRows` — `number` · default `8` — Number of skeleton rows to show while loading is true.
1626
+ - `emptyMessage` — `React.ReactNode` · default `"No data"` — Rendered as a single full-width row when rows is empty instead of a bare header over a blank body.
1627
+ - `ariaLabel` — `string` — Accessible name applied to the <table> itself (not the wrapper div); a raw aria-label prop takes precedence over it.
1628
+ - `caption` — `React.ReactNode` — Renders a visually-hidden <caption> naming the table for assistive technology.
1604
1629
  - `rows` — `T[]` — Row objects.
1605
1630
  - `field (column)` — `string` — Alias for key (Datatable vocabulary); key wins when both are set.
1606
1631
  - `headerName (column)` — `React.ReactNode` — Alias for header (Datatable vocabulary); header wins when both are set.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "twico-ui",
3
- "version": "1.5.0",
3
+ "version": "1.6.0",
4
4
  "description": "Twico UI — a free, modern, themeable React + Tailwind-friendly component library. 61 components with dark mode, motion, and accessibility built in.",
5
5
  "license": "MIT",
6
6
  "author": "Twico UI",