@aurodesignsystem/auro-formkit 5.9.0 → 5.9.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 (136) hide show
  1. package/CHANGELOG.md +13 -4
  2. package/README.md +4 -4
  3. package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
  4. package/components/bibtemplate/dist/index.js +2 -2
  5. package/components/bibtemplate/dist/registered.js +2 -2
  6. package/components/checkbox/README.md +62 -62
  7. package/components/checkbox/demo/api.js +1 -1
  8. package/components/checkbox/demo/api.md +127 -84
  9. package/components/checkbox/demo/api.min.js +125 -42
  10. package/components/checkbox/demo/index.md +9 -281
  11. package/components/checkbox/demo/index.min.js +125 -42
  12. package/components/checkbox/demo/readme.html +3 -4
  13. package/components/checkbox/demo/readme.md +62 -62
  14. package/components/checkbox/dist/auro-checkbox-group.d.ts +7 -8
  15. package/components/checkbox/dist/auro-checkbox.d.ts +74 -20
  16. package/components/checkbox/dist/index.js +125 -42
  17. package/components/checkbox/dist/registered.js +125 -42
  18. package/components/combobox/README.md +76 -74
  19. package/components/combobox/demo/api.html +1 -0
  20. package/components/combobox/demo/api.js +11 -12
  21. package/components/combobox/demo/api.md +1302 -875
  22. package/components/combobox/demo/api.min.js +416 -492
  23. package/components/combobox/demo/index.html +1 -7
  24. package/components/combobox/demo/index.js +0 -19
  25. package/components/combobox/demo/index.md +43 -723
  26. package/components/combobox/demo/index.min.js +369 -302
  27. package/components/combobox/demo/readme.html +3 -4
  28. package/components/combobox/demo/readme.md +76 -74
  29. package/components/combobox/dist/auro-combobox.d.ts +42 -42
  30. package/components/combobox/dist/index.js +204 -210
  31. package/components/combobox/dist/registered.js +204 -210
  32. package/components/counter/README.md +81 -66
  33. package/components/counter/demo/api.html +1 -2
  34. package/components/counter/demo/api.js +2 -2
  35. package/components/counter/demo/api.md +777 -259
  36. package/components/counter/demo/api.min.js +119 -171
  37. package/components/counter/demo/index.html +0 -2
  38. package/components/counter/demo/index.md +20 -329
  39. package/components/counter/demo/index.min.js +117 -152
  40. package/components/counter/demo/readme.html +3 -4
  41. package/components/counter/demo/readme.md +81 -66
  42. package/components/counter/dist/auro-counter-group.d.ts +21 -36
  43. package/components/counter/dist/auro-counter-wrapper.d.ts +1 -6
  44. package/components/counter/dist/auro-counter.d.ts +5 -8
  45. package/components/counter/dist/index.js +117 -152
  46. package/components/counter/dist/registered.js +117 -152
  47. package/components/datepicker/README.md +57 -61
  48. package/components/datepicker/demo/api.js +8 -8
  49. package/components/datepicker/demo/api.md +720 -561
  50. package/components/datepicker/demo/api.min.js +678 -2769
  51. package/components/datepicker/demo/index.md +65 -117
  52. package/components/datepicker/demo/index.min.js +678 -2769
  53. package/components/datepicker/demo/readme.html +3 -4
  54. package/components/datepicker/demo/readme.md +57 -61
  55. package/components/datepicker/dist/auro-calendar.d.ts +60 -34
  56. package/components/datepicker/dist/auro-datepicker.d.ts +32 -32
  57. package/components/datepicker/dist/iconVersion.d.ts +1 -1
  58. package/components/datepicker/dist/index.js +505 -2596
  59. package/components/datepicker/dist/popoverVersion.d.ts +1 -1
  60. package/components/datepicker/dist/registered.js +505 -2596
  61. package/components/dropdown/README.md +78 -62
  62. package/components/dropdown/demo/api.js +4 -4
  63. package/components/dropdown/demo/api.md +520 -478
  64. package/components/dropdown/demo/api.min.js +80 -95
  65. package/components/dropdown/demo/index.md +65 -119
  66. package/components/dropdown/demo/index.min.js +70 -85
  67. package/components/dropdown/demo/readme.html +3 -4
  68. package/components/dropdown/demo/readme.md +78 -62
  69. package/components/dropdown/dist/auro-dropdown.d.ts +42 -33
  70. package/components/dropdown/dist/iconVersion.d.ts +1 -1
  71. package/components/dropdown/dist/index.js +70 -85
  72. package/components/dropdown/dist/registered.js +70 -85
  73. package/components/form/README.md +16 -58
  74. package/components/form/demo/api.md +16 -21
  75. package/components/form/demo/api.min.js +13 -8
  76. package/components/form/demo/index.md +38 -39
  77. package/components/form/demo/index.min.js +13 -8
  78. package/components/form/demo/readme.md +16 -58
  79. package/components/form/demo/working.html +1 -1
  80. package/components/form/dist/auro-form.d.ts +15 -3
  81. package/components/form/dist/index.js +13 -8
  82. package/components/form/dist/registered.js +13 -8
  83. package/components/input/README.md +55 -60
  84. package/components/input/demo/api.js +3 -5
  85. package/components/input/demo/api.md +558 -537
  86. package/components/input/demo/api.min.js +102 -115
  87. package/components/input/demo/index.js +0 -1
  88. package/components/input/demo/index.md +90 -203
  89. package/components/input/demo/index.min.js +87 -99
  90. package/components/input/demo/readme.html +3 -4
  91. package/components/input/demo/readme.md +55 -60
  92. package/components/input/dist/auro-input.d.ts +6 -5
  93. package/components/input/dist/base-input.d.ts +68 -69
  94. package/components/input/dist/iconVersion.d.ts +1 -1
  95. package/components/input/dist/index.js +87 -82
  96. package/components/input/dist/registered.js +87 -82
  97. package/components/menu/README.md +61 -61
  98. package/components/menu/demo/api.js +6 -8
  99. package/components/menu/demo/api.md +520 -577
  100. package/components/menu/demo/api.min.js +199 -97
  101. package/components/menu/demo/index.js +0 -5
  102. package/components/menu/demo/index.md +36 -119
  103. package/components/menu/demo/index.min.js +164 -101
  104. package/components/menu/demo/readme.html +3 -4
  105. package/components/menu/demo/readme.md +61 -61
  106. package/components/menu/dist/auro-menu.context.d.ts +5 -0
  107. package/components/menu/dist/auro-menu.d.ts +75 -37
  108. package/components/menu/dist/auro-menuoption.d.ts +38 -13
  109. package/components/menu/dist/index.js +164 -50
  110. package/components/menu/dist/registered.js +164 -50
  111. package/components/radio/README.md +61 -57
  112. package/components/radio/demo/api.js +2 -2
  113. package/components/radio/demo/api.md +241 -170
  114. package/components/radio/demo/api.min.js +154 -77
  115. package/components/radio/demo/index.md +22 -99
  116. package/components/radio/demo/index.min.js +145 -68
  117. package/components/radio/demo/readme.html +3 -4
  118. package/components/radio/demo/readme.md +61 -57
  119. package/components/radio/dist/auro-radio-group.d.ts +67 -35
  120. package/components/radio/dist/auro-radio.d.ts +56 -33
  121. package/components/radio/dist/index.js +145 -68
  122. package/components/radio/dist/registered.js +145 -68
  123. package/components/select/README.md +68 -65
  124. package/components/select/demo/api.html +1 -0
  125. package/components/select/demo/api.js +7 -7
  126. package/components/select/demo/api.md +1305 -625
  127. package/components/select/demo/api.min.js +357 -262
  128. package/components/select/demo/index.html +0 -2
  129. package/components/select/demo/index.md +25 -833
  130. package/components/select/demo/index.min.js +356 -230
  131. package/components/select/demo/readme.html +3 -4
  132. package/components/select/demo/readme.md +68 -65
  133. package/components/select/dist/auro-select.d.ts +99 -90
  134. package/components/select/dist/index.js +192 -180
  135. package/components/select/dist/registered.js +192 -180
  136. package/package.json +9 -4
@@ -1,13 +1,11 @@
1
1
  <!--
2
- The index.md file is a compiled document. No edits should be made directly to this file.
3
-
4
- index.md is created by running `npm run build:markdownDocs`.
5
-
6
- This file is generated based on a template fetched from `./docs/partials/index.md`
2
+ THIS PAGE'S CONTENT SHOULD BE KEPT MINIMAL.
3
+ ONLY ADD EXAMPLES THAT ARE TRULY NECESSARY FOR THE INDEX PAGE — THE BASIC EXAMPLE IS USUALLY ENOUGH.
4
+ ALL OTHER EXAMPLES SHOULD GO IN THE API DOCUMENTATION.
7
5
  -->
8
6
 
9
- # Dropdown
10
-
7
+ # Dropdown
8
+
11
9
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/description.md) -->
12
10
  <!-- The below content is automatically added from ./../docs/partials/description.md -->
13
11
  The `auro-dropdown` component is a trigger and dropdown element combination intended to be used with dropdown content that is interactive. `auro-dropdown` is content agnostic and any valid HTML can be placed in either the trigger or the dropdown.
@@ -15,8 +13,8 @@ The `auro-dropdown` component is a trigger and dropdown element combination inte
15
13
  _Note: if the dropdown content in your implementation is not interactive (e.g. a tooltip) [auro-popover](http://auro.alaskaair.com/components/auro/popover) may better serve your needs._
16
14
  <!-- AURO-GENERATED-CONTENT:END -->
17
15
 
18
- ## Dropdown use cases
19
-
16
+ ## Use Cases
17
+
20
18
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../docs/partials/useCases.md) -->
21
19
  <!-- The below content is automatically added from ./../docs/partials/useCases.md -->
22
20
  The `auro-dropdown` element should be used in situations where users may:
@@ -36,9 +34,58 @@ To meet our accessibility requirement, all uses of `auro-dropdown` should have a
36
34
 
37
35
  Not including one of the above options will result in your UI being non-compliant with Alaska's accessibility policies.
38
36
 
39
- ## Layouts
37
+ ## Supported Standard and Accessible Interactions
38
+
39
+ The dropdown can be opened with the following actions:
40
+
41
+ 1. Clicking/tapping on the trigger.
42
+ 1. Tabbing to the trigger and using the `enter` or `spacebar` keys.
43
+ 1. Programmatically via another control in the UI calling the `show()` method (see api).
44
+
45
+ The dropdown can be closed with the following actions:
46
+
47
+ 1. Clicking anywhere in the view outside of the dropdown.
48
+ 1. Using the `esc` key.
49
+ 1. Programmatically via another control in the UI calling the `hide()` method (see api).
40
50
 
41
- ### Classic
51
+ ## Example(s)
52
+
53
+ ### Basic
54
+
55
+ <div class="exampleWrapper">
56
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/basic.html) -->
57
+ <!-- The below content is automatically added from ./../apiExamples/basic.html -->
58
+ <auro-dropdown aria-label="custom label">
59
+ Lorem ipsum solar
60
+ <div slot="trigger">
61
+ Trigger
62
+ </div>
63
+ </auro-dropdown>
64
+ <!-- AURO-GENERATED-CONTENT:END -->
65
+ </div>
66
+ <auro-accordion alignRight>
67
+ <span slot="trigger">See code</span>
68
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/basic.html) -->
69
+ <!-- The below code snippet is automatically added from ./../apiExamples/basic.html -->
70
+
71
+ ```html
72
+ <auro-dropdown aria-label="custom label">
73
+ Lorem ipsum solar
74
+ <div slot="trigger">
75
+ Trigger
76
+ </div>
77
+ </auro-dropdown>
78
+ ```
79
+ <!-- AURO-GENERATED-CONTENT:END -->
80
+ </auro-accordion>
81
+
82
+ ### Layouts
83
+
84
+ The `auro-dropdown` element supports multiple layouts to fit different design needs. The available layouts are: `classic`, `emphasized`, and `snowflake`. Each layout offers a unique visual style while maintaining the same core functionality.
85
+
86
+ **Important**: The `emphasized` and `snowflake` layouts are designed specifically for dark backgrounds and should be used with the `appearance="inverse"` attribute.
87
+
88
+ #### Classic
42
89
 
43
90
  <div class="exampleWrapper">
44
91
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/classic/basic.html) -->
@@ -85,8 +132,8 @@ Not including one of the above options will result in your UI being non-complian
85
132
  <!-- AURO-GENERATED-CONTENT:END -->
86
133
  </auro-accordion>
87
134
  <div class="exampleWrapper--ondark">
88
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/classic/basic-inverseAppearance.html) -->
89
- <!-- The below content is automatically added from ./../apiExamples/classic/basic-inverseAppearance.html -->
135
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/classic/appearance-inverse.html) -->
136
+ <!-- The below content is automatically added from ./../apiExamples/classic/appearance-inverse.html -->
90
137
  <auro-dropdown appearance="inverse" layout="classic" shape="classic" size="lg" id="classicOnDark" chevron aria-label="Label content for screen reader">
91
138
  <div style="padding: var(--ds-size-150);">
92
139
  Lorem ipsum solar
@@ -106,8 +153,8 @@ Not including one of the above options will result in your UI being non-complian
106
153
  </div>
107
154
  <auro-accordion alignRight>
108
155
  <span slot="trigger">See code</span>
109
- <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/classic/basic-inverseAppearance.html) -->
110
- <!-- The below code snippet is automatically added from ./../apiExamples/classic/basic-inverseAppearance.html -->
156
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/classic/appearance-inverse.html) -->
157
+ <!-- The below code snippet is automatically added from ./../apiExamples/classic/appearance-inverse.html -->
111
158
 
112
159
  ```html
113
160
  <auro-dropdown appearance="inverse" layout="classic" shape="classic" size="lg" id="classicOnDark" chevron aria-label="Label content for screen reader">
@@ -129,9 +176,7 @@ Not including one of the above options will result in your UI being non-complian
129
176
  <!-- AURO-GENERATED-CONTENT:END -->
130
177
  </auro-accordion>
131
178
 
132
- ### Emphasized
133
-
134
- Only supports `appearance="inverse"`.
179
+ #### Emphasized
135
180
 
136
181
  <div class="exampleWrapper--ondark">
137
182
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/emphasized/basic.html) -->
@@ -202,9 +247,7 @@ Only supports `appearance="inverse"`.
202
247
  <!-- AURO-GENERATED-CONTENT:END -->
203
248
  </auro-accordion>
204
249
 
205
- ### Snowflake
206
-
207
- Only supports `appearance="inverse"`.
250
+ #### Snowflake
208
251
 
209
252
  <div class="exampleWrapper--ondark">
210
253
  <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/snowflake/basic.html) -->
@@ -237,101 +280,4 @@ Only supports `appearance="inverse"`.
237
280
  </auro-dropdown>
238
281
  ```
239
282
  <!-- AURO-GENERATED-CONTENT:END -->
240
- </auro-accordion>
241
-
242
- ## Triggering a fullscreen dropdown
243
- This example shows how to set a dropdown fullscreen breakpoint attribute. Most consuming components use `sm` by default, but
244
- dropdown supports `xs`, `sm`, `md`, `lg`, `xl` and `disabled`, with `disabled` ensuring that the dropdown will never be fullscreen.
245
-
246
- <div class="exampleWrapper">
247
- <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/fullscreen.html) -->
248
- <!-- The below content is automatically added from ./../apiExamples/fullscreen.html -->
249
- <h3>Never fullscreen</h3>
250
- <auro-dropdown id="common-never-fullscreen" layout="classic" shape="classic" size="lg" aria-label="Label content for screen reader" fullscreenBreakpoint="disabled">
251
- <div style="padding: var(--ds-size-150);">
252
- Lorem ipsum solar
253
- <br />
254
- <auro-button onclick="document.querySelector('#common-never-fullscreen').hide()">
255
- Dismiss Dropdown
256
- </auro-button>
257
- </div>
258
- <span slot="helpText">
259
- Help text
260
- </span>
261
- <div slot="trigger">
262
- Trigger
263
- </div>
264
- </auro-dropdown>
265
- <h3>Always fullscreen</h3>
266
- <auro-dropdown id="common-always-fullscreen" layout="classic" shape="classic" size="lg" aria-label="Label content for screen reader" fullscreenBreakpoint="xl">
267
- <div style="padding: var(--ds-size-150);">
268
- Lorem ipsum solar
269
- <br />
270
- <auro-button onclick="document.querySelector('#common-always-fullscreen').hide()">
271
- Dismiss Dropdown
272
- </auro-button>
273
- </div>
274
- <span slot="helpText">
275
- Help text
276
- </span>
277
- <div slot="trigger">
278
- Trigger
279
- </div>
280
- </auro-dropdown>
281
- <!-- AURO-GENERATED-CONTENT:END -->
282
- </div>
283
- <auro-accordion alignRight>
284
- <span slot="trigger">See code</span>
285
- <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/fullscreen.html) -->
286
- <!-- The below code snippet is automatically added from ./../apiExamples/fullscreen.html -->
287
-
288
- ```html
289
- <h3>Never fullscreen</h3>
290
- <auro-dropdown id="common-never-fullscreen" layout="classic" shape="classic" size="lg" aria-label="Label content for screen reader" fullscreenBreakpoint="disabled">
291
- <div style="padding: var(--ds-size-150);">
292
- Lorem ipsum solar
293
- <br />
294
- <auro-button onclick="document.querySelector('#common-never-fullscreen').hide()">
295
- Dismiss Dropdown
296
- </auro-button>
297
- </div>
298
- <span slot="helpText">
299
- Help text
300
- </span>
301
- <div slot="trigger">
302
- Trigger
303
- </div>
304
- </auro-dropdown>
305
- <h3>Always fullscreen</h3>
306
- <auro-dropdown id="common-always-fullscreen" layout="classic" shape="classic" size="lg" aria-label="Label content for screen reader" fullscreenBreakpoint="xl">
307
- <div style="padding: var(--ds-size-150);">
308
- Lorem ipsum solar
309
- <br />
310
- <auro-button onclick="document.querySelector('#common-always-fullscreen').hide()">
311
- Dismiss Dropdown
312
- </auro-button>
313
- </div>
314
- <span slot="helpText">
315
- Help text
316
- </span>
317
- <div slot="trigger">
318
- Trigger
319
- </div>
320
- </auro-dropdown>
321
- ```
322
- <!-- AURO-GENERATED-CONTENT:END -->
323
- </auro-accordion>
324
-
325
- ## Supported standard and accessible interactions
326
-
327
- The dropdown can be opened with the following actions:
328
-
329
- 1. Clicking/tapping on the trigger.
330
- 1. Tabbing to the trigger and using the `enter` or `spacebar` keys.
331
- 1. Programmatically via another control in the UI calling the `show()` method (see api).
332
-
333
- The dropdown can be closed with the following actions:
334
-
335
- 1. Clicking anywhere in the view outside of the dropdown.
336
- 1. Using the `esc` key.
337
- 1. Programmatically via another control in the UI calling the `hide()` method (see api).
283
+ </auro-accordion>
@@ -189,9 +189,8 @@ function getOppositeAxis(axis) {
189
189
  function getAxisLength(axis) {
190
190
  return axis === 'y' ? 'height' : 'width';
191
191
  }
192
- const yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);
193
192
  function getSideAxis(placement) {
194
- return yAxisSides.has(getSide(placement)) ? 'y' : 'x';
193
+ return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';
195
194
  }
196
195
  function getAlignmentAxis(placement) {
197
196
  return getOppositeAxis(getSideAxis(placement));
@@ -216,19 +215,19 @@ function getExpandedPlacements(placement) {
216
215
  function getOppositeAlignmentPlacement(placement) {
217
216
  return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
218
217
  }
219
- const lrPlacement = ['left', 'right'];
220
- const rlPlacement = ['right', 'left'];
221
- const tbPlacement = ['top', 'bottom'];
222
- const btPlacement = ['bottom', 'top'];
223
218
  function getSideList(side, isStart, rtl) {
219
+ const lr = ['left', 'right'];
220
+ const rl = ['right', 'left'];
221
+ const tb = ['top', 'bottom'];
222
+ const bt = ['bottom', 'top'];
224
223
  switch (side) {
225
224
  case 'top':
226
225
  case 'bottom':
227
- if (rtl) return isStart ? rlPlacement : lrPlacement;
228
- return isStart ? lrPlacement : rlPlacement;
226
+ if (rtl) return isStart ? rl : lr;
227
+ return isStart ? lr : rl;
229
228
  case 'left':
230
229
  case 'right':
231
- return isStart ? tbPlacement : btPlacement;
230
+ return isStart ? tb : bt;
232
231
  default:
233
232
  return [];
234
233
  }
@@ -669,22 +668,16 @@ const flip$1 = function (options) {
669
668
  const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
670
669
  const nextPlacement = placements[nextIndex];
671
670
  if (nextPlacement) {
672
- const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;
673
- if (!ignoreCrossAxisOverflow ||
674
- // We leave the current main axis only if every placement on that axis
675
- // overflows the main axis.
676
- overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {
677
- // Try next placement and re-run the lifecycle.
678
- return {
679
- data: {
680
- index: nextIndex,
681
- overflows: overflowsData
682
- },
683
- reset: {
684
- placement: nextPlacement
685
- }
686
- };
687
- }
671
+ // Try next placement and re-run the lifecycle.
672
+ return {
673
+ data: {
674
+ index: nextIndex,
675
+ overflows: overflowsData
676
+ },
677
+ reset: {
678
+ placement: nextPlacement
679
+ }
680
+ };
688
681
  }
689
682
 
690
683
  // First, find the candidates that fit on the mainAxis side of overflow,
@@ -730,8 +723,6 @@ const flip$1 = function (options) {
730
723
  };
731
724
  };
732
725
 
733
- const originSides = /*#__PURE__*/new Set(['left', 'top']);
734
-
735
726
  // For type backwards-compatibility, the `OffsetOptions` type was also
736
727
  // Derivable.
737
728
 
@@ -745,7 +736,7 @@ async function convertValueToCoords(state, options) {
745
736
  const side = getSide(placement);
746
737
  const alignment = getAlignment(placement);
747
738
  const isVertical = getSideAxis(placement) === 'y';
748
- const mainAxisMulti = originSides.has(side) ? -1 : 1;
739
+ const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
749
740
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
750
741
  const rawValue = evaluate(options, state);
751
742
 
@@ -938,7 +929,6 @@ function isShadowRoot(value) {
938
929
  }
939
930
  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
940
931
  }
941
- const invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);
942
932
  function isOverflowElement(element) {
943
933
  const {
944
934
  overflow,
@@ -946,32 +936,27 @@ function isOverflowElement(element) {
946
936
  overflowY,
947
937
  display
948
938
  } = getComputedStyle$1(element);
949
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);
939
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);
950
940
  }
951
- const tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);
952
941
  function isTableElement(element) {
953
- return tableElements.has(getNodeName(element));
942
+ return ['table', 'td', 'th'].includes(getNodeName(element));
954
943
  }
955
- const topLayerSelectors = [':popover-open', ':modal'];
956
944
  function isTopLayer(element) {
957
- return topLayerSelectors.some(selector => {
945
+ return [':popover-open', ':modal'].some(selector => {
958
946
  try {
959
947
  return element.matches(selector);
960
- } catch (_e) {
948
+ } catch (e) {
961
949
  return false;
962
950
  }
963
951
  });
964
952
  }
965
- const transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];
966
- const willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];
967
- const containValues = ['paint', 'layout', 'strict', 'content'];
968
953
  function isContainingBlock(elementOrCss) {
969
954
  const webkit = isWebKit();
970
955
  const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
971
956
 
972
957
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
973
958
  // https://drafts.csswg.org/css-transforms-2/#individual-transforms
974
- return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));
959
+ return ['transform', 'translate', 'scale', 'rotate', 'perspective'].some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));
975
960
  }
976
961
  function getContainingBlock(element) {
977
962
  let currentNode = getParentNode(element);
@@ -989,9 +974,8 @@ function isWebKit() {
989
974
  if (typeof CSS === 'undefined' || !CSS.supports) return false;
990
975
  return CSS.supports('-webkit-backdrop-filter', 'none');
991
976
  }
992
- const lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);
993
977
  function isLastTraversableNode(node) {
994
- return lastTraversableNodeNames.has(getNodeName(node));
978
+ return ['html', 'body', '#document'].includes(getNodeName(node));
995
979
  }
996
980
  function getComputedStyle$1(element) {
997
981
  return getWindow(element).getComputedStyle(element);
@@ -1296,7 +1280,6 @@ function getViewportRect(element, strategy) {
1296
1280
  };
1297
1281
  }
1298
1282
 
1299
- const absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);
1300
1283
  // Returns the inner client rect, subtracting scrollbars if present.
1301
1284
  function getInnerBoundingClientRect(element, strategy) {
1302
1285
  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
@@ -1361,7 +1344,7 @@ function getClippingElementAncestors(element, cache) {
1361
1344
  if (!currentNodeIsContaining && computedStyle.position === 'fixed') {
1362
1345
  currentContainingBlockComputedStyle = null;
1363
1346
  }
1364
- const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
1347
+ const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
1365
1348
  if (shouldDropCurrentNode) {
1366
1349
  // Drop non-containing blocks.
1367
1350
  result = result.filter(ancestor => ancestor !== currentNode);
@@ -1424,12 +1407,6 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1424
1407
  scrollTop: 0
1425
1408
  };
1426
1409
  const offsets = createCoords(0);
1427
-
1428
- // If the <body> scrollbar appears on the left (e.g. RTL systems). Use
1429
- // Firefox with layout.scrollbar.side = 3 in about:config to test this.
1430
- function setLeftRTLScrollbarOffset() {
1431
- offsets.x = getWindowScrollBarX(documentElement);
1432
- }
1433
1410
  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
1434
1411
  if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
1435
1412
  scroll = getNodeScroll(offsetParent);
@@ -1439,12 +1416,11 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1439
1416
  offsets.x = offsetRect.x + offsetParent.clientLeft;
1440
1417
  offsets.y = offsetRect.y + offsetParent.clientTop;
1441
1418
  } else if (documentElement) {
1442
- setLeftRTLScrollbarOffset();
1419
+ // If the <body> scrollbar appears on the left (e.g. RTL systems). Use
1420
+ // Firefox with layout.scrollbar.side = 3 in about:config to test this.
1421
+ offsets.x = getWindowScrollBarX(documentElement);
1443
1422
  }
1444
1423
  }
1445
- if (isFixed && !isOffsetParentAnElement && documentElement) {
1446
- setLeftRTLScrollbarOffset();
1447
- }
1448
1424
  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
1449
1425
  const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
1450
1426
  const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
@@ -1621,7 +1597,7 @@ function observeMove(element, onMove) {
1621
1597
  // Handle <iframe>s
1622
1598
  root: root.ownerDocument
1623
1599
  });
1624
- } catch (_e) {
1600
+ } catch (e) {
1625
1601
  io = new IntersectionObserver(handleObserve, options);
1626
1602
  }
1627
1603
  io.observe(element);
@@ -2717,7 +2693,7 @@ class AuroDependencyVersioning {
2717
2693
  * SPDX-License-Identifier: BSD-3-Clause
2718
2694
  */const o=o=>o??E;
2719
2695
 
2720
- class p{registerComponent(t,a){customElements.get(t)||customElements.define(t,class extends a{});}closestElement(t,a=this,e=(a,s=a&&a.closest(t))=>a&&a!==document&&a!==window?s||e(a.getRootNode().host):null){return e(a)}handleComponentTagRename(t,a){const e=a.toLowerCase();t.tagName.toLowerCase()!==e&&t.setAttribute(e,true);}elementMatch(t,a){const e=a.toLowerCase();return t.tagName.toLowerCase()===e||t.hasAttribute(e)}}var u='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-labelledby="error__desc" class="ico_squareLarge" data-deprecated="true" role="img" style="min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor" viewBox="0 0 24 24" part="svg"><title/><desc id="error__desc">Error alert indicator.</desc><path d="m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583"/></svg>';class m extends i{static get properties(){return {hidden:{type:Boolean,reflect:true},hiddenVisually:{type:Boolean,reflect:true},hiddenAudible:{type:Boolean,reflect:true}}}hideAudible(t){return t?"true":"false"}}const g=new Map,f=(t,a={})=>{const e=a.responseParser||(t=>t.text());return g.has(t)||g.set(t,fetch(t).then(e)),g.get(t)};var w=i$2`:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, .75rem))}:host{color:currentColor;vertical-align:middle;line-height:1;display:inline-block}svg{min-width:var(--ds-auro-icon-size, 1.5rem)!important;width:var(--ds-auro-icon-size, 1.5rem)!important;height:var(--ds-auro-icon-size, 1.5rem)!important}.componentWrapper{display:flex}.svgWrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.labelWrapper{margin-left:var(--ds-size-50, .25rem);line-height:1.8}
2696
+ class p{registerComponent(t,a){customElements.get(t)||customElements.define(t,class extends a{});}closestElement(t,a=this,e=(a,s=a&&a.closest(t))=>a&&a!==document&&a!==window?s||e(a.getRootNode().host):null){return e(a)}handleComponentTagRename(t,a){const e=a.toLowerCase();t.tagName.toLowerCase()!==e&&t.setAttribute(e,true);}elementMatch(t,a){const e=a.toLowerCase();return t.tagName.toLowerCase()===e||t.hasAttribute(e)}}var u='<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" aria-labelledby="error__desc" class="ico_squareLarge" data-deprecated="true" role="img" style="min-width:var(--auro-size-lg, var(--ds-size-300, 1.5rem));height:var(--auro-size-lg, var(--ds-size-300, 1.5rem));fill:currentColor" viewBox="0 0 24 24" part="svg"><title/><desc id="error__desc">Error alert indicator.</desc><path d="m13.047 5.599 6.786 11.586A1.207 1.207 0 0 1 18.786 19H5.214a1.207 1.207 0 0 1-1.047-1.815l6.786-11.586a1.214 1.214 0 0 1 2.094 0m-1.165.87a.23.23 0 0 0-.085.085L5.419 17.442a.232.232 0 0 0 .203.35h12.756a.234.234 0 0 0 .203-.35L12.203 6.554a.236.236 0 0 0-.321-.084M12 15.5a.75.75 0 1 1 0 1.5.75.75 0 0 1 0-1.5m-.024-6.22c.325 0 .589.261.589.583v4.434a.586.586 0 0 1-.589.583.586.586 0 0 1-.588-.583V9.863c0-.322.264-.583.588-.583"/></svg>';class m extends i{static get properties(){return {hidden:{type:Boolean,reflect:true},hiddenVisually:{type:Boolean,reflect:true},hiddenAudible:{type:Boolean,reflect:true}}}hideAudible(t){return t?"true":"false"}}const g=new Map,f=(t,a={})=>{const e=a.responseParser||(t=>t.text());return g.has(t)||g.set(t,fetch(t).then(e)),g.get(t)};var w=i$2`:focus:not(:focus-visible){outline:3px solid transparent}.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}.ico_squareLarge{fill:currentColor;height:var(--auro-size-lg, var(--ds-size-300, 1.5rem))}.ico_squareSmall{fill:currentColor;height:.6rem}.ico_squareMed{fill:currentColor;height:var(--auro-size-md, var(--ds-size-200, 1rem))}.ico_squareSml{fill:currentColor;height:var(--auro-size-sm, var(--ds-size-150, .75rem))}:host{color:currentColor;vertical-align:middle;display:inline-block}svg{min-width:var(--ds-auro-icon-size, 1.5rem)!important;width:var(--ds-auro-icon-size, 1.5rem)!important;height:var(--ds-auro-icon-size, 1.5rem)!important}.componentWrapper{display:flex;line-height:var(--ds-auro-icon-size)}.svgWrapper{height:var(--ds-auro-icon-size);width:var(--ds-auro-icon-size)}.svgWrapper [part=svg]{display:flex}.labelWrapper{margin-left:var(--ds-size-50, .25rem)}.labelWrapper ::slotted(*){line-height:inherit!important}
2721
2697
  `;class z extends m{constructor(){super(),this.onDark=false,this.appearance="default";}static get properties(){return {...m.properties,onDark:{type:Boolean,reflect:true},appearance:{type:String,reflect:true},svg:{attribute:false,reflect:true}}}static get styles(){return w}async fetchIcon(t,a){let e="";e="logos"===t?await f(`${this.uri}/${t}/${a}.svg`):await f(`${this.uri}/icons/${t}/${a}.svg`);return (new DOMParser).parseFromString(e,"text/html").body.querySelector("svg")}async firstUpdated(){try{if(!this.customSvg){const t=await this.fetchIcon(this.category,this.name);if(t)this.svg=t;else if(!t){const t=(new DOMParser).parseFromString(u,"text/html");this.svg=t.body.firstChild;}}}catch(t){this.svg=void 0;}}}i$2`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock,:host{display:block}.util_displayFlex{display:flex}.util_displayHidden,:host([hidden]:not(:focus):not(:active)){display:none}.util_displayHiddenVisually,:host([hiddenVisually]:not(:focus):not(:active)){position:absolute;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;padding:0;border:0}:host{display:inline-block;--ds-auro-icon-size: 100%;width:100%;height:100%}:host .logo{color:var(--ds-auro-alaska-color)}:host([onDark]),:host([appearance=inverse]){--ds-auro-alaska-color: #FFF}
2722
2698
  `;var y=i$2`:host{--ds-auro-icon-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-alaska-color: #02426D;--ds-auro-icon-size: var(--ds-size-300, 1.5rem)}
2723
2699
  `;var k=i$2`:host{color:var(--ds-auro-icon-color)}:host([customColor]){color:inherit}:host(:not([onDark])[variant=accent1]),:host(:not([appearance=inverse])[variant=accent1]){--ds-auro-icon-color: var(--ds-basic-color-texticon-accent1, #265688)}:host(:not([onDark])[variant=disabled]),:host(:not([appearance=inverse])[variant=disabled]){--ds-auro-icon-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host(:not([onDark])[variant=muted]),:host(:not([appearance=inverse])[variant=muted]){--ds-auro-icon-color: var(--ds-basic-color-texticon-muted, #676767)}:host(:not([onDark])[variant=statusDefault]),:host(:not([appearance=inverse])[variant=statusDefault]){--ds-auro-icon-color: var(--ds-basic-color-status-default, #afb9c6)}:host(:not([onDark])[variant=statusInfo]),:host(:not([appearance=inverse])[variant=statusInfo]){--ds-auro-icon-color: var(--ds-basic-color-status-info, #01426a)}:host(:not([onDark])[variant=statusSuccess]),:host(:not([appearance=inverse])[variant=statusSuccess]){--ds-auro-icon-color: var(--ds-basic-color-status-success, #447a1f)}:host(:not([onDark])[variant=statusWarning]),:host(:not([appearance=inverse])[variant=statusWarning]){--ds-auro-icon-color: var(--ds-basic-color-status-warning, #fac200)}:host(:not([onDark])[variant=statusError]),:host(:not([appearance=inverse])[variant=statusError]){--ds-auro-icon-color: var(--ds-basic-color-status-error, #e31f26)}:host(:not([onDark])[variant=statusInfoSubtle]),:host(:not([appearance=inverse])[variant=statusInfoSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-info-subtle, #ebf3f9)}:host(:not([onDark])[variant=statusSuccessSubtle]),:host(:not([appearance=inverse])[variant=statusSuccessSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-success-subtle, #d6eac7)}:host(:not([onDark])[variant=statusWarningSubtle]),:host(:not([appearance=inverse])[variant=statusWarningSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-warning-subtle, #fff0b2)}:host(:not([onDark])[variant=statusErrorSubtle]),:host(:not([appearance=inverse])[variant=statusErrorSubtle]){--ds-auro-icon-color: var(--ds-basic-color-status-error-subtle, #fbc6c6)}:host(:not([onDark])[variant=fareBasicEconomy]),:host(:not([appearance=inverse])[variant=fareBasicEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-basiceconomy, #97eaf8)}:host(:not([onDark])[variant=fareBusiness]),:host(:not([appearance=inverse])[variant=fareBusiness]){--ds-auro-icon-color: var(--ds-basic-color-fare-business, #01426a)}:host(:not([onDark])[variant=fareEconomy]),:host(:not([appearance=inverse])[variant=fareEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-economy, #0074ca)}:host(:not([onDark])[variant=fareFirst]),:host(:not([appearance=inverse])[variant=fareFirst]){--ds-auro-icon-color: var(--ds-basic-color-fare-first, #00274a)}:host(:not([onDark])[variant=farePremiumEconomy]),:host(:not([appearance=inverse])[variant=farePremiumEconomy]){--ds-auro-icon-color: var(--ds-basic-color-fare-premiumeconomy, #005154)}:host(:not([onDark])[variant=tierOneWorldEmerald]),:host(:not([appearance=inverse])[variant=tierOneWorldEmerald]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-emerald, #139142)}:host(:not([onDark])[variant=tierOneWorldSapphire]),:host(:not([appearance=inverse])[variant=tierOneWorldSapphire]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-sapphire, #015daa)}:host(:not([onDark])[variant=tierOneWorldRuby]),:host(:not([appearance=inverse])[variant=tierOneWorldRuby]){--ds-auro-icon-color: var(--ds-basic-color-tier-program-oneworld-ruby, #a41d4a)}:host([onDark]),:host([appearance=inverse]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([onDark][variant=disabled]),:host([appearance=inverse][variant=disabled]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse-disabled, #7e8894)}:host([onDark][variant=muted]),:host([appearance=inverse][variant=muted]){--ds-auro-icon-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][variant=statusError]),:host([appearance=inverse][variant=statusError]){--ds-auro-icon-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}
@@ -2741,7 +2717,7 @@ class p{registerComponent(t,a){customElements.get(t)||customElements.define(t,cl
2741
2717
  </div>
2742
2718
  `}}
2743
2719
 
2744
- var iconVersion = '9.1.0';
2720
+ var iconVersion = '9.1.1';
2745
2721
 
2746
2722
  var styleCss$2 = i$2`:host{position:fixed;z-index:var(--depth-tooltip, 400);display:none;isolation:isolate}:host(:not([matchWidth])) .container{min-width:fit-content}:host([isfullscreen]){position:fixed;top:0;left:0}:host([isfullscreen]) .container{width:100dvw;max-width:none;height:100dvh;max-height:none;border-radius:unset;margin-top:0;box-shadow:unset;overscroll-behavior:contain}:host([data-show]){display:flex}:host([common]:not([isfullscreen])) .container,:host([rounded]:not([isfullscreen])) .container{border-radius:var(--ds-border-radius, 0.375rem)}:host([common][isfullscreen]) .container,:host([rounded][isfullscreen]) .container{border-radius:unset;box-shadow:unset}:host(:not([isfullscreen])) .container.shape-box{border-radius:unset}:host(:not([isfullscreen])) .container[class*=shape-pill],:host(:not([isfullscreen])) .container[class*=shape-snowflake]{border-radius:30px}:host(:not([isfullscreen])) .container[class*=shape-rounded]{border-radius:16px}.container{display:inline-block;overflow:auto;box-sizing:border-box;border-radius:var(--ds-border-radius, 0.375rem);margin:var(--ds-size-50, 0.25rem) 0}`;
2747
2723
 
@@ -3182,7 +3158,7 @@ class AuroHelpText extends i {
3182
3158
  }
3183
3159
  }
3184
3160
 
3185
- var formkitVersion = '202511191711';
3161
+ var formkitVersion = '202601271813';
3186
3162
 
3187
3163
  class AuroElement extends i {
3188
3164
  static get properties() {
@@ -3288,12 +3264,14 @@ class AuroElement extends i {
3288
3264
  }
3289
3265
  }
3290
3266
 
3291
- // Copyright (c) 2020 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3267
+ // Copyright (c) 2026 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
3292
3268
  // See LICENSE in the project root for license information.
3293
3269
 
3294
3270
 
3295
-
3296
- /*
3271
+ /**
3272
+ * The `auro-dropdown` element provides a way to place content in a bib that can be toggled.
3273
+ * @customElement auro-dropdown
3274
+ *
3297
3275
  * @slot - Default slot for the popover content.
3298
3276
  * @slot helpText - Defines the content of the helpText.
3299
3277
  * @slot trigger - Defines the content of the trigger.
@@ -3329,7 +3307,7 @@ class AuroDropdown extends AuroElement {
3329
3307
  /** @private */
3330
3308
  this.bibElement = e();
3331
3309
 
3332
- this.privateDefaults();
3310
+ this._intializeDefaults();
3333
3311
  }
3334
3312
 
3335
3313
  /**
@@ -3350,7 +3328,7 @@ class AuroDropdown extends AuroElement {
3350
3328
  * @private
3351
3329
  * @returns {void} Internal defaults.
3352
3330
  */
3353
- privateDefaults() {
3331
+ _intializeDefaults() {
3354
3332
  this.appearance = 'default';
3355
3333
  this.chevron = false;
3356
3334
  this.disabled = false;
@@ -3471,9 +3449,18 @@ class AuroDropdown extends AuroElement {
3471
3449
  static get properties() {
3472
3450
  return {
3473
3451
 
3452
+ /**
3453
+ * The value for the role attribute of the trigger element.
3454
+ */
3455
+ a11yRole: {
3456
+ type: String || undefined,
3457
+ attribute: false,
3458
+ reflect: false
3459
+ },
3460
+
3474
3461
  /**
3475
3462
  * Defines whether the component will be on lighter or darker backgrounds.
3476
- * @property {'default', 'inverse'}
3463
+ * @type {'default' | 'inverse'}
3477
3464
  * @default 'default'
3478
3465
  */
3479
3466
  appearance: {
@@ -3483,7 +3470,6 @@ class AuroDropdown extends AuroElement {
3483
3470
 
3484
3471
  /**
3485
3472
  * If declared, bib's position will be automatically calculated where to appear.
3486
- * @default false
3487
3473
  */
3488
3474
  autoPlacement: {
3489
3475
  type: Boolean,
@@ -3492,7 +3478,6 @@ class AuroDropdown extends AuroElement {
3492
3478
 
3493
3479
  /**
3494
3480
  * If declared, the dropdown will only show by calling the API .show() public method.
3495
- * @default false
3496
3481
  */
3497
3482
  disableEventShow: {
3498
3483
  type: Boolean,
@@ -3509,11 +3494,11 @@ class AuroDropdown extends AuroElement {
3509
3494
 
3510
3495
  /**
3511
3496
  * If declared, the dropdown displays a chevron on the right.
3512
- * @attr {Boolean} chevron
3513
3497
  */
3514
3498
  chevron: {
3515
3499
  type: Boolean,
3516
- reflect: true
3500
+ reflect: true,
3501
+ attribute: 'chevron'
3517
3502
  },
3518
3503
 
3519
3504
  /**
@@ -3550,7 +3535,7 @@ class AuroDropdown extends AuroElement {
3550
3535
  },
3551
3536
 
3552
3537
  /**
3553
- * If declared in combination with not using the `simple` property or `helpText` slot content, will apply red color to both.
3538
+ * If declared, will apply error UI to the dropdown.
3554
3539
  */
3555
3540
  error: {
3556
3541
  type: Boolean,
@@ -3605,18 +3590,28 @@ class AuroDropdown extends AuroElement {
3605
3590
  },
3606
3591
 
3607
3592
  /**
3608
- * Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)
3609
- * at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
3593
+ * Defines the screen size breakpoint at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
3610
3594
  *
3611
3595
  * When expanded, the dropdown will automatically display in fullscreen mode
3612
3596
  * if the screen size is equal to or smaller than the selected breakpoint.
3613
- * @default sm
3597
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'disabled'}
3598
+ * @default 'sm'
3614
3599
  */
3615
3600
  fullscreenBreakpoint: {
3616
3601
  type: String,
3617
3602
  reflect: true
3618
3603
  },
3619
3604
 
3605
+ /**
3606
+ * Sets the layout of the dropdown.
3607
+ * @type {'classic' | 'emphasized' | 'snowflake'}
3608
+ * @default 'classic'
3609
+ */
3610
+ layout: {
3611
+ type: String,
3612
+ reflect: true
3613
+ },
3614
+
3620
3615
  /**
3621
3616
  * Defines if the trigger should size based on the parent element providing the border UI.
3622
3617
  * @private
@@ -3637,7 +3632,6 @@ class AuroDropdown extends AuroElement {
3637
3632
  /**
3638
3633
  * If declared, the bib will NOT flip to an alternate position
3639
3634
  * when there isn't enough space in the specified `placement`.
3640
- * @default false
3641
3635
  */
3642
3636
  noFlip: {
3643
3637
  type: Boolean,
@@ -3646,7 +3640,6 @@ class AuroDropdown extends AuroElement {
3646
3640
 
3647
3641
  /**
3648
3642
  * If declared, the dropdown will shift its position to avoid being cut off by the viewport.
3649
- * @default false
3650
3643
  */
3651
3644
  shift: {
3652
3645
  type: Boolean,
@@ -3679,7 +3672,7 @@ class AuroDropdown extends AuroElement {
3679
3672
  },
3680
3673
 
3681
3674
  /**
3682
- * DEPRECATED - use `appearance` instead.
3675
+ * DEPRECATED - use `appearance="inverse"` instead.
3683
3676
  */
3684
3677
  onDark: {
3685
3678
  type: Boolean,
@@ -3696,7 +3689,8 @@ class AuroDropdown extends AuroElement {
3696
3689
 
3697
3690
  /**
3698
3691
  * Position where the bib should appear relative to the trigger.
3699
- * @default bottom-start
3692
+ * @type {'top' | 'right' | 'bottom' | 'left' | 'bottom-start' | 'top-start' | 'top-end' | 'right-start' | 'right-end' | 'bottom-end' | 'left-start' | 'left-end'}
3693
+ * @default 'bottom-start'
3700
3694
  */
3701
3695
  placement: {
3702
3696
  type: String,
@@ -3708,15 +3702,6 @@ class AuroDropdown extends AuroElement {
3708
3702
  */
3709
3703
  tabIndex: {
3710
3704
  type: Number
3711
- },
3712
-
3713
- /**
3714
- * The value for the role attribute of the trigger element.
3715
- */
3716
- a11yRole: {
3717
- type: String || undefined,
3718
- attribute: false,
3719
- reflect: false
3720
3705
  }
3721
3706
  };
3722
3707
  }
@@ -3743,7 +3728,7 @@ class AuroDropdown extends AuroElement {
3743
3728
 
3744
3729
  /**
3745
3730
  * This will register this element with the browser.
3746
- * @param {string} [name="auro-dropdown"] - The name of element that you want to register to.
3731
+ * @param {string} [name="auro-dropdown"] - The name of the element that you want to register.
3747
3732
  *
3748
3733
  * @example
3749
3734
  * AuroDropdown.register("custom-dropdown") // this will register this element to <custom-dropdown/>