@ant-design/react-native
Version:
基于蚂蚁金服移动设计规范的 React Native 组件库
1 lines • 4.34 kB
JavaScript
;"use client";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _typeof=require("@babel/runtime/helpers/typeof");Object.defineProperty(exports,"__esModule",{value:true});exports.SwipeAction=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _Swipeable=_interopRequireDefault(require("react-native-gesture-handler/Swipeable"));var _useClickAway3=_interopRequireDefault(require("../_util/hooks/useClickAway"));var _RenderActions=require("./RenderActions");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 __rest=void 0&&(void 0).__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 SwipeAction=_react.default.forwardRef(function(props,ref){var children=props.children,_props$closeOnAction=props.closeOnAction,closeOnAction=_props$closeOnAction===void 0?true:_props$closeOnAction,closeOnTouchOutside=props.closeOnTouchOutside,left=props.left,right=props.right,styles=props.styles,onSwipeableOpen=props.onSwipeableOpen,restProps=__rest(props,["children","closeOnAction","closeOnTouchOutside","left","right","styles","onSwipeableOpen"]);var swipeActionRef=_react.default.useRef(null);(0,_react.useImperativeHandle)(ref,function(){return swipeActionRef.current;});var close=(0,_react.useCallback)(function(){var _a,_b;(_b=(_a=swipeActionRef.current)===null||_a===void 0?void 0:_a.close)===null||_b===void 0?void 0:_b.call(_a);},[]);var renderActions=(0,_react.useCallback)(function(progressAnimatedValue){var isLeft=arguments.length>1&&arguments[1]!==undefined?arguments[1]:false;return _react.default.createElement(_RenderActions.RenderActions,{buttons:isLeft?left:right,closeOnAction:closeOnAction,isLeft:isLeft,progressAnimatedValue:progressAnimatedValue,setClose:close,styles:styles});},[close,closeOnAction,left,right,styles]);var renderLeftActions=(0,_react.useCallback)(function(progressAnimatedValue){return renderActions(progressAnimatedValue,true);},[renderActions]);var renderRightActions=(0,_react.useCallback)(function(progressAnimatedValue){return renderActions(progressAnimatedValue,false);},[renderActions]);var _useClickAway=(0,_useClickAway3.default)(function(){if(closeOnTouchOutside){close();}}),_useClickAway2=(0,_slicedToArray2.default)(_useClickAway,1),preventDefault=_useClickAway2[0].preventDefault;var handleSwipeableOpen=(0,_react.useCallback)(function(){preventDefault();for(var _len=arguments.length,args=new Array(_len),_key=0;_key<_len;_key++){args[_key]=arguments[_key];}onSwipeableOpen&&onSwipeableOpen.apply(undefined,args);},[onSwipeableOpen,preventDefault]);return _react.default.createElement(_Swipeable.default,(0,_extends2.default)({ref:swipeActionRef,friction:2,enableTrackpadTwoFingerGesture:true,leftThreshold:30,rightThreshold:40,renderLeftActions:renderLeftActions,renderRightActions:renderRightActions,onSwipeableOpen:handleSwipeableOpen},restProps),children);});exports.SwipeAction=SwipeAction;