@ant-design/react-native
Version:
基于蚂蚁金服移动设计规范的 React Native 组件库
1 lines • 4.49 kB
JavaScript
"use client";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));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=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _Accordion=_interopRequireDefault(require("react-native-collapsible/Accordion"));var _icon=_interopRequireDefault(require("../icon"));var _style=require("../style");var _index=_interopRequireDefault(require("./style/index"));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 __rest=this&&this.__rest||function(s,e){var t={};for(var p in s){if(Object.prototype.hasOwnProperty.call(s,p)&&e.indexOf(p)<0)t[p]=s[p];}if(s!=null&&typeof Object.getOwnPropertySymbols==="function")for(var i=0,p=Object.getOwnPropertySymbols(s);i<p.length;i++){if(e.indexOf(p[i])<0&&Object.prototype.propertyIsEnumerable.call(s,p[i]))t[p[i]]=s[p[i]];}return t;};var AccordionPanel=function(_React$Component){function AccordionPanel(){(0,_classCallCheck2.default)(this,AccordionPanel);return _callSuper(this,AccordionPanel,arguments);}(0,_inherits2.default)(AccordionPanel,_React$Component);return(0,_createClass2.default)(AccordionPanel,[{key:"render",value:function render(){return null;}}]);}(_react.default.Component);var Accordion=function(_React$Component2){function Accordion(){var _this2;(0,_classCallCheck2.default)(this,Accordion);_this2=_callSuper(this,Accordion,arguments);_this2.renderHeader=function(styles){return function(section,_,isActive){return _react.default.createElement(_reactNative.View,{style:[styles.header,section.style]},_react.default.isValidElement(section.title)?section.title:_react.default.createElement(_reactNative.View,{style:styles.headerWrap},_react.default.createElement(_reactNative.Text,{style:styles.headerText},section.title)),_react.default.createElement(_reactNative.View,{style:styles.arrow},_react.default.createElement(_icon.default,{name:isActive?'up':'down',style:styles.arrow})));};};_this2.renderContent=function(styles){return function(section){return _react.default.isValidElement(section.content)?section.content:_react.default.createElement(_reactNative.View,{style:styles.content},_react.default.createElement(_reactNative.Text,{style:styles.contentText},section.content));};};return _this2;}(0,_inherits2.default)(Accordion,_React$Component2);return(0,_createClass2.default)(Accordion,[{key:"render",value:function render(){var _this3=this;var _a=this.props,children=_a.children,style=_a.style,_a$activeSections=_a.activeSections,activeSections=_a$activeSections===void 0?[]:_a$activeSections,rest=__rest(_a,["children","style","activeSections"]);var styles=this.props.styles;var headers=_react.default.Children.map(children,function(child){return{title:child.props.header,content:child.props.children,style:child.props.style||{}};});return _react.default.createElement(_style.WithTheme,{themeStyles:_index.default,styles:styles},function(s){return _react.default.createElement(_reactNative.View,{style:[s.container,style]},_react.default.createElement(_Accordion.default,(0,_extends2.default)({underlayColor:"transparent",duration:0},rest,{renderHeader:_this3.renderHeader(s),renderContent:_this3.renderContent(s),sections:headers,activeSections:activeSections})));});}}]);}(_react.default.Component);Accordion.Panel=AccordionPanel;Accordion.Panel=AccordionPanel;var _default=Accordion;exports.default=_default;