@aurodesignsystem/auro-formkit 3.3.0-beta.1 → 3.3.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 (98) hide show
  1. package/CHANGELOG.md +86 -1
  2. package/components/bibtemplate/dist/headerVersion.d.ts +1 -1
  3. package/components/bibtemplate/dist/iconVersion.d.ts +1 -1
  4. package/components/bibtemplate/dist/index.js +10 -80
  5. package/components/bibtemplate/dist/registered.js +10 -80
  6. package/components/checkbox/README.md +1 -1
  7. package/components/checkbox/demo/api.html +1 -0
  8. package/components/checkbox/demo/api.md +4 -5
  9. package/components/checkbox/demo/api.min.js +66 -15
  10. package/components/checkbox/demo/index.html +1 -0
  11. package/components/checkbox/demo/index.min.js +66 -15
  12. package/components/checkbox/demo/readme.md +1 -1
  13. package/components/checkbox/dist/auro-checkbox-group.d.ts +7 -0
  14. package/components/checkbox/dist/auro-checkbox.d.ts +23 -2
  15. package/components/checkbox/dist/index.js +59 -8
  16. package/components/checkbox/dist/registered.js +59 -8
  17. package/components/combobox/README.md +1 -1
  18. package/components/combobox/demo/api.html +1 -0
  19. package/components/combobox/demo/api.min.js +154 -189
  20. package/components/combobox/demo/index.html +1 -0
  21. package/components/combobox/demo/index.min.js +154 -189
  22. package/components/combobox/demo/readme.md +1 -1
  23. package/components/combobox/dist/auro-combobox.d.ts +2 -10
  24. package/components/combobox/dist/index.js +130 -165
  25. package/components/combobox/dist/registered.js +130 -165
  26. package/components/counter/README.md +1 -1
  27. package/components/counter/demo/api.html +1 -0
  28. package/components/counter/demo/api.min.js +59 -120
  29. package/components/counter/demo/index.html +1 -0
  30. package/components/counter/demo/index.min.js +59 -120
  31. package/components/counter/demo/readme.md +1 -1
  32. package/components/counter/dist/iconVersion.d.ts +1 -1
  33. package/components/counter/dist/index.js +40 -101
  34. package/components/counter/dist/registered.js +40 -101
  35. package/components/datepicker/README.md +1 -1
  36. package/components/datepicker/demo/api.html +1 -0
  37. package/components/datepicker/demo/api.min.js +105 -153
  38. package/components/datepicker/demo/index.html +1 -0
  39. package/components/datepicker/demo/index.min.js +105 -153
  40. package/components/datepicker/demo/readme.md +1 -1
  41. package/components/datepicker/dist/auro-datepicker.d.ts +8 -0
  42. package/components/datepicker/dist/index.js +79 -127
  43. package/components/datepicker/dist/registered.js +79 -127
  44. package/components/dropdown/README.md +1 -1
  45. package/components/dropdown/demo/api.html +1 -0
  46. package/components/dropdown/demo/api.min.js +18 -16
  47. package/components/dropdown/demo/index.html +1 -0
  48. package/components/dropdown/demo/index.min.js +18 -16
  49. package/components/dropdown/demo/readme.md +1 -1
  50. package/components/dropdown/dist/index.js +7 -5
  51. package/components/dropdown/dist/registered.js +7 -5
  52. package/components/form/README.md +1 -1
  53. package/components/form/demo/api.min.js +5 -5
  54. package/components/form/demo/index.min.js +5 -5
  55. package/components/form/demo/readme.md +1 -1
  56. package/components/helptext/dist/index.js +1 -1
  57. package/components/helptext/dist/registered.js +1 -1
  58. package/components/input/README.md +1 -1
  59. package/components/input/demo/api.html +1 -0
  60. package/components/input/demo/api.min.js +69 -57
  61. package/components/input/demo/index.html +1 -0
  62. package/components/input/demo/index.min.js +69 -57
  63. package/components/input/demo/readme.md +1 -1
  64. package/components/input/dist/base-input.d.ts +8 -0
  65. package/components/input/dist/index.js +31 -19
  66. package/components/input/dist/registered.js +31 -19
  67. package/components/menu/README.md +1 -1
  68. package/components/menu/demo/api.html +1 -0
  69. package/components/menu/demo/api.min.js +10 -10
  70. package/components/menu/demo/index.html +1 -0
  71. package/components/menu/demo/index.min.js +10 -10
  72. package/components/menu/demo/readme.md +1 -1
  73. package/components/menu/dist/iconVersion.d.ts +1 -1
  74. package/components/menu/dist/index.js +3 -3
  75. package/components/menu/dist/registered.js +3 -3
  76. package/components/radio/README.md +1 -1
  77. package/components/radio/demo/api.html +1 -0
  78. package/components/radio/demo/api.md +1 -0
  79. package/components/radio/demo/api.min.js +42 -18
  80. package/components/radio/demo/index.html +1 -0
  81. package/components/radio/demo/index.md +42 -0
  82. package/components/radio/demo/index.min.js +42 -18
  83. package/components/radio/demo/readme.md +1 -1
  84. package/components/radio/dist/auro-radio-group.d.ts +8 -0
  85. package/components/radio/dist/auro-radio.d.ts +5 -0
  86. package/components/radio/dist/index.js +35 -11
  87. package/components/radio/dist/registered.js +35 -11
  88. package/components/select/README.md +1 -1
  89. package/components/select/demo/api.html +1 -0
  90. package/components/select/demo/api.md +4 -5
  91. package/components/select/demo/api.min.js +84 -132
  92. package/components/select/demo/index.html +1 -0
  93. package/components/select/demo/index.min.js +84 -132
  94. package/components/select/demo/readme.md +1 -1
  95. package/components/select/dist/auro-select.d.ts +16 -2
  96. package/components/select/dist/index.js +65 -113
  97. package/components/select/dist/registered.js +65 -113
  98. package/package.json +3 -3
@@ -55,6 +55,11 @@ export class AuroCheckbox extends LitElement {
55
55
  type: StringConstructor;
56
56
  reflect: boolean;
57
57
  };
58
+ /**
59
+ * Indicates whether the checkbox has been interacted with.
60
+ * @type {boolean}
61
+ */
62
+ touched: boolean;
58
63
  };
59
64
  /**
60
65
  * This will register this element with the browser.
@@ -69,12 +74,28 @@ export class AuroCheckbox extends LitElement {
69
74
  disabled: boolean;
70
75
  error: boolean;
71
76
  onDark: boolean;
77
+ touched: boolean;
72
78
  /**
73
79
  * @private
74
80
  */
75
81
  private runtimeUtils;
76
- handleChange(event: any): void;
77
- handleInput(event: any): void;
82
+ /**
83
+ * Handles the change event for the checkbox input.
84
+ * Updates the checked state and dispatches a corresponding custom event.
85
+ * This custom event is only for the purpose of supporting IE
86
+ * @private
87
+ * @param {Event} event - The change event from the checkbox input.
88
+ * @returns {void}
89
+ */
90
+ private handleChange;
91
+ /**
92
+ * Handles the input event for the checkbox input.
93
+ * Updates the checked state and dispatches a custom 'auroCheckbox-input' event.
94
+ * @private
95
+ * @param {Event} event - The input event from the checkbox input.
96
+ * @returns {void}
97
+ */
98
+ private handleInput;
78
99
  /**
79
100
  * Function to support @focusin event.
80
101
  * @private
@@ -101,11 +101,21 @@ class AuroCheckbox extends LitElement {
101
101
  this.disabled = false;
102
102
  this.error = false;
103
103
  this.onDark = false;
104
+ this.touched = false;
104
105
 
105
106
  /**
106
107
  * @private
107
108
  */
108
109
  this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
110
+
111
+ /**
112
+ * @private
113
+ * @property {boolean} delegatesFocus - Whether the shadow root delegates focus.
114
+ */
115
+ this.constructor.shadowRootOptions = {
116
+ ...LitElement.shadowRootOptions,
117
+ delegatesFocus: true,
118
+ };
109
119
  }
110
120
 
111
121
  static get styles() {
@@ -168,6 +178,15 @@ class AuroCheckbox extends LitElement {
168
178
  value: {
169
179
  type: String,
170
180
  reflect: true
181
+ },
182
+
183
+ /**
184
+ * Indicates whether the checkbox has been interacted with.
185
+ * @type {boolean}
186
+ */
187
+ touched: {
188
+ type: Boolean,
189
+ reflect: true
171
190
  }
172
191
  };
173
192
  }
@@ -184,8 +203,14 @@ class AuroCheckbox extends LitElement {
184
203
  AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroCheckbox);
185
204
  }
186
205
 
187
- // This custom event is only for the purpose of supporting IE
188
- // .addEventListener('change', function() { })
206
+ /**
207
+ * Handles the change event for the checkbox input.
208
+ * Updates the checked state and dispatches a corresponding custom event.
209
+ * This custom event is only for the purpose of supporting IE
210
+ * @private
211
+ * @param {Event} event - The change event from the checkbox input.
212
+ * @returns {void}
213
+ */
189
214
  handleChange(event) {
190
215
  this.checked = event.target.checked;
191
216
  const customEvent = new CustomEvent(event.type, event);
@@ -193,6 +218,13 @@ class AuroCheckbox extends LitElement {
193
218
  this.dispatchEvent(customEvent);
194
219
  }
195
220
 
221
+ /**
222
+ * Handles the input event for the checkbox input.
223
+ * Updates the checked state and dispatches a custom 'auroCheckbox-input' event.
224
+ * @private
225
+ * @param {Event} event - The input event from the checkbox input.
226
+ * @returns {void}
227
+ */
196
228
  handleInput(event) {
197
229
  this.checked = event.target.checked;
198
230
 
@@ -209,6 +241,7 @@ class AuroCheckbox extends LitElement {
209
241
  * @returns {void}
210
242
  */
211
243
  handleFocusin() {
244
+ this.touched = true;
212
245
  this.dispatchEvent(new CustomEvent('auroCheckbox-focusin', {
213
246
  bubbles: true,
214
247
  cancelable: false,
@@ -237,6 +270,7 @@ class AuroCheckbox extends LitElement {
237
270
  reset() {
238
271
  this.checked = false;
239
272
  this.error = false;
273
+ this.touched = false;
240
274
  }
241
275
 
242
276
  firstUpdated() {
@@ -719,6 +753,7 @@ class AuroFormValidation {
719
753
  reset(elem) {
720
754
  elem.validity = undefined;
721
755
  elem.value = undefined;
756
+ elem.touched = false;
722
757
 
723
758
  // Resets the second value of the datepicker in range state
724
759
  if (elem.valueEnd) {
@@ -856,7 +891,7 @@ class AuroFormValidation {
856
891
  } else if (elem.type === 'date' && elem.value?.length > 0) {
857
892
 
858
893
  // Guard Clause: if the value is too short
859
- if (elem.value.length < elem.lengthForType) {
894
+ if (elem.value?.length < elem.lengthForType) {
860
895
 
861
896
  elem.validity = 'tooShort';
862
897
  elem.errorMessage = elem.setCustomValidityForType || elem.setCustomValidity || '';
@@ -926,11 +961,17 @@ class AuroFormValidation {
926
961
  this.getAuroInputs(elem);
927
962
 
928
963
  // Validate only if noValidate is not true and the input does not have focus
929
- const validationShouldRun = force || (!elem.contains(document.activeElement) && elem.value !== undefined) || elem.validateOnInput;
964
+ let validationShouldRun =
965
+ force ||
966
+ (!elem.contains(document.activeElement) &&
967
+ (elem.touched ||
968
+ (!elem.touched && typeof elem.value !== "undefined"))) ||
969
+ elem.validateOnInput;
930
970
 
931
971
  if (elem.hasAttribute('error')) {
932
972
  elem.validity = 'customError';
933
973
  elem.errorMessage = elem.setCustomValidityCustomError || elem.error || elem.setCustomValidity || '';
974
+ validationShouldRun = false;
934
975
  } else if (validationShouldRun) {
935
976
  elem.validity = 'valid';
936
977
  elem.errorMessage = '';
@@ -951,7 +992,7 @@ class AuroFormValidation {
951
992
  }
952
993
  }
953
994
 
954
- if (!hasValue && elem.required) {
995
+ if (!hasValue && elem.required && elem.touched) {
955
996
  elem.validity = 'valueMissing';
956
997
  elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
957
998
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
@@ -962,7 +1003,7 @@ class AuroFormValidation {
962
1003
  }
963
1004
  }
964
1005
 
965
- if (this.auroInputElements?.length > 0) {
1006
+ if (this.auroInputElements?.length > 0 && elem.validity !== "valueMissing") {
966
1007
  elem.validity = this.auroInputElements[0].validity;
967
1008
  elem.errorMessage = this.auroInputElements[0].errorMessage;
968
1009
 
@@ -1041,7 +1082,7 @@ class AuroFormValidation {
1041
1082
  }
1042
1083
  }
1043
1084
  } else {
1044
- elem.errorMessage = undefined;
1085
+ elem.errorMessage = '';
1045
1086
  }
1046
1087
  }
1047
1088
  }
@@ -1092,7 +1133,7 @@ var colorCss$1 = css`:host{color:var(--ds-auro-checkbox-group-text-color)}:host(
1092
1133
 
1093
1134
  var colorCss = css`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]){--ds-auro-helptext-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
1094
1135
 
1095
- var styleCss = css`.helptext-wrapper{display:none;font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-size-200, 1rem)}:host([large]) .helptext-wrapper{font-size:var(--ds-text-body-size-default, 1rem)}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
1136
+ var styleCss = css`.helptext-wrapper{display:none;font-size:var(--ds-basic-text-body-xs-font-size, 12px);font-weight:var(--ds-basic-text-body-xs-font-weight, 450);letter-spacing:var(--ds-basic-text-body-xs-letter-spacing, 0);line-height:var(--ds-basic-text-body-xs-line-height, 16px)}:host([large]) .helptext-wrapper{font-size:var(--ds-basic-text-body-default-font-size, 16px);font-weight:var(--ds-basic-text-body-default-font-weight, 450);letter-spacing:var(--ds-basic-text-body-default-letter-spacing, 0);line-height:var(--ds-basic-text-body-default-line-height, 24px)}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
1096
1137
 
1097
1138
  var tokensCss = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
1098
1139
 
@@ -1321,6 +1362,14 @@ class AuroCheckboxGroup extends LitElement {
1321
1362
  this.horizontal = false;
1322
1363
  this.onDark = false;
1323
1364
 
1365
+ /**
1366
+ * Indicates whether the checkbox group is in a dirty state (has been interacted with).
1367
+ * @type {boolean}
1368
+ * @default false
1369
+ * @private
1370
+ */
1371
+ this.touched = false;
1372
+
1324
1373
  /**
1325
1374
  * @private
1326
1375
  */
@@ -1510,6 +1559,8 @@ class AuroCheckboxGroup extends LitElement {
1510
1559
  };
1511
1560
 
1512
1561
  this.addEventListener('auroCheckbox-focusin', () => {
1562
+ this.touched = true;
1563
+
1513
1564
  if (!this.value) {
1514
1565
  this.value = [];
1515
1566
  }
@@ -101,11 +101,21 @@ class AuroCheckbox extends LitElement {
101
101
  this.disabled = false;
102
102
  this.error = false;
103
103
  this.onDark = false;
104
+ this.touched = false;
104
105
 
105
106
  /**
106
107
  * @private
107
108
  */
108
109
  this.runtimeUtils = new AuroLibraryRuntimeUtils$1();
110
+
111
+ /**
112
+ * @private
113
+ * @property {boolean} delegatesFocus - Whether the shadow root delegates focus.
114
+ */
115
+ this.constructor.shadowRootOptions = {
116
+ ...LitElement.shadowRootOptions,
117
+ delegatesFocus: true,
118
+ };
109
119
  }
110
120
 
111
121
  static get styles() {
@@ -168,6 +178,15 @@ class AuroCheckbox extends LitElement {
168
178
  value: {
169
179
  type: String,
170
180
  reflect: true
181
+ },
182
+
183
+ /**
184
+ * Indicates whether the checkbox has been interacted with.
185
+ * @type {boolean}
186
+ */
187
+ touched: {
188
+ type: Boolean,
189
+ reflect: true
171
190
  }
172
191
  };
173
192
  }
@@ -184,8 +203,14 @@ class AuroCheckbox extends LitElement {
184
203
  AuroLibraryRuntimeUtils$1.prototype.registerComponent(name, AuroCheckbox);
185
204
  }
186
205
 
187
- // This custom event is only for the purpose of supporting IE
188
- // .addEventListener('change', function() { })
206
+ /**
207
+ * Handles the change event for the checkbox input.
208
+ * Updates the checked state and dispatches a corresponding custom event.
209
+ * This custom event is only for the purpose of supporting IE
210
+ * @private
211
+ * @param {Event} event - The change event from the checkbox input.
212
+ * @returns {void}
213
+ */
189
214
  handleChange(event) {
190
215
  this.checked = event.target.checked;
191
216
  const customEvent = new CustomEvent(event.type, event);
@@ -193,6 +218,13 @@ class AuroCheckbox extends LitElement {
193
218
  this.dispatchEvent(customEvent);
194
219
  }
195
220
 
221
+ /**
222
+ * Handles the input event for the checkbox input.
223
+ * Updates the checked state and dispatches a custom 'auroCheckbox-input' event.
224
+ * @private
225
+ * @param {Event} event - The input event from the checkbox input.
226
+ * @returns {void}
227
+ */
196
228
  handleInput(event) {
197
229
  this.checked = event.target.checked;
198
230
 
@@ -209,6 +241,7 @@ class AuroCheckbox extends LitElement {
209
241
  * @returns {void}
210
242
  */
211
243
  handleFocusin() {
244
+ this.touched = true;
212
245
  this.dispatchEvent(new CustomEvent('auroCheckbox-focusin', {
213
246
  bubbles: true,
214
247
  cancelable: false,
@@ -237,6 +270,7 @@ class AuroCheckbox extends LitElement {
237
270
  reset() {
238
271
  this.checked = false;
239
272
  this.error = false;
273
+ this.touched = false;
240
274
  }
241
275
 
242
276
  firstUpdated() {
@@ -719,6 +753,7 @@ class AuroFormValidation {
719
753
  reset(elem) {
720
754
  elem.validity = undefined;
721
755
  elem.value = undefined;
756
+ elem.touched = false;
722
757
 
723
758
  // Resets the second value of the datepicker in range state
724
759
  if (elem.valueEnd) {
@@ -856,7 +891,7 @@ class AuroFormValidation {
856
891
  } else if (elem.type === 'date' && elem.value?.length > 0) {
857
892
 
858
893
  // Guard Clause: if the value is too short
859
- if (elem.value.length < elem.lengthForType) {
894
+ if (elem.value?.length < elem.lengthForType) {
860
895
 
861
896
  elem.validity = 'tooShort';
862
897
  elem.errorMessage = elem.setCustomValidityForType || elem.setCustomValidity || '';
@@ -926,11 +961,17 @@ class AuroFormValidation {
926
961
  this.getAuroInputs(elem);
927
962
 
928
963
  // Validate only if noValidate is not true and the input does not have focus
929
- const validationShouldRun = force || (!elem.contains(document.activeElement) && elem.value !== undefined) || elem.validateOnInput;
964
+ let validationShouldRun =
965
+ force ||
966
+ (!elem.contains(document.activeElement) &&
967
+ (elem.touched ||
968
+ (!elem.touched && typeof elem.value !== "undefined"))) ||
969
+ elem.validateOnInput;
930
970
 
931
971
  if (elem.hasAttribute('error')) {
932
972
  elem.validity = 'customError';
933
973
  elem.errorMessage = elem.setCustomValidityCustomError || elem.error || elem.setCustomValidity || '';
974
+ validationShouldRun = false;
934
975
  } else if (validationShouldRun) {
935
976
  elem.validity = 'valid';
936
977
  elem.errorMessage = '';
@@ -951,7 +992,7 @@ class AuroFormValidation {
951
992
  }
952
993
  }
953
994
 
954
- if (!hasValue && elem.required) {
995
+ if (!hasValue && elem.required && elem.touched) {
955
996
  elem.validity = 'valueMissing';
956
997
  elem.errorMessage = elem.setCustomValidityValueMissing || elem.setCustomValidity || '';
957
998
  } else if (this.runtimeUtils.elementMatch(elem, 'auro-input')) {
@@ -962,7 +1003,7 @@ class AuroFormValidation {
962
1003
  }
963
1004
  }
964
1005
 
965
- if (this.auroInputElements?.length > 0) {
1006
+ if (this.auroInputElements?.length > 0 && elem.validity !== "valueMissing") {
966
1007
  elem.validity = this.auroInputElements[0].validity;
967
1008
  elem.errorMessage = this.auroInputElements[0].errorMessage;
968
1009
 
@@ -1041,7 +1082,7 @@ class AuroFormValidation {
1041
1082
  }
1042
1083
  }
1043
1084
  } else {
1044
- elem.errorMessage = undefined;
1085
+ elem.errorMessage = '';
1045
1086
  }
1046
1087
  }
1047
1088
  }
@@ -1092,7 +1133,7 @@ var colorCss$1 = css`:host{color:var(--ds-auro-checkbox-group-text-color)}:host(
1092
1133
 
1093
1134
  var colorCss = css`:host([error]){--ds-auro-helptext-color: var(--ds-basic-color-status-error, #e31f26)}:host([onDark]){--ds-auro-helptext-color: var(--ds-basic-color-texticon-inverse-muted, #ccd2db)}:host([onDark][error]){--ds-auro-helptext-color: var(--ds-advanced-color-state-error-inverse, #f9a4a8)}.helptext-wrapper{color:var(--ds-auro-helptext-color)}`;
1094
1135
 
1095
- var styleCss = css`.helptext-wrapper{display:none;font-size:var(--ds-text-body-size-xs, 0.75rem);line-height:var(--ds-size-200, 1rem)}:host([large]) .helptext-wrapper{font-size:var(--ds-text-body-size-default, 1rem)}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
1136
+ var styleCss = css`.helptext-wrapper{display:none;font-size:var(--ds-basic-text-body-xs-font-size, 12px);font-weight:var(--ds-basic-text-body-xs-font-weight, 450);letter-spacing:var(--ds-basic-text-body-xs-letter-spacing, 0);line-height:var(--ds-basic-text-body-xs-line-height, 16px)}:host([large]) .helptext-wrapper{font-size:var(--ds-basic-text-body-default-font-size, 16px);font-weight:var(--ds-basic-text-body-default-font-weight, 450);letter-spacing:var(--ds-basic-text-body-default-letter-spacing, 0);line-height:var(--ds-basic-text-body-default-line-height, 24px)}.helptext-wrapper[visible]{display:block}::slotted(*:not(:empty)){margin-top:var(--ds-size-50, 0.25rem);margin-bottom:0}::slotted(p){margin-block:0}`;
1096
1137
 
1097
1138
  var tokensCss = css`:host{--ds-auro-helptext-color: var(--ds-basic-color-texticon-muted, #676767)}`;
1098
1139
 
@@ -1321,6 +1362,14 @@ class AuroCheckboxGroup extends LitElement {
1321
1362
  this.horizontal = false;
1322
1363
  this.onDark = false;
1323
1364
 
1365
+ /**
1366
+ * Indicates whether the checkbox group is in a dirty state (has been interacted with).
1367
+ * @type {boolean}
1368
+ * @default false
1369
+ * @private
1370
+ */
1371
+ this.touched = false;
1372
+
1324
1373
  /**
1325
1374
  * @private
1326
1375
  */
@@ -1510,6 +1559,8 @@ class AuroCheckboxGroup extends LitElement {
1510
1559
  };
1511
1560
 
1512
1561
  this.addEventListener('auroCheckbox-focusin', () => {
1562
+ this.touched = true;
1563
+
1513
1564
  if (!this.value) {
1514
1565
  this.value = [];
1515
1566
  }
@@ -111,7 +111,7 @@ The use of any Auro custom element has a dependency on the [Auro Design Tokens](
111
111
  In cases where the project is not able to process JS assets, there are pre-processed assets available for use. Legacy browsers such as IE11 are no longer supported.
112
112
 
113
113
  ```html
114
- <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@3.2.0/auro-combobox/+esm"></script>
114
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@3.3.0-beta.2/auro-combobox/+esm"></script>
115
115
  ```
116
116
  <!-- AURO-GENERATED-CONTENT:END -->
117
117
 
@@ -26,6 +26,7 @@
26
26
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/design-tokens@latest/dist/alaska/CSSCustomProperties--alaska.css">
27
27
  <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/demoWrapper.css" />
28
28
  <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/elementDemoStyles.css" />
29
+ <link rel="stylesheet" type="text/css" href="https://cdn.jsdelivr.net/npm/@aurodesignsystem/webcorestylesheets@latest/dist/bundled/essentials-as.css" />
29
30
  </head>
30
31
  <body class="auro-markdown">
31
32
  <main></main>