@aurodesignsystem-dev/auro-formkit 0.0.0-pr802.0 → 0.0.0-pr805.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 (44) hide show
  1. package/components/bibtemplate/dist/index.js +1 -1
  2. package/components/bibtemplate/dist/registered.js +1 -1
  3. package/components/checkbox/demo/api.md +2 -1
  4. package/components/checkbox/demo/api.min.js +7 -0
  5. package/components/checkbox/demo/index.min.js +7 -0
  6. package/components/checkbox/dist/index.js +7 -0
  7. package/components/checkbox/dist/registered.js +7 -0
  8. package/components/combobox/demo/api.md +2 -0
  9. package/components/combobox/demo/api.min.js +11 -63
  10. package/components/combobox/demo/index.min.js +11 -63
  11. package/components/combobox/dist/auro-combobox.d.ts +2 -4
  12. package/components/combobox/dist/index.js +11 -63
  13. package/components/combobox/dist/registered.js +11 -63
  14. package/components/counter/demo/api.md +2 -0
  15. package/components/counter/demo/api.min.js +31 -61
  16. package/components/counter/demo/index.min.js +31 -61
  17. package/components/counter/dist/auro-counter-group.d.ts +10 -0
  18. package/components/counter/dist/index.js +31 -61
  19. package/components/counter/dist/registered.js +31 -61
  20. package/components/datepicker/README.md +1 -1
  21. package/components/datepicker/demo/api.md +41 -19
  22. package/components/datepicker/demo/api.min.js +242 -159
  23. package/components/datepicker/demo/index.md +4 -4
  24. package/components/datepicker/demo/index.min.js +242 -159
  25. package/components/datepicker/demo/readme.md +1 -1
  26. package/components/datepicker/dist/auro-datepicker.d.ts +73 -12
  27. package/components/datepicker/dist/index.js +242 -159
  28. package/components/datepicker/dist/registered.js +242 -159
  29. package/components/datepicker/dist/styles/classic/style-css.d.ts +2 -0
  30. package/components/dropdown/demo/api.md +1 -1
  31. package/components/dropdown/demo/api.min.js +10 -60
  32. package/components/dropdown/demo/index.min.js +10 -60
  33. package/components/dropdown/dist/auro-dropdown.d.ts +0 -7
  34. package/components/dropdown/dist/index.js +10 -60
  35. package/components/dropdown/dist/registered.js +10 -60
  36. package/components/select/demo/api.md +46 -64
  37. package/components/select/demo/api.min.js +32 -72
  38. package/components/select/demo/index.md +1057 -137
  39. package/components/select/demo/index.min.js +32 -72
  40. package/components/select/dist/auro-select.d.ts +10 -5
  41. package/components/select/dist/index.js +32 -72
  42. package/components/select/dist/registered.js +32 -72
  43. package/package.json +1 -1
  44. /package/components/datepicker/dist/styles/{default → classic}/color-css.d.ts +0 -0
@@ -6584,6 +6584,7 @@ let AuroElement$3 = class AuroElement extends i$2 {
6584
6584
  // See LICENSE in the project root for license information.
6585
6585
 
6586
6586
 
6587
+
6587
6588
  /*
6588
6589
  * @slot - Default slot for the popover content.
6589
6590
  * @slot helpText - Defines the content of the helpText.
@@ -7087,6 +7088,13 @@ class AuroDropdown extends AuroElement$3 {
7087
7088
 
7088
7089
  // Add the tag name as an attribute if it is different than the component name
7089
7090
  this.runtimeUtils.handleComponentTagRename(this, 'auro-dropdown');
7091
+
7092
+ this.trigger.addEventListener('click', () => {
7093
+ this.dispatchEvent(new CustomEvent('auroDropdown-triggerClick', {
7094
+ bubbles: true,
7095
+ composed: true
7096
+ }));
7097
+ });
7090
7098
  }
7091
7099
 
7092
7100
  /**
@@ -7159,64 +7167,6 @@ class AuroDropdown extends AuroElement$3 {
7159
7167
  this.hasFocus = false;
7160
7168
  }
7161
7169
 
7162
- /**
7163
- * Determines if the element or any children are focusable.
7164
- * @private
7165
- * @param {HTMLElement} element - Element to check.
7166
- * @returns {Boolean} - True if the element or any children are focusable.
7167
- */
7168
- containsFocusableElement(element) {
7169
- this.showTriggerBorders = true;
7170
-
7171
- const nodes = [
7172
- element,
7173
- ...element.children
7174
- ];
7175
-
7176
- const focusableElements = [
7177
- 'a',
7178
- 'auro-hyperlink',
7179
- 'button',
7180
- 'auro-button',
7181
- 'input',
7182
- 'auro-input',
7183
- ];
7184
-
7185
- const focusableElementsThatNeedBorders = ['auro-input'];
7186
-
7187
- const result = nodes.some((node) => {
7188
- const tagName = node.tagName.toLowerCase();
7189
-
7190
- if (node.tabIndex > -1) {
7191
- return true;
7192
- }
7193
-
7194
- if (focusableElements.includes(tagName)) {
7195
- if ((tagName === 'a' || tagName === 'auro-hyperlink' || node.hasAttribute('auro-hyperlink')) && node.hasAttribute('href')) {
7196
- return true;
7197
- }
7198
- if (!node.hasAttribute('disabled')) {
7199
- return true;
7200
- }
7201
- }
7202
-
7203
- if (focusableElements.some((focusableElement) => focusableElement.startsWith('auro-') && (focusableElement === tagName || node.hasAttribute(focusableElement)))) {
7204
- return true;
7205
- }
7206
-
7207
- return false;
7208
- });
7209
-
7210
- if (result) {
7211
- this.showTriggerBorders = !nodes.some((node) => {
7212
- const tagName = node.tagName.toLowerCase();
7213
- return focusableElements.includes(tagName) && !focusableElementsThatNeedBorders.includes(tagName);
7214
- });
7215
- }
7216
-
7217
- return result;
7218
- }
7219
-
7220
7170
  /**
7221
7171
  * Creates and dispatches a duplicate focus event on the trigger element.
7222
7172
  * @private
@@ -7328,7 +7278,7 @@ class AuroDropdown extends AuroElement$3 {
7328
7278
  if (triggerContentNodes) {
7329
7279
 
7330
7280
  // See if any of them are focusable elements
7331
- this.triggerContentFocusable = triggerContentNodes.some((node) => this.containsFocusableElement(node));
7281
+ this.triggerContentFocusable = triggerContentNodes.some((node) => getFocusableElements(node).length > 0);
7332
7282
 
7333
7283
  // If any of them are focusable elements
7334
7284
  if (this.triggerContentFocusable) {
@@ -7400,7 +7350,7 @@ class AuroDropdown extends AuroElement$3 {
7400
7350
  <div
7401
7351
  id="trigger"
7402
7352
  class="${e(this.commonWrapperClasses)}" part="wrapper"
7403
- tabindex="${this.tabIndex}"
7353
+ tabindex="${o(this.triggerContentFocusable ? undefined : this.tabIndex)}"
7404
7354
  role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
7405
7355
  aria-expanded="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
7406
7356
  aria-controls="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
@@ -9373,7 +9323,7 @@ class AuroBibtemplate extends i$2 {
9373
9323
  /**
9374
9324
  * @private
9375
9325
  */
9376
- this.buttonTag = versioning.generateTag('auro-formkit-input-button', buttonVersion, AuroButton);
9326
+ this.buttonTag = versioning.generateTag('auro-formkit-bibtemplate-button', buttonVersion, AuroButton);
9377
9327
  }
9378
9328
 
9379
9329
  static get styles() {
@@ -10040,6 +9990,26 @@ class AuroCounterGroup extends AuroElement {
10040
9990
  });
10041
9991
  }
10042
9992
 
9993
+ /**
9994
+ * Hides the dropdown bib if its open.
9995
+ * @returns {void}
9996
+ */
9997
+ hideBib() {
9998
+ if (this.dropdown && this.dropdown.isPopoverVisible) {
9999
+ this.dropdown.hide();
10000
+ }
10001
+ }
10002
+
10003
+ /**
10004
+ * Shows the dropdown bib if there are options to show.
10005
+ * @returns {void}
10006
+ */
10007
+ showBib() {
10008
+ if (this.dropdown && !this.dropdown.isPopoverVisible) {
10009
+ this.dropdown.show();
10010
+ }
10011
+ }
10012
+
10043
10013
  /**
10044
10014
  * Configures the dropdown counters by selecting all `auro-counter` elements,
10045
10015
  * appending them to the `auro-counter-wrapper` element within the shadow DOM,
@@ -6584,6 +6584,7 @@ let AuroElement$3 = class AuroElement extends i$2 {
6584
6584
  // See LICENSE in the project root for license information.
6585
6585
 
6586
6586
 
6587
+
6587
6588
  /*
6588
6589
  * @slot - Default slot for the popover content.
6589
6590
  * @slot helpText - Defines the content of the helpText.
@@ -7087,6 +7088,13 @@ class AuroDropdown extends AuroElement$3 {
7087
7088
 
7088
7089
  // Add the tag name as an attribute if it is different than the component name
7089
7090
  this.runtimeUtils.handleComponentTagRename(this, 'auro-dropdown');
7091
+
7092
+ this.trigger.addEventListener('click', () => {
7093
+ this.dispatchEvent(new CustomEvent('auroDropdown-triggerClick', {
7094
+ bubbles: true,
7095
+ composed: true
7096
+ }));
7097
+ });
7090
7098
  }
7091
7099
 
7092
7100
  /**
@@ -7159,64 +7167,6 @@ class AuroDropdown extends AuroElement$3 {
7159
7167
  this.hasFocus = false;
7160
7168
  }
7161
7169
 
7162
- /**
7163
- * Determines if the element or any children are focusable.
7164
- * @private
7165
- * @param {HTMLElement} element - Element to check.
7166
- * @returns {Boolean} - True if the element or any children are focusable.
7167
- */
7168
- containsFocusableElement(element) {
7169
- this.showTriggerBorders = true;
7170
-
7171
- const nodes = [
7172
- element,
7173
- ...element.children
7174
- ];
7175
-
7176
- const focusableElements = [
7177
- 'a',
7178
- 'auro-hyperlink',
7179
- 'button',
7180
- 'auro-button',
7181
- 'input',
7182
- 'auro-input',
7183
- ];
7184
-
7185
- const focusableElementsThatNeedBorders = ['auro-input'];
7186
-
7187
- const result = nodes.some((node) => {
7188
- const tagName = node.tagName.toLowerCase();
7189
-
7190
- if (node.tabIndex > -1) {
7191
- return true;
7192
- }
7193
-
7194
- if (focusableElements.includes(tagName)) {
7195
- if ((tagName === 'a' || tagName === 'auro-hyperlink' || node.hasAttribute('auro-hyperlink')) && node.hasAttribute('href')) {
7196
- return true;
7197
- }
7198
- if (!node.hasAttribute('disabled')) {
7199
- return true;
7200
- }
7201
- }
7202
-
7203
- if (focusableElements.some((focusableElement) => focusableElement.startsWith('auro-') && (focusableElement === tagName || node.hasAttribute(focusableElement)))) {
7204
- return true;
7205
- }
7206
-
7207
- return false;
7208
- });
7209
-
7210
- if (result) {
7211
- this.showTriggerBorders = !nodes.some((node) => {
7212
- const tagName = node.tagName.toLowerCase();
7213
- return focusableElements.includes(tagName) && !focusableElementsThatNeedBorders.includes(tagName);
7214
- });
7215
- }
7216
-
7217
- return result;
7218
- }
7219
-
7220
7170
  /**
7221
7171
  * Creates and dispatches a duplicate focus event on the trigger element.
7222
7172
  * @private
@@ -7328,7 +7278,7 @@ class AuroDropdown extends AuroElement$3 {
7328
7278
  if (triggerContentNodes) {
7329
7279
 
7330
7280
  // See if any of them are focusable elements
7331
- this.triggerContentFocusable = triggerContentNodes.some((node) => this.containsFocusableElement(node));
7281
+ this.triggerContentFocusable = triggerContentNodes.some((node) => getFocusableElements(node).length > 0);
7332
7282
 
7333
7283
  // If any of them are focusable elements
7334
7284
  if (this.triggerContentFocusable) {
@@ -7400,7 +7350,7 @@ class AuroDropdown extends AuroElement$3 {
7400
7350
  <div
7401
7351
  id="trigger"
7402
7352
  class="${e(this.commonWrapperClasses)}" part="wrapper"
7403
- tabindex="${this.tabIndex}"
7353
+ tabindex="${o(this.triggerContentFocusable ? undefined : this.tabIndex)}"
7404
7354
  role="${o(this.triggerContentFocusable ? undefined : this.a11yRole)}"
7405
7355
  aria-expanded="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
7406
7356
  aria-controls="${o(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
@@ -9373,7 +9323,7 @@ class AuroBibtemplate extends i$2 {
9373
9323
  /**
9374
9324
  * @private
9375
9325
  */
9376
- this.buttonTag = versioning.generateTag('auro-formkit-input-button', buttonVersion, AuroButton);
9326
+ this.buttonTag = versioning.generateTag('auro-formkit-bibtemplate-button', buttonVersion, AuroButton);
9377
9327
  }
9378
9328
 
9379
9329
  static get styles() {
@@ -10040,6 +9990,26 @@ class AuroCounterGroup extends AuroElement {
10040
9990
  });
10041
9991
  }
10042
9992
 
9993
+ /**
9994
+ * Hides the dropdown bib if its open.
9995
+ * @returns {void}
9996
+ */
9997
+ hideBib() {
9998
+ if (this.dropdown && this.dropdown.isPopoverVisible) {
9999
+ this.dropdown.hide();
10000
+ }
10001
+ }
10002
+
10003
+ /**
10004
+ * Shows the dropdown bib if there are options to show.
10005
+ * @returns {void}
10006
+ */
10007
+ showBib() {
10008
+ if (this.dropdown && !this.dropdown.isPopoverVisible) {
10009
+ this.dropdown.show();
10010
+ }
10011
+ }
10012
+
10043
10013
  /**
10044
10014
  * Configures the dropdown counters by selecting all `auro-counter` elements,
10045
10015
  * appending them to the `auro-counter-wrapper` element within the shadow DOM,
@@ -267,6 +267,16 @@ export class AuroCounterGroup extends LitElement {
267
267
  */
268
268
  private getErrorMessages;
269
269
  errorMessage: any;
270
+ /**
271
+ * Hides the dropdown bib if its open.
272
+ * @returns {void}
273
+ */
274
+ hideBib(): void;
275
+ /**
276
+ * Shows the dropdown bib if there are options to show.
277
+ * @returns {void}
278
+ */
279
+ showBib(): void;
270
280
  /**
271
281
  * Configures the dropdown counters by selecting all `auro-counter` elements,
272
282
  * appending them to the `auro-counter-wrapper` element within the shadow DOM,
@@ -6537,6 +6537,7 @@ let AuroElement$3 = class AuroElement extends LitElement {
6537
6537
  // See LICENSE in the project root for license information.
6538
6538
 
6539
6539
 
6540
+
6540
6541
  /*
6541
6542
  * @slot - Default slot for the popover content.
6542
6543
  * @slot helpText - Defines the content of the helpText.
@@ -7040,6 +7041,13 @@ class AuroDropdown extends AuroElement$3 {
7040
7041
 
7041
7042
  // Add the tag name as an attribute if it is different than the component name
7042
7043
  this.runtimeUtils.handleComponentTagRename(this, 'auro-dropdown');
7044
+
7045
+ this.trigger.addEventListener('click', () => {
7046
+ this.dispatchEvent(new CustomEvent('auroDropdown-triggerClick', {
7047
+ bubbles: true,
7048
+ composed: true
7049
+ }));
7050
+ });
7043
7051
  }
7044
7052
 
7045
7053
  /**
@@ -7112,64 +7120,6 @@ class AuroDropdown extends AuroElement$3 {
7112
7120
  this.hasFocus = false;
7113
7121
  }
7114
7122
 
7115
- /**
7116
- * Determines if the element or any children are focusable.
7117
- * @private
7118
- * @param {HTMLElement} element - Element to check.
7119
- * @returns {Boolean} - True if the element or any children are focusable.
7120
- */
7121
- containsFocusableElement(element) {
7122
- this.showTriggerBorders = true;
7123
-
7124
- const nodes = [
7125
- element,
7126
- ...element.children
7127
- ];
7128
-
7129
- const focusableElements = [
7130
- 'a',
7131
- 'auro-hyperlink',
7132
- 'button',
7133
- 'auro-button',
7134
- 'input',
7135
- 'auro-input',
7136
- ];
7137
-
7138
- const focusableElementsThatNeedBorders = ['auro-input'];
7139
-
7140
- const result = nodes.some((node) => {
7141
- const tagName = node.tagName.toLowerCase();
7142
-
7143
- if (node.tabIndex > -1) {
7144
- return true;
7145
- }
7146
-
7147
- if (focusableElements.includes(tagName)) {
7148
- if ((tagName === 'a' || tagName === 'auro-hyperlink' || node.hasAttribute('auro-hyperlink')) && node.hasAttribute('href')) {
7149
- return true;
7150
- }
7151
- if (!node.hasAttribute('disabled')) {
7152
- return true;
7153
- }
7154
- }
7155
-
7156
- if (focusableElements.some((focusableElement) => focusableElement.startsWith('auro-') && (focusableElement === tagName || node.hasAttribute(focusableElement)))) {
7157
- return true;
7158
- }
7159
-
7160
- return false;
7161
- });
7162
-
7163
- if (result) {
7164
- this.showTriggerBorders = !nodes.some((node) => {
7165
- const tagName = node.tagName.toLowerCase();
7166
- return focusableElements.includes(tagName) && !focusableElementsThatNeedBorders.includes(tagName);
7167
- });
7168
- }
7169
-
7170
- return result;
7171
- }
7172
-
7173
7123
  /**
7174
7124
  * Creates and dispatches a duplicate focus event on the trigger element.
7175
7125
  * @private
@@ -7281,7 +7231,7 @@ class AuroDropdown extends AuroElement$3 {
7281
7231
  if (triggerContentNodes) {
7282
7232
 
7283
7233
  // See if any of them are focusable elements
7284
- this.triggerContentFocusable = triggerContentNodes.some((node) => this.containsFocusableElement(node));
7234
+ this.triggerContentFocusable = triggerContentNodes.some((node) => getFocusableElements(node).length > 0);
7285
7235
 
7286
7236
  // If any of them are focusable elements
7287
7237
  if (this.triggerContentFocusable) {
@@ -7353,7 +7303,7 @@ class AuroDropdown extends AuroElement$3 {
7353
7303
  <div
7354
7304
  id="trigger"
7355
7305
  class="${classMap(this.commonWrapperClasses)}" part="wrapper"
7356
- tabindex="${this.tabIndex}"
7306
+ tabindex="${ifDefined(this.triggerContentFocusable ? undefined : this.tabIndex)}"
7357
7307
  role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
7358
7308
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
7359
7309
  aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
@@ -9326,7 +9276,7 @@ class AuroBibtemplate extends LitElement {
9326
9276
  /**
9327
9277
  * @private
9328
9278
  */
9329
- this.buttonTag = versioning.generateTag('auro-formkit-input-button', buttonVersion, AuroButton);
9279
+ this.buttonTag = versioning.generateTag('auro-formkit-bibtemplate-button', buttonVersion, AuroButton);
9330
9280
  }
9331
9281
 
9332
9282
  static get styles() {
@@ -9993,6 +9943,26 @@ class AuroCounterGroup extends AuroElement {
9993
9943
  });
9994
9944
  }
9995
9945
 
9946
+ /**
9947
+ * Hides the dropdown bib if its open.
9948
+ * @returns {void}
9949
+ */
9950
+ hideBib() {
9951
+ if (this.dropdown && this.dropdown.isPopoverVisible) {
9952
+ this.dropdown.hide();
9953
+ }
9954
+ }
9955
+
9956
+ /**
9957
+ * Shows the dropdown bib if there are options to show.
9958
+ * @returns {void}
9959
+ */
9960
+ showBib() {
9961
+ if (this.dropdown && !this.dropdown.isPopoverVisible) {
9962
+ this.dropdown.show();
9963
+ }
9964
+ }
9965
+
9996
9966
  /**
9997
9967
  * Configures the dropdown counters by selecting all `auro-counter` elements,
9998
9968
  * appending them to the `auro-counter-wrapper` element within the shadow DOM,
@@ -6537,6 +6537,7 @@ let AuroElement$3 = class AuroElement extends LitElement {
6537
6537
  // See LICENSE in the project root for license information.
6538
6538
 
6539
6539
 
6540
+
6540
6541
  /*
6541
6542
  * @slot - Default slot for the popover content.
6542
6543
  * @slot helpText - Defines the content of the helpText.
@@ -7040,6 +7041,13 @@ class AuroDropdown extends AuroElement$3 {
7040
7041
 
7041
7042
  // Add the tag name as an attribute if it is different than the component name
7042
7043
  this.runtimeUtils.handleComponentTagRename(this, 'auro-dropdown');
7044
+
7045
+ this.trigger.addEventListener('click', () => {
7046
+ this.dispatchEvent(new CustomEvent('auroDropdown-triggerClick', {
7047
+ bubbles: true,
7048
+ composed: true
7049
+ }));
7050
+ });
7043
7051
  }
7044
7052
 
7045
7053
  /**
@@ -7112,64 +7120,6 @@ class AuroDropdown extends AuroElement$3 {
7112
7120
  this.hasFocus = false;
7113
7121
  }
7114
7122
 
7115
- /**
7116
- * Determines if the element or any children are focusable.
7117
- * @private
7118
- * @param {HTMLElement} element - Element to check.
7119
- * @returns {Boolean} - True if the element or any children are focusable.
7120
- */
7121
- containsFocusableElement(element) {
7122
- this.showTriggerBorders = true;
7123
-
7124
- const nodes = [
7125
- element,
7126
- ...element.children
7127
- ];
7128
-
7129
- const focusableElements = [
7130
- 'a',
7131
- 'auro-hyperlink',
7132
- 'button',
7133
- 'auro-button',
7134
- 'input',
7135
- 'auro-input',
7136
- ];
7137
-
7138
- const focusableElementsThatNeedBorders = ['auro-input'];
7139
-
7140
- const result = nodes.some((node) => {
7141
- const tagName = node.tagName.toLowerCase();
7142
-
7143
- if (node.tabIndex > -1) {
7144
- return true;
7145
- }
7146
-
7147
- if (focusableElements.includes(tagName)) {
7148
- if ((tagName === 'a' || tagName === 'auro-hyperlink' || node.hasAttribute('auro-hyperlink')) && node.hasAttribute('href')) {
7149
- return true;
7150
- }
7151
- if (!node.hasAttribute('disabled')) {
7152
- return true;
7153
- }
7154
- }
7155
-
7156
- if (focusableElements.some((focusableElement) => focusableElement.startsWith('auro-') && (focusableElement === tagName || node.hasAttribute(focusableElement)))) {
7157
- return true;
7158
- }
7159
-
7160
- return false;
7161
- });
7162
-
7163
- if (result) {
7164
- this.showTriggerBorders = !nodes.some((node) => {
7165
- const tagName = node.tagName.toLowerCase();
7166
- return focusableElements.includes(tagName) && !focusableElementsThatNeedBorders.includes(tagName);
7167
- });
7168
- }
7169
-
7170
- return result;
7171
- }
7172
-
7173
7123
  /**
7174
7124
  * Creates and dispatches a duplicate focus event on the trigger element.
7175
7125
  * @private
@@ -7281,7 +7231,7 @@ class AuroDropdown extends AuroElement$3 {
7281
7231
  if (triggerContentNodes) {
7282
7232
 
7283
7233
  // See if any of them are focusable elements
7284
- this.triggerContentFocusable = triggerContentNodes.some((node) => this.containsFocusableElement(node));
7234
+ this.triggerContentFocusable = triggerContentNodes.some((node) => getFocusableElements(node).length > 0);
7285
7235
 
7286
7236
  // If any of them are focusable elements
7287
7237
  if (this.triggerContentFocusable) {
@@ -7353,7 +7303,7 @@ class AuroDropdown extends AuroElement$3 {
7353
7303
  <div
7354
7304
  id="trigger"
7355
7305
  class="${classMap(this.commonWrapperClasses)}" part="wrapper"
7356
- tabindex="${this.tabIndex}"
7306
+ tabindex="${ifDefined(this.triggerContentFocusable ? undefined : this.tabIndex)}"
7357
7307
  role="${ifDefined(this.triggerContentFocusable ? undefined : this.a11yRole)}"
7358
7308
  aria-expanded="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.isPopoverVisible)}"
7359
7309
  aria-controls="${ifDefined(this.a11yRole === 'button' || this.triggerContentFocusable ? undefined : this.dropdownId)}"
@@ -9326,7 +9276,7 @@ class AuroBibtemplate extends LitElement {
9326
9276
  /**
9327
9277
  * @private
9328
9278
  */
9329
- this.buttonTag = versioning.generateTag('auro-formkit-input-button', buttonVersion, AuroButton);
9279
+ this.buttonTag = versioning.generateTag('auro-formkit-bibtemplate-button', buttonVersion, AuroButton);
9330
9280
  }
9331
9281
 
9332
9282
  static get styles() {
@@ -9993,6 +9943,26 @@ class AuroCounterGroup extends AuroElement {
9993
9943
  });
9994
9944
  }
9995
9945
 
9946
+ /**
9947
+ * Hides the dropdown bib if its open.
9948
+ * @returns {void}
9949
+ */
9950
+ hideBib() {
9951
+ if (this.dropdown && this.dropdown.isPopoverVisible) {
9952
+ this.dropdown.hide();
9953
+ }
9954
+ }
9955
+
9956
+ /**
9957
+ * Shows the dropdown bib if there are options to show.
9958
+ * @returns {void}
9959
+ */
9960
+ showBib() {
9961
+ if (this.dropdown && !this.dropdown.isPopoverVisible) {
9962
+ this.dropdown.show();
9963
+ }
9964
+ }
9965
+
9996
9966
  /**
9997
9967
  * Configures the dropdown counters by selecting all `auro-counter` elements,
9998
9968
  * appending them to the `auro-counter-wrapper` element within the shadow DOM,
@@ -83,7 +83,7 @@ This configuration enables proper module resolution for the component's TypeScri
83
83
  <!-- The below code snippet is automatically added from ./apiExamples/basic.html -->
84
84
 
85
85
  ```html
86
- <auro-datepicker>
86
+ <auro-datepicker required="">
87
87
  <span slot="bib.fullscreen.headline">Datepicker Headline</span>
88
88
  <span slot="fromLabel">Choose a date</span>
89
89
  <span slot="bib.fullscreen.dateLabel">Choose a date</span>