UNPKG

@ant-design/react-native

Version:

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

1 lines 5.53 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.ArrowAnimated=ArrowAnimated;exports.Collapse=exports.CollapsePanel=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _useMergedState3=_interopRequireDefault(require("rc-util/lib/hooks/useMergedState"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _traverseReactNode=require("../_util/traverse-react-node");var _icon=_interopRequireDefault(require("../icon"));var _list=_interopRequireDefault(require("../list"));var _CollapsePanelContent=require("./CollapsePanelContent");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;}var CollapsePanel=function CollapsePanel(){return null;};exports.CollapsePanel=CollapsePanel;var Collapse=function Collapse(props){var panels=[];(0,_traverseReactNode.traverseReactNode)(props.children,function(child){if(!(0,_react.isValidElement)(child)){return;}var key=child.key;if(typeof key!=='string'){return;}panels.push(child);});var handlePropsValue=function handlePropsValue(){var _a;if(!props.accordion){return{value:props.activeKey,defaultValue:(_a=props.defaultActiveKey)!==null&&_a!==void 0?_a:[],onChange:props.onChange};}var initValue={value:[],defaultValue:[],onChange:function onChange(v){var _a,_b;(_a=props.onChange)===null||_a===void 0?void 0:_a.call(props,(_b=v[0])!==null&&_b!==void 0?_b:null);}};if(props.activeKey===undefined){initValue.value=undefined;}else if(props.activeKey!==null){initValue.value=[props.activeKey];}if(![null,undefined].includes(props.defaultActiveKey)){initValue.defaultValue=[props.defaultActiveKey];}return initValue;};var _useMergedState=(0,_useMergedState3.default)([],handlePropsValue()),_useMergedState2=(0,_slicedToArray2.default)(_useMergedState,2),activeKey=_useMergedState2[0],setActiveKey=_useMergedState2[1];var activeKeyList=activeKey===null?[]:Array.isArray(activeKey)?activeKey:[activeKey];return _react.default.createElement(_list.default,{styles:props.styles},panels.map(function(panel){var _a;var key=panel.key;var active=activeKeyList.includes(key);function handleClick(event){var _a,_b;if(props.accordion){if(active){setActiveKey([]);}else{setActiveKey([key]);}}else{if(active){setActiveKey(activeKeyList.filter(function(v){return v!==key;}));}else{setActiveKey([].concat((0,_toConsumableArray2.default)(activeKeyList),[key]));}}(_b=(_a=panel.props).onPress)===null||_b===void 0?void 0:_b.call(_a,event);}var renderArrow=function renderArrow(){var arrow=_react.default.createElement(_icon.default,{name:"down"});if(props.arrow!==undefined){arrow=props.arrow;}if(panel.props.arrow!==undefined){arrow=panel.props.arrow;}return typeof arrow==='function'?arrow(active):_react.default.createElement(ArrowAnimated,{active:active},arrow);};return _react.default.createElement(_react.default.Fragment,{key:key},_react.default.createElement(_list.default.Item,{styles:props.styles,onPress:handleClick,disabled:panel.props.disabled,extra:renderArrow()},panel.props.title),_react.default.createElement(_CollapsePanelContent.CollapsePanelContent,{visible:active,forceRender:!!panel.props.forceRender,destroyOnClose:!!panel.props.destroyOnClose},_react.default.createElement(_list.default.Item,{wrap:true,styles:(0,_extends2.default)((0,_extends2.default)({},panel.props.styles||{}),{Content:_reactNative.StyleSheet.flatten([styles.Content,(_a=panel.props.styles)===null||_a===void 0?void 0:_a.Content])})},panel.props.children)));}));};exports.Collapse=Collapse;var styles=_reactNative.StyleSheet.create({Content:{color:'#999999',fontSize:13}});function ArrowAnimated(props){var rotate=(0,_reactNativeReanimated.useSharedValue)(0);var animatedStyles=(0,_reactNativeReanimated.useAnimatedStyle)(function(){return{transform:[{rotate:"".concat(rotate.value*-180,"deg")}]};},[]);_react.default.useEffect(function(){if(props.active){rotate.value=(0,_reactNativeReanimated.withTiming)(1);}else{rotate.value=(0,_reactNativeReanimated.withTiming)(0);}},[props.active,rotate]);return _react.default.createElement(_reactNativeReanimated.default.View,{style:animatedStyles},props.children);}