UNPKG

react-native-reanimated-carousel

Version:

Simple carousel component.fully implemented using Reanimated 2.Infinitely scrolling, very smooth.

2 lines 4.28 kB
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ItemRenderer=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireDefault(require("react"));var _reactNativeReanimated=require("react-native-reanimated");var _ItemLayout=require("./ItemLayout");var _useVisibleRanges=require("../hooks/useVisibleRanges");var _computedWithAutoFillData=require("../utils/computed-with-auto-fill-data");var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/components/ItemRenderer.tsx";var _worklet_2954499259449_init_data={code:"function anonymous(){const{visibleRanges}=this.__closure;return visibleRanges.value;}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/components/ItemRenderer.tsx",sourceMap:"{\"version\":3,\"mappings\":\"AAwDI,QAAAA,UAAA,6CAAMC,cAAcC,MAApB\",\"names\":[\"anonymous\",\"visibleRanges\",\"value\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/components/ItemRenderer.tsx\"]}",version:"3.10.1"};var _worklet_2858598482480_init_data={code:"function anonymous(ranges){const{runOnJS,setDisplayedItems}=this.__closure;return runOnJS(setDisplayedItems)(ranges);}",location:"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/components/ItemRenderer.tsx",sourceMap:"{\"version\":3,\"mappings\":\"AAyDKA,mBAAMA,MAANA,CAAM,uDAAKC,QAAQC,mBAARD,CAA2BD,MAA3BC,CAAL,CAAND\",\"names\":[\"ranges\",\"runOnJS\",\"setDisplayedItems\"],\"sources\":[\"/home/runner/work/react-native-reanimated-carousel/react-native-reanimated-carousel/src/components/ItemRenderer.tsx\"]}",version:"3.10.1"};var ItemRenderer=function ItemRenderer(props){var data=props.data,size=props.size,windowSize=props.windowSize,handlerOffset=props.handlerOffset,offsetX=props.offsetX,dataLength=props.dataLength,rawDataLength=props.rawDataLength,loop=props.loop,autoFillData=props.autoFillData,layoutConfig=props.layoutConfig,renderItem=props.renderItem,customAnimation=props.customAnimation;var visibleRanges=(0,_useVisibleRanges.useVisibleRanges)({total:dataLength,viewSize:size,translation:handlerOffset,windowSize:windowSize,loop:loop});var _React$useState=_react.default.useState(null),_React$useState2=(0,_slicedToArray2.default)(_React$useState,2),displayedItems=_React$useState2[0],setDisplayedItems=_React$useState2[1];(0,_reactNativeReanimated.useAnimatedReaction)(function(){var _e=[new global.Error(),-2,-27];var anonymous=function anonymous(){return visibleRanges.value;};anonymous.__closure={visibleRanges:visibleRanges};anonymous.__workletHash=2954499259449;anonymous.__initData=_worklet_2954499259449_init_data;anonymous.__stackDetails=_e;return anonymous;}(),function(){var _e=[new global.Error(),-3,-27];var anonymous=function anonymous(ranges){return(0,_reactNativeReanimated.runOnJS)(setDisplayedItems)(ranges);};anonymous.__closure={runOnJS:_reactNativeReanimated.runOnJS,setDisplayedItems:setDisplayedItems};anonymous.__workletHash=2858598482480;anonymous.__initData=_worklet_2858598482480_init_data;anonymous.__stackDetails=_e;return anonymous;}(),[visibleRanges]);if(!displayedItems)return null;return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:data.map(function(item,index){var realIndex=(0,_computedWithAutoFillData.computedRealIndexWithAutoFillData)({index:index,dataLength:rawDataLength,loop:loop,autoFillData:autoFillData});var negativeRange=displayedItems.negativeRange,positiveRange=displayedItems.positiveRange;var shouldRender=index>=negativeRange[0]&&index<=negativeRange[1]||index>=positiveRange[0]&&index<=positiveRange[1];if(!shouldRender)return null;return(0,_jsxRuntime.jsx)(_ItemLayout.ItemLayout,{index:index,handlerOffset:offsetX,visibleRanges:visibleRanges,animationStyle:customAnimation||layoutConfig,children:function children(_ref){var animationValue=_ref.animationValue;return renderItem({item:item,index:realIndex,animationValue:animationValue});}},index);})});};exports.ItemRenderer=ItemRenderer; //# sourceMappingURL=ItemRenderer.js.map