@aurodesignsystem-dev/auro-formkit 0.0.0-pr741.0 → 0.0.0-pr750.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/components/bibtemplate/dist/index.js +1 -1
- package/components/bibtemplate/dist/registered.js +1 -1
- package/components/checkbox/demo/api.html +16 -10
- package/components/checkbox/demo/api.min.js +11 -11
- package/components/checkbox/demo/index.html +16 -10
- package/components/checkbox/demo/index.min.js +11 -11
- package/components/checkbox/demo/readme.html +16 -9
- package/components/checkbox/dist/index.js +11 -11
- package/components/checkbox/dist/registered.js +11 -11
- package/components/combobox/demo/api.html +16 -10
- package/components/combobox/demo/api.md +12 -6
- package/components/combobox/demo/api.min.js +411 -103
- package/components/combobox/demo/index.html +16 -10
- package/components/combobox/demo/index.min.js +411 -103
- package/components/combobox/demo/readme.html +16 -9
- package/components/combobox/dist/index.js +374 -91
- package/components/combobox/dist/registered.js +374 -91
- package/components/counter/demo/api.html +16 -10
- package/components/counter/demo/api.md +140 -7
- package/components/counter/demo/api.min.js +1145 -987
- package/components/counter/demo/index.html +16 -10
- package/components/counter/demo/index.md +82 -0
- package/components/counter/demo/index.min.js +1145 -987
- package/components/counter/demo/readme.html +16 -9
- package/components/counter/dist/auro-counter-group.d.ts +64 -23
- package/components/counter/dist/auro-counter.d.ts +10 -0
- package/components/counter/dist/index.js +1145 -987
- package/components/counter/dist/registered.js +1145 -987
- package/components/datepicker/demo/api.html +16 -10
- package/components/datepicker/demo/api.min.js +374 -91
- package/components/datepicker/demo/index.html +16 -10
- package/components/datepicker/demo/index.min.js +374 -91
- package/components/datepicker/demo/readme.html +16 -9
- package/components/datepicker/dist/auro-datepicker.d.ts +6 -0
- package/components/datepicker/dist/index.js +374 -91
- package/components/datepicker/dist/registered.js +374 -91
- package/components/dropdown/demo/api.html +16 -10
- package/components/dropdown/demo/api.md +77 -267
- package/components/dropdown/demo/api.min.js +331 -64
- package/components/dropdown/demo/index.html +16 -10
- package/components/dropdown/demo/index.md +45 -363
- package/components/dropdown/demo/index.min.js +331 -64
- package/components/dropdown/demo/readme.html +16 -9
- package/components/dropdown/dist/auro-dropdown.d.ts +35 -67
- package/components/dropdown/dist/index.js +331 -64
- package/components/dropdown/dist/registered.js +331 -64
- package/components/form/demo/api.html +16 -9
- package/components/form/demo/autocomplete.html +19 -3
- package/components/form/demo/index.html +16 -9
- package/components/form/demo/readme.html +16 -9
- package/components/form/demo/working.html +19 -13
- package/components/helptext/dist/index.js +1 -1
- package/components/helptext/dist/registered.js +1 -1
- package/components/input/demo/api.html +16 -10
- package/components/input/demo/api.md +1 -1
- package/components/input/demo/api.min.js +14 -14
- package/components/input/demo/index.html +16 -10
- package/components/input/demo/index.min.js +14 -14
- package/components/input/demo/readme.html +16 -9
- package/components/input/dist/base-input.d.ts +1 -1
- package/components/input/dist/index.js +14 -14
- package/components/input/dist/registered.js +14 -14
- package/components/menu/demo/api.html +16 -32
- package/components/menu/demo/api.md +1 -1
- package/components/menu/demo/api.min.js +37 -12
- package/components/menu/demo/index.html +16 -10
- package/components/menu/demo/index.min.js +37 -12
- package/components/menu/demo/readme.html +16 -9
- package/components/menu/dist/auro-menu.d.ts +13 -2
- package/components/menu/dist/index.js +37 -12
- package/components/menu/dist/registered.js +37 -12
- package/components/radio/demo/api.html +16 -10
- package/components/radio/demo/api.md +0 -1
- package/components/radio/demo/api.min.js +61 -76
- package/components/radio/demo/index.html +16 -10
- package/components/radio/demo/index.min.js +61 -76
- package/components/radio/demo/readme.html +16 -9
- package/components/radio/dist/auro-radio.d.ts +8 -11
- package/components/radio/dist/index.js +61 -76
- package/components/radio/dist/registered.js +61 -76
- package/components/select/demo/api.html +16 -10
- package/components/select/demo/api.js +0 -2
- package/components/select/demo/api.md +53 -51
- package/components/select/demo/api.min.js +491 -326
- package/components/select/demo/index.html +16 -11
- package/components/select/demo/index.md +6 -158
- package/components/select/demo/index.min.js +491 -314
- package/components/select/demo/readme.html +16 -9
- package/components/select/dist/auro-select.d.ts +33 -8
- package/components/select/dist/index.js +454 -302
- package/components/select/dist/registered.js +454 -302
- package/package.json +26 -25
|
@@ -146,6 +146,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
|
|
|
146
146
|
}
|
|
147
147
|
};
|
|
148
148
|
|
|
149
|
+
/* eslint-disable max-lines */
|
|
149
150
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
150
151
|
// See LICENSE in the project root for license information.
|
|
151
152
|
|
|
@@ -180,8 +181,8 @@ class AuroRadio extends i$2 {
|
|
|
180
181
|
this.required = false;
|
|
181
182
|
this.error = false;
|
|
182
183
|
this.onDark = false;
|
|
183
|
-
this.tabIndex = -1;
|
|
184
184
|
this.touched = false;
|
|
185
|
+
this.role = 'radio';
|
|
185
186
|
|
|
186
187
|
/**
|
|
187
188
|
* @private
|
|
@@ -223,10 +224,6 @@ class AuroRadio extends i$2 {
|
|
|
223
224
|
label: { type: String },
|
|
224
225
|
name: { type: String },
|
|
225
226
|
value: { type: String },
|
|
226
|
-
tabIndex: {
|
|
227
|
-
type: Number,
|
|
228
|
-
reflect: true
|
|
229
|
-
},
|
|
230
227
|
|
|
231
228
|
/**
|
|
232
229
|
* Whether or not the radio button has been touched by the user.
|
|
@@ -246,6 +243,15 @@ class AuroRadio extends i$2 {
|
|
|
246
243
|
type: String,
|
|
247
244
|
reflect: false,
|
|
248
245
|
attribute: false
|
|
246
|
+
},
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Do not add to api doc since changing of this can easily break a11y.
|
|
250
|
+
* @private
|
|
251
|
+
*/
|
|
252
|
+
role: {
|
|
253
|
+
type: String,
|
|
254
|
+
reflect: true
|
|
249
255
|
}
|
|
250
256
|
};
|
|
251
257
|
}
|
|
@@ -271,7 +277,6 @@ class AuroRadio extends i$2 {
|
|
|
271
277
|
handleChange(event) {
|
|
272
278
|
this.checked = event.target.checked;
|
|
273
279
|
const customEvent = new CustomEvent(event.type, event);
|
|
274
|
-
|
|
275
280
|
this.dispatchEvent(customEvent);
|
|
276
281
|
}
|
|
277
282
|
|
|
@@ -330,7 +335,27 @@ class AuroRadio extends i$2 {
|
|
|
330
335
|
}
|
|
331
336
|
|
|
332
337
|
updated(changedProperties) {
|
|
338
|
+
if (changedProperties.has('error') || changedProperties.has('validity')) {
|
|
339
|
+
this.setAttribute('aria-invalid', this.error || this.validity !== 'valid' ? 'true' : 'false');
|
|
340
|
+
}
|
|
341
|
+
|
|
342
|
+
if (changedProperties.has('required')) {
|
|
343
|
+
this.setAttribute('aria-required', this.isRequired(this.required));
|
|
344
|
+
}
|
|
345
|
+
|
|
346
|
+
if (changedProperties.has('disabled')) {
|
|
347
|
+
if (this.disabled) {
|
|
348
|
+
this.setAttribute('aria-disabled', '');
|
|
349
|
+
} else {
|
|
350
|
+
this.removeAttribute('aria-disabled');
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
|
|
333
354
|
if (changedProperties.has('checked')) {
|
|
355
|
+
this.setAttribute('aria-checked', this.checked ? 'true' : 'false');
|
|
356
|
+
// eslint-disable-next-line no-magic-numbers
|
|
357
|
+
this.setAttribute('tabindex', this.checked ? 0 : -1);
|
|
358
|
+
|
|
334
359
|
this.dispatchEvent(new CustomEvent('resetRadio', {
|
|
335
360
|
bubbles: true,
|
|
336
361
|
composed: true
|
|
@@ -345,20 +370,6 @@ class AuroRadio extends i$2 {
|
|
|
345
370
|
}
|
|
346
371
|
}
|
|
347
372
|
|
|
348
|
-
/**
|
|
349
|
-
* Method for handling content when it is invalid accessibility wise.
|
|
350
|
-
* @private
|
|
351
|
-
* @param {Boolean} error - The element's error attribute.
|
|
352
|
-
* @returns {void}
|
|
353
|
-
*/
|
|
354
|
-
invalid(error) {
|
|
355
|
-
if (error) {
|
|
356
|
-
return 'true';
|
|
357
|
-
}
|
|
358
|
-
|
|
359
|
-
return 'false';
|
|
360
|
-
}
|
|
361
|
-
|
|
362
373
|
/**
|
|
363
374
|
* Method for handling passing the required status to aria.
|
|
364
375
|
* @private
|
|
@@ -377,6 +388,7 @@ class AuroRadio extends i$2 {
|
|
|
377
388
|
// Add the tag name as an attribute if it is different than the component name
|
|
378
389
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-radio');
|
|
379
390
|
|
|
391
|
+
this.addEventListener('focus', this.handleFocus);
|
|
380
392
|
this.addEventListener('blur', this.handleBlur);
|
|
381
393
|
|
|
382
394
|
this.input = this.shadowRoot.querySelector('input');
|
|
@@ -401,27 +413,21 @@ class AuroRadio extends i$2 {
|
|
|
401
413
|
return x`
|
|
402
414
|
<div class="ods-inputGroup rdoGroup" part="radio">
|
|
403
415
|
<input
|
|
404
|
-
class="
|
|
416
|
+
class="util_displayHidden ods-inputOption rdo--input"
|
|
405
417
|
part="radio-input"
|
|
406
|
-
@focus="${this.handleFocus}"
|
|
407
418
|
@input="${this.handleInput}"
|
|
408
419
|
@change="${this.handleChange}"
|
|
409
420
|
?disabled="${this.disabled}"
|
|
410
|
-
aria-invalid="${this.invalid(this.error)}"
|
|
411
|
-
aria-required="${this.isRequired(this.required)}"
|
|
412
421
|
.checked="${this.checked}"
|
|
413
422
|
id="${this.inputId}"
|
|
414
423
|
name="${o$1(this.name)}"
|
|
415
424
|
type="radio"
|
|
416
425
|
.value="${this.value}"
|
|
426
|
+
aria-hidden="true"
|
|
417
427
|
tabindex="-1"
|
|
418
428
|
/>
|
|
419
429
|
|
|
420
|
-
<label
|
|
421
|
-
for="${this.inputId}"
|
|
422
|
-
class="${e(labelClasses)}"
|
|
423
|
-
part="radio-label"
|
|
424
|
-
>
|
|
430
|
+
<label for="${this.inputId}" class="${e(labelClasses)}" part="radio-label">
|
|
425
431
|
<slot>${this.label}</slot>
|
|
426
432
|
</label>
|
|
427
433
|
</div>
|
|
@@ -437,7 +443,7 @@ class AuroRadio extends i$2 {
|
|
|
437
443
|
*/
|
|
438
444
|
const a=Symbol.for(""),o=t=>{if(t?.r===a)return t?._$litStatic$},s=t=>({_$litStatic$:t,r:a}),i=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a}),l=new Map,n=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&void 0!==(i=e[$],s=o(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");void 0===(r=l.get(t))&&(n.raw=n,l.set(t,r=n)),e=u;}return t(r,...e)},u=n(x);
|
|
439
445
|
|
|
440
|
-
var styleCss$1 = i$5`:host{display:block;padding-bottom:var(--ds-size-150, 0.75rem)}fieldset{all:unset}.displayFlex legend+slot{display:flex;white-space:nowrap}legend{margin-bottom:var(--ds-size-150, 0.75rem)}`;
|
|
446
|
+
var styleCss$1 = i$5`:host{display:block;padding-bottom:var(--ds-size-150, 0.75rem)}fieldset{all:unset}.displayFlex legend+slot{display:flex;white-space:nowrap}legend{margin-bottom:var(--ds-size-150, 0.75rem)}[auro-helptext]{margin-top:var(--ds-size-150, 0.75rem)}`;
|
|
441
447
|
|
|
442
448
|
var colorCss$1 = i$5`:host legend{color:var(--ds-auro-radio-group-label-color)}:host([disabled]){--ds-auro-radio-group-label-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([onDark]){--ds-auro-radio-group-label-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][disabled]){--ds-auro-radio-group-label-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}`;
|
|
443
449
|
|
|
@@ -917,19 +923,19 @@ class AuroFormValidation {
|
|
|
917
923
|
{
|
|
918
924
|
check: (e) => e.value?.length > 0 && e.value?.length < e.minLength,
|
|
919
925
|
validity: 'tooShort',
|
|
920
|
-
message: e => e.setCustomValidityTooShort || e.setCustomValidity || ''
|
|
926
|
+
message: e => e.getAttribute('setCustomValidityTooShort') || e.setCustomValidity || ''
|
|
921
927
|
},
|
|
922
928
|
{
|
|
923
929
|
check: (e) => e.value?.length > e.maxLength,
|
|
924
930
|
validity: 'tooLong',
|
|
925
|
-
message: e => e.setCustomValidityTooLong || e.setCustomValidity || ''
|
|
931
|
+
message: e => e.getAttribute('setCustomValidityTooLong') || e.setCustomValidity || ''
|
|
926
932
|
}
|
|
927
933
|
],
|
|
928
934
|
pattern: [
|
|
929
935
|
{
|
|
930
936
|
check: (e) => e.pattern && !new RegExp(`^${e.pattern}$`, 'u').test(e.value),
|
|
931
937
|
validity: 'patternMismatch',
|
|
932
|
-
message: e => e.setCustomValidityPatternMismatch || e.setCustomValidity || ''
|
|
938
|
+
message: e => e.getAttribute('setCustomValidityPatternMismatch') || e.setCustomValidity || ''
|
|
933
939
|
}
|
|
934
940
|
]
|
|
935
941
|
},
|
|
@@ -1124,10 +1130,10 @@ class AuroFormValidation {
|
|
|
1124
1130
|
if (!hasValue && elem.required && elem.touched) {
|
|
1125
1131
|
elem.validity = 'valueMissing';
|
|
1126
1132
|
elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
|
|
1127
|
-
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
1133
|
+
} else if (hasValue && this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
1128
1134
|
this.validateType(elem);
|
|
1129
1135
|
this.validateElementAttributes(elem);
|
|
1130
|
-
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
1136
|
+
} else if (hasValue && (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group'))) {
|
|
1131
1137
|
this.validateElementAttributes(elem);
|
|
1132
1138
|
}
|
|
1133
1139
|
}
|
|
@@ -1260,7 +1266,7 @@ class AuroDependencyVersioning {
|
|
|
1260
1266
|
|
|
1261
1267
|
var colorCss = i$5`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
|
|
1262
1268
|
|
|
1263
|
-
var styleCss = i$5
|
|
1269
|
+
var styleCss = i$5`:host{position:relative;display:block}.helptext-wrapper{display:none;font-size:12px;font-weight:450;letter-spacing:0;line-height:16px}:host([large]) .helptext-wrapper{font-size:16px;font-weight:450;letter-spacing:0;line-height:24px}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
|
|
1264
1270
|
|
|
1265
1271
|
var tokensCss = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
|
|
1266
1272
|
|
|
@@ -1741,15 +1747,6 @@ class AuroRadioGroup extends i$2 {
|
|
|
1741
1747
|
if (this.items.length === 0) {
|
|
1742
1748
|
this.handleItems();
|
|
1743
1749
|
}
|
|
1744
|
-
|
|
1745
|
-
// handle tab index
|
|
1746
|
-
this.items.forEach((item) => {
|
|
1747
|
-
item.tabIndex = -1;
|
|
1748
|
-
});
|
|
1749
|
-
|
|
1750
|
-
if (!this.disabled) {
|
|
1751
|
-
this.items[this.index].tabIndex = 0;
|
|
1752
|
-
}
|
|
1753
1750
|
}
|
|
1754
1751
|
|
|
1755
1752
|
/**
|
|
@@ -1793,10 +1790,7 @@ class AuroRadioGroup extends i$2 {
|
|
|
1793
1790
|
const nextEnabledIndex = this.items.findIndex((item) => !item.hasAttribute('disabled'));
|
|
1794
1791
|
|
|
1795
1792
|
this.index = index >= 0 ? index : nextEnabledIndex;
|
|
1796
|
-
|
|
1797
|
-
if (this.index >= 0) {
|
|
1798
|
-
this.items[this.index].tabIndex = 0;
|
|
1799
|
-
}
|
|
1793
|
+
this.items[this.index].setAttribute('tabindex', 0);
|
|
1800
1794
|
}
|
|
1801
1795
|
}
|
|
1802
1796
|
|
|
@@ -1810,20 +1804,10 @@ class AuroRadioGroup extends i$2 {
|
|
|
1810
1804
|
this.index = this.items.indexOf(event.target);
|
|
1811
1805
|
|
|
1812
1806
|
this.items.forEach((item) => {
|
|
1813
|
-
|
|
1814
|
-
item.tabIndex = 0;
|
|
1815
|
-
if (event.target.value) {
|
|
1816
|
-
this.value = event.target.value;
|
|
1817
|
-
}
|
|
1818
|
-
} else {
|
|
1819
|
-
const sdInput = item.shadowRoot.querySelector('input');
|
|
1820
|
-
|
|
1821
|
-
sdInput.checked = false;
|
|
1822
|
-
item.checked = false;
|
|
1823
|
-
item.tabIndex = -1;
|
|
1824
|
-
}
|
|
1807
|
+
item.checked = item === event.target;
|
|
1825
1808
|
});
|
|
1826
1809
|
|
|
1810
|
+
this.value = event.target.value;
|
|
1827
1811
|
this.optionSelected = event.target;
|
|
1828
1812
|
|
|
1829
1813
|
this.validation.validate(this);
|
|
@@ -1836,7 +1820,7 @@ class AuroRadioGroup extends i$2 {
|
|
|
1836
1820
|
* @returns {void}
|
|
1837
1821
|
*/
|
|
1838
1822
|
selectItem(index) {
|
|
1839
|
-
const sdItem = this.items[index]
|
|
1823
|
+
const sdItem = this.items[index];
|
|
1840
1824
|
|
|
1841
1825
|
sdItem.click();
|
|
1842
1826
|
sdItem.focus();
|
|
@@ -1855,17 +1839,18 @@ class AuroRadioGroup extends i$2 {
|
|
|
1855
1839
|
|
|
1856
1840
|
for (currIndex; currIndex < this.items.length; moveDirection === "Down" ? currIndex += 1 : currIndex -= 1) {
|
|
1857
1841
|
currIndex = currIndex === -1 ? this.items.length - 1 : currIndex;
|
|
1858
|
-
const sdItem = this.items[currIndex]
|
|
1859
|
-
|
|
1860
|
-
|
|
1861
|
-
|
|
1862
|
-
|
|
1863
|
-
|
|
1864
|
-
|
|
1865
|
-
|
|
1866
|
-
|
|
1867
|
-
|
|
1868
|
-
|
|
1842
|
+
const sdItem = this.items[currIndex];
|
|
1843
|
+
if (sdItem) {
|
|
1844
|
+
if (this.disabled || this.items.every((item) => item.disabled === true)) {
|
|
1845
|
+
sdItem.focus();
|
|
1846
|
+
break;
|
|
1847
|
+
}
|
|
1848
|
+
if (!sdItem.disabled) {
|
|
1849
|
+
sdItem.click();
|
|
1850
|
+
sdItem.focus();
|
|
1851
|
+
this.index = currIndex;
|
|
1852
|
+
break;
|
|
1853
|
+
}
|
|
1869
1854
|
}
|
|
1870
1855
|
}
|
|
1871
1856
|
}
|
|
@@ -1908,7 +1893,7 @@ class AuroRadioGroup extends i$2 {
|
|
|
1908
1893
|
};
|
|
1909
1894
|
|
|
1910
1895
|
return u`
|
|
1911
|
-
<fieldset class="${e(groupClasses)}" part="radio-group">
|
|
1896
|
+
<fieldset class="${e(groupClasses)}" part="radio-group" role="radiogroup">
|
|
1912
1897
|
<legend>
|
|
1913
1898
|
<slot name="legend"></slot>
|
|
1914
1899
|
${this.required ? undefined : u`<slot name="optionalLabel"> (optional)</slot>`}
|
|
@@ -1918,11 +1903,11 @@ class AuroRadioGroup extends i$2 {
|
|
|
1918
1903
|
|
|
1919
1904
|
${!this.validity || this.validity === undefined || this.validity === 'valid'
|
|
1920
1905
|
? u`
|
|
1921
|
-
<${this.helpTextTag}
|
|
1906
|
+
<${this.helpTextTag} ?onDark="${this.onDark}" part="helpText">
|
|
1922
1907
|
<slot name="helpText"></slot>
|
|
1923
1908
|
</${this.helpTextTag}>`
|
|
1924
1909
|
: u`
|
|
1925
|
-
<${this.helpTextTag}
|
|
1910
|
+
<${this.helpTextTag} ?onDark="${this.onDark}" role="alert" error aria-live="assertive" part="helpText">
|
|
1926
1911
|
${this.errorMessage}
|
|
1927
1912
|
</${this.helpTextTag}>`
|
|
1928
1913
|
}
|
|
@@ -16,18 +16,24 @@
|
|
|
16
16
|
<head>
|
|
17
17
|
<meta charset="UTF-8" />
|
|
18
18
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
19
|
-
<title>Auro Web Component
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/auro-classic/CSSCustomProperties.css"
|
|
26
|
-
|
|
19
|
+
<title>Auro Web Component Demo | auro-radio</title>
|
|
20
|
+
|
|
21
|
+
<!-- Prism.js Stylesheet -->
|
|
22
|
+
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/prismjs@1.24.1/themes/prism.css"/>
|
|
23
|
+
|
|
24
|
+
<!-- Legacy reference is still needed to support auro-radio's use of legacy token values at this time -->
|
|
25
|
+
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/legacy/auro-classic/CSSCustomProperties.css"/>
|
|
26
|
+
|
|
27
|
+
<!-- Design Token Alaska Theme -->
|
|
28
|
+
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/themes/alaska/CSSCustomProperties--alaska.min.css"/>
|
|
29
|
+
|
|
30
|
+
<!-- Webcore Stylesheet Alaska Theme -->
|
|
31
|
+
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/bundled/themes/alaska.global.min.css" />
|
|
32
|
+
|
|
33
|
+
<!-- Demo Specific Styles -->
|
|
27
34
|
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/demoWrapper.css" />
|
|
28
35
|
<link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/elementDemoStyles.css" />
|
|
29
|
-
|
|
30
|
-
</head>
|
|
36
|
+
</head>
|
|
31
37
|
<body class="auro-markdown">
|
|
32
38
|
<main></main>
|
|
33
39
|
|
|
@@ -121,6 +121,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
|
|
|
121
121
|
}
|
|
122
122
|
};
|
|
123
123
|
|
|
124
|
+
/* eslint-disable max-lines */
|
|
124
125
|
// Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
125
126
|
// See LICENSE in the project root for license information.
|
|
126
127
|
|
|
@@ -155,8 +156,8 @@ class AuroRadio extends i$2 {
|
|
|
155
156
|
this.required = false;
|
|
156
157
|
this.error = false;
|
|
157
158
|
this.onDark = false;
|
|
158
|
-
this.tabIndex = -1;
|
|
159
159
|
this.touched = false;
|
|
160
|
+
this.role = 'radio';
|
|
160
161
|
|
|
161
162
|
/**
|
|
162
163
|
* @private
|
|
@@ -198,10 +199,6 @@ class AuroRadio extends i$2 {
|
|
|
198
199
|
label: { type: String },
|
|
199
200
|
name: { type: String },
|
|
200
201
|
value: { type: String },
|
|
201
|
-
tabIndex: {
|
|
202
|
-
type: Number,
|
|
203
|
-
reflect: true
|
|
204
|
-
},
|
|
205
202
|
|
|
206
203
|
/**
|
|
207
204
|
* Whether or not the radio button has been touched by the user.
|
|
@@ -221,6 +218,15 @@ class AuroRadio extends i$2 {
|
|
|
221
218
|
type: String,
|
|
222
219
|
reflect: false,
|
|
223
220
|
attribute: false
|
|
221
|
+
},
|
|
222
|
+
|
|
223
|
+
/**
|
|
224
|
+
* Do not add to api doc since changing of this can easily break a11y.
|
|
225
|
+
* @private
|
|
226
|
+
*/
|
|
227
|
+
role: {
|
|
228
|
+
type: String,
|
|
229
|
+
reflect: true
|
|
224
230
|
}
|
|
225
231
|
};
|
|
226
232
|
}
|
|
@@ -246,7 +252,6 @@ class AuroRadio extends i$2 {
|
|
|
246
252
|
handleChange(event) {
|
|
247
253
|
this.checked = event.target.checked;
|
|
248
254
|
const customEvent = new CustomEvent(event.type, event);
|
|
249
|
-
|
|
250
255
|
this.dispatchEvent(customEvent);
|
|
251
256
|
}
|
|
252
257
|
|
|
@@ -305,7 +310,27 @@ class AuroRadio extends i$2 {
|
|
|
305
310
|
}
|
|
306
311
|
|
|
307
312
|
updated(changedProperties) {
|
|
313
|
+
if (changedProperties.has('error') || changedProperties.has('validity')) {
|
|
314
|
+
this.setAttribute('aria-invalid', this.error || this.validity !== 'valid' ? 'true' : 'false');
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
if (changedProperties.has('required')) {
|
|
318
|
+
this.setAttribute('aria-required', this.isRequired(this.required));
|
|
319
|
+
}
|
|
320
|
+
|
|
321
|
+
if (changedProperties.has('disabled')) {
|
|
322
|
+
if (this.disabled) {
|
|
323
|
+
this.setAttribute('aria-disabled', '');
|
|
324
|
+
} else {
|
|
325
|
+
this.removeAttribute('aria-disabled');
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
308
329
|
if (changedProperties.has('checked')) {
|
|
330
|
+
this.setAttribute('aria-checked', this.checked ? 'true' : 'false');
|
|
331
|
+
// eslint-disable-next-line no-magic-numbers
|
|
332
|
+
this.setAttribute('tabindex', this.checked ? 0 : -1);
|
|
333
|
+
|
|
309
334
|
this.dispatchEvent(new CustomEvent('resetRadio', {
|
|
310
335
|
bubbles: true,
|
|
311
336
|
composed: true
|
|
@@ -320,20 +345,6 @@ class AuroRadio extends i$2 {
|
|
|
320
345
|
}
|
|
321
346
|
}
|
|
322
347
|
|
|
323
|
-
/**
|
|
324
|
-
* Method for handling content when it is invalid accessibility wise.
|
|
325
|
-
* @private
|
|
326
|
-
* @param {Boolean} error - The element's error attribute.
|
|
327
|
-
* @returns {void}
|
|
328
|
-
*/
|
|
329
|
-
invalid(error) {
|
|
330
|
-
if (error) {
|
|
331
|
-
return 'true';
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
return 'false';
|
|
335
|
-
}
|
|
336
|
-
|
|
337
348
|
/**
|
|
338
349
|
* Method for handling passing the required status to aria.
|
|
339
350
|
* @private
|
|
@@ -352,6 +363,7 @@ class AuroRadio extends i$2 {
|
|
|
352
363
|
// Add the tag name as an attribute if it is different than the component name
|
|
353
364
|
this.runtimeUtils.handleComponentTagRename(this, 'auro-radio');
|
|
354
365
|
|
|
366
|
+
this.addEventListener('focus', this.handleFocus);
|
|
355
367
|
this.addEventListener('blur', this.handleBlur);
|
|
356
368
|
|
|
357
369
|
this.input = this.shadowRoot.querySelector('input');
|
|
@@ -376,27 +388,21 @@ class AuroRadio extends i$2 {
|
|
|
376
388
|
return x`
|
|
377
389
|
<div class="ods-inputGroup rdoGroup" part="radio">
|
|
378
390
|
<input
|
|
379
|
-
class="
|
|
391
|
+
class="util_displayHidden ods-inputOption rdo--input"
|
|
380
392
|
part="radio-input"
|
|
381
|
-
@focus="${this.handleFocus}"
|
|
382
393
|
@input="${this.handleInput}"
|
|
383
394
|
@change="${this.handleChange}"
|
|
384
395
|
?disabled="${this.disabled}"
|
|
385
|
-
aria-invalid="${this.invalid(this.error)}"
|
|
386
|
-
aria-required="${this.isRequired(this.required)}"
|
|
387
396
|
.checked="${this.checked}"
|
|
388
397
|
id="${this.inputId}"
|
|
389
398
|
name="${o$1(this.name)}"
|
|
390
399
|
type="radio"
|
|
391
400
|
.value="${this.value}"
|
|
401
|
+
aria-hidden="true"
|
|
392
402
|
tabindex="-1"
|
|
393
403
|
/>
|
|
394
404
|
|
|
395
|
-
<label
|
|
396
|
-
for="${this.inputId}"
|
|
397
|
-
class="${e(labelClasses)}"
|
|
398
|
-
part="radio-label"
|
|
399
|
-
>
|
|
405
|
+
<label for="${this.inputId}" class="${e(labelClasses)}" part="radio-label">
|
|
400
406
|
<slot>${this.label}</slot>
|
|
401
407
|
</label>
|
|
402
408
|
</div>
|
|
@@ -412,7 +418,7 @@ class AuroRadio extends i$2 {
|
|
|
412
418
|
*/
|
|
413
419
|
const a=Symbol.for(""),o=t=>{if(t?.r===a)return t?._$litStatic$},s=t=>({_$litStatic$:t,r:a}),i=(t,...r)=>({_$litStatic$:r.reduce(((r,e,a)=>r+(t=>{if(void 0!==t._$litStatic$)return t._$litStatic$;throw Error(`Value passed to 'literal' function must be a 'literal' result: ${t}. Use 'unsafeStatic' to pass non-literal values, but\n take care to ensure page security.`)})(e)+t[a+1]),t[0]),r:a}),l=new Map,n=t=>(r,...e)=>{const a=e.length;let s,i;const n=[],u=[];let c,$=0,f=false;for(;$<a;){for(c=r[$];$<a&&void 0!==(i=e[$],s=o(i));)c+=s+r[++$],f=true;$!==a&&u.push(i),n.push(c),$++;}if($===a&&n.push(r[a]),f){const t=n.join("$$lit$$");void 0===(r=l.get(t))&&(n.raw=n,l.set(t,r=n)),e=u;}return t(r,...e)},u=n(x);
|
|
414
420
|
|
|
415
|
-
var styleCss$1 = i$5`:host{display:block;padding-bottom:var(--ds-size-150, 0.75rem)}fieldset{all:unset}.displayFlex legend+slot{display:flex;white-space:nowrap}legend{margin-bottom:var(--ds-size-150, 0.75rem)}`;
|
|
421
|
+
var styleCss$1 = i$5`:host{display:block;padding-bottom:var(--ds-size-150, 0.75rem)}fieldset{all:unset}.displayFlex legend+slot{display:flex;white-space:nowrap}legend{margin-bottom:var(--ds-size-150, 0.75rem)}[auro-helptext]{margin-top:var(--ds-size-150, 0.75rem)}`;
|
|
416
422
|
|
|
417
423
|
var colorCss$1 = i$5`:host legend{color:var(--ds-auro-radio-group-label-color)}:host([disabled]){--ds-auro-radio-group-label-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([onDark]){--ds-auro-radio-group-label-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][disabled]){--ds-auro-radio-group-label-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}`;
|
|
418
424
|
|
|
@@ -892,19 +898,19 @@ class AuroFormValidation {
|
|
|
892
898
|
{
|
|
893
899
|
check: (e) => e.value?.length > 0 && e.value?.length < e.minLength,
|
|
894
900
|
validity: 'tooShort',
|
|
895
|
-
message: e => e.setCustomValidityTooShort || e.setCustomValidity || ''
|
|
901
|
+
message: e => e.getAttribute('setCustomValidityTooShort') || e.setCustomValidity || ''
|
|
896
902
|
},
|
|
897
903
|
{
|
|
898
904
|
check: (e) => e.value?.length > e.maxLength,
|
|
899
905
|
validity: 'tooLong',
|
|
900
|
-
message: e => e.setCustomValidityTooLong || e.setCustomValidity || ''
|
|
906
|
+
message: e => e.getAttribute('setCustomValidityTooLong') || e.setCustomValidity || ''
|
|
901
907
|
}
|
|
902
908
|
],
|
|
903
909
|
pattern: [
|
|
904
910
|
{
|
|
905
911
|
check: (e) => e.pattern && !new RegExp(`^${e.pattern}$`, 'u').test(e.value),
|
|
906
912
|
validity: 'patternMismatch',
|
|
907
|
-
message: e => e.setCustomValidityPatternMismatch || e.setCustomValidity || ''
|
|
913
|
+
message: e => e.getAttribute('setCustomValidityPatternMismatch') || e.setCustomValidity || ''
|
|
908
914
|
}
|
|
909
915
|
]
|
|
910
916
|
},
|
|
@@ -1099,10 +1105,10 @@ class AuroFormValidation {
|
|
|
1099
1105
|
if (!hasValue && elem.required && elem.touched) {
|
|
1100
1106
|
elem.validity = 'valueMissing';
|
|
1101
1107
|
elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
|
|
1102
|
-
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
1108
|
+
} else if (hasValue && this.runtimeUtils.elementMatch(elem, 'auro-input')) {
|
|
1103
1109
|
this.validateType(elem);
|
|
1104
1110
|
this.validateElementAttributes(elem);
|
|
1105
|
-
} else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
|
|
1111
|
+
} else if (hasValue && (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group'))) {
|
|
1106
1112
|
this.validateElementAttributes(elem);
|
|
1107
1113
|
}
|
|
1108
1114
|
}
|
|
@@ -1235,7 +1241,7 @@ class AuroDependencyVersioning {
|
|
|
1235
1241
|
|
|
1236
1242
|
var colorCss = i$5`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
|
|
1237
1243
|
|
|
1238
|
-
var styleCss = i$5
|
|
1244
|
+
var styleCss = i$5`:host{position:relative;display:block}.helptext-wrapper{display:none;font-size:12px;font-weight:450;letter-spacing:0;line-height:16px}:host([large]) .helptext-wrapper{font-size:16px;font-weight:450;letter-spacing:0;line-height:24px}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
|
|
1239
1245
|
|
|
1240
1246
|
var tokensCss = i$5`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
|
|
1241
1247
|
|
|
@@ -1716,15 +1722,6 @@ class AuroRadioGroup extends i$2 {
|
|
|
1716
1722
|
if (this.items.length === 0) {
|
|
1717
1723
|
this.handleItems();
|
|
1718
1724
|
}
|
|
1719
|
-
|
|
1720
|
-
// handle tab index
|
|
1721
|
-
this.items.forEach((item) => {
|
|
1722
|
-
item.tabIndex = -1;
|
|
1723
|
-
});
|
|
1724
|
-
|
|
1725
|
-
if (!this.disabled) {
|
|
1726
|
-
this.items[this.index].tabIndex = 0;
|
|
1727
|
-
}
|
|
1728
1725
|
}
|
|
1729
1726
|
|
|
1730
1727
|
/**
|
|
@@ -1768,10 +1765,7 @@ class AuroRadioGroup extends i$2 {
|
|
|
1768
1765
|
const nextEnabledIndex = this.items.findIndex((item) => !item.hasAttribute('disabled'));
|
|
1769
1766
|
|
|
1770
1767
|
this.index = index >= 0 ? index : nextEnabledIndex;
|
|
1771
|
-
|
|
1772
|
-
if (this.index >= 0) {
|
|
1773
|
-
this.items[this.index].tabIndex = 0;
|
|
1774
|
-
}
|
|
1768
|
+
this.items[this.index].setAttribute('tabindex', 0);
|
|
1775
1769
|
}
|
|
1776
1770
|
}
|
|
1777
1771
|
|
|
@@ -1785,20 +1779,10 @@ class AuroRadioGroup extends i$2 {
|
|
|
1785
1779
|
this.index = this.items.indexOf(event.target);
|
|
1786
1780
|
|
|
1787
1781
|
this.items.forEach((item) => {
|
|
1788
|
-
|
|
1789
|
-
item.tabIndex = 0;
|
|
1790
|
-
if (event.target.value) {
|
|
1791
|
-
this.value = event.target.value;
|
|
1792
|
-
}
|
|
1793
|
-
} else {
|
|
1794
|
-
const sdInput = item.shadowRoot.querySelector('input');
|
|
1795
|
-
|
|
1796
|
-
sdInput.checked = false;
|
|
1797
|
-
item.checked = false;
|
|
1798
|
-
item.tabIndex = -1;
|
|
1799
|
-
}
|
|
1782
|
+
item.checked = item === event.target;
|
|
1800
1783
|
});
|
|
1801
1784
|
|
|
1785
|
+
this.value = event.target.value;
|
|
1802
1786
|
this.optionSelected = event.target;
|
|
1803
1787
|
|
|
1804
1788
|
this.validation.validate(this);
|
|
@@ -1811,7 +1795,7 @@ class AuroRadioGroup extends i$2 {
|
|
|
1811
1795
|
* @returns {void}
|
|
1812
1796
|
*/
|
|
1813
1797
|
selectItem(index) {
|
|
1814
|
-
const sdItem = this.items[index]
|
|
1798
|
+
const sdItem = this.items[index];
|
|
1815
1799
|
|
|
1816
1800
|
sdItem.click();
|
|
1817
1801
|
sdItem.focus();
|
|
@@ -1830,17 +1814,18 @@ class AuroRadioGroup extends i$2 {
|
|
|
1830
1814
|
|
|
1831
1815
|
for (currIndex; currIndex < this.items.length; moveDirection === "Down" ? currIndex += 1 : currIndex -= 1) {
|
|
1832
1816
|
currIndex = currIndex === -1 ? this.items.length - 1 : currIndex;
|
|
1833
|
-
const sdItem = this.items[currIndex]
|
|
1834
|
-
|
|
1835
|
-
|
|
1836
|
-
|
|
1837
|
-
|
|
1838
|
-
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1817
|
+
const sdItem = this.items[currIndex];
|
|
1818
|
+
if (sdItem) {
|
|
1819
|
+
if (this.disabled || this.items.every((item) => item.disabled === true)) {
|
|
1820
|
+
sdItem.focus();
|
|
1821
|
+
break;
|
|
1822
|
+
}
|
|
1823
|
+
if (!sdItem.disabled) {
|
|
1824
|
+
sdItem.click();
|
|
1825
|
+
sdItem.focus();
|
|
1826
|
+
this.index = currIndex;
|
|
1827
|
+
break;
|
|
1828
|
+
}
|
|
1844
1829
|
}
|
|
1845
1830
|
}
|
|
1846
1831
|
}
|
|
@@ -1883,7 +1868,7 @@ class AuroRadioGroup extends i$2 {
|
|
|
1883
1868
|
};
|
|
1884
1869
|
|
|
1885
1870
|
return u`
|
|
1886
|
-
<fieldset class="${e(groupClasses)}" part="radio-group">
|
|
1871
|
+
<fieldset class="${e(groupClasses)}" part="radio-group" role="radiogroup">
|
|
1887
1872
|
<legend>
|
|
1888
1873
|
<slot name="legend"></slot>
|
|
1889
1874
|
${this.required ? undefined : u`<slot name="optionalLabel"> (optional)</slot>`}
|
|
@@ -1893,11 +1878,11 @@ class AuroRadioGroup extends i$2 {
|
|
|
1893
1878
|
|
|
1894
1879
|
${!this.validity || this.validity === undefined || this.validity === 'valid'
|
|
1895
1880
|
? u`
|
|
1896
|
-
<${this.helpTextTag}
|
|
1881
|
+
<${this.helpTextTag} ?onDark="${this.onDark}" part="helpText">
|
|
1897
1882
|
<slot name="helpText"></slot>
|
|
1898
1883
|
</${this.helpTextTag}>`
|
|
1899
1884
|
: u`
|
|
1900
|
-
<${this.helpTextTag}
|
|
1885
|
+
<${this.helpTextTag} ?onDark="${this.onDark}" role="alert" error aria-live="assertive" part="helpText">
|
|
1901
1886
|
${this.errorMessage}
|
|
1902
1887
|
</${this.helpTextTag}>`
|
|
1903
1888
|
}
|