@draftbit/core 48.2.3-a25e09.2 → 48.2.3-f82da0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/DeckSwiper/DeckSwiper.js +1 -1
- package/lib/commonjs/components/SectionList/SectionList.js +1 -1
- package/lib/typescript/src/components/DeckSwiper/DeckSwiper.d.ts +3 -1
- package/lib/typescript/src/components/DeckSwiper/DeckSwiper.js +6 -2
- package/lib/typescript/src/components/DeckSwiper/DeckSwiper.js.map +1 -1
- package/lib/typescript/src/components/SectionList/SectionList.d.ts +2 -1
- package/lib/typescript/src/components/SectionList/SectionList.js +8 -3
- package/lib/typescript/src/components/SectionList/SectionList.js.map +1 -1
- package/lib/typescript/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/components/DeckSwiper/DeckSwiper.js +6 -2
- package/src/components/DeckSwiper/DeckSwiper.js.map +1 -1
- package/src/components/DeckSwiper/DeckSwiper.tsx +8 -0
- package/src/components/SectionList/SectionList.js +8 -3
- package/src/components/SectionList/SectionList.js.map +1 -1
- package/src/components/SectionList/SectionList.tsx +14 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _reactNativeDeckSwiper=_interopRequireDefault(require("react-native-deck-swiper"));var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/DeckSwiper/DeckSwiper.tsx";var DeckSwiper=function DeckSwiper(_ref){var onSwipe=_ref.onSwipe,_onSwipedLeft=_ref.onSwipedLeft,_onSwipedRight=_ref.onSwipedRight,onSwipedUp=_ref.onSwipedUp,onSwipedDown=_ref.onSwipedDown,onIndexChanged=_ref.onIndexChanged,onEndReached=_ref.onEndReached,_ref$startCardIndex=_ref.startCardIndex,startCardIndex=_ref$startCardIndex===void 0?0:_ref$startCardIndex,_ref$infiniteSwiping=_ref.infiniteSwiping,infiniteSwiping=_ref$infiniteSwiping===void 0?false:_ref$infiniteSwiping,_ref$verticalEnabled=_ref.verticalEnabled,verticalEnabled=_ref$verticalEnabled===void 0?true:_ref$verticalEnabled,_ref$horizontalEnable=_ref.horizontalEnabled,horizontalEnabled=_ref$horizontalEnable===void 0?true:_ref$horizontalEnable,_ref$visibleCardCount=_ref.visibleCardCount,visibleCardCount=_ref$visibleCardCount===void 0?1:_ref$visibleCardCount,data=_ref.data,keyExtractor=_ref.keyExtractor,renderItem=_ref.renderItem,style=_ref.style,children=_ref.children;if(data&&!renderItem||renderItem&&!data){throw new Error("'renderItem' and 'data' need to both be provided to lazily render. Either remove them entirley or include both");}if(data&&renderItem&&children){console.warn("'children' of DeckSwiper ignored due to usage of 'data' and 'renderItem'");}var deckSwiperRef=_react.default.useRef(null);var childrenArray=_react.default.useMemo(function(){return _react.default.Children.toArray(children);},[children]);var cardsFillerData=_react.default.useMemo(function(){return Array.from(Array(childrenArray.length).keys());},[childrenArray]);var cardsData=data||cardsFillerData;var renderCard=function renderCard(card,index){if(renderItem){return renderItem({item:card,index:index});}else{return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:childrenArray[index]});}};var renderFirstCard=function renderFirstCard(){if(cardsData.length){return renderCard(cardsData[0],0);}return undefined;};var cardKeyExtractor=function cardKeyExtractor(card){if(keyExtractor){return keyExtractor(card);}else{return card==null?void 0:card.toString();}};_react.default.useEffect(function(){var _deckSwiperRef$curren;(_deckSwiperRef$curren=deckSwiperRef.current)==null?void 0:_deckSwiperRef$curren.forceUpdate();});return(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.containerHeightFiller,children:renderFirstCard()}),(0,_jsxRuntime.jsx)(_reactNativeDeckSwiper.default,{ref:deckSwiperRef,cards:cardsData,renderCard:renderCard,keyExtractor:cardKeyExtractor,containerStyle:_reactNative.StyleSheet.flatten([styles.cardsContainer,style]),cardStyle:styles.card,onSwiped:onIndexChanged,onSwipedAll:onEndReached,cardIndex:startCardIndex,infinite:infiniteSwiping,verticalSwipe:verticalEnabled,horizontalSwipe:horizontalEnabled,showSecondCard:visibleCardCount>1,stackSize:visibleCardCount,backgroundColor:"transparent",cardVerticalMargin:0,cardHorizontalMargin:0,onSwipedLeft:function onSwipedLeft(index){_onSwipedLeft==null?void 0:_onSwipedLeft(index);onSwipe==null?void 0:onSwipe(index);},onSwipedRight:function onSwipedRight(index){_onSwipedRight==null?void 0:_onSwipedRight(index);onSwipe==null?void 0:onSwipe(index);},onSwipedTop:function onSwipedTop(index){onSwipedUp==null?void 0:onSwipedUp(index);onSwipe==null?void 0:onSwipe(index);},onSwipedBottom:function onSwipedBottom(index){onSwipedDown==null?void 0:onSwipedDown(index);onSwipe==null?void 0:onSwipe(index);}})]});};var styles=_reactNative.StyleSheet.create({cardsContainer:{position:"absolute"},card:{left:0,right:0,width:"auto",height:"auto"},containerHeightFiller:{opacity:0.0}});var _default=DeckSwiper;exports.default=_default;
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _react=_interopRequireDefault(require("react"));var _reactNative=require("react-native");var _reactNativeDeckSwiper=_interopRequireDefault(require("react-native-deck-swiper"));var _jsxRuntime=require("react/jsx-runtime");var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/DeckSwiper/DeckSwiper.tsx";var DeckSwiper=function DeckSwiper(_ref){var onStartSwipe=_ref.onStartSwipe,onEndSwipe=_ref.onEndSwipe,onSwipe=_ref.onSwipe,_onSwipedLeft=_ref.onSwipedLeft,_onSwipedRight=_ref.onSwipedRight,onSwipedUp=_ref.onSwipedUp,onSwipedDown=_ref.onSwipedDown,onIndexChanged=_ref.onIndexChanged,onEndReached=_ref.onEndReached,_ref$startCardIndex=_ref.startCardIndex,startCardIndex=_ref$startCardIndex===void 0?0:_ref$startCardIndex,_ref$infiniteSwiping=_ref.infiniteSwiping,infiniteSwiping=_ref$infiniteSwiping===void 0?false:_ref$infiniteSwiping,_ref$verticalEnabled=_ref.verticalEnabled,verticalEnabled=_ref$verticalEnabled===void 0?true:_ref$verticalEnabled,_ref$horizontalEnable=_ref.horizontalEnabled,horizontalEnabled=_ref$horizontalEnable===void 0?true:_ref$horizontalEnable,_ref$visibleCardCount=_ref.visibleCardCount,visibleCardCount=_ref$visibleCardCount===void 0?1:_ref$visibleCardCount,data=_ref.data,keyExtractor=_ref.keyExtractor,renderItem=_ref.renderItem,style=_ref.style,children=_ref.children;if(data&&!renderItem||renderItem&&!data){throw new Error("'renderItem' and 'data' need to both be provided to lazily render. Either remove them entirley or include both");}if(data&&renderItem&&children){console.warn("'children' of DeckSwiper ignored due to usage of 'data' and 'renderItem'");}var deckSwiperRef=_react.default.useRef(null);var childrenArray=_react.default.useMemo(function(){return _react.default.Children.toArray(children);},[children]);var cardsFillerData=_react.default.useMemo(function(){return Array.from(Array(childrenArray.length).keys());},[childrenArray]);var cardsData=data||cardsFillerData;var renderCard=function renderCard(card,index){if(renderItem){return renderItem({item:card,index:index});}else{return(0,_jsxRuntime.jsx)(_jsxRuntime.Fragment,{children:childrenArray[index]});}};var renderFirstCard=function renderFirstCard(){if(cardsData.length){return renderCard(cardsData[0],0);}return undefined;};var cardKeyExtractor=function cardKeyExtractor(card){if(keyExtractor){return keyExtractor(card);}else{return card==null?void 0:card.toString();}};_react.default.useEffect(function(){var _deckSwiperRef$curren;(_deckSwiperRef$curren=deckSwiperRef.current)==null?void 0:_deckSwiperRef$curren.forceUpdate();});return(0,_jsxRuntime.jsxs)(_reactNative.View,{children:[(0,_jsxRuntime.jsx)(_reactNative.View,{style:styles.containerHeightFiller,children:renderFirstCard()}),(0,_jsxRuntime.jsx)(_reactNativeDeckSwiper.default,{ref:deckSwiperRef,cards:cardsData,renderCard:renderCard,keyExtractor:cardKeyExtractor,containerStyle:_reactNative.StyleSheet.flatten([styles.cardsContainer,style]),cardStyle:styles.card,onSwiped:onIndexChanged,onSwipedAll:onEndReached,cardIndex:startCardIndex,infinite:infiniteSwiping,verticalSwipe:verticalEnabled,horizontalSwipe:horizontalEnabled,showSecondCard:visibleCardCount>1,stackSize:visibleCardCount,backgroundColor:"transparent",cardVerticalMargin:0,cardHorizontalMargin:0,onSwipedLeft:function onSwipedLeft(index){_onSwipedLeft==null?void 0:_onSwipedLeft(index);onSwipe==null?void 0:onSwipe(index);},onSwipedRight:function onSwipedRight(index){_onSwipedRight==null?void 0:_onSwipedRight(index);onSwipe==null?void 0:onSwipe(index);},onSwipedTop:function onSwipedTop(index){onSwipedUp==null?void 0:onSwipedUp(index);onSwipe==null?void 0:onSwipe(index);},onSwipedBottom:function onSwipedBottom(index){onSwipedDown==null?void 0:onSwipedDown(index);onSwipe==null?void 0:onSwipe(index);},dragStart:onStartSwipe,dragEnd:onEndSwipe})]});};var styles=_reactNative.StyleSheet.create({cardsContainer:{position:"absolute"},card:{left:0,right:0,width:"auto",height:"auto"},containerHeightFiller:{opacity:0.0}});var _default=DeckSwiper;exports.default=_default;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.DEFAULT_SECTION=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireDefault(require("react"));var _flashList=require("@shopify/flash-list");var _reactNative=require("react-native");var _SectionHeader=_interopRequireWildcard(require("./SectionHeader"));var _jsxRuntime=require("react/jsx-runtime");var _excluded=["sectionKey","listComponent","data","renderItem"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/SectionList/SectionList.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 DEFAULT_SECTION="Uncategorized";exports.DEFAULT_SECTION=DEFAULT_SECTION;var SectionList=function SectionList(_ref){var sectionKey=_ref.sectionKey,_ref$listComponent=_ref.listComponent,listComponent=_ref$listComponent===void 0?"FlatList":_ref$listComponent,dataProp=_ref.data,renderItemProp=_ref.renderItem,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);var data=_react.default.useMemo(function(){return dataProp||[];},[dataProp]);var dataWithSections=_react.default.useMemo(function(){var result=[];var sectionDataItems={};for(var item of data){var _item$sectionKey;var section=((_item$sectionKey=item[sectionKey])==null?void 0:_item$sectionKey.toString())||DEFAULT_SECTION;if(sectionDataItems[section]){sectionDataItems[section].push(item);}else{sectionDataItems[section]=[item];}}for(var _section in sectionDataItems){result.push({type:"SECTION_ITEM",title:_section});var sectionItems=sectionDataItems[_section].map(function(item){return{type:"DATA_ITEM",data:item};});result.push.apply(result,(0,_toConsumableArray2.default)(sectionItems));}return result;},[data,sectionKey]);var extractSectionHeader=function extractSectionHeader(element){if(!element){return null;}var props=element.props||{};var children=_react.default.Children.toArray(props.children).map(function(child){return child;});if(element.type===_SectionHeader.default){return element;}else{for(var child of children){if(child.type===_SectionHeader.default){return child;}}}return null;};var extractRemainingNonSectionHeader=function extractRemainingNonSectionHeader(element){if(!element){return null;}var props=element.props||{};var children=_react.default.Children.toArray(props.children).map(function(child){return child;});if(element.type===_SectionHeader.default){return null;}else{var newChildren=[];for(var child of children){if(child.type!==_SectionHeader.default){newChildren.push(child);}}return _react.default.cloneElement(element,Object.assign({},props,{children:newChildren}));}};var renderItem=function renderItem(_ref2){var item=_ref2.item,index=_ref2.index;switch(item.type){case"SECTION_ITEM":{var renderedItem=renderItemProp({index:index,section:item.title});return extractSectionHeader(renderedItem)||(0,_jsxRuntime.jsx)(_SectionHeader.DefaultSectionHeader,{title:item.title});}case"DATA_ITEM":{var _renderedItem=renderItemProp({item:item.data,index:index,section:item.data[sectionKey]||DEFAULT_SECTION});return extractRemainingNonSectionHeader(_renderedItem);}}};switch(listComponent){case"FlatList":return(0,_jsxRuntime.jsx)(_reactNative.FlatList,Object.assign({},rest,{data:dataWithSections,renderItem:renderItem}));case"FlashList":return(0,_jsxRuntime.jsx)(_flashList.FlashList,Object.assign({},rest,{data:dataWithSections,renderItem:renderItem}));}};var _default=SectionList;exports.default=_default;
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=exports.DEFAULT_SECTION=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireDefault(require("react"));var _flashList=require("@shopify/flash-list");var _reactNative=require("react-native");var _SectionHeader=_interopRequireWildcard(require("./SectionHeader"));var _jsxRuntime=require("react/jsx-runtime");var _excluded=["sectionKey","stickyHeader","listComponent","data","renderItem"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/SectionList/SectionList.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 DEFAULT_SECTION="Uncategorized";exports.DEFAULT_SECTION=DEFAULT_SECTION;var SectionList=function SectionList(_ref){var sectionKey=_ref.sectionKey,_ref$stickyHeader=_ref.stickyHeader,stickyHeader=_ref$stickyHeader===void 0?false:_ref$stickyHeader,_ref$listComponent=_ref.listComponent,listComponent=_ref$listComponent===void 0?"FlatList":_ref$listComponent,dataProp=_ref.data,renderItemProp=_ref.renderItem,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);var data=_react.default.useMemo(function(){return dataProp||[];},[dataProp]);var dataWithSections=_react.default.useMemo(function(){var result=[];var sectionDataItems={};for(var item of data){var _item$sectionKey;var section=((_item$sectionKey=item[sectionKey])==null?void 0:_item$sectionKey.toString())||DEFAULT_SECTION;if(sectionDataItems[section]){sectionDataItems[section].push(item);}else{sectionDataItems[section]=[item];}}for(var _section in sectionDataItems){result.push({type:"SECTION_ITEM",title:_section});var sectionItems=sectionDataItems[_section].map(function(item){return{type:"DATA_ITEM",data:item};});result.push.apply(result,(0,_toConsumableArray2.default)(sectionItems));}return result;},[data,sectionKey]);var sectionHeaderIndicies=_react.default.useMemo(function(){return stickyHeader?dataWithSections.filter(function(item){return item.type==="SECTION_ITEM";}).map(function(item){return dataWithSections.indexOf(item);}):undefined;},[dataWithSections,stickyHeader]);var extractSectionHeader=function extractSectionHeader(element){if(!element){return null;}var props=element.props||{};var children=_react.default.Children.toArray(props.children).map(function(child){return child;});if(element.type===_SectionHeader.default){return element;}else{for(var child of children){if(child.type===_SectionHeader.default){return child;}}}return null;};var extractRemainingNonSectionHeader=function extractRemainingNonSectionHeader(element){if(!element){return null;}var props=element.props||{};var children=_react.default.Children.toArray(props.children).map(function(child){return child;});if(element.type===_SectionHeader.default){return null;}else{var newChildren=[];for(var child of children){if(child.type!==_SectionHeader.default){newChildren.push(child);}}return _react.default.cloneElement(element,Object.assign({},props,{children:newChildren}));}};var renderItem=function renderItem(_ref2){var item=_ref2.item,index=_ref2.index;switch(item.type){case"SECTION_ITEM":{var renderedItem=renderItemProp({index:index,section:item.title});return extractSectionHeader(renderedItem)||(0,_jsxRuntime.jsx)(_SectionHeader.DefaultSectionHeader,{title:item.title});}case"DATA_ITEM":{var _renderedItem=renderItemProp({item:item.data,index:index,section:item.data[sectionKey]||DEFAULT_SECTION});return extractRemainingNonSectionHeader(_renderedItem);}}};switch(listComponent){case"FlatList":return(0,_jsxRuntime.jsx)(_reactNative.FlatList,Object.assign({stickyHeaderIndices:sectionHeaderIndicies},rest,{data:dataWithSections,renderItem:renderItem}));case"FlashList":return(0,_jsxRuntime.jsx)(_flashList.FlashList,Object.assign({stickyHeaderIndices:sectionHeaderIndicies},rest,{data:dataWithSections,renderItem:renderItem}));}};var _default=SectionList;exports.default=_default;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { StyleProp, ViewStyle } from "react-native";
|
|
3
3
|
export interface DeckSwiperProps<T> {
|
|
4
|
+
onStartSwipe?: () => void;
|
|
5
|
+
onEndSwipe?: () => void;
|
|
4
6
|
onSwipe?: (index: number) => void;
|
|
5
7
|
onSwipedLeft?: (index: number) => void;
|
|
6
8
|
onSwipedRight?: (index: number) => void;
|
|
@@ -21,5 +23,5 @@ export interface DeckSwiperProps<T> {
|
|
|
21
23
|
}) => JSX.Element;
|
|
22
24
|
style?: StyleProp<ViewStyle>;
|
|
23
25
|
}
|
|
24
|
-
declare const DeckSwiper: <T extends object>({ onSwipe, onSwipedLeft, onSwipedRight, onSwipedUp, onSwipedDown, onIndexChanged, onEndReached, startCardIndex, infiniteSwiping, verticalEnabled, horizontalEnabled, visibleCardCount, data, keyExtractor, renderItem, style, children, }: React.PropsWithChildren<DeckSwiperProps<T>>) => JSX.Element;
|
|
26
|
+
declare const DeckSwiper: <T extends object>({ onStartSwipe, onEndSwipe, onSwipe, onSwipedLeft, onSwipedRight, onSwipedUp, onSwipedDown, onIndexChanged, onEndReached, startCardIndex, infiniteSwiping, verticalEnabled, horizontalEnabled, visibleCardCount, data, keyExtractor, renderItem, style, children, }: React.PropsWithChildren<DeckSwiperProps<T>>) => JSX.Element;
|
|
25
27
|
export default DeckSwiper;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { StyleSheet, View } from "react-native";
|
|
3
3
|
import DeckSwiperComponent from "react-native-deck-swiper";
|
|
4
|
-
const DeckSwiper = ({ onSwipe, onSwipedLeft, onSwipedRight, onSwipedUp, onSwipedDown, onIndexChanged, onEndReached, startCardIndex = 0, infiniteSwiping = false, verticalEnabled = true, horizontalEnabled = true, visibleCardCount = 1, data, keyExtractor, renderItem, style, children, }) => {
|
|
4
|
+
const DeckSwiper = ({ onStartSwipe, onEndSwipe, onSwipe, onSwipedLeft, onSwipedRight, onSwipedUp, onSwipedDown, onIndexChanged, onEndReached, startCardIndex = 0, infiniteSwiping = false, verticalEnabled = true, horizontalEnabled = true, visibleCardCount = 1, data, keyExtractor, renderItem, style, children, }) => {
|
|
5
5
|
//Both 'renderItem' and 'data' are optional to allow direct children. But if one is included, both need to be included
|
|
6
6
|
if ((data && !renderItem) || (renderItem && !data)) {
|
|
7
7
|
throw new Error("'renderItem' and 'data' need to both be provided to lazily render. Either remove them entirley or include both");
|
|
@@ -67,7 +67,11 @@ const DeckSwiper = ({ onSwipe, onSwipedLeft, onSwipedRight, onSwipedUp, onSwiped
|
|
|
67
67
|
}, onSwipedBottom: (index) => {
|
|
68
68
|
onSwipedDown === null || onSwipedDown === void 0 ? void 0 : onSwipedDown(index);
|
|
69
69
|
onSwipe === null || onSwipe === void 0 ? void 0 : onSwipe(index);
|
|
70
|
-
}
|
|
70
|
+
},
|
|
71
|
+
//@ts-ignore Not typed, but is implemented and works
|
|
72
|
+
dragStart: onStartSwipe,
|
|
73
|
+
//@ts-ignore
|
|
74
|
+
dragEnd: onEndSwipe })));
|
|
71
75
|
};
|
|
72
76
|
const styles = StyleSheet.create({
|
|
73
77
|
cardsContainer: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeckSwiper.js","sourceRoot":"","sources":["../../../../../src/components/DeckSwiper/DeckSwiper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAwB,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACtE,OAAO,mBAAmB,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"DeckSwiper.js","sourceRoot":"","sources":["../../../../../src/components/DeckSwiper/DeckSwiper.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { FlatListProps } from "react-native";
|
|
|
4
4
|
declare type ListComponentType = "FlatList" | "FlashList";
|
|
5
5
|
interface AdditionalSectionListProps<T> {
|
|
6
6
|
sectionKey: string;
|
|
7
|
+
stickyHeader?: boolean;
|
|
7
8
|
renderItem: (itemInfo: {
|
|
8
9
|
item?: T;
|
|
9
10
|
index: number;
|
|
@@ -16,5 +17,5 @@ declare type FlashListSectionListProps<T> = Omit<FlashListProps<T>, "renderItem"
|
|
|
16
17
|
export declare const DEFAULT_SECTION = "Uncategorized";
|
|
17
18
|
declare const SectionList: <T extends {
|
|
18
19
|
[key: string]: any;
|
|
19
|
-
}>({ sectionKey, listComponent, data: dataProp, renderItem: renderItemProp, ...rest }: FlatListSectionListProps<T> | FlashListSectionListProps<T>) => JSX.Element;
|
|
20
|
+
}>({ sectionKey, stickyHeader, listComponent, data: dataProp, renderItem: renderItemProp, ...rest }: FlatListSectionListProps<T> | FlashListSectionListProps<T>) => JSX.Element;
|
|
20
21
|
export default SectionList;
|
|
@@ -3,7 +3,7 @@ import { FlashList } from "@shopify/flash-list";
|
|
|
3
3
|
import { FlatList } from "react-native";
|
|
4
4
|
import SectionHeader, { DefaultSectionHeader } from "./SectionHeader";
|
|
5
5
|
export const DEFAULT_SECTION = "Uncategorized";
|
|
6
|
-
const SectionList = ({ sectionKey, listComponent = "FlatList", data: dataProp, renderItem: renderItemProp, ...rest }) => {
|
|
6
|
+
const SectionList = ({ sectionKey, stickyHeader = false, listComponent = "FlatList", data: dataProp, renderItem: renderItemProp, ...rest }) => {
|
|
7
7
|
const data = React.useMemo(() => (dataProp || []), [dataProp]);
|
|
8
8
|
const dataWithSections = React.useMemo(() => {
|
|
9
9
|
var _a;
|
|
@@ -25,6 +25,11 @@ const SectionList = ({ sectionKey, listComponent = "FlatList", data: dataProp, r
|
|
|
25
25
|
}
|
|
26
26
|
return result;
|
|
27
27
|
}, [data, sectionKey]);
|
|
28
|
+
const sectionHeaderIndicies = React.useMemo(() => stickyHeader
|
|
29
|
+
? dataWithSections
|
|
30
|
+
.filter((item) => item.type === "SECTION_ITEM")
|
|
31
|
+
.map((item) => dataWithSections.indexOf(item))
|
|
32
|
+
: undefined, [dataWithSections, stickyHeader]);
|
|
28
33
|
const extractSectionHeader = (element) => {
|
|
29
34
|
if (!element) {
|
|
30
35
|
return null;
|
|
@@ -86,9 +91,9 @@ const SectionList = ({ sectionKey, listComponent = "FlatList", data: dataProp, r
|
|
|
86
91
|
};
|
|
87
92
|
switch (listComponent) {
|
|
88
93
|
case "FlatList":
|
|
89
|
-
return (React.createElement(FlatList, { ...rest, data: dataWithSections, renderItem: renderItem }));
|
|
94
|
+
return (React.createElement(FlatList, { stickyHeaderIndices: sectionHeaderIndicies, ...rest, data: dataWithSections, renderItem: renderItem }));
|
|
90
95
|
case "FlashList":
|
|
91
|
-
return (React.createElement(FlashList, { ...rest, data: dataWithSections, renderItem: renderItem }));
|
|
96
|
+
return (React.createElement(FlashList, { stickyHeaderIndices: sectionHeaderIndicies, ...rest, data: dataWithSections, renderItem: renderItem }));
|
|
92
97
|
}
|
|
93
98
|
};
|
|
94
99
|
export default SectionList;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SectionList.js","sourceRoot":"","sources":["../../../../../src/components/SectionList/SectionList.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAkB,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAiB,QAAQ,EAAE,MAAM,cAAc,CAAC;AACvD,OAAO,aAAa,EAAE,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"SectionList.js","sourceRoot":"","sources":["../../../../../src/components/SectionList/SectionList.tsx"],"names":[],"mappings":"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"}
|