@aurodesignsystem-dev/auro-formkit 0.0.0-pr1624.0 → 0.0.0-pr1624.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/customize.min.js +7 -3
- package/components/checkbox/demo/getting-started.min.js +7 -3
- package/components/checkbox/demo/index.min.js +7 -3
- package/components/checkbox/dist/index.js +7 -3
- package/components/checkbox/dist/registered.js +7 -3
- package/components/combobox/demo/customize.min.js +139 -21
- package/components/combobox/demo/getting-started.min.js +139 -21
- package/components/combobox/demo/index.min.js +139 -21
- package/components/combobox/dist/auro-combobox.d.ts +14 -0
- package/components/combobox/dist/index.js +47 -9
- package/components/combobox/dist/registered.js +47 -9
- package/components/counter/demo/customize.min.js +8 -4
- package/components/counter/demo/getting-started.min.js +8 -4
- package/components/counter/demo/index.min.js +8 -4
- package/components/counter/dist/index.js +8 -4
- package/components/counter/dist/registered.js +8 -4
- package/components/datepicker/demo/customize.min.js +15 -7
- package/components/datepicker/demo/getting-started.min.js +15 -7
- package/components/datepicker/demo/index.min.js +15 -7
- package/components/datepicker/dist/index.js +15 -7
- package/components/datepicker/dist/registered.js +15 -7
- package/components/dropdown/demo/customize.min.js +1 -1
- package/components/dropdown/demo/getting-started.min.js +8 -4
- package/components/dropdown/demo/index.min.js +1 -1
- package/components/dropdown/dist/index.js +1 -1
- package/components/dropdown/dist/registered.js +1 -1
- package/components/form/demo/customize.min.js +201 -54
- package/components/form/demo/getting-started.min.js +201 -54
- package/components/form/demo/index.min.js +201 -54
- package/components/form/demo/registerDemoDeps.min.js +201 -54
- package/components/input/demo/customize.min.js +7 -3
- package/components/input/demo/getting-started.min.js +7 -3
- package/components/input/demo/index.min.js +7 -3
- package/components/input/dist/index.js +7 -3
- package/components/input/dist/registered.js +7 -3
- package/components/menu/demo/api.md +1 -1
- package/components/menu/demo/index.min.js +92 -12
- package/components/menu/dist/auro-menu-utils.d.ts +15 -2
- package/components/menu/dist/auro-menu.d.ts +1 -1
- package/components/menu/dist/index.js +92 -12
- package/components/menu/dist/registered.js +92 -12
- package/components/radio/demo/customize.min.js +7 -3
- package/components/radio/demo/getting-started.min.js +7 -3
- package/components/radio/demo/index.min.js +7 -3
- package/components/radio/dist/index.js +7 -3
- package/components/radio/dist/registered.js +7 -3
- package/components/select/demo/customize.min.js +110 -25
- package/components/select/demo/getting-started.min.js +110 -25
- package/components/select/demo/index.min.js +110 -25
- package/components/select/dist/index.js +18 -13
- package/components/select/dist/registered.js +18 -13
- package/custom-elements.json +1547 -1500
- package/package.json +1 -1
|
@@ -3,9 +3,9 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
|
3
3
|
import { unsafeStatic, literal, html as html$1 } from 'lit/static-html.js';
|
|
4
4
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
5
5
|
|
|
6
|
-
var styleCss$1 = css`:focus:not(:focus-visible){outline:3px solid transparent}.body-default{font-variant-ligatures:none;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-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-variant-ligatures:none;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-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-variant-ligatures:none;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-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-variant-ligatures:none;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-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-variant-ligatures:none;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-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-variant-ligatures:none;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-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-variant-ligatures:none;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-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-variant-ligatures:none;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-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-variant-ligatures:none;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-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-variant-ligatures:none;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-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-variant-ligatures:none;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-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-variant-ligatures:none;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-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-variant-ligatures:none;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-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-variant-ligatures:none;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-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-variant-ligatures:none;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-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-variant-ligatures:none;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-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-variant-ligatures:none;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-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-variant-ligatures:none;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-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-variant-ligatures:none;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-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-variant-ligatures:none;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-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-variant-ligatures:none;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-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-variant-ligatures:none;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-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-variant-ligatures:none;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-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-variant-ligatures:none;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-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-variant-ligatures:none;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-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-variant-ligatures:none;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-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-variant-ligatures:none;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-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-variant-ligatures:none;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-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-variant-ligatures:none;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-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{display:block;line-height:0;overflow-y:auto}:host .menuWrapper{box-sizing:border-box;display:flex;flex-direction:column;width:100%;margin:0;padding:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host [loadingplaceholder]{padding:var(--ds-size-150, 0.75rem) 0}:host [loadingplaceholder].empty{opacity:0;position:absolute}:host [loadingplaceholder] .loadingWrapper{display:flex;align-items:center;justify-content:center;gap:var(--ds-size-150, 0.75rem)}:host([root]) .menuWrapper.lg{padding:var(--ds-size-150, 0.75rem);gap:var(--ds-size-50, 0.25rem)}:host([root]) .menuWrapper.xl{padding:var(--ds-size-200, 1rem);gap:var(--ds-size-100, 0.5rem)}`;
|
|
6
|
+
var styleCss$1 = css`:focus:not(:focus-visible){outline:3px solid transparent}.body-default{font-variant-ligatures:none;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-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-variant-ligatures:none;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-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-variant-ligatures:none;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-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-variant-ligatures:none;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-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-variant-ligatures:none;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-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-variant-ligatures:none;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-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-variant-ligatures:none;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-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-variant-ligatures:none;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-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-variant-ligatures:none;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-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-variant-ligatures:none;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-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-variant-ligatures:none;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-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-variant-ligatures:none;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-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-variant-ligatures:none;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-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-variant-ligatures:none;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-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-variant-ligatures:none;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-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-variant-ligatures:none;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-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-variant-ligatures:none;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-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-variant-ligatures:none;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-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-variant-ligatures:none;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-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-variant-ligatures:none;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-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-variant-ligatures:none;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-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-variant-ligatures:none;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-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-variant-ligatures:none;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-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-variant-ligatures:none;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-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-variant-ligatures:none;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-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-variant-ligatures:none;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-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-variant-ligatures:none;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-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-variant-ligatures:none;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-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-variant-ligatures:none;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-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{display:block;line-height:0;overflow-y:auto}:host .menuWrapper{box-sizing:border-box;display:flex;flex-direction:column;width:100%;margin:0;padding:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host [loadingplaceholder]{padding:var(--ds-size-150, 0.75rem) 0}:host [loadingplaceholder].empty{opacity:0;position:absolute}:host [loadingplaceholder] .loadingWrapper{display:flex;align-items:center;justify-content:center;gap:var(--ds-size-150, 0.75rem)}:host([root]) .menuWrapper.lg{padding:var(--ds-size-150, 0.75rem);gap:var(--ds-size-50, 0.25rem)}:host([root]) .menuWrapper.xl{padding:var(--ds-size-200, 1rem);gap:var(--ds-size-100, 0.5rem)}:host([disabled]) .menuWrapper{pointer-events:none}`;
|
|
7
7
|
|
|
8
|
-
var colorCss$1 = css`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color)}[loadingplaceholder] slot[name=loadingIcon]{color:var(--ds-auro-menu-loader-color)}[loadingplaceholder] slot[name=loadingText]{color:var(--ds-auro-menu-loader-text-color)}`;
|
|
8
|
+
var colorCss$1 = css`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color)}[loadingplaceholder] slot[name=loadingIcon]{color:var(--ds-auro-menu-loader-color)}[loadingplaceholder] slot[name=loadingText]{color:var(--ds-auro-menu-loader-text-color)}:host([disabled]){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-menuoption-icon-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([disabled]) ::slotted(auro-menuoption),:host([disabled]) ::slotted([auro-menuoption]){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-default, #ffffff) !important;--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0) !important;--ds-auro-menuoption-icon-color: var(--ds-basic-color-texticon-disabled, #d0d0d0) !important}`;
|
|
9
9
|
|
|
10
10
|
var tokensCss = css`:host{--ds-auro-menu-divider-color: var(--ds-basic-color-border-divider, rgba(0, 0, 0, 0.15));--ds-auro-menu-loader-color: var(--ds-basic-color-brand-primary, #01426a);--ds-auro-menu-loader-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-menuoption-container-color: transparent;--ds-auro-menuoption-container-border-color: var(--ds-auro-menuoption-container-color);--ds-auro-menuoption-icon-color: transparent;--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}`;
|
|
11
11
|
|
|
@@ -253,6 +253,31 @@ function serializeMultiSelectValue(values) {
|
|
|
253
253
|
return values && values.length > 0 ? JSON.stringify(values) : undefined;
|
|
254
254
|
}
|
|
255
255
|
|
|
256
|
+
/**
|
|
257
|
+
* Walks up through every ancestor `auro-menu` (root and any nested submenus
|
|
258
|
+
* the option is slotted inside) and checks whether any of them is disabled.
|
|
259
|
+
* A menu's `disabled` is never written onto its options (AB#1566578), so an
|
|
260
|
+
* option's interactivity must be resolved at check-time against its owning
|
|
261
|
+
* menu chain instead of a mutated attribute. Exported so every "is this
|
|
262
|
+
* option interactive" check agrees — `auro-menuoption`'s `isActive` getter
|
|
263
|
+
* uses it too (consumed by `auro-select`/`auro-combobox`), not just this
|
|
264
|
+
* module's own `isOptionInteractive`/`isSelectableByValue`.
|
|
265
|
+
* @param {HTMLElement} option - The option to check.
|
|
266
|
+
* @returns {boolean} True if any ancestor menu (root or nested) is disabled.
|
|
267
|
+
*/
|
|
268
|
+
function hasDisabledAncestorMenu(option) {
|
|
269
|
+
let ancestor = option.closest('auro-menu, [auro-menu]');
|
|
270
|
+
|
|
271
|
+
while (ancestor) {
|
|
272
|
+
if (ancestor.disabled) {
|
|
273
|
+
return true;
|
|
274
|
+
}
|
|
275
|
+
ancestor = ancestor.parentElement ? ancestor.parentElement.closest('auro-menu, [auro-menu]') : null;
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
|
|
256
281
|
/**
|
|
257
282
|
* Validates if an option can be interacted with.
|
|
258
283
|
* @private
|
|
@@ -262,21 +287,23 @@ function serializeMultiSelectValue(values) {
|
|
|
262
287
|
function isOptionInteractive(option) {
|
|
263
288
|
return !option.hasAttribute('hidden') &&
|
|
264
289
|
!option.hasAttribute('disabled') &&
|
|
265
|
-
!option.hasAttribute('static')
|
|
290
|
+
!option.hasAttribute('static') &&
|
|
291
|
+
!hasDisabledAncestorMenu(option);
|
|
266
292
|
}
|
|
267
293
|
|
|
268
294
|
/**
|
|
269
295
|
* Validates if an option may be selected by matching a programmatic value.
|
|
270
296
|
* Unlike `isOptionInteractive`, `hidden` is allowed: the combobox toggles
|
|
271
297
|
* `hidden` as its type-ahead filter, so a filtered-out option is still a
|
|
272
|
-
* valid programmatic selection.
|
|
273
|
-
* never selectable — are rejected.
|
|
298
|
+
* valid programmatic selection. Disabled (its own or an ancestor menu's) and
|
|
299
|
+
* static options — which are never selectable — are rejected.
|
|
274
300
|
* @param {HTMLElement} option - The option to check.
|
|
275
301
|
* @returns {boolean} True if option can be selected by value.
|
|
276
302
|
*/
|
|
277
303
|
function isSelectableByValue(option) {
|
|
278
304
|
return !option.hasAttribute('disabled') &&
|
|
279
|
-
!option.hasAttribute('static')
|
|
305
|
+
!option.hasAttribute('static') &&
|
|
306
|
+
!hasDisabledAncestorMenu(option);
|
|
280
307
|
}
|
|
281
308
|
|
|
282
309
|
/* eslint-disable no-underscore-dangle */
|
|
@@ -558,7 +585,7 @@ class AuroMenu extends AuroElement {
|
|
|
558
585
|
},
|
|
559
586
|
|
|
560
587
|
/**
|
|
561
|
-
* When true, the entire menu
|
|
588
|
+
* When true, the entire menu is disabled: options render inert (not focusable, keyboard-navigable, or selectable, and visually disabled) without changing any option's own `disabled` state.
|
|
562
589
|
*/
|
|
563
590
|
disabled: {
|
|
564
591
|
type: Boolean,
|
|
@@ -1130,9 +1157,21 @@ class AuroMenu extends AuroElement {
|
|
|
1130
1157
|
}
|
|
1131
1158
|
}
|
|
1132
1159
|
|
|
1133
|
-
//
|
|
1160
|
+
// Announce menu-level disabled to assistive tech. `disabled` is never
|
|
1161
|
+
// written onto the option (AB#1566578), but aria-disabled has to be
|
|
1162
|
+
// pushed proactively — unlike interactivity checks, AT reads it
|
|
1163
|
+
// directly off the DOM rather than through a JS getter. Only clear it
|
|
1164
|
+
// on re-enable when the option isn't itself authored `disabled` AND no
|
|
1165
|
+
// other ancestor menu in its chain is still disabled — `this.items` is
|
|
1166
|
+
// a deep query, so toggling an unrelated root back on must not strip
|
|
1167
|
+
// aria-disabled from a nested submenu's options that are still
|
|
1168
|
+
// independently disabled.
|
|
1134
1169
|
if (changedProperties.has('disabled')) {
|
|
1135
|
-
|
|
1170
|
+
if (this.disabled) {
|
|
1171
|
+
option.setAttribute('aria-disabled', 'true');
|
|
1172
|
+
} else if (!option.disabled && !hasDisabledAncestorMenu(option)) {
|
|
1173
|
+
option.removeAttribute('aria-disabled');
|
|
1174
|
+
}
|
|
1136
1175
|
}
|
|
1137
1176
|
});
|
|
1138
1177
|
|
|
@@ -1196,6 +1235,22 @@ class AuroMenu extends AuroElement {
|
|
|
1196
1235
|
]));
|
|
1197
1236
|
}
|
|
1198
1237
|
|
|
1238
|
+
// Options slotted in (or re-initialized) while the menu is already
|
|
1239
|
+
// disabled never went through the `disabled`-change branch that pushes
|
|
1240
|
+
// `aria-disabled` (AB#1566578) — re-apply it here the same way
|
|
1241
|
+
// `noCheckmark` already re-applies above. Only the `true` case needs
|
|
1242
|
+
// replaying: re-enabling the menu already clears existing items via the
|
|
1243
|
+
// normal `disabled`-change path, and a newly-added item that isn't
|
|
1244
|
+
// disabled has no `aria-disabled` to clear yet.
|
|
1245
|
+
if (this.disabled) {
|
|
1246
|
+
this.updateItemsState(new Map([
|
|
1247
|
+
[
|
|
1248
|
+
'disabled',
|
|
1249
|
+
true
|
|
1250
|
+
]
|
|
1251
|
+
]));
|
|
1252
|
+
}
|
|
1253
|
+
|
|
1199
1254
|
this.dispatchEvent(new CustomEvent('auroMenu-optionsChange', {
|
|
1200
1255
|
detail: {
|
|
1201
1256
|
options: this.items
|
|
@@ -1433,6 +1488,13 @@ class AuroMenu extends AuroElement {
|
|
|
1433
1488
|
* @private
|
|
1434
1489
|
*/
|
|
1435
1490
|
makeSelection() {
|
|
1491
|
+
// A disabled menu is inert — called directly by auro-select/auro-combobox
|
|
1492
|
+
// keyboard strategies as well as this menu's own handleKeyDown, so the
|
|
1493
|
+
// guard lives here rather than only at the keydown entry point.
|
|
1494
|
+
if (this.disabled) {
|
|
1495
|
+
return;
|
|
1496
|
+
}
|
|
1497
|
+
|
|
1436
1498
|
if (!this.items) {
|
|
1437
1499
|
this.initItems();
|
|
1438
1500
|
}
|
|
@@ -1551,6 +1613,15 @@ class AuroMenu extends AuroElement {
|
|
|
1551
1613
|
*/
|
|
1552
1614
|
handleOptionHover(event) {
|
|
1553
1615
|
const option = event.detail;
|
|
1616
|
+
|
|
1617
|
+
// `pointer-events: none` normally keeps a real hover from ever reaching
|
|
1618
|
+
// a disabled-ancestor option, but this guard protects the few paths
|
|
1619
|
+
// that don't rely on pointer hit-testing (a synthetic `mouseover`
|
|
1620
|
+
// dispatch, test automation) from still activating it.
|
|
1621
|
+
if (!option || !isOptionInteractive(option)) {
|
|
1622
|
+
return;
|
|
1623
|
+
}
|
|
1624
|
+
|
|
1554
1625
|
if (this.items) {
|
|
1555
1626
|
const idx = this.items.indexOf(option);
|
|
1556
1627
|
if (idx >= 0) {
|
|
@@ -1588,6 +1659,11 @@ class AuroMenu extends AuroElement {
|
|
|
1588
1659
|
* @param {string} direction - 'up' or 'down'.
|
|
1589
1660
|
*/
|
|
1590
1661
|
navigateOptions(direction) {
|
|
1662
|
+
// A disabled menu is inert — no option becomes active via keyboard.
|
|
1663
|
+
if (this.disabled) {
|
|
1664
|
+
return;
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1591
1667
|
// Return early if no items exist
|
|
1592
1668
|
if (!this.items || !this.items.length) {
|
|
1593
1669
|
return;
|
|
@@ -2016,7 +2092,8 @@ class AuroMenuOption extends AuroElement {
|
|
|
2016
2092
|
get isActive() {
|
|
2017
2093
|
return !this.hasAttribute('hidden') &&
|
|
2018
2094
|
!this.disabled &&
|
|
2019
|
-
!this.hasAttribute('static')
|
|
2095
|
+
!this.hasAttribute('static') &&
|
|
2096
|
+
!hasDisabledAncestorMenu(this);
|
|
2020
2097
|
}
|
|
2021
2098
|
|
|
2022
2099
|
connectedCallback() {
|
|
@@ -2067,7 +2144,10 @@ class AuroMenuOption extends AuroElement {
|
|
|
2067
2144
|
if (changedProperties.has('disabled')) {
|
|
2068
2145
|
if (this.disabled) {
|
|
2069
2146
|
this.setAttribute('aria-disabled', 'true');
|
|
2070
|
-
} else {
|
|
2147
|
+
} else if (!hasDisabledAncestorMenu(this)) {
|
|
2148
|
+
// Authored `disabled` just turned off, but if an ancestor menu is
|
|
2149
|
+
// still disabled (AB#1566578) this option is still inert — don't
|
|
2150
|
+
// clear the announcement a still-disabled ancestor is responsible for.
|
|
2071
2151
|
this.removeAttribute('aria-disabled');
|
|
2072
2152
|
}
|
|
2073
2153
|
}
|
|
@@ -2099,7 +2179,7 @@ class AuroMenuOption extends AuroElement {
|
|
|
2099
2179
|
* @private
|
|
2100
2180
|
*/
|
|
2101
2181
|
handleClick() {
|
|
2102
|
-
if (!this.disabled) {
|
|
2182
|
+
if (!this.disabled && !hasDisabledAncestorMenu(this)) {
|
|
2103
2183
|
// Pure event emitter: the parent menu owns selection state and will
|
|
2104
2184
|
// update `selected` via setSelected(). Toggling here desyncs the option
|
|
2105
2185
|
// UI from auro-menu.optionSelected (e.g. single-select re-click on the
|
|
@@ -3,9 +3,9 @@ import { classMap } from 'lit/directives/class-map.js';
|
|
|
3
3
|
import { unsafeStatic, literal, html as html$1 } from 'lit/static-html.js';
|
|
4
4
|
import { ifDefined } from 'lit/directives/if-defined.js';
|
|
5
5
|
|
|
6
|
-
var styleCss$1 = css`:focus:not(:focus-visible){outline:3px solid transparent}.body-default{font-variant-ligatures:none;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-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-variant-ligatures:none;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-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-variant-ligatures:none;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-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-variant-ligatures:none;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-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-variant-ligatures:none;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-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-variant-ligatures:none;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-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-variant-ligatures:none;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-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-variant-ligatures:none;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-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-variant-ligatures:none;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-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-variant-ligatures:none;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-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-variant-ligatures:none;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-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-variant-ligatures:none;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-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-variant-ligatures:none;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-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-variant-ligatures:none;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-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-variant-ligatures:none;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-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-variant-ligatures:none;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-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-variant-ligatures:none;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-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-variant-ligatures:none;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-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-variant-ligatures:none;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-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-variant-ligatures:none;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-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-variant-ligatures:none;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-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-variant-ligatures:none;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-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-variant-ligatures:none;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-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-variant-ligatures:none;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-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-variant-ligatures:none;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-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-variant-ligatures:none;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-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-variant-ligatures:none;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-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-variant-ligatures:none;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-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-variant-ligatures:none;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-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{display:block;line-height:0;overflow-y:auto}:host .menuWrapper{box-sizing:border-box;display:flex;flex-direction:column;width:100%;margin:0;padding:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host [loadingplaceholder]{padding:var(--ds-size-150, 0.75rem) 0}:host [loadingplaceholder].empty{opacity:0;position:absolute}:host [loadingplaceholder] .loadingWrapper{display:flex;align-items:center;justify-content:center;gap:var(--ds-size-150, 0.75rem)}:host([root]) .menuWrapper.lg{padding:var(--ds-size-150, 0.75rem);gap:var(--ds-size-50, 0.25rem)}:host([root]) .menuWrapper.xl{padding:var(--ds-size-200, 1rem);gap:var(--ds-size-100, 0.5rem)}`;
|
|
6
|
+
var styleCss$1 = css`:focus:not(:focus-visible){outline:3px solid transparent}.body-default{font-variant-ligatures:none;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-default-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-font-size, 1rem);line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default-emphasized{font-variant-ligatures:none;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-default-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-default-emphasized-font-size, 1rem);line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-variant-ligatures:none;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-lg-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-font-size, 1.125rem);line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg-emphasized{font-variant-ligatures:none;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-lg-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-variant-ligatures:none;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-sm-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-font-size, 0.875rem);line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm-emphasized{font-variant-ligatures:none;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-sm-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-variant-ligatures:none;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-xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-font-size, 0.75rem);line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs-emphasized{font-variant-ligatures:none;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-xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-variant-ligatures:none;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-2xs-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-font-size, 0.625rem);line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs-emphasized{font-variant-ligatures:none;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-2xs-emphasized-weight, );letter-spacing:var(--wcss-body-letter-spacing, 0);font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-variant-ligatures:none;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-weight:var(--wcss-display-2xl-weight, 300);line-height:var(--wcss-display-2xl-line-height, 1.3);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));letter-spacing:var(--wcss-display-2xl-letter-spacing, 0)}.display-xl{font-variant-ligatures:none;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-weight:var(--wcss-display-xl-weight, 300);line-height:var(--wcss-display-xl-line-height, 1.3);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));letter-spacing:var(--wcss-display-xl-letter-spacing, 0)}.display-lg{font-variant-ligatures:none;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-weight:var(--wcss-display-lg-weight, 300);line-height:var(--wcss-display-lg-line-height, 1.3);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));letter-spacing:var(--wcss-display-lg-letter-spacing, 0)}.display-md{font-variant-ligatures:none;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-weight:var(--wcss-display-md-weight, 300);line-height:var(--wcss-display-md-line-height, 1.3);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));letter-spacing:var(--wcss-display-md-letter-spacing, 0)}.display-sm{font-variant-ligatures:none;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-weight:var(--wcss-display-sm-weight, 300);line-height:var(--wcss-display-sm-line-height, 1.3);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));letter-spacing:var(--wcss-display-sm-letter-spacing, 0)}.display-xs{font-variant-ligatures:none;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-weight:var(--wcss-display-xs-weight, 300);line-height:var(--wcss-display-xs-line-height, 1.3);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));letter-spacing:var(--wcss-display-xs-letter-spacing, 0)}.heading-xl{font-variant-ligatures:none;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-weight:var(--wcss-heading-xl-weight, 300);line-height:var(--wcss-heading-xl-line-height, 1.3);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));letter-spacing:var(--wcss-heading-xl-letter-spacing, 0)}.heading-lg{font-variant-ligatures:none;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-weight:var(--wcss-heading-lg-weight, 300);line-height:var(--wcss-heading-lg-line-height, 1.3);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));letter-spacing:var(--wcss-heading-lg-letter-spacing, 0)}.heading-md{font-variant-ligatures:none;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-weight:var(--wcss-heading-md-weight, 300);line-height:var(--wcss-heading-md-line-height, 1.3);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));letter-spacing:var(--wcss-heading-md-letter-spacing, 0)}.heading-sm{font-variant-ligatures:none;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-weight:var(--wcss-heading-sm-weight, 300);line-height:var(--wcss-heading-sm-line-height, 1.3);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));letter-spacing:var(--wcss-heading-sm-letter-spacing, 0)}.heading-xs{font-variant-ligatures:none;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-weight:var(--wcss-heading-xs-weight, 300);line-height:var(--wcss-heading-xs-line-height, 1.3);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));letter-spacing:var(--wcss-heading-xs-letter-spacing, 0)}.heading-2xs{font-variant-ligatures:none;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-weight:var(--wcss-heading-2xs-weight, 300);line-height:var(--wcss-heading-2xs-line-height, 1.3);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0)}.accent-2xl{font-variant-ligatures:none;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-weight:var(--wcss-accent-2xl-weight, 450);line-height:var(--wcss-accent-2xl-line-height, 1);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-xl{font-variant-ligatures:none;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-weight:var(--wcss-accent-xl-weight, 450);line-height:var(--wcss-accent-xl-line-height, 1.3);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);text-transform:uppercase}.accent-lg{font-variant-ligatures:none;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-weight:var(--wcss-accent-lg-weight, 450);line-height:var(--wcss-accent-lg-line-height, 1.3);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);text-transform:uppercase}.accent-md{font-variant-ligatures:none;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-weight:var(--wcss-accent-md-weight, 500);line-height:var(--wcss-accent-md-line-height, 1.3);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);text-transform:uppercase}.accent-sm{font-variant-ligatures:none;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-weight:var(--wcss-accent-sm-weight, 500);line-height:var(--wcss-accent-sm-line-height, 1.3);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);text-transform:uppercase}.accent-xs{font-variant-ligatures:none;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-weight:var(--wcss-accent-xs-weight, 500);line-height:var(--wcss-accent-xs-line-height, 1.3);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);text-transform:uppercase}.accent-2xs{font-variant-ligatures:none;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-weight:var(--wcss-accent-2xs-weight, 450);line-height:var(--wcss-accent-2xs-line-height, 1.3);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);text-transform:uppercase}:host{display:block;line-height:0;overflow-y:auto}:host .menuWrapper{box-sizing:border-box;display:flex;flex-direction:column;width:100%;margin:0;padding:0}:host ::slotted(hr){box-sizing:content-box !important;height:0 !important;overflow:visible !important;margin:var(--ds-size-100, 0.5rem) 0 !important;border-width:0 !important;border-top-width:1px !important;border-top-style:solid !important}:host [loadingplaceholder]{padding:var(--ds-size-150, 0.75rem) 0}:host [loadingplaceholder].empty{opacity:0;position:absolute}:host [loadingplaceholder] .loadingWrapper{display:flex;align-items:center;justify-content:center;gap:var(--ds-size-150, 0.75rem)}:host([root]) .menuWrapper.lg{padding:var(--ds-size-150, 0.75rem);gap:var(--ds-size-50, 0.25rem)}:host([root]) .menuWrapper.xl{padding:var(--ds-size-200, 1rem);gap:var(--ds-size-100, 0.5rem)}:host([disabled]) .menuWrapper{pointer-events:none}`;
|
|
7
7
|
|
|
8
|
-
var colorCss$1 = css`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color)}[loadingplaceholder] slot[name=loadingIcon]{color:var(--ds-auro-menu-loader-color)}[loadingplaceholder] slot[name=loadingText]{color:var(--ds-auro-menu-loader-text-color)}`;
|
|
8
|
+
var colorCss$1 = css`:host ::slotted(hr){border-top-color:var(--ds-auro-menu-divider-color)}[loadingplaceholder] slot[name=loadingIcon]{color:var(--ds-auro-menu-loader-color)}[loadingplaceholder] slot[name=loadingText]{color:var(--ds-auro-menu-loader-text-color)}:host([disabled]){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-default, #ffffff);--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0);--ds-auro-menuoption-icon-color: var(--ds-basic-color-texticon-disabled, #d0d0d0)}:host([disabled]) ::slotted(auro-menuoption),:host([disabled]) ::slotted([auro-menuoption]){--ds-auro-menuoption-container-color: var(--ds-basic-color-surface-default, #ffffff) !important;--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-disabled, #d0d0d0) !important;--ds-auro-menuoption-icon-color: var(--ds-basic-color-texticon-disabled, #d0d0d0) !important}`;
|
|
9
9
|
|
|
10
10
|
var tokensCss = css`:host{--ds-auro-menu-divider-color: var(--ds-basic-color-border-divider, rgba(0, 0, 0, 0.15));--ds-auro-menu-loader-color: var(--ds-basic-color-brand-primary, #01426a);--ds-auro-menu-loader-text-color: var(--ds-basic-color-texticon-default, #2a2a2a);--ds-auro-menuoption-container-color: transparent;--ds-auro-menuoption-container-border-color: var(--ds-auro-menuoption-container-color);--ds-auro-menuoption-icon-color: transparent;--ds-auro-menuoption-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}`;
|
|
11
11
|
|
|
@@ -212,6 +212,31 @@ function serializeMultiSelectValue(values) {
|
|
|
212
212
|
return values && values.length > 0 ? JSON.stringify(values) : undefined;
|
|
213
213
|
}
|
|
214
214
|
|
|
215
|
+
/**
|
|
216
|
+
* Walks up through every ancestor `auro-menu` (root and any nested submenus
|
|
217
|
+
* the option is slotted inside) and checks whether any of them is disabled.
|
|
218
|
+
* A menu's `disabled` is never written onto its options (AB#1566578), so an
|
|
219
|
+
* option's interactivity must be resolved at check-time against its owning
|
|
220
|
+
* menu chain instead of a mutated attribute. Exported so every "is this
|
|
221
|
+
* option interactive" check agrees — `auro-menuoption`'s `isActive` getter
|
|
222
|
+
* uses it too (consumed by `auro-select`/`auro-combobox`), not just this
|
|
223
|
+
* module's own `isOptionInteractive`/`isSelectableByValue`.
|
|
224
|
+
* @param {HTMLElement} option - The option to check.
|
|
225
|
+
* @returns {boolean} True if any ancestor menu (root or nested) is disabled.
|
|
226
|
+
*/
|
|
227
|
+
function hasDisabledAncestorMenu(option) {
|
|
228
|
+
let ancestor = option.closest('auro-menu, [auro-menu]');
|
|
229
|
+
|
|
230
|
+
while (ancestor) {
|
|
231
|
+
if (ancestor.disabled) {
|
|
232
|
+
return true;
|
|
233
|
+
}
|
|
234
|
+
ancestor = ancestor.parentElement ? ancestor.parentElement.closest('auro-menu, [auro-menu]') : null;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
return false;
|
|
238
|
+
}
|
|
239
|
+
|
|
215
240
|
/**
|
|
216
241
|
* Validates if an option can be interacted with.
|
|
217
242
|
* @private
|
|
@@ -221,21 +246,23 @@ function serializeMultiSelectValue(values) {
|
|
|
221
246
|
function isOptionInteractive(option) {
|
|
222
247
|
return !option.hasAttribute('hidden') &&
|
|
223
248
|
!option.hasAttribute('disabled') &&
|
|
224
|
-
!option.hasAttribute('static')
|
|
249
|
+
!option.hasAttribute('static') &&
|
|
250
|
+
!hasDisabledAncestorMenu(option);
|
|
225
251
|
}
|
|
226
252
|
|
|
227
253
|
/**
|
|
228
254
|
* Validates if an option may be selected by matching a programmatic value.
|
|
229
255
|
* Unlike `isOptionInteractive`, `hidden` is allowed: the combobox toggles
|
|
230
256
|
* `hidden` as its type-ahead filter, so a filtered-out option is still a
|
|
231
|
-
* valid programmatic selection.
|
|
232
|
-
* never selectable — are rejected.
|
|
257
|
+
* valid programmatic selection. Disabled (its own or an ancestor menu's) and
|
|
258
|
+
* static options — which are never selectable — are rejected.
|
|
233
259
|
* @param {HTMLElement} option - The option to check.
|
|
234
260
|
* @returns {boolean} True if option can be selected by value.
|
|
235
261
|
*/
|
|
236
262
|
function isSelectableByValue(option) {
|
|
237
263
|
return !option.hasAttribute('disabled') &&
|
|
238
|
-
!option.hasAttribute('static')
|
|
264
|
+
!option.hasAttribute('static') &&
|
|
265
|
+
!hasDisabledAncestorMenu(option);
|
|
239
266
|
}
|
|
240
267
|
|
|
241
268
|
/* eslint-disable no-underscore-dangle */
|
|
@@ -517,7 +544,7 @@ class AuroMenu extends AuroElement {
|
|
|
517
544
|
},
|
|
518
545
|
|
|
519
546
|
/**
|
|
520
|
-
* When true, the entire menu
|
|
547
|
+
* When true, the entire menu is disabled: options render inert (not focusable, keyboard-navigable, or selectable, and visually disabled) without changing any option's own `disabled` state.
|
|
521
548
|
*/
|
|
522
549
|
disabled: {
|
|
523
550
|
type: Boolean,
|
|
@@ -1089,9 +1116,21 @@ class AuroMenu extends AuroElement {
|
|
|
1089
1116
|
}
|
|
1090
1117
|
}
|
|
1091
1118
|
|
|
1092
|
-
//
|
|
1119
|
+
// Announce menu-level disabled to assistive tech. `disabled` is never
|
|
1120
|
+
// written onto the option (AB#1566578), but aria-disabled has to be
|
|
1121
|
+
// pushed proactively — unlike interactivity checks, AT reads it
|
|
1122
|
+
// directly off the DOM rather than through a JS getter. Only clear it
|
|
1123
|
+
// on re-enable when the option isn't itself authored `disabled` AND no
|
|
1124
|
+
// other ancestor menu in its chain is still disabled — `this.items` is
|
|
1125
|
+
// a deep query, so toggling an unrelated root back on must not strip
|
|
1126
|
+
// aria-disabled from a nested submenu's options that are still
|
|
1127
|
+
// independently disabled.
|
|
1093
1128
|
if (changedProperties.has('disabled')) {
|
|
1094
|
-
|
|
1129
|
+
if (this.disabled) {
|
|
1130
|
+
option.setAttribute('aria-disabled', 'true');
|
|
1131
|
+
} else if (!option.disabled && !hasDisabledAncestorMenu(option)) {
|
|
1132
|
+
option.removeAttribute('aria-disabled');
|
|
1133
|
+
}
|
|
1095
1134
|
}
|
|
1096
1135
|
});
|
|
1097
1136
|
|
|
@@ -1155,6 +1194,22 @@ class AuroMenu extends AuroElement {
|
|
|
1155
1194
|
]));
|
|
1156
1195
|
}
|
|
1157
1196
|
|
|
1197
|
+
// Options slotted in (or re-initialized) while the menu is already
|
|
1198
|
+
// disabled never went through the `disabled`-change branch that pushes
|
|
1199
|
+
// `aria-disabled` (AB#1566578) — re-apply it here the same way
|
|
1200
|
+
// `noCheckmark` already re-applies above. Only the `true` case needs
|
|
1201
|
+
// replaying: re-enabling the menu already clears existing items via the
|
|
1202
|
+
// normal `disabled`-change path, and a newly-added item that isn't
|
|
1203
|
+
// disabled has no `aria-disabled` to clear yet.
|
|
1204
|
+
if (this.disabled) {
|
|
1205
|
+
this.updateItemsState(new Map([
|
|
1206
|
+
[
|
|
1207
|
+
'disabled',
|
|
1208
|
+
true
|
|
1209
|
+
]
|
|
1210
|
+
]));
|
|
1211
|
+
}
|
|
1212
|
+
|
|
1158
1213
|
this.dispatchEvent(new CustomEvent('auroMenu-optionsChange', {
|
|
1159
1214
|
detail: {
|
|
1160
1215
|
options: this.items
|
|
@@ -1392,6 +1447,13 @@ class AuroMenu extends AuroElement {
|
|
|
1392
1447
|
* @private
|
|
1393
1448
|
*/
|
|
1394
1449
|
makeSelection() {
|
|
1450
|
+
// A disabled menu is inert — called directly by auro-select/auro-combobox
|
|
1451
|
+
// keyboard strategies as well as this menu's own handleKeyDown, so the
|
|
1452
|
+
// guard lives here rather than only at the keydown entry point.
|
|
1453
|
+
if (this.disabled) {
|
|
1454
|
+
return;
|
|
1455
|
+
}
|
|
1456
|
+
|
|
1395
1457
|
if (!this.items) {
|
|
1396
1458
|
this.initItems();
|
|
1397
1459
|
}
|
|
@@ -1510,6 +1572,15 @@ class AuroMenu extends AuroElement {
|
|
|
1510
1572
|
*/
|
|
1511
1573
|
handleOptionHover(event) {
|
|
1512
1574
|
const option = event.detail;
|
|
1575
|
+
|
|
1576
|
+
// `pointer-events: none` normally keeps a real hover from ever reaching
|
|
1577
|
+
// a disabled-ancestor option, but this guard protects the few paths
|
|
1578
|
+
// that don't rely on pointer hit-testing (a synthetic `mouseover`
|
|
1579
|
+
// dispatch, test automation) from still activating it.
|
|
1580
|
+
if (!option || !isOptionInteractive(option)) {
|
|
1581
|
+
return;
|
|
1582
|
+
}
|
|
1583
|
+
|
|
1513
1584
|
if (this.items) {
|
|
1514
1585
|
const idx = this.items.indexOf(option);
|
|
1515
1586
|
if (idx >= 0) {
|
|
@@ -1547,6 +1618,11 @@ class AuroMenu extends AuroElement {
|
|
|
1547
1618
|
* @param {string} direction - 'up' or 'down'.
|
|
1548
1619
|
*/
|
|
1549
1620
|
navigateOptions(direction) {
|
|
1621
|
+
// A disabled menu is inert — no option becomes active via keyboard.
|
|
1622
|
+
if (this.disabled) {
|
|
1623
|
+
return;
|
|
1624
|
+
}
|
|
1625
|
+
|
|
1550
1626
|
// Return early if no items exist
|
|
1551
1627
|
if (!this.items || !this.items.length) {
|
|
1552
1628
|
return;
|
|
@@ -1975,7 +2051,8 @@ class AuroMenuOption extends AuroElement {
|
|
|
1975
2051
|
get isActive() {
|
|
1976
2052
|
return !this.hasAttribute('hidden') &&
|
|
1977
2053
|
!this.disabled &&
|
|
1978
|
-
!this.hasAttribute('static')
|
|
2054
|
+
!this.hasAttribute('static') &&
|
|
2055
|
+
!hasDisabledAncestorMenu(this);
|
|
1979
2056
|
}
|
|
1980
2057
|
|
|
1981
2058
|
connectedCallback() {
|
|
@@ -2026,7 +2103,10 @@ class AuroMenuOption extends AuroElement {
|
|
|
2026
2103
|
if (changedProperties.has('disabled')) {
|
|
2027
2104
|
if (this.disabled) {
|
|
2028
2105
|
this.setAttribute('aria-disabled', 'true');
|
|
2029
|
-
} else {
|
|
2106
|
+
} else if (!hasDisabledAncestorMenu(this)) {
|
|
2107
|
+
// Authored `disabled` just turned off, but if an ancestor menu is
|
|
2108
|
+
// still disabled (AB#1566578) this option is still inert — don't
|
|
2109
|
+
// clear the announcement a still-disabled ancestor is responsible for.
|
|
2030
2110
|
this.removeAttribute('aria-disabled');
|
|
2031
2111
|
}
|
|
2032
2112
|
}
|
|
@@ -2058,7 +2138,7 @@ class AuroMenuOption extends AuroElement {
|
|
|
2058
2138
|
* @private
|
|
2059
2139
|
*/
|
|
2060
2140
|
handleClick() {
|
|
2061
|
-
if (!this.disabled) {
|
|
2141
|
+
if (!this.disabled && !hasDisabledAncestorMenu(this)) {
|
|
2062
2142
|
// Pure event emitter: the parent menu owns selection state and will
|
|
2063
2143
|
// update `selected` via setSelected(). Toggling here desyncs the option
|
|
2064
2144
|
// UI from auro-menu.optionSelected (e.g. single-select re-click on the
|
|
@@ -790,7 +790,11 @@ class AuroFormValidation {
|
|
|
790
790
|
( elem.touched || (!elem.touched && typeof elem.value !== "undefined") )
|
|
791
791
|
);
|
|
792
792
|
|
|
793
|
-
|
|
793
|
+
// auro-counter-group derives its error state solely from its child counters,
|
|
794
|
+
// so an `error` attribute on the group itself is ignored.
|
|
795
|
+
const hasCustomError = elem.hasAttribute('error') && !this.runtimeUtils.elementMatch(elem, 'auro-counter-group');
|
|
796
|
+
|
|
797
|
+
if (hasCustomError) {
|
|
794
798
|
elem.validity = 'customError';
|
|
795
799
|
elem.errorMessage = elem.setCustomValidityCustomError || elem.error || elem.setCustomValidity || '';
|
|
796
800
|
validationShouldRun = false;
|
|
@@ -885,7 +889,7 @@ class AuroFormValidation {
|
|
|
885
889
|
}
|
|
886
890
|
}
|
|
887
891
|
|
|
888
|
-
if (validationShouldRun ||
|
|
892
|
+
if (validationShouldRun || hasCustomError) {
|
|
889
893
|
// Use the validity message override if it is declared
|
|
890
894
|
if (elem.validity && elem.validity !== 'valid' && elem.ValidityMessageOverride) {
|
|
891
895
|
elem.errorMessage = elem.ValidityMessageOverride;
|
|
@@ -1277,7 +1281,7 @@ class AuroHelpText extends i$2 {
|
|
|
1277
1281
|
}
|
|
1278
1282
|
}
|
|
1279
1283
|
|
|
1280
|
-
var formkitVersion = '
|
|
1284
|
+
var formkitVersion = '202610071520';
|
|
1281
1285
|
|
|
1282
1286
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1283
1287
|
// See LICENSE in the project root for license information.
|
|
@@ -790,7 +790,11 @@ class AuroFormValidation {
|
|
|
790
790
|
( elem.touched || (!elem.touched && typeof elem.value !== "undefined") )
|
|
791
791
|
);
|
|
792
792
|
|
|
793
|
-
|
|
793
|
+
// auro-counter-group derives its error state solely from its child counters,
|
|
794
|
+
// so an `error` attribute on the group itself is ignored.
|
|
795
|
+
const hasCustomError = elem.hasAttribute('error') && !this.runtimeUtils.elementMatch(elem, 'auro-counter-group');
|
|
796
|
+
|
|
797
|
+
if (hasCustomError) {
|
|
794
798
|
elem.validity = 'customError';
|
|
795
799
|
elem.errorMessage = elem.setCustomValidityCustomError || elem.error || elem.setCustomValidity || '';
|
|
796
800
|
validationShouldRun = false;
|
|
@@ -885,7 +889,7 @@ class AuroFormValidation {
|
|
|
885
889
|
}
|
|
886
890
|
}
|
|
887
891
|
|
|
888
|
-
if (validationShouldRun ||
|
|
892
|
+
if (validationShouldRun || hasCustomError) {
|
|
889
893
|
// Use the validity message override if it is declared
|
|
890
894
|
if (elem.validity && elem.validity !== 'valid' && elem.ValidityMessageOverride) {
|
|
891
895
|
elem.errorMessage = elem.ValidityMessageOverride;
|
|
@@ -1277,7 +1281,7 @@ class AuroHelpText extends i$2 {
|
|
|
1277
1281
|
}
|
|
1278
1282
|
}
|
|
1279
1283
|
|
|
1280
|
-
var formkitVersion = '
|
|
1284
|
+
var formkitVersion = '202610071520';
|
|
1281
1285
|
|
|
1282
1286
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1283
1287
|
// See LICENSE in the project root for license information.
|
|
@@ -790,7 +790,11 @@ class AuroFormValidation {
|
|
|
790
790
|
( elem.touched || (!elem.touched && typeof elem.value !== "undefined") )
|
|
791
791
|
);
|
|
792
792
|
|
|
793
|
-
|
|
793
|
+
// auro-counter-group derives its error state solely from its child counters,
|
|
794
|
+
// so an `error` attribute on the group itself is ignored.
|
|
795
|
+
const hasCustomError = elem.hasAttribute('error') && !this.runtimeUtils.elementMatch(elem, 'auro-counter-group');
|
|
796
|
+
|
|
797
|
+
if (hasCustomError) {
|
|
794
798
|
elem.validity = 'customError';
|
|
795
799
|
elem.errorMessage = elem.setCustomValidityCustomError || elem.error || elem.setCustomValidity || '';
|
|
796
800
|
validationShouldRun = false;
|
|
@@ -885,7 +889,7 @@ class AuroFormValidation {
|
|
|
885
889
|
}
|
|
886
890
|
}
|
|
887
891
|
|
|
888
|
-
if (validationShouldRun ||
|
|
892
|
+
if (validationShouldRun || hasCustomError) {
|
|
889
893
|
// Use the validity message override if it is declared
|
|
890
894
|
if (elem.validity && elem.validity !== 'valid' && elem.ValidityMessageOverride) {
|
|
891
895
|
elem.errorMessage = elem.ValidityMessageOverride;
|
|
@@ -1277,7 +1281,7 @@ class AuroHelpText extends i$2 {
|
|
|
1277
1281
|
}
|
|
1278
1282
|
}
|
|
1279
1283
|
|
|
1280
|
-
var formkitVersion = '
|
|
1284
|
+
var formkitVersion = '202610071520';
|
|
1281
1285
|
|
|
1282
1286
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1283
1287
|
// See LICENSE in the project root for license information.
|