@fusion.dev/helix-headless 0.109.2 → 0.109.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.
@@ -73,6 +73,7 @@ let HelixHeadlessCheckbox = class HelixHeadlessCheckbox extends MixinControllerC
73
73
  ?disabled=${this.isDisabled}
74
74
  ?required=${this.required}
75
75
  aria-describedby=${this.describedBy ?? nothing}
76
+ aria-invalid=${this.invalidity ?? nothing}
76
77
  @change=${this.handleChange}
77
78
  @input=${this.stopInner}
78
79
  />
@@ -128,6 +128,7 @@ let HelixHeadlessColorInput = class HelixHeadlessColorInput extends MixinPickerF
128
128
  autocomplete=${this.autocomplete || nothing}
129
129
  spellcheck="false"
130
130
  aria-describedby=${this.describedBy ?? nothing}
131
+ aria-invalid=${this.invalidity ?? nothing}
131
132
  ?disabled=${this.isDisabled}
132
133
  ?required=${this.required}
133
134
  @input=${this.handleInput}
@@ -320,6 +320,7 @@ let HelixHeadlessCombobox = class HelixHeadlessCombobox extends MixinControllerO
320
320
  aria-autocomplete=${this.suggest ? 'both' : 'list'}
321
321
  aria-expanded=${this.open ? 'true' : 'false'}
322
322
  aria-describedby=${this.describedBy ?? nothing}
323
+ aria-invalid=${this.invalidity ?? nothing}
323
324
  placeholder=${(this.chosen.length > 0 || this.unresolved ? '' : this.placeholder) || nothing}
324
325
  ?disabled=${this.isDisabled}
325
326
  .value=${this.multiple || this.open ? this.suggestion || this.typed : this.word}
@@ -235,6 +235,7 @@ let HelixHeadlessDateInput = class HelixHeadlessDateInput extends MixinPickerEdi
235
235
  autocomplete=${this.autocomplete || nothing}
236
236
  inputmode="numeric"
237
237
  aria-describedby=${this.describedBy ?? nothing}
238
+ aria-invalid=${this.invalidity ?? nothing}
238
239
  ?disabled=${this.isDisabled}
239
240
  ?readonly=${this.readOnly}
240
241
  ?required=${this.required}
@@ -187,6 +187,7 @@ let HelixHeadlessFileInput = class HelixHeadlessFileInput extends MixinField(Hel
187
187
  capture=${this.capture ?? nothing}
188
188
  name=${this.name || nothing}
189
189
  aria-describedby=${this.describedBy ?? nothing}
190
+ aria-invalid=${this.invalidity ?? nothing}
190
191
  ?disabled=${this.isDisabled}
191
192
  ?multiple=${this.multiple}
192
193
  ?required=${this.required}
@@ -345,6 +345,7 @@ let HelixHeadlessFilterInput = class HelixHeadlessFilterInput extends MixinContr
345
345
  name=${this.name || nothing}
346
346
  placeholder=${this.placeholder || nothing}
347
347
  aria-describedby=${this.describedBy ?? nothing}
348
+ aria-invalid=${this.invalidity ?? nothing}
348
349
  role=${this.suggesting ? 'combobox' : nothing}
349
350
  aria-autocomplete=${this.suggesting ? 'list' : nothing}
350
351
  aria-controls=${this.suggesting ? 'suggestions' : nothing}
@@ -135,6 +135,7 @@ let HelixHeadlessInput = class HelixHeadlessInput extends MixinControllerValue(M
135
135
  minlength=${this.minLength ?? nothing}
136
136
  maxlength=${this.maxLength ?? nothing}
137
137
  aria-describedby=${this.describedBy ?? nothing}
138
+ aria-invalid=${this.invalidity ?? nothing}
138
139
  ?disabled=${this.isDisabled}
139
140
  ?readonly=${this.readOnly}
140
141
  ?required=${this.required}
@@ -389,6 +389,7 @@ let HelixHeadlessListbox = class HelixHeadlessListbox extends MixinCollection(Mi
389
389
  role="listbox"
390
390
  aria-busy=${this.loading ? 'true' : nothing}
391
391
  aria-describedby=${this.describedBy ?? nothing}
392
+ aria-invalid=${this.invalidity ?? nothing}
392
393
  aria-labelledby=${this.labeled ? this.labelId : nothing}
393
394
  aria-multiselectable=${this.multiple ? 'true' : nothing}
394
395
  aria-required=${this.required ? 'true' : nothing}
@@ -270,6 +270,7 @@ let HelixHeadlessNumberInput = class HelixHeadlessNumberInput extends MixinContr
270
270
  name=${this.name || nothing}
271
271
  placeholder=${this.placeholder || nothing}
272
272
  aria-describedby=${this.describedBy ?? nothing}
273
+ aria-invalid=${this.invalidity ?? nothing}
273
274
  aria-valuemin=${this.min ?? nothing}
274
275
  aria-valuemax=${this.max ?? nothing}
275
276
  aria-valuenow=${parsed ?? nothing}
@@ -218,6 +218,7 @@ let HelixHeadlessPinInput = class HelixHeadlessPinInput extends MixinControllerV
218
218
  inputmode=${this.type === 'numeric' ? 'numeric' : 'text'}
219
219
  autocomplete=${at === 0 ? this.autocomplete || nothing : 'off'}
220
220
  aria-label=${fillTemplate(this.cellLabel, { index: at + 1, length: this.count })}
221
+ aria-invalid=${this.invalidity ?? nothing}
221
222
  ?disabled=${this.isDisabled}
222
223
  ?readonly=${this.readOnly}
223
224
  @focus=${this.handleFocus}
@@ -201,6 +201,7 @@ let HelixHeadlessRating = class HelixHeadlessRating extends MixinControllerValue
201
201
  aria-label=${this.readOnly ? said : nothing}
202
202
  aria-labelledby=${!this.readOnly && this.labeled ? this.labelId : nothing}
203
203
  aria-describedby=${this.describedBy ?? nothing}
204
+ aria-invalid=${this.invalidity ?? nothing}
204
205
  aria-required=${this.required && !this.readOnly ? 'true' : nothing}
205
206
  data-slotted=${this.markSource ? '' : nothing}
206
207
  style=${`--rating-full: ${Math.floor(showing)}; --rating-part: ${showing - Math.floor(showing)}; --rating-steps: ${this.positions.length}`}
@@ -155,6 +155,7 @@ let HelixHeadlessSelect = class HelixHeadlessSelect extends MixinControllerOpen(
155
155
  aria-haspopup="listbox"
156
156
  aria-expanded=${this.open ? 'true' : 'false'}
157
157
  aria-describedby=${this.describedBy ?? nothing}
158
+ aria-invalid=${this.invalidity ?? nothing}
158
159
  ?disabled=${this.isDisabled}
159
160
  @click=${() => this.toggleOpen()}
160
161
  @keydown=${this.handleTriggerKeydown}
@@ -131,6 +131,7 @@ let HelixHeadlessSlider = class HelixHeadlessSlider extends MixinControllerValue
131
131
  .value=${String(at)}
132
132
  aria-labelledby=${this.labeled ? `${this.labelId} ${which}-name` : `${which}-name`}
133
133
  aria-describedby=${this.describedBy ?? nothing}
134
+ aria-invalid=${this.invalidity ?? nothing}
134
135
  ?disabled=${this.isDisabled}
135
136
  @input=${this.handleInput}
136
137
  @change=${this.handleChange}
@@ -161,6 +162,7 @@ let HelixHeadlessSlider = class HelixHeadlessSlider extends MixinControllerValue
161
162
  .value=${this.value}
162
163
  name=${this.name || nothing}
163
164
  aria-describedby=${this.describedBy ?? nothing}
165
+ aria-invalid=${this.invalidity ?? nothing}
164
166
  ?disabled=${this.isDisabled}
165
167
  @input=${this.handleInput}
166
168
  @change=${this.handleChange}
@@ -52,6 +52,7 @@ let HelixHeadlessSwitch = class HelixHeadlessSwitch extends MixinControllerCheck
52
52
  ?disabled=${this.isDisabled}
53
53
  ?required=${this.required}
54
54
  aria-describedby=${this.describedBy ?? nothing}
55
+ aria-invalid=${this.invalidity ?? nothing}
55
56
  @change=${this.handleChange}
56
57
  @input=${this.stopInner}
57
58
  />
@@ -168,6 +168,7 @@ let HelixHeadlessTextarea = class HelixHeadlessTextarea extends MixinControllerV
168
168
  minlength=${this.minLength ?? nothing}
169
169
  maxlength=${this.maxLength ?? nothing}
170
170
  aria-describedby=${this.describedBy ?? nothing}
171
+ aria-invalid=${this.invalidity ?? nothing}
171
172
  ?disabled=${this.isDisabled}
172
173
  ?readonly=${this.readOnly}
173
174
  ?required=${this.required}
@@ -207,6 +207,7 @@ let HelixHeadlessTimeInput = class HelixHeadlessTimeInput extends MixinPickerEdi
207
207
  placeholder=${this.mode === 'multiple' && this.held.length > 0 ? nothing : this.placeholder || nothing}
208
208
  autocomplete=${this.autocomplete || nothing}
209
209
  aria-describedby=${this.describedBy ?? nothing}
210
+ aria-invalid=${this.invalidity ?? nothing}
210
211
  ?disabled=${this.isDisabled}
211
212
  ?readonly=${this.readOnly}
212
213
  ?required=${this.required}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fusion.dev/helix-headless",
3
3
  "description": "Headless component tier. Structure, accessibility, state, and form participation. No styling.",
4
- "version": "0.109.2",
4
+ "version": "0.109.3",
5
5
  "license": "MIT",
6
6
  "author": "Ross Sheppard <ross.sheppard@fusion.dev>",
7
7
  "repository": {
@@ -46,13 +46,13 @@
46
46
  },
47
47
  "bugs": "https://github.com/project-fusion/fusion/issues",
48
48
  "dependencies": {
49
- "@fusion.dev/helix-core": "0.109.2",
50
- "@fusion.dev/helix-icons": "0.109.2",
49
+ "@fusion.dev/helix-core": "0.109.3",
50
+ "@fusion.dev/helix-icons": "0.109.3",
51
51
  "uqr": "^0.1.3"
52
52
  },
53
53
  "devDependencies": {
54
- "@fusion.dev/helix-cem": "0.109.2",
55
- "@fusion.dev/helix-testing": "0.109.2",
54
+ "@fusion.dev/helix-cem": "0.109.3",
55
+ "@fusion.dev/helix-testing": "0.109.3",
56
56
  "@fusion.dev/scripts": "0.0.0-dev",
57
57
  "@happy-dom/global-registrator": "^20.0.0",
58
58
  "@lit-labs/ssr": "^4.1.0",