@fusion.dev/helix-headless 0.109.2 → 0.110.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.
@@ -146,21 +146,29 @@ let HelixHeadlessSelect = class HelixHeadlessSelect extends MixinControllerOpen(
146
146
  </svg>
147
147
  </slot>`;
148
148
  }
149
+ get triggerNames() {
150
+ if (this.hasAttribute('aria-labelledby')) {
151
+ return nothing;
152
+ }
153
+ return this.labeled ? `${this.labelId} value` : 'value';
154
+ }
149
155
  render() {
150
156
  return html `${this.renderLabel()}
151
157
  <button
152
158
  part="trigger"
153
159
  id=${this.controlId}
154
160
  type="button"
161
+ aria-labelledby=${this.triggerNames}
155
162
  aria-haspopup="listbox"
156
163
  aria-expanded=${this.open ? 'true' : 'false'}
157
164
  aria-describedby=${this.describedBy ?? nothing}
165
+ aria-invalid=${this.invalidity ?? nothing}
158
166
  ?disabled=${this.isDisabled}
159
167
  @click=${() => this.toggleOpen()}
160
168
  @keydown=${this.handleTriggerKeydown}
161
169
  >
162
170
  <slot name="start"></slot>
163
- <span part="value">${this.display}</span>
171
+ <span part="value" id="value">${this.display}</span>
164
172
  ${''}
165
173
  <slot name="end"></slot>
166
174
  ${''}
@@ -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.110.0",
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.110.0",
50
+ "@fusion.dev/helix-icons": "0.110.0",
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.110.0",
55
+ "@fusion.dev/helix-testing": "0.110.0",
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",