@tecsinapse/react-core 1.14.6 → 1.14.7

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/CHANGELOG.md CHANGED
@@ -3,6 +3,17 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [1.14.7](https://github.com/tecsinapse/design-system/compare/@tecsinapse/react-core@1.14.6...@tecsinapse/react-core@1.14.7) (2022-02-16)
7
+
8
+
9
+ ### Bug Fixes
10
+
11
+ * removing null check in InputElement value since it needs to be passed as parameter. ([b1af9ce](https://github.com/tecsinapse/design-system/commit/b1af9ceb2f0ef13efe0895db467bdbf61eda5f2a))
12
+
13
+
14
+
15
+
16
+
6
17
  ## [1.14.6](https://github.com/tecsinapse/design-system/compare/@tecsinapse/react-core@1.14.5...@tecsinapse/react-core@1.14.6) (2022-02-16)
7
18
 
8
19
 
@@ -37,9 +37,9 @@ const InputElement = _react2.default.forwardRef(({
37
37
  const getInputHook = value => {
38
38
  if (mask !== undefined) {
39
39
  if (Array.isArray(mask) || typeof mask === 'function') {
40
- return (0, _useStringMask.useStringMask)(mask, value ?? '');
40
+ return (0, _useStringMask.useStringMask)(mask, value);
41
41
  } else {
42
- return (0, _useNumberMask.useNumberMask)(mask, value ?? 0);
42
+ return (0, _useNumberMask.useNumberMask)(mask, value);
43
43
  }
44
44
  } else {
45
45
  return [undefined, undefined];
@@ -48,7 +48,7 @@ const InputElement = _react2.default.forwardRef(({
48
48
 
49
49
  const [maskValue, setMaskValue] = getInputHook(value);
50
50
 
51
- const _value = maskValue !== undefined ? (maskValue === null || maskValue === void 0 ? void 0 : maskValue.formatted) ?? '' : (value === null || value === void 0 ? void 0 : value.toString()) ?? '';
51
+ const _value = maskValue === undefined ? value.toString() : maskValue.formatted ? maskValue.formatted : '';
52
52
 
53
53
  (0, _react2.useEffect)(() => {
54
54
  if (onChange) {
@@ -62,9 +62,11 @@ const InputElement = _react2.default.forwardRef(({
62
62
  }, [value]);
63
63
  (0, _react2.useEffect)(() => {
64
64
  if (maskValue !== undefined && setMaskValue !== undefined && value !== undefined && typeof maskValue === 'object') {
65
- if ((maskValue === null || maskValue === void 0 ? void 0 : maskValue.raw) !== undefined && (maskValue === null || maskValue === void 0 ? void 0 : maskValue.raw.toString()) !== (value === null || value === void 0 ? void 0 : value.toString())) {
65
+ if (maskValue.raw !== undefined && maskValue.raw.toString() !== value.toString()) {
66
66
  onChangeValue(value);
67
67
  }
68
+ } else if (maskValue === undefined && value !== undefined) {
69
+ onChangeValue(value);
68
70
  }
69
71
  }, [value]);
70
72
  return _react2.default.createElement(_styled.StyledInputElement, _extends({}, rest, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/atoms/Input/InputElement/InputElement.tsx"],"names":["InputElement","React","forwardRef","onChange","placeholder","value","disabled","placeholderTextColor","mask","rest","ref","theme","_placeholderColor","font","color","dark","getInputHook","undefined","Array","isArray","maskValue","setMaskValue","_value","formatted","toString","raw","onChangeValue","displayName"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA;;AACA;;AACA;;;;;;;;AAuBA,MAAMA,YAAmC,GAAGC,gBAAMC,UAAN,CAC1C,CACE;AACEC,EAAAA,QADF;AAEEC,EAAAA,WAFF;AAGEC,EAAAA,KAHF;AAIEC,EAAAA,QAAQ,GAAG,KAJb;AAKEC,EAAAA,oBALF;AAMEC,EAAAA,IANF;AAOE,KAAGC;AAPL,CADF,EAUEC,GAVF,KAWkB;AAChB,QAAMC,KAAK,GAAG,sBAAd;;AAEA,QAAMC,iBAAiB,GAAGL,oBAAoB,IAAII,KAAK,CAACE,IAAN,CAAWC,KAAX,CAAiBC,IAAnE;;AAEA,QAAMC,YAAY,GAAIX,KAAD,IAA4B;AAC/C,QAAIG,IAAI,KAAKS,SAAb,EAAwB;AACtB,UAAIC,KAAK,CAACC,OAAN,CAAcX,IAAd,KAAuB,OAAOA,IAAP,KAAgB,UAA3C,EAAuD;AACrD,eAAO,kCAAcA,IAAd,EAAoBH,KAAK,IAAI,EAA7B,CAAP;AACD,OAFD,MAEO;AACL,eAAO,kCAAcG,IAAd,EAAoBH,KAAK,IAAI,CAA7B,CAAP;AACD;AACF,KAND,MAMO;AACL,aAAO,CAACY,SAAD,EAAYA,SAAZ,CAAP;AACD;AACF,GAVD;;AAYA,QAAM,CAACG,SAAD,EAAYC,YAAZ,IAA4BL,YAAY,CAACX,KAAD,CAA9C;;AAEA,QAAMiB,MAAM,GACVF,SAAS,KAAKH,SAAd,GACI,CAAAG,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEG,SAAX,KAAwB,EAD5B,GAEI,CAAAlB,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEmB,QAAP,OAAqB,EAH3B;;AAKA,yBAAU,MAAM;AACd,QAAIrB,QAAJ,EAAc;AACZA,MAAAA,QAAQ,CAACiB,SAAD,aAACA,SAAD,uBAACA,SAAS,CAAEK,GAAZ,CAAR;AACD;AACF,GAJD,EAIG,CAACL,SAAD,CAJH;AAMA,QAAMM,aAAa,GAAG,yBACnBrB,KAAD,IAA4B;AAC1B,QAAIe,SAAS,KAAKH,SAAd,IAA2BI,YAAY,KAAKJ,SAAhD,EAA2D;AACzDI,MAAAA,YAAY,CAAChB,KAAD,CAAZ;AACD,KAFD,MAEOF,QAAQ,IAAIA,QAAQ,CAACE,KAAD,CAApB;AACR,GALmB,EAMpB,CAACA,KAAD,CANoB,CAAtB;AASA,yBAAU,MAAM;AAEd,QACEe,SAAS,KAAKH,SAAd,IACAI,YAAY,KAAKJ,SADjB,IAEAZ,KAAK,KAAKY,SAFV,IAGA,OAAOG,SAAP,KAAqB,QAJvB,EAKE;AAEA,UACE,CAAAA,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEK,GAAX,MAAmBR,SAAnB,IACA,CAAAG,SAAS,SAAT,IAAAA,SAAS,WAAT,YAAAA,SAAS,CAAEK,GAAX,CAAeD,QAAf,SAA8BnB,KAA9B,aAA8BA,KAA9B,uBAA8BA,KAAK,CAAEmB,QAAP,EAA9B,CAFF,EAGE;AACAE,QAAAA,aAAa,CAACrB,KAAD,CAAb;AACD;AACF;AACF,GAhBD,EAgBG,CAACA,KAAD,CAhBH;AAkBA,SACE,8BAAC,0BAAD,eACMI,IADN;AAEE,IAAA,GAAG,EAAEC,GAFP;AAGE,IAAA,YAAY,EAAEgB,aAHhB;AAIE,IAAA,KAAK,EAAEJ,MAJT;AAKE,IAAA,WAAW,EAAElB,WALf;AAME,IAAA,oBAAoB,EAAEQ,iBANxB;AAOE,IAAA,QAAQ,EAAEN,QAPZ;AAQE,IAAA,QAAQ,EAAE,CAACA;AARb,KADF;AAYD,CAjFyC,CAA5C;;AAoFAN,YAAY,CAAC2B,WAAb,GAA2B,cAA3B;eAEe3B,Y","sourcesContent":["import { useTheme } from '@emotion/react';\nimport { ThemeProp } from '@tecsinapse/react-core';\nimport React, { FC, useCallback, useEffect } from 'react';\nimport { StyleProp, TextInputProps, TextStyle } from 'react-native';\nimport { StyledInputElement } from '../styled';\nimport { MaskType, useStringMask } from '../hooks/useStringMask';\nimport { CurrencyOptions, useNumberMask } from '../hooks/useNumberMask';\n\nexport interface InputElementProps\n extends Omit<TextInputProps, 'onChange' | 'value' | 'ref'> {\n style?: StyleProp<TextStyle>;\n value: string | number;\n placeholder?: string;\n disabled?: boolean;\n onChange?: (value: any) => void;\n /**\n To use mask for strings you have to pass a MaskType[] or ((value: string) => MaskType[])\n A MaskType can be a string, RegExp, or Array<RegExp>.\n In case we have a string, '9' represents digits, 'a' represents alphabet characters, and any other character represents fixed characters in the mask.\n For example a phone mask can be represented as ['(99) \\\\99999-9999'], or ['(99) ', '/[9]/', '9999-9999'], or ['(', /[0-9]/, /[0-9]/, ') ', '/[9]/', '9999-9999'] and many others.\n To use mask for numbers you have to pass a CurrencyOptions object\n A CurrencyOptions object contains symbol, separator, decimal, precision. For example {symbol: 'R$ ', separator: '.', decimal: ',', precision: 2,}.\n **/\n mask?: (MaskType[] | ((value: string) => MaskType[])) | CurrencyOptions;\n onFocus?: () => void;\n onBlur?: () => void;\n ref?: React.Ref<any>;\n}\n\nconst InputElement: FC<InputElementProps> = React.forwardRef(\n (\n {\n onChange,\n placeholder,\n value,\n disabled = false,\n placeholderTextColor,\n mask,\n ...rest\n },\n ref: React.Ref<any>\n ): JSX.Element => {\n const theme = useTheme() as ThemeProp;\n\n const _placeholderColor = placeholderTextColor || theme.font.color.dark;\n\n const getInputHook = (value: string | number) => {\n if (mask !== undefined) {\n if (Array.isArray(mask) || typeof mask === 'function') {\n return useStringMask(mask, value ?? '');\n } else {\n return useNumberMask(mask, value ?? 0);\n }\n } else {\n return [undefined, undefined];\n }\n };\n\n const [maskValue, setMaskValue] = getInputHook(value);\n\n const _value =\n maskValue !== undefined\n ? maskValue?.formatted ?? ''\n : value?.toString() ?? '';\n\n useEffect(() => {\n if (onChange) {\n onChange(maskValue?.raw);\n }\n }, [maskValue]);\n\n const onChangeValue = useCallback(\n (value: string | number) => {\n if (maskValue !== undefined && setMaskValue !== undefined) {\n setMaskValue(value);\n } else onChange && onChange(value);\n },\n [value]\n );\n\n useEffect(() => {\n /** Used to reinitialize maskValue when the value is updated in the parent component **/\n if (\n maskValue !== undefined &&\n setMaskValue !== undefined &&\n value !== undefined &&\n typeof maskValue === 'object'\n ) {\n /** Case there is a mask **/\n if (\n maskValue?.raw !== undefined &&\n maskValue?.raw.toString() !== value?.toString()\n ) {\n onChangeValue(value);\n }\n }\n }, [value]);\n\n return (\n <StyledInputElement\n {...rest}\n ref={ref}\n onChangeText={onChangeValue}\n value={_value}\n placeholder={placeholder}\n placeholderTextColor={_placeholderColor}\n disabled={disabled}\n editable={!disabled}\n />\n );\n }\n);\n\nInputElement.displayName = 'InputElement';\n\nexport default InputElement;\n"],"file":"InputElement.js"}
1
+ {"version":3,"sources":["../../../../../src/components/atoms/Input/InputElement/InputElement.tsx"],"names":["InputElement","React","forwardRef","onChange","placeholder","value","disabled","placeholderTextColor","mask","rest","ref","theme","_placeholderColor","font","color","dark","getInputHook","undefined","Array","isArray","maskValue","setMaskValue","_value","toString","formatted","raw","onChangeValue","displayName"],"mappings":";;;;;;;AAAA;;AAEA;;AAEA;;AACA;;AACA;;;;;;;;AAuBA,MAAMA,YAAmC,GAAGC,gBAAMC,UAAN,CAC1C,CACE;AACEC,EAAAA,QADF;AAEEC,EAAAA,WAFF;AAGEC,EAAAA,KAHF;AAIEC,EAAAA,QAAQ,GAAG,KAJb;AAKEC,EAAAA,oBALF;AAMEC,EAAAA,IANF;AAOE,KAAGC;AAPL,CADF,EAUEC,GAVF,KAWkB;AAChB,QAAMC,KAAK,GAAG,sBAAd;;AAEA,QAAMC,iBAAiB,GAAGL,oBAAoB,IAAII,KAAK,CAACE,IAAN,CAAWC,KAAX,CAAiBC,IAAnE;;AAEA,QAAMC,YAAY,GAAIX,KAAD,IAA4B;AAC/C,QAAIG,IAAI,KAAKS,SAAb,EAAwB;AACtB,UAAIC,KAAK,CAACC,OAAN,CAAcX,IAAd,KAAuB,OAAOA,IAAP,KAAgB,UAA3C,EAAuD;AACrD,eAAO,kCAAcA,IAAd,EAAoBH,KAApB,CAAP;AACD,OAFD,MAEO;AACL,eAAO,kCAAcG,IAAd,EAAoBH,KAApB,CAAP;AACD;AACF,KAND,MAMO;AACL,aAAO,CAACY,SAAD,EAAYA,SAAZ,CAAP;AACD;AACF,GAVD;;AAYA,QAAM,CAACG,SAAD,EAAYC,YAAZ,IAA4BL,YAAY,CAACX,KAAD,CAA9C;;AAEA,QAAMiB,MAAM,GACVF,SAAS,KAAKH,SAAd,GACIZ,KAAK,CAACkB,QAAN,EADJ,GAEIH,SAAS,CAACI,SAAV,GACAJ,SAAS,CAACI,SADV,GAEA,EALN;;AAOA,yBAAU,MAAM;AACd,QAAIrB,QAAJ,EAAc;AACZA,MAAAA,QAAQ,CAACiB,SAAD,aAACA,SAAD,uBAACA,SAAS,CAAEK,GAAZ,CAAR;AACD;AACF,GAJD,EAIG,CAACL,SAAD,CAJH;AAMA,QAAMM,aAAa,GAAG,yBACnBrB,KAAD,IAA4B;AAC1B,QAAIe,SAAS,KAAKH,SAAd,IAA2BI,YAAY,KAAKJ,SAAhD,EAA2D;AACzDI,MAAAA,YAAY,CAAChB,KAAD,CAAZ;AACD,KAFD,MAEOF,QAAQ,IAAIA,QAAQ,CAACE,KAAD,CAApB;AACR,GALmB,EAMpB,CAACA,KAAD,CANoB,CAAtB;AASA,yBAAU,MAAM;AAEd,QACEe,SAAS,KAAKH,SAAd,IACAI,YAAY,KAAKJ,SADjB,IAEAZ,KAAK,KAAKY,SAFV,IAGA,OAAOG,SAAP,KAAqB,QAJvB,EAKE;AAEA,UACEA,SAAS,CAACK,GAAV,KAAkBR,SAAlB,IACAG,SAAS,CAACK,GAAV,CAAcF,QAAd,OAA6BlB,KAAK,CAACkB,QAAN,EAF/B,EAGE;AACAG,QAAAA,aAAa,CAACrB,KAAD,CAAb;AACD;AACF,KAbD,MAaO,IAAIe,SAAS,KAAKH,SAAd,IAA2BZ,KAAK,KAAKY,SAAzC,EAAoD;AACzDS,MAAAA,aAAa,CAACrB,KAAD,CAAb;AACD;AACF,GAlBD,EAkBG,CAACA,KAAD,CAlBH;AAoBA,SACE,8BAAC,0BAAD,eACMI,IADN;AAEE,IAAA,GAAG,EAAEC,GAFP;AAGE,IAAA,YAAY,EAAEgB,aAHhB;AAIE,IAAA,KAAK,EAAEJ,MAJT;AAKE,IAAA,WAAW,EAAElB,WALf;AAME,IAAA,oBAAoB,EAAEQ,iBANxB;AAOE,IAAA,QAAQ,EAAEN,QAPZ;AAQE,IAAA,QAAQ,EAAE,CAACA;AARb,KADF;AAYD,CArFyC,CAA5C;;AAwFAN,YAAY,CAAC2B,WAAb,GAA2B,cAA3B;eAEe3B,Y","sourcesContent":["import { useTheme } from '@emotion/react';\nimport { ThemeProp } from '@tecsinapse/react-core';\nimport React, { FC, useCallback, useEffect } from 'react';\nimport { StyleProp, TextInputProps, TextStyle } from 'react-native';\nimport { StyledInputElement } from '../styled';\nimport { MaskType, useStringMask } from '../hooks/useStringMask';\nimport { CurrencyOptions, useNumberMask } from '../hooks/useNumberMask';\n\nexport interface InputElementProps\n extends Omit<TextInputProps, 'onChange' | 'value' | 'ref'> {\n style?: StyleProp<TextStyle>;\n value: string | number;\n placeholder?: string;\n disabled?: boolean;\n onChange?: (value: any) => void;\n /**\n To use mask for strings you have to pass a MaskType[] or ((value: string) => MaskType[])\n A MaskType can be a string, RegExp, or Array<RegExp>.\n In case we have a string, '9' represents digits, 'a' represents alphabet characters, and any other character represents fixed characters in the mask.\n For example a phone mask can be represented as ['(99) \\\\99999-9999'], or ['(99) ', '/[9]/', '9999-9999'], or ['(', /[0-9]/, /[0-9]/, ') ', '/[9]/', '9999-9999'] and many others.\n To use mask for numbers you have to pass a CurrencyOptions object\n A CurrencyOptions object contains symbol, separator, decimal, precision. For example {symbol: 'R$ ', separator: '.', decimal: ',', precision: 2,}.\n **/\n mask?: (MaskType[] | ((value: string) => MaskType[])) | CurrencyOptions;\n onFocus?: () => void;\n onBlur?: () => void;\n ref?: React.Ref<any>;\n}\n\nconst InputElement: FC<InputElementProps> = React.forwardRef(\n (\n {\n onChange,\n placeholder,\n value,\n disabled = false,\n placeholderTextColor,\n mask,\n ...rest\n },\n ref: React.Ref<any>\n ): JSX.Element => {\n const theme = useTheme() as ThemeProp;\n\n const _placeholderColor = placeholderTextColor || theme.font.color.dark;\n\n const getInputHook = (value: string | number) => {\n if (mask !== undefined) {\n if (Array.isArray(mask) || typeof mask === 'function') {\n return useStringMask(mask, value);\n } else {\n return useNumberMask(mask, value);\n }\n } else {\n return [undefined, undefined];\n }\n };\n\n const [maskValue, setMaskValue] = getInputHook(value);\n\n const _value =\n maskValue === undefined\n ? value.toString()\n : maskValue.formatted\n ? maskValue.formatted\n : '';\n\n useEffect(() => {\n if (onChange) {\n onChange(maskValue?.raw);\n }\n }, [maskValue]);\n\n const onChangeValue = useCallback(\n (value: string | number) => {\n if (maskValue !== undefined && setMaskValue !== undefined) {\n setMaskValue(value);\n } else onChange && onChange(value);\n },\n [value]\n );\n\n useEffect(() => {\n /** Used to reinitialize maskValue when the value is updated in the parent component **/\n if (\n maskValue !== undefined &&\n setMaskValue !== undefined &&\n value !== undefined &&\n typeof maskValue === 'object'\n ) {\n /** Case there is a mask **/\n if (\n maskValue.raw !== undefined &&\n maskValue.raw.toString() !== value.toString()\n ) {\n onChangeValue(value);\n }\n } else if (maskValue === undefined && value !== undefined) {\n onChangeValue(value);\n }\n }, [value]);\n\n return (\n <StyledInputElement\n {...rest}\n ref={ref}\n onChangeText={onChangeValue}\n value={_value}\n placeholder={placeholder}\n placeholderTextColor={_placeholderColor}\n disabled={disabled}\n editable={!disabled}\n />\n );\n }\n);\n\nInputElement.displayName = 'InputElement';\n\nexport default InputElement;\n"],"file":"InputElement.js"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tecsinapse/react-core",
3
3
  "description": "TecSinapse hybrid React components",
4
- "version": "1.14.6",
4
+ "version": "1.14.7",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -31,5 +31,5 @@
31
31
  "react-native": ">=0.64.0",
32
32
  "react-native-vector-icons": ">=8.1.0"
33
33
  },
34
- "gitHead": "4076e845163107cbe56831cd6bd6b56f721cd23c"
34
+ "gitHead": "c0e8b876f05f42ff61bef6040232a813d1811eab"
35
35
  }
@@ -47,9 +47,9 @@ const InputElement: FC<InputElementProps> = React.forwardRef(
47
47
  const getInputHook = (value: string | number) => {
48
48
  if (mask !== undefined) {
49
49
  if (Array.isArray(mask) || typeof mask === 'function') {
50
- return useStringMask(mask, value ?? '');
50
+ return useStringMask(mask, value);
51
51
  } else {
52
- return useNumberMask(mask, value ?? 0);
52
+ return useNumberMask(mask, value);
53
53
  }
54
54
  } else {
55
55
  return [undefined, undefined];
@@ -59,9 +59,11 @@ const InputElement: FC<InputElementProps> = React.forwardRef(
59
59
  const [maskValue, setMaskValue] = getInputHook(value);
60
60
 
61
61
  const _value =
62
- maskValue !== undefined
63
- ? maskValue?.formatted ?? ''
64
- : value?.toString() ?? '';
62
+ maskValue === undefined
63
+ ? value.toString()
64
+ : maskValue.formatted
65
+ ? maskValue.formatted
66
+ : '';
65
67
 
66
68
  useEffect(() => {
67
69
  if (onChange) {
@@ -88,11 +90,13 @@ const InputElement: FC<InputElementProps> = React.forwardRef(
88
90
  ) {
89
91
  /** Case there is a mask **/
90
92
  if (
91
- maskValue?.raw !== undefined &&
92
- maskValue?.raw.toString() !== value?.toString()
93
+ maskValue.raw !== undefined &&
94
+ maskValue.raw.toString() !== value.toString()
93
95
  ) {
94
96
  onChangeValue(value);
95
97
  }
98
+ } else if (maskValue === undefined && value !== undefined) {
99
+ onChangeValue(value);
96
100
  }
97
101
  }, [value]);
98
102