@aurodesignsystem/auro-formkit 3.1.0 → 3.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/components/checkbox/README.md +1 -1
  3. package/components/checkbox/demo/readme.md +1 -1
  4. package/components/combobox/README.md +1 -1
  5. package/components/combobox/demo/api.md +1 -1
  6. package/components/combobox/demo/api.min.js +26 -5
  7. package/components/combobox/demo/index.min.js +26 -5
  8. package/components/combobox/demo/readme.md +1 -1
  9. package/components/combobox/dist/auro-combobox.d.ts +5 -2
  10. package/components/combobox/dist/index.js +26 -5
  11. package/components/combobox/dist/registered.js +26 -5
  12. package/components/counter/README.md +1 -1
  13. package/components/counter/demo/api.md +1 -1
  14. package/components/counter/demo/api.min.js +26 -5
  15. package/components/counter/demo/index.min.js +26 -5
  16. package/components/counter/demo/readme.md +1 -1
  17. package/components/counter/dist/auro-counter-group.d.ts +5 -2
  18. package/components/counter/dist/index.js +26 -5
  19. package/components/counter/dist/registered.js +26 -5
  20. package/components/datepicker/README.md +1 -1
  21. package/components/datepicker/demo/api.md +1 -0
  22. package/components/datepicker/demo/api.min.js +36 -4
  23. package/components/datepicker/demo/index.min.js +36 -4
  24. package/components/datepicker/demo/readme.md +1 -1
  25. package/components/datepicker/dist/auro-datepicker.d.ts +13 -0
  26. package/components/datepicker/dist/index.js +36 -4
  27. package/components/datepicker/dist/registered.js +36 -4
  28. package/components/dropdown/README.md +1 -1
  29. package/components/dropdown/demo/api.md +1 -1
  30. package/components/dropdown/demo/api.min.js +21 -3
  31. package/components/dropdown/demo/index.md +83 -0
  32. package/components/dropdown/demo/index.min.js +21 -3
  33. package/components/dropdown/demo/readme.md +1 -1
  34. package/components/dropdown/dist/auro-dropdown.d.ts +12 -1
  35. package/components/dropdown/dist/index.js +21 -3
  36. package/components/dropdown/dist/registered.js +21 -3
  37. package/components/form/README.md +1 -1
  38. package/components/form/demo/autocomplete.html +15 -0
  39. package/components/form/demo/readme.md +1 -1
  40. package/components/input/README.md +1 -1
  41. package/components/input/demo/readme.md +1 -1
  42. package/components/menu/README.md +1 -1
  43. package/components/menu/demo/readme.md +1 -1
  44. package/components/radio/README.md +1 -1
  45. package/components/radio/demo/readme.md +1 -1
  46. package/components/select/README.md +1 -1
  47. package/components/select/demo/api.md +1 -1
  48. package/components/select/demo/api.min.js +26 -5
  49. package/components/select/demo/index.md +46 -1
  50. package/components/select/demo/index.min.js +26 -5
  51. package/components/select/demo/readme.md +1 -1
  52. package/components/select/dist/auro-select.d.ts +5 -2
  53. package/components/select/dist/index.js +26 -5
  54. package/components/select/dist/registered.js +26 -5
  55. package/package.json +1 -1
@@ -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.0.1/auro-select/+esm"></script>
114
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@3.1.0/auro-select/+esm"></script>
115
115
  ```
116
116
  <!-- AURO-GENERATED-CONTENT:END -->
117
117
 
@@ -20,7 +20,7 @@ The auro-select element is a wrapper for auro-dropdown and auro-menu to create a
20
20
  | [disabled](#disabled) | `disabled` | `boolean` | | When attribute is present, element shows disabled state. |
21
21
  | [error](#error) | `error` | `string` | | When defined, sets persistent validity to `customError` and sets `setCustomValidity` = attribute value. |
22
22
  | [flexMenuWidth](#flexMenuWidth) | `flexMenuWidth` | `boolean` | | If set, makes dropdown width match the size of the content, rather than the width of the trigger. |
23
- | [fullscreenBreakpoint](#fullscreenBreakpoint) | `fullscreenBreakpoint` | `string` | "sm" | Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile.<br />When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint. |
23
+ | [fullscreenBreakpoint](#fullscreenBreakpoint) | `fullscreenBreakpoint` | `string` | "sm" | Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)<br />at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.<br /><br />When expanded, the dropdown will automatically display in fullscreen mode<br />if the screen size is equal to or smaller than the selected breakpoint. |
24
24
  | [largeFullscreenHeadline](#largeFullscreenHeadline) | `largeFullscreenHeadline` | `boolean` | | If declared, make bib.fullscreen.headline in HeadingDisplay.<br />Otherwise, Heading 600 |
25
25
  | [multiSelect](#multiSelect) | `multiselect` | `boolean` | | Sets multi-select mode, allowing multiple options to be selected at once. |
26
26
  | [noCheckmark](#noCheckmark) | `noCheckmark` | `boolean` | | When true, checkmark on selected option will no longer be present. |
@@ -3584,6 +3584,7 @@ var tokensCss$1$1 = i$5`:host{--ds-auro-dropdown-label-text-color: var(--ds-basi
3584
3584
 
3585
3585
  const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
3586
3586
  const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
3587
+ 'xl',
3587
3588
  'lg',
3588
3589
  'md',
3589
3590
  'sm',
@@ -3655,6 +3656,7 @@ class AuroDropdownBib extends r {
3655
3656
 
3656
3657
  set mobileFullscreenBreakpoint(value) {
3657
3658
  // verify the defined breakpoint is valid and exit out if not
3659
+ // 'disabled' is a design token breakpoint so it acts as our "undefined" value
3658
3660
  const validatedValue = DESIGN_TOKEN_BREAKPOINT_OPTIONS.includes(value) ? value : undefined;
3659
3661
  if (!validatedValue) {
3660
3662
  this._mobileBreakpointValue = undefined;
@@ -4180,7 +4182,12 @@ class AuroDropdown extends r {
4180
4182
  },
4181
4183
 
4182
4184
  /**
4183
- * Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
4185
+ * Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)
4186
+ * at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
4187
+ *
4188
+ * When expanded, the dropdown will automatically display in fullscreen mode
4189
+ * if the screen size is equal to or smaller than the selected breakpoint.
4190
+ * @default sm
4184
4191
  */
4185
4192
  fullscreenBreakpoint: {
4186
4193
  type: String,
@@ -4320,6 +4327,15 @@ class AuroDropdown extends r {
4320
4327
  AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroDropdown);
4321
4328
  }
4322
4329
 
4330
+ /**
4331
+ * Accessor for reusing the focusable entity query string.
4332
+ * @private
4333
+ * @returns {string}
4334
+ */
4335
+ get focusableEntityQuery () {
4336
+ return 'auro-input, [auro-input], auro-button, [auro-button], button, input';
4337
+ }
4338
+
4323
4339
  connectedCallback() {
4324
4340
  super.connectedCallback();
4325
4341
  }
@@ -4333,6 +4349,8 @@ class AuroDropdown extends r {
4333
4349
  updated(changedProperties) {
4334
4350
  this.floater.handleUpdate(changedProperties);
4335
4351
 
4352
+ // Note: `disabled` is not a breakpoint (it is not a screen size),
4353
+ // so it looks like we never consume this - however, dropdownBib handles this in the setter as "undefined"
4336
4354
  if (changedProperties.has('fullscreenBreakpoint')) {
4337
4355
  this.bibContent.mobileFullscreenBreakpoint = this.fullscreenBreakpoint;
4338
4356
  }
@@ -4483,7 +4501,7 @@ class AuroDropdown extends r {
4483
4501
 
4484
4502
  this.triggerContentSlot.forEach((node) => {
4485
4503
  if (node.querySelectorAll) {
4486
- const auroElements = node.querySelectorAll('auro-input, [auro-input], auro-button, [auro-button], button, input');
4504
+ const auroElements = node.querySelectorAll(this.focusableEntityQuery);
4487
4505
  auroElements.forEach((auroEl) => {
4488
4506
  auroEl.addEventListener('focus', this.bindFocusEventToTrigger);
4489
4507
  auroEl.addEventListener('blur', this.bindFocusEventToTrigger);
@@ -4504,7 +4522,7 @@ class AuroDropdown extends r {
4504
4522
 
4505
4523
  this.triggerContentSlot.forEach((node) => {
4506
4524
  if (node.querySelectorAll) {
4507
- const auroElements = node.querySelectorAll('auro-input, [auro-input], auro-button, [auro-button], button, input');
4525
+ const auroElements = node.querySelectorAll(this.focusableEntityQuery);
4508
4526
  auroElements.forEach((auroEl) => {
4509
4527
  auroEl.removeEventListener('focus', this.bindFocusEventToTrigger);
4510
4528
  auroEl.removeEventListener('blur', this.bindFocusEventToTrigger);
@@ -5728,8 +5746,11 @@ class AuroSelect extends r {
5728
5746
  },
5729
5747
 
5730
5748
  /**
5731
- * Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile.
5732
- * When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
5749
+ * Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)
5750
+ * at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
5751
+ *
5752
+ * When expanded, the dropdown will automatically display in fullscreen mode
5753
+ * if the screen size is equal to or smaller than the selected breakpoint.
5733
5754
  * @default sm
5734
5755
  */
5735
5756
  fullscreenBreakpoint: {
@@ -379,7 +379,7 @@ Applying the `noCheckmark` attribute will prevent the checkmark icon from being
379
379
 
380
380
  ## Example with custom bib height
381
381
 
382
- This example shows how to set a custom height for the bib from `<auro-dropdown>`.
382
+ This example shows how to set a custom height for the bib from `<auro-dropdown>`.
383
383
 
384
384
  Custom height dimensions are set by using the `dropdownSize` CSS Part and then applying a `max-height` rule and value.
385
385
 
@@ -434,6 +434,51 @@ Custom height dimensions are set by using the `dropdownSize` CSS Part and then a
434
434
  <!-- AURO-GENERATED-CONTENT:END -->
435
435
  </auro-accordion>
436
436
 
437
+ ## Example with fullscreen dropdown breakpoint override
438
+
439
+ This example overrides the default dropdown behavior to force a non-fullscreen view on any screen size. `disabled`
440
+ ensures that the dropdown will never be fullscreen.
441
+ Please use `xl` if you want the opposite behavior, where a dropdown is always fullscreen.
442
+
443
+ <div class="exampleWrapper">
444
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/forcedFullscreenDisabled.html) -->
445
+ <!-- The below content is automatically added from ./../apiExamples/forcedFullscreenDisabled.html -->
446
+ <auro-select fullscreenBreakpoint="disabled">
447
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
448
+ <span slot="label">Select Example</span>
449
+ <auro-menu>
450
+ <auro-menuoption value="stops">Stops</auro-menuoption>
451
+ <auro-menuoption value="price">Price</auro-menuoption>
452
+ <auro-menuoption value="duration">Duration</auro-menuoption>
453
+ <auro-menuoption value="departure">Departure</auro-menuoption>
454
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
455
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
456
+ </auro-menu>
457
+ </auro-select>
458
+ <!-- AURO-GENERATED-CONTENT:END -->
459
+ </div>
460
+ <auro-accordion alignRight>
461
+ <span slot="trigger">See code</span>
462
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/forcedFullscreenDisabled.html) -->
463
+ <!-- The below code snippet is automatically added from ./../apiExamples/forcedFullscreenDisabled.html -->
464
+
465
+ ```html
466
+ <auro-select fullscreenBreakpoint="disabled">
467
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
468
+ <span slot="label">Select Example</span>
469
+ <auro-menu>
470
+ <auro-menuoption value="stops">Stops</auro-menuoption>
471
+ <auro-menuoption value="price">Price</auro-menuoption>
472
+ <auro-menuoption value="duration">Duration</auro-menuoption>
473
+ <auro-menuoption value="departure">Departure</auro-menuoption>
474
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
475
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
476
+ </auro-menu>
477
+ </auro-select>
478
+ ```
479
+ <!-- AURO-GENERATED-CONTENT:END -->
480
+ </auro-accordion>
481
+
437
482
  ## Error State
438
483
 
439
484
  Use the `error` boolean attribute to toggle the error UI.
@@ -3492,6 +3492,7 @@ var tokensCss$1$1 = i$5`:host{--ds-auro-dropdown-label-text-color: var(--ds-basi
3492
3492
 
3493
3493
  const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
3494
3494
  const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
3495
+ 'xl',
3495
3496
  'lg',
3496
3497
  'md',
3497
3498
  'sm',
@@ -3563,6 +3564,7 @@ class AuroDropdownBib extends r {
3563
3564
 
3564
3565
  set mobileFullscreenBreakpoint(value) {
3565
3566
  // verify the defined breakpoint is valid and exit out if not
3567
+ // 'disabled' is a design token breakpoint so it acts as our "undefined" value
3566
3568
  const validatedValue = DESIGN_TOKEN_BREAKPOINT_OPTIONS.includes(value) ? value : undefined;
3567
3569
  if (!validatedValue) {
3568
3570
  this._mobileBreakpointValue = undefined;
@@ -4088,7 +4090,12 @@ class AuroDropdown extends r {
4088
4090
  },
4089
4091
 
4090
4092
  /**
4091
- * Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
4093
+ * Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)
4094
+ * at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
4095
+ *
4096
+ * When expanded, the dropdown will automatically display in fullscreen mode
4097
+ * if the screen size is equal to or smaller than the selected breakpoint.
4098
+ * @default sm
4092
4099
  */
4093
4100
  fullscreenBreakpoint: {
4094
4101
  type: String,
@@ -4228,6 +4235,15 @@ class AuroDropdown extends r {
4228
4235
  AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroDropdown);
4229
4236
  }
4230
4237
 
4238
+ /**
4239
+ * Accessor for reusing the focusable entity query string.
4240
+ * @private
4241
+ * @returns {string}
4242
+ */
4243
+ get focusableEntityQuery () {
4244
+ return 'auro-input, [auro-input], auro-button, [auro-button], button, input';
4245
+ }
4246
+
4231
4247
  connectedCallback() {
4232
4248
  super.connectedCallback();
4233
4249
  }
@@ -4241,6 +4257,8 @@ class AuroDropdown extends r {
4241
4257
  updated(changedProperties) {
4242
4258
  this.floater.handleUpdate(changedProperties);
4243
4259
 
4260
+ // Note: `disabled` is not a breakpoint (it is not a screen size),
4261
+ // so it looks like we never consume this - however, dropdownBib handles this in the setter as "undefined"
4244
4262
  if (changedProperties.has('fullscreenBreakpoint')) {
4245
4263
  this.bibContent.mobileFullscreenBreakpoint = this.fullscreenBreakpoint;
4246
4264
  }
@@ -4391,7 +4409,7 @@ class AuroDropdown extends r {
4391
4409
 
4392
4410
  this.triggerContentSlot.forEach((node) => {
4393
4411
  if (node.querySelectorAll) {
4394
- const auroElements = node.querySelectorAll('auro-input, [auro-input], auro-button, [auro-button], button, input');
4412
+ const auroElements = node.querySelectorAll(this.focusableEntityQuery);
4395
4413
  auroElements.forEach((auroEl) => {
4396
4414
  auroEl.addEventListener('focus', this.bindFocusEventToTrigger);
4397
4415
  auroEl.addEventListener('blur', this.bindFocusEventToTrigger);
@@ -4412,7 +4430,7 @@ class AuroDropdown extends r {
4412
4430
 
4413
4431
  this.triggerContentSlot.forEach((node) => {
4414
4432
  if (node.querySelectorAll) {
4415
- const auroElements = node.querySelectorAll('auro-input, [auro-input], auro-button, [auro-button], button, input');
4433
+ const auroElements = node.querySelectorAll(this.focusableEntityQuery);
4416
4434
  auroElements.forEach((auroEl) => {
4417
4435
  auroEl.removeEventListener('focus', this.bindFocusEventToTrigger);
4418
4436
  auroEl.removeEventListener('blur', this.bindFocusEventToTrigger);
@@ -5636,8 +5654,11 @@ class AuroSelect extends r {
5636
5654
  },
5637
5655
 
5638
5656
  /**
5639
- * Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile.
5640
- * When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
5657
+ * Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)
5658
+ * at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
5659
+ *
5660
+ * When expanded, the dropdown will automatically display in fullscreen mode
5661
+ * if the screen size is equal to or smaller than the selected breakpoint.
5641
5662
  * @default sm
5642
5663
  */
5643
5664
  fullscreenBreakpoint: {
@@ -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.0.1/auro-select/+esm"></script>
114
+ <script type="module" src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@3.1.0/auro-select/+esm"></script>
115
115
  ```
116
116
  <!-- AURO-GENERATED-CONTENT:END -->
117
117
 
@@ -36,8 +36,11 @@ export class AuroSelect extends LitElement {
36
36
  reflect: boolean;
37
37
  };
38
38
  /**
39
- * Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile.
40
- * When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
39
+ * Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)
40
+ * at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
41
+ *
42
+ * When expanded, the dropdown will automatically display in fullscreen mode
43
+ * if the screen size is equal to or smaller than the selected breakpoint.
41
44
  * @default sm
42
45
  */
43
46
  fullscreenBreakpoint: {
@@ -3445,6 +3445,7 @@ var tokensCss$1 = css`:host{--ds-auro-dropdown-label-text-color: var(--ds-basic-
3445
3445
 
3446
3446
  const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
3447
3447
  const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
3448
+ 'xl',
3448
3449
  'lg',
3449
3450
  'md',
3450
3451
  'sm',
@@ -3516,6 +3517,7 @@ class AuroDropdownBib extends LitElement {
3516
3517
 
3517
3518
  set mobileFullscreenBreakpoint(value) {
3518
3519
  // verify the defined breakpoint is valid and exit out if not
3520
+ // 'disabled' is a design token breakpoint so it acts as our "undefined" value
3519
3521
  const validatedValue = DESIGN_TOKEN_BREAKPOINT_OPTIONS.includes(value) ? value : undefined;
3520
3522
  if (!validatedValue) {
3521
3523
  this._mobileBreakpointValue = undefined;
@@ -4041,7 +4043,12 @@ class AuroDropdown extends LitElement {
4041
4043
  },
4042
4044
 
4043
4045
  /**
4044
- * Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
4046
+ * Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)
4047
+ * at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
4048
+ *
4049
+ * When expanded, the dropdown will automatically display in fullscreen mode
4050
+ * if the screen size is equal to or smaller than the selected breakpoint.
4051
+ * @default sm
4045
4052
  */
4046
4053
  fullscreenBreakpoint: {
4047
4054
  type: String,
@@ -4181,6 +4188,15 @@ class AuroDropdown extends LitElement {
4181
4188
  AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroDropdown);
4182
4189
  }
4183
4190
 
4191
+ /**
4192
+ * Accessor for reusing the focusable entity query string.
4193
+ * @private
4194
+ * @returns {string}
4195
+ */
4196
+ get focusableEntityQuery () {
4197
+ return 'auro-input, [auro-input], auro-button, [auro-button], button, input';
4198
+ }
4199
+
4184
4200
  connectedCallback() {
4185
4201
  super.connectedCallback();
4186
4202
  }
@@ -4194,6 +4210,8 @@ class AuroDropdown extends LitElement {
4194
4210
  updated(changedProperties) {
4195
4211
  this.floater.handleUpdate(changedProperties);
4196
4212
 
4213
+ // Note: `disabled` is not a breakpoint (it is not a screen size),
4214
+ // so it looks like we never consume this - however, dropdownBib handles this in the setter as "undefined"
4197
4215
  if (changedProperties.has('fullscreenBreakpoint')) {
4198
4216
  this.bibContent.mobileFullscreenBreakpoint = this.fullscreenBreakpoint;
4199
4217
  }
@@ -4344,7 +4362,7 @@ class AuroDropdown extends LitElement {
4344
4362
 
4345
4363
  this.triggerContentSlot.forEach((node) => {
4346
4364
  if (node.querySelectorAll) {
4347
- const auroElements = node.querySelectorAll('auro-input, [auro-input], auro-button, [auro-button], button, input');
4365
+ const auroElements = node.querySelectorAll(this.focusableEntityQuery);
4348
4366
  auroElements.forEach((auroEl) => {
4349
4367
  auroEl.addEventListener('focus', this.bindFocusEventToTrigger);
4350
4368
  auroEl.addEventListener('blur', this.bindFocusEventToTrigger);
@@ -4365,7 +4383,7 @@ class AuroDropdown extends LitElement {
4365
4383
 
4366
4384
  this.triggerContentSlot.forEach((node) => {
4367
4385
  if (node.querySelectorAll) {
4368
- const auroElements = node.querySelectorAll('auro-input, [auro-input], auro-button, [auro-button], button, input');
4386
+ const auroElements = node.querySelectorAll(this.focusableEntityQuery);
4369
4387
  auroElements.forEach((auroEl) => {
4370
4388
  auroEl.removeEventListener('focus', this.bindFocusEventToTrigger);
4371
4389
  auroEl.removeEventListener('blur', this.bindFocusEventToTrigger);
@@ -5589,8 +5607,11 @@ class AuroSelect extends LitElement {
5589
5607
  },
5590
5608
 
5591
5609
  /**
5592
- * Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile.
5593
- * When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
5610
+ * Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)
5611
+ * at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
5612
+ *
5613
+ * When expanded, the dropdown will automatically display in fullscreen mode
5614
+ * if the screen size is equal to or smaller than the selected breakpoint.
5594
5615
  * @default sm
5595
5616
  */
5596
5617
  fullscreenBreakpoint: {
@@ -3445,6 +3445,7 @@ var tokensCss$1 = css`:host{--ds-auro-dropdown-label-text-color: var(--ds-basic-
3445
3445
 
3446
3446
  const DESIGN_TOKEN_BREAKPOINT_PREFIX = '--ds-grid-breakpoint-';
3447
3447
  const DESIGN_TOKEN_BREAKPOINT_OPTIONS = [
3448
+ 'xl',
3448
3449
  'lg',
3449
3450
  'md',
3450
3451
  'sm',
@@ -3516,6 +3517,7 @@ class AuroDropdownBib extends LitElement {
3516
3517
 
3517
3518
  set mobileFullscreenBreakpoint(value) {
3518
3519
  // verify the defined breakpoint is valid and exit out if not
3520
+ // 'disabled' is a design token breakpoint so it acts as our "undefined" value
3519
3521
  const validatedValue = DESIGN_TOKEN_BREAKPOINT_OPTIONS.includes(value) ? value : undefined;
3520
3522
  if (!validatedValue) {
3521
3523
  this._mobileBreakpointValue = undefined;
@@ -4041,7 +4043,12 @@ class AuroDropdown extends LitElement {
4041
4043
  },
4042
4044
 
4043
4045
  /**
4044
- * Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile. When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
4046
+ * Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)
4047
+ * at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
4048
+ *
4049
+ * When expanded, the dropdown will automatically display in fullscreen mode
4050
+ * if the screen size is equal to or smaller than the selected breakpoint.
4051
+ * @default sm
4045
4052
  */
4046
4053
  fullscreenBreakpoint: {
4047
4054
  type: String,
@@ -4181,6 +4188,15 @@ class AuroDropdown extends LitElement {
4181
4188
  AuroLibraryRuntimeUtils$1$1.prototype.registerComponent(name, AuroDropdown);
4182
4189
  }
4183
4190
 
4191
+ /**
4192
+ * Accessor for reusing the focusable entity query string.
4193
+ * @private
4194
+ * @returns {string}
4195
+ */
4196
+ get focusableEntityQuery () {
4197
+ return 'auro-input, [auro-input], auro-button, [auro-button], button, input';
4198
+ }
4199
+
4184
4200
  connectedCallback() {
4185
4201
  super.connectedCallback();
4186
4202
  }
@@ -4194,6 +4210,8 @@ class AuroDropdown extends LitElement {
4194
4210
  updated(changedProperties) {
4195
4211
  this.floater.handleUpdate(changedProperties);
4196
4212
 
4213
+ // Note: `disabled` is not a breakpoint (it is not a screen size),
4214
+ // so it looks like we never consume this - however, dropdownBib handles this in the setter as "undefined"
4197
4215
  if (changedProperties.has('fullscreenBreakpoint')) {
4198
4216
  this.bibContent.mobileFullscreenBreakpoint = this.fullscreenBreakpoint;
4199
4217
  }
@@ -4344,7 +4362,7 @@ class AuroDropdown extends LitElement {
4344
4362
 
4345
4363
  this.triggerContentSlot.forEach((node) => {
4346
4364
  if (node.querySelectorAll) {
4347
- const auroElements = node.querySelectorAll('auro-input, [auro-input], auro-button, [auro-button], button, input');
4365
+ const auroElements = node.querySelectorAll(this.focusableEntityQuery);
4348
4366
  auroElements.forEach((auroEl) => {
4349
4367
  auroEl.addEventListener('focus', this.bindFocusEventToTrigger);
4350
4368
  auroEl.addEventListener('blur', this.bindFocusEventToTrigger);
@@ -4365,7 +4383,7 @@ class AuroDropdown extends LitElement {
4365
4383
 
4366
4384
  this.triggerContentSlot.forEach((node) => {
4367
4385
  if (node.querySelectorAll) {
4368
- const auroElements = node.querySelectorAll('auro-input, [auro-input], auro-button, [auro-button], button, input');
4386
+ const auroElements = node.querySelectorAll(this.focusableEntityQuery);
4369
4387
  auroElements.forEach((auroEl) => {
4370
4388
  auroEl.removeEventListener('focus', this.bindFocusEventToTrigger);
4371
4389
  auroEl.removeEventListener('blur', this.bindFocusEventToTrigger);
@@ -5589,8 +5607,11 @@ class AuroSelect extends LitElement {
5589
5607
  },
5590
5608
 
5591
5609
  /**
5592
- * Defines the screen size breakpoint (`lg`, `md`, `sm`, or `xs`) at which the dropdown switches to fullscreen mode on mobile.
5593
- * When expanded, the dropdown will automatically display in fullscreen mode if the screen size is equal to or smaller than the selected breakpoint.
5610
+ * Defines the screen size breakpoint (`xs`, `sm`, `md`, `lg`, `xl`, `disabled`)
5611
+ * at which the dropdown switches to fullscreen mode on mobile. `disabled` indicates a dropdown should _never_ enter fullscreen.
5612
+ *
5613
+ * When expanded, the dropdown will automatically display in fullscreen mode
5614
+ * if the screen size is equal to or smaller than the selected breakpoint.
5594
5615
  * @default sm
5595
5616
  */
5596
5617
  fullscreenBreakpoint: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aurodesignsystem/auro-formkit",
3
- "version": "3.1.0",
3
+ "version": "3.2.0-beta.1",
4
4
  "description": "A collection of web components used to build forms.",
5
5
  "homepage": "https://github.com/AlaskaAirlines/auro-formkit#readme",
6
6
  "bugs": {