@aurodesignsystem/auro-formkit 2.1.0-beta.4 → 2.1.0-beta.6

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 (54) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/components/bibtemplate/dist/index.js +2 -2
  3. package/components/bibtemplate/dist/registered.js +2 -2
  4. package/components/checkbox/README.md +1 -1
  5. package/components/checkbox/demo/readme.md +1 -1
  6. package/components/combobox/README.md +1 -1
  7. package/components/combobox/demo/api.md +122 -19
  8. package/components/combobox/demo/api.min.js +110 -16
  9. package/components/combobox/demo/index.min.js +110 -16
  10. package/components/combobox/demo/readme.md +1 -1
  11. package/components/combobox/dist/auro-combobox.d.ts +42 -0
  12. package/components/combobox/dist/index.js +110 -16
  13. package/components/combobox/dist/registered.js +110 -16
  14. package/components/counter/README.md +1 -1
  15. package/components/counter/demo/api.md +113 -10
  16. package/components/counter/demo/api.min.js +128 -39
  17. package/components/counter/demo/index.min.js +128 -39
  18. package/components/counter/demo/readme.md +1 -1
  19. package/components/counter/dist/auro-counter-group.d.ts +55 -17
  20. package/components/counter/dist/index.js +128 -39
  21. package/components/counter/dist/registered.js +128 -39
  22. package/components/datepicker/README.md +1 -1
  23. package/components/datepicker/demo/api.md +61 -0
  24. package/components/datepicker/demo/api.min.js +112 -17
  25. package/components/datepicker/demo/index.min.js +112 -17
  26. package/components/datepicker/demo/readme.md +1 -1
  27. package/components/datepicker/dist/auro-datepicker.d.ts +42 -0
  28. package/components/datepicker/dist/index.js +112 -17
  29. package/components/datepicker/dist/registered.js +112 -17
  30. package/components/dropdown/README.md +1 -1
  31. package/components/dropdown/demo/api.md +166 -19
  32. package/components/dropdown/demo/api.min.js +56 -14
  33. package/components/dropdown/demo/index.min.js +56 -14
  34. package/components/dropdown/demo/readme.md +1 -1
  35. package/components/dropdown/dist/auro-dropdown.d.ts +46 -6
  36. package/components/dropdown/dist/index.js +56 -14
  37. package/components/dropdown/dist/registered.js +56 -14
  38. package/components/form/README.md +1 -1
  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 +120 -17
  48. package/components/select/demo/api.min.js +110 -16
  49. package/components/select/demo/index.min.js +110 -16
  50. package/components/select/demo/readme.md +1 -1
  51. package/components/select/dist/auro-select.d.ts +42 -0
  52. package/components/select/dist/index.js +110 -16
  53. package/components/select/dist/registered.js +110 -16
  54. package/package.json +1 -1
@@ -14,23 +14,27 @@ The auro-select element is a wrapper for auro-dropdown and auro-menu to create a
14
14
 
15
15
  ## Properties
16
16
 
17
- | Property | Attribute | Type | Default | Description |
18
- |---------------------------------|---------------------------------|-----------|---------|--------------------------------------------------|
19
- | [disabled](#disabled) | `disabled` | `boolean` | | When attribute is present, element shows disabled state. |
20
- | [error](#error) | `error` | `string` | | When defined, sets persistent validity to `customError` and sets `setCustomValidity` = attribute value. |
21
- | [flexMenuWidth](#flexMenuWidth) | `flexMenuWidth` | `boolean` | | If set, makes dropdown width match the size of the content, rather than the width of the trigger. |
22
- | [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
- | [largeFullscreenHeadline](#largeFullscreenHeadline) | `largeFullscreenHeadline` | `boolean` | | If declared, make bib.fullscreen.headline in HeadingDisplay.<br />Otherwise, Heading 600 |
24
- | [multiSelect](#multiSelect) | `multiselect` | `boolean` | | Sets multi-select mode, allowing multiple options to be selected at once. |
25
- | [noCheckmark](#noCheckmark) | `noCheckmark` | `boolean` | | When true, checkmark on selected option will no longer be present. |
26
- | [noValidate](#noValidate) | `noValidate` | `boolean` | | If set, disables auto-validation on blur. |
27
- | [optionSelected](#optionSelected) | `optionSelected` | | | Specifies the current selected menuOption. |
28
- | [required](#required) | `required` | `boolean` | | Populates the `required` attribute on the element. Used for client-side validation. |
29
- | [setCustomValidity](#setCustomValidity) | `setCustomValidity` | `string` | | Sets a custom help text message to display for all validityStates. |
30
- | [setCustomValidityCustomError](#setCustomValidityCustomError) | `setCustomValidityCustomError` | `string` | | Custom help text message to display when validity = `customError`. |
31
- | [setCustomValidityValueMissing](#setCustomValidityValueMissing) | `setCustomValidityValueMissing` | `string` | | Custom help text message to display when validity = `valueMissing`. |
32
- | [validity](#validity) | `validity` | `string` | | Specifies the `validityState` this element is in. |
33
- | [value](#value) | `value` | | | Value selected for the component. |
17
+ | Property | Attribute | Type | Default | Description |
18
+ |---------------------------------|---------------------------------|-----------|----------------|--------------------------------------------------|
19
+ | [autoPlacement](#autoPlacement) | `autoPlacement` | `boolean` | "false" | If declared, bib's position will be automatically calculated where to appear. |
20
+ | [disabled](#disabled) | `disabled` | `boolean` | | When attribute is present, element shows disabled state. |
21
+ | [error](#error) | `error` | `string` | | When defined, sets persistent validity to `customError` and sets `setCustomValidity` = attribute value. |
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. |
24
+ | [largeFullscreenHeadline](#largeFullscreenHeadline) | `largeFullscreenHeadline` | `boolean` | | If declared, make bib.fullscreen.headline in HeadingDisplay.<br />Otherwise, Heading 600 |
25
+ | [multiSelect](#multiSelect) | `multiselect` | `boolean` | | Sets multi-select mode, allowing multiple options to be selected at once. |
26
+ | [noCheckmark](#noCheckmark) | `noCheckmark` | `boolean` | | When true, checkmark on selected option will no longer be present. |
27
+ | [noFlip](#noFlip) | `noFlip` | `boolean` | "false" | If declared, the bib will NOT flip to an alternate position<br />when there isn't enough space in the specified `placement`. |
28
+ | [noValidate](#noValidate) | `noValidate` | `boolean` | | If set, disables auto-validation on blur. |
29
+ | [offset](#offset) | `offset` | `number` | "0" | Gap between the trigger element and bib. |
30
+ | [optionSelected](#optionSelected) | `optionSelected` | | | Specifies the current selected menuOption. |
31
+ | [placement](#placement) | `placement` | `string` | "bottom-start" | Position where the bib should appear relative to the trigger.<br />Accepted values:<br />"top" \| "right" \| "bottom" \| "left" \|<br />"bottom-start" \| "top-start" \| "top-end" \|<br />"right-start" \| "right-end" \| "bottom-end" \|<br />"left-start" \| "left-end" |
32
+ | [required](#required) | `required` | `boolean` | | Populates the `required` attribute on the element. Used for client-side validation. |
33
+ | [setCustomValidity](#setCustomValidity) | `setCustomValidity` | `string` | | Sets a custom help text message to display for all validityStates. |
34
+ | [setCustomValidityCustomError](#setCustomValidityCustomError) | `setCustomValidityCustomError` | `string` | | Custom help text message to display when validity = `customError`. |
35
+ | [setCustomValidityValueMissing](#setCustomValidityValueMissing) | `setCustomValidityValueMissing` | `string` | | Custom help text message to display when validity = `valueMissing`. |
36
+ | [validity](#validity) | `validity` | `string` | | Specifies the `validityState` this element is in. |
37
+ | [value](#value) | `value` | | | Value selected for the component. |
34
38
 
35
39
  ## Methods
36
40
 
@@ -758,6 +762,105 @@ export function auroMenuLoadingExample() {
758
762
  <!-- AURO-GENERATED-CONTENT:END -->
759
763
  </auro-accordion>
760
764
 
765
+ ### Customized bib position
766
+ The bib position can be customized with `placement`, `offset`, `flip`, `autoPlacement` attributes.
767
+
768
+ - `placement` specifies the preferred position where the bib should appear relative to the trigger.
769
+ - `offset` sets the distance between the trigger and the bib.
770
+ - When `autoPlacement` is enabled, smart positioning logic is applied to determine the best placement for the bib. If all sides have sufficient space, the bib will appear in the position specified by `placement`.
771
+ - Unless `noFlip` is enabled, if there isn't enough space for the preferred `placement`, the bib will automatically flip to an alternative position.
772
+
773
+ <div class="exampleWrapper">
774
+ <!-- AURO-GENERATED-CONTENT:START (FILE:src=./../apiExamples/floaterConfig.html) -->
775
+ <!-- The below content is automatically added from ./../apiExamples/floaterConfig.html -->
776
+ <div style="width: 350px">
777
+ <auro-select offset="20" noFlip placement="bottom-end">
778
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
779
+ <span slot="label">bottom-end bib with 20px offset and noFlip</span>
780
+ <auro-menu>
781
+ <auro-menuoption value="stops">Stops</auro-menuoption>
782
+ <auro-menuoption value="price">Price</auro-menuoption>
783
+ <auro-menuoption value="duration">Duration</auro-menuoption>
784
+ <auro-menuoption value="departure">Departure</auro-menuoption>
785
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
786
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
787
+ </auro-menu>
788
+ </auro-select>
789
+ <auro-select offset="20" placement="bottom-end">
790
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
791
+ <span slot="label">bottom-end bib with 20px offset and flip</span>
792
+ <auro-menu>
793
+ <auro-menuoption value="stops">Stops</auro-menuoption>
794
+ <auro-menuoption value="price">Price</auro-menuoption>
795
+ <auro-menuoption value="duration">Duration</auro-menuoption>
796
+ <auro-menuoption value="departure">Departure</auro-menuoption>
797
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
798
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
799
+ </auro-menu>
800
+ </auro-select>
801
+ <auro-select offset="20" noFlip placement="right" autoPlacement noFlip >
802
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
803
+ <span slot="label">right bib with 20px offset, noFlip and autoPlacement</span>
804
+ <auro-menu>
805
+ <auro-menuoption value="stops">Stops</auro-menuoption>
806
+ <auro-menuoption value="price">Price</auro-menuoption>
807
+ <auro-menuoption value="duration">Duration</auro-menuoption>
808
+ <auro-menuoption value="departure">Departure</auro-menuoption>
809
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
810
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
811
+ </auro-menu>
812
+ </auro-select>
813
+ </div>
814
+ <!-- AURO-GENERATED-CONTENT:END -->
815
+ </div>
816
+ <auro-accordion alignRight>
817
+ <span slot="trigger">See code</span>
818
+ <!-- AURO-GENERATED-CONTENT:START (CODE:src=./../apiExamples/floaterConfig.html) -->
819
+ <!-- The below code snippet is automatically added from ./../apiExamples/floaterConfig.html -->
820
+
821
+ ```html
822
+ <div style="width: 350px">
823
+ <auro-select offset="20" noFlip placement="bottom-end">
824
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
825
+ <span slot="label">bottom-end bib with 20px offset and noFlip</span>
826
+ <auro-menu>
827
+ <auro-menuoption value="stops">Stops</auro-menuoption>
828
+ <auro-menuoption value="price">Price</auro-menuoption>
829
+ <auro-menuoption value="duration">Duration</auro-menuoption>
830
+ <auro-menuoption value="departure">Departure</auro-menuoption>
831
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
832
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
833
+ </auro-menu>
834
+ </auro-select>
835
+ <auro-select offset="20" placement="bottom-end">
836
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
837
+ <span slot="label">bottom-end bib with 20px offset and flip</span>
838
+ <auro-menu>
839
+ <auro-menuoption value="stops">Stops</auro-menuoption>
840
+ <auro-menuoption value="price">Price</auro-menuoption>
841
+ <auro-menuoption value="duration">Duration</auro-menuoption>
842
+ <auro-menuoption value="departure">Departure</auro-menuoption>
843
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
844
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
845
+ </auro-menu>
846
+ </auro-select>
847
+ <auro-select offset="20" noFlip placement="right" autoPlacement noFlip >
848
+ <span slot="bib.fullscreen.headline">Bib Headline</span>
849
+ <span slot="label">right bib with 20px offset, noFlip and autoPlacement</span>
850
+ <auro-menu>
851
+ <auro-menuoption value="stops">Stops</auro-menuoption>
852
+ <auro-menuoption value="price">Price</auro-menuoption>
853
+ <auro-menuoption value="duration">Duration</auro-menuoption>
854
+ <auro-menuoption value="departure">Departure</auro-menuoption>
855
+ <auro-menuoption value="arrival">Arrival</auro-menuoption>
856
+ <auro-menuoption value="prefer alaska">Prefer Alaska</auro-menuoption>
857
+ </auro-menu>
858
+ </auro-select>
859
+ </div>
860
+ ```
861
+ <!-- AURO-GENERATED-CONTENT:END -->
862
+ </auro-accordion>
863
+
761
864
  ### Dropdown with fullscreen bib
762
865
 
763
866
  You can make the dropdown open in fullscreen at a specific breakpoint by setting `fullscreenBreakpoint`.
@@ -3491,12 +3491,17 @@ class AuroDropdown extends r {
3491
3491
  this.disabled = false;
3492
3492
  this.error = false;
3493
3493
  this.inset = false;
3494
- this.placement = 'bottom-start';
3495
3494
  this.rounded = false;
3496
3495
  this.tabIndex = 0;
3497
3496
  this.noToggle = false;
3498
3497
  this.labeled = true;
3499
3498
 
3499
+ // floaterConfig
3500
+ this.placement = 'bottom-start';
3501
+ this.offset = 0;
3502
+ this.noFlip = false;
3503
+ this.autoPlacement = false;
3504
+
3500
3505
  /**
3501
3506
  * @private
3502
3507
  */
@@ -3517,16 +3522,6 @@ class AuroDropdown extends r {
3517
3522
  */
3518
3523
  this.floater = new AuroFloatingUI();
3519
3524
 
3520
- /**
3521
- * @private
3522
- */
3523
- this.floaterConfig = {
3524
- placement: 'bottom-start',
3525
- flip: true,
3526
- autoPlacement: false,
3527
- offset: 0,
3528
- };
3529
-
3530
3525
  /**
3531
3526
  * Generate unique names for dependency components.
3532
3527
  */
@@ -3548,6 +3543,18 @@ class AuroDropdown extends r {
3548
3543
  this.helpTextTag = versioning.generateTag('auro-formkit-dropdown-helptext', helpTextVersion, AuroHelpText);
3549
3544
  }
3550
3545
 
3546
+ /**
3547
+ * @ignore
3548
+ */
3549
+ get floaterConfig() {
3550
+ return {
3551
+ placement: this.placement,
3552
+ flip: !this.noFlip,
3553
+ autoPlacement: this.autoPlacement,
3554
+ offset: this.offset,
3555
+ };
3556
+ }
3557
+
3551
3558
  /**
3552
3559
  * Public method to hide the dropdown.
3553
3560
  * @returns {void}
@@ -3568,6 +3575,15 @@ class AuroDropdown extends r {
3568
3575
  static get properties() {
3569
3576
  return {
3570
3577
 
3578
+ /**
3579
+ * If declared, bib's position will be automatically calculated where to appear.
3580
+ * @default false
3581
+ */
3582
+ autoPlacement: {
3583
+ type: Boolean,
3584
+ reflect: true
3585
+ },
3586
+
3571
3587
  /**
3572
3588
  * If declared, applies a border around the trigger slot.
3573
3589
  */
@@ -3652,7 +3668,7 @@ class AuroDropdown extends r {
3652
3668
  */
3653
3669
  isBibFullscreen: {
3654
3670
  type: Boolean,
3655
- reflect: true,
3671
+ reflect: true
3656
3672
  },
3657
3673
 
3658
3674
  /**
@@ -3695,6 +3711,16 @@ class AuroDropdown extends r {
3695
3711
  reflect: true
3696
3712
  },
3697
3713
 
3714
+ /**
3715
+ * If declared, the bib will NOT flip to an alternate position
3716
+ * when there isn't enough space in the specified `placement`.
3717
+ * @default false
3718
+ */
3719
+ noFlip: {
3720
+ type: Boolean,
3721
+ reflect: true
3722
+ },
3723
+
3698
3724
  /**
3699
3725
  * If declared, the dropdown will not hide when moving focus outside the element.
3700
3726
  */
@@ -3711,16 +3737,32 @@ class AuroDropdown extends r {
3711
3737
  reflect: true
3712
3738
  },
3713
3739
 
3740
+ /**
3741
+ * Gap between the trigger element and bib.
3742
+ * @default 0
3743
+ */
3744
+ offset: {
3745
+ type: Number,
3746
+ reflect: true
3747
+ },
3748
+
3714
3749
  onSlotChange: {
3715
3750
  type: Function,
3716
3751
  reflect: false
3717
3752
  },
3718
3753
 
3719
3754
  /**
3720
- * @private
3755
+ * Position where the bib should appear relative to the trigger.
3756
+ * Accepted values:
3757
+ * "top" | "right" | "bottom" | "left" |
3758
+ * "bottom-start" | "top-start" | "top-end" |
3759
+ * "right-start" | "right-end" | "bottom-end" |
3760
+ * "left-start" | "left-end"
3761
+ * @default bottom-start
3721
3762
  */
3722
3763
  placement: {
3723
- type: String
3764
+ type: String,
3765
+ reflect: true
3724
3766
  },
3725
3767
 
3726
3768
  /**
@@ -4887,11 +4929,11 @@ class AuroBibtemplate extends r {
4887
4929
  return {
4888
4930
  isFullscreen: {
4889
4931
  type: Boolean,
4890
- reflect: true,
4932
+ reflect: true
4891
4933
  },
4892
4934
  large: {
4893
4935
  type: Boolean,
4894
- reflect: true,
4936
+ reflect: true
4895
4937
  }
4896
4938
  };
4897
4939
  }
@@ -5130,6 +5172,12 @@ class AuroSelect extends r {
5130
5172
  const idSubstrEnd = 8;
5131
5173
  const idSubstrStart = 2;
5132
5174
 
5175
+ // floaterConfig
5176
+ this.placement = 'bottom-start';
5177
+ this.offset = 0;
5178
+ this.noFlip = false;
5179
+ this.autoPlacement = false;
5180
+
5133
5181
  /**
5134
5182
  * @private
5135
5183
  */
@@ -5186,6 +5234,15 @@ class AuroSelect extends r {
5186
5234
  static get properties() {
5187
5235
  return {
5188
5236
 
5237
+ /**
5238
+ * If declared, bib's position will be automatically calculated where to appear.
5239
+ * @default false
5240
+ */
5241
+ autoPlacement: {
5242
+ type: Boolean,
5243
+ reflect: true
5244
+ },
5245
+
5189
5246
  /**
5190
5247
  * When attribute is present, element shows disabled state.
5191
5248
  */
@@ -5229,6 +5286,16 @@ class AuroSelect extends r {
5229
5286
  reflect: true
5230
5287
  },
5231
5288
 
5289
+ /**
5290
+ * If declared, the bib will NOT flip to an alternate position
5291
+ * when there isn't enough space in the specified `placement`.
5292
+ * @default false
5293
+ */
5294
+ noFlip: {
5295
+ type: Boolean,
5296
+ reflect: true
5297
+ },
5298
+
5232
5299
  /**
5233
5300
  * If set, disables auto-validation on blur.
5234
5301
  */
@@ -5237,6 +5304,15 @@ class AuroSelect extends r {
5237
5304
  reflect: true
5238
5305
  },
5239
5306
 
5307
+ /**
5308
+ * Gap between the trigger element and bib.
5309
+ * @default 0
5310
+ */
5311
+ offset: {
5312
+ type: Number,
5313
+ reflect: true
5314
+ },
5315
+
5240
5316
  /**
5241
5317
  * @private
5242
5318
  */
@@ -5260,6 +5336,20 @@ class AuroSelect extends r {
5260
5336
  type: Array
5261
5337
  },
5262
5338
 
5339
+ /**
5340
+ * Position where the bib should appear relative to the trigger.
5341
+ * Accepted values:
5342
+ * "top" | "right" | "bottom" | "left" |
5343
+ * "bottom-start" | "top-start" | "top-end" |
5344
+ * "right-start" | "right-end" | "bottom-end" |
5345
+ * "left-start" | "left-end"
5346
+ * @default bottom-start
5347
+ */
5348
+ placement: {
5349
+ type: String,
5350
+ reflect: true
5351
+ },
5352
+
5263
5353
  /**
5264
5354
  * Populates the `required` attribute on the element. Used for client-side validation.
5265
5355
  */
@@ -5722,6 +5812,10 @@ class AuroSelect extends r {
5722
5812
  .fullscreenBreakpoint="${this.fullscreenBreakpoint}"
5723
5813
  ?matchWidth="${!this.flexMenuWidth}"
5724
5814
  chevron
5815
+ .placement="${this.placement}"
5816
+ .offset="${this.offset}"
5817
+ ?autoPlacement="${this.autoPlacement}"
5818
+ ?noFlip="${this.noFlip}"
5725
5819
  part="dropdown">
5726
5820
  <span slot="trigger" aria-haspopup="true" id="triggerFocus">
5727
5821
  <span id="placeholder" class="${e(placeholderClass)}"><slot name="placeholder"></slot></span>
@@ -3387,12 +3387,17 @@ class AuroDropdown extends r {
3387
3387
  this.disabled = false;
3388
3388
  this.error = false;
3389
3389
  this.inset = false;
3390
- this.placement = 'bottom-start';
3391
3390
  this.rounded = false;
3392
3391
  this.tabIndex = 0;
3393
3392
  this.noToggle = false;
3394
3393
  this.labeled = true;
3395
3394
 
3395
+ // floaterConfig
3396
+ this.placement = 'bottom-start';
3397
+ this.offset = 0;
3398
+ this.noFlip = false;
3399
+ this.autoPlacement = false;
3400
+
3396
3401
  /**
3397
3402
  * @private
3398
3403
  */
@@ -3413,16 +3418,6 @@ class AuroDropdown extends r {
3413
3418
  */
3414
3419
  this.floater = new AuroFloatingUI();
3415
3420
 
3416
- /**
3417
- * @private
3418
- */
3419
- this.floaterConfig = {
3420
- placement: 'bottom-start',
3421
- flip: true,
3422
- autoPlacement: false,
3423
- offset: 0,
3424
- };
3425
-
3426
3421
  /**
3427
3422
  * Generate unique names for dependency components.
3428
3423
  */
@@ -3444,6 +3439,18 @@ class AuroDropdown extends r {
3444
3439
  this.helpTextTag = versioning.generateTag('auro-formkit-dropdown-helptext', helpTextVersion, AuroHelpText);
3445
3440
  }
3446
3441
 
3442
+ /**
3443
+ * @ignore
3444
+ */
3445
+ get floaterConfig() {
3446
+ return {
3447
+ placement: this.placement,
3448
+ flip: !this.noFlip,
3449
+ autoPlacement: this.autoPlacement,
3450
+ offset: this.offset,
3451
+ };
3452
+ }
3453
+
3447
3454
  /**
3448
3455
  * Public method to hide the dropdown.
3449
3456
  * @returns {void}
@@ -3464,6 +3471,15 @@ class AuroDropdown extends r {
3464
3471
  static get properties() {
3465
3472
  return {
3466
3473
 
3474
+ /**
3475
+ * If declared, bib's position will be automatically calculated where to appear.
3476
+ * @default false
3477
+ */
3478
+ autoPlacement: {
3479
+ type: Boolean,
3480
+ reflect: true
3481
+ },
3482
+
3467
3483
  /**
3468
3484
  * If declared, applies a border around the trigger slot.
3469
3485
  */
@@ -3548,7 +3564,7 @@ class AuroDropdown extends r {
3548
3564
  */
3549
3565
  isBibFullscreen: {
3550
3566
  type: Boolean,
3551
- reflect: true,
3567
+ reflect: true
3552
3568
  },
3553
3569
 
3554
3570
  /**
@@ -3591,6 +3607,16 @@ class AuroDropdown extends r {
3591
3607
  reflect: true
3592
3608
  },
3593
3609
 
3610
+ /**
3611
+ * If declared, the bib will NOT flip to an alternate position
3612
+ * when there isn't enough space in the specified `placement`.
3613
+ * @default false
3614
+ */
3615
+ noFlip: {
3616
+ type: Boolean,
3617
+ reflect: true
3618
+ },
3619
+
3594
3620
  /**
3595
3621
  * If declared, the dropdown will not hide when moving focus outside the element.
3596
3622
  */
@@ -3607,16 +3633,32 @@ class AuroDropdown extends r {
3607
3633
  reflect: true
3608
3634
  },
3609
3635
 
3636
+ /**
3637
+ * Gap between the trigger element and bib.
3638
+ * @default 0
3639
+ */
3640
+ offset: {
3641
+ type: Number,
3642
+ reflect: true
3643
+ },
3644
+
3610
3645
  onSlotChange: {
3611
3646
  type: Function,
3612
3647
  reflect: false
3613
3648
  },
3614
3649
 
3615
3650
  /**
3616
- * @private
3651
+ * Position where the bib should appear relative to the trigger.
3652
+ * Accepted values:
3653
+ * "top" | "right" | "bottom" | "left" |
3654
+ * "bottom-start" | "top-start" | "top-end" |
3655
+ * "right-start" | "right-end" | "bottom-end" |
3656
+ * "left-start" | "left-end"
3657
+ * @default bottom-start
3617
3658
  */
3618
3659
  placement: {
3619
- type: String
3660
+ type: String,
3661
+ reflect: true
3620
3662
  },
3621
3663
 
3622
3664
  /**
@@ -4783,11 +4825,11 @@ class AuroBibtemplate extends r {
4783
4825
  return {
4784
4826
  isFullscreen: {
4785
4827
  type: Boolean,
4786
- reflect: true,
4828
+ reflect: true
4787
4829
  },
4788
4830
  large: {
4789
4831
  type: Boolean,
4790
- reflect: true,
4832
+ reflect: true
4791
4833
  }
4792
4834
  };
4793
4835
  }
@@ -5026,6 +5068,12 @@ class AuroSelect extends r {
5026
5068
  const idSubstrEnd = 8;
5027
5069
  const idSubstrStart = 2;
5028
5070
 
5071
+ // floaterConfig
5072
+ this.placement = 'bottom-start';
5073
+ this.offset = 0;
5074
+ this.noFlip = false;
5075
+ this.autoPlacement = false;
5076
+
5029
5077
  /**
5030
5078
  * @private
5031
5079
  */
@@ -5082,6 +5130,15 @@ class AuroSelect extends r {
5082
5130
  static get properties() {
5083
5131
  return {
5084
5132
 
5133
+ /**
5134
+ * If declared, bib's position will be automatically calculated where to appear.
5135
+ * @default false
5136
+ */
5137
+ autoPlacement: {
5138
+ type: Boolean,
5139
+ reflect: true
5140
+ },
5141
+
5085
5142
  /**
5086
5143
  * When attribute is present, element shows disabled state.
5087
5144
  */
@@ -5125,6 +5182,16 @@ class AuroSelect extends r {
5125
5182
  reflect: true
5126
5183
  },
5127
5184
 
5185
+ /**
5186
+ * If declared, the bib will NOT flip to an alternate position
5187
+ * when there isn't enough space in the specified `placement`.
5188
+ * @default false
5189
+ */
5190
+ noFlip: {
5191
+ type: Boolean,
5192
+ reflect: true
5193
+ },
5194
+
5128
5195
  /**
5129
5196
  * If set, disables auto-validation on blur.
5130
5197
  */
@@ -5133,6 +5200,15 @@ class AuroSelect extends r {
5133
5200
  reflect: true
5134
5201
  },
5135
5202
 
5203
+ /**
5204
+ * Gap between the trigger element and bib.
5205
+ * @default 0
5206
+ */
5207
+ offset: {
5208
+ type: Number,
5209
+ reflect: true
5210
+ },
5211
+
5136
5212
  /**
5137
5213
  * @private
5138
5214
  */
@@ -5156,6 +5232,20 @@ class AuroSelect extends r {
5156
5232
  type: Array
5157
5233
  },
5158
5234
 
5235
+ /**
5236
+ * Position where the bib should appear relative to the trigger.
5237
+ * Accepted values:
5238
+ * "top" | "right" | "bottom" | "left" |
5239
+ * "bottom-start" | "top-start" | "top-end" |
5240
+ * "right-start" | "right-end" | "bottom-end" |
5241
+ * "left-start" | "left-end"
5242
+ * @default bottom-start
5243
+ */
5244
+ placement: {
5245
+ type: String,
5246
+ reflect: true
5247
+ },
5248
+
5159
5249
  /**
5160
5250
  * Populates the `required` attribute on the element. Used for client-side validation.
5161
5251
  */
@@ -5618,6 +5708,10 @@ class AuroSelect extends r {
5618
5708
  .fullscreenBreakpoint="${this.fullscreenBreakpoint}"
5619
5709
  ?matchWidth="${!this.flexMenuWidth}"
5620
5710
  chevron
5711
+ .placement="${this.placement}"
5712
+ .offset="${this.offset}"
5713
+ ?autoPlacement="${this.autoPlacement}"
5714
+ ?noFlip="${this.noFlip}"
5621
5715
  part="dropdown">
5622
5716
  <span slot="trigger" aria-haspopup="true" id="triggerFocus">
5623
5717
  <span id="placeholder" class="${e(placeholderClass)}"><slot name="placeholder"></slot></span>
@@ -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@2.1.0-beta.3/auro-select/+esm"></script>
114
+ <script type="module "src="https://cdn.jsdelivr.net/npm/@aurodesignsystem/auro-formkit@2.1.0-beta.5/auro-select/+esm"></script>
115
115
  ```
116
116
  <!-- AURO-GENERATED-CONTENT:END -->
117
117