studio-engine 0.62.0 → 0.62.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3af6e5f7754c621df6bba0ef0972d018d48f0a08ede302530b5d5922e43328cf
4
- data.tar.gz: e54f8c9cfbbd02cf9473e7e68ac6150a3a7c8da4ab861070da662184e1ee082d
3
+ metadata.gz: d7bb00518e41485eb5c86076482d82bf7e178c3de53ebe7e7cb86b727d2ebdf2
4
+ data.tar.gz: a56bfe30c698b1943312c078e6030e4224540adf074832d942997d0812303824
5
5
  SHA512:
6
- metadata.gz: '08ae8d20d1a6e862e6985a2589221a87207d0ed562d0a6b696563b34d301cc77e6eef0bbc828074b09f104550041cbab78e529d8e553253b4b0de7dc5cb38432'
7
- data.tar.gz: 1b785c9cab657acc47e1fd8d56109d91727086bf8b2aeb98bf0ebc1938bf550c3f6233fd4daa885daeab35a4b2a77b04b8f842cb14c10b7fec7f6cdcaab745b9
6
+ metadata.gz: 0c9e71c552cbb8078ca4b6e01d18de197e7a6ec6bb633ce6987d63793610f01387466f653584e5acd3c4a6e0da85d7692b941e0358591e429e51ee29aea46b20
7
+ data.tar.gz: 4f4f23cc7ce10e40da54465a29f9022c234848a481cd99138ec2946c281bbc11e293279a10136019db19c1de57a779c21d552f3728b7a7ffb212d36e6daefc45
@@ -30,7 +30,7 @@
30
30
  <h3 class="text-heading font-bold text-lg text-center mb-4">Crop Photo</h3>
31
31
 
32
32
  <template x-if="error">
33
- <p class="text-red-400 text-sm mb-3 text-center" x-text="error"></p>
33
+ <p role="alert" class="text-red-400 text-sm mb-3 text-center" x-text="error"></p>
34
34
  </template>
35
35
 
36
36
  <input type="file" x-ref="filePicker" @change="onFilePicked($event)" accept="image/*" class="hidden">
@@ -261,7 +261,7 @@
261
261
  </template>
262
262
 
263
263
  <template x-if="error">
264
- <p class="text-red-400 text-sm mt-3 text-center" x-text="error"></p>
264
+ <p role="alert" class="text-red-400 text-sm mt-3 text-center" x-text="error"></p>
265
265
  </template>
266
266
 
267
267
  <%# SECONDARY — always reachable, so a user whose remembered wallet is the
@@ -21,5 +21,5 @@
21
21
  <span x-text="props.submitting === 'magic-link' ? 'Resending…' : ((props.resendCooldown || 0) > 0 ? ('Resend available in ' + props.resendCooldown + 's') : 'Resend link')"></span>
22
22
  </span>
23
23
  </button>
24
- <p x-show="props.resendError" x-cloak class="text-xs text-red-400 mt-3 text-center" x-text="props.resendError"></p>
24
+ <p role="alert" x-show="props.resendError" x-cloak class="text-xs text-red-400 mt-3 text-center" x-text="props.resendError"></p>
25
25
  <button @click="$store.<%= modal_store %>.close()" class="block mx-auto mt-3 text-sm text-secondary hover:text-heading transition">Close</button>
@@ -112,7 +112,7 @@
112
112
  A refusal is not an error, and showing them in the same red paragraph is
113
113
  what let the dead end hide. %>
114
114
  <template x-if="error">
115
- <p class="text-red-400 text-sm mb-3" x-text="error"></p>
115
+ <p role="alert" class="text-red-400 text-sm mb-3" x-text="error"></p>
116
116
  </template>
117
117
 
118
118
  <%# Disabled ONLY for an incomplete date or an in-flight submit. It used to be
@@ -25,7 +25,11 @@
25
25
  icon_emoji = local_assigns[:icon_emoji] || "⏳" # ⏳
26
26
  cta_label = local_assigns[:cta_label] || 'Refresh'
27
27
  %>
28
- <div class="text-center py-6">
28
+ <%# role="alert" on the CARD, not on its message: the message is server-rendered
29
+ static text, so it never "changes" for a live region to notice. The modal host
30
+ renders content through <template x-if>, so this whole card ENTERS the DOM when
31
+ the failure happens — which is the event a screen reader can announce. %>
32
+ <div role="alert" class="text-center py-6">
29
33
  <div class="text-5xl mb-4 leading-none"><%= icon_emoji %></div>
30
34
  <p class="text-sm text-heading font-semibold mb-2"><%= title %></p>
31
35
 
@@ -131,7 +131,7 @@
131
131
  <% end %>
132
132
 
133
133
  <template x-if="error">
134
- <p class="text-red-400 text-sm mb-3" x-text="error"></p>
134
+ <p role="alert" class="text-red-400 text-sm mb-3" x-text="error"></p>
135
135
  </template>
136
136
 
137
137
  <form @submit.prevent="save()" class="space-y-4">
@@ -122,7 +122,7 @@
122
122
  class="input-field">
123
123
  </div>
124
124
  <template x-if="error">
125
- <p class="text-red-400 text-xs mb-3" x-text="error"></p>
125
+ <p role="alert" class="text-red-400 text-xs mb-3" x-text="error"></p>
126
126
  </template>
127
127
  <button type="submit" :disabled="submitting"
128
128
  class="btn btn-primary btn-lg w-full gap-2 disabled:cursor-wait">
@@ -28,7 +28,7 @@
28
28
  state (18+ in most states; 19+ in AL/NE; 21+ in IA/MA/VA).
29
29
  </span>
30
30
  </label>
31
- <p x-show="<%= error_model %>" x-cloak class="text-xs text-red-400 mt-1.5 ml-6">
31
+ <p role="alert" x-show="<%= error_model %>" x-cloak class="text-xs text-red-400 mt-1.5 ml-6">
32
32
  Please confirm you are of legal age to continue.
33
33
  </p>
34
34
  </div>
@@ -164,7 +164,7 @@
164
164
  <span x-text="props.submitting === 'google' ? 'Waiting for Google…' : 'Google'"></span>
165
165
  </button>
166
166
  <template x-if="props.googleError">
167
- <p class="text-red-400 text-xs -mt-2 mb-3" x-text="props.googleError"></p>
167
+ <p role="alert" class="text-red-400 text-xs -mt-2 mb-3" x-text="props.googleError"></p>
168
168
  </template>
169
169
 
170
170
  <%# 2. Solana — progresses to the Connect Wallet picker modal. Gated on
@@ -200,7 +200,7 @@
200
200
  disabled_expr: "!!props.submitting" %>
201
201
  </div>
202
202
  <template x-if="props.formError">
203
- <p class="text-red-400 text-xs mb-3" x-text="props.formError"></p>
203
+ <p role="alert" class="text-red-400 text-xs mb-3" x-text="props.formError"></p>
204
204
  </template>
205
205
  <button type="submit" :disabled="!!props.submitting"
206
206
  class="btn btn-neutral btn-lg w-full gap-2 disabled:cursor-wait">
@@ -166,7 +166,7 @@
166
166
  </div>
167
167
 
168
168
  <template x-if="error">
169
- <p class="text-red-400 text-sm mt-3 text-center" x-text="error"></p>
169
+ <p role="alert" class="text-red-400 text-sm mt-3 text-center" x-text="error"></p>
170
170
  </template>
171
171
 
172
172
  <button type="button" @click="back()" :disabled="connecting"
@@ -1,3 +1,3 @@
1
1
  module Studio
2
- VERSION = "0.62.0"
2
+ VERSION = "0.62.1"
3
3
  end
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.62.0
4
+ version: 0.62.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-08-26 00:00:00.000000000 Z
11
+ date: 2026-08-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails