@bigbinary/neetoui-rn 0.0.226 → 0.0.228

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/index.d.ts CHANGED
@@ -23,7 +23,7 @@ import {
23
23
  TextInputIOSProps as RNTextInputIOSProps,
24
24
  ViewStyle,
25
25
  TextStyle,
26
- TouchableOpacityProps,
26
+ TouchableOpacityProps as RNTouchableOpacityProps,
27
27
  } from "react-native";
28
28
  import { ModalProps } from "react-native-modal";
29
29
  import { BottomTabBarProps } from "@react-navigation/bottom-tabs";
@@ -100,12 +100,19 @@ interface TextInputProps
100
100
  TypographyProps {}
101
101
  interface FlatListProps extends RNFlatListProps, StyleProps {}
102
102
  interface ScrollViewProps extends RNScrollViewProps, StyleProps {}
103
+ interface TouchableOpacityProps
104
+ extends RNTouchableOpacityProps,
105
+ StyleProps,
106
+ ButtonStyleProps {
107
+ children?: React.ReactNode;
108
+ }
103
109
  interface TouchableProps extends RippleProps, StyleProps, ButtonStyleProps {
104
110
  children?: React.ReactNode;
105
111
  }
106
112
 
107
113
  interface AccordionProps extends ViewProps {
108
114
  header?: () => React.ReactNode;
115
+ headerContainerProps?: TouchableOpacityProps;
109
116
  noBorder?: boolean;
110
117
  onStateChanged?: (isExpanded: boolean) => void;
111
118
  iconProp?: {
@@ -183,7 +190,7 @@ interface BottomSheetProps extends ViewProps {
183
190
  searchBarProps?: SearchBarProps;
184
191
  onBackdropPress?: () => void;
185
192
  disabled?: boolean;
186
- noResultsLabelContainerStyle?: ViewProps;
193
+ noResultsLabelContainerStyle?: ViewProps;
187
194
  noResultsLabelStyle?: TextProps;
188
195
  noResultsLabel?: string;
189
196
  NoResultsComponent?: () => React.ReactNode;
@@ -304,7 +311,7 @@ interface ListItemProps extends ViewProps {
304
311
  }
305
312
 
306
313
  interface LoaderProps extends ViewProps {
307
- size?: 's' | 'm' | 'l';
314
+ size?: "s" | "m" | "l";
308
315
  color: typeof theme.colors.background;
309
316
  }
310
317
 
@@ -363,9 +370,9 @@ interface MultiSelectProps extends ViewProps {
363
370
  moreItemLabelContainerStyle?: ViewStyle;
364
371
  moreItemLabelStyle?: TextStyle;
365
372
  MoreItemComponent?: () => React.ReactNode;
366
- onBackdropPress?: () => void;
373
+ onBackdropPress?: () => void;
367
374
  searchbarProps?: SearchBarProps;
368
- confirmationAlertObj?: MultiSelectConfirmationAlertObjProps
375
+ confirmationAlertObj?: MultiSelectConfirmationAlertObjProps;
369
376
  }
370
377
 
371
378
  type OnBoardingProps = {
@@ -411,7 +418,7 @@ interface PopOverItemNestedItemProps {
411
418
  }
412
419
  interface PopoverItemProps {
413
420
  item?: PopOverItemNestedItemProps;
414
- onPress?: () => void;
421
+ onPress?: () => void;
415
422
  fontFamily?: typeof theme.fonts;
416
423
  fontSize?: typeof theme.fontSizes;
417
424
  }
@@ -453,8 +460,8 @@ interface SearchBarProps extends ViewProps {
453
460
  }
454
461
 
455
462
  interface SegmentedTopBarStateProps {
456
- routes?: Array<any>;
457
- index?: number
463
+ routes?: Array<any>;
464
+ index?: number;
458
465
  }
459
466
 
460
467
  interface NavigationProps {
@@ -468,7 +475,7 @@ interface SegmentedTopBarProps extends MaterialTopTabBarProps {
468
475
  inactiveTextStyle?: TouchableProps;
469
476
  navigation?: NavigationProps;
470
477
  height?: number;
471
- descriptors?: object;
478
+ descriptors?: object;
472
479
  }
473
480
 
474
481
  interface SelectProps
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Accordion=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));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 _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeRemixIcon=_interopRequireDefault(require("react-native-remix-icon"));var _native=require("styled-components/native");var _=require("./");var _excluded=["header","noBorder","iconProp","onStateChanged","children","position","shouldShowToggle"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Accordion.jsx";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 AccordionBody=function AccordionBody(_ref){var isExpanded=_ref.isExpanded,children=_ref.children;var animationController=(0,_react.useRef)(new _reactNative.Animated.Value(isExpanded?1:0)).current;var _useState=(0,_react.useState)(0),_useState2=(0,_slicedToArray2.default)(_useState,2),viewHeight=_useState2[0],setViewHeight=_useState2[1];(0,_react.useEffect)(function(){_reactNative.Animated.timing(animationController,{duration:300,toValue:isExpanded?1:0,useNativeDriver:false}).start();},[isExpanded]);var bodyContentHeight=animationController.interpolate({inputRange:[0,1],outputRange:[0,viewHeight]});var getLayout=function getLayout(event){var height=event.nativeEvent.layout.height;setViewHeight(height);};return _react.default.createElement(_reactNative.Animated.View,{style:{height:bodyContentHeight,overflow:"hidden"},__self:_this,__source:{fileName:_jsxFileName,lineNumber:42,columnNumber:5}},_react.default.createElement(_.Container,{position:"absolute",width:"100%",onLayout:getLayout,__self:_this,__source:{fileName:_jsxFileName,lineNumber:43,columnNumber:7}},children));};var Accordion=_react.default.forwardRef(function(_ref2,ref){var header=_ref2.header,_ref2$noBorder=_ref2.noBorder,noBorder=_ref2$noBorder===void 0?false:_ref2$noBorder,_ref2$iconProp=_ref2.iconProp,iconProp=_ref2$iconProp===void 0?{}:_ref2$iconProp,onStateChanged=_ref2.onStateChanged,children=_ref2.children,_ref2$position=_ref2.position,position=_ref2$position===void 0?"bottom":_ref2$position,_ref2$shouldShowToggl=_ref2.shouldShowToggle,shouldShowToggle=_ref2$shouldShowToggl===void 0?true:_ref2$shouldShowToggl,rest=(0,_objectWithoutProperties2.default)(_ref2,_excluded);var name=iconProp.name,Label=iconProp.Label,size=iconProp.size,color=iconProp.color;var theme=(0,_react.useContext)(_native.ThemeContext);var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),isExpanded=_useState4[0],setIsExpanded=_useState4[1];var animationController=(0,_react.useRef)(new _reactNative.Animated.Value(isExpanded?1:0)).current;(0,_react.useEffect)(function(){_reactNative.Animated.timing(animationController,{duration:300,toValue:isExpanded?1:0,useNativeDriver:false}).start(function(){!!onStateChanged&&onStateChanged(isExpanded);});},[isExpanded]);var handleAnimation=function handleAnimation(){setIsExpanded(!isExpanded);};(0,_react.useImperativeHandle)(ref,function(){return{toggleAccordion:handleAnimation,openAccordion:function openAccordion(){return setIsExpanded(true);},closeAccordion:function closeAccordion(){return setIsExpanded(false);}};});var arrowAngle=animationController.interpolate({inputRange:[0,1],outputRange:["0rad",Math.PI+"rad"]});return _react.default.createElement(_.Container,(0,_extends2.default)({},!noBorder&&{borderColor:"border.grey400",borderWidth:1,borderRadius:8},{padding:12,width:"100%"},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:139,columnNumber:7}}),position==="top"&&_react.default.createElement(AccordionBody,{isExpanded:isExpanded,__self:_this,__source:{fileName:_jsxFileName,lineNumber:150,columnNumber:11}},children),_react.default.createElement(_reactNative.TouchableOpacity,{rippleOpacity:0,style:styles.accordionContainer,onPress:function onPress(){handleAnimation();},__self:_this,__source:{fileName:_jsxFileName,lineNumber:152,columnNumber:9}},!!header&&_react.default.createElement(_.Container,{flexGrow:1,__self:_this,__source:{fileName:_jsxFileName,lineNumber:159,columnNumber:24}},header()),!!shouldShowToggle&&_react.default.createElement(_.Container,{alignItems:"center",flexDirection:"row",justifyContent:"center",px:1,__self:_this,__source:{fileName:_jsxFileName,lineNumber:161,columnNumber:13}},Label&&_react.default.createElement(Label,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:167,columnNumber:25}}),_react.default.createElement(_reactNative.Animated.View,{style:{alignItems:"flex-end",transform:[{rotateZ:arrowAngle}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:168,columnNumber:15}},_react.default.createElement(_.Container,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:174,columnNumber:17}},_react.default.createElement(_reactNativeRemixIcon.default,{color:color!=null?color:theme.colors.font.grey700,name:name!=null?name:"ri-arrow-down-s-line",size:size!=null?size:24,__self:_this,__source:{fileName:_jsxFileName,lineNumber:175,columnNumber:19}}))))),position==="bottom"&&_react.default.createElement(AccordionBody,{isExpanded:isExpanded,__self:_this,__source:{fileName:_jsxFileName,lineNumber:186,columnNumber:11}},children));});exports.Accordion=Accordion;AccordionBody.propTypes={isExpanded:_propTypes.default.bool.isRequired,children:_propTypes.default.element};Accordion.propTypes={header:_propTypes.default.func,children:_propTypes.default.node,noBorder:_propTypes.default.bool,onStateChanged:_propTypes.default.func,iconProp:_propTypes.default.shape({name:_propTypes.default.string,Label:_propTypes.default.elementType,size:_propTypes.default.number,color:_propTypes.default.string}),position:_propTypes.default.string,shouldShowToggle:_propTypes.default.bool};var styles=_reactNative.StyleSheet.create({accordionContainer:{flexDirection:"row",alignItems:"center"}});Accordion.displayName="Accordion";
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Accordion=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _slicedToArray2=_interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));var _taggedTemplateLiteralLoose2=_interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteralLoose"));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 _native=_interopRequireWildcard(require("styled-components/native"));var _styledSystem=require("styled-system");var _=require("./");var _excluded=["header","noBorder","iconProp","onStateChanged","children","position","shouldShowToggle","headerContainerProps"];var _templateObject,_this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Accordion.jsx";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 TouchableOpacity=_native.default.TouchableOpacity(_templateObject||(_templateObject=(0,_taggedTemplateLiteralLoose2.default)(["\n ","\n ","\n ","\n ","\n ","\n ","\n"])),_styledSystem.buttonStyle,_styledSystem.flexbox,_styledSystem.space,_styledSystem.border,_styledSystem.color,_styledSystem.layout);var AccordionBody=function AccordionBody(_ref){var isExpanded=_ref.isExpanded,children=_ref.children;var animationController=(0,_react.useRef)(new _reactNative.Animated.Value(isExpanded?1:0)).current;var _useState=(0,_react.useState)(0),_useState2=(0,_slicedToArray2.default)(_useState,2),viewHeight=_useState2[0],setViewHeight=_useState2[1];(0,_react.useEffect)(function(){_reactNative.Animated.timing(animationController,{duration:300,toValue:isExpanded?1:0,useNativeDriver:false}).start();},[isExpanded]);var bodyContentHeight=animationController.interpolate({inputRange:[0,1],outputRange:[0,viewHeight]});var getLayout=function getLayout(event){var height=event.nativeEvent.layout.height;setViewHeight(height);};return _react.default.createElement(_reactNative.Animated.View,{style:{height:bodyContentHeight,overflow:"hidden"},__self:_this,__source:{fileName:_jsxFileName,lineNumber:59,columnNumber:5}},_react.default.createElement(_.Container,{position:"absolute",width:"100%",onLayout:getLayout,__self:_this,__source:{fileName:_jsxFileName,lineNumber:60,columnNumber:7}},children));};var Accordion=_react.default.forwardRef(function(_ref2,ref){var header=_ref2.header,_ref2$noBorder=_ref2.noBorder,noBorder=_ref2$noBorder===void 0?false:_ref2$noBorder,_ref2$iconProp=_ref2.iconProp,iconProp=_ref2$iconProp===void 0?{}:_ref2$iconProp,onStateChanged=_ref2.onStateChanged,children=_ref2.children,_ref2$position=_ref2.position,position=_ref2$position===void 0?"bottom":_ref2$position,_ref2$shouldShowToggl=_ref2.shouldShowToggle,shouldShowToggle=_ref2$shouldShowToggl===void 0?true:_ref2$shouldShowToggl,headerContainerProps=_ref2.headerContainerProps,rest=(0,_objectWithoutProperties2.default)(_ref2,_excluded);var name=iconProp.name,Label=iconProp.Label,size=iconProp.size,color=iconProp.color;var theme=(0,_react.useContext)(_native.ThemeContext);var _useState3=(0,_react.useState)(false),_useState4=(0,_slicedToArray2.default)(_useState3,2),isExpanded=_useState4[0],setIsExpanded=_useState4[1];var animationController=(0,_react.useRef)(new _reactNative.Animated.Value(isExpanded?1:0)).current;(0,_react.useEffect)(function(){_reactNative.Animated.timing(animationController,{duration:300,toValue:isExpanded?1:0,useNativeDriver:false}).start(function(){!!onStateChanged&&onStateChanged(isExpanded);});},[isExpanded]);var handleAnimation=function handleAnimation(){setIsExpanded(!isExpanded);};(0,_react.useImperativeHandle)(ref,function(){return{toggleAccordion:handleAnimation,openAccordion:function openAccordion(){return setIsExpanded(true);},closeAccordion:function closeAccordion(){return setIsExpanded(false);}};});var arrowAngle=animationController.interpolate({inputRange:[0,1],outputRange:["0rad",Math.PI+"rad"]});return _react.default.createElement(_.Container,(0,_extends2.default)({},!noBorder&&{borderColor:"border.grey400",borderWidth:1,borderRadius:8},{padding:12,width:"100%"},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:157,columnNumber:7}}),position==="top"&&_react.default.createElement(AccordionBody,{isExpanded:isExpanded,__self:_this,__source:{fileName:_jsxFileName,lineNumber:168,columnNumber:11}},children),_react.default.createElement(TouchableOpacity,(0,_extends2.default)({style:styles.accordionContainer,onPress:function onPress(){handleAnimation();}},headerContainerProps,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:170,columnNumber:9}}),!!header&&_react.default.createElement(_.Container,{flexGrow:1,__self:_this,__source:{fileName:_jsxFileName,lineNumber:177,columnNumber:24}},header()),!!shouldShowToggle&&_react.default.createElement(_.Container,{alignItems:"center",flexDirection:"row",justifyContent:"center",px:1,__self:_this,__source:{fileName:_jsxFileName,lineNumber:179,columnNumber:13}},Label&&_react.default.createElement(Label,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:185,columnNumber:25}}),_react.default.createElement(_reactNative.Animated.View,{style:{alignItems:"flex-end",transform:[{rotateZ:arrowAngle}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:186,columnNumber:15}},_react.default.createElement(_.Container,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:192,columnNumber:17}},_react.default.createElement(_reactNativeRemixIcon.default,{color:color!=null?color:theme.colors.font.grey700,name:name!=null?name:"ri-arrow-down-s-line",size:size!=null?size:24,__self:_this,__source:{fileName:_jsxFileName,lineNumber:193,columnNumber:19}}))))),position==="bottom"&&_react.default.createElement(AccordionBody,{isExpanded:isExpanded,__self:_this,__source:{fileName:_jsxFileName,lineNumber:204,columnNumber:11}},children));});exports.Accordion=Accordion;AccordionBody.propTypes={isExpanded:_propTypes.default.bool.isRequired,children:_propTypes.default.element};Accordion.propTypes={header:_propTypes.default.func,headerContainerProps:_propTypes.default.object,children:_propTypes.default.node,noBorder:_propTypes.default.bool,onStateChanged:_propTypes.default.func,iconProp:_propTypes.default.shape({name:_propTypes.default.string,Label:_propTypes.default.elementType,size:_propTypes.default.number,color:_propTypes.default.string}),position:_propTypes.default.string,shouldShowToggle:_propTypes.default.bool};var styles=_reactNative.StyleSheet.create({accordionContainer:{flexDirection:"row",alignItems:"center"}});Accordion.displayName="Accordion";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neetoui-rn",
3
- "version": "0.0.226",
3
+ "version": "0.0.228",
4
4
  "main": "lib/index.js",
5
5
  "author": "BigBinary",
6
6
  "license": "MIT",
@@ -5,14 +5,31 @@ import React, {
5
5
  useEffect,
6
6
  useImperativeHandle,
7
7
  } from "react";
8
- import { Animated, StyleSheet, TouchableOpacity } from "react-native";
8
+ import { Animated, StyleSheet } from "react-native";
9
9
 
10
10
  import PropTypes from "prop-types";
11
11
  import Icon from "react-native-remix-icon";
12
- import { ThemeContext } from "styled-components/native";
12
+ import styled, { ThemeContext } from "styled-components/native";
13
+ import {
14
+ buttonStyle,
15
+ flexbox,
16
+ space,
17
+ border,
18
+ color,
19
+ layout,
20
+ } from "styled-system";
13
21
 
14
22
  import { Container } from "@components";
15
23
 
24
+ const TouchableOpacity = styled.TouchableOpacity`
25
+ ${buttonStyle}
26
+ ${flexbox}
27
+ ${space}
28
+ ${border}
29
+ ${color}
30
+ ${layout}
31
+ `;
32
+
16
33
  const AccordionBody = ({ isExpanded, children }) => {
17
34
  const animationController = useRef(
18
35
  new Animated.Value(isExpanded ? 1 : 0)
@@ -99,6 +116,7 @@ export const Accordion = React.forwardRef(
99
116
  children,
100
117
  position = "bottom",
101
118
  shouldShowToggle = true,
119
+ headerContainerProps,
102
120
  ...rest
103
121
  },
104
122
  ref
@@ -150,11 +168,11 @@ export const Accordion = React.forwardRef(
150
168
  <AccordionBody isExpanded={isExpanded}>{children}</AccordionBody>
151
169
  )}
152
170
  <TouchableOpacity
153
- rippleOpacity={0}
154
171
  style={styles.accordionContainer}
155
172
  onPress={() => {
156
173
  handleAnimation();
157
174
  }}
175
+ {...headerContainerProps}
158
176
  >
159
177
  {!!header && <Container flexGrow={1}>{header()}</Container>}
160
178
  {!!shouldShowToggle && (
@@ -200,6 +218,10 @@ Accordion.propTypes = {
200
218
  * Render a component on the header.
201
219
  */
202
220
  header: PropTypes.func,
221
+ /**
222
+ * Customise header container
223
+ */
224
+ headerContainerProps: PropTypes.object,
203
225
  /**
204
226
  * Renders the child component passed in the body of the accordion.
205
227
  */