@aurodesignsystem-dev/auro-formkit 0.0.0-pr1516.0 → 0.0.0-pr1519.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/components/checkbox/demo/customize.min.js +18 -10
  2. package/components/checkbox/demo/getting-started.min.js +18 -10
  3. package/components/checkbox/demo/index.min.js +18 -10
  4. package/components/checkbox/dist/index.js +18 -10
  5. package/components/checkbox/dist/registered.js +18 -10
  6. package/components/combobox/README.md +1 -1
  7. package/components/combobox/demo/customize.md +2 -10
  8. package/components/combobox/demo/customize.min.js +454 -467
  9. package/components/combobox/demo/getting-started.min.js +454 -463
  10. package/components/combobox/demo/index.md +1 -1
  11. package/components/combobox/demo/index.min.js +454 -463
  12. package/components/combobox/demo/keyboard-behavior.md +2 -142
  13. package/components/combobox/demo/readme.md +1 -1
  14. package/components/combobox/demo/why-combobox.md +2 -2
  15. package/components/combobox/dist/auro-combobox.d.ts +30 -14
  16. package/components/combobox/dist/index.js +454 -463
  17. package/components/combobox/dist/registered.js +454 -463
  18. package/components/counter/demo/customize.min.js +32 -12
  19. package/components/counter/demo/index.min.js +32 -12
  20. package/components/counter/dist/index.js +32 -12
  21. package/components/counter/dist/registered.js +32 -12
  22. package/components/datepicker/demo/customize.min.js +183 -167
  23. package/components/datepicker/demo/index.min.js +183 -167
  24. package/components/datepicker/dist/index.js +183 -167
  25. package/components/datepicker/dist/registered.js +183 -167
  26. package/components/dropdown/demo/customize.min.js +14 -2
  27. package/components/dropdown/demo/getting-started.min.js +14 -2
  28. package/components/dropdown/demo/index.min.js +14 -2
  29. package/components/dropdown/dist/index.js +14 -2
  30. package/components/dropdown/dist/registered.js +14 -2
  31. package/components/form/demo/customize.min.js +851 -829
  32. package/components/form/demo/getting-started.min.js +851 -829
  33. package/components/form/demo/index.min.js +851 -829
  34. package/components/form/demo/registerDemoDeps.min.js +851 -829
  35. package/components/input/demo/api.md +58 -57
  36. package/components/input/demo/customize.min.js +114 -155
  37. package/components/input/demo/getting-started.min.js +114 -155
  38. package/components/input/demo/index.min.js +114 -155
  39. package/components/input/dist/base-input.d.ts +9 -51
  40. package/components/input/dist/index.js +114 -155
  41. package/components/input/dist/registered.js +114 -155
  42. package/components/input/dist/utilities.d.ts +9 -0
  43. package/components/radio/demo/customize.min.js +18 -10
  44. package/components/radio/demo/getting-started.min.js +18 -10
  45. package/components/radio/demo/index.min.js +18 -10
  46. package/components/radio/dist/index.js +18 -10
  47. package/components/radio/dist/registered.js +18 -10
  48. package/components/select/demo/customize.min.js +32 -12
  49. package/components/select/demo/getting-started.min.js +32 -12
  50. package/components/select/demo/index.min.js +32 -12
  51. package/components/select/dist/index.js +32 -12
  52. package/components/select/dist/registered.js +32 -12
  53. package/custom-elements.json +142 -278
  54. package/package.json +1 -1
@@ -522,11 +522,17 @@ class AuroFormValidation {
522
522
  return;
523
523
  }
524
524
 
525
- // Validate that the date passed was the correct format and is a valid date
525
+ // Validate that the date passed was the correct format and is a valid date.
526
+ // For partial date formats, valueObject is never populated; validate them directly.
526
527
  if (elem.value && !elem.valueObject) {
527
- elem.validity = 'patternMismatch';
528
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
529
- return;
528
+ const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
529
+ const isValidPartial = isPartialDateFormat && elem.util.isValidPartialDate(elem.value, elem.format);
530
+
531
+ if (!isValidPartial) {
532
+ elem.validity = 'patternMismatch';
533
+ elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
534
+ return;
535
+ }
530
536
  }
531
537
 
532
538
  // Perform the rest of the validation
@@ -620,15 +626,17 @@ class AuroFormValidation {
620
626
  );
621
627
  }
622
628
 
623
- // If there is a second input in the elem and that value is undefined or an empty string set hasValue to false;
624
- if (this.auroInputElements?.length === 2) {
625
- if (!this.auroInputElements[1].value || this.auroInputElements[1].length === 0) {
629
+ const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
630
+
631
+ // If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
632
+ // Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
633
+ // field (datepicker is the intended consumer — start/end are independently required).
634
+ if (this.auroInputElements?.length === 2 && !isCombobox) {
635
+ if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
626
636
  hasValue = false;
627
637
  }
628
638
  }
629
639
 
630
- const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
631
-
632
640
  if (isCombobox) {
633
641
 
634
642
  if (!elem.persistInput || elem.behavior === "filter") {
@@ -1099,7 +1107,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1099
1107
  }
1100
1108
  };
1101
1109
 
1102
- var formkitVersion$1 = '202606292156';
1110
+ var formkitVersion$1 = '202607011722';
1103
1111
 
1104
1112
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1105
1113
  // See LICENSE in the project root for license information.
@@ -5445,7 +5453,7 @@ class AuroHelpText extends i$2 {
5445
5453
  }
5446
5454
  }
5447
5455
 
5448
- var formkitVersion = '202606292156';
5456
+ var formkitVersion = '202607011722';
5449
5457
 
5450
5458
  let AuroElement$1 = class AuroElement extends i$2 {
5451
5459
  static get properties() {
@@ -6197,7 +6205,19 @@ class AuroDropdown extends AuroElement$1 {
6197
6205
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
6198
6206
  this.trigger.focus();
6199
6207
  }
6200
- }
6208
+
6209
+
6210
+ if (!this.isPopoverVisible) {
6211
+ // wait til the bib gets fully closed and rendered
6212
+ setTimeout(() => {
6213
+ // check if it's still closed and the focus is still within the dropdown, but not in the bib. If so, move focus to the trigger.
6214
+ if (!this.isPopoverVisible || !this.bib.matches(':focus-within')) {
6215
+ return;
6216
+ }
6217
+ // Move focus out of bib into trigger.
6218
+ this.trigger.focus();
6219
+ });
6220
+ } }
6201
6221
 
6202
6222
  firstUpdated() {
6203
6223
  // Configure the floater to, this will generate the ID for the bib
@@ -522,11 +522,17 @@ class AuroFormValidation {
522
522
  return;
523
523
  }
524
524
 
525
- // Validate that the date passed was the correct format and is a valid date
525
+ // Validate that the date passed was the correct format and is a valid date.
526
+ // For partial date formats, valueObject is never populated; validate them directly.
526
527
  if (elem.value && !elem.valueObject) {
527
- elem.validity = 'patternMismatch';
528
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
529
- return;
528
+ const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
529
+ const isValidPartial = isPartialDateFormat && elem.util.isValidPartialDate(elem.value, elem.format);
530
+
531
+ if (!isValidPartial) {
532
+ elem.validity = 'patternMismatch';
533
+ elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
534
+ return;
535
+ }
530
536
  }
531
537
 
532
538
  // Perform the rest of the validation
@@ -620,15 +626,17 @@ class AuroFormValidation {
620
626
  );
621
627
  }
622
628
 
623
- // If there is a second input in the elem and that value is undefined or an empty string set hasValue to false;
624
- if (this.auroInputElements?.length === 2) {
625
- if (!this.auroInputElements[1].value || this.auroInputElements[1].length === 0) {
629
+ const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
630
+
631
+ // If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
632
+ // Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
633
+ // field (datepicker is the intended consumer — start/end are independently required).
634
+ if (this.auroInputElements?.length === 2 && !isCombobox) {
635
+ if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
626
636
  hasValue = false;
627
637
  }
628
638
  }
629
639
 
630
- const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
631
-
632
640
  if (isCombobox) {
633
641
 
634
642
  if (!elem.persistInput || elem.behavior === "filter") {
@@ -1099,7 +1107,7 @@ let AuroHelpText$1 = class AuroHelpText extends i$2 {
1099
1107
  }
1100
1108
  };
1101
1109
 
1102
- var formkitVersion$1 = '202606292156';
1110
+ var formkitVersion$1 = '202607011722';
1103
1111
 
1104
1112
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1105
1113
  // See LICENSE in the project root for license information.
@@ -5445,7 +5453,7 @@ class AuroHelpText extends i$2 {
5445
5453
  }
5446
5454
  }
5447
5455
 
5448
- var formkitVersion = '202606292156';
5456
+ var formkitVersion = '202607011722';
5449
5457
 
5450
5458
  let AuroElement$1 = class AuroElement extends i$2 {
5451
5459
  static get properties() {
@@ -6197,7 +6205,19 @@ class AuroDropdown extends AuroElement$1 {
6197
6205
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
6198
6206
  this.trigger.focus();
6199
6207
  }
6200
- }
6208
+
6209
+
6210
+ if (!this.isPopoverVisible) {
6211
+ // wait til the bib gets fully closed and rendered
6212
+ setTimeout(() => {
6213
+ // check if it's still closed and the focus is still within the dropdown, but not in the bib. If so, move focus to the trigger.
6214
+ if (!this.isPopoverVisible || !this.bib.matches(':focus-within')) {
6215
+ return;
6216
+ }
6217
+ // Move focus out of bib into trigger.
6218
+ this.trigger.focus();
6219
+ });
6220
+ } }
6201
6221
 
6202
6222
  firstUpdated() {
6203
6223
  // Configure the floater to, this will generate the ID for the bib
@@ -478,11 +478,17 @@ class AuroFormValidation {
478
478
  return;
479
479
  }
480
480
 
481
- // Validate that the date passed was the correct format and is a valid date
481
+ // Validate that the date passed was the correct format and is a valid date.
482
+ // For partial date formats, valueObject is never populated; validate them directly.
482
483
  if (elem.value && !elem.valueObject) {
483
- elem.validity = 'patternMismatch';
484
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
485
- return;
484
+ const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
485
+ const isValidPartial = isPartialDateFormat && elem.util.isValidPartialDate(elem.value, elem.format);
486
+
487
+ if (!isValidPartial) {
488
+ elem.validity = 'patternMismatch';
489
+ elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
490
+ return;
491
+ }
486
492
  }
487
493
 
488
494
  // Perform the rest of the validation
@@ -576,15 +582,17 @@ class AuroFormValidation {
576
582
  );
577
583
  }
578
584
 
579
- // If there is a second input in the elem and that value is undefined or an empty string set hasValue to false;
580
- if (this.auroInputElements?.length === 2) {
581
- if (!this.auroInputElements[1].value || this.auroInputElements[1].length === 0) {
585
+ const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
586
+
587
+ // If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
588
+ // Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
589
+ // field (datepicker is the intended consumer — start/end are independently required).
590
+ if (this.auroInputElements?.length === 2 && !isCombobox) {
591
+ if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
582
592
  hasValue = false;
583
593
  }
584
594
  }
585
595
 
586
- const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
587
-
588
596
  if (isCombobox) {
589
597
 
590
598
  if (!elem.persistInput || elem.behavior === "filter") {
@@ -1049,7 +1057,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1049
1057
  }
1050
1058
  };
1051
1059
 
1052
- var formkitVersion$1 = '202606292156';
1060
+ var formkitVersion$1 = '202607011722';
1053
1061
 
1054
1062
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1055
1063
  // See LICENSE in the project root for license information.
@@ -5377,7 +5385,7 @@ class AuroHelpText extends LitElement {
5377
5385
  }
5378
5386
  }
5379
5387
 
5380
- var formkitVersion = '202606292156';
5388
+ var formkitVersion = '202607011722';
5381
5389
 
5382
5390
  let AuroElement$1 = class AuroElement extends LitElement {
5383
5391
  static get properties() {
@@ -6129,7 +6137,19 @@ class AuroDropdown extends AuroElement$1 {
6129
6137
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
6130
6138
  this.trigger.focus();
6131
6139
  }
6132
- }
6140
+
6141
+
6142
+ if (!this.isPopoverVisible) {
6143
+ // wait til the bib gets fully closed and rendered
6144
+ setTimeout(() => {
6145
+ // check if it's still closed and the focus is still within the dropdown, but not in the bib. If so, move focus to the trigger.
6146
+ if (!this.isPopoverVisible || !this.bib.matches(':focus-within')) {
6147
+ return;
6148
+ }
6149
+ // Move focus out of bib into trigger.
6150
+ this.trigger.focus();
6151
+ });
6152
+ } }
6133
6153
 
6134
6154
  firstUpdated() {
6135
6155
  // Configure the floater to, this will generate the ID for the bib
@@ -478,11 +478,17 @@ class AuroFormValidation {
478
478
  return;
479
479
  }
480
480
 
481
- // Validate that the date passed was the correct format and is a valid date
481
+ // Validate that the date passed was the correct format and is a valid date.
482
+ // For partial date formats, valueObject is never populated; validate them directly.
482
483
  if (elem.value && !elem.valueObject) {
483
- elem.validity = 'patternMismatch';
484
- elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
485
- return;
484
+ const isPartialDateFormat = elem.util && !elem.util.isFullDateFormat(elem.type, elem.format);
485
+ const isValidPartial = isPartialDateFormat && elem.util.isValidPartialDate(elem.value, elem.format);
486
+
487
+ if (!isValidPartial) {
488
+ elem.validity = 'patternMismatch';
489
+ elem.errorMessage = elem.setCustomValidityPatternMismatch || elem.setCustomValidity || 'Invalid Date Format Entered';
490
+ return;
491
+ }
486
492
  }
487
493
 
488
494
  // Perform the rest of the validation
@@ -576,15 +582,17 @@ class AuroFormValidation {
576
582
  );
577
583
  }
578
584
 
579
- // If there is a second input in the elem and that value is undefined or an empty string set hasValue to false;
580
- if (this.auroInputElements?.length === 2) {
581
- if (!this.auroInputElements[1].value || this.auroInputElements[1].length === 0) {
585
+ const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
586
+
587
+ // If there is a second input in the elem and that value is undefined or an empty string set hasValue to false.
588
+ // Skip for combobox: its second auro-input is the fullscreen-bib mirror of the same value, not an independent
589
+ // field (datepicker is the intended consumer — start/end are independently required).
590
+ if (this.auroInputElements?.length === 2 && !isCombobox) {
591
+ if (!this.auroInputElements[1].value || this.auroInputElements[1].value.length === 0) {
582
592
  hasValue = false;
583
593
  }
584
594
  }
585
595
 
586
- const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
587
-
588
596
  if (isCombobox) {
589
597
 
590
598
  if (!elem.persistInput || elem.behavior === "filter") {
@@ -1049,7 +1057,7 @@ let AuroHelpText$1 = class AuroHelpText extends LitElement {
1049
1057
  }
1050
1058
  };
1051
1059
 
1052
- var formkitVersion$1 = '202606292156';
1060
+ var formkitVersion$1 = '202607011722';
1053
1061
 
1054
1062
  // Copyright (c) 2026 Alaska Airlines. All rights reserved. Licensed under the Apache-2.0 license
1055
1063
  // See LICENSE in the project root for license information.
@@ -5377,7 +5385,7 @@ class AuroHelpText extends LitElement {
5377
5385
  }
5378
5386
  }
5379
5387
 
5380
- var formkitVersion = '202606292156';
5388
+ var formkitVersion = '202607011722';
5381
5389
 
5382
5390
  let AuroElement$1 = class AuroElement extends LitElement {
5383
5391
  static get properties() {
@@ -6129,7 +6137,19 @@ class AuroDropdown extends AuroElement$1 {
6129
6137
  if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
6130
6138
  this.trigger.focus();
6131
6139
  }
6132
- }
6140
+
6141
+
6142
+ if (!this.isPopoverVisible) {
6143
+ // wait til the bib gets fully closed and rendered
6144
+ setTimeout(() => {
6145
+ // check if it's still closed and the focus is still within the dropdown, but not in the bib. If so, move focus to the trigger.
6146
+ if (!this.isPopoverVisible || !this.bib.matches(':focus-within')) {
6147
+ return;
6148
+ }
6149
+ // Move focus out of bib into trigger.
6150
+ this.trigger.focus();
6151
+ });
6152
+ } }
6133
6153
 
6134
6154
  firstUpdated() {
6135
6155
  // Configure the floater to, this will generate the ID for the bib