@draftbit/core 53.0.3 → 53.0.5-6f875c.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/Picker/NativePicker.ios.js +1 -0
- package/lib/commonjs/components/Picker/NativePicker.js +1 -1
- package/lib/typescript/src/components/DeckSwiper/DeckSwiper.js +4 -0
- package/lib/typescript/src/components/DeckSwiper/DeckSwiper.js.map +1 -1
- package/lib/typescript/src/components/Picker/NativePicker.ios.d.ts +4 -0
- package/lib/typescript/src/components/Picker/NativePicker.ios.js +77 -0
- package/lib/typescript/src/components/Picker/NativePicker.ios.js.map +1 -0
- package/lib/typescript/src/components/Picker/NativePicker.js +6 -35
- package/lib/typescript/src/components/Picker/NativePicker.js.map +1 -1
- package/lib/typescript/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/src/components/DeckSwiper/DeckSwiper.js +4 -0
- package/src/components/DeckSwiper/DeckSwiper.js.map +1 -1
- package/src/components/DeckSwiper/DeckSwiper.tsx +3 -0
- package/src/components/Picker/NativePicker.ios.js +77 -0
- package/src/components/Picker/NativePicker.ios.js.map +1 -0
- package/src/components/Picker/NativePicker.ios.tsx +180 -0
- package/src/components/Picker/NativePicker.js +6 -35
- package/src/components/Picker/NativePicker.js.map +1 -1
- package/src/components/Picker/NativePicker.tsx +6 -44
|
@@ -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=_react.default.forwardRef(function(_ref,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=Array.isArray(data)?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||_deckSwiperRef$curren.forceUpdate();});_react.default.useImperativeHandle(ref,function(){return{swipeCard:function swipeCard(direction){var _deckSwiperRef$curren2,_deckSwiperRef$curren3,_deckSwiperRef$curren4,_deckSwiperRef$curren5,_deckSwiperRef$curren6;switch(direction){case"left":(_deckSwiperRef$curren2=deckSwiperRef.current)==null||_deckSwiperRef$curren2.swipeLeft();break;case"right":(_deckSwiperRef$curren3=deckSwiperRef.current)==null||_deckSwiperRef$curren3.swipeRight();break;case"top":(_deckSwiperRef$curren4=deckSwiperRef.current)==null||_deckSwiperRef$curren4.swipeTop();break;case"bottom":(_deckSwiperRef$curren5=deckSwiperRef.current)==null||_deckSwiperRef$curren5.swipeBottom();break;default:(_deckSwiperRef$curren6=deckSwiperRef.current)==null||_deckSwiperRef$curren6.swipeLeft();}}};});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||_onSwipedLeft(index);onSwipe==null||onSwipe(index);},onSwipedRight:function onSwipedRight(index){_onSwipedRight==null||_onSwipedRight(index);onSwipe==null||onSwipe(index);},onSwipedTop:function onSwipedTop(index){onSwipedUp==null||onSwipedUp(index);onSwipe==null||onSwipe(index);},onSwipedBottom:function onSwipedBottom(index){onSwipedDown==null||onSwipedDown(index);onSwipe==null||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=exports.default=DeckSwiper;
|
|
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=_react.default.forwardRef(function(_ref,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=Array.isArray(data)?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||_deckSwiperRef$curren.forceUpdate();});_react.default.useImperativeHandle(ref,function(){return{swipeCard:function swipeCard(direction){var _deckSwiperRef$curren2,_deckSwiperRef$curren3,_deckSwiperRef$curren4,_deckSwiperRef$curren5,_deckSwiperRef$curren6;switch(direction){case"left":(_deckSwiperRef$curren2=deckSwiperRef.current)==null||_deckSwiperRef$curren2.swipeLeft();break;case"right":(_deckSwiperRef$curren3=deckSwiperRef.current)==null||_deckSwiperRef$curren3.swipeRight();break;case"top":(_deckSwiperRef$curren4=deckSwiperRef.current)==null||_deckSwiperRef$curren4.swipeTop();break;case"bottom":(_deckSwiperRef$curren5=deckSwiperRef.current)==null||_deckSwiperRef$curren5.swipeBottom();break;default:(_deckSwiperRef$curren6=deckSwiperRef.current)==null||_deckSwiperRef$curren6.swipeLeft();}},jumpToCardIndex:function jumpToCardIndex(index){var _deckSwiperRef$curren7;(_deckSwiperRef$curren7=deckSwiperRef.current)==null||_deckSwiperRef$curren7.jumpToCardIndex(index);}};});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||_onSwipedLeft(index);onSwipe==null||onSwipe(index);},onSwipedRight:function onSwipedRight(index){_onSwipedRight==null||_onSwipedRight(index);onSwipe==null||onSwipe(index);},onSwipedTop:function onSwipedTop(index){onSwipedUp==null||onSwipedUp(index);onSwipe==null||onSwipe(index);},onSwipedBottom:function onSwipedBottom(index){onSwipedDown==null||onSwipedDown(index);onSwipe==null||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=exports.default=DeckSwiper;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var React=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _picker=require("@react-native-picker/picker");var _Portal=_interopRequireDefault(require("../Portal/Portal"));var _Button=require("../Button");var _utilities=require("../../utilities");var _PickerCommon=require("./PickerCommon");var _PickerInputContainer=_interopRequireDefault(require("./PickerInputContainer"));var _theme=require("@draftbit/theme");var _jsxRuntime=require("react/jsx-runtime");var _excluded=["options","onValueChange","Icon","placeholder","value","autoDismissKeyboard","theme","disabled"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Picker/NativePicker.ios.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var PortalPickerContent=function PortalPickerContent(_ref){var value=_ref.value,options=_ref.options,placeholder=_ref.placeholder,_onValueChange=_ref.onValueChange,onClose=_ref.onClose,Icon=_ref.Icon,theme=_ref.theme,_ref$autoDismissKeybo=_ref.autoDismissKeyboard,autoDismissKeyboard=_ref$autoDismissKeybo===void 0?true:_ref$autoDismissKeybo;var pickerRef=React.useRef(null);var _React$useState=React.useState(value),_React$useState2=(0,_slicedToArray2.default)(_React$useState,2),internalValue=_React$useState2[0],setInternalValue=_React$useState2[1];React.useEffect(function(){setInternalValue(value);},[value]);React.useEffect(function(){if(autoDismissKeyboard){_reactNative.Keyboard.dismiss();}},[autoDismissKeyboard]);return(0,_jsxRuntime.jsxs)(_reactNativeSafeAreaContext.SafeAreaView,{style:[styles.iosPickerContent,{backgroundColor:theme.colors.background.base}],children:[(0,_jsxRuntime.jsx)(_Button.Button,{Icon:Icon,onPress:onClose,style:[styles.iosButton,{color:theme.colors.branding.primary}],title:"Close"}),(0,_jsxRuntime.jsx)(_picker.Picker,{ref:pickerRef,testID:"native-picker-component",selectedValue:internalValue,onValueChange:function onValueChange(newValue){setInternalValue(newValue);if(newValue!==placeholder){_onValueChange==null||_onValueChange(newValue);}else if(newValue===placeholder){_onValueChange==null||_onValueChange("");}},style:[styles.iosNativePicker,{backgroundColor:theme.colors.background.base}],onBlur:onClose,children:options.map(function(option){return(0,_jsxRuntime.jsx)(_picker.Picker.Item,{testID:"native-picker-item",label:option.label.toString(),value:option.value,color:theme.colors.text.strong},option.value);})})]});};var NativePicker=function NativePicker(_ref2){var _ref2$options=_ref2.options,optionsProp=_ref2$options===void 0?[]:_ref2$options,onValueChange=_ref2.onValueChange,Icon=_ref2.Icon,placeholder=_ref2.placeholder,value=_ref2.value,_ref2$autoDismissKeyb=_ref2.autoDismissKeyboard,autoDismissKeyboard=_ref2$autoDismissKeyb===void 0?true:_ref2$autoDismissKeyb,theme=_ref2.theme,disabled=_ref2.disabled,rest=(0,_objectWithoutProperties2.default)(_ref2,_excluded);var _React$useState3=React.useState(false),_React$useState4=(0,_slicedToArray2.default)(_React$useState3,2),pickerVisible=_React$useState4[0],setPickerVisible=_React$useState4[1];var options=(0,_utilities.useDeepCompareMemo)(function(){var normalizedOptions=(0,_PickerCommon.normalizeToPickerOptions)(optionsProp);if(placeholder){return[{label:placeholder,value:placeholder}].concat((0,_toConsumableArray2.default)(normalizedOptions));}else{return normalizedOptions;}},[placeholder,optionsProp]);if(!placeholder&&options.length&&!value&&value!==options[0].value){onValueChange==null||onValueChange(options[0].value);}return(0,_jsxRuntime.jsx)(_PickerInputContainer.default,Object.assign({testID:"native-picker",Icon:Icon,placeholder:placeholder,selectedValue:value,options:options,onPress:function onPress(){return setPickerVisible(!pickerVisible);},disabled:disabled},rest,{children:pickerVisible&&!disabled&&(0,_jsxRuntime.jsx)(_Portal.default,{children:(0,_jsxRuntime.jsx)(PortalPickerContent,{value:value,options:options,placeholder:placeholder,onValueChange:onValueChange,onClose:function onClose(){return setPickerVisible(false);},Icon:Icon,theme:theme,autoDismissKeyboard:autoDismissKeyboard})})}));};var styles=_reactNative.StyleSheet.create({iosNativePicker:{backgroundColor:"white"},iosPickerContent:{width:"100%",position:"absolute",bottom:0,backgroundColor:"white"},iosButton:{backgroundColor:"transparent",borderWidth:0}});var _default=exports.default=(0,_theme.withTheme)(NativePicker);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var React=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.default=void 0;var _toConsumableArray2=_interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var React=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _picker=require("@react-native-picker/picker");var _utilities=require("../../utilities");var _PickerCommon=require("./PickerCommon");var _PickerInputContainer=_interopRequireDefault(require("./PickerInputContainer"));var _theme=require("@draftbit/theme");var _jsxRuntime=require("react/jsx-runtime");var _excluded=["options","onValueChange","Icon","placeholder","value","autoDismissKeyboard","theme","disabled"];var _this=this,_jsxFileName="/home/runner/work/react-native-jigsaw/react-native-jigsaw/packages/core/src/components/Picker/NativePicker.tsx";function _getRequireWildcardCache(e){if("function"!=typeof WeakMap)return null;var r=new WeakMap(),t=new WeakMap();return(_getRequireWildcardCache=function _getRequireWildcardCache(e){return e?t:r;})(e);}function _interopRequireWildcard(e,r){if(!r&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var t=_getRequireWildcardCache(r);if(t&&t.has(e))return t.get(e);var n={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if("default"!==u&&{}.hasOwnProperty.call(e,u)){var i=a?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,t&&t.set(e,n),n;}var isAndroid=_reactNative.Platform.OS==="android";var isWeb=_reactNative.Platform.OS==="web";var NativePicker=function NativePicker(_ref){var _ref$options=_ref.options,optionsProp=_ref$options===void 0?[]:_ref$options,_onValueChange=_ref.onValueChange,Icon=_ref.Icon,placeholder=_ref.placeholder,value=_ref.value,_ref$autoDismissKeybo=_ref.autoDismissKeyboard,autoDismissKeyboard=_ref$autoDismissKeybo===void 0?true:_ref$autoDismissKeybo,theme=_ref.theme,disabled=_ref.disabled,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);var pickerRef=React.useRef(null);var _React$useState=React.useState(false),_React$useState2=(0,_slicedToArray2.default)(_React$useState,2),pickerVisible=_React$useState2[0],setPickerVisible=_React$useState2[1];var options=(0,_utilities.useDeepCompareMemo)(function(){var normalizedOptions=(0,_PickerCommon.normalizeToPickerOptions)(optionsProp);if(placeholder){return[{label:placeholder,value:placeholder}].concat((0,_toConsumableArray2.default)(normalizedOptions));}else{return normalizedOptions;}},[placeholder,optionsProp]);if(!placeholder&&options.length&&!value&&value!==options[0].value){_onValueChange==null||_onValueChange(options[0].value);}var renderNativePicker=function renderNativePicker(){return(0,_jsxRuntime.jsx)(_picker.Picker,{ref:pickerRef,testID:"native-picker-component",selectedValue:value,onValueChange:function onValueChange(newValue){if(newValue!==placeholder){_onValueChange==null||_onValueChange(newValue);}else if(newValue===placeholder){_onValueChange==null||_onValueChange("");}},style:styles.nativePicker,onBlur:function onBlur(){return setPickerVisible(false);},children:options.map(function(option){return(0,_jsxRuntime.jsx)(_picker.Picker.Item,{testID:"native-picker-item",label:option.label.toString(),value:option.value},option.value);})});};React.useEffect(function(){if(pickerVisible&&pickerRef.current){var _pickerRef$current;pickerRef==null||(_pickerRef$current=pickerRef.current)==null||_pickerRef$current.focus();}},[pickerVisible,pickerRef]);React.useEffect(function(){if(pickerVisible&&autoDismissKeyboard){_reactNative.Keyboard.dismiss();}},[pickerVisible,autoDismissKeyboard]);return(0,_jsxRuntime.jsx)(_PickerInputContainer.default,Object.assign({testID:"native-picker",Icon:Icon,placeholder:placeholder,selectedValue:value,options:options,onPress:function onPress(){return setPickerVisible(!pickerVisible);},disabled:disabled},rest,{children:(pickerVisible||isAndroid||isWeb)&&!disabled&&renderNativePicker()}));};var styles=_reactNative.StyleSheet.create({nativePicker:Object.assign({position:"absolute",bottom:0,left:0,right:0,flexDirection:"row",justifyContent:"center",width:"100%",backgroundColor:"white",opacity:0},_reactNative.Platform.select({web:{height:"100%"},android:{opacity:0}}))});var _default=exports.default=(0,_theme.withTheme)(NativePicker);
|
|
@@ -64,6 +64,10 @@ const DeckSwiper = React.forwardRef(({ onStartSwipe, onEndSwipe, onSwipe, onSwip
|
|
|
64
64
|
(_e = deckSwiperRef.current) === null || _e === void 0 ? void 0 : _e.swipeLeft();
|
|
65
65
|
}
|
|
66
66
|
},
|
|
67
|
+
jumpToCardIndex: (index) => {
|
|
68
|
+
var _a;
|
|
69
|
+
(_a = deckSwiperRef.current) === null || _a === void 0 ? void 0 : _a.jumpToCardIndex(index);
|
|
70
|
+
},
|
|
67
71
|
}));
|
|
68
72
|
/**
|
|
69
73
|
* By default react-native-deck-swiper positions everything with absolute position.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeckSwiper.js","sourceRoot":"","sources":["../../../../../src/components/DeckSwiper/DeckSwiper.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DeckSwiper.js","sourceRoot":"","sources":["../../../../../src/components/DeckSwiper/DeckSwiper.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
import { StyleSheet, Keyboard } from "react-native";
|
|
3
|
+
import { SafeAreaView } from "react-native-safe-area-context";
|
|
4
|
+
import { Picker as NativePickerComponent } from "@react-native-picker/picker";
|
|
5
|
+
import Portal from "../Portal/Portal";
|
|
6
|
+
import { Button } from "../Button";
|
|
7
|
+
import { useDeepCompareMemo } from "../../utilities";
|
|
8
|
+
import { normalizeToPickerOptions, } from "./PickerCommon";
|
|
9
|
+
import PickerInputContainer from "./PickerInputContainer";
|
|
10
|
+
import { withTheme } from "@draftbit/theme";
|
|
11
|
+
const PortalPickerContent = ({ value, options, placeholder, onValueChange, onClose, Icon, theme, autoDismissKeyboard = true, }) => {
|
|
12
|
+
const pickerRef = React.useRef(null);
|
|
13
|
+
// Manage value state inside the Portal to avoid stale state issues across the Portal boundary
|
|
14
|
+
const [internalValue, setInternalValue] = React.useState(value);
|
|
15
|
+
React.useEffect(() => {
|
|
16
|
+
setInternalValue(value);
|
|
17
|
+
}, [value]);
|
|
18
|
+
React.useEffect(() => {
|
|
19
|
+
if (autoDismissKeyboard) {
|
|
20
|
+
Keyboard.dismiss();
|
|
21
|
+
}
|
|
22
|
+
}, [autoDismissKeyboard]);
|
|
23
|
+
return (React.createElement(SafeAreaView, { style: [
|
|
24
|
+
styles.iosPickerContent,
|
|
25
|
+
{ backgroundColor: theme.colors.background.base },
|
|
26
|
+
] },
|
|
27
|
+
React.createElement(Button, { Icon: Icon, onPress: onClose, style: [styles.iosButton, { color: theme.colors.branding.primary }], title: "Close" }),
|
|
28
|
+
React.createElement(NativePickerComponent, { ref: pickerRef, testID: "native-picker-component", selectedValue: internalValue, onValueChange: (newValue) => {
|
|
29
|
+
setInternalValue(newValue);
|
|
30
|
+
if (newValue !== placeholder) {
|
|
31
|
+
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(newValue);
|
|
32
|
+
}
|
|
33
|
+
else if (newValue === placeholder) {
|
|
34
|
+
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange("");
|
|
35
|
+
}
|
|
36
|
+
}, style: [
|
|
37
|
+
styles.iosNativePicker,
|
|
38
|
+
{ backgroundColor: theme.colors.background.base },
|
|
39
|
+
], onBlur: onClose }, options.map((option) => (React.createElement(NativePickerComponent.Item, { testID: "native-picker-item", label: option.label.toString(), value: option.value, key: option.value, color: theme.colors.text.strong }))))));
|
|
40
|
+
};
|
|
41
|
+
const NativePicker = ({ options: optionsProp = [], onValueChange, Icon, placeholder, value, autoDismissKeyboard = true, theme, disabled, ...rest }) => {
|
|
42
|
+
const [pickerVisible, setPickerVisible] = React.useState(false);
|
|
43
|
+
const options = useDeepCompareMemo(() => {
|
|
44
|
+
const normalizedOptions = normalizeToPickerOptions(optionsProp);
|
|
45
|
+
// Underlying Picker component defaults selection to first element when value is not provided (or undefined)
|
|
46
|
+
// Placholder must be the 1st option in order to allow selection of the 'actual' 1st option
|
|
47
|
+
if (placeholder) {
|
|
48
|
+
return [{ label: placeholder, value: placeholder }, ...normalizedOptions];
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
return normalizedOptions;
|
|
52
|
+
}
|
|
53
|
+
}, [placeholder, optionsProp]);
|
|
54
|
+
// When no placeholder is provided then first item should be marked selected to reflect underlying Picker internal state
|
|
55
|
+
if (!placeholder && options.length && !value && value !== options[0].value) {
|
|
56
|
+
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange(options[0].value);
|
|
57
|
+
}
|
|
58
|
+
return (React.createElement(PickerInputContainer, { testID: "native-picker", Icon: Icon, placeholder: placeholder, selectedValue: value, options: options, onPress: () => setPickerVisible(!pickerVisible), disabled: disabled, ...rest }, pickerVisible && !disabled && (React.createElement(Portal, null,
|
|
59
|
+
React.createElement(PortalPickerContent, { value: value, options: options, placeholder: placeholder, onValueChange: onValueChange, onClose: () => setPickerVisible(false), Icon: Icon, theme: theme, autoDismissKeyboard: autoDismissKeyboard })))));
|
|
60
|
+
};
|
|
61
|
+
const styles = StyleSheet.create({
|
|
62
|
+
iosNativePicker: {
|
|
63
|
+
backgroundColor: "white",
|
|
64
|
+
},
|
|
65
|
+
iosPickerContent: {
|
|
66
|
+
width: "100%",
|
|
67
|
+
position: "absolute",
|
|
68
|
+
bottom: 0,
|
|
69
|
+
backgroundColor: "white",
|
|
70
|
+
},
|
|
71
|
+
iosButton: {
|
|
72
|
+
backgroundColor: "transparent",
|
|
73
|
+
borderWidth: 0,
|
|
74
|
+
},
|
|
75
|
+
});
|
|
76
|
+
export default withTheme(NativePicker);
|
|
77
|
+
//# sourceMappingURL=NativePicker.ios.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativePicker.ios.js","sourceRoot":"","sources":["../../../../../src/components/Picker/NativePicker.ios.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import { StyleSheet, Platform, Keyboard } from "react-native";
|
|
3
|
-
import { SafeAreaView } from "react-native-safe-area-context";
|
|
4
3
|
import { Picker as NativePickerComponent } from "@react-native-picker/picker";
|
|
5
|
-
import Portal from "../Portal/Portal";
|
|
6
|
-
import { Button } from "../Button";
|
|
7
4
|
import { useDeepCompareMemo } from "../../utilities";
|
|
8
5
|
import { normalizeToPickerOptions, } from "./PickerCommon";
|
|
9
6
|
import PickerInputContainer from "./PickerInputContainer";
|
|
10
7
|
import { withTheme } from "@draftbit/theme";
|
|
11
|
-
const isIos = Platform.OS === "ios";
|
|
12
8
|
const isAndroid = Platform.OS === "android";
|
|
13
9
|
const isWeb = Platform.OS === "web";
|
|
14
10
|
const NativePicker = ({ options: optionsProp = [], onValueChange, Icon, placeholder, value, autoDismissKeyboard = true, theme, disabled, ...rest }) => {
|
|
@@ -36,21 +32,7 @@ const NativePicker = ({ options: optionsProp = [], onValueChange, Icon, placehol
|
|
|
36
32
|
else if (newValue === placeholder) {
|
|
37
33
|
onValueChange === null || onValueChange === void 0 ? void 0 : onValueChange("");
|
|
38
34
|
}
|
|
39
|
-
}, style:
|
|
40
|
-
const renderPicker = () => {
|
|
41
|
-
if (isIos) {
|
|
42
|
-
return (React.createElement(Portal, null,
|
|
43
|
-
React.createElement(SafeAreaView, { style: styles.iosPickerContent },
|
|
44
|
-
React.createElement(Button, { Icon: Icon, onPress: () => setPickerVisible(!pickerVisible), style: [
|
|
45
|
-
styles.iosButton,
|
|
46
|
-
{ color: theme.colors.branding.primary },
|
|
47
|
-
], title: "Close" }),
|
|
48
|
-
renderNativePicker())));
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
return renderNativePicker();
|
|
52
|
-
}
|
|
53
|
-
};
|
|
35
|
+
}, style: styles.nativePicker, onBlur: () => setPickerVisible(false) }, options.map((option) => (React.createElement(NativePickerComponent.Item, { testID: "native-picker-item", label: option.label.toString(), value: option.value, key: option.value })))));
|
|
54
36
|
React.useEffect(() => {
|
|
55
37
|
var _a;
|
|
56
38
|
if (pickerVisible && pickerRef.current) {
|
|
@@ -62,7 +44,9 @@ const NativePicker = ({ options: optionsProp = [], onValueChange, Icon, placehol
|
|
|
62
44
|
Keyboard.dismiss();
|
|
63
45
|
}
|
|
64
46
|
}, [pickerVisible, autoDismissKeyboard]);
|
|
65
|
-
return (React.createElement(PickerInputContainer, { testID: "native-picker", Icon: Icon, placeholder: placeholder, selectedValue: value, options: options, onPress: () => setPickerVisible(!pickerVisible), disabled: disabled, ...rest }, (pickerVisible || isAndroid || isWeb) &&
|
|
47
|
+
return (React.createElement(PickerInputContainer, { testID: "native-picker", Icon: Icon, placeholder: placeholder, selectedValue: value, options: options, onPress: () => setPickerVisible(!pickerVisible), disabled: disabled, ...rest }, (pickerVisible || isAndroid || isWeb) &&
|
|
48
|
+
!disabled &&
|
|
49
|
+
renderNativePicker()));
|
|
66
50
|
};
|
|
67
51
|
const styles = StyleSheet.create({
|
|
68
52
|
nativePicker: {
|
|
@@ -77,26 +61,13 @@ const styles = StyleSheet.create({
|
|
|
77
61
|
opacity: 0,
|
|
78
62
|
...Platform.select({
|
|
79
63
|
web: {
|
|
80
|
-
height: "100%",
|
|
64
|
+
height: "100%",
|
|
81
65
|
},
|
|
82
66
|
android: {
|
|
83
|
-
opacity: 0,
|
|
67
|
+
opacity: 0,
|
|
84
68
|
},
|
|
85
69
|
}),
|
|
86
70
|
},
|
|
87
|
-
iosNativePicker: {
|
|
88
|
-
backgroundColor: "white",
|
|
89
|
-
},
|
|
90
|
-
iosPickerContent: {
|
|
91
|
-
width: "100%",
|
|
92
|
-
position: "absolute",
|
|
93
|
-
bottom: 0,
|
|
94
|
-
backgroundColor: "white",
|
|
95
|
-
},
|
|
96
|
-
iosButton: {
|
|
97
|
-
backgroundColor: "transparent",
|
|
98
|
-
borderWidth: 0,
|
|
99
|
-
},
|
|
100
71
|
});
|
|
101
72
|
export default withTheme(NativePicker);
|
|
102
73
|
//# sourceMappingURL=NativePicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NativePicker.js","sourceRoot":"","sources":["../../../../../src/components/Picker/NativePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC9D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"NativePicker.js","sourceRoot":"","sources":["../../../../../src/components/Picker/NativePicker.tsx"],"names":[],"mappings":"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"}
|