@draftbit/core 43.4.6-5cd83b.1 → 43.4.6-bb53b7.2
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/ActionSheet/ActionSheetCancel.js.map +1 -1
- package/lib/commonjs/components/NumberInput.js +30 -29
- package/lib/commonjs/components/NumberInput.js.map +1 -1
- package/lib/commonjs/components/Portal/PortalConsumer.js.map +1 -1
- package/lib/commonjs/mappings/ActionSheet.js.map +1 -1
- package/lib/commonjs/mappings/ActionSheetItem.js.map +1 -1
- package/lib/commonjs/mappings/AvatarEdit.js.map +1 -1
- package/lib/commonjs/mappings/TextField.js.map +1 -1
- package/lib/commonjs/mappings/Touchable.js.map +1 -1
- package/lib/commonjs/styles/DefaultTheme.js.map +1 -1
- package/lib/commonjs/styles/fonts.js.map +1 -1
- package/lib/module/components/NumberInput.js +26 -25
- package/lib/module/components/NumberInput.js.map +1 -1
- package/lib/module/components/RadioButton/RadioButtonFieldGroup.js +5 -4
- package/lib/module/components/RadioButton/RadioButtonFieldGroup.js.map +1 -1
- package/lib/module/mappings/LinearGradient.js.map +1 -1
- package/lib/typescript/src/components/NumberInput.d.ts +5 -5
- package/package.json +2 -2
- package/src/components/NumberInput.js +26 -21
- package/src/components/NumberInput.tsx +39 -30
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ActionSheetCancel.
|
|
1
|
+
{"version":3,"sources":["ActionSheetCancel.tsx"],"names":["ActionSheetCancel","label","color","style","onPress"],"mappings":";;;;;;;AAAA;;AAEA;;;;AASA,MAAMA,iBAAkC,GAAG,QAKrC;AAAA,MALsC;AAC1CC,IAAAA,KAAK,GAAG,QADkC;AAE1CC,IAAAA,KAF0C;AAG1CC,IAAAA,KAH0C;AAI1CC,IAAAA;AAJ0C,GAKtC;AACJ,sBACE,6BAAC,wBAAD;AACE,IAAA,KAAK,EAAEH,KADT;AAEE,IAAA,KAAK,EAAEC,KAAK,IAAI,SAFlB;AAGE,IAAA,KAAK,EAAE,CAACC,KAAD,CAHT;AAIE,IAAA,OAAO,EAAEC;AAJX,IADF;AAQD,CAdD;;eAgBeJ,iB","sourcesContent":["import React from \"react\";\nimport { StyleProp, ViewStyle, TextStyle } from \"react-native\";\nimport ActionSheetItem from \"./ActionSheetItem\";\n\ntype Props = {\n label: string;\n color: string;\n style?: StyleProp<ViewStyle | TextStyle>;\n onPress?: () => void;\n};\n\nconst ActionSheetCancel: React.FC<Props> = ({\n label = \"Cancel\",\n color,\n style,\n onPress,\n}) => {\n return (\n <ActionSheetItem\n label={label}\n color={color || \"#FF453A\"}\n style={[style]}\n onPress={onPress}\n />\n );\n};\n\nexport default ActionSheetCancel;\n"]}
|
|
@@ -5,11 +5,15 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
|
|
10
10
|
var _reactNative = require("react-native");
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
var _lodash = require("lodash");
|
|
13
|
+
|
|
14
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
+
|
|
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; }
|
|
13
17
|
|
|
14
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); }
|
|
15
19
|
|
|
@@ -20,44 +24,41 @@ const NumberInput = _ref => {
|
|
|
20
24
|
defaultValue,
|
|
21
25
|
...props
|
|
22
26
|
} = _ref;
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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();
|
|
39
|
+
}
|
|
29
40
|
}
|
|
30
|
-
|
|
41
|
+
|
|
42
|
+
return "0";
|
|
43
|
+
}, []);
|
|
44
|
+
const [stringNumberValue, setStringNumberValue] = (0, _react.useState)(formatValueToStringNumber(value));
|
|
31
45
|
|
|
32
46
|
const handleChangeText = newValue => {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
onChangeText(number);
|
|
38
|
-
}
|
|
47
|
+
const newStringNumberValue = formatValueToStringNumber(newValue, stringNumberValue);
|
|
48
|
+
const number = parseFloat(newStringNumberValue);
|
|
49
|
+
setStringNumberValue(newStringNumberValue);
|
|
50
|
+
onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(number);
|
|
39
51
|
};
|
|
40
52
|
|
|
41
|
-
let strValue;
|
|
42
|
-
|
|
43
|
-
if (value != undefined) {
|
|
44
|
-
strValue = value.toString();
|
|
45
|
-
|
|
46
|
-
if (isDecimal && !strValue.includes(".")) {
|
|
47
|
-
strValue = `${strValue}.`;
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
|
|
51
53
|
return /*#__PURE__*/_react.default.createElement(_reactNative.TextInput, _extends({
|
|
52
54
|
keyboardType: "numeric"
|
|
53
55
|
}, props, {
|
|
54
|
-
value:
|
|
55
|
-
defaultValue: defaultValue
|
|
56
|
+
value: stringNumberValue,
|
|
57
|
+
defaultValue: formatValueToStringNumber(defaultValue),
|
|
56
58
|
onChangeText: handleChangeText
|
|
57
59
|
}));
|
|
58
60
|
};
|
|
59
61
|
|
|
60
|
-
var _default = NumberInput;
|
|
61
|
-
|
|
62
|
+
var _default = NumberInput;
|
|
62
63
|
exports.default = _default;
|
|
63
64
|
//# sourceMappingURL=NumberInput.js.map
|
|
@@ -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":["PortalConsumer.
|
|
1
|
+
{"version":3,"sources":["PortalConsumer.tsx"],"names":["PortalConsumer","React","Component","componentDidMount","checkManager","Promise","resolve","key","props","manager","mount","children","componentDidUpdate","update","componentWillUnmount","unmount","Error","render"],"mappings":";;;;;;;AAAA;;;;;;;;AAQe,MAAMA,cAAN,SAA6BC,KAAK,CAACC,SAAnC,CAAoD;AAAA;AAAA;;AAAA;AAAA;;AAC1C,QAAjBC,iBAAiB,GAAG;AACxB,SAAKC,YAAL,GADwB,CAGxB;;AACA,UAAMC,OAAO,CAACC,OAAR,EAAN;AAEA,SAAKC,GAAL,GAAW,KAAKC,KAAL,CAAWC,OAAX,CAAmBC,KAAnB,CAAyB,KAAKF,KAAL,CAAWG,QAApC,CAAX;AACD;;AAEDC,EAAAA,kBAAkB,GAAG;AACnB,SAAKR,YAAL;AAEA,SAAKI,KAAL,CAAWC,OAAX,CAAmBI,MAAnB,CAA0B,KAAKN,GAA/B,EAAoC,KAAKC,KAAL,CAAWG,QAA/C;AACD;;AAEDG,EAAAA,oBAAoB,GAAG;AACrB,SAAKV,YAAL;AAEA,SAAKI,KAAL,CAAWC,OAAX,CAAmBM,OAAnB,CAA2B,KAAKR,GAAhC;AACD;;AAIOH,EAAAA,YAAY,GAAG;AACrB,QAAI,CAAC,KAAKI,KAAL,CAAWC,OAAhB,EAAyB;AACvB,YAAM,IAAIO,KAAJ,CACJ,+GACE,iGADF,GAEE,qEAHE,CAAN;AAKD;AACF;;AAEDC,EAAAA,MAAM,GAAG;AACP,WAAO,IAAP;AACD;;AApCgE","sourcesContent":["import * as React from \"react\";\nimport { PortalMethods } from \"./PortalHost\";\n\ntype Props = {\n manager: PortalMethods;\n children: React.ReactNode;\n};\n\nexport default class PortalConsumer extends React.Component<Props> {\n async componentDidMount() {\n this.checkManager();\n\n // Delay updating to prevent React from going to infinite loop\n await Promise.resolve();\n\n this.key = this.props.manager.mount(this.props.children);\n }\n\n componentDidUpdate() {\n this.checkManager();\n\n this.props.manager.update(this.key, this.props.children);\n }\n\n componentWillUnmount() {\n this.checkManager();\n\n this.props.manager.unmount(this.key);\n }\n\n private key: any;\n\n private checkManager() {\n if (!this.props.manager) {\n throw new Error(\n \"Looks like you forgot to wrap your root component with `Provider` component from `react-native-paper`.\\n\\n\" +\n \"Please read our getting-started guide and make sure you've followed all the required steps.\\n\\n\" +\n \"https://callstack.github.io/react-native-paper/getting-started.html\"\n );\n }\n }\n\n render() {\n return null;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ActionSheet.
|
|
1
|
+
{"version":3,"sources":["ActionSheet.ts"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","container","props","visible","group","GROUPS","data","label"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,cADiB;AAEvBC,EAAAA,GAAG,EAAE,aAFkB;AAGvBC,EAAAA,WAAW,EAAE,wBAHU;AAIvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,SAJH;AAKvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE,iCAAqB;AAC5BC,MAAAA,KAAK,EAAEC,cAAOC,IADc;AAE5BC,MAAAA,KAAK,EAAE;AAFqB,KAArB;AADJ;AALgB,CAAlB","sourcesContent":["import { COMPONENT_TYPES, createStaticBoolProp, GROUPS } from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Action Sheet\",\n tag: \"ActionSheet\",\n description: \"Action Sheet container\",\n category: COMPONENT_TYPES.container,\n props: {\n visible: createStaticBoolProp({\n group: GROUPS.data,\n label: \"Show Action Sheet\",\n }),\n },\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ActionSheetItem.
|
|
1
|
+
{"version":3,"sources":["ActionSheetItem.js"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","button","triggers","Triggers","OnPress","layout","textAlign","props","onPress","label","group","GROUPS","basic","defaultValue","color"],"mappings":";;;;;;;AAAA;;AACO,MAAMA,SAAS,GAAG;AACrBC,EAAAA,IAAI,EAAE,mBADe;AAErBC,EAAAA,GAAG,EAAE,iBAFgB;AAGrBC,EAAAA,WAAW,EAAE,mBAHQ;AAIrBC,EAAAA,QAAQ,EAAEC,uBAAgBC,MAJL;AAKrBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,OAAV,CALW;AAMrBC,EAAAA,MAAM,EAAE;AACJC,IAAAA,SAAS,EAAE;AADP,GANa;AASrBC,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;AATc,CAAlB","sourcesContent":["import { COMPONENT_TYPES, createActionProp, createColorProp, createTextProp, GROUPS, Triggers, } from \"@draftbit/types\";\nexport const SEED_DATA = {\n name: \"Action Sheet Item\",\n tag: \"ActionSheetItem\",\n description: \"Action Sheet item\",\n category: COMPONENT_TYPES.button,\n triggers: [Triggers.OnPress],\n layout: {\n textAlign: \"center\",\n },\n props: {\n onPress: createActionProp(),\n label: createTextProp({\n group: GROUPS.basic,\n label: \"Label\",\n defaultValue: \"Option\",\n }),\n color: createColorProp({\n label: \"Font Color\",\n }),\n },\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["AvatarEdit.
|
|
1
|
+
{"version":3,"sources":["AvatarEdit.js"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","deprecated","layout","width","height","props","size","group","GROUPS","basic","label","editable","required","formType","FORM_TYPES","number","propType","PROP_TYPES","NUMBER","min","max","precision","step","defaultValue","image","data","ASSET"],"mappings":";;;;;;;AAAA;;AACO,MAAMA,SAAS,GAAG;AACrBC,EAAAA,IAAI,EAAE,aADe;AAErBC,EAAAA,GAAG,EAAE,YAFgB;AAGrBC,EAAAA,WAAW,EAAE,8CAHQ;AAIrBC,EAAAA,QAAQ,EAAEC,uBAAgBC,UAJL;AAKrBC,EAAAA,MAAM,EAAE;AACJC,IAAAA,KAAK,EAAE,EADH;AAEJC,IAAAA,MAAM,EAAE;AAFJ,GALa;AASrBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,IAAI,EAAE;AACFC,MAAAA,KAAK,EAAEC,cAAOC,KADZ;AAEFC,MAAAA,KAAK,EAAE,MAFL;AAGFZ,MAAAA,WAAW,EAAE,gCAHX;AAIFa,MAAAA,QAAQ,EAAE,IAJR;AAKFC,MAAAA,QAAQ,EAAE,KALR;AAMFC,MAAAA,QAAQ,EAAEC,kBAAWC,MANnB;AAOFC,MAAAA,QAAQ,EAAEC,kBAAWC,MAPnB;AAQFC,MAAAA,GAAG,EAAE,CARH;AASFC,MAAAA,GAAG,EAAE,GATH;AAUFC,MAAAA,SAAS,EAAE,CAVT;AAWFC,MAAAA,IAAI,EAAE,CAXJ;AAYFC,MAAAA,YAAY,EAAE;AAZZ,KADH;AAeHC,IAAAA,KAAK,EAAE;AACHjB,MAAAA,KAAK,EAAEC,cAAOiB,IADX;AAEHf,MAAAA,KAAK,EAAE,OAFJ;AAGHZ,MAAAA,WAAW,EAAE,mBAHV;AAIHa,MAAAA,QAAQ,EAAE,IAJP;AAKHC,MAAAA,QAAQ,EAAE,IALP;AAMHC,MAAAA,QAAQ,EAAEC,kBAAWU,KANlB;AAOHR,MAAAA,QAAQ,EAAEC,kBAAWS,KAPlB;AAQHH,MAAAA,YAAY,EAAE;AARX;AAfJ;AATc,CAAlB","sourcesContent":["import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, } from \"@draftbit/types\";\nexport const SEED_DATA = {\n name: \"Avatar Edit\",\n tag: \"AvatarEdit\",\n description: \"An avatar with an edit icon in the top right\",\n category: COMPONENT_TYPES.deprecated,\n layout: {\n width: 64,\n height: 64,\n },\n props: {\n size: {\n group: GROUPS.basic,\n label: \"Size\",\n description: \"Size of avatar / width, height\",\n editable: true,\n required: false,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n min: 0,\n max: 300,\n precision: 0,\n step: 1,\n defaultValue: 80,\n },\n image: {\n group: GROUPS.data,\n label: \"Image\",\n description: \"Name of the image\",\n editable: true,\n required: true,\n formType: FORM_TYPES.image,\n propType: PROP_TYPES.ASSET,\n defaultValue: \"brightness-5\",\n },\n },\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["TextField.js"],"names":["SEED_DATA_PROPS","TEXT_INPUT_PROPS","label","group","GROUPS","data","description","formType","FORM_TYPES","string","propType","PROP_TYPES","STRING","defaultValue","editable","required","assistiveText","basic","error","boolean","BOOLEAN","leftIconName","icon","ASSET","leftIconMode","flatArray","options","rightIconName","fieldName","FIELD_NAME","handlerPropName","SEED_DATA_TRIGGERS","Triggers","OnChangeText","SEED_DATA","name","tag","category","COMPONENT_TYPES","input","preview_image_url","supports_list_render","triggers","props","type","underlineColor","secureTextEntry","layout","placeholder","multiline","uncategorized","numberOfLines"],"mappings":"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","sourcesContent":["import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, TEXT_INPUT_PROPS, Triggers, createColorProp, createNumberProp, createFieldNameProp, } from \"@draftbit/types\";\nconst SEED_DATA_PROPS = {\n ...TEXT_INPUT_PROPS,\n label: {\n group: GROUPS.data,\n label: \"Label\",\n description: \"The label to be displayed on the text field\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: true,\n },\n assistiveText: {\n group: GROUPS.basic,\n label: \"Assistive text\",\n description: \"Helper text to display below the input\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: false,\n },\n error: {\n group: GROUPS.data,\n label: \"Error\",\n description: \"Whether the input should display the error state\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: null,\n editable: true,\n required: false,\n },\n leftIconName: {\n group: GROUPS.basic,\n label: \"Left icon name\",\n description: \"The icon to display on the left\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n leftIconMode: {\n group: GROUPS.basic,\n label: \"Left icon mode\",\n description: \"The mode of the icon to display on the left. 'inset' or 'outset'.\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: null /* inset */,\n options: [\"inset\", \"outset\"],\n editable: true,\n required: true,\n },\n rightIconName: {\n group: GROUPS.basic,\n label: \"Right icon name\",\n description: \"The icon to display on the right\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n fieldName: {\n ...FIELD_NAME,\n handlerPropName: \"onChangeText\",\n defaultValue: \"textFieldValue\",\n },\n};\nconst SEED_DATA_TRIGGERS = [Triggers.OnChangeText];\nexport const SEED_DATA = [\n {\n name: \"Styled Text Field\",\n tag: \"TextField\",\n description: \"A text input with a solid border or underline\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/Textfield.png\",\n supports_list_render: false,\n triggers: SEED_DATA_TRIGGERS,\n props: {\n ...SEED_DATA_PROPS,\n type: {\n label: \"Appearance\",\n description: \"Type of Datepicker\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"solid\",\n options: [\"solid\", \"underline\"],\n editable: true,\n required: true,\n group: GROUPS.basic,\n },\n underlineColor: createColorProp({\n label: \"Underline Color\",\n defaultValue: \"light\",\n }),\n secureTextEntry: {\n group: GROUPS.basic,\n label: \"Password field\",\n description: \"If true, this turns the field into a password field, hiding the text\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: null,\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n {\n name: \"Styled Text Area\",\n tag: \"TextField\",\n description: \"A text area with a solid border or underline\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/TextArea.png\",\n supports_list_render: false,\n triggers: SEED_DATA_TRIGGERS,\n props: {\n ...SEED_DATA_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, when an unknown printer took a galley of type and scrambled it to make a type specimen book.\",\n },\n type: {\n label: \"Appearance\",\n description: \"Type of Datepicker\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"solid\",\n options: [\"solid\", \"underline\"],\n editable: true,\n required: true,\n group: GROUPS.basic,\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: false,\n required: false,\n },\n numberOfLines: createNumberProp({\n label: \"Number of Lines\",\n description: \"Number of Lines for Multiline Field\",\n defaultValue: 4,\n group: GROUPS.basic,\n }),\n fieldName: createFieldNameProp({\n defaultValue: \"textAreaValue\",\n }),\n },\n layout: {},\n },\n];\n"]}
|
|
1
|
+
{"version":3,"sources":["TextField.ts"],"names":["SEED_DATA_PROPS","TEXT_INPUT_PROPS","label","group","GROUPS","data","description","formType","FORM_TYPES","string","propType","PROP_TYPES","STRING","defaultValue","editable","required","assistiveText","basic","error","boolean","BOOLEAN","leftIconName","icon","ASSET","leftIconMode","flatArray","options","rightIconName","fieldName","FIELD_NAME","handlerPropName","SEED_DATA_TRIGGERS","Triggers","OnChangeText","SEED_DATA","name","tag","category","COMPONENT_TYPES","input","preview_image_url","supports_list_render","triggers","props","type","underlineColor","secureTextEntry","layout","placeholder","multiline","uncategorized","numberOfLines"],"mappings":"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","sourcesContent":["import {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n TEXT_INPUT_PROPS,\n Triggers,\n createColorProp,\n createNumberProp,\n createFieldNameProp,\n} from \"@draftbit/types\";\n\nconst SEED_DATA_PROPS = {\n ...TEXT_INPUT_PROPS,\n label: {\n group: GROUPS.data,\n label: \"Label\",\n description: \"The label to be displayed on the text field\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: true,\n },\n assistiveText: {\n group: GROUPS.basic,\n label: \"Assistive text\",\n description: \"Helper text to display below the input\",\n formType: FORM_TYPES.string,\n propType: PROP_TYPES.STRING,\n defaultValue: null,\n editable: true,\n required: false,\n },\n error: {\n group: GROUPS.data,\n label: \"Error\",\n description: \"Whether the input should display the error state\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: null,\n editable: true,\n required: false,\n },\n leftIconName: {\n group: GROUPS.basic,\n label: \"Left icon name\",\n description: \"The icon to display on the left\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n leftIconMode: {\n group: GROUPS.basic,\n label: \"Left icon mode\",\n description:\n \"The mode of the icon to display on the left. 'inset' or 'outset'.\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: null /* inset */,\n options: [\"inset\", \"outset\"],\n editable: true,\n required: true,\n },\n rightIconName: {\n group: GROUPS.basic,\n label: \"Right icon name\",\n description: \"The icon to display on the right\",\n formType: FORM_TYPES.icon,\n propType: PROP_TYPES.ASSET,\n defaultValue: null,\n editable: true,\n required: false,\n },\n fieldName: {\n ...FIELD_NAME,\n handlerPropName: \"onChangeText\",\n defaultValue: \"textFieldValue\",\n },\n};\n\nconst SEED_DATA_TRIGGERS = [Triggers.OnChangeText];\nexport const SEED_DATA = [\n {\n name: \"Styled Text Field\",\n tag: \"TextField\",\n description: \"A text input with a solid border or underline\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/Textfield.png\",\n supports_list_render: false,\n triggers: SEED_DATA_TRIGGERS,\n props: {\n ...SEED_DATA_PROPS,\n type: {\n label: \"Appearance\",\n description: \"Type of Datepicker\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"solid\",\n options: [\"solid\", \"underline\"],\n editable: true,\n required: true,\n group: GROUPS.basic,\n },\n underlineColor: createColorProp({\n label: \"Underline Color\",\n defaultValue: \"light\",\n }),\n secureTextEntry: {\n group: GROUPS.basic,\n label: \"Password field\",\n description:\n \"If true, this turns the field into a password field, hiding the text\",\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n defaultValue: null,\n editable: true,\n required: false,\n },\n },\n layout: {},\n },\n {\n name: \"Styled Text Area\",\n tag: \"TextField\",\n description: \"A text area with a solid border or underline\",\n category: COMPONENT_TYPES.input,\n preview_image_url: \"{CLOUDINARY_URL}/TextArea.png\",\n supports_list_render: false,\n triggers: SEED_DATA_TRIGGERS,\n props: {\n ...SEED_DATA_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, when an unknown printer took a galley of type and scrambled it to make a type specimen book.\",\n },\n type: {\n label: \"Appearance\",\n description: \"Type of Datepicker\",\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n defaultValue: \"solid\",\n options: [\"solid\", \"underline\"],\n editable: true,\n required: true,\n group: GROUPS.basic,\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: false,\n required: false,\n },\n numberOfLines: createNumberProp({\n label: \"Number of Lines\",\n description: \"Number of Lines for Multiline Field\",\n defaultValue: 4,\n group: GROUPS.basic,\n }),\n fieldName: createFieldNameProp({\n defaultValue: \"textAreaValue\",\n }),\n },\n layout: {},\n },\n];\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["Touchable.
|
|
1
|
+
{"version":3,"sources":["Touchable.ts"],"names":["SEED_DATA","name","tag","description","category","COMPONENT_TYPES","button","layout","triggers","Triggers","OnPress","props","onPress"],"mappings":";;;;;;;AAAA;;AAEO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,WADiB;AAEvBC,EAAAA,GAAG,EAAE,WAFkB;AAGvBC,EAAAA,WAAW,EAAE,8BAHU;AAIvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,MAJH;AAKvBC,EAAAA,MAAM,EAAE,EALe;AAMvBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,OAAV,CANa;AAOvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,OAAO,EAAE;AADJ;AAPgB,CAAlB","sourcesContent":["import { COMPONENT_TYPES, createActionProp, Triggers } from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Touchable\",\n tag: \"Touchable\",\n description: \"Simple button with no styles\",\n category: COMPONENT_TYPES.button,\n layout: {},\n triggers: [Triggers.OnPress],\n props: {\n onPress: createActionProp(),\n },\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["DefaultTheme.
|
|
1
|
+
{"version":3,"sources":["DefaultTheme.tsx"],"names":["DefaultTheme","disabledOpacity","roundness","dark","mode","borderRadius","global","button","colors","primary","secondary","surface","background","error","divider","strong","medium","strongInverse","mediumInverse","lightInverse","light","text","placeholder","disabled","fonts","typography","headline1","systemWeights","regular","fontSize","letterSpacing","lineHeight","headline2","headline3","headline4","headline5","subtitle1","subtitle2","body1","body2","caption","overline","headline6"],"mappings":";;;;;;;AAAA;;AACA;;;;AAEA,MAAMA,YAAY,GAAG;AACnBC,EAAAA,eAAe,EAAE,GADE;AAEnBC,EAAAA,SAAS,EAAE,CAFQ;AAGnBC,EAAAA,IAAI,EAAE,KAHa;AAInBC,EAAAA,IAAI,EAAE,OAJa;AAKnBC,EAAAA,YAAY,EAAE;AACZC,IAAAA,MAAM,EAAE,CADI;AAEZC,IAAAA,MAAM,EAAE;AAFI,GALK;AASnBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,OAAO,EAAE,sBADH;AAENC,IAAAA,SAAS,EAAE,uBAFL;AAGNC,IAAAA,OAAO,EAAE,wBAHH;AAINC,IAAAA,UAAU,EAAE,wBAJN;AAKNC,IAAAA,KAAK,EAAE,uBALD;AAMNC,IAAAA,OAAO,EAAE,wBANH;AAONC,IAAAA,MAAM,EAAE,qBAPF;AAQNC,IAAAA,MAAM,EAAE,qBARF;AASNC,IAAAA,aAAa,EAAE,wBATT;AAUNC,IAAAA,aAAa,EAAE,2BAVT;AAWNC,IAAAA,YAAY,EAAE,2BAXR;AAYNC,IAAAA,KAAK,EAAE,wBAZD;AAaNC,IAAAA,IAAI,EAAE,MAbA;AAcNC,IAAAA,WAAW,EAAE,MAdP;AAeNC,IAAAA,QAAQ,EAAE;AAfJ,GATW;AA0BnBC,EAAAA,KAAK,EAAE,qBA1BY;AA2BnBC,EAAAA,UAAU,EAAE;AACVC,IAAAA,SAAS,EAAE,EACT,GAAGC,qCAAcC,OADR;AAETC,MAAAA,QAAQ,EAAE,EAFD;AAGTC,MAAAA,aAAa,EAAE,CAHN;AAITC,MAAAA,UAAU,EAAE;AAJH,KADD;AAOVC,IAAAA,SAAS,EAAE,EACT,GAAGL,qCAAcC,OADR;AAETC,MAAAA,QAAQ,EAAE,EAFD;AAGTC,MAAAA,aAAa,EAAE,CAHN;AAITC,MAAAA,UAAU,EAAE;AAJH,KAPD;AAaVE,IAAAA,SAAS,EAAE,EACT,GAAGN,qCAAcC,OADR;AAETC,MAAAA,QAAQ,EAAE,EAFD;AAGTC,MAAAA,aAAa,EAAE,CAHN;AAITC,MAAAA,UAAU,EAAE;AAJH,KAbD;AAmBVG,IAAAA,SAAS,EAAE,EACT,GAAGP,qCAAcC,OADR;AAETC,MAAAA,QAAQ,EAAE,EAFD;AAGTC,MAAAA,aAAa,EAAE,CAHN;AAITC,MAAAA,UAAU,EAAE;AAJH,KAnBD;AAyBVI,IAAAA,SAAS,EAAE,EACT,GAAGR,qCAAcC,OADR;AAETC,MAAAA,QAAQ,EAAE,EAFD;AAGTC,MAAAA,aAAa,EAAE,CAHN;AAITC,MAAAA,UAAU,EAAE;AAJH,KAzBD;AA+BVK,IAAAA,SAAS,EAAE,EACT,GAAGT,qCAAcC,OADR;AAETC,MAAAA,QAAQ,EAAE,EAFD;AAGTC,MAAAA,aAAa,EAAE,CAHN;AAITC,MAAAA,UAAU,EAAE;AAJH,KA/BD;AAqCVM,IAAAA,SAAS,EAAE,EACT,GAAGV,qCAAcC,OADR;AAETC,MAAAA,QAAQ,EAAE,EAFD;AAGTC,MAAAA,aAAa,EAAE,CAHN;AAITC,MAAAA,UAAU,EAAE;AAJH,KArCD;AA2CVO,IAAAA,KAAK,EAAE,EACL,GAAGX,qCAAcC,OADZ;AAELC,MAAAA,QAAQ,EAAE,EAFL;AAGLC,MAAAA,aAAa,EAAE,CAHV;AAILC,MAAAA,UAAU,EAAE;AAJP,KA3CG;AAiDVQ,IAAAA,KAAK,EAAE,EACL,GAAGZ,qCAAcC,OADZ;AAELC,MAAAA,QAAQ,EAAE,EAFL;AAGLC,MAAAA,aAAa,EAAE,CAHV;AAILC,MAAAA,UAAU,EAAE;AAJP,KAjDG;AAuDVxB,IAAAA,MAAM,EAAE,EACN,GAAGoB,qCAAcC,OADX;AAENC,MAAAA,QAAQ,EAAE,EAFJ;AAGNC,MAAAA,aAAa,EAAE,CAHT;AAINC,MAAAA,UAAU,EAAE;AAJN,KAvDE;AA6DVS,IAAAA,OAAO,EAAE,EACP,GAAGb,qCAAcC,OADV;AAEPC,MAAAA,QAAQ,EAAE,EAFH;AAGPC,MAAAA,aAAa,EAAE,CAHR;AAIPC,MAAAA,UAAU,EAAE;AAJL,KA7DC;AAmEVU,IAAAA,QAAQ,EAAE,EACR,GAAGd,qCAAcC,OADT;AAERC,MAAAA,QAAQ,EAAE,EAFF;AAGRC,MAAAA,aAAa,EAAE,CAHP;AAIRC,MAAAA,UAAU,EAAE;AAJJ,KAnEA;AAyEVW,IAAAA,SAAS,EAAE,EACT,GAAGf,qCAAcC,OADR;AAETC,MAAAA,QAAQ,EAAE,EAFD;AAGTC,MAAAA,aAAa,EAAE,CAHN;AAITC,MAAAA,UAAU,EAAE;AAJH;AAzED;AA3BO,CAArB;eA6Ge/B,Y","sourcesContent":["import { systemWeights } from \"react-native-typography\";\nimport configureFonts from \"./fonts\";\n\nconst DefaultTheme = {\n disabledOpacity: 0.5,\n roundness: 8,\n dark: false,\n mode: \"exact\",\n borderRadius: {\n global: 6,\n button: 24,\n },\n colors: {\n primary: \"rgba(90, 69, 255, 1)\",\n secondary: \"rgba(59, 201, 234, 1)\",\n surface: \"rgba(255, 255, 255, 1)\",\n background: \"rgba(251, 252, 253, 1)\",\n error: \"rgba(255, 69, 100, 1)\",\n divider: \"rgba(200, 200, 200, 1)\",\n strong: \"rgba(18, 20, 44, 1)\",\n medium: \"rgba(70, 78, 88, 1)\",\n strongInverse: \"rgba(255, 255, 255, 1)\",\n mediumInverse: \"rgba(255, 255, 255, 0.87)\",\n lightInverse: \"rgba(255, 255, 255, 0.68)\",\n light: \"rgba(165, 173, 183, 1)\",\n text: \"#000\",\n placeholder: \"#333\",\n disabled: \"rgba(0, 0, 0, 0.25)\",\n },\n fonts: configureFonts(),\n typography: {\n headline1: {\n ...systemWeights.regular,\n fontSize: 60,\n letterSpacing: 0,\n lineHeight: 71,\n },\n headline2: {\n ...systemWeights.regular,\n fontSize: 48,\n letterSpacing: 0,\n lineHeight: 58,\n },\n headline3: {\n ...systemWeights.regular,\n fontSize: 34,\n letterSpacing: 0,\n lineHeight: 40,\n },\n headline4: {\n ...systemWeights.regular,\n fontSize: 24,\n letterSpacing: 0,\n lineHeight: 34,\n },\n headline5: {\n ...systemWeights.regular,\n fontSize: 20,\n letterSpacing: 0,\n lineHeight: 26,\n },\n subtitle1: {\n ...systemWeights.regular,\n fontSize: 16,\n letterSpacing: 0,\n lineHeight: 26,\n },\n subtitle2: {\n ...systemWeights.regular,\n fontSize: 14,\n letterSpacing: 0,\n lineHeight: 22,\n },\n body1: {\n ...systemWeights.regular,\n fontSize: 16,\n letterSpacing: 0,\n lineHeight: 26,\n },\n body2: {\n ...systemWeights.regular,\n fontSize: 14,\n letterSpacing: 0,\n lineHeight: 22,\n },\n button: {\n ...systemWeights.regular,\n fontSize: 14,\n letterSpacing: 0,\n lineHeight: 16,\n },\n caption: {\n ...systemWeights.regular,\n fontSize: 12,\n letterSpacing: 0,\n lineHeight: 16,\n },\n overline: {\n ...systemWeights.regular,\n fontSize: 12,\n letterSpacing: 2,\n lineHeight: 16,\n },\n headline6: {\n ...systemWeights.regular,\n fontSize: 16,\n letterSpacing: 0,\n lineHeight: 24,\n },\n },\n};\n\nexport default DefaultTheme;\nexport type Theme = typeof DefaultTheme;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["fonts.
|
|
1
|
+
{"version":3,"sources":["fonts.tsx"],"names":["fontConfig","web","regular","fontFamily","fontWeight","medium","light","thin","ios","default","configureFonts","config","fonts","Platform","select"],"mappings":";;;;;;;AACA;;AADA;AAIA,MAAMA,UAAU,GAAG;AACjBC,EAAAA,GAAG,EAAE;AACHC,IAAAA,OAAO,EAAE;AACPC,MAAAA,UAAU,EAAE,wDADL;AAEPC,MAAAA,UAAU,EAAE;AAFL,KADN;AAKHC,IAAAA,MAAM,EAAE;AACNF,MAAAA,UAAU,EAAE,wDADN;AAENC,MAAAA,UAAU,EAAE;AAFN,KALL;AASHE,IAAAA,KAAK,EAAE;AACLH,MAAAA,UAAU,EAAE,wDADP;AAELC,MAAAA,UAAU,EAAE;AAFP,KATJ;AAaHG,IAAAA,IAAI,EAAE;AACJJ,MAAAA,UAAU,EAAE,wDADR;AAEJC,MAAAA,UAAU,EAAE;AAFR;AAbH,GADY;AAmBjBI,EAAAA,GAAG,EAAE;AACHN,IAAAA,OAAO,EAAE;AACPC,MAAAA,UAAU,EAAE,QADL;AAEPC,MAAAA,UAAU,EAAE;AAFL,KADN;AAKHC,IAAAA,MAAM,EAAE;AACNF,MAAAA,UAAU,EAAE,QADN;AAENC,MAAAA,UAAU,EAAE;AAFN,KALL;AASHE,IAAAA,KAAK,EAAE;AACLH,MAAAA,UAAU,EAAE,QADP;AAELC,MAAAA,UAAU,EAAE;AAFP,KATJ;AAaHG,IAAAA,IAAI,EAAE;AACJJ,MAAAA,UAAU,EAAE,QADR;AAEJC,MAAAA,UAAU,EAAE;AAFR;AAbH,GAnBY;AAqCjBK,EAAAA,OAAO,EAAE;AACPP,IAAAA,OAAO,EAAE;AACPC,MAAAA,UAAU,EAAE,YADL;AAEPC,MAAAA,UAAU,EAAE;AAFL,KADF;AAKPC,IAAAA,MAAM,EAAE;AACNF,MAAAA,UAAU,EAAE,mBADN;AAENC,MAAAA,UAAU,EAAE;AAFN,KALD;AASPE,IAAAA,KAAK,EAAE;AACLH,MAAAA,UAAU,EAAE,kBADP;AAELC,MAAAA,UAAU,EAAE;AAFP,KATA;AAaPG,IAAAA,IAAI,EAAE;AACJJ,MAAAA,UAAU,EAAE,iBADR;AAEJC,MAAAA,UAAU,EAAE;AAFR;AAbC;AArCQ,CAAnB;;AAyDe,SAASM,cAAT,CAAwBC,MAAxB,EAEL;AACR,QAAMC,KAAK,GAAGC,sBAASC,MAAT,CAAgB,EAAE,GAAGd,UAAL;AAAiB,OAAGW;AAApB,GAAhB,CAAd;;AACA,SAAOC,KAAP;AACD","sourcesContent":["/* https://github.com/callstack/react-native-paper/blob/main/src/styles/fonts.tsx */\nimport { Platform, PlatformOSType } from \"react-native\";\nimport type { Fonts } from \"@draftbit/types\";\n\nconst fontConfig = {\n web: {\n regular: {\n fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontWeight: \"400\" as \"400\",\n },\n medium: {\n fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontWeight: \"500\" as \"500\",\n },\n light: {\n fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontWeight: \"300\" as \"300\",\n },\n thin: {\n fontFamily: 'Roboto, \"Helvetica Neue\", Helvetica, Arial, sans-serif',\n fontWeight: \"100\" as \"100\",\n },\n },\n ios: {\n regular: {\n fontFamily: \"System\",\n fontWeight: \"400\" as \"400\",\n },\n medium: {\n fontFamily: \"System\",\n fontWeight: \"500\" as \"500\",\n },\n light: {\n fontFamily: \"System\",\n fontWeight: \"300\" as \"300\",\n },\n thin: {\n fontFamily: \"System\",\n fontWeight: \"100\" as \"100\",\n },\n },\n default: {\n regular: {\n fontFamily: \"sans-serif\",\n fontWeight: \"normal\" as \"normal\",\n },\n medium: {\n fontFamily: \"sans-serif-medium\",\n fontWeight: \"normal\" as \"normal\",\n },\n light: {\n fontFamily: \"sans-serif-light\",\n fontWeight: \"normal\" as \"normal\",\n },\n thin: {\n fontFamily: \"sans-serif-thin\",\n fontWeight: \"normal\" as \"normal\",\n },\n },\n};\n\nexport default function configureFonts(config?: {\n [platform in PlatformOSType | \"default\"]?: Fonts;\n}): Fonts {\n const fonts = Platform.select({ ...fontConfig, ...config }) as Fonts;\n return fonts;\n}\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
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 from "react";
|
|
3
|
+
import React, { useCallback, useState } from "react";
|
|
4
4
|
import { TextInput } from "react-native";
|
|
5
|
+
import { isString, isNumber, isNaN } from "lodash";
|
|
5
6
|
|
|
6
7
|
const NumberInput = _ref => {
|
|
7
8
|
let {
|
|
@@ -10,40 +11,40 @@ const NumberInput = _ref => {
|
|
|
10
11
|
defaultValue,
|
|
11
12
|
...props
|
|
12
13
|
} = _ref;
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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();
|
|
26
|
+
}
|
|
17
27
|
}
|
|
18
|
-
|
|
28
|
+
|
|
29
|
+
return "0";
|
|
30
|
+
}, []);
|
|
31
|
+
const [stringNumberValue, setStringNumberValue] = useState(formatValueToStringNumber(value));
|
|
19
32
|
|
|
20
33
|
const handleChangeText = newValue => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
onChangeText(number);
|
|
26
|
-
}
|
|
34
|
+
const newStringNumberValue = formatValueToStringNumber(newValue, stringNumberValue);
|
|
35
|
+
const number = parseFloat(newStringNumberValue);
|
|
36
|
+
setStringNumberValue(newStringNumberValue);
|
|
37
|
+
onChangeText === null || onChangeText === void 0 ? void 0 : onChangeText(number);
|
|
27
38
|
};
|
|
28
39
|
|
|
29
|
-
let strValue;
|
|
30
|
-
|
|
31
|
-
if (value != undefined) {
|
|
32
|
-
strValue = value.toString();
|
|
33
|
-
|
|
34
|
-
if (isDecimal && !strValue.includes(".")) {
|
|
35
|
-
strValue = `${strValue}.`;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
|
|
39
40
|
return /*#__PURE__*/React.createElement(TextInput, _extends({
|
|
40
41
|
keyboardType: "numeric"
|
|
41
42
|
}, props, {
|
|
42
|
-
value:
|
|
43
|
-
defaultValue: defaultValue
|
|
43
|
+
value: stringNumberValue,
|
|
44
|
+
defaultValue: formatValueToStringNumber(defaultValue),
|
|
44
45
|
onChangeText: handleChangeText
|
|
45
46
|
}));
|
|
46
47
|
};
|
|
47
48
|
|
|
48
|
-
export default NumberInput;
|
|
49
|
+
export default NumberInput;
|
|
49
50
|
//# sourceMappingURL=NumberInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["NumberInput.tsx"],"names":["React","TextInput","
|
|
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 React from "react";
|
|
2
4
|
import { View } from "react-native";
|
|
3
5
|
import Text from "../Text";
|
|
@@ -20,10 +22,9 @@ const RadioButtonFieldGroup = _ref => {
|
|
|
20
22
|
fontSize: theme.typography.headline4.fontSize,
|
|
21
23
|
color: theme.typography.headline4.color
|
|
22
24
|
}, labelStyle]
|
|
23
|
-
}, label), /*#__PURE__*/React.createElement(RadioButtonGroup, {
|
|
24
|
-
theme: theme
|
|
25
|
-
|
|
26
|
-
}, children));
|
|
25
|
+
}, label), /*#__PURE__*/React.createElement(RadioButtonGroup, _extends({
|
|
26
|
+
theme: theme
|
|
27
|
+
}, rest), children));
|
|
27
28
|
};
|
|
28
29
|
|
|
29
30
|
export default withTheme(RadioButtonFieldGroup);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["RadioButtonFieldGroup.
|
|
1
|
+
{"version":3,"sources":["RadioButtonFieldGroup.tsx"],"names":["React","View","Text","withTheme","RadioButtonGroup","RadioButtonFieldGroup","label","children","theme","labelStyle","style","rest","fontSize","typography","headline4","color"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,IAAT,QAAsD,cAAtD;AACA,OAAOC,IAAP,MAAiB,SAAjB;AACA,SAASC,SAAT,QAA0B,eAA1B;AACA,OAAOC,gBAAP,MAAwD,oBAAxD;;AAQA,MAAMC,qBAAsC,GAAG,QAOzC;AAAA,MAP0C;AAC9CC,IAAAA,KAD8C;AAE9CC,IAAAA,QAF8C;AAG9CC,IAAAA,KAH8C;AAI9CC,IAAAA,UAJ8C;AAK9CC,IAAAA,KAL8C;AAM9C,OAAGC;AAN2C,GAO1C;AACJ,sBACE,oBAAC,IAAD;AAAM,IAAA,KAAK,EAAED;AAAb,kBACE,oBAAC,IAAD;AACE,IAAA,KAAK,EAAE,CACL;AACEE,MAAAA,QAAQ,EAAEJ,KAAK,CAACK,UAAN,CAAiBC,SAAjB,CAA2BF,QADvC;AAEEG,MAAAA,KAAK,EAAEP,KAAK,CAACK,UAAN,CAAiBC,SAAjB,CAA2BC;AAFpC,KADK,EAKLN,UALK;AADT,KASGH,KATH,CADF,eAYE,oBAAC,gBAAD;AAAkB,IAAA,KAAK,EAAEE;AAAzB,KAAoCG,IAApC,GACGJ,QADH,CAZF,CADF;AAkBD,CA1BD;;AA4BA,eAAeJ,SAAS,CAACE,qBAAD,CAAxB","sourcesContent":["import React from \"react\";\nimport { View, StyleProp, TextStyle, ViewStyle } from \"react-native\";\nimport Text from \"../Text\";\nimport { withTheme } from \"../../theming\";\nimport RadioButtonGroup, { RadioButtonGroupProps } from \"./RadioButtonGroup\";\n\ninterface Props extends RadioButtonGroupProps {\n label?: string;\n labelStyle?: StyleProp<TextStyle>;\n style?: StyleProp<ViewStyle>;\n}\n\nconst RadioButtonFieldGroup: React.FC<Props> = ({\n label,\n children,\n theme,\n labelStyle,\n style,\n ...rest\n}) => {\n return (\n <View style={style}>\n <Text\n style={[\n {\n fontSize: theme.typography.headline4.fontSize,\n color: theme.typography.headline4.color,\n },\n labelStyle,\n ]}\n >\n {label}\n </Text>\n <RadioButtonGroup theme={theme} {...rest}>\n {children}\n </RadioButtonGroup>\n </View>\n );\n};\n\nexport default withTheme(RadioButtonFieldGroup);\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["LinearGradient.
|
|
1
|
+
{"version":3,"sources":["LinearGradient.js"],"names":["createColorProp","FORM_TYPES","GROUPS","PROP_TYPES","SEED_DATA","name","tag","description","layout","width","height","props","endY","group","basic","label","editable","required","defaultValue","min","max","step","precision","formType","number","propType","NUMBER","endX","startY","startX","color3","undefined","color2","color1"],"mappings":"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","sourcesContent":["import { createColorProp, FORM_TYPES, GROUPS, PROP_TYPES, } from \"@draftbit/types\";\nexport const SEED_DATA = {\n name: \"Linear Gradient\",\n tag: \"LinearGradient\",\n description: \"Linear Gradient Component\",\n layout: { width: \"100%\", height: \"100%\" },\n props: {\n endY: {\n group: GROUPS.basic,\n label: \"End Y\",\n description: \"End position from Bottom\",\n editable: true,\n required: false,\n defaultValue: 100,\n min: 0,\n max: 100,\n step: 1,\n precision: 0,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n },\n endX: {\n group: GROUPS.basic,\n label: \"End X\",\n description: \"End position from Right\",\n editable: true,\n required: false,\n defaultValue: 100,\n min: 0,\n max: 100,\n step: 1,\n precision: 0,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n },\n startY: {\n group: GROUPS.basic,\n label: \"Start Y\",\n description: \"Start position from Top\",\n editable: true,\n required: false,\n defaultValue: 0,\n min: 0,\n max: 100,\n step: 1,\n precision: 0,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n },\n startX: {\n group: GROUPS.basic,\n label: \"Start X\",\n description: \"Start position from Left\",\n editable: true,\n required: false,\n defaultValue: 0,\n min: 0,\n max: 100,\n step: 1,\n precision: 0,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n },\n color3: createColorProp({\n label: \"Color 3\",\n defaultValue: undefined,\n }),\n color2: createColorProp({\n label: \"Color 2\",\n defaultValue: \"secondary\",\n }),\n color1: createColorProp({\n label: \"Color 1\",\n defaultValue: \"primary\",\n }),\n },\n};\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { FC } from "react";
|
|
2
2
|
interface Props {
|
|
3
|
-
value?: number;
|
|
4
|
-
defaultValue?: number;
|
|
5
|
-
onChangeText
|
|
3
|
+
value?: number | string;
|
|
4
|
+
defaultValue?: number | string;
|
|
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-bb53b7.2+bb53b7a2",
|
|
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": "bb53b7a236ef6c0bcd5b57165f028145a6cc06c4"
|
|
84
84
|
}
|
|
@@ -1,28 +1,33 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { useCallback, useState } from "react";
|
|
2
2
|
import { TextInput } from "react-native";
|
|
3
|
+
import { isString, isNumber, isNaN } from "lodash";
|
|
3
4
|
const NumberInput = ({ onChangeText, value, defaultValue, ...props }) => {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
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
|
+
}
|
|
17
|
+
}
|
|
18
|
+
else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {
|
|
19
|
+
return valueToFormat.toString();
|
|
20
|
+
}
|
|
8
21
|
}
|
|
9
|
-
|
|
22
|
+
return "0";
|
|
23
|
+
}, []);
|
|
24
|
+
const [stringNumberValue, setStringNumberValue] = useState(formatValueToStringNumber(value));
|
|
10
25
|
const handleChangeText = (newValue) => {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
onChangeText(number);
|
|
16
|
-
}
|
|
26
|
+
const newStringNumberValue = formatValueToStringNumber(newValue, stringNumberValue);
|
|
27
|
+
const number = parseFloat(newStringNumberValue);
|
|
28
|
+
setStringNumberValue(newStringNumberValue);
|
|
29
|
+
onChangeText?.(number);
|
|
17
30
|
};
|
|
18
|
-
|
|
19
|
-
if (value != undefined) {
|
|
20
|
-
strValue = value.toString();
|
|
21
|
-
if (isDecimal && !strValue.includes(".")) {
|
|
22
|
-
strValue = `${strValue}.`;
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
return (React.createElement(TextInput, { keyboardType: "numeric", ...props, value: strValue, defaultValue: defaultValue?.toString(), onChangeText: handleChangeText }));
|
|
31
|
+
return (React.createElement(TextInput, { keyboardType: "numeric", ...props, value: stringNumberValue, defaultValue: formatValueToStringNumber(defaultValue), onChangeText: handleChangeText }));
|
|
26
32
|
};
|
|
27
33
|
export default NumberInput;
|
|
28
|
-
// comment to try to fix sourcemap issue
|
|
@@ -1,55 +1,64 @@
|
|
|
1
|
-
import React from "react";
|
|
1
|
+
import React, { FC, useCallback, useState } from "react";
|
|
2
2
|
import { TextInput } from "react-native";
|
|
3
|
+
import { isString, isNumber, isNaN } from "lodash";
|
|
3
4
|
|
|
4
5
|
interface Props {
|
|
5
|
-
value?: number;
|
|
6
|
-
defaultValue?: number;
|
|
7
|
-
onChangeText
|
|
6
|
+
value?: number | string;
|
|
7
|
+
defaultValue?: number | string;
|
|
8
|
+
onChangeText?: (value?: number) => void;
|
|
8
9
|
}
|
|
9
10
|
|
|
10
|
-
const NumberInput:
|
|
11
|
+
const NumberInput: FC<Props> = ({
|
|
11
12
|
onChangeText,
|
|
12
13
|
value,
|
|
13
14
|
defaultValue,
|
|
14
15
|
...props
|
|
15
16
|
}) => {
|
|
16
|
-
const
|
|
17
|
-
|
|
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
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return "0";
|
|
34
|
+
},
|
|
35
|
+
[]
|
|
36
|
+
);
|
|
37
|
+
|
|
38
|
+
const [stringNumberValue, setStringNumberValue] = useState(
|
|
39
|
+
formatValueToStringNumber(value)
|
|
18
40
|
);
|
|
19
|
-
React.useEffect(() => {
|
|
20
|
-
if (value) {
|
|
21
|
-
setIsDecimal(value.toString().includes("."));
|
|
22
|
-
}
|
|
23
|
-
}, [value]);
|
|
24
41
|
|
|
25
42
|
const handleChangeText = (newValue: string) => {
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
32
|
-
};
|
|
43
|
+
const newStringNumberValue = formatValueToStringNumber(
|
|
44
|
+
newValue,
|
|
45
|
+
stringNumberValue
|
|
46
|
+
);
|
|
47
|
+
const number = parseFloat(newStringNumberValue);
|
|
33
48
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
if (isDecimal && !strValue.includes(".")) {
|
|
38
|
-
strValue = `${strValue}.`;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
49
|
+
setStringNumberValue(newStringNumberValue);
|
|
50
|
+
onChangeText?.(number);
|
|
51
|
+
};
|
|
41
52
|
|
|
42
53
|
return (
|
|
43
54
|
<TextInput
|
|
44
55
|
keyboardType="numeric"
|
|
45
56
|
{...props}
|
|
46
|
-
value={
|
|
47
|
-
defaultValue={defaultValue
|
|
57
|
+
value={stringNumberValue}
|
|
58
|
+
defaultValue={formatValueToStringNumber(defaultValue)}
|
|
48
59
|
onChangeText={handleChangeText}
|
|
49
60
|
/>
|
|
50
61
|
);
|
|
51
62
|
};
|
|
52
63
|
|
|
53
64
|
export default NumberInput;
|
|
54
|
-
|
|
55
|
-
// comment to try to fix sourcemap issue
|