v1.3.1
v1.3.1
Folder-shaped UI: a tree beside the table, a trail above it, bulk selection, drag and drop.
New components
- SearchInput - icon, clear button, Escape to clear, optional debounce so a server-backed
list is not re-fetched on every keystroke. - Breadcrumb - ancestors are buttons emitting
select, the last item is plain text; a deep
trail collapses its middle below 920px. - TreeView - selectable, collapsible, keyboard-operable (WAI-ARIA tree). Flat
TreeNodelist
in tree order,actionsandeditslots per row,disabledKeys, optional drag and drop. - TreePicker - a button opening a search box above a TreeView, for "move into...". Search
matches a name or a path (campaigns/q4, leading/anchors to the top level).
DataTable
selectable: checkbox per row, select-all, and a bar for the count, your own actions
(selectionslot) and Clear. EmitsselectionChange; the selection drops whenever the rows
change, so an action can never reach a row you can no longer see.sticky: the toolbar, theheadslot and the column headers stay in view (from 920px).pageSizes: a rows-per-page select beside the pager, emittingpageSize.draggableRows:rowDragStart/rowDragEnd; what a drop means is the page's business.- The toolbar's search is now a debounced SearchInput.
SelectInput
Keyboard support as a combobox over a listbox: arrows move, Home/End jump, a letter jumps to the
next matching option, Enter/Space choose, Escape closes. Focus stays on the field.
Smaller things
- DropdownMenu takes
textbeside the icon; a long menu scrolls instead of running off screen. - DateRangePicker keeps focus on the day you clicked.
- The inline JavaScript moved to PHP through
DomHelperandClientTimer.
Fixes
- Removing a toast or modal left an object where an array was expected: the next one threw
"not iterable". - A DataTable given no
pageSizebuilt its filter with page size 0. - "Select none" left hand-ticked rows ticked:
checkedis only an attribute.
Upgrading
-
A paged DataTable shows rows-per-page by default:
pageSizes="{[]}"hides it, and it only
reports the choice - handle(pageSize)to act on it. -
The toolbar moved inside a new
.data-table-headwrapper. -
SelectInput's field is
role="combobox"withtabindex="0"now, notrole="button". Props
unchanged.Full Changelog: v1.2.0...v1.3.1