@draftbit/core 43.4.7 → 43.4.8-cae1e2.0

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.
@@ -21,8 +21,6 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
21
21
 
22
22
  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; }
23
23
 
24
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
-
26
24
  const AccordionItem = _ref => {
27
25
  let {
28
26
  Icon,
@@ -37,9 +35,10 @@ const AccordionItem = _ref => {
37
35
  textStyles,
38
36
  viewStyles
39
37
  } = (0, _utilities.extractStyles)(style);
40
- return /*#__PURE__*/React.createElement(_reactNative.Pressable, _extends({
41
- style: [styles.container, viewStyles]
42
- }, rest), /*#__PURE__*/React.createElement(_reactNative.View, {
38
+ return /*#__PURE__*/React.createElement(_reactNative.Pressable, {
39
+ style: [styles.container, viewStyles],
40
+ ...rest
41
+ }, /*#__PURE__*/React.createElement(_reactNative.View, {
43
42
  style: styles.row
44
43
  }, icon ? /*#__PURE__*/React.createElement(Icon, {
45
44
  name: icon,
@@ -74,5 +73,22 @@ const styles = _reactNative.StyleSheet.create({
74
73
 
75
74
  var _default = (0, _theming.withTheme)(AccordionItem);
76
75
 
76
+ exports.default = _default;
77
+ //# sourceMappingURL=AccordionItem.js.map flexDirection: "row",
78
+ alignItems: "center",
79
+ paddingLeft: 8
80
+ },
81
+ item: {
82
+ marginVertical: 6,
83
+ paddingLeft: 8
84
+ },
85
+ content: {
86
+ flex: 1,
87
+ justifyContent: "center"
88
+ }
89
+ });
90
+
91
+ var _default = (0, _theming.withTheme)(AccordionItem);
92
+
77
93
  exports.default = _default;
78
94
  //# sourceMappingURL=AccordionItem.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["AccordionItem.tsx"],"names":["AccordionItem","Icon","icon","label","style","iconColor","theme","rest","textStyles","viewStyles","styles","container","row","colors","primary","item","content","StyleSheet","create","padding","flexDirection","alignItems","paddingLeft","marginVertical","flex","justifyContent"],"mappings":";;;;;;;AAAA;;AACA;;AAQA;;AAEA;;AACA;;;;;;;;;;AAWA,MAAMA,aAAa,GAAG,QAQT;AAAA,MARU;AACrBC,IAAAA,IADqB;AAErBC,IAAAA,IAFqB;AAGrBC,IAAAA,KAHqB;AAIrBC,IAAAA,KAJqB;AAKrBC,IAAAA,SALqB;AAMrBC,IAAAA,KANqB;AAOrB,OAAGC;AAPkB,GAQV;AACX,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAA6B,8BAAcL,KAAd,CAAnC;AACA,sBACE,oBAAC,sBAAD;AAAW,IAAA,KAAK,EAAE,CAACM,MAAM,CAACC,SAAR,EAAmBF,UAAnB;AAAlB,KAAsDF,IAAtD,gBACE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAEG,MAAM,CAACE;AAApB,KACGV,IAAI,gBACH,oBAAC,IAAD;AACE,IAAA,IAAI,EAAEA,IADR;AAEE,IAAA,IAAI,EAAE,EAFR;AAGE,IAAA,KAAK,EAAEG,SAAS,IAAIC,KAAK,CAACO,MAAN,CAAaC;AAHnC,IADG,GAMD,IAPN,eAQE,oBAAC,iBAAD;AAAM,IAAA,KAAK,EAAE,CAACJ,MAAM,CAACK,IAAR,EAAcL,MAAM,CAACM,OAArB;AAAb,kBACE,oBAAC,aAAD;AAAM,IAAA,UAAU,EAAE,KAAlB;AAAyB,IAAA,KAAK,EAAER;AAAhC,KACGL,KADH,CADF,CARF,CADF,CADF;AAkBD,CA5BD;;AA8BA,MAAMO,MAAM,GAAGO,wBAAWC,MAAX,CAAkB;AAC/BP,EAAAA,SAAS,EAAE;AACTQ,IAAAA,OAAO,EAAE;AADA,GADoB;AAI/BP,EAAAA,GAAG,EAAE;AACHQ,IAAAA,aAAa,EAAE,KADZ;AAEHC,IAAAA,UAAU,EAAE,QAFT;AAGHC,IAAAA,WAAW,EAAE;AAHV,GAJ0B;AAS/BP,EAAAA,IAAI,EAAE;AACJQ,IAAAA,cAAc,EAAE,CADZ;AAEJD,IAAAA,WAAW,EAAE;AAFT,GATyB;AAa/BN,EAAAA,OAAO,EAAE;AACPQ,IAAAA,IAAI,EAAE,CADC;AAEPC,IAAAA,cAAc,EAAE;AAFT;AAbsB,CAAlB,CAAf;;eAmBe,wBAAUzB,aAAV,C","sourcesContent":["import * as React from \"react\";\nimport {\n Pressable,\n StyleSheet,\n View,\n StyleProp,\n ViewStyle,\n} from \"react-native\";\n\nimport Text from \"../Text\";\nimport type { IconSlot } from \"../../interfaces/Icon\";\nimport { extractStyles } from \"../../utilities\";\nimport { withTheme } from \"../../theming\";\nimport type { Theme } from \"../../styles/DefaultTheme\";\n\ntype Props = {\n icon?: string;\n label: string;\n iconColor?: string;\n style?: StyleProp<ViewStyle>;\n theme: Theme;\n} & IconSlot;\n\nconst AccordionItem = ({\n Icon,\n icon,\n label,\n style,\n iconColor,\n theme,\n ...rest\n}: Props) => {\n const { textStyles, viewStyles } = extractStyles(style);\n return (\n <Pressable style={[styles.container, viewStyles]} {...rest}>\n <View style={styles.row}>\n {icon ? (\n <Icon\n name={icon}\n size={24}\n color={iconColor || theme.colors.primary}\n />\n ) : null}\n <View style={[styles.item, styles.content]}>\n <Text selectable={false} style={textStyles}>\n {label}\n </Text>\n </View>\n </View>\n </Pressable>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n padding: 8,\n },\n row: {\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingLeft: 8,\n },\n item: {\n marginVertical: 6,\n paddingLeft: 8,\n },\n content: {\n flex: 1,\n justifyContent: \"center\",\n },\n});\n\nexport default withTheme(AccordionItem);\n"]}
1
+ {"version":3,"sources":["AccordionItem.js"],"names":["AccordionItem","Icon","icon","label","style","iconColor","theme","rest","textStyles","viewStyles","React","createElement","Pressable","styles","container","View","row","name","size","color","colors","primary","item","content","Text","selectable","StyleSheet","create","padding","flexDirection","alignItems","paddingLeft","marginVertical","flex","justifyContent"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AACA,MAAMA,aAAa,GAAG,QAA6D;AAAA,MAA5D;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,IAAR;AAAcC,IAAAA,KAAd;AAAqBC,IAAAA,KAArB;AAA4BC,IAAAA,SAA5B;AAAuCC,IAAAA,KAAvC;AAA8C,OAAGC;AAAjD,GAA4D;AAC/E,QAAM;AAAEC,IAAAA,UAAF;AAAcC,IAAAA;AAAd,MAA6B,8BAAcL,KAAd,CAAnC;AACA,sBAAQM,KAAK,CAACC,aAAN,CAAoBC,sBAApB,EAA+B;AAAER,IAAAA,KAAK,EAAE,CAACS,MAAM,CAACC,SAAR,EAAmBL,UAAnB,CAAT;AAAyC,OAAGF;AAA5C,GAA/B,eACJG,KAAK,CAACC,aAAN,CAAoBI,iBAApB,EAA0B;AAAEX,IAAAA,KAAK,EAAES,MAAM,CAACG;AAAhB,GAA1B,EACId,IAAI,gBAAIQ,KAAK,CAACC,aAAN,CAAoBV,IAApB,EAA0B;AAAEgB,IAAAA,IAAI,EAAEf,IAAR;AAAcgB,IAAAA,IAAI,EAAE,EAApB;AAAwBC,IAAAA,KAAK,EAAEd,SAAS,IAAIC,KAAK,CAACc,MAAN,CAAaC;AAAzD,GAA1B,CAAJ,GAAqG,IAD7G,eAEIX,KAAK,CAACC,aAAN,CAAoBI,iBAApB,EAA0B;AAAEX,IAAAA,KAAK,EAAE,CAACS,MAAM,CAACS,IAAR,EAAcT,MAAM,CAACU,OAArB;AAAT,GAA1B,eACIb,KAAK,CAACC,aAAN,CAAoBa,aAApB,EAA0B;AAAEC,IAAAA,UAAU,EAAE,KAAd;AAAqBrB,IAAAA,KAAK,EAAEI;AAA5B,GAA1B,EAAoEL,KAApE,CADJ,CAFJ,CADI,CAAR;AAKH,CAPD;;AAQA,MAAMU,MAAM,GAAGa,wBAAWC,MAAX,CAAkB;AAC7Bb,EAAAA,SAAS,EAAE;AACPc,IAAAA,OAAO,EAAE;AADF,GADkB;AAI7BZ,EAAAA,GAAG,EAAE;AACDa,IAAAA,aAAa,EAAE,KADd;AAEDC,IAAAA,UAAU,EAAE,QAFX;AAGDC,IAAAA,WAAW,EAAE;AAHZ,GAJwB;AAS7BT,EAAAA,IAAI,EAAE;AACFU,IAAAA,cAAc,EAAE,CADd;AAEFD,IAAAA,WAAW,EAAE;AAFX,GATuB;AAa7BR,EAAAA,OAAO,EAAE;AACLU,IAAAA,IAAI,EAAE,CADD;AAELC,IAAAA,cAAc,EAAE;AAFX;AAboB,CAAlB,CAAf;;eAkBe,wBAAUlC,aAAV,C","sourcesContent":["import * as React from \"react\";\nimport { Pressable, StyleSheet, View, } from \"react-native\";\nimport Text from \"../Text\";\nimport { extractStyles } from \"../../utilities\";\nimport { withTheme } from \"../../theming\";\nconst AccordionItem = ({ Icon, icon, label, style, iconColor, theme, ...rest }) => {\n const { textStyles, viewStyles } = extractStyles(style);\n return (React.createElement(Pressable, { style: [styles.container, viewStyles], ...rest },\n React.createElement(View, { style: styles.row },\n icon ? (React.createElement(Icon, { name: icon, size: 24, color: iconColor || theme.colors.primary })) : null,\n React.createElement(View, { style: [styles.item, styles.content] },\n React.createElement(Text, { selectable: false, style: textStyles }, label)))));\n};\nconst styles = StyleSheet.create({\n container: {\n padding: 8,\n },\n row: {\n flexDirection: \"row\",\n alignItems: \"center\",\n paddingLeft: 8,\n },\n item: {\n marginVertical: 6,\n paddingLeft: 8,\n },\n content: {\n flex: 1,\n justifyContent: \"center\",\n },\n});\nexport default withTheme(AccordionItem);\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA","sourcesContent":["export { default as AccordionGroup } from \"./AccordionGroup\";\nexport { default as AccordionItem } from \"./AccordionItem\";\n"]}
1
+ {"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA;;AACA","sourcesContent":["export { default as AccordionGroup } from \"./AccordionGroup\";\nexport { default as AccordionItem } from \"./AccordionItem\";\n"]}
@@ -15,6 +15,8 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
15
15
 
16
16
  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; }
17
17
 
18
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
+
18
20
  const FAB = _ref => {
19
21
  let {
20
22
  onPress,
@@ -38,7 +40,7 @@ const FAB = _ref => {
38
40
  borderRadius: size / 2,
39
41
  overflow: "hidden"
40
42
  }, style]
41
- }, /*#__PURE__*/React.createElement(_reactNative.Pressable, {
43
+ }, /*#__PURE__*/React.createElement(_reactNative.Pressable, _extends({
42
44
  onPress: onPress,
43
45
  disabled: loading || disabled,
44
46
  android_ripple: {
@@ -56,9 +58,8 @@ const FAB = _ref => {
56
58
  borderRadius: size / 2,
57
59
  backgroundColor
58
60
  }];
59
- },
60
- ...props
61
- }, /*#__PURE__*/React.createElement(_reactNative.View, null, loading ? /*#__PURE__*/React.createElement(_reactNative.ActivityIndicator, {
61
+ }
62
+ }, props), /*#__PURE__*/React.createElement(_reactNative.View, null, loading ? /*#__PURE__*/React.createElement(_reactNative.ActivityIndicator, {
62
63
  style: size > 50 ? {
63
64
  marginTop: 2,
64
65
  marginLeft: 2
@@ -88,20 +89,5 @@ const styles = _reactNative.StyleSheet.create({
88
89
 
89
90
  var _default = (0, _theming.withTheme)(FAB);
90
91
 
91
- exports.default = _default;
92
- //# sourceMappingURL=FAB.js.map backgroundColor: "#5a45ff",
93
- justifyContent: "center",
94
- alignItems: "center",
95
- ..._reactNative.Platform.select({
96
- web: {
97
- cursor: "pointer",
98
- userSelect: "none"
99
- }
100
- })
101
- }
102
- });
103
-
104
- var _default = (0, _theming.withTheme)(FAB);
105
-
106
92
  exports.default = _default;
107
93
  //# sourceMappingURL=FAB.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["FAB.js"],"names":["FAB","onPress","disabled","loading","iconName","style","theme","iconColor","bgColor","size","Icon","props","backgroundColor","colors","primary","color","React","createElement","View","width","height","borderRadius","overflow","Pressable","android_ripple","radius","pressed","styles","button","opacity","ActivityIndicator","marginTop","marginLeft","undefined","name","StyleSheet","create","justifyContent","alignItems","Platform","select","web","cursor","userSelect"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;AACA,MAAMA,GAAG,GAAG,QAAiI;AAAA,MAAhI;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,QAAX;AAAqBC,IAAAA,OAArB;AAA8BC,IAAAA,QAAQ,GAAG,mBAAzC;AAA8DC,IAAAA,KAA9D;AAAqEC,IAAAA,KAArE;AAA4EC,IAAAA,SAA5E;AAAuFC,IAAAA,OAAvF;AAAgGC,IAAAA,IAAI,GAAG,EAAvG;AAA2GC,IAAAA,IAA3G;AAAiH,OAAGC;AAApH,GAAgI;AACzI,QAAMC,eAAe,GAAGJ,OAAO,IAAIF,KAAK,CAACO,MAAN,CAAaC,OAAhD;AACA,QAAMC,KAAK,GAAGR,SAAS,IAAI,MAA3B;AACA,sBAAQS,KAAK,CAACC,aAAN,CAAoBC,iBAApB,EAA0B;AAAEb,IAAAA,KAAK,EAAE,CACnC;AACIc,MAAAA,KAAK,EAAEV,IADX;AAEIW,MAAAA,MAAM,EAAEX,IAFZ;AAGIY,MAAAA,YAAY,EAAEZ,IAAI,GAAG,CAHzB;AAIIa,MAAAA,QAAQ,EAAE;AAJd,KADmC,EAOnCjB,KAPmC;AAAT,GAA1B,eASJW,KAAK,CAACC,aAAN,CAAoBM,sBAApB,EAA+B;AAAEtB,IAAAA,OAAO,EAAEA,OAAX;AAAoBC,IAAAA,QAAQ,EAAEC,OAAO,IAAID,QAAzC;AAAmDsB,IAAAA,cAAc,EAAE;AAC1FT,MAAAA,KAAK,EAAE,MADmF;AAE1FU,MAAAA,MAAM,EAAEhB,IAAI,GAAG;AAF2E,KAAnE;AAGxBJ,IAAAA,KAAK,EAAE,SAAiB;AAAA,UAAhB;AAAEqB,QAAAA;AAAF,OAAgB;AACvB,aAAO,CACHC,MAAM,CAACC,MADJ,EAEH;AACIC,QAAAA,OAAO,EAAEH,OAAO,IAAIxB,QAAX,GAAsB,IAAtB,GAA6B,CAD1C;AAEIiB,QAAAA,KAAK,EAAEV,IAFX;AAGIW,QAAAA,MAAM,EAAEX,IAHZ;AAIIY,QAAAA,YAAY,EAAEZ,IAAI,GAAG,CAJzB;AAKIG,QAAAA;AALJ,OAFG,CAAP;AAUH,KAd0B;AAcxB,OAAGD;AAdqB,GAA/B,eAeIK,KAAK,CAACC,aAAN,CAAoBC,iBAApB,EAA0B,IAA1B,EAAgCf,OAAO,gBAAIa,KAAK,CAACC,aAAN,CAAoBa,8BAApB,EAAuC;AAAEzB,IAAAA,KAAK,EAAEI,IAAI,GAAG,EAAP,GAAY;AAAEsB,MAAAA,SAAS,EAAE,CAAb;AAAgBC,MAAAA,UAAU,EAAE;AAA5B,KAAZ,GAA8CC,SAAvD;AAAkExB,IAAAA,IAAI,EAAEA,IAAI,IAAI,EAAR,GAAa,OAAb,GAAuB,OAA/F;AAAwGM,IAAAA,KAAK,EAAEA;AAA/G,GAAvC,CAAJ,gBAAuKC,KAAK,CAACC,aAAN,CAAoBP,IAApB,EAA0B;AAAEwB,IAAAA,IAAI,EAAE9B,QAAR;AAAkBK,IAAAA,IAAI,EAAEA,IAAxB;AAA8BM,IAAAA,KAAK,EAAEA;AAArC,GAA1B,CAA9M,CAfJ,CATI,CAAR;AAyBH,CA5BD;;AA6BA,MAAMY,MAAM,GAAGQ,wBAAWC,MAAX,CAAkB;AAC7BR,EAAAA,MAAM,EAAE;AACJhB,IAAAA,eAAe,EAAE,SADb;AAEJyB,IAAAA,cAAc,EAAE,QAFZ;AAGJC,IAAAA,UAAU,EAAE,QAHR;AAIJ,OAAGC,sBAASC,MAAT,CAAgB;AACfC,MAAAA,GAAG,EAAE;AACDC,QAAAA,MAAM,EAAE,SADP;AAEDC,QAAAA,UAAU,EAAE;AAFX;AADU,KAAhB;AAJC;AADqB,CAAlB,CAAf;;eAae,wBAAU3C,GAAV,C","sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet, Pressable, ActivityIndicator, Platform, } from \"react-native\";\nimport { withTheme } from \"../theming\";\nconst FAB = ({ onPress, disabled, loading, iconName = \"MaterialIcons/add\", style, theme, iconColor, bgColor, size = 50, Icon, ...props }) => {\n const backgroundColor = bgColor || theme.colors.primary;\n const color = iconColor || \"#FFF\";\n return (React.createElement(View, { style: [\n {\n width: size,\n height: size,\n borderRadius: size / 2,\n overflow: \"hidden\",\n },\n style,\n ] },\n React.createElement(Pressable, { onPress: onPress, disabled: loading || disabled, android_ripple: {\n color: \"#333\",\n radius: size / 4,\n }, style: ({ pressed }) => {\n return [\n styles.button,\n {\n opacity: pressed || disabled ? 0.75 : 1,\n width: size,\n height: size,\n borderRadius: size / 2,\n backgroundColor,\n },\n ];\n }, ...props },\n React.createElement(View, null, loading ? (React.createElement(ActivityIndicator, { style: size > 50 ? { marginTop: 2, marginLeft: 2 } : undefined, size: size <= 50 ? \"small\" : \"large\", color: color })) : (React.createElement(Icon, { name: iconName, size: size, color: color }))))));\n};\nconst styles = StyleSheet.create({\n button: {\n backgroundColor: \"#5a45ff\",\n justifyContent: \"center\",\n alignItems: \"center\",\n ...Platform.select({\n web: {\n cursor: \"pointer\",\n userSelect: \"none\",\n },\n }),\n },\n});\nexport default withTheme(FAB);\n"]}
1
+ {"version":3,"sources":["FAB.tsx"],"names":["FAB","onPress","disabled","loading","iconName","style","theme","iconColor","bgColor","size","Icon","props","backgroundColor","colors","primary","color","width","height","borderRadius","overflow","radius","pressed","styles","button","opacity","marginTop","marginLeft","undefined","StyleSheet","create","justifyContent","alignItems","Platform","select","web","cursor","userSelect"],"mappings":";;;;;;;AAAA;;AACA;;AAUA;;;;;;;;AAiBA,MAAMA,GAAoB,GAAG,QAYvB;AAAA,MAZwB;AAC5BC,IAAAA,OAD4B;AAE5BC,IAAAA,QAF4B;AAG5BC,IAAAA,OAH4B;AAI5BC,IAAAA,QAAQ,GAAG,mBAJiB;AAK5BC,IAAAA,KAL4B;AAM5BC,IAAAA,KAN4B;AAO5BC,IAAAA,SAP4B;AAQ5BC,IAAAA,OAR4B;AAS5BC,IAAAA,IAAI,GAAG,EATqB;AAU5BC,IAAAA,IAV4B;AAW5B,OAAGC;AAXyB,GAYxB;AACJ,QAAMC,eAAe,GAAGJ,OAAO,IAAIF,KAAK,CAACO,MAAN,CAAaC,OAAhD;AACA,QAAMC,KAAK,GAAGR,SAAS,IAAI,MAA3B;AAEA,sBACE,oBAAC,iBAAD;AACE,IAAA,KAAK,EAAE,CACL;AACES,MAAAA,KAAK,EAAEP,IADT;AAEEQ,MAAAA,MAAM,EAAER,IAFV;AAGES,MAAAA,YAAY,EAAET,IAAI,GAAG,CAHvB;AAIEU,MAAAA,QAAQ,EAAE;AAJZ,KADK,EAOLd,KAPK;AADT,kBAWE,oBAAC,sBAAD;AACE,IAAA,OAAO,EAAEJ,OADX;AAEE,IAAA,QAAQ,EAAEE,OAAO,IAAID,QAFvB;AAGE,IAAA,cAAc,EAAE;AACda,MAAAA,KAAK,EAAE,MADO;AAEdK,MAAAA,MAAM,EAAEX,IAAI,GAAG;AAFD,KAHlB;AAOE,IAAA,KAAK,EAAE,SAAiB;AAAA,UAAhB;AAAEY,QAAAA;AAAF,OAAgB;AACtB,aAAO,CACLC,MAAM,CAACC,MADF,EAEL;AACEC,QAAAA,OAAO,EAAEH,OAAO,IAAInB,QAAX,GAAsB,IAAtB,GAA6B,CADxC;AAEEc,QAAAA,KAAK,EAAEP,IAFT;AAGEQ,QAAAA,MAAM,EAAER,IAHV;AAIES,QAAAA,YAAY,EAAET,IAAI,GAAG,CAJvB;AAKEG,QAAAA;AALF,OAFK,CAAP;AAUD;AAlBH,KAmBMD,KAnBN,gBAqBE,oBAAC,iBAAD,QACGR,OAAO,gBACN,oBAAC,8BAAD;AACE,IAAA,KAAK,EAAEM,IAAI,GAAG,EAAP,GAAY;AAAEgB,MAAAA,SAAS,EAAE,CAAb;AAAgBC,MAAAA,UAAU,EAAE;AAA5B,KAAZ,GAA8CC,SADvD;AAEE,IAAA,IAAI,EAAElB,IAAI,IAAI,EAAR,GAAa,OAAb,GAAuB,OAF/B;AAGE,IAAA,KAAK,EAAEM;AAHT,IADM,gBAON,oBAAC,IAAD;AAAM,IAAA,IAAI,EAAEX,QAAZ;AAAsB,IAAA,IAAI,EAAEK,IAA5B;AAAkC,IAAA,KAAK,EAAEM;AAAzC,IARJ,CArBF,CAXF,CADF;AA+CD,CA/DD;;AAiEA,MAAMO,MAAM,GAAGM,wBAAWC,MAAX,CAAkB;AAC/BN,EAAAA,MAAM,EAAE;AACNX,IAAAA,eAAe,EAAE,SADX;AAENkB,IAAAA,cAAc,EAAE,QAFV;AAGNC,IAAAA,UAAU,EAAE,QAHN;AAIN,OAAGC,sBAASC,MAAT,CAAgB;AACjBC,MAAAA,GAAG,EAAE;AACHC,QAAAA,MAAM,EAAE,SADL;AAEHC,QAAAA,UAAU,EAAE;AAFT;AADY,KAAhB;AAJG;AADuB,CAAlB,CAAf;;eAce,wBAAUpC,GAAV,C","sourcesContent":["import * as React from \"react\";\nimport {\n View,\n StyleSheet,\n Pressable,\n ActivityIndicator,\n StyleProp,\n ViewStyle,\n PressableProps,\n Platform,\n} from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\nimport type { IconSlot } from \"../interfaces/Icon\";\n\ntype Props = {\n disabled?: boolean;\n loading?: boolean;\n size?: number;\n bgColor?: string;\n iconColor?: string;\n iconName?: string;\n onPress: () => void;\n theme: Theme;\n style?: StyleProp<ViewStyle>;\n} & PressableProps &\n IconSlot;\n\nconst FAB: React.FC<Props> = ({\n onPress,\n disabled,\n loading,\n iconName = \"MaterialIcons/add\",\n style,\n theme,\n iconColor,\n bgColor,\n size = 50,\n Icon,\n ...props\n}) => {\n const backgroundColor = bgColor || theme.colors.primary;\n const color = iconColor || \"#FFF\";\n\n return (\n <View\n style={[\n {\n width: size,\n height: size,\n borderRadius: size / 2,\n overflow: \"hidden\",\n },\n style,\n ]}\n >\n <Pressable\n onPress={onPress}\n disabled={loading || disabled}\n android_ripple={{\n color: \"#333\",\n radius: size / 4,\n }}\n style={({ pressed }) => {\n return [\n styles.button,\n {\n opacity: pressed || disabled ? 0.75 : 1,\n width: size,\n height: size,\n borderRadius: size / 2,\n backgroundColor,\n },\n ];\n }}\n {...props}\n >\n <View>\n {loading ? (\n <ActivityIndicator\n style={size > 50 ? { marginTop: 2, marginLeft: 2 } : undefined}\n size={size <= 50 ? \"small\" : \"large\"}\n color={color}\n />\n ) : (\n <Icon name={iconName} size={size} color={color} />\n )}\n </View>\n </Pressable>\n </View>\n );\n};\n\nconst styles = StyleSheet.create({\n button: {\n backgroundColor: \"#5a45ff\",\n justifyContent: \"center\",\n alignItems: \"center\",\n ...Platform.select({\n web: {\n cursor: \"pointer\",\n userSelect: \"none\",\n },\n }),\n },\n});\n\nexport default withTheme(FAB);\n"]}
@@ -24,7 +24,8 @@ const NumberInput = _ref => {
24
24
  defaultValue,
25
25
  ...props
26
26
  } = _ref;
27
- const formatValueToStringNumber = (0, _react.useCallback)((valueToFormat, currentStringNumberValue) => {
27
+
28
+ const formatValueToStringNumber = (valueToFormat, currentStringNumberValue) => {
28
29
  if (valueToFormat != null) {
29
30
  if ((0, _lodash.isString)(valueToFormat) && valueToFormat !== "") {
30
31
  if (/^0[1-9]$/.test(valueToFormat)) {
@@ -40,23 +41,38 @@ const NumberInput = _ref => {
40
41
  }
41
42
 
42
43
  return "0";
43
- }, []);
44
- const [stringNumberValue, setStringNumberValue] = (0, _react.useState)(formatValueToStringNumber(value));
44
+ };
45
+
46
+ const [currentStringNumberValue, setCurrentStringNumberValue] = (0, _react.useState)(formatValueToStringNumber(value));
45
47
 
46
48
  const handleChangeText = newValue => {
47
- const newStringNumberValue = formatValueToStringNumber(newValue, stringNumberValue);
49
+ const newStringNumberValue = formatValueToStringNumber(newValue, currentStringNumberValue);
48
50
  const number = parseFloat(newStringNumberValue);
49
- setStringNumberValue(newStringNumberValue);
51
+ setCurrentStringNumberValue(newStringNumberValue);
50
52
  onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(number);
51
53
  };
52
54
 
55
+ (0, _react.useEffect)(() => {
56
+ const defaultStringNumberValue = formatValueToStringNumber(defaultValue, currentStringNumberValue);
57
+
58
+ if (currentStringNumberValue !== defaultStringNumberValue) {
59
+ setCurrentStringNumberValue(defaultStringNumberValue);
60
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
61
+
62
+ }, []);
63
+ (0, _react.useEffect)(() => {
64
+ const nextStringNumberValue = formatValueToStringNumber(value, currentStringNumberValue);
65
+
66
+ if (currentStringNumberValue !== nextStringNumberValue) {
67
+ handleChangeText(nextStringNumberValue);
68
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
69
+
70
+ }, [value]);
53
71
  return /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, _extends({
54
- keyboardType: "numeric"
55
- }, props, {
56
- value: stringNumberValue,
57
- defaultValue: formatValueToStringNumber(defaultValue),
72
+ keyboardType: "numeric",
73
+ value: currentStringNumberValue,
58
74
  onChangeText: handleChangeText
59
- }));
75
+ }, props));
60
76
  };
61
77
 
62
78
  var _default = NumberInput;
@@ -1 +1 @@
1
- {"version":3,"sources":["NumberInput.tsx"],"names":["NumberInput","onChangeText","value","defaultValue","props","formatValueToStringNumber","valueToFormat","currentStringNumberValue","test","slice","toString","stringNumberValue","setStringNumberValue","handleChangeText","newValue","newStringNumberValue","number","parseFloat"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAQA,MAAMA,WAAsB,GAAG,QAKzB;AAAA,MAL0B;AAC9BC,IAAAA,YAD8B;AAE9BC,IAAAA,KAF8B;AAG9BC,IAAAA,YAH8B;AAI9B,OAAGC;AAJ2B,GAK1B;AACJ,QAAMC,yBAAyB,GAAG,wBAChC,CAACC,aAAD,EAAkCC,wBAAlC,KAAwE;AACtE,QAAID,aAAa,IAAI,IAArB,EAA2B;AACzB,UAAI,sBAASA,aAAT,KAA2BA,aAAa,KAAK,EAAjD,EAAqD;AACnD,YAAI,WAAWE,IAAX,CAAgBF,aAAhB,CAAJ,EAAoC;AAClC,iBAAOA,aAAa,CAACG,KAAd,CAAoB,CAApB,CAAP;AACD,SAFD,MAEO,IAAI,oCAAoCD,IAApC,CAAyCF,aAAzC,CAAJ,EAA6D;AAClE,iBAAOA,aAAP;AACD,SAFM,MAEA,IAAIC,wBAAJ,EAA8B;AACnC,iBAAOA,wBAAP;AACD;AACF,OARD,MAQO,IAAI,sBAASD,aAAT,KAA2B,CAAC,mBAAMA,aAAN,CAAhC,EAAsD;AAC3D,eAAOA,aAAa,CAACI,QAAd,EAAP;AACD;AACF;;AAED,WAAO,GAAP;AACD,GAjB+B,EAkBhC,EAlBgC,CAAlC;AAqBA,QAAM,CAACC,iBAAD,EAAoBC,oBAApB,IAA4C,qBAChDP,yBAAyB,CAACH,KAAD,CADuB,CAAlD;;AAIA,QAAMW,gBAAgB,GAAIC,QAAD,IAAsB;AAC7C,UAAMC,oBAAoB,GAAGV,yBAAyB,CACpDS,QADoD,EAEpDH,iBAFoD,CAAtD;AAIA,UAAMK,MAAM,GAAGC,UAAU,CAACF,oBAAD,CAAzB;AAEAH,IAAAA,oBAAoB,CAACG,oBAAD,CAApB;AACAd,IAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAGe,MAAH,CAAZ;AACD,GATD;;AAWA,sBACE,6BAAC,sBAAD;AACE,IAAA,YAAY,EAAC;AADf,KAEMZ,KAFN;AAGE,IAAA,KAAK,EAAEO,iBAHT;AAIE,IAAA,YAAY,EAAEN,yBAAyB,CAACF,YAAD,CAJzC;AAKE,IAAA,YAAY,EAAEU;AALhB,KADF;AASD,CAnDD;;eAqDeb,W","sourcesContent":["import React, { FC, useCallback, useState } from \"react\";\nimport { TextInput } from \"react-native\";\nimport { isString, isNumber, isNaN } from \"lodash\";\n\ninterface Props {\n value?: number | string;\n defaultValue?: number | string;\n onChangeText?: (value?: number) => void;\n}\n\nconst NumberInput: FC<Props> = ({\n onChangeText,\n value,\n defaultValue,\n ...props\n}) => {\n const formatValueToStringNumber = useCallback(\n (valueToFormat?: number | string, currentStringNumberValue?: string) => {\n if (valueToFormat != null) {\n if (isString(valueToFormat) && valueToFormat !== \"\") {\n if (/^0[1-9]$/.test(valueToFormat)) {\n return valueToFormat.slice(1);\n } else if (/^[+-]?([0-9]+\\.?[0-9]*|\\.[0-9]+)$/.test(valueToFormat)) {\n return valueToFormat;\n } else if (currentStringNumberValue) {\n return currentStringNumberValue;\n }\n } else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {\n return valueToFormat.toString();\n }\n }\n\n return \"0\";\n },\n []\n );\n\n const [stringNumberValue, setStringNumberValue] = useState(\n formatValueToStringNumber(value)\n );\n\n const handleChangeText = (newValue: string) => {\n const newStringNumberValue = formatValueToStringNumber(\n newValue,\n stringNumberValue\n );\n const number = parseFloat(newStringNumberValue);\n\n setStringNumberValue(newStringNumberValue);\n onChangeText?.(number);\n };\n\n return (\n <TextInput\n keyboardType=\"numeric\"\n {...props}\n value={stringNumberValue}\n defaultValue={formatValueToStringNumber(defaultValue)}\n onChangeText={handleChangeText}\n />\n );\n};\n\nexport default NumberInput;\n"]}
1
+ {"version":3,"sources":["NumberInput.tsx"],"names":["NumberInput","onChangeText","value","defaultValue","props","formatValueToStringNumber","valueToFormat","currentStringNumberValue","test","slice","toString","setCurrentStringNumberValue","handleChangeText","newValue","newStringNumberValue","number","parseFloat","defaultStringNumberValue","nextStringNumberValue"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAQA,MAAMA,WAAsB,GAAG,QAKzB;AAAA,MAL0B;AAC9BC,IAAAA,YAD8B;AAE9BC,IAAAA,KAF8B;AAG9BC,IAAAA,YAH8B;AAI9B,OAAGC;AAJ2B,GAK1B;;AACJ,QAAMC,yBAAyB,GAAG,CAChCC,aADgC,EAEhCC,wBAFgC,KAG7B;AACH,QAAID,aAAa,IAAI,IAArB,EAA2B;AACzB,UAAI,sBAASA,aAAT,KAA2BA,aAAa,KAAK,EAAjD,EAAqD;AACnD,YAAI,WAAWE,IAAX,CAAgBF,aAAhB,CAAJ,EAAoC;AAClC,iBAAOA,aAAa,CAACG,KAAd,CAAoB,CAApB,CAAP;AACD,SAFD,MAEO,IAAI,oCAAoCD,IAApC,CAAyCF,aAAzC,CAAJ,EAA6D;AAClE,iBAAOA,aAAP;AACD,SAFM,MAEA,IAAIC,wBAAJ,EAA8B;AACnC,iBAAOA,wBAAP;AACD;AACF,OARD,MAQO,IAAI,sBAASD,aAAT,KAA2B,CAAC,mBAAMA,aAAN,CAAhC,EAAsD;AAC3D,eAAOA,aAAa,CAACI,QAAd,EAAP;AACD;AACF;;AAED,WAAO,GAAP;AACD,GAnBD;;AAqBA,QAAM,CAACH,wBAAD,EAA2BI,2BAA3B,IAA0D,qBAC9DN,yBAAyB,CAACH,KAAD,CADqC,CAAhE;;AAIA,QAAMU,gBAAgB,GAAIC,QAAD,IAAsB;AAC7C,UAAMC,oBAAoB,GAAGT,yBAAyB,CACpDQ,QADoD,EAEpDN,wBAFoD,CAAtD;AAIA,UAAMQ,MAAM,GAAGC,UAAU,CAACF,oBAAD,CAAzB;AAEAH,IAAAA,2BAA2B,CAACG,oBAAD,CAA3B;AACAb,IAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAGc,MAAH,CAAZ;AACD,GATD;;AAWA,wBAAU,MAAM;AACd,UAAME,wBAAwB,GAAGZ,yBAAyB,CACxDF,YADwD,EAExDI,wBAFwD,CAA1D;;AAKA,QAAIA,wBAAwB,KAAKU,wBAAjC,EAA2D;AACzDN,MAAAA,2BAA2B,CAACM,wBAAD,CAA3B;AACD,KARa,CASd;;AACD,GAVD,EAUG,EAVH;AAYA,wBAAU,MAAM;AACd,UAAMC,qBAAqB,GAAGb,yBAAyB,CACrDH,KADqD,EAErDK,wBAFqD,CAAvD;;AAKA,QAAIA,wBAAwB,KAAKW,qBAAjC,EAAwD;AACtDN,MAAAA,gBAAgB,CAACM,qBAAD,CAAhB;AACD,KARa,CASd;;AACD,GAVD,EAUG,CAAChB,KAAD,CAVH;AAYA,sBACE,6BAAC,sBAAD;AACE,IAAA,YAAY,EAAC,SADf;AAEE,IAAA,KAAK,EAAEK,wBAFT;AAGE,IAAA,YAAY,EAAEK;AAHhB,KAIMR,KAJN,EADF;AAQD,CA1ED;;eA4EeJ,W","sourcesContent":["import React, { FC, useEffect, useState } from \"react\";\nimport { TextInput } from \"react-native\";\nimport { isString, isNumber, isNaN } from \"lodash\";\n\ninterface Props {\n value?: number | string;\n defaultValue?: number | string;\n onChangeText?: (value?: number) => void;\n}\n\nconst NumberInput: FC<Props> = ({\n onChangeText,\n value,\n defaultValue,\n ...props\n}) => {\n const formatValueToStringNumber = (\n valueToFormat?: number | string,\n currentStringNumberValue?: string\n ) => {\n if (valueToFormat != null) {\n if (isString(valueToFormat) && valueToFormat !== \"\") {\n if (/^0[1-9]$/.test(valueToFormat)) {\n return valueToFormat.slice(1);\n } else if (/^[+-]?([0-9]+\\.?[0-9]*|\\.[0-9]+)$/.test(valueToFormat)) {\n return valueToFormat;\n } else if (currentStringNumberValue) {\n return currentStringNumberValue;\n }\n } else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {\n return valueToFormat.toString();\n }\n }\n\n return \"0\";\n };\n\n const [currentStringNumberValue, setCurrentStringNumberValue] = useState(\n formatValueToStringNumber(value)\n );\n\n const handleChangeText = (newValue: string) => {\n const newStringNumberValue = formatValueToStringNumber(\n newValue,\n currentStringNumberValue\n );\n const number = parseFloat(newStringNumberValue);\n\n setCurrentStringNumberValue(newStringNumberValue);\n onChangeText?.(number);\n };\n\n useEffect(() => {\n const defaultStringNumberValue = formatValueToStringNumber(\n defaultValue,\n currentStringNumberValue\n );\n\n if (currentStringNumberValue !== defaultStringNumberValue) {\n setCurrentStringNumberValue(defaultStringNumberValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const nextStringNumberValue = formatValueToStringNumber(\n value,\n currentStringNumberValue\n );\n\n if (currentStringNumberValue !== nextStringNumberValue) {\n handleChangeText(nextStringNumberValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n return (\n <TextInput\n keyboardType=\"numeric\"\n value={currentStringNumberValue}\n onChangeText={handleChangeText}\n {...props}\n />\n );\n};\n\nexport default NumberInput;\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["ActionSheetCancel.ts"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","button","triggers","Triggers","OnPress","props","onPress","label","group","GROUPS","basic","defaultValue","color"],"mappings":";;;;;;;AAAA;;AASO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,qBADiB;AAEvBC,EAAAA,GAAG,EAAE,mBAFkB;AAGvBC,EAAAA,WAAW,EAAE,qBAHU;AAIvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,MAJH;AAKvBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,OAAV,CALa;AAMvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,8BADJ;AAELC,IAAAA,KAAK,EAAE,2BAAe;AACpBC,MAAAA,KAAK,EAAEC,cAAOC,KADM;AAEpBH,MAAAA,KAAK,EAAE,OAFa;AAGpBI,MAAAA,YAAY,EAAE;AAHM,KAAf,CAFF;AAOLC,IAAAA,KAAK,EAAE,4BAAgB;AACrBL,MAAAA,KAAK,EAAE;AADc,KAAhB;AAPF;AANgB,CAAlB","sourcesContent":["import {\n COMPONENT_TYPES,\n createActionProp,\n createColorProp,\n createTextProp,\n GROUPS,\n Triggers,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Action Sheet Cancel\",\n tag: \"ActionSheetCancel\",\n description: \"Action Sheet cancel\",\n category: COMPONENT_TYPES.button,\n triggers: [Triggers.OnPress],\n props: {\n onPress: createActionProp(),\n label: createTextProp({\n group: GROUPS.basic,\n label: \"Label\",\n defaultValue: \"Cancel\",\n }),\n color: createColorProp({\n label: \"Font Color\",\n }),\n },\n};\n"]}
1
+ {"version":3,"sources":["ActionSheetCancel.js"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","button","triggers","Triggers","OnPress","props","onPress","label","group","GROUPS","basic","defaultValue","color"],"mappings":";;;;;;;AAAA;;AACO,MAAMA,SAAS,GAAG;AACrBC,EAAAA,IAAI,EAAE,qBADe;AAErBC,EAAAA,GAAG,EAAE,mBAFgB;AAGrBC,EAAAA,WAAW,EAAE,qBAHQ;AAIrBC,EAAAA,QAAQ,EAAEC,uBAAgBC,MAJL;AAKrBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,OAAV,CALW;AAMrBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,OAAO,EAAE,8BADN;AAEHC,IAAAA,KAAK,EAAE,2BAAe;AAClBC,MAAAA,KAAK,EAAEC,cAAOC,KADI;AAElBH,MAAAA,KAAK,EAAE,OAFW;AAGlBI,MAAAA,YAAY,EAAE;AAHI,KAAf,CAFJ;AAOHC,IAAAA,KAAK,EAAE,4BAAgB;AACnBL,MAAAA,KAAK,EAAE;AADY,KAAhB;AAPJ;AANc,CAAlB","sourcesContent":["import { COMPONENT_TYPES, createActionProp, createColorProp, createTextProp, GROUPS, Triggers, } from \"@draftbit/types\";\nexport const SEED_DATA = {\n name: \"Action Sheet Cancel\",\n tag: \"ActionSheetCancel\",\n description: \"Action Sheet cancel\",\n category: COMPONENT_TYPES.button,\n triggers: [Triggers.OnPress],\n props: {\n onPress: createActionProp(),\n label: createTextProp({\n group: GROUPS.basic,\n label: \"Label\",\n defaultValue: \"Cancel\",\n }),\n color: createColorProp({\n label: \"Font Color\",\n }),\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["IconButton.ts"],"names":["SEED_DATA","name","tag","category","COMPONENT_TYPES","button","layout","triggers","Triggers","OnPress","props","onPress","icon","color","label","group","GROUPS","basic","disabled","size","description","defaultValue","min","max","step","precision"],"mappings":";;;;;;;AAAA;;AAWO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,aADiB;AAEvBC,EAAAA,GAAG,EAAE,YAFkB;AAGvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,MAHH;AAIvBC,EAAAA,MAAM,EAAE,EAJe;AAKvBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,OAAV,CALa;AAMvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,8BADJ;AAELC,IAAAA,IAAI,EAAE,4BAFD;AAGLC,IAAAA,KAAK,EAAE,4BAAgB;AACrBC,MAAAA,KAAK,EAAE,OADc;AAErBC,MAAAA,KAAK,EAAEC,cAAOC;AAFO,KAAhB,CAHF;AAOLC,IAAAA,QAAQ,EAAE,2BAAe;AACvBJ,MAAAA,KAAK,EAAE,UADgB;AAEvBC,MAAAA,KAAK,EAAEC,cAAOC;AAFS,KAAf,CAPL;AAWLE,IAAAA,IAAI,EAAE,6BAAiB;AACrBJ,MAAAA,KAAK,EAAEC,cAAOC,KADO;AAErBH,MAAAA,KAAK,EAAE,MAFc;AAGrBM,MAAAA,WAAW,EAAE,+BAHQ;AAIrBC,MAAAA,YAAY,EAAE,EAJO;AAKrBC,MAAAA,GAAG,EAAE,EALgB;AAMrBC,MAAAA,GAAG,EAAE,GANgB;AAOrBC,MAAAA,IAAI,EAAE,CAPe;AAQrBC,MAAAA,SAAS,EAAE;AARU,KAAjB;AAXD;AANgB,CAAlB","sourcesContent":["import {\n COMPONENT_TYPES,\n GROUPS,\n createIconProp,\n createColorProp,\n createNumberProp,\n createBoolProp,\n createActionProp,\n Triggers,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Icon Button\",\n tag: \"IconButton\",\n category: COMPONENT_TYPES.button,\n layout: {},\n triggers: [Triggers.OnPress],\n props: {\n onPress: createActionProp(),\n icon: createIconProp(),\n color: createColorProp({\n label: \"Color\",\n group: GROUPS.basic,\n }),\n disabled: createBoolProp({\n label: \"Disabled\",\n group: GROUPS.basic,\n }),\n size: createNumberProp({\n group: GROUPS.basic,\n label: \"Size\",\n description: \"Width and height of your icon\",\n defaultValue: 32,\n min: 16,\n max: 128,\n step: 1,\n precision: 0,\n }),\n },\n};\n"]}
1
+ {"version":3,"sources":["IconButton.js"],"names":["SEED_DATA","name","tag","category","COMPONENT_TYPES","button","layout","triggers","Triggers","OnPress","props","onPress","icon","color","label","group","GROUPS","basic","disabled","size","description","defaultValue","min","max","step","precision"],"mappings":";;;;;;;AAAA;;AACO,MAAMA,SAAS,GAAG;AACrBC,EAAAA,IAAI,EAAE,aADe;AAErBC,EAAAA,GAAG,EAAE,YAFgB;AAGrBC,EAAAA,QAAQ,EAAEC,uBAAgBC,MAHL;AAIrBC,EAAAA,MAAM,EAAE,EAJa;AAKrBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,OAAV,CALW;AAMrBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,OAAO,EAAE,8BADN;AAEHC,IAAAA,IAAI,EAAE,4BAFH;AAGHC,IAAAA,KAAK,EAAE,4BAAgB;AACnBC,MAAAA,KAAK,EAAE,OADY;AAEnBC,MAAAA,KAAK,EAAEC,cAAOC;AAFK,KAAhB,CAHJ;AAOHC,IAAAA,QAAQ,EAAE,2BAAe;AACrBJ,MAAAA,KAAK,EAAE,UADc;AAErBC,MAAAA,KAAK,EAAEC,cAAOC;AAFO,KAAf,CAPP;AAWHE,IAAAA,IAAI,EAAE,6BAAiB;AACnBJ,MAAAA,KAAK,EAAEC,cAAOC,KADK;AAEnBH,MAAAA,KAAK,EAAE,MAFY;AAGnBM,MAAAA,WAAW,EAAE,+BAHM;AAInBC,MAAAA,YAAY,EAAE,EAJK;AAKnBC,MAAAA,GAAG,EAAE,EALc;AAMnBC,MAAAA,GAAG,EAAE,GANc;AAOnBC,MAAAA,IAAI,EAAE,CAPa;AAQnBC,MAAAA,SAAS,EAAE;AARQ,KAAjB;AAXH;AANc,CAAlB","sourcesContent":["import { COMPONENT_TYPES, GROUPS, createIconProp, createColorProp, createNumberProp, createBoolProp, createActionProp, Triggers, } from \"@draftbit/types\";\nexport const SEED_DATA = {\n name: \"Icon Button\",\n tag: \"IconButton\",\n category: COMPONENT_TYPES.button,\n layout: {},\n triggers: [Triggers.OnPress],\n props: {\n onPress: createActionProp(),\n icon: createIconProp(),\n color: createColorProp({\n label: \"Color\",\n group: GROUPS.basic,\n }),\n disabled: createBoolProp({\n label: \"Disabled\",\n group: GROUPS.basic,\n }),\n size: createNumberProp({\n group: GROUPS.basic,\n label: \"Size\",\n description: \"Width and height of your icon\",\n defaultValue: 32,\n min: 16,\n max: 128,\n step: 1,\n precision: 0,\n }),\n },\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["TextArea.js"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","input","layout","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderColor","paddingLeft","paddingRight","paddingTop","paddingBottom","borderRadius","triggers","Triggers","OnChangeText","props","TEXT_INPUT_PROPS","placeholder","defaultValue","multiline","label","group","GROUPS","uncategorized","formType","FORM_TYPES","boolean","propType","PROP_TYPES","BOOLEAN","editable","required","numberOfLines","basic","number","NUMBER","fieldName","FIELD_NAME","handlerPropName"],"mappings":";;;;;;;AAAA;;AACO,MAAMA,SAAS,GAAG;AACrBC,EAAAA,IAAI,EAAE,WADe;AAErBC,EAAAA,GAAG,EAAE,WAFgB;AAGrBC,EAAAA,WAAW,EAAE,gDAHQ;AAIrBC,EAAAA,QAAQ,EAAEC,uBAAgBC,KAJL;AAKrBC,EAAAA,MAAM,EAAE;AACJC,IAAAA,eAAe,EAAE,CADb;AAEJC,IAAAA,gBAAgB,EAAE,CAFd;AAGJC,IAAAA,cAAc,EAAE,CAHZ;AAIJC,IAAAA,iBAAiB,EAAE,CAJf;AAKJC,IAAAA,WAAW,EAAE,SALT;AAMJC,IAAAA,WAAW,EAAE,CANT;AAOJC,IAAAA,YAAY,EAAE,CAPV;AAQJC,IAAAA,UAAU,EAAE,CARR;AASJC,IAAAA,aAAa,EAAE,CATX;AAUJC,IAAAA,YAAY,EAAE;AAVV,GALa;AAiBrBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,YAAV,CAjBW;AAkBrBC,EAAAA,KAAK,EAAE,EACH,GAAGC,uBADA;AAEHC,IAAAA,WAAW,EAAE,EACT,GAAGD,wBAAiBC,WADX;AAETC,MAAAA,YAAY,EAAE;AAFL,KAFV;AAMHC,IAAAA,SAAS,EAAE;AACPC,MAAAA,KAAK,EAAE,WADA;AAEPvB,MAAAA,WAAW,EAAE,WAFN;AAGPwB,MAAAA,KAAK,EAAEC,cAAOC,aAHP;AAIPC,MAAAA,QAAQ,EAAEC,kBAAWC,OAJd;AAKPC,MAAAA,QAAQ,EAAEC,kBAAWC,OALd;AAMPX,MAAAA,YAAY,EAAE,IANP;AAOPY,MAAAA,QAAQ,EAAE,IAPH;AAQPC,MAAAA,QAAQ,EAAE;AARH,KANR;AAgBHC,IAAAA,aAAa,EAAE;AACXZ,MAAAA,KAAK,EAAE,iBADI;AAEXvB,MAAAA,WAAW,EAAE,iBAFF;AAGXwB,MAAAA,KAAK,EAAEC,cAAOW,KAHH;AAIXT,MAAAA,QAAQ,EAAEC,kBAAWS,MAJV;AAKXP,MAAAA,QAAQ,EAAEC,kBAAWO,MALV;AAMXjB,MAAAA,YAAY,EAAE,CANH;AAOXY,MAAAA,QAAQ,EAAE,IAPC;AAQXC,MAAAA,QAAQ,EAAE;AARC,KAhBZ;AA0BHK,IAAAA,SAAS,EAAE,EACP,GAAGC,iBADI;AAEPnB,MAAAA,YAAY,EAAE,gBAFP;AAGPoB,MAAAA,eAAe,EAAE;AAHV;AA1BR;AAlBc,CAAlB","sourcesContent":["import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, TEXT_INPUT_PROPS, Triggers, } from \"@draftbit/types\";\nexport const SEED_DATA = {\n name: \"Text Area\",\n tag: \"TextInput\",\n description: \"An input field that allows for multiple lines.\",\n category: COMPONENT_TYPES.input,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...TEXT_INPUT_PROPS,\n placeholder: {\n ...TEXT_INPUT_PROPS.placeholder,\n defaultValue: \"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.\",\n },\n multiline: {\n label: \"Multiline\",\n description: \"Multiline\",\n group: GROUPS.uncategorized,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: true,\n editable: true,\n required: false,\n },\n numberOfLines: {\n label: \"Number Of Lines\",\n description: \"Number Of Lines\",\n group: GROUPS.basic,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n defaultValue: 4,\n editable: true,\n required: false,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"textInputValue\",\n handlerPropName: \"onChangeText\",\n },\n },\n};\n"]}
1
+ {"version":3,"sources":["TextArea.ts"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","input","layout","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderColor","paddingLeft","paddingRight","paddingTop","paddingBottom","borderRadius","triggers","Triggers","OnChangeText","props","TEXT_INPUT_PROPS","placeholder","defaultValue","multiline","label","group","GROUPS","uncategorized","formType","FORM_TYPES","boolean","propType","PROP_TYPES","BOOLEAN","editable","required","numberOfLines","basic","number","NUMBER","fieldName","FIELD_NAME","handlerPropName"],"mappings":";;;;;;;AAAA;;AAUO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,WADiB;AAEvBC,EAAAA,GAAG,EAAE,WAFkB;AAGvBC,EAAAA,WAAW,EAAE,gDAHU;AAIvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,KAJH;AAKvBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,eAAe,EAAE,CADX;AAENC,IAAAA,gBAAgB,EAAE,CAFZ;AAGNC,IAAAA,cAAc,EAAE,CAHV;AAINC,IAAAA,iBAAiB,EAAE,CAJb;AAKNC,IAAAA,WAAW,EAAE,SALP;AAMNC,IAAAA,WAAW,EAAE,CANP;AAONC,IAAAA,YAAY,EAAE,CAPR;AAQNC,IAAAA,UAAU,EAAE,CARN;AASNC,IAAAA,aAAa,EAAE,CATT;AAUNC,IAAAA,YAAY,EAAE;AAVR,GALe;AAiBvBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,YAAV,CAjBa;AAkBvBC,EAAAA,KAAK,EAAE,EACL,GAAGC,uBADE;AAELC,IAAAA,WAAW,EAAE,EACX,GAAGD,wBAAiBC,WADT;AAEXC,MAAAA,YAAY,EACV;AAHS,KAFR;AAOLC,IAAAA,SAAS,EAAE;AACTC,MAAAA,KAAK,EAAE,WADE;AAETvB,MAAAA,WAAW,EAAE,WAFJ;AAGTwB,MAAAA,KAAK,EAAEC,cAAOC,aAHL;AAITC,MAAAA,QAAQ,EAAEC,kBAAWC,OAJZ;AAKTC,MAAAA,QAAQ,EAAEC,kBAAWC,OALZ;AAMTX,MAAAA,YAAY,EAAE,IANL;AAOTY,MAAAA,QAAQ,EAAE,IAPD;AAQTC,MAAAA,QAAQ,EAAE;AARD,KAPN;AAiBLC,IAAAA,aAAa,EAAE;AACbZ,MAAAA,KAAK,EAAE,iBADM;AAEbvB,MAAAA,WAAW,EAAE,iBAFA;AAGbwB,MAAAA,KAAK,EAAEC,cAAOW,KAHD;AAIbT,MAAAA,QAAQ,EAAEC,kBAAWS,MAJR;AAKbP,MAAAA,QAAQ,EAAEC,kBAAWO,MALR;AAMbjB,MAAAA,YAAY,EAAE,CAND;AAObY,MAAAA,QAAQ,EAAE,IAPG;AAQbC,MAAAA,QAAQ,EAAE;AARG,KAjBV;AA2BLK,IAAAA,SAAS,EAAE,EACT,GAAGC,iBADM;AAETnB,MAAAA,YAAY,EAAE,gBAFL;AAGToB,MAAAA,eAAe,EAAE;AAHR;AA3BN;AAlBgB,CAAlB","sourcesContent":["import {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n TEXT_INPUT_PROPS,\n Triggers,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Text Area\",\n tag: \"TextInput\",\n description: \"An input field that allows for multiple lines.\",\n category: COMPONENT_TYPES.input,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...TEXT_INPUT_PROPS,\n placeholder: {\n ...TEXT_INPUT_PROPS.placeholder,\n defaultValue:\n \"Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.\",\n },\n multiline: {\n label: \"Multiline\",\n description: \"Multiline\",\n group: GROUPS.uncategorized,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: true,\n editable: true,\n required: false,\n },\n numberOfLines: {\n label: \"Number Of Lines\",\n description: \"Number Of Lines\",\n group: GROUPS.basic,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n defaultValue: 4,\n editable: true,\n required: false,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"textInputValue\",\n handlerPropName: \"onChangeText\",\n },\n },\n};\n"]}
@@ -1,6 +1,6 @@
1
1
  function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
2
 
3
- import React, { useCallback, useState } from "react";
3
+ import React, { useEffect, useState } from "react";
4
4
  import { TextInput } from "react-native";
5
5
  import { isString, isNumber, isNaN } from "lodash";
6
6
 
@@ -11,7 +11,8 @@ const NumberInput = _ref => {
11
11
  defaultValue,
12
12
  ...props
13
13
  } = _ref;
14
- const formatValueToStringNumber = useCallback((valueToFormat, currentStringNumberValue) => {
14
+
15
+ const formatValueToStringNumber = (valueToFormat, currentStringNumberValue) => {
15
16
  if (valueToFormat != null) {
16
17
  if (isString(valueToFormat) && valueToFormat !== "") {
17
18
  if (/^0[1-9]$/.test(valueToFormat)) {
@@ -27,23 +28,38 @@ const NumberInput = _ref => {
27
28
  }
28
29
 
29
30
  return "0";
30
- }, []);
31
- const [stringNumberValue, setStringNumberValue] = useState(formatValueToStringNumber(value));
31
+ };
32
+
33
+ const [currentStringNumberValue, setCurrentStringNumberValue] = useState(formatValueToStringNumber(value));
32
34
 
33
35
  const handleChangeText = newValue => {
34
- const newStringNumberValue = formatValueToStringNumber(newValue, stringNumberValue);
36
+ const newStringNumberValue = formatValueToStringNumber(newValue, currentStringNumberValue);
35
37
  const number = parseFloat(newStringNumberValue);
36
- setStringNumberValue(newStringNumberValue);
38
+ setCurrentStringNumberValue(newStringNumberValue);
37
39
  onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(number);
38
40
  };
39
41
 
42
+ useEffect(() => {
43
+ const defaultStringNumberValue = formatValueToStringNumber(defaultValue, currentStringNumberValue);
44
+
45
+ if (currentStringNumberValue !== defaultStringNumberValue) {
46
+ setCurrentStringNumberValue(defaultStringNumberValue);
47
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
48
+
49
+ }, []);
50
+ useEffect(() => {
51
+ const nextStringNumberValue = formatValueToStringNumber(value, currentStringNumberValue);
52
+
53
+ if (currentStringNumberValue !== nextStringNumberValue) {
54
+ handleChangeText(nextStringNumberValue);
55
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
56
+
57
+ }, [value]);
40
58
  return /*#__PURE__*/React.createElement(TextInput, _extends({
41
- keyboardType: "numeric"
42
- }, props, {
43
- value: stringNumberValue,
44
- defaultValue: formatValueToStringNumber(defaultValue),
59
+ keyboardType: "numeric",
60
+ value: currentStringNumberValue,
45
61
  onChangeText: handleChangeText
46
- }));
62
+ }, props));
47
63
  };
48
64
 
49
65
  export default NumberInput;
@@ -1 +1 @@
1
- {"version":3,"sources":["NumberInput.tsx"],"names":["React","useCallback","useState","TextInput","isString","isNumber","isNaN","NumberInput","onChangeText","value","defaultValue","props","formatValueToStringNumber","valueToFormat","currentStringNumberValue","test","slice","toString","stringNumberValue","setStringNumberValue","handleChangeText","newValue","newStringNumberValue","number","parseFloat"],"mappings":";;AAAA,OAAOA,KAAP,IAAoBC,WAApB,EAAiCC,QAAjC,QAAiD,OAAjD;AACA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,QAAT,EAAmBC,QAAnB,EAA6BC,KAA7B,QAA0C,QAA1C;;AAQA,MAAMC,WAAsB,GAAG,QAKzB;AAAA,MAL0B;AAC9BC,IAAAA,YAD8B;AAE9BC,IAAAA,KAF8B;AAG9BC,IAAAA,YAH8B;AAI9B,OAAGC;AAJ2B,GAK1B;AACJ,QAAMC,yBAAyB,GAAGX,WAAW,CAC3C,CAACY,aAAD,EAAkCC,wBAAlC,KAAwE;AACtE,QAAID,aAAa,IAAI,IAArB,EAA2B;AACzB,UAAIT,QAAQ,CAACS,aAAD,CAAR,IAA2BA,aAAa,KAAK,EAAjD,EAAqD;AACnD,YAAI,WAAWE,IAAX,CAAgBF,aAAhB,CAAJ,EAAoC;AAClC,iBAAOA,aAAa,CAACG,KAAd,CAAoB,CAApB,CAAP;AACD,SAFD,MAEO,IAAI,oCAAoCD,IAApC,CAAyCF,aAAzC,CAAJ,EAA6D;AAClE,iBAAOA,aAAP;AACD,SAFM,MAEA,IAAIC,wBAAJ,EAA8B;AACnC,iBAAOA,wBAAP;AACD;AACF,OARD,MAQO,IAAIT,QAAQ,CAACQ,aAAD,CAAR,IAA2B,CAACP,KAAK,CAACO,aAAD,CAArC,EAAsD;AAC3D,eAAOA,aAAa,CAACI,QAAd,EAAP;AACD;AACF;;AAED,WAAO,GAAP;AACD,GAjB0C,EAkB3C,EAlB2C,CAA7C;AAqBA,QAAM,CAACC,iBAAD,EAAoBC,oBAApB,IAA4CjB,QAAQ,CACxDU,yBAAyB,CAACH,KAAD,CAD+B,CAA1D;;AAIA,QAAMW,gBAAgB,GAAIC,QAAD,IAAsB;AAC7C,UAAMC,oBAAoB,GAAGV,yBAAyB,CACpDS,QADoD,EAEpDH,iBAFoD,CAAtD;AAIA,UAAMK,MAAM,GAAGC,UAAU,CAACF,oBAAD,CAAzB;AAEAH,IAAAA,oBAAoB,CAACG,oBAAD,CAApB;AACAd,IAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAGe,MAAH,CAAZ;AACD,GATD;;AAWA,sBACE,oBAAC,SAAD;AACE,IAAA,YAAY,EAAC;AADf,KAEMZ,KAFN;AAGE,IAAA,KAAK,EAAEO,iBAHT;AAIE,IAAA,YAAY,EAAEN,yBAAyB,CAACF,YAAD,CAJzC;AAKE,IAAA,YAAY,EAAEU;AALhB,KADF;AASD,CAnDD;;AAqDA,eAAeb,WAAf","sourcesContent":["import React, { FC, useCallback, useState } from \"react\";\nimport { TextInput } from \"react-native\";\nimport { isString, isNumber, isNaN } from \"lodash\";\n\ninterface Props {\n value?: number | string;\n defaultValue?: number | string;\n onChangeText?: (value?: number) => void;\n}\n\nconst NumberInput: FC<Props> = ({\n onChangeText,\n value,\n defaultValue,\n ...props\n}) => {\n const formatValueToStringNumber = useCallback(\n (valueToFormat?: number | string, currentStringNumberValue?: string) => {\n if (valueToFormat != null) {\n if (isString(valueToFormat) && valueToFormat !== \"\") {\n if (/^0[1-9]$/.test(valueToFormat)) {\n return valueToFormat.slice(1);\n } else if (/^[+-]?([0-9]+\\.?[0-9]*|\\.[0-9]+)$/.test(valueToFormat)) {\n return valueToFormat;\n } else if (currentStringNumberValue) {\n return currentStringNumberValue;\n }\n } else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {\n return valueToFormat.toString();\n }\n }\n\n return \"0\";\n },\n []\n );\n\n const [stringNumberValue, setStringNumberValue] = useState(\n formatValueToStringNumber(value)\n );\n\n const handleChangeText = (newValue: string) => {\n const newStringNumberValue = formatValueToStringNumber(\n newValue,\n stringNumberValue\n );\n const number = parseFloat(newStringNumberValue);\n\n setStringNumberValue(newStringNumberValue);\n onChangeText?.(number);\n };\n\n return (\n <TextInput\n keyboardType=\"numeric\"\n {...props}\n value={stringNumberValue}\n defaultValue={formatValueToStringNumber(defaultValue)}\n onChangeText={handleChangeText}\n />\n );\n};\n\nexport default NumberInput;\n"]}
1
+ {"version":3,"sources":["NumberInput.tsx"],"names":["React","useEffect","useState","TextInput","isString","isNumber","isNaN","NumberInput","onChangeText","value","defaultValue","props","formatValueToStringNumber","valueToFormat","currentStringNumberValue","test","slice","toString","setCurrentStringNumberValue","handleChangeText","newValue","newStringNumberValue","number","parseFloat","defaultStringNumberValue","nextStringNumberValue"],"mappings":";;AAAA,OAAOA,KAAP,IAAoBC,SAApB,EAA+BC,QAA/B,QAA+C,OAA/C;AACA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,QAAT,EAAmBC,QAAnB,EAA6BC,KAA7B,QAA0C,QAA1C;;AAQA,MAAMC,WAAsB,GAAG,QAKzB;AAAA,MAL0B;AAC9BC,IAAAA,YAD8B;AAE9BC,IAAAA,KAF8B;AAG9BC,IAAAA,YAH8B;AAI9B,OAAGC;AAJ2B,GAK1B;;AACJ,QAAMC,yBAAyB,GAAG,CAChCC,aADgC,EAEhCC,wBAFgC,KAG7B;AACH,QAAID,aAAa,IAAI,IAArB,EAA2B;AACzB,UAAIT,QAAQ,CAACS,aAAD,CAAR,IAA2BA,aAAa,KAAK,EAAjD,EAAqD;AACnD,YAAI,WAAWE,IAAX,CAAgBF,aAAhB,CAAJ,EAAoC;AAClC,iBAAOA,aAAa,CAACG,KAAd,CAAoB,CAApB,CAAP;AACD,SAFD,MAEO,IAAI,oCAAoCD,IAApC,CAAyCF,aAAzC,CAAJ,EAA6D;AAClE,iBAAOA,aAAP;AACD,SAFM,MAEA,IAAIC,wBAAJ,EAA8B;AACnC,iBAAOA,wBAAP;AACD;AACF,OARD,MAQO,IAAIT,QAAQ,CAACQ,aAAD,CAAR,IAA2B,CAACP,KAAK,CAACO,aAAD,CAArC,EAAsD;AAC3D,eAAOA,aAAa,CAACI,QAAd,EAAP;AACD;AACF;;AAED,WAAO,GAAP;AACD,GAnBD;;AAqBA,QAAM,CAACH,wBAAD,EAA2BI,2BAA3B,IAA0DhB,QAAQ,CACtEU,yBAAyB,CAACH,KAAD,CAD6C,CAAxE;;AAIA,QAAMU,gBAAgB,GAAIC,QAAD,IAAsB;AAC7C,UAAMC,oBAAoB,GAAGT,yBAAyB,CACpDQ,QADoD,EAEpDN,wBAFoD,CAAtD;AAIA,UAAMQ,MAAM,GAAGC,UAAU,CAACF,oBAAD,CAAzB;AAEAH,IAAAA,2BAA2B,CAACG,oBAAD,CAA3B;AACAb,IAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAGc,MAAH,CAAZ;AACD,GATD;;AAWArB,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMuB,wBAAwB,GAAGZ,yBAAyB,CACxDF,YADwD,EAExDI,wBAFwD,CAA1D;;AAKA,QAAIA,wBAAwB,KAAKU,wBAAjC,EAA2D;AACzDN,MAAAA,2BAA2B,CAACM,wBAAD,CAA3B;AACD,KARa,CASd;;AACD,GAVQ,EAUN,EAVM,CAAT;AAYAvB,EAAAA,SAAS,CAAC,MAAM;AACd,UAAMwB,qBAAqB,GAAGb,yBAAyB,CACrDH,KADqD,EAErDK,wBAFqD,CAAvD;;AAKA,QAAIA,wBAAwB,KAAKW,qBAAjC,EAAwD;AACtDN,MAAAA,gBAAgB,CAACM,qBAAD,CAAhB;AACD,KARa,CASd;;AACD,GAVQ,EAUN,CAAChB,KAAD,CAVM,CAAT;AAYA,sBACE,oBAAC,SAAD;AACE,IAAA,YAAY,EAAC,SADf;AAEE,IAAA,KAAK,EAAEK,wBAFT;AAGE,IAAA,YAAY,EAAEK;AAHhB,KAIMR,KAJN,EADF;AAQD,CA1ED;;AA4EA,eAAeJ,WAAf","sourcesContent":["import React, { FC, useEffect, useState } from \"react\";\nimport { TextInput } from \"react-native\";\nimport { isString, isNumber, isNaN } from \"lodash\";\n\ninterface Props {\n value?: number | string;\n defaultValue?: number | string;\n onChangeText?: (value?: number) => void;\n}\n\nconst NumberInput: FC<Props> = ({\n onChangeText,\n value,\n defaultValue,\n ...props\n}) => {\n const formatValueToStringNumber = (\n valueToFormat?: number | string,\n currentStringNumberValue?: string\n ) => {\n if (valueToFormat != null) {\n if (isString(valueToFormat) && valueToFormat !== \"\") {\n if (/^0[1-9]$/.test(valueToFormat)) {\n return valueToFormat.slice(1);\n } else if (/^[+-]?([0-9]+\\.?[0-9]*|\\.[0-9]+)$/.test(valueToFormat)) {\n return valueToFormat;\n } else if (currentStringNumberValue) {\n return currentStringNumberValue;\n }\n } else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {\n return valueToFormat.toString();\n }\n }\n\n return \"0\";\n };\n\n const [currentStringNumberValue, setCurrentStringNumberValue] = useState(\n formatValueToStringNumber(value)\n );\n\n const handleChangeText = (newValue: string) => {\n const newStringNumberValue = formatValueToStringNumber(\n newValue,\n currentStringNumberValue\n );\n const number = parseFloat(newStringNumberValue);\n\n setCurrentStringNumberValue(newStringNumberValue);\n onChangeText?.(number);\n };\n\n useEffect(() => {\n const defaultStringNumberValue = formatValueToStringNumber(\n defaultValue,\n currentStringNumberValue\n );\n\n if (currentStringNumberValue !== defaultStringNumberValue) {\n setCurrentStringNumberValue(defaultStringNumberValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const nextStringNumberValue = formatValueToStringNumber(\n value,\n currentStringNumberValue\n );\n\n if (currentStringNumberValue !== nextStringNumberValue) {\n handleChangeText(nextStringNumberValue);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [value]);\n\n return (\n <TextInput\n keyboardType=\"numeric\"\n value={currentStringNumberValue}\n onChangeText={handleChangeText}\n {...props}\n />\n );\n};\n\nexport default NumberInput;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "43.4.7",
3
+ "version": "43.4.8-cae1e2.0+cae1e2fd",
4
4
  "description": "Core (non-native) Components",
5
5
  "main": "lib/commonjs/index.js",
6
6
  "module": "lib/module/index.js",
@@ -80,5 +80,5 @@
80
80
  ]
81
81
  ]
82
82
  },
83
- "gitHead": "9d15047a262cd8e69625d8ab31a1a7da8ff247fc"
83
+ "gitHead": "cae1e2fda8058d1ff0374350a4b07f6278285a67"
84
84
  }
@@ -1,8 +1,8 @@
1
- import React, { useCallback, useState } from "react";
1
+ import React, { useEffect, useState } from "react";
2
2
  import { TextInput } from "react-native";
3
3
  import { isString, isNumber, isNaN } from "lodash";
4
4
  const NumberInput = ({ onChangeText, value, defaultValue, ...props }) => {
5
- const formatValueToStringNumber = useCallback((valueToFormat, currentStringNumberValue) => {
5
+ const formatValueToStringNumber = (valueToFormat, currentStringNumberValue) => {
6
6
  if (valueToFormat != null) {
7
7
  if (isString(valueToFormat) && valueToFormat !== "") {
8
8
  if (/^0[1-9]$/.test(valueToFormat)) {
@@ -20,14 +20,28 @@ const NumberInput = ({ onChangeText, value, defaultValue, ...props }) => {
20
20
  }
21
21
  }
22
22
  return "0";
23
- }, []);
24
- const [stringNumberValue, setStringNumberValue] = useState(formatValueToStringNumber(value));
23
+ };
24
+ const [currentStringNumberValue, setCurrentStringNumberValue] = useState(formatValueToStringNumber(value));
25
25
  const handleChangeText = (newValue) => {
26
- const newStringNumberValue = formatValueToStringNumber(newValue, stringNumberValue);
26
+ const newStringNumberValue = formatValueToStringNumber(newValue, currentStringNumberValue);
27
27
  const number = parseFloat(newStringNumberValue);
28
- setStringNumberValue(newStringNumberValue);
28
+ setCurrentStringNumberValue(newStringNumberValue);
29
29
  onChangeText?.(number);
30
30
  };
31
- return (React.createElement(TextInput, { keyboardType: "numeric", ...props, value: stringNumberValue, defaultValue: formatValueToStringNumber(defaultValue), onChangeText: handleChangeText }));
31
+ useEffect(() => {
32
+ const defaultStringNumberValue = formatValueToStringNumber(defaultValue, currentStringNumberValue);
33
+ if (currentStringNumberValue !== defaultStringNumberValue) {
34
+ setCurrentStringNumberValue(defaultStringNumberValue);
35
+ }
36
+ // eslint-disable-next-line react-hooks/exhaustive-deps
37
+ }, []);
38
+ useEffect(() => {
39
+ const nextStringNumberValue = formatValueToStringNumber(value, currentStringNumberValue);
40
+ if (currentStringNumberValue !== nextStringNumberValue) {
41
+ handleChangeText(nextStringNumberValue);
42
+ }
43
+ // eslint-disable-next-line react-hooks/exhaustive-deps
44
+ }, [value]);
45
+ return (React.createElement(TextInput, { keyboardType: "numeric", value: currentStringNumberValue, onChangeText: handleChangeText, ...props }));
32
46
  };
33
47
  export default NumberInput;
@@ -1,4 +1,4 @@
1
- import React, { FC, useCallback, useState } from "react";
1
+ import React, { FC, useEffect, useState } from "react";
2
2
  import { TextInput } from "react-native";
3
3
  import { isString, isNumber, isNaN } from "lodash";
4
4
 
@@ -14,49 +14,72 @@ const NumberInput: FC<Props> = ({
14
14
  defaultValue,
15
15
  ...props
16
16
  }) => {
17
- const formatValueToStringNumber = useCallback(
18
- (valueToFormat?: number | string, currentStringNumberValue?: string) => {
19
- if (valueToFormat != null) {
20
- if (isString(valueToFormat) && valueToFormat !== "") {
21
- if (/^0[1-9]$/.test(valueToFormat)) {
22
- return valueToFormat.slice(1);
23
- } else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
24
- return valueToFormat;
25
- } else if (currentStringNumberValue) {
26
- return currentStringNumberValue;
27
- }
28
- } else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {
29
- return valueToFormat.toString();
17
+ const formatValueToStringNumber = (
18
+ valueToFormat?: number | string,
19
+ currentStringNumberValue?: string
20
+ ) => {
21
+ if (valueToFormat != null) {
22
+ if (isString(valueToFormat) && valueToFormat !== "") {
23
+ if (/^0[1-9]$/.test(valueToFormat)) {
24
+ return valueToFormat.slice(1);
25
+ } else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
26
+ return valueToFormat;
27
+ } else if (currentStringNumberValue) {
28
+ return currentStringNumberValue;
30
29
  }
30
+ } else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {
31
+ return valueToFormat.toString();
31
32
  }
33
+ }
32
34
 
33
- return "0";
34
- },
35
- []
36
- );
35
+ return "0";
36
+ };
37
37
 
38
- const [stringNumberValue, setStringNumberValue] = useState(
38
+ const [currentStringNumberValue, setCurrentStringNumberValue] = useState(
39
39
  formatValueToStringNumber(value)
40
40
  );
41
41
 
42
42
  const handleChangeText = (newValue: string) => {
43
43
  const newStringNumberValue = formatValueToStringNumber(
44
44
  newValue,
45
- stringNumberValue
45
+ currentStringNumberValue
46
46
  );
47
47
  const number = parseFloat(newStringNumberValue);
48
48
 
49
- setStringNumberValue(newStringNumberValue);
49
+ setCurrentStringNumberValue(newStringNumberValue);
50
50
  onChangeText?.(number);
51
51
  };
52
52
 
53
+ useEffect(() => {
54
+ const defaultStringNumberValue = formatValueToStringNumber(
55
+ defaultValue,
56
+ currentStringNumberValue
57
+ );
58
+
59
+ if (currentStringNumberValue !== defaultStringNumberValue) {
60
+ setCurrentStringNumberValue(defaultStringNumberValue);
61
+ }
62
+ // eslint-disable-next-line react-hooks/exhaustive-deps
63
+ }, []);
64
+
65
+ useEffect(() => {
66
+ const nextStringNumberValue = formatValueToStringNumber(
67
+ value,
68
+ currentStringNumberValue
69
+ );
70
+
71
+ if (currentStringNumberValue !== nextStringNumberValue) {
72
+ handleChangeText(nextStringNumberValue);
73
+ }
74
+ // eslint-disable-next-line react-hooks/exhaustive-deps
75
+ }, [value]);
76
+
53
77
  return (
54
78
  <TextInput
55
79
  keyboardType="numeric"
56
- {...props}
57
- value={stringNumberValue}
58
- defaultValue={formatValueToStringNumber(defaultValue)}
80
+ value={currentStringNumberValue}
59
81
  onChangeText={handleChangeText}
82
+ {...props}
60
83
  />
61
84
  );
62
85
  };