@aurodesignsystem-dev/auro-formkit 0.0.0-pr1505.0 → 0.0.0-pr1506.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/components/checkbox/demo/customize.min.js +1 -1
- package/components/checkbox/demo/getting-started.min.js +1 -1
- package/components/checkbox/demo/index.min.js +1 -1
- package/components/checkbox/dist/index.js +1 -1
- package/components/checkbox/dist/registered.js +1 -1
- package/components/combobox/demo/customize.min.js +120 -139
- package/components/combobox/demo/getting-started.min.js +120 -139
- package/components/combobox/demo/index.min.js +120 -139
- package/components/combobox/dist/auro-combobox.d.ts +9 -0
- package/components/combobox/dist/index.js +120 -139
- package/components/combobox/dist/registered.js +120 -139
- package/components/counter/demo/customize.min.js +2 -2
- package/components/counter/demo/index.min.js +2 -2
- package/components/counter/dist/index.js +2 -2
- package/components/counter/dist/registered.js +2 -2
- package/components/datepicker/demo/api.md +0 -2
- package/components/datepicker/demo/customize.md +33 -195
- package/components/datepicker/demo/customize.min.js +37 -43
- package/components/datepicker/demo/index.min.js +36 -35
- package/components/datepicker/dist/index.js +36 -35
- package/components/datepicker/dist/registered.js +36 -35
- package/components/datepicker/dist/src/auro-datepicker.d.ts +0 -2
- package/components/dropdown/demo/customize.min.js +1 -1
- package/components/dropdown/demo/getting-started.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/form/demo/customize.min.js +325 -230
- package/components/form/demo/getting-started.min.js +325 -230
- package/components/form/demo/index.min.js +325 -230
- package/components/form/demo/registerDemoDeps.min.js +325 -230
- package/components/input/demo/customize.md +55 -56
- package/components/input/demo/customize.min.js +32 -26
- package/components/input/demo/getting-started.min.js +32 -26
- package/components/input/demo/index.md +2 -2
- package/components/input/demo/index.min.js +32 -26
- package/components/input/dist/index.js +32 -26
- package/components/input/dist/registered.js +32 -26
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/api.md +1 -0
- package/components/select/demo/customize.md +71 -0
- package/components/select/demo/customize.min.js +133 -26
- package/components/select/demo/getting-started.min.js +133 -26
- package/components/select/demo/index.min.js +133 -26
- package/components/select/demo/keyboard-behavior.md +18 -0
- package/components/select/dist/auro-select.d.ts +38 -2
- package/components/select/dist/index.js +133 -26
- package/components/select/dist/registered.js +133 -26
- package/components/select/dist/selectUtils.d.ts +12 -0
- package/custom-elements.json +114 -10
- package/package.json +1 -1
|
@@ -850,6 +850,21 @@ function getEnabledOptions(menu) {
|
|
|
850
850
|
return (menu?.options || []).filter((option) => !option.disabled);
|
|
851
851
|
}
|
|
852
852
|
|
|
853
|
+
/**
|
|
854
|
+
* Returns the active (selectable + visible) options for type-ahead navigation.
|
|
855
|
+
*
|
|
856
|
+
* Uses auro-menuoption's `isActive` getter, which excludes disabled, hidden,
|
|
857
|
+
* and static options (e.g. `static nomatch` placeholders) so the type-ahead
|
|
858
|
+
* cursor never lands on a non-actionable item. Same empty-safe handling as
|
|
859
|
+
* `getEnabledOptions`.
|
|
860
|
+
*
|
|
861
|
+
* @param {HTMLElement | null | undefined} menu - The auro-menu element.
|
|
862
|
+
* @returns {Array<HTMLElement>} Active options, empty array when none.
|
|
863
|
+
*/
|
|
864
|
+
function getActiveOptions(menu) {
|
|
865
|
+
return (menu?.options || []).filter((option) => option.isActive);
|
|
866
|
+
}
|
|
867
|
+
|
|
853
868
|
/* eslint-disable new-cap */
|
|
854
869
|
|
|
855
870
|
const selectKeyboardStrategy = {
|
|
@@ -882,6 +897,14 @@ const selectKeyboardStrategy = {
|
|
|
882
897
|
},
|
|
883
898
|
|
|
884
899
|
Escape(component, evt, ctx) {
|
|
900
|
+
// Always clear the type-ahead buffer — Escape is a universal cancel.
|
|
901
|
+
// Safe to call when the buffer is empty.
|
|
902
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
903
|
+
if (typeof component._clearTypeaheadBuffer === 'function') {
|
|
904
|
+
// eslint-disable-next-line no-underscore-dangle
|
|
905
|
+
component._clearTypeaheadBuffer();
|
|
906
|
+
}
|
|
907
|
+
|
|
885
908
|
if (!ctx.isExpanded) {
|
|
886
909
|
return;
|
|
887
910
|
}
|
|
@@ -941,16 +964,25 @@ const selectKeyboardStrategy = {
|
|
|
941
964
|
},
|
|
942
965
|
|
|
943
966
|
default(component, evt, ctx) {
|
|
944
|
-
|
|
967
|
+
// Space resolves to either typeahead-buffer extension or bib toggle
|
|
968
|
+
// depending on whether a type-ahead buffer is active. Mirrors native
|
|
969
|
+
// <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space
|
|
970
|
+
// is a search character (e.g. "San Francisco"); otherwise it toggles.
|
|
945
971
|
if (evt.key === ' ') {
|
|
946
972
|
evt.preventDefault();
|
|
947
973
|
evt.stopPropagation();
|
|
974
|
+
if (component.typeaheadBuffer && component.typeaheadBuffer.length > 0) {
|
|
975
|
+
component.updateActiveOptionBasedOnKey(evt.key);
|
|
976
|
+
return;
|
|
977
|
+
}
|
|
948
978
|
if (ctx.isExpanded) {
|
|
949
979
|
component.dropdown.hide();
|
|
950
|
-
|
|
980
|
+
} else {
|
|
981
|
+
component.dropdown.show();
|
|
951
982
|
}
|
|
952
|
-
|
|
983
|
+
return;
|
|
953
984
|
}
|
|
985
|
+
component.updateActiveOptionBasedOnKey(evt.key);
|
|
954
986
|
},
|
|
955
987
|
};
|
|
956
988
|
|
|
@@ -4862,7 +4894,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
|
|
|
4862
4894
|
}
|
|
4863
4895
|
};
|
|
4864
4896
|
|
|
4865
|
-
var formkitVersion$1 = '
|
|
4897
|
+
var formkitVersion$1 = '202606190840';
|
|
4866
4898
|
|
|
4867
4899
|
class AuroElement extends LitElement {
|
|
4868
4900
|
static get properties() {
|
|
@@ -6875,7 +6907,7 @@ class AuroHelpText extends LitElement {
|
|
|
6875
6907
|
}
|
|
6876
6908
|
}
|
|
6877
6909
|
|
|
6878
|
-
var formkitVersion = '
|
|
6910
|
+
var formkitVersion = '202606190840';
|
|
6879
6911
|
|
|
6880
6912
|
var styleCss = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}.body-default{font-size:var(--wcss-body-default-font-size, 1rem);font-weight:var(--wcss-body-default-weight, );line-height:var(--wcss-body-default-line-height, 1.5rem)}.body-default,.body-default-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-default-emphasized{font-size:var(--wcss-body-default-emphasized-font-size, 1rem);font-weight:var(--wcss-body-default-emphasized-weight, );line-height:var(--wcss-body-default-emphasized-line-height, 1.5rem)}.body-lg{font-size:var(--wcss-body-lg-font-size, 1.125rem);font-weight:var(--wcss-body-lg-weight, );line-height:var(--wcss-body-lg-line-height, 1.625rem)}.body-lg,.body-lg-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-lg-emphasized{font-size:var(--wcss-body-lg-emphasized-font-size, 1.125rem);font-weight:var(--wcss-body-lg-emphasized-weight, );line-height:var(--wcss-body-lg-emphasized-line-height, 1.625rem)}.body-sm{font-size:var(--wcss-body-sm-font-size, 0.875rem);font-weight:var(--wcss-body-sm-weight, );line-height:var(--wcss-body-sm-line-height, 1.25rem)}.body-sm,.body-sm-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-sm-emphasized{font-size:var(--wcss-body-sm-emphasized-font-size, 0.875rem);font-weight:var(--wcss-body-sm-emphasized-weight, );line-height:var(--wcss-body-sm-emphasized-line-height, 1.25rem)}.body-xs{font-size:var(--wcss-body-xs-font-size, 0.75rem);font-weight:var(--wcss-body-xs-weight, );line-height:var(--wcss-body-xs-line-height, 1rem)}.body-xs,.body-xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-xs-emphasized{font-size:var(--wcss-body-xs-emphasized-font-size, 0.75rem);font-weight:var(--wcss-body-xs-emphasized-weight, );line-height:var(--wcss-body-xs-emphasized-line-height, 1rem)}.body-2xs{font-size:var(--wcss-body-2xs-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-weight, );line-height:var(--wcss-body-2xs-line-height, 0.875rem)}.body-2xs,.body-2xs-emphasized{font-family:var(--wcss-body-family, "AS Circular"),system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;letter-spacing:var(--wcss-body-letter-spacing, 0)}.body-2xs-emphasized{font-size:var(--wcss-body-2xs-emphasized-font-size, 0.625rem);font-weight:var(--wcss-body-2xs-emphasized-weight, );line-height:var(--wcss-body-2xs-emphasized-line-height, 0.875rem)}.display-2xl{font-family:var(--wcss-display-2xl-family, "AS Circular"),var(--wcss-display-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-2xl-font-size, clamp(3.5rem, 6vw, 5.375rem));font-weight:var(--wcss-display-2xl-weight, 300);letter-spacing:var(--wcss-display-2xl-letter-spacing, 0);line-height:var(--wcss-display-2xl-line-height, 1.3)}.display-xl{font-family:var(--wcss-display-xl-family, "AS Circular"),var(--wcss-display-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xl-font-size, clamp(3rem, 5.3333333333vw, 4.5rem));font-weight:var(--wcss-display-xl-weight, 300);letter-spacing:var(--wcss-display-xl-letter-spacing, 0);line-height:var(--wcss-display-xl-line-height, 1.3)}.display-lg{font-family:var(--wcss-display-lg-family, "AS Circular"),var(--wcss-display-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-lg-font-size, clamp(2.75rem, 4.6666666667vw, 4rem));font-weight:var(--wcss-display-lg-weight, 300);letter-spacing:var(--wcss-display-lg-letter-spacing, 0);line-height:var(--wcss-display-lg-line-height, 1.3)}.display-md{font-family:var(--wcss-display-md-family, "AS Circular"),var(--wcss-display-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-md-font-size, clamp(2.5rem, 4vw, 3.5rem));font-weight:var(--wcss-display-md-weight, 300);letter-spacing:var(--wcss-display-md-letter-spacing, 0);line-height:var(--wcss-display-md-line-height, 1.3)}.display-sm{font-family:var(--wcss-display-sm-family, "AS Circular"),var(--wcss-display-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-sm-font-size, clamp(2rem, 3.6666666667vw, 3rem));font-weight:var(--wcss-display-sm-weight, 300);letter-spacing:var(--wcss-display-sm-letter-spacing, 0);line-height:var(--wcss-display-sm-line-height, 1.3)}.display-xs{font-family:var(--wcss-display-xs-family, "AS Circular"),var(--wcss-display-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-display-xs-font-size, clamp(1.75rem, 3vw, 2.375rem));font-weight:var(--wcss-display-xs-weight, 300);letter-spacing:var(--wcss-display-xs-letter-spacing, 0);line-height:var(--wcss-display-xs-line-height, 1.3)}.heading-xl{font-family:var(--wcss-heading-xl-family, "AS Circular"),var(--wcss-heading-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xl-font-size, clamp(2rem, 3vw, 2.5rem));font-weight:var(--wcss-heading-xl-weight, 300);letter-spacing:var(--wcss-heading-xl-letter-spacing, 0);line-height:var(--wcss-heading-xl-line-height, 1.3)}.heading-lg{font-family:var(--wcss-heading-lg-family, "AS Circular"),var(--wcss-heading-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-lg-font-size, clamp(1.75rem, 2.6666666667vw, 2.25rem));font-weight:var(--wcss-heading-lg-weight, 300);letter-spacing:var(--wcss-heading-lg-letter-spacing, 0);line-height:var(--wcss-heading-lg-line-height, 1.3)}.heading-md{font-family:var(--wcss-heading-md-family, "AS Circular"),var(--wcss-heading-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-md-font-size, clamp(1.625rem, 2.3333333333vw, 1.75rem));font-weight:var(--wcss-heading-md-weight, 300);letter-spacing:var(--wcss-heading-md-letter-spacing, 0);line-height:var(--wcss-heading-md-line-height, 1.3)}.heading-sm{font-family:var(--wcss-heading-sm-family, "AS Circular"),var(--wcss-heading-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-sm-font-size, clamp(1.375rem, 2vw, 1.5rem));font-weight:var(--wcss-heading-sm-weight, 300);letter-spacing:var(--wcss-heading-sm-letter-spacing, 0);line-height:var(--wcss-heading-sm-line-height, 1.3)}.heading-xs{font-family:var(--wcss-heading-xs-family, "AS Circular"),var(--wcss-heading-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-xs-font-size, clamp(1.25rem, 1.6666666667vw, 1.25rem));font-weight:var(--wcss-heading-xs-weight, 300);letter-spacing:var(--wcss-heading-xs-letter-spacing, 0);line-height:var(--wcss-heading-xs-line-height, 1.3)}.heading-2xs{font-family:var(--wcss-heading-2xs-family, "AS Circular"),var(--wcss-heading-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-heading-2xs-font-size, clamp(1.125rem, 1.5vw, 1.125rem));font-weight:var(--wcss-heading-2xs-weight, 300);letter-spacing:var(--wcss-heading-2xs-letter-spacing, 0);line-height:var(--wcss-heading-2xs-line-height, 1.3)}.accent-2xl{font-family:var(--wcss-accent-2xl-family, "Good OT"),var(--wcss-accent-2xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xl-font-size, clamp(2rem, 3.1666666667vw, 2.375rem));font-weight:var(--wcss-accent-2xl-weight, 450);letter-spacing:var(--wcss-accent-2xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-2xl-line-height, 1)}.accent-2xl,.accent-xl{text-transform:uppercase}.accent-xl{font-family:var(--wcss-accent-xl-family, "Good OT"),var(--wcss-accent-xl-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xl-font-size, clamp(1.625rem, 2.3333333333vw, 2rem));font-weight:var(--wcss-accent-xl-weight, 450);letter-spacing:var(--wcss-accent-xl-letter-spacing, 0.05em);line-height:var(--wcss-accent-xl-line-height, 1.3)}.accent-lg{font-family:var(--wcss-accent-lg-family, "Good OT"),var(--wcss-accent-lg-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-lg-font-size, clamp(1.5rem, 2.1666666667vw, 1.75rem));font-weight:var(--wcss-accent-lg-weight, 450);letter-spacing:var(--wcss-accent-lg-letter-spacing, 0.05em);line-height:var(--wcss-accent-lg-line-height, 1.3)}.accent-lg,.accent-md{text-transform:uppercase}.accent-md{font-family:var(--wcss-accent-md-family, "Good OT"),var(--wcss-accent-md-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-md-font-size, clamp(1.375rem, 1.8333333333vw, 1.5rem));font-weight:var(--wcss-accent-md-weight, 500);letter-spacing:var(--wcss-accent-md-letter-spacing, 0.05em);line-height:var(--wcss-accent-md-line-height, 1.3)}.accent-sm{font-family:var(--wcss-accent-sm-family, "Good OT"),var(--wcss-accent-sm-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-sm-font-size, clamp(1.125rem, 1.5vw, 1.25rem));font-weight:var(--wcss-accent-sm-weight, 500);letter-spacing:var(--wcss-accent-sm-letter-spacing, 0.05em);line-height:var(--wcss-accent-sm-line-height, 1.3)}.accent-sm,.accent-xs{text-transform:uppercase}.accent-xs{font-family:var(--wcss-accent-xs-family, "Good OT"),var(--wcss-accent-xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-xs-font-size, clamp(1rem, 1.3333333333vw, 1rem));font-weight:var(--wcss-accent-xs-weight, 500);letter-spacing:var(--wcss-accent-xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-xs-line-height, 1.3)}.accent-2xs{font-family:var(--wcss-accent-2xs-family, "Good OT"),var(--wcss-accent-2xs-family-fallback, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);font-size:var(--wcss-accent-2xs-font-size, clamp(0.875rem, 1.1666666667vw, 0.875rem));font-weight:var(--wcss-accent-2xs-weight, 450);letter-spacing:var(--wcss-accent-2xs-letter-spacing, 0.1em);line-height:var(--wcss-accent-2xs-line-height, 1.3);text-transform:uppercase}[auro-dropdown]{--ds-auro-dropdown-trigger-border-color: var(--ds-auro-select-border-color);--ds-auro-dropdown-trigger-background-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-container-color: var(--ds-auro-select-background-color);--ds-auro-dropdown-trigger-outline-color: var(--ds-auro-select-outline-color)}:host{display:inline-block;text-align:left;vertical-align:top}:host([layout*=emphasized]) [auro-dropdown],:host([layout*=snowflake]) [auro-dropdown]{--ds-auro-select-border-color: transparent}:host([layout*=emphasized]) .mainContent,:host([layout*=snowflake]) .mainContent{text-align:center}.mainContent{position:relative;display:flex;overflow:hidden;flex:1;flex-direction:column;align-items:center;justify-content:center}.valueContainer [slot=displayValue]{display:none}.accents{display:flex;flex-direction:row;align-items:center;justify-content:center}::slotted([slot=typeIcon]){margin-right:var(--ds-size-100, 0.5rem)}.displayValue{display:block}.displayValue:not(.force){display:none}.displayValue:not(.force).hasContent:is(.withValue):not(.hasFocus){display:block}.triggerContent{display:flex;width:100%;align-items:center;justify-content:center}:host([layout*=emphasized]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-300, 1.5rem)}:host([layout*=snowflake]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem) 0 var(--ds-size-200, 1rem)}:host([layout*=snowflake]) label{padding-block:var(--ds-size-25, 0.125rem)}:host([layout*=classic]) .triggerContent{padding:0 var(--ds-size-100, 0.5rem)}:host([layout*=classic]) .mainContent{align-items:start}:host([layout*=classic]) label{overflow:hidden;cursor:text;text-overflow:ellipsis;white-space:nowrap}:host([layout*=classic]) .value{height:auto}label{color:var(--ds-auro-select-label-text-color)}:host(:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-select-outline-color: var(--ds-basic-color-status-error, #e31f26);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-default, #2a2a2a)}:host([ondark]:is([validity]:not([validity=valid]))) [auro-dropdown],:host([appearance=inverse]:is([validity]:not([validity=valid]))) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-select-outline-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8);--ds-auro-dropdown-helptext-text-color: var(--ds-basic-color-texticon-inverse, #ffffff)}#slotHolder{display:none}:host([fluid]){width:100%}:host([disabled]){pointer-events:none;user-select:none}:host([disabled]:not([ondark])) [auro-dropdown],:host([disabled]:not([appearance=inverse])) [auro-dropdown]{--ds-auro-select-border-color: var(--ds-basic-color-border-subtle, #dddddd)}:host(:not([layout*=classic])[disabled][ondark]) [auro-dropdown],:host(:not([layout*=classic])[disabled][appearance=inverse]) [auro-dropdown]{--ds-auro-select-border-color: transparent}`;
|
|
6881
6913
|
|
|
@@ -6980,6 +7012,16 @@ class AuroSelect extends AuroElement$1 {
|
|
|
6980
7012
|
* @private
|
|
6981
7013
|
*/
|
|
6982
7014
|
this.hasDisplayValueContent = false;
|
|
7015
|
+
|
|
7016
|
+
/**
|
|
7017
|
+
* @private
|
|
7018
|
+
*/
|
|
7019
|
+
this.typeaheadBuffer = '';
|
|
7020
|
+
|
|
7021
|
+
/**
|
|
7022
|
+
* @private
|
|
7023
|
+
*/
|
|
7024
|
+
this._typeaheadTimeout = null;
|
|
6983
7025
|
}
|
|
6984
7026
|
|
|
6985
7027
|
/**
|
|
@@ -6992,6 +7034,7 @@ class AuroSelect extends AuroElement$1 {
|
|
|
6992
7034
|
this.fullscreenBreakpoint = 'sm';
|
|
6993
7035
|
this.onDark = false;
|
|
6994
7036
|
this.isPopoverVisible = false;
|
|
7037
|
+
this.typeaheadTimeoutMs = 500;
|
|
6995
7038
|
|
|
6996
7039
|
// Layout Config
|
|
6997
7040
|
this.layout = 'classic';
|
|
@@ -7295,6 +7338,16 @@ class AuroSelect extends AuroElement$1 {
|
|
|
7295
7338
|
attribute: false
|
|
7296
7339
|
},
|
|
7297
7340
|
|
|
7341
|
+
/**
|
|
7342
|
+
* Milliseconds of keyboard inactivity before the type-ahead buffer resets.
|
|
7343
|
+
* Increase for users who type slowly.
|
|
7344
|
+
* @default 500
|
|
7345
|
+
*/
|
|
7346
|
+
typeaheadTimeoutMs: {
|
|
7347
|
+
type: Number,
|
|
7348
|
+
reflect: true
|
|
7349
|
+
},
|
|
7350
|
+
|
|
7298
7351
|
/**
|
|
7299
7352
|
* Specifies the `validityState` this element is in.
|
|
7300
7353
|
*/
|
|
@@ -7734,6 +7787,7 @@ class AuroSelect extends AuroElement$1 {
|
|
|
7734
7787
|
this.addEventListener('blur', () => {
|
|
7735
7788
|
this.validate();
|
|
7736
7789
|
this.hasFocus = false;
|
|
7790
|
+
this._clearTypeaheadBuffer();
|
|
7737
7791
|
});
|
|
7738
7792
|
}
|
|
7739
7793
|
|
|
@@ -7747,41 +7801,89 @@ class AuroSelect extends AuroElement$1 {
|
|
|
7747
7801
|
}
|
|
7748
7802
|
}
|
|
7749
7803
|
|
|
7804
|
+
/**
|
|
7805
|
+
* Returns the lowercase, trimmed text content of a menu option.
|
|
7806
|
+
* @private
|
|
7807
|
+
* @param {HTMLElement} option - The menu option element.
|
|
7808
|
+
* @returns {string}
|
|
7809
|
+
*/
|
|
7810
|
+
_getOptionDisplayText(option) {
|
|
7811
|
+
return (option.textContent || '').trim().toLowerCase();
|
|
7812
|
+
}
|
|
7813
|
+
|
|
7814
|
+
/**
|
|
7815
|
+
* Empties the type-ahead buffer and cancels any pending reset timeout.
|
|
7816
|
+
* Called when focus leaves the component, when Escape closes the bib, and on disconnect
|
|
7817
|
+
* so a stale buffer never bridges into a fresh interaction.
|
|
7818
|
+
* @private
|
|
7819
|
+
*/
|
|
7820
|
+
_clearTypeaheadBuffer() {
|
|
7821
|
+
if (this._typeaheadTimeout) {
|
|
7822
|
+
clearTimeout(this._typeaheadTimeout);
|
|
7823
|
+
this._typeaheadTimeout = null;
|
|
7824
|
+
}
|
|
7825
|
+
this.typeaheadBuffer = '';
|
|
7826
|
+
}
|
|
7827
|
+
|
|
7750
7828
|
/**
|
|
7751
7829
|
* Updates the active option in the menu based on keyboard input.
|
|
7830
|
+
*
|
|
7831
|
+
* Implements the WAI-ARIA APG Listbox type-ahead pattern: accumulates printable
|
|
7832
|
+
* keystrokes into a buffer that resets after `typeaheadTimeoutMs` of inactivity.
|
|
7833
|
+
* A multi-character buffer matches the first option whose displayed text starts
|
|
7834
|
+
* with the buffer; repeating a single character cycles through options that start
|
|
7835
|
+
* with that character.
|
|
7752
7836
|
* @private
|
|
7753
7837
|
* @param {string} _key - The key pressed by the user.
|
|
7754
7838
|
* @returns {void}
|
|
7755
7839
|
*/
|
|
7756
7840
|
updateActiveOptionBasedOnKey(_key) {
|
|
7841
|
+
// Ignore non-printable keys (Shift, ArrowDown, Tab, etc.)
|
|
7842
|
+
if (typeof _key !== 'string' || _key.length !== 1) {
|
|
7843
|
+
return;
|
|
7844
|
+
}
|
|
7757
7845
|
|
|
7758
|
-
//
|
|
7759
|
-
|
|
7760
|
-
|
|
7761
|
-
//
|
|
7762
|
-
|
|
7846
|
+
// No selectable options to match against — clear any stale buffer/timer so
|
|
7847
|
+
// Space stays a bib toggle and the next keystroke after fresh options load
|
|
7848
|
+
// starts cleanly. `getActiveOptions` excludes disabled, hidden, and static
|
|
7849
|
+
// options (e.g. `static nomatch` placeholders). Checked BEFORE mutating
|
|
7850
|
+
// the buffer.
|
|
7851
|
+
const options = getActiveOptions(this.menu);
|
|
7852
|
+
if (!options.length) {
|
|
7853
|
+
this._clearTypeaheadBuffer();
|
|
7854
|
+
return;
|
|
7855
|
+
}
|
|
7763
7856
|
|
|
7764
|
-
|
|
7765
|
-
this.lastLetter = key;
|
|
7857
|
+
const key = _key.toLowerCase();
|
|
7766
7858
|
|
|
7767
|
-
//
|
|
7768
|
-
|
|
7769
|
-
|
|
7770
|
-
|
|
7771
|
-
|
|
7859
|
+
// Reset the buffer after a period of inactivity
|
|
7860
|
+
if (this._typeaheadTimeout) {
|
|
7861
|
+
clearTimeout(this._typeaheadTimeout);
|
|
7862
|
+
}
|
|
7863
|
+
this._typeaheadTimeout = setTimeout(() => {
|
|
7864
|
+
this._clearTypeaheadBuffer();
|
|
7865
|
+
}, this.typeaheadTimeoutMs);
|
|
7772
7866
|
|
|
7773
|
-
|
|
7774
|
-
if (letterOptions.length) {
|
|
7867
|
+
this.typeaheadBuffer += key;
|
|
7775
7868
|
|
|
7776
|
-
|
|
7777
|
-
this.dropdown.show();
|
|
7869
|
+
const isRepeatedChar = this.typeaheadBuffer.length > 1 && new Set(this.typeaheadBuffer).size === 1;
|
|
7778
7870
|
|
|
7779
|
-
|
|
7780
|
-
|
|
7871
|
+
let match = null;
|
|
7872
|
+
if (isRepeatedChar) {
|
|
7873
|
+
const matches = options.filter((option) => this._getOptionDisplayText(option).startsWith(key));
|
|
7874
|
+
if (matches.length) {
|
|
7875
|
+
const cycleIndex = (this.typeaheadBuffer.length - 1) % matches.length;
|
|
7876
|
+
match = matches[cycleIndex];
|
|
7877
|
+
}
|
|
7878
|
+
} else {
|
|
7879
|
+
match = options.find((option) => this._getOptionDisplayText(option).startsWith(this.typeaheadBuffer));
|
|
7880
|
+
}
|
|
7781
7881
|
|
|
7782
|
-
|
|
7783
|
-
|
|
7784
|
-
|
|
7882
|
+
if (match) {
|
|
7883
|
+
if (!this.dropdown.isPopoverVisible) {
|
|
7884
|
+
this.dropdown.show();
|
|
7885
|
+
}
|
|
7886
|
+
this.menu.updateActiveOption(match);
|
|
7785
7887
|
}
|
|
7786
7888
|
}
|
|
7787
7889
|
|
|
@@ -7895,6 +7997,11 @@ class AuroSelect extends AuroElement$1 {
|
|
|
7895
7997
|
}
|
|
7896
7998
|
}
|
|
7897
7999
|
|
|
8000
|
+
disconnectedCallback() {
|
|
8001
|
+
super.disconnectedCallback();
|
|
8002
|
+
this._clearTypeaheadBuffer();
|
|
8003
|
+
}
|
|
8004
|
+
|
|
7898
8005
|
// lifecycle runs only after the element's DOM has been updated the first time
|
|
7899
8006
|
firstUpdated() {
|
|
7900
8007
|
// Add the tag name as an attribute if it is different than the component name
|
|
@@ -10,3 +10,15 @@
|
|
|
10
10
|
* @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
|
|
11
11
|
*/
|
|
12
12
|
export function getEnabledOptions(menu: HTMLElement | null | undefined): Array<HTMLElement>;
|
|
13
|
+
/**
|
|
14
|
+
* Returns the active (selectable + visible) options for type-ahead navigation.
|
|
15
|
+
*
|
|
16
|
+
* Uses auro-menuoption's `isActive` getter, which excludes disabled, hidden,
|
|
17
|
+
* and static options (e.g. `static nomatch` placeholders) so the type-ahead
|
|
18
|
+
* cursor never lands on a non-actionable item. Same empty-safe handling as
|
|
19
|
+
* `getEnabledOptions`.
|
|
20
|
+
*
|
|
21
|
+
* @param {HTMLElement | null | undefined} menu - The auro-menu element.
|
|
22
|
+
* @returns {Array<HTMLElement>} Active options, empty array when none.
|
|
23
|
+
*/
|
|
24
|
+
export function getActiveOptions(menu: HTMLElement | null | undefined): Array<HTMLElement>;
|
package/custom-elements.json
CHANGED
|
@@ -1256,6 +1256,26 @@
|
|
|
1256
1256
|
"description": "Update displayValue or input.value, it's called when making a selection.",
|
|
1257
1257
|
"privacy": "private"
|
|
1258
1258
|
},
|
|
1259
|
+
{
|
|
1260
|
+
"kind": "method",
|
|
1261
|
+
"name": "syncInputValuesAcrossTriggerAndBib",
|
|
1262
|
+
"parameters": [
|
|
1263
|
+
{
|
|
1264
|
+
"name": "nextValue",
|
|
1265
|
+
"description": "The value to write to both inputs.",
|
|
1266
|
+
"type": {
|
|
1267
|
+
"text": "string"
|
|
1268
|
+
}
|
|
1269
|
+
}
|
|
1270
|
+
],
|
|
1271
|
+
"description": "Writes nextValue to the trigger input and the bib input when their current\nvalue differs, then re-asserts imask after Lit's update flushes.",
|
|
1272
|
+
"return": {
|
|
1273
|
+
"type": {
|
|
1274
|
+
"text": "Promise<void> | null"
|
|
1275
|
+
}
|
|
1276
|
+
},
|
|
1277
|
+
"privacy": "private"
|
|
1278
|
+
},
|
|
1259
1279
|
{
|
|
1260
1280
|
"kind": "method",
|
|
1261
1281
|
"name": "handleMenuOptions",
|
|
@@ -6305,14 +6325,6 @@
|
|
|
6305
6325
|
"description": "Defines the label content for the first input.",
|
|
6306
6326
|
"name": "fromLabel"
|
|
6307
6327
|
},
|
|
6308
|
-
{
|
|
6309
|
-
"description": "Overrides the \"(optional)\" text rendered next to the first input's label when the datepicker is not `required`.",
|
|
6310
|
-
"name": "optionalFromLabel"
|
|
6311
|
-
},
|
|
6312
|
-
{
|
|
6313
|
-
"description": "Overrides the \"(optional)\" text rendered next to the second input's label when `range` is set and the datepicker is not `required`.",
|
|
6314
|
-
"name": "optionalToLabel"
|
|
6315
|
-
},
|
|
6316
6328
|
{
|
|
6317
6329
|
"description": "Defines the content to display in the auro-calendar-cell for the specified date. The content text is colored using the success state token when the `highlight` attribute is applied to the slot.",
|
|
6318
6330
|
"name": "date_YYYY_MM_DD"
|
|
@@ -18606,6 +18618,32 @@
|
|
|
18606
18618
|
],
|
|
18607
18619
|
"description": "Updates the active option in the menu."
|
|
18608
18620
|
},
|
|
18621
|
+
{
|
|
18622
|
+
"kind": "method",
|
|
18623
|
+
"name": "_getOptionDisplayText",
|
|
18624
|
+
"parameters": [
|
|
18625
|
+
{
|
|
18626
|
+
"name": "option",
|
|
18627
|
+
"description": "The menu option element.",
|
|
18628
|
+
"type": {
|
|
18629
|
+
"text": "HTMLElement"
|
|
18630
|
+
}
|
|
18631
|
+
}
|
|
18632
|
+
],
|
|
18633
|
+
"description": "Returns the lowercase, trimmed text content of a menu option.",
|
|
18634
|
+
"privacy": "private",
|
|
18635
|
+
"return": {
|
|
18636
|
+
"type": {
|
|
18637
|
+
"text": "string"
|
|
18638
|
+
}
|
|
18639
|
+
}
|
|
18640
|
+
},
|
|
18641
|
+
{
|
|
18642
|
+
"kind": "method",
|
|
18643
|
+
"name": "_clearTypeaheadBuffer",
|
|
18644
|
+
"description": "Empties the type-ahead buffer and cancels any pending reset timeout.\nCalled when focus leaves the component, when Escape closes the bib, and on disconnect\nso a stale buffer never bridges into a fresh interaction.",
|
|
18645
|
+
"privacy": "private"
|
|
18646
|
+
},
|
|
18609
18647
|
{
|
|
18610
18648
|
"kind": "method",
|
|
18611
18649
|
"name": "updateActiveOptionBasedOnKey",
|
|
@@ -18618,7 +18656,7 @@
|
|
|
18618
18656
|
}
|
|
18619
18657
|
}
|
|
18620
18658
|
],
|
|
18621
|
-
"description": "Updates the active option in the menu based on keyboard input.",
|
|
18659
|
+
"description": "Updates the active option in the menu based on keyboard input.\n\nImplements the WAI-ARIA APG Listbox type-ahead pattern: accumulates printable\nkeystrokes into a buffer that resets after `typeaheadTimeoutMs` of inactivity.\nA multi-character buffer matches the first option whose displayed text starts\nwith the buffer; repeating a single character cycles through options that start\nwith that character.",
|
|
18622
18660
|
"privacy": "private",
|
|
18623
18661
|
"return": {
|
|
18624
18662
|
"type": {
|
|
@@ -19014,6 +19052,24 @@
|
|
|
19014
19052
|
},
|
|
19015
19053
|
"default": "false"
|
|
19016
19054
|
},
|
|
19055
|
+
{
|
|
19056
|
+
"kind": "field",
|
|
19057
|
+
"name": "typeaheadBuffer",
|
|
19058
|
+
"type": {
|
|
19059
|
+
"text": "string"
|
|
19060
|
+
},
|
|
19061
|
+
"privacy": "private",
|
|
19062
|
+
"default": "''"
|
|
19063
|
+
},
|
|
19064
|
+
{
|
|
19065
|
+
"kind": "field",
|
|
19066
|
+
"name": "_typeaheadTimeout",
|
|
19067
|
+
"type": {
|
|
19068
|
+
"text": "null"
|
|
19069
|
+
},
|
|
19070
|
+
"privacy": "private",
|
|
19071
|
+
"default": "null"
|
|
19072
|
+
},
|
|
19017
19073
|
{
|
|
19018
19074
|
"kind": "field",
|
|
19019
19075
|
"name": "appearance",
|
|
@@ -19298,6 +19354,18 @@
|
|
|
19298
19354
|
},
|
|
19299
19355
|
"description": "Indicates whether the input is in a dirty state (has been interacted with)."
|
|
19300
19356
|
},
|
|
19357
|
+
{
|
|
19358
|
+
"kind": "field",
|
|
19359
|
+
"name": "typeaheadTimeoutMs",
|
|
19360
|
+
"privacy": "public",
|
|
19361
|
+
"type": {
|
|
19362
|
+
"text": "number"
|
|
19363
|
+
},
|
|
19364
|
+
"description": "Milliseconds of keyboard inactivity before the type-ahead buffer resets.\nIncrease for users who type slowly.",
|
|
19365
|
+
"default": "500",
|
|
19366
|
+
"attribute": "typeaheadTimeoutMs",
|
|
19367
|
+
"reflects": true
|
|
19368
|
+
},
|
|
19301
19369
|
{
|
|
19302
19370
|
"kind": "field",
|
|
19303
19371
|
"name": "validity",
|
|
@@ -19650,6 +19718,15 @@
|
|
|
19650
19718
|
"module": "components/layoutElement/src/auroElement.js"
|
|
19651
19719
|
}
|
|
19652
19720
|
},
|
|
19721
|
+
{
|
|
19722
|
+
"name": "typeaheadTimeoutMs",
|
|
19723
|
+
"type": {
|
|
19724
|
+
"text": "number"
|
|
19725
|
+
},
|
|
19726
|
+
"description": "Milliseconds of keyboard inactivity before the type-ahead buffer resets.\nIncrease for users who type slowly.",
|
|
19727
|
+
"default": "500",
|
|
19728
|
+
"fieldName": "typeaheadTimeoutMs"
|
|
19729
|
+
},
|
|
19653
19730
|
{
|
|
19654
19731
|
"name": "validity",
|
|
19655
19732
|
"type": {
|
|
@@ -19728,7 +19805,7 @@
|
|
|
19728
19805
|
"type": {
|
|
19729
19806
|
"text": "object"
|
|
19730
19807
|
},
|
|
19731
|
-
"default": "{ ArrowDown(component, evt, ctx) { evt.preventDefault(); if (ctx.isExpanded) { if (evt.altKey || evt.ctrlKey || evt.metaKey) { // navigate to last enabled option selectKeyboardStrategy.End(component, evt, ctx); } else { navigateArrow(component, 'down', { ctx }); } } else { component.dropdown.show(); } }, ArrowUp(component, evt, ctx) { evt.preventDefault(); if (ctx.isExpanded) { if (evt.altKey || evt.ctrlKey || evt.metaKey) { // navigate to first enabled option selectKeyboardStrategy.Home(component, evt, ctx); } else { navigateArrow(component, 'up', { ctx }); } } else { component.dropdown.show(); } }, Escape(component, evt, ctx) { if (!ctx.isExpanded) { return; } // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups evt.stopPropagation(); component.dropdown.hide(); }, End(component, evt, ctx) { if (!ctx.isExpanded) { return; } evt.preventDefault(); evt.stopPropagation(); // `pop()` is safe here: getEnabledOptions returns a fresh filtered array. const lastOption = getEnabledOptions(component.menu).pop(); if (lastOption) { component.menu.updateActiveOption(lastOption); } }, Enter(component, evt, ctx) { evt.preventDefault(); evt.stopPropagation(); if (!ctx.isExpanded) { component.dropdown.show(); return; } component.menu.makeSelection(); }, Home(component, evt, ctx) { if (!ctx.isExpanded) { return; } evt.preventDefault(); evt.stopPropagation(); const [firstOption] = getEnabledOptions(component.menu); if (firstOption) { component.menu.updateActiveOption(firstOption); } }, Tab(component, evt, ctx) { if (!ctx.isExpanded) { return; } // Tab selects the focused option and closes the popup per the // WAI-ARIA APG select-only combobox / listbox pattern. if (component.optionActive) { component.menu.makeSelection(); } component.dropdown.hide(); }, default(component, evt, ctx) {
|
|
19808
|
+
"default": "{ ArrowDown(component, evt, ctx) { evt.preventDefault(); if (ctx.isExpanded) { if (evt.altKey || evt.ctrlKey || evt.metaKey) { // navigate to last enabled option selectKeyboardStrategy.End(component, evt, ctx); } else { navigateArrow(component, 'down', { ctx }); } } else { component.dropdown.show(); } }, ArrowUp(component, evt, ctx) { evt.preventDefault(); if (ctx.isExpanded) { if (evt.altKey || evt.ctrlKey || evt.metaKey) { // navigate to first enabled option selectKeyboardStrategy.Home(component, evt, ctx); } else { navigateArrow(component, 'up', { ctx }); } } else { component.dropdown.show(); } }, Escape(component, evt, ctx) { // Always clear the type-ahead buffer — Escape is a universal cancel. // Safe to call when the buffer is empty. // eslint-disable-next-line no-underscore-dangle if (typeof component._clearTypeaheadBuffer === 'function') { // eslint-disable-next-line no-underscore-dangle component._clearTypeaheadBuffer(); } if (!ctx.isExpanded) { return; } // Prevent the Escape key from bubbling up and closing any parent dialogs / drawers / popups evt.stopPropagation(); component.dropdown.hide(); }, End(component, evt, ctx) { if (!ctx.isExpanded) { return; } evt.preventDefault(); evt.stopPropagation(); // `pop()` is safe here: getEnabledOptions returns a fresh filtered array. const lastOption = getEnabledOptions(component.menu).pop(); if (lastOption) { component.menu.updateActiveOption(lastOption); } }, Enter(component, evt, ctx) { evt.preventDefault(); evt.stopPropagation(); if (!ctx.isExpanded) { component.dropdown.show(); return; } component.menu.makeSelection(); }, Home(component, evt, ctx) { if (!ctx.isExpanded) { return; } evt.preventDefault(); evt.stopPropagation(); const [firstOption] = getEnabledOptions(component.menu); if (firstOption) { component.menu.updateActiveOption(firstOption); } }, Tab(component, evt, ctx) { if (!ctx.isExpanded) { return; } // Tab selects the focused option and closes the popup per the // WAI-ARIA APG select-only combobox / listbox pattern. if (component.optionActive) { component.menu.makeSelection(); } component.dropdown.hide(); }, default(component, evt, ctx) { // Space resolves to either typeahead-buffer extension or bib toggle // depending on whether a type-ahead buffer is active. Mirrors native // <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space // is a search character (e.g. \"San Francisco\"); otherwise it toggles. if (evt.key === ' ') { evt.preventDefault(); evt.stopPropagation(); if (component.typeaheadBuffer && component.typeaheadBuffer.length > 0) { component.updateActiveOptionBasedOnKey(evt.key); return; } if (ctx.isExpanded) { component.dropdown.hide(); } else { component.dropdown.show(); } return; } component.updateActiveOptionBasedOnKey(evt.key); }, }"
|
|
19732
19809
|
}
|
|
19733
19810
|
],
|
|
19734
19811
|
"exports": [
|
|
@@ -19764,6 +19841,25 @@
|
|
|
19764
19841
|
"text": "Array<HTMLElement>"
|
|
19765
19842
|
}
|
|
19766
19843
|
}
|
|
19844
|
+
},
|
|
19845
|
+
{
|
|
19846
|
+
"kind": "function",
|
|
19847
|
+
"name": "getActiveOptions",
|
|
19848
|
+
"parameters": [
|
|
19849
|
+
{
|
|
19850
|
+
"name": "menu",
|
|
19851
|
+
"description": "The auro-menu element.",
|
|
19852
|
+
"type": {
|
|
19853
|
+
"text": "HTMLElement | null | undefined"
|
|
19854
|
+
}
|
|
19855
|
+
}
|
|
19856
|
+
],
|
|
19857
|
+
"description": "Returns the active (selectable + visible) options for type-ahead navigation.\n\nUses auro-menuoption's `isActive` getter, which excludes disabled, hidden,\nand static options (e.g. `static nomatch` placeholders) so the type-ahead\ncursor never lands on a non-actionable item. Same empty-safe handling as\n`getEnabledOptions`.",
|
|
19858
|
+
"return": {
|
|
19859
|
+
"type": {
|
|
19860
|
+
"text": "Array<HTMLElement>"
|
|
19861
|
+
}
|
|
19862
|
+
}
|
|
19767
19863
|
}
|
|
19768
19864
|
],
|
|
19769
19865
|
"exports": [
|
|
@@ -19774,6 +19870,14 @@
|
|
|
19774
19870
|
"name": "getEnabledOptions",
|
|
19775
19871
|
"module": "components/select/src/selectUtils.js"
|
|
19776
19872
|
}
|
|
19873
|
+
},
|
|
19874
|
+
{
|
|
19875
|
+
"kind": "js",
|
|
19876
|
+
"name": "getActiveOptions",
|
|
19877
|
+
"declaration": {
|
|
19878
|
+
"name": "getActiveOptions",
|
|
19879
|
+
"module": "components/select/src/selectUtils.js"
|
|
19880
|
+
}
|
|
19777
19881
|
}
|
|
19778
19882
|
]
|
|
19779
19883
|
}
|
package/package.json
CHANGED