@aurodesignsystem-dev/auro-formkit 0.0.0-pr1344.0 → 0.0.0-pr1344.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 (37) hide show
  1. package/components/checkbox/demo/api.min.js +1 -1
  2. package/components/checkbox/demo/index.min.js +1 -1
  3. package/components/checkbox/dist/index.js +1 -1
  4. package/components/checkbox/dist/registered.js +1 -1
  5. package/components/combobox/demo/api.min.js +91 -67
  6. package/components/combobox/demo/index.min.js +91 -67
  7. package/components/combobox/dist/index.js +91 -67
  8. package/components/combobox/dist/registered.js +91 -67
  9. package/components/counter/demo/api.min.js +2 -2
  10. package/components/counter/demo/index.min.js +2 -2
  11. package/components/counter/dist/index.js +2 -2
  12. package/components/counter/dist/registered.js +2 -2
  13. package/components/datepicker/demo/api.min.js +91 -67
  14. package/components/datepicker/demo/index.min.js +91 -67
  15. package/components/datepicker/dist/index.js +91 -67
  16. package/components/datepicker/dist/registered.js +91 -67
  17. package/components/dropdown/demo/api.min.js +1 -1
  18. package/components/dropdown/demo/index.min.js +1 -1
  19. package/components/dropdown/dist/index.js +1 -1
  20. package/components/dropdown/dist/registered.js +1 -1
  21. package/components/input/demo/api.md +73 -30
  22. package/components/input/demo/api.min.js +89 -65
  23. package/components/input/demo/index.md +2 -22
  24. package/components/input/demo/index.min.js +89 -65
  25. package/components/input/dist/base-input.d.ts +1 -16
  26. package/components/input/dist/index.js +89 -65
  27. package/components/input/dist/registered.js +89 -65
  28. package/components/radio/demo/api.min.js +1 -1
  29. package/components/radio/demo/index.min.js +1 -1
  30. package/components/radio/dist/index.js +1 -1
  31. package/components/radio/dist/registered.js +1 -1
  32. package/components/select/demo/api.min.js +2 -2
  33. package/components/select/demo/index.min.js +2 -2
  34. package/components/select/dist/index.js +2 -2
  35. package/components/select/dist/registered.js +2 -2
  36. package/custom-elements.json +0 -70
  37. package/package.json +2 -2
@@ -4249,7 +4249,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
4249
4249
  }
4250
4250
  };
4251
4251
 
4252
- var formkitVersion$2 = '202602201616';
4252
+ var formkitVersion$2 = '202602201815';
4253
4253
 
4254
4254
  let AuroElement$2 = class AuroElement extends LitElement {
4255
4255
  static get properties() {
@@ -15835,6 +15835,92 @@ class UniqueId {
15835
15835
  }
15836
15836
  }
15837
15837
 
15838
+ /**
15839
+ * Class for interaction with the DOM.
15840
+ */
15841
+ class DomHandler {
15842
+ /**
15843
+ * Walk up the DOM (including Shadow DOM boundaries) to find
15844
+ * the closest ancestor with a given attribute.
15845
+ *
15846
+ * @param {Node} startNode - The node to start from
15847
+ * @param {string} attrName - Attribute name to match
15848
+ * @returns {Element|null}
15849
+ */
15850
+ closestWithAttribute(startNode, attrName) {
15851
+ let node = startNode;
15852
+
15853
+ while (node) {
15854
+ // Only check Elements
15855
+ if (node.nodeType === Node.ELEMENT_NODE && node.hasAttribute(attrName)) {
15856
+ return node;
15857
+ }
15858
+
15859
+ // Normal DOM parent
15860
+ if (node.parentNode) {
15861
+ node = node.parentNode;
15862
+ continue;
15863
+ }
15864
+
15865
+ // Cross Shadow DOM boundary
15866
+ if (node instanceof ShadowRoot) {
15867
+ node = node.host;
15868
+ continue;
15869
+ }
15870
+
15871
+ // If we're inside a shadow tree and parentNode is null
15872
+ if (node.getRootNode) {
15873
+ const root = node.getRootNode();
15874
+ if (root instanceof ShadowRoot) {
15875
+ node = root.host;
15876
+ continue;
15877
+ }
15878
+ }
15879
+
15880
+ // Nothing left to traverse
15881
+ node = null;
15882
+ }
15883
+
15884
+ return null;
15885
+ }
15886
+
15887
+ /**
15888
+ * If the locale wasn't set via attribute on `elem`,
15889
+ * then use the closest `data-locale` attribute crawling up the DOM tree.
15890
+ * If none is found, default to 'en-US'.
15891
+ */
15892
+ getLocale(elem) {
15893
+ let locale = "en-US";
15894
+
15895
+ try {
15896
+ if (elem.hasAttribute("locale")) {
15897
+ locale = elem.getAttribute("locale");
15898
+ } else {
15899
+ const closestLocaleElement = this.closestWithAttribute(
15900
+ elem,
15901
+ "data-locale",
15902
+ );
15903
+
15904
+ if (closestLocaleElement) {
15905
+ locale = closestLocaleElement.getAttribute("data-locale");
15906
+ }
15907
+ }
15908
+ } catch (error) {
15909
+ if (!elem) {
15910
+ console.debug(
15911
+ "Auro getLocale: No element provided, defaulting to 'en-US'",
15912
+ );
15913
+ } else {
15914
+ console.debug(
15915
+ "Auro getLocale: Error accessing attributes, defaulting to 'en-US'",
15916
+ );
15917
+ }
15918
+ }
15919
+
15920
+ return locale;
15921
+ }
15922
+ }
15923
+
15838
15924
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
15839
15925
  // See LICENSE in the project root for license information.
15840
15926
 
@@ -15898,6 +15984,7 @@ class BaseInput extends AuroElement$1 {
15898
15984
  'dd/mm': 'dateDDMM',
15899
15985
  'mm/dd': 'dateMMDD'
15900
15986
  };
15987
+ this.domHandler = new DomHandler();
15901
15988
  this.dvInputOnly = false;
15902
15989
  this.hasValue = false;
15903
15990
  this.inputIconName = undefined;
@@ -16332,7 +16419,7 @@ class BaseInput extends AuroElement$1 {
16332
16419
  connectedCallback() {
16333
16420
  super.connectedCallback();
16334
16421
 
16335
- this.setLocale();
16422
+ this.locale = this.domHandler.getLocale(this);
16336
16423
  }
16337
16424
 
16338
16425
  firstUpdated() {
@@ -16435,69 +16522,6 @@ class BaseInput extends AuroElement$1 {
16435
16522
  }
16436
16523
  }
16437
16524
 
16438
- /**
16439
- * MOVE THIS TO AURO-LIBRARY ???
16440
- * Walk up the DOM (including Shadow DOM boundaries) to find
16441
- * the closest ancestor with a given attribute.
16442
- *
16443
- * @param {Node} startNode - The node to start from
16444
- * @param {string} attrName - Attribute name to match
16445
- * @returns {Element|null}
16446
- */
16447
- closestWithAttribute(startNode, attrName) {
16448
- let node = startNode;
16449
-
16450
- while (node) {
16451
- // Only check Elements
16452
- if (node.nodeType === Node.ELEMENT_NODE && node.hasAttribute(attrName)) {
16453
- return node;
16454
- }
16455
-
16456
- // Normal DOM parent
16457
- if (node.parentNode) {
16458
- node = node.parentNode;
16459
- continue;
16460
- }
16461
-
16462
- // Cross Shadow DOM boundary
16463
- if (node instanceof ShadowRoot) {
16464
- node = node.host;
16465
- continue;
16466
- }
16467
-
16468
- // If we're inside a shadow tree and parentNode is null
16469
- if (node.getRootNode) {
16470
- const root = node.getRootNode();
16471
- if (root instanceof ShadowRoot) {
16472
- node = root.host;
16473
- continue;
16474
- }
16475
- }
16476
-
16477
- // Nothing left to traverse
16478
- node = null;
16479
- }
16480
-
16481
- return null;
16482
- }
16483
-
16484
- /**
16485
- * If the locale wasn't set via attribute,
16486
- * look for the closest `data-locale` attribute in the DOM and use that.
16487
- * If none is found, default to 'en-US'.
16488
- */
16489
- setLocale() {
16490
- if (!this.hasAttribute('locale')) {
16491
- const closestLocaleElement = this.closestWithAttribute(this, 'data-locale');
16492
-
16493
- if (closestLocaleElement) {
16494
- this.locale = closestLocaleElement.getAttribute('data-locale');
16495
- } else {
16496
- this.locale = 'en-US';
16497
- }
16498
- }
16499
- }
16500
-
16501
16525
  /**
16502
16526
  * LitElement lifecycle method. Called after the DOM has been updated.
16503
16527
  * @param {Map<string, any>} changedProperties - Keys are the names of changed properties, values are the corresponding previous values.
@@ -17317,7 +17341,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
17317
17341
  }
17318
17342
  };
17319
17343
 
17320
- var formkitVersion$1 = '202602201616';
17344
+ var formkitVersion$1 = '202602201815';
17321
17345
 
17322
17346
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
17323
17347
  // See LICENSE in the project root for license information.
@@ -18401,7 +18425,7 @@ class AuroBibtemplate extends LitElement {
18401
18425
  }
18402
18426
  }
18403
18427
 
18404
- var formkitVersion = '202602201616';
18428
+ var formkitVersion = '202602201815';
18405
18429
 
18406
18430
  var styleCss$1 = css`.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}:host{display:block;text-align:left}:host [auro-dropdown]{--ds-auro-dropdown-trigger-background-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
18407
18431
 
@@ -1442,7 +1442,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1442
1442
  }
1443
1443
  };
1444
1444
 
1445
- var formkitVersion$1 = '202602201616';
1445
+ var formkitVersion$1 = '202602201815';
1446
1446
 
1447
1447
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1448
1448
  // See LICENSE in the project root for license information.
@@ -5135,7 +5135,7 @@ class AuroHelpText extends i$2 {
5135
5135
  }
5136
5136
  }
5137
5137
 
5138
- var formkitVersion = '202602201616';
5138
+ var formkitVersion = '202602201815';
5139
5139
 
5140
5140
  let AuroElement$1 = class AuroElement extends i$2 {
5141
5141
  static get properties() {
@@ -1442,7 +1442,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1442
1442
  }
1443
1443
  };
1444
1444
 
1445
- var formkitVersion$1 = '202602201616';
1445
+ var formkitVersion$1 = '202602201815';
1446
1446
 
1447
1447
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1448
1448
  // See LICENSE in the project root for license information.
@@ -5135,7 +5135,7 @@ class AuroHelpText extends i$2 {
5135
5135
  }
5136
5136
  }
5137
5137
 
5138
- var formkitVersion = '202602201616';
5138
+ var formkitVersion = '202602201815';
5139
5139
 
5140
5140
  let AuroElement$1 = class AuroElement extends i$2 {
5141
5141
  static get properties() {
@@ -1392,7 +1392,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1392
1392
  }
1393
1393
  };
1394
1394
 
1395
- var formkitVersion$1 = '202602201616';
1395
+ var formkitVersion$1 = '202602201815';
1396
1396
 
1397
1397
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1398
1398
  // See LICENSE in the project root for license information.
@@ -5067,7 +5067,7 @@ class AuroHelpText extends LitElement {
5067
5067
  }
5068
5068
  }
5069
5069
 
5070
- var formkitVersion = '202602201616';
5070
+ var formkitVersion = '202602201815';
5071
5071
 
5072
5072
  let AuroElement$1 = class AuroElement extends LitElement {
5073
5073
  static get properties() {
@@ -1392,7 +1392,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1392
1392
  }
1393
1393
  };
1394
1394
 
1395
- var formkitVersion$1 = '202602201616';
1395
+ var formkitVersion$1 = '202602201815';
1396
1396
 
1397
1397
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
1398
1398
  // See LICENSE in the project root for license information.
@@ -5067,7 +5067,7 @@ class AuroHelpText extends LitElement {
5067
5067
  }
5068
5068
  }
5069
5069
 
5070
- var formkitVersion = '202602201616';
5070
+ var formkitVersion = '202602201815';
5071
5071
 
5072
5072
  let AuroElement$1 = class AuroElement extends LitElement {
5073
5073
  static get properties() {
@@ -9537,7 +9537,7 @@ class AuroBibtemplate extends i$1 {
9537
9537
  }
9538
9538
  }
9539
9539
 
9540
- var formkitVersion$2 = '202602201616';
9540
+ var formkitVersion$2 = '202602201815';
9541
9541
 
9542
9542
  let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=i$5`${s$5(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`),s=(o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim();return s||null}};let h$4 = class h{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}};var c$3=i$3`:host{color:var(--ds-auro-loader-color)}:host>span{background-color:var(--ds-auro-loader-background-color);border-color:var(--ds-auro-loader-border-color)}:host([onlight]),:host([appearance=brand]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]),:host([appearance=inverse]){--ds-auro-loader-color: var(--ds-basic-color-texticon-inverse, #ffffff)}:host([orbit])>span{--ds-auro-loader-background-color: transparent}:host([orbit])>span:nth-child(1){--ds-auro-loader-border-color: currentcolor;opacity:.25}:host([orbit])>span:nth-child(2){--ds-auro-loader-border-color: currentcolor;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}
9543
9543
  `,u$6=i$3`.body-default{font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-lg{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, .875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-xs{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs{font-size:var(--wcss-body-xs-font-size, .75rem);line-height:var(--wcss-body-xs-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, .625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-line-height, .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, 450);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, 450);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, .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, .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, .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, .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, .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, .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(.875rem, 1.1666666667vw, .875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, .1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}:focus:not(:focus-visible){outline:3px solid transparent}:host,:host>span{position:relative}:host{width:2rem;height:2rem;display:inline-block;font-size:0}:host>span{position:absolute;display:inline-block;float:none;top:0;left:0;width:2rem;height:2rem;border-radius:100%;border-style:solid;border-width:0;box-sizing:border-box}:host([xs]),:host([xs])>span{width:1.2rem;height:1.2rem}:host([sm]),:host([sm])>span{width:3rem;height:3rem}:host([md]),:host([md])>span{width:5rem;height:5rem}:host([lg]),:host([lg])>span{width:8rem;height:8rem}:host{--margin: .375rem;--margin-xs: .2rem;--margin-sm: .5rem;--margin-md: .75rem;--margin-lg: 1rem}:host([pulse]),:host([pulse])>span{position:relative}:host([pulse]){width:calc(3rem + var(--margin) * 6);height:calc(1rem + var(--margin) * 2)}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(1.95rem + var(--margin-xs) * 6);height:calc(.65rem + var(--margin-xs) * 2)}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:calc(2rem + var(--margin-sm) * 2)}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:calc(3rem + var(--margin-md) * 2)}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:calc(5rem + var(--margin-lg) * 2)}:host([pulse][lg])>span{margin:var(--margin-lg);width:5rem;height:5rem}:host([pulse])>span:nth-child(1){animation-delay:-.4s}:host([pulse])>span:nth-child(2){animation-delay:-.2s}:host([pulse])>span:nth-child(3){animation-delay:0ms}@keyframes pulse{0%,to{opacity:.1;transform:scale(.9)}50%{opacity:1;transform:scale(1.1)}}:host([orbit]),:host([orbit])>span{opacity:1}:host([orbit])>span{border-width:5px}:host([orbit])>span:nth-child(2){animation:orbit 2s linear infinite}:host([orbit][sm])>span{border-width:8px}:host([orbit][md])>span{border-width:13px}:host([orbit][lg])>span{border-width:21px}@keyframes orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:host([ringworm])>svg{animation:rotate 2s linear infinite;height:100%;width:100%;stroke:currentcolor;stroke-width:8}:host([ringworm]) .path{stroke-dashoffset:0;animation:ringworm 1.5s ease-in-out infinite;stroke-linecap:round}@keyframes rotate{to{transform:rotate(360deg)}}@keyframes ringworm{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:89,200;stroke-dashoffset:-35px}to{stroke-dasharray:89,200;stroke-dashoffset:-124px}}:host([laser]){position:static;width:100%;display:block;height:0;overflow:hidden;font-size:unset}:host([laser])>span{position:fixed;width:100%;height:.25rem;border-radius:0;z-index:100}:host([laser])>span:nth-child(1){border-color:currentcolor;opacity:.25}:host([laser])>span:nth-child(2){border-color:currentcolor;animation:laser 2s linear infinite;opacity:1;width:50%}:host([laser][sm])>span:nth-child(2){width:20%}:host([laser][md])>span:nth-child(2){width:30%}:host([laser][lg])>span:nth-child(2){width:50%;animation-duration:1.5s}:host([laser][xl])>span:nth-child(2){width:80%;animation-duration:1.5s}@keyframes laser{0%{left:-100%}to{left:110%}}:host>.no-animation{display:none}@media (prefers-reduced-motion: reduce){:host{display:flex;align-items:center;justify-content:center}:host>span{opacity:1}:host>.loader{display:none}:host>svg{display:none}:host>.no-animation{display:block}}
@@ -13268,7 +13268,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$1 {
13268
13268
  }
13269
13269
  };
13270
13270
 
13271
- var formkitVersion$1 = '202602201616';
13271
+ var formkitVersion$1 = '202602201815';
13272
13272
 
13273
13273
  let AuroElement$2 = class AuroElement extends i$1 {
13274
13274
  static get properties() {
@@ -24861,6 +24861,92 @@ class UniqueId {
24861
24861
  }
24862
24862
  }
24863
24863
 
24864
+ /**
24865
+ * Class for interaction with the DOM.
24866
+ */
24867
+ class DomHandler {
24868
+ /**
24869
+ * Walk up the DOM (including Shadow DOM boundaries) to find
24870
+ * the closest ancestor with a given attribute.
24871
+ *
24872
+ * @param {Node} startNode - The node to start from
24873
+ * @param {string} attrName - Attribute name to match
24874
+ * @returns {Element|null}
24875
+ */
24876
+ closestWithAttribute(startNode, attrName) {
24877
+ let node = startNode;
24878
+
24879
+ while (node) {
24880
+ // Only check Elements
24881
+ if (node.nodeType === Node.ELEMENT_NODE && node.hasAttribute(attrName)) {
24882
+ return node;
24883
+ }
24884
+
24885
+ // Normal DOM parent
24886
+ if (node.parentNode) {
24887
+ node = node.parentNode;
24888
+ continue;
24889
+ }
24890
+
24891
+ // Cross Shadow DOM boundary
24892
+ if (node instanceof ShadowRoot) {
24893
+ node = node.host;
24894
+ continue;
24895
+ }
24896
+
24897
+ // If we're inside a shadow tree and parentNode is null
24898
+ if (node.getRootNode) {
24899
+ const root = node.getRootNode();
24900
+ if (root instanceof ShadowRoot) {
24901
+ node = root.host;
24902
+ continue;
24903
+ }
24904
+ }
24905
+
24906
+ // Nothing left to traverse
24907
+ node = null;
24908
+ }
24909
+
24910
+ return null;
24911
+ }
24912
+
24913
+ /**
24914
+ * If the locale wasn't set via attribute on `elem`,
24915
+ * then use the closest `data-locale` attribute crawling up the DOM tree.
24916
+ * If none is found, default to 'en-US'.
24917
+ */
24918
+ getLocale(elem) {
24919
+ let locale = "en-US";
24920
+
24921
+ try {
24922
+ if (elem.hasAttribute("locale")) {
24923
+ locale = elem.getAttribute("locale");
24924
+ } else {
24925
+ const closestLocaleElement = this.closestWithAttribute(
24926
+ elem,
24927
+ "data-locale",
24928
+ );
24929
+
24930
+ if (closestLocaleElement) {
24931
+ locale = closestLocaleElement.getAttribute("data-locale");
24932
+ }
24933
+ }
24934
+ } catch (error) {
24935
+ if (!elem) {
24936
+ console.debug(
24937
+ "Auro getLocale: No element provided, defaulting to 'en-US'",
24938
+ );
24939
+ } else {
24940
+ console.debug(
24941
+ "Auro getLocale: Error accessing attributes, defaulting to 'en-US'",
24942
+ );
24943
+ }
24944
+ }
24945
+
24946
+ return locale;
24947
+ }
24948
+ }
24949
+
24864
24950
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
24865
24951
  // See LICENSE in the project root for license information.
24866
24952
 
@@ -24924,6 +25010,7 @@ class BaseInput extends AuroElement$1 {
24924
25010
  'dd/mm': 'dateDDMM',
24925
25011
  'mm/dd': 'dateMMDD'
24926
25012
  };
25013
+ this.domHandler = new DomHandler();
24927
25014
  this.dvInputOnly = false;
24928
25015
  this.hasValue = false;
24929
25016
  this.inputIconName = undefined;
@@ -25358,7 +25445,7 @@ class BaseInput extends AuroElement$1 {
25358
25445
  connectedCallback() {
25359
25446
  super.connectedCallback();
25360
25447
 
25361
- this.setLocale();
25448
+ this.locale = this.domHandler.getLocale(this);
25362
25449
  }
25363
25450
 
25364
25451
  firstUpdated() {
@@ -25461,69 +25548,6 @@ class BaseInput extends AuroElement$1 {
25461
25548
  }
25462
25549
  }
25463
25550
 
25464
- /**
25465
- * MOVE THIS TO AURO-LIBRARY ???
25466
- * Walk up the DOM (including Shadow DOM boundaries) to find
25467
- * the closest ancestor with a given attribute.
25468
- *
25469
- * @param {Node} startNode - The node to start from
25470
- * @param {string} attrName - Attribute name to match
25471
- * @returns {Element|null}
25472
- */
25473
- closestWithAttribute(startNode, attrName) {
25474
- let node = startNode;
25475
-
25476
- while (node) {
25477
- // Only check Elements
25478
- if (node.nodeType === Node.ELEMENT_NODE && node.hasAttribute(attrName)) {
25479
- return node;
25480
- }
25481
-
25482
- // Normal DOM parent
25483
- if (node.parentNode) {
25484
- node = node.parentNode;
25485
- continue;
25486
- }
25487
-
25488
- // Cross Shadow DOM boundary
25489
- if (node instanceof ShadowRoot) {
25490
- node = node.host;
25491
- continue;
25492
- }
25493
-
25494
- // If we're inside a shadow tree and parentNode is null
25495
- if (node.getRootNode) {
25496
- const root = node.getRootNode();
25497
- if (root instanceof ShadowRoot) {
25498
- node = root.host;
25499
- continue;
25500
- }
25501
- }
25502
-
25503
- // Nothing left to traverse
25504
- node = null;
25505
- }
25506
-
25507
- return null;
25508
- }
25509
-
25510
- /**
25511
- * If the locale wasn't set via attribute,
25512
- * look for the closest `data-locale` attribute in the DOM and use that.
25513
- * If none is found, default to 'en-US'.
25514
- */
25515
- setLocale() {
25516
- if (!this.hasAttribute('locale')) {
25517
- const closestLocaleElement = this.closestWithAttribute(this, 'data-locale');
25518
-
25519
- if (closestLocaleElement) {
25520
- this.locale = closestLocaleElement.getAttribute('data-locale');
25521
- } else {
25522
- this.locale = 'en-US';
25523
- }
25524
- }
25525
- }
25526
-
25527
25551
  /**
25528
25552
  * LitElement lifecycle method. Called after the DOM has been updated.
25529
25553
  * @param {Map<string, any>} changedProperties - Keys are the names of changed properties, values are the corresponding previous values.
@@ -26343,7 +26367,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$1 {
26343
26367
  }
26344
26368
  };
26345
26369
 
26346
- var formkitVersion = '202602201616';
26370
+ var formkitVersion = '202602201815';
26347
26371
 
26348
26372
  // Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
26349
26373
  // See LICENSE in the project root for license information.