wabi 0.21.3 → 0.23.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 +59 -0
- data/README.md +5 -5
- 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: 70b095ae2929edf14e3fa20d3de0cbe998bda4727cc23dd3e11109889edfe180
|
|
4
|
+
data.tar.gz: 1f99f7f34b8353bc1ac35b00ec4a330816da134249ff5adfbf0a34b39eab080c
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ef59f8d97343278ab03eca8f8ff5711dd24ef6af870e9bb308204bfbcf26daf115bd22724fc4a009a965adfe11f8c75968318ec6fe828d5dceab25c68cf56a25
|
|
7
|
+
data.tar.gz: a0043697480bf0340cfb2a2e203b609f8630497cc902cdb34006402c6fcddea9a02d858186cef1f17c39de16a9b3671fac531f3dc64dbf0bb54a0402e19fa3fc
|
data/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,65 @@
|
|
|
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.23.0 - 2026-06-06
|
|
6
|
+
|
|
7
|
+
Three new components (40 → 43), all backed by Zag.js 1.41 via `@zag-js/vanilla`.
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- **Rating Group** (`rating_group`, `@zag-js/rating-group`). Star rating input with
|
|
12
|
+
half-star precision (`allow_half`), a read-only display mode (`read_only`), and a
|
|
13
|
+
configurable star `count` (default 5). Each star is two layered SVGs — an always-visible
|
|
14
|
+
outline plus a filled overlay revealed via `group-data-[highlighted]` and clipped to the
|
|
15
|
+
left half via `group-data-[half]` — so half-stars render in pure CSS. Submits the value
|
|
16
|
+
through Zag's hidden input (`name`).
|
|
17
|
+
- **Hover Card** (`hover_card`, `@zag-js/hover-card`). Rich preview card shown on pointer
|
|
18
|
+
hover and keyboard focus of a trigger, rendered through a portal (reusing the shared
|
|
19
|
+
`_shared/overlay_portal` helper). Configurable `open_delay` / `close_delay`; content is
|
|
20
|
+
inert while closed and fades in (respecting `prefers-reduced-motion`). Non-modal — no
|
|
21
|
+
focus trap. The trigger is keyboard-focusable before hydration (`tabindex="0"`).
|
|
22
|
+
- **Tags Input** (`tags_input`, `@zag-js/tags-input`). Multi-value text entry that collects
|
|
23
|
+
free-form tags, with edit-in-place (`editable`), an optional `max`, and a placeholder.
|
|
24
|
+
Tag nodes are rendered by the controller at runtime from the machine's value collection.
|
|
25
|
+
Submits as a Rails array via per-tag `name[]` hidden inputs, re-synced on every change
|
|
26
|
+
with no leaked inputs.
|
|
27
|
+
|
|
28
|
+
### Fixed
|
|
29
|
+
|
|
30
|
+
- **README component table** brought current — it still listed 36 components and omitted the
|
|
31
|
+
v0.22.0 additions (DatePicker, InputOTP, FileUpload, ContextMenu). Now reflects all 43.
|
|
32
|
+
|
|
33
|
+
## 0.22.0 - 2026-06-05
|
|
34
|
+
|
|
35
|
+
Four new components (36 → 40), all backed by Zag.js 1.41 via `@zag-js/vanilla`.
|
|
36
|
+
|
|
37
|
+
### Added
|
|
38
|
+
|
|
39
|
+
- **Date Picker + Calendar** (`date_picker`, `@zag-js/date-picker`). A localized date
|
|
40
|
+
field (input + popover calendar) and a standalone inline `Calendar`. Single and range
|
|
41
|
+
selection; the day grid is built from the machine at runtime; submits ISO `YYYY-MM-DD`
|
|
42
|
+
via hidden inputs (single → `name`; range → `name[start]` + `name[end]`). The range
|
|
43
|
+
shows a connecting band between the start/end days (plus a hover preview). The field
|
|
44
|
+
input has an accessible name (`aria-label`, default "Choose date", overridable).
|
|
45
|
+
- **Input OTP** (`input_otp`, `@zag-js/pin-input`). One-time-code / PIN input — N
|
|
46
|
+
single-character slots (default 6) that submit a single concatenated hidden value.
|
|
47
|
+
`length`, `type` (`:numeric` / `:alphanumeric`), `mask`, and `otp`
|
|
48
|
+
(`autocomplete="one-time-code"`) are configurable.
|
|
49
|
+
- **File Upload** (`file_upload`, `@zag-js/file-upload`). Drag-and-drop dropzone + browse
|
|
50
|
+
button + a file list (name, size, remove, image thumbnail) rendered from the accepted
|
|
51
|
+
files. Backed by a real `<input type="file">` so a standard Rails multipart submit posts
|
|
52
|
+
the files; `name` gains `[]` and `multiple` when `max_files > 1`. `accept` / `max_size`
|
|
53
|
+
constraints supported.
|
|
54
|
+
- **Context Menu** (`context_menu`, `@zag-js/menu`). Right-click menu opening at the
|
|
55
|
+
cursor, with full DropdownMenu parity — items, label, separator, shortcut, checkbox and
|
|
56
|
+
radio items, and N-level submenus.
|
|
57
|
+
|
|
58
|
+
### Deferred
|
|
59
|
+
|
|
60
|
+
- Date Picker: multi-month side-by-side view (range still spans months via prev/next).
|
|
61
|
+
- Input OTP: groups + separator (e.g. 3-3).
|
|
62
|
+
- File Upload: ActiveStorage direct-upload, chunked/resumable uploads, progress bars.
|
|
63
|
+
|
|
5
64
|
## 0.21.3 - 2026-06-05
|
|
6
65
|
|
|
7
66
|
### Accessibility
|
data/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
Wabi is an open-source UI component library for **Ruby on Rails 8**, built on **Phlex + Tailwind 4 + Stimulus + Hotwire**. Inspired by shadcn/ui, components are *copied* into your app — you own the code, customize freely, no upstream API to drift away from.
|
|
6
6
|
|
|
7
|
-
🎉 **Status:** v0.
|
|
7
|
+
🎉 **Status:** v0.23.0 alpha — [available on RubyGems](https://rubygems.org/gems/wabi). 43 components, 8 theme palettes, WCAG-AA targeted, live docs + registry at [wabi-docs.onrender.com](https://wabi-docs.onrender.com).
|
|
8
8
|
|
|
9
9
|
---
|
|
10
10
|
|
|
@@ -31,14 +31,14 @@ Then add `@import "./wabi/tokens.css";` AFTER `@import "tailwindcss";` in your `
|
|
|
31
31
|
|
|
32
32
|
## What's in the box
|
|
33
33
|
|
|
34
|
-
###
|
|
34
|
+
### 43 components
|
|
35
35
|
|
|
36
36
|
| Group | Components |
|
|
37
37
|
|---|---|
|
|
38
|
-
| **Forms** (
|
|
38
|
+
| **Forms** (19) | Button, Input, NumberInput, Textarea, Label, Checkbox, Switch, Select, RadioGroup, Slider, Toggle, ToggleGroup, Combobox, Form, DatePicker, InputOTP, FileUpload, RatingGroup, TagsInput |
|
|
39
39
|
| **Layout & Display** (9) | Card, Badge, Separator, Alert, Avatar, Table, DataTable, Skeleton, Sidebar |
|
|
40
|
-
| **Overlays** (
|
|
41
|
-
| **Menus** (
|
|
40
|
+
| **Overlays** (7) | Dialog, AlertDialog, Drawer (4 sides), Tooltip, Popover, Command, HoverCard |
|
|
41
|
+
| **Menus** (2) | DropdownMenu (nested submenus, checkbox + radio items), ContextMenu |
|
|
42
42
|
| **Navigation** (4) | Accordion, Tabs, Breadcrumb, Pagination |
|
|
43
43
|
| **Feedback** (2) | Toast + Toaster, Progress |
|
|
44
44
|
|
data/lib/wabi/version.rb
CHANGED