@sakaniui/react 0.16.0 → 0.17.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/AGENTS.md CHANGED
@@ -251,7 +251,12 @@ lists its other names under `aliases` in `manifest.json`, and `search_components
251
251
  `get_component("Table")` for code that does). **StatCard** — one headline metric with trend. **ListItem** — a
252
252
  row in a list. **Charts** — pick by question: trend over time → Line/Area; compare categories → Bar;
253
253
  part of whole → Pie/Donut (few slices only); progress to a target → Radial; compare several measures →
254
- Radar; drop-off → Funnel; intensity across two dimensions → Heatmap.
254
+ Radar; drop-off → Funnel; intensity across two dimensions → Heatmap. Every chart takes `loading` (pass it
255
+ while the data is on its way: the chart draws its own silhouette and keeps its height, so nothing below
256
+ moves) and `appearance="rich"` (an entrance when it appears, a soft lift and glow on hover, a frosted
257
+ tooltip; the radar gets a spoke crosshair, the funnel a stat header, drop-off chips and a stream of dots).
258
+ `appearance` defaults to the Figma look: reach for `rich` on a marketing or dashboard surface, not in a
259
+ dense table cell.
255
260
  - **Map / MapMarker / MapPopup / MapClusterLayer** — an interactive tile map with no map library. Put `MapMarker`
256
261
  (`pin`, `dot`, `cluster`) and `MapPopup` children inside `Map`, placed by `[latitude, longitude]` (latitude
257
262
  first). Give every marker a `label`; a marker with `onClick` is a button and `selected` is yours to set. The
package/CHANGELOG.md CHANGED
@@ -2,6 +2,30 @@
2
2
 
3
3
  All notable changes to `@sakaniui/react` are documented here.
4
4
 
5
+ ## 0.17.0
6
+
7
+ ### Charts: loading states, and a richer look you opt into
8
+
9
+ - **Every chart takes `loading`.** It draws the chart's own silhouette instead (a radar web, a funnel band, bars, a line,
10
+ a ring, a heatmap grid) in the surface's subtle fill, breathing in a soft stagger, with a light gliding through the
11
+ funnel and sweeping round the radar and the rings. It keeps the chart's height, so nothing below moves when the data
12
+ arrives, and it is announced as a busy status.
13
+ - **`appearance="rich"` on every chart** (the default stays the Figma look, unchanged):
14
+ - Entrances, once, when the chart appears or its loading ends: bars grow out of their baseline in a stagger, lines and
15
+ areas draw in, the radar grows out of the centre (and morphs when the data changes), pies, donuts and radials turn
16
+ into place, heatmap cells arrive as a wave, the funnel wipes in. Hovering never replays them. Off for
17
+ `prefers-reduced-motion`.
18
+ - Hover: the hovered bar, slice or cell lifts with a soft shadow (the other bars no longer dim or flicker as the pointer crosses between bars); line and area points get a halo; the cursor line is
19
+ dashed; bars get a faint column behind them. Lines, area edges and radar shapes glow faintly in their own colour.
20
+ - A frosted tooltip card with a hairline edge.
21
+ - `RadarChart`: hover a spoke for a crosshair, a dot on each series and a card with the values and the gap between two
22
+ series ("Berlin 46 −20"); `interactive={false}` turns it off.
23
+ - `FunnelChart`: a header with each stage's value and share of the start, a drop-off chip at every step, and `flow`:
24
+ dots streaming through the band, thinning where the funnel does (the share that carries on past a step is the
25
+ data's), running only while on screen. `formatValue` sets how values are written (compact by default).
26
+ - `ChartAppearance` is exported. `AreaChart`'s gradients are per chart, so two area charts on one page no longer share
27
+ (and repaint) each other's fills.
28
+
5
29
  ## 0.16.0
6
30
 
7
31
  - **`WorkingIndicator` (and `ChainOfThought`'s working line) shows the `ChatOrb` instead of the sparkle.** While the agent works, the