@aurodesignsystem-dev/auro-formkit 0.0.0-pr1451.1 → 0.0.0-pr1451.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 (86) hide show
  1. package/components/checkbox/README.md +23 -37
  2. package/components/checkbox/demo/api.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/demo/readme.md +0 -2
  5. package/components/checkbox/dist/index.js +1 -1
  6. package/components/checkbox/dist/registered.js +1 -1
  7. package/components/combobox/README.md +43 -57
  8. package/components/combobox/demo/accessibility.html +22 -11
  9. package/components/combobox/demo/api.html +27 -16
  10. package/components/combobox/demo/api.min.js +4 -4
  11. package/components/combobox/demo/design.html +27 -16
  12. package/components/combobox/demo/index.html +28 -22
  13. package/components/combobox/demo/index.min.js +4 -4
  14. package/components/combobox/demo/install.html +26 -16
  15. package/components/combobox/demo/install.md +0 -2
  16. package/components/combobox/demo/install.min.js +4 -4
  17. package/components/combobox/demo/keyboard-behavior.html +22 -11
  18. package/components/combobox/demo/readme.html +27 -16
  19. package/components/combobox/demo/readme.md +0 -2
  20. package/components/combobox/demo/styles.css +911 -71
  21. package/components/combobox/demo/voiceover.html +22 -11
  22. package/components/combobox/dist/index.js +4 -4
  23. package/components/combobox/dist/registered.js +4 -4
  24. package/components/counter/README.md +39 -53
  25. package/components/counter/demo/api.min.js +2 -2
  26. package/components/counter/demo/index.min.js +2 -2
  27. package/components/counter/demo/readme.md +0 -2
  28. package/components/counter/dist/index.js +2 -2
  29. package/components/counter/dist/registered.js +2 -2
  30. package/components/datepicker/README.md +19 -33
  31. package/components/datepicker/demo/api.min.js +4 -4
  32. package/components/datepicker/demo/index.min.js +4 -4
  33. package/components/datepicker/demo/readme.md +0 -2
  34. package/components/datepicker/dist/index.js +4 -4
  35. package/components/datepicker/dist/registered.js +4 -4
  36. package/components/dropdown/README.md +39 -53
  37. package/components/dropdown/demo/api.min.js +1 -1
  38. package/components/dropdown/demo/index.min.js +1 -1
  39. package/components/dropdown/demo/readme.md +0 -2
  40. package/components/dropdown/dist/index.js +1 -1
  41. package/components/dropdown/dist/registered.js +1 -1
  42. package/components/form/README.md +14 -30
  43. package/components/form/demo/api.min.js +16 -16
  44. package/components/form/demo/index.min.js +16 -16
  45. package/components/form/demo/readme.md +0 -2
  46. package/components/input/README.md +17 -31
  47. package/components/input/demo/api.min.js +2 -2
  48. package/components/input/demo/index.min.js +2 -2
  49. package/components/input/demo/readme.md +0 -2
  50. package/components/input/dist/index.js +2 -2
  51. package/components/input/dist/registered.js +2 -2
  52. package/components/menu/README.md +23 -37
  53. package/components/menu/demo/readme.md +0 -2
  54. package/components/radio/README.md +21 -35
  55. package/components/radio/demo/api.min.js +1 -1
  56. package/components/radio/demo/index.min.js +1 -1
  57. package/components/radio/demo/readme.md +0 -2
  58. package/components/radio/dist/index.js +1 -1
  59. package/components/radio/dist/registered.js +1 -1
  60. package/components/select/README.md +41 -73
  61. package/components/select/demo/accessibility.html +23 -20
  62. package/components/select/demo/api.html +45 -10
  63. package/components/select/demo/api.min.js +2 -2
  64. package/components/select/demo/design.html +94 -0
  65. package/components/select/demo/design.md +391 -0
  66. package/components/select/demo/getting-started.html +125 -0
  67. package/components/select/demo/getting-started.js +9 -0
  68. package/components/select/demo/getting-started.md +1020 -0
  69. package/components/select/demo/getting-started.min.js +10490 -0
  70. package/components/select/demo/index.html +55 -241
  71. package/components/select/demo/index.md +38 -98
  72. package/components/select/demo/index.min.js +2 -2
  73. package/components/select/demo/install.md +92 -0
  74. package/components/select/demo/keyboard-behavior.html +23 -11
  75. package/components/select/demo/keyboard-behavior.md +247 -36
  76. package/components/select/demo/keyboardBehavior.html +22 -11
  77. package/components/select/demo/layout.html +45 -10
  78. package/components/select/demo/layout.md +71 -260
  79. package/components/select/demo/readme.html +46 -11
  80. package/components/select/demo/readme.md +25 -45
  81. package/components/select/demo/styles.css +1026 -0
  82. package/components/select/demo/voiceover.html +23 -11
  83. package/components/select/dist/index.js +2 -2
  84. package/components/select/dist/registered.js +2 -2
  85. package/custom-elements.json +1667 -1667
  86. package/package.json +1 -1
@@ -0,0 +1,1020 @@
1
+ <auro-header level="1" id="overview">Select - Getting Started</auro-header>
2
+ <div class="contentWrapper">
3
+ <nav>
4
+ <auro-nav anchorNavContent=".scrollWrapper">
5
+ <span slot="mobileToggleCollapsed">View More</span>
6
+ <span slot="mobileToggleExpanded">View Less</span>
7
+ <auro-anchorlink fluid href="#setup">Setup</auro-anchorlink>
8
+ <auro-anchorlink fluid href="#recommendedSetup" class="level2 body-xs" onclick="openAccordion('recommendedAccordion')">Recomended</auro-anchorlink>
9
+ <auro-anchorlink fluid href="#autoSetup" class="level2 body-xs" onclick="openAccordion('autoAccordion')">Auto</auro-anchorlink>
10
+ <auro-anchorlink fluid href="#cdnSetup" class="level2 body-xs" onclick="openAccordion('cdnAccordion')">CDN</auro-anchorlink>
11
+ <auro-anchorlink fluid href="#setup">Frameworks</auro-anchorlink>
12
+ <auro-anchorlink fluid href="#react" class="level2 body-xs" onclick="openAccordion('react')">React</auro-anchorlink>
13
+ <auro-anchorlink fluid href="#svelte" class="level2 body-xs" onclick="openAccordion('svelte')">Svelte</auro-anchorlink>
14
+ <auro-anchorlink fluid href="#customization">Customize Appearance</auro-anchorlink>
15
+ <auro-anchorlink fluid href="#layout" class="level2 body-xs">Shape, Size & Layout</auro-anchorlink>
16
+ <auro-anchorlink fluid href="#appearance" class="level2 body-xs">Light vs. Dark Background</auro-anchorlink>
17
+ <auro-anchorlink fluid href="#displayValue" class="level2 body-xs">Custom Display Value</auro-anchorlink>
18
+ <auro-anchorlink fluid href="#noCheckmark" class="level2 body-xs">No Checkmark</auro-anchorlink>
19
+ <auro-anchorlink fluid href="#fluid" class="level2 body-xs">Fluid</auro-anchorlink>
20
+ <auro-anchorlink fluid href="#flexMenuWidth" class="level2 body-xs">Flex Menu Width</auro-anchorlink>
21
+ <auro-anchorlink fluid href="#matchWidth" class="level2 body-xs">Match Width</auro-anchorlink>
22
+ <auro-anchorlink fluid href="#size" class="level2 body-xs">Size</auro-anchorlink>
23
+ <auro-anchorlink fluid href="#placement" class="level2 body-xs">Placement</auro-anchorlink>
24
+ <auro-anchorlink fluid href="#noFlip" class="level2 body-xs">No Flip</auro-anchorlink>
25
+ <auro-anchorlink fluid href="#offset" class="level2 body-xs">Offset</auro-anchorlink>
26
+ <auro-anchorlink fluid href="#shift" class="level2 body-xs">Shift</auro-anchorlink>
27
+ <auro-anchorlink fluid href="#largeHeader" class="level2 body-xs">Large Fullscreen Header</auro-anchorlink>
28
+ <auro-anchorlink fluid href="#breakpoint" class="level2 body-xs">Fullscreen Breakpoint</auro-anchorlink>
29
+ <auro-anchorlink fluid href="#customization">Customize Behavior</auro-anchorlink>
30
+ <auro-anchorlink fluid href="#autoComplete" class="level2 body-xs">Autocomplete</auro-anchorlink>
31
+ <auro-anchorlink fluid href="#disableComponent" class="level2 body-xs">Disable Component</auro-anchorlink>
32
+ <auro-anchorlink fluid href="#disableOptions" class="level2 body-xs">Disable Option(s)</auro-anchorlink>
33
+ <auro-anchorlink fluid href="#requireSelection" class="level2 body-xs">Require Selection</auro-anchorlink>
34
+ <auro-anchorlink fluid href="#forceError" class="level2 body-xs">Force Error State</auro-anchorlink>
35
+ <auro-anchorlink fluid href="#customValidation" class="level2 body-xs">Custom Validation</auro-anchorlink>
36
+ <auro-anchorlink fluid href="#noValidate" class="level2 body-xs">No Validation</auro-anchorlink>
37
+ <auro-anchorlink fluid href="#placeholder" class="level2 body-xs">Placeholder</auro-anchorlink>
38
+ <auro-anchorlink fluid href="#customization">State Management</auro-anchorlink>
39
+ <auro-anchorlink fluid href="#hasFocus" class="level2 body-xs">hasFocus</auro-anchorlink>
40
+ <auro-anchorlink fluid href="#isPopoverVisible" class="level2 body-xs">isPopoverVisible</auro-anchorlink>
41
+ <auro-anchorlink fluid href="#name" class="level2 body-xs">Name</auro-anchorlink>
42
+ <auro-anchorlink fluid href="#optionSelected" class="level2 body-xs">optionSelected</auro-anchorlink>
43
+ <auro-anchorlink fluid href="#touched" class="level2 body-xs">Touched</auro-anchorlink>
44
+ <auro-anchorlink fluid href="#validity" class="level2 body-xs">Validity</auro-anchorlink>
45
+ <auro-anchorlink fluid href="#value" class="level2 body-xs">Value</auro-anchorlink>
46
+ <auro-anchorlink fluid href="#functions">Functions</auro-anchorlink>
47
+ <auro-anchorlink fluid href="#reset" class="level2 body-xs">reset()</auro-anchorlink>
48
+ <auro-anchorlink fluid href="#updateActiveOption" class="level2 body-xs">updateActiveOption()</auro-anchorlink>
49
+ <auro-anchorlink fluid href="#hideBib" class="level2 body-xs">hideBib()</auro-anchorlink>
50
+ <auro-anchorlink fluid href="#showBib" class="level2 body-xs">showBib()</auro-anchorlink>
51
+ </auro-nav>
52
+ </nav>
53
+ <div class="mainContent">
54
+ <div class="scrollWrapper">
55
+ <section>
56
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/install.md) -->
57
+ <!-- The below content is automatically added from ./../docs/partials/install.md -->
58
+ <auro-header level="2" id="setup">Setup</auro-header>
59
+ <auro-accordion-group Emphasis>
60
+ <auro-accordion expanded class="section" id="recommendedAccordion">
61
+ <span slot="trigger">Recommended Installation and Implementation</span>
62
+ <div class="accordion-content">
63
+ <auro-header level="3">Install</auro-header>
64
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../../../docs/templates/componentInstall.md) -->
65
+ <!-- The below content is automatically added from ./../../../docs/templates/componentInstall.md -->
66
+
67
+ <pre class="language-shell"><code class="language-shell">$ npm i @aurodesignsystem/auro-formkit</code></pre>
68
+ <!-- AURO-GENERATED-CONTENT:END -->
69
+ <auro-header level="3">Implementation</auro-header>
70
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/customRegistration.md) -->
71
+ <!-- The below content is automatically added from ./../docs/partials/customRegistration.md -->
72
+ <p>Every Auro component consists of a JavaScript <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes">class</a> and a <a href="https://developer.mozilla.org/en-US/docs/Web/API/CustomElementRegistry/define">custom element registration</a>. The class defines the component's behavior, and the registration maps it to an HTML tag name so it can be used in markup.</p>
73
+ <p>The default import (shown above) handles both steps automatically, registering the component under its standard tag name.</p>
74
+ <p>If you need multiple versions of the same component on a single page — for example, when two projects depend on different versions — you can register the class under a custom tag name to avoid conflicts.</p>
75
+ <p>To do this, import the component class directly and call its `register(name)` method with a unique name:</p>
76
+
77
+ <pre class="language-js"><code class="language-js">// Import the classes
78
+ import { AuroSelect } from '@aurodesignsystem/auro-formkit/auro-select/class';
79
+ import { AuroMenu } from '@aurodesignsystem/auro-formkit/auro-menu/class';
80
+ import { AuroMenuOption } from '@aurodesignsystem/auro-formkit/auro-menuoption/class';
81
+
82
+ // Register each component with a custom name
83
+ AuroSelect.register('custom-select');
84
+ AuroMenu.register('custom-menu');
85
+ AuroMenuOption.register('custom-menuoption');</code></pre>
86
+
87
+ The `<auro-menu>` and `<auro-menuoption>` components must also be custom registered when using a custom `<auro-select>` registration. All three components work together and need to be registered under the same custom naming convention.
88
+
89
+ This will create new custom elements that behave exactly like their standard counterparts, allowing both to coexist on the same page without interfering with each other.
90
+
91
+ <pre class="language-html"><code class="language-html">&lt;custom-select placeholder="Placeholder Text" id="custom-select"&gt;
92
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
93
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
94
+ &lt;custom-menu&gt;
95
+ &lt;custom-menuoption value="stops"&gt;Stops&lt;/custom-menuoption&gt;
96
+ &lt;custom-menuoption value="price"&gt;Price&lt;/custom-menuoption&gt;
97
+ &lt;custom-menuoption value="duration"&gt;Duration&lt;/custom-menuoption&gt;
98
+ &lt;custom-menuoption value="departure"&gt;Departure&lt;/custom-menuoption&gt;
99
+ &lt;custom-menuoption value="arrival"&gt;Arrival&lt;/custom-menuoption&gt;
100
+ &lt;custom-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/custom-menuoption&gt;
101
+ &lt;/custom-menu&gt;
102
+ &lt;/custom-select&gt;</code></pre>
103
+ <!-- AURO-GENERATED-CONTENT:END -->
104
+ </div>
105
+ </auro-accordion>
106
+ <auro-accordion class="section" id="autoAccordion">
107
+ <span slot="trigger">Auto Installation and Implementation</span>
108
+ <div class="accordion-content">
109
+ <p class="warning"><strong>Warning:</strong> Default registration can cause conflicts if another package registers the same tag name using a different version of the component, leading to unexpected behavior. Use custom registration to avoid this risk.</p>
110
+ <auro-header level="3">Install</auro-header>
111
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../../../docs/templates/componentInstall.md) -->
112
+ <!-- The below content is automatically added from ./../../../docs/templates/componentInstall.md -->
113
+
114
+ <pre class="language-shell"><code class="language-shell">$ npm i @aurodesignsystem/auro-formkit</code></pre>
115
+ <!-- AURO-GENERATED-CONTENT:END -->
116
+ <auro-header level="3">Implementation</auro-header>
117
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/defaultRegistration.md) -->
118
+ <!-- The below content is automatically added from ./../docs/partials/defaultRegistration.md -->
119
+ <p>Once installed, the component can be used in your project by importing the component's registered module:</p>
120
+
121
+ <pre class="language-js"><code class="language-js">import '@aurodesignsystem/auro-formkit/auro-select';</code></pre>
122
+ <p>This import registers the <code>&lt;auro-select&gt;</code> custom element globally. You can then use it in your HTML:</p>
123
+
124
+ <pre class="language-html"><code class="language-html">&lt;auro-select id="default-select"&gt;
125
+ &lt;span slot="label"&gt;Choose an option&lt;/span&gt;
126
+ &lt;auro-menu&gt;
127
+ &lt;auro-menuoption value="option1"&gt;Option 1&lt;/auro-menuoption&gt;
128
+ &lt;auro-menuoption value="option2"&gt;Option 2&lt;/auro-menuoption&gt;
129
+ &lt;/auro-menu&gt;
130
+ &lt;/auro-select&gt;</code></pre>
131
+ <!-- AURO-GENERATED-CONTENT:END -->
132
+ </div>
133
+ </auro-accordion>
134
+ <auro-accordion class="section" id="cdnAccordion">
135
+ <span slot="trigger">CDN Installation and Implementation</span>
136
+ <div class="accordion-content">
137
+ <p class="warning"><strong>Warning:</strong> CDN install & registration can cause conflicts if another package registers the same tag name using a different version of the component, leading to unexpected behavior. Use custom registration to avoid this risk.</p>
138
+ <auro-header level="3">Install & Implementation</auro-header>
139
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/cdnRegistration.md) -->
140
+ <!-- The below content is automatically added from ./../docs/partials/cdnRegistration.md -->
141
+ <p>Add the following script tag to your HTML to load the component directly from a CDN:</p>
142
+
143
+ <pre class="language-html"><code class="language-html">&lt;script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@latest/auro-select/+esm"&gt;&lt;/script&gt;</code></pre>
144
+ <p>This script registers the <code>&lt;auro-select&gt;</code> custom element globally. You can then use it in your HTML:</p>
145
+
146
+ <pre class="language-html"><code class="language-html">&lt;auro-select id="cdn-select"&gt;
147
+ &lt;span slot="label"&gt;Choose an option&lt;/span&gt;
148
+ &lt;auro-menu&gt;
149
+ &lt;auro-menuoption value="option1"&gt;Option 1&lt;/auro-menuoption&gt;
150
+ &lt;auro-menuoption value="option2"&gt;Option 2&lt;/auro-menuoption&gt;
151
+ &lt;/auro-menu&gt;
152
+ &lt;/auro-select&gt;</code></pre>
153
+ <!-- AURO-GENERATED-CONTENT:END -->
154
+ </div>
155
+ </auro-accordion>
156
+ </auro-accordion-group>
157
+ <!-- AURO-GENERATED-CONTENT:END -->
158
+ </section>
159
+ <section>
160
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/frameworks.md) -->
161
+ <!-- The below content is automatically added from ./../docs/partials/frameworks.md -->
162
+ <auro-header level="2" id="frameworks">Frameworks</auro-header>
163
+ <auro-accordion-group Emphasis>
164
+ <auro-accordion class="section" id="react">
165
+ <span slot="trigger">React</span>
166
+ <div class="accordion-content">
167
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/react.md) -->
168
+ <!-- The below content is automatically added from ./../docs/partials/react.md -->
169
+ React 19 includes <a href="https://react.dev/blog/2024/12/05/react-19#support-for-custom-elements">native support for custom elements</a>, so <code>&lt;auro-select&gt;</code> works directly in JSX without any wrapper library.
170
+
171
+ <auro-header level="3" id="reactImport">Import the Component</auro-header>
172
+ Import and register the components at the top level of your application (e.g. in your root `main.tsx` or `App.tsx`):
173
+
174
+ <pre class="language-js"><code class="language-js">import { AuroSelect } from '@aurodesignsystem/auro-formkit/auro-select/class';
175
+ import { AuroMenu, AuroMenuOption } from '@aurodesignsystem/auro-formkit/auro-menu/class';
176
+
177
+ AuroSelect.register('[custom]-select');
178
+ AuroMenu.register('[custom]-menu');
179
+ AuroMenuOption.register('[custom]-menuoption');</code></pre>
180
+
181
+ <auro-header level="3" id="reactTypeScript">TypeScript Declarations</auro-header>
182
+ The component ships with TypeScript type definitions for the `AuroSelect` class. However, React's JSX does not automatically map custom element tag names to their types. To get type checking for `<auro-select>` in JSX, add the following declaration to a `.d.ts` file in your project:
183
+
184
+ <pre class="language-js"><code class="language-js">import type { AuroSelect } from '@aurodesignsystem/auro-formkit/auro-select/class';
185
+ import type { AuroMenu, AuroMenuOption } from '@aurodesignsystem/auro-menu/auro-menu/class';
186
+
187
+ declare global {
188
+ namespace JSX {
189
+ interface IntrinsicElements {
190
+ '[custom]-select': React.HTMLAttributes&lt;AuroSelect&gt; &amp; Partial&lt;AuroSelect&gt;;
191
+ '[custom]-menu': React.HTMLAttributes&lt;AuroMenu&gt; &amp; Partial&lt;AuroMenu&gt;;
192
+ '[custom]-menuoption': React.HTMLAttributes&lt;AuroMenuOption&gt; &amp; Partial&lt;AuroMenuOption&gt;;
193
+ }
194
+ }
195
+ }</code></pre>
196
+
197
+ <auro-header level="3" id="reactEvents">Event Handling</auro-header>
198
+ Auro components emit native `CustomEvent`s. Use a `ref` to attach event listeners in a `useEffect`:
199
+
200
+ <pre class="language-js"><code class="language-js">import { useRef, useEffect } from 'react';
201
+
202
+ const options = [
203
+ { id: 'opt-1', value: 'stops', label: 'Stops' },
204
+ { id: 'opt-2', value: 'price', label: 'Price' },
205
+ { id: 'opt-3', value: 'duration', label: 'Duration' },
206
+ { id: 'opt-4', value: 'departure', label: 'Departure' },
207
+ ];
208
+
209
+ function MySelect() {
210
+ const selectRef = useRef&lt;HTMLElement&gt;(null);
211
+
212
+ useEffect(() =&gt; {
213
+ const el = selectRef.current;
214
+ if (!el) return;
215
+
216
+ const handleInput = () =&gt; {
217
+ console.log('Selected value:', (el as any).value);
218
+ };
219
+
220
+ el.addEventListener('input', handleInput);
221
+ return () =&gt; el.removeEventListener('input', handleInput);
222
+ }, []);
223
+
224
+ return (
225
+ &lt;custom-select ref={selectRef}&gt;
226
+ &lt;span slot="label"&gt;Choose an option&lt;/span&gt;
227
+ &lt;custom-menu&gt;
228
+ {options.map(({ id, value, label }) =&gt; (
229
+ &lt;custom-menuoption key={id} value={value}&gt;{label}&lt;/custom-menuoption&gt;
230
+ ))}
231
+ &lt;/custom-menu&gt;
232
+ &lt;/custom-select&gt;
233
+ );
234
+ }</code></pre>
235
+
236
+ <auro-header level="3" id="reactModuleResolution">Module Resolution</auro-header>
237
+ Ensure your `tsconfig.json` uses `"moduleResolution": "bundler"` so TypeScript can resolve the component's package exports:
238
+
239
+ <pre class="language-js"><code class="language-js">{
240
+ "compilerOptions": {
241
+ "moduleResolution": "bundler"
242
+ }
243
+ }</code></pre>
244
+ <!-- AURO-GENERATED-CONTENT:END -->
245
+ </div>
246
+ </auro-accordion>
247
+ <auro-accordion class="section" id="svelte">
248
+ <span slot="trigger">Svelte</span>
249
+ <div class="accordion-content">
250
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/svelte.md) -->
251
+ <!-- The below content is automatically added from ./../docs/partials/svelte.md -->
252
+ Svelte has <a href="https://svelte.dev/docs/svelte/custom-elements">native support for custom elements</a>, so <code>&lt;auro-select&gt;</code> works directly in Svelte templates without any wrapper or configuration.
253
+
254
+ <auro-header level="3" id="svelteImport">Import the Component</auro-header>
255
+ Import and register the components in the `<script>` block:
256
+
257
+ <pre class="language-html"><code class="language-html">&lt;script lang="ts"&gt;
258
+ import { AuroSelect } from '@aurodesignsystem/auro-formkit/auro-select/class';
259
+ import { AuroMenu, AuroMenuOption } from '@aurodesignsystem/auro-formkit/auro-menu/class';
260
+
261
+ AuroSelect.register('[custom]-select');
262
+ AuroMenu.register('[custom]-menu');
263
+ AuroMenuOption.register('[custom]-menuoption');
264
+ &lt;/script&gt;</code></pre>
265
+
266
+ <auro-header level="3" id="svelteUsage">Basic Usage</auro-header>
267
+ Use `<auro-select>` directly in your Svelte template. Properties can be bound using standard Svelte attribute syntax:
268
+
269
+ <pre class="language-html"><code class="language-html">&lt;script lang="ts"&gt;
270
+ import { AuroSelect } from '@aurodesignsystem/auro-formkit/auro-select/class';
271
+ import { AuroMenu, AuroMenuOption } from '@aurodesignsystem/auro-formkit/auro-menu/class';
272
+
273
+ AuroSelect.register('[custom]-select');
274
+ AuroMenu.register('[custom]-menu');
275
+ AuroMenuOption.register('[custom]-menuoption');
276
+
277
+ const options: [string, string][] = [
278
+ ['stops', 'Stops'],
279
+ ['price', 'Price'],
280
+ ['duration', 'Duration'],
281
+ ];
282
+
283
+ let selectValue = $state&lt;string&gt;('');
284
+ &lt;/script&gt;
285
+ &lt;custom-select value={selectValue}&gt;
286
+ &lt;span slot="label"&gt;Filter by&lt;/span&gt;
287
+ &lt;custom-menu&gt;
288
+ {#each options as [value, label]}
289
+ &lt;custom-menuoption {value}&gt;{label}&lt;/custom-menuoption&gt;
290
+ {/each}
291
+ &lt;/custom-menu&gt;
292
+ &lt;/custom-select&gt;</code></pre>
293
+
294
+ <auro-header level="3" id="svelteTypeScript">TypeScript Declarations</auro-header>
295
+ Svelte does not automatically know about custom element attributes. To get autocomplete and type checking for `<auro-select>` props in templates, add the following to a `.d.ts` file in your project (e.g. `src/auro-elements.d.ts`):
296
+
297
+ <pre class="language-js"><code class="language-js">import type { AuroSelect } from '@aurodesignsystem/auro-formkit/auro-select/class';
298
+ import type { AuroMenu, AuroMenuOption } from '@aurodesignsystem/auro-formkit/auro-menu/class';
299
+
300
+ declare namespace svelteHTML {
301
+ interface IntrinsicElements {
302
+ '[custom]-select': Partial&lt;AuroSelect&gt; &amp; svelteHTML.HTMLAttributes&lt;AuroSelect&gt;;
303
+ '[custom]-menu': Partial&lt;AuroMenu&gt; &amp; svelteHTML.HTMLAttributes&lt;AuroMenu&gt;;
304
+ '[custom]-menuoption': Partial&lt;AuroMenuOption&gt; &amp; svelteHTML.HTMLAttributes&lt;AuroMenuOption&gt;;
305
+ }
306
+ }</code></pre>
307
+
308
+ This enables prop hinting for attributes like `value`, `placeholder`, `disabled`, and others directly in Svelte templates.
309
+
310
+ <auro-header level="3" id="svelteEvents">Event Handling</auro-header>
311
+ Auro components emit native `CustomEvent`s. Use `bind:this` to get a reference to the element and attach event listeners with `$effect`:
312
+
313
+ <pre class="language-html"><code class="language-html">&lt;script lang="ts"&gt;
314
+ let selectRef = $state&lt;HTMLElement | null&gt;(null);
315
+
316
+ $effect(() =&gt; {
317
+ if (!selectRef) return;
318
+
319
+ const handleInput = () =&gt; {
320
+ console.log('Selected value:', (selectRef as any).value);
321
+ };
322
+
323
+ selectRef.addEventListener('input', handleInput);
324
+ return () =&gt; selectRef?.removeEventListener('input', handleInput);
325
+ });
326
+ &lt;/script&gt;
327
+ &lt;custom-select bind:this={selectRef}&gt;
328
+ &lt;span slot="label"&gt;Choose an option&lt;/span&gt;
329
+ &lt;custom-menu&gt;
330
+ &lt;custom-menuoption value="option1"&gt;Option 1&lt;/custom-menuoption&gt;
331
+ &lt;custom-menuoption value="option2"&gt;Option 2&lt;/custom-menuoption&gt;
332
+ &lt;/custom-menu&gt;
333
+ &lt;/custom-select&gt;</code></pre>
334
+
335
+ <auro-header level="3" id="svelteModuleResolution">Module Resolution</auro-header>
336
+ Ensure your `tsconfig.json` uses `"moduleResolution": "bundler"` so TypeScript can resolve the component's package exports:
337
+
338
+ <pre class="language-js"><code class="language-js">{
339
+ "compilerOptions": {
340
+ "moduleResolution": "bundler"
341
+ }
342
+ }</code></pre>
343
+ <!-- AURO-GENERATED-CONTENT:END -->
344
+ </div>
345
+ </auro-accordion>
346
+ </auro-accordion-group>
347
+ <!-- AURO-GENERATED-CONTENT:END -->
348
+ </section>
349
+ <section>
350
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/minimal-config.md) -->
351
+ <!-- The below content is automatically added from ./../docs/partials/minimal-config.md -->
352
+ <auro-header level="3" id="minimalConfig">Minimal Configuration</auro-header>
353
+ Every <code>&lt;auro-select&gt;</code> implementation requires three things:
354
+
355
+ 1. **A unique `id` attribute** — Required when the select is used within a form so it can be properly identified during submission and validation.
356
+ 2. **A label in the `label` slot** — Provides an accessible label for the select element.
357
+ 3. **One or more `<auro-menuoption>` elements** — Placed inside an `<auro-menu>` in the default slot to define the available choices.
358
+
359
+ <pre class="language-html"><code class="language-html">&lt;auro-select id="flightFilter"&gt;
360
+ &lt;span slot="label"&gt;Filter by&lt;/span&gt;
361
+ &lt;auro-menu&gt;
362
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
363
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
364
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
365
+ &lt;/auro-menu&gt;
366
+ &lt;/auro-select&gt;</code></pre>
367
+ <!-- AURO-GENERATED-CONTENT:END -->
368
+ </section>
369
+ <section>
370
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/customization.md) -->
371
+ <!-- The below content is automatically added from ./../docs/partials/customization.md -->
372
+ <auro-header level="2" id="appearance">Customize Appearance</auro-header>
373
+ <auro-header level="3" id="appearance">Light vs. Dark Background</auro-header>
374
+ <p>The <code>appearance</code> attribute defines whether the component renders on lighter or darker backgrounds. Supported values are <code>default</code> and <code>inverse</code>. The default value is <code>default</code>.</p>
375
+ <div class="exampleWrapper">
376
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/basic.html) -->
377
+ <!-- The below content is automatically added from ./../apiExamples/basic.html -->
378
+ <auro-select>
379
+ <span slot="ariaLabel.bib.close">Close Popup</span>
380
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
381
+ <span slot="label">Select Example</span>
382
+ <auro-menu>
383
+ <auro-menuoption value="stops">Stops</auro-menuoption>
384
+ <auro-menuoption value="price">Price</auro-menuoption>
385
+ <auro-menuoption value="duration">Duration</auro-menuoption>
386
+ <auro-menuoption value="departure">Departure</auro-menuoption>
387
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
388
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
389
+ </auro-menu>
390
+ </auro-select>
391
+ <!-- AURO-GENERATED-CONTENT:END -->
392
+ </div>
393
+ <auro-accordion alignRight>
394
+ <span slot="trigger">See code</span>
395
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/basic.html) -->
396
+ <!-- The below code snippet is automatically added from ./../apiExamples/basic.html -->
397
+ <pre class="language-html"><code class="language-html">&lt;auro-select&gt;
398
+ &lt;span slot="ariaLabel.bib.close"&gt;Close Popup&lt;/span&gt;
399
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
400
+ &lt;span slot="label"&gt;Select Example&lt;/span&gt;
401
+ &lt;auro-menu&gt;
402
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
403
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
404
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
405
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
406
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
407
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
408
+ &lt;/auro-menu&gt;
409
+ &lt;/auro-select&gt;</code></pre>
410
+ <!-- AURO-GENERATED-CONTENT:END -->
411
+ </auro-accordion>
412
+ <div class="exampleWrapper--ondark">
413
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/appearance.html) -->
414
+ <!-- The below content is automatically added from ./../apiExamples/appearance.html -->
415
+ <auro-select appearance="inverse" placeholder="Placeholder Text">
416
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
417
+ <span slot="label">Inverse Appearance</span>
418
+ <auro-menu>
419
+ <auro-menuoption value="stops">Stops</auro-menuoption>
420
+ <auro-menuoption value="price">Price</auro-menuoption>
421
+ <auro-menuoption value="duration">Duration</auro-menuoption>
422
+ <auro-menuoption value="departure">Departure</auro-menuoption>
423
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
424
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
425
+ </auro-menu>
426
+ </auro-select>
427
+ <!-- AURO-GENERATED-CONTENT:END -->
428
+ </div>
429
+ <auro-accordion alignRight>
430
+ <span slot="trigger">See code</span>
431
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/appearance.html) -->
432
+ <!-- The below code snippet is automatically added from ./../apiExamples/appearance.html -->
433
+ <pre class="language-html"><code class="language-html">&lt;auro-select appearance="inverse" placeholder="Placeholder Text"&gt;
434
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
435
+ &lt;span slot="label"&gt;Inverse Appearance&lt;/span&gt;
436
+ &lt;auro-menu&gt;
437
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
438
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
439
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
440
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
441
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
442
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
443
+ &lt;/auro-menu&gt;
444
+ &lt;/auro-select&gt;</code></pre>
445
+ <!-- AURO-GENERATED-CONTENT:END -->
446
+ </auro-accordion>
447
+ <auro-header level="3" id="noCheckmark">Hide checkmark indicators</auro-header>
448
+ <p>By default, the select component displays a checkmark next to the currently selected option. To hide the checkmark indicator, set the <code>nocheckmark</code> attribute on the <code>auro-menu</code> element.</p>
449
+ <div class="exampleWrapper">
450
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/no-checkmark.html) -->
451
+ <!-- The below content is automatically added from ./../apiExamples/no-checkmark.html -->
452
+ <auro-select nocheckmark placeholder="Placeholder Text">
453
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
454
+ <span slot="label">Label</span>
455
+ <auro-menu>
456
+ <auro-menuoption value="stops">Stops</auro-menuoption>
457
+ <auro-menuoption value="price">Price</auro-menuoption>
458
+ <auro-menuoption value="duration">Duration</auro-menuoption>
459
+ <auro-menuoption value="departure">Departure</auro-menuoption>
460
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
461
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
462
+ </auro-menu>
463
+ </auro-select>
464
+ <!-- AURO-GENERATED-CONTENT:END -->
465
+ </div>
466
+ <auro-accordion alignRight>
467
+ <span slot="trigger">See code</span>
468
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/no-checkmark.html) -->
469
+ <!-- The below code snippet is automatically added from ./../apiExamples/no-checkmark.html -->
470
+ <pre class="language-html"><code class="language-html">&lt;auro-select nocheckmark placeholder="Placeholder Text"&gt;
471
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
472
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
473
+ &lt;auro-menu&gt;
474
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
475
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
476
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
477
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
478
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
479
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
480
+ &lt;/auro-menu&gt;
481
+ &lt;/auro-select&gt;</code></pre>
482
+ <!-- AURO-GENERATED-CONTENT:END -->
483
+ </auro-accordion>
484
+ <auro-header level="2" id="customBehavior">Customize Behavior</auro-header>
485
+ <auro-header level="3" id="disableComponent">Disable Component</auro-header>
486
+ <p>The entire component may be disabled. When disabled, the component will render to reflect the state, may not receive focus nor react to any key or pointer events.</p>
487
+ <p>When the component is disabled and part of a form, the components value is still included in the form submission.</p>
488
+ <p class="note">
489
+ <strong>Note:</strong> If the component is marked as both <strong>invalid</strong> and <code>disabled</code>, the <strong>invalid</strong> state UI/UX and functional behavior are ignored. The <code>disabled</code> UI/UX and functional behavior works normally.
490
+ </p>
491
+ <div class="exampleWrapper">
492
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/disabled.html) -->
493
+ <!-- The below content is automatically added from ./../apiExamples/disabled.html -->
494
+ <auro-select disabled placeholder="Placeholder Text">
495
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
496
+ <span slot="label">Label</span>
497
+ <auro-menu>
498
+ <auro-menuoption value="stops">Stops</auro-menuoption>
499
+ <auro-menuoption value="price">Price</auro-menuoption>
500
+ <auro-menuoption value="duration">Duration</auro-menuoption>
501
+ <auro-menuoption value="departure">Departure</auro-menuoption>
502
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
503
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
504
+ </auro-menu>
505
+ </auro-select>
506
+ <!-- AURO-GENERATED-CONTENT:END -->
507
+ </div>
508
+ <auro-accordion alignRight>
509
+ <span slot="trigger">See code</span>
510
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/disabled.html) -->
511
+ <!-- The below code snippet is automatically added from ./../apiExamples/disabled.html -->
512
+ <pre class="language-html"><code class="language-html">&lt;auro-select disabled placeholder="Placeholder Text"&gt;
513
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
514
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
515
+ &lt;auro-menu&gt;
516
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
517
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
518
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
519
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
520
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
521
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
522
+ &lt;/auro-menu&gt;
523
+ &lt;/auro-select&gt;</code></pre>
524
+ <!-- AURO-GENERATED-CONTENT:END -->
525
+ </auro-accordion>
526
+ <auro-header level="3" id="disableOptions">Disable Option(s)</auro-header>
527
+ <p>The component may be rendered with one or more <code>disabled</code> options. When navigating the list of options with the keyboard or assistive technology to mark the next or previous option as active, disabled options will be skipped, jumping to the next enabled option.</p>
528
+ <p>While using the pointer to mark options as active, hovering over disabled options will be ignored and the previous active option will remain active.</p>
529
+ <p class="note">
530
+ <strong>Note:</strong> If the currently <code>selected</code> option is marked as <code>disabled</code>, the component value is reset to <code>undefined</code> and the component validation workflow is performed (e.g., if the component instance is <code>required</code> it will set <code>validity="valueMissing".</code>).
531
+ </p>
532
+ <p class="note">
533
+ <strong>Note:</strong> marking all options as disabled is not supported. Disable the component instead.
534
+ </p>
535
+ <div class="exampleWrapper">
536
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/disabled-options.html) -->
537
+ <!-- The below content is automatically added from ./../apiExamples/disabled-options.html -->
538
+ <auro-select placeholder="Placeholder Text">
539
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
540
+ <span slot="label">Label</span>
541
+ <auro-menu>
542
+ <auro-menuoption value="stops">Stops</auro-menuoption>
543
+ <auro-menuoption value="price" disabled>Price</auro-menuoption>
544
+ <auro-menuoption value="duration">Duration</auro-menuoption>
545
+ <auro-menuoption value="departure" disabled>Departure</auro-menuoption>
546
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
547
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
548
+ </auro-menu>
549
+ </auro-select>
550
+ <!-- AURO-GENERATED-CONTENT:END -->
551
+ </div>
552
+ <auro-accordion alignRight>
553
+ <span slot="trigger">See code</span>
554
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/disabled-options.html) -->
555
+ <!-- The below code snippet is automatically added from ./../apiExamples/disabled-options.html -->
556
+ <pre class="language-html"><code class="language-html">&lt;auro-select placeholder="Placeholder Text"&gt;
557
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
558
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
559
+ &lt;auro-menu&gt;
560
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
561
+ &lt;auro-menuoption value="price" disabled&gt;Price&lt;/auro-menuoption&gt;
562
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
563
+ &lt;auro-menuoption value="departure" disabled&gt;Departure&lt;/auro-menuoption&gt;
564
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
565
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
566
+ &lt;/auro-menu&gt;
567
+ &lt;/auro-select&gt;</code></pre>
568
+ <!-- AURO-GENERATED-CONTENT:END -->
569
+ </auro-accordion>
570
+ <auro-header level="3" id="requireSelection">Require selection of an option</auro-header>
571
+ <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>
572
+ <p>When the component is marked required:</p>
573
+ <ol>
574
+ <li>Move focus to the auro-select element</li>
575
+ <li>Activate the trigger (e.g. mouse click, tap or keyboard event)</li>
576
+ <li>Navigate the list of options</li>
577
+ <li>
578
+ Collapse the bib without making a selection
579
+ <p class="note">
580
+ This will re-render the component in a state reflecting the validation error. To resolve the error, the guest may continue to the following steps.
581
+ </p>
582
+ </li>
583
+ <li>Activate the trigger</li>
584
+ <li>Navigate the list of options marking any option as active</li>
585
+ <li>
586
+ Select the active option
587
+ <p class="note">
588
+ This will re-render the component and the validation error state will be removed.
589
+ </p>
590
+ </li>
591
+ </ol>
592
+ <div class="exampleWrapper">
593
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/required.html) -->
594
+ <!-- The below content is automatically added from ./../apiExamples/required.html -->
595
+ <auro-select required setCustomValidityValueMissing="Custom required validation error message." placeholder="Placeholder Text">
596
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
597
+ <span slot="label">Label</span>
598
+ <auro-menu>
599
+ <auro-menuoption value="stops">Stops</auro-menuoption>
600
+ <auro-menuoption value="price">Price</auro-menuoption>
601
+ <auro-menuoption value="duration">Duration</auro-menuoption>
602
+ <auro-menuoption value="departure">Departure</auro-menuoption>
603
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
604
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
605
+ </auro-menu>
606
+ </auro-select>
607
+ <!-- AURO-GENERATED-CONTENT:END -->
608
+ </div>
609
+ <auro-accordion alignRight>
610
+ <span slot="trigger">See code</span>
611
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/required.html) -->
612
+ <!-- The below code snippet is automatically added from ./../apiExamples/required.html -->
613
+ <pre class="language-html"><code class="language-html">&lt;auro-select required setCustomValidityValueMissing="Custom required validation error message." placeholder="Placeholder Text"&gt;
614
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
615
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
616
+ &lt;auro-menu&gt;
617
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
618
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
619
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
620
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
621
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
622
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
623
+ &lt;/auro-menu&gt;
624
+ &lt;/auro-select&gt;</code></pre>
625
+ <!-- AURO-GENERATED-CONTENT:END -->
626
+ </auro-accordion>
627
+ <auro-header level="3" id="forceError">Force an error state</auro-header>
628
+ <p>The <code>error</code> attribute can be set on the select to force the component into a <code>customError</code> validity state. When defined, the component will render in its error state regardless of the current selection.</p>
629
+ <p>The value of the <code>error</code> attribute is used as the validation error message displayed below the trigger. If the <code>setCustomValidityCustomError</code> property is also defined, its value will be used as the error message instead.</p>
630
+ <p>Removing the <code>error</code> attribute clears the forced error state and re-evaluates validation normally.</p>
631
+ <div class="exampleWrapper">
632
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/error.html) -->
633
+ <!-- The below content is automatically added from ./../apiExamples/error.html -->
634
+ <auro-select error="Custom error message" placeholder="Placeholder Text">
635
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
636
+ <span slot="label">Label</span>
637
+ <auro-menu>
638
+ <auro-menuoption value="stops">Stops</auro-menuoption>
639
+ <auro-menuoption value="price">Price</auro-menuoption>
640
+ <auro-menuoption value="duration">Duration</auro-menuoption>
641
+ <auro-menuoption value="departure">Departure</auro-menuoption>
642
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
643
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
644
+ </auro-menu>
645
+ </auro-select>
646
+ <!-- AURO-GENERATED-CONTENT:END -->
647
+ </div>
648
+ <auro-accordion alignRight>
649
+ <span slot="trigger">See code</span>
650
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/error.html) -->
651
+ <!-- The below code snippet is automatically added from ./../apiExamples/error.html -->
652
+ <pre class="language-html"><code class="language-html">&lt;auro-select error="Custom error message" placeholder="Placeholder Text"&gt;
653
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
654
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
655
+ &lt;auro-menu&gt;
656
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
657
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
658
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
659
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
660
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
661
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
662
+ &lt;/auro-menu&gt;
663
+ &lt;/auro-select&gt;</code></pre>
664
+ <!-- AURO-GENERATED-CONTENT:END -->
665
+ </auro-accordion>
666
+ <auro-header level="3" id="customValidation">Custom validation messages</auro-header>
667
+ <p>The select provides several properties to customize the error messages displayed for different validation states. When a validation error occurs, the component checks for a state-specific message first, then falls back to the general <code>setCustomValidity</code> message.</p>
668
+ <ul>
669
+ <li><strong><code>setCustomValidity</code></strong> — Sets a fallback error message displayed for any validation error. This message is used when no state-specific message is defined.</li>
670
+ <li><strong><code>setCustomValidityCustomError</code></strong> — Displayed when the <code>error</code> attribute is set on the component, putting it into a <code>customError</code> validity state. If not defined, the value of the <code>error</code> attribute is used as the message.</li>
671
+ <li><strong><code>setCustomValidityValueMissing</code></strong> — Displayed when the component is <code>required</code> and the user leaves it empty (<code>valueMissing</code> validity state).</li>
672
+ </ul>
673
+ <p>The priority order for error messages is: state-specific property &gt; <code>setCustomValidity</code> &gt; default browser message. Default messages are provided by the browser and are pre-localized to the language the browser is running in.</p>
674
+ <auro-header level="3" id="placeholder">Placeholder</auro-header>
675
+ <p>Use the <code>placeholder</code> attribute to define custom placeholder text that is displayed in the trigger before a value has been selected.</p>
676
+ <div class="exampleWrapper">
677
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/placeholder.html) -->
678
+ <!-- The below content is automatically added from ./../apiExamples/placeholder.html -->
679
+ <auro-select placeholder="Please select your preferred option">
680
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
681
+ <span slot="label">Label</span>
682
+ <auro-menu>
683
+ <auro-menuoption value="stops">Stops</auro-menuoption>
684
+ <auro-menuoption value="price">Price</auro-menuoption>
685
+ <auro-menuoption value="duration">Duration</auro-menuoption>
686
+ <auro-menuoption value="departure">Departure</auro-menuoption>
687
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
688
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
689
+ </auro-menu>
690
+ </auro-select>
691
+ <!-- AURO-GENERATED-CONTENT:END -->
692
+ </div>
693
+ <auro-accordion alignRight>
694
+ <span slot="trigger">See code</span>
695
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/placeholder.html) -->
696
+ <!-- The below code snippet is automatically added from ./../apiExamples/placeholder.html -->
697
+ <pre class="language-html"><code class="language-html">&lt;auro-select placeholder="Please select your preferred option"&gt;
698
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
699
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
700
+ &lt;auro-menu&gt;
701
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
702
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
703
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
704
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
705
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
706
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
707
+ &lt;/auro-menu&gt;
708
+ &lt;/auro-select&gt;</code></pre>
709
+ <!-- AURO-GENERATED-CONTENT:END -->
710
+ </auro-accordion>
711
+ <auro-header level="3" id="fluid">Fluid</auro-header>
712
+ <p>When the <code>fluid</code> attribute is present, the component will expand to 100% width of its container element. This is useful for form layouts where the select should fill the available space.</p>
713
+ <div class="exampleWrapper">
714
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/fluid.html) -->
715
+ <!-- The below content is automatically added from ./../apiExamples/fluid.html -->
716
+ <auro-select fluid placeholder="Placeholder Text">
717
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
718
+ <span slot="label">Label</span>
719
+ <auro-menu>
720
+ <auro-menuoption value="stops">Stops</auro-menuoption>
721
+ <auro-menuoption value="price">Price</auro-menuoption>
722
+ <auro-menuoption value="duration">Duration</auro-menuoption>
723
+ <auro-menuoption value="departure">Departure</auro-menuoption>
724
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
725
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
726
+ </auro-menu>
727
+ </auro-select>
728
+ <!-- AURO-GENERATED-CONTENT:END -->
729
+ </div>
730
+ <auro-accordion alignRight>
731
+ <span slot="trigger">See code</span>
732
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/fluid.html) -->
733
+ <!-- The below code snippet is automatically added from ./../apiExamples/fluid.html -->
734
+ <pre class="language-html"><code class="language-html">&lt;auro-select fluid placeholder="Placeholder Text"&gt;
735
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
736
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
737
+ &lt;auro-menu&gt;
738
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
739
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
740
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
741
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
742
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
743
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
744
+ &lt;/auro-menu&gt;
745
+ &lt;/auro-select&gt;</code></pre>
746
+ <!-- AURO-GENERATED-CONTENT:END -->
747
+ </auro-accordion>
748
+ <auro-header level="3" id="flexMenuWidth">Flex menu width</auro-header>
749
+ <p>By default, the bib width matches the trigger width. Setting the <code>flexMenuWidth</code> attribute allows the bib to size itself based on its content, which is useful when menu option text is wider than the trigger.</p>
750
+ <div class="exampleWrapper">
751
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/flex-menu-width.html) -->
752
+ <!-- The below content is automatically added from ./../apiExamples/flex-menu-width.html -->
753
+ <auro-select flexMenuWidth id="flexMenuWidthExample" placeholder="Placeholder Text">
754
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
755
+ <span slot="label">Label</span>
756
+ <auro-menu>
757
+ <auro-menuoption value="united states">United States has a country code of (+1)</auro-menuoption>
758
+ <auro-menuoption value="costa rica">Costa Rica has a country code of (+506)</auro-menuoption>
759
+ <auro-menuoption value="mexico">Mexico has a country code of (+52)</auro-menuoption>
760
+ <auro-menuoption value="afghanistan">Afghanistan has a country code of (+93)</auro-menuoption>
761
+ <auro-menuoption value="albania">Albania has a country code of (+355)</auro-menuoption>
762
+ </auro-menu>
763
+ </auro-select>
764
+ <style>
765
+ #flexMenuWidthExample::part(dropdownTrigger) {
766
+ width: 25%;
767
+ }
768
+ </style>
769
+ <!-- AURO-GENERATED-CONTENT:END -->
770
+ </div>
771
+ <auro-accordion alignRight>
772
+ <span slot="trigger">See code</span>
773
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/flex-menu-width.html) -->
774
+ <!-- The below code snippet is automatically added from ./../apiExamples/flex-menu-width.html -->
775
+ <pre class="language-html"><code class="language-html">&lt;auro-select flexMenuWidth id="flexMenuWidthExample" placeholder="Placeholder Text"&gt;
776
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
777
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
778
+ &lt;auro-menu&gt;
779
+ &lt;auro-menuoption value="united states"&gt;United States has a country code of (+1)&lt;/auro-menuoption&gt;
780
+ &lt;auro-menuoption value="costa rica"&gt;Costa Rica has a country code of (+506)&lt;/auro-menuoption&gt;
781
+ &lt;auro-menuoption value="mexico"&gt;Mexico has a country code of (+52)&lt;/auro-menuoption&gt;
782
+ &lt;auro-menuoption value="afghanistan"&gt;Afghanistan has a country code of (+93)&lt;/auro-menuoption&gt;
783
+ &lt;auro-menuoption value="albania"&gt;Albania has a country code of (+355)&lt;/auro-menuoption&gt;
784
+ &lt;/auro-menu&gt;
785
+ &lt;/auro-select&gt;
786
+
787
+ &lt;style&gt;
788
+ #flexMenuWidthExample::part(dropdownTrigger) {
789
+ width: 25%;
790
+ }
791
+ &lt;/style&gt;</code></pre>
792
+ <!-- AURO-GENERATED-CONTENT:END -->
793
+ </auro-accordion>
794
+ <auro-header level="3" id="matchWidth">Match Width</auro-header>
795
+ <p>When the <code>matchWidth</code> attribute is present, the popover bib and trigger will be set to the same width. This ensures the dropdown menu appears at exactly the same width as the trigger element.</p>
796
+ <div class="exampleWrapper">
797
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/match-width.html) -->
798
+ <!-- The below content is automatically added from ./../apiExamples/match-width.html -->
799
+ <auro-select matchWidth placeholder="Placeholder Text">
800
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
801
+ <span slot="label">Label</span>
802
+ <auro-menu>
803
+ <auro-menuoption value="stops">Stops</auro-menuoption>
804
+ <auro-menuoption value="price">Price</auro-menuoption>
805
+ <auro-menuoption value="duration">Duration</auro-menuoption>
806
+ <auro-menuoption value="departure">Departure</auro-menuoption>
807
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
808
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
809
+ </auro-menu>
810
+ </auro-select>
811
+ <!-- AURO-GENERATED-CONTENT:END -->
812
+ </div>
813
+ <auro-accordion alignRight>
814
+ <span slot="trigger">See code</span>
815
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/match-width.html) -->
816
+ <!-- The below code snippet is automatically added from ./../apiExamples/match-width.html -->
817
+ <pre class="language-html"><code class="language-html">&lt;auro-select matchWidth placeholder="Placeholder Text"&gt;
818
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
819
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
820
+ &lt;auro-menu&gt;
821
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
822
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
823
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
824
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
825
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
826
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
827
+ &lt;/auro-menu&gt;
828
+ &lt;/auro-select&gt;</code></pre>
829
+ <!-- AURO-GENERATED-CONTENT:END -->
830
+ </auro-accordion>
831
+ <auro-header level="3" id="size">Size</auro-header>
832
+ <p>The <code>size</code> attribute determines the size of the dropdown bib. Only the <code>emphasized</code> layout supports <code>size="xl"</code>, while all other layouts support <code>size="lg"</code>.</p>
833
+ <div class="exampleWrapper">
834
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/size.html) -->
835
+ <!-- The below content is automatically added from ./../apiExamples/size.html -->
836
+ <auro-select layout="emphasized" shape="pill" size="xl" placeholder="Placeholder Text">
837
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
838
+ <span slot="label">Label</span>
839
+ <auro-menu>
840
+ <auro-menuoption value="stops">Stops</auro-menuoption>
841
+ <auro-menuoption value="price">Price</auro-menuoption>
842
+ <auro-menuoption value="duration">Duration</auro-menuoption>
843
+ <auro-menuoption value="departure">Departure</auro-menuoption>
844
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
845
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
846
+ </auro-menu>
847
+ </auro-select>
848
+ <!-- AURO-GENERATED-CONTENT:END -->
849
+ </div>
850
+ <auro-accordion alignRight>
851
+ <span slot="trigger">See code</span>
852
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/size.html) -->
853
+ <!-- The below code snippet is automatically added from ./../apiExamples/size.html -->
854
+ <pre class="language-html"><code class="language-html">&lt;auro-select layout="emphasized" shape="pill" size="xl" placeholder="Placeholder Text"&gt;
855
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
856
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
857
+ &lt;auro-menu&gt;
858
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
859
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
860
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
861
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
862
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
863
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
864
+ &lt;/auro-menu&gt;
865
+ &lt;/auro-select&gt;</code></pre>
866
+ <!-- AURO-GENERATED-CONTENT:END -->
867
+ </auro-accordion>
868
+ <auro-header level="3" id="placement">Placement</auro-header>
869
+ <p>The <code>placement</code> attribute defines the position where the dropdown bib should appear relative to the trigger. Supported values are <code>top</code>, <code>right</code>, <code>bottom</code>, <code>left</code>, <code>bottom-start</code>, <code>top-start</code>, <code>top-end</code>, <code>right-start</code>, <code>right-end</code>, <code>bottom-end</code>, <code>left-start</code>, and <code>left-end</code>. The default value is <code>bottom-start</code>.</p>
870
+ <div class="exampleWrapper">
871
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/placement.html) -->
872
+ <!-- The below content is automatically added from ./../apiExamples/placement.html -->
873
+ <auro-select placement="top-start" placeholder="Placeholder Text">
874
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
875
+ <span slot="label">Label</span>
876
+ <auro-menu>
877
+ <auro-menuoption value="stops">Stops</auro-menuoption>
878
+ <auro-menuoption value="price">Price</auro-menuoption>
879
+ <auro-menuoption value="duration">Duration</auro-menuoption>
880
+ <auro-menuoption value="departure">Departure</auro-menuoption>
881
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
882
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
883
+ </auro-menu>
884
+ </auro-select>
885
+ <!-- AURO-GENERATED-CONTENT:END -->
886
+ </div>
887
+ <auro-accordion alignRight>
888
+ <span slot="trigger">See code</span>
889
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/placement.html) -->
890
+ <!-- The below code snippet is automatically added from ./../apiExamples/placement.html -->
891
+ <pre class="language-html"><code class="language-html">&lt;auro-select placement="top-start" placeholder="Placeholder Text"&gt;
892
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
893
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
894
+ &lt;auro-menu&gt;
895
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
896
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
897
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
898
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
899
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
900
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
901
+ &lt;/auro-menu&gt;
902
+ &lt;/auro-select&gt;</code></pre>
903
+ <!-- AURO-GENERATED-CONTENT:END -->
904
+ </auro-accordion>
905
+ <auro-header level="3" id="noFlip">No Flip</auro-header>
906
+ <p>When the <code>noFlip</code> attribute is present, the dropdown bib will not flip to an alternate position when there isn't enough space in the specified <code>placement</code>. By default, the bib will automatically reposition itself to remain visible within the viewport.</p>
907
+ <div class="exampleWrapper">
908
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/no-flip.html) -->
909
+ <!-- The below content is automatically added from ./../apiExamples/no-flip.html -->
910
+ <auro-select noFlip placeholder="Placeholder Text">
911
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
912
+ <span slot="label">Label</span>
913
+ <auro-menu>
914
+ <auro-menuoption value="stops">Stops</auro-menuoption>
915
+ <auro-menuoption value="price">Price</auro-menuoption>
916
+ <auro-menuoption value="duration">Duration</auro-menuoption>
917
+ <auro-menuoption value="departure">Departure</auro-menuoption>
918
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
919
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
920
+ </auro-menu>
921
+ </auro-select>
922
+ <!-- AURO-GENERATED-CONTENT:END -->
923
+ </div>
924
+ <auro-accordion alignRight>
925
+ <span slot="trigger">See code</span>
926
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/no-flip.html) -->
927
+ <!-- The below code snippet is automatically added from ./../apiExamples/no-flip.html -->
928
+ <pre class="language-html"><code class="language-html">&lt;auro-select noFlip placeholder="Placeholder Text"&gt;
929
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
930
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
931
+ &lt;auro-menu&gt;
932
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
933
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
934
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
935
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
936
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
937
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
938
+ &lt;/auro-menu&gt;
939
+ &lt;/auro-select&gt;</code></pre>
940
+ <!-- AURO-GENERATED-CONTENT:END -->
941
+ </auro-accordion>
942
+ <auro-header level="3" id="offset">Offset</auro-header>
943
+ <p>The <code>offset</code> attribute defines the gap (in pixels) between the trigger element and the dropdown bib. The default value is <code>0</code>.</p>
944
+ <div class="exampleWrapper">
945
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/offset.html) -->
946
+ <!-- The below content is automatically added from ./../apiExamples/offset.html -->
947
+ <auro-select offset="16" placeholder="Placeholder Text">
948
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
949
+ <span slot="label">Label</span>
950
+ <auro-menu>
951
+ <auro-menuoption value="stops">Stops</auro-menuoption>
952
+ <auro-menuoption value="price">Price</auro-menuoption>
953
+ <auro-menuoption value="duration">Duration</auro-menuoption>
954
+ <auro-menuoption value="departure">Departure</auro-menuoption>
955
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
956
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
957
+ </auro-menu>
958
+ </auro-select>
959
+ <!-- AURO-GENERATED-CONTENT:END -->
960
+ </div>
961
+ <auro-accordion alignRight>
962
+ <span slot="trigger">See code</span>
963
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/offset.html) -->
964
+ <!-- The below code snippet is automatically added from ./../apiExamples/offset.html -->
965
+ <pre class="language-html"><code class="language-html">&lt;auro-select offset="16" placeholder="Placeholder Text"&gt;
966
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
967
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
968
+ &lt;auro-menu&gt;
969
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
970
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
971
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
972
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
973
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
974
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
975
+ &lt;/auro-menu&gt;
976
+ &lt;/auro-select&gt;</code></pre>
977
+ <!-- AURO-GENERATED-CONTENT:END -->
978
+ </auro-accordion>
979
+ <auro-header level="3" id="shift">Shift</auro-header>
980
+ <p>When the <code>shift</code> attribute is present, the dropdown bib will shift its position to avoid being cut off by the viewport. This is useful when the bib would otherwise extend beyond the edge of the screen.</p>
981
+ <div class="exampleWrapper">
982
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/shift.html) -->
983
+ <!-- The below content is automatically added from ./../apiExamples/shift.html -->
984
+ <auro-select shift placeholder="Placeholder Text">
985
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
986
+ <span slot="label">Label</span>
987
+ <auro-menu>
988
+ <auro-menuoption value="stops">Stops</auro-menuoption>
989
+ <auro-menuoption value="price">Price</auro-menuoption>
990
+ <auro-menuoption value="duration">Duration</auro-menuoption>
991
+ <auro-menuoption value="departure">Departure</auro-menuoption>
992
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
993
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
994
+ </auro-menu>
995
+ </auro-select>
996
+ <!-- AURO-GENERATED-CONTENT:END -->
997
+ </div>
998
+ <auro-accordion alignRight>
999
+ <span slot="trigger">See code</span>
1000
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/shift.html) -->
1001
+ <!-- The below code snippet is automatically added from ./../apiExamples/shift.html -->
1002
+ <pre class="language-html"><code class="language-html">&lt;auro-select shift placeholder="Placeholder Text"&gt;
1003
+ &lt;span slot="bib.fullscreen.headline"&gt;Bib Headline&lt;/span&gt;
1004
+ &lt;span slot="label"&gt;Label&lt;/span&gt;
1005
+ &lt;auro-menu&gt;
1006
+ &lt;auro-menuoption value="stops"&gt;Stops&lt;/auro-menuoption&gt;
1007
+ &lt;auro-menuoption value="price"&gt;Price&lt;/auro-menuoption&gt;
1008
+ &lt;auro-menuoption value="duration"&gt;Duration&lt;/auro-menuoption&gt;
1009
+ &lt;auro-menuoption value="departure"&gt;Departure&lt;/auro-menuoption&gt;
1010
+ &lt;auro-menuoption value="arrival"&gt;Arrival&lt;/auro-menuoption&gt;
1011
+ &lt;auro-menuoption value="prefer alaska"&gt;Prefer Alaska&lt;/auro-menuoption&gt;
1012
+ &lt;/auro-menu&gt;
1013
+ &lt;/auro-select&gt;</code></pre>
1014
+ <!-- AURO-GENERATED-CONTENT:END -->
1015
+ </auro-accordion>
1016
+ <!-- AURO-GENERATED-CONTENT:END -->
1017
+ </section>
1018
+ </div>
1019
+ </div>
1020
+ </div>