@asd20/ui-next 2.26.0 → 2.26.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,12 @@
1
1
  # Changelog
2
2
 
3
+ ## [2.26.1](https://github.com/academydistrict20/asd20-ui-next/compare/ui-next-v2.26.0...ui-next-v2.26.1) (2026-09-30)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * show public form fallback only after submission failure ([7f17021](https://github.com/academydistrict20/asd20-ui-next/commit/7f17021d2e1f4e04fd193fb0e16d80125efe3ae7))
9
+
3
10
  # [2.26.0](https://github.com/academydistrict20/asd20-ui-next/compare/ui-next-v2.25.3...ui-next-v2.26.0) (2026-09-30)
4
11
 
5
12
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@asd20/ui-next",
3
- "version": "2.26.0",
3
+ "version": "2.26.1",
4
4
  "private": false,
5
5
  "description": "ASD20 UI component library for Vue 3.",
6
6
  "license": "MIT",
@@ -114,26 +114,6 @@
114
114
  />
115
115
  </div>
116
116
 
117
- <div
118
- v-if="hasFallbackContact"
119
- class="asd20-public-form-modal__fallback"
120
- >
121
- <p>
122
- {{
123
- formDefinition.fallbackContact.instructions ||
124
- 'If you cannot submit this form, use one of these contact options:'
125
- }}
126
- </p>
127
- <a
128
- v-if="formDefinition.fallbackContact.email"
129
- :href="`mailto:${formDefinition.fallbackContact.email}`"
130
- >{{ formDefinition.fallbackContact.email }}</a>
131
- <a
132
- v-if="formDefinition.fallbackContact.phone"
133
- :href="fallbackPhoneHref"
134
- >{{ formDefinition.fallbackContact.phone }}</a>
135
- </div>
136
-
137
117
  <div
138
118
  class="asd20-public-form-modal__submit"
139
119
  aria-live="polite"
@@ -180,6 +160,26 @@
180
160
  >
181
161
  {{ feedbackMessage }}
182
162
  </div>
163
+
164
+ <div
165
+ v-if="showFallbackContact"
166
+ class="asd20-public-form-modal__fallback"
167
+ >
168
+ <p>
169
+ {{
170
+ formDefinition.fallbackContact.instructions ||
171
+ 'If you cannot submit this form, use one of these contact options:'
172
+ }}
173
+ </p>
174
+ <a
175
+ v-if="formDefinition.fallbackContact.email"
176
+ :href="`mailto:${formDefinition.fallbackContact.email}`"
177
+ >{{ formDefinition.fallbackContact.email }}</a>
178
+ <a
179
+ v-if="formDefinition.fallbackContact.phone"
180
+ :href="fallbackPhoneHref"
181
+ >{{ formDefinition.fallbackContact.phone }}</a>
182
+ </div>
183
183
  </form>
184
184
  </asd20-viewport>
185
185
  </asd20-modal>
@@ -245,6 +245,7 @@ export default {
245
245
  feedbackRole: 'alert',
246
246
  sending: false,
247
247
  submissionSuccess: false,
248
+ submissionFailed: false,
248
249
  loadSequence: 0,
249
250
  }
250
251
  },
@@ -272,7 +273,10 @@ export default {
272
273
  },
273
274
  hasFallbackContact() {
274
275
  const fallback = this.formDefinition?.fallbackContact
275
- return Boolean(fallback?.email || fallback?.phone)
276
+ return Boolean(fallback?.instructions || fallback?.email || fallback?.phone)
277
+ },
278
+ showFallbackContact() {
279
+ return this.submissionFailed && this.hasFallbackContact
276
280
  },
277
281
  fallbackPhoneHref() {
278
282
  const phone = this.formDefinition?.fallbackContact?.phone || ''
@@ -318,6 +322,7 @@ export default {
318
322
  this.definitionError = ''
319
323
  this.feedbackMessage = ''
320
324
  this.submissionSuccess = false
325
+ this.submissionFailed = false
321
326
  this.validationErrors = {}
322
327
  this.validationAttempted = false
323
328
  this.honeypot = ''
@@ -386,7 +391,7 @@ export default {
386
391
  },
387
392
  captchaFailed() {
388
393
  this.showFeedback(
389
- 'The verification service could not start. Please try again or use the contact options listed.'
394
+ 'The verification service could not start. Please try again or use another contact option on this page.'
390
395
  )
391
396
  },
392
397
  captchaExpired() {
@@ -426,6 +431,7 @@ export default {
426
431
 
427
432
  this.sending = true
428
433
  this.feedbackMessage = ''
434
+ this.submissionFailed = false
429
435
  try {
430
436
  const payload = {
431
437
  ...this.values,
@@ -443,6 +449,7 @@ export default {
443
449
  definitionVersion: this.formDefinition.version,
444
450
  })
445
451
  } catch (error) {
452
+ this.submissionFailed = true
446
453
  this.showFeedback(this.failureMessage(error))
447
454
  } finally {
448
455
  this.sending = false