@aurodesignsystem-dev/auro-formkit 0.0.0-pr624.7 → 0.0.0-pr624.70

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.
Files changed (138) hide show
  1. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +12 -2
  2. package/components/bibtemplate/dist/buttonVersion.d.ts +2 -0
  3. package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
  4. package/components/bibtemplate/dist/index.js +1262 -81
  5. package/components/bibtemplate/dist/registered.js +1262 -81
  6. package/components/checkbox/README.md +1 -1
  7. package/components/checkbox/demo/api.html +16 -10
  8. package/components/checkbox/demo/api.md +47 -14
  9. package/components/checkbox/demo/api.min.js +65 -42
  10. package/components/checkbox/demo/index.html +16 -10
  11. package/components/checkbox/demo/index.md +2 -2
  12. package/components/checkbox/demo/index.min.js +65 -42
  13. package/components/checkbox/demo/readme.html +16 -9
  14. package/components/checkbox/demo/readme.md +1 -1
  15. package/components/checkbox/dist/auro-checkbox-group.d.ts +1 -1
  16. package/components/checkbox/dist/auro-checkbox.d.ts +3 -3
  17. package/components/checkbox/dist/index.js +65 -42
  18. package/components/checkbox/dist/registered.js +65 -42
  19. package/components/combobox/demo/api.html +16 -10
  20. package/components/combobox/demo/api.md +113 -8
  21. package/components/combobox/demo/api.min.js +3096 -870
  22. package/components/combobox/demo/index.html +16 -10
  23. package/components/combobox/demo/index.md +6 -30
  24. package/components/combobox/demo/index.min.js +3096 -870
  25. package/components/combobox/demo/readme.html +16 -9
  26. package/components/combobox/dist/auro-combobox.d.ts +42 -8
  27. package/components/combobox/dist/index.js +2878 -748
  28. package/components/combobox/dist/registered.js +2878 -748
  29. package/components/counter/demo/api.html +17 -10
  30. package/components/counter/demo/api.md +156 -21
  31. package/components/counter/demo/api.min.js +3363 -652
  32. package/components/counter/demo/index.html +17 -10
  33. package/components/counter/demo/index.md +185 -34
  34. package/components/counter/demo/index.min.js +3363 -652
  35. package/components/counter/demo/readme.html +16 -9
  36. package/components/counter/dist/auro-counter-button.d.ts +2 -0
  37. package/components/counter/dist/auro-counter-group.d.ts +151 -11
  38. package/components/counter/dist/auro-counter.d.ts +16 -0
  39. package/components/counter/dist/helptextVersion.d.ts +2 -0
  40. package/components/counter/dist/iconVersion.d.ts +1 -1
  41. package/components/counter/dist/index.js +3364 -653
  42. package/components/counter/dist/registered.js +3364 -653
  43. package/components/datepicker/demo/api.html +16 -10
  44. package/components/datepicker/demo/api.md +25 -16
  45. package/components/datepicker/demo/api.min.js +11857 -8105
  46. package/components/datepicker/demo/index.html +16 -10
  47. package/components/datepicker/demo/index.md +71 -4
  48. package/components/datepicker/demo/index.min.js +11857 -8105
  49. package/components/datepicker/demo/readme.html +16 -9
  50. package/components/datepicker/dist/auro-datepicker.d.ts +89 -11
  51. package/components/datepicker/dist/buttonVersion.d.ts +1 -1
  52. package/components/datepicker/dist/iconVersion.d.ts +2 -0
  53. package/components/datepicker/dist/index.js +8691 -4939
  54. package/components/datepicker/dist/popoverVersion.d.ts +1 -1
  55. package/components/datepicker/dist/registered.js +8691 -4939
  56. package/components/dropdown/demo/api.html +16 -10
  57. package/components/dropdown/demo/api.md +81 -274
  58. package/components/dropdown/demo/api.min.js +429 -195
  59. package/components/dropdown/demo/index.html +16 -10
  60. package/components/dropdown/demo/index.md +92 -362
  61. package/components/dropdown/demo/index.min.js +429 -195
  62. package/components/dropdown/demo/readme.html +16 -9
  63. package/components/dropdown/dist/auro-dropdown.d.ts +41 -76
  64. package/components/dropdown/dist/auro-dropdownBib.d.ts +14 -0
  65. package/components/dropdown/dist/index.js +429 -195
  66. package/components/dropdown/dist/registered.js +429 -195
  67. package/components/form/demo/api.html +16 -9
  68. package/components/form/demo/api.min.js +1 -1
  69. package/components/form/demo/autocomplete.html +19 -3
  70. package/components/form/demo/index.html +16 -9
  71. package/components/form/demo/index.min.js +1 -1
  72. package/components/form/demo/readme.html +16 -9
  73. package/components/form/demo/working.html +19 -13
  74. package/components/form/dist/index.js +1 -1
  75. package/components/form/dist/registered.js +1 -1
  76. package/components/helptext/dist/index.js +2 -2
  77. package/components/helptext/dist/registered.js +2 -2
  78. package/components/input/README.md +5 -2
  79. package/components/input/demo/api.html +16 -10
  80. package/components/input/demo/api.md +228 -130
  81. package/components/input/demo/api.min.js +908 -246
  82. package/components/input/demo/index.html +16 -10
  83. package/components/input/demo/index.md +48 -32
  84. package/components/input/demo/index.min.js +908 -246
  85. package/components/input/demo/readme.html +16 -9
  86. package/components/input/demo/readme.md +5 -2
  87. package/components/input/dist/auro-input.d.ts +3 -3
  88. package/components/input/dist/base-input.d.ts +38 -10
  89. package/components/input/dist/buttonVersion.d.ts +1 -1
  90. package/components/input/dist/iconVersion.d.ts +1 -1
  91. package/components/input/dist/index.js +908 -246
  92. package/components/input/dist/registered.js +908 -246
  93. package/components/layoutElement/dist/index.js +13 -10
  94. package/components/menu/demo/api.html +32 -10
  95. package/components/menu/demo/api.md +69 -8
  96. package/components/menu/demo/api.min.js +238 -47
  97. package/components/menu/demo/index.html +16 -10
  98. package/components/menu/demo/index.min.js +238 -47
  99. package/components/menu/demo/readme.html +16 -9
  100. package/components/menu/dist/auro-menu.d.ts +41 -7
  101. package/components/menu/dist/auro-menuoption.d.ts +15 -3
  102. package/components/menu/dist/iconVersion.d.ts +1 -1
  103. package/components/menu/dist/index.js +238 -47
  104. package/components/menu/dist/registered.js +238 -47
  105. package/components/menu/dist/styles/default/style-menuoption-css.d.ts +2 -0
  106. package/components/menu/dist/styles/default/tokens-css.d.ts +2 -0
  107. package/components/radio/demo/api.html +16 -10
  108. package/components/radio/demo/api.md +7 -8
  109. package/components/radio/demo/api.min.js +88 -90
  110. package/components/radio/demo/index.html +16 -10
  111. package/components/radio/demo/index.min.js +88 -90
  112. package/components/radio/demo/readme.html +16 -9
  113. package/components/radio/dist/auro-radio-group.d.ts +1 -1
  114. package/components/radio/dist/auro-radio.d.ts +9 -12
  115. package/components/radio/dist/index.js +88 -90
  116. package/components/radio/dist/registered.js +88 -90
  117. package/components/select/demo/api.html +16 -10
  118. package/components/select/demo/api.js +0 -2
  119. package/components/select/demo/api.md +104 -57
  120. package/components/select/demo/api.min.js +2148 -635
  121. package/components/select/demo/index.html +17 -11
  122. package/components/select/demo/index.md +45 -158
  123. package/components/select/demo/index.min.js +2148 -623
  124. package/components/select/demo/readme.html +16 -9
  125. package/components/select/dist/auro-select.d.ts +49 -16
  126. package/components/select/dist/index.js +2078 -649
  127. package/components/select/dist/registered.js +2078 -649
  128. package/package.json +30 -27
  129. /package/components/{datepicker/dist/styles/emphasized/style-css.d.ts → counter/dist/styles/shapeSize-css.d.ts} +0 -0
  130. /package/components/{dropdown/dist/styles/default → datepicker/dist/styles/snowflake}/color-css.d.ts +0 -0
  131. /package/components/{dropdown/dist/styles/default → datepicker/dist/styles/snowflake}/style-css.d.ts +0 -0
  132. /package/components/dropdown/dist/styles/{default → classic}/bibColors-css.d.ts +0 -0
  133. /package/components/dropdown/dist/styles/{default → classic}/bibStyles-css.d.ts +0 -0
  134. /package/components/{menu/dist/styles/color-menu-css.d.ts → dropdown/dist/styles/classic/color-css.d.ts} +0 -0
  135. /package/components/{menu/dist/styles/color-menuoption-css.d.ts → dropdown/dist/styles/classic/style-css.d.ts} +0 -0
  136. /package/components/menu/dist/styles/{style-menu-css.d.ts → default/color-menu-css.d.ts} +0 -0
  137. /package/components/menu/dist/styles/{style-menuoption-css.d.ts → default/color-menuoption-css.d.ts} +0 -0
  138. /package/components/menu/dist/styles/{tokens-css.d.ts → default/style-menu-css.d.ts} +0 -0
@@ -81,6 +81,7 @@ let AuroLibraryRuntimeUtils$1 = class AuroLibraryRuntimeUtils {
81
81
  }
82
82
  };
83
83
 
84
+ /* eslint-disable max-lines */
84
85
  // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
85
86
  // See LICENSE in the project root for license information.
86
87
 
@@ -115,8 +116,8 @@ class AuroRadio extends LitElement {
115
116
  this.required = false;
116
117
  this.error = false;
117
118
  this.onDark = false;
118
- this.tabIndex = -1;
119
119
  this.touched = false;
120
+ this.role = 'radio';
120
121
 
121
122
  /**
122
123
  * @private
@@ -158,10 +159,6 @@ class AuroRadio extends LitElement {
158
159
  label: { type: String },
159
160
  name: { type: String },
160
161
  value: { type: String },
161
- tabIndex: {
162
- type: Number,
163
- reflect: true
164
- },
165
162
 
166
163
  /**
167
164
  * Whether or not the radio button has been touched by the user.
@@ -174,13 +171,22 @@ class AuroRadio extends LitElement {
174
171
  },
175
172
 
176
173
  /**
174
+ * ID for input node.
177
175
  * @private
178
- * id for input node
179
176
  */
180
177
  inputId: {
181
178
  type: String,
182
179
  reflect: false,
183
180
  attribute: false
181
+ },
182
+
183
+ /**
184
+ * Do not add to api doc since changing of this can easily break a11y.
185
+ * @private
186
+ */
187
+ role: {
188
+ type: String,
189
+ reflect: true
184
190
  }
185
191
  };
186
192
  }
@@ -206,7 +212,6 @@ class AuroRadio extends LitElement {
206
212
  handleChange(event) {
207
213
  this.checked = event.target.checked;
208
214
  const customEvent = new CustomEvent(event.type, event);
209
-
210
215
  this.dispatchEvent(customEvent);
211
216
  }
212
217
 
@@ -265,7 +270,27 @@ class AuroRadio extends LitElement {
265
270
  }
266
271
 
267
272
  updated(changedProperties) {
273
+ if (changedProperties.has('error') || changedProperties.has('validity')) {
274
+ this.setAttribute('aria-invalid', this.error || this.validity !== 'valid' ? 'true' : 'false');
275
+ }
276
+
277
+ if (changedProperties.has('required')) {
278
+ this.setAttribute('aria-required', this.isRequired(this.required));
279
+ }
280
+
281
+ if (changedProperties.has('disabled')) {
282
+ if (this.disabled) {
283
+ this.setAttribute('aria-disabled', '');
284
+ } else {
285
+ this.removeAttribute('aria-disabled');
286
+ }
287
+ }
288
+
268
289
  if (changedProperties.has('checked')) {
290
+ this.setAttribute('aria-checked', this.checked ? 'true' : 'false');
291
+ // eslint-disable-next-line no-magic-numbers
292
+ this.setAttribute('tabindex', this.checked ? 0 : -1);
293
+
269
294
  this.dispatchEvent(new CustomEvent('resetRadio', {
270
295
  bubbles: true,
271
296
  composed: true
@@ -280,20 +305,6 @@ class AuroRadio extends LitElement {
280
305
  }
281
306
  }
282
307
 
283
- /**
284
- * Method for handling content when it is invalid accessibility wise.
285
- * @private
286
- * @param {Boolean} error - The element's error attribute.
287
- * @returns {void}
288
- */
289
- invalid(error) {
290
- if (error) {
291
- return 'true';
292
- }
293
-
294
- return 'false';
295
- }
296
-
297
308
  /**
298
309
  * Method for handling passing the required status to aria.
299
310
  * @private
@@ -312,6 +323,7 @@ class AuroRadio extends LitElement {
312
323
  // Add the tag name as an attribute if it is different than the component name
313
324
  this.runtimeUtils.handleComponentTagRename(this, 'auro-radio');
314
325
 
326
+ this.addEventListener('focus', this.handleFocus);
315
327
  this.addEventListener('blur', this.handleBlur);
316
328
 
317
329
  this.input = this.shadowRoot.querySelector('input');
@@ -336,27 +348,21 @@ class AuroRadio extends LitElement {
336
348
  return html`
337
349
  <div class="ods-inputGroup rdoGroup" part="radio">
338
350
  <input
339
- class="util_displayHiddenVisually ods-inputOption rdo--input"
351
+ class="util_displayHidden ods-inputOption rdo--input"
340
352
  part="radio-input"
341
- @focus="${this.handleFocus}"
342
353
  @input="${this.handleInput}"
343
354
  @change="${this.handleChange}"
344
355
  ?disabled="${this.disabled}"
345
- aria-invalid="${this.invalid(this.error)}"
346
- aria-required="${this.isRequired(this.required)}"
347
356
  .checked="${this.checked}"
348
357
  id="${this.inputId}"
349
358
  name="${ifDefined(this.name)}"
350
359
  type="radio"
351
360
  .value="${this.value}"
361
+ aria-hidden="true"
352
362
  tabindex="-1"
353
363
  />
354
364
 
355
- <label
356
- for="${this.inputId}"
357
- class="${classMap(labelClasses)}"
358
- part="radio-label"
359
- >
365
+ <label for="${this.inputId}" class="${classMap(labelClasses)}" part="radio-label">
360
366
  <slot>${this.label}</slot>
361
367
  </label>
362
368
  </div>
@@ -365,7 +371,7 @@ class AuroRadio extends LitElement {
365
371
  }
366
372
  }
367
373
 
368
- var styleCss$1 = css`: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)}`;
374
+ var styleCss$1 = css`: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)}`;
369
375
 
370
376
  var colorCss$1 = css`: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)}`;
371
377
 
@@ -845,19 +851,19 @@ class AuroFormValidation {
845
851
  {
846
852
  check: (e) => e.value?.length > 0 && e.value?.length < e.minLength,
847
853
  validity: 'tooShort',
848
- message: e => e.setCustomValidityTooShort || e.setCustomValidity || ''
854
+ message: e => e.getAttribute('setCustomValidityTooShort') || e.setCustomValidity || ''
849
855
  },
850
856
  {
851
857
  check: (e) => e.value?.length > e.maxLength,
852
858
  validity: 'tooLong',
853
- message: e => e.setCustomValidityTooLong || e.setCustomValidity || ''
859
+ message: e => e.getAttribute('setCustomValidityTooLong') || e.setCustomValidity || ''
854
860
  }
855
861
  ],
856
862
  pattern: [
857
863
  {
858
864
  check: (e) => e.pattern && !new RegExp(`^${e.pattern}$`, 'u').test(e.value),
859
865
  validity: 'patternMismatch',
860
- message: e => e.setCustomValidityPatternMismatch || e.setCustomValidity || ''
866
+ message: e => e.getAttribute('setCustomValidityPatternMismatch') || e.setCustomValidity || ''
861
867
  }
862
868
  ]
863
869
  },
@@ -1004,13 +1010,24 @@ class AuroFormValidation {
1004
1010
  this.getInputElements(elem);
1005
1011
  this.getAuroInputs(elem);
1006
1012
 
1007
- // Validate only if noValidate is not true and the input does not have focus
1013
+ // Check if validation should run
1008
1014
  let validationShouldRun =
1015
+
1016
+ // If the validation was forced
1009
1017
  force ||
1010
- (!elem.contains(document.activeElement) &&
1011
- (elem.touched ||
1012
- (!elem.touched && typeof elem.value !== "undefined"))) ||
1013
- elem.validateOnInput;
1018
+
1019
+ // If the validation should run on input
1020
+ elem.validateOnInput ||
1021
+
1022
+ // State-based checks
1023
+ (
1024
+ // Element is not currently focused
1025
+ !elem.contains(document.activeElement) && // native input is not focused directly
1026
+ !document.activeElement.shadowRoot?.contains(elem) && // native input is not focused in the shadow DOM of another component
1027
+
1028
+ // And element has been touched or is untouched but has a value
1029
+ ( elem.touched || (!elem.touched && typeof elem.value !== "undefined") )
1030
+ );
1014
1031
 
1015
1032
  if (elem.hasAttribute('error')) {
1016
1033
  elem.validity = 'customError';
@@ -1052,10 +1069,10 @@ class AuroFormValidation {
1052
1069
  if (!hasValue && elem.required && elem.touched) {
1053
1070
  elem.validity = 'valueMissing';
1054
1071
  elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
1055
- } else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
1072
+ } else if (hasValue && this.runtimeUtils.elementMatch(elem, 'auro-input')) {
1056
1073
  this.validateType(elem);
1057
1074
  this.validateElementAttributes(elem);
1058
- } else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
1075
+ } else if (hasValue && (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group'))) {
1059
1076
  this.validateElementAttributes(elem);
1060
1077
  }
1061
1078
  }
@@ -1064,7 +1081,9 @@ class AuroFormValidation {
1064
1081
  elem.validity = this.auroInputElements[0].validity;
1065
1082
  elem.errorMessage = this.auroInputElements[0].errorMessage;
1066
1083
 
1067
- if (elem.validity === 'valid' && this.auroInputElements.length > 1) {
1084
+ // combobox has 2 inputs but no need to check validity on the 2nd one which is in fullscreen bib.
1085
+ // combobox's 2nd input will have noValidate set true.
1086
+ if (elem.validity === 'valid' && this.auroInputElements.length > 1 && !this.auroInputElements[1].noValidate) {
1068
1087
  elem.validity = this.auroInputElements[1].validity;
1069
1088
  elem.errorMessage = this.auroInputElements[1].errorMessage;
1070
1089
  }
@@ -1184,9 +1203,9 @@ class AuroDependencyVersioning {
1184
1203
  }
1185
1204
  }
1186
1205
 
1187
- var colorCss = css`: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-advanced-color-state-error-inverse, #f9a4a8)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
1206
+ var colorCss = css`: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)}`;
1188
1207
 
1189
- var styleCss = css`.helptext-wrapper{display:none;font-size:var(--ds-basic-text-body-xs-font-size, 12px);font-weight:var(--ds-basic-text-body-xs-font-weight, 450);letter-spacing:var(--ds-basic-text-body-xs-letter-spacing, 0);line-height:var(--ds-basic-text-body-xs-line-height, 16px)}:host([large]) .helptext-wrapper{font-size:var(--ds-basic-text-body-default-font-size, 16px);font-weight:var(--ds-basic-text-body-default-font-weight, 450);letter-spacing:var(--ds-basic-text-body-default-letter-spacing, 0);line-height:var(--ds-basic-text-body-default-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}`;
1208
+ var styleCss = css`: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}`;
1190
1209
 
1191
1210
  var tokensCss = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
1192
1211
 
@@ -1412,7 +1431,7 @@ var helpTextVersion = '1.0.0';
1412
1431
  * @attr {Object} optionSelected - Specifies the current selected radio button.
1413
1432
  * @csspart radio-group - Apply css to the fieldset element in the shadow DOM
1414
1433
  * @slot {HTMLSlotElement} legend - Allows for the legend to be overridden.
1415
- * @slot {HTMLSlotElement} optionalLabel - Allows for the optional label to be overridden.
1434
+ * @slot {HTMLSlotElement} optionalLabel - Allows overriding the optional display text "(optional)", which appears next to the label.
1416
1435
  * @slot {HTMLSlotElement} helpText - Allows for the helper text to be overridden.
1417
1436
  * @event auroFormElement-validated - Notifies that the element has been validated.
1418
1437
  * @event input - Notifies every time the value prop of the element is changed.
@@ -1568,7 +1587,7 @@ class AuroRadioGroup extends LitElement {
1568
1587
 
1569
1588
  this.optionSelected = event.target;
1570
1589
 
1571
- this.validation.validate(this);
1590
+ this.validation.validate(this, this.optionSelected !== undefined);
1572
1591
  }
1573
1592
 
1574
1593
  /**
@@ -1667,15 +1686,6 @@ class AuroRadioGroup extends LitElement {
1667
1686
  if (this.items.length === 0) {
1668
1687
  this.handleItems();
1669
1688
  }
1670
-
1671
- // handle tab index
1672
- this.items.forEach((item) => {
1673
- item.tabIndex = -1;
1674
- });
1675
-
1676
- if (!this.disabled) {
1677
- this.items[this.index].tabIndex = 0;
1678
- }
1679
1689
  }
1680
1690
 
1681
1691
  /**
@@ -1719,10 +1729,7 @@ class AuroRadioGroup extends LitElement {
1719
1729
  const nextEnabledIndex = this.items.findIndex((item) => !item.hasAttribute('disabled'));
1720
1730
 
1721
1731
  this.index = index >= 0 ? index : nextEnabledIndex;
1722
-
1723
- if (this.index >= 0) {
1724
- this.items[this.index].tabIndex = 0;
1725
- }
1732
+ this.items[this.index].setAttribute('tabindex', 0);
1726
1733
  }
1727
1734
  }
1728
1735
 
@@ -1736,20 +1743,10 @@ class AuroRadioGroup extends LitElement {
1736
1743
  this.index = this.items.indexOf(event.target);
1737
1744
 
1738
1745
  this.items.forEach((item) => {
1739
- if (item === event.target) {
1740
- item.tabIndex = 0;
1741
- if (event.target.value) {
1742
- this.value = event.target.value;
1743
- }
1744
- } else {
1745
- const sdInput = item.shadowRoot.querySelector('input');
1746
-
1747
- sdInput.checked = false;
1748
- item.checked = false;
1749
- item.tabIndex = -1;
1750
- }
1746
+ item.checked = item === event.target;
1751
1747
  });
1752
1748
 
1749
+ this.value = event.target.value;
1753
1750
  this.optionSelected = event.target;
1754
1751
 
1755
1752
  this.validation.validate(this);
@@ -1762,7 +1759,7 @@ class AuroRadioGroup extends LitElement {
1762
1759
  * @returns {void}
1763
1760
  */
1764
1761
  selectItem(index) {
1765
- const sdItem = this.items[index].shadowRoot.querySelector('input');
1762
+ const sdItem = this.items[index];
1766
1763
 
1767
1764
  sdItem.click();
1768
1765
  sdItem.focus();
@@ -1781,17 +1778,18 @@ class AuroRadioGroup extends LitElement {
1781
1778
 
1782
1779
  for (currIndex; currIndex < this.items.length; moveDirection === "Down" ? currIndex += 1 : currIndex -= 1) {
1783
1780
  currIndex = currIndex === -1 ? this.items.length - 1 : currIndex;
1784
- const sdItem = this.items[currIndex].shadowRoot.querySelector('input');
1785
-
1786
- if (this.disabled || this.items.every((item) => item.disabled === true)) {
1787
- sdItem.focus();
1788
- break;
1789
- }
1790
- if (!sdItem.disabled) {
1791
- sdItem.click();
1792
- sdItem.focus();
1793
- this.index = currIndex;
1794
- break;
1781
+ const sdItem = this.items[currIndex];
1782
+ if (sdItem) {
1783
+ if (this.disabled || this.items.every((item) => item.disabled === true)) {
1784
+ sdItem.focus();
1785
+ break;
1786
+ }
1787
+ if (!sdItem.disabled) {
1788
+ sdItem.click();
1789
+ sdItem.focus();
1790
+ this.index = currIndex;
1791
+ break;
1792
+ }
1795
1793
  }
1796
1794
  }
1797
1795
  }
@@ -1834,21 +1832,21 @@ class AuroRadioGroup extends LitElement {
1834
1832
  };
1835
1833
 
1836
1834
  return html$1`
1837
- <fieldset class="${classMap(groupClasses)}" part="radio-group">
1838
- ${this.required
1839
- ? html$1`<legend><slot name="legend"></slot></legend>`
1840
- : html$1`<legend><slot name="legend"></slot> <slot name="optionalLabel">(optional)</slot></legend>`
1841
- }
1835
+ <fieldset class="${classMap(groupClasses)}" part="radio-group" role="radiogroup">
1836
+ <legend>
1837
+ <slot name="legend"></slot>
1838
+ ${this.required ? undefined : html$1`<slot name="optionalLabel"> (optional)</slot>`}
1839
+ </legend>
1842
1840
  <slot @slotchange=${this.handleSlotChange}></slot>
1843
1841
  </fieldset>
1844
1842
 
1845
1843
  ${!this.validity || this.validity === undefined || this.validity === 'valid'
1846
1844
  ? html$1`
1847
- <${this.helpTextTag} large ?onDark="${this.onDark}" part="helpText">
1845
+ <${this.helpTextTag} ?onDark="${this.onDark}" part="helpText">
1848
1846
  <slot name="helpText"></slot>
1849
1847
  </${this.helpTextTag}>`
1850
1848
  : html$1`
1851
- <${this.helpTextTag} large ?onDark="${this.onDark}" role="alert" error aria-live="assertive" part="helpText">
1849
+ <${this.helpTextTag} ?onDark="${this.onDark}" role="alert" error aria-live="assertive" part="helpText">
1852
1850
  ${this.errorMessage}
1853
1851
  </${this.helpTextTag}>`
1854
1852
  }