@aurodesignsystem-dev/auro-formkit 0.0.0-pr1514.12 → 0.0.0-pr1514.2

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 (54) hide show
  1. package/components/bibtemplate/dist/index.js +1 -1
  2. package/components/bibtemplate/dist/registered.js +1 -1
  3. package/components/checkbox/demo/customize.min.js +1 -1
  4. package/components/checkbox/demo/getting-started.min.js +1 -1
  5. package/components/checkbox/demo/index.min.js +1 -1
  6. package/components/checkbox/dist/index.js +1 -1
  7. package/components/checkbox/dist/registered.js +1 -1
  8. package/components/combobox/demo/customize.min.js +97 -121
  9. package/components/combobox/demo/getting-started.min.js +97 -121
  10. package/components/combobox/demo/index.min.js +97 -121
  11. package/components/combobox/dist/index.js +96 -120
  12. package/components/combobox/dist/registered.js +96 -120
  13. package/components/counter/demo/customize.min.js +3 -11
  14. package/components/counter/demo/index.min.js +3 -11
  15. package/components/counter/dist/index.js +3 -11
  16. package/components/counter/dist/registered.js +3 -11
  17. package/components/datepicker/demo/customize.min.js +137 -271
  18. package/components/datepicker/demo/index.min.js +137 -271
  19. package/components/datepicker/dist/auro-calendar-cell.d.ts +0 -6
  20. package/components/datepicker/dist/auro-calendar.d.ts +7 -26
  21. package/components/datepicker/dist/index.js +137 -271
  22. package/components/datepicker/dist/registered.js +137 -271
  23. package/components/dropdown/demo/customize.min.js +1 -2
  24. package/components/dropdown/demo/getting-started.min.js +1 -2
  25. package/components/dropdown/demo/index.min.js +1 -2
  26. package/components/dropdown/dist/index.js +1 -2
  27. package/components/dropdown/dist/registered.js +1 -2
  28. package/components/form/demo/customize.min.js +396 -709
  29. package/components/form/demo/getting-started.min.js +396 -709
  30. package/components/form/demo/index.min.js +396 -709
  31. package/components/form/demo/registerDemoDeps.min.js +396 -709
  32. package/components/input/demo/api.md +5 -5
  33. package/components/input/demo/customize.md +8 -8
  34. package/components/input/demo/customize.min.js +93 -116
  35. package/components/input/demo/getting-started.min.js +93 -116
  36. package/components/input/demo/index.min.js +93 -116
  37. package/components/input/dist/base-input.d.ts +44 -33
  38. package/components/input/dist/index.js +94 -129
  39. package/components/input/dist/registered.js +93 -116
  40. package/components/radio/demo/customize.min.js +1 -1
  41. package/components/radio/demo/getting-started.min.js +1 -1
  42. package/components/radio/demo/index.min.js +1 -1
  43. package/components/radio/dist/index.js +1 -1
  44. package/components/radio/dist/registered.js +1 -1
  45. package/components/select/demo/customize.md +0 -86
  46. package/components/select/demo/customize.min.js +63 -187
  47. package/components/select/demo/getting-started.min.js +110 -189
  48. package/components/select/demo/index.min.js +63 -187
  49. package/components/select/demo/keyboard-behavior.md +4 -18
  50. package/components/select/dist/auro-select.d.ts +8 -20
  51. package/components/select/dist/index.js +63 -187
  52. package/components/select/dist/registered.js +63 -187
  53. package/custom-elements.json +1791 -1997
  54. package/package.json +1 -1
@@ -10327,13 +10327,6 @@ class AuroInputUtilities {
10327
10327
  * @returns {string | undefined}
10328
10328
  */
10329
10329
  toFormattedValue(valueObject, format) {
10330
- // Exposed publicly via `AuroInputUtil.toFormattedValue`, so a missing
10331
- // `format` argument has to fail gracefully rather than throw on
10332
- // `format.toLowerCase()`. Treat any falsy value (undefined, null, '')
10333
- // as "no format → no display value".
10334
- if (!format) {
10335
- return undefined;
10336
- }
10337
10330
  const normalizedFormat = format.toLowerCase();
10338
10331
  const maskOptions = this.getMaskOptions('date', normalizedFormat);
10339
10332
 
@@ -10484,18 +10477,79 @@ class BaseInput extends AuroElement {
10484
10477
  constructor() {
10485
10478
  super();
10486
10479
 
10487
- // Single-source initialization. Alphabetized so duplicate or stale
10488
- // defaults are immediately obvious on a diff. Every field is assigned
10489
- // exactly once here (previously the constructor + the old
10490
- // `_initializePrivateDefaults` overlapped — both wrote ~14 of the same
10491
- // fields and double-allocated `util` and `validation`, discarding the
10492
- // first instance). `validation` is now allocated exactly once; `util`
10493
- // is seeded here with an en-US default and then rebuilt in
10494
- // `connectedCallback` once the consumer-resolved locale is available,
10495
- // so a parent (datepicker/combobox) calling `validate()` synchronously
10496
- // during its own update cycle sees a populated util instance.
10480
+ this.appearance = "default";
10481
+ this.disabled = false;
10482
+ this.layout = 'classic';
10483
+ this.locale = 'en-US';
10484
+ this.max = undefined;
10485
+ this._maxObject = undefined;
10486
+ this.maxLength = undefined;
10487
+ this.min = undefined;
10488
+ this._minObject = undefined;
10489
+ this.minLength = undefined;
10490
+ this.required = false;
10491
+ this.onDark = false;
10492
+ this.setCustomValidityForType = undefined;
10493
+ this.size = 'lg';
10494
+ this.shape = 'classic';
10495
+ this.value = undefined;
10496
+ this._valueObject = undefined;
10497
+
10498
+ this._initializePrivateDefaults();
10499
+ }
10500
+
10501
+ /**
10502
+ * Internal Defaults.
10503
+ * @private
10504
+ * @returns {void}
10505
+ */
10506
+ _initializePrivateDefaults() {
10497
10507
  this.activeLabel = false;
10498
- /** @private */
10508
+ this.appearance = "default";
10509
+ this.icon = false;
10510
+ this.disabled = false;
10511
+ this.dvInputOnly = false;
10512
+ this.hideLabelVisually = false;
10513
+ this.max = undefined;
10514
+ this.maxLength = undefined;
10515
+ this.min = undefined;
10516
+ this.minLength = undefined;
10517
+ this.noValidate = false;
10518
+ this.onDark = false;
10519
+ this.required = false;
10520
+ this.setCustomValidityForType = undefined;
10521
+
10522
+ // Used for storing raw values returned from input mask.
10523
+ this._rawMaskValue = undefined;
10524
+
10525
+ /**
10526
+ * @private
10527
+ */
10528
+ this.layout = 'classic';
10529
+
10530
+ /**
10531
+ * @private
10532
+ */
10533
+ this.shape = 'classic';
10534
+
10535
+ /**
10536
+ * @private
10537
+ */
10538
+ this.size = 'lg';
10539
+
10540
+ this.touched = false;
10541
+ this.util = new AuroInputUtilities({
10542
+ locale: "en-US",
10543
+ format: this.format
10544
+ });
10545
+ this.validation = new AuroFormValidation();
10546
+ this.inputIconName = undefined;
10547
+ this.showPassword = false;
10548
+ this.validationCCLength = undefined;
10549
+ this.hasValue = false;
10550
+ this.label = 'Input label is undefined';
10551
+
10552
+
10499
10553
  this.allowedInputTypes = [
10500
10554
  "text",
10501
10555
  "number",
@@ -10504,8 +10558,7 @@ class BaseInput extends AuroElement {
10504
10558
  "credit-card",
10505
10559
  "tel"
10506
10560
  ];
10507
- this.appearance = "default";
10508
- /** @private */
10561
+ this.icon = false;
10509
10562
  this.dateFormatMap = {
10510
10563
  'mm/dd/yyyy': 'dateMMDDYYYY',
10511
10564
  'dd/mm/yyyy': 'dateDDMMYYYY',
@@ -10522,57 +10575,27 @@ class BaseInput extends AuroElement {
10522
10575
  'dd/mm': 'dateDDMM',
10523
10576
  'mm/dd': 'dateMMDD'
10524
10577
  };
10525
- this.disabled = false;
10526
- /** @private */
10527
10578
  this.domHandler = new DomHandler();
10528
10579
  this.dvInputOnly = false;
10529
10580
  this.hasValue = false;
10530
- this.hideLabelVisually = false;
10531
- this.icon = false;
10532
- /** @private */
10533
10581
  this.inputIconName = undefined;
10534
- /** @private */
10535
10582
  this.label = 'Input label is undefined';
10536
- this.layout = 'classic';
10537
- this.locale = 'en-US';
10538
- this.max = undefined;
10539
- this._maxObject = undefined;
10540
- this.maxLength = undefined;
10541
- this.min = undefined;
10542
- this._minObject = undefined;
10543
- this.minLength = undefined;
10544
10583
  this.noValidate = false;
10545
- this.onDark = false;
10546
- // Raw values returned from the input mask before model normalization.
10547
- this._rawMaskValue = undefined;
10548
- this.required = false;
10549
- this.setCustomValidityForType = undefined;
10550
- // Credit Card is intentionally excluded — its mask manages the cursor
10551
- // itself, and listing it here caused cursor placement issues in Safari.
10552
- /** @private */
10584
+ this._rawMaskValue = undefined; // Used for storing raw values returned from input mask.
10553
10585
  this.setSelectionInputTypes = [
10554
10586
  "text",
10555
10587
  "password",
10556
10588
  "email"
10557
- ];
10558
- this.shape = 'classic';
10559
- /** @private */
10589
+ ]; // Credit Card is not included as this caused cursor placement issues in Safari.
10560
10590
  this.showPassword = false;
10561
- this.size = 'lg';
10562
10591
  this.touched = false;
10563
- /** @private */
10564
10592
  this.uniqueId = new UniqueId().create();
10565
- /** @private */
10566
10593
  this.util = new AuroInputUtilities({
10567
10594
  locale: this.locale,
10568
10595
  format: this.format
10569
10596
  });
10570
- /** @private */
10571
10597
  this.validation = new AuroFormValidation();
10572
- /** @private */
10573
10598
  this.validationCCLength = undefined;
10574
- this.value = undefined;
10575
- this._valueObject = undefined;
10576
10599
  }
10577
10600
 
10578
10601
  // function to define props used within the scope of this component
@@ -11120,15 +11143,6 @@ class BaseInput extends AuroElement {
11120
11143
 
11121
11144
  this.inputId = this.id ? `${this.id}-input` : window.crypto.randomUUID();
11122
11145
 
11123
- // Normalize the format token to lowercase so case-mixed values supplied
11124
- // via attribute (e.g. `format="MM/DD/YYYY"`) hit the `dateFormatMap`
11125
- // lookup inside `setCustomHelpTextMessage`. Without this, an uppercase
11126
- // format silently misses the map and leaves `setCustomValidityForType`
11127
- // unset.
11128
- if (this.format) {
11129
- this.format = this.format.toLowerCase();
11130
- }
11131
-
11132
11146
  // use validity message override if declared when initializing the component
11133
11147
  if (this.hasAttribute('setCustomValidity')) {
11134
11148
  this.ValidityMessageOverride = this.setCustomValidity;
@@ -11562,38 +11576,6 @@ class BaseInput extends AuroElement {
11562
11576
  this.touched = true;
11563
11577
  this.validation.validate(this);
11564
11578
  }
11565
-
11566
- // Prevents cursor jumping in Safari. Setting `this.value` triggers a Lit
11567
- // update that can re-render the input and reset the native cursor; we
11568
- // capture the caret position before that update commits and restore it
11569
- // via `setSelectionRange` once the update has flushed. Gated on
11570
- // `setSelectionInputTypes` so credit-card (and other masked types whose
11571
- // formatter manages the cursor itself) doesn't get a competing write.
11572
- // Capture the caret position INSIDE the gate — reading `selectionStart`
11573
- // on input types that don't support text selection (number, email in
11574
- // some browsers) throws InvalidStateError, which would crash all input
11575
- // handling. Wrap the read in try/catch belt-and-suspenders even though
11576
- // the gated types currently support it, since the list is a public
11577
- // property a consumer could mutate.
11578
- if (this.setSelectionInputTypes.includes(this.type)) {
11579
- let selectionStart;
11580
- try {
11581
- selectionStart = this.inputElement.selectionStart;
11582
- } catch (error) { // eslint-disable-line no-unused-vars
11583
- return;
11584
- }
11585
- if (typeof selectionStart !== 'number') {
11586
- return;
11587
- }
11588
- this.updateComplete.then(() => {
11589
- try {
11590
- this.inputElement.setSelectionRange(selectionStart, selectionStart);
11591
- } catch (error) { // eslint-disable-line no-unused-vars
11592
- // Some input types (number/email in certain UAs) throw on
11593
- // setSelectionRange; swallow and let the native cursor stand.
11594
- }
11595
- });
11596
- }
11597
11579
  }
11598
11580
 
11599
11581
  /**
@@ -12220,7 +12202,7 @@ class AuroHelpText extends LitElement {
12220
12202
  }
12221
12203
  }
12222
12204
 
12223
- var formkitVersion = '202606292048';
12205
+ var formkitVersion = '202606291652';
12224
12206
 
12225
12207
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
12226
12208
  // See LICENSE in the project root for license information.
@@ -12723,7 +12705,6 @@ class AuroInput extends BaseInput {
12723
12705
  <${this.buttonTag}
12724
12706
  @click="${this.handleClickShowPassword}"
12725
12707
  appearance="${this.onDark ? 'inverse' : this.appearance}"
12726
- aria-pressed="${this.showPassword ? 'true' : 'false'}"
12727
12708
  class="notificationBtn passwordBtn"
12728
12709
  shape="circle"
12729
12710
  size="sm"
@@ -12797,29 +12778,25 @@ class AuroInput extends BaseInput {
12797
12778
  * @returns {html} - Returns HTML for the help text and error message.
12798
12779
  */
12799
12780
  renderHtmlHelpText() {
12800
- // Single `<p>` with stable identity across validity transitions —
12801
- // previously two distinct templates (valid vs invalid) caused Lit to
12802
- // replace the node entirely on a flip, and VoiceOver wouldn't
12803
- // re-announce because the live-region element it was watching had been
12804
- // removed and a new one inserted. Keeping one node means the `role`,
12805
- // `aria-live`, and text content all change in-place, which AT does
12806
- // observe and announce.
12807
- const isError = this.validity && this.validity !== 'valid';
12808
12781
  return html$1`
12809
- <${this.helpTextTag}
12810
- appearance="${this.onDark ? 'inverse' : this.appearance}"
12811
- ?error=${isError}>
12812
- <p
12813
- id="${this.uniqueId}"
12814
- part="helpText"
12815
- role="${ifDefined(isError ? 'alert' : undefined)}"
12816
- aria-live="${ifDefined(isError ? 'assertive' : undefined)}">
12817
- ${isError
12818
- ? this.errorMessage
12819
- : html$1`<slot name="helpText">${this.getHelpText()}</slot>`
12782
+ ${!this.validity || this.validity === undefined || this.validity === 'valid'
12783
+ ? html$1`
12784
+ <${this.helpTextTag}
12785
+ appearance="${this.onDark ? 'inverse' : this.appearance}">
12786
+ <p id="${this.uniqueId}" part="helpText">
12787
+ <slot name="helpText">${this.getHelpText()}</slot>
12788
+ </p>
12789
+ </${this.helpTextTag}>
12790
+ `
12791
+ : html$1`
12792
+ <${this.helpTextTag} error
12793
+ appearance="${this.onDark ? 'inverse' : this.appearance}">
12794
+ <p id="${this.uniqueId}" role="alert" aria-live="assertive" part="helpText">
12795
+ ${this.errorMessage}
12796
+ </p>
12797
+ </${this.helpTextTag}>
12798
+ `
12820
12799
  }
12821
- </p>
12822
- </${this.helpTextTag}>
12823
12800
  `;
12824
12801
  }
12825
12802
 
@@ -1212,7 +1212,7 @@ class AuroHelpText extends i$2 {
1212
1212
  }
1213
1213
  }
1214
1214
 
1215
- var formkitVersion = '202606292048';
1215
+ var formkitVersion = '202606291652';
1216
1216
 
1217
1217
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1218
1218
  // See LICENSE in the project root for license information.
@@ -1212,7 +1212,7 @@ class AuroHelpText extends i$2 {
1212
1212
  }
1213
1213
  }
1214
1214
 
1215
- var formkitVersion = '202606292048';
1215
+ var formkitVersion = '202606291652';
1216
1216
 
1217
1217
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1218
1218
  // See LICENSE in the project root for license information.
@@ -1212,7 +1212,7 @@ class AuroHelpText extends i$2 {
1212
1212
  }
1213
1213
  }
1214
1214
 
1215
- var formkitVersion = '202606292048';
1215
+ var formkitVersion = '202606291652';
1216
1216
 
1217
1217
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1218
1218
  // See LICENSE in the project root for license information.
@@ -1151,7 +1151,7 @@ class AuroHelpText extends LitElement {
1151
1151
  }
1152
1152
  }
1153
1153
 
1154
- var formkitVersion = '202606292048';
1154
+ var formkitVersion = '202606291652';
1155
1155
 
1156
1156
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1157
1157
  // See LICENSE in the project root for license information.
@@ -1151,7 +1151,7 @@ class AuroHelpText extends LitElement {
1151
1151
  }
1152
1152
  }
1153
1153
 
1154
- var formkitVersion = '202606292048';
1154
+ var formkitVersion = '202606291652';
1155
1155
 
1156
1156
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
1157
1157
  // See LICENSE in the project root for license information.
@@ -25,7 +25,6 @@
25
25
  <auro-anchorlink fluid href="#typeAhead" class="level2 body-xs">Type-Ahead</auro-anchorlink>
26
26
  <auro-anchorlink fluid href="#disableComponent" class="level2 body-xs">Disable Component</auro-anchorlink>
27
27
  <auro-anchorlink fluid href="#disableOptions" class="level2 body-xs">Disable Option(s)</auro-anchorlink>
28
- <auro-anchorlink fluid href="#submenus" class="level2 body-xs">Submenus</auro-anchorlink>
29
28
  <auro-anchorlink fluid href="#requireSelection" class="level2 body-xs">Require Selection</auro-anchorlink>
30
29
  <auro-anchorlink fluid href="#forceError" class="level2 body-xs">Force Error State</auro-anchorlink>
31
30
  <auro-anchorlink fluid href="#customValidation" class="level2 body-xs">Custom Validation</auro-anchorlink>
@@ -906,91 +905,6 @@
906
905
  &lt;/auro-select&gt;</code></pre>
907
906
  <!-- AURO-GENERATED-CONTENT:END -->
908
907
  </auro-accordion>
909
- <auro-header level="3" id="submenus">Submenus</auro-header>
910
- <p>Options may be organized into nested groups by placing additional <code>&lt;auro-menu&gt;</code> elements inside the top-level <code>&lt;auro-menu&gt;</code>. Use <code>&lt;hr&gt;</code> elements to add visual dividers between groups. Nested groups receive an indent and an <code>aria-label="submenu"</code> so that assistive technologies can announce the grouping.</p>
911
- <div class="exampleWrapper">
912
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/with-submenus.html) -->
913
- <!-- The below content is automatically added from ./../apiExamples/with-submenus.html -->
914
- <auro-select placeholder="Placeholder Text">
915
- <span slot="bib.fullscreen.headline">Bib Headline</span>
916
- <span slot="label">Label</span>
917
- <auro-menu>
918
- <auro-menuoption value="stops">Stops</auro-menuoption>
919
- <auro-menuoption value="price">Price</auro-menuoption>
920
- <auro-menuoption value="duration">Duration</auro-menuoption>
921
- <hr>
922
- <auro-menu>
923
- <auro-menuoption value="apples">Apples</auro-menuoption>
924
- <auro-menuoption value="oranges">Oranges</auro-menuoption>
925
- <auro-menuoption value="pears">Pears</auro-menuoption>
926
- <auro-menuoption value="grapes">Grapes</auro-menuoption>
927
- <auro-menuoption value="kiwi">Kiwi</auro-menuoption>
928
- <hr>
929
- <auro-menu>
930
- <auro-menuoption value="person">Person</auro-menuoption>
931
- <auro-menuoption value="woman">Woman</auro-menuoption>
932
- <auro-menuoption value="man">Man</auro-menuoption>
933
- <auro-menuoption value="camera">Camera</auro-menuoption>
934
- <auro-menuoption value="tv">TV</auro-menuoption>
935
- </auro-menu>
936
- </auro-menu>
937
- <hr>
938
- <auro-menuoption value="departure">Departure</auro-menuoption>
939
- <auro-menuoption value="arrival">Arrival</auro-menuoption>
940
- <hr>
941
- <auro-menu>
942
- <auro-menuoption value="cars">Cars</auro-menuoption>
943
- <auro-menuoption value="trucks">Trucks</auro-menuoption>
944
- <auro-menuoption value="boats">Boats</auro-menuoption>
945
- <auro-menuoption value="planes">Planes</auro-menuoption>
946
- <auro-menuoption value="motorcycles">Motorcycles</auro-menuoption>
947
- </auro-menu>
948
- </auro-menu>
949
- </auro-select>
950
- <!-- AURO-GENERATED-CONTENT:END -->
951
- </div>
952
- <auro-accordion alignRight>
953
- <span slot="trigger">See code</span>
954
- <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/with-submenus.html) -->
955
- <!-- The below code snippet is automatically added from ./../apiExamples/with-submenus.html -->
956
- <pre class="language-html"><code class="language-html">&lt;auro-select placeholder="Placeholder Text"&gt;
957
- &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
958
- &lt;span slot="label"&gt;Label&lt;/span&gt;
959
- &lt;auro-menu&gt;
960
- &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
961
- &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
962
- &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
963
- &lt;hr&gt;
964
- &lt;auro-menu&gt;
965
- &lt;auro-menuoption value="apples"&gt;Apples&lt;/auro-menuoption&gt;
966
- &lt;auro-menuoption value="oranges"&gt;Oranges&lt;/auro-menuoption&gt;
967
- &lt;auro-menuoption value="pears"&gt;Pears&lt;/auro-menuoption&gt;
968
- &lt;auro-menuoption value="grapes"&gt;Grapes&lt;/auro-menuoption&gt;
969
- &lt;auro-menuoption value="kiwi"&gt;Kiwi&lt;/auro-menuoption&gt;
970
- &lt;hr&gt;
971
- &lt;auro-menu&gt;
972
- &lt;auro-menuoption value="person"&gt;Person&lt;/auro-menuoption&gt;
973
- &lt;auro-menuoption value="woman"&gt;Woman&lt;/auro-menuoption&gt;
974
- &lt;auro-menuoption value="man"&gt;Man&lt;/auro-menuoption&gt;
975
- &lt;auro-menuoption value="camera"&gt;Camera&lt;/auro-menuoption&gt;
976
- &lt;auro-menuoption value="tv"&gt;TV&lt;/auro-menuoption&gt;
977
- &lt;/auro-menu&gt;
978
- &lt;/auro-menu&gt;
979
- &lt;hr&gt;
980
- &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
981
- &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
982
- &lt;hr&gt;
983
- &lt;auro-menu&gt;
984
- &lt;auro-menuoption value="cars"&gt;Cars&lt;/auro-menuoption&gt;
985
- &lt;auro-menuoption value="trucks"&gt;Trucks&lt;/auro-menuoption&gt;
986
- &lt;auro-menuoption value="boats"&gt;Boats&lt;/auro-menuoption&gt;
987
- &lt;auro-menuoption value="planes"&gt;Planes&lt;/auro-menuoption&gt;
988
- &lt;auro-menuoption value="motorcycles"&gt;Motorcycles&lt;/auro-menuoption&gt;
989
- &lt;/auro-menu&gt;
990
- &lt;/auro-menu&gt;
991
- &lt;/auro-select&gt;</code></pre>
992
- <!-- AURO-GENERATED-CONTENT:END -->
993
- </auro-accordion>
994
908
  <auro-header level="3" id="requireSelection">Require selection of an option</auro-header>
995
909
  <p>Certain use cases may require the guest to make a selection from the component in order to continue the intended work flow (e.g. form submission).</p>
996
910
  <p>When the component is marked required:</p>