@vectoriox/iox-ui 4.42.0 → 4.43.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.
package/index.d.ts CHANGED
@@ -1137,6 +1137,20 @@ declare class IoxFormComponent implements OnChanges, OnInit {
1137
1137
  name: string;
1138
1138
  renderState: FormRenderState | string;
1139
1139
  feedback: FeedbackTiming | string;
1140
+ /**
1141
+ * Move focus to the first field that failed, instead of leaving the visitor to hunt for red
1142
+ * text. On by default — the single most valuable thing a failed submit can do.
1143
+ */
1144
+ focusFirstProblem: boolean;
1145
+ /**
1146
+ * Speak the failure the moment it happens. Without this a screen-reader user only learns a
1147
+ * submit failed if they happen to tab back into the message — the error text is rendered, but
1148
+ * nothing directs them to it.
1149
+ */
1150
+ announceFailure: boolean;
1151
+ /** What the live region is currently saying. Empty between attempts so the same failure
1152
+ * announces again rather than being swallowed as an unchanged value. */
1153
+ announcement: string;
1140
1154
  /**
1141
1155
  * Emitted ONLY when client-side validation passes, carrying the collected values. The host
1142
1156
  * (builder canvas or engine runtime) owns the transport — posting, retries and the server's
@@ -1176,9 +1190,15 @@ declare class IoxFormComponent implements OnChanges, OnInit {
1176
1190
  private honeypotValue;
1177
1191
  /** Blank the real DOM controls after a success. The runtime state alone would leave them filled. */
1178
1192
  private resetControls;
1193
+ /**
1194
+ * Put the failure into the live region. Cleared first so two identical failures in a row are
1195
+ * two announcements, not one — a live region only speaks on CHANGE, and "same error again"
1196
+ * is exactly when a visitor most needs telling.
1197
+ */
1198
+ private announce;
1179
1199
  private focusFirstInvalid;
1180
1200
  static ɵfac: i0.ɵɵFactoryDeclaration<IoxFormComponent, [null, null, { optional: true; }, { optional: true; }]>;
1181
- static ɵcmp: i0.ɵɵComponentDeclaration<IoxFormComponent, "form[iox-form]", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "renderState": { "alias": "renderState"; "required": false; }; "feedback": { "alias": "feedback"; "required": false; }; }, { "formSubmit": "formSubmit"; "validationFailed": "validationFailed"; }, never, never, false, never>;
1201
+ static ɵcmp: i0.ɵɵComponentDeclaration<IoxFormComponent, "form[iox-form]", never, { "nodeId": { "alias": "nodeId"; "required": false; }; "formId": { "alias": "formId"; "required": false; }; "name": { "alias": "name"; "required": false; }; "renderState": { "alias": "renderState"; "required": false; }; "feedback": { "alias": "feedback"; "required": false; }; "focusFirstProblem": { "alias": "focusFirstProblem"; "required": false; }; "announceFailure": { "alias": "announceFailure"; "required": false; }; }, { "formSubmit": "formSubmit"; "validationFailed": "validationFailed"; }, never, never, false, never>;
1182
1202
  }
1183
1203
 
1184
1204
  /**
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vectoriox/iox-ui",
3
- "version": "4.42.0",
3
+ "version": "4.43.0",
4
4
  "peerDependencies": {
5
5
  "@angular/common": ">=20.0.0",
6
6
  "@angular/core": ">=20.0.0",