@espressif/dashboard-ui-components 1.1.3 → 1.2.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 CHANGED
@@ -4,17 +4,78 @@ 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
- ## [Unreleased]
7
+ ## [1.2.0] - 2026-08-26
8
+
9
+ A minor release that adds two new components (`Carousel`, `InputOTP`), extends
10
+ localisation on `KeyValueManager`, and reworks how solid-surface icon cards
11
+ render their inner disc so the glyph stays legible.
8
12
 
9
13
  ### Added
10
- - `DataTable`: `noResultsAction` renders a call-to-action (e.g. an "Add device"
11
- button) below the description in the empty state the missing piece for the
12
- common "no users found, create user" pattern. Alongside it, `noResultsHeading`
13
- and `noResultsDescription` now accept `ReactNode` as well as `string`, and
14
- `noResultsIllustration` / `hideNoResultsIllustration` let you swap or drop the
15
- empty-state graphic. Purely additive: existing string usages keep working
16
- unchanged, and the default illustration/heading/description stay the same when
17
- nothing is passed.
14
+ - **`Carousel`** new component. Built on Embla Carousel with the autoplay
15
+ plugin. Slides are supplied as `data` (each with a stable `id`); `orientation`
16
+ chooses `horizontal` / `vertical`; `navigation` selects between built-in
17
+ `dots`, `arrows`, or a `custom` renderer that receives a
18
+ `CarouselNavigationState` (`canScrollPrev` / `canScrollNext`,
19
+ `selectedIndex`, `scrollSnaps`, `scrollPrev` / `scrollNext` / `scrollTo`).
20
+ `maxDots` caps the pagination row at a sliding window (clamped to `[1, 10]`,
21
+ default `5`). `autoplay` + `delay` (clamped to `[1000, 10000]` ms, default
22
+ `3000`) drive automatic advancement; `loop` wraps at the ends. `onNext` /
23
+ `onPrevious` fire after every direction change (user, keyboard, autoplay or
24
+ custom). `className` / `itemClassName` style the wrapper and each slide.
25
+ Exports: `Carousel`, `CarouselItem`, `CarouselNavigationState`,
26
+ `CarouselNavigationStyle`, `CarouselOrientation`, `CarouselProps`. Adds
27
+ `embla-carousel-react` and `embla-carousel-autoplay` as dependencies.
28
+ - **`InputOTP`** — new component, alongside `InputOTPSeparator`. Built on the
29
+ `input-otp` package. Numeric by default; `allowAlphaNumeric` widens the
30
+ accepted characters to `[a-zA-Z0-9]`, and `regex` accepts a custom JS regex
31
+ source (which overrides `allowAlphaNumeric`). Slot count is clamped to
32
+ `[2, 12]` (default `6`). `separators` (e.g. `[3, 3]`) inserts group
33
+ boundaries between slot runs — ignored with a `console.warn` when the sum
34
+ does not equal `length`. Controlled or uncontrolled (`value` /
35
+ `defaultValue`); `onChange` fires on every keystroke, `onComplete` once the
36
+ final slot is filled. Composes with the standard input shell (`label`,
37
+ `required`, `size`, `rounded`, `disabled`, `startHelperContent` /
38
+ `endHelperContent`, `hintContent`, `error` / `errorContent`). Adds
39
+ `input-otp` as a dependency.
40
+ - `KeyValueManager`: five new label overrides on the existing `labels` prop —
41
+ `keyLabel`, `valueLabel`, `actionLabel` (used for the column headers *and*
42
+ the add-popover field labels), `emptyItems` (message when the list is
43
+ empty) and `emptySearch` (message when a search returns no results). The
44
+ `search` placeholder is now derived at resolve time from `keyLabel` /
45
+ `valueLabel` when no explicit `search` is passed, so renaming the columns
46
+ updates the placeholder automatically. Backwards compatible — omitted
47
+ labels fall back to the existing defaults.
48
+ - `IconAvatar`: `discClassName` and `discStyle` — extra classes and inline
49
+ style applied to the inner disc after the variant/legacy styling. Enables
50
+ the new solid-surface icon-disc treatment below without callers rebuilding
51
+ the avatar from scratch.
52
+
53
+ ### Changed
54
+ - **Solid-surface icon cards** (`SimpleClickableCard`, `SimpleInfoCard`,
55
+ `IconTextActionCard`, and `Alert` when it renders an `IconAvatar`): when
56
+ the outer variant is `solid`, the inner icon disc now renders as a
57
+ translucent-foreground bubble on the same-color surface — a ≈15 %
58
+ foreground fill with a ≈30 % foreground border, glyph painted in the
59
+ color's `-foreground` token — instead of resolving the avatar to the
60
+ surface's opposite color. Reads as an inverted-fill circle enclosing the
61
+ glyph, restoring contrast against the same-color card. Non-solid variants
62
+ are unchanged and each consumer keeps its previous default (`Alert` still
63
+ opts into a solid avatar disc; the card components still fall through to
64
+ `IconAvatar`'s `legacy` tinted disc). Explicit `iconAvatarVariant` /
65
+ `iconAvatarColor` props always win. Internal only: `SOLID_ICON_AVATAR_COLOR`
66
+ is removed and `resolveIconAvatarColor` becomes `resolveIconAvatarDefaults`.
67
+
68
+ ### Fixed
69
+ - Display issues on solid-variant `Alert` and card components where the icon
70
+ glyph could wash out against a same-color background. The redesign in
71
+ *Changed* restores contrast without any prop change on the caller side.
72
+
73
+ ### Internal
74
+ Nothing in this section affects the published package.
75
+
76
+ - Removed a stray tracked `todo.md` from the repository root.
77
+
78
+ ## [1.1.3] - 2026-08-08
18
79
 
19
80
  ### Fixed
20
81
  - **Vite 8 compatibility**: `LottieAnimationContainer` and everything built on it
@@ -67,6 +128,18 @@ which does not ship to consumers.
67
128
  round-trip, the plain-text fallback for an unbundled language (`haskell`), and
68
129
  the `github-light` / `github-dark` theme override.
69
130
 
131
+ ## [1.1.2] - 2026-08-06
132
+
133
+ ### Added
134
+ - `DataTable`: `noResultsAction` renders a call-to-action (e.g. an "Add device"
135
+ button) below the description in the empty state — the missing piece for the
136
+ common "no users found, create user" pattern. Alongside it, `noResultsHeading`
137
+ and `noResultsDescription` now accept `ReactNode` as well as `string`, and
138
+ `noResultsIllustration` / `hideNoResultsIllustration` let you swap or drop the
139
+ empty-state graphic. Purely additive: existing string usages keep working
140
+ unchanged, and the default illustration/heading/description stay the same when
141
+ nothing is passed.
142
+
70
143
  ## [1.1.1] - 2026-08-04
71
144
 
72
145
  A patch release with no API changes: a much smaller published bundle, a wider default
@@ -1,4 +1,4 @@
1
- import { ProgressBar } from './chunk-EF2WYOVZ.js';
1
+ import { ProgressBar } from './chunk-KF3NDMZW.js';
2
2
  import { Card, CardContent } from './chunk-JPMN2UMF.js';
3
3
  import { Tooltip2 } from './chunk-34PXJOCS.js';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';