|
1 | | -import {arrow, computePosition, flip, shift, size, autoUpdate, offset, VirtualElement, ReferenceElement, ComputePositionConfig} from '@floating-ui/dom'; |
| 1 | +import {arrow, computePosition, flip, shift, hide, size, autoUpdate, offset, VirtualElement, ReferenceElement, ComputePositionConfig} from '@floating-ui/dom'; |
2 | 2 | import {Component, $, ComponentEvents, JSX, evalValue, toCssSize, nextGid, ComponentOptions, parseSize} from '@zui/core'; |
3 | 3 | import {PopoverEvents, PopoverOptions, PopoverPanelOptions, PopoverSide} from '../types'; |
4 | 4 | import {PopoverPanel} from './popover-panel'; |
@@ -516,7 +516,7 @@ export class Popover<O extends PopoverOptions = PopoverOptions, E extends Compon |
516 | 516 | protected _getLayoutOptions(): [trigger: ReferenceElement, element: HTMLElement, options: Partial<ComputePositionConfig>] { |
517 | 517 | const trigger = this.getTriggerElement(); |
518 | 518 | const element = this._targetElement!; |
519 | | - const {placement: placementSetting, flip: isFlip, limitSize, shift: shiftSetting, offset: offsetSetting, arrow: arrowSetting, strategy, maxHeight: maxHeightSetting, maxWidth: maxWidthSetting} = this.options; |
| 519 | + const {placement: placementSetting, flip: isFlip, limitSize, shift: shiftSetting, offset: offsetSetting, arrow: arrowSetting, strategy, maxHeight: maxHeightSetting, maxWidth: maxWidthSetting, autoHide} = this.options; |
520 | 520 | const arrowElement = arrowSetting ? element.querySelector('.arrow') : null; |
521 | 521 | const arrowSize = arrowElement ? (typeof arrowSetting === 'number' ? arrowSetting : 5) : 0; |
522 | 522 | const getOffsetSetting = () => { |
@@ -555,6 +555,7 @@ export class Popover<O extends PopoverOptions = PopoverOptions, E extends Compon |
555 | 555 | }); |
556 | 556 | }, |
557 | 557 | }) : null, |
| 558 | + autoHide ? hide(typeof autoHide === 'object' ? autoHide : undefined) : null, |
558 | 559 | ].filter(Boolean), |
559 | 560 | }]; |
560 | 561 | } |
|
0 commit comments