@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
|
@@ -12341,7 +12341,7 @@ let AuroHelpText$8 = class AuroHelpText extends i$2 {
|
|
|
12341
12341
|
}
|
|
12342
12342
|
};
|
|
12343
12343
|
|
|
12344
|
-
var formkitVersion$8 = '
|
|
12344
|
+
var formkitVersion$8 = '202608111845';
|
|
12345
12345
|
|
|
12346
12346
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12347
12347
|
// See LICENSE in the project root for license information.
|
|
@@ -12442,22 +12442,35 @@ let AuroInput$2 = class AuroInput extends BaseInput$2 {
|
|
|
12442
12442
|
* @private
|
|
12443
12443
|
*/
|
|
12444
12444
|
get inputHidden() {
|
|
12445
|
-
//
|
|
12446
|
-
// raised
|
|
12447
|
-
//
|
|
12448
|
-
|
|
12449
|
-
|
|
12450
|
-
|
|
12445
|
+
// In the classic/default layout, activeLabel keeps the input row visible so
|
|
12446
|
+
// the label stays raised rather than collapsing to the centered placeholder
|
|
12447
|
+
// position. Emphasized/snowflake always render the label inside the field,
|
|
12448
|
+
// so activeLabel does not apply there. This only overrides the empty/
|
|
12449
|
+
// unfocused clause — the display-value clause (combobox/datepicker) is
|
|
12450
|
+
// preserved regardless.
|
|
12451
|
+
const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
|
|
12451
12452
|
|
|
12452
12453
|
return (
|
|
12453
12454
|
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
12454
12455
|
(
|
|
12456
|
+
!activeLabelRaisesInput &&
|
|
12455
12457
|
(!this.value || this.value.length === 0) &&
|
|
12456
12458
|
!this.hasFocus &&
|
|
12457
12459
|
(!this.placeholderStr || this.placeholderStr === '')
|
|
12458
12460
|
);
|
|
12459
12461
|
}
|
|
12460
12462
|
|
|
12463
|
+
/**
|
|
12464
|
+
* Whether the component is rendering the classic/default layout, meaning not
|
|
12465
|
+
* emphasized and not snowflake. Kept as a single source of truth so
|
|
12466
|
+
* layout-scoped behavior such as activeLabel stays consistent across getters.
|
|
12467
|
+
* @returns {boolean} - True for the classic/default layout.
|
|
12468
|
+
* @private
|
|
12469
|
+
*/
|
|
12470
|
+
get isClassicLayout() {
|
|
12471
|
+
return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
|
|
12472
|
+
}
|
|
12473
|
+
|
|
12461
12474
|
/**
|
|
12462
12475
|
* Determines if the input should display in a state with no focus or value indication.
|
|
12463
12476
|
* Returns true when the input has display content without focus and has a value,
|
|
@@ -26780,7 +26793,7 @@ let AuroBibtemplate$3 = class AuroBibtemplate extends i$2 {
|
|
|
26780
26793
|
}
|
|
26781
26794
|
};
|
|
26782
26795
|
|
|
26783
|
-
var formkitVersion$2$1 = '
|
|
26796
|
+
var formkitVersion$2$1 = '202608111845';
|
|
26784
26797
|
|
|
26785
26798
|
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$5`${s$5(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$4`: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}
|
|
26786
26799
|
`,u$4$2=i$4`.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}}
|
|
@@ -32511,7 +32524,7 @@ let AuroHelpText$2$1 = class AuroHelpText extends i$2 {
|
|
|
32511
32524
|
}
|
|
32512
32525
|
};
|
|
32513
32526
|
|
|
32514
|
-
var formkitVersion$1$3 = '
|
|
32527
|
+
var formkitVersion$1$3 = '202608111845';
|
|
32515
32528
|
|
|
32516
32529
|
let AuroElement$2$2 = class AuroElement extends i$2 {
|
|
32517
32530
|
static get properties() {
|
|
@@ -46204,7 +46217,7 @@ let AuroHelpText$1$3 = class AuroHelpText extends i$2 {
|
|
|
46204
46217
|
}
|
|
46205
46218
|
};
|
|
46206
46219
|
|
|
46207
|
-
var formkitVersion$7 = '
|
|
46220
|
+
var formkitVersion$7 = '202608111845';
|
|
46208
46221
|
|
|
46209
46222
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
46210
46223
|
// See LICENSE in the project root for license information.
|
|
@@ -46305,22 +46318,35 @@ let AuroInput$1 = class AuroInput extends BaseInput$1 {
|
|
|
46305
46318
|
* @private
|
|
46306
46319
|
*/
|
|
46307
46320
|
get inputHidden() {
|
|
46308
|
-
//
|
|
46309
|
-
// raised
|
|
46310
|
-
//
|
|
46311
|
-
|
|
46312
|
-
|
|
46313
|
-
|
|
46321
|
+
// In the classic/default layout, activeLabel keeps the input row visible so
|
|
46322
|
+
// the label stays raised rather than collapsing to the centered placeholder
|
|
46323
|
+
// position. Emphasized/snowflake always render the label inside the field,
|
|
46324
|
+
// so activeLabel does not apply there. This only overrides the empty/
|
|
46325
|
+
// unfocused clause — the display-value clause (combobox/datepicker) is
|
|
46326
|
+
// preserved regardless.
|
|
46327
|
+
const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
|
|
46314
46328
|
|
|
46315
46329
|
return (
|
|
46316
46330
|
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
46317
46331
|
(
|
|
46332
|
+
!activeLabelRaisesInput &&
|
|
46318
46333
|
(!this.value || this.value.length === 0) &&
|
|
46319
46334
|
!this.hasFocus &&
|
|
46320
46335
|
(!this.placeholderStr || this.placeholderStr === '')
|
|
46321
46336
|
);
|
|
46322
46337
|
}
|
|
46323
46338
|
|
|
46339
|
+
/**
|
|
46340
|
+
* Whether the component is rendering the classic/default layout, meaning not
|
|
46341
|
+
* emphasized and not snowflake. Kept as a single source of truth so
|
|
46342
|
+
* layout-scoped behavior such as activeLabel stays consistent across getters.
|
|
46343
|
+
* @returns {boolean} - True for the classic/default layout.
|
|
46344
|
+
* @private
|
|
46345
|
+
*/
|
|
46346
|
+
get isClassicLayout() {
|
|
46347
|
+
return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
|
|
46348
|
+
}
|
|
46349
|
+
|
|
46324
46350
|
/**
|
|
46325
46351
|
* Determines if the input should display in a state with no focus or value indication.
|
|
46326
46352
|
* Returns true when the input has display content without focus and has a value,
|
|
@@ -51193,7 +51219,7 @@ let AuroHelpText$1$2 = class AuroHelpText extends i$2 {
|
|
|
51193
51219
|
}
|
|
51194
51220
|
};
|
|
51195
51221
|
|
|
51196
|
-
var formkitVersion$1$2 = '
|
|
51222
|
+
var formkitVersion$1$2 = '202608111845';
|
|
51197
51223
|
|
|
51198
51224
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
51199
51225
|
// See LICENSE in the project root for license information.
|
|
@@ -55346,7 +55372,7 @@ let AuroHelpText$6 = class AuroHelpText extends i$2 {
|
|
|
55346
55372
|
}
|
|
55347
55373
|
};
|
|
55348
55374
|
|
|
55349
|
-
var formkitVersion$6 = '
|
|
55375
|
+
var formkitVersion$6 = '202608111845';
|
|
55350
55376
|
|
|
55351
55377
|
let AuroElement$1$2 = class AuroElement extends i$2 {
|
|
55352
55378
|
static get properties() {
|
|
@@ -59409,7 +59435,7 @@ let AuroHelpText$5 = class AuroHelpText extends i$2 {
|
|
|
59409
59435
|
}
|
|
59410
59436
|
};
|
|
59411
59437
|
|
|
59412
|
-
var formkitVersion$5 = '
|
|
59438
|
+
var formkitVersion$5 = '202608111845';
|
|
59413
59439
|
|
|
59414
59440
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
59415
59441
|
// See LICENSE in the project root for license information.
|
|
@@ -61174,7 +61200,7 @@ let AuroHelpText$4 = class AuroHelpText extends i$2 {
|
|
|
61174
61200
|
}
|
|
61175
61201
|
};
|
|
61176
61202
|
|
|
61177
|
-
var formkitVersion$4 = '
|
|
61203
|
+
var formkitVersion$4 = '202608111845';
|
|
61178
61204
|
|
|
61179
61205
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
61180
61206
|
// See LICENSE in the project root for license information.
|
|
@@ -66493,7 +66519,7 @@ let AuroHelpText$2 = class AuroHelpText extends i$2 {
|
|
|
66493
66519
|
}
|
|
66494
66520
|
};
|
|
66495
66521
|
|
|
66496
|
-
var formkitVersion$2 = '
|
|
66522
|
+
var formkitVersion$2 = '202608111845';
|
|
66497
66523
|
|
|
66498
66524
|
let AuroElement$2$1 = class AuroElement extends i$2 {
|
|
66499
66525
|
static get properties() {
|
|
@@ -80186,7 +80212,7 @@ let AuroHelpText$1$1 = class AuroHelpText extends i$2 {
|
|
|
80186
80212
|
}
|
|
80187
80213
|
};
|
|
80188
80214
|
|
|
80189
|
-
var formkitVersion$1$1 = '
|
|
80215
|
+
var formkitVersion$1$1 = '202608111845';
|
|
80190
80216
|
|
|
80191
80217
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
80192
80218
|
// See LICENSE in the project root for license information.
|
|
@@ -80287,22 +80313,35 @@ class AuroInput extends BaseInput {
|
|
|
80287
80313
|
* @private
|
|
80288
80314
|
*/
|
|
80289
80315
|
get inputHidden() {
|
|
80290
|
-
//
|
|
80291
|
-
// raised
|
|
80292
|
-
//
|
|
80293
|
-
|
|
80294
|
-
|
|
80295
|
-
|
|
80316
|
+
// In the classic/default layout, activeLabel keeps the input row visible so
|
|
80317
|
+
// the label stays raised rather than collapsing to the centered placeholder
|
|
80318
|
+
// position. Emphasized/snowflake always render the label inside the field,
|
|
80319
|
+
// so activeLabel does not apply there. This only overrides the empty/
|
|
80320
|
+
// unfocused clause — the display-value clause (combobox/datepicker) is
|
|
80321
|
+
// preserved regardless.
|
|
80322
|
+
const activeLabelRaisesInput = this.activeLabel && this.isClassicLayout;
|
|
80296
80323
|
|
|
80297
80324
|
return (
|
|
80298
80325
|
this.hasDisplayValueContent && !this.hasFocus && this.hasValue) ||
|
|
80299
80326
|
(
|
|
80327
|
+
!activeLabelRaisesInput &&
|
|
80300
80328
|
(!this.value || this.value.length === 0) &&
|
|
80301
80329
|
!this.hasFocus &&
|
|
80302
80330
|
(!this.placeholderStr || this.placeholderStr === '')
|
|
80303
80331
|
);
|
|
80304
80332
|
}
|
|
80305
80333
|
|
|
80334
|
+
/**
|
|
80335
|
+
* Whether the component is rendering the classic/default layout, meaning not
|
|
80336
|
+
* emphasized and not snowflake. Kept as a single source of truth so
|
|
80337
|
+
* layout-scoped behavior such as activeLabel stays consistent across getters.
|
|
80338
|
+
* @returns {boolean} - True for the classic/default layout.
|
|
80339
|
+
* @private
|
|
80340
|
+
*/
|
|
80341
|
+
get isClassicLayout() {
|
|
80342
|
+
return !this.layout.startsWith('emphasized') && this.layout !== 'snowflake';
|
|
80343
|
+
}
|
|
80344
|
+
|
|
80306
80345
|
/**
|
|
80307
80346
|
* Determines if the input should display in a state with no focus or value indication.
|
|
80308
80347
|
* Returns true when the input has display content without focus and has a value,
|
|
@@ -81349,7 +81388,7 @@ let AuroBibtemplate$1 = class AuroBibtemplate extends i$2 {
|
|
|
81349
81388
|
}
|
|
81350
81389
|
};
|
|
81351
81390
|
|
|
81352
|
-
var formkitVersion$3 = '
|
|
81391
|
+
var formkitVersion$3 = '202608111845';
|
|
81353
81392
|
|
|
81354
81393
|
var styleCss$1$3 = i$4`.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}`;
|
|
81355
81394
|
|
|
@@ -83155,7 +83194,17 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83155
83194
|
return;
|
|
83156
83195
|
}
|
|
83157
83196
|
|
|
83158
|
-
this
|
|
83197
|
+
// Skip this write during a display-value sync: that path sets the input to
|
|
83198
|
+
// the selected option's LABEL, which is not its machine value. When an
|
|
83199
|
+
// option's label differs from its value (and especially when several
|
|
83200
|
+
// options share a value but render distinct labels — AB#1602086), writing
|
|
83201
|
+
// the label back into this.value clobbers the machine value the selection
|
|
83202
|
+
// listener just set (this.value = optionSelected.value), collapsing the
|
|
83203
|
+
// selection. _syncingBibValue still tracks (that mirrors user-typed text
|
|
83204
|
+
// from the fullscreen bib, where value should follow the input).
|
|
83205
|
+
if (!this._syncingDisplayValue) {
|
|
83206
|
+
this.value = this.input.value;
|
|
83207
|
+
}
|
|
83159
83208
|
|
|
83160
83209
|
// Ignore re-entrant input events caused by programmatic value sets.
|
|
83161
83210
|
if (this._syncingBibValue || this._syncingDisplayValue) {
|
|
@@ -83419,33 +83468,53 @@ class AuroCombobox extends AuroElement$3 {
|
|
|
83419
83468
|
}
|
|
83420
83469
|
|
|
83421
83470
|
if (this.input.value !== this.value) {
|
|
83422
|
-
//
|
|
83423
|
-
//
|
|
83424
|
-
//
|
|
83425
|
-
//
|
|
83426
|
-
//
|
|
83427
|
-
|
|
83428
|
-
|
|
83429
|
-
|
|
83471
|
+
// A fresh user selection leaves the input showing the option's LABEL
|
|
83472
|
+
// while this.value holds its machine value, so input.value !== this.value
|
|
83473
|
+
// is expected whenever label ≠ value. In that case the menu's current
|
|
83474
|
+
// selection is authoritative — and when several options share a value it
|
|
83475
|
+
// is the ONLY thing that records WHICH same-value option the user picked
|
|
83476
|
+
// (the menu tracks it by element identity via `_selectedKey`). Clearing
|
|
83477
|
+
// it here drops that key; the ensuing value-only re-resolution then
|
|
83478
|
+
// collapses the selection onto the first same-value option (AB#1602086).
|
|
83479
|
+
// So only treat the divergence as a stale menu when the selected option
|
|
83480
|
+
// does NOT match the new value.
|
|
83481
|
+
const menuSelectionMatchesValue =
|
|
83482
|
+
this.menu.optionSelected &&
|
|
83483
|
+
// optionSelected is a single element here (scalar `.value`). A multiselect
|
|
83484
|
+
// menu exposes it as an ARRAY, which has no scalar `.value` to compare, so
|
|
83485
|
+
// that shape can't be a single-option match — fall through to the clear path.
|
|
83486
|
+
!Array.isArray(this.menu.optionSelected) &&
|
|
83487
|
+
this.menu.optionSelected.value === this.value;
|
|
83488
|
+
|
|
83489
|
+
if (!menuSelectionMatchesValue) {
|
|
83490
|
+
// Clear menu.value AND menu.optionSelected together. Clearing only
|
|
83491
|
+
// menu.value leaves the previously-selected option element pinned
|
|
83492
|
+
// as menu.optionSelected; a later auroMenu-selectedOption event
|
|
83493
|
+
// would then write its stale .value back into combobox.value
|
|
83494
|
+
// (e.g. Tab-after-Backspace re-selecting the prior option).
|
|
83495
|
+
if (this.menu.value || this.menu.optionSelected) {
|
|
83496
|
+
this.menu.clearSelection();
|
|
83497
|
+
}
|
|
83430
83498
|
|
|
83431
|
-
|
|
83432
|
-
|
|
83433
|
-
|
|
83499
|
+
if (!this.persistInput) {
|
|
83500
|
+
this.syncInputValuesAcrossTriggerAndBib(this.value || '');
|
|
83501
|
+
}
|
|
83434
83502
|
|
|
83435
|
-
|
|
83436
|
-
|
|
83437
|
-
|
|
83438
|
-
|
|
83439
|
-
|
|
83440
|
-
|
|
83441
|
-
|
|
83442
|
-
|
|
83443
|
-
|
|
83444
|
-
|
|
83445
|
-
|
|
83446
|
-
|
|
83447
|
-
|
|
83448
|
-
|
|
83503
|
+
// Programmatic value with no matching option: updateFilter will close
|
|
83504
|
+
// the bib silently (see line 648 — no noMatchOption + 0 results
|
|
83505
|
+
// hides). Announce so screen-reader users hear the request was
|
|
83506
|
+
// dropped. Gated on `input.value !== this.value` so this never fires
|
|
83507
|
+
// for user typing — that path always reconciles input.value to
|
|
83508
|
+
// this.value before updated() runs.
|
|
83509
|
+
if (
|
|
83510
|
+
this.value &&
|
|
83511
|
+
this.menu &&
|
|
83512
|
+
this.menu.options &&
|
|
83513
|
+
this.menu.options.length > 0 &&
|
|
83514
|
+
!this.menu.options.some((opt) => opt.value === this.value)
|
|
83515
|
+
) {
|
|
83516
|
+
announceToScreenReader$1(this._getAnnouncementRoot(), `No matching option for ${this.value}`);
|
|
83517
|
+
}
|
|
83449
83518
|
}
|
|
83450
83519
|
}
|
|
83451
83520
|
|
|
@@ -83965,6 +84034,116 @@ function isSelectableByValue(option) {
|
|
|
83965
84034
|
!option.hasAttribute('static');
|
|
83966
84035
|
}
|
|
83967
84036
|
|
|
84037
|
+
/* eslint-disable no-underscore-dangle */
|
|
84038
|
+
/**
|
|
84039
|
+
* Resolves the single selected option for a given `value`, preferring the
|
|
84040
|
+
* option tracked by `selectedKey` (a user-initiated selection) over a
|
|
84041
|
+
* first-by-value match. When multiple options share the same `value`, matching
|
|
84042
|
+
* by `value` alone cannot distinguish which one the user picked; the key
|
|
84043
|
+
* disambiguates it.
|
|
84044
|
+
*
|
|
84045
|
+
* The key is trusted only when it still resolves to an option whose `value`
|
|
84046
|
+
* matches the requested `value`. If the key is stale (option removed) or the
|
|
84047
|
+
* value was changed programmatically, resolution falls back to value matching —
|
|
84048
|
+
* preserving backward-compatible behavior for preselection and `selectByValue`.
|
|
84049
|
+
* @private
|
|
84050
|
+
* @param {Array<HTMLElement>} items - The menu's flat option list.
|
|
84051
|
+
* @param {string} value - The value to resolve.
|
|
84052
|
+
* @param {string|undefined} selectedKey - The `_optionKey` of the user-selected option, if any.
|
|
84053
|
+
* @returns {HTMLElement|undefined} The resolved option, or undefined when none match.
|
|
84054
|
+
*/
|
|
84055
|
+
function resolveSelectedOption(items, value, selectedKey) {
|
|
84056
|
+
if (!items) {
|
|
84057
|
+
return undefined;
|
|
84058
|
+
}
|
|
84059
|
+
|
|
84060
|
+
if (selectedKey !== undefined) {
|
|
84061
|
+
const keyed = items.find((item) => item._optionKey === selectedKey);
|
|
84062
|
+
if (keyed && isSelectableByValue(keyed) && keyed.value === value) {
|
|
84063
|
+
return keyed;
|
|
84064
|
+
}
|
|
84065
|
+
// Key exists but the option is gone or its value no longer matches — fall
|
|
84066
|
+
// through to value-based matching.
|
|
84067
|
+
}
|
|
84068
|
+
|
|
84069
|
+
return items.find((item) => isSelectableByValue(item) && item.value === value);
|
|
84070
|
+
}
|
|
84071
|
+
|
|
84072
|
+
/**
|
|
84073
|
+
* Resolves the selected options for a multi-select `value` array, preferring
|
|
84074
|
+
* options tracked by `selectedKeys` (user-initiated selections) and falling
|
|
84075
|
+
* back to value matching for any values not resolved by key. The result is
|
|
84076
|
+
* always sorted into DOM order regardless of selection sequence.
|
|
84077
|
+
* @private
|
|
84078
|
+
* @param {Array<HTMLElement>} items - The menu's flat option list.
|
|
84079
|
+
* @param {Array<string>} valueArray - The selected values.
|
|
84080
|
+
* @param {Array<string>|undefined} selectedKeys - The `_optionKey`s of the user-selected options, if any.
|
|
84081
|
+
* @returns {Array<HTMLElement>} The resolved options in DOM order.
|
|
84082
|
+
*/
|
|
84083
|
+
function resolveSelectedOptions(items, valueArray, selectedKeys) {
|
|
84084
|
+
if (!items) {
|
|
84085
|
+
return [];
|
|
84086
|
+
}
|
|
84087
|
+
|
|
84088
|
+
const resolved = [];
|
|
84089
|
+
// Mirror `resolved` as a Set for O(1) membership checks below, matching the
|
|
84090
|
+
// indexMap optimization used for the sort rather than scanning `resolved`
|
|
84091
|
+
// on every candidate.
|
|
84092
|
+
const resolvedSet = new Set();
|
|
84093
|
+
|
|
84094
|
+
// Track how many of each value are still available to resolve. A value that
|
|
84095
|
+
// appears N times in `valueArray` may be satisfied at most N times total across
|
|
84096
|
+
// the key pass and the value fallback below — matching by count, not presence,
|
|
84097
|
+
// on BOTH passes. This stops a duplicate value from being over-resolved: e.g.
|
|
84098
|
+
// two keyed options that both carry `SEA` cannot both match a single requested
|
|
84099
|
+
// `SEA` (which happens when `value` is set directly without clearing
|
|
84100
|
+
// `_selectedKey`, so more keys survive than the value set now asks for).
|
|
84101
|
+
const remaining = new Map();
|
|
84102
|
+
valueArray.forEach((val) => remaining.set(val, (remaining.get(val) || 0) + 1));
|
|
84103
|
+
|
|
84104
|
+
// Resolve by key first: trust a key only when its option is still selectable
|
|
84105
|
+
// and there is still an unmatched occurrence of its value in the request set.
|
|
84106
|
+
if (Array.isArray(selectedKeys)) {
|
|
84107
|
+
selectedKeys.forEach((key) => {
|
|
84108
|
+
const keyed = items.find((item) => item._optionKey === key);
|
|
84109
|
+
if (keyed && isSelectableByValue(keyed) && (remaining.get(keyed.value) || 0) > 0 && !resolvedSet.has(keyed)) {
|
|
84110
|
+
resolved.push(keyed);
|
|
84111
|
+
resolvedSet.add(keyed);
|
|
84112
|
+
remaining.set(keyed.value, remaining.get(keyed.value) - 1);
|
|
84113
|
+
}
|
|
84114
|
+
});
|
|
84115
|
+
}
|
|
84116
|
+
|
|
84117
|
+
// Fall back to value matching for the occurrences not resolved by key. Iterate
|
|
84118
|
+
// the leftover per-value counts so a value that appears twice but was only
|
|
84119
|
+
// resolved once by key still matches its remaining occurrence(s).
|
|
84120
|
+
remaining.forEach((count, val) => {
|
|
84121
|
+
for (let occurrence = 0; occurrence < count; occurrence += 1) {
|
|
84122
|
+
const option = items.find((item) => isSelectableByValue(item) && item.value === val && !resolvedSet.has(item));
|
|
84123
|
+
if (option) {
|
|
84124
|
+
resolved.push(option);
|
|
84125
|
+
resolvedSet.add(option);
|
|
84126
|
+
}
|
|
84127
|
+
}
|
|
84128
|
+
});
|
|
84129
|
+
|
|
84130
|
+
// Always return in DOM order so display is consistent regardless of the order
|
|
84131
|
+
// keys/values were selected. Every resolved option came from `items`, so an
|
|
84132
|
+
// O(1) index lookup mirrors `_sortSelectedByDomOrder` and avoids the O(n)
|
|
84133
|
+
// `items.indexOf` per comparison for large combobox option sets. Any element
|
|
84134
|
+
// not in `items` (a stale snapshot from a future caller) sorts to the END via
|
|
84135
|
+
// `?? items.length`, matching `_sortSelectedByDomOrder` and avoiding NaN
|
|
84136
|
+
// comparisons.
|
|
84137
|
+
const indexMap = new Map(items.map((item, index) => [
|
|
84138
|
+
item,
|
|
84139
|
+
index
|
|
84140
|
+
]));
|
|
84141
|
+
resolved.sort((optionA, optionB) => (indexMap.get(optionA) ?? items.length) - (indexMap.get(optionB) ?? items.length));
|
|
84142
|
+
|
|
84143
|
+
return resolved;
|
|
84144
|
+
}
|
|
84145
|
+
/* eslint-enable no-underscore-dangle */
|
|
84146
|
+
|
|
83968
84147
|
/**
|
|
83969
84148
|
* Helper method to dispatch custom events.
|
|
83970
84149
|
* @param {HTMLElement} element - Element to dispatch event from.
|
|
@@ -83990,6 +84169,14 @@ function dispatchMenuEvent(element, eventName, detail = null) {
|
|
|
83990
84169
|
// See LICENSE in the project root for license information.
|
|
83991
84170
|
|
|
83992
84171
|
|
|
84172
|
+
/**
|
|
84173
|
+
* Monotonically increasing counter used to give each menu instance a unique
|
|
84174
|
+
* `_menuInstanceId` prefix. Auto-generating the id (rather than using a random
|
|
84175
|
+
* string) keeps option keys deterministic and collision-free across menus.
|
|
84176
|
+
* @private
|
|
84177
|
+
*/
|
|
84178
|
+
let menuInstanceIdCounter = 0;
|
|
84179
|
+
|
|
83993
84180
|
|
|
83994
84181
|
/**
|
|
83995
84182
|
* The `auro-menu` element provides users a way to select from a list of options.
|
|
@@ -84061,9 +84248,8 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84061
84248
|
|
|
84062
84249
|
// Instance properties (non-reactive)
|
|
84063
84250
|
|
|
84064
|
-
|
|
84065
|
-
|
|
84066
|
-
*/
|
|
84251
|
+
menuInstanceIdCounter += 1;
|
|
84252
|
+
|
|
84067
84253
|
Object.assign(this, {
|
|
84068
84254
|
// Root-level menu (true) or a nested submenu (false)
|
|
84069
84255
|
rootMenu: true,
|
|
@@ -84073,6 +84259,21 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84073
84259
|
nestingSpacer: '<span class="nestingSpacer"></span>',
|
|
84074
84260
|
// Loading indicator for slot elements
|
|
84075
84261
|
loadingSlots: null,
|
|
84262
|
+
// Unique id for this menu instance; prefixes every auto-generated option
|
|
84263
|
+
// key so keys never collide across menus in the same document.
|
|
84264
|
+
_menuInstanceId: `menu-${menuInstanceIdCounter}`,
|
|
84265
|
+
// Monotonically increasing counter for option key generation. Never
|
|
84266
|
+
// resets, so a key is never reused within this instance's lifetime.
|
|
84267
|
+
_optionKeyCounter: 0,
|
|
84268
|
+
// Key(s) of the option(s) the user has actively selected. A single string
|
|
84269
|
+
// in single-select, an array in multi-select, undefined when nothing is
|
|
84270
|
+
// user-selected. Used to disambiguate options that share a `value`.
|
|
84271
|
+
_selectedKey: undefined,
|
|
84272
|
+
// True only for the one updated() cycle following a user selection, so
|
|
84273
|
+
// reconciliation trusts `_selectedKey`. A `value` change from a consumer's
|
|
84274
|
+
// direct property assignment leaves this false, dropping the stale key so
|
|
84275
|
+
// reconciliation falls back to first-by-value (see updated()).
|
|
84276
|
+
_valueChangeFromSelection: false,
|
|
84076
84277
|
});
|
|
84077
84278
|
}
|
|
84078
84279
|
|
|
@@ -84292,6 +84493,13 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84292
84493
|
return;
|
|
84293
84494
|
}
|
|
84294
84495
|
|
|
84496
|
+
// A programmatic value set carries no positional intent, so drop any
|
|
84497
|
+
// `_selectedKey` left over from a prior user click. This makes reconciliation
|
|
84498
|
+
// in updated() fall back to first-by-value (single) / value-in-DOM-order
|
|
84499
|
+
// (multi), matching the documented contract for programmatic selection even
|
|
84500
|
+
// when a stale key would still resolve to a duplicate-value option.
|
|
84501
|
+
this._selectedKey = undefined;
|
|
84502
|
+
|
|
84295
84503
|
// `value` is a String property; stringify arrays so attribute reflection and `formattedValue` parsing stay correct.
|
|
84296
84504
|
this.value = Array.isArray(value) ? JSON.stringify(value) : value;
|
|
84297
84505
|
}
|
|
@@ -84339,6 +84547,17 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84339
84547
|
updated(changedProperties) {
|
|
84340
84548
|
super.updated(changedProperties);
|
|
84341
84549
|
|
|
84550
|
+
// Consume the selection-driven flag for THIS cycle up front. Clearing it
|
|
84551
|
+
// unconditionally — not only inside the `value` branch below — prevents it
|
|
84552
|
+
// from lingering `true` when a selection produces a serialized `value`
|
|
84553
|
+
// byte-identical to the current one, in which case Lit schedules no
|
|
84554
|
+
// `value`-change cycle to consume it. A lingering flag would misclassify a
|
|
84555
|
+
// later consumer's programmatic `value` set as selection-driven and keep a
|
|
84556
|
+
// stale `_selectedKey`. The reconcile path below re-sets the instance flag
|
|
84557
|
+
// after this point, so its intentional cross-cycle hand-off still works.
|
|
84558
|
+
const valueChangeFromSelection = this._valueChangeFromSelection;
|
|
84559
|
+
this._valueChangeFromSelection = false;
|
|
84560
|
+
|
|
84342
84561
|
// Single source of truth for 'auroMenu-selectedOption'. Selection handlers
|
|
84343
84562
|
// mutate optionSelected and let Lit's update cycle dispatch here; the prior
|
|
84344
84563
|
// .value comparison missed multi-select array changes and combined with the
|
|
@@ -84362,6 +84581,17 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84362
84581
|
this.initItems();
|
|
84363
84582
|
}
|
|
84364
84583
|
|
|
84584
|
+
// Distinguish a selection-driven `value` change (a user click, which set
|
|
84585
|
+
// the flag in handleSelectState / _sortSelectedByDomOrder) from a
|
|
84586
|
+
// programmatic assignment by a consumer. A programmatic set carries no
|
|
84587
|
+
// positional intent, so drop any leftover `_selectedKey` and let
|
|
84588
|
+
// reconciliation fall back to first-by-value (single) / value-in-DOM-order
|
|
84589
|
+
// (multi) — the same contract selectByValue() guarantees, even when a
|
|
84590
|
+
// stale key would otherwise still resolve to a duplicate-value option.
|
|
84591
|
+
if (!valueChangeFromSelection) {
|
|
84592
|
+
this._selectedKey = undefined;
|
|
84593
|
+
}
|
|
84594
|
+
|
|
84365
84595
|
// Set when reconciliation reassigns `value` below. That reassignment schedules a
|
|
84366
84596
|
// second updated() cycle, so the `event`-attribute dispatch is deferred to that
|
|
84367
84597
|
// cycle to avoid firing option custom events twice on the same selection.
|
|
@@ -84379,19 +84609,55 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84379
84609
|
// Defensive default: `formattedValue` can be undefined for unexpected value types,
|
|
84380
84610
|
// and calling `.includes` on undefined would throw during reconciliation.
|
|
84381
84611
|
const valueArray = this.formattedValue || [];
|
|
84382
|
-
|
|
84612
|
+
// Resolve by key first (the user's exact picks), then fall back to
|
|
84613
|
+
// value matching for any values not resolved by key — so pre-selection
|
|
84614
|
+
// and programmatic value sets keep working. Result is DOM-ordered.
|
|
84615
|
+
const matchingOptions = resolveSelectedOptions(this.items, valueArray, this._selectedKey);
|
|
84383
84616
|
newSelected = matchingOptions.length > 0 ? matchingOptions : undefined;
|
|
84384
84617
|
|
|
84385
|
-
// Reconcile `value` with the selectable set.
|
|
84386
|
-
// loaded but
|
|
84387
|
-
//
|
|
84388
|
-
//
|
|
84389
|
-
//
|
|
84390
|
-
|
|
84391
|
-
|
|
84392
|
-
|
|
84393
|
-
|
|
84394
|
-
|
|
84618
|
+
// Reconcile `value` with the selectable set. An occurrence is dropped
|
|
84619
|
+
// only when it is loaded but no selectable option can satisfy it —
|
|
84620
|
+
// every loaded item sharing that value is non-selectable, or the value
|
|
84621
|
+
// recurs more often than it has selectable options (a duplicate value
|
|
84622
|
+
// whose extra siblings are disabled/static). This is count-based, not
|
|
84623
|
+
// presence-based, so an enabled option is kept even when a disabled
|
|
84624
|
+
// sibling shares its value — mirroring how `resolveSelectedOptions`
|
|
84625
|
+
// resolves the same set. Entries with no matching item yet are
|
|
84626
|
+
// preserved so async preselection still works, and the toggle handlers
|
|
84627
|
+
// rebuild `value` from `formattedValue`, so a rejected entry cannot
|
|
84628
|
+
// resurface on the next select/deselect.
|
|
84629
|
+
const selectableByValue = new Map();
|
|
84630
|
+
const loadedValues = new Set();
|
|
84631
|
+
if (this.items) {
|
|
84632
|
+
this.items.forEach((item) => {
|
|
84633
|
+
loadedValues.add(item.value);
|
|
84634
|
+
if (isSelectableByValue(item)) {
|
|
84635
|
+
selectableByValue.set(item.value, (selectableByValue.get(item.value) || 0) + 1);
|
|
84636
|
+
}
|
|
84637
|
+
});
|
|
84638
|
+
}
|
|
84639
|
+
|
|
84640
|
+
const reconciled = valueArray.filter((val) => {
|
|
84641
|
+
// Not loaded yet (async preselection) — keep for a later cycle.
|
|
84642
|
+
if (!loadedValues.has(val)) {
|
|
84643
|
+
return true;
|
|
84644
|
+
}
|
|
84645
|
+
// Consume one selectable option per occurrence; drop once exhausted.
|
|
84646
|
+
const remaining = selectableByValue.get(val) || 0;
|
|
84647
|
+
if (remaining > 0) {
|
|
84648
|
+
selectableByValue.set(val, remaining - 1);
|
|
84649
|
+
return true;
|
|
84650
|
+
}
|
|
84651
|
+
return false;
|
|
84652
|
+
});
|
|
84653
|
+
|
|
84654
|
+
if (reconciled.length !== valueArray.length) {
|
|
84655
|
+
// This is an internal correction, not a consumer's programmatic set,
|
|
84656
|
+
// so preserve the selection-driven flag through the re-entrant
|
|
84657
|
+
// updated() cycle it schedules. Otherwise that cycle would treat the
|
|
84658
|
+
// reassignment as programmatic and drop `_selectedKey` mid-cascade,
|
|
84659
|
+
// flipping resolution and looping.
|
|
84660
|
+
this._valueChangeFromSelection = true;
|
|
84395
84661
|
this.value = serializeMultiSelectValue(reconciled);
|
|
84396
84662
|
valueReconciled = true;
|
|
84397
84663
|
}
|
|
@@ -84403,7 +84669,11 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84403
84669
|
// `hidden` is intentionally NOT excluded: the combobox toggles
|
|
84404
84670
|
// `hidden` as its type-ahead filter, so a filtered-out option is
|
|
84405
84671
|
// still a valid programmatic selection.
|
|
84406
|
-
|
|
84672
|
+
// Prefer the option the user actually selected (tracked by
|
|
84673
|
+
// `_selectedKey`) so a click on the second of two options sharing a
|
|
84674
|
+
// `value` resolves back to that exact element instead of the first
|
|
84675
|
+
// value match. Falls back to first-by-value for programmatic sets.
|
|
84676
|
+
const matchingOption = resolveSelectedOption(this.items, this.value, this._selectedKey);
|
|
84407
84677
|
|
|
84408
84678
|
if (matchingOption) {
|
|
84409
84679
|
newSelected = matchingOption;
|
|
@@ -84631,6 +84901,14 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84631
84901
|
}
|
|
84632
84902
|
});
|
|
84633
84903
|
|
|
84904
|
+
// Assign private keys once items are populated. Only the root menu assigns
|
|
84905
|
+
// keys: its `items` is a deep query that already includes nested submenu
|
|
84906
|
+
// options, so a single pass keys the entire tree. Nested menus skip this
|
|
84907
|
+
// and inherit keys from the root.
|
|
84908
|
+
if (this.rootMenu) {
|
|
84909
|
+
this._assignOptionKeys();
|
|
84910
|
+
}
|
|
84911
|
+
|
|
84634
84912
|
if (this.noCheckmark) {
|
|
84635
84913
|
this.updateItemsState(new Map([
|
|
84636
84914
|
[
|
|
@@ -84647,6 +84925,31 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84647
84925
|
}));
|
|
84648
84926
|
}
|
|
84649
84927
|
|
|
84928
|
+
/**
|
|
84929
|
+
* Assigns a private, auto-generated unique key (`_optionKey`) to each menu
|
|
84930
|
+
* option that does not already have one. Keys are internal state on the
|
|
84931
|
+
* element instance — never reflected as an attribute or exposed publicly —
|
|
84932
|
+
* and let selection tracking distinguish options that share the same `value`.
|
|
84933
|
+
*
|
|
84934
|
+
* The `_optionKey === undefined` guard makes this idempotent: options keep the
|
|
84935
|
+
* key they were first assigned across re-renders and slot changes, and if a
|
|
84936
|
+
* nested menu's lifecycle runs a pass before the root, options simply wait for
|
|
84937
|
+
* the root to key them (or keep whatever key they already hold).
|
|
84938
|
+
* @private
|
|
84939
|
+
*/
|
|
84940
|
+
_assignOptionKeys() {
|
|
84941
|
+
if (!this.items) {
|
|
84942
|
+
return;
|
|
84943
|
+
}
|
|
84944
|
+
|
|
84945
|
+
this.items.forEach((option) => {
|
|
84946
|
+
if (option._optionKey === undefined) {
|
|
84947
|
+
this._optionKeyCounter += 1;
|
|
84948
|
+
option._optionKey = `${this._menuInstanceId}-${this._optionKeyCounter}`;
|
|
84949
|
+
}
|
|
84950
|
+
});
|
|
84951
|
+
}
|
|
84952
|
+
|
|
84650
84953
|
// Logic Methods
|
|
84651
84954
|
|
|
84652
84955
|
/**
|
|
@@ -84656,24 +84959,28 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84656
84959
|
*/
|
|
84657
84960
|
handleSelectState(option) {
|
|
84658
84961
|
if (this.multiSelect) {
|
|
84659
|
-
const currentValue = this.formattedValue || [];
|
|
84660
84962
|
const currentSelected = this.optionSelected || [];
|
|
84661
84963
|
|
|
84662
|
-
if (!currentValue.includes(option.value)) {
|
|
84663
|
-
this.value = serializeMultiSelectValue([
|
|
84664
|
-
...currentValue,
|
|
84665
|
-
option.value
|
|
84666
|
-
]);
|
|
84667
|
-
}
|
|
84668
84964
|
if (!currentSelected.includes(option)) {
|
|
84669
84965
|
this.optionSelected = [
|
|
84670
84966
|
...currentSelected,
|
|
84671
84967
|
option
|
|
84672
84968
|
];
|
|
84673
84969
|
}
|
|
84970
|
+
|
|
84971
|
+
// Re-sort by DOM order and rebuild `_selectedKey`/`value` from the
|
|
84972
|
+
// selected set so display order stays consistent with the menu, not with
|
|
84973
|
+
// click order.
|
|
84974
|
+
this._sortSelectedByDomOrder();
|
|
84674
84975
|
} else {
|
|
84675
84976
|
this.value = option.value;
|
|
84676
84977
|
this.optionSelected = option;
|
|
84978
|
+
// Track the specific option the user selected so the value→option
|
|
84979
|
+
// reconciliation in updated() resolves back to this exact element even
|
|
84980
|
+
// when another option shares the same `value`.
|
|
84981
|
+
this._selectedKey = option._optionKey;
|
|
84982
|
+
// Mark this `value` change as selection-driven so updated() trusts the key.
|
|
84983
|
+
this._valueChangeFromSelection = true;
|
|
84677
84984
|
}
|
|
84678
84985
|
|
|
84679
84986
|
this._index = this.items.indexOf(option);
|
|
@@ -84686,18 +84993,22 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84686
84993
|
*/
|
|
84687
84994
|
handleDeselectState(option) {
|
|
84688
84995
|
if (this.multiSelect) {
|
|
84689
|
-
// Remove this
|
|
84690
|
-
|
|
84691
|
-
|
|
84692
|
-
|
|
84693
|
-
this.optionSelected = this.optionSelected.filter((val) => val !== option);
|
|
84996
|
+
// Remove this exact element from the selection (identity, not value — two
|
|
84997
|
+
// options can share a `value`), then rebuild `value`/`_selectedKey` from
|
|
84998
|
+
// the remaining set in DOM order. An empty result collapses to undefined.
|
|
84999
|
+
this.optionSelected = this.optionSelected.filter((selected) => selected !== option);
|
|
84694
85000
|
if (this.optionSelected.length === 0) {
|
|
84695
85001
|
this.optionSelected = undefined;
|
|
85002
|
+
this._selectedKey = undefined;
|
|
85003
|
+
this.value = undefined;
|
|
85004
|
+
} else {
|
|
85005
|
+
this._sortSelectedByDomOrder();
|
|
84696
85006
|
}
|
|
84697
85007
|
} else {
|
|
84698
85008
|
// For single-select: Back to undefined when deselected
|
|
84699
85009
|
this.value = undefined;
|
|
84700
85010
|
this.optionSelected = undefined;
|
|
85011
|
+
this._selectedKey = undefined;
|
|
84701
85012
|
}
|
|
84702
85013
|
|
|
84703
85014
|
// Update the index tracking
|
|
@@ -84721,9 +85032,46 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84721
85032
|
clearSelection() {
|
|
84722
85033
|
this.optionSelected = undefined;
|
|
84723
85034
|
this.value = undefined;
|
|
85035
|
+
this._selectedKey = undefined;
|
|
84724
85036
|
this._index = -1;
|
|
84725
85037
|
}
|
|
84726
85038
|
|
|
85039
|
+
/**
|
|
85040
|
+
* Re-sorts the multi-select selection into DOM order and rebuilds the derived
|
|
85041
|
+
* `_selectedKey` and `value` from `optionSelected`. Selection is always stored
|
|
85042
|
+
* and serialized in the order options appear in the menu, never in click
|
|
85043
|
+
* order — so selecting C then A yields `[A, C]`.
|
|
85044
|
+
* @private
|
|
85045
|
+
*/
|
|
85046
|
+
_sortSelectedByDomOrder() {
|
|
85047
|
+
if (!this.multiSelect || !Array.isArray(this.optionSelected) || !this.items) {
|
|
85048
|
+
return;
|
|
85049
|
+
}
|
|
85050
|
+
|
|
85051
|
+
const indexMap = new Map(this.items.map((item, index) => [
|
|
85052
|
+
item,
|
|
85053
|
+
index
|
|
85054
|
+
]));
|
|
85055
|
+
|
|
85056
|
+
// Sorting in place mutates `optionSelected` without a new array reference,
|
|
85057
|
+
// which Lit's `===` change-detection cannot see on its own — but that is
|
|
85058
|
+
// intentional and safe: both callers (handleSelectState / handleDeselectState)
|
|
85059
|
+
// assign a fresh `optionSelected` array immediately before calling, so Lit
|
|
85060
|
+
// already has a changed reference to react to, and the `value` write below
|
|
85061
|
+
// schedules the updated() cycle that re-derives `optionSelected` in DOM order
|
|
85062
|
+
// via resolveSelectedOptions. Do not "fix" this into a new-array assignment.
|
|
85063
|
+
//
|
|
85064
|
+
// Sort any element no longer in `items` (a stale selection left over from a
|
|
85065
|
+
// dynamic rebuild that the consumer has not cleared) to the END rather than
|
|
85066
|
+
// the front, so it never displaces a live option to the head of the
|
|
85067
|
+
// serialized order. Value reconciliation drops it on the next updated() cycle.
|
|
85068
|
+
this.optionSelected.sort((optionA, optionB) => (indexMap.get(optionA) ?? this.items.length) - (indexMap.get(optionB) ?? this.items.length));
|
|
85069
|
+
this._selectedKey = this.optionSelected.map((option) => option._optionKey);
|
|
85070
|
+
this.value = serializeMultiSelectValue(this.optionSelected.map((option) => option.value));
|
|
85071
|
+
// Mark this `value` change as selection-driven so updated() trusts the keys.
|
|
85072
|
+
this._valueChangeFromSelection = true;
|
|
85073
|
+
}
|
|
85074
|
+
|
|
84727
85075
|
/**
|
|
84728
85076
|
* Resets the menu to its initial state.
|
|
84729
85077
|
* This is the only way to return value to undefined.
|
|
@@ -84733,6 +85081,7 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84733
85081
|
// Reset to undefined - initial state
|
|
84734
85082
|
this.value = undefined;
|
|
84735
85083
|
this.optionSelected = undefined;
|
|
85084
|
+
this._selectedKey = undefined;
|
|
84736
85085
|
this._index = -1;
|
|
84737
85086
|
|
|
84738
85087
|
// Clear active option state so a follow-up open/navigation starts fresh
|
|
@@ -84794,6 +85143,21 @@ class AuroMenu extends AuroElement$2 {
|
|
|
84794
85143
|
this.initItems();
|
|
84795
85144
|
}
|
|
84796
85145
|
|
|
85146
|
+
// Recover `_index` from the highlighted option when it has been reset to -1.
|
|
85147
|
+
// The updated() reconciliation resets `_index = -1` whenever the value
|
|
85148
|
+
// collapses to undefined while `optionActive` still points at the highlighted
|
|
85149
|
+
// option — e.g. deselecting the last remaining option in multi-select, or a
|
|
85150
|
+
// programmatic clearSelection() in single-select while keyboard focus is on an
|
|
85151
|
+
// option. Without this, reading `items[-1]` returns undefined and the re-select
|
|
85152
|
+
// no-ops until the highlight is moved away and back. Mirrors auro-combobox's
|
|
85153
|
+
// reconcileMenuIndex.
|
|
85154
|
+
if (this._index < 0 && this.optionActive && this.items) {
|
|
85155
|
+
const activeIndex = this.items.indexOf(this.optionActive);
|
|
85156
|
+
if (activeIndex >= 0) {
|
|
85157
|
+
this._index = activeIndex;
|
|
85158
|
+
}
|
|
85159
|
+
}
|
|
85160
|
+
|
|
84797
85161
|
// Get currently selected menu option based on index
|
|
84798
85162
|
const option = this.items ? this.items[this._index] : undefined;
|
|
84799
85163
|
|
|
@@ -90224,7 +90588,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
90224
90588
|
}
|
|
90225
90589
|
};
|
|
90226
90590
|
|
|
90227
|
-
var formkitVersion$1 = '
|
|
90591
|
+
var formkitVersion$1 = '202608111845';
|
|
90228
90592
|
|
|
90229
90593
|
class AuroElement extends i$2 {
|
|
90230
90594
|
static get properties() {
|
|
@@ -92335,7 +92699,7 @@ class AuroHelpText extends i$2 {
|
|
|
92335
92699
|
}
|
|
92336
92700
|
}
|
|
92337
92701
|
|
|
92338
|
-
var formkitVersion = '
|
|
92702
|
+
var formkitVersion = '202608111845';
|
|
92339
92703
|
|
|
92340
92704
|
var styleCss = i$4`.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}`;
|
|
92341
92705
|
|