react-native-reanimated-carousel
Version:
Simple carousel component.fully implemented using Reanimated 2.Infinitely scrolling, very smooth.
2 lines • 5.03 kB
JavaScript
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ItemLayout=void 0;var _react=_interopRequireDefault(require("react"));var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _useOffsetX=require("../hooks/useOffsetX");var _store=require("../store");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/components/ItemLayout.tsx";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 _worklet_11069938922586_init_data={code:"function anonymous(){const{x,size}=this.__closure;return x.value/size;}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/components/ItemLayout.tsx",sourceMap:"{\"version\":3,\"mappings\":\"AAyDyC,QAAAA,UAAA,sCAAOC,EAACC,MAADD,CAASE,IAAhB\",\"names\":[\"anonymous\",\"x\",\"value\",\"size\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/components/ItemLayout.tsx\"]}",version:"3.10.1"};var _worklet_9197407963063_init_data={code:"function anonymous(){const{animationStyle,x,size,index}=this.__closure;return animationStyle(x.value/size,index);}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/components/ItemLayout.tsx",sourceMap:"{\"version\":3,\"mappings\":\"AA2DI,QAAAA,UAAA,2DAAMC,eAAeC,CAACA,CAACC,MAADD,CAASE,IAAVF,CAAgBG,KAAhBH,CAArB\",\"names\":[\"anonymous\",\"animationStyle\",\"x\",\"value\",\"size\",\"index\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/components/ItemLayout.tsx\"]}",version:"3.10.1"};var ItemLayout=function ItemLayout(props){var handlerOffset=props.handlerOffset,index=props.index,children=props.children,visibleRanges=props.visibleRanges,animationStyle=props.animationStyle;var _useGlobalState=(0,_store.useGlobalState)(),_useGlobalState$props=_useGlobalState.props,loop=_useGlobalState$props.loop,dataLength=_useGlobalState$props.dataLength,width=_useGlobalState$props.width,height=_useGlobalState$props.height,vertical=_useGlobalState$props.vertical,customConfig=_useGlobalState$props.customConfig,mode=_useGlobalState$props.mode,modeConfig=_useGlobalState$props.modeConfig;var size=vertical?height:width;var offsetXConfig=Object.assign({handlerOffset:handlerOffset,index:index,size:size,dataLength:dataLength,loop:loop},typeof customConfig==="function"?customConfig():{});if(mode==="horizontal-stack"){var _ref=modeConfig,snapDirection=_ref.snapDirection,showLength=_ref.showLength;offsetXConfig={handlerOffset:handlerOffset,index:index,size:size,dataLength:dataLength,loop:loop,type:snapDirection==="right"?"negative":"positive",viewCount:showLength};}var x=(0,_useOffsetX.useOffsetX)(offsetXConfig,visibleRanges);var animationValue=(0,_reactNativeReanimated.useDerivedValue)(function(){var _e=[new global.Error(),-3,-27];var anonymous=function anonymous(){return x.value/size;};anonymous.__closure={x:x,size:size};anonymous.__workletHash=11069938922586;anonymous.__initData=_worklet_11069938922586_init_data;anonymous.__stackDetails=_e;return anonymous;}(),[x,size]);var animatedStyle=(0,_reactNativeReanimated.useAnimatedStyle)(function(){var _e=[new global.Error(),-5,-27];var anonymous=function anonymous(){return animationStyle(x.value/size,index);};anonymous.__closure={animationStyle:animationStyle,x:x,size:size,index:index};anonymous.__workletHash=9197407963063;anonymous.__initData=_worklet_9197407963063_init_data;anonymous.__stackDetails=_e;return anonymous;}(),[animationStyle,index,x,size]);return(0,_jsxRuntime.jsx)(_reactNativeReanimated.default.View,{style:[{width:width||"100%",height:height||"100%",position:"absolute",pointerEvents:"box-none"},animatedStyle],testID:`__CAROUSEL_ITEM_${index}__`,children:children({animationValue:animationValue})});};exports.ItemLayout=ItemLayout;
//# sourceMappingURL=ItemLayout.js.map