@draftbit/core 43.4.6-f4bf57.2 → 43.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/components/NumberInput.js +22 -32
- package/lib/commonjs/components/NumberInput.js.map +1 -1
- package/lib/commonjs/components/Portal/PortalManager.js.map +1 -1
- package/lib/commonjs/components/RadioButton/index.js.map +1 -1
- package/lib/commonjs/components/Row.js.map +1 -1
- package/lib/commonjs/components/Swiper/Swiper.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/mappings/RowHeadlineImageCaption.js.map +1 -1
- package/lib/commonjs/mappings/SafeAreaView.js.map +1 -1
- package/lib/module/components/Elevation.js +4 -15
- package/lib/module/components/Elevation.js.map +1 -1
- package/lib/module/components/NumberInput.js +24 -34
- package/lib/module/components/NumberInput.js.map +1 -1
- package/lib/module/components/Picker/PickerComponent.android.js +10 -7
- package/lib/module/components/Picker/PickerComponent.android.js.map +1 -1
- package/lib/typescript/src/components/NumberInput.d.ts +2 -2
- package/package.json +2 -2
- package/src/components/NumberInput.js +24 -30
- package/src/components/NumberInput.tsx +31 -40
|
@@ -20,51 +20,41 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
|
|
|
20
20
|
const NumberInput = _ref => {
|
|
21
21
|
let {
|
|
22
22
|
onChangeText,
|
|
23
|
-
value
|
|
24
|
-
defaultValue
|
|
23
|
+
value,
|
|
24
|
+
defaultValue,
|
|
25
25
|
...props
|
|
26
26
|
} = _ref;
|
|
27
|
-
const
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
27
|
+
const formatValueToStringNumber = (0, _react.useCallback)((valueToFormat, currentStringNumberValue) => {
|
|
28
|
+
if (valueToFormat != null) {
|
|
29
|
+
if ((0, _lodash.isString)(valueToFormat)) {
|
|
30
|
+
if (/^0[1-9]$/.test(valueToFormat)) {
|
|
31
|
+
return valueToFormat.slice(1);
|
|
32
|
+
} else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
|
|
33
|
+
return valueToFormat;
|
|
34
|
+
} else if (currentStringNumberValue) {
|
|
35
|
+
return currentStringNumberValue;
|
|
36
|
+
}
|
|
37
|
+
} else if ((0, _lodash.isNumber)(valueToFormat) && !(0, _lodash.isNaN)(valueToFormat)) {
|
|
38
|
+
return valueToFormat.toString();
|
|
35
39
|
}
|
|
36
40
|
}
|
|
37
41
|
|
|
38
|
-
return "";
|
|
39
|
-
}, [
|
|
40
|
-
(0, _react.
|
|
41
|
-
if (value) {
|
|
42
|
-
setIsDecimal(formatValueToString(value).includes("."));
|
|
43
|
-
}
|
|
44
|
-
}, [value, formatValueToString]);
|
|
45
|
-
|
|
46
|
-
const makeFinalValue = valueToMakeFinal => {
|
|
47
|
-
let stringValue = formatValueToString(valueToMakeFinal);
|
|
48
|
-
|
|
49
|
-
if (isDecimal && !stringValue.includes(".")) {
|
|
50
|
-
stringValue = `${stringValue}.`;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
return stringValue;
|
|
54
|
-
};
|
|
42
|
+
return "0";
|
|
43
|
+
}, []);
|
|
44
|
+
const [stringNumberValue, setStringNumberValue] = (0, _react.useState)(formatValueToStringNumber(value));
|
|
55
45
|
|
|
56
46
|
const handleChangeText = newValue => {
|
|
57
|
-
const
|
|
58
|
-
const number =
|
|
59
|
-
|
|
47
|
+
const newStringNumberValue = formatValueToStringNumber(newValue, stringNumberValue);
|
|
48
|
+
const number = parseFloat(newStringNumberValue);
|
|
49
|
+
setStringNumberValue(newStringNumberValue);
|
|
60
50
|
onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(number);
|
|
61
51
|
};
|
|
62
52
|
|
|
63
53
|
return /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, _extends({
|
|
64
54
|
keyboardType: "numeric"
|
|
65
55
|
}, props, {
|
|
66
|
-
value:
|
|
67
|
-
defaultValue:
|
|
56
|
+
value: stringNumberValue,
|
|
57
|
+
defaultValue: formatValueToStringNumber(defaultValue),
|
|
68
58
|
onChangeText: handleChangeText
|
|
69
59
|
}));
|
|
70
60
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["NumberInput.tsx"],"names":["NumberInput","onChangeText","value","defaultValue","props","
|
|
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,CAAJ,EAA6B;AAC3B,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)) {\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 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PortalManager.
|
|
1
|
+
{"version":3,"sources":["PortalManager.tsx"],"names":["PortalManager","React","PureComponent","portals","key","children","setState","state","map","item","filter","render","StyleSheet","absoluteFill"],"mappings":";;;;;;;AAAA;;AACA;;;;;;;;AASA;AACA;AACA;AACe,MAAMA,aAAN,SAA4BC,KAAK,CAACC,aAAlC,CAA2D;AAAA;AAAA;;AAAA,mCACzD;AACbC,MAAAA,OAAO,EAAE;AADI,KADyD;;AAAA,mCAKhE,CAACC,GAAD,EAAcC,QAAd,KAA4C;AAClD,WAAKC,QAAL,CAAeC,KAAD,KAAY;AACxBJ,QAAAA,OAAO,EAAE,CAAC,GAAGI,KAAK,CAACJ,OAAV,EAAmB;AAAEC,UAAAA,GAAF;AAAOC,UAAAA;AAAP,SAAnB;AADe,OAAZ,CAAd;AAGD,KATuE;;AAAA,oCAW/D,CAACD,GAAD,EAAcC,QAAd,KACP,KAAKC,QAAL,CAAeC,KAAD,KAAY;AACxBJ,MAAAA,OAAO,EAAEI,KAAK,CAACJ,OAAN,CAAcK,GAAd,CAAmBC,IAAD,IAAU;AACnC,YAAIA,IAAI,CAACL,GAAL,KAAaA,GAAjB,EAAsB;AACpB,iBAAO,EAAE,GAAGK,IAAL;AAAWJ,YAAAA;AAAX,WAAP;AACD;;AACD,eAAOI,IAAP;AACD,OALQ;AADe,KAAZ,CAAd,CAZsE;;AAAA,qCAqB7DL,GAAD,IACR,KAAKE,QAAL,CAAeC,KAAD,KAAY;AACxBJ,MAAAA,OAAO,EAAEI,KAAK,CAACJ,OAAN,CAAcO,MAAd,CAAsBD,IAAD,IAAUA,IAAI,CAACL,GAAL,KAAaA,GAA5C;AADe,KAAZ,CAAd,CAtBsE;AAAA;;AA0BxEO,EAAAA,MAAM,GAAG;AACP,WAAO,KAAKJ,KAAL,CAAWJ,OAAX,CAAmBK,GAAnB,CAAuB;AAAA,UAAC;AAAEJ,QAAAA,GAAF;AAAOC,QAAAA;AAAP,OAAD;AAAA,0BAC5B,oBAAC,iBAAD;AACE,QAAA,GAAG,EAAED,GADP;AAEE,QAAA,WAAW,EACT;AAAM;AAHV;AAKE,QAAA,aAAa,EAAC,UALhB;AAME,QAAA,KAAK,EAAEQ,wBAAWC;AANpB,SAQGR,QARH,CAD4B;AAAA,KAAvB,CAAP;AAYD;;AAvCuE","sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\n\ntype State = {\n portals: Array<{\n key: number;\n children: React.ReactNode;\n }>;\n};\n\n/**\n * Portal host is the component which actually renders all Portals.\n */\nexport default class PortalManager extends React.PureComponent<{}, State> {\n state: State = {\n portals: [],\n };\n\n mount = (key: number, children: React.ReactNode) => {\n this.setState((state) => ({\n portals: [...state.portals, { key, children }],\n }));\n };\n\n update = (key: number, children: React.ReactNode) =>\n this.setState((state) => ({\n portals: state.portals.map((item) => {\n if (item.key === key) {\n return { ...item, children };\n }\n return item;\n }),\n }));\n\n unmount = (key: number) =>\n this.setState((state) => ({\n portals: state.portals.filter((item) => item.key !== key),\n }));\n\n render() {\n return this.state.portals.map(({ key, children }) => (\n <View\n key={key}\n collapsable={\n false /* Need collapsable=false here to clip the elevations, otherwise they appear above sibling components */\n }\n pointerEvents=\"box-none\"\n style={StyleSheet.absoluteFill}\n >\n {children}\n </View>\n ));\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.
|
|
1
|
+
{"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA","sourcesContent":["export { default as RadioButton } from \"./RadioButton\";\nexport { default as RadioButtonGroup } from \"./RadioButtonGroup\";\nexport { default as RadioButtonRow } from \"./RadioButtonRow\";\nexport { default as RadioButtonFieldGroup } from \"./RadioButtonFieldGroup\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Row.
|
|
1
|
+
{"version":3,"sources":["Row.js"],"names":["Row","titleTypeStyle","titleColor","subtitleTypeStyle","subtitleColor","title","subtitle","multilineSubtitle","image","right","style","React","createElement","View","styles","container","padding","leftContainer","Image","source","uri","marginRight","width","Config","rowMultiLineImageSize","rowSingleLineImageSize","height","textContainer","Text","color","numberOfLines","marginTop","undefined","StyleSheet","create","flexDirection","flex","justifyContent","alignItems"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;;;;;AACA,MAAMA,GAAG,GAAG,QAAgI;AAAA,MAA/H;AAAEC,IAAAA,cAAF;AAAkBC,IAAAA,UAAlB;AAA8BC,IAAAA,iBAA9B;AAAiDC,IAAAA,aAAjD;AAAgEC,IAAAA,KAAhE;AAAuEC,IAAAA,QAAvE;AAAiFC,IAAAA,iBAAjF;AAAoGC,IAAAA,KAApG;AAA2GC,IAAAA,KAA3G;AAAkHC,IAAAA;AAAlH,GAA+H;AACxI,sBAAQC,KAAK,CAACC,aAAN,CAAoBC,iBAApB,EAA0B;AAAEH,IAAAA,KAAK,EAAE,CAACI,MAAM,CAACC,SAAR,EAAmB;AAAEC,MAAAA,OAAO,EAAE;AAAX,KAAnB,EAAoCN,KAApC;AAAT,GAA1B,eACJC,KAAK,CAACC,aAAN,CAAoBC,iBAApB,EAA0B;AAAEH,IAAAA,KAAK,EAAEI,MAAM,CAACG;AAAhB,GAA1B,EACIT,KAAK,iBAAKG,KAAK,CAACC,aAAN,CAAoBM,kBAApB,EAA2B;AAAEC,IAAAA,MAAM,EAAE,OAAOX,KAAP,KAAiB,QAAjB,GAA4B;AAAEY,MAAAA,GAAG,EAAEZ;AAAP,KAA5B,GAA6CA,KAAvD;AAA8DE,IAAAA,KAAK,EAAE;AAClGW,MAAAA,WAAW,EAAE,EADqF;AAElGC,MAAAA,KAAK,EAAEhB,QAAQ,GACTiB,gBAAOC,qBADE,GAETD,gBAAOE,sBAJqF;AAKlGC,MAAAA,MAAM,EAAEpB,QAAQ,GACViB,gBAAOC,qBADG,GAEVD,gBAAOE;AAPqF;AAArE,GAA3B,CADd,eAUId,KAAK,CAACC,aAAN,CAAoBC,iBAApB,EAA0B;AAAEH,IAAAA,KAAK,EAAEI,MAAM,CAACa;AAAhB,GAA1B,eACIhB,KAAK,CAACC,aAAN,CAAoBgB,iBAApB,EAA0B;AAAElB,IAAAA,KAAK,EAAE,CAC3BT,cAD2B,EAE3B;AACI4B,MAAAA,KAAK,EAAE3B;AADX,KAF2B,CAAT;AAKnB4B,IAAAA,aAAa,EAAE;AALI,GAA1B,EAK2BzB,KAL3B,CADJ,EAOIC,QAAQ,gBAAIK,KAAK,CAACC,aAAN,CAAoBgB,iBAApB,EAA0B;AAAElB,IAAAA,KAAK,EAAE,CACvCP,iBADuC,EAEvC;AACI0B,MAAAA,KAAK,EAAEzB,aADX;AAEI2B,MAAAA,SAAS,EAAE;AAFf,KAFuC,CAAT;AAM/BD,IAAAA,aAAa,EAAEvB,iBAAiB,GAAGyB,SAAH,GAAe;AANhB,GAA1B,EAM+C1B,QAN/C,CAAJ,GAMgE,IAb5E,CAVJ,CADI,EAyBJG,KAAK,IAAIA,KAAK,EAzBV,CAAR;AA0BH,CA3BD;;AA4BA,MAAMK,MAAM,GAAGmB,wBAAWC,MAAX,CAAkB;AAC7BjB,EAAAA,aAAa,EAAE;AACXkB,IAAAA,aAAa,EAAE,KADJ;AAEXC,IAAAA,IAAI,EAAE;AAFK,GADc;AAK7BrB,EAAAA,SAAS,EAAE;AACPoB,IAAAA,aAAa,EAAE,KADR;AAEPE,IAAAA,cAAc,EAAE,eAFT;AAGPC,IAAAA,UAAU,EAAE;AAHL,GALkB;AAU7BX,EAAAA,aAAa,EAAE;AACXS,IAAAA,IAAI,EAAE,CADK;AAEXC,IAAAA,cAAc,EAAE;AAFL;AAVc,CAAlB,CAAf;;eAee,wBAAUrC,GAAV,C","sourcesContent":["import * as React from \"react\";\nimport { View, Text, Image, StyleSheet, } from \"react-native\";\nimport { withTheme } from \"../theming\";\nimport Config from \"./Config\";\nconst Row = ({ titleTypeStyle, titleColor, subtitleTypeStyle, subtitleColor, title, subtitle, multilineSubtitle, image, right, style, }) => {\n return (React.createElement(View, { style: [styles.container, { padding: 16 }, style] },\n React.createElement(View, { style: styles.leftContainer },\n image && (React.createElement(Image, { source: typeof image === \"string\" ? { uri: image } : image, style: {\n marginRight: 12,\n width: subtitle\n ? Config.rowMultiLineImageSize\n : Config.rowSingleLineImageSize,\n height: subtitle\n ? Config.rowMultiLineImageSize\n : Config.rowSingleLineImageSize,\n } })),\n React.createElement(View, { style: styles.textContainer },\n React.createElement(Text, { style: [\n titleTypeStyle,\n {\n color: titleColor,\n },\n ], numberOfLines: 1 }, title),\n subtitle ? (React.createElement(Text, { style: [\n subtitleTypeStyle,\n {\n color: subtitleColor,\n marginTop: 4,\n },\n ], numberOfLines: multilineSubtitle ? undefined : 1 }, subtitle)) : null)),\n right && right()));\n};\nconst styles = StyleSheet.create({\n leftContainer: {\n flexDirection: \"row\",\n flex: 1,\n },\n container: {\n flexDirection: \"row\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n textContainer: {\n flex: 1,\n justifyContent: \"center\",\n },\n});\nexport default withTheme(Row);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Swiper.
|
|
1
|
+
{"version":3,"sources":["Swiper.js"],"names":["Swiper","vertical","loop","timeout","from","prevTitle","nextTitle","prevTitleColor","nextTitleColor","dotsTouchable","dotColor","dotActiveColor","children","style","React","createElement","View","SwiperComponent","controlsProps","prevTitleStyle","color","nextTitleStyle","dotProps","badgeStyle","backgroundColor","dotActiveStyle"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AACA,MAAMA,MAAM,GAAG;AAAA,MAAC;AAAEC,IAAAA,QAAQ,GAAG,KAAb;AAAoBC,IAAAA,IAAI,GAAG,KAA3B;AAAkCC,IAAAA,OAAO,GAAG,CAA5C;AAA+CC,IAAAA,IAAI,GAAG,CAAtD;AAAyDC,IAAAA,SAAS,GAAG,EAArE;AAAyEC,IAAAA,SAAS,GAAG,EAArF;AAAyFC,IAAAA,cAAzF;AAAyGC,IAAAA,cAAzG;AAAyHC,IAAAA,aAAa,GAAG,IAAzI;AAA+IC,IAAAA,QAA/I;AAAyJC,IAAAA,cAAzJ;AAAyKC,IAAAA,QAAzK;AAAmLC,IAAAA;AAAnL,GAAD;AAAA,sBAAkMC,eAAMC,aAAN,CAAoBC,iBAApB,EAA0B;AAAEH,IAAAA,KAAK,EAAEA;AAAT,GAA1B,eAC7MC,eAAMC,aAAN,CAAoBE,6BAApB,EAAqC;AAAEb,IAAAA,IAAI,EAAEA,IAAR;AAAcF,IAAAA,IAAI,EAAEA,IAApB;AAA0BC,IAAAA,OAAO,EAAEA,OAAnC;AAA4CF,IAAAA,QAAQ,EAAEA,QAAtD;AAAgEiB,IAAAA,aAAa,EAAE;AAC5Gb,MAAAA,SAD4G;AAE5GC,MAAAA,SAF4G;AAG5Ga,MAAAA,cAAc,EAAE;AAAEC,QAAAA,KAAK,EAAEb;AAAT,OAH4F;AAI5Gc,MAAAA,cAAc,EAAE;AAAED,QAAAA,KAAK,EAAEZ;AAAT,OAJ4F;AAK5GC,MAAAA,aAL4G;AAM5G,UAAIC,QAAQ,GACN;AAAEY,QAAAA,QAAQ,EAAE;AAAEC,UAAAA,UAAU,EAAE;AAAEC,YAAAA,eAAe,EAAEd;AAAnB;AAAd;AAAZ,OADM,GAEN,EAFN,CAN4G;AAS5G,UAAIC,cAAc,GACZ;AAAEc,QAAAA,cAAc,EAAE;AAAED,UAAAA,eAAe,EAAEb;AAAnB;AAAlB,OADY,GAEZ,EAFN;AAT4G;AAA/E,GAArC,EAYSC,QAZT,CAD6M,CAAlM;AAAA,CAAf;;eAceZ,M","sourcesContent":["import React from \"react\";\nimport { View } from \"react-native\";\nimport SwiperComponent from \"react-native-web-swiper\";\nconst Swiper = ({ vertical = false, loop = false, timeout = 0, from = 0, prevTitle = \"\", nextTitle = \"\", prevTitleColor, nextTitleColor, dotsTouchable = true, dotColor, dotActiveColor, children, style, }) => (React.createElement(View, { style: style },\n React.createElement(SwiperComponent, { from: from, loop: loop, timeout: timeout, vertical: vertical, controlsProps: {\n prevTitle,\n nextTitle,\n prevTitleStyle: { color: prevTitleColor },\n nextTitleStyle: { color: nextTitleColor },\n dotsTouchable,\n ...(dotColor\n ? { dotProps: { badgeStyle: { backgroundColor: dotColor } } }\n : {}),\n ...(dotActiveColor\n ? { dotActiveStyle: { backgroundColor: dotActiveColor } }\n : {}),\n } }, children)));\nexport default Swiper;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.
|
|
1
|
+
{"version":3,"sources":["index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export { injectIcon } from \"./interfaces/Icon\";\nexport { withTheme, ThemeProvider } from \"./theming\";\nexport { default as Provider } from \"./Provider\";\nexport { default as DefaultTheme } from \"./styles/DefaultTheme\";\nexport { Link } from \"./components/Text\";\nexport { ButtonSolid, ButtonOutline } from \"./components/Button\";\nexport { default as Avatar } from \"./components/CircleImage\";\nexport { default as AvatarEdit } from \"./components/AvatarEdit\";\nexport { default as Card } from \"./components/Card\";\nexport { default as Carousel } from \"./components/Carousel\";\nexport { Checkbox, CheckboxGroup, CheckboxRow } from \"./components/Checkbox\";\nexport { default as CircleImage } from \"./components/CircleImage\";\nexport { default as Container } from \"./components/Container\";\nexport { default as Divider } from \"./components/Divider\";\nexport { default as FAB } from \"./components/FAB\";\nexport { default as FieldSearchBarFull } from \"./components/FieldSearchBarFull\";\nexport { default as IconButton } from \"./components/IconButton\";\nexport { default as Image } from \"./components/Image\";\nexport { default as NumberInput } from \"./components/NumberInput\";\nexport { default as ScreenContainer } from \"./components/ScreenContainer\";\nexport { default as StarRating } from \"./components/StarRating\";\nexport { default as Surface } from \"./components/Surface\";\nexport { default as Switch, SwitchRow } from \"./components/Switch\";\nexport { default as TextField } from \"./components/TextField\";\nexport { default as ToggleButton } from \"./components/ToggleButton\";\nexport { default as Touchable } from \"./components/Touchable\";\nexport { AccordionGroup, AccordionItem } from \"./components/Accordion\";\nexport { ActionSheet, ActionSheetItem, ActionSheetCancel, } from \"./components/ActionSheet\";\nexport { Swiper, SwiperItem } from \"./components/Swiper\";\nexport { Center, Circle, Square, Row, Stack, Spacer, } from \"./components/Layout\";\nexport { RadioButton, RadioButtonGroup, RadioButtonRow, RadioButtonFieldGroup, } from \"./components/RadioButton/index\";\n/* Deprecated: Fix or Delete! */\nexport { default as Button } from \"./components/DeprecatedButton\";\nexport { default as CardBlock } from \"./components/CardBlock\";\nexport { default as CardContainer } from \"./components/CardContainer\";\nexport { default as CardContainerRating } from \"./components/CardContainerRating\";\nexport { default as CardInline } from \"./components/CardInline\";\nexport { default as DatePicker } from \"./components/DatePicker/DatePicker\";\nexport { default as HeaderLarge } from \"./components/HeaderLarge\";\nexport { default as HeaderMedium } from \"./components/HeaderMedium\";\nexport { default as HeaderOverline } from \"./components/HeaderOverline\";\nexport { default as Picker } from \"./components/Picker/Picker\";\nexport { default as ProgressBar } from \"./components/ProgressBar\";\nexport { default as ProgressCircle } from \"./components/ProgressCircle\";\nexport { default as RowBodyIcon } from \"./components/RowBodyIcon\";\nexport { default as RowHeadlineImageCaption } from \"./components/RowHeadlineImageCaption\";\nexport { default as RowHeadlineImageIcon } from \"./components/RowHeadlineImageIcon\";\nexport { default as Slider } from \"./components/Slider\";\nexport { default as Stepper } from \"./components/Stepper\";\nexport { useAuthState } from \"./components/useAuthState\";\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RowHeadlineImageCaption.js"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","row","preview_image_url","supports_list_render","props","title","group","GROUPS","data","label","formType","FORM_TYPES","string","propType","PROP_TYPES","STRING","defaultValue","editable","required","caption","layout","image","ASSET","subtitle"],"mappings":"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","sourcesContent":["import { COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, GROUPS, } from \"@draftbit/types\";\nexport const SEED_DATA = [\n {\n name: \"Row Single Line Headline Caption\",\n tag: \"RowHeadlineImageCaption\",\n description: \"A row with left aligned headline text and right aligned caption text\",\n category: COMPONENT_TYPES.row,\n preview_image_url: \"{CLOUDINARY_URL}/Row_SingleLine_HeadlineCaption.png\",\n supports_list_render: true,\n props: {\n title: {\n group: GROUPS.data,\n label: \"Title\",\n description: \"Headline text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Beautiful West Coast Villa\",\n editable: true,\n required: false,\n },\n caption: {\n group: GROUPS.data,\n label: \"Caption\",\n description: \"Caption text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"$100\",\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n {\n name: \"Row Single Line Headline Image Caption\",\n tag: \"RowHeadlineImageCaption\",\n description: \"A row with left aligned image and headline text and right aligned caption text\",\n category: COMPONENT_TYPES.row,\n preview_image_url: \"{CLOUDINARY_URL}/Row_SingleLine_HeadlineImageCaption.png\",\n supports_list_render: true,\n props: {\n title: {\n group: GROUPS.data,\n label: \"Title\",\n description: \"Headline text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Beautiful West Coast Villa\",\n editable: true,\n required: false,\n },\n caption: {\n group: GROUPS.data,\n label: \"Caption\",\n description: \"Caption text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"$100\",\n editable: true,\n required: false,\n },\n image: {\n group: GROUPS.data,\n label: \"Image\",\n description: \"Image to display\",\n formType: FORM_TYPES.image,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n {\n name: \"Row Double Line Headline Caption\",\n tag: \"RowHeadlineImageCaption\",\n description: \"A row with left aligned headline text and subtitle text and right aligned caption text\",\n category: COMPONENT_TYPES.row,\n preview_image_url: \"{CLOUDINARY_URL}/Row_DoubleLine_HeadlineCaption.png\",\n supports_list_render: true,\n props: {\n title: {\n group: GROUPS.data,\n label: \"Title\",\n description: \"Headline text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Beautiful West Coast Villa\",\n editable: true,\n required: false,\n },\n subtitle: {\n group: GROUPS.data,\n label: \"Subtitle\",\n description: \"Subtitle text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"San Diego\",\n editable: true,\n required: false,\n },\n caption: {\n group: GROUPS.data,\n label: \"Caption\",\n description: \"Caption text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"$100\",\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n {\n name: \"Row Double Line Headline Image Caption\",\n tag: \"RowHeadlineImageCaption\",\n description: \"A row with left aligned image, headline text, and subtitle text, and right aligned caption text\",\n category: COMPONENT_TYPES.row,\n preview_image_url: \"{CLOUDINARY_URL}/Row_DoubleLine_HeadlineCaption.png\",\n supports_list_render: true,\n props: {\n title: {\n group: GROUPS.data,\n label: \"Title\",\n description: \"Headline text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Beautiful West Coast Villa\",\n editable: true,\n required: false,\n },\n subtitle: {\n group: GROUPS.data,\n label: \"Subtitle\",\n description: \"Subtitle text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"San Diego\",\n editable: true,\n required: false,\n },\n caption: {\n group: GROUPS.data,\n label: \"Caption\",\n description: \"Caption text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"$100\",\n editable: true,\n required: false,\n },\n image: {\n group: GROUPS.data,\n label: \"Image\",\n description: \"Image to display\",\n formType: FORM_TYPES.image,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n];\n"]}
|
|
1
|
+
{"version":3,"sources":["RowHeadlineImageCaption.ts"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","row","preview_image_url","supports_list_render","props","title","group","GROUPS","data","label","formType","FORM_TYPES","string","propType","PROP_TYPES","STRING","defaultValue","editable","required","caption","layout","image","ASSET","subtitle"],"mappings":"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","sourcesContent":["import {\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n GROUPS,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = [\n {\n name: \"Row Single Line Headline Caption\",\n tag: \"RowHeadlineImageCaption\",\n description:\n \"A row with left aligned headline text and right aligned caption text\",\n category: COMPONENT_TYPES.row,\n preview_image_url: \"{CLOUDINARY_URL}/Row_SingleLine_HeadlineCaption.png\",\n supports_list_render: true,\n props: {\n title: {\n group: GROUPS.data,\n label: \"Title\",\n description: \"Headline text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Beautiful West Coast Villa\",\n editable: true,\n required: false,\n },\n caption: {\n group: GROUPS.data,\n label: \"Caption\",\n description: \"Caption text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"$100\",\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n {\n name: \"Row Single Line Headline Image Caption\",\n tag: \"RowHeadlineImageCaption\",\n description:\n \"A row with left aligned image and headline text and right aligned caption text\",\n category: COMPONENT_TYPES.row,\n preview_image_url:\n \"{CLOUDINARY_URL}/Row_SingleLine_HeadlineImageCaption.png\",\n supports_list_render: true,\n props: {\n title: {\n group: GROUPS.data,\n label: \"Title\",\n description: \"Headline text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Beautiful West Coast Villa\",\n editable: true,\n required: false,\n },\n caption: {\n group: GROUPS.data,\n label: \"Caption\",\n description: \"Caption text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"$100\",\n editable: true,\n required: false,\n },\n image: {\n group: GROUPS.data,\n label: \"Image\",\n description: \"Image to display\",\n formType: FORM_TYPES.image,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n {\n name: \"Row Double Line Headline Caption\",\n tag: \"RowHeadlineImageCaption\",\n description:\n \"A row with left aligned headline text and subtitle text and right aligned caption text\",\n category: COMPONENT_TYPES.row,\n preview_image_url: \"{CLOUDINARY_URL}/Row_DoubleLine_HeadlineCaption.png\",\n supports_list_render: true,\n props: {\n title: {\n group: GROUPS.data,\n label: \"Title\",\n description: \"Headline text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Beautiful West Coast Villa\",\n editable: true,\n required: false,\n },\n subtitle: {\n group: GROUPS.data,\n label: \"Subtitle\",\n description: \"Subtitle text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"San Diego\",\n editable: true,\n required: false,\n },\n caption: {\n group: GROUPS.data,\n label: \"Caption\",\n description: \"Caption text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"$100\",\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n {\n name: \"Row Double Line Headline Image Caption\",\n tag: \"RowHeadlineImageCaption\",\n description:\n \"A row with left aligned image, headline text, and subtitle text, and right aligned caption text\",\n category: COMPONENT_TYPES.row,\n preview_image_url: \"{CLOUDINARY_URL}/Row_DoubleLine_HeadlineCaption.png\",\n supports_list_render: true,\n props: {\n title: {\n group: GROUPS.data,\n label: \"Title\",\n description: \"Headline text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"Beautiful West Coast Villa\",\n editable: true,\n required: false,\n },\n subtitle: {\n group: GROUPS.data,\n label: \"Subtitle\",\n description: \"Subtitle text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"San Diego\",\n editable: true,\n required: false,\n },\n caption: {\n group: GROUPS.data,\n label: \"Caption\",\n description: \"Caption text to display\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: \"$100\",\n editable: true,\n required: false,\n },\n image: {\n group: GROUPS.data,\n label: \"Image\",\n description: \"Image to display\",\n formType: FORM_TYPES.image,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["SafeAreaView.
|
|
1
|
+
{"version":3,"sources":["SafeAreaView.js"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","deprecated","props","edges","group","GROUPS","basic","label","editable","required","formType","FORM_TYPES","flatArray","propType","PROP_TYPES","STRING","options","defaultValue","mode"],"mappings":";;;;;;;AAAA;;AACO,MAAMA,SAAS,GAAG;AACrBC,EAAAA,IAAI,EAAE,cADe;AAErBC,EAAAA,GAAG,EAAE,cAFgB;AAGrBC,EAAAA,WAAW,EAAE,qCAHQ;AAIrBC,EAAAA,QAAQ,EAAEC,uBAAgBC,UAJL;AAKrBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,KAAK,EAAE;AACHC,MAAAA,KAAK,EAAEC,cAAOC,KADX;AAEHV,MAAAA,IAAI,EAAE,OAFH;AAGHW,MAAAA,KAAK,EAAE,OAHJ;AAIHT,MAAAA,WAAW,EAAE,6CAJV;AAKHU,MAAAA,QAAQ,EAAE,IALP;AAMHC,MAAAA,QAAQ,EAAE,KANP;AAOHC,MAAAA,QAAQ,EAAEC,kBAAWC,SAPlB;AAQHC,MAAAA,QAAQ,EAAEC,kBAAWC,MARlB;AASHC,MAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,QAAV,EAAoB,MAApB,EAA4B,KAA5B,CATN;AAUHC,MAAAA,YAAY,EAAE,CAAC,OAAD,EAAU,QAAV,EAAoB,MAApB,EAA4B,KAA5B;AAVX,KADJ;AAaHC,IAAAA,IAAI,EAAE;AACFd,MAAAA,KAAK,EAAEC,cAAOC,KADZ;AAEFV,MAAAA,IAAI,EAAE,MAFJ;AAGFW,MAAAA,KAAK,EAAE,MAHL;AAIFT,MAAAA,WAAW,EAAE,6BAJX;AAKFU,MAAAA,QAAQ,EAAE,IALR;AAMFC,MAAAA,QAAQ,EAAE,KANR;AAOFO,MAAAA,OAAO,EAAE,CAAC,SAAD,EAAY,QAAZ,CAPP;AAQFN,MAAAA,QAAQ,EAAEC,kBAAWC,SARnB;AASFC,MAAAA,QAAQ,EAAEC,kBAAWC,MATnB;AAUFE,MAAAA,YAAY,EAAE;AAVZ;AAbH;AALc,CAAlB","sourcesContent":["import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, } from \"@draftbit/types\";\nexport const SEED_DATA = {\n name: \"SafeAreaView\",\n tag: \"SafeAreaView\",\n description: \"A basic View that handles safe area\",\n category: COMPONENT_TYPES.deprecated,\n props: {\n edges: {\n group: GROUPS.basic,\n name: \"edges\",\n label: \"edges\",\n description: \"Provides edges to be used by safe area view\",\n editable: true,\n required: false,\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n options: [\"right\", \"bottom\", \"left\", \"top\"],\n defaultValue: [\"right\", \"bottom\", \"left\", \"top\"],\n },\n mode: {\n group: GROUPS.basic,\n name: \"mode\",\n label: \"mode\",\n description: \"Mode used by safe area view\",\n editable: true,\n required: false,\n options: [\"padding\", \"margin\"],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"padding\",\n },\n },\n};\n"]}
|
|
@@ -1,9 +1,11 @@
|
|
|
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
|
+
|
|
1
3
|
import * as React from "react";
|
|
2
4
|
import { Animated, StyleSheet, View } from "react-native";
|
|
3
5
|
import shadow from "../styles/shadow";
|
|
4
6
|
import { withTheme } from "../theming";
|
|
5
|
-
/* directly copied from https://github.com/callstack/react-native-paper/blob/main/src/components/Surface.tsx#L62 */
|
|
6
7
|
|
|
8
|
+
/* directly copied from https://github.com/callstack/react-native-paper/blob/main/src/components/Surface.tsx#L62 */
|
|
7
9
|
const Elevation = _ref => {
|
|
8
10
|
let {
|
|
9
11
|
style,
|
|
@@ -19,24 +21,11 @@ const Elevation = _ref => {
|
|
|
19
21
|
colors
|
|
20
22
|
} = theme;
|
|
21
23
|
const borderRadius = radius;
|
|
22
|
-
return /*#__PURE__*/React.createElement(Animated.View, {
|
|
24
|
+
return /*#__PURE__*/React.createElement(Animated.View, _extends({}, rest, {
|
|
23
25
|
style: [{
|
|
24
26
|
borderRadius,
|
|
25
27
|
backgroundColor: colors.surface
|
|
26
28
|
}, elevation ? shadow(elevation) : null, style]
|
|
27
|
-
}, /*#__PURE__*/React.createElement(View, {
|
|
28
|
-
style: {
|
|
29
|
-
overflow: "hidden",
|
|
30
|
-
borderRadius
|
|
31
|
-
}
|
|
32
|
-
}, children));
|
|
33
|
-
};
|
|
34
|
-
|
|
35
|
-
export default withTheme(Elevation);
|
|
36
|
-
//# sourceMappingURL=Elevation.js.map style: [{
|
|
37
|
-
borderRadius,
|
|
38
|
-
backgroundColor: colors.surface
|
|
39
|
-
}, elevation ? shadow(elevation) : null, style]
|
|
40
29
|
}), /*#__PURE__*/React.createElement(View, {
|
|
41
30
|
style: {
|
|
42
31
|
overflow: "hidden",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Elevation.
|
|
1
|
+
{"version":3,"sources":["Elevation.tsx"],"names":["React","Animated","StyleSheet","View","shadow","withTheme","Elevation","style","theme","children","rest","elevation","borderRadius","radius","flatten","colors","backgroundColor","surface","overflow"],"mappings":";;AAAA,OAAO,KAAKA,KAAZ,MAAuB,OAAvB;AACA,SACEC,QADF,EAEEC,UAFF,EAMEC,IANF,QAOO,cAPP;AAQA,OAAOC,MAAP,MAAmB,kBAAnB;AACA,SAASC,SAAT,QAA0B,YAA1B;;AAQA;AACA,MAAMC,SAA0B,GAAG,QAAyC;AAAA,MAAxC;AAAEC,IAAAA,KAAF;AAASC,IAAAA,KAAT;AAAgBC,IAAAA,QAAhB;AAA0B,OAAGC;AAA7B,GAAwC;AAC1E,QAAM;AAAEC,IAAAA,SAAS,GAAG,CAAd;AAAiBC,IAAAA,YAAY,EAAEC;AAA/B,MACJX,UAAU,CAACY,OAAX,CAAmBP,KAAnB,KAA6B,EAD/B;AAEA,QAAM;AAAEQ,IAAAA;AAAF,MAAaP,KAAnB;AACA,QAAMI,YAAY,GAAGC,MAArB;AAEA,sBACE,oBAAC,QAAD,CAAU,IAAV,eACMH,IADN;AAEE,IAAA,KAAK,EAAE,CACL;AACEE,MAAAA,YADF;AAEEI,MAAAA,eAAe,EAAED,MAAM,CAACE;AAF1B,KADK,EAKLN,SAAS,GAAGP,MAAM,CAACO,SAAD,CAAT,GAAuB,IAL3B,EAMLJ,KANK;AAFT,mBAWE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAE;AAAEW,MAAAA,QAAQ,EAAE,QAAZ;AAAsBN,MAAAA;AAAtB;AAAb,KAAoDH,QAApD,CAXF,CADF;AAeD,CArBD;;AAuBA,eAAeJ,SAAS,CAACC,SAAD,CAAxB","sourcesContent":["import * as React from \"react\";\nimport {\n Animated,\n StyleSheet,\n ViewProps,\n StyleProp,\n ViewStyle,\n View,\n} from \"react-native\";\nimport shadow from \"../styles/shadow\";\nimport { withTheme } from \"../theming\";\nimport type { Theme } from \"../styles/DefaultTheme\";\n\ntype Props = {\n style?: StyleProp<ViewStyle>;\n theme: Theme;\n} & ViewProps;\n\n/* directly copied from https://github.com/callstack/react-native-paper/blob/main/src/components/Surface.tsx#L62 */\nconst Elevation: React.FC<Props> = ({ style, theme, children, ...rest }) => {\n const { elevation = 4, borderRadius: radius } =\n StyleSheet.flatten(style) || {};\n const { colors } = theme;\n const borderRadius = radius;\n\n return (\n <Animated.View\n {...rest}\n style={[\n {\n borderRadius,\n backgroundColor: colors.surface,\n },\n elevation ? shadow(elevation) : null,\n style,\n ]}\n >\n <View style={{ overflow: \"hidden\", borderRadius }}>{children}</View>\n </Animated.View>\n );\n};\n\nexport default withTheme(Elevation);\n"]}
|
|
@@ -1,57 +1,47 @@
|
|
|
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,
|
|
3
|
+
import React, { useCallback, useState } from "react";
|
|
4
4
|
import { TextInput } from "react-native";
|
|
5
|
-
import { isString, isNumber } from "lodash";
|
|
5
|
+
import { isString, isNumber, isNaN } from "lodash";
|
|
6
6
|
|
|
7
7
|
const NumberInput = _ref => {
|
|
8
8
|
let {
|
|
9
9
|
onChangeText,
|
|
10
|
-
value
|
|
11
|
-
defaultValue
|
|
10
|
+
value,
|
|
11
|
+
defaultValue,
|
|
12
12
|
...props
|
|
13
13
|
} = _ref;
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
14
|
+
const formatValueToStringNumber = useCallback((valueToFormat, currentStringNumberValue) => {
|
|
15
|
+
if (valueToFormat != null) {
|
|
16
|
+
if (isString(valueToFormat)) {
|
|
17
|
+
if (/^0[1-9]$/.test(valueToFormat)) {
|
|
18
|
+
return valueToFormat.slice(1);
|
|
19
|
+
} else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
|
|
20
|
+
return valueToFormat;
|
|
21
|
+
} else if (currentStringNumberValue) {
|
|
22
|
+
return currentStringNumberValue;
|
|
23
|
+
}
|
|
24
|
+
} else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {
|
|
25
|
+
return valueToFormat.toString();
|
|
22
26
|
}
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
return "";
|
|
26
|
-
}, [
|
|
27
|
-
|
|
28
|
-
if (value) {
|
|
29
|
-
setIsDecimal(formatValueToString(value).includes("."));
|
|
30
|
-
}
|
|
31
|
-
}, [value, formatValueToString]);
|
|
32
|
-
|
|
33
|
-
const makeFinalValue = valueToMakeFinal => {
|
|
34
|
-
let stringValue = formatValueToString(valueToMakeFinal);
|
|
35
|
-
|
|
36
|
-
if (isDecimal && !stringValue.includes(".")) {
|
|
37
|
-
stringValue = `${stringValue}.`;
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
return stringValue;
|
|
41
|
-
};
|
|
29
|
+
return "0";
|
|
30
|
+
}, []);
|
|
31
|
+
const [stringNumberValue, setStringNumberValue] = useState(formatValueToStringNumber(value));
|
|
42
32
|
|
|
43
33
|
const handleChangeText = newValue => {
|
|
44
|
-
const
|
|
45
|
-
const number =
|
|
46
|
-
|
|
34
|
+
const newStringNumberValue = formatValueToStringNumber(newValue, stringNumberValue);
|
|
35
|
+
const number = parseFloat(newStringNumberValue);
|
|
36
|
+
setStringNumberValue(newStringNumberValue);
|
|
47
37
|
onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(number);
|
|
48
38
|
};
|
|
49
39
|
|
|
50
40
|
return /*#__PURE__*/React.createElement(TextInput, _extends({
|
|
51
41
|
keyboardType: "numeric"
|
|
52
42
|
}, props, {
|
|
53
|
-
value:
|
|
54
|
-
defaultValue:
|
|
43
|
+
value: stringNumberValue,
|
|
44
|
+
defaultValue: formatValueToStringNumber(defaultValue),
|
|
55
45
|
onChangeText: handleChangeText
|
|
56
46
|
}));
|
|
57
47
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["NumberInput.tsx"],"names":["React","useCallback","
|
|
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,CAAZ,EAA6B;AAC3B,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)) {\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,3 +1,5 @@
|
|
|
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
|
+
|
|
1
3
|
import * as React from "react";
|
|
2
4
|
import { View, StyleSheet } from "react-native";
|
|
3
5
|
import omit from "lodash.omit";
|
|
@@ -89,15 +91,16 @@ const Picker = _ref => {
|
|
|
89
91
|
key: o.value
|
|
90
92
|
}))), /*#__PURE__*/React.createElement(View, {
|
|
91
93
|
pointerEvents: "none"
|
|
92
|
-
}, /*#__PURE__*/React.createElement(TextField, {
|
|
94
|
+
}, /*#__PURE__*/React.createElement(TextField, _extends({}, props, {
|
|
93
95
|
value: selectedLabel,
|
|
94
|
-
placeholder: placeholder
|
|
95
|
-
|
|
96
|
-
ref: textField
|
|
97
|
-
|
|
98
|
-
// @ts-expect-error
|
|
96
|
+
placeholder: placeholder // @ts-ignore
|
|
97
|
+
,
|
|
98
|
+
ref: textField // cannot determine if ref is of correct type due to component being wrapped in a withTheme()
|
|
99
|
+
,
|
|
100
|
+
disabled: disabled // @ts-expect-error
|
|
101
|
+
,
|
|
99
102
|
style: stylesWithoutMargin
|
|
100
|
-
}))));
|
|
103
|
+
})))));
|
|
101
104
|
};
|
|
102
105
|
|
|
103
106
|
const styles = StyleSheet.create({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["PickerComponent.android.
|
|
1
|
+
{"version":3,"sources":["PickerComponent.android.tsx"],"names":["React","View","StyleSheet","omit","withTheme","Picker","NativePicker","extractStyles","TextField","Touchable","style","options","placeholder","selectedValue","disabled","onValueChange","onValueChangeOverride","props","viewStyles","borderRadius","borderWidth","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderColor","backgroundColor","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","textField","useRef","undefined","itemValue","itemIndex","toggleFocus","current","stylesWithoutMargin","flatten","selectedLabel","find","o","value","label","styles","container","opacity","position","top","left","right","bottom","width","map","create","alignSelf"],"mappings":"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","sourcesContent":["import * as React from \"react\";\nimport { View, StyleSheet } from \"react-native\";\nimport omit from \"lodash.omit\";\nimport { withTheme } from \"../../theming\";\nimport { Picker as NativePicker } from \"@react-native-picker/picker\";\nimport { extractStyles } from \"../../utilities\";\n\nimport TextField from \"../TextField\";\nimport Touchable from \"../Touchable\";\nimport { PickerComponentProps } from \"./PickerTypes\";\n\nconst Picker: React.FC<PickerComponentProps> = ({\n style,\n options,\n placeholder,\n selectedValue,\n disabled = false,\n onValueChange: onValueChangeOverride = () => {},\n ...props\n}) => {\n const {\n viewStyles: {\n borderRadius, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderTopWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderRightWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderBottomWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderLeftWidth, // eslint-disable-line @typescript-eslint/no-unused-vars\n borderColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n backgroundColor, // eslint-disable-line @typescript-eslint/no-unused-vars\n padding, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingTop, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingRight, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingBottom, // eslint-disable-line @typescript-eslint/no-unused-vars\n paddingLeft, // eslint-disable-line @typescript-eslint/no-unused-vars\n ...viewStyles\n },\n } = extractStyles(style);\n\n const textField = React.useRef<typeof TextField | undefined>(undefined);\n\n const onValueChange = (itemValue: string, itemIndex: number) => {\n toggleFocus();\n onValueChangeOverride(itemValue, itemIndex);\n };\n\n const toggleFocus = () => {\n if (!disabled) {\n // @ts-ignore\n textField.current.toggleFocus(); // cannot determine if method exists due to component being wrapped in a withTheme()\n }\n };\n\n const stylesWithoutMargin =\n style &&\n omit(StyleSheet.flatten(style), [\n \"margin\",\n \"marginTop\",\n \"marginRight\",\n \"marginBottom\",\n \"marginLeft\",\n ]);\n\n const selectedLabel =\n selectedValue &&\n (options.find((o) => o.value === selectedValue)?.label ?? selectedValue);\n\n return (\n <Touchable\n disabled={disabled}\n onPress={toggleFocus}\n style={[styles.container, viewStyles]}\n >\n <View>\n <NativePicker\n enabled={!disabled}\n selectedValue={selectedValue}\n onValueChange={onValueChange}\n style={{\n opacity: 0,\n position: \"absolute\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n width: \"100%\",\n }}\n >\n {options.map((o) => (\n <NativePicker.Item label={o.label} value={o.value} key={o.value} />\n ))}\n </NativePicker>\n <View pointerEvents=\"none\">\n <TextField\n {...props}\n value={selectedLabel}\n placeholder={placeholder}\n // @ts-ignore\n ref={textField} // cannot determine if ref is of correct type due to component being wrapped in a withTheme()\n disabled={disabled}\n // @ts-expect-error\n style={stylesWithoutMargin}\n />\n </View>\n </View>\n </Touchable>\n );\n};\n\nconst styles = StyleSheet.create({\n container: {\n alignSelf: \"stretch\",\n },\n});\n\nexport default withTheme(Picker);\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FC } from "react";
|
|
2
2
|
interface Props {
|
|
3
3
|
value?: number | string;
|
|
4
4
|
defaultValue?: number | string;
|
|
5
5
|
onChangeText?: (value?: number) => void;
|
|
6
6
|
}
|
|
7
|
-
declare const NumberInput:
|
|
7
|
+
declare const NumberInput: FC<Props>;
|
|
8
8
|
export default NumberInput;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@draftbit/core",
|
|
3
|
-
"version": "43.4.6
|
|
3
|
+
"version": "43.4.6",
|
|
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": "
|
|
83
|
+
"gitHead": "2ce3ff857194ca9855c8f2040bcc09a375990ec4"
|
|
84
84
|
}
|
|
@@ -1,39 +1,33 @@
|
|
|
1
|
-
import React, { useCallback,
|
|
1
|
+
import React, { useCallback, useState } from "react";
|
|
2
2
|
import { TextInput } from "react-native";
|
|
3
|
-
import { isString, isNumber } from "lodash";
|
|
4
|
-
const NumberInput = ({ onChangeText, value
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
3
|
+
import { isString, isNumber, isNaN } from "lodash";
|
|
4
|
+
const NumberInput = ({ onChangeText, value, defaultValue, ...props }) => {
|
|
5
|
+
const formatValueToStringNumber = useCallback((valueToFormat, currentStringNumberValue) => {
|
|
6
|
+
if (valueToFormat != null) {
|
|
7
|
+
if (isString(valueToFormat)) {
|
|
8
|
+
if (/^0[1-9]$/.test(valueToFormat)) {
|
|
9
|
+
return valueToFormat.slice(1);
|
|
10
|
+
}
|
|
11
|
+
else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
|
|
12
|
+
return valueToFormat;
|
|
13
|
+
}
|
|
14
|
+
else if (currentStringNumberValue) {
|
|
15
|
+
return currentStringNumberValue;
|
|
16
|
+
}
|
|
12
17
|
}
|
|
13
|
-
else if (isNumber(
|
|
14
|
-
return
|
|
18
|
+
else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {
|
|
19
|
+
return valueToFormat.toString();
|
|
15
20
|
}
|
|
16
21
|
}
|
|
17
|
-
return "";
|
|
18
|
-
}, [
|
|
19
|
-
|
|
20
|
-
if (value) {
|
|
21
|
-
setIsDecimal(formatValueToString(value).includes("."));
|
|
22
|
-
}
|
|
23
|
-
}, [value, formatValueToString]);
|
|
24
|
-
const makeFinalValue = (valueToMakeFinal) => {
|
|
25
|
-
let stringValue = formatValueToString(valueToMakeFinal);
|
|
26
|
-
if (isDecimal && !stringValue.includes(".")) {
|
|
27
|
-
stringValue = `${stringValue}.`;
|
|
28
|
-
}
|
|
29
|
-
return stringValue;
|
|
30
|
-
};
|
|
22
|
+
return "0";
|
|
23
|
+
}, []);
|
|
24
|
+
const [stringNumberValue, setStringNumberValue] = useState(formatValueToStringNumber(value));
|
|
31
25
|
const handleChangeText = (newValue) => {
|
|
32
|
-
const
|
|
33
|
-
const number =
|
|
34
|
-
|
|
26
|
+
const newStringNumberValue = formatValueToStringNumber(newValue, stringNumberValue);
|
|
27
|
+
const number = parseFloat(newStringNumberValue);
|
|
28
|
+
setStringNumberValue(newStringNumberValue);
|
|
35
29
|
onChangeText?.(number);
|
|
36
30
|
};
|
|
37
|
-
return (React.createElement(TextInput, { keyboardType: "numeric", ...props, value:
|
|
31
|
+
return (React.createElement(TextInput, { keyboardType: "numeric", ...props, value: stringNumberValue, defaultValue: formatValueToStringNumber(defaultValue), onChangeText: handleChangeText }));
|
|
38
32
|
};
|
|
39
33
|
export default NumberInput;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { FC, useCallback, useState } from "react";
|
|
2
2
|
import { TextInput } from "react-native";
|
|
3
|
-
import { isString, isNumber } from "lodash";
|
|
3
|
+
import { isString, isNumber, isNaN } from "lodash";
|
|
4
4
|
|
|
5
5
|
interface Props {
|
|
6
6
|
value?: number | string;
|
|
@@ -8,54 +8,45 @@ interface Props {
|
|
|
8
8
|
onChangeText?: (value?: number) => void;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
|
-
const NumberInput:
|
|
11
|
+
const NumberInput: FC<Props> = ({
|
|
12
12
|
onChangeText,
|
|
13
|
-
value
|
|
14
|
-
defaultValue
|
|
13
|
+
value,
|
|
14
|
+
defaultValue,
|
|
15
15
|
...props
|
|
16
16
|
}) => {
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
} else if (isNumber(
|
|
29
|
-
return
|
|
17
|
+
const formatValueToStringNumber = useCallback(
|
|
18
|
+
(valueToFormat?: number | string, currentStringNumberValue?: string) => {
|
|
19
|
+
if (valueToFormat != null) {
|
|
20
|
+
if (isString(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();
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
return "";
|
|
33
|
+
return "0";
|
|
34
34
|
},
|
|
35
|
-
[
|
|
35
|
+
[]
|
|
36
36
|
);
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
}
|
|
42
|
-
}, [value, formatValueToString]);
|
|
43
|
-
|
|
44
|
-
const makeFinalValue = (valueToMakeFinal?: number | string) => {
|
|
45
|
-
let stringValue = formatValueToString(valueToMakeFinal);
|
|
46
|
-
|
|
47
|
-
if (isDecimal && !stringValue.includes(".")) {
|
|
48
|
-
stringValue = `${stringValue}.`;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
return stringValue;
|
|
52
|
-
};
|
|
38
|
+
const [stringNumberValue, setStringNumberValue] = useState(
|
|
39
|
+
formatValueToStringNumber(value)
|
|
40
|
+
);
|
|
53
41
|
|
|
54
42
|
const handleChangeText = (newValue: string) => {
|
|
55
|
-
const
|
|
56
|
-
|
|
43
|
+
const newStringNumberValue = formatValueToStringNumber(
|
|
44
|
+
newValue,
|
|
45
|
+
stringNumberValue
|
|
46
|
+
);
|
|
47
|
+
const number = parseFloat(newStringNumberValue);
|
|
57
48
|
|
|
58
|
-
|
|
49
|
+
setStringNumberValue(newStringNumberValue);
|
|
59
50
|
onChangeText?.(number);
|
|
60
51
|
};
|
|
61
52
|
|
|
@@ -63,8 +54,8 @@ const NumberInput: React.FC<Props> = ({
|
|
|
63
54
|
<TextInput
|
|
64
55
|
keyboardType="numeric"
|
|
65
56
|
{...props}
|
|
66
|
-
value={
|
|
67
|
-
defaultValue={
|
|
57
|
+
value={stringNumberValue}
|
|
58
|
+
defaultValue={formatValueToStringNumber(defaultValue)}
|
|
68
59
|
onChangeText={handleChangeText}
|
|
69
60
|
/>
|
|
70
61
|
);
|