@bigbinary/neetoui-rn 0.0.162 → 0.0.165
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/components/Alert.js +1 -1
- package/lib/components/BottomSheet.js +1 -1
- package/lib/components/Calendar.js +1 -1
- package/lib/components/SearchBar.js +1 -1
- package/lib/constants.js +1 -0
- package/package.json +2 -1
- package/src/components/Alert.js +5 -5
- package/src/components/BottomSheet.js +34 -41
- package/src/components/Calendar.js +2 -1
- package/src/components/SearchBar.js +9 -2
- package/src/constants.js +1 -0
package/lib/components/Alert.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Alert=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeModal=_interopRequireDefault(require("react-native-modal"));var _=require("./");var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Alert.js";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 useAlertHook=function useAlertHook(){var _React$useState=_react.default.useState(false),_React$useState2=(0,_slicedToArray2.default)(_React$useState,2),isVisible=_React$useState2[0],setIsVisible=_React$useState2[1];var _useState=(0,_react.useState)({}),_useState2=(0,_slicedToArray2.default)(_useState,2),params=_useState2[0],setParams=_useState2[1];var _params$title=params.title,title=_params$title===void 0?"":_params$title,_params$description=params.description,description=_params$description===void 0?"":_params$description,_params$isCancelable=params.isCancelable,isCancelable=_params$isCancelable===void 0?true:_params$isCancelable,onDismiss=params.onDismiss,_params$buttons=params.buttons,buttons=_params$buttons===void 0?[]:_params$buttons;var show=_react.default.useCallback(function(params){setParams(params);setIsVisible(true);},[]);var hide=_react.default.useCallback(function(){setIsVisible(false);},[]);var hideOnBackPressDrop=_react.default.useCallback(function(){if(isCancelable){hide();}if(onDismiss&&isCancelable){onDismiss();}},[hide,isCancelable,onDismiss]);return{isVisible:isVisible,show:show,hide:hide,hideOnBackPressDrop:hideOnBackPressDrop,title:title,description:description,isCancelable:isCancelable,buttons:buttons};};var rootLevelRef=null;var Alert=function Alert(){var _useAlertHook=useAlertHook(),isVisible=_useAlertHook.isVisible,show=_useAlertHook.show,hide=_useAlertHook.hide,buttons=_useAlertHook.buttons,hideOnBackPressDrop=_useAlertHook.hideOnBackPressDrop,title=_useAlertHook.title,description=_useAlertHook.description;var _buttons=(0,_slicedToArray2.default)(buttons,3),_buttons$=_buttons[0],button1=_buttons$===void 0?{label:"OK",onPress:function onPress(){},variant:"solid"}:_buttons$,button2=_buttons[1],button3=_buttons[2];var ref=_react.default.useRef(null);_react.default.useImperativeHandle(ref,_react.default.useCallback(function(){return{show:show};},[show]));_react.default.useEffect(function(){rootLevelRef=ref.current;},[ref]);return _react.default.createElement(_reactNativeModal.default,{animationIn:"zoomInDown",animationOut:"zoomOutUp",animationInTiming:600,animationOutTiming:600,backdropTransitionInTiming:600,backdropTransitionOutTiming:600,style:styles.modalStyle,isVisible:isVisible,onBackdropPress:hideOnBackPressDrop,useNativeDriver:true,hideModalContentWhileAnimating:true,__self:_this,__source:{fileName:_jsxFileName,lineNumber:143,columnNumber:5}},_react.default.createElement(_.Container,{bg:"background.primary",justifyContent:"center",alignItems:"center",width:"90%",padding:
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Alert=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _reactNativeModal=_interopRequireDefault(require("react-native-modal"));var _=require("./");var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Alert.js";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 useAlertHook=function useAlertHook(){var _React$useState=_react.default.useState(false),_React$useState2=(0,_slicedToArray2.default)(_React$useState,2),isVisible=_React$useState2[0],setIsVisible=_React$useState2[1];var _useState=(0,_react.useState)({}),_useState2=(0,_slicedToArray2.default)(_useState,2),params=_useState2[0],setParams=_useState2[1];var _params$title=params.title,title=_params$title===void 0?"":_params$title,_params$description=params.description,description=_params$description===void 0?"":_params$description,_params$isCancelable=params.isCancelable,isCancelable=_params$isCancelable===void 0?true:_params$isCancelable,onDismiss=params.onDismiss,_params$buttons=params.buttons,buttons=_params$buttons===void 0?[]:_params$buttons;var show=_react.default.useCallback(function(params){setParams(params);setIsVisible(true);},[]);var hide=_react.default.useCallback(function(){setIsVisible(false);},[]);var hideOnBackPressDrop=_react.default.useCallback(function(){if(isCancelable){hide();}if(onDismiss&&isCancelable){onDismiss();}},[hide,isCancelable,onDismiss]);return{isVisible:isVisible,show:show,hide:hide,hideOnBackPressDrop:hideOnBackPressDrop,title:title,description:description,isCancelable:isCancelable,buttons:buttons};};var rootLevelRef=null;var Alert=function Alert(){var _useAlertHook=useAlertHook(),isVisible=_useAlertHook.isVisible,show=_useAlertHook.show,hide=_useAlertHook.hide,buttons=_useAlertHook.buttons,hideOnBackPressDrop=_useAlertHook.hideOnBackPressDrop,title=_useAlertHook.title,description=_useAlertHook.description;var _buttons=(0,_slicedToArray2.default)(buttons,3),_buttons$=_buttons[0],button1=_buttons$===void 0?{label:"OK",onPress:function onPress(){},variant:"solid"}:_buttons$,button2=_buttons[1],button3=_buttons[2];var ref=_react.default.useRef(null);_react.default.useImperativeHandle(ref,_react.default.useCallback(function(){return{show:show};},[show]));_react.default.useEffect(function(){rootLevelRef=ref.current;},[ref]);return _react.default.createElement(_reactNativeModal.default,{animationIn:"zoomInDown",animationOut:"zoomOutUp",animationInTiming:600,animationOutTiming:600,backdropTransitionInTiming:600,backdropTransitionOutTiming:600,style:styles.modalStyle,isVisible:isVisible,onBackdropPress:hideOnBackPressDrop,useNativeDriver:true,hideModalContentWhileAnimating:true,__self:_this,__source:{fileName:_jsxFileName,lineNumber:143,columnNumber:5}},_react.default.createElement(_.Container,{bg:"background.primary",justifyContent:"center",alignItems:"center",width:"90%",padding:18,borderRadius:8,__self:_this,__source:{fileName:_jsxFileName,lineNumber:156,columnNumber:7}},_react.default.createElement(_.Typography,{fontFamily:"sf600",fontSize:"3xl",color:"font.grey800",__self:_this,__source:{fileName:_jsxFileName,lineNumber:164,columnNumber:9}},title),_react.default.createElement(_.Container,{alignItems:"center",justifyContent:"center",__self:_this,__source:{fileName:_jsxFileName,lineNumber:167,columnNumber:9}},_react.default.createElement(_.Typography,{textAlign:"center",py:20,fontFamily:"sf400",fontSize:"s",color:"font.grey500",__self:_this,__source:{fileName:_jsxFileName,lineNumber:168,columnNumber:11}},description)),_react.default.createElement(_.Container,{flexDirection:"row",width:"100%",justifyContent:"space-around",__self:_this,__source:{fileName:_jsxFileName,lineNumber:179,columnNumber:9}},button2&&_react.default.createElement(_.Button,{borderWidth:1,fontFamily:"sf400",fontSize:"m",borderRadius:8,minWidth:110,height:35,p:0,onPress:function onPress(){button2.onPress==null?void 0:button2.onPress();hide();},label:button2.label,width:undefined,variant:button2.variant||"text",__self:_this,__source:{fileName:_jsxFileName,lineNumber:185,columnNumber:13}}),button1&&_react.default.createElement(_.Button,{fontFamily:"sf400",fontSize:"m",borderRadius:8,minWidth:110,onPress:function onPress(){button1.onPress==null?void 0:button1.onPress();hide();},label:button1.label,height:35,p:0,width:undefined,variant:button1.variant,__self:_this,__source:{fileName:_jsxFileName,lineNumber:203,columnNumber:13}})),button3&&_react.default.createElement(_.Button,{mt:20,borderWidth:1,fontFamily:"sf400",fontSize:"m",borderRadius:8,minWidth:110,onPress:function onPress(){button3.onPress==null?void 0:button3.onPress();hide();},label:button3.label,height:35,p:0,variant:button3.variant,__self:_this,__source:{fileName:_jsxFileName,lineNumber:221,columnNumber:11}})));};exports.Alert=Alert;var styles=_reactNative.StyleSheet.create({modalStyle:{alignItems:"center",justifyContent:"center"}});Alert.show=function(params){rootLevelRef.show(params);};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.BottomSheet=void 0;var
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.BottomSheet=void 0;var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _react=_interopRequireWildcard(require("react"));var _reactNative=require("react-native");var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeModal=_interopRequireDefault(require("react-native-modal"));var _reactNativeSafeAreaContext=require("react-native-safe-area-context");var _fuse=_interopRequireDefault(require("fuse.js"));var _=require("./");var _theme=require("../theme");var _constants=require("../constants");var _excluded=["data","title","hide","isVisible","onItemPress","selectedItemIndex","bg","children","titleContainerStyle","titleTextStyle","modalParams","HeaderComponent","ContentRow","contentType","canSearch"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/BottomSheet.js";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 Title=function Title(_ref){var title=_ref.title,bg=_ref.bg,isVisible=_ref.isVisible,hide=_ref.hide,titleContainerStyle=_ref.titleContainerStyle,titleTextStyle=_ref.titleTextStyle,contentType=_ref.contentType,canSearch=_ref.canSearch,setSearchText=_ref.setSearchText;var touchY;(0,_react.useEffect)(function(){setSearchText("");},[isVisible,setSearchText]);return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_.Container,(0,_extends2.default)({bg:bg,onTouchStart:function onTouchStart(e){return touchY=e.nativeEvent.pageY;},onTouchEnd:function onTouchEnd(e){if(e.nativeEvent.pageY-touchY>20)hide();},pb:12,borderRadius:20},titleContainerStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:31,columnNumber:7}}),_react.default.createElement(_.Container,{mb:16,flexDirection:"row",justifyContent:"space-between",__self:_this,__source:{fileName:_jsxFileName,lineNumber:42,columnNumber:9}},title&&_react.default.createElement(_.Typography,(0,_extends2.default)({textStyle:"modalHeader"},titleTextStyle,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:44,columnNumber:13}}),title),contentType&&_react.default.createElement(_.Touchable,{onPress:hide,__self:_this,__source:{fileName:_jsxFileName,lineNumber:49,columnNumber:13}},_react.default.createElement(_.Typography,{textStyle:"modalHeader",color:"font.purple500",__self:_this,__source:{fileName:_jsxFileName,lineNumber:50,columnNumber:15}},"Done"))),canSearch&&_react.default.createElement(_.SearchBar,{placeholder:"Search",onChangeText:setSearchText,onCancel:function onCancel(){setSearchText("");},searchbarProps:{autoFocus:true},showCancelButton:false,__self:_this,__source:{fileName:_jsxFileName,lineNumber:58,columnNumber:11}})));};Title.propTypes={title:_propTypes.default.string,isVisible:_propTypes.default.boolean,hide:_propTypes.default.func,bg:_propTypes.default.string,titleContainerStyle:_propTypes.default.object,titleTextStyle:_propTypes.default.object,contentType:_propTypes.default.oneOf(["checkbox",null]),canSearch:_propTypes.default.bool,setSearchText:_propTypes.default.func};var BottomSheet=function BottomSheet(_ref2){var _ref2$data=_ref2.data,data=_ref2$data===void 0?[]:_ref2$data,title=_ref2.title,hide=_ref2.hide,isVisible=_ref2.isVisible,onItemPress=_ref2.onItemPress,selectedItemIndex=_ref2.selectedItemIndex,bg=_ref2.bg,children=_ref2.children,titleContainerStyle=_ref2.titleContainerStyle,titleTextStyle=_ref2.titleTextStyle,modalParams=_ref2.modalParams,HeaderComponent=_ref2.HeaderComponent,ContentRow=_ref2.ContentRow,contentType=_ref2.contentType,canSearch=_ref2.canSearch,rest=(0,_objectWithoutProperties2.default)(_ref2,_excluded);var _useState=(0,_react.useState)(""),_useState2=(0,_slicedToArray2.default)(_useState,2),searchText=_useState2[0],setSearchText=_useState2[1];var fuse=new _fuse.default(data,{keys:_constants.FUSE_KEYS,threshold:0.1});var generateData=function generateData(){if(searchText.trim().length){return fuse.search(searchText.trim()).map(function(item){return item.item;});}else{return data;}};return _react.default.createElement(_reactNativeModal.default,(0,_extends2.default)({style:styles.modalStyle,isVisible:isVisible,onBackdropPress:hide,useNativeDriver:true,avoidKeyboard:true,hideModalContentWhileAnimating:true,onRequestClose:hide},modalParams,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:153,columnNumber:5}}),_react.default.createElement(_reactNativeSafeAreaContext.SafeAreaView,{style:styles.safeAreaView,__self:_this,__source:{fileName:_jsxFileName,lineNumber:163,columnNumber:7}},_react.default.createElement(_.Container,(0,_extends2.default)({bg:bg,borderTopRightRadius:20,borderTopLeftRadius:20,px:24,py:24},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:164,columnNumber:9}}),_react.default.createElement(_.Container,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:172,columnNumber:11}},title&&_react.default.createElement(Title,{bg:bg,title:title,isVisible:isVisible,hide:hide,titleContainerStyle:titleContainerStyle,titleTextStyle:titleTextStyle,HeaderComponent:HeaderComponent,contentType:contentType,canSearch:canSearch,searchText:searchText,setSearchText:setSearchText,__self:_this,__source:{fileName:_jsxFileName,lineNumber:174,columnNumber:15}}),data&&_react.default.createElement(_reactNative.FlatList,{ListFooterComponent:children,initialNumToRender:data.length,onScrollBeginDrag:_reactNative.Keyboard.dismiss,data:generateData(),renderItem:function renderItem(_ref3){var item=_ref3.item,index=_ref3.index;return _react.default.createElement(ContentRow,{isSelected:index===selectedItemIndex,key:index,onPress:function onPress(){!contentType&&hide();onItemPress({index:index,item:item});},index:index,item:item,__self:_this,__source:{fileName:_jsxFileName,lineNumber:197,columnNumber:21}});},keyExtractor:function keyExtractor(item,index){return index;},__self:_this,__source:{fileName:_jsxFileName,lineNumber:190,columnNumber:15}})))));};exports.BottomSheet=BottomSheet;BottomSheet.defaultProps={bg:"background.primary"};BottomSheet.propTypes={data:_propTypes.default.array,title:_propTypes.default.string,isVisible:_propTypes.default.bool,hide:_propTypes.default.func,onItemPress:_propTypes.default.func,selectedItemIndex:_propTypes.default.number,bg:_propTypes.default.string,titleContainerStyle:_propTypes.default.object,titleTextStyle:_propTypes.default.object,modalParams:_propTypes.default.object,children:_propTypes.default.node,HeaderComponent:_propTypes.default.elementType,ContentRow:_propTypes.default.elementType,contentType:_propTypes.default.oneOf(["checkbox",null]),canSearch:_propTypes.default.bool};var styles=_reactNative.StyleSheet.create({safeAreaView:{maxHeight:"70%",backgroundColor:_theme.theme.colors.background.primary,borderTopRightRadius:20,borderTopLeftRadius:20},modalStyle:{margin:0,justifyContent:"flex-end"},inputContainerStyle:{backgroundColor:"white",borderRadius:10}});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Calendar=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _dayjs=_interopRequireDefault(require("dayjs"));var _propTypes=_interopRequireDefault(require("prop-types"));var _native=require("styled-components/native");var _reactNativeCalendars=require("react-native-calendars");var _excluded=["selectedDate"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Calendar.js";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 Calendar=function Calendar(props){var selectedDate=props.selectedDate,rest=(0,_objectWithoutProperties2.default)(props,_excluded);delete rest.markedDates;var theme=(0,_react.useContext)(_native.ThemeContext);var isCurrentDay=(0,_dayjs.default)(selectedDate).isSame((0,_dayjs.default)(),"D");return _react.default.createElement(_reactNativeCalendars.Calendar,(0,_extends2.default)({key:
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Calendar=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _defineProperty2=_interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireWildcard(require("react"));var _dayjs=_interopRequireDefault(require("dayjs"));var _propTypes=_interopRequireDefault(require("prop-types"));var _native=require("styled-components/native");var _reactNativeCalendars=require("react-native-calendars");var _excluded=["selectedDate"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Calendar.js";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 Calendar=function Calendar(props){var selectedDate=props.selectedDate,rest=(0,_objectWithoutProperties2.default)(props,_excluded);delete rest.markedDates;var theme=(0,_react.useContext)(_native.ThemeContext);var isCurrentDay=(0,_dayjs.default)(selectedDate).isSame((0,_dayjs.default)(),"D");return _react.default.createElement(_reactNativeCalendars.Calendar,(0,_extends2.default)({key:selectedDate,current:selectedDate,firstDay:1,markedDates:(0,_defineProperty2.default)({},(0,_dayjs.default)(selectedDate).format("YYYY-MM-DD"),{selected:true}),theme:{arrowColor:theme.colors.font.primary,dotStyle:{height:0,width:0,marginTop:0},"stylesheet.calendar.header":{week:{marginVertical:10,flexDirection:"row",justifyContent:"space-around",alignItems:"center",fontFamily:theme.fonts.sf600},dayHeader:{flex:1,textAlign:"center",fontFamily:theme.fonts.sf600,fontSize:theme.fontSizes.xs,color:theme.colors.font.grey500,textTransform:"uppercase"},monthText:{fontFamily:theme.fonts.sf400,fontSize:theme.fontSizes.l,color:theme.colors.font.primary}},"stylesheet.day.basic":{base:{alignItems:"center",justifyContent:"center",height:26,width:26,borderRadius:5,borderWidth:1,borderColor:"transparent"},today:{borderColor:isCurrentDay?"transparent":theme.colors.border.base},selected:{backgroundColor:theme.colors.background.purple100},text:{fontFamily:theme.fonts.sf400,fontSize:theme.fontSizes.xs,color:theme.colors.font.primary,margin:0,padding:0},todayText:{color:theme.colors.font.base},selectedText:{fontFamily:theme.fonts.sf600,color:theme.colors.font.base},disabledText:{color:theme.colors.font.grey400}}}},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:40,columnNumber:5}}));};exports.Calendar=Calendar;Calendar.propTypes={selectedDate:_propTypes.default.oneOfType([_propTypes.default.string,_propTypes.default.instanceOf(_dayjs.default)])};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.SearchBar=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));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 _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeRemixIcon=_interopRequireDefault(require("react-native-remix-icon"));var _=require("./");var _hooks=require("../hooks");var _theme=require("../theme");var _excluded=["placeholder","onChangeText","onCancel","debounceDelay"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/SearchBar.js";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 SearchBar=function SearchBar(props){var _props$placeholder=props.placeholder,placeholder=_props$placeholder===void 0?"Search":_props$placeholder,_props$onChangeText=props.onChangeText,onChangeText=_props$onChangeText===void 0?function(){}:_props$onChangeText,_props$onCancel=props.onCancel,onCancel=_props$onCancel===void 0?function(){}:_props$onCancel,_props$debounceDelay=props.debounceDelay,debounceDelay=_props$debounceDelay===void 0?1000:_props$debounceDelay,rest=(0,_objectWithoutProperties2.default)(props,_excluded);var inputRef=(0,_react.useRef)();var _useState=(0,_react.useState)(""),_useState2=(0,_slicedToArray2.default)(_useState,2),searchText=_useState2[0],setSearchText=_useState2[1];var debouncedSearchTextValue=(0,_hooks.useDebounce)(searchText,Number(debounceDelay));var searchAnimationController=(0,_react.useRef)(new _reactNative.Animated.Value(0)).current;(0,_react.useEffect)(function(){onChangeText(debouncedSearchTextValue);},[debouncedSearchTextValue,onChangeText]);var animateSearchInput=function animateSearchInput(val){_reactNative.Animated.timing(searchAnimationController,{toValue:val,duration:350,useNativeDriver:false}).start();};var searchInputWidth=searchAnimationController.interpolate({inputRange:[0,1],outputRange:["100%","85%"]});var onCancelHandle=function onCancelHandle(){animateSearchInput(0);setSearchText("");inputRef.current.blur();onCancel();};return _react.default.createElement(_.Container,(0,_extends2.default)({flexDirection:"row",alignItems:"center"},rest.containerProps,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.SearchBar=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));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 _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeRemixIcon=_interopRequireDefault(require("react-native-remix-icon"));var _=require("./");var _hooks=require("../hooks");var _theme=require("../theme");var _excluded=["placeholder","onChangeText","onCancel","debounceDelay","showCancelButton"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/SearchBar.js";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 SearchBar=function SearchBar(props){var _props$placeholder=props.placeholder,placeholder=_props$placeholder===void 0?"Search":_props$placeholder,_props$onChangeText=props.onChangeText,onChangeText=_props$onChangeText===void 0?function(){}:_props$onChangeText,_props$onCancel=props.onCancel,onCancel=_props$onCancel===void 0?function(){}:_props$onCancel,_props$debounceDelay=props.debounceDelay,debounceDelay=_props$debounceDelay===void 0?1000:_props$debounceDelay,_props$showCancelButt=props.showCancelButton,showCancelButton=_props$showCancelButt===void 0?true:_props$showCancelButt,rest=(0,_objectWithoutProperties2.default)(props,_excluded);var inputRef=(0,_react.useRef)();var _useState=(0,_react.useState)(""),_useState2=(0,_slicedToArray2.default)(_useState,2),searchText=_useState2[0],setSearchText=_useState2[1];var debouncedSearchTextValue=(0,_hooks.useDebounce)(searchText,Number(debounceDelay));var searchAnimationController=(0,_react.useRef)(new _reactNative.Animated.Value(0)).current;(0,_react.useEffect)(function(){onChangeText(debouncedSearchTextValue);},[debouncedSearchTextValue,onChangeText]);var animateSearchInput=function animateSearchInput(val){_reactNative.Animated.timing(searchAnimationController,{toValue:val,duration:350,useNativeDriver:false}).start();};var searchInputWidth=searchAnimationController.interpolate({inputRange:[0,1],outputRange:["100%",showCancelButton?"85%":"100%"]});var onCancelHandle=function onCancelHandle(){animateSearchInput(0);setSearchText("");inputRef.current.blur();onCancel();};return _react.default.createElement(_.Container,(0,_extends2.default)({flexDirection:"row",alignItems:"center"},rest.containerProps,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:70,columnNumber:5}}),_react.default.createElement(_reactNative.Animated.View,{style:(0,_extends2.default)({},styles.inputContainerStyles,{width:searchInputWidth}),__self:_this,__source:{fileName:_jsxFileName,lineNumber:71,columnNumber:7}},_react.default.createElement(_.Container,{px:10,__self:_this,__source:{fileName:_jsxFileName,lineNumber:77,columnNumber:9}},_react.default.createElement(_reactNativeRemixIcon.default,{name:"ri-search-line",size:20,color:_theme.theme.colors.font.grey600,__self:_this,__source:{fileName:_jsxFileName,lineNumber:78,columnNumber:11}})),_react.default.createElement(_reactNative.TextInput,(0,_extends2.default)({ref:inputRef,value:searchText,onChangeText:setSearchText,onFocus:function onFocus(){animateSearchInput(1);},onBlur:function onBlur(){if(!searchText)animateSearchInput(0);},placeholder:placeholder,fontSize:16,flex:1,placeholderTextColor:_theme.theme.colors.font.grey600,color:"font.primary",autoCapitalize:"none",returnKeyType:"search"},rest.searchbarProps,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:84,columnNumber:9}}))),_react.default.createElement(_reactNative.Animated.View,{style:{opacity:searchAnimationController},__self:_this,__source:{fileName:_jsxFileName,lineNumber:104,columnNumber:7}},showCancelButton&&_react.default.createElement(_.Button,{variant:"text",label:"Cancel",onPress:onCancelHandle,__self:_this,__source:{fileName:_jsxFileName,lineNumber:110,columnNumber:11}})));};exports.SearchBar=SearchBar;var styles=_reactNative.StyleSheet.create({inputContainerStyles:{height:42,borderWidth:1,borderColor:_theme.theme.colors.border.grey400,borderRadius:8,flexDirection:"row",alignItems:"center"}});SearchBar.propTypes={placeholder:_propTypes.default.string,onChangeText:_propTypes.default.func.isRequired,debounceDelay:_propTypes.default.oneOfType([_propTypes.default.number,_propTypes.default.string]),searchbarProps:_propTypes.default.object,onCancel:_propTypes.default.func,showCancelButton:_propTypes.default.bool};
|
package/lib/constants.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
Object.defineProperty(exports,"__esModule",{value:true});exports.FUSE_KEYS=void 0;var FUSE_KEYS=["label","name","value","title","email"];exports.FUSE_KEYS=FUSE_KEYS;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bigbinary/neetoui-rn",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.165",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"author": "BigBinary",
|
|
6
6
|
"license": "MIT",
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"@shopify/flash-list": "^1.2.0",
|
|
52
52
|
"@styled-system/prop-types": "^5.1.5",
|
|
53
53
|
"dayjs": "^1.11.4",
|
|
54
|
+
"fuse.js": "^6.6.2",
|
|
54
55
|
"react-content-loader": "^6.2.0",
|
|
55
56
|
"react-native-calendars": "^1.1285.0",
|
|
56
57
|
"react-native-gesture-handler": "^2.4.0",
|
package/src/components/Alert.js
CHANGED
|
@@ -158,10 +158,10 @@ export const Alert = () => {
|
|
|
158
158
|
justifyContent="center"
|
|
159
159
|
alignItems="center"
|
|
160
160
|
width="90%"
|
|
161
|
-
padding={
|
|
162
|
-
borderRadius={
|
|
161
|
+
padding={18}
|
|
162
|
+
borderRadius={8}
|
|
163
163
|
>
|
|
164
|
-
<Typography fontFamily="
|
|
164
|
+
<Typography fontFamily="sf600" fontSize="3xl" color="font.grey800">
|
|
165
165
|
{title}
|
|
166
166
|
</Typography>
|
|
167
167
|
<Container alignItems="center" justifyContent="center">
|
|
@@ -169,8 +169,8 @@ export const Alert = () => {
|
|
|
169
169
|
textAlign="center"
|
|
170
170
|
py={20}
|
|
171
171
|
fontFamily="sf400"
|
|
172
|
-
fontSize="
|
|
173
|
-
color="font.
|
|
172
|
+
fontSize="s"
|
|
173
|
+
color="font.grey500"
|
|
174
174
|
>
|
|
175
175
|
{description}
|
|
176
176
|
</Typography>
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import React, { useEffect, useState } from "react";
|
|
2
2
|
import { StyleSheet, FlatList, Keyboard } from "react-native";
|
|
3
3
|
import PropTypes from "prop-types";
|
|
4
|
-
import { Typography, Container, Touchable, SearchBar } from "@components";
|
|
5
4
|
import Modal from "react-native-modal";
|
|
6
|
-
import Icon from "react-native-remix-icon";
|
|
7
|
-
import { theme } from "../theme";
|
|
8
5
|
import { SafeAreaView } from "react-native-safe-area-context";
|
|
6
|
+
import Fuse from "fuse.js";
|
|
7
|
+
|
|
8
|
+
import { Typography, Container, Touchable, SearchBar } from "@components";
|
|
9
|
+
import { theme } from "../theme";
|
|
10
|
+
import { FUSE_KEYS } from "../constants";
|
|
9
11
|
|
|
10
12
|
const Title = ({
|
|
11
13
|
title,
|
|
@@ -19,7 +21,6 @@ const Title = ({
|
|
|
19
21
|
setSearchText,
|
|
20
22
|
}) => {
|
|
21
23
|
let touchY;
|
|
22
|
-
const [isSearchBarOpen, setSearchBarOpen] = useState(false);
|
|
23
24
|
|
|
24
25
|
useEffect(() => {
|
|
25
26
|
setSearchText("");
|
|
@@ -38,40 +39,30 @@ const Title = ({
|
|
|
38
39
|
borderRadius={20}
|
|
39
40
|
{...titleContainerStyle}
|
|
40
41
|
>
|
|
41
|
-
{
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
<Container mb={16} flexDirection="row" justifyContent="space-between">
|
|
43
|
+
{title && (
|
|
44
|
+
<Typography textStyle="modalHeader" {...titleTextStyle}>
|
|
45
|
+
{title}
|
|
46
|
+
</Typography>
|
|
47
|
+
)}
|
|
48
|
+
{contentType && (
|
|
49
|
+
<Touchable onPress={hide}>
|
|
50
|
+
<Typography textStyle="modalHeader" color="font.purple500">
|
|
51
|
+
Done
|
|
46
52
|
</Typography>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
<Typography textStyle="modalHeader" color="font.purple600">
|
|
51
|
-
Done
|
|
52
|
-
</Typography>
|
|
53
|
-
</Touchable>
|
|
54
|
-
)}
|
|
55
|
-
{canSearch && !isSearchBarOpen && (
|
|
56
|
-
<Touchable onPress={() => setSearchBarOpen(true)}>
|
|
57
|
-
<Icon
|
|
58
|
-
name="search-line"
|
|
59
|
-
color={theme.colors.background.grey700}
|
|
60
|
-
/>
|
|
61
|
-
</Touchable>
|
|
62
|
-
)}
|
|
63
|
-
</Container>
|
|
64
|
-
)}
|
|
53
|
+
</Touchable>
|
|
54
|
+
)}
|
|
55
|
+
</Container>
|
|
65
56
|
|
|
66
|
-
{canSearch &&
|
|
57
|
+
{canSearch && (
|
|
67
58
|
<SearchBar
|
|
68
59
|
placeholder="Search"
|
|
69
60
|
onChangeText={setSearchText}
|
|
70
61
|
onCancel={() => {
|
|
71
|
-
setSearchBarOpen(false);
|
|
72
62
|
setSearchText("");
|
|
73
63
|
}}
|
|
74
64
|
searchbarProps={{ autoFocus: true }}
|
|
65
|
+
showCancelButton={false}
|
|
75
66
|
/>
|
|
76
67
|
)}
|
|
77
68
|
</Container>
|
|
@@ -148,6 +139,16 @@ export const BottomSheet = ({
|
|
|
148
139
|
}) => {
|
|
149
140
|
const [searchText, setSearchText] = useState("");
|
|
150
141
|
|
|
142
|
+
const fuse = new Fuse(data, { keys: FUSE_KEYS, threshold: 0.1 });
|
|
143
|
+
|
|
144
|
+
const generateData = () => {
|
|
145
|
+
if (searchText.trim().length) {
|
|
146
|
+
return fuse.search(searchText.trim()).map(item => item.item);
|
|
147
|
+
} else {
|
|
148
|
+
return data;
|
|
149
|
+
}
|
|
150
|
+
};
|
|
151
|
+
|
|
151
152
|
return (
|
|
152
153
|
<Modal
|
|
153
154
|
style={styles.modalStyle}
|
|
@@ -190,15 +191,7 @@ export const BottomSheet = ({
|
|
|
190
191
|
ListFooterComponent={children}
|
|
191
192
|
initialNumToRender={data.length}
|
|
192
193
|
onScrollBeginDrag={Keyboard.dismiss}
|
|
193
|
-
data={
|
|
194
|
-
searchText
|
|
195
|
-
? data.filter(word =>
|
|
196
|
-
word
|
|
197
|
-
.toLowerCase()
|
|
198
|
-
.includes(searchText.toLocaleLowerCase())
|
|
199
|
-
)
|
|
200
|
-
: data
|
|
201
|
-
}
|
|
194
|
+
data={generateData()}
|
|
202
195
|
renderItem={({ item, index }) => {
|
|
203
196
|
return (
|
|
204
197
|
<ContentRow
|
|
@@ -206,10 +199,10 @@ export const BottomSheet = ({
|
|
|
206
199
|
key={index}
|
|
207
200
|
onPress={() => {
|
|
208
201
|
!contentType && hide();
|
|
209
|
-
onItemPress(index);
|
|
202
|
+
onItemPress({ index, item });
|
|
210
203
|
}}
|
|
211
|
-
|
|
212
|
-
|
|
204
|
+
index={index}
|
|
205
|
+
item={item}
|
|
213
206
|
/>
|
|
214
207
|
);
|
|
215
208
|
}}
|
|
@@ -31,6 +31,7 @@ export const SearchBar = props => {
|
|
|
31
31
|
onChangeText = () => {},
|
|
32
32
|
onCancel = () => {},
|
|
33
33
|
debounceDelay = 1000,
|
|
34
|
+
showCancelButton = true,
|
|
34
35
|
...rest
|
|
35
36
|
} = props;
|
|
36
37
|
const inputRef = useRef();
|
|
@@ -55,7 +56,7 @@ export const SearchBar = props => {
|
|
|
55
56
|
|
|
56
57
|
const searchInputWidth = searchAnimationController.interpolate({
|
|
57
58
|
inputRange: [0, 1],
|
|
58
|
-
outputRange: ["100%", "85%"],
|
|
59
|
+
outputRange: ["100%", showCancelButton ? "85%" : "100%"],
|
|
59
60
|
});
|
|
60
61
|
|
|
61
62
|
const onCancelHandle = () => {
|
|
@@ -105,7 +106,9 @@ export const SearchBar = props => {
|
|
|
105
106
|
opacity: searchAnimationController,
|
|
106
107
|
}}
|
|
107
108
|
>
|
|
108
|
-
|
|
109
|
+
{showCancelButton && (
|
|
110
|
+
<Button variant="text" label="Cancel" onPress={onCancelHandle} />
|
|
111
|
+
)}
|
|
109
112
|
</Animated.View>
|
|
110
113
|
</Container>
|
|
111
114
|
);
|
|
@@ -143,4 +146,8 @@ SearchBar.propTypes = {
|
|
|
143
146
|
* Method called when the cancel button is pressed.
|
|
144
147
|
*/
|
|
145
148
|
onCancel: PropTypes.func,
|
|
149
|
+
/**
|
|
150
|
+
* option to hide the cancel button. Default is true
|
|
151
|
+
*/
|
|
152
|
+
showCancelButton: PropTypes.bool,
|
|
146
153
|
};
|
package/src/constants.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const FUSE_KEYS = ["label", "name", "value", "title", "email"];
|