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.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +71 -0
  3. data/lib/wabi/version.rb +1 -1
  4. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1975dde8069f308dad1c022923250b6ede092df708ba5cf5fdee333554dccbbe
4
- data.tar.gz: 8e90d286204bb1ab579116ea8ab3ea2eec74262d55d20b758846b70bda85b755
3
+ metadata.gz: 46c62f8e76667820ba8b7e4c68692e5de2ce77d7369dcabb2abbb3d226a1880e
4
+ data.tar.gz: ac059f870c7c665c0e0dcca5e1540c6a554a4fb9f23e17cb98eaf723250aea65
5
5
  SHA512:
6
- metadata.gz: fa61e143320502d057ee2f9bd4e4b6618726035c491917c9af0b0767b4464068f9c94376211853eba983cb0e131e2ddc82a361711fae495bba31fc1d53e0a206
7
- data.tar.gz: dc50cb00e2cabfa8c992fbd3410f6947a76208c3b955c651771cc95f81f180ca151ab061afecfa32d743e79d5abc87b7cea5906f6b511f3b6082421a638cdf3f
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Wabi
4
- VERSION = "0.7.0"
4
+ VERSION = "0.8.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wabi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.8.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Oscar Ortega