@espressif/dashboard-ui-components 1.7.0 → 1.8.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/CHANGELOG.md +101 -0
- package/dist/{chunk-WS6QCUCT.js → chunk-7GVOSWCQ.js} +1229 -608
- package/dist/{chunk-ZJ6UJR2D.js → chunk-DI4PTWVR.js} +2 -2
- package/dist/{chunk-UA4DS3KA.js → chunk-P6F6UWV2.js} +1 -1
- package/dist/{chunk-AM47GLNJ.js → chunk-XW6Z6VO4.js} +2 -2
- package/dist/{chunk-3PO2SF7T.js → chunk-ZFYUONPY.js} +39 -16
- package/dist/common/index.js +4 -4
- package/dist/components/index.d.ts +93 -8
- package/dist/components/index.js +2 -2
- package/dist/index.d.ts +1 -1
- package/dist/index.js +5 -5
- package/dist/layouts/index.js +3 -3
- package/package.json +1 -1
- package/src/assets/illustrations/rm-dashboard-update.svg +229 -0
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,107 @@ All notable changes to this project are documented here. The format is based on
|
|
|
4
4
|
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres
|
|
5
5
|
to [Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## [1.8.0] - 2026-10-08
|
|
8
|
+
|
|
9
|
+
A minor release focused on small screens. `Tabs`, `DataTable`, `SimpleList`,
|
|
10
|
+
`DynamicList`, `ListDetails`, `KeyValueManager` and `Pagination` now adapt
|
|
11
|
+
to phone widths, and `ScrollArea` no longer stretches to fit wide content.
|
|
12
|
+
`DataTable` gains sticky, wrapping and width-based hidden columns, and a
|
|
13
|
+
new `rm-dashboard-update` illustration is added. No breaking API changes,
|
|
14
|
+
but one default changed: `DataTable` cells now stay on one line, so long
|
|
15
|
+
free-text columns need `meta: { wrap: true }` to keep wrapping.
|
|
16
|
+
|
|
17
|
+
### Added
|
|
18
|
+
- **`Illustration`** — new `rm-dashboard-update` illustration: the RainMaker
|
|
19
|
+
cloud delivering update packages to a dashboard on a laptop. It is a
|
|
20
|
+
companion to `rm-data-download` (same canvas, cloud and connector) and,
|
|
21
|
+
like it, plays SMIL animations with `animated`: packages fly in, each one
|
|
22
|
+
refreshes a stat card, the chart regrows, the progress bar fills and a sync
|
|
23
|
+
badge spins. Colours come from the theme tokens, so it works in dark mode.
|
|
24
|
+
- **`DataTable`** — responsive column options through `meta` (typed as the
|
|
25
|
+
exported `DataTableColumnMeta`): `sticky: true` pins leading columns to
|
|
26
|
+
the left edge while the table scrolls horizontally (the row-selection
|
|
27
|
+
checkbox column is pinned with them), and `wrap: true` lets a long
|
|
28
|
+
free-text column wrap. Pinned cells use the page background; tables on
|
|
29
|
+
another surface set `--data-table-sticky-bg` to match it.
|
|
30
|
+
- **`DataTable`** — `meta.hideBelow` hides lower-priority columns while the
|
|
31
|
+
table is narrow. It takes a size from Tailwind's container scale (`sm`
|
|
32
|
+
384px … `7xl` 1280px, typed as `DataTableBreakpoint`) or a width in pixels,
|
|
33
|
+
and measures the table's own width rather than the viewport, so it also
|
|
34
|
+
works in sheets and split panes. A phone-width table is below `sm`, so
|
|
35
|
+
`hideBelow: "sm"` hides a column on phones. Hidden columns stay in the
|
|
36
|
+
Columns menu; visibility is only re-applied when the width crosses a
|
|
37
|
+
breakpoint, so a column the user brings back stays visible.
|
|
38
|
+
- **`ScrollArea`** — `orientation` prop (`"vertical"` default,
|
|
39
|
+
`"horizontal"`, `"both"`) choosing which directions scroll and which
|
|
40
|
+
scrollbars render. Types exported as `ScrollAreaProps` and
|
|
41
|
+
`ScrollAreaOrientation`.
|
|
42
|
+
- **`Table`** — optional `containerRef` and `containerClassName` props for
|
|
43
|
+
the scroll container that wraps the `<table>`.
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
- **`Tabs`** — when the triggers don't fit, `TabsList` now scrolls
|
|
47
|
+
horizontally instead of overflowing the page. Edges fade where tabs are
|
|
48
|
+
hidden, chevron buttons page through them on mouse and trackpad devices
|
|
49
|
+
(touch devices swipe), and the selected tab is kept in view. Lists with
|
|
50
|
+
`aria-orientation="vertical"` are unchanged.
|
|
51
|
+
- **`DataTable`** — on narrow screens the table now scrolls horizontally
|
|
52
|
+
instead of squashing its columns. Body cells stay on one line by default
|
|
53
|
+
(as header cells already did), and shadows at the edges show when columns
|
|
54
|
+
are scrolled out of view. Long free-text columns that used to wrap now
|
|
55
|
+
extend the row; add `meta: { wrap: true }` to keep them wrapping. The
|
|
56
|
+
toolbar also wraps, so `tableActionsContent` moves above the Columns
|
|
57
|
+
button when there is no room for both.
|
|
58
|
+
- **`SimpleList`, `DynamicList`** — `direction="row"` (list-level or, in
|
|
59
|
+
`SimpleList`, per item) now applies from the `sm` breakpoint (640px) up.
|
|
60
|
+
On phones, label and value stack like a column row instead of squeezing
|
|
61
|
+
onto one line. `DynamicList`'s `keyWidth` split applies from `sm` up.
|
|
62
|
+
- **`ListDetails`** — below the `md` breakpoint (768px) the layout stacks:
|
|
63
|
+
the items become a single scrollable row with arrow buttons and edge
|
|
64
|
+
fades, the selected item is kept in view, and its details show below.
|
|
65
|
+
The `footer` is hidden on these screens. String titles in the row are
|
|
66
|
+
capped at 12rem and truncated, and the default chevron is omitted there
|
|
67
|
+
(a custom `endIcon` still shows). From `md` up the layout is unchanged.
|
|
68
|
+
- **`KeyValueManager`** — on small screens (below the `sm` breakpoint,
|
|
69
|
+
640px) search and Add become icon buttons. The search icon expands the
|
|
70
|
+
search box across the toolbar (hiding Add) and focuses it; a close
|
|
71
|
+
button, or Escape, clears the search and returns to the icons. Rows show
|
|
72
|
+
as key/value cards without the column header, with the delete button
|
|
73
|
+
always visible. New `labels.closeSearch` names the close button.
|
|
74
|
+
- **`Pagination`** — in containers narrower than 28rem the Previous and
|
|
75
|
+
Next buttons become icon-only (their labels stay available to screen
|
|
76
|
+
readers), and the page-size selector wraps onto its own line when the row
|
|
77
|
+
still doesn't fit.
|
|
78
|
+
|
|
79
|
+
### Fixed
|
|
80
|
+
- **`ScrollArea`** — content wider than the area no longer stretches it
|
|
81
|
+
and gets clipped. A vertical area (the default) now keeps its content at
|
|
82
|
+
the area's width, so wide children such as `DataTable` scroll sideways on
|
|
83
|
+
their own. Areas that pass `<ScrollBar orientation="horizontal" />` as a
|
|
84
|
+
child keep scrolling horizontally as before; prefer `orientation`.
|
|
85
|
+
- **`BasicDetailsCard`** — a small gap (0.25rem) now separates the primary
|
|
86
|
+
and secondary text, which previously touched. This also spaces out
|
|
87
|
+
`DynamicList` rows and the small-screen `KeyValueManager` rows that use it.
|
|
88
|
+
- **`KeyValueManager`** — the row delete button, shown on hover, is now
|
|
89
|
+
also visible when focused with the keyboard.
|
|
90
|
+
- **`Tabs`** — the animated highlight stays aligned with its tab when the
|
|
91
|
+
tab list's container is scrolled.
|
|
92
|
+
|
|
93
|
+
### Internal
|
|
94
|
+
Nothing in this section affects the published package.
|
|
95
|
+
|
|
96
|
+
- A shared `useScrollOverflow` hook (not exported) tracks hidden content on
|
|
97
|
+
either side of a horizontal scroller for `Tabs`, `DataTable` and
|
|
98
|
+
`ListDetails`.
|
|
99
|
+
- Demo: new examples for `Tabs` (many tabs, plus tab-count and icon
|
|
100
|
+
controls on the playground), `DataTable` (wide table, phone width,
|
|
101
|
+
several pinned columns, wrapping, clickable rows, tinted surface and a
|
|
102
|
+
resizable `hideBelow` table), `Pagination` (narrow containers) and
|
|
103
|
+
`ScrollArea` (wide content, horizontal scrolling). The demo's API tables
|
|
104
|
+
mark free-text columns as `wrap`.
|
|
105
|
+
- Tests for `DataTable` column `meta` (`sticky`, `wrap`, `hideBelow`),
|
|
106
|
+
`ListDetails`, `KeyValueManager` and `ScrollArea`.
|
|
107
|
+
|
|
7
108
|
## [1.7.0] - 2026-10-06
|
|
8
109
|
|
|
9
110
|
A minor release adding per-item icons and colours to `OverflowBadgeList`
|