UNPKG

15.1 kBSource Map (JSON)View Raw
1{"version":3,"sources":["tooltip/Tooltip.js"],"names":["__decorate","React","Children","Component","isValidElement","PropTypes","isNil","getProPrefixCls","getTooltipTheme","Trigger","Action","getPlacements","autobind","splitObject","obj","keys","picked","ommitted","forEach","key","getDisabledCompatableChildren","element","elementType","type","props","disabled","style","block","className","spanStyle","display","cursor","width","buttonStyle","pointerEvents","child","cloneElement","createElement","PopupContent","content","prefixCls","theme","translate","x","y","arrowCls","contentCls","arrowStyle","marginLeft","marginTop","undefined","Tooltip","arguments","state","title","overlay","_source","_align","_target","setState","getContent","children","placement","onHiddenChange","onHiddenBeforeChange","trigger","defaultHidden","hidden","getRootDomNode","restProps","count","map","node","hasHiddenProp","popupHidden","action","builtinPlacements","placements","popupPlacement","popupContent","renderPopupContent","onPopupHiddenBeforeChange","onPopupHiddenChange","onPopupAlign","handlePopupAlign","defaultPopupHidden","suffixCls","arrowPointAtCenter","autoAdjustOverflow","verticalArrowShift","displayName","propTypes","any","bool","mouseEnterDelay","number","mouseLeaveDelay","oneOf","arrayOf","click","hover","contextMenu","focus","func","string","transitionName","defaultProps","prototype"],"mappings":"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","sourcesContent":["import { __decorate } from \"tslib\";\nimport React, { Children, Component, isValidElement } from 'react';\nimport PropTypes from 'prop-types';\nimport isNil from 'lodash/isNil';\nimport { getProPrefixCls } from '../../../es/configure';\nimport { getTooltipTheme } from '../../../es/_util/TooltipUtils';\nimport Trigger from '../../../es/trigger/Trigger';\nimport { Action } from '../../../es/trigger/enum';\nimport getPlacements from './placements';\nimport autobind from '../_util/autobind';\nconst splitObject = (obj, keys) => {\n const picked = {};\n const ommitted = { ...obj };\n keys.forEach(key => {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete ommitted[key];\n }\n });\n return { picked, ommitted };\n};\n/**\n * Fix the tooltip won't hide when child element is button\n * @param element ReactElement\n */\nfunction getDisabledCompatableChildren(element) {\n const elementType = element.type;\n const { props } = element;\n if (elementType === 'button' && props.disabled) {\n const { style, block, className } = props;\n const { picked, ommitted } = splitObject(style, [\n 'position',\n 'left',\n 'right',\n 'top',\n 'bottom',\n 'float',\n 'display',\n 'zIndex',\n ]);\n const spanStyle = {\n display: 'inline-block',\n ...picked,\n cursor: 'not-allowed',\n width: block ? '100%' : null,\n };\n const buttonStyle = {\n ...ommitted,\n pointerEvents: 'none',\n };\n const child = React.cloneElement(element, {\n style: buttonStyle,\n className: null,\n });\n return (React.createElement(\"span\", { style: spanStyle, className: className }, child));\n }\n return element;\n}\nconst PopupContent = (props) => {\n const { content, prefixCls, theme, translate: { x, y } } = props;\n const arrowCls = `${prefixCls}-popup-arrow`;\n const contentCls = `${prefixCls}-popup-inner`;\n const arrowStyle = x || y ? { marginLeft: -x, marginTop: -y } : undefined;\n return (React.createElement(\"div\", null,\n React.createElement(\"div\", { className: `${arrowCls} ${arrowCls}-${theme}`, style: arrowStyle }),\n React.createElement(\"div\", { className: `${contentCls} ${contentCls}-${theme}` }, content)));\n};\nexport default class Tooltip extends Component {\n constructor() {\n super(...arguments);\n this.state = {\n translate: { x: 0, y: 0 },\n };\n }\n get prefixCls() {\n const { suffixCls, prefixCls } = this.props;\n return getProPrefixCls(suffixCls, prefixCls);\n }\n get placements() {\n const { builtinPlacements, arrowPointAtCenter, autoAdjustOverflow } = this.props;\n return (builtinPlacements ||\n getPlacements({\n arrowPointAtCenter,\n verticalArrowShift: 8,\n autoAdjustOverflow,\n }));\n }\n getContent(...props) {\n const { title, overlay } = this.props;\n if (typeof overlay === 'function') {\n return overlay(...props);\n }\n if (overlay) {\n return overlay;\n }\n if (typeof title === 'function') {\n return title(...props);\n }\n return title;\n }\n handlePopupAlign(_source, _align, _target, translate) {\n const { translate: { x, y } } = this.state;\n if (x !== translate.x || y !== translate.y) {\n this.setState({\n translate,\n });\n }\n }\n renderPopupContent(...props) {\n const { translate } = this.state;\n const { theme = getTooltipTheme() } = this.props;\n const content = this.getContent(...props);\n if (content) {\n return (React.createElement(PopupContent, { content: content, theme: theme, prefixCls: this.prefixCls, translate: translate }));\n }\n }\n render() {\n const { prefixCls, props: { children, placement, onHiddenChange, onHiddenBeforeChange, trigger, defaultHidden, hidden, getRootDomNode, ...restProps }, } = this;\n // 修复特殊情况为0,以及 undefined 出现的报错情况\n const child = Children.count(children) ? Children.map(children, node => (!isNil(node) && (isValidElement(node) ? getDisabledCompatableChildren(node) : React.createElement(\"span\", { key: `text-${node}` }, node)))) : null;\n const hasHiddenProp = 'hidden' in this.props;\n if (hasHiddenProp) {\n restProps.popupHidden = hidden;\n }\n delete restProps.theme;\n return !isNil(child) || (getRootDomNode && hasHiddenProp) ? (React.createElement(Trigger, Object.assign({ prefixCls: prefixCls, action: trigger, builtinPlacements: this.placements, popupPlacement: placement, popupContent: this.renderPopupContent, onPopupHiddenBeforeChange: onHiddenBeforeChange, onPopupHiddenChange: onHiddenChange, onPopupAlign: this.handlePopupAlign, defaultPopupHidden: defaultHidden, getRootDomNode: getRootDomNode }, restProps), child)) : child;\n }\n}\nTooltip.displayName = 'Tooltip';\nTooltip.propTypes = {\n title: PropTypes.any,\n arrowPointAtCenter: PropTypes.bool,\n autoAdjustOverflow: PropTypes.bool,\n defaultHidden: PropTypes.bool,\n mouseEnterDelay: PropTypes.number,\n mouseLeaveDelay: PropTypes.number,\n placement: PropTypes.oneOf([\n 'top',\n 'topLeft',\n 'topRight',\n 'bottom',\n 'bottomLeft',\n 'bottomRight',\n 'left',\n 'leftTop',\n 'leftBottom',\n 'right',\n 'rightTop',\n 'rightBottom',\n ]),\n trigger: PropTypes.arrayOf(PropTypes.oneOf([Action.click, Action.hover, Action.contextMenu, Action.focus])),\n hidden: PropTypes.bool,\n onHiddenChange: PropTypes.func,\n suffixCls: PropTypes.string,\n transitionName: PropTypes.string,\n theme: PropTypes.oneOf(['light', 'dark']),\n};\nTooltip.defaultProps = {\n suffixCls: 'tooltip',\n placement: 'top',\n transitionName: 'zoom-big-fast',\n mouseEnterDelay: 100,\n mouseLeaveDelay: 100,\n arrowPointAtCenter: false,\n autoAdjustOverflow: true,\n defaultHidden: true,\n trigger: [Action.hover],\n};\n__decorate([\n autobind\n], Tooltip.prototype, \"handlePopupAlign\", null);\n__decorate([\n autobind\n], Tooltip.prototype, \"renderPopupContent\", null);\n"],"file":"Tooltip.js"}
\No newline at end of file