@aurodesignsystem/auro-formkit 6.1.0 → 6.2.0

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 (110) hide show
  1. package/CHANGELOG.md +24 -16
  2. package/components/bibtemplate/dist/auro-bibtemplate.d.ts +11 -0
  3. package/components/bibtemplate/dist/index.js +17 -4
  4. package/components/bibtemplate/dist/registered.js +17 -4
  5. package/components/checkbox/demo/accessibility.md +15 -4
  6. package/components/checkbox/demo/api.md +20 -13
  7. package/components/checkbox/demo/customize.md +2 -1
  8. package/components/checkbox/demo/customize.min.js +129 -29
  9. package/components/checkbox/demo/getting-started.min.js +129 -29
  10. package/components/checkbox/demo/index.min.js +129 -29
  11. package/components/checkbox/demo/styles.min.css +1 -1
  12. package/components/checkbox/dist/auro-checkbox-group.d.ts +33 -0
  13. package/components/checkbox/dist/auro-checkbox.d.ts +7 -2
  14. package/components/checkbox/dist/index.js +129 -29
  15. package/components/checkbox/dist/registered.js +129 -29
  16. package/components/combobox/demo/api.md +27 -19
  17. package/components/combobox/demo/customize.min.js +676 -151
  18. package/components/combobox/demo/getting-started.md +49 -0
  19. package/components/combobox/demo/getting-started.min.js +695 -151
  20. package/components/combobox/demo/index.min.js +676 -151
  21. package/components/combobox/demo/styles.min.css +1 -1
  22. package/components/combobox/dist/auro-combobox.d.ts +72 -27
  23. package/components/combobox/dist/index.js +569 -133
  24. package/components/combobox/dist/registered.js +569 -133
  25. package/components/counter/demo/api.md +36 -16
  26. package/components/counter/demo/customize.min.js +692 -105
  27. package/components/counter/demo/getting-started.html +3 -1
  28. package/components/counter/demo/getting-started.md +49 -0
  29. package/components/counter/demo/getting-started.min.js +8808 -0
  30. package/components/counter/demo/index.min.js +692 -105
  31. package/components/counter/demo/styles.min.css +1 -1
  32. package/components/counter/dist/auro-counter-button.d.ts +4 -0
  33. package/components/counter/dist/auro-counter-group.d.ts +38 -6
  34. package/components/counter/dist/auro-counter.d.ts +33 -0
  35. package/components/counter/dist/counterGroupKeyboardStrategy.d.ts +1 -0
  36. package/components/counter/dist/index.js +691 -104
  37. package/components/counter/dist/registered.js +691 -104
  38. package/components/datepicker/demo/api.md +55 -49
  39. package/components/datepicker/demo/customize.min.js +659 -166
  40. package/components/datepicker/demo/getting-started.html +3 -1
  41. package/components/datepicker/demo/getting-started.md +39 -0
  42. package/components/datepicker/demo/getting-started.min.js +37669 -0
  43. package/components/datepicker/demo/index.min.js +659 -166
  44. package/components/datepicker/demo/styles.min.css +1 -1
  45. package/components/datepicker/dist/auro-calendar-cell.d.ts +58 -4
  46. package/components/datepicker/dist/auro-calendar-month.d.ts +10 -4
  47. package/components/datepicker/dist/auro-calendar.d.ts +25 -6
  48. package/components/datepicker/dist/auro-datepicker.d.ts +75 -24
  49. package/components/datepicker/dist/index.js +658 -165
  50. package/components/datepicker/dist/registered.js +658 -165
  51. package/components/dropdown/demo/api.md +25 -22
  52. package/components/dropdown/demo/customize.min.js +217 -43
  53. package/components/dropdown/demo/getting-started.min.js +364 -95
  54. package/components/dropdown/demo/index.min.js +217 -43
  55. package/components/dropdown/demo/styles.min.css +1 -1
  56. package/components/dropdown/dist/auro-dropdown.d.ts +35 -8
  57. package/components/dropdown/dist/auro-dropdownBib.d.ts +17 -5
  58. package/components/dropdown/dist/index.js +217 -43
  59. package/components/dropdown/dist/registered.js +217 -43
  60. package/components/form/demo/customize.min.js +2739 -628
  61. package/components/form/demo/getting-started.min.js +2739 -628
  62. package/components/form/demo/index.min.js +2739 -628
  63. package/components/form/demo/registerDemoDeps.min.js +2733 -627
  64. package/components/form/demo/styles.min.css +1 -1
  65. package/components/form/dist/index.js +6 -1
  66. package/components/form/dist/registered.js +6 -1
  67. package/components/helptext/dist/auro-helptext.d.ts +9 -7
  68. package/components/helptext/dist/index.js +9 -3
  69. package/components/helptext/dist/registered.js +9 -3
  70. package/components/input/demo/api.md +30 -30
  71. package/components/input/demo/customize.md +0 -37
  72. package/components/input/demo/customize.min.js +147 -61
  73. package/components/input/demo/getting-started.md +33 -0
  74. package/components/input/demo/getting-started.min.js +167 -52
  75. package/components/input/demo/index.min.js +147 -52
  76. package/components/input/demo/styles.min.css +1 -1
  77. package/components/input/dist/base-input.d.ts +80 -25
  78. package/components/input/dist/index.js +146 -51
  79. package/components/input/dist/registered.js +146 -51
  80. package/components/layoutElement/dist/auroElement.d.ts +10 -17
  81. package/components/layoutElement/dist/index.js +20 -20
  82. package/components/layoutElement/dist/registered.js +20 -20
  83. package/components/menu/demo/api.md +31 -27
  84. package/components/menu/demo/index.min.js +126 -37
  85. package/components/menu/demo/styles.min.css +1 -1
  86. package/components/menu/dist/auro-menu.d.ts +26 -21
  87. package/components/menu/dist/auro-menuoption.d.ts +27 -1
  88. package/components/menu/dist/index.js +126 -37
  89. package/components/menu/dist/registered.js +126 -37
  90. package/components/radio/demo/accessibility.md +15 -4
  91. package/components/radio/demo/api.md +10 -9
  92. package/components/radio/demo/customize.min.js +120 -27
  93. package/components/radio/demo/getting-started.min.js +120 -27
  94. package/components/radio/demo/index.min.js +120 -27
  95. package/components/radio/demo/styles.min.css +1 -1
  96. package/components/radio/dist/auro-radio-group.d.ts +31 -3
  97. package/components/radio/dist/auro-radio.d.ts +4 -2
  98. package/components/radio/dist/index.js +120 -27
  99. package/components/radio/dist/registered.js +120 -27
  100. package/components/select/demo/api.md +18 -15
  101. package/components/select/demo/customize.min.js +396 -94
  102. package/components/select/demo/getting-started.md +49 -0
  103. package/components/select/demo/getting-started.min.js +418 -95
  104. package/components/select/demo/index.min.js +396 -94
  105. package/components/select/demo/styles.min.css +1 -1
  106. package/components/select/dist/auro-select.d.ts +18 -0
  107. package/components/select/dist/index.js +289 -76
  108. package/components/select/dist/registered.js +289 -76
  109. package/custom-elements.json +1354 -1404
  110. package/package.json +11 -11
@@ -1738,6 +1738,48 @@ const computePosition = (reference, floating, options) => {
1738
1738
  });
1739
1739
  };
1740
1740
 
1741
+ /**
1742
+ * Generates a v4 UUID with a three-tier fallback for insecure contexts.
1743
+ *
1744
+ * Tier 1 (secure contexts): crypto.randomUUID() — native, fully random.
1745
+ * Tier 2 (insecure contexts): crypto.getRandomValues() — available on all
1746
+ * modern browsers regardless of secure-context status.
1747
+ * Tier 3 (last resort, no crypto API): new Date().getTime() — lower entropy,
1748
+ * but sufficient for element IDs where collision risk is negligible.
1749
+ *
1750
+ * See: https://w3c.github.io/webcrypto/#dom-crypto-randomuuid (secure-context restriction)
1751
+ */
1752
+ function generateUUID() {
1753
+ let uuid;
1754
+
1755
+ if (
1756
+ typeof crypto !== "undefined" &&
1757
+ typeof crypto.randomUUID === "function"
1758
+ ) {
1759
+ uuid = crypto.randomUUID();
1760
+ } else if (
1761
+ typeof crypto !== "undefined" &&
1762
+ typeof crypto.getRandomValues === "function"
1763
+ ) {
1764
+ const bytes = new Uint8Array(16);
1765
+ crypto.getRandomValues(bytes);
1766
+ bytes[6] = (bytes[6] & 0x0f) | 0x40;
1767
+ bytes[8] = (bytes[8] & 0x3f) | 0x80;
1768
+ const hex = Array.from(bytes).map((b) => b.toString(16).padStart(2, "0"));
1769
+ uuid = `${hex.slice(0, 4).join("")}-${hex.slice(4, 6).join("")}-${hex.slice(6, 8).join("")}-${hex.slice(8, 10).join("")}-${hex.slice(10).join("")}`;
1770
+ } else {
1771
+ let d = new Date().getTime();
1772
+ uuid = "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
1773
+ const r = (d % 16) | 0;
1774
+ d = (d - r) / 16 || new Date().getTime();
1775
+ return (c === "x" ? r : (r & 0x3) | 0x8).toString(16);
1776
+ });
1777
+ }
1778
+
1779
+ // CSS selectors require IDs starting with a letter; replace a leading digit with 'a'.
1780
+ return /^[0-9]/.test(uuid) ? `a${uuid.slice(1)}` : uuid;
1781
+ }
1782
+
1741
1783
  /* eslint-disable line-comment-position, no-inline-comments */
1742
1784
 
1743
1785
 
@@ -2071,15 +2113,57 @@ class AuroFloatingUI {
2071
2113
  document.body.style.top = `-${this._savedScrollY}px`;
2072
2114
  document.body.style.width = "100%";
2073
2115
 
2074
- // Move `bib` by the amount the viewport is shifted to stay aligned in fullscreen.
2075
- if (element?.bib && window?.visualViewport?.offsetTop) {
2076
- element.bib.style.transform = `translateY(${window?.visualViewport?.offsetTop}px)`;
2116
+ // Keep the bib aligned with the visual viewport as the VKB opens.
2117
+ // A one-shot offsetTop check at lock time is stale by the time the user
2118
+ // taps an input mid-drawer — iOS then pans visualViewport upward and the
2119
+ // bib drifts off-screen. Listen continuously so the transform tracks the pan.
2120
+ // RAF-throttled to avoid a style recalc on every scroll tick during the
2121
+ // keyboard animation; the pending frame is canceled on unlock so it cannot
2122
+ // reapply a translate after bibTransform has been restored.
2123
+ if (window.visualViewport) {
2124
+ this._viewportRafId = undefined;
2125
+ this._viewportHandler = () => {
2126
+ if (this._viewportRafId !== undefined) {
2127
+ return;
2128
+ }
2129
+ this._viewportRafId = requestAnimationFrame(() => {
2130
+ this._viewportRafId = undefined;
2131
+ if (element?.bib) {
2132
+ element.bib.style.transform = `translateY(${window.visualViewport.offsetTop}px)`;
2133
+ }
2134
+ });
2135
+ };
2136
+ window.visualViewport.addEventListener(
2137
+ "resize",
2138
+ this._viewportHandler,
2139
+ );
2140
+ window.visualViewport.addEventListener(
2141
+ "scroll",
2142
+ this._viewportHandler,
2143
+ );
2144
+ this._viewportHandler();
2077
2145
  }
2078
2146
 
2079
2147
  this.lockTouchScroll(true);
2080
2148
  }
2081
2149
  } else {
2082
2150
  if (this._scrollLocked) {
2151
+ if (this._viewportHandler && window.visualViewport) {
2152
+ window.visualViewport.removeEventListener(
2153
+ "resize",
2154
+ this._viewportHandler,
2155
+ );
2156
+ window.visualViewport.removeEventListener(
2157
+ "scroll",
2158
+ this._viewportHandler,
2159
+ );
2160
+ this._viewportHandler = undefined;
2161
+ }
2162
+ if (this._viewportRafId !== undefined) {
2163
+ cancelAnimationFrame(this._viewportRafId);
2164
+ this._viewportRafId = undefined;
2165
+ }
2166
+
2083
2167
  document.documentElement.style.scrollbarGutter =
2084
2168
  this._savedScrollStyles?.rootScrollbarGutter ?? "";
2085
2169
  document.documentElement.style.overflow =
@@ -2171,7 +2255,7 @@ class AuroFloatingUI {
2171
2255
  bibContent.style.width = "";
2172
2256
  bibContent.style.height = "";
2173
2257
  bibContent.style.maxWidth = "";
2174
- bibContent.style.maxHeight = `${window?.visualViewport?.height}px`;
2258
+ bibContent.style.maxHeight = "";
2175
2259
  this.configureTrial = 0;
2176
2260
  } else if (this.configureTrial < MAX_CONFIGURATION_COUNT) {
2177
2261
  this.configureTrial += 1;
@@ -2468,6 +2552,24 @@ class AuroFloatingUI {
2468
2552
  if (!this.showing) {
2469
2553
  if (!element.modal) {
2470
2554
  this.setupHideHandlers();
2555
+ } else {
2556
+ if (this.keyDownHandler) {
2557
+ document.removeEventListener("keydown", this.keyDownHandler);
2558
+ }
2559
+ this.keyDownHandler = (evt) => {
2560
+ if (evt.key === "Escape" && element.isPopoverVisible) {
2561
+ // Intercept at keydown so CloseWatcher never sees the keystroke.
2562
+ // Canceling `cancel` alone is insufficient — a second Esc with no
2563
+ // intervening user activation triggers the anti-trap and fires `close`
2564
+ // directly, bypassing any `cancel` preventDefault (AB#1613688).
2565
+ // stopImmediatePropagation is intentional: it prevents other document
2566
+ // keydown handlers (e.g. consumer code, auro-dialog) from also acting
2567
+ // on Escape while the modal owns the key.
2568
+ evt.preventDefault();
2569
+ evt.stopImmediatePropagation();
2570
+ }
2571
+ };
2572
+ document.addEventListener("keydown", this.keyDownHandler);
2471
2573
  }
2472
2574
  this.showing = true;
2473
2575
  element.isPopoverVisible = true;
@@ -2696,7 +2798,7 @@ class AuroFloatingUI {
2696
2798
 
2697
2799
  this.id = element.getAttribute("id");
2698
2800
  if (!this.id) {
2699
- this.id = window.crypto.randomUUID();
2801
+ this.id = generateUUID();
2700
2802
  element.setAttribute("id", this.id);
2701
2803
  }
2702
2804
 
@@ -3123,8 +3225,11 @@ const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
3123
3225
  ];
3124
3226
 
3125
3227
  /**
3228
+ * The `auro-dropdownbib` element renders the dropdown's bib as a dialog/popover container and manages its fullscreen and modal display.
3126
3229
  * @prop { String } fullscreenBreakpoint - Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
3127
3230
  * @csspart bibContainer - Apply css to the bib container.
3231
+ * @event auro-dropdownbib-connected - Notifies that the dropdown bib has connected to the DOM, passing a reference to the element in the event detail.
3232
+ * @event auro-bib-cancel - Notifies that the bib was cancelled (e.g. via the ESC key) so parent components can close it.
3128
3233
  */
3129
3234
 
3130
3235
  class AuroDropdownBib extends LitElement {
@@ -3139,9 +3244,17 @@ class AuroDropdownBib extends LitElement {
3139
3244
 
3140
3245
  AuroLibraryRuntimeUtils$1.prototype.handleComponentTagRename(this, 'auro-dropdownbib');
3141
3246
 
3142
- this.shape = "rounded";
3143
3247
  this.matchWidth = false;
3144
3248
  this.hasActiveDescendant = false;
3249
+
3250
+ this.initializeArchitectureDefaults();
3251
+ }
3252
+
3253
+ // The `shape` default is set in a helper (not the constructor body) so the CEM
3254
+ // analyzer keeps its `@type` union instead of inferring `string` from a
3255
+ // constructor-literal assignment. See AlaskaAirlines/discussions#653.
3256
+ initializeArchitectureDefaults() {
3257
+ this.shape = "rounded";
3145
3258
  }
3146
3259
 
3147
3260
  static get styles() {
@@ -3160,6 +3273,7 @@ class AuroDropdownBib extends LitElement {
3160
3273
  */
3161
3274
  isFullscreen: {
3162
3275
  type: Boolean,
3276
+ attribute: 'isfullscreen',
3163
3277
  reflect: true
3164
3278
  },
3165
3279
 
@@ -3185,6 +3299,7 @@ class AuroDropdownBib extends LitElement {
3185
3299
  */
3186
3300
  matchWidth: {
3187
3301
  type: Boolean,
3302
+ attribute: 'matchwidth',
3188
3303
  reflect: true
3189
3304
  },
3190
3305
 
@@ -3200,11 +3315,18 @@ class AuroDropdownBib extends LitElement {
3200
3315
  * A reference to the associated bib template element.
3201
3316
  */
3202
3317
  bibTemplate: {
3203
- type: Object
3318
+ type: Object,
3319
+ attribute: false
3204
3320
  },
3205
3321
 
3322
+ /**
3323
+ * Sets the shape of the dropdown bib.
3324
+ * @type {'box' | 'classic' | 'pill' | 'rounded' | 'snowflake'}
3325
+ * @default 'rounded'
3326
+ */
3206
3327
  shape: {
3207
3328
  type: String,
3329
+ attribute: "shape",
3208
3330
  reflect: true
3209
3331
  },
3210
3332
 
@@ -3216,7 +3338,8 @@ class AuroDropdownBib extends LitElement {
3216
3338
  * @private
3217
3339
  */
3218
3340
  dialogLabel: {
3219
- type: String
3341
+ type: String,
3342
+ attribute: 'dialoglabel'
3220
3343
  },
3221
3344
 
3222
3345
  /**
@@ -3227,7 +3350,8 @@ class AuroDropdownBib extends LitElement {
3227
3350
  * @private
3228
3351
  */
3229
3352
  dialogRole: {
3230
- type: String
3353
+ type: String,
3354
+ attribute: 'dialogrole'
3231
3355
  },
3232
3356
 
3233
3357
  /**
@@ -3235,7 +3359,8 @@ class AuroDropdownBib extends LitElement {
3235
3359
  * @private
3236
3360
  */
3237
3361
  hasActiveDescendant: {
3238
- type: Boolean
3362
+ type: Boolean,
3363
+ attribute: 'hasactivedescendant'
3239
3364
  }
3240
3365
  };
3241
3366
  }
@@ -3486,7 +3611,7 @@ var styleSnowflakeCss = css`:host([layout*=snowflake]) .leftIndent{width:calc(10
3486
3611
 
3487
3612
  var colorCss = css`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]),:host([appearance=inverse]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]),:host([appearance=inverse][error]){--ds-auro-helptext-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
3488
3613
 
3489
- var styleCss = css`.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}:host{position:relative;display:block}.helptext-wrapper{display:none}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
3614
+ var styleCss = css`.body-default{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-default-font-size, 1rem);font-variant-ligatures:none;font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-variant-ligatures:none;font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-lg-font-size, 1.125rem);font-variant-ligatures:none;font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-variant-ligatures:none;font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-sm-font-size, 0.875rem);font-variant-ligatures:none;font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-variant-ligatures:none;font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-xs-font-size, 0.75rem);font-variant-ligatures:none;font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-variant-ligatures:none;font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-variant-ligatures:none;font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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-variant-ligatures:none;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}:host{position:relative;display:block}.helptext-wrapper{display:none}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
3490
3615
 
3491
3616
  var tokensCss = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
3492
3617
 
@@ -3586,6 +3711,8 @@ class AuroHelpText extends LitElement {
3586
3711
  super();
3587
3712
 
3588
3713
  this.error = false;
3714
+
3715
+ /** @type {'default' | 'inverse'} */
3589
3716
  this.appearance = "default";
3590
3717
  this.onDark = false;
3591
3718
  this.hasTextContent = false;
@@ -3606,8 +3733,8 @@ class AuroHelpText extends LitElement {
3606
3733
  return {
3607
3734
 
3608
3735
  /**
3609
- * Defines whether the component will be on lighter or darker backgrounds.
3610
- * @property {'default', 'inverse'} - The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
3736
+ * The appearance of the help text, either default (for light backgrounds) or inverse (for dark backgrounds).
3737
+ * @type {'default' | 'inverse'}
3611
3738
  * @default 'default'
3612
3739
  */
3613
3740
  appearance: {
@@ -3620,6 +3747,7 @@ class AuroHelpText extends LitElement {
3620
3747
  */
3621
3748
  slotNodes: {
3622
3749
  type: Boolean,
3750
+ attribute: 'slotnodes',
3623
3751
  },
3624
3752
 
3625
3753
  /**
@@ -3627,6 +3755,7 @@ class AuroHelpText extends LitElement {
3627
3755
  */
3628
3756
  hasTextContent: {
3629
3757
  type: Boolean,
3758
+ attribute: 'hastextcontent',
3630
3759
  },
3631
3760
 
3632
3761
  /**
@@ -3639,9 +3768,11 @@ class AuroHelpText extends LitElement {
3639
3768
 
3640
3769
  /**
3641
3770
  * DEPRECATED - use `appearance` instead.
3771
+ * @deprecated Use `appearance` instead.
3642
3772
  */
3643
3773
  onDark: {
3644
3774
  type: Boolean,
3775
+ attribute: 'ondark',
3645
3776
  reflect: true
3646
3777
  }
3647
3778
  };
@@ -3712,39 +3843,39 @@ class AuroHelpText extends LitElement {
3712
3843
  }
3713
3844
  }
3714
3845
 
3715
- var formkitVersion = '202608262225';
3846
+ var formkitVersion = '202609101658';
3716
3847
 
3848
+ /**
3849
+ * AuroElement is the shared base class for layout-aware Auro form components.
3850
+ *
3851
+ * It defines the common `layout`, `shape`, `size`, and `ondark` reactive
3852
+ * properties and the architecture helpers (`renderLayout`, `resetShapeClasses`,
3853
+ * `resetLayoutClasses`) that subclasses use to render a chosen layout and apply
3854
+ * the matching `shape-*` / `layout-*` wrapper classes. Subclasses supply their
3855
+ * own default and valid value set for `layout`, `shape`, and `size`.
3856
+ */
3717
3857
  class AuroElement extends LitElement {
3718
3858
  static get properties() {
3719
3859
  return {
3720
3860
 
3721
3861
  /**
3722
- * Defines the language of an element.
3723
- * @default {'default'}
3862
+ * When true, renders the component styled for use on a dark background.
3724
3863
  */
3725
- layout: {
3726
- type: String,
3727
- attribute: "layout",
3728
- reflect: true
3729
- },
3730
-
3731
- shape: {
3732
- type: String,
3733
- attribute: "shape",
3734
- reflect: true
3735
- },
3736
-
3737
- size: {
3738
- type: String,
3739
- attribute: "size",
3740
- reflect: true
3741
- },
3742
-
3743
3864
  onDark: {
3744
3865
  type: Boolean,
3745
3866
  attribute: "ondark",
3746
3867
  reflect: true
3747
3868
  }
3869
+
3870
+ // NOTE: `layout`, `shape`, and `size` are intentionally NOT declared here.
3871
+ // Their valid value sets differ per component, and the CEM analyzer roots
3872
+ // an inherited property's `type` in the class that declares it — a base
3873
+ // declaration would force every subclass's `@type` to be discarded and
3874
+ // emitted as plain `string`. Each subclass declares its own `layout` /
3875
+ // `shape` / `size` with an exact `@type` union instead. AuroElement still
3876
+ // consumes `this.layout` / `this.shape` / `this.size` in its render and
3877
+ // architecture helpers below (subclasses guarantee the reactive props).
3878
+ // See AlaskaAirlines/discussions#653.
3748
3879
  };
3749
3880
  }
3750
3881
 
@@ -3830,6 +3961,7 @@ class AuroElement extends LitElement {
3830
3961
  * @slot helpText - Defines the content of the helpText.
3831
3962
  * @slot trigger - Defines the content of the trigger.
3832
3963
  * @csspart trigger - The trigger content container.
3964
+ * @csspart wrapper - The trigger wrapper element surrounding the trigger content and chevron.
3833
3965
  * @csspart chevron - The collapsed/expanded state icon container.
3834
3966
  * @csspart size - The size of the dropdown bib. (height, width, maxHeight, maxWidth only)
3835
3967
  * @csspart helpText - The helpText content container.
@@ -3854,7 +3986,7 @@ class AuroDropdown extends AuroElement {
3854
3986
 
3855
3987
  /**
3856
3988
  * When true, the dropdown skips its generic focus restoration on close.
3857
- * Set by consumers (e.g. combobox) that manage their own focus routing
3989
+ * Set by consumers (for example combobox) that manage their own focus routing
3858
3990
  * via setClearBtnFocus / setInputFocus / keyboard strategy.
3859
3991
  * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
3860
3992
  * @private
@@ -4023,7 +4155,7 @@ class AuroDropdown extends AuroElement {
4023
4155
  /**
4024
4156
  * Focus the trigger content. When the trigger wrapper itself is focusable
4025
4157
  * (has tabindex), focus it directly. Otherwise, focus the first focusable
4026
- * element slotted into the trigger slot (e.g. the auro-input).
4158
+ * element slotted into the trigger slot (for example the auro-input).
4027
4159
  * @private
4028
4160
  */
4029
4161
  focusTrigger() {
@@ -4120,6 +4252,7 @@ class AuroDropdown extends AuroElement {
4120
4252
  */
4121
4253
  autoPlacement: {
4122
4254
  type: Boolean,
4255
+ attribute: 'autoplacement',
4123
4256
  reflect: true
4124
4257
  },
4125
4258
 
@@ -4128,6 +4261,7 @@ class AuroDropdown extends AuroElement {
4128
4261
  */
4129
4262
  desktopModal: {
4130
4263
  type: Boolean,
4264
+ attribute: 'desktopmodal',
4131
4265
  reflect: true
4132
4266
  },
4133
4267
 
@@ -4136,6 +4270,7 @@ class AuroDropdown extends AuroElement {
4136
4270
  */
4137
4271
  disableEventShow: {
4138
4272
  type: Boolean,
4273
+ attribute: 'disableeventshow',
4139
4274
  reflect: true
4140
4275
  },
4141
4276
 
@@ -4169,14 +4304,16 @@ class AuroDropdown extends AuroElement {
4169
4304
  */
4170
4305
  disableKeyboardHandling: {
4171
4306
  type: Boolean,
4307
+ attribute: 'disablekeyboardhandling',
4172
4308
  reflect: true
4173
4309
  },
4174
4310
 
4175
4311
  /**
4176
- * @private
4312
+ * Sets the width of the dropdown bib in pixels.
4177
4313
  */
4178
4314
  dropdownWidth: {
4179
- type: Number
4315
+ type: Number,
4316
+ attribute: 'dropdownwidth'
4180
4317
  },
4181
4318
 
4182
4319
  /**
@@ -4201,7 +4338,8 @@ class AuroDropdown extends AuroElement {
4201
4338
  * Contains the help text message for the current validity error.
4202
4339
  */
4203
4340
  errorMessage: {
4204
- type: String
4341
+ type: String,
4342
+ attribute: 'errormessage'
4205
4343
  },
4206
4344
 
4207
4345
  /**
@@ -4209,6 +4347,7 @@ class AuroDropdown extends AuroElement {
4209
4347
  */
4210
4348
  focusShow: {
4211
4349
  type: Boolean,
4350
+ attribute: 'focusshow',
4212
4351
  reflect: true
4213
4352
  },
4214
4353
 
@@ -4226,6 +4365,7 @@ class AuroDropdown extends AuroElement {
4226
4365
  */
4227
4366
  isBibFullscreen: {
4228
4367
  type: Boolean,
4368
+ attribute: 'isbibfullscreen',
4229
4369
  reflect: true
4230
4370
  },
4231
4371
 
@@ -4234,6 +4374,7 @@ class AuroDropdown extends AuroElement {
4234
4374
  */
4235
4375
  hoverToggle: {
4236
4376
  type: Boolean,
4377
+ attribute: 'hovertoggle',
4237
4378
  reflect: true
4238
4379
  },
4239
4380
 
@@ -4241,7 +4382,8 @@ class AuroDropdown extends AuroElement {
4241
4382
  * @private
4242
4383
  */
4243
4384
  hasTriggerContent: {
4244
- type: Boolean
4385
+ type: Boolean,
4386
+ attribute: false
4245
4387
  },
4246
4388
 
4247
4389
  /**
@@ -4254,6 +4396,7 @@ class AuroDropdown extends AuroElement {
4254
4396
  */
4255
4397
  fullscreenBreakpoint: {
4256
4398
  type: String,
4399
+ attribute: "fullscreenbreakpoint",
4257
4400
  reflect: true
4258
4401
  },
4259
4402
 
@@ -4264,6 +4407,27 @@ class AuroDropdown extends AuroElement {
4264
4407
  */
4265
4408
  layout: {
4266
4409
  type: String,
4410
+ attribute: "layout",
4411
+ reflect: true
4412
+ },
4413
+
4414
+ /**
4415
+ * Sets the shape of the dropdown.
4416
+ * @type {'box' | 'classic' | 'pill' | 'pill-left' | 'pill-right' | 'rounded' | 'snowflake'}
4417
+ */
4418
+ shape: {
4419
+ type: String,
4420
+ attribute: "shape",
4421
+ reflect: true
4422
+ },
4423
+
4424
+ /**
4425
+ * Sets the size of the dropdown.
4426
+ * @type {'xs' | 'sm' | 'md' | 'lg' | 'xl'}
4427
+ */
4428
+ size: {
4429
+ type: String,
4430
+ attribute: "size",
4267
4431
  reflect: true
4268
4432
  },
4269
4433
 
@@ -4273,6 +4437,7 @@ class AuroDropdown extends AuroElement {
4273
4437
  */
4274
4438
  parentBorder: {
4275
4439
  type: Boolean,
4440
+ attribute: 'parentborder',
4276
4441
  reflect: true
4277
4442
  },
4278
4443
 
@@ -4281,6 +4446,7 @@ class AuroDropdown extends AuroElement {
4281
4446
  */
4282
4447
  matchWidth: {
4283
4448
  type: Boolean,
4449
+ attribute: 'matchwidth',
4284
4450
  reflect: true
4285
4451
  },
4286
4452
 
@@ -4290,6 +4456,7 @@ class AuroDropdown extends AuroElement {
4290
4456
  */
4291
4457
  noFlip: {
4292
4458
  type: Boolean,
4459
+ attribute: 'noflip',
4293
4460
  reflect: true
4294
4461
  },
4295
4462
 
@@ -4306,6 +4473,7 @@ class AuroDropdown extends AuroElement {
4306
4473
  */
4307
4474
  noHideOnThisFocusLoss: {
4308
4475
  type: Boolean,
4476
+ attribute: 'nohideonthisfocusloss',
4309
4477
  reflect: true
4310
4478
  },
4311
4479
 
@@ -4314,6 +4482,7 @@ class AuroDropdown extends AuroElement {
4314
4482
  */
4315
4483
  noToggle: {
4316
4484
  type: Boolean,
4485
+ attribute: 'notoggle',
4317
4486
  reflect: true
4318
4487
  },
4319
4488
 
@@ -4328,17 +4497,21 @@ class AuroDropdown extends AuroElement {
4328
4497
 
4329
4498
  /**
4330
4499
  * DEPRECATED - use `appearance="inverse"` instead.
4500
+ * @deprecated Use `appearance="inverse"` instead.
4331
4501
  */
4332
4502
  onDark: {
4333
4503
  type: Boolean,
4504
+ attribute: 'ondark',
4334
4505
  reflect: true
4335
4506
  },
4336
4507
 
4337
4508
  /**
4338
4509
  * If declared, and a function is set, that function will execute when the slot content is updated.
4510
+ * @type {() => void}
4339
4511
  */
4340
4512
  onSlotChange: {
4341
4513
  type: Function,
4514
+ attribute: false,
4342
4515
  reflect: false
4343
4516
  },
4344
4517
 
@@ -4353,10 +4526,11 @@ class AuroDropdown extends AuroElement {
4353
4526
  },
4354
4527
 
4355
4528
  /**
4356
- * @private
4529
+ * Sets the tabindex applied to the dropdown trigger for keyboard focus order.
4357
4530
  */
4358
4531
  tabIndex: {
4359
- type: Number
4532
+ type: Number,
4533
+ attribute: 'tabindex'
4360
4534
  },
4361
4535
 
4362
4536
  /**
@@ -4580,7 +4754,7 @@ class AuroDropdown extends AuroElement {
4580
4754
  /**
4581
4755
  * @description Let subscribers know that the dropdown ID ha been generated and added.
4582
4756
  * @event auroDropdown-idAdded
4583
- * @type {Object<key: 'id', value: string>} - The ID of the dropdown bib element.
4757
+ * @type {CustomEvent<{ id: string }>} - Detail carries the generated ID of the dropdown bib element.
4584
4758
  */
4585
4759
  this.dispatchEvent(new CustomEvent('auroDropdown-idAdded', {detail: {id: this.floater.element.id}}));
4586
4760