@aurodesignsystem-dev/auro-formkit 0.0.0-pr1503.3 → 0.0.0-pr1503.5
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/bibtemplate/dist/index.js +1 -1
- package/components/bibtemplate/dist/registered.js +1 -1
- package/components/checkbox/demo/accessibility.md +1 -1
- package/components/checkbox/demo/customize.html +1 -2
- package/components/checkbox/demo/customize.min.js +23 -8
- package/components/checkbox/demo/getting-started.min.js +23 -8
- package/components/checkbox/demo/index.min.js +23 -8
- package/components/checkbox/dist/index.js +23 -8
- package/components/checkbox/dist/registered.js +23 -8
- package/components/combobox/README.md +1 -1
- package/components/combobox/demo/accessibility.md +1 -1
- package/components/combobox/demo/api.md +2 -2
- package/components/combobox/demo/customize.html +1 -2
- package/components/combobox/demo/customize.md +166 -142
- package/components/combobox/demo/customize.min.js +2515 -2316
- package/components/combobox/demo/getting-started.min.js +2515 -2312
- package/components/combobox/demo/index.md +2 -1
- package/components/combobox/demo/index.min.js +2515 -2312
- package/components/combobox/demo/keyboard-behavior.md +3 -146
- package/components/combobox/demo/readme.md +1 -1
- package/components/combobox/demo/why-combobox.md +2 -2
- package/components/combobox/dist/auro-combobox.d.ts +49 -15
- package/components/combobox/dist/index.js +1462 -753
- package/components/combobox/dist/registered.js +1462 -753
- package/components/counter/demo/customize.min.js +188 -244
- package/components/counter/demo/index.min.js +188 -244
- package/components/counter/dist/auro-counter.d.ts +0 -8
- package/components/counter/dist/index.js +188 -244
- package/components/counter/dist/registered.js +188 -244
- package/components/datepicker/demo/accessibility.md +20 -10
- package/components/datepicker/demo/api.md +65 -62
- package/components/datepicker/demo/customize.md +180 -40
- package/components/datepicker/demo/customize.min.js +1690 -777
- package/components/datepicker/demo/getting-started.md +118 -2
- package/components/datepicker/demo/index.min.js +1690 -759
- package/components/datepicker/demo/keyboard-behavior.md +3 -3
- package/components/datepicker/demo/voiceover.md +4 -4
- package/components/datepicker/demo/why-datepicker.md +2 -2
- package/components/datepicker/dist/{src/auro-calendar-cell.d.ts → auro-calendar-cell.d.ts} +48 -3
- package/components/datepicker/dist/{src/auro-calendar.d.ts → auro-calendar.d.ts} +188 -10
- package/components/datepicker/dist/{src/auro-datepicker.d.ts → auro-datepicker.d.ts} +89 -6
- package/components/datepicker/dist/blackoutUtils.d.ts +43 -0
- package/components/datepicker/dist/index.js +1690 -759
- package/components/datepicker/dist/registered.js +1690 -759
- package/components/dropdown/demo/customize.html +3 -0
- package/components/dropdown/demo/customize.min.js +142 -208
- package/components/dropdown/demo/getting-started.min.js +131 -207
- package/components/dropdown/demo/index.min.js +131 -207
- package/components/dropdown/dist/auro-dropdown.d.ts +17 -1
- package/components/dropdown/dist/index.js +131 -207
- package/components/dropdown/dist/registered.js +131 -207
- package/components/form/demo/api.md +3 -3
- package/components/form/demo/customize.html +6 -6
- package/components/form/demo/customize.md +535 -135
- package/components/form/demo/customize.min.js +6307 -4378
- package/components/form/demo/getting-started.md +344 -96
- package/components/form/demo/getting-started.min.js +6255 -4378
- package/components/form/demo/index.min.js +6206 -4378
- package/components/form/demo/registerDemoDeps.min.js +5827 -4333
- package/components/form/dist/auro-form.d.ts +128 -10
- package/components/form/dist/index.js +377 -43
- package/components/form/dist/registered.js +377 -43
- package/components/input/demo/accessibility.md +1 -1
- package/components/input/demo/api.md +58 -57
- package/components/input/demo/customize.html +1 -2
- package/components/input/demo/customize.md +62 -61
- package/components/input/demo/customize.min.js +396 -275
- package/components/input/demo/getting-started.min.js +396 -275
- package/components/input/demo/index.min.js +396 -275
- package/components/input/dist/auro-input.d.ts +1 -1
- package/components/input/dist/base-input.d.ts +60 -81
- package/components/input/dist/index.js +409 -276
- package/components/input/dist/registered.js +396 -275
- package/components/input/dist/utilities.d.ts +10 -1
- package/components/menu/demo/accessibility.md +9 -4
- package/components/menu/demo/api.md +48 -45
- package/components/menu/demo/css-only.md +26 -19
- package/components/menu/demo/customize.md +307 -75
- package/components/menu/demo/design.md +1 -1
- package/components/menu/demo/getting-started.md +144 -7
- package/components/menu/demo/index.min.js +961 -1341
- package/components/menu/demo/keyboard-behavior.md +83 -4
- package/components/menu/demo/voiceover.md +21 -14
- package/components/menu/demo/why-menu.md +8 -9
- package/components/menu/dist/auro-menu-utils.d.ts +19 -0
- package/components/menu/dist/auro-menu.d.ts +97 -116
- package/components/menu/dist/auro-menuoption.d.ts +39 -133
- package/components/menu/dist/index.js +823 -1309
- package/components/menu/dist/registered.js +835 -1309
- package/components/radio/demo/accessibility.md +1 -1
- package/components/radio/demo/customize.min.js +23 -8
- package/components/radio/demo/getting-started.min.js +23 -8
- package/components/radio/demo/index.min.js +23 -8
- package/components/radio/dist/index.js +23 -8
- package/components/radio/dist/registered.js +23 -8
- package/components/select/demo/accessibility.md +6 -1
- package/components/select/demo/api.md +3 -2
- package/components/select/demo/customize.html +1 -2
- package/components/select/demo/customize.md +210 -5
- package/components/select/demo/customize.min.js +1613 -1854
- package/components/select/demo/design.md +10 -10
- package/components/select/demo/getting-started.md +1 -1
- package/components/select/demo/getting-started.min.js +1617 -1903
- package/components/select/demo/index.md +2 -2
- package/components/select/demo/index.min.js +1613 -1854
- package/components/select/demo/keyboard-behavior.md +81 -54
- package/components/select/demo/voiceover.md +28 -15
- package/components/select/dist/auro-select.d.ts +70 -12
- package/components/select/dist/index.js +580 -315
- package/components/select/dist/registered.js +580 -315
- package/components/select/dist/selectUtils.d.ts +24 -0
- package/custom-elements.json +8071 -7919
- package/package.json +7 -3
- package/components/checkbox/demo/customize.js +0 -22
- package/components/checkbox/demo/demo-support.js +0 -1
- package/components/checkbox/demo/getting-started.js +0 -22
- package/components/checkbox/demo/index.js +0 -8
- package/components/checkbox/demo/styles.scss +0 -1
- package/components/combobox/demo/customize.js +0 -24
- package/components/combobox/demo/demo-support.js +0 -1
- package/components/combobox/demo/getting-started.js +0 -21
- package/components/combobox/demo/index.js +0 -23
- package/components/combobox/demo/styles.scss +0 -1
- package/components/counter/demo/customize.js +0 -21
- package/components/counter/demo/demo-support.js +0 -1
- package/components/counter/demo/index.js +0 -21
- package/components/counter/demo/styles.scss +0 -1
- package/components/datepicker/demo/customize.js +0 -19
- package/components/datepicker/demo/demo-support.js +0 -1
- package/components/datepicker/demo/index.js +0 -23
- package/components/datepicker/demo/styles.scss +0 -1
- package/components/dropdown/demo/customize.js +0 -9
- package/components/dropdown/demo/demo-support.js +0 -1
- package/components/dropdown/demo/getting-started.js +0 -9
- package/components/dropdown/demo/index.js +0 -16
- package/components/dropdown/demo/styles.scss +0 -1
- package/components/form/demo/customize.js +0 -9
- package/components/form/demo/demo-support.js +0 -1
- package/components/form/demo/getting-started.js +0 -9
- package/components/form/demo/index.js +0 -5
- package/components/form/demo/registerDemoDeps.js +0 -23
- package/components/form/demo/styles.scss +0 -1
- package/components/input/demo/customize.js +0 -25
- package/components/input/demo/demo-support.js +0 -1
- package/components/input/demo/getting-started.js +0 -8
- package/components/input/demo/index.js +0 -8
- package/components/input/demo/styles.css +0 -974
- package/components/input/demo/styles.scss +0 -1
- package/components/menu/demo/demo-support.js +0 -1
- package/components/menu/demo/index.js +0 -25
- package/components/menu/demo/styles.scss +0 -1
- package/components/menu/dist/auro-menu.context.d.ts +0 -238
- package/components/radio/demo/customize.js +0 -22
- package/components/radio/demo/demo-support.js +0 -1
- package/components/radio/demo/getting-started.js +0 -24
- package/components/radio/demo/index.js +0 -8
- package/components/radio/demo/styles.scss +0 -1
- package/components/select/demo/customize.js +0 -11
- package/components/select/demo/demo-support.js +0 -1
- package/components/select/demo/getting-started.js +0 -26
- package/components/select/demo/index.js +0 -11
- package/components/select/demo/styles.scss +0 -1
- /package/components/counter/dist/styles/{counter-wrapper-color-css.d.ts → counter-group-color-css.d.ts} +0 -0
- /package/components/datepicker/dist/{src/auro-calendar-month.d.ts → auro-calendar-month.d.ts} +0 -0
- /package/components/datepicker/dist/{src/buttonVersion.d.ts → buttonVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{src/datepickerKeyboardStrategy.d.ts → datepickerKeyboardStrategy.d.ts} +0 -0
- /package/components/datepicker/dist/{src/iconVersion.d.ts → iconVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{src/index.d.ts → index.d.ts} +0 -0
- /package/components/datepicker/dist/{src/popoverVersion.d.ts → popoverVersion.d.ts} +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/classic/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/classic/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/color-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/shapeSize-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/snowflake/color-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/snowflake/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-cell-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-auro-calendar-month-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/style-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/styles → styles}/tokens-css.d.ts +0 -0
- /package/components/datepicker/dist/{src/utilities.d.ts → utilities.d.ts} +0 -0
- /package/components/datepicker/dist/{src/utilitiesCalendar.d.ts → utilitiesCalendar.d.ts} +0 -0
- /package/components/datepicker/dist/{src/utilitiesCalendarRender.d.ts → utilitiesCalendarRender.d.ts} +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/day.d.ts +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker-calendar.d.ts +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker-cell.d.ts +0 -0
- /package/components/datepicker/dist/{src/vendor → vendor}/wc-range-datepicker/range-datepicker.d.ts +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<div class="scrollWrapper">
|
|
5
5
|
The `auro-radio` component follows native HTML radio button semantics. This page documents the ARIA attributes, screen reader behavior, and other accessibility features built into the component.
|
|
6
6
|
|
|
7
|
-
For keyboard interaction details, see the <
|
|
7
|
+
For keyboard interaction details, see the <auro-hyperlink href="keyboard-behavior">Keyboard Behavior</auro-hyperlink> page.
|
|
8
8
|
|
|
9
9
|
<auro-header level="2" id="ariaRolesAndAttributes">ARIA Roles and Attributes</auro-header>
|
|
10
10
|
<auro-header level="3" id="radioGroup">Radio Group</auro-header>
|
|
@@ -715,8 +715,21 @@ class AuroFormValidation {
|
|
|
715
715
|
return;
|
|
716
716
|
}
|
|
717
717
|
|
|
718
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
718
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
719
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
719
720
|
if (elem.value && !elem.valueObject) {
|
|
721
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
722
|
+
|
|
723
|
+
if (isPartialDateFormat) {
|
|
724
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
725
|
+
elem.validity = 'patternMismatch';
|
|
726
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
727
|
+
}
|
|
728
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
729
|
+
return;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
720
733
|
elem.validity = 'patternMismatch';
|
|
721
734
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
722
735
|
return;
|
|
@@ -813,15 +826,17 @@ class AuroFormValidation {
|
|
|
813
826
|
);
|
|
814
827
|
}
|
|
815
828
|
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
829
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
830
|
+
|
|
831
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
832
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
833
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
834
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
835
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
819
836
|
hasValue = false;
|
|
820
837
|
}
|
|
821
838
|
}
|
|
822
839
|
|
|
823
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
824
|
-
|
|
825
840
|
if (isCombobox) {
|
|
826
841
|
|
|
827
842
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -920,7 +935,7 @@ class AuroFormValidation {
|
|
|
920
935
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
921
936
|
const input = elem.renderRoot.querySelector('input');
|
|
922
937
|
|
|
923
|
-
if (input.validationMessage.length > 0) {
|
|
938
|
+
if (input && input.validationMessage.length > 0) {
|
|
924
939
|
elem.errorMessage = input.validationMessage;
|
|
925
940
|
}
|
|
926
941
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -1212,7 +1227,7 @@ class AuroHelpText extends i$2 {
|
|
|
1212
1227
|
}
|
|
1213
1228
|
}
|
|
1214
1229
|
|
|
1215
|
-
var formkitVersion = '
|
|
1230
|
+
var formkitVersion = '202607221815';
|
|
1216
1231
|
|
|
1217
1232
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1218
1233
|
// See LICENSE in the project root for license information.
|
|
@@ -715,8 +715,21 @@ class AuroFormValidation {
|
|
|
715
715
|
return;
|
|
716
716
|
}
|
|
717
717
|
|
|
718
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
718
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
719
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
719
720
|
if (elem.value && !elem.valueObject) {
|
|
721
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
722
|
+
|
|
723
|
+
if (isPartialDateFormat) {
|
|
724
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
725
|
+
elem.validity = 'patternMismatch';
|
|
726
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
727
|
+
}
|
|
728
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
729
|
+
return;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
720
733
|
elem.validity = 'patternMismatch';
|
|
721
734
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
722
735
|
return;
|
|
@@ -813,15 +826,17 @@ class AuroFormValidation {
|
|
|
813
826
|
);
|
|
814
827
|
}
|
|
815
828
|
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
829
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
830
|
+
|
|
831
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
832
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
833
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
834
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
835
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
819
836
|
hasValue = false;
|
|
820
837
|
}
|
|
821
838
|
}
|
|
822
839
|
|
|
823
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
824
|
-
|
|
825
840
|
if (isCombobox) {
|
|
826
841
|
|
|
827
842
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -920,7 +935,7 @@ class AuroFormValidation {
|
|
|
920
935
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
921
936
|
const input = elem.renderRoot.querySelector('input');
|
|
922
937
|
|
|
923
|
-
if (input.validationMessage.length > 0) {
|
|
938
|
+
if (input && input.validationMessage.length > 0) {
|
|
924
939
|
elem.errorMessage = input.validationMessage;
|
|
925
940
|
}
|
|
926
941
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -1212,7 +1227,7 @@ class AuroHelpText extends i$2 {
|
|
|
1212
1227
|
}
|
|
1213
1228
|
}
|
|
1214
1229
|
|
|
1215
|
-
var formkitVersion = '
|
|
1230
|
+
var formkitVersion = '202607221815';
|
|
1216
1231
|
|
|
1217
1232
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1218
1233
|
// See LICENSE in the project root for license information.
|
|
@@ -715,8 +715,21 @@ class AuroFormValidation {
|
|
|
715
715
|
return;
|
|
716
716
|
}
|
|
717
717
|
|
|
718
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
718
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
719
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
719
720
|
if (elem.value && !elem.valueObject) {
|
|
721
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
722
|
+
|
|
723
|
+
if (isPartialDateFormat) {
|
|
724
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
725
|
+
elem.validity = 'patternMismatch';
|
|
726
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
727
|
+
}
|
|
728
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
729
|
+
return;
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
720
733
|
elem.validity = 'patternMismatch';
|
|
721
734
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
722
735
|
return;
|
|
@@ -813,15 +826,17 @@ class AuroFormValidation {
|
|
|
813
826
|
);
|
|
814
827
|
}
|
|
815
828
|
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
829
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
830
|
+
|
|
831
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
832
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
833
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
834
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
835
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
819
836
|
hasValue = false;
|
|
820
837
|
}
|
|
821
838
|
}
|
|
822
839
|
|
|
823
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
824
|
-
|
|
825
840
|
if (isCombobox) {
|
|
826
841
|
|
|
827
842
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -920,7 +935,7 @@ class AuroFormValidation {
|
|
|
920
935
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
921
936
|
const input = elem.renderRoot.querySelector('input');
|
|
922
937
|
|
|
923
|
-
if (input.validationMessage.length > 0) {
|
|
938
|
+
if (input && input.validationMessage.length > 0) {
|
|
924
939
|
elem.errorMessage = input.validationMessage;
|
|
925
940
|
}
|
|
926
941
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -1212,7 +1227,7 @@ class AuroHelpText extends i$2 {
|
|
|
1212
1227
|
}
|
|
1213
1228
|
}
|
|
1214
1229
|
|
|
1215
|
-
var formkitVersion = '
|
|
1230
|
+
var formkitVersion = '202607221815';
|
|
1216
1231
|
|
|
1217
1232
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1218
1233
|
// See LICENSE in the project root for license information.
|
|
@@ -654,8 +654,21 @@ class AuroFormValidation {
|
|
|
654
654
|
return;
|
|
655
655
|
}
|
|
656
656
|
|
|
657
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
657
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
658
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
658
659
|
if (elem.value && !elem.valueObject) {
|
|
660
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
661
|
+
|
|
662
|
+
if (isPartialDateFormat) {
|
|
663
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
664
|
+
elem.validity = 'patternMismatch';
|
|
665
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
666
|
+
}
|
|
667
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
668
|
+
return;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
659
672
|
elem.validity = 'patternMismatch';
|
|
660
673
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
661
674
|
return;
|
|
@@ -752,15 +765,17 @@ class AuroFormValidation {
|
|
|
752
765
|
);
|
|
753
766
|
}
|
|
754
767
|
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
768
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
769
|
+
|
|
770
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
771
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
772
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
773
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
774
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
758
775
|
hasValue = false;
|
|
759
776
|
}
|
|
760
777
|
}
|
|
761
778
|
|
|
762
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
763
|
-
|
|
764
779
|
if (isCombobox) {
|
|
765
780
|
|
|
766
781
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -859,7 +874,7 @@ class AuroFormValidation {
|
|
|
859
874
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
860
875
|
const input = elem.renderRoot.querySelector('input');
|
|
861
876
|
|
|
862
|
-
if (input.validationMessage.length > 0) {
|
|
877
|
+
if (input && input.validationMessage.length > 0) {
|
|
863
878
|
elem.errorMessage = input.validationMessage;
|
|
864
879
|
}
|
|
865
880
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -1151,7 +1166,7 @@ class AuroHelpText extends LitElement {
|
|
|
1151
1166
|
}
|
|
1152
1167
|
}
|
|
1153
1168
|
|
|
1154
|
-
var formkitVersion = '
|
|
1169
|
+
var formkitVersion = '202607221815';
|
|
1155
1170
|
|
|
1156
1171
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1157
1172
|
// See LICENSE in the project root for license information.
|
|
@@ -654,8 +654,21 @@ class AuroFormValidation {
|
|
|
654
654
|
return;
|
|
655
655
|
}
|
|
656
656
|
|
|
657
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
657
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
658
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
658
659
|
if (elem.value && !elem.valueObject) {
|
|
660
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
661
|
+
|
|
662
|
+
if (isPartialDateFormat) {
|
|
663
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
664
|
+
elem.validity = 'patternMismatch';
|
|
665
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
666
|
+
}
|
|
667
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
668
|
+
return;
|
|
669
|
+
}
|
|
670
|
+
|
|
671
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
659
672
|
elem.validity = 'patternMismatch';
|
|
660
673
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
661
674
|
return;
|
|
@@ -752,15 +765,17 @@ class AuroFormValidation {
|
|
|
752
765
|
);
|
|
753
766
|
}
|
|
754
767
|
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
768
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
769
|
+
|
|
770
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
771
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
772
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
773
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
774
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
758
775
|
hasValue = false;
|
|
759
776
|
}
|
|
760
777
|
}
|
|
761
778
|
|
|
762
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
763
|
-
|
|
764
779
|
if (isCombobox) {
|
|
765
780
|
|
|
766
781
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -859,7 +874,7 @@ class AuroFormValidation {
|
|
|
859
874
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
860
875
|
const input = elem.renderRoot.querySelector('input');
|
|
861
876
|
|
|
862
|
-
if (input.validationMessage.length > 0) {
|
|
877
|
+
if (input && input.validationMessage.length > 0) {
|
|
863
878
|
elem.errorMessage = input.validationMessage;
|
|
864
879
|
}
|
|
865
880
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -1151,7 +1166,7 @@ class AuroHelpText extends LitElement {
|
|
|
1151
1166
|
}
|
|
1152
1167
|
}
|
|
1153
1168
|
|
|
1154
|
-
var formkitVersion = '
|
|
1169
|
+
var formkitVersion = '202607221815';
|
|
1155
1170
|
|
|
1156
1171
|
// Copyright (c) Alaska Air. All right reserved. Licensed under the Apache-2.0 license
|
|
1157
1172
|
// See LICENSE in the project root for license information.
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<div class="scrollWrapper">
|
|
5
5
|
The `auro-select` component follows the <a href="https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/" target="_blank">W3C APG Select-Only Combobox</a> pattern. This page documents the ARIA semantics, screen reader announcements, and other accessibility behaviors built into the component.
|
|
6
6
|
|
|
7
|
-
For keyboard interaction details, see the <
|
|
7
|
+
For keyboard interaction details, see the <auro-hyperlink href="keyboard-behavior">Keyboard Behavior</auro-hyperlink> page.
|
|
8
8
|
|
|
9
9
|
<auro-header level="2" id="ariaRolesAndAttributes">ARIA Roles and Attributes</auro-header>
|
|
10
10
|
<auro-header level="3" id="trigger">Trigger</auro-header>
|
|
@@ -61,6 +61,11 @@ On smaller viewports, the bib opens as a fullscreen modal dialog:
|
|
|
61
61
|
- A close button inside the dialog is focused when the modal opens, giving screen reader users an immediate action to dismiss it.
|
|
62
62
|
- Touch scrolling on the page behind the dialog is blocked to prevent the background from scrolling into view.
|
|
63
63
|
|
|
64
|
+
<auro-header level="2" id="modifierKeys">Modifier Keys</auro-header>
|
|
65
|
+
The **Meta** key (Command on macOS, Windows/Super elsewhere) is intentionally not used as a modifier for select keyboard shortcuts. On Windows, Linux, and ChromeOS, the operating system intercepts `Meta` + Arrow combinations for window management (e.g. window snapping) before the browser receives the event, so any shortcut bound to `Meta` + Arrow would work only on macOS and silently fail on other platforms.
|
|
66
|
+
|
|
67
|
+
To jump to the first or last option in a way that works uniformly across platforms, use **Home** and **End**, which follow the <a href="https://www.w3.org/WAI/ARIA/apg/patterns/combobox/examples/combobox-select-only/" target="_blank">WAI-ARIA Select-Only Combobox pattern</a>.
|
|
68
|
+
|
|
64
69
|
<auro-header level="2" id="reducedMotion">Reduced Motion</auro-header>
|
|
65
70
|
The component respects the `prefers-reduced-motion` media query. When the user has requested reduced motion, scroll animations (e.g. scrolling the selected or active option into view) use instant scrolling instead of smooth scrolling.
|
|
66
71
|
|
|
@@ -38,8 +38,9 @@ The `auro-select` element is a wrapper for auro-dropdown and auro-menu to create
|
|
|
38
38
|
| `shape` | `shape` | `'classic' \| 'pill' \| 'pill-left' \| 'pill-right' \| 'snowflake'` | | Determines the shape of the dropdown bib. |
|
|
39
39
|
| `shift` | `shift` | `boolean` | false | If set, the dropdown will shift its position to avoid being cut off by the viewport. |
|
|
40
40
|
| `size` | `size` | `'lg' \| 'xl'` | | Determines the size of the dropdown bib. Only the `emphasized` layout supports size=`xl`, while all other layouts support size=`lg`. |
|
|
41
|
+
| `typeaheadTimeoutMs` | `typeaheadTimeoutMs` | `number` | "500" | Milliseconds of keyboard inactivity before the type-ahead buffer resets.<br />Increase for users who type slowly. |
|
|
41
42
|
| `validity` | `validity` | `string` | | Specifies the `validityState` this element is in. |
|
|
42
|
-
| `value` | `value` | `string` | | Value selected for the component.
|
|
43
|
+
| `value` | `value` | `string` | | Value selected for the component. When set programmatically or as a preset attribute, the value must match a selectable option. If it matches an option marked `disabled` or `static`, the selection is rejected: `value` is cleared to `undefined` while `optionSelected` is cleared to `undefined` in single-select or `[]` in multiSelect. `hidden` options remain selectable by value. |
|
|
43
44
|
|
|
44
45
|
## Methods
|
|
45
46
|
|
|
@@ -47,7 +48,7 @@ The `auro-select` element is a wrapper for auro-dropdown and auro-menu to create
|
|
|
47
48
|
|----------------------|----------------------------------------|--------------------------------------------------|
|
|
48
49
|
| `hideBib` | `(): void` | Hides the dropdown bib if its open. |
|
|
49
50
|
| `reset` | `(): void` | Resets component to initial state. |
|
|
50
|
-
| `setMenuValue` | `(value:
|
|
51
|
+
| `setMenuValue` | `(value: string): void` | Sets the selected value by matching it against the menu options. Options marked `disabled` or `static` are not selectable: if the value matches one, the selection is rejected and `value` is cleared to `undefined` while `optionSelected` is cleared to `undefined` in single-select or `[]` in multiSelect. `hidden` options remain selectable.<br /><br />**value**: The value to match against the menu options. |
|
|
51
52
|
| `showBib` | `(): void` | Shows the dropdown bib if there are options to show. |
|
|
52
53
|
| `updateActiveOption` | `(index: number): void` | Updates the active option in the menu.<br /><br />**index**: Index of the option to make active. |
|
|
53
54
|
| `validate` | `(force?: boolean \| undefined): void` | Validates value.<br /><br />**force**: Whether to force validation. |
|
|
@@ -41,12 +41,11 @@
|
|
|
41
41
|
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-hyperlink@latest/+esm" type="module"></script>
|
|
42
42
|
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-icon@latest/+esm" type="module"></script>
|
|
43
43
|
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-button@latest/+esm" type="module"></script>
|
|
44
|
-
<script type="module">
|
|
44
|
+
<script type="module" data-demo-script="true">
|
|
45
45
|
import { renderPage } from './demo-support.min.js';
|
|
46
46
|
await renderPage('./customize.md');
|
|
47
47
|
import { initExamples } from "./customize.min.js";
|
|
48
48
|
initExamples();
|
|
49
49
|
</script>
|
|
50
|
-
<script src="./customize.min.js" data-demo-script="true" type="module"></script>
|
|
51
50
|
</body>
|
|
52
51
|
</html>
|