wabi 0.7.0 → 0.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +71 -0
- data/lib/wabi/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 46c62f8e76667820ba8b7e4c68692e5de2ce77d7369dcabb2abbb3d226a1880e
|
|
4
|
+
data.tar.gz: ac059f870c7c665c0e0dcca5e1540c6a554a4fb9f23e17cb98eaf723250aea65
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 79428d950c54fed32896a55b83e9e4a5281c4df8a31be5f370d57e0a111ecbe130ac4f7dd657e6baf27e0de3aad893fc89fa8eaf6b61c60357f4c38c940b47eb
|
|
7
|
+
data.tar.gz: 75cc44242f00676ff1d06bbc87cf39f426fb1594079046fbc25b0cf47acd355e3a3a9a5e2caf44778f235e0a5158bcb5aa3be100087f296db8dac07fe2c55832
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,77 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to Wabi land here. Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/); versions follow [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
4
4
|
|
|
5
|
+
## 0.8.0 - 2026-05-31
|
|
6
|
+
|
|
7
|
+
Focused high-value mix: one marquee feature, one self-contained feature, an
|
|
8
|
+
accessibility win, and an overlay-controller hardening refactor. No breaking
|
|
9
|
+
changes.
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
- **Combobox async items.** With `url:` set, the combobox debounces input and
|
|
14
|
+
fetches a server-rendered `ComboboxItem` fragment (AbortController-guarded so
|
|
15
|
+
stale in-flight responses are dropped), swaps it into the content, and
|
|
16
|
+
rebuilds the Zag collection from the new DOM via `machine.updateProps`. New
|
|
17
|
+
optional `ComboboxLoading` slot (shown during the fetch); empty state is
|
|
18
|
+
server-rendered; fetch errors keep the prior results + `console.warn`.
|
|
19
|
+
`param` (default `q`), `debounce` (default 250ms), and `min_length`
|
|
20
|
+
(default 1) are configurable. Sync mode is unchanged.
|
|
21
|
+
- **Slider marks/ticks.** `Slider(marks: [{value:, label:}])` (or bare
|
|
22
|
+
Integers) renders tick markers (short vertical lines) positioned via Zag
|
|
23
|
+
`getMarkerProps`, with optional labels. Works single + range.
|
|
24
|
+
|
|
25
|
+
### Fixes
|
|
26
|
+
|
|
27
|
+
- **Slider is now fully functional + visible.** Several latent issues from the
|
|
28
|
+
v0.6 slider are fixed together:
|
|
29
|
+
- **Thumb + marks render.** `thumbAlignment: "center"` on the machine — the
|
|
30
|
+
previous `"contain"` default gated thumb/marker visibility on a thumb-size
|
|
31
|
+
measurement that never completed in the vanilla Stimulus setup (the machine
|
|
32
|
+
starts before `render()` decorates the DOM with Zag's part ids), leaving
|
|
33
|
+
the thumb knob and any marks `visibility: hidden`.
|
|
34
|
+
- **Pointer interaction.** New `SliderControl` element carries Zag's
|
|
35
|
+
`getControlProps` (`onPointerDown`), so click/drag on the track now sets the
|
|
36
|
+
value live. Previously the slider was keyboard-only. `SliderControl` also
|
|
37
|
+
provides the positioning context that vertically centers the thumb on the
|
|
38
|
+
track (the root is a flex column with the label/marks, so an absolutely
|
|
39
|
+
positioned thumb anchored to it floated above the bar).
|
|
40
|
+
- **Hidden-input dedup.** `syncHiddenInputs` cleanup selector
|
|
41
|
+
(`data-wabi--slider-hidden`) never matched the inputs `appendHidden` created
|
|
42
|
+
via `dataset` (which emitted single-dash `data-wabi-slider-hidden`), so a
|
|
43
|
+
new hidden input leaked on every render and the form value went stale.
|
|
44
|
+
`appendHidden` now uses `setAttribute` with the matching double-dash name.
|
|
45
|
+
- **Thumb styling.** Smaller (12px) thumb with a thinner border + subtle
|
|
46
|
+
shadow; `bg-foreground` fill (adapts to theme: dark knob in light mode,
|
|
47
|
+
light knob in dark mode).
|
|
48
|
+
- **Composition note:** the track + thumb(s) now nest inside `SliderControl`
|
|
49
|
+
(`Slider > SliderLabel + SliderControl(SliderTrack(SliderRange) + SliderThumb…)`).
|
|
50
|
+
|
|
51
|
+
### Accessibility
|
|
52
|
+
|
|
53
|
+
- **`motion-reduce:transition-none`** on Toast and the animated overlays
|
|
54
|
+
(Dialog, Drawer, Popover, Tooltip, DropdownMenu, Select, Combobox content +
|
|
55
|
+
Dialog/Drawer backdrops) — `prefers-reduced-motion` users get instantaneous
|
|
56
|
+
enter/exit instead of slide/fade.
|
|
57
|
+
|
|
58
|
+
### Refactor / internal
|
|
59
|
+
|
|
60
|
+
- **`_shared/overlay_portal.js`** — Dialog, Popover, Tooltip, Select, and
|
|
61
|
+
DropdownMenu now share `capturePortalRefs` / `attachToBody` / `restoreFromBody`
|
|
62
|
+
(composition, not inheritance) instead of duplicating that boilerplate per
|
|
63
|
+
controller. Behavior-preserving (each overlay browser re-smoked).
|
|
64
|
+
- DropdownMenu's closest-ancestor-sub lookup is deduped into `_parentMachineFor`
|
|
65
|
+
(was inline in both `connect()` and `render()`).
|
|
66
|
+
- Overlay `disconnect()` now restores from `<body>` before unregistering from
|
|
67
|
+
`WabiPortalRegistry`, so the registry recomputes its sibling cache on the
|
|
68
|
+
post-move DOM. `data-wabi-sub-index` is cleaned up on DropdownMenu disconnect.
|
|
69
|
+
|
|
70
|
+
### Deferred to v0.9
|
|
71
|
+
|
|
72
|
+
- Toast `@zag-js/toast` group machine; `wabi:update` three-way merge; richer
|
|
73
|
+
Combobox async error UX; vertical-orientation Slider mark label offset; Phlex
|
|
74
|
+
2.4 Ruby 4 warnings (upstream).
|
|
75
|
+
|
|
5
76
|
## 0.7.0 - 2026-05-30
|
|
6
77
|
|
|
7
78
|
Quality + finish: 10 items closing v0.6 deferrals and v0.5 long-tail. No new
|
data/lib/wabi/version.rb
CHANGED