Skip to content

Commit

Permalink
fix(cdk:popper): use shift middleware to keep popper in view (#1329)
Browse files Browse the repository at this point in the history
  • Loading branch information
danranVm committed Dec 2, 2022
1 parent d0fb7fd commit 8152be1
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ exports[`usePopper > options > autoAdjust work 2`] = `
exports[`usePopper > options > offset work 1`] = `
"<div id=\\"trigger\\">Trigger</div>
<div id=\\"overlay\\" style=\\"position: absolute; left: 4px; top: -4px;\\" data-popper-reference-hidden=\\"\\" data-popper-placement=\\"top\\">Popper</div>"
<div id=\\"overlay\\" style=\\"position: absolute; left: 0px; top: -4px;\\" data-popper-reference-hidden=\\"\\" data-popper-placement=\\"top\\">Popper</div>"
`;
exports[`usePopper > options > offset work 2`] = `
"<div id=\\"trigger\\">Trigger</div>
<div id=\\"overlay\\" style=\\"position: absolute; left: 8px; top: -8px;\\" data-popper-reference-hidden=\\"\\" data-popper-placement=\\"top\\">Popper</div>"
<div id=\\"overlay\\" style=\\"position: absolute; left: 0px; top: -8px;\\" data-popper-reference-hidden=\\"\\" data-popper-placement=\\"top\\">Popper</div>"
`;
exports[`usePopper > options > placement work 1`] = `
Expand Down
7 changes: 4 additions & 3 deletions packages/cdk/popper/src/convertOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,6 @@
* found in the LICENSE file at https://github.com/IDuxFE/idux/blob/main/LICENSE
*/

import type { BaseOptions } from './composables/useOptions'
import type { PopperPlacement } from './types'

import { kebabCase } from 'lodash-es'

import {
Expand All @@ -16,11 +13,14 @@ import {
type Placement,
flip,
offset as offsetMiddleware,
shift,
} from '@floating-ui/dom'

import { type BaseOptions } from './composables/useOptions'
import { arrow } from './middlewares/arrow'
import { referenceHidden } from './middlewares/refenceHidden'
import { updatePlacement } from './middlewares/updatePlacement'
import { type PopperPlacement } from './types'

export interface ExtraOptions {
arrowElement: HTMLElement | undefined
Expand All @@ -41,6 +41,7 @@ export function convertOptions(baseOptions: BaseOptions, extraOptions: ExtraOpti
crossAxis: offset[0],
}),
autoAdjust && flip({ padding: 4 }),
autoAdjust && shift(),
...middlewares,
referenceHidden(),
updatePlacement(_updatePlacement),
Expand Down

0 comments on commit 8152be1

Please sign in to comment.