@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
|
@@ -5,7 +5,7 @@ import { ifDefined } from 'lit/directives/if-defined.js';
|
|
|
5
5
|
|
|
6
6
|
var colorCss = css`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
|
|
7
7
|
|
|
8
|
-
var styleCss = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column;padding:var(--ds-size-200, 1rem);padding-top:var(--ds-size-400, 2rem);padding-bottom:0}#headerContainer .titleRow{display:flex;flex-direction:row;justify-content:space-between;gap:var(--ds-size-100, 0.5rem)}#headerContainer .header{max-width:calc(100vw - var(--ds-size-900, 4.5rem))
|
|
8
|
+
var styleCss = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column;padding:var(--ds-size-200, 1rem);padding-top:var(--ds-size-400, 2rem);padding-bottom:0}#headerContainer .titleRow{display:flex;flex-direction:row;justify-content:space-between;padding-bottom:var(--ds-size-200, 1rem);gap:var(--ds-size-100, 0.5rem)}#headerContainer .header{max-width:calc(100vw - var(--ds-size-900, 4.5rem))}#headerContainer .subheader{width:100%}#closeButton [auro-icon]{--ds-auro-icon-size: var(--ds-size-500, 2.5rem)}#bodyContainer{position:relative;overflow:auto;flex:1}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{padding:var(--ds-size-200, 1rem)}`;
|
|
9
9
|
|
|
10
10
|
var tokenCss = css`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
|
|
11
11
|
|
|
@@ -5,7 +5,7 @@ import { ifDefined } from 'lit/directives/if-defined.js';
|
|
|
5
5
|
|
|
6
6
|
var colorCss = css`#headerContainer{box-shadow:var(--ds-auro-dropdownbib-header-boxshadow-color)}#footerContainer{background-color:var(--ds-auro-dropdownbib-footer-container-color)}`;
|
|
7
7
|
|
|
8
|
-
var styleCss = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column;padding:var(--ds-size-200, 1rem);padding-top:var(--ds-size-400, 2rem);padding-bottom:0}#headerContainer .titleRow{display:flex;flex-direction:row;justify-content:space-between;gap:var(--ds-size-100, 0.5rem)}#headerContainer .header{max-width:calc(100vw - var(--ds-size-900, 4.5rem))
|
|
8
|
+
var styleCss = css`#bibTemplate{display:flex;overflow:hidden;height:100%;max-height:100%;flex-direction:column}#headerContainer{display:flex;flex-direction:column;padding:var(--ds-size-200, 1rem);padding-top:var(--ds-size-400, 2rem);padding-bottom:0}#headerContainer .titleRow{display:flex;flex-direction:row;justify-content:space-between;padding-bottom:var(--ds-size-200, 1rem);gap:var(--ds-size-100, 0.5rem)}#headerContainer .header{max-width:calc(100vw - var(--ds-size-900, 4.5rem))}#headerContainer .subheader{width:100%}#closeButton [auro-icon]{--ds-auro-icon-size: var(--ds-size-500, 2.5rem)}#bodyContainer{position:relative;overflow:auto;flex:1}:host([isfullscreen]) #bibTemplate{max-height:100dvh}:host([isfullscreen]) #bodyContainer{margin-top:var(--ds-size-100, 0.5rem)}#footerContainer{padding:var(--ds-size-200, 1rem)}`;
|
|
9
9
|
|
|
10
10
|
var tokenCss = css`:host{--ds-auro-dropdownbib-header-boxshadow-color: var(--ds-elevation-200, 0px 0px 10px rgba(0, 0, 0, 0.15));--ds-auro-dropdownbib-footer-container-color: var(--ds-basic-color-surface-default, #ffffff)}`;
|
|
11
11
|
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<div class="scrollWrapper">
|
|
5
5
|
The `auro-checkbox` component follows native HTML checkbox 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="checkboxGroup">Checkbox Group</auro-header>
|
|
@@ -40,12 +40,11 @@
|
|
|
40
40
|
<script src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-header@latest/+esm" type="module"></script>
|
|
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-button@latest/+esm" type="module"></script>
|
|
43
|
-
<script type="module">
|
|
43
|
+
<script type="module" data-demo-script="true">
|
|
44
44
|
import { renderPage } from './demo-support.min.js';
|
|
45
45
|
await renderPage('./customize.md');
|
|
46
46
|
import { initExamples } from "./customize.min.js";
|
|
47
47
|
initExamples();
|
|
48
48
|
</script>
|
|
49
|
-
<script src="./customize.min.js" data-demo-script="true" type="module"></script>
|
|
50
49
|
</body>
|
|
51
50
|
</html>
|
|
@@ -759,8 +759,21 @@ class AuroFormValidation {
|
|
|
759
759
|
return;
|
|
760
760
|
}
|
|
761
761
|
|
|
762
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
762
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
763
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
763
764
|
if (elem.value && !elem.valueObject) {
|
|
765
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
766
|
+
|
|
767
|
+
if (isPartialDateFormat) {
|
|
768
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
769
|
+
elem.validity = 'patternMismatch';
|
|
770
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
771
|
+
}
|
|
772
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
773
|
+
return;
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
764
777
|
elem.validity = 'patternMismatch';
|
|
765
778
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
766
779
|
return;
|
|
@@ -857,15 +870,17 @@ class AuroFormValidation {
|
|
|
857
870
|
);
|
|
858
871
|
}
|
|
859
872
|
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
873
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
874
|
+
|
|
875
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
876
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
877
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
878
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
879
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
863
880
|
hasValue = false;
|
|
864
881
|
}
|
|
865
882
|
}
|
|
866
883
|
|
|
867
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
868
|
-
|
|
869
884
|
if (isCombobox) {
|
|
870
885
|
|
|
871
886
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -964,7 +979,7 @@ class AuroFormValidation {
|
|
|
964
979
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
965
980
|
const input = elem.renderRoot.querySelector('input');
|
|
966
981
|
|
|
967
|
-
if (input.validationMessage.length > 0) {
|
|
982
|
+
if (input && input.validationMessage.length > 0) {
|
|
968
983
|
elem.errorMessage = input.validationMessage;
|
|
969
984
|
}
|
|
970
985
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -1260,7 +1275,7 @@ class AuroHelpText extends i$2 {
|
|
|
1260
1275
|
}
|
|
1261
1276
|
}
|
|
1262
1277
|
|
|
1263
|
-
var formkitVersion = '
|
|
1278
|
+
var formkitVersion = '202607221815';
|
|
1264
1279
|
|
|
1265
1280
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1266
1281
|
// See LICENSE in the project root for license information.
|
|
@@ -759,8 +759,21 @@ class AuroFormValidation {
|
|
|
759
759
|
return;
|
|
760
760
|
}
|
|
761
761
|
|
|
762
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
762
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
763
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
763
764
|
if (elem.value && !elem.valueObject) {
|
|
765
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
766
|
+
|
|
767
|
+
if (isPartialDateFormat) {
|
|
768
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
769
|
+
elem.validity = 'patternMismatch';
|
|
770
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
771
|
+
}
|
|
772
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
773
|
+
return;
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
764
777
|
elem.validity = 'patternMismatch';
|
|
765
778
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
766
779
|
return;
|
|
@@ -857,15 +870,17 @@ class AuroFormValidation {
|
|
|
857
870
|
);
|
|
858
871
|
}
|
|
859
872
|
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
873
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
874
|
+
|
|
875
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
876
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
877
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
878
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
879
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
863
880
|
hasValue = false;
|
|
864
881
|
}
|
|
865
882
|
}
|
|
866
883
|
|
|
867
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
868
|
-
|
|
869
884
|
if (isCombobox) {
|
|
870
885
|
|
|
871
886
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -964,7 +979,7 @@ class AuroFormValidation {
|
|
|
964
979
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
965
980
|
const input = elem.renderRoot.querySelector('input');
|
|
966
981
|
|
|
967
|
-
if (input.validationMessage.length > 0) {
|
|
982
|
+
if (input && input.validationMessage.length > 0) {
|
|
968
983
|
elem.errorMessage = input.validationMessage;
|
|
969
984
|
}
|
|
970
985
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -1260,7 +1275,7 @@ class AuroHelpText extends i$2 {
|
|
|
1260
1275
|
}
|
|
1261
1276
|
}
|
|
1262
1277
|
|
|
1263
|
-
var formkitVersion = '
|
|
1278
|
+
var formkitVersion = '202607221815';
|
|
1264
1279
|
|
|
1265
1280
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1266
1281
|
// See LICENSE in the project root for license information.
|
|
@@ -759,8 +759,21 @@ class AuroFormValidation {
|
|
|
759
759
|
return;
|
|
760
760
|
}
|
|
761
761
|
|
|
762
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
762
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
763
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
763
764
|
if (elem.value && !elem.valueObject) {
|
|
765
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
766
|
+
|
|
767
|
+
if (isPartialDateFormat) {
|
|
768
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
769
|
+
elem.validity = 'patternMismatch';
|
|
770
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
771
|
+
}
|
|
772
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
773
|
+
return;
|
|
774
|
+
}
|
|
775
|
+
|
|
776
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
764
777
|
elem.validity = 'patternMismatch';
|
|
765
778
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
766
779
|
return;
|
|
@@ -857,15 +870,17 @@ class AuroFormValidation {
|
|
|
857
870
|
);
|
|
858
871
|
}
|
|
859
872
|
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
873
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
874
|
+
|
|
875
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
876
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
877
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
878
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
879
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
863
880
|
hasValue = false;
|
|
864
881
|
}
|
|
865
882
|
}
|
|
866
883
|
|
|
867
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
868
|
-
|
|
869
884
|
if (isCombobox) {
|
|
870
885
|
|
|
871
886
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -964,7 +979,7 @@ class AuroFormValidation {
|
|
|
964
979
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
965
980
|
const input = elem.renderRoot.querySelector('input');
|
|
966
981
|
|
|
967
|
-
if (input.validationMessage.length > 0) {
|
|
982
|
+
if (input && input.validationMessage.length > 0) {
|
|
968
983
|
elem.errorMessage = input.validationMessage;
|
|
969
984
|
}
|
|
970
985
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -1260,7 +1275,7 @@ class AuroHelpText extends i$2 {
|
|
|
1260
1275
|
}
|
|
1261
1276
|
}
|
|
1262
1277
|
|
|
1263
|
-
var formkitVersion = '
|
|
1278
|
+
var formkitVersion = '202607221815';
|
|
1264
1279
|
|
|
1265
1280
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1266
1281
|
// See LICENSE in the project root for license information.
|
|
@@ -712,8 +712,21 @@ class AuroFormValidation {
|
|
|
712
712
|
return;
|
|
713
713
|
}
|
|
714
714
|
|
|
715
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
715
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
716
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
716
717
|
if (elem.value && !elem.valueObject) {
|
|
718
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
719
|
+
|
|
720
|
+
if (isPartialDateFormat) {
|
|
721
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
722
|
+
elem.validity = 'patternMismatch';
|
|
723
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
724
|
+
}
|
|
725
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
726
|
+
return;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
717
730
|
elem.validity = 'patternMismatch';
|
|
718
731
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
719
732
|
return;
|
|
@@ -810,15 +823,17 @@ class AuroFormValidation {
|
|
|
810
823
|
);
|
|
811
824
|
}
|
|
812
825
|
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
826
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
827
|
+
|
|
828
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
829
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
830
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
831
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
832
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
816
833
|
hasValue = false;
|
|
817
834
|
}
|
|
818
835
|
}
|
|
819
836
|
|
|
820
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
821
|
-
|
|
822
837
|
if (isCombobox) {
|
|
823
838
|
|
|
824
839
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -917,7 +932,7 @@ class AuroFormValidation {
|
|
|
917
932
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
918
933
|
const input = elem.renderRoot.querySelector('input');
|
|
919
934
|
|
|
920
|
-
if (input.validationMessage.length > 0) {
|
|
935
|
+
if (input && input.validationMessage.length > 0) {
|
|
921
936
|
elem.errorMessage = input.validationMessage;
|
|
922
937
|
}
|
|
923
938
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -1213,7 +1228,7 @@ class AuroHelpText extends LitElement {
|
|
|
1213
1228
|
}
|
|
1214
1229
|
}
|
|
1215
1230
|
|
|
1216
|
-
var formkitVersion = '
|
|
1231
|
+
var formkitVersion = '202607221815';
|
|
1217
1232
|
|
|
1218
1233
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1219
1234
|
// See LICENSE in the project root for license information.
|
|
@@ -712,8 +712,21 @@ class AuroFormValidation {
|
|
|
712
712
|
return;
|
|
713
713
|
}
|
|
714
714
|
|
|
715
|
-
// Validate that the date passed was the correct format and is a valid date
|
|
715
|
+
// Validate that the date passed was the correct format and is a valid date.
|
|
716
|
+
// For partial date formats, valueObject is never populated; validate them directly.
|
|
716
717
|
if (elem.value && !elem.valueObject) {
|
|
718
|
+
const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
|
|
719
|
+
|
|
720
|
+
if (isPartialDateFormat) {
|
|
721
|
+
if (!elem.util.isValidPartialDate(elem.value, elem.format)) {
|
|
722
|
+
elem.validity = 'patternMismatch';
|
|
723
|
+
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
724
|
+
}
|
|
725
|
+
// Partial date format — validate directly and skip max/min checks since valueObject is undefined.
|
|
726
|
+
return;
|
|
727
|
+
}
|
|
728
|
+
|
|
729
|
+
// Full date format with no valueObject means the value is not a valid calendar date.
|
|
717
730
|
elem.validity = 'patternMismatch';
|
|
718
731
|
elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
|
|
719
732
|
return;
|
|
@@ -810,15 +823,17 @@ class AuroFormValidation {
|
|
|
810
823
|
);
|
|
811
824
|
}
|
|
812
825
|
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
826
|
+
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
827
|
+
|
|
828
|
+
// If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
|
|
829
|
+
// Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
|
|
830
|
+
// field (datepicker is the intended consumer — start/end are independently required).
|
|
831
|
+
if (this.auroInputElements?.length === 2 && !isCombobox) {
|
|
832
|
+
if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
|
|
816
833
|
hasValue = false;
|
|
817
834
|
}
|
|
818
835
|
}
|
|
819
836
|
|
|
820
|
-
const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
|
|
821
|
-
|
|
822
837
|
if (isCombobox) {
|
|
823
838
|
|
|
824
839
|
if (!elem.persistInput || elem.behavior === "filter") {
|
|
@@ -917,7 +932,7 @@ class AuroFormValidation {
|
|
|
917
932
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-input') && elem.errorMessage === '') {
|
|
918
933
|
const input = elem.renderRoot.querySelector('input');
|
|
919
934
|
|
|
920
|
-
if (input.validationMessage.length > 0) {
|
|
935
|
+
if (input && input.validationMessage.length > 0) {
|
|
921
936
|
elem.errorMessage = input.validationMessage;
|
|
922
937
|
}
|
|
923
938
|
} else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
|
|
@@ -1213,7 +1228,7 @@ class AuroHelpText extends LitElement {
|
|
|
1213
1228
|
}
|
|
1214
1229
|
}
|
|
1215
1230
|
|
|
1216
|
-
var formkitVersion = '
|
|
1231
|
+
var formkitVersion = '202607221815';
|
|
1217
1232
|
|
|
1218
1233
|
// Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
|
|
1219
1234
|
// See LICENSE in the project root for license information.
|
|
@@ -24,7 +24,7 @@ The following sections are editable by making changes to the following files:
|
|
|
24
24
|
<p>The component supports two modes:</p>
|
|
25
25
|
<ul>
|
|
26
26
|
<li><strong>Suggestion (default)</strong> — The user may type any value. The menu provides suggestions but does not restrict input.</li>
|
|
27
|
-
<li><strong>Filter</strong> —
|
|
27
|
+
<li><strong>Filter</strong> — Typing filters the available options and sets the component's <code>value</code> to the typed text, but the input is not considered valid until a menu option is selected. Validation surfaces <code>valueMissing</code> until the typed value matches a chosen option.</li>
|
|
28
28
|
</ul>
|
|
29
29
|
<p>Common use cases:</p>
|
|
30
30
|
<ul>
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
<div class="scrollWrapper">
|
|
5
5
|
The `auro-combobox` component follows the <a href="https://www.w3.org/WAI/ARIA/apg/patterns/combobox/" target="_blank">W3C APG 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>
|
|
@@ -38,11 +38,11 @@ The `auro-combobox` element provides users with a way to select an option from a
|
|
|
38
38
|
| `setCustomValidityValueMissing` | `setCustomValidityValueMissing` | | `string` | | Custom help text message to display when validity = `valueMissing`. |
|
|
39
39
|
| `setCustomValidityValueMissingFilter` | `setCustomValidityValueMissingFilter` | | `string` | | Custom help text message to display when validity = `valueMissing` due to the user not choosing a menu option when behavior = "filter". |
|
|
40
40
|
| `shift` | `shift` | | `boolean` | | If declared, the dropdown will shift its position to avoid being cut off by the viewport. |
|
|
41
|
-
| `triggerIcon` | `triggerIcon` | | `boolean` | | If set, the `icon` attribute will be applied to the trigger `auro-input` element. |
|
|
41
|
+
| `triggerIcon` | `triggerIcon` | | `boolean` | | If set, the `icon` attribute will be applied to the trigger `auro-input` element.<br />Icon rendering is currently limited to `type="credit-card"`. Setting `triggerIcon`<br />without a supported `type` propagates the attribute but does not render a visible icon. |
|
|
42
42
|
| `type` | `type` | | `string` | | Applies the defined value as the type attribute on `auro-input`. |
|
|
43
43
|
| `typedValue` | `typedValue` | | `string` | | Specifies the value of the input element within the combobox. |
|
|
44
44
|
| `validity` | `validity` | | `string` | | Specifies the `validityState` this element is in. |
|
|
45
|
-
| `value` | `value` | | `string` | | Value selected for the dropdown menu.
|
|
45
|
+
| `value` | `value` | | `string` | | Value selected for the dropdown menu. 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` and `optionSelected` are cleared to `undefined`. `hidden` options (including those filtered out by type-ahead) remain selectable by value. |
|
|
46
46
|
|
|
47
47
|
## Methods
|
|
48
48
|
|
|
@@ -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>
|