@aurodesignsystem-dev/auro-formkit 0.0.0-pr1582.0 → 0.0.0-pr1582.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.
- package/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.md +40 -0
- package/components/combobox/demo/customize.min.js +400 -62
- package/components/combobox/demo/getting-started.min.js +400 -62
- package/components/combobox/demo/index.html +1 -1
- package/components/combobox/demo/index.min.js +400 -62
- package/components/combobox/dist/index.js +78 -35
- package/components/combobox/dist/registered.js +78 -35
- package/components/counter/demo/customize.min.js +2 -2
- package/components/counter/demo/index.min.js +2 -2
- package/components/counter/dist/index.js +2 -2
- package/components/counter/dist/registered.js +2 -2
- package/components/datepicker/demo/customize.min.js +22 -9
- package/components/datepicker/demo/index.min.js +22 -9
- package/components/datepicker/dist/index.js +22 -9
- package/components/datepicker/dist/registered.js +22 -9
- package/components/dropdown/demo/customize.min.js +1 -1
- package/components/dropdown/demo/getting-started.min.js +21 -8
- package/components/dropdown/demo/index.min.js +1 -1
- package/components/dropdown/dist/index.js +1 -1
- package/components/dropdown/dist/registered.js +1 -1
- package/components/form/demo/customize.min.js +448 -84
- package/components/form/demo/getting-started.min.js +448 -84
- package/components/form/demo/index.min.js +448 -84
- package/components/form/demo/registerDemoDeps.min.js +448 -84
- package/components/input/demo/customize.min.js +20 -7
- package/components/input/demo/getting-started.min.js +20 -7
- package/components/input/demo/index.min.js +20 -7
- package/components/input/dist/auro-input.d.ts +8 -0
- package/components/input/dist/index.js +20 -7
- package/components/input/dist/registered.js +20 -7
- package/components/menu/demo/customize.md +50 -0
- package/components/menu/demo/index.min.js +322 -27
- package/components/menu/dist/auro-menu-utils.d.ts +30 -0
- package/components/menu/dist/auro-menu.d.ts +23 -0
- package/components/menu/dist/index.js +322 -27
- package/components/menu/dist/registered.js +322 -27
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.md +72 -0
- package/components/select/demo/customize.min.js +324 -29
- package/components/select/demo/getting-started.min.js +324 -29
- package/components/select/demo/index.min.js +324 -29
- package/components/select/dist/index.js +2 -2
- package/components/select/dist/registered.js +2 -2
- package/custom-elements.json +115 -0
- package/package.json +1 -1
|
@@ -13390,7 +13390,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$3 {
|
|
|
13390
13390
|
}
|
|
13391
13391
|
};
|
|
13392
13392
|
|
|
13393
|
-
var formkitVersion$8 = '
|
|
13393
|
+
var formkitVersion$8 = '202608111845';
|
|
13394
13394
|
|
|
13395
13395
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
13396
13396
|
// See LICENSE in the project root for license information.
|
|
@@ -13491,22 +13491,35 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
|
|
|
13491
13491
|
* @private
|
|
13492
13492
|
*/
|
|
13493
13493
|
get inputHidden() {
|
|
13494
|
-
//
|
|
13495
|
-
// raised
|
|
13496
|
-
//
|
|
13497
|
-
|
|
13498
|
-
|
|
13499
|
-
|
|
13494
|
+
// In the classic/default layout, activeLabel keeps the input row visible so
|
|
13495
|
+
// the label stays raised rather than collapsing to the centered placeholder
|
|
13496
|
+
// position. Emphasized/snowflake always render the label inside the field,
|
|
13497
|
+
// so activeLabel does not apply there. This only overrides the empty/
|
|
13498
|
+
// unfocused clause — the display-value clause (combobox/datepicker) is
|
|
13499
|
+
// preserved regardless.
|
|
13500
|
+
const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
|
|
13500
13501
|
|
|
13501
13502
|
return (
|
|
13502
13503
|
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
13503
13504
|
(
|
|
13505
|
+
!activeLabelRaisesInput &&
|
|
13504
13506
|
(!this.value || this.value.length === 0) &&
|
|
13505
13507
|
!this.hasFocus &&
|
|
13506
13508
|
(!this.placeholderStr || this.placeholderStr === '')
|
|
13507
13509
|
);
|
|
13508
13510
|
}
|
|
13509
13511
|
|
|
13512
|
+
/**
|
|
13513
|
+
* Whether the component is rendering the classic/default layout, meaning not
|
|
13514
|
+
* emphasized and not snowflake. Kept as a single source of truth so
|
|
13515
|
+
* layout-scoped behavior such as activeLabel stays consistent across getters.
|
|
13516
|
+
* @returns {boolean} - True for the classic/default layout.
|
|
13517
|
+
* @private
|
|
13518
|
+
*/
|
|
13519
|
+
get isClassicLayout() {
|
|
13520
|
+
return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
|
|
13521
|
+
}
|
|
13522
|
+
|
|
13510
13523
|
/**
|
|
13511
13524
|
* Determines if the input should display in a state with no focus or value indication.
|
|
13512
13525
|
* Returns true when the input has display content without focus and has a value,
|
|
@@ -27829,7 +27842,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$3 {
|
|
|
27829
27842
|
}
|
|
27830
27843
|
};
|
|
27831
27844
|
|
|
27832
|
-
var formkitVersion$2$1 = '
|
|
27845
|
+
var formkitVersion$2$1 = '202608111845';
|
|
27833
27846
|
|
|
27834
27847
|
let l$1$2 = 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$2`${s$3(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1$2 = 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$1$2 = 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$1$3=i$6`: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}
|
|
27835
27848
|
`,u$4$2=i$6`.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}}
|
|
@@ -33560,7 +33573,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$3 {
|
|
|
33560
33573
|
}
|
|
33561
33574
|
};
|
|
33562
33575
|
|
|
33563
|
-
var formkitVersion$1$3 = '
|
|
33576
|
+
var formkitVersion$1$3 = '202608111845';
|
|
33564
33577
|
|
|
33565
33578
|
let AuroElement$2$2 = class AuroElement extends i$3 {
|
|
33566
33579
|
static get properties() {
|
|
@@ -47253,7 +47266,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$3 {
|
|
|
47253
47266
|
}
|
|
47254
47267
|
};
|
|
47255
47268
|
|
|
47256
|
-
var formkitVersion$7 = '
|
|
47269
|
+
var formkitVersion$7 = '202608111845';
|
|
47257
47270
|
|
|
47258
47271
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
47259
47272
|
// See LICENSE in the project root for license information.
|
|
@@ -47354,22 +47367,35 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
|
|
|
47354
47367
|
* @private
|
|
47355
47368
|
*/
|
|
47356
47369
|
get inputHidden() {
|
|
47357
|
-
//
|
|
47358
|
-
// raised
|
|
47359
|
-
//
|
|
47360
|
-
|
|
47361
|
-
|
|
47362
|
-
|
|
47370
|
+
// In the classic/default layout, activeLabel keeps the input row visible so
|
|
47371
|
+
// the label stays raised rather than collapsing to the centered placeholder
|
|
47372
|
+
// position. Emphasized/snowflake always render the label inside the field,
|
|
47373
|
+
// so activeLabel does not apply there. This only overrides the empty/
|
|
47374
|
+
// unfocused clause — the display-value clause (combobox/datepicker) is
|
|
47375
|
+
// preserved regardless.
|
|
47376
|
+
const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
|
|
47363
47377
|
|
|
47364
47378
|
return (
|
|
47365
47379
|
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
47366
47380
|
(
|
|
47381
|
+
!activeLabelRaisesInput &&
|
|
47367
47382
|
(!this.value || this.value.length === 0) &&
|
|
47368
47383
|
!this.hasFocus &&
|
|
47369
47384
|
(!this.placeholderStr || this.placeholderStr === '')
|
|
47370
47385
|
);
|
|
47371
47386
|
}
|
|
47372
47387
|
|
|
47388
|
+
/**
|
|
47389
|
+
* Whether the component is rendering the classic/default layout, meaning not
|
|
47390
|
+
* emphasized and not snowflake. Kept as a single source of truth so
|
|
47391
|
+
* layout-scoped behavior such as activeLabel stays consistent across getters.
|
|
47392
|
+
* @returns {boolean} - True for the classic/default layout.
|
|
47393
|
+
* @private
|
|
47394
|
+
*/
|
|
47395
|
+
get isClassicLayout() {
|
|
47396
|
+
return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
|
|
47397
|
+
}
|
|
47398
|
+
|
|
47373
47399
|
/**
|
|
47374
47400
|
* Determines if the input should display in a state with no focus or value indication.
|
|
47375
47401
|
* Returns true when the input has display content without focus and has a value,
|
|
@@ -52242,7 +52268,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$3 {
|
|
|
52242
52268
|
}
|
|
52243
52269
|
};
|
|
52244
52270
|
|
|
52245
|
-
var formkitVersion$1$2 = '
|
|
52271
|
+
var formkitVersion$1$2 = '202608111845';
|
|
52246
52272
|
|
|
52247
52273
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
52248
52274
|
// See LICENSE in the project root for license information.
|
|
@@ -56395,7 +56421,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$3 {
|
|
|
56395
56421
|
}
|
|
56396
56422
|
};
|
|
56397
56423
|
|
|
56398
|
-
var formkitVersion$6 = '
|
|
56424
|
+
var formkitVersion$6 = '202608111845';
|
|
56399
56425
|
|
|
56400
56426
|
let AuroElement$1$2 = class AuroElement extends i$3 {
|
|
56401
56427
|
static get properties() {
|
|
@@ -60458,7 +60484,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$3 {
|
|
|
60458
60484
|
}
|
|
60459
60485
|
};
|
|
60460
60486
|
|
|
60461
|
-
var formkitVersion$5 = '
|
|
60487
|
+
var formkitVersion$5 = '202608111845';
|
|
60462
60488
|
|
|
60463
60489
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
60464
60490
|
// See LICENSE in the project root for license information.
|
|
@@ -62223,7 +62249,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$3 {
|
|
|
62223
62249
|
}
|
|
62224
62250
|
};
|
|
62225
62251
|
|
|
62226
|
-
var formkitVersion$4 = '
|
|
62252
|
+
var formkitVersion$4 = '202608111845';
|
|
62227
62253
|
|
|
62228
62254
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
62229
62255
|
// See LICENSE in the project root for license information.
|
|
@@ -67542,7 +67568,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$3 {
|
|
|
67542
67568
|
}
|
|
67543
67569
|
};
|
|
67544
67570
|
|
|
67545
|
-
var formkitVersion$2 = '
|
|
67571
|
+
var formkitVersion$2 = '202608111845';
|
|
67546
67572
|
|
|
67547
67573
|
let AuroElement$2$1 = class AuroElement extends i$3 {
|
|
67548
67574
|
static get properties() {
|
|
@@ -81235,7 +81261,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$3 {
|
|
|
81235
81261
|
}
|
|
81236
81262
|
};
|
|
81237
81263
|
|
|
81238
|
-
var formkitVersion$1$1 = '
|
|
81264
|
+
var formkitVersion$1$1 = '202608111845';
|
|
81239
81265
|
|
|
81240
81266
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
81241
81267
|
// See LICENSE in the project root for license information.
|
|
@@ -81336,22 +81362,35 @@ class AuroInput extends BaseInput {
|
|
|
81336
81362
|
* @private
|
|
81337
81363
|
*/
|
|
81338
81364
|
get inputHidden() {
|
|
81339
|
-
//
|
|
81340
|
-
// raised
|
|
81341
|
-
//
|
|
81342
|
-
|
|
81343
|
-
|
|
81344
|
-
|
|
81365
|
+
// In the classic/default layout, activeLabel keeps the input row visible so
|
|
81366
|
+
// the label stays raised rather than collapsing to the centered placeholder
|
|
81367
|
+
// position. Emphasized/snowflake always render the label inside the field,
|
|
81368
|
+
// so activeLabel does not apply there. This only overrides the empty/
|
|
81369
|
+
// unfocused clause — the display-value clause (combobox/datepicker) is
|
|
81370
|
+
// preserved regardless.
|
|
81371
|
+
const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
|
|
81345
81372
|
|
|
81346
81373
|
return (
|
|
81347
81374
|
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
81348
81375
|
(
|
|
81376
|
+
!activeLabelRaisesInput &&
|
|
81349
81377
|
(!this.value || this.value.length === 0) &&
|
|
81350
81378
|
!this.hasFocus &&
|
|
81351
81379
|
(!this.placeholderStr || this.placeholderStr === '')
|
|
81352
81380
|
);
|
|
81353
81381
|
}
|
|
81354
81382
|
|
|
81383
|
+
/**
|
|
81384
|
+
* Whether the component is rendering the classic/default layout, meaning not
|
|
81385
|
+
* emphasized and not snowflake. Kept as a single source of truth so
|
|
81386
|
+
* layout-scoped behavior such as activeLabel stays consistent across getters.
|
|
81387
|
+
* @returns {boolean} - True for the classic/default layout.
|
|
81388
|
+
* @private
|
|
81389
|
+
*/
|
|
81390
|
+
get isClassicLayout() {
|
|
81391
|
+
return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
|
|
81392
|
+
}
|
|
81393
|
+
|
|
81355
81394
|
/**
|
|
81356
81395
|
* Determines if the input should display in a state with no focus or value indication.
|
|
81357
81396
|
* Returns true when the input has display content without focus and has a value,
|
|
@@ -82398,7 +82437,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$3 {
|
|
|
82398
82437
|
}
|
|
82399
82438
|
};
|
|
82400
82439
|
|
|
82401
|
-
var formkitVersion$3 = '
|
|
82440
|
+
var formkitVersion$3 = '202608111845';
|
|
82402
82441
|
|
|
82403
82442
|
var styleCss$1$3 = 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}: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}`;
|
|
82404
82443
|
|
|
@@ -84204,7 +84243,17 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
84204
84243
|
return;
|
|
84205
84244
|
}
|
|
84206
84245
|
|
|
84207
|
-
this
|
|
84246
|
+
// Skip this write during a display-value sync: that path sets the input to
|
|
84247
|
+
// the selected option's LABEL, which is not its machine value. When an
|
|
84248
|
+
// option's label differs from its value (and especially when several
|
|
84249
|
+
// options share a value but render distinct labels — AB#1602086), writing
|
|
84250
|
+
// the label back into this.value clobbers the machine value the selection
|
|
84251
|
+
// listener just set (this.value = optionSelected.value), collapsing the
|
|
84252
|
+
// selection. _syncingBibValue still tracks (that mirrors user-typed text
|
|
84253
|
+
// from the fullscreen bib, where value should follow the input).
|
|
84254
|
+
if (!this._syncingDisplayValue) {
|
|
84255
|
+
this.value = this.input.value;
|
|
84256
|
+
}
|
|
84208
84257
|
|
|
84209
84258
|
// Ignore re-entrant input events caused by programmatic value sets.
|
|
84210
84259
|
if (this._syncingBibValue || this._syncingDisplayValue) {
|
|
@@ -84468,33 +84517,53 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
84468
84517
|
}
|
|
84469
84518
|
|
|
84470
84519
|
if (this.input.value !== this.value) {
|
|
84471
|
-
//
|
|
84472
|
-
//
|
|
84473
|
-
//
|
|
84474
|
-
//
|
|
84475
|
-
//
|
|
84476
|
-
|
|
84477
|
-
|
|
84478
|
-
|
|
84520
|
+
// A fresh user selection leaves the input showing the option's LABEL
|
|
84521
|
+
// while this.value holds its machine value, so input.value !== this.value
|
|
84522
|
+
// is expected whenever label ≠ value. In that case the menu's current
|
|
84523
|
+
// selection is authoritative — and when several options share a value it
|
|
84524
|
+
// is the ONLY thing that records WHICH same-value option the user picked
|
|
84525
|
+
// (the menu tracks it by element identity via `_selectedKey`). Clearing
|
|
84526
|
+
// it here drops that key; the ensuing value-only re-resolution then
|
|
84527
|
+
// collapses the selection onto the first same-value option (AB#1602086).
|
|
84528
|
+
// So only treat the divergence as a stale menu when the selected option
|
|
84529
|
+
// does NOT match the new value.
|
|
84530
|
+
const menuSelectionMatchesValue =
|
|
84531
|
+
this.menu.optionSelected &&
|
|
84532
|
+
// optionSelected is a single element here (scalar `.value`). A multiselect
|
|
84533
|
+
// menu exposes it as an ARRAY, which has no scalar `.value` to compare, so
|
|
84534
|
+
// that shape can't be a single-option match — fall through to the clear path.
|
|
84535
|
+
!Array.isArray(this.menu.optionSelected) &&
|
|
84536
|
+
this.menu.optionSelected.value === this.value;
|
|
84537
|
+
|
|
84538
|
+
if (!menuSelectionMatchesValue) {
|
|
84539
|
+
// Clear menu.value AND menu.optionSelected together. Clearing only
|
|
84540
|
+
// menu.value leaves the previously-selected option element pinned
|
|
84541
|
+
// as menu.optionSelected; a later auroMenu-selectedOption event
|
|
84542
|
+
// would then write its stale .value back into combobox.value
|
|
84543
|
+
// (e.g. Tab-after-Backspace re-selecting the prior option).
|
|
84544
|
+
if (this.menu.value || this.menu.optionSelected) {
|
|
84545
|
+
this.menu.clearSelection();
|
|
84546
|
+
}
|
|
84479
84547
|
|
|
84480
|
-
|
|
84481
|
-
|
|
84482
|
-
|
|
84548
|
+
if (!this.persistInput) {
|
|
84549
|
+
this.syncInputValuesAcrossTriggerAndBib(this.value || '');
|
|
84550
|
+
}
|
|
84483
84551
|
|
|
84484
|
-
|
|
84485
|
-
|
|
84486
|
-
|
|
84487
|
-
|
|
84488
|
-
|
|
84489
|
-
|
|
84490
|
-
|
|
84491
|
-
|
|
84492
|
-
|
|
84493
|
-
|
|
84494
|
-
|
|
84495
|
-
|
|
84496
|
-
|
|
84497
|
-
|
|
84552
|
+
// Programmatic value with no matching option: updateFilter will close
|
|
84553
|
+
// the bib silently (see line 648 — no noMatchOption + 0 results
|
|
84554
|
+
// hides). Announce so screen-reader users hear the request was
|
|
84555
|
+
// dropped. Gated on `input.value !== this.value` so this never fires
|
|
84556
|
+
// for user typing — that path always reconciles input.value to
|
|
84557
|
+
// this.value before updated() runs.
|
|
84558
|
+
if (
|
|
84559
|
+
this.value &&
|
|
84560
|
+
this.menu &&
|
|
84561
|
+
this.menu.options &&
|
|
84562
|
+
this.menu.options.length > 0 &&
|
|
84563
|
+
!this.menu.options.some((opt) => opt.value === this.value)
|
|
84564
|
+
) {
|
|
84565
|
+
announceToScreenReader$1(this._getAnnouncementRoot(), `No matching option for ${this.value}`);
|
|
84566
|
+
}
|
|
84498
84567
|
}
|
|
84499
84568
|
}
|
|
84500
84569
|
|
|
@@ -85014,6 +85083,116 @@ function isSelectableByValue(option) {
|
|
|
85014
85083
|
!option.hasAttribute('static');
|
|
85015
85084
|
}
|
|
85016
85085
|
|
|
85086
|
+
/* eslint-disable no-underscore-dangle */
|
|
85087
|
+
/**
|
|
85088
|
+
* Resolves the single selected option for a given `value`, preferring the
|
|
85089
|
+
* option tracked by `selectedKey` (a user-initiated selection) over a
|
|
85090
|
+
* first-by-value match. When multiple options share the same `value`, matching
|
|
85091
|
+
* by `value` alone cannot distinguish which one the user picked; the key
|
|
85092
|
+
* disambiguates it.
|
|
85093
|
+
*
|
|
85094
|
+
* The key is trusted only when it still resolves to an option whose `value`
|
|
85095
|
+
* matches the requested `value`. If the key is stale (option removed) or the
|
|
85096
|
+
* value was changed programmatically, resolution falls back to value matching —
|
|
85097
|
+
* preserving backward-compatible behavior for preselection and `selectByValue`.
|
|
85098
|
+
* @private
|
|
85099
|
+
* @param {Array<HTMLElement>} items - The menu's flat option list.
|
|
85100
|
+
* @param {string} value - The value to resolve.
|
|
85101
|
+
* @param {string|undefined} selectedKey - The `_optionKey` of the user-selected option, if any.
|
|
85102
|
+
* @returns {HTMLElement|undefined} The resolved option, or undefined when none match.
|
|
85103
|
+
*/
|
|
85104
|
+
function resolveSelectedOption(items, value, selectedKey) {
|
|
85105
|
+
if (!items) {
|
|
85106
|
+
return undefined;
|
|
85107
|
+
}
|
|
85108
|
+
|
|
85109
|
+
if (selectedKey !== undefined) {
|
|
85110
|
+
const keyed = items.find((item) => item._optionKey === selectedKey);
|
|
85111
|
+
if (keyed && isSelectableByValue(keyed) && keyed.value === value) {
|
|
85112
|
+
return keyed;
|
|
85113
|
+
}
|
|
85114
|
+
// Key exists but the option is gone or its value no longer matches — fall
|
|
85115
|
+
// through to value-based matching.
|
|
85116
|
+
}
|
|
85117
|
+
|
|
85118
|
+
return items.find((item) => isSelectableByValue(item) && item.value === value);
|
|
85119
|
+
}
|
|
85120
|
+
|
|
85121
|
+
/**
|
|
85122
|
+
* Resolves the selected options for a multi-select `value` array, preferring
|
|
85123
|
+
* options tracked by `selectedKeys` (user-initiated selections) and falling
|
|
85124
|
+
* back to value matching for any values not resolved by key. The result is
|
|
85125
|
+
* always sorted into DOM order regardless of selection sequence.
|
|
85126
|
+
* @private
|
|
85127
|
+
* @param {Array<HTMLElement>} items - The menu's flat option list.
|
|
85128
|
+
* @param {Array<string>} valueArray - The selected values.
|
|
85129
|
+
* @param {Array<string>|undefined} selectedKeys - The `_optionKey`s of the user-selected options, if any.
|
|
85130
|
+
* @returns {Array<HTMLElement>} The resolved options in DOM order.
|
|
85131
|
+
*/
|
|
85132
|
+
function resolveSelectedOptions(items, valueArray, selectedKeys) {
|
|
85133
|
+
if (!items) {
|
|
85134
|
+
return [];
|
|
85135
|
+
}
|
|
85136
|
+
|
|
85137
|
+
const resolved = [];
|
|
85138
|
+
// Mirror `resolved` as a Set for O(1) membership checks below, matching the
|
|
85139
|
+
// indexMap optimization used for the sort rather than scanning `resolved`
|
|
85140
|
+
// on every candidate.
|
|
85141
|
+
const resolvedSet = new Set();
|
|
85142
|
+
|
|
85143
|
+
// Track how many of each value are still available to resolve. A value that
|
|
85144
|
+
// appears N times in `valueArray` may be satisfied at most N times total across
|
|
85145
|
+
// the key pass and the value fallback below — matching by count, not presence,
|
|
85146
|
+
// on BOTH passes. This stops a duplicate value from being over-resolved: e.g.
|
|
85147
|
+
// two keyed options that both carry `SEA` cannot both match a single requested
|
|
85148
|
+
// `SEA` (which happens when `value` is set directly without clearing
|
|
85149
|
+
// `_selectedKey`, so more keys survive than the value set now asks for).
|
|
85150
|
+
const remaining = new Map();
|
|
85151
|
+
valueArray.forEach((val) => remaining.set(val, (remaining.get(val) || 0) + 1));
|
|
85152
|
+
|
|
85153
|
+
// Resolve by key first: trust a key only when its option is still selectable
|
|
85154
|
+
// and there is still an unmatched occurrence of its value in the request set.
|
|
85155
|
+
if (Array.isArray(selectedKeys)) {
|
|
85156
|
+
selectedKeys.forEach((key) => {
|
|
85157
|
+
const keyed = items.find((item) => item._optionKey === key);
|
|
85158
|
+
if (keyed && isSelectableByValue(keyed) && (remaining.get(keyed.value) || 0) > 0 && !resolvedSet.has(keyed)) {
|
|
85159
|
+
resolved.push(keyed);
|
|
85160
|
+
resolvedSet.add(keyed);
|
|
85161
|
+
remaining.set(keyed.value, remaining.get(keyed.value) - 1);
|
|
85162
|
+
}
|
|
85163
|
+
});
|
|
85164
|
+
}
|
|
85165
|
+
|
|
85166
|
+
// Fall back to value matching for the occurrences not resolved by key. Iterate
|
|
85167
|
+
// the leftover per-value counts so a value that appears twice but was only
|
|
85168
|
+
// resolved once by key still matches its remaining occurrence(s).
|
|
85169
|
+
remaining.forEach((count, val) => {
|
|
85170
|
+
for (let occurrence = 0; occurrence < count; occurrence += 1) {
|
|
85171
|
+
const option = items.find((item) => isSelectableByValue(item) && item.value === val && !resolvedSet.has(item));
|
|
85172
|
+
if (option) {
|
|
85173
|
+
resolved.push(option);
|
|
85174
|
+
resolvedSet.add(option);
|
|
85175
|
+
}
|
|
85176
|
+
}
|
|
85177
|
+
});
|
|
85178
|
+
|
|
85179
|
+
// Always return in DOM order so display is consistent regardless of the order
|
|
85180
|
+
// keys/values were selected. Every resolved option came from `items`, so an
|
|
85181
|
+
// O(1) index lookup mirrors `_sortSelectedByDomOrder` and avoids the O(n)
|
|
85182
|
+
// `items.indexOf` per comparison for large combobox option sets. Any element
|
|
85183
|
+
// not in `items` (a stale snapshot from a future caller) sorts to the END via
|
|
85184
|
+
// `?? items.length`, matching `_sortSelectedByDomOrder` and avoiding NaN
|
|
85185
|
+
// comparisons.
|
|
85186
|
+
const indexMap = new Map(items.map((item, index) => [
|
|
85187
|
+
item,
|
|
85188
|
+
index
|
|
85189
|
+
]));
|
|
85190
|
+
resolved.sort((optionA, optionB) => (indexMap.get(optionA) ?? items.length) - (indexMap.get(optionB) ?? items.length));
|
|
85191
|
+
|
|
85192
|
+
return resolved;
|
|
85193
|
+
}
|
|
85194
|
+
/* eslint-enable no-underscore-dangle */
|
|
85195
|
+
|
|
85017
85196
|
/**
|
|
85018
85197
|
* Helper method to dispatch custom events.
|
|
85019
85198
|
* @param {HTMLElement} element - Element to dispatch event from.
|
|
@@ -85039,6 +85218,14 @@ function dispatchMenuEvent(element, eventName, detail = null) {
|
|
|
85039
85218
|
// See LICENSE in the project root for license information.
|
|
85040
85219
|
|
|
85041
85220
|
|
|
85221
|
+
/**
|
|
85222
|
+
* Monotonically increasing counter used to give each menu instance a unique
|
|
85223
|
+
* `_menuInstanceId` prefix. Auto-generating the id (rather than using a random
|
|
85224
|
+
* string) keeps option keys deterministic and collision-free across menus.
|
|
85225
|
+
* @private
|
|
85226
|
+
*/
|
|
85227
|
+
let menuInstanceIdCounter = 0;
|
|
85228
|
+
|
|
85042
85229
|
|
|
85043
85230
|
/**
|
|
85044
85231
|
* The `auro-menu` element provides users a way to select from a list of options.
|
|
@@ -85110,9 +85297,8 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85110
85297
|
|
|
85111
85298
|
// Instance properties (non-reactive)
|
|
85112
85299
|
|
|
85113
|
-
|
|
85114
|
-
|
|
85115
|
-
*/
|
|
85300
|
+
menuInstanceIdCounter += 1;
|
|
85301
|
+
|
|
85116
85302
|
Object.assign(this, {
|
|
85117
85303
|
// Root-level menu (true) or a nested submenu (false)
|
|
85118
85304
|
rootMenu: true,
|
|
@@ -85122,6 +85308,21 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85122
85308
|
nestingSpacer: '<span class="nestingSpacer"></span>',
|
|
85123
85309
|
// Loading indicator for slot elements
|
|
85124
85310
|
loadingSlots: null,
|
|
85311
|
+
// Unique id for this menu instance; prefixes every auto-generated option
|
|
85312
|
+
// key so keys never collide across menus in the same document.
|
|
85313
|
+
_menuInstanceId: `menu-${menuInstanceIdCounter}`,
|
|
85314
|
+
// Monotonically increasing counter for option key generation. Never
|
|
85315
|
+
// resets, so a key is never reused within this instance's lifetime.
|
|
85316
|
+
_optionKeyCounter: 0,
|
|
85317
|
+
// Key(s) of the option(s) the user has actively selected. A single string
|
|
85318
|
+
// in single-select, an array in multi-select, undefined when nothing is
|
|
85319
|
+
// user-selected. Used to disambiguate options that share a `value`.
|
|
85320
|
+
_selectedKey: undefined,
|
|
85321
|
+
// True only for the one updated() cycle following a user selection, so
|
|
85322
|
+
// reconciliation trusts `_selectedKey`. A `value` change from a consumer's
|
|
85323
|
+
// direct property assignment leaves this false, dropping the stale key so
|
|
85324
|
+
// reconciliation falls back to first-by-value (see updated()).
|
|
85325
|
+
_valueChangeFromSelection: false,
|
|
85125
85326
|
});
|
|
85126
85327
|
}
|
|
85127
85328
|
|
|
@@ -85341,6 +85542,13 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85341
85542
|
return;
|
|
85342
85543
|
}
|
|
85343
85544
|
|
|
85545
|
+
// A programmatic value set carries no positional intent, so drop any
|
|
85546
|
+
// `_selectedKey` left over from a prior user click. This makes reconciliation
|
|
85547
|
+
// in updated() fall back to first-by-value (single) / value-in-DOM-order
|
|
85548
|
+
// (multi), matching the documented contract for programmatic selection even
|
|
85549
|
+
// when a stale key would still resolve to a duplicate-value option.
|
|
85550
|
+
this._selectedKey = undefined;
|
|
85551
|
+
|
|
85344
85552
|
// `value` is a String property; stringify arrays so attribute reflection and `formattedValue` parsing stay correct.
|
|
85345
85553
|
this.value = Array.isArray(value) ? JSON.stringify(value) : value;
|
|
85346
85554
|
}
|
|
@@ -85388,6 +85596,17 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85388
85596
|
updated(changedProperties) {
|
|
85389
85597
|
super.updated(changedProperties);
|
|
85390
85598
|
|
|
85599
|
+
// Consume the selection-driven flag for THIS cycle up front. Clearing it
|
|
85600
|
+
// unconditionally — not only inside the `value` branch below — prevents it
|
|
85601
|
+
// from lingering `true` when a selection produces a serialized `value`
|
|
85602
|
+
// byte-identical to the current one, in which case Lit schedules no
|
|
85603
|
+
// `value`-change cycle to consume it. A lingering flag would misclassify a
|
|
85604
|
+
// later consumer's programmatic `value` set as selection-driven and keep a
|
|
85605
|
+
// stale `_selectedKey`. The reconcile path below re-sets the instance flag
|
|
85606
|
+
// after this point, so its intentional cross-cycle hand-off still works.
|
|
85607
|
+
const valueChangeFromSelection = this._valueChangeFromSelection;
|
|
85608
|
+
this._valueChangeFromSelection = false;
|
|
85609
|
+
|
|
85391
85610
|
// Single source of truth for 'auroMenu-selectedOption'. Selection handlers
|
|
85392
85611
|
// mutate optionSelected and let Lit's update cycle dispatch here; the prior
|
|
85393
85612
|
// .value comparison missed multi-select array changes and combined with the
|
|
@@ -85411,6 +85630,17 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85411
85630
|
this.initItems();
|
|
85412
85631
|
}
|
|
85413
85632
|
|
|
85633
|
+
// Distinguish a selection-driven `value` change (a user click, which set
|
|
85634
|
+
// the flag in handleSelectState / _sortSelectedByDomOrder) from a
|
|
85635
|
+
// programmatic assignment by a consumer. A programmatic set carries no
|
|
85636
|
+
// positional intent, so drop any leftover `_selectedKey` and let
|
|
85637
|
+
// reconciliation fall back to first-by-value (single) / value-in-DOM-order
|
|
85638
|
+
// (multi) — the same contract selectByValue() guarantees, even when a
|
|
85639
|
+
// stale key would otherwise still resolve to a duplicate-value option.
|
|
85640
|
+
if (!valueChangeFromSelection) {
|
|
85641
|
+
this._selectedKey = undefined;
|
|
85642
|
+
}
|
|
85643
|
+
|
|
85414
85644
|
// Set when reconciliation reassigns `value` below. That reassignment schedules a
|
|
85415
85645
|
// second updated() cycle, so the `event`-attribute dispatch is deferred to that
|
|
85416
85646
|
// cycle to avoid firing option custom events twice on the same selection.
|
|
@@ -85428,19 +85658,55 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85428
85658
|
// Defensive default: `formattedValue` can be undefined for unexpected value types,
|
|
85429
85659
|
// and calling `.includes` on undefined would throw during reconciliation.
|
|
85430
85660
|
const valueArray = this.formattedValue || [];
|
|
85431
|
-
|
|
85661
|
+
// Resolve by key first (the user's exact picks), then fall back to
|
|
85662
|
+
// value matching for any values not resolved by key — so pre-selection
|
|
85663
|
+
// and programmatic value sets keep working. Result is DOM-ordered.
|
|
85664
|
+
const matchingOptions = resolveSelectedOptions(this.items, valueArray, this._selectedKey);
|
|
85432
85665
|
newSelected = matchingOptions.length > 0 ? matchingOptions : undefined;
|
|
85433
85666
|
|
|
85434
|
-
// Reconcile `value` with the selectable set.
|
|
85435
|
-
// loaded but
|
|
85436
|
-
//
|
|
85437
|
-
//
|
|
85438
|
-
//
|
|
85439
|
-
|
|
85440
|
-
|
|
85441
|
-
|
|
85442
|
-
|
|
85443
|
-
|
|
85667
|
+
// Reconcile `value` with the selectable set. An occurrence is dropped
|
|
85668
|
+
// only when it is loaded but no selectable option can satisfy it —
|
|
85669
|
+
// every loaded item sharing that value is non-selectable, or the value
|
|
85670
|
+
// recurs more often than it has selectable options (a duplicate value
|
|
85671
|
+
// whose extra siblings are disabled/static). This is count-based, not
|
|
85672
|
+
// presence-based, so an enabled option is kept even when a disabled
|
|
85673
|
+
// sibling shares its value — mirroring how `resolveSelectedOptions`
|
|
85674
|
+
// resolves the same set. Entries with no matching item yet are
|
|
85675
|
+
// preserved so async preselection still works, and the toggle handlers
|
|
85676
|
+
// rebuild `value` from `formattedValue`, so a rejected entry cannot
|
|
85677
|
+
// resurface on the next select/deselect.
|
|
85678
|
+
const selectableByValue = new Map();
|
|
85679
|
+
const loadedValues = new Set();
|
|
85680
|
+
if (this.items) {
|
|
85681
|
+
this.items.forEach((item) => {
|
|
85682
|
+
loadedValues.add(item.value);
|
|
85683
|
+
if (isSelectableByValue(item)) {
|
|
85684
|
+
selectableByValue.set(item.value, (selectableByValue.get(item.value) || 0) + 1);
|
|
85685
|
+
}
|
|
85686
|
+
});
|
|
85687
|
+
}
|
|
85688
|
+
|
|
85689
|
+
const reconciled = valueArray.filter((val) => {
|
|
85690
|
+
// Not loaded yet (async preselection) — keep for a later cycle.
|
|
85691
|
+
if (!loadedValues.has(val)) {
|
|
85692
|
+
return true;
|
|
85693
|
+
}
|
|
85694
|
+
// Consume one selectable option per occurrence; drop once exhausted.
|
|
85695
|
+
const remaining = selectableByValue.get(val) || 0;
|
|
85696
|
+
if (remaining > 0) {
|
|
85697
|
+
selectableByValue.set(val, remaining - 1);
|
|
85698
|
+
return true;
|
|
85699
|
+
}
|
|
85700
|
+
return false;
|
|
85701
|
+
});
|
|
85702
|
+
|
|
85703
|
+
if (reconciled.length !== valueArray.length) {
|
|
85704
|
+
// This is an internal correction, not a consumer's programmatic set,
|
|
85705
|
+
// so preserve the selection-driven flag through the re-entrant
|
|
85706
|
+
// updated() cycle it schedules. Otherwise that cycle would treat the
|
|
85707
|
+
// reassignment as programmatic and drop `_selectedKey` mid-cascade,
|
|
85708
|
+
// flipping resolution and looping.
|
|
85709
|
+
this._valueChangeFromSelection = true;
|
|
85444
85710
|
this.value = serializeMultiSelectValue(reconciled);
|
|
85445
85711
|
valueReconciled = true;
|
|
85446
85712
|
}
|
|
@@ -85452,7 +85718,11 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85452
85718
|
// `hidden` is intentionally NOT excluded: the combobox toggles
|
|
85453
85719
|
// `hidden` as its type-ahead filter, so a filtered-out option is
|
|
85454
85720
|
// still a valid programmatic selection.
|
|
85455
|
-
|
|
85721
|
+
// Prefer the option the user actually selected (tracked by
|
|
85722
|
+
// `_selectedKey`) so a click on the second of two options sharing a
|
|
85723
|
+
// `value` resolves back to that exact element instead of the first
|
|
85724
|
+
// value match. Falls back to first-by-value for programmatic sets.
|
|
85725
|
+
const matchingOption = resolveSelectedOption(this.items, this.value, this._selectedKey);
|
|
85456
85726
|
|
|
85457
85727
|
if (matchingOption) {
|
|
85458
85728
|
newSelected = matchingOption;
|
|
@@ -85680,6 +85950,14 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85680
85950
|
}
|
|
85681
85951
|
});
|
|
85682
85952
|
|
|
85953
|
+
// Assign private keys once items are populated. Only the root menu assigns
|
|
85954
|
+
// keys: its `items` is a deep query that already includes nested submenu
|
|
85955
|
+
// options, so a single pass keys the entire tree. Nested menus skip this
|
|
85956
|
+
// and inherit keys from the root.
|
|
85957
|
+
if (this.rootMenu) {
|
|
85958
|
+
this._assignOptionKeys();
|
|
85959
|
+
}
|
|
85960
|
+
|
|
85683
85961
|
if (this.noCheckmark) {
|
|
85684
85962
|
this.updateItemsState(new Map([
|
|
85685
85963
|
[
|
|
@@ -85696,6 +85974,31 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85696
85974
|
}));
|
|
85697
85975
|
}
|
|
85698
85976
|
|
|
85977
|
+
/**
|
|
85978
|
+
* Assigns a private, auto-generated unique key (`_optionKey`) to each menu
|
|
85979
|
+
* option that does not already have one. Keys are internal state on the
|
|
85980
|
+
* element instance — never reflected as an attribute or exposed publicly —
|
|
85981
|
+
* and let selection tracking distinguish options that share the same `value`.
|
|
85982
|
+
*
|
|
85983
|
+
* The `_optionKey === undefined` guard makes this idempotent: options keep the
|
|
85984
|
+
* key they were first assigned across re-renders and slot changes, and if a
|
|
85985
|
+
* nested menu's lifecycle runs a pass before the root, options simply wait for
|
|
85986
|
+
* the root to key them (or keep whatever key they already hold).
|
|
85987
|
+
* @private
|
|
85988
|
+
*/
|
|
85989
|
+
_assignOptionKeys() {
|
|
85990
|
+
if (!this.items) {
|
|
85991
|
+
return;
|
|
85992
|
+
}
|
|
85993
|
+
|
|
85994
|
+
this.items.forEach((option) => {
|
|
85995
|
+
if (option._optionKey === undefined) {
|
|
85996
|
+
this._optionKeyCounter += 1;
|
|
85997
|
+
option._optionKey = `${this._menuInstanceId}-${this._optionKeyCounter}`;
|
|
85998
|
+
}
|
|
85999
|
+
});
|
|
86000
|
+
}
|
|
86001
|
+
|
|
85699
86002
|
// Logic Methods
|
|
85700
86003
|
|
|
85701
86004
|
/**
|
|
@@ -85705,24 +86008,28 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85705
86008
|
*/
|
|
85706
86009
|
handleSelectState(option) {
|
|
85707
86010
|
if (this.multiSelect) {
|
|
85708
|
-
const currentValue = this.formattedValue || [];
|
|
85709
86011
|
const currentSelected = this.optionSelected || [];
|
|
85710
86012
|
|
|
85711
|
-
if (!currentValue.includes(option.value)) {
|
|
85712
|
-
this.value = serializeMultiSelectValue([
|
|
85713
|
-
...currentValue,
|
|
85714
|
-
option.value
|
|
85715
|
-
]);
|
|
85716
|
-
}
|
|
85717
86013
|
if (!currentSelected.includes(option)) {
|
|
85718
86014
|
this.optionSelected = [
|
|
85719
86015
|
...currentSelected,
|
|
85720
86016
|
option
|
|
85721
86017
|
];
|
|
85722
86018
|
}
|
|
86019
|
+
|
|
86020
|
+
// Re-sort by DOM order and rebuild `_selectedKey`/`value` from the
|
|
86021
|
+
// selected set so display order stays consistent with the menu, not with
|
|
86022
|
+
// click order.
|
|
86023
|
+
this._sortSelectedByDomOrder();
|
|
85723
86024
|
} else {
|
|
85724
86025
|
this.value = option.value;
|
|
85725
86026
|
this.optionSelected = option;
|
|
86027
|
+
// Track the specific option the user selected so the value→option
|
|
86028
|
+
// reconciliation in updated() resolves back to this exact element even
|
|
86029
|
+
// when another option shares the same `value`.
|
|
86030
|
+
this._selectedKey = option._optionKey;
|
|
86031
|
+
// Mark this `value` change as selection-driven so updated() trusts the key.
|
|
86032
|
+
this._valueChangeFromSelection = true;
|
|
85726
86033
|
}
|
|
85727
86034
|
|
|
85728
86035
|
this._index = this.items.indexOf(option);
|
|
@@ -85735,18 +86042,22 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85735
86042
|
*/
|
|
85736
86043
|
handleDeselectState(option) {
|
|
85737
86044
|
if (this.multiSelect) {
|
|
85738
|
-
// Remove this
|
|
85739
|
-
|
|
85740
|
-
|
|
85741
|
-
|
|
85742
|
-
this.optionSelected = this.optionSelected.filter((val) => val !== option);
|
|
86045
|
+
// Remove this exact element from the selection (identity, not value — two
|
|
86046
|
+
// options can share a `value`), then rebuild `value`/`_selectedKey` from
|
|
86047
|
+
// the remaining set in DOM order. An empty result collapses to undefined.
|
|
86048
|
+
this.optionSelected = this.optionSelected.filter((selected) => selected !== option);
|
|
85743
86049
|
if (this.optionSelected.length === 0) {
|
|
85744
86050
|
this.optionSelected = undefined;
|
|
86051
|
+
this._selectedKey = undefined;
|
|
86052
|
+
this.value = undefined;
|
|
86053
|
+
} else {
|
|
86054
|
+
this._sortSelectedByDomOrder();
|
|
85745
86055
|
}
|
|
85746
86056
|
} else {
|
|
85747
86057
|
// For single-select: Back to undefined when deselected
|
|
85748
86058
|
this.value = undefined;
|
|
85749
86059
|
this.optionSelected = undefined;
|
|
86060
|
+
this._selectedKey = undefined;
|
|
85750
86061
|
}
|
|
85751
86062
|
|
|
85752
86063
|
// Update the index tracking
|
|
@@ -85770,9 +86081,46 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85770
86081
|
clearSelection() {
|
|
85771
86082
|
this.optionSelected = undefined;
|
|
85772
86083
|
this.value = undefined;
|
|
86084
|
+
this._selectedKey = undefined;
|
|
85773
86085
|
this._index = -1;
|
|
85774
86086
|
}
|
|
85775
86087
|
|
|
86088
|
+
/**
|
|
86089
|
+
* Re-sorts the multi-select selection into DOM order and rebuilds the derived
|
|
86090
|
+
* `_selectedKey` and `value` from `optionSelected`. Selection is always stored
|
|
86091
|
+
* and serialized in the order options appear in the menu, never in click
|
|
86092
|
+
* order — so selecting C then A yields `[A, C]`.
|
|
86093
|
+
* @private
|
|
86094
|
+
*/
|
|
86095
|
+
_sortSelectedByDomOrder() {
|
|
86096
|
+
if (!this.multiSelect || !Array.isArray(this.optionSelected) || !this.items) {
|
|
86097
|
+
return;
|
|
86098
|
+
}
|
|
86099
|
+
|
|
86100
|
+
const indexMap = new Map(this.items.map((item, index) => [
|
|
86101
|
+
item,
|
|
86102
|
+
index
|
|
86103
|
+
]));
|
|
86104
|
+
|
|
86105
|
+
// Sorting in place mutates `optionSelected` without a new array reference,
|
|
86106
|
+
// which Lit's `===` change-detection cannot see on its own — but that is
|
|
86107
|
+
// intentional and safe: both callers (handleSelectState / handleDeselectState)
|
|
86108
|
+
// assign a fresh `optionSelected` array immediately before calling, so Lit
|
|
86109
|
+
// already has a changed reference to react to, and the `value` write below
|
|
86110
|
+
// schedules the updated() cycle that re-derives `optionSelected` in DOM order
|
|
86111
|
+
// via resolveSelectedOptions. Do not "fix" this into a new-array assignment.
|
|
86112
|
+
//
|
|
86113
|
+
// Sort any element no longer in `items` (a stale selection left over from a
|
|
86114
|
+
// dynamic rebuild that the consumer has not cleared) to the END rather than
|
|
86115
|
+
// the front, so it never displaces a live option to the head of the
|
|
86116
|
+
// serialized order. Value reconciliation drops it on the next updated() cycle.
|
|
86117
|
+
this.optionSelected.sort((optionA, optionB) => (indexMap.get(optionA) ?? this.items.length) - (indexMap.get(optionB) ?? this.items.length));
|
|
86118
|
+
this._selectedKey = this.optionSelected.map((option) => option._optionKey);
|
|
86119
|
+
this.value = serializeMultiSelectValue(this.optionSelected.map((option) => option.value));
|
|
86120
|
+
// Mark this `value` change as selection-driven so updated() trusts the keys.
|
|
86121
|
+
this._valueChangeFromSelection = true;
|
|
86122
|
+
}
|
|
86123
|
+
|
|
85776
86124
|
/**
|
|
85777
86125
|
* Resets the menu to its initial state.
|
|
85778
86126
|
* This is the only way to return value to undefined.
|
|
@@ -85782,6 +86130,7 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85782
86130
|
// Reset to undefined - initial state
|
|
85783
86131
|
this.value = undefined;
|
|
85784
86132
|
this.optionSelected = undefined;
|
|
86133
|
+
this._selectedKey = undefined;
|
|
85785
86134
|
this._index = -1;
|
|
85786
86135
|
|
|
85787
86136
|
// Clear active option state so a follow-up open/navigation starts fresh
|
|
@@ -85843,6 +86192,21 @@ class AuroMenu extends AuroElement$2 {
|
|
|
85843
86192
|
this.initItems();
|
|
85844
86193
|
}
|
|
85845
86194
|
|
|
86195
|
+
// Recover `_index` from the highlighted option when it has been reset to -1.
|
|
86196
|
+
// The updated() reconciliation resets `_index = -1` whenever the value
|
|
86197
|
+
// collapses to undefined while `optionActive` still points at the highlighted
|
|
86198
|
+
// option — e.g. deselecting the last remaining option in multi-select, or a
|
|
86199
|
+
// programmatic clearSelection() in single-select while keyboard focus is on an
|
|
86200
|
+
// option. Without this, reading `items[-1]` returns undefined and the re-select
|
|
86201
|
+
// no-ops until the highlight is moved away and back. Mirrors auro-combobox's
|
|
86202
|
+
// reconcileMenuIndex.
|
|
86203
|
+
if (this._index < 0 && this.optionActive && this.items) {
|
|
86204
|
+
const activeIndex = this.items.indexOf(this.optionActive);
|
|
86205
|
+
if (activeIndex >= 0) {
|
|
86206
|
+
this._index = activeIndex;
|
|
86207
|
+
}
|
|
86208
|
+
}
|
|
86209
|
+
|
|
85846
86210
|
// Get currently selected menu option based on index
|
|
85847
86211
|
const option = this.items ? this.items[this._index] : undefined;
|
|
85848
86212
|
|
|
@@ -91273,7 +91637,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
91273
91637
|
}
|
|
91274
91638
|
};
|
|
91275
91639
|
|
|
91276
|
-
var formkitVersion$1 = '
|
|
91640
|
+
var formkitVersion$1 = '202608111845';
|
|
91277
91641
|
|
|
91278
91642
|
class AuroElement extends i$3 {
|
|
91279
91643
|
static get properties() {
|
|
@@ -93384,7 +93748,7 @@ class AuroHelpText extends i$3 {
|
|
|
93384
93748
|
}
|
|
93385
93749
|
}
|
|
93386
93750
|
|
|
93387
|
-
var formkitVersion = '
|
|
93751
|
+
var formkitVersion = '202608111845';
|
|
93388
93752
|
|
|
93389
93753
|
var styleCss = 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{max-width:100%}.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%;box-sizing:border-box;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{overflow:hidden;height:auto;text-overflow:ellipsis;white-space:nowrap}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}`;
|
|
93390
93754
|
|