@aurodesignsystem-dev/auro-formkit 0.0.0-pr1555.1 → 0.0.0-pr1556.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 (47) hide show
  1. package/components/checkbox/demo/customize.min.js +1 -1
  2. package/components/checkbox/demo/getting-started.min.js +1 -1
  3. package/components/checkbox/demo/index.min.js +1 -1
  4. package/components/checkbox/dist/index.js +1 -1
  5. package/components/checkbox/dist/registered.js +1 -1
  6. package/components/combobox/demo/customize.min.js +46 -172
  7. package/components/combobox/demo/getting-started.min.js +46 -172
  8. package/components/combobox/demo/index.min.js +46 -172
  9. package/components/combobox/dist/index.js +46 -172
  10. package/components/combobox/dist/registered.js +46 -172
  11. package/components/counter/demo/customize.min.js +7 -59
  12. package/components/counter/demo/index.min.js +7 -59
  13. package/components/counter/dist/index.js +7 -59
  14. package/components/counter/dist/registered.js +7 -59
  15. package/components/datepicker/demo/customize.min.js +21 -109
  16. package/components/datepicker/demo/index.min.js +21 -109
  17. package/components/datepicker/dist/index.js +21 -109
  18. package/components/datepicker/dist/registered.js +21 -109
  19. package/components/dropdown/demo/customize.min.js +6 -58
  20. package/components/dropdown/demo/getting-started.min.js +6 -58
  21. package/components/dropdown/demo/index.min.js +6 -58
  22. package/components/dropdown/dist/auro-dropdown.d.ts +1 -16
  23. package/components/dropdown/dist/index.js +6 -58
  24. package/components/dropdown/dist/registered.js +6 -58
  25. package/components/form/demo/customize.min.js +106 -452
  26. package/components/form/demo/getting-started.min.js +106 -452
  27. package/components/form/demo/index.min.js +106 -452
  28. package/components/form/demo/registerDemoDeps.min.js +94 -448
  29. package/components/form/dist/index.js +12 -4
  30. package/components/form/dist/registered.js +12 -4
  31. package/components/input/demo/customize.min.js +11 -47
  32. package/components/input/demo/getting-started.min.js +11 -47
  33. package/components/input/demo/index.min.js +11 -47
  34. package/components/input/dist/index.js +11 -47
  35. package/components/input/dist/registered.js +11 -47
  36. package/components/radio/demo/customize.min.js +1 -1
  37. package/components/radio/demo/getting-started.min.js +1 -1
  38. package/components/radio/demo/index.min.js +1 -1
  39. package/components/radio/dist/index.js +1 -1
  40. package/components/radio/dist/registered.js +1 -1
  41. package/components/select/demo/customize.min.js +7 -59
  42. package/components/select/demo/getting-started.min.js +7 -59
  43. package/components/select/demo/index.min.js +7 -59
  44. package/components/select/dist/index.js +7 -59
  45. package/components/select/dist/registered.js +7 -59
  46. package/custom-elements.json +1484 -1500
  47. package/package.json +1 -1
@@ -3804,7 +3804,7 @@ class AuroHelpText extends i {
3804
3804
  }
3805
3805
  }
3806
3806
 
3807
- var formkitVersion = '202607162024';
3807
+ var formkitVersion = '202607152340';
3808
3808
 
3809
3809
  class AuroElement extends i {
3810
3810
  static get properties() {
@@ -3933,6 +3933,7 @@ class AuroDropdown extends AuroElement {
3933
3933
  static get shadowRootOptions() {
3934
3934
  return {
3935
3935
  ...AuroElement.shadowRootOptions,
3936
+ delegatesFocus: true,
3936
3937
  };
3937
3938
  }
3938
3939
 
@@ -3944,15 +3945,6 @@ class AuroDropdown extends AuroElement {
3944
3945
  this.matchWidth = false;
3945
3946
  this.noHideOnThisFocusLoss = false;
3946
3947
 
3947
- /**
3948
- * When true, the dropdown skips its generic focus restoration on close.
3949
- * Set by consumers (e.g. combobox) that manage their own focus routing
3950
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
3951
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
3952
- * @private
3953
- */
3954
- this.noFocusRestoreOnClose = false;
3955
-
3956
3948
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
3957
3949
 
3958
3950
  // Layout Config
@@ -4108,49 +4100,7 @@ class AuroDropdown extends AuroElement {
4108
4100
  focusables[0].focus();
4109
4101
  }
4110
4102
  } else {
4111
- this.focusTrigger();
4112
- }
4113
- }
4114
-
4115
- /**
4116
- * Focus the trigger content. When the trigger wrapper itself is focusable
4117
- * (has tabindex), focus it directly. Otherwise, focus the first focusable
4118
- * element slotted into the trigger slot (e.g. the auro-input).
4119
- * @private
4120
- */
4121
- focusTrigger() {
4122
- if (this.trigger.hasAttribute('tabindex')) {
4123
4103
  this.trigger.focus();
4124
- } else {
4125
- // Slotted content isn't a DOM child of the trigger div, so
4126
- // getFocusableElements can't find it. Query assigned nodes directly.
4127
- const slot = this.trigger.querySelector('slot[name="trigger"]');
4128
- if (slot) {
4129
- const assigned = slot.assignedElements();
4130
- for (const el of assigned) {
4131
- if (el.hasAttribute('disabled')) {
4132
- continue; // eslint-disable-line no-continue
4133
- }
4134
- // Try finding a focusable descendant first (handles non-focusable
4135
- // wrappers like <div> containing a <button>). If none found, try
4136
- // focusing the element directly (works for custom elements like
4137
- // auro-input that have delegatesFocus or a custom focus() method).
4138
- const descendants = getFocusableElements(el);
4139
- if (descendants.length > 0) {
4140
- descendants[0].focus();
4141
- return;
4142
- }
4143
- el.focus();
4144
- if (document.activeElement === el) {
4145
- return;
4146
- }
4147
- }
4148
- }
4149
- // Fallback: try DOM children (non-slotted content)
4150
- const focusables = getFocusableElements(this.trigger);
4151
- if (focusables.length > 0) {
4152
- focusables[0].focus();
4153
- }
4154
4104
  }
4155
4105
  }
4156
4106
 
@@ -4603,17 +4553,15 @@ class AuroDropdown extends AuroElement {
4603
4553
  }
4604
4554
 
4605
4555
  const eventType = event.detail.eventType || "unknown";
4606
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
4607
- this.focusTrigger();
4556
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
4557
+ this.trigger.focus();
4608
4558
  }
4609
4559
 
4610
4560
 
4611
4561
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
4612
4562
  // — restoring to the trigger would trap the user on this dropdown, forcing
4613
4563
  // an extra Tab to move on. Escape and outside-click still restore.
4614
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
4615
- // its own focus restoration — skip the generic trigger focus to avoid races.
4616
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
4564
+ if (!this.isPopoverVisible && eventType !== "focusloss") {
4617
4565
  // wait til the bib gets fully closed and rendered
4618
4566
  setTimeout(() => {
4619
4567
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -4625,7 +4573,7 @@ class AuroDropdown extends AuroElement {
4625
4573
  return;
4626
4574
  }
4627
4575
  // Restore focus to the trigger.
4628
- this.focusTrigger();
4576
+ this.trigger.focus();
4629
4577
  });
4630
4578
  }
4631
4579
  }
@@ -15,9 +15,9 @@
15
15
  */
16
16
  export class AuroDropdown extends AuroElement {
17
17
  static get shadowRootOptions(): {
18
+ delegatesFocus: boolean;
18
19
  clonable?: boolean;
19
20
  customElementRegistry?: CustomElementRegistry | null;
20
- delegatesFocus?: boolean;
21
21
  mode: ShadowRootMode;
22
22
  serializable?: boolean;
23
23
  slotAssignment?: SlotAssignmentMode;
@@ -267,14 +267,6 @@ export class AuroDropdown extends AuroElement {
267
267
  isBibFullscreen: boolean;
268
268
  matchWidth: boolean;
269
269
  noHideOnThisFocusLoss: boolean;
270
- /**
271
- * When true, the dropdown skips its generic focus restoration on close.
272
- * Set by consumers (e.g. combobox) that manage their own focus routing
273
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
274
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
275
- * @private
276
- */
277
- private noFocusRestoreOnClose;
278
270
  errorMessage: any;
279
271
  layout: any;
280
272
  shape: any;
@@ -374,13 +366,6 @@ export class AuroDropdown extends AuroElement {
374
366
  * If not, trigger element will get focus.
375
367
  */
376
368
  focus(): void;
377
- /**
378
- * Focus the trigger content. When the trigger wrapper itself is focusable
379
- * (has tabindex), focus it directly. Otherwise, focus the first focusable
380
- * element slotted into the trigger slot (e.g. the auro-input).
381
- * @private
382
- */
383
- private focusTrigger;
384
369
  /**
385
370
  * Sets the active descendant element for accessibility.
386
371
  * Uses ariaActiveDescendantElement to cross shadow DOM boundaries.
@@ -3709,7 +3709,7 @@ class AuroHelpText extends LitElement {
3709
3709
  }
3710
3710
  }
3711
3711
 
3712
- var formkitVersion = '202607162024';
3712
+ var formkitVersion = '202607152340';
3713
3713
 
3714
3714
  class AuroElement extends LitElement {
3715
3715
  static get properties() {
@@ -3838,6 +3838,7 @@ class AuroDropdown extends AuroElement {
3838
3838
  static get shadowRootOptions() {
3839
3839
  return {
3840
3840
  ...AuroElement.shadowRootOptions,
3841
+ delegatesFocus: true,
3841
3842
  };
3842
3843
  }
3843
3844
 
@@ -3849,15 +3850,6 @@ class AuroDropdown extends AuroElement {
3849
3850
  this.matchWidth = false;
3850
3851
  this.noHideOnThisFocusLoss = false;
3851
3852
 
3852
- /**
3853
- * When true, the dropdown skips its generic focus restoration on close.
3854
- * Set by consumers (e.g. combobox) that manage their own focus routing
3855
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
3856
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
3857
- * @private
3858
- */
3859
- this.noFocusRestoreOnClose = false;
3860
-
3861
3853
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
3862
3854
 
3863
3855
  // Layout Config
@@ -4013,49 +4005,7 @@ class AuroDropdown extends AuroElement {
4013
4005
  focusables[0].focus();
4014
4006
  }
4015
4007
  } else {
4016
- this.focusTrigger();
4017
- }
4018
- }
4019
-
4020
- /**
4021
- * Focus the trigger content. When the trigger wrapper itself is focusable
4022
- * (has tabindex), focus it directly. Otherwise, focus the first focusable
4023
- * element slotted into the trigger slot (e.g. the auro-input).
4024
- * @private
4025
- */
4026
- focusTrigger() {
4027
- if (this.trigger.hasAttribute('tabindex')) {
4028
4008
  this.trigger.focus();
4029
- } else {
4030
- // Slotted content isn't a DOM child of the trigger div, so
4031
- // getFocusableElements can't find it. Query assigned nodes directly.
4032
- const slot = this.trigger.querySelector('slot[name="trigger"]');
4033
- if (slot) {
4034
- const assigned = slot.assignedElements();
4035
- for (const el of assigned) {
4036
- if (el.hasAttribute('disabled')) {
4037
- continue; // eslint-disable-line no-continue
4038
- }
4039
- // Try finding a focusable descendant first (handles non-focusable
4040
- // wrappers like <div> containing a <button>). If none found, try
4041
- // focusing the element directly (works for custom elements like
4042
- // auro-input that have delegatesFocus or a custom focus() method).
4043
- const descendants = getFocusableElements(el);
4044
- if (descendants.length > 0) {
4045
- descendants[0].focus();
4046
- return;
4047
- }
4048
- el.focus();
4049
- if (document.activeElement === el) {
4050
- return;
4051
- }
4052
- }
4053
- }
4054
- // Fallback: try DOM children (non-slotted content)
4055
- const focusables = getFocusableElements(this.trigger);
4056
- if (focusables.length > 0) {
4057
- focusables[0].focus();
4058
- }
4059
4009
  }
4060
4010
  }
4061
4011
 
@@ -4508,17 +4458,15 @@ class AuroDropdown extends AuroElement {
4508
4458
  }
4509
4459
 
4510
4460
  const eventType = event.detail.eventType || "unknown";
4511
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
4512
- this.focusTrigger();
4461
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
4462
+ this.trigger.focus();
4513
4463
  }
4514
4464
 
4515
4465
 
4516
4466
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
4517
4467
  // — restoring to the trigger would trap the user on this dropdown, forcing
4518
4468
  // an extra Tab to move on. Escape and outside-click still restore.
4519
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
4520
- // its own focus restoration — skip the generic trigger focus to avoid races.
4521
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
4469
+ if (!this.isPopoverVisible && eventType !== "focusloss") {
4522
4470
  // wait til the bib gets fully closed and rendered
4523
4471
  setTimeout(() => {
4524
4472
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -4530,7 +4478,7 @@ class AuroDropdown extends AuroElement {
4530
4478
  return;
4531
4479
  }
4532
4480
  // Restore focus to the trigger.
4533
- this.focusTrigger();
4481
+ this.trigger.focus();
4534
4482
  });
4535
4483
  }
4536
4484
  }
@@ -3709,7 +3709,7 @@ class AuroHelpText extends LitElement {
3709
3709
  }
3710
3710
  }
3711
3711
 
3712
- var formkitVersion = '202607162024';
3712
+ var formkitVersion = '202607152340';
3713
3713
 
3714
3714
  class AuroElement extends LitElement {
3715
3715
  static get properties() {
@@ -3838,6 +3838,7 @@ class AuroDropdown extends AuroElement {
3838
3838
  static get shadowRootOptions() {
3839
3839
  return {
3840
3840
  ...AuroElement.shadowRootOptions,
3841
+ delegatesFocus: true,
3841
3842
  };
3842
3843
  }
3843
3844
 
@@ -3849,15 +3850,6 @@ class AuroDropdown extends AuroElement {
3849
3850
  this.matchWidth = false;
3850
3851
  this.noHideOnThisFocusLoss = false;
3851
3852
 
3852
- /**
3853
- * When true, the dropdown skips its generic focus restoration on close.
3854
- * Set by consumers (e.g. combobox) that manage their own focus routing
3855
- * via setClearBtnFocus / setInputFocus / keyboard strategy.
3856
- * Separate from noHideOnThisFocusLoss (which controls auto-close behavior).
3857
- * @private
3858
- */
3859
- this.noFocusRestoreOnClose = false;
3860
-
3861
3853
  this.errorMessage = undefined; // TODO - check with Doug if there is still more to do here
3862
3854
 
3863
3855
  // Layout Config
@@ -4013,49 +4005,7 @@ class AuroDropdown extends AuroElement {
4013
4005
  focusables[0].focus();
4014
4006
  }
4015
4007
  } else {
4016
- this.focusTrigger();
4017
- }
4018
- }
4019
-
4020
- /**
4021
- * Focus the trigger content. When the trigger wrapper itself is focusable
4022
- * (has tabindex), focus it directly. Otherwise, focus the first focusable
4023
- * element slotted into the trigger slot (e.g. the auro-input).
4024
- * @private
4025
- */
4026
- focusTrigger() {
4027
- if (this.trigger.hasAttribute('tabindex')) {
4028
4008
  this.trigger.focus();
4029
- } else {
4030
- // Slotted content isn't a DOM child of the trigger div, so
4031
- // getFocusableElements can't find it. Query assigned nodes directly.
4032
- const slot = this.trigger.querySelector('slot[name="trigger"]');
4033
- if (slot) {
4034
- const assigned = slot.assignedElements();
4035
- for (const el of assigned) {
4036
- if (el.hasAttribute('disabled')) {
4037
- continue; // eslint-disable-line no-continue
4038
- }
4039
- // Try finding a focusable descendant first (handles non-focusable
4040
- // wrappers like <div> containing a <button>). If none found, try
4041
- // focusing the element directly (works for custom elements like
4042
- // auro-input that have delegatesFocus or a custom focus() method).
4043
- const descendants = getFocusableElements(el);
4044
- if (descendants.length > 0) {
4045
- descendants[0].focus();
4046
- return;
4047
- }
4048
- el.focus();
4049
- if (document.activeElement === el) {
4050
- return;
4051
- }
4052
- }
4053
- }
4054
- // Fallback: try DOM children (non-slotted content)
4055
- const focusables = getFocusableElements(this.trigger);
4056
- if (focusables.length > 0) {
4057
- focusables[0].focus();
4058
- }
4059
4009
  }
4060
4010
  }
4061
4011
 
@@ -4508,17 +4458,15 @@ class AuroDropdown extends AuroElement {
4508
4458
  }
4509
4459
 
4510
4460
  const eventType = event.detail.eventType || "unknown";
4511
- if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown" && !this.noFocusRestoreOnClose) {
4512
- this.focusTrigger();
4461
+ if (!this.isPopoverVisible && this.hasFocus && eventType === "keydown") {
4462
+ this.trigger.focus();
4513
4463
  }
4514
4464
 
4515
4465
 
4516
4466
  // On Tab-driven close (eventType "focusloss"), let focus advance naturally
4517
4467
  // — restoring to the trigger would trap the user on this dropdown, forcing
4518
4468
  // an extra Tab to move on. Escape and outside-click still restore.
4519
- // When noFocusRestoreOnClose is true, the consumer (e.g. combobox) manages
4520
- // its own focus restoration — skip the generic trigger focus to avoid races.
4521
- if (!this.isPopoverVisible && eventType !== "focusloss" && !this.noFocusRestoreOnClose) {
4469
+ if (!this.isPopoverVisible && eventType !== "focusloss") {
4522
4470
  // wait til the bib gets fully closed and rendered
4523
4471
  setTimeout(() => {
4524
4472
  // Skip if the bib re-opened, or if focus moved intentionally outside the dropdown (not to body).
@@ -4530,7 +4478,7 @@ class AuroDropdown extends AuroElement {
4530
4478
  return;
4531
4479
  }
4532
4480
  // Restore focus to the trigger.
4533
- this.focusTrigger();
4481
+ this.trigger.focus();
4534
4482
  });
4535
4483
  }
4536
4484
  }