@bigbinary/neetoui-rn 0.0.244 → 0.0.246
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
|
@@ -349,6 +349,9 @@ interface NotificationPreferenceListProps extends ViewProps {
|
|
|
349
349
|
itemContainerProps?: ViewProps;
|
|
350
350
|
labelContainerProps?: ViewProps;
|
|
351
351
|
labelProps?: TypographyProps;
|
|
352
|
+
title?: string;
|
|
353
|
+
titleProps?: TypographyProps;
|
|
354
|
+
isLoading?: boolean;
|
|
352
355
|
}
|
|
353
356
|
|
|
354
357
|
interface MultiSelectConfirmationAlertObjProps {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.NotificationPreferenceList=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireDefault(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _=require("./");var _excluded=["data","itemWrapperProps","itemContainerProps","labelContainerProps","labelProps"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/NotificationPreferenceList.jsx";var NotificationPreferenceList=function NotificationPreferenceList(_ref){var data=_ref.data,itemWrapperProps=_ref.itemWrapperProps,itemContainerProps=_ref.itemContainerProps,labelContainerProps=_ref.labelContainerProps,labelProps=_ref.labelProps,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);return _react.default.createElement(_.Container,(0,_extends2.default)({bg:"background.secondary",borderRadius:(0,_reactNativeSizeMatters.moderateScale)(8)},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.NotificationPreferenceList=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var _objectWithoutProperties2=_interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));var _react=_interopRequireDefault(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNativeSizeMatters=require("react-native-size-matters");var _=require("./");var _excluded=["isLoading","data","itemWrapperProps","itemContainerProps","labelContainerProps","labelProps","title","titleProps"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/NotificationPreferenceList.jsx";var lineHeight=(0,_reactNativeSizeMatters.moderateScale)(22);var NotificationPreferenceList=function NotificationPreferenceList(_ref){var isLoading=_ref.isLoading,data=_ref.data,itemWrapperProps=_ref.itemWrapperProps,itemContainerProps=_ref.itemContainerProps,labelContainerProps=_ref.labelContainerProps,labelProps=_ref.labelProps,title=_ref.title,titleProps=_ref.titleProps,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);return _react.default.createElement(_.Container,{width:"100%",__self:_this,__source:{fileName:_jsxFileName,lineNumber:97,columnNumber:3}},_react.default.createElement(_.Container,{alignItems:"center",flexDirection:"row",pb:(0,_reactNativeSizeMatters.moderateScale)(8),pt:(0,_reactNativeSizeMatters.moderateScale)(16),__self:_this,__source:{fileName:_jsxFileName,lineNumber:98,columnNumber:5}},!!title&&_react.default.createElement(_.Typography,(0,_extends2.default)({color:"font.grey600",fontSize:"m",lineHeight:lineHeight+"px"},titleProps,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:105,columnNumber:9}}),title),isLoading&&_react.default.createElement(_.Container,{height:lineHeight,justifyContent:"center",mx:(0,_reactNativeSizeMatters.moderateScale)(8),__self:_this,__source:{fileName:_jsxFileName,lineNumber:115,columnNumber:9}},_react.default.createElement(_.Loader,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:120,columnNumber:11}}))),_react.default.createElement(_.Container,(0,_extends2.default)({bg:"background.secondary",borderRadius:(0,_reactNativeSizeMatters.moderateScale)(8)},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:124,columnNumber:5}}),data==null?void 0:data.map(function(item,index){var label=item.label,enabled=item.enabled,onSwitch=item.onSwitch,LeftIcon=item.LeftIcon;var isLastItem=index===data.length-1;return _react.default.createElement(_.Container,(0,_extends2.default)({key:index,px:(0,_reactNativeSizeMatters.moderateScale)(16)},itemWrapperProps,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:134,columnNumber:11}}),_react.default.createElement(_.Container,(0,_extends2.default)({alignItems:"center",flexDirection:"row",justifyContent:"space-between",py:(0,_reactNativeSizeMatters.moderateScale)(12)},itemContainerProps,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:135,columnNumber:13}}),_react.default.createElement(_.Container,(0,_extends2.default)({alignItems:"center",flexDirection:"row"},labelContainerProps,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:142,columnNumber:15}}),LeftIcon&&_react.default.createElement(_.Container,{mr:(0,_reactNativeSizeMatters.moderateScale)(10),__self:_this,__source:{fileName:_jsxFileName,lineNumber:148,columnNumber:19}},_react.default.createElement(LeftIcon,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:149,columnNumber:21}})),_react.default.createElement(_.Typography,(0,_extends2.default)({fontSize:"l",mr:(0,_reactNativeSizeMatters.moderateScale)(10)},labelProps,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:152,columnNumber:17}}),label)),_react.default.createElement(_.ToggleSwitch,{value:enabled,onValueChange:function onValueChange(){return onSwitch(item,index);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:156,columnNumber:15}})),!isLastItem&&_react.default.createElement(_.Divider,{bg:"background.grey300",__self:_this,__source:{fileName:_jsxFileName,lineNumber:161,columnNumber:29}}));})));};exports.NotificationPreferenceList=NotificationPreferenceList;NotificationPreferenceList.propTypes={data:_propTypes.default.array.isRequired,itemWrapperProps:_propTypes.default.object,itemContainerProps:_propTypes.default.object,labelContainerProps:_propTypes.default.object,labelProps:_propTypes.default.object,title:_propTypes.default.string,titleProps:_propTypes.default.string,isLoading:_propTypes.default.bool};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ToggleSwitch=void 0;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 _reactNativeSizeMatters=require("react-native-size-matters");var _native=require("styled-components/native");var _=require("./");var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/ToggleSwitch.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 ToggleSwitch=function ToggleSwitch(_ref){var value=_ref.value,onValueChange=_ref.onValueChange,disabled=_ref.disabled;var theme=(0,_react.useContext)(_native.ThemeContext);var animatedPosition=(0,_react.useRef)(new _reactNative.Animated.Value(value?(0,_reactNativeSizeMatters.moderateScale)(1):0)).current;(0,_react.useEffect)(function(){startAnimation();},[value]);var startAnimation=function startAnimation(){_reactNative.Animated.timing(animatedPosition,{toValue:value?(0,_reactNativeSizeMatters.moderateScale)(18):0,duration:300,useNativeDriver:false}).start();};var containerBg=value?theme.colors.background.purple500:"background.grey300";var iconColor=value?theme.colors.background.purple500:theme.colors.font.grey500;return _react.default.createElement(_.Touchable,{bg:containerBg,borderRadius:(0,_reactNativeSizeMatters.moderateScale)(70),disabled:disabled,height:(0,_reactNativeSizeMatters.moderateScale)(24),justifyContent:"center",opacity:disabled?0.5:1,px:(0,_reactNativeSizeMatters.moderateScale)(5),width:(0,_reactNativeSizeMatters.moderateScale)(44),onPress:function onPress(){return onValueChange(!value);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:65,columnNumber:5}},_react.default.createElement(_reactNative.Animated.View,{style:{transform:[{translateX:animatedPosition}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:
|
|
1
|
+
var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.ToggleSwitch=void 0;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 _reactNativeSizeMatters=require("react-native-size-matters");var _native=require("styled-components/native");var _=require("./");var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/ToggleSwitch.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 ToggleSwitch=function ToggleSwitch(_ref){var value=_ref.value,onValueChange=_ref.onValueChange,disabled=_ref.disabled;var theme=(0,_react.useContext)(_native.ThemeContext);var animatedPosition=(0,_react.useRef)(new _reactNative.Animated.Value(value?(0,_reactNativeSizeMatters.moderateScale)(1):0)).current;(0,_react.useEffect)(function(){startAnimation();},[value]);var startAnimation=function startAnimation(){_reactNative.Animated.timing(animatedPosition,{toValue:value?(0,_reactNativeSizeMatters.moderateScale)(18):0,duration:300,useNativeDriver:false}).start();};var containerBg=value?theme.colors.background.purple500:"background.grey300";var iconColor=value?theme.colors.background.purple500:theme.colors.font.grey500;return _react.default.createElement(_.Touchable,{bg:containerBg,borderRadius:(0,_reactNativeSizeMatters.moderateScale)(70),disabled:disabled,height:(0,_reactNativeSizeMatters.moderateScale)(24),hitSlop:10,justifyContent:"center",opacity:disabled?0.5:1,px:(0,_reactNativeSizeMatters.moderateScale)(5),width:(0,_reactNativeSizeMatters.moderateScale)(44),onPress:function onPress(){return onValueChange(!value);},__self:_this,__source:{fileName:_jsxFileName,lineNumber:65,columnNumber:5}},_react.default.createElement(_reactNative.Animated.View,{style:{transform:[{translateX:animatedPosition}]},__self:_this,__source:{fileName:_jsxFileName,lineNumber:77,columnNumber:7}},_react.default.createElement(_.Container,{alignItems:"center",bg:"background.white",borderRadius:(0,_reactNativeSizeMatters.moderateScale)(8),height:(0,_reactNativeSizeMatters.moderateScale)(16),justifyContent:"center",width:(0,_reactNativeSizeMatters.moderateScale)(16),__self:_this,__source:{fileName:_jsxFileName,lineNumber:78,columnNumber:9}},_react.default.createElement(_reactNativeRemixIcon.default,{color:iconColor,name:"ri-"+(value?"check":"close")+"-line",size:(0,_reactNativeSizeMatters.moderateScale)(12),__self:_this,__source:{fileName:_jsxFileName,lineNumber:86,columnNumber:11}}))));};exports.ToggleSwitch=ToggleSwitch;ToggleSwitch.propTypes={value:_propTypes.default.bool.isRequired,onValueChange:_propTypes.default.func,disabled:_propTypes.default.bool};
|
package/package.json
CHANGED
|
@@ -3,7 +3,13 @@ import React from "react";
|
|
|
3
3
|
import PropTypes from "prop-types";
|
|
4
4
|
import { moderateScale } from "react-native-size-matters";
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
Container,
|
|
8
|
+
Typography,
|
|
9
|
+
Divider,
|
|
10
|
+
ToggleSwitch,
|
|
11
|
+
Loader,
|
|
12
|
+
} from "@components";
|
|
7
13
|
|
|
8
14
|
/**
|
|
9
15
|
*
|
|
@@ -76,63 +82,87 @@ import { Container, Typography, Divider, ToggleSwitch } from "@components";
|
|
|
76
82
|
*
|
|
77
83
|
*/
|
|
78
84
|
|
|
85
|
+
const lineHeight = moderateScale(22);
|
|
79
86
|
export const NotificationPreferenceList = ({
|
|
87
|
+
isLoading,
|
|
80
88
|
data,
|
|
81
89
|
itemWrapperProps,
|
|
82
90
|
itemContainerProps,
|
|
83
91
|
labelContainerProps,
|
|
84
92
|
labelProps,
|
|
93
|
+
title,
|
|
94
|
+
titleProps,
|
|
85
95
|
...rest
|
|
86
96
|
}) => (
|
|
87
|
-
<Container
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
97
|
+
<Container width="100%">
|
|
98
|
+
<Container
|
|
99
|
+
alignItems="center"
|
|
100
|
+
flexDirection="row"
|
|
101
|
+
pb={moderateScale(8)}
|
|
102
|
+
pt={moderateScale(16)}
|
|
103
|
+
>
|
|
104
|
+
{!!title && (
|
|
105
|
+
<Typography
|
|
106
|
+
color="font.grey600"
|
|
107
|
+
fontSize="m"
|
|
108
|
+
lineHeight={`${lineHeight}px`}
|
|
109
|
+
{...titleProps}
|
|
110
|
+
>
|
|
111
|
+
{title}
|
|
112
|
+
</Typography>
|
|
113
|
+
)}
|
|
114
|
+
{isLoading && (
|
|
115
|
+
<Container
|
|
116
|
+
height={lineHeight}
|
|
117
|
+
justifyContent="center"
|
|
118
|
+
mx={moderateScale(8)}
|
|
119
|
+
>
|
|
120
|
+
<Loader />
|
|
121
|
+
</Container>
|
|
122
|
+
)}
|
|
123
|
+
</Container>
|
|
124
|
+
<Container
|
|
125
|
+
bg="background.secondary"
|
|
126
|
+
borderRadius={moderateScale(8)}
|
|
127
|
+
{...rest}
|
|
128
|
+
>
|
|
129
|
+
{data?.map((item, index) => {
|
|
130
|
+
const { label, enabled, onSwitch, LeftIcon } = item;
|
|
131
|
+
const isLastItem = index === data.length - 1;
|
|
95
132
|
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
<Container
|
|
99
|
-
alignItems="center"
|
|
100
|
-
flexDirection="row"
|
|
101
|
-
justifyContent="space-between"
|
|
102
|
-
py={moderateScale(15)}
|
|
103
|
-
{...itemContainerProps}
|
|
104
|
-
>
|
|
133
|
+
return (
|
|
134
|
+
<Container key={index} px={moderateScale(16)} {...itemWrapperProps}>
|
|
105
135
|
<Container
|
|
106
136
|
alignItems="center"
|
|
107
137
|
flexDirection="row"
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
{...
|
|
138
|
+
justifyContent="space-between"
|
|
139
|
+
py={moderateScale(12)}
|
|
140
|
+
{...itemContainerProps}
|
|
111
141
|
>
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
)}
|
|
117
|
-
<Typography
|
|
118
|
-
color="font.grey800"
|
|
119
|
-
fontFamily="sf400"
|
|
120
|
-
fontSize="l"
|
|
121
|
-
{...labelProps}
|
|
142
|
+
<Container
|
|
143
|
+
alignItems="center"
|
|
144
|
+
flexDirection="row"
|
|
145
|
+
{...labelContainerProps}
|
|
122
146
|
>
|
|
123
|
-
{
|
|
124
|
-
|
|
147
|
+
{LeftIcon && (
|
|
148
|
+
<Container mr={moderateScale(10)}>
|
|
149
|
+
<LeftIcon />
|
|
150
|
+
</Container>
|
|
151
|
+
)}
|
|
152
|
+
<Typography fontSize="l" mr={moderateScale(10)} {...labelProps}>
|
|
153
|
+
{label}
|
|
154
|
+
</Typography>
|
|
155
|
+
</Container>
|
|
156
|
+
<ToggleSwitch
|
|
157
|
+
value={enabled}
|
|
158
|
+
onValueChange={() => onSwitch(item, index)}
|
|
159
|
+
/>
|
|
125
160
|
</Container>
|
|
126
|
-
<
|
|
127
|
-
mt={moderateScale(4)}
|
|
128
|
-
value={enabled}
|
|
129
|
-
onValueChange={() => onSwitch(item, index)}
|
|
130
|
-
/>
|
|
161
|
+
{!isLastItem && <Divider bg="background.grey300" />}
|
|
131
162
|
</Container>
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
})}
|
|
163
|
+
);
|
|
164
|
+
})}
|
|
165
|
+
</Container>
|
|
136
166
|
</Container>
|
|
137
167
|
);
|
|
138
168
|
|
|
@@ -157,4 +187,16 @@ NotificationPreferenceList.propTypes = {
|
|
|
157
187
|
* Customize item label
|
|
158
188
|
*/
|
|
159
189
|
labelProps: PropTypes.object,
|
|
190
|
+
/**
|
|
191
|
+
* Title value.
|
|
192
|
+
*/
|
|
193
|
+
title: PropTypes.string,
|
|
194
|
+
/**
|
|
195
|
+
* Customize title style.
|
|
196
|
+
*/
|
|
197
|
+
titleProps: PropTypes.string,
|
|
198
|
+
/**
|
|
199
|
+
* Show loader
|
|
200
|
+
*/
|
|
201
|
+
isLoading: PropTypes.bool,
|
|
160
202
|
};
|