@aurodesignsystem/auro-formkit 5.1.0-rc-1176.1 → 5.1.0-rc-1195.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.
Files changed (37) hide show
  1. package/CHANGELOG.md +12 -1
  2. package/components/checkbox/demo/api.min.js +66 -2
  3. package/components/checkbox/demo/index.min.js +66 -2
  4. package/components/checkbox/dist/index.js +66 -2
  5. package/components/checkbox/dist/registered.js +66 -2
  6. package/components/combobox/demo/api.md +230 -38
  7. package/components/combobox/demo/api.min.js +155 -6
  8. package/components/combobox/demo/index.md +104 -0
  9. package/components/combobox/demo/index.min.js +155 -6
  10. package/components/combobox/dist/auro-combobox.d.ts +18 -1
  11. package/components/combobox/dist/index.js +155 -6
  12. package/components/combobox/dist/registered.js +155 -6
  13. package/components/counter/demo/api.min.js +69 -5
  14. package/components/counter/demo/index.min.js +69 -5
  15. package/components/counter/dist/index.js +69 -5
  16. package/components/counter/dist/registered.js +69 -5
  17. package/components/datepicker/demo/api.md +40 -0
  18. package/components/datepicker/demo/api.min.js +173 -10
  19. package/components/datepicker/demo/index.min.js +173 -10
  20. package/components/datepicker/dist/auro-calendar-cell.d.ts +6 -0
  21. package/components/datepicker/dist/auro-datepicker.d.ts +8 -0
  22. package/components/datepicker/dist/index.js +173 -10
  23. package/components/datepicker/dist/registered.js +173 -10
  24. package/components/input/demo/api.min.js +67 -3
  25. package/components/input/demo/index.min.js +67 -3
  26. package/components/input/dist/index.js +67 -3
  27. package/components/input/dist/registered.js +67 -3
  28. package/components/radio/demo/api.min.js +97 -5
  29. package/components/radio/demo/index.min.js +97 -5
  30. package/components/radio/dist/auro-radio-group.d.ts +14 -0
  31. package/components/radio/dist/index.js +97 -5
  32. package/components/radio/dist/registered.js +97 -5
  33. package/components/select/demo/api.min.js +67 -3
  34. package/components/select/demo/index.min.js +67 -3
  35. package/components/select/dist/index.js +67 -3
  36. package/components/select/dist/registered.js +67 -3
  37. package/package.json +1 -1
@@ -695,6 +695,52 @@ let AuroFormValidation$1 = class AuroFormValidation {
695
695
  message: e => e.getAttribute('setCustomValidityRangeUnderflow') || ''
696
696
  }
697
697
  ]
698
+ },
699
+ combobox: {
700
+ filter: [
701
+ {
702
+ check: (e) => {
703
+
704
+ // Guard Clause: If the behavior is not 'filter', skip this validation
705
+ if (e.behavior !== 'filter') return false;
706
+
707
+ // Get the current input value
708
+ const currentInputValue = e.input.value;
709
+
710
+ // Skip validation if the input has no value
711
+ if (!currentInputValue) return false;
712
+
713
+ /**
714
+ * Let's check if the option selected and combobox value match.
715
+ */
716
+
717
+ // Guard Clause: If there is no option selected fail the validation
718
+ if (!e.optionSelected) return true;
719
+
720
+ // Guard Clause: If there is no value fail the validation
721
+ if (!e.value) return true;
722
+
723
+ // Guard Clause: If the selected option's value doesn't match the input value fail the validation
724
+ if (e.optionSelected.value !== e.value) return true;
725
+
726
+ /**
727
+ * Now let's make sure the user hasn't change the value in the input after selecting an option.
728
+ * This is to make sure there's no user confusion if they select an option but then change the value to something else.
729
+ */
730
+
731
+ // Guard Clause: If the current input value doesn't match the option selected value fail the validation
732
+ if (currentInputValue && currentInputValue !== e.optionSelected.value) return true;
733
+
734
+ // Guard Clause: If the current input value doesn't match the combobox value fail the validation
735
+ if (currentInputValue && currentInputValue !== e.value) return true;
736
+
737
+ // If all the checks passed the validation passes
738
+ return false;
739
+ },
740
+ validity: 'valueMissing',
741
+ message: e => e.getAttribute('setCustomValidityValueMissingFilter') || e.setCustomValidity || ''
742
+ }
743
+ ]
698
744
  }
699
745
  };
700
746
 
@@ -703,6 +749,8 @@ let AuroFormValidation$1 = class AuroFormValidation {
703
749
  elementType = 'input';
704
750
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
705
751
  elementType = 'counter';
752
+ } else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox')) {
753
+ elementType = 'combobox';
706
754
  }
707
755
 
708
756
  if (elementType) {
@@ -889,6 +937,15 @@ let AuroFormValidation$1 = class AuroFormValidation {
889
937
  }
890
938
  }
891
939
 
940
+ const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
941
+
942
+ if (isCombobox) {
943
+
944
+ if (!elem.persistInput || elem.behavior === "filter") {
945
+ hasValue = elem.input.value?.length > 0;
946
+ }
947
+ }
948
+
892
949
  if (!hasValue && elem.required && elem.touched) {
893
950
  elem.validity = 'valueMissing';
894
951
  elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
@@ -897,6 +954,11 @@ let AuroFormValidation$1 = class AuroFormValidation {
897
954
  this.validateElementAttributes(elem);
898
955
  } else if (hasValue && (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group'))) {
899
956
  this.validateElementAttributes(elem);
957
+ } else if (isCombobox) {
958
+ this.validateElementAttributes(elem);
959
+
960
+ // Don't run extra validation for cases where the combobox is not being used as a filter
961
+ validationShouldRun = elem.behavior !== 'filter';
900
962
  }
901
963
  }
902
964
 
@@ -904,8 +966,8 @@ let AuroFormValidation$1 = class AuroFormValidation {
904
966
 
905
967
  const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
906
968
 
907
- // Don't reset combobox validity if persistValue is set since we can't use the input value to validate
908
- if (!isCombobox || isCombobox && !elem.persistValue) {
969
+ // Don't reset combobox validity if persistInput is set since we can't use the input value to validate
970
+ if (!isCombobox || isCombobox && !elem.persistInput) {
909
971
 
910
972
  // run validation on all inputs since we're going to use them to set the validity of this component
911
973
  this.auroInputElements.forEach(input => input.validate());
@@ -978,6 +1040,8 @@ let AuroFormValidation$1 = class AuroFormValidation {
978
1040
  if (input.validationMessage.length > 0) {
979
1041
  elem.errorMessage = input.validationMessage;
980
1042
  }
1043
+ } else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
1044
+ elem.errorMessage = elem.input?.inputElement?.validationMessage;
981
1045
  } else if (this.inputElements?.length > 0 && elem.errorMessage === '') {
982
1046
  const firstInput = this.inputElements[0];
983
1047
 
@@ -5207,7 +5271,7 @@ var emphasizedStyleCss = i$5`:host([layout*=emphasized][shape*=pill]:not([layout
5207
5271
 
5208
5272
  var emphasizedColorCss = i$5`.layout-emphasized:focus-within,.layout-emphasized-left:focus-within,.layout-emphasized-right:focus-within{--auro-input-border-color: var(--ds-auro-input-border-color)}`;
5209
5273
 
5210
- var snowflakeStyleCss = i$5`:root{--ds-advanced-color-button-flat-text: #676767;--ds-advanced-color-button-flat-text-disabled: #d0d0d0;--ds-advanced-color-button-flat-text-hover: #525252;--ds-advanced-color-button-flat-text-inverse: #ffffff;--ds-advanced-color-button-flat-text-inverse-disabled: #7e8894;--ds-advanced-color-button-flat-text-inverse-hover: #adadad;--ds-advanced-color-button-ghost-background-hover: rgba(0, 0, 0, 0.05);--ds-advanced-color-button-ghost-background-inverse-hover: rgba(255, 255, 255, 0.05);--ds-advanced-color-button-ghost-text: #01426a;--ds-advanced-color-button-ghost-text-disabled: #d0d0d0;--ds-advanced-color-button-ghost-text-inverse: #ffffff;--ds-advanced-color-button-ghost-text-inverse-disabled: #7e8894;--ds-advanced-color-button-primary-background: #01426a;--ds-advanced-color-button-primary-background-disabled: #acc9e2;--ds-advanced-color-button-primary-background-hover: #00274a;--ds-advanced-color-button-primary-background-inactive: #cfe0ef;--ds-advanced-color-button-primary-background-inactive-hover: #89b2d4;--ds-advanced-color-button-primary-background-inverse: #ffffff;--ds-advanced-color-button-primary-background-inverse-disabled: rgba(255, 255, 255, 0.75);--ds-advanced-color-button-primary-background-inverse-hover: #ebf3f9;--ds-advanced-color-button-primary-border: #01426a;--ds-advanced-color-button-primary-border-disabled: #acc9e2;--ds-advanced-color-button-primary-border-hover: #00274a;--ds-advanced-color-button-primary-border-inverse: #ffffff;--ds-advanced-color-button-primary-border-inverse-disabled: rgba(255, 255, 255, 0.75);--ds-advanced-color-button-primary-border-inverse-hover: #ebf3f9;--ds-advanced-color-button-primary-text: #ffffff;--ds-advanced-color-button-primary-text-disabled: #ffffff;--ds-advanced-color-button-primary-text-inverse: #01426a;--ds-advanced-color-button-secondary-background: #ffffff;--ds-advanced-color-button-secondary-background-disabled: #f7f7f7;--ds-advanced-color-button-secondary-background-hover: #f2f2f2;--ds-advanced-color-button-secondary-background-inverse-hover: rgba(255, 255, 255, 0.1);--ds-advanced-color-button-secondary-border: #01426a;--ds-advanced-color-button-secondary-border-hover: #00274a;--ds-advanced-color-button-secondary-border-disabled: #cfe0ef;--ds-advanced-color-button-secondary-border-inverse: #ffffff;--ds-advanced-color-button-secondary-border-inverse-disabled: #dddddd;--ds-advanced-color-button-secondary-text: #01426a;--ds-advanced-color-button-secondary-text-hover: #00274a;--ds-advanced-color-button-secondary-text-inverse: #ffffff;--ds-advanced-color-button-tertiary-background: rgba(0, 0, 0, 0.05);--ds-advanced-color-button-tertiary-background-hover: rgba(0, 0, 0, 0.1);--ds-advanced-color-button-tertiary-background-inverse: rgba(255, 255, 255, 0.05);--ds-advanced-color-button-tertiary-background-inverse-hover: rgba(255, 255, 255, 0.1);--ds-advanced-color-button-tertiary-text: #01426a;--ds-advanced-color-button-tertiary-text-hover: #00274a;--ds-advanced-color-button-tertiary-text-inverse: #ffffff;--ds-advanced-color-accents-accent1: #b2d583;--ds-advanced-color-accents-accent1-bold: #92c450;--ds-advanced-color-accents-accent1-muted: #deedca;--ds-advanced-color-accents-accent2: #fad362;--ds-advanced-color-accents-accent2-bold: #f2ba14;--ds-advanced-color-accents-accent2-muted: #fde398;--ds-advanced-color-accents-accent3: #63beff;--ds-advanced-color-accents-accent3-bold: #0074ca;--ds-advanced-color-accents-accent3-muted: #aedeff;--ds-advanced-color-accents-accent4: #feb17a;--ds-advanced-color-accents-accent4-bold: #fb7f24;--ds-advanced-color-accents-accent4-muted: #ffe2cf;--ds-advanced-color-accents-transparency: rgba(0, 0, 0, 0.1);--ds-advanced-color-accents-transparency-inverse: rgba(255, 255, 255, 0.2);--ds-advanced-color-avatar-gradient-bottom: #cfe0ef;--ds-advanced-color-avatar-gradient-top: #6899c6;--ds-advanced-color-boolean-disabled-inverse: #7e8894;--ds-advanced-color-boolean-error: #e31f26;--ds-advanced-color-boolean-error-hover: #b1161c;--ds-advanced-color-boolean-error-inverse: #f9a4a8;--ds-advanced-color-boolean-error-inverse-hover: #f15f65;--ds-advanced-color-boolean-indicator: #ffffff;--ds-advanced-color-boolean-indicator-inverse: #00274a;--ds-advanced-color-boolean-isfalse: #ffffff;--ds-advanced-color-boolean-isfalse-border: #585e67;--ds-advanced-color-boolean-isfalse-border-inverse: #ffffff;--ds-advanced-color-boolean-isfalse-hover: #f2f2f2;--ds-advanced-color-boolean-isfalse-inverse: rgba(255, 255, 255, 0.15);--ds-advanced-color-boolean-isfalse-inverse-hover: rgba(255, 255, 255, 0.2);--ds-advanced-color-boolean-istrue: #01426a;--ds-advanced-color-boolean-istrue-hover: #00274a;--ds-advanced-color-boolean-istrue-inverse: #ffffff;--ds-advanced-color-boolean-istrue-inverse-hover: rgba(255, 255, 255, 0.7);--ds-advanced-color-dropdown-emphasized-background: #00274A1a;--ds-advanced-color-dropdown-emphasized-background-hover: #00274A33;--ds-advanced-color-expanded-widget-background: #00274a;--ds-advanced-color-flightline-indicator: #00274a;--ds-advanced-color-flightline-line: #00274a;--ds-advanced-color-hyperlink-text: #2875b5;--ds-advanced-color-hyperlink-text-hover: #01426a;--ds-advanced-color-hyperlink-text-inverse: #ffffff;--ds-advanced-color-hyperlink-text-inverse-hover: #ebf3f9;--ds-advanced-color-shared-background: #ffffff;--ds-advanced-color-shared-background-inverse: rgba(255, 255, 255, 0.15);--ds-advanced-color-shared-background-inverse-disabled: rgba(255, 255, 255, 0.1);--ds-advanced-color-shared-background-inverse-hover: rgba(255, 255, 255, 0.2);--ds-advanced-color-shared-background-muted: #f7f7f7;--ds-advanced-color-shared-background-strong: #676767;--ds-advanced-color-shared-emphasized-background: rgba(1, 66, 106, 0.1);--ds-advanced-color-shared-emphasized-background-hover: rgba(1, 66, 106, 0.2);--ds-advanced-color-shared-scrim: rgba(0, 0, 0, 0.5);--ds-advanced-color-shared-text-accent: #2875b5;--ds-advanced-color-skeleton-background: #f7f8fa;--ds-advanced-color-skeleton-wave: #e4e8ec;--ds-advanced-color-state-background-disabled: #dddddd;--ds-advanced-color-state-background-hover: #f2f2f2;--ds-advanced-color-state-background-inverse-disabled: #7e8894;--ds-advanced-color-state-error-inverse: #f9a4a8;--ds-advanced-color-state-focused: #01426a;--ds-advanced-color-state-focused-inverse: #ffffff;--ds-advanced-color-state-selected: #01426a;--ds-advanced-color-state-selected-hover: #00274a;--ds-basic-color-border-bold: #585e67;--ds-basic-color-border-brand: #00274a;--ds-basic-color-border-default: #959595;--ds-basic-color-border-divider: rgba(0, 0, 0, 0.15);--ds-basic-color-border-divider-inverse: rgba(255, 255, 255, 0.4);--ds-basic-color-border-inverse: #ffffff;--ds-basic-color-border-subtle: #dddddd;--ds-basic-color-brand-primary: #01426a;--ds-basic-color-brand-primary-bold: #00274a;--ds-basic-color-brand-primary-muted: #ebf3f9;--ds-basic-color-brand-primary-subtle: #2875b5;--ds-basic-color-brand-secondary: #5de3f7;--ds-basic-color-brand-secondary-bold: #18c3dd;--ds-basic-color-brand-secondary-muted: #ebfafd;--ds-basic-color-brand-secondary-subtle: #b4eff9;--ds-basic-color-brand-tertiary: #a3cd6a;--ds-basic-color-brand-tertiary-bold: #7daf3b;--ds-basic-color-brand-tertiary-muted: #eaf3dd;--ds-basic-color-brand-tertiary-subtle: #c9e1a7;--ds-basic-color-fare-basiceconomy: #97eaf8;--ds-basic-color-fare-business: #01426a;--ds-basic-color-fare-economy: #0074ca;--ds-basic-color-fare-first: #00274a;--ds-basic-color-fare-premiumeconomy: #005154;--ds-basic-color-page-background-default: #ffffff;--ds-basic-color-page-background-utility: #ffffff;--ds-basic-color-status-default: #afb9c6;--ds-basic-color-status-error: #e31f26;--ds-basic-color-status-error-subtle: #fbc6c6;--ds-basic-color-status-info: #01426a;--ds-basic-color-status-info-subtle: #ebf3f9;--ds-basic-color-status-success: #447a1f;--ds-basic-color-status-success-subtle: #d6eac7;--ds-basic-color-status-warning: #fac200;--ds-basic-color-status-warning-subtle: #fff0b2;--ds-basic-color-surface-accent1: #5de3f7;--ds-basic-color-surface-accent1-muted: #ebfafd;--ds-basic-color-surface-accent1-subtle: #b4eff9;--ds-basic-color-surface-accent2: #a3cd6a;--ds-basic-color-surface-accent2-muted: #eaf3dd;--ds-basic-color-surface-default: #ffffff;--ds-basic-color-surface-inverse: #00274a;--ds-basic-color-surface-inverse-subtle: #2875b5;--ds-basic-color-surface-neutral-medium: #c5c5c5;--ds-basic-color-surface-neutral-subtle: #f7f7f7;--ds-basic-color-texticon-accent1: #265688;--ds-basic-color-texticon-default: #2a2a2a;--ds-basic-color-texticon-disabled: #d0d0d0;--ds-basic-color-texticon-inverse: #ffffff;--ds-basic-color-texticon-inverse-disabled: #7e8894;--ds-basic-color-texticon-inverse-muted: #ccd2db;--ds-basic-color-texticon-muted: #676767;--ds-basic-color-tier-program-loungetier-lounge: #01426a;--ds-basic-color-tier-program-loungetier-loungeplus: #53b390;--ds-basic-color-tier-program-loyaltytier-bronze: #d99f6d;--ds-basic-color-tier-program-loyaltytier-bronze-muted: #eed4be;--ds-basic-color-tier-program-loyaltytier-cobalt: #030772;--ds-basic-color-tier-program-loyaltytier-cobalt-muted: #a9b6d6;--ds-basic-color-tier-program-loyaltytier-copper: #cb7457;--ds-basic-color-tier-program-loyaltytier-copper-muted: #e7bfb1;--ds-basic-color-tier-program-loyaltytier-gold: #fbdc7a;--ds-basic-color-tier-program-loyaltytier-gold-muted: #fdefc4;--ds-basic-color-tier-program-loyaltytier-nickel: #abaab1;--ds-basic-color-tier-program-loyaltytier-nickel-muted: #e5e4e7;--ds-basic-color-tier-program-loyaltytier-platinum: #bcb8a4;--ds-basic-color-tier-program-loyaltytier-platinum-muted: #dad8cd;--ds-basic-color-tier-program-loyaltytier-silver: #e4e9ec;--ds-basic-color-tier-program-loyaltytier-silver-muted: #f9fafb;--ds-basic-color-tier-program-loyaltytier-titanium: #282828;--ds-basic-color-tier-program-loyaltytier-titanium-muted: #545454;--ds-basic-color-tier-program-oneworld-emerald: #139142;--ds-basic-color-tier-program-oneworld-ruby: #a41d4a;--ds-basic-color-tier-program-oneworld-sapphire: #015daa;--ds-basic-type-brand-family-primary: "AS Circular";--ds-basic-type-brand-family-secondary: "Good OT";--ds-basic-type-brand-line-height-primary: 1.3;--ds-basic-type-brand-line-height-secondary: 1;--ds-basic-type-brand-letter-spacing-primary: 0;--ds-basic-type-brand-letter-spacing-secondary: 0.05em;--ds-basic-type-brand-letter-spacing-tertiary: 0.10em;--ds-basic-type-family-accent: "Good OT";--ds-basic-type-family-accent-fallback: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-basic-type-family-body: "AS Circular";--ds-basic-type-family-body-fallback: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-basic-type-family-display: "AS Circular";--ds-basic-type-family-display-fallback: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-basic-type-family-heading: "AS Circular";--ds-basic-type-family-heading-fallback: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-basic-type-letter-spacing-accent: 0.05em;--ds-basic-type-letter-spacing-accent2: 0.10em;--ds-basic-type-letter-spacing-body: 0;--ds-basic-type-letter-spacing-display: 0;--ds-basic-type-letter-spacing-heading: 0;--ds-basic-type-line-height-accent: 1.3;--ds-basic-type-line-height-accent2: 1;--ds-basic-type-line-height-body: 1.625rem;--ds-basic-type-line-height-body2: 1.5rem;--ds-basic-type-line-height-body3: 1.25rem;--ds-basic-type-line-height-body4: 1rem;--ds-basic-type-line-height-body5: 0.875rem;--ds-basic-type-line-height-display: 1.3;--ds-basic-type-line-height-heading: 1.3;--ds-basic-type-weight-accent: 450;--ds-basic-type-weight-accent2: 500;--ds-basic-type-weight-body: 450;--ds-basic-type-weight-display: 300;--ds-basic-type-weight-heading: 300;--ds-basic-type-weight-heading2: 450}:host([layout*=snowflake]) .leftIndent{margin-left:var(--ds-size-200, 1rem)}:host([layout*=snowflake]) .rightIndent{margin-right:var(--ds-size-200, 1rem)}.layout-snowflake{display:flex;flex-direction:row;align-items:center;justify-content:center}.layout-snowflake label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-block-start:var(--ds-size-50, 0.25rem)}.layout-snowflake input{transition:all 1ms linear;text-align:center}.layout-snowflake .mainContent{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;overflow:hidden}.layout-snowflake .displayValue{display:none;width:100%}.layout-snowflake .displayValue.hasContent:is(.withValue):not(.hasFocus){display:block}.layout-snowflake .displayValueWrapper{display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%}.layout-snowflake.withValue{justify-content:flex-start}.layout-snowflake:not(:focus-within):not(:is([validity]:not([validity=valid]))){--ds-auro-input-border-color: transparent}.layout-snowflake:focus-within{justify-content:flex-start}.layout-snowflake:focus-within .alertNotification{display:none}.layout-snowflake .accents{width:var(--ds-size-300, 1.5rem)}.layout-snowflake .accents.left{padding-left:var(--ds-size-200, 1rem)}.layout-snowflake .accents.right{padding-right:var(--ds-size-200, 1rem)}:host([layout*=snowflake]) .helpTextWrapper{text-align:center}`;
5274
+ var snowflakeStyleCss = i$5`:root{--ds-advanced-color-button-flat-text: #676767;--ds-advanced-color-button-flat-text-disabled: #d0d0d0;--ds-advanced-color-button-flat-text-hover: #525252;--ds-advanced-color-button-flat-text-inverse: #ffffff;--ds-advanced-color-button-flat-text-inverse-disabled: #7e8894;--ds-advanced-color-button-flat-text-inverse-hover: #adadad;--ds-advanced-color-button-ghost-background-hover: rgba(0, 0, 0, 0.05);--ds-advanced-color-button-ghost-background-inverse-hover: rgba(255, 255, 255, 0.05);--ds-advanced-color-button-ghost-text: #01426a;--ds-advanced-color-button-ghost-text-disabled: #d0d0d0;--ds-advanced-color-button-ghost-text-inverse: #ffffff;--ds-advanced-color-button-ghost-text-inverse-disabled: #7e8894;--ds-advanced-color-button-primary-background: #01426a;--ds-advanced-color-button-primary-background-disabled: #acc9e2;--ds-advanced-color-button-primary-background-hover: #00274a;--ds-advanced-color-button-primary-background-inactive: #cfe0ef;--ds-advanced-color-button-primary-background-inactive-hover: #89b2d4;--ds-advanced-color-button-primary-background-inverse: #ffffff;--ds-advanced-color-button-primary-background-inverse-disabled: rgba(255, 255, 255, 0.75);--ds-advanced-color-button-primary-background-inverse-hover: #ebf3f9;--ds-advanced-color-button-primary-border: #01426a;--ds-advanced-color-button-primary-border-disabled: #acc9e2;--ds-advanced-color-button-primary-border-hover: #00274a;--ds-advanced-color-button-primary-border-inverse: #ffffff;--ds-advanced-color-button-primary-border-inverse-disabled: rgba(255, 255, 255, 0.75);--ds-advanced-color-button-primary-border-inverse-hover: #ebf3f9;--ds-advanced-color-button-primary-text: #ffffff;--ds-advanced-color-button-primary-text-disabled: #ffffff;--ds-advanced-color-button-primary-text-inverse: #01426a;--ds-advanced-color-button-secondary-background: #ffffff;--ds-advanced-color-button-secondary-background-disabled: #f7f7f7;--ds-advanced-color-button-secondary-background-hover: #f2f2f2;--ds-advanced-color-button-secondary-background-inverse-hover: rgba(255, 255, 255, 0.1);--ds-advanced-color-button-secondary-border: #01426a;--ds-advanced-color-button-secondary-border-hover: #00274a;--ds-advanced-color-button-secondary-border-disabled: #cfe0ef;--ds-advanced-color-button-secondary-border-inverse: #ffffff;--ds-advanced-color-button-secondary-border-inverse-disabled: #dddddd;--ds-advanced-color-button-secondary-text: #01426a;--ds-advanced-color-button-secondary-text-hover: #00274a;--ds-advanced-color-button-secondary-text-inverse: #ffffff;--ds-advanced-color-button-tertiary-background: rgba(0, 0, 0, 0.05);--ds-advanced-color-button-tertiary-background-hover: rgba(0, 0, 0, 0.1);--ds-advanced-color-button-tertiary-background-inverse: rgba(255, 255, 255, 0.05);--ds-advanced-color-button-tertiary-background-inverse-hover: rgba(255, 255, 255, 0.1);--ds-advanced-color-button-tertiary-text: #01426a;--ds-advanced-color-button-tertiary-text-hover: #00274a;--ds-advanced-color-button-tertiary-text-inverse: #ffffff;--ds-advanced-color-accents-accent1: #b2d583;--ds-advanced-color-accents-accent1-bold: #92c450;--ds-advanced-color-accents-accent1-muted: #deedca;--ds-advanced-color-accents-accent2: #fad362;--ds-advanced-color-accents-accent2-bold: #f2ba14;--ds-advanced-color-accents-accent2-muted: #fde398;--ds-advanced-color-accents-accent3: #63beff;--ds-advanced-color-accents-accent3-bold: #0074ca;--ds-advanced-color-accents-accent3-muted: #aedeff;--ds-advanced-color-accents-accent4: #feb17a;--ds-advanced-color-accents-accent4-bold: #fb7f24;--ds-advanced-color-accents-accent4-muted: #ffe2cf;--ds-advanced-color-accents-transparency: rgba(0, 0, 0, 0.1);--ds-advanced-color-accents-transparency-inverse: rgba(255, 255, 255, 0.2);--ds-advanced-color-avatar-gradient-bottom: #cfe0ef;--ds-advanced-color-avatar-gradient-top: #6899c6;--ds-advanced-color-boolean-disabled-inverse: #7e8894;--ds-advanced-color-boolean-error: #e31f26;--ds-advanced-color-boolean-error-hover: #b1161c;--ds-advanced-color-boolean-error-inverse: #f9a4a8;--ds-advanced-color-boolean-error-inverse-hover: #f15f65;--ds-advanced-color-boolean-indicator: #ffffff;--ds-advanced-color-boolean-indicator-inverse: #00274a;--ds-advanced-color-boolean-isfalse: #ffffff;--ds-advanced-color-boolean-isfalse-border: #585e67;--ds-advanced-color-boolean-isfalse-border-inverse: #ffffff;--ds-advanced-color-boolean-isfalse-hover: #f2f2f2;--ds-advanced-color-boolean-isfalse-inverse: rgba(255, 255, 255, 0.15);--ds-advanced-color-boolean-isfalse-inverse-hover: rgba(255, 255, 255, 0.2);--ds-advanced-color-boolean-istrue: #01426a;--ds-advanced-color-boolean-istrue-hover: #00274a;--ds-advanced-color-boolean-istrue-inverse: #ffffff;--ds-advanced-color-boolean-istrue-inverse-hover: rgba(255, 255, 255, 0.7);--ds-advanced-color-dropdown-emphasized-background: #00274A1a;--ds-advanced-color-dropdown-emphasized-background-hover: #00274A33;--ds-advanced-color-expanded-widget-background: #00274a;--ds-advanced-color-flightline-indicator: #00274a;--ds-advanced-color-flightline-line: #00274a;--ds-advanced-color-hyperlink-text: #2875b5;--ds-advanced-color-hyperlink-text-hover: #01426a;--ds-advanced-color-hyperlink-text-inverse: #ffffff;--ds-advanced-color-hyperlink-text-inverse-hover: #ebf3f9;--ds-advanced-color-shared-background: #ffffff;--ds-advanced-color-shared-background-inverse: rgba(255, 255, 255, 0.15);--ds-advanced-color-shared-background-inverse-disabled: rgba(255, 255, 255, 0.1);--ds-advanced-color-shared-background-inverse-hover: rgba(255, 255, 255, 0.2);--ds-advanced-color-shared-background-muted: #f7f7f7;--ds-advanced-color-shared-background-strong: #676767;--ds-advanced-color-shared-emphasized-background: rgba(1, 66, 106, 0.1);--ds-advanced-color-shared-emphasized-background-hover: rgba(1, 66, 106, 0.2);--ds-advanced-color-shared-scrim: rgba(0, 0, 0, 0.5);--ds-advanced-color-shared-text-accent: #2875b5;--ds-advanced-color-skeleton-background: #f7f8fa;--ds-advanced-color-skeleton-wave: #e4e8ec;--ds-advanced-color-state-background-disabled: #dddddd;--ds-advanced-color-state-background-hover: #f2f2f2;--ds-advanced-color-state-background-inverse-disabled: #7e8894;--ds-advanced-color-state-error-inverse: #f9a4a8;--ds-advanced-color-state-focused: #01426a;--ds-advanced-color-state-focused-inverse: #ffffff;--ds-advanced-color-state-selected: #01426a;--ds-advanced-color-state-selected-hover: #00274a;--ds-basic-color-border-bold: #585e67;--ds-basic-color-border-brand: #00274a;--ds-basic-color-border-default: #959595;--ds-basic-color-border-divider: rgba(0, 0, 0, 0.15);--ds-basic-color-border-divider-inverse: rgba(255, 255, 255, 0.4);--ds-basic-color-border-inverse: #ffffff;--ds-basic-color-border-subtle: #dddddd;--ds-basic-color-brand-primary: #01426a;--ds-basic-color-brand-primary-bold: #00274a;--ds-basic-color-brand-primary-muted: #ebf3f9;--ds-basic-color-brand-primary-subtle: #2875b5;--ds-basic-color-brand-secondary: #5de3f7;--ds-basic-color-brand-secondary-bold: #18c3dd;--ds-basic-color-brand-secondary-muted: #ebfafd;--ds-basic-color-brand-secondary-subtle: #b4eff9;--ds-basic-color-brand-tertiary: #a3cd6a;--ds-basic-color-brand-tertiary-bold: #7daf3b;--ds-basic-color-brand-tertiary-muted: #eaf3dd;--ds-basic-color-brand-tertiary-subtle: #c9e1a7;--ds-basic-color-fare-basiceconomy: #97eaf8;--ds-basic-color-fare-business: #01426a;--ds-basic-color-fare-economy: #0074ca;--ds-basic-color-fare-first: #00274a;--ds-basic-color-fare-premiumeconomy: #005154;--ds-basic-color-page-background-default: #ffffff;--ds-basic-color-page-background-utility: #ffffff;--ds-basic-color-status-default: #afb9c6;--ds-basic-color-status-error: #e31f26;--ds-basic-color-status-error-subtle: #fbc6c6;--ds-basic-color-status-info: #01426a;--ds-basic-color-status-info-subtle: #ebf3f9;--ds-basic-color-status-success: #447a1f;--ds-basic-color-status-success-subtle: #d6eac7;--ds-basic-color-status-warning: #fac200;--ds-basic-color-status-warning-subtle: #fff0b2;--ds-basic-color-surface-accent1: #5de3f7;--ds-basic-color-surface-accent1-muted: #ebfafd;--ds-basic-color-surface-accent1-subtle: #b4eff9;--ds-basic-color-surface-accent2: #a3cd6a;--ds-basic-color-surface-accent2-muted: #eaf3dd;--ds-basic-color-surface-default: #ffffff;--ds-basic-color-surface-inverse: #00274a;--ds-basic-color-surface-inverse-subtle: #2875b5;--ds-basic-color-surface-neutral-medium: #c5c5c5;--ds-basic-color-surface-neutral-subtle: #f7f7f7;--ds-basic-color-texticon-accent1: #265688;--ds-basic-color-texticon-default: #2a2a2a;--ds-basic-color-texticon-disabled: #d0d0d0;--ds-basic-color-texticon-inverse: #ffffff;--ds-basic-color-texticon-inverse-disabled: #7e8894;--ds-basic-color-texticon-inverse-muted: #ccd2db;--ds-basic-color-texticon-muted: #676767;--ds-basic-color-tier-program-loungetier-lounge: #01426a;--ds-basic-color-tier-program-loungetier-loungeplus: #53b390;--ds-basic-color-tier-program-loyaltytier-bronze: #d99f6d;--ds-basic-color-tier-program-loyaltytier-bronze-muted: #eed4be;--ds-basic-color-tier-program-loyaltytier-cobalt: #030772;--ds-basic-color-tier-program-loyaltytier-cobalt-muted: #a9b6d6;--ds-basic-color-tier-program-loyaltytier-copper: #cb7457;--ds-basic-color-tier-program-loyaltytier-copper-muted: #e7bfb1;--ds-basic-color-tier-program-loyaltytier-gold: #fbdc7a;--ds-basic-color-tier-program-loyaltytier-gold-muted: #fdefc4;--ds-basic-color-tier-program-loyaltytier-nickel: #abaab1;--ds-basic-color-tier-program-loyaltytier-nickel-muted: #e5e4e7;--ds-basic-color-tier-program-loyaltytier-platinum: #bcb8a4;--ds-basic-color-tier-program-loyaltytier-platinum-muted: #dad8cd;--ds-basic-color-tier-program-loyaltytier-silver: #e4e9ec;--ds-basic-color-tier-program-loyaltytier-silver-muted: #f9fafb;--ds-basic-color-tier-program-loyaltytier-titanium: #282828;--ds-basic-color-tier-program-loyaltytier-titanium-muted: #545454;--ds-basic-color-tier-program-oneworld-emerald: #139142;--ds-basic-color-tier-program-oneworld-ruby: #a41d4a;--ds-basic-color-tier-program-oneworld-sapphire: #015daa;--ds-basic-type-brand-family-primary: "AS Circular";--ds-basic-type-brand-family-secondary: "Good OT";--ds-basic-type-brand-line-height-primary: 1.3;--ds-basic-type-brand-line-height-secondary: 1;--ds-basic-type-brand-letter-spacing-primary: 0;--ds-basic-type-brand-letter-spacing-secondary: 0.05em;--ds-basic-type-brand-letter-spacing-tertiary: 0.10em;--ds-basic-type-family-accent: "Good OT";--ds-basic-type-family-accent-fallback: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-basic-type-family-body: "AS Circular";--ds-basic-type-family-body-fallback: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-basic-type-family-display: "AS Circular";--ds-basic-type-family-display-fallback: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-basic-type-family-heading: "AS Circular";--ds-basic-type-family-heading-fallback: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--ds-basic-type-letter-spacing-accent: 0.05em;--ds-basic-type-letter-spacing-accent2: 0.10em;--ds-basic-type-letter-spacing-body: 0;--ds-basic-type-letter-spacing-display: 0;--ds-basic-type-letter-spacing-heading: 0;--ds-basic-type-line-height-accent: 1.3;--ds-basic-type-line-height-accent2: 1;--ds-basic-type-line-height-body: 1.625rem;--ds-basic-type-line-height-body2: 1.5rem;--ds-basic-type-line-height-body3: 1.25rem;--ds-basic-type-line-height-body4: 1rem;--ds-basic-type-line-height-body5: 0.875rem;--ds-basic-type-line-height-display: 1.3;--ds-basic-type-line-height-heading: 1.3;--ds-basic-type-weight-accent: 450;--ds-basic-type-weight-accent2: 500;--ds-basic-type-weight-body: 450;--ds-basic-type-weight-display: 300;--ds-basic-type-weight-heading: 300;--ds-basic-type-weight-heading2: 450}:host([layout*=snowflake]) .leftIndent{margin-left:var(--ds-size-200, 1rem)}:host([layout*=snowflake]) .rightIndent{margin-right:var(--ds-size-200, 1rem)}.layout-snowflake{display:flex;flex-direction:row;align-items:center;justify-content:center}.layout-snowflake label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;padding-block-start:var(--ds-size-50, 0.25rem)}.layout-snowflake input{transition:all 1ms linear;text-align:center}.layout-snowflake .mainContent{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;flex:1;overflow:hidden}.layout-snowflake .displayValue{display:none;width:100%}.layout-snowflake .displayValue.hasContent:is(.withValue):not(.hasFocus){display:block}.layout-snowflake .displayValueWrapper{display:flex;flex-direction:row;align-items:center;justify-content:center;width:100%}.layout-snowflake.withValue{justify-content:flex-start}.layout-snowflake.withValue:hover .alertNotification{display:none}.layout-snowflake:not(:focus-within):not(:is([validity]:not([validity=valid]))){--ds-auro-input-border-color: transparent}.layout-snowflake:focus-within{justify-content:flex-start}.layout-snowflake:focus-within .alertNotification{display:none}.layout-snowflake .accents{width:var(--ds-size-300, 1.5rem)}.layout-snowflake .accents.left{padding-left:var(--ds-size-200, 1rem)}.layout-snowflake .accents.right{padding-right:var(--ds-size-200, 1rem)}:host([layout*=snowflake]) .helpTextWrapper{text-align:center}`;
5211
5275
 
5212
5276
  const watchedItems = new Set();
5213
5277
 
@@ -9764,6 +9828,52 @@ class AuroFormValidation {
9764
9828
  message: e => e.getAttribute('setCustomValidityRangeUnderflow') || ''
9765
9829
  }
9766
9830
  ]
9831
+ },
9832
+ combobox: {
9833
+ filter: [
9834
+ {
9835
+ check: (e) => {
9836
+
9837
+ // Guard Clause: If the behavior is not 'filter', skip this validation
9838
+ if (e.behavior !== 'filter') return false;
9839
+
9840
+ // Get the current input value
9841
+ const currentInputValue = e.input.value;
9842
+
9843
+ // Skip validation if the input has no value
9844
+ if (!currentInputValue) return false;
9845
+
9846
+ /**
9847
+ * Let's check if the option selected and combobox value match.
9848
+ */
9849
+
9850
+ // Guard Clause: If there is no option selected fail the validation
9851
+ if (!e.optionSelected) return true;
9852
+
9853
+ // Guard Clause: If there is no value fail the validation
9854
+ if (!e.value) return true;
9855
+
9856
+ // Guard Clause: If the selected option's value doesn't match the input value fail the validation
9857
+ if (e.optionSelected.value !== e.value) return true;
9858
+
9859
+ /**
9860
+ * Now let's make sure the user hasn't change the value in the input after selecting an option.
9861
+ * This is to make sure there's no user confusion if they select an option but then change the value to something else.
9862
+ */
9863
+
9864
+ // Guard Clause: If the current input value doesn't match the option selected value fail the validation
9865
+ if (currentInputValue && currentInputValue !== e.optionSelected.value) return true;
9866
+
9867
+ // Guard Clause: If the current input value doesn't match the combobox value fail the validation
9868
+ if (currentInputValue && currentInputValue !== e.value) return true;
9869
+
9870
+ // If all the checks passed the validation passes
9871
+ return false;
9872
+ },
9873
+ validity: 'valueMissing',
9874
+ message: e => e.getAttribute('setCustomValidityValueMissingFilter') || e.setCustomValidity || ''
9875
+ }
9876
+ ]
9767
9877
  }
9768
9878
  };
9769
9879
 
@@ -9772,6 +9882,8 @@ class AuroFormValidation {
9772
9882
  elementType = 'input';
9773
9883
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group')) {
9774
9884
  elementType = 'counter';
9885
+ } else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox')) {
9886
+ elementType = 'combobox';
9775
9887
  }
9776
9888
 
9777
9889
  if (elementType) {
@@ -9958,6 +10070,15 @@ class AuroFormValidation {
9958
10070
  }
9959
10071
  }
9960
10072
 
10073
+ const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
10074
+
10075
+ if (isCombobox) {
10076
+
10077
+ if (!elem.persistInput || elem.behavior === "filter") {
10078
+ hasValue = elem.input.value?.length > 0;
10079
+ }
10080
+ }
10081
+
9961
10082
  if (!hasValue && elem.required && elem.touched) {
9962
10083
  elem.validity = 'valueMissing';
9963
10084
  elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
@@ -9966,6 +10087,11 @@ class AuroFormValidation {
9966
10087
  this.validateElementAttributes(elem);
9967
10088
  } else if (hasValue && (this.runtimeUtils.elementMatch(elem, 'auro-counter') || this.runtimeUtils.elementMatch(elem, 'auro-counter-group'))) {
9968
10089
  this.validateElementAttributes(elem);
10090
+ } else if (isCombobox) {
10091
+ this.validateElementAttributes(elem);
10092
+
10093
+ // Don't run extra validation for cases where the combobox is not being used as a filter
10094
+ validationShouldRun = elem.behavior !== 'filter';
9969
10095
  }
9970
10096
  }
9971
10097
 
@@ -9973,8 +10099,8 @@ class AuroFormValidation {
9973
10099
 
9974
10100
  const isCombobox = this.runtimeUtils.elementMatch(elem, 'auro-combobox');
9975
10101
 
9976
- // Don't reset combobox validity if persistValue is set since we can't use the input value to validate
9977
- if (!isCombobox || isCombobox && !elem.persistValue) {
10102
+ // Don't reset combobox validity if persistInput is set since we can't use the input value to validate
10103
+ if (!isCombobox || isCombobox && !elem.persistInput) {
9978
10104
 
9979
10105
  // run validation on all inputs since we're going to use them to set the validity of this component
9980
10106
  this.auroInputElements.forEach(input => input.validate());
@@ -10047,6 +10173,8 @@ class AuroFormValidation {
10047
10173
  if (input.validationMessage.length > 0) {
10048
10174
  elem.errorMessage = input.validationMessage;
10049
10175
  }
10176
+ } else if (this.runtimeUtils.elementMatch(elem, 'auro-combobox') && elem.errorMessage === '') {
10177
+ elem.errorMessage = elem.input?.inputElement?.validationMessage;
10050
10178
  } else if (this.inputElements?.length > 0 && elem.errorMessage === '') {
10051
10179
  const firstInput = this.inputElements[0];
10052
10180
 
@@ -13060,6 +13188,7 @@ class AuroCombobox extends AuroElement {
13060
13188
  this.required = false;
13061
13189
  this.value = undefined;
13062
13190
  this.typedValue = undefined;
13191
+ this.behavior = "suggestion";
13063
13192
 
13064
13193
  // Defaults that effect the overall layout of the combobox
13065
13194
  this.checkmark = false;
@@ -13151,6 +13280,17 @@ class AuroCombobox extends AuroElement {
13151
13280
  reflect: false
13152
13281
  },
13153
13282
 
13283
+ /**
13284
+ * Sets the behavior of the combobox, "filter" or "suggestion".
13285
+ * "filter" requires the user to select an option from the menu.
13286
+ * "suggestion" allows the user to enter a value not present in the menu options.
13287
+ * @default suggestion
13288
+ */
13289
+ behavior: {
13290
+ type: String,
13291
+ reflect: true
13292
+ },
13293
+
13154
13294
  /**
13155
13295
  * When attribute is present auro-menu will apply check marks to selected options.
13156
13296
  */
@@ -13227,7 +13367,7 @@ class AuroCombobox extends AuroElement {
13227
13367
  },
13228
13368
 
13229
13369
  /**
13230
- * If set, combobox will not filter menuoptions based in input.
13370
+ * If set, combobox will not filter menuoptions based on input.
13231
13371
  */
13232
13372
  noFilter: {
13233
13373
  type: Boolean,
@@ -13350,6 +13490,13 @@ class AuroCombobox extends AuroElement {
13350
13490
  type: String
13351
13491
  },
13352
13492
 
13493
+ /**
13494
+ * Custom help text message to display when validity = `valueMissing` due to the user not choosing a menu option when behavior = "filter".
13495
+ */
13496
+ setCustomValidityValueMissingFilter: {
13497
+ type: String
13498
+ },
13499
+
13353
13500
  /**
13354
13501
  * Indicates whether the combobox is in a dirty state (has been interacted with).
13355
13502
  * @type {boolean}
@@ -14005,6 +14152,8 @@ class AuroCombobox extends AuroElement {
14005
14152
  this.addEventListener('auroFormElement-validated', (evt) => {
14006
14153
  this.input.validity = evt.detail.validity;
14007
14154
  this.input.errorMessage = evt.detail.message;
14155
+ this.validity = evt.detail.validity;
14156
+ this.errorMessage = evt.detail.message;
14008
14157
  });
14009
14158
  }
14010
14159
 
@@ -47,6 +47,16 @@ export class AuroCombobox extends AuroElement {
47
47
  type: ArrayConstructor;
48
48
  reflect: boolean;
49
49
  };
50
+ /**
51
+ * Sets the behavior of the combobox, "filter" or "suggestion".
52
+ * "filter" requires the user to select an option from the menu.
53
+ * "suggestion" allows the user to enter a value not present in the menu options.
54
+ * @default suggestion
55
+ */
56
+ behavior: {
57
+ type: StringConstructor;
58
+ reflect: boolean;
59
+ };
50
60
  /**
51
61
  * When attribute is present auro-menu will apply check marks to selected options.
52
62
  */
@@ -114,7 +124,7 @@ export class AuroCombobox extends AuroElement {
114
124
  reflect: boolean;
115
125
  };
116
126
  /**
117
- * If set, combobox will not filter menuoptions based in input.
127
+ * If set, combobox will not filter menuoptions based on input.
118
128
  */
119
129
  noFilter: {
120
130
  type: BooleanConstructor;
@@ -216,6 +226,12 @@ export class AuroCombobox extends AuroElement {
216
226
  setCustomValidityValueMissing: {
217
227
  type: StringConstructor;
218
228
  };
229
+ /**
230
+ * Custom help text message to display when validity = `valueMissing` due to the user not choosing a menu option when behavior = "filter".
231
+ */
232
+ setCustomValidityValueMissingFilter: {
233
+ type: StringConstructor;
234
+ };
219
235
  /**
220
236
  * Indicates whether the combobox is in a dirty state (has been interacted with).
221
237
  * @type {boolean}
@@ -307,6 +323,7 @@ export class AuroCombobox extends AuroElement {
307
323
  required: boolean;
308
324
  value: any;
309
325
  typedValue: any;
326
+ behavior: string;
310
327
  checkmark: boolean;
311
328
  dvInputOnly: boolean;
312
329
  fullscreenBreakpoint: string;