@aurodesignsystem/auro-formkit 5.1.1 → 5.1.2

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 (44) hide show
  1. package/CHANGELOG.md +7 -2
  2. package/components/checkbox/demo/api.min.js +37 -9
  3. package/components/checkbox/demo/index.min.js +37 -9
  4. package/components/checkbox/dist/auro-checkbox.d.ts +7 -0
  5. package/components/checkbox/dist/index.js +37 -9
  6. package/components/checkbox/dist/registered.js +37 -9
  7. package/components/combobox/demo/api.min.js +51 -24
  8. package/components/combobox/demo/index.min.js +51 -24
  9. package/components/combobox/dist/index.js +51 -24
  10. package/components/combobox/dist/registered.js +51 -24
  11. package/components/counter/demo/api.min.js +25 -9
  12. package/components/counter/demo/index.min.js +25 -9
  13. package/components/counter/dist/index.js +25 -9
  14. package/components/counter/dist/registered.js +25 -9
  15. package/components/datepicker/demo/api.md +1 -0
  16. package/components/datepicker/demo/api.min.js +45 -19
  17. package/components/datepicker/demo/index.min.js +45 -19
  18. package/components/datepicker/dist/index.js +45 -19
  19. package/components/datepicker/dist/registered.js +45 -19
  20. package/components/dropdown/demo/api.min.js +8 -0
  21. package/components/dropdown/demo/index.min.js +8 -0
  22. package/components/dropdown/dist/index.js +8 -0
  23. package/components/dropdown/dist/registered.js +8 -0
  24. package/components/input/demo/api.min.js +17 -9
  25. package/components/input/demo/index.min.js +17 -9
  26. package/components/input/dist/index.js +17 -9
  27. package/components/input/dist/registered.js +17 -9
  28. package/components/layoutElement/dist/auroElement.d.ts +5 -0
  29. package/components/layoutElement/dist/index.js +8 -0
  30. package/components/layoutElement/dist/registered.js +8 -0
  31. package/components/menu/demo/api.min.js +8 -0
  32. package/components/menu/demo/index.min.js +8 -0
  33. package/components/menu/dist/index.js +8 -0
  34. package/components/menu/dist/registered.js +8 -0
  35. package/components/radio/demo/api.min.js +15 -13
  36. package/components/radio/demo/index.min.js +15 -13
  37. package/components/radio/dist/auro-radio.d.ts +1 -1
  38. package/components/radio/dist/index.js +15 -13
  39. package/components/radio/dist/registered.js +15 -13
  40. package/components/select/demo/api.min.js +25 -9
  41. package/components/select/demo/index.min.js +25 -9
  42. package/components/select/dist/index.js +25 -9
  43. package/components/select/dist/registered.js +25 -9
  44. package/package.json +1 -1
@@ -835,16 +835,16 @@ let AuroFormValidation$1 = class AuroFormValidation {
835
835
  }
836
836
 
837
837
  this.getErrorMessage(elem);
838
-
839
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
840
- bubbles: true,
841
- composed: true,
842
- detail: {
843
- validity: elem.validity,
844
- message: elem.errorMessage
845
- }
846
- }));
847
838
  }
839
+
840
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
841
+ bubbles: true,
842
+ composed: true,
843
+ detail: {
844
+ validity: elem.validity,
845
+ message: elem.errorMessage
846
+ }
847
+ }));
848
848
  }
849
849
 
850
850
  /**
@@ -4294,6 +4294,14 @@ let AuroElement$4 = class AuroElement extends LitElement {
4294
4294
  };
4295
4295
  }
4296
4296
 
4297
+ /**
4298
+ * Returns true if the element has focus.
4299
+ * @returns {boolean} - Returns true if the element has focus.
4300
+ */
4301
+ get componentHasFocus() {
4302
+ return this.matches(':focus');
4303
+ }
4304
+
4297
4305
  resetShapeClasses() {
4298
4306
  const wrapper = this.shadowRoot.querySelector('.wrapper');
4299
4307
 
@@ -10031,16 +10039,16 @@ class AuroFormValidation {
10031
10039
  }
10032
10040
 
10033
10041
  this.getErrorMessage(elem);
10034
-
10035
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
10036
- bubbles: true,
10037
- composed: true,
10038
- detail: {
10039
- validity: elem.validity,
10040
- message: elem.errorMessage
10041
- }
10042
- }));
10043
10042
  }
10043
+
10044
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
10045
+ bubbles: true,
10046
+ composed: true,
10047
+ detail: {
10048
+ validity: elem.validity,
10049
+ message: elem.errorMessage
10050
+ }
10051
+ }));
10044
10052
  }
10045
10053
 
10046
10054
  /**
@@ -10132,6 +10140,14 @@ let AuroElement$2$1 = class AuroElement extends LitElement {
10132
10140
  };
10133
10141
  }
10134
10142
 
10143
+ /**
10144
+ * Returns true if the element has focus.
10145
+ * @returns {boolean} - Returns true if the element has focus.
10146
+ */
10147
+ get componentHasFocus() {
10148
+ return this.matches(':focus');
10149
+ }
10150
+
10135
10151
  resetShapeClasses() {
10136
10152
  const wrapper = this.shadowRoot.querySelector('.wrapper');
10137
10153
 
@@ -15561,7 +15577,7 @@ class AuroBibtemplate extends LitElement {
15561
15577
 
15562
15578
  var bibTemplateVersion = '1.0.0';
15563
15579
 
15564
- var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-input]{--ds-auro-input-container-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host #inputInBib::part(accent-right){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
15580
+ var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-input]{--ds-auro-input-background-color: transparent;--ds-auro-input-container-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host #inputInBib::part(accent-right){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
15565
15581
 
15566
15582
  var styleEmphasizedCss = css`:host([layout*=emphasized][shape*=pill]) [auro-input]{width:100%}:host([layout*=emphasized][shape*=pill]) [auro-input]::part(inputHelpText){display:none}`;
15567
15583
 
@@ -15601,6 +15617,14 @@ class AuroElement extends LitElement {
15601
15617
  };
15602
15618
  }
15603
15619
 
15620
+ /**
15621
+ * Returns true if the element has focus.
15622
+ * @returns {boolean} - Returns true if the element has focus.
15623
+ */
15624
+ get componentHasFocus() {
15625
+ return this.matches(':focus');
15626
+ }
15627
+
15604
15628
  resetShapeClasses() {
15605
15629
  const wrapper = this.shadowRoot.querySelector('.wrapper');
15606
15630
 
@@ -16426,7 +16450,7 @@ class AuroCombobox extends AuroElement {
16426
16450
 
16427
16451
  // wait a frame in case the bib gets hide immediately after showing because there is no value
16428
16452
  setTimeout(() => {
16429
- if (document.activeElement === this) {
16453
+ if (this.componentHasFocus) {
16430
16454
  this.setInputFocus();
16431
16455
  }
16432
16456
  }, 0);
@@ -16591,13 +16615,16 @@ class AuroCombobox extends AuroElement {
16591
16615
  * Validate every time we remove focus from the combo box.
16592
16616
  */
16593
16617
  this.addEventListener('focusout', () => {
16594
- if (document.activeElement !== this) {
16618
+ if (!this.componentHasFocus) {
16595
16619
  this.validate();
16596
16620
  }
16597
16621
  });
16598
16622
 
16599
16623
  // Handle validation messages from auroFormElement-validated event
16600
16624
  this.input.addEventListener('auroFormElement-validated', (evt) => {
16625
+ // not to bubble up input's validated event.
16626
+ evt.stopPropagation();
16627
+
16601
16628
  this.errorMessage = evt.detail.message;
16602
16629
  });
16603
16630
  }
@@ -16668,7 +16695,7 @@ class AuroCombobox extends AuroElement {
16668
16695
  this.handleMenuOptions();
16669
16696
 
16670
16697
  // Validate only if the value was set programmatically
16671
- if (document.activeElement !== this) {
16698
+ if (!this.componentHasFocus) {
16672
16699
  this.validate();
16673
16700
  }
16674
16701
 
@@ -16708,7 +16735,7 @@ class AuroCombobox extends AuroElement {
16708
16735
  }
16709
16736
  } else {
16710
16737
  setTimeout(() => {
16711
- if (document.activeElement !== this) {
16738
+ if (!this.componentHasFocus) {
16712
16739
  this.hideBib();
16713
16740
  }
16714
16741
  }, 0);
@@ -16829,7 +16856,7 @@ class AuroCombobox extends AuroElement {
16829
16856
  }
16830
16857
 
16831
16858
  if (changedProperties.has('availableOptions')) {
16832
- if (this.availableOptions && this.availableOptions.length > 0 && document.activeElement === this) {
16859
+ if (this.availableOptions && this.availableOptions.length > 0 && this.componentHasFocus) {
16833
16860
  this.showBib();
16834
16861
  } else {
16835
16862
  this.hideBib();
@@ -835,16 +835,16 @@ let AuroFormValidation$1 = class AuroFormValidation {
835
835
  }
836
836
 
837
837
  this.getErrorMessage(elem);
838
-
839
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
840
- bubbles: true,
841
- composed: true,
842
- detail: {
843
- validity: elem.validity,
844
- message: elem.errorMessage
845
- }
846
- }));
847
838
  }
839
+
840
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
841
+ bubbles: true,
842
+ composed: true,
843
+ detail: {
844
+ validity: elem.validity,
845
+ message: elem.errorMessage
846
+ }
847
+ }));
848
848
  }
849
849
 
850
850
  /**
@@ -4294,6 +4294,14 @@ let AuroElement$4 = class AuroElement extends LitElement {
4294
4294
  };
4295
4295
  }
4296
4296
 
4297
+ /**
4298
+ * Returns true if the element has focus.
4299
+ * @returns {boolean} - Returns true if the element has focus.
4300
+ */
4301
+ get componentHasFocus() {
4302
+ return this.matches(':focus');
4303
+ }
4304
+
4297
4305
  resetShapeClasses() {
4298
4306
  const wrapper = this.shadowRoot.querySelector('.wrapper');
4299
4307
 
@@ -10031,16 +10039,16 @@ class AuroFormValidation {
10031
10039
  }
10032
10040
 
10033
10041
  this.getErrorMessage(elem);
10034
-
10035
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
10036
- bubbles: true,
10037
- composed: true,
10038
- detail: {
10039
- validity: elem.validity,
10040
- message: elem.errorMessage
10041
- }
10042
- }));
10043
10042
  }
10043
+
10044
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
10045
+ bubbles: true,
10046
+ composed: true,
10047
+ detail: {
10048
+ validity: elem.validity,
10049
+ message: elem.errorMessage
10050
+ }
10051
+ }));
10044
10052
  }
10045
10053
 
10046
10054
  /**
@@ -10132,6 +10140,14 @@ let AuroElement$2$1 = class AuroElement extends LitElement {
10132
10140
  };
10133
10141
  }
10134
10142
 
10143
+ /**
10144
+ * Returns true if the element has focus.
10145
+ * @returns {boolean} - Returns true if the element has focus.
10146
+ */
10147
+ get componentHasFocus() {
10148
+ return this.matches(':focus');
10149
+ }
10150
+
10135
10151
  resetShapeClasses() {
10136
10152
  const wrapper = this.shadowRoot.querySelector('.wrapper');
10137
10153
 
@@ -15561,7 +15577,7 @@ class AuroBibtemplate extends LitElement {
15561
15577
 
15562
15578
  var bibTemplateVersion = '1.0.0';
15563
15579
 
15564
- var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-input]{--ds-auro-input-container-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host #inputInBib::part(accent-right){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
15580
+ var styleCss$1 = css`.util_displayInline{display:inline}.util_displayInlineBlock{display:inline-block}.util_displayBlock{display:block}.util_displayFlex{display:flex}.util_displayHidden{display:none}.util_displayHiddenVisually{position:absolute;overflow:hidden;clip:rect(1px, 1px, 1px, 1px);width:1px;height:1px;padding:0;border:0}:host{display:block;text-align:left}:host [auro-input]{--ds-auro-input-background-color: transparent;--ds-auro-input-container-color: transparent}:host #inputInBib::part(wrapper){box-shadow:none}:host #inputInBib::part(accent-left){display:none}:host #inputInBib::part(accent-right){display:none}:host([layout*=classic]) [auro-input]{width:100%}:host([layout*=classic]) [auro-input]::part(helpText){display:none}:host([layout*=classic]) #slotHolder{display:none}`;
15565
15581
 
15566
15582
  var styleEmphasizedCss = css`:host([layout*=emphasized][shape*=pill]) [auro-input]{width:100%}:host([layout*=emphasized][shape*=pill]) [auro-input]::part(inputHelpText){display:none}`;
15567
15583
 
@@ -15601,6 +15617,14 @@ class AuroElement extends LitElement {
15601
15617
  };
15602
15618
  }
15603
15619
 
15620
+ /**
15621
+ * Returns true if the element has focus.
15622
+ * @returns {boolean} - Returns true if the element has focus.
15623
+ */
15624
+ get componentHasFocus() {
15625
+ return this.matches(':focus');
15626
+ }
15627
+
15604
15628
  resetShapeClasses() {
15605
15629
  const wrapper = this.shadowRoot.querySelector('.wrapper');
15606
15630
 
@@ -16426,7 +16450,7 @@ class AuroCombobox extends AuroElement {
16426
16450
 
16427
16451
  // wait a frame in case the bib gets hide immediately after showing because there is no value
16428
16452
  setTimeout(() => {
16429
- if (document.activeElement === this) {
16453
+ if (this.componentHasFocus) {
16430
16454
  this.setInputFocus();
16431
16455
  }
16432
16456
  }, 0);
@@ -16591,13 +16615,16 @@ class AuroCombobox extends AuroElement {
16591
16615
  * Validate every time we remove focus from the combo box.
16592
16616
  */
16593
16617
  this.addEventListener('focusout', () => {
16594
- if (document.activeElement !== this) {
16618
+ if (!this.componentHasFocus) {
16595
16619
  this.validate();
16596
16620
  }
16597
16621
  });
16598
16622
 
16599
16623
  // Handle validation messages from auroFormElement-validated event
16600
16624
  this.input.addEventListener('auroFormElement-validated', (evt) => {
16625
+ // not to bubble up input's validated event.
16626
+ evt.stopPropagation();
16627
+
16601
16628
  this.errorMessage = evt.detail.message;
16602
16629
  });
16603
16630
  }
@@ -16668,7 +16695,7 @@ class AuroCombobox extends AuroElement {
16668
16695
  this.handleMenuOptions();
16669
16696
 
16670
16697
  // Validate only if the value was set programmatically
16671
- if (document.activeElement !== this) {
16698
+ if (!this.componentHasFocus) {
16672
16699
  this.validate();
16673
16700
  }
16674
16701
 
@@ -16708,7 +16735,7 @@ class AuroCombobox extends AuroElement {
16708
16735
  }
16709
16736
  } else {
16710
16737
  setTimeout(() => {
16711
- if (document.activeElement !== this) {
16738
+ if (!this.componentHasFocus) {
16712
16739
  this.hideBib();
16713
16740
  }
16714
16741
  }, 0);
@@ -16829,7 +16856,7 @@ class AuroCombobox extends AuroElement {
16829
16856
  }
16830
16857
 
16831
16858
  if (changedProperties.has('availableOptions')) {
16832
- if (this.availableOptions && this.availableOptions.length > 0 && document.activeElement === this) {
16859
+ if (this.availableOptions && this.availableOptions.length > 0 && this.componentHasFocus) {
16833
16860
  this.showBib();
16834
16861
  } else {
16835
16862
  this.hideBib();
@@ -2423,16 +2423,16 @@ class AuroFormValidation {
2423
2423
  }
2424
2424
 
2425
2425
  this.getErrorMessage(elem);
2426
-
2427
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
2428
- bubbles: true,
2429
- composed: true,
2430
- detail: {
2431
- validity: elem.validity,
2432
- message: elem.errorMessage
2433
- }
2434
- }));
2435
2426
  }
2427
+
2428
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
2429
+ bubbles: true,
2430
+ composed: true,
2431
+ detail: {
2432
+ validity: elem.validity,
2433
+ message: elem.errorMessage
2434
+ }
2435
+ }));
2436
2436
  }
2437
2437
 
2438
2438
  /**
@@ -6526,6 +6526,14 @@ let AuroElement$3 = class AuroElement extends i$2 {
6526
6526
  };
6527
6527
  }
6528
6528
 
6529
+ /**
6530
+ * Returns true if the element has focus.
6531
+ * @returns {boolean} - Returns true if the element has focus.
6532
+ */
6533
+ get componentHasFocus() {
6534
+ return this.matches(':focus');
6535
+ }
6536
+
6529
6537
  resetShapeClasses() {
6530
6538
  const wrapper = this.shadowRoot.querySelector('.wrapper');
6531
6539
 
@@ -9510,6 +9518,14 @@ class AuroElement extends i$2 {
9510
9518
  };
9511
9519
  }
9512
9520
 
9521
+ /**
9522
+ * Returns true if the element has focus.
9523
+ * @returns {boolean} - Returns true if the element has focus.
9524
+ */
9525
+ get componentHasFocus() {
9526
+ return this.matches(':focus');
9527
+ }
9528
+
9513
9529
  resetShapeClasses() {
9514
9530
  const wrapper = this.shadowRoot.querySelector('.wrapper');
9515
9531
 
@@ -2423,16 +2423,16 @@ class AuroFormValidation {
2423
2423
  }
2424
2424
 
2425
2425
  this.getErrorMessage(elem);
2426
-
2427
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
2428
- bubbles: true,
2429
- composed: true,
2430
- detail: {
2431
- validity: elem.validity,
2432
- message: elem.errorMessage
2433
- }
2434
- }));
2435
2426
  }
2427
+
2428
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
2429
+ bubbles: true,
2430
+ composed: true,
2431
+ detail: {
2432
+ validity: elem.validity,
2433
+ message: elem.errorMessage
2434
+ }
2435
+ }));
2436
2436
  }
2437
2437
 
2438
2438
  /**
@@ -6526,6 +6526,14 @@ let AuroElement$3 = class AuroElement extends i$2 {
6526
6526
  };
6527
6527
  }
6528
6528
 
6529
+ /**
6530
+ * Returns true if the element has focus.
6531
+ * @returns {boolean} - Returns true if the element has focus.
6532
+ */
6533
+ get componentHasFocus() {
6534
+ return this.matches(':focus');
6535
+ }
6536
+
6529
6537
  resetShapeClasses() {
6530
6538
  const wrapper = this.shadowRoot.querySelector('.wrapper');
6531
6539
 
@@ -9510,6 +9518,14 @@ class AuroElement extends i$2 {
9510
9518
  };
9511
9519
  }
9512
9520
 
9521
+ /**
9522
+ * Returns true if the element has focus.
9523
+ * @returns {boolean} - Returns true if the element has focus.
9524
+ */
9525
+ get componentHasFocus() {
9526
+ return this.matches(':focus');
9527
+ }
9528
+
9513
9529
  resetShapeClasses() {
9514
9530
  const wrapper = this.shadowRoot.querySelector('.wrapper');
9515
9531
 
@@ -2376,16 +2376,16 @@ class AuroFormValidation {
2376
2376
  }
2377
2377
 
2378
2378
  this.getErrorMessage(elem);
2379
-
2380
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
2381
- bubbles: true,
2382
- composed: true,
2383
- detail: {
2384
- validity: elem.validity,
2385
- message: elem.errorMessage
2386
- }
2387
- }));
2388
2379
  }
2380
+
2381
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
2382
+ bubbles: true,
2383
+ composed: true,
2384
+ detail: {
2385
+ validity: elem.validity,
2386
+ message: elem.errorMessage
2387
+ }
2388
+ }));
2389
2389
  }
2390
2390
 
2391
2391
  /**
@@ -6479,6 +6479,14 @@ let AuroElement$3 = class AuroElement extends LitElement {
6479
6479
  };
6480
6480
  }
6481
6481
 
6482
+ /**
6483
+ * Returns true if the element has focus.
6484
+ * @returns {boolean} - Returns true if the element has focus.
6485
+ */
6486
+ get componentHasFocus() {
6487
+ return this.matches(':focus');
6488
+ }
6489
+
6482
6490
  resetShapeClasses() {
6483
6491
  const wrapper = this.shadowRoot.querySelector('.wrapper');
6484
6492
 
@@ -9463,6 +9471,14 @@ class AuroElement extends LitElement {
9463
9471
  };
9464
9472
  }
9465
9473
 
9474
+ /**
9475
+ * Returns true if the element has focus.
9476
+ * @returns {boolean} - Returns true if the element has focus.
9477
+ */
9478
+ get componentHasFocus() {
9479
+ return this.matches(':focus');
9480
+ }
9481
+
9466
9482
  resetShapeClasses() {
9467
9483
  const wrapper = this.shadowRoot.querySelector('.wrapper');
9468
9484
 
@@ -2376,16 +2376,16 @@ class AuroFormValidation {
2376
2376
  }
2377
2377
 
2378
2378
  this.getErrorMessage(elem);
2379
-
2380
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
2381
- bubbles: true,
2382
- composed: true,
2383
- detail: {
2384
- validity: elem.validity,
2385
- message: elem.errorMessage
2386
- }
2387
- }));
2388
2379
  }
2380
+
2381
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
2382
+ bubbles: true,
2383
+ composed: true,
2384
+ detail: {
2385
+ validity: elem.validity,
2386
+ message: elem.errorMessage
2387
+ }
2388
+ }));
2389
2389
  }
2390
2390
 
2391
2391
  /**
@@ -6479,6 +6479,14 @@ let AuroElement$3 = class AuroElement extends LitElement {
6479
6479
  };
6480
6480
  }
6481
6481
 
6482
+ /**
6483
+ * Returns true if the element has focus.
6484
+ * @returns {boolean} - Returns true if the element has focus.
6485
+ */
6486
+ get componentHasFocus() {
6487
+ return this.matches(':focus');
6488
+ }
6489
+
6482
6490
  resetShapeClasses() {
6483
6491
  const wrapper = this.shadowRoot.querySelector('.wrapper');
6484
6492
 
@@ -9463,6 +9471,14 @@ class AuroElement extends LitElement {
9463
9471
  };
9464
9472
  }
9465
9473
 
9474
+ /**
9475
+ * Returns true if the element has focus.
9476
+ * @returns {boolean} - Returns true if the element has focus.
9477
+ */
9478
+ get componentHasFocus() {
9479
+ return this.matches(':focus');
9480
+ }
9481
+
9466
9482
  resetShapeClasses() {
9467
9483
  const wrapper = this.shadowRoot.querySelector('.wrapper');
9468
9484
 
@@ -12,6 +12,7 @@
12
12
  | [calendarFocusDate](#calendarFocusDate) | `calendarFocusDate` | | `string` | "value" | The date that will first be visually rendered to the user in the calendar. |
13
13
  | [calendarStartDate](#calendarStartDate) | `calendarStartDate` | | `string` | "undefined" | The first date that may be displayed in the calendar. |
14
14
  | [centralDate](#centralDate) | `centralDate` | | `string` | | The date that determines the currently visible month. |
15
+ | [componentHasFocus](#componentHasFocus) | | readonly | `boolean` | | Returns true if the element has focus. |
15
16
  | [disabled](#disabled) | `disabled` | | `boolean` | false | If set, disables the datepicker. |
16
17
  | [error](#error) | `error` | | `string` | | When defined, sets persistent validity to `customError` and sets the validation message to the attribute value. |
17
18
  | [format](#format) | `format` | | `string` | "mm/dd/yyyy" | Specifies the date format. The default is `mm/dd/yyyy`. |
@@ -1075,16 +1075,16 @@ let AuroFormValidation$1 = class AuroFormValidation {
1075
1075
  }
1076
1076
 
1077
1077
  this.getErrorMessage(elem);
1078
-
1079
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
1080
- bubbles: true,
1081
- composed: true,
1082
- detail: {
1083
- validity: elem.validity,
1084
- message: elem.errorMessage
1085
- }
1086
- }));
1087
1078
  }
1079
+
1080
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
1081
+ bubbles: true,
1082
+ composed: true,
1083
+ detail: {
1084
+ validity: elem.validity,
1085
+ message: elem.errorMessage
1086
+ }
1087
+ }));
1088
1088
  }
1089
1089
 
1090
1090
  /**
@@ -17947,6 +17947,14 @@ let AuroElement$4 = class AuroElement extends i {
17947
17947
  };
17948
17948
  }
17949
17949
 
17950
+ /**
17951
+ * Returns true if the element has focus.
17952
+ * @returns {boolean} - Returns true if the element has focus.
17953
+ */
17954
+ get componentHasFocus() {
17955
+ return this.matches(':focus');
17956
+ }
17957
+
17950
17958
  resetShapeClasses() {
17951
17959
  const wrapper = this.shadowRoot.querySelector('.wrapper');
17952
17960
 
@@ -23697,16 +23705,16 @@ class AuroFormValidation {
23697
23705
  }
23698
23706
 
23699
23707
  this.getErrorMessage(elem);
23700
-
23701
- elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
23702
- bubbles: true,
23703
- composed: true,
23704
- detail: {
23705
- validity: elem.validity,
23706
- message: elem.errorMessage
23707
- }
23708
- }));
23709
23708
  }
23709
+
23710
+ elem.dispatchEvent(new CustomEvent('auroFormElement-validated', {
23711
+ bubbles: true,
23712
+ composed: true,
23713
+ detail: {
23714
+ validity: elem.validity,
23715
+ message: elem.errorMessage
23716
+ }
23717
+ }));
23710
23718
  }
23711
23719
 
23712
23720
  /**
@@ -23798,6 +23806,14 @@ let AuroElement$2 = class AuroElement extends i {
23798
23806
  };
23799
23807
  }
23800
23808
 
23809
+ /**
23810
+ * Returns true if the element has focus.
23811
+ * @returns {boolean} - Returns true if the element has focus.
23812
+ */
23813
+ get componentHasFocus() {
23814
+ return this.matches(':focus');
23815
+ }
23816
+
23801
23817
  resetShapeClasses() {
23802
23818
  const wrapper = this.shadowRoot.querySelector('.wrapper');
23803
23819
 
@@ -27526,6 +27542,14 @@ let AuroElement$1 = class AuroElement extends i {
27526
27542
  };
27527
27543
  }
27528
27544
 
27545
+ /**
27546
+ * Returns true if the element has focus.
27547
+ * @returns {boolean} - Returns true if the element has focus.
27548
+ */
27549
+ get componentHasFocus() {
27550
+ return this.matches(':focus');
27551
+ }
27552
+
27529
27553
  resetShapeClasses() {
27530
27554
  const wrapper = this.shadowRoot.querySelector('.wrapper');
27531
27555
 
@@ -28782,6 +28806,9 @@ class AuroDatePicker extends AuroElement$1 {
28782
28806
  });
28783
28807
 
28784
28808
  input.addEventListener('auroFormElement-validated', (evt) => {
28809
+ // not to bubble up input's validated event.
28810
+ evt.stopPropagation();
28811
+
28785
28812
  if (evt.detail.validity === 'customError') {
28786
28813
  this.validity = evt.detail.validity;
28787
28814
  this.errorMessage = evt.detail.message;
@@ -29119,7 +29146,6 @@ class AuroDatePicker extends AuroElement$1 {
29119
29146
  }
29120
29147
 
29121
29148
  this.setHasValue();
29122
- this.validate();
29123
29149
  }
29124
29150
 
29125
29151
  if (changedProperties.has('valueEnd') && this.inputList[1]) {