@aurodesignsystem/auro-formkit 5.8.1 → 5.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -15
- 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.md +7 -6
- package/components/combobox/demo/api.min.js +1651 -987
- package/components/combobox/demo/index.min.js +1651 -987
- package/components/combobox/dist/auro-combobox.d.ts +9 -8
- package/components/combobox/dist/index.js +86 -85
- package/components/combobox/dist/registered.js +86 -85
- package/components/counter/demo/api.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/api.min.js +4 -3
- package/components/datepicker/demo/index.min.js +4 -3
- package/components/datepicker/dist/index.js +4 -3
- package/components/datepicker/dist/registered.js +4 -3
- package/components/dropdown/demo/api.min.js +1 -1
- 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/input/demo/api.min.js +2 -1
- package/components/input/demo/index.min.js +2 -1
- package/components/input/dist/index.js +2 -1
- package/components/input/dist/registered.js +2 -1
- package/components/menu/demo/api.js +4 -0
- package/components/menu/demo/api.md +271 -26
- package/components/menu/demo/api.min.js +1591 -863
- package/components/menu/demo/index.html +1 -0
- package/components/menu/demo/index.js +2 -0
- package/components/menu/demo/index.md +95 -1
- package/components/menu/demo/index.min.js +1524 -810
- package/components/menu/dist/auro-menu.context.d.ts +222 -0
- package/components/menu/dist/auro-menu.d.ts +93 -53
- package/components/menu/dist/auro-menuoption.d.ts +115 -13
- package/components/menu/dist/index.js +1441 -798
- package/components/menu/dist/registered.js +1440 -809
- 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.md +8 -7
- package/components/select/demo/api.min.js +1573 -1006
- package/components/select/demo/index.min.js +1573 -1006
- package/components/select/dist/auro-select.d.ts +11 -35
- package/components/select/dist/index.js +64 -160
- package/components/select/dist/registered.js +64 -160
- package/package.json +2 -1
|
@@ -11343,7 +11343,7 @@ class AuroBibtemplate extends LitElement {
|
|
|
11343
11343
|
}
|
|
11344
11344
|
}
|
|
11345
11345
|
|
|
11346
|
-
var formkitVersion$2 = '
|
|
11346
|
+
var formkitVersion$2 = '202511191711';
|
|
11347
11347
|
|
|
11348
11348
|
let l$1 = class l{generateElementName(t,e){let o=t;return o+="-",o+=e.replace(/[.]/g,"_"),o}generateTag(o,s,a){const r=this.generateElementName(o,s),i=literal`${unsafeStatic(r)}`;return customElements.get(r)||customElements.define(r,class extends a{}),i}};let d$1 = class d{registerComponent(t,e){customElements.get(t)||customElements.define(t,class extends e{});}closestElement(t,e=this,o=(e,s=e&&e.closest(t))=>e&&e!==document&&e!==window?s||o(e.getRootNode().host):null){return o(e)}handleComponentTagRename(t,e){const o=e.toLowerCase();t.tagName.toLowerCase()!==o&&t.setAttribute(o,true);}elementMatch(t,e){const o=e.toLowerCase();return t.tagName.toLowerCase()===o||t.hasAttribute(o)}getSlotText(t,e){const o=t.shadowRoot?.querySelector(`slot[name="${e}"]`);return (o?.assignedNodes({flatten:true})||[]).map(t=>t.textContent?.trim()).join(" ").trim()||null}};let h$1 = 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=css`: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]){--ds-auro-loader-color: var(--ds-basic-color-brand-primary, #01426a)}:host([ondark]){--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}
|
|
11349
11349
|
`,u$4=css`.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}: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:1.5rem}:host([pulse])>span{width:1rem;height:1rem;margin:var(--margin);animation:pulse 1.5s ease infinite}:host([pulse][xs]){width:calc(2.55rem + var(--margin-xs) * 6);height:1.55rem}:host([pulse][xs])>span{margin:var(--margin-xs);width:.65rem;height:.65rem}:host([pulse][sm]){width:calc(6rem + var(--margin-sm) * 6);height:2.5rem}:host([pulse][sm])>span{margin:var(--margin-sm);width:2rem;height:2rem}:host([pulse][md]){width:calc(9rem + var(--margin-md) * 6);height:3.5rem}:host([pulse][md])>span{margin:var(--margin-md);width:3rem;height:3rem}:host([pulse][lg]){width:calc(15rem + var(--margin-lg) * 6);height:5.5rem}: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}}
|
|
@@ -14884,7 +14884,7 @@ let AuroHelpText$2 = class AuroHelpText extends LitElement {
|
|
|
14884
14884
|
}
|
|
14885
14885
|
};
|
|
14886
14886
|
|
|
14887
|
-
var formkitVersion$1 = '
|
|
14887
|
+
var formkitVersion$1 = '202511191711';
|
|
14888
14888
|
|
|
14889
14889
|
let AuroElement$2 = class AuroElement extends LitElement {
|
|
14890
14890
|
static get properties() {
|
|
@@ -21572,6 +21572,7 @@ class BaseInput extends AuroElement$1 {
|
|
|
21572
21572
|
const inputEvent = new InputEvent('input', {
|
|
21573
21573
|
bubbles: true,
|
|
21574
21574
|
composed: true,
|
|
21575
|
+
cancelable: false
|
|
21575
21576
|
});
|
|
21576
21577
|
inputEvent.isProgrammatic = true;
|
|
21577
21578
|
this.dispatchEvent(inputEvent);
|
|
@@ -22501,7 +22502,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
22501
22502
|
}
|
|
22502
22503
|
};
|
|
22503
22504
|
|
|
22504
|
-
var formkitVersion = '
|
|
22505
|
+
var formkitVersion = '202511191711';
|
|
22505
22506
|
|
|
22506
22507
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
22507
22508
|
// See LICENSE in the project root for license information.
|
|
@@ -5800,6 +5800,7 @@ class BaseInput extends AuroElement {
|
|
|
5800
5800
|
const inputEvent = new InputEvent('input', {
|
|
5801
5801
|
bubbles: true,
|
|
5802
5802
|
composed: true,
|
|
5803
|
+
cancelable: false
|
|
5803
5804
|
});
|
|
5804
5805
|
inputEvent.isProgrammatic = true;
|
|
5805
5806
|
this.dispatchEvent(inputEvent);
|
|
@@ -6729,7 +6730,7 @@ class AuroHelpText extends i$2 {
|
|
|
6729
6730
|
}
|
|
6730
6731
|
}
|
|
6731
6732
|
|
|
6732
|
-
var formkitVersion = '
|
|
6733
|
+
var formkitVersion = '202511191711';
|
|
6733
6734
|
|
|
6734
6735
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6735
6736
|
// See LICENSE in the project root for license information.
|
|
@@ -5725,6 +5725,7 @@ class BaseInput extends AuroElement {
|
|
|
5725
5725
|
const inputEvent = new InputEvent('input', {
|
|
5726
5726
|
bubbles: true,
|
|
5727
5727
|
composed: true,
|
|
5728
|
+
cancelable: false
|
|
5728
5729
|
});
|
|
5729
5730
|
inputEvent.isProgrammatic = true;
|
|
5730
5731
|
this.dispatchEvent(inputEvent);
|
|
@@ -6654,7 +6655,7 @@ class AuroHelpText extends i$2 {
|
|
|
6654
6655
|
}
|
|
6655
6656
|
}
|
|
6656
6657
|
|
|
6657
|
-
var formkitVersion = '
|
|
6658
|
+
var formkitVersion = '202511191711';
|
|
6658
6659
|
|
|
6659
6660
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6660
6661
|
// See LICENSE in the project root for license information.
|
|
@@ -5649,6 +5649,7 @@ class BaseInput extends AuroElement {
|
|
|
5649
5649
|
const inputEvent = new InputEvent('input', {
|
|
5650
5650
|
bubbles: true,
|
|
5651
5651
|
composed: true,
|
|
5652
|
+
cancelable: false
|
|
5652
5653
|
});
|
|
5653
5654
|
inputEvent.isProgrammatic = true;
|
|
5654
5655
|
this.dispatchEvent(inputEvent);
|
|
@@ -6578,7 +6579,7 @@ class AuroHelpText extends LitElement {
|
|
|
6578
6579
|
}
|
|
6579
6580
|
}
|
|
6580
6581
|
|
|
6581
|
-
var formkitVersion = '
|
|
6582
|
+
var formkitVersion = '202511191711';
|
|
6582
6583
|
|
|
6583
6584
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6584
6585
|
// See LICENSE in the project root for license information.
|
|
@@ -5649,6 +5649,7 @@ class BaseInput extends AuroElement {
|
|
|
5649
5649
|
const inputEvent = new InputEvent('input', {
|
|
5650
5650
|
bubbles: true,
|
|
5651
5651
|
composed: true,
|
|
5652
|
+
cancelable: false
|
|
5652
5653
|
});
|
|
5653
5654
|
inputEvent.isProgrammatic = true;
|
|
5654
5655
|
this.dispatchEvent(inputEvent);
|
|
@@ -6578,7 +6579,7 @@ class AuroHelpText extends LitElement {
|
|
|
6578
6579
|
}
|
|
6579
6580
|
}
|
|
6580
6581
|
|
|
6581
|
-
var formkitVersion = '
|
|
6582
|
+
var formkitVersion = '202511191711';
|
|
6582
6583
|
|
|
6583
6584
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
6584
6585
|
// See LICENSE in the project root for license information.
|
|
@@ -4,6 +4,8 @@ import { auroMenuResetExample } from '../apiExamples/reset';
|
|
|
4
4
|
import { auroMenuMatchWordExample } from '../apiExamples/matchWord';
|
|
5
5
|
import { auroMenuCustomEventExample } from '../apiExamples/customEvent';
|
|
6
6
|
import { auroMenuLoadingExample } from '../apiExamples/loading';
|
|
7
|
+
import { initSelectAllMatchingOptionsExample } from '../apiExamples/selectAllMatchingOptions.js';
|
|
8
|
+
import { initKeysExample } from '../apiExamples/keys.js';
|
|
7
9
|
import '../src/registered.js';
|
|
8
10
|
|
|
9
11
|
export function initExamples(initCount) {
|
|
@@ -15,6 +17,8 @@ export function initExamples(initCount) {
|
|
|
15
17
|
auroMenuMatchWordExample();
|
|
16
18
|
auroMenuCustomEventExample();
|
|
17
19
|
auroMenuLoadingExample();
|
|
20
|
+
initSelectAllMatchingOptionsExample();
|
|
21
|
+
initKeysExample();
|
|
18
22
|
} catch (err) {
|
|
19
23
|
if (initCount <= 20) {
|
|
20
24
|
// setTimeout handles issue where content is sometimes loaded after the functions get called
|
|
@@ -7,25 +7,32 @@ The auro-menu element provides users a way to select from a list of options.
|
|
|
7
7
|
|
|
8
8
|
## Properties
|
|
9
9
|
|
|
10
|
-
| Property
|
|
11
|
-
|
|
12
|
-
| [
|
|
13
|
-
| [
|
|
14
|
-
| [
|
|
15
|
-
| [
|
|
16
|
-
| [
|
|
17
|
-
| [
|
|
18
|
-
| [
|
|
19
|
-
| [
|
|
20
|
-
| [
|
|
21
|
-
| [
|
|
10
|
+
| Property | Attribute | Modifiers | Type | Default | Description |
|
|
11
|
+
|----------------------------|----------------------------|-----------|-----------------------------------|-------------|--------------------------------------------------|
|
|
12
|
+
| [allowDeselect](#allowDeselect) | `allowDeselect` | | `boolean` | false | Allows deselecting an already selected option when clicked again in single-select mode. |
|
|
13
|
+
| [disabled](#disabled) | `disabled` | | `boolean` | | When true, the entire menu and all options are disabled; |
|
|
14
|
+
| [hasLoadingPlaceholder](#hasLoadingPlaceholder) | | | `boolean` | | Indicates whether the menu has a loadingIcon or loadingText to render when in a loading state. |
|
|
15
|
+
| [index](#index) | | | `number` | | |
|
|
16
|
+
| [items](#items) | | readonly | `HTMLElement[]` | | |
|
|
17
|
+
| [layout](#layout) | | | `string` | | |
|
|
18
|
+
| [loading](#loading) | `loading` | | `boolean` | false | When true, displays a loading state using the loadingIcon and loadingText slots if provided. |
|
|
19
|
+
| [matchWord](#matchWord) | `matchword` | | `string` | "undefined" | Specifies a string used to highlight matched string parts in options. |
|
|
20
|
+
| [multiSelect](#multiSelect) | `multiselect` | | `boolean` | false | When true, the selected option can be multiple options. |
|
|
21
|
+
| [noCheckmark](#noCheckmark) | `nocheckmark` | | `boolean` | false | When true, selected option will not show the checkmark. |
|
|
22
|
+
| [optionActive](#optionActive) | `optionactive` | | `object` | "undefined" | Specifies the current active menuOption. |
|
|
23
|
+
| [optionSelected](#optionSelected) | `optionSelected` | | `HTMLElement\|Array<HTMLElement>` | "undefined" | An array of currently selected menu options, type `HTMLElement` by default. In multi-select mode, `optionSelected` is an array of HTML elements. |
|
|
24
|
+
| [options](#options) | | readonly | `array` | | Available menu options |
|
|
25
|
+
| [selectAllMatchingOptions](#selectAllMatchingOptions) | `selectAllMatchingOptions` | | `boolean` | false | When true, selects all options that match the provided value/key when setting value and multiselect is enabled. |
|
|
26
|
+
| [selectedOption](#selectedOption) | | readonly | `HTMLElement \| null` | | Gets the first selected option, or null if none. |
|
|
27
|
+
| [selectedOptions](#selectedOptions) | | readonly | `HTMLElement[]` | | Gets the currently selected options. |
|
|
28
|
+
| [value](#value) | `value` | | `string` | "undefined" | Value selected for the component. |
|
|
22
29
|
|
|
23
30
|
## Methods
|
|
24
31
|
|
|
25
|
-
| Method | Type
|
|
26
|
-
|
|
27
|
-
| [reset](#reset) | `(): void`
|
|
28
|
-
| [updateActiveOption](#updateActiveOption) | `(
|
|
32
|
+
| Method | Type | Description |
|
|
33
|
+
|----------------------|-------------------------------|--------------------------------------------------|
|
|
34
|
+
| [reset](#reset) | `(): void` | Resets the menu to its initial state.<br />This is the only way to return value to undefined. |
|
|
35
|
+
| [updateActiveOption](#updateActiveOption) | `(option: HTMLElement): void` | Updates the currently active option in the menu.<br /><br />**option**: The option to set as active. |
|
|
29
36
|
|
|
30
37
|
## Events
|
|
31
38
|
|
|
@@ -34,6 +41,7 @@ The auro-menu element provides users a way to select from a list of options.
|
|
|
34
41
|
| `auroMenu-activatedOption` | `CustomEvent<Element>` | Notifies that a menuoption has been made `active`. |
|
|
35
42
|
| `auroMenu-customEventFired` | `CustomEvent<any>` | Notifies that a custom event has been fired. |
|
|
36
43
|
| `auroMenu-loadingChange` | `CustomEvent<{ loading: boolean; hasLoadingPlaceholder: boolean; }>` | Notifies when the loading attribute is changed. |
|
|
44
|
+
| `auroMenu-optionsChange` | `CustomEvent<{ options: any; }>` | |
|
|
37
45
|
| `auroMenu-selectValueFailure` | `CustomEvent<any>` | Notifies that an attempt to select a menuoption by matching a value has failed. |
|
|
38
46
|
| `auroMenu-selectValueReset` | `CustomEvent<any>` | Notifies that the component value has been reset. |
|
|
39
47
|
| `auroMenu-selectedOption` | `CustomEvent<any>` | Notifies that a new menuoption selection has been made. |
|
|
@@ -58,19 +66,38 @@ The auro-menu element provides users a way to define a menu option.
|
|
|
58
66
|
|
|
59
67
|
## Properties
|
|
60
68
|
|
|
61
|
-
| Property | Attribute | Type | Default | Description |
|
|
62
|
-
|
|
63
|
-
| [disabled](#disabled) | `disabled` | `Boolean` | false | When true specifies that the menuoption is disabled. |
|
|
64
|
-
| [
|
|
65
|
-
| [
|
|
66
|
-
| [
|
|
67
|
-
| [
|
|
68
|
-
| [
|
|
69
|
+
| Property | Attribute | Modifiers | Type | Default | Description |
|
|
70
|
+
|---------------|---------------|-----------|-----------|---------|--------------------------------------------------|
|
|
71
|
+
| [disabled](#disabled) | `disabled` | | `Boolean` | false | When true specifies that the menuoption is disabled. |
|
|
72
|
+
| [event](#event) | `event` | | `string` | | |
|
|
73
|
+
| [iconTag](#iconTag) | | | `string` | | |
|
|
74
|
+
| [isActive](#isActive) | | readonly | `boolean` | | Returns whether the menu option is currently active and selectable.<br />An option is considered active if it is not hidden, not disabled, and not static. |
|
|
75
|
+
| [key](#key) | `key` | | `string` | | |
|
|
76
|
+
| [layout](#layout) | | | `string` | | |
|
|
77
|
+
| [matchWord](#matchWord) | `matchWord` | | `string` | | |
|
|
78
|
+
| [menuService](#menuService) | `menuService` | | `object` | null | |
|
|
79
|
+
| [nocheckmark](#nocheckmark) | `nocheckmark` | | `boolean` | false | |
|
|
80
|
+
| [selected](#selected) | `selected` | | `Boolean` | false | Specifies that an option is selected. |
|
|
81
|
+
| [tabIndex](#tabIndex) | `tabIndex` | | `number` | | |
|
|
82
|
+
| [unsubscribe](#unsubscribe) | | | | null | |
|
|
83
|
+
| [value](#value) | `value` | | `String` | | Specifies the value to be sent to a server. |
|
|
84
|
+
|
|
85
|
+
## Methods
|
|
86
|
+
|
|
87
|
+
| Method | Type | Description |
|
|
88
|
+
|-----------------------|-------------------------------|--------------------------------------------------|
|
|
89
|
+
| [attachTo](#attachTo) | `(service: Object): void` | Attaches this menu option to a menu service and subscribes to its events.<br />This method enables the option to participate in menu selection and highlighting logic.<br /><br />**service**: The menu service instance to attach to. |
|
|
90
|
+
| [bindEvents](#bindEvents) | `(): void` | Sets up event listeners for user interaction with the menu option.<br />This function enables click and mouse enter events to trigger selection and highlighting logic. |
|
|
91
|
+
| [handleMenuChange](#handleMenuChange) | `(event: Object): void` | Handles changes from the menu service and updates the option's state.<br />This function synchronizes the option's properties and selection/highlight state with menu events.<br /><br />**event**: The event object from the menu service. |
|
|
92
|
+
| [setInternalSelected](#setInternalSelected) | `(isSelected: boolean): void` | Updates the internal selected state of the menu option bypassing 'updated' and triggers custom events if selected.<br />This function ensures the option's selection state is synchronized with menu logic and notifies listeners.<br /><br />**isSelected**: Whether the option should be marked as selected. |
|
|
93
|
+
| [setSelected](#setSelected) | `(isSelected: boolean): void` | Sets the selected state of the menu option.<br />This function updates whether the option is currently selected.<br /><br />**isSelected**: Whether the option should be marked as selected. |
|
|
94
|
+
| [updateActive](#updateActive) | `(isActive: boolean): void` | Updates the active state and visual highlighting of the menu option.<br />This function toggles the option's active status and applies or removes the active CSS class.<br /><br />**isActive**: Whether the option should be marked as active. |
|
|
69
95
|
|
|
70
96
|
## Events
|
|
71
97
|
|
|
72
98
|
| Event | Type | Description |
|
|
73
99
|
|----------------------------|---------------------|--------------------------------------------------|
|
|
100
|
+
| `auroMenuOption-click` | `CustomEvent<this>` | |
|
|
74
101
|
| `auroMenuOption-mouseover` | `CustomEvent<this>` | Notifies that this option has been hovered over. |
|
|
75
102
|
|
|
76
103
|
## Slots
|
|
@@ -113,8 +140,138 @@ The auro-menu element provides users a way to define a menu option.
|
|
|
113
140
|
<!-- AURO-GENERATED-CONTENT:END -->
|
|
114
141
|
</auro-accordion>
|
|
115
142
|
|
|
143
|
+
### Using Keys
|
|
144
|
+
|
|
145
|
+
When setting the `value` property, matches are actually performed on the value of the `key` property of the `auro-menuoption` and not the `value` property. By default, the value of `key` is equal to the value of the `value` property. However, for advanced use cases, the `key` value can be overriden to allow for more specific matches.
|
|
146
|
+
|
|
147
|
+
In the below example, there is a list of "popular" options at the top, with the same values repeated underneath. To allow more specific selections, we can add a `key` attribute to the top options to allow them to be more specifically selected, or to prevent them from interfering with matches on the lower options.
|
|
148
|
+
|
|
149
|
+
In the below example, setting the value of the menu `'stops'` will select the bottom-most option with the value `'stops'`, and setting the value of menu to `'stops-top'` will select the top-most option with the value `'stops'` since the key now differs from the value. In either case, the resulting value of the menu will be `'stops'` because the resulting value of the menu is based on the `value` property and not the `key` property.
|
|
150
|
+
|
|
151
|
+
Due to a limitation with Lit change detection to the `value` property, if multiple options with the same exist and one is selected, you must first clear the current value before attempting to select another option with the same value, even if the keys are unique. See code example below.
|
|
152
|
+
|
|
153
|
+
_Note: Since the value passed to the `value` property when programmatically setting it is overwritten with the proper derived value once the menu has updated, note that it will take one lifecycle before the `value` property is updated to the value that represents the actual menu state._
|
|
154
|
+
|
|
155
|
+
<div class="exampleWrapper">
|
|
156
|
+
<!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/keys.html) -->
|
|
157
|
+
<!-- The below content is automatically added from ./../apiExamples/keys.html -->
|
|
158
|
+
<auro-button id="stopsTopButton">Call `menu.value = 'stops-top'`</auro-button>
|
|
159
|
+
<auro-button id="stopsButton">Call `menu.value = 'stops'`</auro-button>
|
|
160
|
+
<auro-menu id="keys-menu">
|
|
161
|
+
<auro-menuoption value="stops" key="stops-top">Stops</auro-menuoption>
|
|
162
|
+
<auro-menuoption value="price" key="price-top">Price</auro-menuoption>
|
|
163
|
+
<hr>
|
|
164
|
+
<auro-menuoption value="duration">Duration</auro-menuoption>
|
|
165
|
+
<auro-menuoption value="departure">Departure</auro-menuoption>
|
|
166
|
+
<auro-menuoption value="arrival">Arrival</auro-menuoption>
|
|
167
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
168
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
169
|
+
</auro-menu>
|
|
170
|
+
<p id="output" class="body-sm"></p>
|
|
171
|
+
<!-- AURO-GENERATED-CONTENT:END -->
|
|
172
|
+
</div>
|
|
173
|
+
<auro-accordion alignRight>
|
|
174
|
+
<span slot="trigger">See code</span>
|
|
175
|
+
<!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/keys.html) -->
|
|
176
|
+
<!-- The below code snippet is automatically added from ./../apiExamples/keys.html -->
|
|
177
|
+
|
|
178
|
+
```html
|
|
179
|
+
<auro-button id="stopsTopButton">Call `menu.value = 'stops-top'`</auro-button>
|
|
180
|
+
<auro-button id="stopsButton">Call `menu.value = 'stops'`</auro-button>
|
|
181
|
+
<auro-menu id="keys-menu">
|
|
182
|
+
<auro-menuoption value="stops" key="stops-top">Stops</auro-menuoption>
|
|
183
|
+
<auro-menuoption value="price" key="price-top">Price</auro-menuoption>
|
|
184
|
+
<hr>
|
|
185
|
+
<auro-menuoption value="duration">Duration</auro-menuoption>
|
|
186
|
+
<auro-menuoption value="departure">Departure</auro-menuoption>
|
|
187
|
+
<auro-menuoption value="arrival">Arrival</auro-menuoption>
|
|
188
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
189
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
190
|
+
</auro-menu>
|
|
191
|
+
<p id="output" class="body-sm"></p>
|
|
192
|
+
```
|
|
193
|
+
<!-- AURO-GENERATED-CONTENT:END -->
|
|
194
|
+
<!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/keys.js) -->
|
|
195
|
+
<!-- The below code snippet is automatically added from ./../apiExamples/keys.js -->
|
|
196
|
+
|
|
197
|
+
```js
|
|
198
|
+
export function initKeysExample() {
|
|
199
|
+
const menu = document.getElementById('keys-menu');
|
|
200
|
+
const stopsButton = document.getElementById('stopsButton');
|
|
201
|
+
const stopsTopButton = document.getElementById('stopsTopButton');
|
|
202
|
+
const output = document.getElementById('output');
|
|
203
|
+
|
|
204
|
+
const createConsoleEntry = (message) => {
|
|
205
|
+
const node = document.createElement('span');
|
|
206
|
+
node.innerHTML = message;
|
|
207
|
+
output.appendChild(node);
|
|
208
|
+
output.appendChild(document.createElement('br'));
|
|
209
|
+
};
|
|
210
|
+
|
|
211
|
+
const resetConsole = () => {
|
|
212
|
+
output.innerHTML = '';
|
|
213
|
+
};
|
|
214
|
+
|
|
215
|
+
const updateMenuValue = (value) => {
|
|
216
|
+
resetConsole();
|
|
217
|
+
createConsoleEntry(`Setting menu.value: <em>"${value}"</em>`);
|
|
218
|
+
menu.value = '';
|
|
219
|
+
menu.value = value;
|
|
220
|
+
createConsoleEntry(`menu.value before next lifecycle: <em>"${menu.value}"</em>`);
|
|
221
|
+
setTimeout(() => {
|
|
222
|
+
createConsoleEntry(`menu.value after lifecycle: <em>"${menu.value}"</em>`);
|
|
223
|
+
});
|
|
224
|
+
};
|
|
225
|
+
|
|
226
|
+
stopsButton.addEventListener('click', () => {
|
|
227
|
+
updateMenuValue('stops');
|
|
228
|
+
});
|
|
229
|
+
|
|
230
|
+
stopsTopButton.addEventListener('click', () => {
|
|
231
|
+
updateMenuValue('stops-top');
|
|
232
|
+
});
|
|
233
|
+
};
|
|
234
|
+
```
|
|
235
|
+
<!-- AURO-GENERATED-CONTENT:END -->
|
|
236
|
+
</auro-accordion>
|
|
237
|
+
|
|
116
238
|
### Attribute Examples
|
|
117
239
|
|
|
240
|
+
#### allowDeselect
|
|
241
|
+
|
|
242
|
+
When set, the `allowDeselect` attribute allows the user to click on a selected menu option again to deselect it when the menu is not in multi-select mode.
|
|
243
|
+
|
|
244
|
+
When the menu is in multi-select mode, this attribute has no effect and the user will be able to deselect the last remaining selected option.
|
|
245
|
+
|
|
246
|
+
<div class="exampleWrapper">
|
|
247
|
+
<!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/allowDeselect.html) -->
|
|
248
|
+
<!-- The below content is automatically added from ./../apiExamples/allowDeselect.html -->
|
|
249
|
+
<auro-menu allowDeselect>
|
|
250
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
251
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
252
|
+
<auro-menuoption value="duration">Duration</auro-menuoption>
|
|
253
|
+
<auro-menuoption value="departure">Departure</auro-menuoption>
|
|
254
|
+
<auro-menuoption value="arrival">Arrival</auro-menuoption>
|
|
255
|
+
</auro-menu>
|
|
256
|
+
<!-- AURO-GENERATED-CONTENT:END -->
|
|
257
|
+
</div>
|
|
258
|
+
<auro-accordion alignRight>
|
|
259
|
+
<span slot="trigger">See code</span>
|
|
260
|
+
<!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/allowDeselect.html) -->
|
|
261
|
+
<!-- The below code snippet is automatically added from ./../apiExamples/allowDeselect.html -->
|
|
262
|
+
|
|
263
|
+
```html
|
|
264
|
+
<auro-menu allowDeselect>
|
|
265
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
266
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
267
|
+
<auro-menuoption value="duration">Duration</auro-menuoption>
|
|
268
|
+
<auro-menuoption value="departure">Departure</auro-menuoption>
|
|
269
|
+
<auro-menuoption value="arrival">Arrival</auro-menuoption>
|
|
270
|
+
</auro-menu>
|
|
271
|
+
```
|
|
272
|
+
<!-- AURO-GENERATED-CONTENT:END -->
|
|
273
|
+
</auro-accordion>
|
|
274
|
+
|
|
118
275
|
#### noCheckmark<a name="noCheckmark"></a>
|
|
119
276
|
Applying the `noCheckmark` attribute will prevent the check icon from being shown on the selected option. The left padding to reserve space for the checkmark is also removed.
|
|
120
277
|
|
|
@@ -310,8 +467,17 @@ export function auroMenuMatchWordExample() {
|
|
|
310
467
|
<!-- AURO-GENERATED-CONTENT:END -->
|
|
311
468
|
</auro-accordion>
|
|
312
469
|
|
|
313
|
-
### Multi
|
|
314
|
-
The `auro-menu` supports a multi-select option. To use, place the `multiselect` attribute on the `<auro-menu>` element tag
|
|
470
|
+
### Multi-Select<a name="multiSelect"></a>
|
|
471
|
+
The `auro-menu` supports a multi-select option. To use, place the `multiselect` attribute on the `<auro-menu>` element tag or update the `multiselect` property programmatically.
|
|
472
|
+
|
|
473
|
+
In multi-select mode, the `value` property will always return a valid JSON string that contains an array of selected values, e.g. `'["stops","duration","arrival"]'`, when accessed.
|
|
474
|
+
|
|
475
|
+
The value of the menu may be set via multiple methods when in multi-select mode:
|
|
476
|
+
- Programmatically or via attribute by passing a valid JSON string that can be parsed using `JSON.parse`.
|
|
477
|
+
- Programmatically or via attribute by passing a single matching value in a string, e.g. `"stops"`.
|
|
478
|
+
- Programmatically by passing an array of string values, e.g. `["stops","duration","arrival"]`.
|
|
479
|
+
|
|
480
|
+
_Note: Other methods of setting the value may work but are not officially supported and may stop working unexpectedly._
|
|
315
481
|
|
|
316
482
|
<div class="exampleWrapper">
|
|
317
483
|
<!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/multiSelect.html) -->
|
|
@@ -342,6 +508,85 @@ The `auro-menu` supports a multi-select option. To use, place the `multiselect`
|
|
|
342
508
|
<!-- AURO-GENERATED-CONTENT:END -->
|
|
343
509
|
</auro-accordion>
|
|
344
510
|
|
|
511
|
+
#### Optional Flag - `selectAllMatchingOptions`
|
|
512
|
+
|
|
513
|
+
When this flag is set on the `auro-menu` tag, when the value is set, any option with a matching key will be selected, even when multiple options with that key exist.
|
|
514
|
+
|
|
515
|
+
If not set, only the first matching option will be selected.
|
|
516
|
+
|
|
517
|
+
<div class="exampleWrapper">
|
|
518
|
+
<!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/selectAllMatchingOptions.html) -->
|
|
519
|
+
<!-- The below content is automatically added from ./../apiExamples/selectAllMatchingOptions.html -->
|
|
520
|
+
<p>With <code>selectAllMatchingOptions</code> enabled:</p>
|
|
521
|
+
<auro-button id="selectAllBtn">Set <code>menu.value</code> to <code>'stops'</code></auro-button>
|
|
522
|
+
<auro-button id="resetAllBtn">Reset Menu</auro-button>
|
|
523
|
+
<auro-menu multiselect selectAllMatchingOptions id="selectAllMenu">
|
|
524
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
525
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
526
|
+
<hr>
|
|
527
|
+
<auro-menuoption value="duration">Duration</auro-menuoption>
|
|
528
|
+
<auro-menuoption value="departure">Departure</auro-menuoption>
|
|
529
|
+
<auro-menuoption value="arrival">Arrival</auro-menuoption>
|
|
530
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
531
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
532
|
+
</auro-menu>
|
|
533
|
+
<br/>
|
|
534
|
+
<br/>
|
|
535
|
+
<br/>
|
|
536
|
+
<p>Without <code>selectAllMatchingOptions</code> enabled:</p>
|
|
537
|
+
<auro-button id="selectFirstBtn">Set <code>menu.value</code> to <code>'stops'</code></auro-button>
|
|
538
|
+
<auro-button id="resetFirstBtn">Reset Menu</auro-button>
|
|
539
|
+
<auro-menu multiselect id="selectFirstMenu">
|
|
540
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
541
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
542
|
+
<hr>
|
|
543
|
+
<auro-menuoption value="duration">Duration</auro-menuoption>
|
|
544
|
+
<auro-menuoption value="departure">Departure</auro-menuoption>
|
|
545
|
+
<auro-menuoption value="arrival">Arrival</auro-menuoption>
|
|
546
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
547
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
548
|
+
</auro-menu>
|
|
549
|
+
<!-- AURO-GENERATED-CONTENT:END -->
|
|
550
|
+
</div>
|
|
551
|
+
<auro-accordion alignRight>
|
|
552
|
+
<span slot="trigger">See code</span>
|
|
553
|
+
<!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/selectAllMatchingOptions.html) -->
|
|
554
|
+
<!-- The below code snippet is automatically added from ./../apiExamples/selectAllMatchingOptions.html -->
|
|
555
|
+
|
|
556
|
+
```html
|
|
557
|
+
<p>With <code>selectAllMatchingOptions</code> enabled:</p>
|
|
558
|
+
<auro-button id="selectAllBtn">Set <code>menu.value</code> to <code>'stops'</code></auro-button>
|
|
559
|
+
<auro-button id="resetAllBtn">Reset Menu</auro-button>
|
|
560
|
+
<auro-menu multiselect selectAllMatchingOptions id="selectAllMenu">
|
|
561
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
562
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
563
|
+
<hr>
|
|
564
|
+
<auro-menuoption value="duration">Duration</auro-menuoption>
|
|
565
|
+
<auro-menuoption value="departure">Departure</auro-menuoption>
|
|
566
|
+
<auro-menuoption value="arrival">Arrival</auro-menuoption>
|
|
567
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
568
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
569
|
+
</auro-menu>
|
|
570
|
+
<br/>
|
|
571
|
+
<br/>
|
|
572
|
+
<br/>
|
|
573
|
+
<p>Without <code>selectAllMatchingOptions</code> enabled:</p>
|
|
574
|
+
<auro-button id="selectFirstBtn">Set <code>menu.value</code> to <code>'stops'</code></auro-button>
|
|
575
|
+
<auro-button id="resetFirstBtn">Reset Menu</auro-button>
|
|
576
|
+
<auro-menu multiselect id="selectFirstMenu">
|
|
577
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
578
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
579
|
+
<hr>
|
|
580
|
+
<auro-menuoption value="duration">Duration</auro-menuoption>
|
|
581
|
+
<auro-menuoption value="departure">Departure</auro-menuoption>
|
|
582
|
+
<auro-menuoption value="arrival">Arrival</auro-menuoption>
|
|
583
|
+
<auro-menuoption value="stops">Stops</auro-menuoption>
|
|
584
|
+
<auro-menuoption value="price">Price</auro-menuoption>
|
|
585
|
+
</auro-menu>
|
|
586
|
+
```
|
|
587
|
+
<!-- AURO-GENERATED-CONTENT:END -->
|
|
588
|
+
</auro-accordion>
|
|
589
|
+
|
|
345
590
|
#### Loading<a name="loading"></a>
|
|
346
591
|
While content is loading, the menu can either remain empty or display a loading placeholder
|
|
347
592
|
|