@ant-design/react-native
Version:
基于蚂蚁金服移动设计规范的 React Native 组件库
1 lines • 3.65 kB
JavaScript
"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=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _icon=_interopRequireDefault(require("../icon"));var _style=require("../style");var _Marquee=require("./Marquee");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;}var InnerNoticeBar=function InnerNoticeBar(props,ref){var ss=(0,_style.useTheme)({styles:props.styles,themeStyles:_style2.default});var children=props.children,mode=props.mode,onClose=props.onClose,onPress=props.onPress,_props$icon=props.icon,icon=_props$icon===void 0?_react.default.createElement(_icon.default,{name:"sound",style:ss.font}):_props$icon,style=props.style,action=props.action,marqueeProps=props.marqueeProps;var _useState=(0,_react.useState)(true),_useState2=(0,_slicedToArray2.default)(_useState,2),show=_useState2[0],setShow=_useState2[1];var operationDom=(0,_react.useMemo)(function(){if(mode==='closable'){return _react.default.createElement(_reactNative.TouchableWithoutFeedback,{onPress:function onPress(){setShow(false);onClose===null||onClose===void 0?void 0:onClose();}},_react.default.createElement(_reactNative.View,{style:ss.actionWrap},action?action:_react.default.createElement(_reactNative.Text,{style:[ss.font,ss.close]},"\xD7")));}else if(action||mode==='link'){return _react.default.createElement(_reactNative.View,{style:ss.actionWrap},action?action:_react.default.createElement(_reactNative.Text,{style:[ss.font,ss.link]},"\u221F"));}return null;},[action,mode,onClose,ss]);if(!show){return null;}var childNode=_react.default.createElement(_reactNative.View,{style:[ss.background,ss.container,style]},Boolean(icon)&&_react.default.createElement(_reactNative.View,{style:ss.iconWrap},icon),_react.default.createElement(_Marquee.Marquee,(0,_extends2.default)({},marqueeProps,{style:[ss.font,ss.marquee,marqueeProps===null||marqueeProps===void 0?void 0:marqueeProps.style],ref:ref}),children),operationDom);if(mode==='closable'){return childNode;}return _react.default.createElement(_reactNative.TouchableWithoutFeedback,{onPress:onPress},childNode);};var NoticeBar=_react.default.forwardRef(InnerNoticeBar);NoticeBar.displayName='NoticeBar';var _default=_react.default.memo(NoticeBar);exports.default=_default;