@aurodesignsystem-dev/auro-formkit 0.0.0-pr1431.3 → 0.0.0-pr1433.1
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/api.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/api.min.js +230 -44
- package/components/combobox/demo/index.min.js +230 -44
- package/components/combobox/dist/auro-combobox copy.d.ts +578 -0
- package/components/combobox/dist/auro-combobox.d.ts +4 -0
- package/components/combobox/dist/index.js +142 -22
- package/components/combobox/dist/registered.js +142 -22
- package/components/counter/demo/api.min.js +30 -2
- package/components/counter/demo/index.min.js +30 -2
- package/components/counter/dist/index.js +30 -2
- package/components/counter/dist/registered.js +30 -2
- package/components/datepicker/demo/api.min.js +33 -3
- package/components/datepicker/demo/index.min.js +33 -3
- package/components/datepicker/dist/index.js +33 -3
- package/components/datepicker/dist/registered.js +33 -3
- package/components/dropdown/demo/api.min.js +29 -1
- package/components/dropdown/demo/index.min.js +29 -1
- package/components/dropdown/dist/index.js +29 -1
- package/components/dropdown/dist/keyboardUtils.d.ts +18 -0
- package/components/dropdown/dist/registered.js +29 -1
- package/components/form/demo/api.min.js +326 -54
- package/components/form/demo/index.min.js +326 -54
- package/components/input/demo/api.min.js +1 -1
- package/components/input/demo/index.min.js +1 -1
- package/components/input/dist/index.js +1 -1
- package/components/input/dist/registered.js +1 -1
- package/components/menu/demo/api.min.js +88 -22
- package/components/menu/demo/index.min.js +88 -22
- package/components/menu/dist/index.js +88 -22
- package/components/menu/dist/registered.js +88 -22
- package/components/radio/demo/api.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/api.min.js +118 -24
- package/components/select/demo/index.min.js +118 -24
- package/components/select/dist/index.js +30 -2
- package/components/select/dist/registered.js +30 -2
- package/custom-elements.json +1906 -1897
- package/package.json +3 -3
|
@@ -3345,6 +3345,7 @@ class AuroFloatingUI {
|
|
|
3345
3345
|
this.focusHandler = null;
|
|
3346
3346
|
this.clickHandler = null;
|
|
3347
3347
|
this.keyDownHandler = null;
|
|
3348
|
+
this.touchHandler = null;
|
|
3348
3349
|
|
|
3349
3350
|
/**
|
|
3350
3351
|
* @private
|
|
@@ -3762,6 +3763,28 @@ class AuroFloatingUI {
|
|
|
3762
3763
|
setTimeout(() => {
|
|
3763
3764
|
window.addEventListener("click", this.clickHandler);
|
|
3764
3765
|
}, 0);
|
|
3766
|
+
|
|
3767
|
+
// iOS Safari does not fire `click` on non-interactive elements, so
|
|
3768
|
+
// tapping an inert backdrop never reaches the click handler above.
|
|
3769
|
+
// Mirror the same outside-tap logic with a passive touchstart listener.
|
|
3770
|
+
this.touchHandler = (evt) => {
|
|
3771
|
+
const element = this.element;
|
|
3772
|
+
if (!element?.bib) {
|
|
3773
|
+
return;
|
|
3774
|
+
}
|
|
3775
|
+
|
|
3776
|
+
// fullscreen (modal) dialog handles its own dismissal
|
|
3777
|
+
if (element.bib.hasAttribute("isfullscreen")) {
|
|
3778
|
+
return;
|
|
3779
|
+
}
|
|
3780
|
+
|
|
3781
|
+
const path = evt.composedPath();
|
|
3782
|
+
if (!path.includes(element.trigger) && !path.includes(element.bib)) {
|
|
3783
|
+
this.hideBib("click");
|
|
3784
|
+
}
|
|
3785
|
+
};
|
|
3786
|
+
|
|
3787
|
+
window.addEventListener("touchstart", this.touchHandler, { passive: true });
|
|
3765
3788
|
}
|
|
3766
3789
|
|
|
3767
3790
|
cleanupHideHandlers() {
|
|
@@ -3777,6 +3800,11 @@ class AuroFloatingUI {
|
|
|
3777
3800
|
this.clickHandler = null;
|
|
3778
3801
|
}
|
|
3779
3802
|
|
|
3803
|
+
if (this.touchHandler) {
|
|
3804
|
+
window.removeEventListener("touchstart", this.touchHandler);
|
|
3805
|
+
this.touchHandler = null;
|
|
3806
|
+
}
|
|
3807
|
+
|
|
3780
3808
|
if (this.keyDownHandler) {
|
|
3781
3809
|
document.removeEventListener("keydown", this.keyDownHandler);
|
|
3782
3810
|
this.keyDownHandler = null;
|
|
@@ -5251,7 +5279,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
5251
5279
|
}
|
|
5252
5280
|
};
|
|
5253
5281
|
|
|
5254
|
-
var formkitVersion$1 = '
|
|
5282
|
+
var formkitVersion$1 = '202604101700';
|
|
5255
5283
|
|
|
5256
5284
|
class AuroElement extends i$3 {
|
|
5257
5285
|
static get properties() {
|
|
@@ -7004,7 +7032,7 @@ class AuroHelpText extends i$3 {
|
|
|
7004
7032
|
}
|
|
7005
7033
|
}
|
|
7006
7034
|
|
|
7007
|
-
var formkitVersion = '
|
|
7035
|
+
var formkitVersion = '202604101700';
|
|
7008
7036
|
|
|
7009
7037
|
var styleCss$2 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);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, 0.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, 0.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, 0.625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-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, 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, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
7010
7038
|
|
|
@@ -8867,7 +8895,7 @@ class AuroMenuOption extends AuroElement$1 {
|
|
|
8867
8895
|
this.setAttribute('aria-selected', this.selected.toString());
|
|
8868
8896
|
|
|
8869
8897
|
// Update menu service selection state if this isn't an internal update
|
|
8870
|
-
if (this.internalUpdateInProgress !== true) {
|
|
8898
|
+
if (this.internalUpdateInProgress !== true && this.menuService) {
|
|
8871
8899
|
this.menuService[this.selected ? 'selectOption' : 'deselectOption'](this);
|
|
8872
8900
|
}
|
|
8873
8901
|
}
|
|
@@ -8902,9 +8930,10 @@ class AuroMenuOption extends AuroElement$1 {
|
|
|
8902
8930
|
}
|
|
8903
8931
|
|
|
8904
8932
|
disconnectedCallback() {
|
|
8905
|
-
|
|
8906
|
-
|
|
8907
|
-
|
|
8933
|
+
const { menuService } = this;
|
|
8934
|
+
if (menuService) {
|
|
8935
|
+
menuService.unsubscribe(this.handleMenuChange);
|
|
8936
|
+
menuService.removeMenuOption(this);
|
|
8908
8937
|
}
|
|
8909
8938
|
}
|
|
8910
8939
|
|
|
@@ -9073,9 +9102,11 @@ class AuroMenuOption extends AuroElement$1 {
|
|
|
9073
9102
|
* @private
|
|
9074
9103
|
*/
|
|
9075
9104
|
handleMouseEnter() {
|
|
9076
|
-
|
|
9077
|
-
|
|
9105
|
+
const { menuService } = this;
|
|
9106
|
+
if (!menuService || this.disabled) {
|
|
9107
|
+
return;
|
|
9078
9108
|
}
|
|
9109
|
+
menuService.setHighlightedOption(this);
|
|
9079
9110
|
}
|
|
9080
9111
|
|
|
9081
9112
|
/**
|
|
@@ -9479,10 +9510,15 @@ class MenuService {
|
|
|
9479
9510
|
return;
|
|
9480
9511
|
}
|
|
9481
9512
|
|
|
9513
|
+
const before = this.selectedOptions || [];
|
|
9482
9514
|
const optionsSet = new Set(optionsToDeselect);
|
|
9483
|
-
|
|
9484
|
-
.filter(opt => !optionsSet.has(opt));
|
|
9515
|
+
const after = before.filter(opt => !optionsSet.has(opt));
|
|
9485
9516
|
|
|
9517
|
+
if (this.optionsArraysMatch(after, before)) {
|
|
9518
|
+
return;
|
|
9519
|
+
}
|
|
9520
|
+
|
|
9521
|
+
this.selectedOptions = after;
|
|
9486
9522
|
this.stageUpdate();
|
|
9487
9523
|
}
|
|
9488
9524
|
|
|
@@ -9578,6 +9614,16 @@ class MenuService {
|
|
|
9578
9614
|
return;
|
|
9579
9615
|
}
|
|
9580
9616
|
|
|
9617
|
+
const hostValue = this.host && this.host.value;
|
|
9618
|
+
const hostHasValue = hostValue !== undefined &&
|
|
9619
|
+
hostValue !== null &&
|
|
9620
|
+
(!Array.isArray(hostValue) || hostValue.length > 0) &&
|
|
9621
|
+
(typeof hostValue !== 'string' || hostValue.trim() !== '');
|
|
9622
|
+
|
|
9623
|
+
if (hostHasValue && this._pendingValue != null) {
|
|
9624
|
+
return;
|
|
9625
|
+
}
|
|
9626
|
+
|
|
9581
9627
|
this.clearPendingValue();
|
|
9582
9628
|
|
|
9583
9629
|
if (this.selectedOptions.length > 0) {
|
|
@@ -9758,6 +9804,9 @@ class MenuService {
|
|
|
9758
9804
|
this.notify({ type: 'optionsChange', options: this._menuOptions });
|
|
9759
9805
|
|
|
9760
9806
|
if (this._pendingValue != null) {
|
|
9807
|
+
// Reset the retry count so a new option registration gives a fresh
|
|
9808
|
+
// budget — the initial retries fired before delayed options arrived.
|
|
9809
|
+
this._pendingRetryCount = 0;
|
|
9761
9810
|
this.queuePendingValue(this._pendingValue);
|
|
9762
9811
|
}
|
|
9763
9812
|
}
|
|
@@ -10102,7 +10151,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10102
10151
|
* @returns {string} - Returns the label of the currently selected option(s).
|
|
10103
10152
|
*/
|
|
10104
10153
|
get currentLabel() {
|
|
10105
|
-
|
|
10154
|
+
const { menuService } = this;
|
|
10155
|
+
if (!menuService) {
|
|
10156
|
+
return '';
|
|
10157
|
+
}
|
|
10158
|
+
return menuService.currentLabel;
|
|
10106
10159
|
};
|
|
10107
10160
|
|
|
10108
10161
|
/**
|
|
@@ -10125,7 +10178,12 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10125
10178
|
* @param {number} value - Sets the index of the currently active option.
|
|
10126
10179
|
*/
|
|
10127
10180
|
set index(value) {
|
|
10128
|
-
this
|
|
10181
|
+
const { menuService } = this;
|
|
10182
|
+
if (!menuService) {
|
|
10183
|
+
return;
|
|
10184
|
+
}
|
|
10185
|
+
|
|
10186
|
+
menuService.setHighlightedIndex(value);
|
|
10129
10187
|
}
|
|
10130
10188
|
|
|
10131
10189
|
/**
|
|
@@ -10147,7 +10205,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10147
10205
|
* @returns {String|Array<String>}
|
|
10148
10206
|
*/
|
|
10149
10207
|
get formattedValue() {
|
|
10150
|
-
|
|
10208
|
+
const { menuService } = this;
|
|
10209
|
+
if (!menuService) {
|
|
10210
|
+
return '';
|
|
10211
|
+
}
|
|
10212
|
+
return menuService.currentValue;
|
|
10151
10213
|
}
|
|
10152
10214
|
|
|
10153
10215
|
/**
|
|
@@ -10191,7 +10253,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10191
10253
|
* @param {HTMLElement} option - The option to set as active.
|
|
10192
10254
|
*/
|
|
10193
10255
|
updateActiveOption(option) {
|
|
10194
|
-
this
|
|
10256
|
+
const { menuService } = this;
|
|
10257
|
+
if (!menuService) {
|
|
10258
|
+
return;
|
|
10259
|
+
}
|
|
10260
|
+
menuService.setHighlightedOption(option);
|
|
10195
10261
|
}
|
|
10196
10262
|
|
|
10197
10263
|
/**
|
|
@@ -10219,7 +10285,8 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10219
10285
|
if (event.type === 'valueChange') {
|
|
10220
10286
|
|
|
10221
10287
|
// New option is array value or first option with fallback to undefined for empty array in all cases
|
|
10222
|
-
const
|
|
10288
|
+
const options = event.options || [];
|
|
10289
|
+
const newOption = this.multiSelect && options.length ? options : options[0] || undefined;
|
|
10223
10290
|
const newValue = event.stringValue;
|
|
10224
10291
|
|
|
10225
10292
|
// Check if the option or value has actually changed
|
|
@@ -10228,8 +10295,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10228
10295
|
this.setInternalValue(newValue);
|
|
10229
10296
|
}
|
|
10230
10297
|
|
|
10231
|
-
// Notify components of selection change
|
|
10232
|
-
this.notifySelectionChange(
|
|
10298
|
+
// Notify components of selection change (pass normalized options to avoid undefined iterability errors)
|
|
10299
|
+
this.notifySelectionChange({
|
|
10300
|
+
...event,
|
|
10301
|
+
options
|
|
10302
|
+
});
|
|
10233
10303
|
}
|
|
10234
10304
|
|
|
10235
10305
|
if (event.type === 'highlightChange') {
|
|
@@ -10252,7 +10322,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10252
10322
|
* @returns {Array<HTMLElement>}
|
|
10253
10323
|
*/
|
|
10254
10324
|
get selectedOptions() {
|
|
10255
|
-
|
|
10325
|
+
const { menuService } = this;
|
|
10326
|
+
if (!menuService) {
|
|
10327
|
+
return [];
|
|
10328
|
+
}
|
|
10329
|
+
return menuService.selectedOptions;
|
|
10256
10330
|
}
|
|
10257
10331
|
|
|
10258
10332
|
/**
|
|
@@ -10260,7 +10334,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10260
10334
|
* @returns {HTMLElement|null}
|
|
10261
10335
|
*/
|
|
10262
10336
|
get selectedOption() {
|
|
10263
|
-
|
|
10337
|
+
const { menuService } = this;
|
|
10338
|
+
if (!menuService) {
|
|
10339
|
+
return null;
|
|
10340
|
+
}
|
|
10341
|
+
return menuService.selectedOptions[0] || null;
|
|
10264
10342
|
}
|
|
10265
10343
|
|
|
10266
10344
|
// Lifecycle Methods
|
|
@@ -10304,7 +10382,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10304
10382
|
// keys are not yet resolved (framework mount-order race), selectByValue
|
|
10305
10383
|
// queues a bounded retry automatically via queuePendingValue.
|
|
10306
10384
|
if (changedProperties.has('value') && !this.internalUpdateInProgress) {
|
|
10307
|
-
|
|
10385
|
+
const { menuService } = this;
|
|
10386
|
+
if (!menuService) {
|
|
10387
|
+
return;
|
|
10388
|
+
}
|
|
10389
|
+
menuService.selectByValue(this.value);
|
|
10308
10390
|
}
|
|
10309
10391
|
|
|
10310
10392
|
// Handle loading state changes
|
|
@@ -10369,7 +10451,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10369
10451
|
* @protected
|
|
10370
10452
|
*/
|
|
10371
10453
|
makeSelection() {
|
|
10372
|
-
this
|
|
10454
|
+
const { menuService } = this;
|
|
10455
|
+
if (!menuService) {
|
|
10456
|
+
return;
|
|
10457
|
+
}
|
|
10458
|
+
menuService.selectHighlightedOption();
|
|
10373
10459
|
}
|
|
10374
10460
|
|
|
10375
10461
|
/**
|
|
@@ -10388,7 +10474,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10388
10474
|
* @public
|
|
10389
10475
|
*/
|
|
10390
10476
|
reset() {
|
|
10391
|
-
this
|
|
10477
|
+
const { menuService } = this;
|
|
10478
|
+
if (!menuService) {
|
|
10479
|
+
return;
|
|
10480
|
+
}
|
|
10481
|
+
menuService.reset();
|
|
10392
10482
|
|
|
10393
10483
|
// Dispatch reset event
|
|
10394
10484
|
dispatchMenuEvent(this, 'auroMenu-selectValueReset');
|
|
@@ -10423,10 +10513,14 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10423
10513
|
* @protected
|
|
10424
10514
|
*/
|
|
10425
10515
|
navigateOptions(direction) {
|
|
10516
|
+
const { menuService } = this;
|
|
10517
|
+
if (!menuService) {
|
|
10518
|
+
return;
|
|
10519
|
+
}
|
|
10426
10520
|
if (direction === 'up') {
|
|
10427
|
-
|
|
10521
|
+
menuService.highlightPrevious();
|
|
10428
10522
|
} else if (direction === 'down') {
|
|
10429
|
-
|
|
10523
|
+
menuService.highlightNext();
|
|
10430
10524
|
}
|
|
10431
10525
|
}
|
|
10432
10526
|
|
|
@@ -3261,6 +3261,7 @@ class AuroFloatingUI {
|
|
|
3261
3261
|
this.focusHandler = null;
|
|
3262
3262
|
this.clickHandler = null;
|
|
3263
3263
|
this.keyDownHandler = null;
|
|
3264
|
+
this.touchHandler = null;
|
|
3264
3265
|
|
|
3265
3266
|
/**
|
|
3266
3267
|
* @private
|
|
@@ -3678,6 +3679,28 @@ class AuroFloatingUI {
|
|
|
3678
3679
|
setTimeout(() => {
|
|
3679
3680
|
window.addEventListener("click", this.clickHandler);
|
|
3680
3681
|
}, 0);
|
|
3682
|
+
|
|
3683
|
+
// iOS Safari does not fire `click` on non-interactive elements, so
|
|
3684
|
+
// tapping an inert backdrop never reaches the click handler above.
|
|
3685
|
+
// Mirror the same outside-tap logic with a passive touchstart listener.
|
|
3686
|
+
this.touchHandler = (evt) => {
|
|
3687
|
+
const element = this.element;
|
|
3688
|
+
if (!element?.bib) {
|
|
3689
|
+
return;
|
|
3690
|
+
}
|
|
3691
|
+
|
|
3692
|
+
// fullscreen (modal) dialog handles its own dismissal
|
|
3693
|
+
if (element.bib.hasAttribute("isfullscreen")) {
|
|
3694
|
+
return;
|
|
3695
|
+
}
|
|
3696
|
+
|
|
3697
|
+
const path = evt.composedPath();
|
|
3698
|
+
if (!path.includes(element.trigger) && !path.includes(element.bib)) {
|
|
3699
|
+
this.hideBib("click");
|
|
3700
|
+
}
|
|
3701
|
+
};
|
|
3702
|
+
|
|
3703
|
+
window.addEventListener("touchstart", this.touchHandler, { passive: true });
|
|
3681
3704
|
}
|
|
3682
3705
|
|
|
3683
3706
|
cleanupHideHandlers() {
|
|
@@ -3693,6 +3716,11 @@ class AuroFloatingUI {
|
|
|
3693
3716
|
this.clickHandler = null;
|
|
3694
3717
|
}
|
|
3695
3718
|
|
|
3719
|
+
if (this.touchHandler) {
|
|
3720
|
+
window.removeEventListener("touchstart", this.touchHandler);
|
|
3721
|
+
this.touchHandler = null;
|
|
3722
|
+
}
|
|
3723
|
+
|
|
3696
3724
|
if (this.keyDownHandler) {
|
|
3697
3725
|
document.removeEventListener("keydown", this.keyDownHandler);
|
|
3698
3726
|
this.keyDownHandler = null;
|
|
@@ -5167,7 +5195,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$3 {
|
|
|
5167
5195
|
}
|
|
5168
5196
|
};
|
|
5169
5197
|
|
|
5170
|
-
var formkitVersion$1 = '
|
|
5198
|
+
var formkitVersion$1 = '202604101700';
|
|
5171
5199
|
|
|
5172
5200
|
class AuroElement extends i$3 {
|
|
5173
5201
|
static get properties() {
|
|
@@ -6920,7 +6948,7 @@ class AuroHelpText extends i$3 {
|
|
|
6920
6948
|
}
|
|
6921
6949
|
}
|
|
6922
6950
|
|
|
6923
|
-
var formkitVersion = '
|
|
6951
|
+
var formkitVersion = '202604101700';
|
|
6924
6952
|
|
|
6925
6953
|
var styleCss$2 = i$6`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);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, 0.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, 0.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, 0.625rem);font-weight:var(--wcss-body-weight, 450);letter-spacing:var(--wcss-body-letter-spacing, 0);line-height:var(--wcss-body-2xs-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, 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, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
6926
6954
|
|
|
@@ -8783,7 +8811,7 @@ class AuroMenuOption extends AuroElement$1 {
|
|
|
8783
8811
|
this.setAttribute('aria-selected', this.selected.toString());
|
|
8784
8812
|
|
|
8785
8813
|
// Update menu service selection state if this isn't an internal update
|
|
8786
|
-
if (this.internalUpdateInProgress !== true) {
|
|
8814
|
+
if (this.internalUpdateInProgress !== true && this.menuService) {
|
|
8787
8815
|
this.menuService[this.selected ? 'selectOption' : 'deselectOption'](this);
|
|
8788
8816
|
}
|
|
8789
8817
|
}
|
|
@@ -8818,9 +8846,10 @@ class AuroMenuOption extends AuroElement$1 {
|
|
|
8818
8846
|
}
|
|
8819
8847
|
|
|
8820
8848
|
disconnectedCallback() {
|
|
8821
|
-
|
|
8822
|
-
|
|
8823
|
-
|
|
8849
|
+
const { menuService } = this;
|
|
8850
|
+
if (menuService) {
|
|
8851
|
+
menuService.unsubscribe(this.handleMenuChange);
|
|
8852
|
+
menuService.removeMenuOption(this);
|
|
8824
8853
|
}
|
|
8825
8854
|
}
|
|
8826
8855
|
|
|
@@ -8989,9 +9018,11 @@ class AuroMenuOption extends AuroElement$1 {
|
|
|
8989
9018
|
* @private
|
|
8990
9019
|
*/
|
|
8991
9020
|
handleMouseEnter() {
|
|
8992
|
-
|
|
8993
|
-
|
|
9021
|
+
const { menuService } = this;
|
|
9022
|
+
if (!menuService || this.disabled) {
|
|
9023
|
+
return;
|
|
8994
9024
|
}
|
|
9025
|
+
menuService.setHighlightedOption(this);
|
|
8995
9026
|
}
|
|
8996
9027
|
|
|
8997
9028
|
/**
|
|
@@ -9395,10 +9426,15 @@ class MenuService {
|
|
|
9395
9426
|
return;
|
|
9396
9427
|
}
|
|
9397
9428
|
|
|
9429
|
+
const before = this.selectedOptions || [];
|
|
9398
9430
|
const optionsSet = new Set(optionsToDeselect);
|
|
9399
|
-
|
|
9400
|
-
.filter(opt => !optionsSet.has(opt));
|
|
9431
|
+
const after = before.filter(opt => !optionsSet.has(opt));
|
|
9401
9432
|
|
|
9433
|
+
if (this.optionsArraysMatch(after, before)) {
|
|
9434
|
+
return;
|
|
9435
|
+
}
|
|
9436
|
+
|
|
9437
|
+
this.selectedOptions = after;
|
|
9402
9438
|
this.stageUpdate();
|
|
9403
9439
|
}
|
|
9404
9440
|
|
|
@@ -9494,6 +9530,16 @@ class MenuService {
|
|
|
9494
9530
|
return;
|
|
9495
9531
|
}
|
|
9496
9532
|
|
|
9533
|
+
const hostValue = this.host && this.host.value;
|
|
9534
|
+
const hostHasValue = hostValue !== undefined &&
|
|
9535
|
+
hostValue !== null &&
|
|
9536
|
+
(!Array.isArray(hostValue) || hostValue.length > 0) &&
|
|
9537
|
+
(typeof hostValue !== 'string' || hostValue.trim() !== '');
|
|
9538
|
+
|
|
9539
|
+
if (hostHasValue && this._pendingValue != null) {
|
|
9540
|
+
return;
|
|
9541
|
+
}
|
|
9542
|
+
|
|
9497
9543
|
this.clearPendingValue();
|
|
9498
9544
|
|
|
9499
9545
|
if (this.selectedOptions.length > 0) {
|
|
@@ -9674,6 +9720,9 @@ class MenuService {
|
|
|
9674
9720
|
this.notify({ type: 'optionsChange', options: this._menuOptions });
|
|
9675
9721
|
|
|
9676
9722
|
if (this._pendingValue != null) {
|
|
9723
|
+
// Reset the retry count so a new option registration gives a fresh
|
|
9724
|
+
// budget — the initial retries fired before delayed options arrived.
|
|
9725
|
+
this._pendingRetryCount = 0;
|
|
9677
9726
|
this.queuePendingValue(this._pendingValue);
|
|
9678
9727
|
}
|
|
9679
9728
|
}
|
|
@@ -10018,7 +10067,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10018
10067
|
* @returns {string} - Returns the label of the currently selected option(s).
|
|
10019
10068
|
*/
|
|
10020
10069
|
get currentLabel() {
|
|
10021
|
-
|
|
10070
|
+
const { menuService } = this;
|
|
10071
|
+
if (!menuService) {
|
|
10072
|
+
return '';
|
|
10073
|
+
}
|
|
10074
|
+
return menuService.currentLabel;
|
|
10022
10075
|
};
|
|
10023
10076
|
|
|
10024
10077
|
/**
|
|
@@ -10041,7 +10094,12 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10041
10094
|
* @param {number} value - Sets the index of the currently active option.
|
|
10042
10095
|
*/
|
|
10043
10096
|
set index(value) {
|
|
10044
|
-
this
|
|
10097
|
+
const { menuService } = this;
|
|
10098
|
+
if (!menuService) {
|
|
10099
|
+
return;
|
|
10100
|
+
}
|
|
10101
|
+
|
|
10102
|
+
menuService.setHighlightedIndex(value);
|
|
10045
10103
|
}
|
|
10046
10104
|
|
|
10047
10105
|
/**
|
|
@@ -10063,7 +10121,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10063
10121
|
* @returns {String|Array<String>}
|
|
10064
10122
|
*/
|
|
10065
10123
|
get formattedValue() {
|
|
10066
|
-
|
|
10124
|
+
const { menuService } = this;
|
|
10125
|
+
if (!menuService) {
|
|
10126
|
+
return '';
|
|
10127
|
+
}
|
|
10128
|
+
return menuService.currentValue;
|
|
10067
10129
|
}
|
|
10068
10130
|
|
|
10069
10131
|
/**
|
|
@@ -10107,7 +10169,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10107
10169
|
* @param {HTMLElement} option - The option to set as active.
|
|
10108
10170
|
*/
|
|
10109
10171
|
updateActiveOption(option) {
|
|
10110
|
-
this
|
|
10172
|
+
const { menuService } = this;
|
|
10173
|
+
if (!menuService) {
|
|
10174
|
+
return;
|
|
10175
|
+
}
|
|
10176
|
+
menuService.setHighlightedOption(option);
|
|
10111
10177
|
}
|
|
10112
10178
|
|
|
10113
10179
|
/**
|
|
@@ -10135,7 +10201,8 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10135
10201
|
if (event.type === 'valueChange') {
|
|
10136
10202
|
|
|
10137
10203
|
// New option is array value or first option with fallback to undefined for empty array in all cases
|
|
10138
|
-
const
|
|
10204
|
+
const options = event.options || [];
|
|
10205
|
+
const newOption = this.multiSelect && options.length ? options : options[0] || undefined;
|
|
10139
10206
|
const newValue = event.stringValue;
|
|
10140
10207
|
|
|
10141
10208
|
// Check if the option or value has actually changed
|
|
@@ -10144,8 +10211,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10144
10211
|
this.setInternalValue(newValue);
|
|
10145
10212
|
}
|
|
10146
10213
|
|
|
10147
|
-
// Notify components of selection change
|
|
10148
|
-
this.notifySelectionChange(
|
|
10214
|
+
// Notify components of selection change (pass normalized options to avoid undefined iterability errors)
|
|
10215
|
+
this.notifySelectionChange({
|
|
10216
|
+
...event,
|
|
10217
|
+
options
|
|
10218
|
+
});
|
|
10149
10219
|
}
|
|
10150
10220
|
|
|
10151
10221
|
if (event.type === 'highlightChange') {
|
|
@@ -10168,7 +10238,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10168
10238
|
* @returns {Array<HTMLElement>}
|
|
10169
10239
|
*/
|
|
10170
10240
|
get selectedOptions() {
|
|
10171
|
-
|
|
10241
|
+
const { menuService } = this;
|
|
10242
|
+
if (!menuService) {
|
|
10243
|
+
return [];
|
|
10244
|
+
}
|
|
10245
|
+
return menuService.selectedOptions;
|
|
10172
10246
|
}
|
|
10173
10247
|
|
|
10174
10248
|
/**
|
|
@@ -10176,7 +10250,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10176
10250
|
* @returns {HTMLElement|null}
|
|
10177
10251
|
*/
|
|
10178
10252
|
get selectedOption() {
|
|
10179
|
-
|
|
10253
|
+
const { menuService } = this;
|
|
10254
|
+
if (!menuService) {
|
|
10255
|
+
return null;
|
|
10256
|
+
}
|
|
10257
|
+
return menuService.selectedOptions[0] || null;
|
|
10180
10258
|
}
|
|
10181
10259
|
|
|
10182
10260
|
// Lifecycle Methods
|
|
@@ -10220,7 +10298,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10220
10298
|
// keys are not yet resolved (framework mount-order race), selectByValue
|
|
10221
10299
|
// queues a bounded retry automatically via queuePendingValue.
|
|
10222
10300
|
if (changedProperties.has('value') && !this.internalUpdateInProgress) {
|
|
10223
|
-
|
|
10301
|
+
const { menuService } = this;
|
|
10302
|
+
if (!menuService) {
|
|
10303
|
+
return;
|
|
10304
|
+
}
|
|
10305
|
+
menuService.selectByValue(this.value);
|
|
10224
10306
|
}
|
|
10225
10307
|
|
|
10226
10308
|
// Handle loading state changes
|
|
@@ -10285,7 +10367,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10285
10367
|
* @protected
|
|
10286
10368
|
*/
|
|
10287
10369
|
makeSelection() {
|
|
10288
|
-
this
|
|
10370
|
+
const { menuService } = this;
|
|
10371
|
+
if (!menuService) {
|
|
10372
|
+
return;
|
|
10373
|
+
}
|
|
10374
|
+
menuService.selectHighlightedOption();
|
|
10289
10375
|
}
|
|
10290
10376
|
|
|
10291
10377
|
/**
|
|
@@ -10304,7 +10390,11 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10304
10390
|
* @public
|
|
10305
10391
|
*/
|
|
10306
10392
|
reset() {
|
|
10307
|
-
this
|
|
10393
|
+
const { menuService } = this;
|
|
10394
|
+
if (!menuService) {
|
|
10395
|
+
return;
|
|
10396
|
+
}
|
|
10397
|
+
menuService.reset();
|
|
10308
10398
|
|
|
10309
10399
|
// Dispatch reset event
|
|
10310
10400
|
dispatchMenuEvent(this, 'auroMenu-selectValueReset');
|
|
@@ -10339,10 +10429,14 @@ class AuroMenu extends AuroElement$1 {
|
|
|
10339
10429
|
* @protected
|
|
10340
10430
|
*/
|
|
10341
10431
|
navigateOptions(direction) {
|
|
10432
|
+
const { menuService } = this;
|
|
10433
|
+
if (!menuService) {
|
|
10434
|
+
return;
|
|
10435
|
+
}
|
|
10342
10436
|
if (direction === 'up') {
|
|
10343
|
-
|
|
10437
|
+
menuService.highlightPrevious();
|
|
10344
10438
|
} else if (direction === 'down') {
|
|
10345
|
-
|
|
10439
|
+
menuService.highlightNext();
|
|
10346
10440
|
}
|
|
10347
10441
|
}
|
|
10348
10442
|
|