25개 이상의 토픽을 선택하실 수 없습니다. Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

1 line
2.4 KiB

  1. {"ast":null,"code":"import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/esm/objectWithoutPropertiesLoose\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport classNames from 'classnames';\nimport { Popper } from 'react-popper';\nimport { mapToCssModules, tagPropType } from './utils';\nvar propTypes = {\n tag: tagPropType,\n children: PropTypes.node.isRequired,\n right: PropTypes.bool,\n flip: PropTypes.bool,\n modifiers: PropTypes.object,\n className: PropTypes.string,\n cssModule: PropTypes.object,\n persist: PropTypes.bool\n};\nvar defaultProps = {\n tag: 'div',\n flip: true\n};\nvar contextTypes = {\n isOpen: PropTypes.bool.isRequired,\n direction: PropTypes.oneOf(['up', 'down', 'left', 'right']).isRequired,\n inNavbar: PropTypes.bool.isRequired\n};\nvar noFlipModifier = {\n flip: {\n enabled: false\n }\n};\nvar directionPositionMap = {\n up: 'top',\n left: 'left',\n right: 'right',\n down: 'bottom'\n};\n\nvar DropdownMenu = function DropdownMenu(props, context) {\n var className = props.className,\n cssModule = props.cssModule,\n right = props.right,\n tag = props.tag,\n flip = props.flip,\n modifiers = props.modifiers,\n persist = props.persist,\n attrs = _objectWithoutPropertiesLoose(props, [\"className\", \"cssModule\", \"right\", \"tag\", \"flip\", \"modifiers\", \"persist\"]);\n\n var classes = mapToCssModules(classNames(className, 'dropdown-menu', {\n 'dropdown-menu-right': right,\n show: context.isOpen\n }), cssModule);\n var Tag = tag;\n\n if (persist || context.isOpen && !context.inNavbar) {\n Tag = Popper;\n var position1 = directionPositionMap[context.direction] || 'bottom';\n var position2 = right ? 'end' : 'start';\n attrs.placement = position1 + \"-\" + position2;\n attrs.component = tag;\n attrs.modifiers = !flip ? _objectSpread({}, modifiers, noFlipModifier) : modifiers;\n }\n\n return React.createElement(Tag, _extends({\n tabIndex: \"-1\",\n role: \"menu\"\n }, attrs, {\n \"aria-hidden\": !context.isOpen,\n className: classes,\n \"x-placement\": attrs.placement\n }));\n};\n\nDropdownMenu.propTypes = propTypes;\nDropdownMenu.defaultProps = defaultProps;\nDropdownMenu.contextTypes = contextTypes;\nexport default DropdownMenu;","map":null,"metadata":{},"sourceType":"module"}