UNPKG

@ant-design/react-native

Version:

基于蚂蚁金服移动设计规范的 React Native 组件库

1 lines 5.94 kB
"use strict";"use client";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.PopoverItem=void 0;var _classCallCheck2=_interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));var _createClass2=_interopRequireDefault(require("@babel/runtime/helpers/createClass"));var _possibleConstructorReturn2=_interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));var _getPrototypeOf2=_interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));var _inherits2=_interopRequireDefault(require("@babel/runtime/helpers/inherits"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeModalPopover=require("react-native-modal-popover");var _style=require("../style");var _style2=_interopRequireDefault(require("./style"));function _getRequireWildcardCache(nodeInterop){if(typeof WeakMap!=="function")return null;var cacheBabelInterop=new WeakMap();var cacheNodeInterop=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop;})(nodeInterop);}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule){return obj;}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{default:obj};}var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj)){return cache.get(obj);}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(key!=="default"&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}newObj.default=obj;if(cache){cache.set(obj,newObj);}return newObj;}function _callSuper(_this,derived,args){function isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{return!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));}catch(e){return false;}}derived=(0,_getPrototypeOf2.default)(derived);return(0,_possibleConstructorReturn2.default)(_this,isNativeReflectConstruct()?Reflect.construct(derived,args||[],(0,_getPrototypeOf2.default)(_this).constructor):derived.apply(_this,args));}var PopoverItem=function(_React$PureComponent){function PopoverItem(){(0,_classCallCheck2.default)(this,PopoverItem);return _callSuper(this,PopoverItem,arguments);}(0,_inherits2.default)(PopoverItem,_React$PureComponent);return(0,_createClass2.default)(PopoverItem,[{key:"render",value:function render(){var _this$props=this.props,value=_this$props.value,disabled=_this$props.disabled,children=_this$props.children,onSelect=_this$props.onSelect,style=_this$props.style;return _react.default.createElement(_style.WithTheme,null,function(_,theme){return _react.default.createElement(_reactNative.TouchableOpacity,{activeOpacity:0.75,disabled:disabled,onPress:function onPress(){if(typeof onSelect==='function'){onSelect(value);}},style:[{padding:theme.v_spacing_md},style]},children);});}}]);}(_react.default.PureComponent);exports.PopoverItem=PopoverItem;var Popover=function(_React$PureComponent2){function Popover(){var _this2;(0,_classCallCheck2.default)(this,Popover);_this2=_callSuper(this,Popover,arguments);_this2.onSelect=function(value,closePopover){var onSelect=_this2.props.onSelect;if(onSelect){onSelect(value);}closePopover();};_this2.renderOverlay=function(closePopover){var _this2$props=_this2.props,overlay=_this2$props.overlay,renderOverlayComponent=_this2$props.renderOverlayComponent;var items=_react.default.Children.map(overlay,function(child){if(!(0,_react.isValidElement)(child)){return child;}return _react.default.cloneElement(child,{onSelect:function onSelect(v){return _this2.onSelect(v,closePopover);}});});if(typeof renderOverlayComponent==='function'){return renderOverlayComponent(items,closePopover);}return _react.default.createElement(_reactNative.ScrollView,null,items);};return _this2;}(0,_inherits2.default)(Popover,_React$PureComponent2);return(0,_createClass2.default)(Popover,[{key:"render",value:function render(){var _this3=this;var _this$props2=this.props,children=_this$props2.children,disabled=_this$props2.disabled,triggerStyle=_this$props2.triggerStyle,styles=_this$props2.styles,placement=_this$props2.placement,duration=_this$props2.duration,easing=_this$props2.easing,useNativeDriver=_this$props2.useNativeDriver,onDismiss=_this$props2.onDismiss;return _react.default.createElement(_style.WithTheme,{themeStyles:_style2.default,styles:styles},function(s){return _react.default.createElement(_reactNativeModalPopover.PopoverController,null,function(_ref){var openPopover=_ref.openPopover,closePopover=_ref.closePopover,popoverVisible=_ref.popoverVisible,setPopoverAnchor=_ref.setPopoverAnchor,popoverAnchorRect=_ref.popoverAnchorRect;return _react.default.createElement(_reactNative.View,null,_react.default.createElement(_reactNative.TouchableOpacity,{ref:setPopoverAnchor,onPress:openPopover,style:triggerStyle,disabled:disabled,activeOpacity:0.75},children),_react.default.createElement(_reactNativeModalPopover.Popover,{contentStyle:s.content,arrowStyle:s.arrow,backgroundStyle:s.background,visible:popoverVisible,onClose:closePopover,fromRect:popoverAnchorRect,supportedOrientations:['portrait','landscape'],placement:placement,duration:duration,easing:easing,useNativeDriver:useNativeDriver,onDismiss:onDismiss},_this3.renderOverlay(closePopover)));});});}}]);}(_react.default.PureComponent);Popover.defaultProps={onSelect:function onSelect(){}};Popover.Item=PopoverItem;var _default=Popover;exports.default=_default;