@aurodesignsystem-dev/auro-formkit 0.0.0-pr1483.0 → 0.0.0-pr1483.10

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 (52) hide show
  1. package/components/checkbox/demo/customize.min.js +2 -233
  2. package/components/checkbox/demo/getting-started.min.js +2 -233
  3. package/components/checkbox/demo/index.min.js +2 -233
  4. package/components/checkbox/dist/index.js +2 -233
  5. package/components/checkbox/dist/registered.js +2 -233
  6. package/components/combobox/demo/customize.min.js +7 -238
  7. package/components/combobox/demo/getting-started.min.js +7 -238
  8. package/components/combobox/demo/index.min.js +7 -238
  9. package/components/combobox/demo/keyboard-behavior.md +68 -8
  10. package/components/combobox/dist/index.js +7 -238
  11. package/components/combobox/dist/registered.js +7 -238
  12. package/components/counter/demo/customize.min.js +3 -234
  13. package/components/counter/demo/index.min.js +3 -234
  14. package/components/counter/dist/index.js +2 -233
  15. package/components/counter/dist/registered.js +2 -233
  16. package/components/datepicker/demo/api.md +52 -51
  17. package/components/datepicker/demo/customize.md +52 -15
  18. package/components/datepicker/demo/index.md +23 -0
  19. package/components/datepicker/demo/index.min.js +5069 -1044
  20. package/components/datepicker/dist/index.js +4587 -562
  21. package/components/datepicker/dist/registered.js +4587 -562
  22. package/components/datepicker/dist/src/auro-calendar-cell.d.ts +3 -1
  23. package/components/datepicker/dist/src/auro-calendar-month.d.ts +23 -0
  24. package/components/datepicker/dist/src/auro-calendar.d.ts +15 -0
  25. package/components/datepicker/dist/src/auro-datepicker.d.ts +27 -13
  26. package/components/datepicker/dist/src/utilities.d.ts +0 -20
  27. package/components/datepicker/dist/src/utilitiesCalendar.d.ts +0 -1
  28. package/components/dropdown/demo/customize.min.js +1 -1
  29. package/components/dropdown/demo/getting-started.min.js +1 -1
  30. package/components/dropdown/demo/index.min.js +1 -1
  31. package/components/dropdown/dist/index.js +1 -1
  32. package/components/dropdown/dist/registered.js +1 -1
  33. package/components/form/demo/customize.min.js +5294 -2422
  34. package/components/form/demo/getting-started.min.js +5294 -2422
  35. package/components/form/demo/index.min.js +5294 -2422
  36. package/components/form/demo/registerDemoDeps.min.js +5294 -2422
  37. package/components/input/demo/customize.min.js +2 -2
  38. package/components/input/demo/getting-started.min.js +2 -2
  39. package/components/input/demo/index.min.js +2 -2
  40. package/components/input/dist/index.js +2 -2
  41. package/components/input/dist/registered.js +2 -2
  42. package/components/radio/demo/index.min.js +2 -233
  43. package/components/radio/dist/index.js +2 -233
  44. package/components/radio/dist/registered.js +2 -233
  45. package/components/select/demo/customize.min.js +21 -250
  46. package/components/select/demo/getting-started.min.js +21 -250
  47. package/components/select/demo/index.min.js +21 -250
  48. package/components/select/demo/keyboard-behavior.md +54 -8
  49. package/components/select/dist/index.js +21 -250
  50. package/components/select/dist/registered.js +21 -250
  51. package/custom-elements.json +1597 -1582
  52. package/package.json +3 -3
@@ -152,237 +152,6 @@ var shapeSizeCss$1 = i$6`.shape-classic-xl,.shape-classic-lg,.shape-classic-md,.
152
152
 
153
153
  var tokensCss$3 = i$6`:host(:not([ondark])),:host(:not([appearance=inverse])){--ds-auro-select-border-color: var(--ds-basic-color-border-bold, #585e67);--ds-auro-select-background-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-select-label-text-color: var(--ds-basic-color-texticon-muted, #676767);--ds-auro-select-placeholder-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-select-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-select-error-icon-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: transparent}:host([ondark]),:host([appearance=inverse]){--ds-auro-select-border-color: var(--ds-basic-color-border-inverse, #ffffff);--ds-auro-select-background-color: var(--ds-advanced-color-shared-background-inverse, rgba(255, 255, 255, 0.15));--ds-auro-select-label-text-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db);--ds-auro-select-placeholder-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-select-text-color: var(--ds-basic-color-texticon-inverse, #ffffff);--ds-auro-select-error-icon-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: transparent}`;
154
154
 
155
- /**
156
- * @description Splits a date string into its parts according to the provided format. Does NOT validate that the result is a real calendar date — use `parseDate` when validation is required.
157
- * @param {string} dateStr - Date string to parse.
158
- * @param {string} format - Date format to parse.
159
- * @returns {{ month?: string, day?: string, year?: string }|undefined}
160
- */
161
- function getDateParts(dateStr, format) {
162
- if (!dateStr) {
163
- return undefined;
164
- }
165
-
166
- const formatSeparatorMatch = format.match(/[/.-]/);
167
- let valueParts;
168
- let formatParts;
169
-
170
- if (formatSeparatorMatch) {
171
- const separator = formatSeparatorMatch[0];
172
- valueParts = dateStr.split(separator);
173
- formatParts = format.split(separator);
174
- } else {
175
- if (dateStr.match(/[/.-]/)) {
176
- throw new Error(
177
- "AuroDatepickerUtilities | parseDate: Date string has no separators",
178
- );
179
- }
180
-
181
- if (dateStr.length !== format.length) {
182
- throw new Error(
183
- "AuroDatepickerUtilities | parseDate: Date string and format length do not match",
184
- );
185
- }
186
-
187
- valueParts = [dateStr];
188
- formatParts = [format];
189
- }
190
-
191
- if (valueParts.length !== formatParts.length) {
192
- throw new Error(
193
- `AuroDatepickerUtilities | parseDate: Date string and format do not match : ${dateStr} vs ${format}`,
194
- );
195
- }
196
-
197
- const result = formatParts.reduce((acc, part, index) => {
198
- const value = valueParts[index];
199
-
200
- if (/m/iu.test(part) && part.length === value.length) {
201
- acc.month = value;
202
- } else if (/d/iu.test(part) && part.length === value.length) {
203
- acc.day = value;
204
- } else if (/y/iu.test(part) && part.length === value.length) {
205
- acc.year = value;
206
- }
207
-
208
- return acc;
209
- }, {});
210
-
211
- if (!result.month && !result.day && !result.year) {
212
- throw new Error(
213
- "AuroDatepickerUtilities | parseDate: Unable to parse date string",
214
- );
215
- }
216
-
217
- return result;
218
- }
219
-
220
- function isCalendarDate(year, month, day) {
221
- let yearNumber = Number(year);
222
- const monthNumber = Number(month);
223
- const dayNumber = Number(day);
224
-
225
- if (
226
- !Number.isInteger(yearNumber) ||
227
- !Number.isInteger(monthNumber) ||
228
- !Number.isInteger(dayNumber)
229
- ) {
230
- return false;
231
- }
232
-
233
- // Handle 2-digit years by converting them to 4-digit years based on a cutoff. This allows for parsing of 2-digit year formats while still validating the resulting date.
234
- if (yearNumber < 100 && yearNumber >= 50) {
235
- yearNumber += 1900;
236
- } else if (yearNumber < 50) {
237
- yearNumber += 2000;
238
- }
239
-
240
- const stringified = `${String(yearNumber).padStart(4, "0")}-${String(monthNumber).padStart(2, "0")}-${String(dayNumber).padStart(2, "0")}`;
241
- const date = new Date(stringified.replace(/[.-]/g, "/"));
242
-
243
- return (
244
- !Number.isNaN(date.getTime()) && toISOFormatString(date) === stringified
245
- );
246
- }
247
-
248
- /**
249
- * @description Parses a date string into its components and validates that the result is a real calendar date. Use `getDateParts` instead when raw splitting without validation is needed (e.g. for in-progress input).
250
- *
251
- * Partial formats are supported: components absent from `format` default to `year → "0"`,
252
- * `month → "01"`, `day → "01"` for calendar validation only. The returned object contains
253
- * only the fields actually present in the format string — missing fields are never injected.
254
- * @param {string} dateStr - Date string to parse.
255
- * @param {string} format - Date format to parse.
256
- * @returns {{ month?: string, day?: string, year?: string }|undefined}
257
- * @throws {Error} Throws when the parsed result does not represent a valid calendar date.
258
- */
259
- function parseDate(dateStr, format = "mm/dd/yyyy") {
260
- if (!dateStr || !format) {
261
- return undefined;
262
- }
263
- const result = getDateParts(dateStr.trim(), format);
264
-
265
- if (!result) {
266
- return undefined;
267
- }
268
-
269
- const lowerFormat = format.toLowerCase();
270
- const year = lowerFormat.includes("yy") ? result.year : "0";
271
- const month = lowerFormat.includes("mm") ? result.month : "01";
272
- const day = lowerFormat.includes("dd") ? result.day : "01";
273
-
274
- if (isCalendarDate(year, month, day)) {
275
- return result;
276
- }
277
-
278
- throw new Error(
279
- `AuroDatepickerUtilities | parseDate: Date string is not a valid date ${JSON.stringify(result)} with format ${format}`,
280
- );
281
- }
282
-
283
- /**
284
- * Convert a date object to string format.
285
- * @param {Object} date - Date to convert to string.
286
- * @param {String} locale - Optional locale to use for the date string. Defaults to user's locale.
287
- * @returns {String} Returns the date as a string.
288
- */
289
- function getDateAsString(date, locale = undefined) {
290
- return date.toLocaleDateString(locale, {
291
- year: "numeric",
292
- month: "2-digit",
293
- day: "2-digit",
294
- });
295
- }
296
-
297
- /**
298
- * Converts a date string to a North American date format.
299
- * @param {String} dateStr - Date to validate.
300
- * @param {String} format - Date format to validate against.
301
- * @returns {String}
302
- */
303
- function toNorthAmericanFormat(dateStr, format) {
304
- if (format === "mm/dd/yyyy") {
305
- return dateStr;
306
- }
307
-
308
- const parsedDate = parseDate(dateStr, format);
309
-
310
- if (!parsedDate) {
311
- throw new Error(
312
- "AuroDatepickerUtilities | toNorthAmericanFormat: Unable to parse date string",
313
- );
314
- }
315
-
316
- const { month, day, year } = parsedDate;
317
-
318
- return [month, day, year].filter(Boolean).join("/");
319
- }
320
-
321
- /**
322
- * Validates that a date string matches the provided format and represents a real calendar date.
323
- *
324
- * @param {string} dateStr - Date string to validate.
325
- * @param {string} [format="yyyy-mm-dd"] - Format of the date string.
326
- * @returns {boolean} True when the date string is valid for the provided format, otherwise false.
327
- */
328
- function isValidDate(dateStr, format = "yyyy-mm-dd") {
329
- try {
330
- if (typeof dateStr !== "string" || !dateStr || format?.length < 8) {
331
- return false;
332
- }
333
-
334
- if (parseDate(dateStr, format)) {
335
- return true;
336
- }
337
- } catch (error) {
338
- return false;
339
- }
340
- return false;
341
- }
342
-
343
- /**
344
- * Converts a JavaScript Date instance to a simple ISO-like date string. This returns only the calendar date portion without any time or timezone information.
345
- *
346
- * @param {Date} date - Date instance to convert to an ISO-like string.
347
- * @returns {string} A string in the format "yyyy-mm-dd" representing the provided date.
348
- * @throws {Error} Throws an error when the input is not a valid Date instance.
349
- */
350
- function toISOFormatString(date) {
351
- if (!(date instanceof Date) || Number.isNaN(date.getTime())) {
352
- throw new Error(
353
- "AuroDatepickerUtilities | toISOFormatString: Input must be a valid Date instance",
354
- );
355
- }
356
- return `${String(date.getFullYear()).padStart(4, "0")}-${String(date.getMonth() + 1).padStart(2, "0")}-${String(date.getDate()).padStart(2, "0")}`;
357
- }
358
-
359
- /**
360
- * Converts a date string into a JavaScript Date instance. This method supports ISO formatted strings and other formats that can be parsed by the formatter.
361
- *
362
- * @param {String} dateStr - Date string to convert into a Date object.
363
- * @param {String} format - Date format used to parse the string when it is not in ISO format.
364
- * @returns {Date|null} Returns a Date instance for valid input or null for non-string input.
365
- * @throws {Error} Throws when parsing fails for non-ISO string input.
366
- */
367
- function stringToDateInstance(dateStr, format = "yyyy-mm-dd") {
368
- if (typeof dateStr !== "string") {
369
- return null;
370
- }
371
-
372
- const { month, day, year } = parseDate(dateStr, format);
373
- return new Date(`${year}/${month}/${day}`);
374
- }
375
-
376
- const dateFormatter = {
377
- parseDate,
378
- getDateParts,
379
- getDateAsString,
380
- toNorthAmericanFormat,
381
- isValidDate,
382
- toISOFormatString,
383
- stringToDateInstance,
384
- };
385
-
386
155
  // Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
387
156
  // See LICENSE in the project root for license information.
388
157
 
@@ -687,7 +456,7 @@ class AuroFormValidation {
687
456
  }
688
457
 
689
458
  // Validate that the date passed was the correct format and is a valid date
690
- if (elem.value && !dateFormatter.isValidDate(elem.inputElement.value, elem.format)) {
459
+ if (elem.value && !elem.valueObject) {
691
460
  elem.validity = 'patternMismatch';
692
461
  elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
693
462
  return;
@@ -1114,28 +883,30 @@ function navigateArrow(component, direction, options = {}) {
1114
883
  const selectKeyboardStrategy = {
1115
884
  ArrowDown(component, evt, ctx) {
1116
885
  evt.preventDefault();
1117
- if (evt.altKey || evt.metaKey) {
1118
- // navigate to last enabled option
1119
- selectKeyboardStrategy.End(component, evt, ctx);
1120
- return;
886
+ if (ctx.isExpanded) {
887
+ if (evt.altKey || evt.ctrlKey || evt.metaKey) {
888
+ // navigate to last enabled option
889
+ selectKeyboardStrategy.End(component, evt, ctx);
890
+ } else {
891
+ navigateArrow(component, 'down', { ctx });
892
+ }
893
+ } else {
894
+ component.dropdown.show();
1121
895
  }
1122
- navigateArrow(component, 'down', {
1123
- ctx,
1124
- showFn: () => component.dropdown.show(),
1125
- });
1126
896
  },
1127
897
 
1128
898
  ArrowUp(component, evt, ctx) {
1129
899
  evt.preventDefault();
1130
- if (evt.altKey || evt.metaKey) {
1131
- // navigate to first enabled option
1132
- selectKeyboardStrategy.Home(component, evt, ctx);
1133
- return;
900
+ if (ctx.isExpanded) {
901
+ if (evt.altKey || evt.ctrlKey || evt.metaKey) {
902
+ // navigate to first enabled option
903
+ selectKeyboardStrategy.Home(component, evt, ctx);
904
+ } else {
905
+ navigateArrow(component, 'up', { ctx });
906
+ }
907
+ } else {
908
+ component.dropdown.show();
1134
909
  }
1135
- navigateArrow(component, 'up', {
1136
- ctx,
1137
- showFn: () => component.dropdown.show(),
1138
- });
1139
910
  },
1140
911
 
1141
912
  Escape(component, evt, ctx) {
@@ -5142,7 +4913,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
5142
4913
  }
5143
4914
  };
5144
4915
 
5145
- var formkitVersion$1 = '202605271728';
4916
+ var formkitVersion$1 = '202606051610';
5146
4917
 
5147
4918
  class AuroElement extends i$3 {
5148
4919
  static get properties() {
@@ -6895,7 +6666,7 @@ class AuroHelpText extends i$3 {
6895
6666
  }
6896
6667
  }
6897
6668
 
6898
- var formkitVersion = '202605271728';
6669
+ var formkitVersion = '202606051610';
6899
6670
 
6900
6671
  var styleCss$2 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
6901
6672
 
@@ -42,7 +42,7 @@
42
42
  </thead>
43
43
  <tbody>
44
44
  <tr>
45
- <td rowspan="6">ArrowDown</td>
45
+ <td rowspan="8">ArrowDown</td>
46
46
  <td rowspan="2">-</td>
47
47
  <td>Collapsed</td>
48
48
  <td>Trigger element</td>
@@ -56,10 +56,15 @@
56
56
  </td>
57
57
  </tr>
58
58
  <tr>
59
- <td rowspan="2">Command</td>
59
+ <td rowspan="2">Meta (Command / Windows key)</td>
60
60
  <td>Collapsed</td>
61
61
  <td>Trigger element</td>
62
- <td>Opens the bib.</td>
62
+ <td>
63
+ Opens the bib.
64
+ <div class="note">
65
+ <strong>Note:</strong> On Windows, <code>Meta</code> + arrow key combinations are reserved by the operating system for window management. Windows users should use <code>Control</code> or <code>Alt</code> instead.
66
+ </div>
67
+ </td>
63
68
  </tr>
64
69
  <tr>
65
70
  <td>Expanded</td>
@@ -69,7 +74,7 @@
69
74
  </td>
70
75
  </tr>
71
76
  <tr>
72
- <td rowspan="2">Option</td>
77
+ <td rowspan="2">Alt (Option)</td>
73
78
  <td>Collapsed</td>
74
79
  <td>Trigger element</td>
75
80
  <td>Opens the bib.</td>
@@ -82,7 +87,25 @@
82
87
  </td>
83
88
  </tr>
84
89
  <tr>
85
- <td rowspan="6">ArrowUp</td>
90
+ <td rowspan="2">Control</td>
91
+ <td>Collapsed</td>
92
+ <td>Trigger element</td>
93
+ <td>
94
+ Opens the bib.
95
+ <div class="note">
96
+ <strong>Note:</strong> On macOS, <code>Control</code> + arrow key combinations are reserved by the operating system for Mission Control and Application Windows. macOS users should use <code>Meta</code> or <code>Alt</code> instead.
97
+ </div>
98
+ </td>
99
+ </tr>
100
+ <tr>
101
+ <td>Expanded</td>
102
+ <td>Trigger element</td>
103
+ <td>
104
+ Advances the <code>focused</code> option to the last enabled option in the list.
105
+ </td>
106
+ </tr>
107
+ <tr>
108
+ <td rowspan="8">ArrowUp</td>
86
109
  <td rowspan="2">-</td>
87
110
  <td>Collapsed</td>
88
111
  <td>Trigger element</td>
@@ -96,10 +119,15 @@
96
119
  </td>
97
120
  </tr>
98
121
  <tr>
99
- <td rowspan="2">Command</td>
122
+ <td rowspan="2">Meta (Command / Windows key)</td>
100
123
  <td>Collapsed</td>
101
124
  <td>Trigger element</td>
102
- <td>Opens the bib.</td>
125
+ <td>
126
+ Opens the bib.
127
+ <div class="note">
128
+ <strong>Note:</strong> On Windows, <code>Meta</code> + arrow key combinations are reserved by the operating system for window management. Windows users should use <code>Control</code> or <code>Alt</code> instead.
129
+ </div>
130
+ </td>
103
131
  </tr>
104
132
  <tr>
105
133
  <td>Expanded</td>
@@ -109,7 +137,7 @@
109
137
  </td>
110
138
  </tr>
111
139
  <tr>
112
- <td rowspan="2">Option</td>
140
+ <td rowspan="2">Alt (Option)</td>
113
141
  <td>Collapsed</td>
114
142
  <td>Trigger element</td>
115
143
  <td>Opens the bib.</td>
@@ -122,6 +150,24 @@
122
150
  </td>
123
151
  </tr>
124
152
  <tr>
153
+ <td rowspan="2">Control</td>
154
+ <td>Collapsed</td>
155
+ <td>Trigger element</td>
156
+ <td>
157
+ Opens the bib.
158
+ <div class="note">
159
+ <strong>Note:</strong> On macOS, <code>Control</code> + arrow key combinations are reserved by the operating system for Mission Control and Application Windows. macOS users should use <code>Meta</code> or <code>Alt</code> instead.
160
+ </div>
161
+ </td>
162
+ </tr>
163
+ <tr>
164
+ <td>Expanded</td>
165
+ <td>Trigger element</td>
166
+ <td>
167
+ Advances the <code>focused</code> option to the first enabled option in the list.
168
+ </td>
169
+ </tr>
170
+ <tr>
125
171
  <td>End</td>
126
172
  <td>-</td>
127
173
  <td>Expanded</td>