diff options
| author | Rohit Sharma <[email protected]> | 2020-12-15 00:21:14 +0530 |
|---|---|---|
| committer | GitHub <[email protected]> | 2020-12-14 20:51:14 +0200 |
| commit | 042a4a255f3c994ee8285df9a14fe0fbd95df83c (patch) | |
| tree | 65c8bfa43156398a35e0828dcefaebd4b7bb83f5 | |
| parent | 793c79d14b26c4de2198bc4c6d6861e1d420ed76 (diff) | |
| download | bootstrap-042a4a255f3c994ee8285df9a14fe0fbd95df83c.tar.xz bootstrap-042a4a255f3c994ee8285df9a14fe0fbd95df83c.zip | |
Tooltip/popover - change the default value for `fallbackPlacements` (#32437)
The default Popper `fallbackPlacements` value is `[oppositePlacement]`.
- The default value was previously (in v4) `'flip'` that can be achieved by passing the single value in the array, like — `[oppositePlacement]`. Keeping `null` also sets the `fallbackPlacements` to `[oppositePlacement]` (Default value in Popper)
- It's better to have **clockwise** (`['top', 'right', 'bottom', 'left']`) fallback options so that tooltip/popover can be placed to another side even if the opposite placement doesn't fit.
Co-authored-by: XhmikosR <[email protected]>
| -rw-r--r-- | js/src/tooltip.js | 24 | ||||
| -rw-r--r-- | site/content/docs/5.0/components/popovers.md | 6 | ||||
| -rw-r--r-- | site/content/docs/5.0/components/tooltips.md | 6 | ||||
| -rw-r--r-- | site/content/docs/5.0/migration.md | 6 |
4 files changed, 21 insertions, 21 deletions
diff --git a/js/src/tooltip.js b/js/src/tooltip.js index 103524b8b..63a30cf2f 100644 --- a/js/src/tooltip.js +++ b/js/src/tooltip.js @@ -51,7 +51,7 @@ const DefaultType = { selector: '(string|boolean)', placement: '(string|function)', container: '(string|element|boolean)', - fallbackPlacements: '(null|array)', + fallbackPlacements: 'array', boundary: '(string|element)', customClass: '(string|function)', sanitize: 'boolean', @@ -81,7 +81,7 @@ const Default = { selector: false, placement: 'top', container: false, - fallbackPlacements: null, + fallbackPlacements: ['top', 'right', 'bottom', 'left'], boundary: 'clippingParents', customClass: '', sanitize: true, @@ -466,22 +466,16 @@ class Tooltip extends BaseComponent { // Private _getPopperConfig(attachment) { - const flipModifier = { - name: 'flip', - options: { - altBoundary: true, - fallbackPlacements: ['top', 'right', 'bottom', 'left'] - } - } - - if (this.config.fallbackPlacements) { - flipModifier.options.fallbackPlacements = this.config.fallbackPlacements - } - const defaultBsConfig = { placement: attachment, modifiers: [ - flipModifier, + { + name: 'flip', + options: { + altBoundary: true, + fallbackPlacements: this.config.fallbackPlacements + } + }, { name: 'preventOverflow', options: { diff --git a/site/content/docs/5.0/components/popovers.md b/site/content/docs/5.0/components/popovers.md index 0b468833d..0c6118790 100644 --- a/site/content/docs/5.0/components/popovers.md +++ b/site/content/docs/5.0/components/popovers.md @@ -249,9 +249,9 @@ Note that for security reasons the `sanitize`, `sanitizeFn`, and `allowList` opt </tr> <tr> <td><code>fallbackPlacements</code></td> - <td>string | array</td> - <td><code>'flip'</code></td> - <td>Allow to specify which position Popper will use on fallback. For more information refer to + <td>array</td> + <td><code>['top', 'right', 'bottom', 'left']</code></td> + <td>Define fallback placements by providing a list of placements in array (in order of preference). For more information refer to Popper's <a href="https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements">behavior docs</a></td> </tr> <tr> diff --git a/site/content/docs/5.0/components/tooltips.md b/site/content/docs/5.0/components/tooltips.md index 6f0bde9dc..21becc626 100644 --- a/site/content/docs/5.0/components/tooltips.md +++ b/site/content/docs/5.0/components/tooltips.md @@ -254,9 +254,9 @@ Note that for security reasons the `sanitize`, `sanitizeFn`, and `allowList` opt </tr> <tr> <td><code>fallbackPlacements</code></td> - <td>null | array</td> - <td><code>null</code></td> - <td>Allow to specify which position Popper will use on fallback. For more information refer to + <td>array</td> + <td><code>['top', 'right', 'bottom', 'left']</code></td> + <td>Define fallback placements by providing a list of placements in array (in order of preference). For more information refer to Popper's <a href="https://popper.js.org/docs/v2/modifiers/flip/#fallbackplacements">behavior docs</a></td> </tr> <tr> diff --git a/site/content/docs/5.0/migration.md b/site/content/docs/5.0/migration.md index c32dcfab9..05bf47705 100644 --- a/site/content/docs/5.0/migration.md +++ b/site/content/docs/5.0/migration.md @@ -7,6 +7,12 @@ aliases: "/migration/" toc: true --- +## v5.0.0-beta2 + +### JavaScript + +- The default value for the `fallbackPlacements` is changed to `['top', 'right', 'bottom', 'left']` for better placement of popper elements. + ## v5.0.0-beta1 ### RTL |
