studio-engine 0.119.0 → 0.119.1
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 +16 -0
- data/app/views/components/_theme_toggle.html.erb +5 -1
- data/app/views/components/_user_nav.html.erb +8 -4
- data/lib/studio/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 327664450f0c0b1de0a01b75231b2f2fa470ab66d865f3b585eb55281e3318d3
|
|
4
|
+
data.tar.gz: 0634a4d5e519e0a808558cd3341d192ab7c0162373ad46d376e6cd6753a1f432
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 75317c813644a660eb548ddd2ee7727371b7df3520867ef0037449a7d68bb57a72c5e0c87eb767b56426459f627809f17dd2dacd8d56baf9ffd41226337c7368
|
|
7
|
+
data.tar.gz: ba9ee2c20c1edf6659186b89a30a44a80c5cc3e4c4afd3b44910bdc934922c82d0250995996746b8ecc12976690d6ca5f8880dcae6f1caab7a149471a8808307
|
data/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,22 @@ The format is [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). This pro
|
|
|
4
4
|
|
|
5
5
|
## Unreleased
|
|
6
6
|
|
|
7
|
+
## 0.119.1 — 2026-10-29
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- **The theme toggle names itself.** `components/_theme_toggle` now renders
|
|
12
|
+
`type="button"` (it no longer submits a form it sits inside),
|
|
13
|
+
`aria-label="Dark theme"` and an `aria-pressed` bound to the theme store
|
|
14
|
+
(`$store.theme.isDark`), so a screen reader hears a toggle button and its
|
|
15
|
+
state, and the state flips with the theme. The `title` tooltip, classes and
|
|
16
|
+
icons are unchanged. With `Studio.navbar_name_in_rows` on, the truncating name
|
|
17
|
+
control carries the full name as its `title`. Hosts that patched these in at
|
|
18
|
+
runtime (turf-monster `app/javascript/nav_labels.js`) can drop the patch once
|
|
19
|
+
they lock this version. This is a deliberate change to the unset navbar's
|
|
20
|
+
bytes: `test/fixtures/files/navbar_unset_baseline` was regenerated, and the
|
|
21
|
+
toggle's button line is the only line that moved.
|
|
22
|
+
|
|
7
23
|
## 0.119.0 — 2026-10-29
|
|
8
24
|
|
|
9
25
|
### Added
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
<button @click="$store.theme.toggle()" class="flex text-secondary hover:text-heading transition" title="Toggle theme">
|
|
1
|
+
<button type="button" @click="$store.theme.toggle()" class="flex text-secondary hover:text-heading transition" title="Toggle theme" aria-label="Dark theme" :aria-pressed="$store.theme.isDark ? 'true' : 'false'">
|
|
2
2
|
<!-- Moon icon (shown in dark mode) — Heroicons v2 outline -->
|
|
3
3
|
<svg x-show="$store.theme.isDark" xmlns="http://www.w3.org/2000/svg" class="w-4 h-4" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="1.5">
|
|
4
4
|
<path stroke-linecap="round" stroke-linejoin="round" d="M21.752 15.002A9.72 9.72 0 0118 15.75c-5.385 0-9.75-4.365-9.75-9.75 0-1.33.266-2.597.748-3.752A9.753 9.753 0 003 11.25C3 16.635 7.365 21 12.75 21a9.753 9.753 0 009.002-5.998z" />
|
|
@@ -8,3 +8,7 @@
|
|
|
8
8
|
<path stroke-linecap="round" stroke-linejoin="round" d="M12 3v2.25m6.364.386l-1.591 1.591M21 12h-2.25m-.386 6.364l-1.591-1.591M12 18.75V21m-4.773-4.227l-1.591 1.591M5.25 12H3m4.227-4.773L5.636 5.636M15.75 12a3.75 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z" />
|
|
9
9
|
</svg>
|
|
10
10
|
</button>
|
|
11
|
+
<%# A toggle button: a fixed name ("Dark theme") with its state beside it in
|
|
12
|
+
aria-pressed, bound to the theme store so it flips with the theme. The
|
|
13
|
+
title stays for the pointer tooltip. type="button" keeps it from submitting
|
|
14
|
+
a form it may sit inside. %>
|
|
@@ -144,21 +144,25 @@
|
|
|
144
144
|
so its control is not rendered there at all (hidden, never a
|
|
145
145
|
0x0 tab stop announcing the name a second time): the avatar,
|
|
146
146
|
labelled with the name, is the account below md. %>
|
|
147
|
+
<%# The name truncates from md, so each control carries the full name as
|
|
148
|
+
its title for a pointer reader; its accessible name was always the
|
|
149
|
+
full text. %>
|
|
150
|
+
<% name_title = nav_user_name.to_s.squish %>
|
|
147
151
|
<% name_classes = "group min-w-0 flex-shrink rounded-md focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/40#{" hidden md:block" unless phone_name}" %>
|
|
148
152
|
<% if account_sidebar %>
|
|
149
153
|
<% name_js = studio_navbar_account_sidebar_expressions(account_sidebar) %>
|
|
150
|
-
<%= tag.button type: "button", class: "#{name_classes} cursor-pointer",
|
|
154
|
+
<%= tag.button type: "button", class: "#{name_classes} cursor-pointer", title: name_title,
|
|
151
155
|
data: { nav_name_trigger: "", profile_image_toggle: "" },
|
|
152
156
|
aria: { controls: account_sidebar[:controls], haspopup: "dialog" },
|
|
153
157
|
":aria-expanded": name_js[:expanded], "@click.stop": name_js[:toggle] do %><%= name_html %><% end %>
|
|
154
158
|
<% elsif account_opens_sidebar %>
|
|
155
|
-
<button type="button" class="<%= name_classes %> cursor-pointer" data-nav-name-trigger data-profile-image-toggle
|
|
159
|
+
<button type="button" class="<%= name_classes %> cursor-pointer" title="<%= name_title %>" data-nav-name-trigger data-profile-image-toggle
|
|
156
160
|
aria-controls="studio-link-sidebar studio-link-sidebar-mobile" aria-haspopup="dialog"
|
|
157
161
|
:aria-expanded="$store.sidebars && $store.sidebars.linkTreeOpen ? 'true' : 'false'"><%= name_html %></button>
|
|
158
162
|
<% elsif studio_nav_destination %>
|
|
159
|
-
<%= link_to name_html, studio_nav_destination, class: name_classes, "data-nav-name-trigger": "" %>
|
|
163
|
+
<%= link_to name_html, studio_nav_destination, class: name_classes, title: name_title, "data-nav-name-trigger": "" %>
|
|
160
164
|
<% else %>
|
|
161
|
-
<span class="<%= name_classes %>" data-nav-name-trigger><%= name_html %></span>
|
|
165
|
+
<span class="<%= name_classes %>" title="<%= name_title %>" data-nav-name-trigger><%= name_html %></span>
|
|
162
166
|
<% end %>
|
|
163
167
|
<% end %>
|
|
164
168
|
</div>
|
data/lib/studio/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: studio-engine
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.119.
|
|
4
|
+
version: 0.119.1
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Alex McRitchie
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-10-
|
|
11
|
+
date: 2026-10-30 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: rails
|