stimeo-ui 0.1.0.pre.beta.1 → 0.1.0.pre.beta.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d5958af6bffb81de09834ec57bed72292dccba82e858e62c87b99a43f769cc94
4
- data.tar.gz: 4a35a8a27e890e26652fa67bf44739e8a9e28993df7bfd7b912ca33b39fef11b
3
+ metadata.gz: 778527340281767df85850342901a668c8f54f451ed25526b4ca6a6f280c32f3
4
+ data.tar.gz: b343d8b09c9827d9ee379fe7604424183086826d81593a712549a6af6ca46ee2
5
5
  SHA512:
6
- metadata.gz: b288d136c73d80180990c922f83999d9eabc8b03cf2e1c685ee0c9ebcbbb3f46aecb336888200570ff8caf481049a147f3bdeb70b53611be76a14ae4a7ab7e1f
7
- data.tar.gz: 8155446be40a4afbff0d10608797da863cd5264efc03507c018478aa3d0121029083fd8f6d28ed3d704604e9d2f4eb02dfc23641aeaeb57bf04961c5d573c1b3
6
+ metadata.gz: 62a2f1c1dd34706ace247fc1cd9d1f581458cda076f533532c064d2c4fec40d42037e1e70aba19e6bb8a7ed11eba08565ba8ab61bd325c8ce89c3ac710036f17
7
+ data.tar.gz: a862d0e7f53905d014c0938f26484047626adb34e8ea96272d33eda4532ce6fc36819554119698b9989d9cf456f95aab52627841cd620a2de2f08c569e10762e
data/CHANGELOG.md CHANGED
@@ -7,6 +7,60 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
  While the version is `0.x`, the public API (the `stimeo--*` data attributes) may
8
8
  change between releases.
9
9
 
10
+ ## [0.1.0-beta.3] - 2026-07-18
11
+
12
+ Maintenance release: one bug fix in the focus-trap primitive shared by the
13
+ modal overlay controllers.
14
+
15
+ ### Fixed
16
+
17
+ - dialog, alert-dialog, confirm, drawer, command-palette, sidebar: navigating
18
+ away while the overlay is open no longer bakes the background scroll lock
19
+ into Turbo's page cache. A restored page previously treated the locked
20
+ `<body>` as its baseline, so closing the overlay could leave the page
21
+ unscrollable; the shared focus trap now reverts its side effects on
22
+ `turbo:before-cache`.
23
+ - drawer: the usage example in the API reference now shows the backdrop
24
+ overlay `hidden` at rest and a neutral `<div>` as the panel element.
25
+
26
+ ## [0.1.0-beta.2] - 2026-07-12
27
+
28
+ The Inspector grows two new faces: an MCP server for AI coding agents and a
29
+ VS Code extension that checks markup as you type.
30
+
31
+ ### Added
32
+
33
+ - **MCP server** (`stimeo-ui mcp`): the Inspector engine now runs as a Model
34
+ Context Protocol server, so AI coding agents (Claude Code, Cursor, …) can
35
+ discover the catalog, fetch a controller's exact contract and verified
36
+ example markup, and check generated HTML/ERB before presenting it. Four
37
+ read-only tools (`stimeo_check`, `stimeo_catalog`, `stimeo_controller`,
38
+ `stimeo_example`), preloadable resources (`stimeo://manifest`,
39
+ `stimeo://examples/<id>`), and two prompts (`stimeo_build_ui`,
40
+ `stimeo_fix_markup`) — hand-written like the rest of the Inspector, adding
41
+ zero runtime dependencies.
42
+ - **VS Code extension — Stimeo UI Inspector**: live diagnostics, quick fixes,
43
+ manifest-driven completions, and contract hovers for `stimeo--*` markup in
44
+ HTML/ERB, published on the
45
+ [Visual Studio Marketplace](https://marketplace.visualstudio.com/items?itemName=stimeo-labs.stimeo-ui)
46
+ and [Open VSX](https://open-vsx.org/extension/stimeo-labs/stimeo-ui).
47
+ - Ten new components — the catalog now spans **111 controllers**: count-up,
48
+ intersection, optimistic, pointer-drag, reading-progress,
49
+ smart-sticky-header, sortable, and — backed by Action Cable — live-counter,
50
+ presence, and typing-indicator.
51
+ - pointer-drag: opt-in follow mode that translates the dragged element while
52
+ the pointer moves.
53
+ - Inspector: checks now also cover keyboard-focusability prerequisites,
54
+ controller-managed ARIA that must not be hardcoded, and conditional
55
+ cross-controller composition rules (manifest schema v5). Verified example
56
+ markup for every component ships with the package.
57
+
58
+ ### Fixed
59
+
60
+ - listbox, combobox, and multi-select: the active option now scrolls into
61
+ view while navigating with the keyboard (`aria-activedescendant` lists
62
+ keep the highlighted option visible).
63
+
10
64
  ## [0.1.0-beta.1] - 2026-06-30
11
65
 
12
66
  First beta. The 101 core components meet the accessibility quality bar, so the
@@ -32,5 +86,7 @@ Initial public alpha: 101 behavior-only, accessible Stimulus controllers driven
32
86
  by `data-*` attributes, shipping no CSS. Published to npm (with provenance) and
33
87
  RubyGems.
34
88
 
89
+ [0.1.0-beta.3]: https://github.com/taiyaky/stimeo-ui/releases/tag/v0.1.0-beta.3
90
+ [0.1.0-beta.2]: https://github.com/taiyaky/stimeo-ui/releases/tag/v0.1.0-beta.2
35
91
  [0.1.0-beta.1]: https://github.com/taiyaky/stimeo-ui/releases/tag/v0.1.0-beta.1
36
92
  [0.1.0-alpha.1]: https://github.com/taiyaky/stimeo-ui/releases/tag/v0.1.0-alpha.1
data/README.md CHANGED
@@ -7,7 +7,7 @@
7
7
 
8
8
  <p align="center"><a href="https://stimeo-labs.com"><strong>Live demo (beta) →</strong></a></p>
9
9
 
10
- [![CI](https://github.com/taiyaky/stimeo-ui/actions/workflows/ci.yml/badge.svg)](https://github.com/taiyaky/stimeo-ui/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/stimeo-ui)](https://www.npmjs.com/package/stimeo-ui) [![gem](https://img.shields.io/gem/v/stimeo-ui)](https://rubygems.org/gems/stimeo-ui) [![License: MIT](https://img.shields.io/github/license/taiyaky/stimeo-ui)](LICENSE)
10
+ [![CI](https://github.com/taiyaky/stimeo-ui/actions/workflows/ci.yml/badge.svg)](https://github.com/taiyaky/stimeo-ui/actions/workflows/ci.yml) [![npm](https://img.shields.io/npm/v/stimeo-ui/beta)](https://www.npmjs.com/package/stimeo-ui) [![gem](https://img.shields.io/gem/v/stimeo-ui)](https://rubygems.org/gems/stimeo-ui) [![License: MIT](https://img.shields.io/github/license/taiyaky/stimeo-ui)](LICENSE)
11
11
 
12
12
  **Headless Stimulus UI framework for Ruby on Rails.** Stimeo UI ships *behavior*
13
13
  — ARIA state, keyboard interaction, focus management, Turbo resilience — as
@@ -31,7 +31,7 @@ owns the look entirely.
31
31
  ### Rails with importmap (recommended)
32
32
 
33
33
  ```bash
34
- bundle add stimeo-ui --version "0.1.0.pre.beta.1"
34
+ bundle add stimeo-ui --version "0.1.0.pre.beta.3"
35
35
  bin/rails generate stimeo:install
36
36
  ```
37
37
 
@@ -50,7 +50,7 @@ Stimulus application. Then drive components from HTML alone:
50
50
  ### npm (jsbundling or any bundler)
51
51
 
52
52
  ```bash
53
- npm install stimeo-ui @hotwired/stimulus
53
+ npm install stimeo-ui@beta @hotwired/stimulus
54
54
  ```
55
55
 
56
56
  ```js
@@ -114,12 +114,72 @@ The `eslint-plugin-jsx-a11y` equivalents are
114
114
  `no-noninteractive-tabindex`. These components' real accessibility is exercised
115
115
  with axe-core and real screen readers in this project's own test suite.
116
116
 
117
+ ## Inspector CLI & MCP server
118
+
119
+ Stimeo UI bundles a zero-dependency static checker for its own markup contract
120
+ — spelling of controllers/targets/values, required structure, and the ARIA
121
+ attributes you (the author) must supply:
122
+
123
+ ```bash
124
+ npx stimeo-ui check app/views # check your templates (exit 1 on errors)
125
+ npx stimeo-ui catalog # list every controller's public API
126
+ ```
127
+
128
+ Both commands accept `--json` for machine-readable output, so `check` drops
129
+ straight into CI.
130
+
131
+ The same engine runs as a **Model Context Protocol** server, so AI coding
132
+ agents (Claude Code, Cursor, …) can discover the catalog, fetch verified
133
+ reference markup, and validate generated HTML/ERB before presenting it:
134
+
135
+ ```bash
136
+ claude mcp add stimeo -- npx -y stimeo-ui mcp
137
+ ```
138
+
139
+ or in `.mcp.json` (Claude Code) / `.cursor/mcp.json` (Cursor):
140
+
141
+ ```json
142
+ {
143
+ "mcpServers": {
144
+ "stimeo": {
145
+ "command": "npx",
146
+ "args": ["-y", "stimeo-ui", "mcp"]
147
+ }
148
+ }
149
+ }
150
+ ```
151
+
152
+ It exposes four read-only tools — `stimeo_check` (validate a source string),
153
+ `stimeo_catalog`, `stimeo_controller` (one controller's full contract,
154
+ accessibility requirements included), and `stimeo_example` (verified example
155
+ markup: the official catalog demo under [`examples/`](examples/), bundled at
156
+ build time and guaranteed to pass the checker) — plus MCP resources
157
+ (`stimeo://manifest`, `stimeo://examples/<id>`) for preloading context without
158
+ a tool round-trip. The server reads only its bundled manifest and example
159
+ index; there are no write-capable tools.
160
+
161
+ The same checks also run **live in your editor**: the **Stimeo UI Inspector**
162
+ extension on the
163
+ [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=stimeo-labs.stimeo-ui)
164
+ and [Open VSX](https://open-vsx.org/extension/stimeo-labs/stimeo-ui) (for Cursor /
165
+ VSCodium / Windsurf) gives as-you-type diagnostics, quick fixes, completions,
166
+ and contract hovers. No setup: the engine and a manifest snapshot are bundled,
167
+ and when your workspace installs `stimeo-ui`, the nearest installed version
168
+ wins — so diagnostics always match what you run.
169
+
117
170
  ## Contributing
118
171
 
119
172
  Bug reports and feature requests are very welcome — please open a GitHub issue.
120
173
  For code changes, open an issue first to discuss direction; see
121
174
  [`CONTRIBUTING.md`](CONTRIBUTING.md).
122
175
 
123
- ## License
176
+ ## License & Pro
177
+
178
+ Free and open source under the [MIT License](LICENSE) © Stimeo Labs. Every
179
+ component in this repository is Core, and the MIT grant is irrevocable.
124
180
 
125
- Released under the [MIT License](LICENSE) © Stimeo Labs.
181
+ **Stimeo UI Pro** advanced behavior components that are the most work to
182
+ build yourself — is planned around 1.0 as a separately licensed commercial
183
+ track, built alongside (never carved out of) Core. For release news and
184
+ early access, join the waitlist at
185
+ [stimeo-labs.com/waitlist](https://stimeo-labs.com/waitlist).