@aurodesignsystem-dev/auro-formkit 0.0.0-pr1522.3 → 0.0.0-pr1524.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 +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 +79 -24
- package/components/combobox/demo/getting-started.min.js +79 -24
- package/components/combobox/demo/index.min.js +79 -24
- package/components/combobox/dist/auro-combobox.d.ts +10 -0
- package/components/combobox/dist/index.js +79 -24
- package/components/combobox/dist/registered.js +79 -24
- package/components/counter/demo/customize.min.js +2 -2
- package/components/counter/demo/index.min.js +2 -2
- package/components/counter/dist/index.js +2 -2
- package/components/counter/dist/registered.js +2 -2
- package/components/datepicker/demo/customize.min.js +19 -21
- package/components/datepicker/demo/index.min.js +19 -21
- package/components/datepicker/dist/index.js +19 -21
- package/components/datepicker/dist/registered.js +19 -21
- 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 +179 -82
- package/components/form/demo/getting-started.min.js +179 -82
- package/components/form/demo/index.min.js +179 -82
- package/components/form/demo/registerDemoDeps.min.js +179 -82
- package/components/input/demo/customize.min.js +17 -19
- package/components/input/demo/getting-started.min.js +17 -19
- package/components/input/demo/index.min.js +17 -19
- package/components/input/dist/index.js +17 -19
- package/components/input/dist/registered.js +17 -19
- package/components/radio/demo/customize.min.js +1 -1
- package/components/radio/demo/getting-started.min.js +1 -1
- package/components/radio/demo/index.min.js +1 -1
- package/components/radio/dist/index.js +1 -1
- package/components/radio/dist/registered.js +1 -1
- package/components/select/demo/customize.min.js +62 -16
- package/components/select/demo/getting-started.min.js +62 -16
- package/components/select/demo/index.min.js +62 -16
- package/components/select/dist/auro-select.d.ts +6 -0
- package/components/select/dist/index.js +62 -16
- package/components/select/dist/registered.js +62 -16
- package/custom-elements.json +16 -2
- package/package.json +1 -1
|
@@ -11531,14 +11531,17 @@ class BaseInput extends AuroElement {
|
|
|
11531
11531
|
* @returns {void}
|
|
11532
11532
|
*/
|
|
11533
11533
|
notifyValueChanged() {
|
|
11534
|
-
|
|
11535
|
-
|
|
11536
|
-
|
|
11534
|
+
// This echoes Lit's reactive value update (and handleClickClear's
|
|
11535
|
+
// programmatic clear) — it is NOT a fresh user-input event. Mark it
|
|
11536
|
+
// `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
|
|
11537
|
+
// it from genuine user typing and skip clobbering their own
|
|
11538
|
+
// programmatic state during init-time renders.
|
|
11539
|
+
const inputEvent = new Event('input', {
|
|
11537
11540
|
bubbles: true,
|
|
11538
11541
|
composed: true,
|
|
11539
11542
|
});
|
|
11543
|
+
inputEvent.isProgrammatic = true;
|
|
11540
11544
|
|
|
11541
|
-
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
11542
11545
|
this.dispatchEvent(inputEvent);
|
|
11543
11546
|
}
|
|
11544
11547
|
|
|
@@ -12251,7 +12254,7 @@ class AuroHelpText extends i$3 {
|
|
|
12251
12254
|
}
|
|
12252
12255
|
}
|
|
12253
12256
|
|
|
12254
|
-
var formkitVersion = '
|
|
12257
|
+
var formkitVersion = '202607022214';
|
|
12255
12258
|
|
|
12256
12259
|
/**
|
|
12257
12260
|
* @license
|
|
@@ -12549,20 +12552,15 @@ class AuroInput extends BaseInput {
|
|
|
12549
12552
|
* @returns {void}
|
|
12550
12553
|
*/
|
|
12551
12554
|
checkDisplayValueSlotChange() {
|
|
12552
|
-
|
|
12553
|
-
|
|
12554
|
-
//
|
|
12555
|
-
|
|
12556
|
-
|
|
12557
|
-
|
|
12558
|
-
|
|
12559
|
-
|
|
12560
|
-
|
|
12561
|
-
if (nodes.length > 0) {
|
|
12562
|
-
hasContent = true;
|
|
12563
|
-
}
|
|
12564
|
-
|
|
12565
|
-
this.hasDisplayValueContent = hasContent;
|
|
12555
|
+
// flatten:true resolves through auro-combobox's forwarding slot
|
|
12556
|
+
// (<slot name="displayValue" slot="displayValue">) so a clone appended
|
|
12557
|
+
// directly to auro-input's light DOM alongside the forwarder still
|
|
12558
|
+
// counts as content. The prior nodes[0].tagName === 'SLOT' recursion
|
|
12559
|
+
// discarded any siblings past the forwarder.
|
|
12560
|
+
const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
|
|
12561
|
+
const nodes = slot.assignedNodes({ flatten: true });
|
|
12562
|
+
|
|
12563
|
+
this.hasDisplayValueContent = nodes.length > 0;
|
|
12566
12564
|
}
|
|
12567
12565
|
|
|
12568
12566
|
firstUpdated() {
|
|
@@ -11531,14 +11531,17 @@ class BaseInput extends AuroElement {
|
|
|
11531
11531
|
* @returns {void}
|
|
11532
11532
|
*/
|
|
11533
11533
|
notifyValueChanged() {
|
|
11534
|
-
|
|
11535
|
-
|
|
11536
|
-
|
|
11534
|
+
// This echoes Lit's reactive value update (and handleClickClear's
|
|
11535
|
+
// programmatic clear) — it is NOT a fresh user-input event. Mark it
|
|
11536
|
+
// `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
|
|
11537
|
+
// it from genuine user typing and skip clobbering their own
|
|
11538
|
+
// programmatic state during init-time renders.
|
|
11539
|
+
const inputEvent = new Event('input', {
|
|
11537
11540
|
bubbles: true,
|
|
11538
11541
|
composed: true,
|
|
11539
11542
|
});
|
|
11543
|
+
inputEvent.isProgrammatic = true;
|
|
11540
11544
|
|
|
11541
|
-
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
11542
11545
|
this.dispatchEvent(inputEvent);
|
|
11543
11546
|
}
|
|
11544
11547
|
|
|
@@ -12251,7 +12254,7 @@ class AuroHelpText extends i$3 {
|
|
|
12251
12254
|
}
|
|
12252
12255
|
}
|
|
12253
12256
|
|
|
12254
|
-
var formkitVersion = '
|
|
12257
|
+
var formkitVersion = '202607022214';
|
|
12255
12258
|
|
|
12256
12259
|
/**
|
|
12257
12260
|
* @license
|
|
@@ -12549,20 +12552,15 @@ class AuroInput extends BaseInput {
|
|
|
12549
12552
|
* @returns {void}
|
|
12550
12553
|
*/
|
|
12551
12554
|
checkDisplayValueSlotChange() {
|
|
12552
|
-
|
|
12553
|
-
|
|
12554
|
-
//
|
|
12555
|
-
|
|
12556
|
-
|
|
12557
|
-
|
|
12558
|
-
|
|
12559
|
-
|
|
12560
|
-
|
|
12561
|
-
if (nodes.length > 0) {
|
|
12562
|
-
hasContent = true;
|
|
12563
|
-
}
|
|
12564
|
-
|
|
12565
|
-
this.hasDisplayValueContent = hasContent;
|
|
12555
|
+
// flatten:true resolves through auro-combobox's forwarding slot
|
|
12556
|
+
// (<slot name="displayValue" slot="displayValue">) so a clone appended
|
|
12557
|
+
// directly to auro-input's light DOM alongside the forwarder still
|
|
12558
|
+
// counts as content. The prior nodes[0].tagName === 'SLOT' recursion
|
|
12559
|
+
// discarded any siblings past the forwarder.
|
|
12560
|
+
const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
|
|
12561
|
+
const nodes = slot.assignedNodes({ flatten: true });
|
|
12562
|
+
|
|
12563
|
+
this.hasDisplayValueContent = nodes.length > 0;
|
|
12566
12564
|
}
|
|
12567
12565
|
|
|
12568
12566
|
firstUpdated() {
|
|
@@ -11473,14 +11473,17 @@ class BaseInput extends AuroElement {
|
|
|
11473
11473
|
* @returns {void}
|
|
11474
11474
|
*/
|
|
11475
11475
|
notifyValueChanged() {
|
|
11476
|
-
|
|
11477
|
-
|
|
11478
|
-
|
|
11476
|
+
// This echoes Lit's reactive value update (and handleClickClear's
|
|
11477
|
+
// programmatic clear) — it is NOT a fresh user-input event. Mark it
|
|
11478
|
+
// `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
|
|
11479
|
+
// it from genuine user typing and skip clobbering their own
|
|
11480
|
+
// programmatic state during init-time renders.
|
|
11481
|
+
const inputEvent = new Event('input', {
|
|
11479
11482
|
bubbles: true,
|
|
11480
11483
|
composed: true,
|
|
11481
11484
|
});
|
|
11485
|
+
inputEvent.isProgrammatic = true;
|
|
11482
11486
|
|
|
11483
|
-
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
11484
11487
|
this.dispatchEvent(inputEvent);
|
|
11485
11488
|
}
|
|
11486
11489
|
|
|
@@ -12193,7 +12196,7 @@ class AuroHelpText extends LitElement {
|
|
|
12193
12196
|
}
|
|
12194
12197
|
}
|
|
12195
12198
|
|
|
12196
|
-
var formkitVersion = '
|
|
12199
|
+
var formkitVersion = '202607022214';
|
|
12197
12200
|
|
|
12198
12201
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12199
12202
|
// See LICENSE in the project root for license information.
|
|
@@ -12479,20 +12482,15 @@ class AuroInput extends BaseInput {
|
|
|
12479
12482
|
* @returns {void}
|
|
12480
12483
|
*/
|
|
12481
12484
|
checkDisplayValueSlotChange() {
|
|
12482
|
-
|
|
12483
|
-
|
|
12484
|
-
//
|
|
12485
|
-
|
|
12486
|
-
|
|
12487
|
-
|
|
12488
|
-
|
|
12489
|
-
|
|
12490
|
-
|
|
12491
|
-
if (nodes.length > 0) {
|
|
12492
|
-
hasContent = true;
|
|
12493
|
-
}
|
|
12494
|
-
|
|
12495
|
-
this.hasDisplayValueContent = hasContent;
|
|
12485
|
+
// flatten:true resolves through auro-combobox's forwarding slot
|
|
12486
|
+
// (<slot name="displayValue" slot="displayValue">) so a clone appended
|
|
12487
|
+
// directly to auro-input's light DOM alongside the forwarder still
|
|
12488
|
+
// counts as content. The prior nodes[0].tagName === 'SLOT' recursion
|
|
12489
|
+
// discarded any siblings past the forwarder.
|
|
12490
|
+
const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
|
|
12491
|
+
const nodes = slot.assignedNodes({ flatten: true });
|
|
12492
|
+
|
|
12493
|
+
this.hasDisplayValueContent = nodes.length > 0;
|
|
12496
12494
|
}
|
|
12497
12495
|
|
|
12498
12496
|
firstUpdated() {
|
|
@@ -11473,14 +11473,17 @@ class BaseInput extends AuroElement {
|
|
|
11473
11473
|
* @returns {void}
|
|
11474
11474
|
*/
|
|
11475
11475
|
notifyValueChanged() {
|
|
11476
|
-
|
|
11477
|
-
|
|
11478
|
-
|
|
11476
|
+
// This echoes Lit's reactive value update (and handleClickClear's
|
|
11477
|
+
// programmatic clear) — it is NOT a fresh user-input event. Mark it
|
|
11478
|
+
// `isProgrammatic` so consumers (e.g. auro-combobox) can distinguish
|
|
11479
|
+
// it from genuine user typing and skip clobbering their own
|
|
11480
|
+
// programmatic state during init-time renders.
|
|
11481
|
+
const inputEvent = new Event('input', {
|
|
11479
11482
|
bubbles: true,
|
|
11480
11483
|
composed: true,
|
|
11481
11484
|
});
|
|
11485
|
+
inputEvent.isProgrammatic = true;
|
|
11482
11486
|
|
|
11483
|
-
// Dispatched event to alert outside shadow DOM context of event firing.
|
|
11484
11487
|
this.dispatchEvent(inputEvent);
|
|
11485
11488
|
}
|
|
11486
11489
|
|
|
@@ -12193,7 +12196,7 @@ class AuroHelpText extends LitElement {
|
|
|
12193
12196
|
}
|
|
12194
12197
|
}
|
|
12195
12198
|
|
|
12196
|
-
var formkitVersion = '
|
|
12199
|
+
var formkitVersion = '202607022214';
|
|
12197
12200
|
|
|
12198
12201
|
// Copyright (c) 2025 Alaska Airlines. All right reserved. Licensed under the Apache-2.0 license
|
|
12199
12202
|
// See LICENSE in the project root for license information.
|
|
@@ -12479,20 +12482,15 @@ class AuroInput extends BaseInput {
|
|
|
12479
12482
|
* @returns {void}
|
|
12480
12483
|
*/
|
|
12481
12484
|
checkDisplayValueSlotChange() {
|
|
12482
|
-
|
|
12483
|
-
|
|
12484
|
-
//
|
|
12485
|
-
|
|
12486
|
-
|
|
12487
|
-
|
|
12488
|
-
|
|
12489
|
-
|
|
12490
|
-
|
|
12491
|
-
if (nodes.length > 0) {
|
|
12492
|
-
hasContent = true;
|
|
12493
|
-
}
|
|
12494
|
-
|
|
12495
|
-
this.hasDisplayValueContent = hasContent;
|
|
12485
|
+
// flatten:true resolves through auro-combobox's forwarding slot
|
|
12486
|
+
// (<slot name="displayValue" slot="displayValue">) so a clone appended
|
|
12487
|
+
// directly to auro-input's light DOM alongside the forwarder still
|
|
12488
|
+
// counts as content. The prior nodes[0].tagName === 'SLOT' recursion
|
|
12489
|
+
// discarded any siblings past the forwarder.
|
|
12490
|
+
const slot = this.shadowRoot.querySelector('slot[name="displayValue"]');
|
|
12491
|
+
const nodes = slot.assignedNodes({ flatten: true });
|
|
12492
|
+
|
|
12493
|
+
this.hasDisplayValueContent = nodes.length > 0;
|
|
12496
12494
|
}
|
|
12497
12495
|
|
|
12498
12496
|
firstUpdated() {
|
|
@@ -1227,7 +1227,7 @@ class AuroHelpText extends i$2 {
|
|
|
1227
1227
|
}
|
|
1228
1228
|
}
|
|
1229
1229
|
|
|
1230
|
-
var formkitVersion = '
|
|
1230
|
+
var formkitVersion = '202607022214';
|
|
1231
1231
|
|
|
1232
1232
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1233
1233
|
// See LICENSE in the project root for license information.
|
|
@@ -1227,7 +1227,7 @@ class AuroHelpText extends i$2 {
|
|
|
1227
1227
|
}
|
|
1228
1228
|
}
|
|
1229
1229
|
|
|
1230
|
-
var formkitVersion = '
|
|
1230
|
+
var formkitVersion = '202607022214';
|
|
1231
1231
|
|
|
1232
1232
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1233
1233
|
// See LICENSE in the project root for license information.
|
|
@@ -1227,7 +1227,7 @@ class AuroHelpText extends i$2 {
|
|
|
1227
1227
|
}
|
|
1228
1228
|
}
|
|
1229
1229
|
|
|
1230
|
-
var formkitVersion = '
|
|
1230
|
+
var formkitVersion = '202607022214';
|
|
1231
1231
|
|
|
1232
1232
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1233
1233
|
// See LICENSE in the project root for license information.
|
|
@@ -1166,7 +1166,7 @@ class AuroHelpText extends LitElement {
|
|
|
1166
1166
|
}
|
|
1167
1167
|
}
|
|
1168
1168
|
|
|
1169
|
-
var formkitVersion = '
|
|
1169
|
+
var formkitVersion = '202607022214';
|
|
1170
1170
|
|
|
1171
1171
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1172
1172
|
// See LICENSE in the project root for license information.
|
|
@@ -1166,7 +1166,7 @@ class AuroHelpText extends LitElement {
|
|
|
1166
1166
|
}
|
|
1167
1167
|
}
|
|
1168
1168
|
|
|
1169
|
-
var formkitVersion = '
|
|
1169
|
+
var formkitVersion = '202607022214';
|
|
1170
1170
|
|
|
1171
1171
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1172
1172
|
// See LICENSE in the project root for license information.
|
|
@@ -904,9 +904,6 @@ function navigateArrow(component, direction, options = {}) {
|
|
|
904
904
|
* @param {HTMLElement | null | undefined} menu - The auro-menu element.
|
|
905
905
|
* @returns {Array<HTMLElement>} Non-disabled options, empty array when none.
|
|
906
906
|
*/
|
|
907
|
-
function getEnabledOptions(menu) {
|
|
908
|
-
return (menu?.options || []).filter((option) => !option.disabled);
|
|
909
|
-
}
|
|
910
907
|
|
|
911
908
|
/**
|
|
912
909
|
* Returns the active (selectable + visible) options for type-ahead navigation.
|
|
@@ -976,8 +973,10 @@ const selectKeyboardStrategy = {
|
|
|
976
973
|
End(component, evt, ctx) {
|
|
977
974
|
evt.preventDefault();
|
|
978
975
|
evt.stopPropagation();
|
|
979
|
-
// `pop()` is safe here:
|
|
980
|
-
|
|
976
|
+
// `pop()` is safe here: getActiveOptions returns a fresh filtered array.
|
|
977
|
+
// Uses "active" (not "enabled") so hidden and static rows — which a screen
|
|
978
|
+
// reader must not announce as focused — are skipped.
|
|
979
|
+
const lastOption = getActiveOptions(component.menu).pop();
|
|
981
980
|
if (!lastOption) {
|
|
982
981
|
return;
|
|
983
982
|
}
|
|
@@ -1008,7 +1007,7 @@ const selectKeyboardStrategy = {
|
|
|
1008
1007
|
Home(component, evt, ctx) {
|
|
1009
1008
|
evt.preventDefault();
|
|
1010
1009
|
evt.stopPropagation();
|
|
1011
|
-
const [firstOption] =
|
|
1010
|
+
const [firstOption] = getActiveOptions(component.menu);
|
|
1012
1011
|
if (!firstOption) {
|
|
1013
1012
|
return;
|
|
1014
1013
|
}
|
|
@@ -1033,6 +1032,15 @@ const selectKeyboardStrategy = {
|
|
|
1033
1032
|
},
|
|
1034
1033
|
|
|
1035
1034
|
default(component, evt, ctx) {
|
|
1035
|
+
// Ignore keys chorded with Ctrl/Meta/Alt so browser/OS shortcuts
|
|
1036
|
+
// (Cmd+C, Ctrl+V, Alt+X, Cmd+Space, …) don't leak into typeahead
|
|
1037
|
+
// or toggle the bib. Native <select> ignores modified keys.
|
|
1038
|
+
// ArrowUp/ArrowDown handle modifier+arrow explicitly above; this
|
|
1039
|
+
// guard only affects the default (printable/Space) branch.
|
|
1040
|
+
if (evt.ctrlKey || evt.metaKey || evt.altKey) {
|
|
1041
|
+
return;
|
|
1042
|
+
}
|
|
1043
|
+
|
|
1036
1044
|
// Space resolves to either typeahead-buffer extension or bib toggle
|
|
1037
1045
|
// depending on whether a type-ahead buffer is active. Mirrors native
|
|
1038
1046
|
// <select> and the WAI-ARIA APG Listbox guidance: mid-typeahead space
|
|
@@ -4987,7 +4995,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
|
|
|
4987
4995
|
}
|
|
4988
4996
|
};
|
|
4989
4997
|
|
|
4990
|
-
var formkitVersion$1 = '
|
|
4998
|
+
var formkitVersion$1 = '202607022214';
|
|
4991
4999
|
|
|
4992
5000
|
class AuroElement extends i$2 {
|
|
4993
5001
|
static get properties() {
|
|
@@ -7026,7 +7034,7 @@ class AuroHelpText extends i$2 {
|
|
|
7026
7034
|
}
|
|
7027
7035
|
}
|
|
7028
7036
|
|
|
7029
|
-
var formkitVersion = '
|
|
7037
|
+
var formkitVersion = '202607022214';
|
|
7030
7038
|
|
|
7031
7039
|
var styleCss$2 = i$5`.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}`;
|
|
7032
7040
|
|
|
@@ -7590,8 +7598,11 @@ class AuroSelect extends AuroElement$1 {
|
|
|
7590
7598
|
} else if (this.multiSelect && Array.isArray(this.optionSelected) && this.optionSelected.length > 0) {
|
|
7591
7599
|
this.menu.updateActiveOption(this.optionSelected[0]);
|
|
7592
7600
|
} else {
|
|
7593
|
-
// If no activeOption has yet to be set,
|
|
7594
|
-
|
|
7601
|
+
// If no activeOption has yet to be set, make the first active option
|
|
7602
|
+
// (non-disabled, non-hidden, non-static) active by default. "Active" —
|
|
7603
|
+
// not just "enabled" — so hidden rows and static placeholders never
|
|
7604
|
+
// land in aria-activedescendant on open.
|
|
7605
|
+
const [firstActive] = getActiveOptions(this.menu);
|
|
7595
7606
|
this.menu.updateActiveOption(firstActive);
|
|
7596
7607
|
}
|
|
7597
7608
|
}
|
|
@@ -7837,6 +7848,12 @@ class AuroSelect extends AuroElement$1 {
|
|
|
7837
7848
|
|
|
7838
7849
|
/**
|
|
7839
7850
|
* Binds all behavior needed to the menu after rendering.
|
|
7851
|
+
*
|
|
7852
|
+
* The `<auro-menu>` reference is captured once and not re-targeted on
|
|
7853
|
+
* `slotchange`. Runtime option mutations are covered via
|
|
7854
|
+
* `auroMenu-optionsChange`, so swap options inside the menu freely; do not
|
|
7855
|
+
* swap the `<auro-menu>` element itself under a live select — remount the
|
|
7856
|
+
* parent `<auro-select>` instead.
|
|
7840
7857
|
* @private
|
|
7841
7858
|
* @returns {void}
|
|
7842
7859
|
*/
|
|
@@ -7895,6 +7912,15 @@ class AuroSelect extends AuroElement$1 {
|
|
|
7895
7912
|
if (this.menu.optionSelected !== undefined) {
|
|
7896
7913
|
return;
|
|
7897
7914
|
}
|
|
7915
|
+
// Skip when the select is already cleared (valueless click with no
|
|
7916
|
+
// prior selection): value/optionSelected are already empty and there
|
|
7917
|
+
// is no stale trigger text to refresh, so updateDisplayedValue would
|
|
7918
|
+
// just churn the DOM and request a needless dropdown re-render.
|
|
7919
|
+
const hasStaleState = this.value !== undefined ||
|
|
7920
|
+
(this.multiSelect ? this.optionSelected?.length > 0 : this.optionSelected !== undefined);
|
|
7921
|
+
if (!hasStaleState) {
|
|
7922
|
+
return;
|
|
7923
|
+
}
|
|
7898
7924
|
this.value = undefined;
|
|
7899
7925
|
this.optionSelected = this.multiSelect ? [] : undefined;
|
|
7900
7926
|
// The trigger label is rendered imperatively into #value, so a property
|
|
@@ -7924,10 +7950,15 @@ class AuroSelect extends AuroElement$1 {
|
|
|
7924
7950
|
if (this.dropdown.isPopoverVisible) {
|
|
7925
7951
|
announceToScreenReader(this._getAnnouncementRoot(), message);
|
|
7926
7952
|
} else {
|
|
7927
|
-
// Typeahead-on-closed
|
|
7928
|
-
//
|
|
7929
|
-
//
|
|
7930
|
-
//
|
|
7953
|
+
// Typeahead-on-closed calls updateActiveOption() before show(), so
|
|
7954
|
+
// this handler runs with isPopoverVisible still false. queueMicrotask
|
|
7955
|
+
// is safe because show() → showBib() flips isPopoverVisible and
|
|
7956
|
+
// dialog.showModal() both run synchronously in the same task; the
|
|
7957
|
+
// microtask queue only drains once _handleTypeahead unwinds, by
|
|
7958
|
+
// which point _getAnnouncementRoot() resolves to the bib's shadow
|
|
7959
|
+
// root inside the now-open modal. Do NOT switch to auroDropdown-toggled
|
|
7960
|
+
// — it fires before showModal(), landing the announcement in the
|
|
7961
|
+
// host root while the dialog is still not-yet-modal.
|
|
7931
7962
|
queueMicrotask(() => announceToScreenReader(this._getAnnouncementRoot(), message));
|
|
7932
7963
|
}
|
|
7933
7964
|
}
|
|
@@ -8321,6 +8352,13 @@ class AuroSelect extends AuroElement$1 {
|
|
|
8321
8352
|
}
|
|
8322
8353
|
|
|
8323
8354
|
if (changedProperties.has('value')) {
|
|
8355
|
+
// A value change ends the current interaction — whether it came from a
|
|
8356
|
+
// user commit, programmatic assignment, or reset(). Clear the buffer so
|
|
8357
|
+
// a stale prefix does not concatenate onto the next keystroke while the
|
|
8358
|
+
// host still has focus (the blur listener would otherwise be the only
|
|
8359
|
+
// focus-retained clear point, and hideBib() below does not blur).
|
|
8360
|
+
this._clearTypeaheadBuffer();
|
|
8361
|
+
|
|
8324
8362
|
this.setMenuValue(this.value);
|
|
8325
8363
|
|
|
8326
8364
|
this._updateNativeSelect();
|
|
@@ -8376,6 +8414,9 @@ class AuroSelect extends AuroElement$1 {
|
|
|
8376
8414
|
* @returns {void}
|
|
8377
8415
|
*/
|
|
8378
8416
|
reset() {
|
|
8417
|
+
// Defense-in-depth: updated()'s value-change branch also clears, but
|
|
8418
|
+
// reset-to-same-value (e.g. undefined → undefined) skips that path.
|
|
8419
|
+
this._clearTypeaheadBuffer();
|
|
8379
8420
|
this.menu.reset();
|
|
8380
8421
|
this.validation.reset(this);
|
|
8381
8422
|
}
|
|
@@ -8398,8 +8439,13 @@ class AuroSelect extends AuroElement$1 {
|
|
|
8398
8439
|
// Hidden native <select> has no `multiple` attribute, so any change it fires
|
|
8399
8440
|
// is a single raw value — applying it in multiSelect mode would collapse the
|
|
8400
8441
|
// JSON-array `value` shape. Bfcache/autofill can reach this on a name-bearing
|
|
8401
|
-
// form control even with aria-hidden/tabindex=-1
|
|
8402
|
-
|
|
8442
|
+
// form control even with aria-hidden/tabindex=-1, so revert to the expected
|
|
8443
|
+
// mirror (formattedValue[0]) rather than letting the native select drift and
|
|
8444
|
+
// silently submit the autofilled scalar under `name`.
|
|
8445
|
+
if (this.multiSelect) {
|
|
8446
|
+
this._updateNativeSelect();
|
|
8447
|
+
return;
|
|
8448
|
+
}
|
|
8403
8449
|
|
|
8404
8450
|
const selectedOption = event.target.options[event.target.selectedIndex];
|
|
8405
8451
|
if (!selectedOption) return;
|