@@ -3,14 +3,15 @@ import { handleRef, Ref } from '@stardust-ui/react-component-ref'
33import keyboardKey from 'keyboard-key'
44import _ from 'lodash'
55import PropTypes from 'prop-types'
6- import React , { cloneElement , createRef , Fragment } from 'react'
6+ import React from 'react'
77
88import {
99 ModernAutoControlledComponent as Component ,
1010 customPropTypes ,
1111 doesNodeContainClick ,
1212 makeDebugger ,
1313} from '../../lib'
14+ import validateTrigger from './utils/validateTrigger'
1415import PortalInner from './PortalInner'
1516
1617const debug = makeDebugger ( 'portal' )
@@ -126,8 +127,8 @@ class Portal extends Component {
126127
127128 static Inner = PortalInner
128129
129- contentRef = createRef ( )
130- triggerRef = createRef ( )
130+ contentRef = React . createRef ( )
131+ triggerRef = React . createRef ( )
131132 latestDocumentMouseDownEvent = null
132133
133134 componentWillUnmount ( ) {
@@ -335,10 +336,15 @@ class Portal extends Component {
335336 const { children, eventPool, mountNode, trigger } = this . props
336337 const { open } = this . state
337338
339+ /* istanbul ignore else */
340+ if ( process . env . NODE_ENV !== 'production' ) {
341+ validateTrigger ( trigger )
342+ }
343+
338344 return (
339- < Fragment >
345+ < >
340346 { open && (
341- < Fragment >
347+ < >
342348 < PortalInner
343349 innerRef = { this . contentRef }
344350 mountNode = { mountNode }
@@ -363,11 +369,11 @@ class Portal extends Component {
363369 < EventStack name = 'mousedown' on = { this . handleDocumentMouseDown } pool = { eventPool } />
364370 < EventStack name = 'click' on = { this . handleDocumentClick } pool = { eventPool } />
365371 < EventStack name = 'keydown' on = { this . handleEscape } pool = { eventPool } />
366- </ Fragment >
372+ </ >
367373 ) }
368374 { trigger && (
369375 < Ref innerRef = { this . handleTriggerRef } >
370- { cloneElement ( trigger , {
376+ { React . cloneElement ( trigger , {
371377 onBlur : this . handleTriggerBlur ,
372378 onClick : this . handleTriggerClick ,
373379 onFocus : this . handleTriggerFocus ,
@@ -376,7 +382,7 @@ class Portal extends Component {
376382 } ) }
377383 </ Ref >
378384 ) }
379- </ Fragment >
385+ </ >
380386 )
381387 }
382388}
0 commit comments