@draftbit/core 43.4.5 → 43.4.6-28bb0e.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.
@@ -5,11 +5,15 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = _interopRequireDefault(require("react"));
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var _reactNative = require("react-native");
11
11
 
12
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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
- const [isDecimal, setIsDecimal] = _react.default.useState(value && !Number.isInteger(value));
25
-
26
- _react.default.useEffect(() => {
27
- if (value) {
28
- setIsDecimal(value.toString().includes("."));
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 (currentStringNumberValue !== null && currentStringNumberValue !== void 0 && currentStringNumberValue.includes(".") && valueToFormat === currentStringNumberValue + ".") {
33
+ return currentStringNumberValue;
34
+ } else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
35
+ return valueToFormat;
36
+ }
37
+ } else if ((0, _lodash.isNumber)(valueToFormat) && !(0, _lodash.isNaN)(valueToFormat)) {
38
+ return valueToFormat.toString();
39
+ }
29
40
  }
30
- }, [value]);
41
+
42
+ return "0";
43
+ }, []);
44
+ const [stringNumberValue, setStringNumberValue] = (0, _react.useState)(formatValueToStringNumber(value));
31
45
 
32
46
  const handleChangeText = newValue => {
33
- if (onChangeText) {
34
- const parsedNumber = parseFloat(newValue);
35
- const number = isNaN(parsedNumber) ? 0 : parsedNumber;
36
- setIsDecimal(newValue.includes("."));
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: strValue,
55
- defaultValue: defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.toString(),
56
+ value: stringNumberValue,
57
+ defaultValue: formatValueToStringNumber(defaultValue),
56
58
  onChangeText: handleChangeText
57
59
  }));
58
60
  };
59
61
 
60
- var _default = NumberInput; // comment to try to fix sourcemap issue
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","isDecimal","setIsDecimal","React","useState","Number","isInteger","useEffect","toString","includes","handleChangeText","newValue","parsedNumber","parseFloat","number","isNaN","strValue","undefined"],"mappings":";;;;;;;AAAA;;AACA;;;;;;AAQA,MAAMA,WAA4B,GAAG,QAK/B;AAAA,MALgC;AACpCC,IAAAA,YADoC;AAEpCC,IAAAA,KAFoC;AAGpCC,IAAAA,YAHoC;AAIpC,OAAGC;AAJiC,GAKhC;;AACJ,QAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4BC,eAAMC,QAAN,CAChCN,KAAK,IAAI,CAACO,MAAM,CAACC,SAAP,CAAiBR,KAAjB,CADsB,CAAlC;;AAGAK,iBAAMI,SAAN,CAAgB,MAAM;AACpB,QAAIT,KAAJ,EAAW;AACTI,MAAAA,YAAY,CAACJ,KAAK,CAACU,QAAN,GAAiBC,QAAjB,CAA0B,GAA1B,CAAD,CAAZ;AACD;AACF,GAJD,EAIG,CAACX,KAAD,CAJH;;AAMA,QAAMY,gBAAgB,GAAIC,QAAD,IAAsB;AAC7C,QAAId,YAAJ,EAAkB;AAChB,YAAMe,YAAY,GAAGC,UAAU,CAACF,QAAD,CAA/B;AACA,YAAMG,MAAM,GAAGC,KAAK,CAACH,YAAD,CAAL,GAAsB,CAAtB,GAA0BA,YAAzC;AACAV,MAAAA,YAAY,CAACS,QAAQ,CAACF,QAAT,CAAkB,GAAlB,CAAD,CAAZ;AACAZ,MAAAA,YAAY,CAACiB,MAAD,CAAZ;AACD;AACF,GAPD;;AASA,MAAIE,QAAJ;;AACA,MAAIlB,KAAK,IAAImB,SAAb,EAAwB;AACtBD,IAAAA,QAAQ,GAAGlB,KAAK,CAACU,QAAN,EAAX;;AACA,QAAIP,SAAS,IAAI,CAACe,QAAQ,CAACP,QAAT,CAAkB,GAAlB,CAAlB,EAA0C;AACxCO,MAAAA,QAAQ,GAAI,GAAEA,QAAS,GAAvB;AACD;AACF;;AAED,sBACE,6BAAC,sBAAD;AACE,IAAA,YAAY,EAAC;AADf,KAEMhB,KAFN;AAGE,IAAA,KAAK,EAAEgB,QAHT;AAIE,IAAA,YAAY,EAAEjB,YAAF,aAAEA,YAAF,uBAAEA,YAAY,CAAES,QAAd,EAJhB;AAKE,IAAA,YAAY,EAAEE;AALhB,KADF;AASD,CAzCD;;eA2Ced,W,EAEf","sourcesContent":["import React from \"react\";\nimport { TextInput } from \"react-native\";\n\ninterface Props {\n value?: number;\n defaultValue?: number;\n onChangeText: (value?: number) => void;\n}\n\nconst NumberInput: React.FC<Props> = ({\n onChangeText,\n value,\n defaultValue,\n ...props\n}) => {\n const [isDecimal, setIsDecimal] = React.useState(\n value && !Number.isInteger(value)\n );\n React.useEffect(() => {\n if (value) {\n setIsDecimal(value.toString().includes(\".\"));\n }\n }, [value]);\n\n const handleChangeText = (newValue: string) => {\n if (onChangeText) {\n const parsedNumber = parseFloat(newValue);\n const number = isNaN(parsedNumber) ? 0 : parsedNumber;\n setIsDecimal(newValue.includes(\".\"));\n onChangeText(number);\n }\n };\n\n let strValue;\n if (value != undefined) {\n strValue = value.toString();\n if (isDecimal && !strValue.includes(\".\")) {\n strValue = `${strValue}.`;\n }\n }\n\n return (\n <TextInput\n keyboardType=\"numeric\"\n {...props}\n value={strValue}\n defaultValue={defaultValue?.toString()}\n onChangeText={handleChangeText}\n />\n );\n};\n\nexport default NumberInput;\n\n// comment to try to fix sourcemap issue\n"]}
1
+ {"version":3,"sources":["NumberInput.tsx"],"names":["NumberInput","onChangeText","value","defaultValue","props","formatValueToStringNumber","valueToFormat","currentStringNumberValue","test","slice","includes","toString","stringNumberValue","setStringNumberValue","handleChangeText","newValue","newStringNumberValue","number","parseFloat"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAQA,MAAMA,WAA4B,GAAG,QAK/B;AAAA,MALgC;AACpCC,IAAAA,YADoC;AAEpCC,IAAAA,KAFoC;AAGpCC,IAAAA,YAHoC;AAIpC,OAAGC;AAJiC,GAKhC;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,IACLF,wBAAwB,SAAxB,IAAAA,wBAAwB,WAAxB,IAAAA,wBAAwB,CAAEG,QAA1B,CAAmC,GAAnC,KACAJ,aAAa,KAAKC,wBAAwB,GAAG,GAFxC,EAGL;AACA,iBAAOA,wBAAP;AACD,SALM,MAKA,IAAI,oCAAoCC,IAApC,CAAyCF,aAAzC,CAAJ,EAA6D;AAClE,iBAAOA,aAAP;AACD;AACF,OAXD,MAWO,IAAI,sBAASA,aAAT,KAA2B,CAAC,mBAAMA,aAAN,CAAhC,EAAsD;AAC3D,eAAOA,aAAa,CAACK,QAAd,EAAP;AACD;AACF;;AAED,WAAO,GAAP;AACD,GApB+B,EAqBhC,EArBgC,CAAlC;AAwBA,QAAM,CAACC,iBAAD,EAAoBC,oBAApB,IAA4C,qBAChDR,yBAAyB,CAACH,KAAD,CADuB,CAAlD;;AAIA,QAAMY,gBAAgB,GAAIC,QAAD,IAAsB;AAC7C,UAAMC,oBAAoB,GAAGX,yBAAyB,CACpDU,QADoD,EAEpDH,iBAFoD,CAAtD;AAIA,UAAMK,MAAM,GAAGC,UAAU,CAACF,oBAAD,CAAzB;AAEAH,IAAAA,oBAAoB,CAACG,oBAAD,CAApB;AACAf,IAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAGgB,MAAH,CAAZ;AACD,GATD;;AAWA,sBACE,6BAAC,sBAAD;AACE,IAAA,YAAY,EAAC;AADf,KAEMb,KAFN;AAGE,IAAA,KAAK,EAAEQ,iBAHT;AAIE,IAAA,YAAY,EAAEP,yBAAyB,CAACF,YAAD,CAJzC;AAKE,IAAA,YAAY,EAAEW;AALhB,KADF;AASD,CAtDD;;eAwDed,W","sourcesContent":["import React, { 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: React.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 (\n currentStringNumberValue?.includes(\".\") &&\n valueToFormat === currentStringNumberValue + \".\"\n ) {\n return currentStringNumberValue;\n } else if (/^[+-]?([0-9]+\\.?[0-9]*|\\.[0-9]+)$/.test(valueToFormat)) {\n return valueToFormat;\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"]}
@@ -30,7 +30,7 @@ const SEED_DATA = {
30
30
  }),
31
31
  direction: (0, _types.createRowDirectionProp)(),
32
32
  fieldName: (0, _types.createFieldNameProp)({
33
- defaultValue: "checkboxValue",
33
+ defaultValue: "checkboxRowValue",
34
34
  valuePropName: "value",
35
35
  handlerPropName: "onPress"
36
36
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["CheckboxRow.ts"],"names":["SEED_DATA","name","tag","category","COMPONENT_TYPES","input","layout","minHeight","triggers","Triggers","OnPress","props","label","description","required","defaultValue","labelStyle","editable","direction","fieldName","valuePropName","handlerPropName","color","uncheckedColor"],"mappings":";;;;;;;AAAA;;AAUO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,cADiB;AAEvBC,EAAAA,GAAG,EAAE,aAFkB;AAGvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,KAHH;AAIvBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AADL,GAJe;AAOvBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,OAAV,CAPa;AAQvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE,2BAAe;AACpBA,MAAAA,KAAK,EAAE,OADa;AAEpBC,MAAAA,WAAW,EAAE,iCAFO;AAGpBC,MAAAA,QAAQ,EAAE,IAHU;AAIpBC,MAAAA,YAAY,EAAE;AAJM,KAAf,CADF;AAOLC,IAAAA,UAAU,EAAE,4BAAgB;AAC1BJ,MAAAA,KAAK,EAAE,aADmB;AAE1BC,MAAAA,WAAW,EAAE,gCAFa;AAG1BC,MAAAA,QAAQ,EAAE,KAHgB;AAI1BG,MAAAA,QAAQ,EAAE;AAJgB,KAAhB,CAPP;AAaLC,IAAAA,SAAS,EAAE,oCAbN;AAcLC,IAAAA,SAAS,EAAE,gCAAoB;AAC7BJ,MAAAA,YAAY,EAAE,eADe;AAE7BK,MAAAA,aAAa,EAAE,OAFc;AAG7BC,MAAAA,eAAe,EAAE;AAHY,KAApB,CAdN;AAmBLC,IAAAA,KAAK,EAAE,4BAAgB;AACrBT,MAAAA,WAAW,EAAE;AADQ,KAAhB,CAnBF;AAsBLU,IAAAA,cAAc,EAAE,4BAAgB;AAC9BX,MAAAA,KAAK,EAAE,kBADuB;AAE9BC,MAAAA,WAAW,EAAE;AAFiB,KAAhB;AAtBX;AARgB,CAAlB","sourcesContent":["import {\n createTextProp,\n createTextStyle,\n createRowDirectionProp,\n createFieldNameProp,\n COMPONENT_TYPES,\n Triggers,\n createColorProp,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Checkbox Row\",\n tag: \"CheckboxRow\",\n category: COMPONENT_TYPES.input,\n layout: {\n minHeight: 50,\n },\n triggers: [Triggers.OnPress],\n props: {\n label: createTextProp({\n label: \"Label\",\n description: \"Label to show with the checkbox\",\n required: true,\n defaultValue: \"First Option\",\n }),\n labelStyle: createTextStyle({\n label: \"Label Style\",\n description: \"Change the styles of the label\",\n required: false,\n editable: false,\n }),\n direction: createRowDirectionProp(),\n fieldName: createFieldNameProp({\n defaultValue: \"checkboxValue\",\n valuePropName: \"value\",\n handlerPropName: \"onPress\",\n }),\n color: createColorProp({\n description: \"Color for the button (used when the checkbox is checked)\",\n }),\n uncheckedColor: createColorProp({\n label: \"Unselected Color\",\n description: \"Color for the button when the checkbox is unchecked\",\n }),\n },\n};\n"]}
1
+ {"version":3,"sources":["CheckboxRow.ts"],"names":["SEED_DATA","name","tag","category","COMPONENT_TYPES","input","layout","minHeight","triggers","Triggers","OnPress","props","label","description","required","defaultValue","labelStyle","editable","direction","fieldName","valuePropName","handlerPropName","color","uncheckedColor"],"mappings":";;;;;;;AAAA;;AAUO,MAAMA,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,cADiB;AAEvBC,EAAAA,GAAG,EAAE,aAFkB;AAGvBC,EAAAA,QAAQ,EAAEC,uBAAgBC,KAHH;AAIvBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AADL,GAJe;AAOvBC,EAAAA,QAAQ,EAAE,CAACC,gBAASC,OAAV,CAPa;AAQvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAE,2BAAe;AACpBA,MAAAA,KAAK,EAAE,OADa;AAEpBC,MAAAA,WAAW,EAAE,iCAFO;AAGpBC,MAAAA,QAAQ,EAAE,IAHU;AAIpBC,MAAAA,YAAY,EAAE;AAJM,KAAf,CADF;AAOLC,IAAAA,UAAU,EAAE,4BAAgB;AAC1BJ,MAAAA,KAAK,EAAE,aADmB;AAE1BC,MAAAA,WAAW,EAAE,gCAFa;AAG1BC,MAAAA,QAAQ,EAAE,KAHgB;AAI1BG,MAAAA,QAAQ,EAAE;AAJgB,KAAhB,CAPP;AAaLC,IAAAA,SAAS,EAAE,oCAbN;AAcLC,IAAAA,SAAS,EAAE,gCAAoB;AAC7BJ,MAAAA,YAAY,EAAE,kBADe;AAE7BK,MAAAA,aAAa,EAAE,OAFc;AAG7BC,MAAAA,eAAe,EAAE;AAHY,KAApB,CAdN;AAmBLC,IAAAA,KAAK,EAAE,4BAAgB;AACrBT,MAAAA,WAAW,EAAE;AADQ,KAAhB,CAnBF;AAsBLU,IAAAA,cAAc,EAAE,4BAAgB;AAC9BX,MAAAA,KAAK,EAAE,kBADuB;AAE9BC,MAAAA,WAAW,EAAE;AAFiB,KAAhB;AAtBX;AARgB,CAAlB","sourcesContent":["import {\n createTextProp,\n createTextStyle,\n createRowDirectionProp,\n createFieldNameProp,\n COMPONENT_TYPES,\n Triggers,\n createColorProp,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Checkbox Row\",\n tag: \"CheckboxRow\",\n category: COMPONENT_TYPES.input,\n layout: {\n minHeight: 50,\n },\n triggers: [Triggers.OnPress],\n props: {\n label: createTextProp({\n label: \"Label\",\n description: \"Label to show with the checkbox\",\n required: true,\n defaultValue: \"First Option\",\n }),\n labelStyle: createTextStyle({\n label: \"Label Style\",\n description: \"Change the styles of the label\",\n required: false,\n editable: false,\n }),\n direction: createRowDirectionProp(),\n fieldName: createFieldNameProp({\n defaultValue: \"checkboxRowValue\",\n valuePropName: \"value\",\n handlerPropName: \"onPress\",\n }),\n color: createColorProp({\n description: \"Color for the button (used when the checkbox is checked)\",\n }),\n uncheckedColor: createColorProp({\n label: \"Unselected Color\",\n description: \"Color for the button when the checkbox is unchecked\",\n }),\n },\n};\n"]}
@@ -173,8 +173,13 @@ const SEED_DATA = [{
173
173
  borderRadius: 8
174
174
  },
175
175
  triggers: [_types.Triggers.OnChangeText],
176
- props: { ..._types.NUMBER_INPUT_PROPS,
177
- ...SEED_DATA_PROPS
176
+ props: { ...SEED_DATA_PROPS,
177
+ ..._types.NUMBER_INPUT_PROPS,
178
+ fieldName: (0, _types.createFieldNameProp)({
179
+ defaultValue: "numberInputValue",
180
+ valuePropName: "value",
181
+ handlerPropName: "onChangeText"
182
+ })
178
183
  }
179
184
  }];
180
185
  exports.SEED_DATA = SEED_DATA;
@@ -1 +1 @@
1
- {"version":3,"sources":["TextInput.ts"],"names":["SEED_DATA_PROPS","style","group","GROUPS","basic","label","description","editable","required","formType","FORM_TYPES","typeStyle","propType","PROP_TYPES","THEME","defaultValue","clearButtonMode","options","flatArray","STRING","clearTextOnFocus","boolean","BOOLEAN","enablesReturnKeyAutomatically","underlineColorAndroid","color","fieldName","FIELD_NAME","handlerPropName","SEED_DATA","name","tag","category","COMPONENT_TYPES","input","preview_image_url","supports_list_render","layout","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderColor","paddingLeft","paddingRight","paddingTop","paddingBottom","borderRadius","triggers","Triggers","OnChangeText","props","TEXT_INPUT_PROPS","multiline","numberOfLines","min","step","precision","number","NUMBER","scrollEnabled","spellcheck","textContentType","advanced","textBreakStrategy","NUMBER_INPUT_PROPS"],"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 NUMBER_INPUT_PROPS,\n Triggers,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA_PROPS = {\n style: {\n group: GROUPS.basic,\n label: \"Style\",\n description: \"Text Style\",\n editable: false,\n required: false,\n formType: FORM_TYPES.typeStyle,\n propType: PROP_TYPES.THEME,\n defaultValue: null,\n },\n clearButtonMode: {\n group: GROUPS.basic,\n label: \"Clear Button Mode\",\n description:\n \"Enables a button within the textInput to clear the data entered\",\n editable: true,\n required: false,\n options: [\"never\", \"while-editing\", \"unless-editing\", \"always\"],\n defaultValue: null,\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n clearTextOnFocus: {\n group: GROUPS.basic,\n label: \"Clear Text on Focus\",\n description:\n \"If true, clears the text field automatically when its focused.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n enablesReturnKeyAutomatically: {\n group: GROUPS.basic,\n label: \"Enables Return Key Automatically\",\n description:\n \"If true, the keyboard disables the return key when there is no text and automatically enables it when there is (Default: false)\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n underlineColorAndroid: {\n group: GROUPS.basic,\n label: \"Underline color\",\n description:\n \"(Android Only) The color of the underline(the line underneath the text when finished typing.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.color,\n propType: PROP_TYPES.THEME,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"textInputValue\",\n handlerPropName: \"onChangeText\",\n },\n};\n\nexport const SEED_DATA = [\n {\n name: \"Text Input\",\n tag: \"TextInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...TEXT_INPUT_PROPS,\n ...SEED_DATA_PROPS,\n multiline: {\n group: GROUPS.basic,\n label: \"Multiple Lines\",\n description:\n \"Allows multiple lines of input, useful for situations where the user may be typing in a lot of data.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n numberOfLines: {\n group: GROUPS.basic,\n label: \"Number of Lines\",\n description:\n \"Sets the number of lines for the input (Multiple Lines needs to be true)\",\n editable: true,\n required: false,\n defaultValue: null,\n min: 0,\n step: 1,\n precision: 0,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n },\n scrollEnabled: {\n group: GROUPS.basic,\n label: \"Scroll Enabled\",\n description:\n \"If false, scrolling of the input will be disabled. Only works when Multiple Lines is true\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n spellcheck: {\n group: GROUPS.basic,\n label: \"Disable Spell Check\",\n description:\n \"If false, disables spell-check style (red underlines). Default comes from Auto Correct\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n textContentType: {\n group: GROUPS.advanced,\n label: \"Text Content Type\",\n description:\n \"Give the keyboard and system about what it should do with the input. For example, if its an address, autofill from address book\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\n \"none\",\n \"URL\",\n \"addressCity\",\n \"addressCityAndState\",\n \"addressState\",\n \"countryName\",\n \"creditCardNumber\",\n \"emailAddress\",\n \"familyName\",\n \"fullStreetAddress\",\n \"givenName\",\n \"jobTitle\",\n \"location\",\n \"middleName\",\n \"name\",\n \"namePrefix\",\n \"nameSuffix\",\n \"nickname\",\n \"organizationName\",\n \"postalCode\",\n \"streetAddressLine1\",\n \"streetAddressLine2\",\n \"sublocality\",\n \"telephoneNumber\",\n \"username\",\n \"password\",\n ],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n textBreakStrategy: {\n group: GROUPS.advanced,\n label: \"Text Break Strategy\",\n description:\n \"(Android Only) Set the text break strategy. (Default: simple)\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\"simple\", \"highQuality\", \"balanced\"],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n },\n },\n {\n name: \"Number Input\",\n tag: \"NumberInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...NUMBER_INPUT_PROPS,\n ...SEED_DATA_PROPS,\n },\n },\n];\n"]}
1
+ {"version":3,"sources":["TextInput.ts"],"names":["SEED_DATA_PROPS","style","group","GROUPS","basic","label","description","editable","required","formType","FORM_TYPES","typeStyle","propType","PROP_TYPES","THEME","defaultValue","clearButtonMode","options","flatArray","STRING","clearTextOnFocus","boolean","BOOLEAN","enablesReturnKeyAutomatically","underlineColorAndroid","color","fieldName","FIELD_NAME","handlerPropName","SEED_DATA","name","tag","category","COMPONENT_TYPES","input","preview_image_url","supports_list_render","layout","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderColor","paddingLeft","paddingRight","paddingTop","paddingBottom","borderRadius","triggers","Triggers","OnChangeText","props","TEXT_INPUT_PROPS","multiline","numberOfLines","min","step","precision","number","NUMBER","scrollEnabled","spellcheck","textContentType","advanced","textBreakStrategy","NUMBER_INPUT_PROPS","valuePropName"],"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 NUMBER_INPUT_PROPS,\n Triggers,\n createFieldNameProp,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA_PROPS = {\n style: {\n group: GROUPS.basic,\n label: \"Style\",\n description: \"Text Style\",\n editable: false,\n required: false,\n formType: FORM_TYPES.typeStyle,\n propType: PROP_TYPES.THEME,\n defaultValue: null,\n },\n clearButtonMode: {\n group: GROUPS.basic,\n label: \"Clear Button Mode\",\n description:\n \"Enables a button within the textInput to clear the data entered\",\n editable: true,\n required: false,\n options: [\"never\", \"while-editing\", \"unless-editing\", \"always\"],\n defaultValue: null,\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n clearTextOnFocus: {\n group: GROUPS.basic,\n label: \"Clear Text on Focus\",\n description:\n \"If true, clears the text field automatically when its focused.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n enablesReturnKeyAutomatically: {\n group: GROUPS.basic,\n label: \"Enables Return Key Automatically\",\n description:\n \"If true, the keyboard disables the return key when there is no text and automatically enables it when there is (Default: false)\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n underlineColorAndroid: {\n group: GROUPS.basic,\n label: \"Underline color\",\n description:\n \"(Android Only) The color of the underline(the line underneath the text when finished typing.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.color,\n propType: PROP_TYPES.THEME,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"textInputValue\",\n handlerPropName: \"onChangeText\",\n },\n};\n\nexport const SEED_DATA = [\n {\n name: \"Text Input\",\n tag: \"TextInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...TEXT_INPUT_PROPS,\n ...SEED_DATA_PROPS,\n multiline: {\n group: GROUPS.basic,\n label: \"Multiple Lines\",\n description:\n \"Allows multiple lines of input, useful for situations where the user may be typing in a lot of data.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n numberOfLines: {\n group: GROUPS.basic,\n label: \"Number of Lines\",\n description:\n \"Sets the number of lines for the input (Multiple Lines needs to be true)\",\n editable: true,\n required: false,\n defaultValue: null,\n min: 0,\n step: 1,\n precision: 0,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n },\n scrollEnabled: {\n group: GROUPS.basic,\n label: \"Scroll Enabled\",\n description:\n \"If false, scrolling of the input will be disabled. Only works when Multiple Lines is true\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n spellcheck: {\n group: GROUPS.basic,\n label: \"Disable Spell Check\",\n description:\n \"If false, disables spell-check style (red underlines). Default comes from Auto Correct\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n textContentType: {\n group: GROUPS.advanced,\n label: \"Text Content Type\",\n description:\n \"Give the keyboard and system about what it should do with the input. For example, if its an address, autofill from address book\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\n \"none\",\n \"URL\",\n \"addressCity\",\n \"addressCityAndState\",\n \"addressState\",\n \"countryName\",\n \"creditCardNumber\",\n \"emailAddress\",\n \"familyName\",\n \"fullStreetAddress\",\n \"givenName\",\n \"jobTitle\",\n \"location\",\n \"middleName\",\n \"name\",\n \"namePrefix\",\n \"nameSuffix\",\n \"nickname\",\n \"organizationName\",\n \"postalCode\",\n \"streetAddressLine1\",\n \"streetAddressLine2\",\n \"sublocality\",\n \"telephoneNumber\",\n \"username\",\n \"password\",\n ],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n textBreakStrategy: {\n group: GROUPS.advanced,\n label: \"Text Break Strategy\",\n description:\n \"(Android Only) Set the text break strategy. (Default: simple)\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\"simple\", \"highQuality\", \"balanced\"],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n },\n },\n {\n name: \"Number Input\",\n tag: \"NumberInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...SEED_DATA_PROPS,\n ...NUMBER_INPUT_PROPS,\n fieldName: createFieldNameProp({\n defaultValue: \"numberInputValue\",\n valuePropName: \"value\",\n handlerPropName: \"onChangeText\",\n }),\n },\n },\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 [isDecimal, setIsDecimal] = React.useState(value && !Number.isInteger(value));
14
- React.useEffect(() => {
15
- if (value) {
16
- setIsDecimal(value.toString().includes("."));
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 (currentStringNumberValue !== null && currentStringNumberValue !== void 0 && currentStringNumberValue.includes(".") && valueToFormat === currentStringNumberValue + ".") {
20
+ return currentStringNumberValue;
21
+ } else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
22
+ return valueToFormat;
23
+ }
24
+ } else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {
25
+ return valueToFormat.toString();
26
+ }
17
27
  }
18
- }, [value]);
28
+
29
+ return "0";
30
+ }, []);
31
+ const [stringNumberValue, setStringNumberValue] = useState(formatValueToStringNumber(value));
19
32
 
20
33
  const handleChangeText = newValue => {
21
- if (onChangeText) {
22
- const parsedNumber = parseFloat(newValue);
23
- const number = isNaN(parsedNumber) ? 0 : parsedNumber;
24
- setIsDecimal(newValue.includes("."));
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: strValue,
43
- defaultValue: defaultValue === null || defaultValue === void 0 ? void 0 : defaultValue.toString(),
43
+ value: stringNumberValue,
44
+ defaultValue: formatValueToStringNumber(defaultValue),
44
45
  onChangeText: handleChangeText
45
46
  }));
46
47
  };
47
48
 
48
- export default NumberInput; // comment to try to fix sourcemap issue
49
+ export default NumberInput;
49
50
  //# sourceMappingURL=NumberInput.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["NumberInput.tsx"],"names":["React","TextInput","NumberInput","onChangeText","value","defaultValue","props","isDecimal","setIsDecimal","useState","Number","isInteger","useEffect","toString","includes","handleChangeText","newValue","parsedNumber","parseFloat","number","isNaN","strValue","undefined"],"mappings":";;AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,QAA0B,cAA1B;;AAQA,MAAMC,WAA4B,GAAG,QAK/B;AAAA,MALgC;AACpCC,IAAAA,YADoC;AAEpCC,IAAAA,KAFoC;AAGpCC,IAAAA,YAHoC;AAIpC,OAAGC;AAJiC,GAKhC;AACJ,QAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4BR,KAAK,CAACS,QAAN,CAChCL,KAAK,IAAI,CAACM,MAAM,CAACC,SAAP,CAAiBP,KAAjB,CADsB,CAAlC;AAGAJ,EAAAA,KAAK,CAACY,SAAN,CAAgB,MAAM;AACpB,QAAIR,KAAJ,EAAW;AACTI,MAAAA,YAAY,CAACJ,KAAK,CAACS,QAAN,GAAiBC,QAAjB,CAA0B,GAA1B,CAAD,CAAZ;AACD;AACF,GAJD,EAIG,CAACV,KAAD,CAJH;;AAMA,QAAMW,gBAAgB,GAAIC,QAAD,IAAsB;AAC7C,QAAIb,YAAJ,EAAkB;AAChB,YAAMc,YAAY,GAAGC,UAAU,CAACF,QAAD,CAA/B;AACA,YAAMG,MAAM,GAAGC,KAAK,CAACH,YAAD,CAAL,GAAsB,CAAtB,GAA0BA,YAAzC;AACAT,MAAAA,YAAY,CAACQ,QAAQ,CAACF,QAAT,CAAkB,GAAlB,CAAD,CAAZ;AACAX,MAAAA,YAAY,CAACgB,MAAD,CAAZ;AACD;AACF,GAPD;;AASA,MAAIE,QAAJ;;AACA,MAAIjB,KAAK,IAAIkB,SAAb,EAAwB;AACtBD,IAAAA,QAAQ,GAAGjB,KAAK,CAACS,QAAN,EAAX;;AACA,QAAIN,SAAS,IAAI,CAACc,QAAQ,CAACP,QAAT,CAAkB,GAAlB,CAAlB,EAA0C;AACxCO,MAAAA,QAAQ,GAAI,GAAEA,QAAS,GAAvB;AACD;AACF;;AAED,sBACE,oBAAC,SAAD;AACE,IAAA,YAAY,EAAC;AADf,KAEMf,KAFN;AAGE,IAAA,KAAK,EAAEe,QAHT;AAIE,IAAA,YAAY,EAAEhB,YAAF,aAAEA,YAAF,uBAAEA,YAAY,CAAEQ,QAAd,EAJhB;AAKE,IAAA,YAAY,EAAEE;AALhB,KADF;AASD,CAzCD;;AA2CA,eAAeb,WAAf,C,CAEA","sourcesContent":["import React from \"react\";\nimport { TextInput } from \"react-native\";\n\ninterface Props {\n value?: number;\n defaultValue?: number;\n onChangeText: (value?: number) => void;\n}\n\nconst NumberInput: React.FC<Props> = ({\n onChangeText,\n value,\n defaultValue,\n ...props\n}) => {\n const [isDecimal, setIsDecimal] = React.useState(\n value && !Number.isInteger(value)\n );\n React.useEffect(() => {\n if (value) {\n setIsDecimal(value.toString().includes(\".\"));\n }\n }, [value]);\n\n const handleChangeText = (newValue: string) => {\n if (onChangeText) {\n const parsedNumber = parseFloat(newValue);\n const number = isNaN(parsedNumber) ? 0 : parsedNumber;\n setIsDecimal(newValue.includes(\".\"));\n onChangeText(number);\n }\n };\n\n let strValue;\n if (value != undefined) {\n strValue = value.toString();\n if (isDecimal && !strValue.includes(\".\")) {\n strValue = `${strValue}.`;\n }\n }\n\n return (\n <TextInput\n keyboardType=\"numeric\"\n {...props}\n value={strValue}\n defaultValue={defaultValue?.toString()}\n onChangeText={handleChangeText}\n />\n );\n};\n\nexport default NumberInput;\n\n// comment to try to fix sourcemap issue\n"]}
1
+ {"version":3,"sources":["NumberInput.tsx"],"names":["React","useCallback","useState","TextInput","isString","isNumber","isNaN","NumberInput","onChangeText","value","defaultValue","props","formatValueToStringNumber","valueToFormat","currentStringNumberValue","test","slice","includes","toString","stringNumberValue","setStringNumberValue","handleChangeText","newValue","newStringNumberValue","number","parseFloat"],"mappings":";;AAAA,OAAOA,KAAP,IAAgBC,WAAhB,EAA6BC,QAA7B,QAA6C,OAA7C;AACA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,QAAT,EAAmBC,QAAnB,EAA6BC,KAA7B,QAA0C,QAA1C;;AAQA,MAAMC,WAA4B,GAAG,QAK/B;AAAA,MALgC;AACpCC,IAAAA,YADoC;AAEpCC,IAAAA,KAFoC;AAGpCC,IAAAA,YAHoC;AAIpC,OAAGC;AAJiC,GAKhC;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,IACLF,wBAAwB,SAAxB,IAAAA,wBAAwB,WAAxB,IAAAA,wBAAwB,CAAEG,QAA1B,CAAmC,GAAnC,KACAJ,aAAa,KAAKC,wBAAwB,GAAG,GAFxC,EAGL;AACA,iBAAOA,wBAAP;AACD,SALM,MAKA,IAAI,oCAAoCC,IAApC,CAAyCF,aAAzC,CAAJ,EAA6D;AAClE,iBAAOA,aAAP;AACD;AACF,OAXD,MAWO,IAAIR,QAAQ,CAACQ,aAAD,CAAR,IAA2B,CAACP,KAAK,CAACO,aAAD,CAArC,EAAsD;AAC3D,eAAOA,aAAa,CAACK,QAAd,EAAP;AACD;AACF;;AAED,WAAO,GAAP;AACD,GApB0C,EAqB3C,EArB2C,CAA7C;AAwBA,QAAM,CAACC,iBAAD,EAAoBC,oBAApB,IAA4ClB,QAAQ,CACxDU,yBAAyB,CAACH,KAAD,CAD+B,CAA1D;;AAIA,QAAMY,gBAAgB,GAAIC,QAAD,IAAsB;AAC7C,UAAMC,oBAAoB,GAAGX,yBAAyB,CACpDU,QADoD,EAEpDH,iBAFoD,CAAtD;AAIA,UAAMK,MAAM,GAAGC,UAAU,CAACF,oBAAD,CAAzB;AAEAH,IAAAA,oBAAoB,CAACG,oBAAD,CAApB;AACAf,IAAAA,YAAY,SAAZ,IAAAA,YAAY,WAAZ,YAAAA,YAAY,CAAGgB,MAAH,CAAZ;AACD,GATD;;AAWA,sBACE,oBAAC,SAAD;AACE,IAAA,YAAY,EAAC;AADf,KAEMb,KAFN;AAGE,IAAA,KAAK,EAAEQ,iBAHT;AAIE,IAAA,YAAY,EAAEP,yBAAyB,CAACF,YAAD,CAJzC;AAKE,IAAA,YAAY,EAAEW;AALhB,KADF;AASD,CAtDD;;AAwDA,eAAed,WAAf","sourcesContent":["import React, { 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: React.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 (\n currentStringNumberValue?.includes(\".\") &&\n valueToFormat === currentStringNumberValue + \".\"\n ) {\n return currentStringNumberValue;\n } else if (/^[+-]?([0-9]+\\.?[0-9]*|\\.[0-9]+)$/.test(valueToFormat)) {\n return valueToFormat;\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"]}
@@ -22,7 +22,7 @@ export const SEED_DATA = {
22
22
  }),
23
23
  direction: createRowDirectionProp(),
24
24
  fieldName: createFieldNameProp({
25
- defaultValue: "checkboxValue",
25
+ defaultValue: "checkboxRowValue",
26
26
  valuePropName: "value",
27
27
  handlerPropName: "onPress"
28
28
  }),
@@ -1 +1 @@
1
- {"version":3,"sources":["CheckboxRow.ts"],"names":["createTextProp","createTextStyle","createRowDirectionProp","createFieldNameProp","COMPONENT_TYPES","Triggers","createColorProp","SEED_DATA","name","tag","category","input","layout","minHeight","triggers","OnPress","props","label","description","required","defaultValue","labelStyle","editable","direction","fieldName","valuePropName","handlerPropName","color","uncheckedColor"],"mappings":"AAAA,SACEA,cADF,EAEEC,eAFF,EAGEC,sBAHF,EAIEC,mBAJF,EAKEC,eALF,EAMEC,QANF,EAOEC,eAPF,QAQO,iBARP;AAUA,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,cADiB;AAEvBC,EAAAA,GAAG,EAAE,aAFkB;AAGvBC,EAAAA,QAAQ,EAAEN,eAAe,CAACO,KAHH;AAIvBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AADL,GAJe;AAOvBC,EAAAA,QAAQ,EAAE,CAACT,QAAQ,CAACU,OAAV,CAPa;AAQvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAEjB,cAAc,CAAC;AACpBiB,MAAAA,KAAK,EAAE,OADa;AAEpBC,MAAAA,WAAW,EAAE,iCAFO;AAGpBC,MAAAA,QAAQ,EAAE,IAHU;AAIpBC,MAAAA,YAAY,EAAE;AAJM,KAAD,CADhB;AAOLC,IAAAA,UAAU,EAAEpB,eAAe,CAAC;AAC1BgB,MAAAA,KAAK,EAAE,aADmB;AAE1BC,MAAAA,WAAW,EAAE,gCAFa;AAG1BC,MAAAA,QAAQ,EAAE,KAHgB;AAI1BG,MAAAA,QAAQ,EAAE;AAJgB,KAAD,CAPtB;AAaLC,IAAAA,SAAS,EAAErB,sBAAsB,EAb5B;AAcLsB,IAAAA,SAAS,EAAErB,mBAAmB,CAAC;AAC7BiB,MAAAA,YAAY,EAAE,eADe;AAE7BK,MAAAA,aAAa,EAAE,OAFc;AAG7BC,MAAAA,eAAe,EAAE;AAHY,KAAD,CAdzB;AAmBLC,IAAAA,KAAK,EAAErB,eAAe,CAAC;AACrBY,MAAAA,WAAW,EAAE;AADQ,KAAD,CAnBjB;AAsBLU,IAAAA,cAAc,EAAEtB,eAAe,CAAC;AAC9BW,MAAAA,KAAK,EAAE,kBADuB;AAE9BC,MAAAA,WAAW,EAAE;AAFiB,KAAD;AAtB1B;AARgB,CAAlB","sourcesContent":["import {\n createTextProp,\n createTextStyle,\n createRowDirectionProp,\n createFieldNameProp,\n COMPONENT_TYPES,\n Triggers,\n createColorProp,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Checkbox Row\",\n tag: \"CheckboxRow\",\n category: COMPONENT_TYPES.input,\n layout: {\n minHeight: 50,\n },\n triggers: [Triggers.OnPress],\n props: {\n label: createTextProp({\n label: \"Label\",\n description: \"Label to show with the checkbox\",\n required: true,\n defaultValue: \"First Option\",\n }),\n labelStyle: createTextStyle({\n label: \"Label Style\",\n description: \"Change the styles of the label\",\n required: false,\n editable: false,\n }),\n direction: createRowDirectionProp(),\n fieldName: createFieldNameProp({\n defaultValue: \"checkboxValue\",\n valuePropName: \"value\",\n handlerPropName: \"onPress\",\n }),\n color: createColorProp({\n description: \"Color for the button (used when the checkbox is checked)\",\n }),\n uncheckedColor: createColorProp({\n label: \"Unselected Color\",\n description: \"Color for the button when the checkbox is unchecked\",\n }),\n },\n};\n"]}
1
+ {"version":3,"sources":["CheckboxRow.ts"],"names":["createTextProp","createTextStyle","createRowDirectionProp","createFieldNameProp","COMPONENT_TYPES","Triggers","createColorProp","SEED_DATA","name","tag","category","input","layout","minHeight","triggers","OnPress","props","label","description","required","defaultValue","labelStyle","editable","direction","fieldName","valuePropName","handlerPropName","color","uncheckedColor"],"mappings":"AAAA,SACEA,cADF,EAEEC,eAFF,EAGEC,sBAHF,EAIEC,mBAJF,EAKEC,eALF,EAMEC,QANF,EAOEC,eAPF,QAQO,iBARP;AAUA,OAAO,MAAMC,SAAS,GAAG;AACvBC,EAAAA,IAAI,EAAE,cADiB;AAEvBC,EAAAA,GAAG,EAAE,aAFkB;AAGvBC,EAAAA,QAAQ,EAAEN,eAAe,CAACO,KAHH;AAIvBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,SAAS,EAAE;AADL,GAJe;AAOvBC,EAAAA,QAAQ,EAAE,CAACT,QAAQ,CAACU,OAAV,CAPa;AAQvBC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAEjB,cAAc,CAAC;AACpBiB,MAAAA,KAAK,EAAE,OADa;AAEpBC,MAAAA,WAAW,EAAE,iCAFO;AAGpBC,MAAAA,QAAQ,EAAE,IAHU;AAIpBC,MAAAA,YAAY,EAAE;AAJM,KAAD,CADhB;AAOLC,IAAAA,UAAU,EAAEpB,eAAe,CAAC;AAC1BgB,MAAAA,KAAK,EAAE,aADmB;AAE1BC,MAAAA,WAAW,EAAE,gCAFa;AAG1BC,MAAAA,QAAQ,EAAE,KAHgB;AAI1BG,MAAAA,QAAQ,EAAE;AAJgB,KAAD,CAPtB;AAaLC,IAAAA,SAAS,EAAErB,sBAAsB,EAb5B;AAcLsB,IAAAA,SAAS,EAAErB,mBAAmB,CAAC;AAC7BiB,MAAAA,YAAY,EAAE,kBADe;AAE7BK,MAAAA,aAAa,EAAE,OAFc;AAG7BC,MAAAA,eAAe,EAAE;AAHY,KAAD,CAdzB;AAmBLC,IAAAA,KAAK,EAAErB,eAAe,CAAC;AACrBY,MAAAA,WAAW,EAAE;AADQ,KAAD,CAnBjB;AAsBLU,IAAAA,cAAc,EAAEtB,eAAe,CAAC;AAC9BW,MAAAA,KAAK,EAAE,kBADuB;AAE9BC,MAAAA,WAAW,EAAE;AAFiB,KAAD;AAtB1B;AARgB,CAAlB","sourcesContent":["import {\n createTextProp,\n createTextStyle,\n createRowDirectionProp,\n createFieldNameProp,\n COMPONENT_TYPES,\n Triggers,\n createColorProp,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA = {\n name: \"Checkbox Row\",\n tag: \"CheckboxRow\",\n category: COMPONENT_TYPES.input,\n layout: {\n minHeight: 50,\n },\n triggers: [Triggers.OnPress],\n props: {\n label: createTextProp({\n label: \"Label\",\n description: \"Label to show with the checkbox\",\n required: true,\n defaultValue: \"First Option\",\n }),\n labelStyle: createTextStyle({\n label: \"Label Style\",\n description: \"Change the styles of the label\",\n required: false,\n editable: false,\n }),\n direction: createRowDirectionProp(),\n fieldName: createFieldNameProp({\n defaultValue: \"checkboxRowValue\",\n valuePropName: \"value\",\n handlerPropName: \"onPress\",\n }),\n color: createColorProp({\n description: \"Color for the button (used when the checkbox is checked)\",\n }),\n uncheckedColor: createColorProp({\n label: \"Unselected Color\",\n description: \"Color for the button when the checkbox is unchecked\",\n }),\n },\n};\n"]}
@@ -1,4 +1,4 @@
1
- import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, TEXT_INPUT_PROPS, NUMBER_INPUT_PROPS, Triggers } from "@draftbit/types";
1
+ import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, TEXT_INPUT_PROPS, NUMBER_INPUT_PROPS, Triggers, createFieldNameProp } from "@draftbit/types";
2
2
  export const SEED_DATA_PROPS = {
3
3
  style: {
4
4
  group: GROUPS.basic,
@@ -164,8 +164,13 @@ export const SEED_DATA = [{
164
164
  borderRadius: 8
165
165
  },
166
166
  triggers: [Triggers.OnChangeText],
167
- props: { ...NUMBER_INPUT_PROPS,
168
- ...SEED_DATA_PROPS
167
+ props: { ...SEED_DATA_PROPS,
168
+ ...NUMBER_INPUT_PROPS,
169
+ fieldName: createFieldNameProp({
170
+ defaultValue: "numberInputValue",
171
+ valuePropName: "value",
172
+ handlerPropName: "onChangeText"
173
+ })
169
174
  }
170
175
  }];
171
176
  //# sourceMappingURL=TextInput.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["TextInput.ts"],"names":["GROUPS","COMPONENT_TYPES","FORM_TYPES","PROP_TYPES","FIELD_NAME","TEXT_INPUT_PROPS","NUMBER_INPUT_PROPS","Triggers","SEED_DATA_PROPS","style","group","basic","label","description","editable","required","formType","typeStyle","propType","THEME","defaultValue","clearButtonMode","options","flatArray","STRING","clearTextOnFocus","boolean","BOOLEAN","enablesReturnKeyAutomatically","underlineColorAndroid","color","fieldName","handlerPropName","SEED_DATA","name","tag","category","input","preview_image_url","supports_list_render","layout","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderColor","paddingLeft","paddingRight","paddingTop","paddingBottom","borderRadius","triggers","OnChangeText","props","multiline","numberOfLines","min","step","precision","number","NUMBER","scrollEnabled","spellcheck","textContentType","advanced","textBreakStrategy"],"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 NUMBER_INPUT_PROPS,\n Triggers,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA_PROPS = {\n style: {\n group: GROUPS.basic,\n label: \"Style\",\n description: \"Text Style\",\n editable: false,\n required: false,\n formType: FORM_TYPES.typeStyle,\n propType: PROP_TYPES.THEME,\n defaultValue: null,\n },\n clearButtonMode: {\n group: GROUPS.basic,\n label: \"Clear Button Mode\",\n description:\n \"Enables a button within the textInput to clear the data entered\",\n editable: true,\n required: false,\n options: [\"never\", \"while-editing\", \"unless-editing\", \"always\"],\n defaultValue: null,\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n clearTextOnFocus: {\n group: GROUPS.basic,\n label: \"Clear Text on Focus\",\n description:\n \"If true, clears the text field automatically when its focused.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n enablesReturnKeyAutomatically: {\n group: GROUPS.basic,\n label: \"Enables Return Key Automatically\",\n description:\n \"If true, the keyboard disables the return key when there is no text and automatically enables it when there is (Default: false)\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n underlineColorAndroid: {\n group: GROUPS.basic,\n label: \"Underline color\",\n description:\n \"(Android Only) The color of the underline(the line underneath the text when finished typing.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.color,\n propType: PROP_TYPES.THEME,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"textInputValue\",\n handlerPropName: \"onChangeText\",\n },\n};\n\nexport const SEED_DATA = [\n {\n name: \"Text Input\",\n tag: \"TextInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...TEXT_INPUT_PROPS,\n ...SEED_DATA_PROPS,\n multiline: {\n group: GROUPS.basic,\n label: \"Multiple Lines\",\n description:\n \"Allows multiple lines of input, useful for situations where the user may be typing in a lot of data.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n numberOfLines: {\n group: GROUPS.basic,\n label: \"Number of Lines\",\n description:\n \"Sets the number of lines for the input (Multiple Lines needs to be true)\",\n editable: true,\n required: false,\n defaultValue: null,\n min: 0,\n step: 1,\n precision: 0,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n },\n scrollEnabled: {\n group: GROUPS.basic,\n label: \"Scroll Enabled\",\n description:\n \"If false, scrolling of the input will be disabled. Only works when Multiple Lines is true\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n spellcheck: {\n group: GROUPS.basic,\n label: \"Disable Spell Check\",\n description:\n \"If false, disables spell-check style (red underlines). Default comes from Auto Correct\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n textContentType: {\n group: GROUPS.advanced,\n label: \"Text Content Type\",\n description:\n \"Give the keyboard and system about what it should do with the input. For example, if its an address, autofill from address book\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\n \"none\",\n \"URL\",\n \"addressCity\",\n \"addressCityAndState\",\n \"addressState\",\n \"countryName\",\n \"creditCardNumber\",\n \"emailAddress\",\n \"familyName\",\n \"fullStreetAddress\",\n \"givenName\",\n \"jobTitle\",\n \"location\",\n \"middleName\",\n \"name\",\n \"namePrefix\",\n \"nameSuffix\",\n \"nickname\",\n \"organizationName\",\n \"postalCode\",\n \"streetAddressLine1\",\n \"streetAddressLine2\",\n \"sublocality\",\n \"telephoneNumber\",\n \"username\",\n \"password\",\n ],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n textBreakStrategy: {\n group: GROUPS.advanced,\n label: \"Text Break Strategy\",\n description:\n \"(Android Only) Set the text break strategy. (Default: simple)\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\"simple\", \"highQuality\", \"balanced\"],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n },\n },\n {\n name: \"Number Input\",\n tag: \"NumberInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...NUMBER_INPUT_PROPS,\n ...SEED_DATA_PROPS,\n },\n },\n];\n"]}
1
+ {"version":3,"sources":["TextInput.ts"],"names":["GROUPS","COMPONENT_TYPES","FORM_TYPES","PROP_TYPES","FIELD_NAME","TEXT_INPUT_PROPS","NUMBER_INPUT_PROPS","Triggers","createFieldNameProp","SEED_DATA_PROPS","style","group","basic","label","description","editable","required","formType","typeStyle","propType","THEME","defaultValue","clearButtonMode","options","flatArray","STRING","clearTextOnFocus","boolean","BOOLEAN","enablesReturnKeyAutomatically","underlineColorAndroid","color","fieldName","handlerPropName","SEED_DATA","name","tag","category","input","preview_image_url","supports_list_render","layout","borderLeftWidth","borderRightWidth","borderTopWidth","borderBottomWidth","borderColor","paddingLeft","paddingRight","paddingTop","paddingBottom","borderRadius","triggers","OnChangeText","props","multiline","numberOfLines","min","step","precision","number","NUMBER","scrollEnabled","spellcheck","textContentType","advanced","textBreakStrategy","valuePropName"],"mappings":"AAAA,SACEA,MADF,EAEEC,eAFF,EAGEC,UAHF,EAIEC,UAJF,EAKEC,UALF,EAMEC,gBANF,EAOEC,kBAPF,EAQEC,QARF,EASEC,mBATF,QAUO,iBAVP;AAYA,OAAO,MAAMC,eAAe,GAAG;AAC7BC,EAAAA,KAAK,EAAE;AACLC,IAAAA,KAAK,EAAEX,MAAM,CAACY,KADT;AAELC,IAAAA,KAAK,EAAE,OAFF;AAGLC,IAAAA,WAAW,EAAE,YAHR;AAILC,IAAAA,QAAQ,EAAE,KAJL;AAKLC,IAAAA,QAAQ,EAAE,KALL;AAMLC,IAAAA,QAAQ,EAAEf,UAAU,CAACgB,SANhB;AAOLC,IAAAA,QAAQ,EAAEhB,UAAU,CAACiB,KAPhB;AAQLC,IAAAA,YAAY,EAAE;AART,GADsB;AAW7BC,EAAAA,eAAe,EAAE;AACfX,IAAAA,KAAK,EAAEX,MAAM,CAACY,KADC;AAEfC,IAAAA,KAAK,EAAE,mBAFQ;AAGfC,IAAAA,WAAW,EACT,iEAJa;AAKfC,IAAAA,QAAQ,EAAE,IALK;AAMfC,IAAAA,QAAQ,EAAE,KANK;AAOfO,IAAAA,OAAO,EAAE,CAAC,OAAD,EAAU,eAAV,EAA2B,gBAA3B,EAA6C,QAA7C,CAPM;AAQfF,IAAAA,YAAY,EAAE,IARC;AASfJ,IAAAA,QAAQ,EAAEf,UAAU,CAACsB,SATN;AAUfL,IAAAA,QAAQ,EAAEhB,UAAU,CAACsB;AAVN,GAXY;AAuB7BC,EAAAA,gBAAgB,EAAE;AAChBf,IAAAA,KAAK,EAAEX,MAAM,CAACY,KADE;AAEhBC,IAAAA,KAAK,EAAE,qBAFS;AAGhBC,IAAAA,WAAW,EACT,gEAJc;AAKhBC,IAAAA,QAAQ,EAAE,IALM;AAMhBC,IAAAA,QAAQ,EAAE,KANM;AAOhBK,IAAAA,YAAY,EAAE,IAPE;AAQhBJ,IAAAA,QAAQ,EAAEf,UAAU,CAACyB,OARL;AAShBR,IAAAA,QAAQ,EAAEhB,UAAU,CAACyB;AATL,GAvBW;AAkC7BC,EAAAA,6BAA6B,EAAE;AAC7BlB,IAAAA,KAAK,EAAEX,MAAM,CAACY,KADe;AAE7BC,IAAAA,KAAK,EAAE,kCAFsB;AAG7BC,IAAAA,WAAW,EACT,iIAJ2B;AAK7BC,IAAAA,QAAQ,EAAE,IALmB;AAM7BC,IAAAA,QAAQ,EAAE,KANmB;AAO7BK,IAAAA,YAAY,EAAE,IAPe;AAQ7BJ,IAAAA,QAAQ,EAAEf,UAAU,CAACyB,OARQ;AAS7BR,IAAAA,QAAQ,EAAEhB,UAAU,CAACyB;AATQ,GAlCF;AA6C7BE,EAAAA,qBAAqB,EAAE;AACrBnB,IAAAA,KAAK,EAAEX,MAAM,CAACY,KADO;AAErBC,IAAAA,KAAK,EAAE,iBAFc;AAGrBC,IAAAA,WAAW,EACT,8FAJmB;AAKrBC,IAAAA,QAAQ,EAAE,IALW;AAMrBC,IAAAA,QAAQ,EAAE,KANW;AAOrBK,IAAAA,YAAY,EAAE,IAPO;AAQrBJ,IAAAA,QAAQ,EAAEf,UAAU,CAAC6B,KARA;AASrBZ,IAAAA,QAAQ,EAAEhB,UAAU,CAACiB;AATA,GA7CM;AAwD7BY,EAAAA,SAAS,EAAE,EACT,GAAG5B,UADM;AAETiB,IAAAA,YAAY,EAAE,gBAFL;AAGTY,IAAAA,eAAe,EAAE;AAHR;AAxDkB,CAAxB;AA+DP,OAAO,MAAMC,SAAS,GAAG,CACvB;AACEC,EAAAA,IAAI,EAAE,YADR;AAEEC,EAAAA,GAAG,EAAE,WAFP;AAGEtB,EAAAA,WAAW,EAAE,mDAHf;AAIEuB,EAAAA,QAAQ,EAAEpC,eAAe,CAACqC,KAJ5B;AAKEC,EAAAA,iBAAiB,EACf,6EANJ;AAOEC,EAAAA,oBAAoB,EAAE,KAPxB;AAQEC,EAAAA,MAAM,EAAE;AACNC,IAAAA,eAAe,EAAE,CADX;AAENC,IAAAA,gBAAgB,EAAE,CAFZ;AAGNC,IAAAA,cAAc,EAAE,CAHV;AAINC,IAAAA,iBAAiB,EAAE,CAJb;AAKNC,IAAAA,WAAW,EAAE,SALP;AAMNC,IAAAA,WAAW,EAAE,CANP;AAONC,IAAAA,YAAY,EAAE,CAPR;AAQNC,IAAAA,UAAU,EAAE,CARN;AASNC,IAAAA,aAAa,EAAE,CATT;AAUNC,IAAAA,YAAY,EAAE;AAVR,GARV;AAoBEC,EAAAA,QAAQ,EAAE,CAAC7C,QAAQ,CAAC8C,YAAV,CApBZ;AAqBEC,EAAAA,KAAK,EAAE,EACL,GAAGjD,gBADE;AAEL,OAAGI,eAFE;AAGL8C,IAAAA,SAAS,EAAE;AACT5C,MAAAA,KAAK,EAAEX,MAAM,CAACY,KADL;AAETC,MAAAA,KAAK,EAAE,gBAFE;AAGTC,MAAAA,WAAW,EACT,sGAJO;AAKTC,MAAAA,QAAQ,EAAE,IALD;AAMTC,MAAAA,QAAQ,EAAE,KAND;AAOTK,MAAAA,YAAY,EAAE,IAPL;AAQTJ,MAAAA,QAAQ,EAAEf,UAAU,CAACyB,OARZ;AASTR,MAAAA,QAAQ,EAAEhB,UAAU,CAACyB;AATZ,KAHN;AAcL4B,IAAAA,aAAa,EAAE;AACb7C,MAAAA,KAAK,EAAEX,MAAM,CAACY,KADD;AAEbC,MAAAA,KAAK,EAAE,iBAFM;AAGbC,MAAAA,WAAW,EACT,0EAJW;AAKbC,MAAAA,QAAQ,EAAE,IALG;AAMbC,MAAAA,QAAQ,EAAE,KANG;AAObK,MAAAA,YAAY,EAAE,IAPD;AAQboC,MAAAA,GAAG,EAAE,CARQ;AASbC,MAAAA,IAAI,EAAE,CATO;AAUbC,MAAAA,SAAS,EAAE,CAVE;AAWb1C,MAAAA,QAAQ,EAAEf,UAAU,CAAC0D,MAXR;AAYbzC,MAAAA,QAAQ,EAAEhB,UAAU,CAAC0D;AAZR,KAdV;AA4BLC,IAAAA,aAAa,EAAE;AACbnD,MAAAA,KAAK,EAAEX,MAAM,CAACY,KADD;AAEbC,MAAAA,KAAK,EAAE,gBAFM;AAGbC,MAAAA,WAAW,EACT,2FAJW;AAKbC,MAAAA,QAAQ,EAAE,IALG;AAMbC,MAAAA,QAAQ,EAAE,KANG;AAObK,MAAAA,YAAY,EAAE,IAPD;AAQbJ,MAAAA,QAAQ,EAAEf,UAAU,CAACyB,OARR;AASbR,MAAAA,QAAQ,EAAEhB,UAAU,CAACyB;AATR,KA5BV;AAuCLmC,IAAAA,UAAU,EAAE;AACVpD,MAAAA,KAAK,EAAEX,MAAM,CAACY,KADJ;AAEVC,MAAAA,KAAK,EAAE,qBAFG;AAGVC,MAAAA,WAAW,EACT,wFAJQ;AAKVC,MAAAA,QAAQ,EAAE,IALA;AAMVC,MAAAA,QAAQ,EAAE,KANA;AAOVK,MAAAA,YAAY,EAAE,IAPJ;AAQVJ,MAAAA,QAAQ,EAAEf,UAAU,CAACyB,OARX;AASVR,MAAAA,QAAQ,EAAEhB,UAAU,CAACyB;AATX,KAvCP;AAkDLoC,IAAAA,eAAe,EAAE;AACfrD,MAAAA,KAAK,EAAEX,MAAM,CAACiE,QADC;AAEfpD,MAAAA,KAAK,EAAE,mBAFQ;AAGfC,MAAAA,WAAW,EACT,iIAJa;AAKfC,MAAAA,QAAQ,EAAE,IALK;AAMfC,MAAAA,QAAQ,EAAE,KANK;AAOfK,MAAAA,YAAY,EAAE,IAPC;AAQfE,MAAAA,OAAO,EAAE,CACP,MADO,EAEP,KAFO,EAGP,aAHO,EAIP,qBAJO,EAKP,cALO,EAMP,aANO,EAOP,kBAPO,EAQP,cARO,EASP,YATO,EAUP,mBAVO,EAWP,WAXO,EAYP,UAZO,EAaP,UAbO,EAcP,YAdO,EAeP,MAfO,EAgBP,YAhBO,EAiBP,YAjBO,EAkBP,UAlBO,EAmBP,kBAnBO,EAoBP,YApBO,EAqBP,oBArBO,EAsBP,oBAtBO,EAuBP,aAvBO,EAwBP,iBAxBO,EAyBP,UAzBO,EA0BP,UA1BO,CARM;AAoCfN,MAAAA,QAAQ,EAAEf,UAAU,CAACsB,SApCN;AAqCfL,MAAAA,QAAQ,EAAEhB,UAAU,CAACsB;AArCN,KAlDZ;AAyFLyC,IAAAA,iBAAiB,EAAE;AACjBvD,MAAAA,KAAK,EAAEX,MAAM,CAACiE,QADG;AAEjBpD,MAAAA,KAAK,EAAE,qBAFU;AAGjBC,MAAAA,WAAW,EACT,+DAJe;AAKjBC,MAAAA,QAAQ,EAAE,IALO;AAMjBC,MAAAA,QAAQ,EAAE,KANO;AAOjBK,MAAAA,YAAY,EAAE,IAPG;AAQjBE,MAAAA,OAAO,EAAE,CAAC,QAAD,EAAW,aAAX,EAA0B,UAA1B,CARQ;AASjBN,MAAAA,QAAQ,EAAEf,UAAU,CAACsB,SATJ;AAUjBL,MAAAA,QAAQ,EAAEhB,UAAU,CAACsB;AAVJ;AAzFd;AArBT,CADuB,EA6HvB;AACEU,EAAAA,IAAI,EAAE,cADR;AAEEC,EAAAA,GAAG,EAAE,aAFP;AAGEtB,EAAAA,WAAW,EAAE,mDAHf;AAIEuB,EAAAA,QAAQ,EAAEpC,eAAe,CAACqC,KAJ5B;AAKEC,EAAAA,iBAAiB,EACf,6EANJ;AAOEC,EAAAA,oBAAoB,EAAE,KAPxB;AAQEC,EAAAA,MAAM,EAAE;AACNC,IAAAA,eAAe,EAAE,CADX;AAENC,IAAAA,gBAAgB,EAAE,CAFZ;AAGNC,IAAAA,cAAc,EAAE,CAHV;AAINC,IAAAA,iBAAiB,EAAE,CAJb;AAKNC,IAAAA,WAAW,EAAE,SALP;AAMNC,IAAAA,WAAW,EAAE,CANP;AAONC,IAAAA,YAAY,EAAE,CAPR;AAQNC,IAAAA,UAAU,EAAE,CARN;AASNC,IAAAA,aAAa,EAAE,CATT;AAUNC,IAAAA,YAAY,EAAE;AAVR,GARV;AAoBEC,EAAAA,QAAQ,EAAE,CAAC7C,QAAQ,CAAC8C,YAAV,CApBZ;AAqBEC,EAAAA,KAAK,EAAE,EACL,GAAG7C,eADE;AAEL,OAAGH,kBAFE;AAGL0B,IAAAA,SAAS,EAAExB,mBAAmB,CAAC;AAC7Ba,MAAAA,YAAY,EAAE,kBADe;AAE7B8C,MAAAA,aAAa,EAAE,OAFc;AAG7BlC,MAAAA,eAAe,EAAE;AAHY,KAAD;AAHzB;AArBT,CA7HuB,CAAlB","sourcesContent":["import {\n GROUPS,\n COMPONENT_TYPES,\n FORM_TYPES,\n PROP_TYPES,\n FIELD_NAME,\n TEXT_INPUT_PROPS,\n NUMBER_INPUT_PROPS,\n Triggers,\n createFieldNameProp,\n} from \"@draftbit/types\";\n\nexport const SEED_DATA_PROPS = {\n style: {\n group: GROUPS.basic,\n label: \"Style\",\n description: \"Text Style\",\n editable: false,\n required: false,\n formType: FORM_TYPES.typeStyle,\n propType: PROP_TYPES.THEME,\n defaultValue: null,\n },\n clearButtonMode: {\n group: GROUPS.basic,\n label: \"Clear Button Mode\",\n description:\n \"Enables a button within the textInput to clear the data entered\",\n editable: true,\n required: false,\n options: [\"never\", \"while-editing\", \"unless-editing\", \"always\"],\n defaultValue: null,\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n clearTextOnFocus: {\n group: GROUPS.basic,\n label: \"Clear Text on Focus\",\n description:\n \"If true, clears the text field automatically when its focused.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n enablesReturnKeyAutomatically: {\n group: GROUPS.basic,\n label: \"Enables Return Key Automatically\",\n description:\n \"If true, the keyboard disables the return key when there is no text and automatically enables it when there is (Default: false)\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n underlineColorAndroid: {\n group: GROUPS.basic,\n label: \"Underline color\",\n description:\n \"(Android Only) The color of the underline(the line underneath the text when finished typing.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.color,\n propType: PROP_TYPES.THEME,\n },\n fieldName: {\n ...FIELD_NAME,\n defaultValue: \"textInputValue\",\n handlerPropName: \"onChangeText\",\n },\n};\n\nexport const SEED_DATA = [\n {\n name: \"Text Input\",\n tag: \"TextInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...TEXT_INPUT_PROPS,\n ...SEED_DATA_PROPS,\n multiline: {\n group: GROUPS.basic,\n label: \"Multiple Lines\",\n description:\n \"Allows multiple lines of input, useful for situations where the user may be typing in a lot of data.\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n numberOfLines: {\n group: GROUPS.basic,\n label: \"Number of Lines\",\n description:\n \"Sets the number of lines for the input (Multiple Lines needs to be true)\",\n editable: true,\n required: false,\n defaultValue: null,\n min: 0,\n step: 1,\n precision: 0,\n formType: FORM_TYPES.number,\n propType: PROP_TYPES.NUMBER,\n },\n scrollEnabled: {\n group: GROUPS.basic,\n label: \"Scroll Enabled\",\n description:\n \"If false, scrolling of the input will be disabled. Only works when Multiple Lines is true\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n spellcheck: {\n group: GROUPS.basic,\n label: \"Disable Spell Check\",\n description:\n \"If false, disables spell-check style (red underlines). Default comes from Auto Correct\",\n editable: true,\n required: false,\n defaultValue: null,\n formType: FORM_TYPES.boolean,\n propType: PROP_TYPES.BOOLEAN,\n },\n textContentType: {\n group: GROUPS.advanced,\n label: \"Text Content Type\",\n description:\n \"Give the keyboard and system about what it should do with the input. For example, if its an address, autofill from address book\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\n \"none\",\n \"URL\",\n \"addressCity\",\n \"addressCityAndState\",\n \"addressState\",\n \"countryName\",\n \"creditCardNumber\",\n \"emailAddress\",\n \"familyName\",\n \"fullStreetAddress\",\n \"givenName\",\n \"jobTitle\",\n \"location\",\n \"middleName\",\n \"name\",\n \"namePrefix\",\n \"nameSuffix\",\n \"nickname\",\n \"organizationName\",\n \"postalCode\",\n \"streetAddressLine1\",\n \"streetAddressLine2\",\n \"sublocality\",\n \"telephoneNumber\",\n \"username\",\n \"password\",\n ],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n textBreakStrategy: {\n group: GROUPS.advanced,\n label: \"Text Break Strategy\",\n description:\n \"(Android Only) Set the text break strategy. (Default: simple)\",\n editable: true,\n required: false,\n defaultValue: null,\n options: [\"simple\", \"highQuality\", \"balanced\"],\n formType: FORM_TYPES.flatArray,\n propType: PROP_TYPES.STRING,\n },\n },\n },\n {\n name: \"Number Input\",\n tag: \"NumberInput\",\n description: \"An input field that allows users to type in data.\",\n category: COMPONENT_TYPES.input,\n preview_image_url:\n \"https://res.cloudinary.com/altos/image/upload/draftbit/Jigsaw/TextInput.png\",\n supports_list_render: false,\n layout: {\n borderLeftWidth: 1,\n borderRightWidth: 1,\n borderTopWidth: 1,\n borderBottomWidth: 1,\n borderColor: \"divider\",\n paddingLeft: 8,\n paddingRight: 8,\n paddingTop: 8,\n paddingBottom: 8,\n borderRadius: 8,\n },\n triggers: [Triggers.OnChangeText],\n props: {\n ...SEED_DATA_PROPS,\n ...NUMBER_INPUT_PROPS,\n fieldName: createFieldNameProp({\n defaultValue: \"numberInputValue\",\n valuePropName: \"value\",\n handlerPropName: \"onChangeText\",\n }),\n },\n },\n];\n"]}
@@ -1,8 +1,8 @@
1
1
  import React from "react";
2
2
  interface Props {
3
- value?: number;
4
- defaultValue?: number;
5
- onChangeText: (value?: number) => void;
3
+ value?: number | string;
4
+ defaultValue?: number | string;
5
+ onChangeText?: (value?: number) => void;
6
6
  }
7
7
  declare const NumberInput: React.FC<Props>;
8
8
  export default NumberInput;
@@ -421,28 +421,29 @@ export declare const SEED_DATA: ({
421
421
  };
422
422
  triggers: string[];
423
423
  props: {
424
- style: {
424
+ fieldName: {
425
+ handlerPropName: string;
425
426
  group: string;
426
427
  label: string;
427
428
  description: string;
428
- editable: boolean;
429
- required: boolean;
430
429
  formType: string;
431
430
  propType: string;
432
- defaultValue: null;
431
+ defaultValue: string;
432
+ valuePropName: string;
433
+ editable: boolean;
434
+ required: boolean;
433
435
  };
434
- clearButtonMode: {
436
+ allowFontScaling: {
435
437
  group: string;
436
438
  label: string;
437
439
  description: string;
438
440
  editable: boolean;
439
441
  required: boolean;
440
- options: string[];
441
442
  defaultValue: null;
442
443
  formType: string;
443
444
  propType: string;
444
445
  };
445
- clearTextOnFocus: {
446
+ autoFocus: {
446
447
  group: string;
447
448
  label: string;
448
449
  description: string;
@@ -452,7 +453,7 @@ export declare const SEED_DATA: ({
452
453
  formType: string;
453
454
  propType: string;
454
455
  };
455
- enablesReturnKeyAutomatically: {
456
+ caretHidden: {
456
457
  group: string;
457
458
  label: string;
458
459
  description: string;
@@ -462,7 +463,7 @@ export declare const SEED_DATA: ({
462
463
  formType: string;
463
464
  propType: string;
464
465
  };
465
- underlineColorAndroid: {
466
+ contextMenuHidden: {
466
467
  group: string;
467
468
  label: string;
468
469
  description: string;
@@ -472,19 +473,17 @@ export declare const SEED_DATA: ({
472
473
  formType: string;
473
474
  propType: string;
474
475
  };
475
- fieldName: {
476
- defaultValue: string;
477
- handlerPropName: string;
476
+ disabled: {
478
477
  group: string;
479
478
  label: string;
480
479
  description: string;
481
480
  formType: string;
482
481
  propType: string;
483
- valuePropName: string;
482
+ defaultValue: null;
484
483
  editable: boolean;
485
484
  required: boolean;
486
485
  };
487
- allowFontScaling: {
486
+ editable: {
488
487
  group: string;
489
488
  label: string;
490
489
  description: string;
@@ -494,47 +493,52 @@ export declare const SEED_DATA: ({
494
493
  formType: string;
495
494
  propType: string;
496
495
  };
497
- autoFocus: {
496
+ keyboardAppearance: {
498
497
  group: string;
499
498
  label: string;
500
499
  description: string;
501
500
  editable: boolean;
502
501
  required: boolean;
503
502
  defaultValue: null;
503
+ options: string[];
504
504
  formType: string;
505
505
  propType: string;
506
506
  };
507
- caretHidden: {
507
+ keyboardType: {
508
508
  group: string;
509
509
  label: string;
510
510
  description: string;
511
511
  editable: boolean;
512
512
  required: boolean;
513
513
  defaultValue: null;
514
+ options: string[];
514
515
  formType: string;
515
516
  propType: string;
516
517
  };
517
- contextMenuHidden: {
518
+ maxLength: {
518
519
  group: string;
519
520
  label: string;
520
521
  description: string;
521
522
  editable: boolean;
522
523
  required: boolean;
523
524
  defaultValue: null;
525
+ min: number;
526
+ step: number;
527
+ precision: number;
524
528
  formType: string;
525
529
  propType: string;
526
530
  };
527
- disabled: {
531
+ placeholder: {
528
532
  group: string;
529
533
  label: string;
530
534
  description: string;
531
- formType: string;
532
- propType: string;
533
- defaultValue: null;
534
535
  editable: boolean;
535
536
  required: boolean;
537
+ defaultValue: string;
538
+ formType: string;
539
+ propType: string;
536
540
  };
537
- editable: {
541
+ placeholderTextColor: {
538
542
  group: string;
539
543
  label: string;
540
544
  description: string;
@@ -544,18 +548,17 @@ export declare const SEED_DATA: ({
544
548
  formType: string;
545
549
  propType: string;
546
550
  };
547
- keyboardAppearance: {
551
+ returnKeyLabel: {
548
552
  group: string;
549
553
  label: string;
550
554
  description: string;
551
555
  editable: boolean;
552
556
  required: boolean;
553
557
  defaultValue: null;
554
- options: string[];
555
558
  formType: string;
556
559
  propType: string;
557
560
  };
558
- keyboardType: {
561
+ returnKeyType: {
559
562
  group: string;
560
563
  label: string;
561
564
  description: string;
@@ -566,61 +569,58 @@ export declare const SEED_DATA: ({
566
569
  formType: string;
567
570
  propType: string;
568
571
  };
569
- maxLength: {
572
+ selectionColor: {
570
573
  group: string;
571
574
  label: string;
572
575
  description: string;
573
576
  editable: boolean;
574
577
  required: boolean;
575
578
  defaultValue: null;
576
- min: number;
577
- step: number;
578
- precision: number;
579
579
  formType: string;
580
580
  propType: string;
581
581
  };
582
- placeholder: {
582
+ selectTextOnFocus: {
583
583
  group: string;
584
584
  label: string;
585
585
  description: string;
586
586
  editable: boolean;
587
587
  required: boolean;
588
- defaultValue: string;
588
+ defaultValue: null;
589
589
  formType: string;
590
590
  propType: string;
591
591
  };
592
- placeholderTextColor: {
592
+ style: {
593
593
  group: string;
594
594
  label: string;
595
595
  description: string;
596
596
  editable: boolean;
597
597
  required: boolean;
598
- defaultValue: null;
599
598
  formType: string;
600
599
  propType: string;
600
+ defaultValue: null;
601
601
  };
602
- returnKeyLabel: {
602
+ clearButtonMode: {
603
603
  group: string;
604
604
  label: string;
605
605
  description: string;
606
606
  editable: boolean;
607
607
  required: boolean;
608
+ options: string[];
608
609
  defaultValue: null;
609
610
  formType: string;
610
611
  propType: string;
611
612
  };
612
- returnKeyType: {
613
+ clearTextOnFocus: {
613
614
  group: string;
614
615
  label: string;
615
616
  description: string;
616
617
  editable: boolean;
617
618
  required: boolean;
618
619
  defaultValue: null;
619
- options: string[];
620
620
  formType: string;
621
621
  propType: string;
622
622
  };
623
- selectionColor: {
623
+ enablesReturnKeyAutomatically: {
624
624
  group: string;
625
625
  label: string;
626
626
  description: string;
@@ -630,7 +630,7 @@ export declare const SEED_DATA: ({
630
630
  formType: string;
631
631
  propType: string;
632
632
  };
633
- selectTextOnFocus: {
633
+ underlineColorAndroid: {
634
634
  group: string;
635
635
  label: string;
636
636
  description: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@draftbit/core",
3
- "version": "43.4.5",
3
+ "version": "43.4.6-28bb0e.2+28bb0e0f",
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": "ba3f28fcb72b7286619df898ae4068de4655c9b9"
83
+ "gitHead": "28bb0e0ff5d5dceddbda9a94806ad0d7b00708d3"
84
84
  }
@@ -1,28 +1,34 @@
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 [isDecimal, setIsDecimal] = React.useState(value && !Number.isInteger(value));
5
- React.useEffect(() => {
6
- if (value) {
7
- setIsDecimal(value.toString().includes("."));
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 (currentStringNumberValue?.includes(".") &&
12
+ valueToFormat === currentStringNumberValue + ".") {
13
+ return currentStringNumberValue;
14
+ }
15
+ else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
16
+ return valueToFormat;
17
+ }
18
+ }
19
+ else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {
20
+ return valueToFormat.toString();
21
+ }
8
22
  }
9
- }, [value]);
23
+ return "0";
24
+ }, []);
25
+ const [stringNumberValue, setStringNumberValue] = useState(formatValueToStringNumber(value));
10
26
  const handleChangeText = (newValue) => {
11
- if (onChangeText) {
12
- const parsedNumber = parseFloat(newValue);
13
- const number = isNaN(parsedNumber) ? 0 : parsedNumber;
14
- setIsDecimal(newValue.includes("."));
15
- onChangeText(number);
16
- }
27
+ const newStringNumberValue = formatValueToStringNumber(newValue, stringNumberValue);
28
+ const number = parseFloat(newStringNumberValue);
29
+ setStringNumberValue(newStringNumberValue);
30
+ onChangeText?.(number);
17
31
  };
18
- let strValue;
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 }));
32
+ return (React.createElement(TextInput, { keyboardType: "numeric", ...props, value: stringNumberValue, defaultValue: formatValueToStringNumber(defaultValue), onChangeText: handleChangeText }));
26
33
  };
27
34
  export default NumberInput;
28
- // comment to try to fix sourcemap issue
@@ -1,10 +1,11 @@
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
 
4
5
  interface Props {
5
- value?: number;
6
- defaultValue?: number;
7
- onChangeText: (value?: number) => void;
6
+ value?: number | string;
7
+ defaultValue?: number | string;
8
+ onChangeText?: (value?: number) => void;
8
9
  }
9
10
 
10
11
  const NumberInput: React.FC<Props> = ({
@@ -13,43 +14,54 @@ const NumberInput: React.FC<Props> = ({
13
14
  defaultValue,
14
15
  ...props
15
16
  }) => {
16
- const [isDecimal, setIsDecimal] = React.useState(
17
- value && !Number.isInteger(value)
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 (
24
+ currentStringNumberValue?.includes(".") &&
25
+ valueToFormat === currentStringNumberValue + "."
26
+ ) {
27
+ return currentStringNumberValue;
28
+ } else if (/^[+-]?([0-9]+\.?[0-9]*|\.[0-9]+)$/.test(valueToFormat)) {
29
+ return valueToFormat;
30
+ }
31
+ } else if (isNumber(valueToFormat) && !isNaN(valueToFormat)) {
32
+ return valueToFormat.toString();
33
+ }
34
+ }
35
+
36
+ return "0";
37
+ },
38
+ []
39
+ );
40
+
41
+ const [stringNumberValue, setStringNumberValue] = useState(
42
+ formatValueToStringNumber(value)
18
43
  );
19
- React.useEffect(() => {
20
- if (value) {
21
- setIsDecimal(value.toString().includes("."));
22
- }
23
- }, [value]);
24
44
 
25
45
  const handleChangeText = (newValue: string) => {
26
- if (onChangeText) {
27
- const parsedNumber = parseFloat(newValue);
28
- const number = isNaN(parsedNumber) ? 0 : parsedNumber;
29
- setIsDecimal(newValue.includes("."));
30
- onChangeText(number);
31
- }
32
- };
46
+ const newStringNumberValue = formatValueToStringNumber(
47
+ newValue,
48
+ stringNumberValue
49
+ );
50
+ const number = parseFloat(newStringNumberValue);
33
51
 
34
- let strValue;
35
- if (value != undefined) {
36
- strValue = value.toString();
37
- if (isDecimal && !strValue.includes(".")) {
38
- strValue = `${strValue}.`;
39
- }
40
- }
52
+ setStringNumberValue(newStringNumberValue);
53
+ onChangeText?.(number);
54
+ };
41
55
 
42
56
  return (
43
57
  <TextInput
44
58
  keyboardType="numeric"
45
59
  {...props}
46
- value={strValue}
47
- defaultValue={defaultValue?.toString()}
60
+ value={stringNumberValue}
61
+ defaultValue={formatValueToStringNumber(defaultValue)}
48
62
  onChangeText={handleChangeText}
49
63
  />
50
64
  );
51
65
  };
52
66
 
53
67
  export default NumberInput;
54
-
55
- // comment to try to fix sourcemap issue
@@ -22,7 +22,7 @@ export const SEED_DATA = {
22
22
  }),
23
23
  direction: createRowDirectionProp(),
24
24
  fieldName: createFieldNameProp({
25
- defaultValue: "checkboxValue",
25
+ defaultValue: "checkboxRowValue",
26
26
  valuePropName: "value",
27
27
  handlerPropName: "onPress",
28
28
  }),
@@ -31,7 +31,7 @@ export const SEED_DATA = {
31
31
  }),
32
32
  direction: createRowDirectionProp(),
33
33
  fieldName: createFieldNameProp({
34
- defaultValue: "checkboxValue",
34
+ defaultValue: "checkboxRowValue",
35
35
  valuePropName: "value",
36
36
  handlerPropName: "onPress",
37
37
  }),
@@ -1,4 +1,4 @@
1
- import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, TEXT_INPUT_PROPS, NUMBER_INPUT_PROPS, Triggers, } from "@draftbit/types";
1
+ import { GROUPS, COMPONENT_TYPES, FORM_TYPES, PROP_TYPES, FIELD_NAME, TEXT_INPUT_PROPS, NUMBER_INPUT_PROPS, Triggers, createFieldNameProp, } from "@draftbit/types";
2
2
  export const SEED_DATA_PROPS = {
3
3
  style: {
4
4
  group: GROUPS.basic,
@@ -196,8 +196,13 @@ export const SEED_DATA = [
196
196
  },
197
197
  triggers: [Triggers.OnChangeText],
198
198
  props: {
199
- ...NUMBER_INPUT_PROPS,
200
199
  ...SEED_DATA_PROPS,
200
+ ...NUMBER_INPUT_PROPS,
201
+ fieldName: createFieldNameProp({
202
+ defaultValue: "numberInputValue",
203
+ valuePropName: "value",
204
+ handlerPropName: "onChangeText",
205
+ }),
201
206
  },
202
207
  },
203
208
  ];
@@ -7,6 +7,7 @@ import {
7
7
  TEXT_INPUT_PROPS,
8
8
  NUMBER_INPUT_PROPS,
9
9
  Triggers,
10
+ createFieldNameProp,
10
11
  } from "@draftbit/types";
11
12
 
12
13
  export const SEED_DATA_PROPS = {
@@ -219,8 +220,13 @@ export const SEED_DATA = [
219
220
  },
220
221
  triggers: [Triggers.OnChangeText],
221
222
  props: {
222
- ...NUMBER_INPUT_PROPS,
223
223
  ...SEED_DATA_PROPS,
224
+ ...NUMBER_INPUT_PROPS,
225
+ fieldName: createFieldNameProp({
226
+ defaultValue: "numberInputValue",
227
+ valuePropName: "value",
228
+ handlerPropName: "onChangeText",
229
+ }),
224
230
  },
225
231
  },
226
232
  ];