@bigbinary/neetoui-rn 0.0.143 → 0.0.146

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.
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Avatar=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 _propTypes=_interopRequireDefault(require("prop-types"));var _reactNative=require("react-native");var _=require("./");var _excluded=["name","variant","bgColor","fontColor","imageUrl"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Avatar.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 Avatar=function Avatar(_ref){var name=_ref.name,_ref$variant=_ref.variant,variant=_ref$variant===void 0?"medium":_ref$variant,_ref$bgColor=_ref.bgColor,bgColor=_ref$bgColor===void 0?"background.lightBlue100":_ref$bgColor,_ref$fontColor=_ref.fontColor,fontColor=_ref$fontColor===void 0?"font.darkBlue100":_ref$fontColor,imageUrl=_ref.imageUrl,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);var _useState=(0,_react.useState)(false),_useState2=(0,_slicedToArray2.default)(_useState,2),fallback=_useState2[0],setFallback=_useState2[1];var acronym=name==null?void 0:name.split(/\s/).reduce(function(response,word){return response+=word.slice(0,1);},"").slice(0,2);var getSizes=function getSizes(){switch(variant){case"small":return[36,12];case"medium":return[48,14];default:return[48,14];}};var _getSizes=getSizes(),_getSizes2=(0,_slicedToArray2.default)(_getSizes,2),avatarSize=_getSizes2[0],avatarFontSize=_getSizes2[1];var styles={profileImage:{height:avatarSize,width:avatarSize,alignSelf:"center",borderRadius:avatarSize/2}};var renderFallbackText=fallback||!imageUrl;return _react.default.createElement(_react.default.Fragment,null,renderFallbackText?_react.default.createElement(_.Container,(0,_extends2.default)({bg:bgColor,width:avatarSize,height:avatarSize,borderRadius:avatarSize/2},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:75,columnNumber:9}}),_react.default.createElement(_.Typography,{fontFamily:"sf400",fontSize:avatarFontSize,color:fontColor,__self:_this,__source:{fileName:_jsxFileName,lineNumber:82,columnNumber:11}},acronym.toUpperCase())):_react.default.createElement(_reactNative.Image,(0,_extends2.default)({style:styles.profileImage,source:{uri:imageUrl},onError:function onError(){return setFallback(true);}},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:91,columnNumber:9}})));};exports.Avatar=Avatar;Avatar.defaultProps={alignItems:"center",justifyContent:"center"};Avatar.propTypes={name:_propTypes.default.string,variant:_propTypes.default.oneOf(["medium","small"]),bgColor:_propTypes.default.string,fontColor:_propTypes.default.string,imageUrl:_propTypes.default.string};
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.Avatar=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=_interopRequireDefault(require("react"));var _propTypes=_interopRequireDefault(require("prop-types"));var _reactNative=require("react-native");var _=require("./");var _reactNativeReanimated=_interopRequireWildcard(require("react-native-reanimated"));var _excluded=["name","variant","bgColor","fontColor","imageUrl"];var _this=this,_jsxFileName="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Avatar.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 Avatar=function Avatar(_ref){var name=_ref.name,_ref$variant=_ref.variant,variant=_ref$variant===void 0?"medium":_ref$variant,_ref$bgColor=_ref.bgColor,bgColor=_ref$bgColor===void 0?"background.lightBlue100":_ref$bgColor,_ref$fontColor=_ref.fontColor,fontColor=_ref$fontColor===void 0?"font.darkBlue100":_ref$fontColor,imageUrl=_ref.imageUrl,rest=(0,_objectWithoutProperties2.default)(_ref,_excluded);var opacity=(0,_reactNativeReanimated.useSharedValue)(0);var acronym=name==null?void 0:name.split(/\s/).reduce(function(response,word){return response+=word.slice(0,1);},"").slice(0,2);var getSizes=function getSizes(){switch(variant){case"small":return[36,12];case"medium":return[48,14];default:return[48,14];}};var _getSizes=getSizes(),_getSizes2=(0,_slicedToArray2.default)(_getSizes,2),avatarSize=_getSizes2[0],avatarFontSize=_getSizes2[1];var profileImageStyle=(0,_reactNativeReanimated.useAnimatedStyle)(function(){var _f=function _f(){return{opacity:(0,_reactNativeReanimated.withTiming)(opacity.value,{duration:300,easing:_reactNativeReanimated.Easing.bezier(0.25,0.1,0.25,1)}),height:avatarSize,width:avatarSize,alignSelf:"center",borderRadius:avatarSize/2};};_f._closure={withTiming:_reactNativeReanimated.withTiming,opacity:opacity,Easing:{bezier:_reactNativeReanimated.Easing.bezier},avatarSize:avatarSize};_f.asString="function _f(){const{withTiming,opacity,Easing,avatarSize}=jsThis._closure;{return{opacity:withTiming(opacity.value,{duration:300,easing:Easing.bezier(0.25,0.1,0.25,1)}),height:avatarSize,width:avatarSize,alignSelf:\"center\",borderRadius:avatarSize/2};}}";_f.__workletHash=7668075677523;_f.__location="/home/runner/work/neeto-ui-rn/neeto-ui-rn/src/components/Avatar.js (67:45)";_f.__optimalization=2;return _f;}());return _react.default.createElement(_react.default.Fragment,null,_react.default.createElement(_.Container,(0,_extends2.default)({bg:bgColor,width:avatarSize,height:avatarSize,borderRadius:avatarSize/2},rest,{flexDirection:"row",__self:_this,__source:{fileName:_jsxFileName,lineNumber:82,columnNumber:7}}),_react.default.createElement(_.Container,{style:styles.acronym,__self:_this,__source:{fileName:_jsxFileName,lineNumber:90,columnNumber:9}},_react.default.createElement(_.Typography,{fontFamily:"sf400",fontSize:avatarFontSize,color:fontColor,__self:_this,__source:{fileName:_jsxFileName,lineNumber:91,columnNumber:11}},acronym.toUpperCase())),_react.default.createElement(_reactNativeReanimated.default.Image,(0,_extends2.default)({onLoad:function onLoad(){return opacity.value=1;},style:profileImageStyle,source:{uri:imageUrl}},rest,{__self:_this,__source:{fileName:_jsxFileName,lineNumber:99,columnNumber:9}}))));};exports.Avatar=Avatar;var styles=_reactNative.StyleSheet.create({acronym:{position:"absolute",justifyContent:"center",alignItems:"center"}});Avatar.defaultProps={alignItems:"center",justifyContent:"center"};Avatar.propTypes={name:_propTypes.default.string,variant:_propTypes.default.oneOf(["medium","small"]),bgColor:_propTypes.default.string,fontColor:_propTypes.default.string,imageUrl:_propTypes.default.string};
@@ -1 +1 @@
1
- var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.theme=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var defaultColors={white:"#ffffff",base:"#4557F8",danger:"#ff6969",menubackground:"#F6F6FA"};var toastBorderColors={success:"#00BA88",error:"#F56A58",info:"#276EF1",warning:"#F3CD82"};var greyVariants={grey:"#828282",grey100:"#f8f9f9",grey200:"#e9ebed",grey300:"#d8dcde",grey400:"#c2c8cc",grey500:"#87929d",grey600:"#68737d",grey700:"#49545C",grey800:"#2f3941"};var darkBlueVariant={darkBlue100:"#0B4885"};var lightBlueVariants={lightBlue100:"#EAF3FC"};var purpleVariants={purple500:"#4557F8",purple700:"#342DF4",purple100:"#F2F4FF"};var greenVariants={green500:"#34C759",green600:"#33C8A0",green700:"#00BA88",green800:"#00956D"};var colors={font:(0,_extends2.default)({primary:"#2F3941",secondary:"#49545C",danger:"#D95D4E"},defaultColors,greyVariants,lightBlueVariants,darkBlueVariant,purpleVariants,greenVariants),background:(0,_extends2.default)({parentView:"#ffffff",primary:"#ffffff",secondary:"#F6F6FA",danger:"#D95D4E"},defaultColors,greyVariants,lightBlueVariants,darkBlueVariant,purpleVariants,greenVariants),border:(0,_extends2.default)({primary:"#E9EBED",secondary:"#C2C8CC",danger:"#D95D4E"},greyVariants,lightBlueVariants,darkBlueVariant,defaultColors,purpleVariants),toast:(0,_extends2.default)({},toastBorderColors)};var baseTheme={colors:colors,fonts:{sf400:"SFProText-Regular",sf500:"SFProText-Medium",sf600:"SFProText-Semibold",sf700:"SFProText-Bold"},lineHeights:[24],fontSizes:{"3xs":10,"2xs":12,xs:13,s:14,m:15,l:16,xl:17,"2xl":18,"3xl":20,"4xl":22,"5xl":30}};baseTheme.lineHeights.note=baseTheme.lineHeights[0]+"px";var theme=(0,_extends2.default)({},baseTheme,{textStyles:{defaultTextStyle:{color:baseTheme.colors.font.primary},header:{color:baseTheme.colors.font.primary,fontSize:baseTheme.fontSizes["3xl"],fontFamily:baseTheme.fonts.sf700},modalHeader:{color:baseTheme.colors.font.green800,fontSize:baseTheme.fontSizes["xl"],fontFamily:baseTheme.fonts.sf600},body:{color:baseTheme.colors.font.grey500,fontSize:baseTheme.fontSizes.s},subtext:{color:baseTheme.colors.font.primary,fontSize:baseTheme.fontSizes["2xs"]},solid:{color:baseTheme.colors.font.white},inverse:{color:baseTheme.colors.font.base},text:{color:baseTheme.colors.font.base}},buttons:{solid:{border:2,borderColor:baseTheme.colors.background.base,backgroundColor:baseTheme.colors.background.base},inverse:{border:2,borderColor:baseTheme.colors.border.base,backgroundColor:baseTheme.colors.background.white},text:{color:baseTheme.colors.font.grey800,backgroundColor:baseTheme.colors.background.white}}});exports.theme=theme;
1
+ var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");Object.defineProperty(exports,"__esModule",{value:true});exports.theme=void 0;var _extends2=_interopRequireDefault(require("@babel/runtime/helpers/extends"));var defaultColors={white:"#ffffff",base:"#4557F8",danger:"#ff6969",menubackground:"#F6F6FA"};var toastBorderColors={success:"#00BA88",error:"#F56A58",info:"#276EF1",warning:"#F3CD82"};var greyVariants={grey:"#828282",grey100:"#f8f9f9",grey200:"#e9ebed",grey300:"#d8dcde",grey400:"#c2c8cc",grey500:"#87929d",grey600:"#68737d",grey700:"#49545C",grey800:"#2f3941"};var darkBlueVariant={darkBlue100:"#0B4885"};var lightBlueVariants={lightBlue100:"#EAF3FC"};var purpleVariants={purple500:"#4557F8",purple700:"#342DF4",purple100:"#F2F4FF"};var greenVariants={green500:"#34C759",green600:"#33C8A0",green700:"#00BA88",green800:"#00956D"};var colors={font:(0,_extends2.default)({primary:"#2F3941",secondary:"#49545C",danger:"#D95D4E"},defaultColors,greyVariants,lightBlueVariants,darkBlueVariant,purpleVariants,greenVariants),background:(0,_extends2.default)({parentView:"#ffffff",primary:"#ffffff",secondary:"#F6F6FA",danger:"#D95D4E"},defaultColors,greyVariants,lightBlueVariants,darkBlueVariant,purpleVariants,greenVariants),border:(0,_extends2.default)({primary:"#E9EBED",secondary:"#C2C8CC",danger:"#D95D4E"},greyVariants,lightBlueVariants,darkBlueVariant,defaultColors,purpleVariants),toast:(0,_extends2.default)({},toastBorderColors)};var baseTheme={colors:colors,fonts:{sf400:"SFProText-Regular",sf500:"SFProText-Medium",sf600:"SFProText-Semibold",sf700:"SFProText-Bold"},lineHeights:[24],fontSizes:{"4xs":10,"3xs":11,"2xs":12,xs:13,s:14,m:15,l:16,xl:17,"2xl":18,"3xl":20,"4xl":22,"5xl":30}};baseTheme.lineHeights.note=baseTheme.lineHeights[0]+"px";var theme=(0,_extends2.default)({},baseTheme,{textStyles:{defaultTextStyle:{color:baseTheme.colors.font.primary},header:{color:baseTheme.colors.font.primary,fontSize:baseTheme.fontSizes["3xl"],fontFamily:baseTheme.fonts.sf600},modalHeader:{color:baseTheme.colors.font.primary,fontSize:baseTheme.fontSizes["xl"],fontFamily:baseTheme.fonts.sf600},body:{color:baseTheme.colors.font.grey500,fontSize:baseTheme.fontSizes.s},subtext:{color:baseTheme.colors.font.primary,fontSize:baseTheme.fontSizes["2xs"]},solid:{color:baseTheme.colors.font.white},inverse:{color:baseTheme.colors.font.base},text:{color:baseTheme.colors.font.base}},buttons:{solid:{border:2,borderColor:baseTheme.colors.background.base,backgroundColor:baseTheme.colors.background.base},inverse:{border:2,borderColor:baseTheme.colors.border.base,backgroundColor:baseTheme.colors.background.white},text:{color:baseTheme.colors.font.grey800,backgroundColor:baseTheme.colors.background.white}}});exports.theme=theme;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neetoui-rn",
3
- "version": "0.0.143",
3
+ "version": "0.0.146",
4
4
  "main": "lib/index.js",
5
5
  "author": "BigBinary",
6
6
  "license": "MIT",
@@ -20,7 +20,7 @@ import { Container, Card } from "@components";
20
20
  * <Accordion
21
21
  * header={() => (
22
22
  * <Container flexDirection="row" alignItems="center">
23
- * <Typography bg="#00BA8829" color="font.green800" p={1}>
23
+ * <Typography bg="#00BA8829" color="font.primary" p={1}>
24
24
  * Open
25
25
  * </Typography>
26
26
  * <Typography px={2}>Low</Typography>
@@ -1,8 +1,14 @@
1
- import React, { useState } from "react";
1
+ import React from "react";
2
2
  import PropTypes from "prop-types";
3
- import { Image } from "react-native";
3
+ import { StyleSheet } from "react-native";
4
4
 
5
5
  import { Typography, Container } from "@components";
6
+ import Animated, {
7
+ Easing,
8
+ useAnimatedStyle,
9
+ useSharedValue,
10
+ withTiming,
11
+ } from "react-native-reanimated";
6
12
 
7
13
  /**
8
14
  * Avatars can be used to represent people in a graphical way.
@@ -39,7 +45,7 @@ export const Avatar = ({
39
45
  imageUrl,
40
46
  ...rest
41
47
  }) => {
42
- const [fallback, setFallback] = useState(false);
48
+ const opacity = useSharedValue(0);
43
49
  const acronym = name
44
50
  ?.split(/\s/)
45
51
  .reduce((response, word) => (response += word.slice(0, 1)), "")
@@ -58,27 +64,30 @@ export const Avatar = ({
58
64
 
59
65
  const [avatarSize, avatarFontSize] = getSizes();
60
66
 
61
- const styles = {
62
- profileImage: {
67
+ const profileImageStyle = useAnimatedStyle(() => {
68
+ return {
69
+ opacity: withTiming(opacity.value, {
70
+ duration: 300,
71
+ easing: Easing.bezier(0.25, 0.1, 0.25, 1),
72
+ }),
63
73
  height: avatarSize,
64
74
  width: avatarSize,
65
75
  alignSelf: "center",
66
76
  borderRadius: avatarSize / 2,
67
- },
68
- };
69
-
70
- const renderFallbackText = fallback || !imageUrl;
77
+ };
78
+ });
71
79
 
72
80
  return (
73
81
  <>
74
- {renderFallbackText ? (
75
- <Container
76
- bg={bgColor}
77
- width={avatarSize}
78
- height={avatarSize}
79
- borderRadius={avatarSize / 2}
80
- {...rest}
81
- >
82
+ <Container
83
+ bg={bgColor}
84
+ width={avatarSize}
85
+ height={avatarSize}
86
+ borderRadius={avatarSize / 2}
87
+ {...rest}
88
+ flexDirection="row"
89
+ >
90
+ <Container style={styles.acronym}>
82
91
  <Typography
83
92
  fontFamily="sf400"
84
93
  fontSize={avatarFontSize}
@@ -87,18 +96,25 @@ export const Avatar = ({
87
96
  {acronym.toUpperCase()}
88
97
  </Typography>
89
98
  </Container>
90
- ) : (
91
- <Image
92
- style={styles.profileImage}
99
+ <Animated.Image
100
+ onLoad={() => (opacity.value = 1)}
101
+ style={profileImageStyle}
93
102
  source={{ uri: imageUrl }}
94
- onError={() => setFallback(true)}
95
103
  {...rest}
96
104
  />
97
- )}
105
+ </Container>
98
106
  </>
99
107
  );
100
108
  };
101
109
 
110
+ const styles = StyleSheet.create({
111
+ acronym: {
112
+ position: "absolute",
113
+ justifyContent: "center",
114
+ alignItems: "center",
115
+ },
116
+ });
117
+
102
118
  Avatar.defaultProps = {
103
119
  alignItems: "center",
104
120
  justifyContent: "center",
@@ -103,7 +103,8 @@ const baseTheme = {
103
103
  },
104
104
  lineHeights: [24],
105
105
  fontSizes: {
106
- "3xs": 10,
106
+ "4xs": 10,
107
+ "3xs": 11,
107
108
  "2xs": 12,
108
109
  xs: 13,
109
110
  s: 14,
@@ -129,10 +130,10 @@ export const theme = {
129
130
  header: {
130
131
  color: baseTheme.colors.font.primary,
131
132
  fontSize: baseTheme.fontSizes["3xl"],
132
- fontFamily: baseTheme.fonts.sf700,
133
+ fontFamily: baseTheme.fonts.sf600,
133
134
  },
134
135
  modalHeader: {
135
- color: baseTheme.colors.font.green800,
136
+ color: baseTheme.colors.font.primary,
136
137
  fontSize: baseTheme.fontSizes["xl"],
137
138
  fontFamily: baseTheme.fonts.sf600,
138
139
  },