@tecsinapse/react-web-kit 1.10.0 → 1.10.4

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.
Files changed (41) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/dist/components/atoms/Input/Input.js +1 -0
  3. package/dist/components/atoms/Input/Input.js.map +1 -1
  4. package/dist/components/atoms/Table/Header/THead.js +2 -2
  5. package/dist/components/atoms/Table/Header/THead.js.map +1 -1
  6. package/dist/components/molecules/Drawer/styled.js.map +1 -1
  7. package/dist/components/molecules/InputPassword/InputPassword.js +1 -0
  8. package/dist/components/molecules/InputPassword/InputPassword.js.map +1 -1
  9. package/dist/components/molecules/Select/Dropdown/Dropdown.js +6 -0
  10. package/dist/components/molecules/Select/Dropdown/Dropdown.js.map +1 -1
  11. package/dist/components/molecules/Select/Dropdown/styled.js.map +1 -1
  12. package/dist/components/molecules/Select/Select.js.map +1 -1
  13. package/dist/components/molecules/Select/SelectItem/SelectItem.js +3 -6
  14. package/dist/components/molecules/Select/SelectItem/SelectItem.js.map +1 -1
  15. package/dist/components/molecules/Select/functions.d.ts +1 -1
  16. package/dist/components/molecules/Select/functions.js +1 -1
  17. package/dist/components/molecules/Select/functions.js.map +1 -1
  18. package/dist/components/molecules/TextArea/TextArea.d.ts +1 -2
  19. package/dist/components/molecules/TextArea/TextArea.js.map +1 -1
  20. package/dist/components/organisms/DataGrid/Header/Header.js.map +1 -1
  21. package/dist/components/organisms/DataGrid/Header/utils.d.ts +6 -8
  22. package/dist/components/organisms/DataGrid/Header/utils.js.map +1 -1
  23. package/dist/components/organisms/DataGrid/types.d.ts +2 -1
  24. package/dist/hooks/useClickAwayListener.js.map +1 -1
  25. package/package.json +3 -3
  26. package/src/components/atoms/Input/Input.tsx +2 -0
  27. package/src/components/atoms/Table/Header/THead.tsx +1 -1
  28. package/src/components/molecules/Drawer/styled.ts +1 -1
  29. package/src/components/molecules/InputPassword/InputPassword.stories.tsx +1 -1
  30. package/src/components/molecules/InputPassword/InputPassword.tsx +2 -0
  31. package/src/components/molecules/Select/Dropdown/Dropdown.tsx +9 -7
  32. package/src/components/molecules/Select/Dropdown/styled.ts +3 -2
  33. package/src/components/molecules/Select/Select.stories.tsx +14 -1
  34. package/src/components/molecules/Select/Select.tsx +0 -1
  35. package/src/components/molecules/Select/SelectItem/SelectItem.tsx +3 -6
  36. package/src/components/molecules/Select/functions.ts +10 -18
  37. package/src/components/molecules/TextArea/TextArea.tsx +1 -2
  38. package/src/components/organisms/DataGrid/Header/Header.tsx +2 -2
  39. package/src/components/organisms/DataGrid/Header/utils.ts +15 -5
  40. package/src/components/organisms/DataGrid/types.ts +3 -1
  41. package/src/hooks/useClickAwayListener.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -3,6 +3,46 @@
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.10.4](https://github.com/tecsinapse/design-system/compare/@tecsinapse/react-web-kit@1.10.3...@tecsinapse/react-web-kit@1.10.4) (2021-11-29)
7
+
8
+ **Note:** Version bump only for package @tecsinapse/react-web-kit
9
+
10
+
11
+
12
+
13
+
14
+ ## [1.10.3](https://github.com/tecsinapse/design-system/compare/@tecsinapse/react-web-kit@1.10.2...@tecsinapse/react-web-kit@1.10.3) (2021-11-16)
15
+
16
+ **Note:** Version bump only for package @tecsinapse/react-web-kit
17
+
18
+
19
+
20
+
21
+
22
+ ## [1.10.2](https://github.com/tecsinapse/design-system/compare/@tecsinapse/react-web-kit@1.10.1...@tecsinapse/react-web-kit@1.10.2) (2021-10-08)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * all elements selected when applying search ([3ca5293](https://github.com/tecsinapse/design-system/commit/3ca5293fb6623fe87d3e92d7032040804946737b))
28
+
29
+
30
+
31
+
32
+
33
+ ## [1.10.1](https://github.com/tecsinapse/design-system/compare/@tecsinapse/react-web-kit@1.10.0...@tecsinapse/react-web-kit@1.10.1) (2021-10-08)
34
+
35
+
36
+ ### Bug Fixes
37
+
38
+ * individual selection not working after select all elements ([ea0f64a](https://github.com/tecsinapse/design-system/commit/ea0f64ab940fb7e5797682b55e8f4f8d696c1961))
39
+ * individual selection not working after select all elements ([b82641f](https://github.com/tecsinapse/design-system/commit/b82641f57c9fae4abf523ba07aef4bd06210b1ae))
40
+ * **select:** check for value changes for select all ([37146c1](https://github.com/tecsinapse/design-system/commit/37146c1d449229292bdabe0138570e812c247ddd))
41
+
42
+
43
+
44
+
45
+
6
46
  # [1.10.0](https://github.com/tecsinapse/design-system/compare/@tecsinapse/react-web-kit@1.9.0...@tecsinapse/react-web-kit@1.10.0) (2021-10-01)
7
47
 
8
48
 
@@ -75,6 +75,7 @@ const Input = _react.default.forwardRef(({
75
75
  }))), hint && _hint);
76
76
  });
77
77
 
78
+ Input.displayName = 'Input';
78
79
  var _default = Input;
79
80
  exports.default = _default;
80
81
  //# sourceMappingURL=Input.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/atoms/Input/Input.tsx"],"names":["Input","React","forwardRef","label","labelColor","labelColorVariant","labelColorTone","labelTypography","labelStack","labelWeight","leftComponent","rightComponent","disabled","style","borderColor","borderColorGradation","inputContainerStyle","variant","hintComponent","hint","onFocus","onBlur","rest","ref","_hint","focused","handleBlur","handleFocus"],"mappings":";;;;;;;AAAA;;AAOA;;AACA;;AACA;;;;;;AAMA,MAAMA,KAAwB,GAAGC,eAAMC,UAAN,CAC/B,CACE;AACEC,EAAAA,KADF;AAEEC,EAAAA,UAFF;AAGEC,EAAAA,iBAHF;AAIEC,EAAAA,cAJF;AAKEC,EAAAA,eALF;AAMEC,EAAAA,UANF;AAOEC,EAAAA,WAPF;AAQEC,EAAAA,aARF;AASEC,EAAAA,cATF;AAUEC,EAAAA,QAVF;AAWEC,EAAAA,KAXF;AAYEC,EAAAA,WAZF;AAaEC,EAAAA,oBAbF;AAcEC,EAAAA,mBAdF;AAeEC,EAAAA,OAAO,GAAG,SAfZ;AAgBEC,EAAAA,aAhBF;AAiBEC,EAAAA,IAjBF;AAkBEC,EAAAA,OAlBF;AAmBEC,EAAAA,MAnBF;AAoBE,KAAGC;AApBL,CADF,EAuBEC,GAvBF,KAwBK;AACH,QAAMC,KAAK,GAAGN,aAAa,IAAI,6BAAC,eAAD;AAAM,IAAA,IAAI,EAAEC,IAAZ;AAAkB,IAAA,OAAO,EAAEF;AAA3B,IAA/B;;AACA,QAAM;AAAEQ,IAAAA,OAAF;AAAWC,IAAAA,UAAX;AAAuBC,IAAAA;AAAvB,MAAuC,8BAC3CP,OAD2C,EAE3CC,MAF2C,EAG3C,CAACT,QAH0C,CAA7C;AAMA,SACE,6BAAC,oBAAD;AAAM,IAAA,KAAK,EAAEC;AAAb,KACE,6BAAC,yBAAD;AACE,IAAA,KAAK,EAAEV,KADT;AAEE,IAAA,UAAU,EAAEC,UAFd;AAGE,IAAA,iBAAiB,EAAEC,iBAHrB;AAIE,IAAA,cAAc,EAAEC,cAJlB;AAKE,IAAA,eAAe,EAAEC,eALnB;AAME,IAAA,UAAU,EAAEC,UANd;AAOE,IAAA,WAAW,EAAEC,WAPf;AAQE,IAAA,aAAa,EAAEC,aARjB;AASE,IAAA,cAAc,EAAEC,cATlB;AAUE,IAAA,WAAW,EAAEG,WAVf;AAWE,IAAA,oBAAoB,EAAEC,oBAXxB;AAYE,IAAA,mBAAmB,EAAEC,mBAZvB;AAaE,IAAA,OAAO,EAAES,OAbX;AAcE,IAAA,QAAQ,EAAEb,QAdZ;AAeE,IAAA,OAAO,EAAEK;AAfX,KAiBE,6BAAC,0BAAD,eACMK,IADN;AAEE,IAAA,GAAG,EAAEC,GAFP;AAGE,IAAA,QAAQ,EAAEX,QAHZ;AAIE,IAAA,OAAO,EAAEe,WAJX;AAKE,IAAA,MAAM,EAAED;AALV,KAjBF,CADF,EA0BGP,IAAI,IAAIK,KA1BX,CADF;AA8BD,CA/D8B,CAAjC;;eAkEexB,K","sourcesContent":["import {\n Hint,\n InputContainer,\n InputContainerProps,\n InputElementProps,\n useInputFocus,\n} from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { View } from 'react-native';\nimport { StyledWebTextInput } from './styled';\n\nexport interface InputWebProps\n extends Omit<InputElementProps, 'style'>,\n InputContainerProps {}\n\nconst Input: FC<InputWebProps> = React.forwardRef(\n (\n {\n label,\n labelColor,\n labelColorVariant,\n labelColorTone,\n labelTypography,\n labelStack,\n labelWeight,\n leftComponent,\n rightComponent,\n disabled,\n style,\n borderColor,\n borderColorGradation,\n inputContainerStyle,\n variant = 'default',\n hintComponent,\n hint,\n onFocus,\n onBlur,\n ...rest\n },\n ref\n ) => {\n const _hint = hintComponent || <Hint text={hint} variant={variant} />;\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n return (\n <View style={style}>\n <InputContainer\n label={label}\n labelColor={labelColor}\n labelColorVariant={labelColorVariant}\n labelColorTone={labelColorTone}\n labelTypography={labelTypography}\n labelStack={labelStack}\n labelWeight={labelWeight}\n leftComponent={leftComponent}\n rightComponent={rightComponent}\n borderColor={borderColor}\n borderColorGradation={borderColorGradation}\n inputContainerStyle={inputContainerStyle}\n focused={focused}\n disabled={disabled}\n variant={variant}\n >\n <StyledWebTextInput\n {...rest}\n ref={ref}\n disabled={disabled}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </InputContainer>\n {hint && _hint}\n </View>\n );\n }\n);\n\nexport default Input;\n"],"file":"Input.js"}
1
+ {"version":3,"sources":["../../../../src/components/atoms/Input/Input.tsx"],"names":["Input","React","forwardRef","label","labelColor","labelColorVariant","labelColorTone","labelTypography","labelStack","labelWeight","leftComponent","rightComponent","disabled","style","borderColor","borderColorGradation","inputContainerStyle","variant","hintComponent","hint","onFocus","onBlur","rest","ref","_hint","focused","handleBlur","handleFocus","displayName"],"mappings":";;;;;;;AAAA;;AAOA;;AACA;;AACA;;;;;;AAMA,MAAMA,KAAwB,GAAGC,eAAMC,UAAN,CAC/B,CACE;AACEC,EAAAA,KADF;AAEEC,EAAAA,UAFF;AAGEC,EAAAA,iBAHF;AAIEC,EAAAA,cAJF;AAKEC,EAAAA,eALF;AAMEC,EAAAA,UANF;AAOEC,EAAAA,WAPF;AAQEC,EAAAA,aARF;AASEC,EAAAA,cATF;AAUEC,EAAAA,QAVF;AAWEC,EAAAA,KAXF;AAYEC,EAAAA,WAZF;AAaEC,EAAAA,oBAbF;AAcEC,EAAAA,mBAdF;AAeEC,EAAAA,OAAO,GAAG,SAfZ;AAgBEC,EAAAA,aAhBF;AAiBEC,EAAAA,IAjBF;AAkBEC,EAAAA,OAlBF;AAmBEC,EAAAA,MAnBF;AAoBE,KAAGC;AApBL,CADF,EAuBEC,GAvBF,KAwBK;AACH,QAAMC,KAAK,GAAGN,aAAa,IAAI,6BAAC,eAAD;AAAM,IAAA,IAAI,EAAEC,IAAZ;AAAkB,IAAA,OAAO,EAAEF;AAA3B,IAA/B;;AACA,QAAM;AAAEQ,IAAAA,OAAF;AAAWC,IAAAA,UAAX;AAAuBC,IAAAA;AAAvB,MAAuC,8BAC3CP,OAD2C,EAE3CC,MAF2C,EAG3C,CAACT,QAH0C,CAA7C;AAMA,SACE,6BAAC,oBAAD;AAAM,IAAA,KAAK,EAAEC;AAAb,KACE,6BAAC,yBAAD;AACE,IAAA,KAAK,EAAEV,KADT;AAEE,IAAA,UAAU,EAAEC,UAFd;AAGE,IAAA,iBAAiB,EAAEC,iBAHrB;AAIE,IAAA,cAAc,EAAEC,cAJlB;AAKE,IAAA,eAAe,EAAEC,eALnB;AAME,IAAA,UAAU,EAAEC,UANd;AAOE,IAAA,WAAW,EAAEC,WAPf;AAQE,IAAA,aAAa,EAAEC,aARjB;AASE,IAAA,cAAc,EAAEC,cATlB;AAUE,IAAA,WAAW,EAAEG,WAVf;AAWE,IAAA,oBAAoB,EAAEC,oBAXxB;AAYE,IAAA,mBAAmB,EAAEC,mBAZvB;AAaE,IAAA,OAAO,EAAES,OAbX;AAcE,IAAA,QAAQ,EAAEb,QAdZ;AAeE,IAAA,OAAO,EAAEK;AAfX,KAiBE,6BAAC,0BAAD,eACMK,IADN;AAEE,IAAA,GAAG,EAAEC,GAFP;AAGE,IAAA,QAAQ,EAAEX,QAHZ;AAIE,IAAA,OAAO,EAAEe,WAJX;AAKE,IAAA,MAAM,EAAED;AALV,KAjBF,CADF,EA0BGP,IAAI,IAAIK,KA1BX,CADF;AA8BD,CA/D8B,CAAjC;;AAkEAxB,KAAK,CAAC4B,WAAN,GAAoB,OAApB;eAEe5B,K","sourcesContent":["import {\n Hint,\n InputContainer,\n InputContainerProps,\n InputElementProps,\n useInputFocus,\n} from '@tecsinapse/react-core';\nimport React, { FC } from 'react';\nimport { View } from 'react-native';\nimport { StyledWebTextInput } from './styled';\n\nexport interface InputWebProps\n extends Omit<InputElementProps, 'style'>,\n InputContainerProps {}\n\nconst Input: FC<InputWebProps> = React.forwardRef(\n (\n {\n label,\n labelColor,\n labelColorVariant,\n labelColorTone,\n labelTypography,\n labelStack,\n labelWeight,\n leftComponent,\n rightComponent,\n disabled,\n style,\n borderColor,\n borderColorGradation,\n inputContainerStyle,\n variant = 'default',\n hintComponent,\n hint,\n onFocus,\n onBlur,\n ...rest\n },\n ref\n ) => {\n const _hint = hintComponent || <Hint text={hint} variant={variant} />;\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n return (\n <View style={style}>\n <InputContainer\n label={label}\n labelColor={labelColor}\n labelColorVariant={labelColorVariant}\n labelColorTone={labelColorTone}\n labelTypography={labelTypography}\n labelStack={labelStack}\n labelWeight={labelWeight}\n leftComponent={leftComponent}\n rightComponent={rightComponent}\n borderColor={borderColor}\n borderColorGradation={borderColorGradation}\n inputContainerStyle={inputContainerStyle}\n focused={focused}\n disabled={disabled}\n variant={variant}\n >\n <StyledWebTextInput\n {...rest}\n ref={ref}\n disabled={disabled}\n onFocus={handleFocus}\n onBlur={handleBlur}\n />\n </InputContainer>\n {hint && _hint}\n </View>\n );\n }\n);\n\nInput.displayName = 'Input';\n\nexport default Input;\n"],"file":"Input.js"}
@@ -9,7 +9,7 @@ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _styled = require("./styled");
11
11
 
12
- var _Tr = _interopRequireDefault(require("../Row/Tr"));
12
+ var _Tr = require("../Row/Tr");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
@@ -17,7 +17,7 @@ const THead = ({
17
17
  children,
18
18
  ...rest
19
19
  }) => {
20
- return _react.default.createElement(_styled.THeadStyled, rest, children, _react.default.createElement(_Tr.default, null, _react.default.createElement("td", {
20
+ return _react.default.createElement(_styled.THeadStyled, rest, children, _react.default.createElement(_Tr.Tr, null, _react.default.createElement("td", {
21
21
  colSpan: 99
22
22
  }, _react.default.createElement(_styled.HeaderBackground, null))));
23
23
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/atoms/Table/Header/THead.tsx"],"names":["THead","children","rest"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA,MAAMA,KAA8D,GAAG,CAAC;AACtEC,EAAAA,QADsE;AAEtE,KAAGC;AAFmE,CAAD,KAGjE;AACJ,SACE,6BAAC,mBAAD,EAAiBA,IAAjB,EACGD,QADH,EAEE,6BAAC,WAAD,QACE;AAAI,IAAA,OAAO,EAAE;AAAb,KACE,6BAAC,wBAAD,OADF,CADF,CAFF,CADF;AAUD,CAdD;;eAgBeD,K","sourcesContent":["import React from 'react';\nimport { HeaderBackground, THeadStyled } from './styled';\nimport Tr from '../Row/Tr';\n\nconst THead: React.FC<React.HTMLAttributes<HTMLTableSectionElement>> = ({\n children,\n ...rest\n}) => {\n return (\n <THeadStyled {...rest}>\n {children}\n <Tr>\n <td colSpan={99}>\n <HeaderBackground />\n </td>\n </Tr>\n </THeadStyled>\n );\n};\n\nexport default THead;\n"],"file":"THead.js"}
1
+ {"version":3,"sources":["../../../../../src/components/atoms/Table/Header/THead.tsx"],"names":["THead","children","rest"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAEA,MAAMA,KAA8D,GAAG,CAAC;AACtEC,EAAAA,QADsE;AAEtE,KAAGC;AAFmE,CAAD,KAGjE;AACJ,SACE,6BAAC,mBAAD,EAAiBA,IAAjB,EACGD,QADH,EAEE,6BAAC,MAAD,QACE;AAAI,IAAA,OAAO,EAAE;AAAb,KACE,6BAAC,wBAAD,OADF,CADF,CAFF,CADF;AAUD,CAdD;;eAgBeD,K","sourcesContent":["import React from 'react';\nimport { HeaderBackground, THeadStyled } from './styled';\nimport { Tr } from '../Row/Tr';\n\nconst THead: React.FC<React.HTMLAttributes<HTMLTableSectionElement>> = ({\n children,\n ...rest\n}) => {\n return (\n <THeadStyled {...rest}>\n {children}\n <Tr>\n <td colSpan={99}>\n <HeaderBackground />\n </td>\n </Tr>\n </THeadStyled>\n );\n};\n\nexport default THead;\n"],"file":"THead.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/molecules/Drawer/styled.ts"],"names":["anchorLeft","theme","anchorPosition","borderRadius","centi","anchorRight","anchorTop","anchorBottom","baseStyles","includes","miscellaneous","bodyColor","zIndex","drawer","StyledContainerDrawer","props"],"mappings":";;;;;;;AAAA;;AAGA;;;;AAEA,MAAMA,UAAU,GAAG,CAAC;AAAEC,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyD;AAC1E,SACEA,cAAc,KAAK,MAAnB,IACA,eAAI;AACR;AACA;AACA,iCAAiCD,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC1D,oCAAoCH,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC7D,KAPE;AASD,CAVD;;AAWA,MAAMC,WAAW,GAAG,CAAC;AAAEJ,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyD;AAC3E,SACEA,cAAc,KAAK,OAAnB,IACA,eAAI;AACR;AACA;AACA,gCAAgCD,KAAK,CAACE,YAAN,CAAmBC,KAAM;AACzD,mCAAmCH,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC5D,KAPE;AASD,CAVD;;AAYA,MAAME,SAAS,GAAG,CAAC;AAAEL,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyD;AACzE,SACEA,cAAc,KAAK,KAAnB,IACA,eAAI;AACR;AACA;AACA;AACA,oCAAoCD,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC7D,mCAAmCH,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC5D,KARE;AAUD,CAXD;;AAaA,MAAMG,YAAY,GAAG,CAAC;AAAEN,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyD;AAC5E,SACEA,cAAc,KAAK,QAAnB,IACA,eAAI;AACR;AACA;AACA;AACA,iCAAiCD,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC1D,gCAAgCH,KAAK,CAACE,YAAN,CAAmBC,KAAM;AACzD,KARE;AAUD,CAXD;;AAaA,MAAMI,UAAU,GAAG,CAAC;AAAEP,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyD;AAC1E,SAAO,eAAI;AACb,cAAc,CAAC,MAAD,EAAS,OAAT,EAAkBO,QAAlB,CAA2BP,cAA3B,KAA8C,OAAQ;AACpE,aAAa,CAAC,KAAD,EAAQ,QAAR,EAAkBO,QAAlB,CAA2BP,cAA3B,KAA8C,OAAQ;AACnE;AACA;AACA,wBAAwBD,KAAK,CAACS,aAAN,CAAoBC,SAAU;AACtD,eAAeV,KAAK,CAACW,MAAN,CAAaC,MAAO;AACnC,GAPE;AAQD,CATD;;AAWO,MAAMC,qBAAqB,GAAG,qBAAO,KAAP,EAGnCC,KAAK,IAAI,eAAI;AACf,MAAMP,UAAU,CAACO,KAAD,CAAQ;AACxB,MAAMR,YAAY,CAACQ,KAAD,CAAQ;AAC1B,MAAMT,SAAS,CAACS,KAAD,CAAQ;AACvB,MAAMf,UAAU,CAACe,KAAD,CAAQ;AACxB,MAAMV,WAAW,CAACU,KAAD,CAAQ;AACzB,GATqC,CAA9B","sourcesContent":["import styled from '@emotion/styled';\nimport { hex2rgba, StyleProps } from '@tecsinapse/react-core';\nimport { DrawerProps } from './Drawer';\nimport { css } from '@emotion/react';\n\nconst anchorLeft = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {\n return (\n anchorPosition === 'left' &&\n css`\n left: 0;\n top: 0;\n border-top-right-radius: ${theme.borderRadius.centi};\n border-bottom-right-radius: ${theme.borderRadius.centi};\n `\n );\n};\nconst anchorRight = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {\n return (\n anchorPosition === 'right' &&\n css`\n right: 0;\n top: 0;\n border-top-left-radius: ${theme.borderRadius.centi};\n border-bottom-left-radius: ${theme.borderRadius.centi};\n `\n );\n};\n\nconst anchorTop = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {\n return (\n anchorPosition === 'top' &&\n css`\n left: 0;\n right: 0;\n top: 0;\n border-bottom-right-radius: ${theme.borderRadius.centi};\n border-bottom-left-radius: ${theme.borderRadius.centi};\n `\n );\n};\n\nconst anchorBottom = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {\n return (\n anchorPosition === 'bottom' &&\n css`\n left: 0;\n right: 0;\n bottom: 0;\n border-top-right-radius: ${theme.borderRadius.centi};\n border-top-left-radius: ${theme.borderRadius.centi};\n `\n );\n};\n\nconst baseStyles = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {\n return css`\n height: ${['left', 'right'].includes(anchorPosition) && '100vh'};\n width: ${['top', 'bottom'].includes(anchorPosition) && '100wh'};\n position: fixed;\n overflow: hidden;\n background-color: ${theme.miscellaneous.bodyColor};\n z-index: ${theme.zIndex.drawer};\n `;\n};\n\nexport const StyledContainerDrawer = styled('div')<\n DrawerProps & Partial<StyleProps>\n>(\n props => css`\n ${baseStyles(props)}\n ${anchorBottom(props)}\n ${anchorTop(props)}\n ${anchorLeft(props)}\n ${anchorRight(props)}\n `\n);\n"],"file":"styled.js"}
1
+ {"version":3,"sources":["../../../../src/components/molecules/Drawer/styled.ts"],"names":["anchorLeft","theme","anchorPosition","borderRadius","centi","anchorRight","anchorTop","anchorBottom","baseStyles","includes","miscellaneous","bodyColor","zIndex","drawer","StyledContainerDrawer","props"],"mappings":";;;;;;;AAAA;;AAGA;;;;AAEA,MAAMA,UAAU,GAAG,CAAC;AAAEC,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyD;AAC1E,SACEA,cAAc,KAAK,MAAnB,IACA,eAAI;AACR;AACA;AACA,iCAAiCD,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC1D,oCAAoCH,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC7D,KAPE;AASD,CAVD;;AAWA,MAAMC,WAAW,GAAG,CAAC;AAAEJ,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyD;AAC3E,SACEA,cAAc,KAAK,OAAnB,IACA,eAAI;AACR;AACA;AACA,gCAAgCD,KAAK,CAACE,YAAN,CAAmBC,KAAM;AACzD,mCAAmCH,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC5D,KAPE;AASD,CAVD;;AAYA,MAAME,SAAS,GAAG,CAAC;AAAEL,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyD;AACzE,SACEA,cAAc,KAAK,KAAnB,IACA,eAAI;AACR;AACA;AACA;AACA,oCAAoCD,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC7D,mCAAmCH,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC5D,KARE;AAUD,CAXD;;AAaA,MAAMG,YAAY,GAAG,CAAC;AAAEN,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyD;AAC5E,SACEA,cAAc,KAAK,QAAnB,IACA,eAAI;AACR;AACA;AACA;AACA,iCAAiCD,KAAK,CAACE,YAAN,CAAmBC,KAAM;AAC1D,gCAAgCH,KAAK,CAACE,YAAN,CAAmBC,KAAM;AACzD,KARE;AAUD,CAXD;;AAaA,MAAMI,UAAU,GAAG,CAAC;AAAEP,EAAAA,KAAF;AAASC,EAAAA;AAAT,CAAD,KAAyD;AAC1E,SAAO,eAAI;AACb,cAAc,CAAC,MAAD,EAAS,OAAT,EAAkBO,QAAlB,CAA2BP,cAA3B,KAA8C,OAAQ;AACpE,aAAa,CAAC,KAAD,EAAQ,QAAR,EAAkBO,QAAlB,CAA2BP,cAA3B,KAA8C,OAAQ;AACnE;AACA;AACA,wBAAwBD,KAAK,CAACS,aAAN,CAAoBC,SAAU;AACtD,eAAeV,KAAK,CAACW,MAAN,CAAaC,MAAO;AACnC,GAPE;AAQD,CATD;;AAWO,MAAMC,qBAAqB,GAAG,qBAAO,KAAP,EAGnCC,KAAK,IAAI,eAAI;AACf,MAAMP,UAAU,CAACO,KAAD,CAAQ;AACxB,MAAMR,YAAY,CAACQ,KAAD,CAAQ;AAC1B,MAAMT,SAAS,CAACS,KAAD,CAAQ;AACvB,MAAMf,UAAU,CAACe,KAAD,CAAQ;AACxB,MAAMV,WAAW,CAACU,KAAD,CAAQ;AACzB,GATqC,CAA9B","sourcesContent":["import styled from '@emotion/styled';\nimport { StyleProps } from '@tecsinapse/react-core';\nimport { DrawerProps } from './Drawer';\nimport { css } from '@emotion/react';\n\nconst anchorLeft = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {\n return (\n anchorPosition === 'left' &&\n css`\n left: 0;\n top: 0;\n border-top-right-radius: ${theme.borderRadius.centi};\n border-bottom-right-radius: ${theme.borderRadius.centi};\n `\n );\n};\nconst anchorRight = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {\n return (\n anchorPosition === 'right' &&\n css`\n right: 0;\n top: 0;\n border-top-left-radius: ${theme.borderRadius.centi};\n border-bottom-left-radius: ${theme.borderRadius.centi};\n `\n );\n};\n\nconst anchorTop = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {\n return (\n anchorPosition === 'top' &&\n css`\n left: 0;\n right: 0;\n top: 0;\n border-bottom-right-radius: ${theme.borderRadius.centi};\n border-bottom-left-radius: ${theme.borderRadius.centi};\n `\n );\n};\n\nconst anchorBottom = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {\n return (\n anchorPosition === 'bottom' &&\n css`\n left: 0;\n right: 0;\n bottom: 0;\n border-top-right-radius: ${theme.borderRadius.centi};\n border-top-left-radius: ${theme.borderRadius.centi};\n `\n );\n};\n\nconst baseStyles = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {\n return css`\n height: ${['left', 'right'].includes(anchorPosition) && '100vh'};\n width: ${['top', 'bottom'].includes(anchorPosition) && '100wh'};\n position: fixed;\n overflow: hidden;\n background-color: ${theme.miscellaneous.bodyColor};\n z-index: ${theme.zIndex.drawer};\n `;\n};\n\nexport const StyledContainerDrawer = styled('div')<\n DrawerProps & Partial<StyleProps>\n>(\n props => css`\n ${baseStyles(props)}\n ${anchorBottom(props)}\n ${anchorTop(props)}\n ${anchorLeft(props)}\n ${anchorRight(props)}\n `\n);\n"],"file":"styled.js"}
@@ -33,6 +33,7 @@ const InputPassword = _react.default.forwardRef(({
33
33
  }));
34
34
  });
35
35
 
36
+ InputPassword.displayName = 'InputPassword';
36
37
  var _default = InputPassword;
37
38
  exports.default = _default;
38
39
  //# sourceMappingURL=InputPassword.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/molecules/InputPassword/InputPassword.tsx"],"names":["InputPassword","React","forwardRef","rightComponent","rest","ref","revealed","setRevealed"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAIA,MAAMA,aAAwC,GAAGC,eAAMC,UAAN,CAC/C,CAAC;AAAEC,EAAAA,cAAF;AAAkB,KAAGC;AAArB,CAAD,EAA8BC,GAA9B,KAAsC;AACpC,QAAM,CAACC,QAAD,EAAWC,WAAX,IAA0B,qBAAS,KAAT,CAAhC;AACA,SACE,6BAAC,YAAD,eACMH,IADN;AAEE,IAAA,GAAG,EAAEC,GAFP;AAGE,IAAA,eAAe,EAAE,CAACC,QAHpB;AAIE,IAAA,cAAc,EACZ,4DACE,6BAAC,4BAAD;AACE,MAAA,aAAa,EAAEC,WADjB;AAEE,MAAA,QAAQ,EAAED,QAFZ;AAGE,MAAA,MAAM,EAAC;AAHT,MADF,EAMGH,cANH;AALJ,KADF;AAiBD,CApB8C,CAAjD;;eAuBeH,a","sourcesContent":["import { InputPasswordIcon } from '@tecsinapse/react-core';\nimport React, { FC, useState } from 'react';\nimport { Input, InputWebProps } from '../../atoms/Input';\n\nexport type InputPasswordWebProps = InputWebProps;\n\nconst InputPassword: FC<InputPasswordWebProps> = React.forwardRef(\n ({ rightComponent, ...rest }, ref) => {\n const [revealed, setRevealed] = useState(false);\n return (\n <Input\n {...rest}\n ref={ref}\n secureTextEntry={!revealed}\n rightComponent={\n <>\n <InputPasswordIcon\n onChangeState={setRevealed}\n revealed={revealed}\n effect=\"none\"\n />\n {rightComponent}\n </>\n }\n />\n );\n }\n);\n\nexport default InputPassword;\n"],"file":"InputPassword.js"}
1
+ {"version":3,"sources":["../../../../src/components/molecules/InputPassword/InputPassword.tsx"],"names":["InputPassword","React","forwardRef","rightComponent","rest","ref","revealed","setRevealed","displayName"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;;;;;AAIA,MAAMA,aAAwC,GAAGC,eAAMC,UAAN,CAC/C,CAAC;AAAEC,EAAAA,cAAF;AAAkB,KAAGC;AAArB,CAAD,EAA8BC,GAA9B,KAAsC;AACpC,QAAM,CAACC,QAAD,EAAWC,WAAX,IAA0B,qBAAS,KAAT,CAAhC;AACA,SACE,6BAAC,YAAD,eACMH,IADN;AAEE,IAAA,GAAG,EAAEC,GAFP;AAGE,IAAA,eAAe,EAAE,CAACC,QAHpB;AAIE,IAAA,cAAc,EACZ,4DACE,6BAAC,4BAAD;AACE,MAAA,aAAa,EAAEC,WADjB;AAEE,MAAA,QAAQ,EAAED,QAFZ;AAGE,MAAA,MAAM,EAAC;AAHT,MADF,EAMGH,cANH;AALJ,KADF;AAiBD,CApB8C,CAAjD;;AAuBAH,aAAa,CAACQ,WAAd,GAA4B,eAA5B;eAEeR,a","sourcesContent":["import { InputPasswordIcon } from '@tecsinapse/react-core';\nimport React, { FC, useState } from 'react';\nimport { Input, InputWebProps } from '../../atoms/Input';\n\nexport type InputPasswordWebProps = InputWebProps;\n\nconst InputPassword: FC<InputPasswordWebProps> = React.forwardRef(\n ({ rightComponent, ...rest }, ref) => {\n const [revealed, setRevealed] = useState(false);\n return (\n <Input\n {...rest}\n ref={ref}\n secureTextEntry={!revealed}\n rightComponent={\n <>\n <InputPasswordIcon\n onChangeState={setRevealed}\n revealed={revealed}\n effect=\"none\"\n />\n {rightComponent}\n </>\n }\n />\n );\n }\n);\n\nInputPassword.displayName = 'InputPassword';\n\nexport default InputPassword;\n"],"file":"InputPassword.js"}
@@ -42,6 +42,12 @@ const Dropdown = ({
42
42
 
43
43
  const [checkedAll, setCheckedAll] = _react.default.useState(type === 'multi' && (value === null || value === void 0 ? void 0 : value.length) === lengthOptions);
44
44
 
45
+ _react.default.useEffect(() => {
46
+ if (type === 'multi') {
47
+ lengthOptions === (value === null || value === void 0 ? void 0 : value.length) ? setCheckedAll(true) : setCheckedAll(false);
48
+ }
49
+ }, [value, type, lengthOptions]);
50
+
45
51
  const onClickCheckAll = _react.default.useCallback(() => {
46
52
  const items = options.map(option => option);
47
53
  let aux;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/molecules/Select/Dropdown/Dropdown.tsx"],"names":["fullWidth","width","Dropdown","options","onSearch","type","hideSearchBar","onSelect","value","keyExtractor","labelExtractor","setDropDownVisible","style","anchor","selectAllLabel","searchBarPlaceholder","searchArg","setSearchArg","lengthOptions","React","useMemo","length","checkedAll","setCheckedAll","useState","onClickCheckAll","useCallback","items","map","option","aux","prev","auxArray","onChange","text","undefined","item","index"],"mappings":";;;;;;;AAAA;;AACA;;AAOA;;AAEA;;AASA;;;;AAEA,MAAMA,SAAS,GAAG;AAAEC,EAAAA,KAAK,EAAE;AAAT,CAAlB;;AAEA,MAAMC,QAAQ,GAAG,CAAwC;AACvDC,EAAAA,OADuD;AAEvDC,EAAAA,QAFuD;AAGvDC,EAAAA,IAHuD;AAIvDC,EAAAA,aAJuD;AAKvDC,EAAAA,QALuD;AAMvDC,EAAAA,KANuD;AAOvDC,EAAAA,YAPuD;AAQvDC,EAAAA,cARuD;AASvDC,EAAAA,kBATuD;AAUvDC,EAAAA,KAVuD;AAWvDC,EAAAA,MAXuD;AAYvDC,EAAAA,cAZuD;AAavDC,EAAAA;AAbuD,CAAxC,KAgBE;AACjB,QAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4B,kCAA0B,EAA1B,EAA8Bb,QAA9B,CAAlC;;AACA,QAAMc,aAAa,GAAGC,eAAMC,OAAN,CAAc,MAAMjB,OAAO,CAACkB,MAA5B,EAAoC,CAAClB,OAAD,CAApC,CAAtB;;AAEA,QAAM,CAACmB,UAAD,EAAaC,aAAb,IAA8BJ,eAAMK,QAAN,CAClCnB,IAAI,KAAK,OAAT,IAAoB,CAACG,KAAD,aAACA,KAAD,uBAACA,KAAD,CAAmBa,MAAnB,MAA8BH,aADhB,CAApC;;AAIA,QAAMO,eAAe,GAAGN,eAAMO,WAAN,CAAkB,MAAM;AAC9C,UAAMC,KAAK,GAAGxB,OAAO,CAACyB,GAAR,CAAYC,MAAM,IAAIA,MAAtB,CAAd;AACA,QAAIC,GAAJ;AACAP,IAAAA,aAAa,CAACQ,IAAI,IAAI;AACpBD,MAAAA,GAAG,GAAG,CAACC,IAAP;AACA,aAAO,CAACA,IAAR;AACD,KAHY,CAAb;AAKA,UAAMC,QAAgB,GAAG,EAAzB;AACA,KAACF,GAAD,GAAOvB,QAAQ,CAACyB,QAAD,CAAf,GAA2CzB,QAAQ,CAACoB,KAAD,CAAnD;AACD,GAVuB,EAUrB,CAACxB,OAAD,EAAUoB,aAAV,EAAyBhB,QAAzB,CAVqB,CAAxB;;AAYA,QAAM0B,QAAQ,GAAGd,eAAMO,WAAN,CAAkBQ,IAAI,IAAIjB,YAAY,CAACiB,IAAD,CAAtC,EAA8C,CAC7DjB,YAD6D,CAA9C,CAAjB;;AAIA,SACE,6BAAC,+BAAD;AACE,IAAA,aAAa,EAAEC,aADjB;AAEE,IAAA,KAAK,EAAEN,KAFT;AAGE,IAAA,MAAM,EAAEC;AAHV,KAKGR,IAAI,KAAK,OAAT,IACC,6BAAC,+BAAD;AACE,IAAA,OAAO,EAAEC,aAAa,GAAGmB,eAAH,GAAqBU;AAD7C,KAGE,6BAAC,mBAAD;AAAU,IAAA,OAAO,EAAEb,UAAnB;AAA+B,IAAA,QAAQ,EAAEG;AAAzC,IAHF,EAIG,CAACnB,aAAD,GACC,6BAAC,0BAAD,QACE,6BAAC,uBAAD;AACE,IAAA,SAAS,EAAEU,SADb;AAEE,IAAA,QAAQ,EAAEiB,QAFZ;AAGE,IAAA,SAAS,EAAEjC,SAHb;AAIE,IAAA,WAAW,EAAEe;AAJf,IADF,CADD,GAUC,6BAAC,gCAAD,QACE,6BAAC,eAAD;AAAM,IAAA,UAAU,EAAC;AAAjB,KACE,6BAAC,kBAAD,QAAaD,cAAb,CADF,CADF,CAdJ,CANJ,EA4BGT,IAAI,KAAK,QAAT,IAAqB,CAACC,aAAtB,IACC,6BAAC,uBAAD,QACE,6BAAC,uBAAD;AACE,IAAA,SAAS,EAAEU,SADb;AAEE,IAAA,QAAQ,EAAEiB,QAFZ;AAGE,IAAA,SAAS,EAAEjC,SAHb;AAIE,IAAA,WAAW,EAAEe;AAJf,IADF,CA7BJ,EAsCE,6BAAC,wBAAD;AAAkB,IAAA,aAAa,EAAEZ,OAAO,CAACkB;AAAzC,KACGlB,OAAO,CAACyB,GAAR,CAAY,CAACQ,IAAD,EAAOC,KAAP,KACX,6BAAC,sBAAD;AACE,IAAA,IAAI,EAAEhC,IADR;AAEE,IAAA,GAAG,EAAEI,YAAY,CAAC2B,IAAD,CAFnB;AAGE,IAAA,IAAI,EAAEA,IAHR;AAIE,IAAA,QAAQ,EAAE7B,QAJZ;AAKE,IAAA,KAAK,EAAEC,KALT;AAME,IAAA,YAAY,EAAEC,YANhB;AAOE,IAAA,KAAK,EAAE4B,KAPT;AAQE,IAAA,cAAc,EAAE3B,cARlB;AASE,IAAA,kBAAkB,EAAEC,kBATtB;AAUE,IAAA,UAAU,EAAEW,UAVd;AAWE,IAAA,aAAa,EAAEC,aAXjB;AAYE,IAAA,aAAa,EAAEL;AAZjB,IADD,CADH,CAtCF,CADF;AA2DD,CAnGD;;eAqGehB,Q","sourcesContent":["import React from 'react';\nimport {\n Checkbox,\n Text,\n Icon,\n useDebouncedState,\n} from '@tecsinapse/react-core';\nimport { Input } from '../../../atoms/Input';\nimport { ItemSelect } from '../SelectItem';\nimport { SelectProps } from '../Select';\nimport {\n SearchBarContainer,\n StyledContainerCheckAll,\n StyledContainerDropdown,\n StyledContainerTextLabel,\n StyledSpan,\n OptionsContainer,\n PaddedContainer,\n} from './styled';\nimport { SearchInput } from './components';\n\nconst fullWidth = { width: '100%' };\n\nconst Dropdown = <Data, Type extends 'single' | 'multi'>({\n options,\n onSearch,\n type,\n hideSearchBar,\n onSelect,\n value,\n keyExtractor,\n labelExtractor,\n setDropDownVisible,\n style,\n anchor,\n selectAllLabel,\n searchBarPlaceholder,\n}: SelectProps<Data, Type> & {\n setDropDownVisible: (t: boolean) => void;\n}): JSX.Element => {\n const [searchArg, setSearchArg] = useDebouncedState<string>('', onSearch);\n const lengthOptions = React.useMemo(() => options.length, [options]);\n\n const [checkedAll, setCheckedAll] = React.useState<boolean>(\n type === 'multi' && (value as Data[])?.length === lengthOptions\n );\n\n const onClickCheckAll = React.useCallback(() => {\n const items = options.map(option => option);\n let aux;\n setCheckedAll(prev => {\n aux = !prev;\n return !prev;\n });\n type OnSelectArg = Parameters<typeof onSelect>[0];\n const auxArray: Data[] = [];\n !aux ? onSelect(auxArray as OnSelectArg) : onSelect(items as OnSelectArg);\n }, [options, setCheckedAll, onSelect]);\n\n const onChange = React.useCallback(text => setSearchArg(text), [\n setSearchArg,\n ]);\n\n return (\n <StyledContainerDropdown\n lengthOptions={lengthOptions}\n style={style}\n anchor={anchor}\n >\n {type === 'multi' && (\n <StyledContainerCheckAll\n onClick={hideSearchBar ? onClickCheckAll : undefined}\n >\n <Checkbox checked={checkedAll} onChange={onClickCheckAll} />\n {!hideSearchBar ? (\n <SearchBarContainer>\n <SearchInput\n searchArg={searchArg}\n onChange={onChange}\n fullWidth={fullWidth}\n placeholder={searchBarPlaceholder}\n />\n </SearchBarContainer>\n ) : (\n <StyledContainerTextLabel>\n <Text fontWeight=\"bold\">\n <StyledSpan>{selectAllLabel}</StyledSpan>\n </Text>\n </StyledContainerTextLabel>\n )}\n </StyledContainerCheckAll>\n )}\n {type === 'single' && !hideSearchBar && (\n <PaddedContainer>\n <SearchInput\n searchArg={searchArg}\n onChange={onChange}\n fullWidth={fullWidth}\n placeholder={searchBarPlaceholder}\n />\n </PaddedContainer>\n )}\n <OptionsContainer lengthOptions={options.length}>\n {options.map((item, index) => (\n <ItemSelect\n type={type}\n key={keyExtractor(item)}\n item={item}\n onSelect={onSelect}\n value={value}\n keyExtractor={keyExtractor}\n index={index}\n labelExtractor={labelExtractor}\n setDropDownVisible={setDropDownVisible}\n checkedAll={checkedAll}\n setCheckedAll={setCheckedAll}\n lenghtOptions={lengthOptions}\n />\n ))}\n </OptionsContainer>\n </StyledContainerDropdown>\n );\n};\n\nexport default Dropdown;\n"],"file":"Dropdown.js"}
1
+ {"version":3,"sources":["../../../../../src/components/molecules/Select/Dropdown/Dropdown.tsx"],"names":["fullWidth","width","Dropdown","options","onSearch","type","hideSearchBar","onSelect","value","keyExtractor","labelExtractor","setDropDownVisible","style","anchor","selectAllLabel","searchBarPlaceholder","searchArg","setSearchArg","lengthOptions","React","useMemo","length","checkedAll","setCheckedAll","useState","useEffect","onClickCheckAll","useCallback","items","map","option","aux","prev","auxArray","onChange","text","undefined","item","index"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { Checkbox, Text, useDebouncedState } from '@tecsinapse/react-core';\nimport { ItemSelect } from '../SelectItem';\nimport { SelectProps } from '../Select';\nimport {\n SearchBarContainer,\n StyledContainerCheckAll,\n StyledContainerDropdown,\n StyledContainerTextLabel,\n StyledSpan,\n OptionsContainer,\n PaddedContainer,\n} from './styled';\nimport { SearchInput } from './components';\n\nconst fullWidth = { width: '100%' };\n\nconst Dropdown = <Data, Type extends 'single' | 'multi'>({\n options,\n onSearch,\n type,\n hideSearchBar,\n onSelect,\n value,\n keyExtractor,\n labelExtractor,\n setDropDownVisible,\n style,\n anchor,\n selectAllLabel,\n searchBarPlaceholder,\n}: SelectProps<Data, Type> & {\n setDropDownVisible: (t: boolean) => void;\n}): JSX.Element => {\n const [searchArg, setSearchArg] = useDebouncedState<string>('', onSearch);\n const lengthOptions = React.useMemo(() => options.length, [options]);\n\n const [checkedAll, setCheckedAll] = React.useState<boolean>(\n type === 'multi' && (value as Data[])?.length === lengthOptions\n );\n\n React.useEffect(() => {\n if (type === 'multi') {\n lengthOptions === (value as Data[])?.length\n ? setCheckedAll(true)\n : setCheckedAll(false);\n }\n }, [value, type, lengthOptions]);\n\n const onClickCheckAll = React.useCallback(() => {\n const items = options.map(option => option);\n let aux;\n setCheckedAll(prev => {\n aux = !prev;\n return !prev;\n });\n type OnSelectArg = Parameters<typeof onSelect>[0];\n const auxArray: Data[] = [];\n !aux ? onSelect(auxArray as OnSelectArg) : onSelect(items as OnSelectArg);\n }, [options, setCheckedAll, onSelect]);\n\n const onChange = React.useCallback(text => setSearchArg(text), [\n setSearchArg,\n ]);\n\n return (\n <StyledContainerDropdown\n lengthOptions={lengthOptions}\n style={style}\n anchor={anchor}\n >\n {type === 'multi' && (\n <StyledContainerCheckAll\n onClick={hideSearchBar ? onClickCheckAll : undefined}\n >\n <Checkbox checked={checkedAll} onChange={onClickCheckAll} />\n {!hideSearchBar ? (\n <SearchBarContainer>\n <SearchInput\n searchArg={searchArg}\n onChange={onChange}\n fullWidth={fullWidth}\n placeholder={searchBarPlaceholder}\n />\n </SearchBarContainer>\n ) : (\n <StyledContainerTextLabel>\n <Text fontWeight=\"bold\">\n <StyledSpan>{selectAllLabel}</StyledSpan>\n </Text>\n </StyledContainerTextLabel>\n )}\n </StyledContainerCheckAll>\n )}\n {type === 'single' && !hideSearchBar && (\n <PaddedContainer>\n <SearchInput\n searchArg={searchArg}\n onChange={onChange}\n fullWidth={fullWidth}\n placeholder={searchBarPlaceholder}\n />\n </PaddedContainer>\n )}\n <OptionsContainer lengthOptions={options.length}>\n {options.map((item, index) => (\n <ItemSelect\n type={type}\n key={keyExtractor(item)}\n item={item}\n onSelect={onSelect}\n value={value}\n keyExtractor={keyExtractor}\n index={index}\n labelExtractor={labelExtractor}\n setDropDownVisible={setDropDownVisible}\n checkedAll={checkedAll}\n setCheckedAll={setCheckedAll}\n lenghtOptions={lengthOptions}\n />\n ))}\n </OptionsContainer>\n </StyledContainerDropdown>\n );\n};\n\nexport default Dropdown;\n"],"file":"Dropdown.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/molecules/Select/Dropdown/styled.ts"],"names":["anchorBottom","theme","anchor","spacing","centi","anchorTop","StyledContainerDropdown","miscellaneous","surfaceColor","borderRadius","mili","shadow","hideSearchBar","deca","zIndex","select","OptionsContainer","lengthOptions","color","secondary","light","primary","SearchBarContainer","PaddedContainer","StyledContainerCheckAll","xlight","medium","StyledSpan","font","dark","StyledContainerTextLabel"],"mappings":"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","sourcesContent":["import styled from '@emotion/styled';\nimport { hex2rgba, StyleProps } from '@tecsinapse/react-core';\nimport { SelectProps } from '../Select';\nimport { css } from '@emotion/react';\n\ntype InjectedProps = Partial<\n StyleProps & SelectProps<any, any> & { lengthOptions: number }\n>;\n\nconst anchorBottom = ({\n theme,\n anchor,\n}: StyleProps & Omit<InjectedProps, 'theme'>) =>\n anchor === 'bottom' &&\n css`\n margin-top: ${theme.spacing.centi};\n top: 100%;\n `;\n\nconst anchorTop = ({\n theme,\n anchor,\n}: StyleProps & Omit<InjectedProps, 'theme'>) =>\n anchor === 'top' &&\n css`\n margin-bottom: ${theme.spacing.centi};\n bottom: 100%;\n `;\n\nexport const StyledContainerDropdown = styled('div')<InjectedProps>`\n width: 100%;\n background-color: ${({ theme }: StyleProps) =>\n theme.miscellaneous.surfaceColor};\n border-radius: ${({ theme }: StyleProps) => theme.borderRadius.mili};\n box-shadow: 0 2px 8px\n ${({ theme }: StyleProps) => hex2rgba(theme.miscellaneous.shadow, 0.08)};\n position: absolute;\n padding-top: ${({\n theme,\n hideSearchBar,\n }: StyleProps & Partial<SelectProps<any, any>>) =>\n !hideSearchBar ? `${theme.spacing.deca}` : '0px'};\n padding-bottom: ${({ theme }: StyleProps) => theme.spacing.mili};\n z-index: ${({ theme }: StyleProps) => theme.zIndex.select};\n ${anchorTop}\n ${anchorBottom}\n`;\n\nexport const OptionsContainer = styled('div')<InjectedProps>`\n max-height: 250px;\n top: 100%;\n overflow-y: ${({ lengthOptions = 0 }: InjectedProps) =>\n lengthOptions > 5 ? 'scroll' : 'hidden'};\n ::-webkit-scrollbar {\n width: 8px;\n }\n ::-webkit-scrollbar-thumb {\n border-radius: ${({ theme }: StyleProps) => theme.borderRadius.centi};\n background-color: ${({ theme }: StyleProps) => theme.color.secondary.light};\n }\n ::-webkit-scrollbar-thumb:hover {\n background-color: ${({ theme }: StyleProps) => theme.color.primary.light};\n },\n`;\n\nexport const SearchBarContainer = styled('div')<Partial<StyleProps>>`\n padding-left: ${({ theme }) => theme.spacing.mili};\n width: 100%;\n`;\n\nexport const PaddedContainer = styled('div')<Partial<StyleProps>>`\n padding: ${({ theme }) => `${theme.spacing.mili} ${theme.spacing.deca}`};\n`;\n\nexport const StyledContainerCheckAll = styled(PaddedContainer)<\n Partial<StyleProps>\n>`\n flex-direction: row;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n cursor: pointer;\n &:hover {\n background-color: ${({ theme }) => theme.color.primary.xlight};\n }\n &:hover span {\n color: ${({ theme }) => theme.color.primary.medium};\n }\n`;\n\nexport const StyledSpan = styled('span')<Partial<StyleProps>>`\n color: ${({ theme }) => theme.font.color.dark};\n padding: ${({ theme }) => `${theme.spacing.mili} 0px`};\n`;\n\nexport const StyledContainerTextLabel = styled('div')<Partial<StyleProps>>`\n padding-left: ${({ theme }) => theme.spacing.mili};\n width: 100%;\n display: flex;\n overflow: hidden;\n`;\n"],"file":"styled.js"}
1
+ {"version":3,"sources":["../../../../../src/components/molecules/Select/Dropdown/styled.ts"],"names":["anchorBottom","theme","anchor","spacing","centi","anchorTop","StyledContainerDropdown","miscellaneous","surfaceColor","borderRadius","mili","shadow","hideSearchBar","deca","zIndex","select","OptionsContainer","lengthOptions","color","secondary","light","primary","SearchBarContainer","PaddedContainer","StyledContainerCheckAll","xlight","medium","StyledSpan","font","dark","StyledContainerTextLabel"],"mappings":"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","sourcesContent":["import styled from '@emotion/styled';\nimport { hex2rgba, StyleProps } from '@tecsinapse/react-core';\nimport { SelectProps } from '../Select';\nimport { css } from '@emotion/react';\n\ntype InjectedProps = Partial<\n StyleProps &\n SelectProps<unknown, 'single' | 'multi'> & { lengthOptions: number }\n>;\n\nconst anchorBottom = ({\n theme,\n anchor,\n}: StyleProps & Omit<InjectedProps, 'theme'>) =>\n anchor === 'bottom' &&\n css`\n margin-top: ${theme.spacing.centi};\n top: 100%;\n `;\n\nconst anchorTop = ({\n theme,\n anchor,\n}: StyleProps & Omit<InjectedProps, 'theme'>) =>\n anchor === 'top' &&\n css`\n margin-bottom: ${theme.spacing.centi};\n bottom: 100%;\n `;\n\nexport const StyledContainerDropdown = styled('div')<InjectedProps>`\n width: 100%;\n background-color: ${({ theme }: StyleProps) =>\n theme.miscellaneous.surfaceColor};\n border-radius: ${({ theme }: StyleProps) => theme.borderRadius.mili};\n box-shadow: 0 2px 8px\n ${({ theme }: StyleProps) => hex2rgba(theme.miscellaneous.shadow, 0.08)};\n position: absolute;\n padding-top: ${({\n theme,\n hideSearchBar,\n }: StyleProps & Partial<SelectProps<unknown, 'single' | 'multi'>>) =>\n !hideSearchBar ? `${theme.spacing.deca}` : '0px'};\n padding-bottom: ${({ theme }: StyleProps) => theme.spacing.mili};\n z-index: ${({ theme }: StyleProps) => theme.zIndex.select};\n ${anchorTop}\n ${anchorBottom}\n`;\n\nexport const OptionsContainer = styled('div')<InjectedProps>`\n max-height: 250px;\n top: 100%;\n overflow-y: ${({ lengthOptions = 0 }: InjectedProps) =>\n lengthOptions > 5 ? 'scroll' : 'hidden'};\n ::-webkit-scrollbar {\n width: 8px;\n }\n ::-webkit-scrollbar-thumb {\n border-radius: ${({ theme }: StyleProps) => theme.borderRadius.centi};\n background-color: ${({ theme }: StyleProps) => theme.color.secondary.light};\n }\n ::-webkit-scrollbar-thumb:hover {\n background-color: ${({ theme }: StyleProps) => theme.color.primary.light};\n },\n`;\n\nexport const SearchBarContainer = styled('div')<Partial<StyleProps>>`\n padding-left: ${({ theme }) => theme.spacing.mili};\n width: 100%;\n`;\n\nexport const PaddedContainer = styled('div')<Partial<StyleProps>>`\n padding: ${({ theme }) => `${theme.spacing.mili} ${theme.spacing.deca}`};\n`;\n\nexport const StyledContainerCheckAll = styled(PaddedContainer)<\n Partial<StyleProps>\n>`\n flex-direction: row;\n display: flex;\n justify-content: flex-start;\n align-items: center;\n cursor: pointer;\n &:hover {\n background-color: ${({ theme }) => theme.color.primary.xlight};\n }\n &:hover span {\n color: ${({ theme }) => theme.color.primary.medium};\n }\n`;\n\nexport const StyledSpan = styled('span')<Partial<StyleProps>>`\n color: ${({ theme }) => theme.font.color.dark};\n padding: ${({ theme }) => `${theme.spacing.mili} 0px`};\n`;\n\nexport const StyledContainerTextLabel = styled('div')<Partial<StyleProps>>`\n padding-left: ${({ theme }) => theme.spacing.mili};\n width: 100%;\n display: flex;\n overflow: hidden;\n`;\n"],"file":"styled.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/molecules/Select/Select.tsx"],"names":["Select","value","options","keyExtractor","onSelect","type","labelExtractor","placeholder","onSearch","searchBarPlaceholder","hideSearchBar","label","disabled","anchor","displayTextProps","selectAllLabel","rest","dropDownVisible","setDropDownVisible","React","useState","refDropDown","useRef","displayValue","onPress","useCallback","prev","RightComponent","state","defaultStyles","transition"],"mappings":";;;;;;;AAAA;;AACA;;AAMA;;AACA;;AAKA;;AACA;;AACA;;AACA;;;;;;AAwBO,MAAMA,MAAM,GAAG,CAAwC;AAC5DC,EAAAA,KAD4D;AAE5DC,EAAAA,OAF4D;AAG5DC,EAAAA,YAH4D;AAI5DC,EAAAA,QAJ4D;AAK5DC,EAAAA,IAL4D;AAM5DC,EAAAA,cAN4D;AAO5DC,EAAAA,WAP4D;AAQ5DC,EAAAA,QAR4D;AAS5DC,EAAAA,oBAAoB,GAAG,yBATqC;AAU5DC,EAAAA,aAAa,GAAG,IAV4C;AAW5DC,EAAAA,KAX4D;AAY5DC,EAAAA,QAAQ,GAAG,KAZiD;AAa5DC,EAAAA,MAAM,GAAG,QAbmD;AAc5DC,EAAAA,gBAd4D;AAe5DC,EAAAA,cAAc,GAAG,kBAf2C;AAgB5D,KAAGC;AAhByD,CAAxC,KAiBsB;AAC1C,QAAM,CAACC,eAAD,EAAkBC,kBAAlB,IAAwCC,eAAMC,QAAN,CAAwB,KAAxB,CAA9C;;AACA,QAAMC,WAAW,GAAGF,eAAMG,MAAN,CAAa,IAAb,CAApB;;AACA,mCAAqBD,WAArB,EAAkCH,kBAAlC;AAEA,QAAMK,YAAY,GAAG,gCACnBlB,IADmB,EAEnBJ,KAFmB,EAGnBC,OAHmB,EAInBK,WAJmB,EAKnBJ,YALmB,EAMnBG,cANmB,CAArB;;AASA,QAAMkB,OAAO,GAAGL,eAAMM,WAAN,CAAkB,MAAMP,kBAAkB,CAACQ,IAAI,IAAI,CAACA,IAAV,CAA1C,EAA2D,CACzER,kBADyE,CAA3D,CAAhB;;AAIA,SACE,6BAAC,uBAAD;AAAiB,IAAA,GAAG,EAAEG;AAAtB,KAAuCL,IAAvC,GACE,6BAAC,4BAAD,QACE,6BAAC,kCAAD;AACE,IAAA,KAAK,EAAEL,KADT;AAEE,IAAA,OAAO,EAAEa,OAFX;AAGE,IAAA,QAAQ,EAAEZ,QAHZ;AAIE,IAAA,cAAc,EAAEe;AAJlB,KAME,6BAAC,eAAD,eAAUb,gBAAV;AAA4B,IAAA,aAAa,EAAC,MAA1C;AAAiD,IAAA,aAAa,EAAE;AAAhE,MACGS,YADH,CANF,CADF,CADF,EAaE,6BAAC,gCAAD;AAAY,IAAA,EAAE,EAAEN,eAAhB;AAAiC,IAAA,OAAO,EAAE;AAA1C,KACGW,KAAK,IACJ,6BAAC,kBAAD;AACE,IAAA,OAAO,EAAE1B,OADX;AAEE,IAAA,QAAQ,EAAEE,QAFZ;AAGE,IAAA,KAAK,EAAEH,KAHT;AAIE,IAAA,IAAI,EAAEI,IAJR;AAKE,IAAA,YAAY,EAAEF,YALhB;AAME,IAAA,cAAc,EAAEG,cANlB;AAOE,IAAA,aAAa,EAAEI,aAPjB;AAQE,IAAA,oBAAoB,EAAED,oBARxB;AASE,IAAA,QAAQ,EAAED,QATZ;AAUE,IAAA,KAAK,EAAE,EAAE,GAAGqB,yBAAL;AAAoB,SAAGC,uBAAWjB,MAAX,EAAmBe,KAAnB;AAAvB,KAVT;AAWE,IAAA,kBAAkB,EAAEV,kBAXtB;AAYE,IAAA,MAAM,EAAEL,MAZV;AAaE,IAAA,cAAc,EAAEE;AAblB,IAFJ,CAbF,CADF;AAmCD,CAtEM;;;eAwEQf,M","sourcesContent":["import React from 'react';\nimport {\n Icon,\n PressableInputContainer,\n Text,\n TextProps,\n} from '@tecsinapse/react-core';\nimport { useClickAwayListener } from '../../../hooks';\nimport {\n RightComponent,\n StyledContainer,\n StyledInputContainer,\n} from './styled';\nimport { Dropdown } from './Dropdown';\nimport { getDisplayValue } from './functions';\nimport { Transition } from 'react-transition-group';\nimport { defaultStyles, transition } from './animations';\n\nexport interface SelectProps<Data, Type extends 'single' | 'multi'>\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {\n options: Data[];\n onSelect: (\n option: Type extends 'single' ? Data | undefined : Data[]\n ) => never | void;\n value: Type extends 'single' ? Data | undefined : Data[];\n type: Type;\n keyExtractor: (t: Data, index?: number) => string;\n labelExtractor: (t: Data) => string;\n placeholder?: string;\n onSearch?: (searchArg: string) => void | never;\n searchBarPlaceholder?: string;\n hideSearchBar?: boolean;\n selectAllLabel?: string;\n disabled?: boolean;\n label?: string;\n anchor?: 'top' | 'bottom';\n displayTextProps?: TextProps;\n}\n\n/** NOTE: For better performance, you should memoize options and handlers */\nexport const Select = <Data, Type extends 'single' | 'multi'>({\n value,\n options,\n keyExtractor,\n onSelect,\n type,\n labelExtractor,\n placeholder,\n onSearch,\n searchBarPlaceholder = 'Busque a opção desejada',\n hideSearchBar = true,\n label,\n disabled = false,\n anchor = 'bottom',\n displayTextProps,\n selectAllLabel = 'Selecionar todos',\n ...rest\n}: SelectProps<Data, Type>): JSX.Element => {\n const [dropDownVisible, setDropDownVisible] = React.useState<boolean>(false);\n const refDropDown = React.useRef(null);\n useClickAwayListener(refDropDown, setDropDownVisible);\n\n const displayValue = getDisplayValue<Data>(\n type,\n value,\n options,\n placeholder,\n keyExtractor,\n labelExtractor\n );\n\n const onPress = React.useCallback(() => setDropDownVisible(prev => !prev), [\n setDropDownVisible,\n ]);\n\n return (\n <StyledContainer ref={refDropDown} {...rest}>\n <StyledInputContainer>\n <PressableInputContainer\n label={label}\n onPress={onPress}\n disabled={disabled}\n rightComponent={RightComponent}\n >\n <Text {...displayTextProps} ellipsizeMode=\"tail\" numberOfLines={1}>\n {displayValue}\n </Text>\n </PressableInputContainer>\n </StyledInputContainer>\n <Transition in={dropDownVisible} timeout={300}>\n {state => (\n <Dropdown\n options={options}\n onSelect={onSelect}\n value={value}\n type={type}\n keyExtractor={keyExtractor}\n labelExtractor={labelExtractor}\n hideSearchBar={hideSearchBar}\n searchBarPlaceholder={searchBarPlaceholder}\n onSearch={onSearch}\n style={{ ...defaultStyles, ...transition[anchor][state] }}\n setDropDownVisible={setDropDownVisible}\n anchor={anchor}\n selectAllLabel={selectAllLabel}\n />\n )}\n </Transition>\n </StyledContainer>\n );\n};\n\nexport default Select;\n"],"file":"Select.js"}
1
+ {"version":3,"sources":["../../../../src/components/molecules/Select/Select.tsx"],"names":["Select","value","options","keyExtractor","onSelect","type","labelExtractor","placeholder","onSearch","searchBarPlaceholder","hideSearchBar","label","disabled","anchor","displayTextProps","selectAllLabel","rest","dropDownVisible","setDropDownVisible","React","useState","refDropDown","useRef","displayValue","onPress","useCallback","prev","RightComponent","state","defaultStyles","transition"],"mappings":";;;;;;;AAAA;;AACA;;AAKA;;AACA;;AAKA;;AACA;;AACA;;AACA;;;;;;AAwBO,MAAMA,MAAM,GAAG,CAAwC;AAC5DC,EAAAA,KAD4D;AAE5DC,EAAAA,OAF4D;AAG5DC,EAAAA,YAH4D;AAI5DC,EAAAA,QAJ4D;AAK5DC,EAAAA,IAL4D;AAM5DC,EAAAA,cAN4D;AAO5DC,EAAAA,WAP4D;AAQ5DC,EAAAA,QAR4D;AAS5DC,EAAAA,oBAAoB,GAAG,yBATqC;AAU5DC,EAAAA,aAAa,GAAG,IAV4C;AAW5DC,EAAAA,KAX4D;AAY5DC,EAAAA,QAAQ,GAAG,KAZiD;AAa5DC,EAAAA,MAAM,GAAG,QAbmD;AAc5DC,EAAAA,gBAd4D;AAe5DC,EAAAA,cAAc,GAAG,kBAf2C;AAgB5D,KAAGC;AAhByD,CAAxC,KAiBsB;AAC1C,QAAM,CAACC,eAAD,EAAkBC,kBAAlB,IAAwCC,eAAMC,QAAN,CAAwB,KAAxB,CAA9C;;AACA,QAAMC,WAAW,GAAGF,eAAMG,MAAN,CAAa,IAAb,CAApB;;AACA,mCAAqBD,WAArB,EAAkCH,kBAAlC;AAEA,QAAMK,YAAY,GAAG,gCACnBlB,IADmB,EAEnBJ,KAFmB,EAGnBC,OAHmB,EAInBK,WAJmB,EAKnBJ,YALmB,EAMnBG,cANmB,CAArB;;AASA,QAAMkB,OAAO,GAAGL,eAAMM,WAAN,CAAkB,MAAMP,kBAAkB,CAACQ,IAAI,IAAI,CAACA,IAAV,CAA1C,EAA2D,CACzER,kBADyE,CAA3D,CAAhB;;AAIA,SACE,6BAAC,uBAAD;AAAiB,IAAA,GAAG,EAAEG;AAAtB,KAAuCL,IAAvC,GACE,6BAAC,4BAAD,QACE,6BAAC,kCAAD;AACE,IAAA,KAAK,EAAEL,KADT;AAEE,IAAA,OAAO,EAAEa,OAFX;AAGE,IAAA,QAAQ,EAAEZ,QAHZ;AAIE,IAAA,cAAc,EAAEe;AAJlB,KAME,6BAAC,eAAD,eAAUb,gBAAV;AAA4B,IAAA,aAAa,EAAC,MAA1C;AAAiD,IAAA,aAAa,EAAE;AAAhE,MACGS,YADH,CANF,CADF,CADF,EAaE,6BAAC,gCAAD;AAAY,IAAA,EAAE,EAAEN,eAAhB;AAAiC,IAAA,OAAO,EAAE;AAA1C,KACGW,KAAK,IACJ,6BAAC,kBAAD;AACE,IAAA,OAAO,EAAE1B,OADX;AAEE,IAAA,QAAQ,EAAEE,QAFZ;AAGE,IAAA,KAAK,EAAEH,KAHT;AAIE,IAAA,IAAI,EAAEI,IAJR;AAKE,IAAA,YAAY,EAAEF,YALhB;AAME,IAAA,cAAc,EAAEG,cANlB;AAOE,IAAA,aAAa,EAAEI,aAPjB;AAQE,IAAA,oBAAoB,EAAED,oBARxB;AASE,IAAA,QAAQ,EAAED,QATZ;AAUE,IAAA,KAAK,EAAE,EAAE,GAAGqB,yBAAL;AAAoB,SAAGC,uBAAWjB,MAAX,EAAmBe,KAAnB;AAAvB,KAVT;AAWE,IAAA,kBAAkB,EAAEV,kBAXtB;AAYE,IAAA,MAAM,EAAEL,MAZV;AAaE,IAAA,cAAc,EAAEE;AAblB,IAFJ,CAbF,CADF;AAmCD,CAtEM;;;eAwEQf,M","sourcesContent":["import React from 'react';\nimport {\n PressableInputContainer,\n Text,\n TextProps,\n} from '@tecsinapse/react-core';\nimport { useClickAwayListener } from '../../../hooks';\nimport {\n RightComponent,\n StyledContainer,\n StyledInputContainer,\n} from './styled';\nimport { Dropdown } from './Dropdown';\nimport { getDisplayValue } from './functions';\nimport { Transition } from 'react-transition-group';\nimport { defaultStyles, transition } from './animations';\n\nexport interface SelectProps<Data, Type extends 'single' | 'multi'>\n extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onSelect'> {\n options: Data[];\n onSelect: (\n option: Type extends 'single' ? Data | undefined : Data[]\n ) => never | void;\n value: Type extends 'single' ? Data | undefined : Data[];\n type: Type;\n keyExtractor: (t: Data, index?: number) => string;\n labelExtractor: (t: Data) => string;\n placeholder?: string;\n onSearch?: (searchArg: string) => void | never;\n searchBarPlaceholder?: string;\n hideSearchBar?: boolean;\n selectAllLabel?: string;\n disabled?: boolean;\n label?: string;\n anchor?: 'top' | 'bottom';\n displayTextProps?: TextProps;\n}\n\n/** NOTE: For better performance, you should memoize options and handlers */\nexport const Select = <Data, Type extends 'single' | 'multi'>({\n value,\n options,\n keyExtractor,\n onSelect,\n type,\n labelExtractor,\n placeholder,\n onSearch,\n searchBarPlaceholder = 'Busque a opção desejada',\n hideSearchBar = true,\n label,\n disabled = false,\n anchor = 'bottom',\n displayTextProps,\n selectAllLabel = 'Selecionar todos',\n ...rest\n}: SelectProps<Data, Type>): JSX.Element => {\n const [dropDownVisible, setDropDownVisible] = React.useState<boolean>(false);\n const refDropDown = React.useRef(null);\n useClickAwayListener(refDropDown, setDropDownVisible);\n\n const displayValue = getDisplayValue<Data>(\n type,\n value,\n options,\n placeholder,\n keyExtractor,\n labelExtractor\n );\n\n const onPress = React.useCallback(() => setDropDownVisible(prev => !prev), [\n setDropDownVisible,\n ]);\n\n return (\n <StyledContainer ref={refDropDown} {...rest}>\n <StyledInputContainer>\n <PressableInputContainer\n label={label}\n onPress={onPress}\n disabled={disabled}\n rightComponent={RightComponent}\n >\n <Text {...displayTextProps} ellipsizeMode=\"tail\" numberOfLines={1}>\n {displayValue}\n </Text>\n </PressableInputContainer>\n </StyledInputContainer>\n <Transition in={dropDownVisible} timeout={300}>\n {state => (\n <Dropdown\n options={options}\n onSelect={onSelect}\n value={value}\n type={type}\n keyExtractor={keyExtractor}\n labelExtractor={labelExtractor}\n hideSearchBar={hideSearchBar}\n searchBarPlaceholder={searchBarPlaceholder}\n onSearch={onSearch}\n style={{ ...defaultStyles, ...transition[anchor][state] }}\n setDropDownVisible={setDropDownVisible}\n anchor={anchor}\n selectAllLabel={selectAllLabel}\n />\n )}\n </Transition>\n </StyledContainer>\n );\n};\n\nexport default Select;\n"],"file":"Select.js"}
@@ -38,11 +38,8 @@ const SelectItem = ({
38
38
  const key = item;
39
39
 
40
40
  if (Array.isArray(_value)) {
41
- let auxChecked;
42
- setChecked(prev => {
43
- auxChecked = !prev;
44
- return !prev;
45
- });
41
+ const auxChecked = !checked;
42
+ setChecked(!checked);
46
43
 
47
44
  if (auxChecked) {
48
45
  onSelect([..._value, key]);
@@ -58,7 +55,7 @@ const SelectItem = ({
58
55
  onSelect(key);
59
56
  setDropDownVisible(false);
60
57
  }
61
- }, [onSelect, setDropDownVisible, setCheckedAll, setChecked]);
58
+ }, [onSelect, setDropDownVisible, setCheckedAll, setChecked, checked]);
62
59
 
63
60
  return _react.default.createElement(_styled.ContainerItemSelect, {
64
61
  onClick: () => clickItem(item, value)
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/molecules/Select/SelectItem/SelectItem.tsx"],"names":["SelectItem","item","onSelect","type","value","labelExtractor","setDropDownVisible","checkedAll","setCheckedAll","lenghtOptions","isMulti","checked","setChecked","React","useState","undefined","includes","useEffect","clickItem","useCallback","_value","key","Array","isArray","auxChecked","prev","length","auxArray","indexToExclude","indexOf","splice","memo"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAkBA,MAAMA,UAAU,GAAG,CAAwC;AACzDC,EAAAA,IADyD;AAEzDC,EAAAA,QAFyD;AAGzDC,EAAAA,IAHyD;AAIzDC,EAAAA,KAJyD;AAKzDC,EAAAA,cALyD;AAMzDC,EAAAA,kBANyD;AAOzDC,EAAAA,UAPyD;AAQzDC,EAAAA,aARyD;AASzDC,EAAAA;AATyD,CAAxC,KAeA;AACjB,QAAMC,OAAO,GAAGP,IAAI,KAAK,OAAzB;;AACA,QAAM,CAACQ,OAAD,EAAUC,UAAV,IAAwBC,eAAMC,QAAN,CAC5BV,KAAK,KAAKW,SAAV,IAAuBZ,IAAI,KAAK,OAAhC,IAA4CC,KAAD,CAAkBY,QAAlB,CAA2Bf,IAA3B,CADf,CAA9B;;AAGAY,iBAAMI,SAAN,CAAgB,MAAM;AACpB,QAAId,IAAI,KAAK,OAAb,EAAsB;AACpBI,MAAAA,UAAU,GACNK,UAAU,CAAC,IAAD,CADJ,GAENA,UAAU,CAAER,KAAD,CAAkBY,QAAlB,CAA2Bf,IAA3B,CAAD,CAFd;AAGD;AACF,GAND,EAMG,CAACM,UAAD,CANH;;AAQA,QAAMW,SAAS,GAAGL,eAAMM,WAAN,CAChB,CAAClB,IAAD,EAAOmB,MAAP,KAAkB;AAGhB,UAAMC,GAAS,GAAGpB,IAAlB;;AACA,QAAIqB,KAAK,CAACC,OAAN,CAAcH,MAAd,CAAJ,EAA2B;AACzB,UAAII,UAAJ;AACAZ,MAAAA,UAAU,CAACa,IAAI,IAAI;AACjBD,QAAAA,UAAU,GAAG,CAACC,IAAd;AACA,eAAO,CAACA,IAAR;AACD,OAHS,CAAV;;AAIA,UAAID,UAAJ,EAAgB;AACdtB,QAAAA,QAAQ,CAAC,CAAC,GAAGkB,MAAJ,EAAYC,GAAZ,CAAD,CAAR;AACA,SAAC,GAAGD,MAAJ,EAAYC,GAAZ,EAAiBK,MAAjB,KAA4BjB,aAA5B,IAA6CD,aAAa,CAAC,IAAD,CAA1D;AACD,OAHD,MAGO;AACL,cAAMmB,QAAgB,GAAG,CAAC,GAAGP,MAAJ,CAAzB;AACA,cAAMQ,cAAc,GAAGD,QAAQ,CAACE,OAAT,CAAiBR,GAAjB,CAAvB;AACAM,QAAAA,QAAQ,CAACG,MAAT,CAAgBF,cAAhB,EAAgC,CAAhC;AACA1B,QAAAA,QAAQ,CAAC,CAAC,GAAGyB,QAAJ,CAAD,CAAR;AACAnB,QAAAA,aAAa,CAAC,KAAD,CAAb;AACD;AACF,KAhBD,MAgBO;AACLN,MAAAA,QAAQ,CAACmB,GAAD,CAAR;AACAf,MAAAA,kBAAkB,CAAC,KAAD,CAAlB;AACD;AACF,GAzBe,EA0BhB,CAACJ,QAAD,EAAWI,kBAAX,EAA+BE,aAA/B,EAA8CI,UAA9C,CA1BgB,CAAlB;;AA6BA,SACE,6BAAC,2BAAD;AAAqB,IAAA,OAAO,EAAE,MAAMM,SAAS,CAACjB,IAAD,EAAOG,KAAP;AAA7C,KACGM,OAAO,IACN,6BAAC,mBAAD;AAAU,IAAA,OAAO,EAAEC,OAAnB;AAA4B,IAAA,QAAQ,EAAE,MAAMO,SAAS,CAACjB,IAAD,EAAOG,KAAP;AAArD,IAFJ,EAIE,6BAAC,gCAAD,QACE,6BAAC,eAAD;AAAM,IAAA,UAAU,EAAC,MAAjB;AAAwB,IAAA,aAAa,EAAC,MAAtC;AAA6C,IAAA,aAAa,EAAE;AAA5D,KACE,6BAAC,kBAAD;AAAY,IAAA,cAAc,EAAED,IAAI,KAAK,QAAT,IAAqBC,KAAK,KAAKH;AAA3D,KACGI,cAAc,CAACJ,IAAD,CADjB,CADF,CADF,CAJF,CADF;AAcD,CAvED;;eAyEeY,eAAMkB,IAAN,CAAW/B,UAAX,C","sourcesContent":["import React from 'react';\nimport { Checkbox, Text } from '@tecsinapse/react-core';\nimport {\n ContainerItemSelect,\n StyledContainerTextLabel,\n StyledSpan,\n} from './styled';\n\ninterface SelectItemProps<Data, Type extends 'single' | 'multi'> {\n item: Data;\n type: Type;\n value: Type extends 'single' ? Data | undefined : Data[];\n onSelect: (\n option: Type extends 'single' ? Data | undefined : Data[]\n ) => never | void;\n keyExtractor: (t: Data, index?: number) => string;\n labelExtractor: (t: Data) => string;\n index: number;\n}\n\nconst SelectItem = <Data, Type extends 'single' | 'multi'>({\n item,\n onSelect,\n type,\n value,\n labelExtractor,\n setDropDownVisible,\n checkedAll,\n setCheckedAll,\n lenghtOptions,\n}: SelectItemProps<Data, Type> & {\n setDropDownVisible: (t: boolean) => void;\n checkedAll: boolean;\n setCheckedAll: (t: boolean) => void;\n lenghtOptions: number;\n}): JSX.Element => {\n const isMulti = type === 'multi';\n const [checked, setChecked] = React.useState<boolean>(\n value !== undefined && type === 'multi' && (value as Data[]).includes(item)\n );\n React.useEffect(() => {\n if (type === 'multi') {\n checkedAll\n ? setChecked(true)\n : setChecked((value as Data[]).includes(item));\n }\n }, [checkedAll]);\n\n const clickItem = React.useCallback(\n (item, _value) => {\n // TS Workaround since TS won't infer the ternary operator's result type correctly\n type OnSelectArg = Parameters<typeof onSelect>[0];\n const key: Data = item;\n if (Array.isArray(_value)) {\n let auxChecked;\n setChecked(prev => {\n auxChecked = !prev;\n return !prev;\n });\n if (auxChecked) {\n onSelect([..._value, key] as OnSelectArg);\n [..._value, key].length === lenghtOptions && setCheckedAll(true);\n } else {\n const auxArray: Data[] = [..._value];\n const indexToExclude = auxArray.indexOf(key);\n auxArray.splice(indexToExclude, 1);\n onSelect([...auxArray] as OnSelectArg);\n setCheckedAll(false);\n }\n } else {\n onSelect(key as OnSelectArg);\n setDropDownVisible(false);\n }\n },\n [onSelect, setDropDownVisible, setCheckedAll, setChecked]\n );\n\n return (\n <ContainerItemSelect onClick={() => clickItem(item, value)}>\n {isMulti && (\n <Checkbox checked={checked} onChange={() => clickItem(item, value)} />\n )}\n <StyledContainerTextLabel>\n <Text fontWeight=\"bold\" ellipsizeMode=\"tail\" numberOfLines={1}>\n <StyledSpan singleHighligh={type === 'single' && value === item}>\n {labelExtractor(item)}\n </StyledSpan>\n </Text>\n </StyledContainerTextLabel>\n </ContainerItemSelect>\n );\n};\n\nexport default React.memo(SelectItem) as typeof SelectItem;\n"],"file":"SelectItem.js"}
1
+ {"version":3,"sources":["../../../../../src/components/molecules/Select/SelectItem/SelectItem.tsx"],"names":["SelectItem","item","onSelect","type","value","labelExtractor","setDropDownVisible","checkedAll","setCheckedAll","lenghtOptions","isMulti","checked","setChecked","React","useState","undefined","includes","useEffect","clickItem","useCallback","_value","key","Array","isArray","auxChecked","length","auxArray","indexToExclude","indexOf","splice","memo"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;;;AAkBA,MAAMA,UAAU,GAAG,CAAwC;AACzDC,EAAAA,IADyD;AAEzDC,EAAAA,QAFyD;AAGzDC,EAAAA,IAHyD;AAIzDC,EAAAA,KAJyD;AAKzDC,EAAAA,cALyD;AAMzDC,EAAAA,kBANyD;AAOzDC,EAAAA,UAPyD;AAQzDC,EAAAA,aARyD;AASzDC,EAAAA;AATyD,CAAxC,KAeA;AACjB,QAAMC,OAAO,GAAGP,IAAI,KAAK,OAAzB;;AACA,QAAM,CAACQ,OAAD,EAAUC,UAAV,IAAwBC,eAAMC,QAAN,CAC5BV,KAAK,KAAKW,SAAV,IAAuBZ,IAAI,KAAK,OAAhC,IAA4CC,KAAD,CAAkBY,QAAlB,CAA2Bf,IAA3B,CADf,CAA9B;;AAGAY,iBAAMI,SAAN,CAAgB,MAAM;AACpB,QAAId,IAAI,KAAK,OAAb,EAAsB;AACpBI,MAAAA,UAAU,GACNK,UAAU,CAAC,IAAD,CADJ,GAENA,UAAU,CAAER,KAAD,CAAkBY,QAAlB,CAA2Bf,IAA3B,CAAD,CAFd;AAGD;AACF,GAND,EAMG,CAACM,UAAD,CANH;;AAQA,QAAMW,SAAS,GAAGL,eAAMM,WAAN,CAChB,CAAClB,IAAD,EAAOmB,MAAP,KAAkB;AAGhB,UAAMC,GAAS,GAAGpB,IAAlB;;AACA,QAAIqB,KAAK,CAACC,OAAN,CAAcH,MAAd,CAAJ,EAA2B;AACzB,YAAMI,UAAU,GAAG,CAACb,OAApB;AACAC,MAAAA,UAAU,CAAC,CAACD,OAAF,CAAV;;AACA,UAAIa,UAAJ,EAAgB;AACdtB,QAAAA,QAAQ,CAAC,CAAC,GAAGkB,MAAJ,EAAYC,GAAZ,CAAD,CAAR;AACA,SAAC,GAAGD,MAAJ,EAAYC,GAAZ,EAAiBI,MAAjB,KAA4BhB,aAA5B,IAA6CD,aAAa,CAAC,IAAD,CAA1D;AACD,OAHD,MAGO;AACL,cAAMkB,QAAgB,GAAG,CAAC,GAAGN,MAAJ,CAAzB;AACA,cAAMO,cAAc,GAAGD,QAAQ,CAACE,OAAT,CAAiBP,GAAjB,CAAvB;AACAK,QAAAA,QAAQ,CAACG,MAAT,CAAgBF,cAAhB,EAAgC,CAAhC;AACAzB,QAAAA,QAAQ,CAAC,CAAC,GAAGwB,QAAJ,CAAD,CAAR;AACAlB,QAAAA,aAAa,CAAC,KAAD,CAAb;AACD;AACF,KAbD,MAaO;AACLN,MAAAA,QAAQ,CAACmB,GAAD,CAAR;AACAf,MAAAA,kBAAkB,CAAC,KAAD,CAAlB;AACD;AACF,GAtBe,EAuBhB,CAACJ,QAAD,EAAWI,kBAAX,EAA+BE,aAA/B,EAA8CI,UAA9C,EAA0DD,OAA1D,CAvBgB,CAAlB;;AA0BA,SACE,6BAAC,2BAAD;AAAqB,IAAA,OAAO,EAAE,MAAMO,SAAS,CAACjB,IAAD,EAAOG,KAAP;AAA7C,KACGM,OAAO,IACN,6BAAC,mBAAD;AAAU,IAAA,OAAO,EAAEC,OAAnB;AAA4B,IAAA,QAAQ,EAAE,MAAMO,SAAS,CAACjB,IAAD,EAAOG,KAAP;AAArD,IAFJ,EAIE,6BAAC,gCAAD,QACE,6BAAC,eAAD;AAAM,IAAA,UAAU,EAAC,MAAjB;AAAwB,IAAA,aAAa,EAAC,MAAtC;AAA6C,IAAA,aAAa,EAAE;AAA5D,KACE,6BAAC,kBAAD;AAAY,IAAA,cAAc,EAAED,IAAI,KAAK,QAAT,IAAqBC,KAAK,KAAKH;AAA3D,KACGI,cAAc,CAACJ,IAAD,CADjB,CADF,CADF,CAJF,CADF;AAcD,CApED;;eAsEeY,eAAMiB,IAAN,CAAW9B,UAAX,C","sourcesContent":["import React from 'react';\nimport { Checkbox, Text } from '@tecsinapse/react-core';\nimport {\n ContainerItemSelect,\n StyledContainerTextLabel,\n StyledSpan,\n} from './styled';\n\ninterface SelectItemProps<Data, Type extends 'single' | 'multi'> {\n item: Data;\n type: Type;\n value: Type extends 'single' ? Data | undefined : Data[];\n onSelect: (\n option: Type extends 'single' ? Data | undefined : Data[]\n ) => never | void;\n keyExtractor: (t: Data, index?: number) => string;\n labelExtractor: (t: Data) => string;\n index: number;\n}\n\nconst SelectItem = <Data, Type extends 'single' | 'multi'>({\n item,\n onSelect,\n type,\n value,\n labelExtractor,\n setDropDownVisible,\n checkedAll,\n setCheckedAll,\n lenghtOptions,\n}: SelectItemProps<Data, Type> & {\n setDropDownVisible: (t: boolean) => void;\n checkedAll: boolean;\n setCheckedAll: (t: boolean) => void;\n lenghtOptions: number;\n}): JSX.Element => {\n const isMulti = type === 'multi';\n const [checked, setChecked] = React.useState<boolean>(\n value !== undefined && type === 'multi' && (value as Data[]).includes(item)\n );\n React.useEffect(() => {\n if (type === 'multi') {\n checkedAll\n ? setChecked(true)\n : setChecked((value as Data[]).includes(item));\n }\n }, [checkedAll]);\n\n const clickItem = React.useCallback(\n (item, _value) => {\n // TS Workaround since TS won't infer the ternary operator's result type correctly\n type OnSelectArg = Parameters<typeof onSelect>[0];\n const key: Data = item;\n if (Array.isArray(_value)) {\n const auxChecked = !checked;\n setChecked(!checked);\n if (auxChecked) {\n onSelect([..._value, key] as OnSelectArg);\n [..._value, key].length === lenghtOptions && setCheckedAll(true);\n } else {\n const auxArray: Data[] = [..._value];\n const indexToExclude = auxArray.indexOf(key);\n auxArray.splice(indexToExclude, 1);\n onSelect([...auxArray] as OnSelectArg);\n setCheckedAll(false);\n }\n } else {\n onSelect(key as OnSelectArg);\n setDropDownVisible(false);\n }\n },\n [onSelect, setDropDownVisible, setCheckedAll, setChecked, checked]\n );\n\n return (\n <ContainerItemSelect onClick={() => clickItem(item, value)}>\n {isMulti && (\n <Checkbox checked={checked} onChange={() => clickItem(item, value)} />\n )}\n <StyledContainerTextLabel>\n <Text fontWeight=\"bold\" ellipsizeMode=\"tail\" numberOfLines={1}>\n <StyledSpan singleHighligh={type === 'single' && value === item}>\n {labelExtractor(item)}\n </StyledSpan>\n </Text>\n </StyledContainerTextLabel>\n </ContainerItemSelect>\n );\n};\n\nexport default React.memo(SelectItem) as typeof SelectItem;\n"],"file":"SelectItem.js"}
@@ -1 +1 @@
1
- export declare const getDisplayValue: <Data>(type: any, value: any, options: any, placeholder: any, keyExtractor: any, labelExtractor: any) => Data | Data[];
1
+ export declare const getDisplayValue: <Data>(type: 'multi' | 'single', value: Data | Data[] | undefined, options: Data[], placeholder: string | undefined, keyExtractor: (option: Data, idx?: number | undefined) => string, labelExtractor: (option: Data) => string) => string | Data | Data[] | undefined;
@@ -8,7 +8,7 @@ exports.getDisplayValue = void 0;
8
8
  const getDisplayValue = (type, value, options, placeholder, keyExtractor, labelExtractor) => {
9
9
  if (type === 'multi') {
10
10
  if (value.length === 0) return placeholder;else {
11
- return options.reduce((acc, option, index) => value.find(key => keyExtractor(option, index) == keyExtractor(key, index)) ? acc + labelExtractor(option) + ', ' : acc, '').slice(0, -2);
11
+ return value.reduce((acc, option) => acc + labelExtractor(option) + ', ', '').slice(0, -2);
12
12
  }
13
13
  } else {
14
14
  if (value === undefined) return placeholder;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/molecules/Select/functions.ts"],"names":["getDisplayValue","type","value","options","placeholder","keyExtractor","labelExtractor","length","reduce","acc","option","index","find","key","slice","undefined","selectedOption"],"mappings":";;;;;;;AAAO,MAAMA,eAAe,GAAG,CAC7BC,IAD6B,EAE7BC,KAF6B,EAG7BC,OAH6B,EAI7BC,WAJ6B,EAK7BC,YAL6B,EAM7BC,cAN6B,KAOX;AAClB,MAAIL,IAAI,KAAK,OAAb,EAAsB;AACpB,QAAIC,KAAK,CAACK,MAAN,KAAiB,CAArB,EAAwB,OAAOH,WAAP,CAAxB,KACK;AACH,aAAOD,OAAO,CACXK,MADI,CAEH,CAACC,GAAD,EAAMC,MAAN,EAAcC,KAAd,KACET,KAAK,CAACU,IAAN,CACEC,GAAG,IAAIR,YAAY,CAACK,MAAD,EAASC,KAAT,CAAZ,IAA+BN,YAAY,CAACQ,GAAD,EAAMF,KAAN,CADpD,IAGIF,GAAG,GAAGH,cAAc,CAACI,MAAD,CAApB,GAA+B,IAHnC,GAIID,GAPH,EAQH,EARG,EAUJK,KAVI,CAUE,CAVF,EAUK,CAAC,CAVN,CAAP;AAWD;AACF,GAfD,MAeO;AACL,QAAIZ,KAAK,KAAKa,SAAd,EAAyB,OAAOX,WAAP;AACzB,UAAMY,cAAc,GAAGb,OAAO,CAACS,IAAR,CACrB,CAACF,MAAD,EAASC,KAAT,KACEN,YAAY,CAACK,MAAD,EAASC,KAAT,CAAZ,IAA+BN,YAAY,CAACH,KAAD,EAAgBS,KAAhB,CAFxB,CAAvB;AAIA,WAAOK,cAAc,GAAGV,cAAc,CAACU,cAAD,CAAjB,GAAoCZ,WAAzD;AACD;AACF,CA/BM","sourcesContent":["export const getDisplayValue = <Data>(\n type,\n value,\n options,\n placeholder,\n keyExtractor,\n labelExtractor\n): Data | Data[] => {\n if (type === 'multi') {\n if (value.length === 0) return placeholder;\n else {\n return options\n .reduce(\n (acc, option, index) =>\n value.find(\n key => keyExtractor(option, index) == keyExtractor(key, index)\n )\n ? acc + labelExtractor(option) + ', '\n : acc,\n ''\n )\n .slice(0, -2);\n }\n } else {\n if (value === undefined) return placeholder;\n const selectedOption = options.find(\n (option, index) =>\n keyExtractor(option, index) == keyExtractor(value as Data, index)\n );\n return selectedOption ? labelExtractor(selectedOption) : placeholder;\n }\n};\n"],"file":"functions.js"}
1
+ {"version":3,"sources":["../../../../src/components/molecules/Select/functions.ts"],"names":["getDisplayValue","type","value","options","placeholder","keyExtractor","labelExtractor","length","reduce","acc","option","slice","undefined","selectedOption","find","index"],"mappings":";;;;;;;AAAO,MAAMA,eAAe,GAAG,CAC7BC,IAD6B,EAE7BC,KAF6B,EAG7BC,OAH6B,EAI7BC,WAJ6B,EAK7BC,YAL6B,EAM7BC,cAN6B,KAOU;AACvC,MAAIL,IAAI,KAAK,OAAb,EAAsB;AACpB,QAAKC,KAAD,CAAkBK,MAAlB,KAA6B,CAAjC,EAAoC,OAAOH,WAAP,CAApC,KACK;AACH,aAAQF,KAAD,CACJM,MADI,CACG,CAACC,GAAD,EAAMC,MAAN,KAAiBD,GAAG,GAAGH,cAAc,CAACI,MAAD,CAApB,GAA+B,IADnD,EACyD,EADzD,EAEJC,KAFI,CAEE,CAFF,EAEK,CAAC,CAFN,CAAP;AAGD;AACF,GAPD,MAOO;AACL,QAAIT,KAAK,KAAKU,SAAd,EAAyB,OAAOR,WAAP;AACzB,UAAMS,cAAc,GAAGV,OAAO,CAACW,IAAR,CACrB,CAACJ,MAAD,EAASK,KAAT,KACEV,YAAY,CAACK,MAAD,EAASK,KAAT,CAAZ,IAA+BV,YAAY,CAACH,KAAD,EAAgBa,KAAhB,CAFxB,CAAvB;AAIA,WAAOF,cAAc,GAAGP,cAAc,CAACO,cAAD,CAAjB,GAAoCT,WAAzD;AACD;AACF,CAvBM","sourcesContent":["export const getDisplayValue = <Data>(\n type: 'multi' | 'single',\n value: Data | Data[] | undefined,\n options: Data[],\n placeholder: string | undefined,\n keyExtractor: (option: Data, idx?: number) => string,\n labelExtractor: (option: Data) => string\n): Data | Data[] | string | undefined => {\n if (type === 'multi') {\n if ((value as Data[]).length === 0) return placeholder;\n else {\n return (value as Data[])\n .reduce((acc, option) => acc + labelExtractor(option) + ', ', '')\n .slice(0, -2);\n }\n } else {\n if (value === undefined) return placeholder;\n const selectedOption = options.find(\n (option, index) =>\n keyExtractor(option, index) == keyExtractor(value as Data, index)\n );\n return selectedOption ? labelExtractor(selectedOption) : placeholder;\n }\n};\n"],"file":"functions.js"}
@@ -1,6 +1,5 @@
1
1
  import { FC } from 'react';
2
2
  import { TextAreaProps as ITACore } from '@tecsinapse/react-core';
3
- export interface TextAreaProps extends Omit<ITACore, 'TextComponent' | 'focused'> {
4
- }
3
+ export declare type TextAreaProps = Omit<ITACore, 'TextComponent' | 'focused'>;
5
4
  declare const TextArea: FC<TextAreaProps>;
6
5
  export default TextArea;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/molecules/TextArea/TextArea.tsx"],"names":["TextArea","label","labelColor","labelColorVariant","labelColorTone","labelTypography","labelStack","labelWeight","leftComponent","rightComponent","disabled","style","borderColor","borderColorGradation","inputFontStack","inputFontWeight","inputContainerStyle","variant","hintComponent","hint","onFocus","onBlur","value","maxLength","rest","focused","handleBlur","handleFocus","Text"],"mappings":";;;;;;;AAAA;;AACA;;AAMA;;;;;;AAKA,MAAMA,QAA2B,GAAG,CAAC;AACnCC,EAAAA,KADmC;AAEnCC,EAAAA,UAFmC;AAGnCC,EAAAA,iBAHmC;AAInCC,EAAAA,cAJmC;AAKnCC,EAAAA,eALmC;AAMnCC,EAAAA,UANmC;AAOnCC,EAAAA,WAPmC;AAQnCC,EAAAA,aARmC;AASnCC,EAAAA,cATmC;AAUnCC,EAAAA,QAVmC;AAWnCC,EAAAA,KAXmC;AAYnCC,EAAAA,WAZmC;AAanCC,EAAAA,oBAbmC;AAcnCC,EAAAA,cAAc,GAAG,SAdkB;AAenCC,EAAAA,eAAe,GAAG,MAfiB;AAgBnCC,EAAAA,mBAhBmC;AAiBnCC,EAAAA,OAAO,GAAG,SAjByB;AAkBnCC,EAAAA,aAlBmC;AAmBnCC,EAAAA,IAnBmC;AAoBnCC,EAAAA,OApBmC;AAqBnCC,EAAAA,MArBmC;AAsBnCC,EAAAA,KAtBmC;AAuBnCC,EAAAA,SAvBmC;AAwBnC,KAAGC;AAxBgC,CAAD,KAyB9B;AACJ,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,UAAX;AAAuBC,IAAAA;AAAvB,MAAuC,8BAC3CP,OAD2C,EAE3CC,MAF2C,EAG3C,CAACX,QAH0C,CAA7C;AAMA,SACE,6BAAC,mBAAD;AACE,IAAA,KAAK,EAAET,KADT;AAEE,IAAA,UAAU,EAAEC,UAFd;AAGE,IAAA,iBAAiB,EAAEC,iBAHrB;AAIE,IAAA,cAAc,EAAEC,cAJlB;AAKE,IAAA,eAAe,EAAEC,eALnB;AAME,IAAA,UAAU,EAAEC,UANd;AAOE,IAAA,WAAW,EAAEC,WAPf;AAQE,IAAA,cAAc,EAAEqB,eARlB;AASE,IAAA,aAAa,EAAEpB,aATjB;AAUE,IAAA,cAAc,EAAEC,cAVlB;AAWE,IAAA,WAAW,EAAEG,WAXf;AAYE,IAAA,oBAAoB,EAAEC,oBAZxB;AAaE,IAAA,mBAAmB,EAAEG,mBAbvB;AAcE,IAAA,OAAO,EAAES,OAdX;AAeE,IAAA,QAAQ,EAAEf,QAfZ;AAgBE,IAAA,OAAO,EAAEO,OAhBX;AAiBE,IAAA,KAAK,EAAEK,KAjBT;AAkBE,IAAA,aAAa,EAAEJ,aAlBjB;AAmBE,IAAA,IAAI,EAAEC,IAnBR;AAoBE,IAAA,KAAK,EAAER,KApBT;AAqBE,IAAA,aAAa,EAAEiB,eArBjB;AAsBE,IAAA,SAAS,EAAEL;AAtBb,KAwBE,6BAAC,sBAAD,eACMC,IADN;AAEE,IAAA,SAAS,EAAEV,cAFb;AAGE,IAAA,UAAU,EAAEC,eAHd;AAIE,IAAA,QAAQ,EAAEL,QAJZ;AAKE,IAAA,OAAO,EAAEiB,WALX;AAME,IAAA,MAAM,EAAED,UANV;AAOE,IAAA,iBAAiB,EAAE,KAPrB;AAQE,IAAA,SAAS,MARX;AASE,IAAA,KAAK,EAAEJ,KATT;AAUE,IAAA,SAAS,EAAEC;AAVb,KAxBF,CADF;AAuCD,CAvED;;eAyEevB,Q","sourcesContent":["import React, { FC } from 'react';\nimport {\n useInputFocus,\n TextAreaProps as ITACore,\n TextArea as TACore,\n Text,\n} from '@tecsinapse/react-core';\nimport { StyledWebInput } from './styled';\n\nexport interface TextAreaProps\n extends Omit<ITACore, 'TextComponent' | 'focused'> {}\n\nconst TextArea: FC<TextAreaProps> = ({\n label,\n labelColor,\n labelColorVariant,\n labelColorTone,\n labelTypography,\n labelStack,\n labelWeight,\n leftComponent,\n rightComponent,\n disabled,\n style,\n borderColor,\n borderColorGradation,\n inputFontStack = 'default',\n inputFontWeight = 'bold',\n inputContainerStyle,\n variant = 'default',\n hintComponent,\n hint,\n onFocus,\n onBlur,\n value,\n maxLength,\n ...rest\n}) => {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n return (\n <TACore\n label={label}\n labelColor={labelColor}\n labelColorVariant={labelColorVariant}\n labelColorTone={labelColorTone}\n labelTypography={labelTypography}\n labelStack={labelStack}\n labelWeight={labelWeight}\n LabelComponent={Text}\n leftComponent={leftComponent}\n rightComponent={rightComponent}\n borderColor={borderColor}\n borderColorGradation={borderColorGradation}\n inputContainerStyle={inputContainerStyle}\n focused={focused}\n disabled={disabled}\n variant={variant}\n value={value}\n hintComponent={hintComponent}\n hint={hint}\n style={style}\n TextComponent={Text}\n maxLength={maxLength}\n >\n <StyledWebInput\n {...rest}\n fontStack={inputFontStack}\n fontWeight={inputFontWeight}\n disabled={disabled}\n onFocus={handleFocus}\n onBlur={handleBlur}\n textAlignVertical={'top'}\n multiline\n value={value}\n maxLength={maxLength}\n />\n </TACore>\n );\n};\n\nexport default TextArea;\n"],"file":"TextArea.js"}
1
+ {"version":3,"sources":["../../../../src/components/molecules/TextArea/TextArea.tsx"],"names":["TextArea","label","labelColor","labelColorVariant","labelColorTone","labelTypography","labelStack","labelWeight","leftComponent","rightComponent","disabled","style","borderColor","borderColorGradation","inputFontStack","inputFontWeight","inputContainerStyle","variant","hintComponent","hint","onFocus","onBlur","value","maxLength","rest","focused","handleBlur","handleFocus","Text"],"mappings":";;;;;;;AAAA;;AACA;;AAMA;;;;;;AAIA,MAAMA,QAA2B,GAAG,CAAC;AACnCC,EAAAA,KADmC;AAEnCC,EAAAA,UAFmC;AAGnCC,EAAAA,iBAHmC;AAInCC,EAAAA,cAJmC;AAKnCC,EAAAA,eALmC;AAMnCC,EAAAA,UANmC;AAOnCC,EAAAA,WAPmC;AAQnCC,EAAAA,aARmC;AASnCC,EAAAA,cATmC;AAUnCC,EAAAA,QAVmC;AAWnCC,EAAAA,KAXmC;AAYnCC,EAAAA,WAZmC;AAanCC,EAAAA,oBAbmC;AAcnCC,EAAAA,cAAc,GAAG,SAdkB;AAenCC,EAAAA,eAAe,GAAG,MAfiB;AAgBnCC,EAAAA,mBAhBmC;AAiBnCC,EAAAA,OAAO,GAAG,SAjByB;AAkBnCC,EAAAA,aAlBmC;AAmBnCC,EAAAA,IAnBmC;AAoBnCC,EAAAA,OApBmC;AAqBnCC,EAAAA,MArBmC;AAsBnCC,EAAAA,KAtBmC;AAuBnCC,EAAAA,SAvBmC;AAwBnC,KAAGC;AAxBgC,CAAD,KAyB9B;AACJ,QAAM;AAAEC,IAAAA,OAAF;AAAWC,IAAAA,UAAX;AAAuBC,IAAAA;AAAvB,MAAuC,8BAC3CP,OAD2C,EAE3CC,MAF2C,EAG3C,CAACX,QAH0C,CAA7C;AAMA,SACE,6BAAC,mBAAD;AACE,IAAA,KAAK,EAAET,KADT;AAEE,IAAA,UAAU,EAAEC,UAFd;AAGE,IAAA,iBAAiB,EAAEC,iBAHrB;AAIE,IAAA,cAAc,EAAEC,cAJlB;AAKE,IAAA,eAAe,EAAEC,eALnB;AAME,IAAA,UAAU,EAAEC,UANd;AAOE,IAAA,WAAW,EAAEC,WAPf;AAQE,IAAA,cAAc,EAAEqB,eARlB;AASE,IAAA,aAAa,EAAEpB,aATjB;AAUE,IAAA,cAAc,EAAEC,cAVlB;AAWE,IAAA,WAAW,EAAEG,WAXf;AAYE,IAAA,oBAAoB,EAAEC,oBAZxB;AAaE,IAAA,mBAAmB,EAAEG,mBAbvB;AAcE,IAAA,OAAO,EAAES,OAdX;AAeE,IAAA,QAAQ,EAAEf,QAfZ;AAgBE,IAAA,OAAO,EAAEO,OAhBX;AAiBE,IAAA,KAAK,EAAEK,KAjBT;AAkBE,IAAA,aAAa,EAAEJ,aAlBjB;AAmBE,IAAA,IAAI,EAAEC,IAnBR;AAoBE,IAAA,KAAK,EAAER,KApBT;AAqBE,IAAA,aAAa,EAAEiB,eArBjB;AAsBE,IAAA,SAAS,EAAEL;AAtBb,KAwBE,6BAAC,sBAAD,eACMC,IADN;AAEE,IAAA,SAAS,EAAEV,cAFb;AAGE,IAAA,UAAU,EAAEC,eAHd;AAIE,IAAA,QAAQ,EAAEL,QAJZ;AAKE,IAAA,OAAO,EAAEiB,WALX;AAME,IAAA,MAAM,EAAED,UANV;AAOE,IAAA,iBAAiB,EAAE,KAPrB;AAQE,IAAA,SAAS,MARX;AASE,IAAA,KAAK,EAAEJ,KATT;AAUE,IAAA,SAAS,EAAEC;AAVb,KAxBF,CADF;AAuCD,CAvED;;eAyEevB,Q","sourcesContent":["import React, { FC } from 'react';\nimport {\n useInputFocus,\n TextAreaProps as ITACore,\n TextArea as TACore,\n Text,\n} from '@tecsinapse/react-core';\nimport { StyledWebInput } from './styled';\n\nexport type TextAreaProps = Omit<ITACore, 'TextComponent' | 'focused'>;\n\nconst TextArea: FC<TextAreaProps> = ({\n label,\n labelColor,\n labelColorVariant,\n labelColorTone,\n labelTypography,\n labelStack,\n labelWeight,\n leftComponent,\n rightComponent,\n disabled,\n style,\n borderColor,\n borderColorGradation,\n inputFontStack = 'default',\n inputFontWeight = 'bold',\n inputContainerStyle,\n variant = 'default',\n hintComponent,\n hint,\n onFocus,\n onBlur,\n value,\n maxLength,\n ...rest\n}) => {\n const { focused, handleBlur, handleFocus } = useInputFocus(\n onFocus,\n onBlur,\n !disabled\n );\n\n return (\n <TACore\n label={label}\n labelColor={labelColor}\n labelColorVariant={labelColorVariant}\n labelColorTone={labelColorTone}\n labelTypography={labelTypography}\n labelStack={labelStack}\n labelWeight={labelWeight}\n LabelComponent={Text}\n leftComponent={leftComponent}\n rightComponent={rightComponent}\n borderColor={borderColor}\n borderColorGradation={borderColorGradation}\n inputContainerStyle={inputContainerStyle}\n focused={focused}\n disabled={disabled}\n variant={variant}\n value={value}\n hintComponent={hintComponent}\n hint={hint}\n style={style}\n TextComponent={Text}\n maxLength={maxLength}\n >\n <StyledWebInput\n {...rest}\n fontStack={inputFontStack}\n fontWeight={inputFontWeight}\n disabled={disabled}\n onFocus={handleFocus}\n onBlur={handleBlur}\n textAlignVertical={'top'}\n multiline\n value={value}\n maxLength={maxLength}\n />\n </TACore>\n );\n};\n\nexport default TextArea;\n"],"file":"TextArea.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/organisms/DataGrid/Header/Header.tsx"],"names":["Header","selectable","rowsCount","headers","data","rowKeyExtractor","selectedRows","onSelected","sortDirection","setSortDirection","React","useState","NEXT_STATE","initial","handleSortDirection","sort","handleSelectAll","checked","currentItemsOnData","unselectedItemsOnData","length","concat","map","label","justifyContent","display","alignItems","marginLeft"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;AAkBA,MAAMA,MAAM,GAAG,CAAuB;AACpCC,EAAAA,UADoC;AAEpCC,EAAAA,SAFoC;AAGpCC,EAAAA,OAHoC;AAIpCC,EAAAA,IAJoC;AAKpCC,EAAAA,eALoC;AAMpCC,EAAAA,YANoC;AAOpCC,EAAAA;AAPoC,CAAvB,KAQ+B;AAC5C,QAAM,CAACC,aAAD,EAAgBC,gBAAhB,IAAoCC,eAAMC,QAAN,CACxCC,kBAAWC,OAD6B,CAA1C;;AAIA,QAAMC,mBAAmB,GAAGC,IAAI,IAAI;AAClCA,IAAAA,IAAI,CAACH,kBAAWJ,aAAX,CAAD,CAAJ;AACAC,IAAAA,gBAAgB,CAACG,kBAAWJ,aAAX,CAAD,CAAhB;AACD,GAHD;;AAKA,QAAMQ,eAAe,GAAGC,OAAO,IAAI;AACjC,QAAI,CAACA,OAAL,EAAc;AACZV,MAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAG,EAAH,CAAV;AACA;AACD;;AAED,UAAMW,kBAAkB,GAAG,mCACzBZ,YADyB,EAEzBF,IAFyB,EAGzBC,eAHyB,CAA3B;AAMA,UAAMc,qBAAqB,GAAG,sCAC5Bb,YAD4B,EAE5BF,IAF4B,EAG5BC,eAH4B,CAA9B;;AAMA,QAAIY,OAAO,IAAIX,YAAY,CAACc,MAAb,GAAsB,CAArC,EAAwC;AACtCb,MAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAGH,IAAH,CAAV;AACA;AACD;;AACD,QAAIa,OAAO,IAAIC,kBAAkB,CAACE,MAAnB,GAA4B,CAA3C,EAA8C;AAC5Cb,MAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAGY,qBAAqB,CAACE,MAAtB,CAA6Bf,YAA7B,CAAH,CAAV;AACA;AACD;;AACDC,IAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAGD,YAAY,CAACe,MAAb,CAAoBF,qBAApB,CAAH,CAAV;AACD,GA3BD;;AA6BA,SACE,6BAAC,YAAD,QACE,6BAAC,SAAD,QACGlB,UAAU,IACT,6BAAC,sBAAD,QACE,6BAAC,mBAAD;AACE,IAAA,OAAO,EAAEC,SAAS,MAAKI,YAAL,aAAKA,YAAL,uBAAKA,YAAY,CAAEc,MAAnB,CADpB;AAEE,IAAA,QAAQ,EAAEJ;AAFZ,IADF,CAFJ,EASGb,OAAO,CAACmB,GAAR,CAAY,CAAC;AAAEC,IAAAA,KAAF;AAASR,IAAAA,IAAT;AAAeS,IAAAA,cAAc,GAAG;AAAhC,GAAD,KACX,6BAAC,SAAD;AAAI,IAAA,GAAG,EAAED;AAAT,KACE;AACE,IAAA,KAAK,EAAE;AACLE,MAAAA,OAAO,EAAE,MADJ;AAELC,MAAAA,UAAU,EAAE,QAFP;AAGLF,MAAAA;AAHK;AADT,KAOGD,KAPH,EAQGR,IAAI,IACH;AAAK,IAAA,KAAK,EAAE;AAAEY,MAAAA,UAAU,EAAE;AAAd;AAAZ,KACE,6BAAC,2BAAD;AAAkB,IAAA,OAAO,EAAE,MAAMb,mBAAmB,CAACC,IAAD;AAApD,KACE,6BAAC,eAAD;AACE,IAAA,IAAI,EAAG,qBAAoB,0BAAcP,aAAd,CAA6B,EAD1D;AAEE,IAAA,IAAI,EAAE,oBAFR;AAGE,IAAA,SAAS,EAAE,yBAAaA,aAAb;AAHb,IADF,CADF,CATJ,CADF,CADD,CATH,CADF,CADF;AAsCD,CArFD;;eAuFeR,M","sourcesContent":["import React from 'react';\nimport { Checkbox, Icon, PressableSurface } from '@tecsinapse/react-core';\nimport { Th, THead, Tr } from '../../../atoms/Table';\nimport { CheckboxHeader } from './styled';\nimport { HeadersType } from '../types';\nimport {\n findCurrentItemsOnData,\n findUnselectedItemsOnData,\n getIconColor,\n getIconSuffix,\n NEXT_STATE,\n} from './utils';\n\nexport interface DataGridHeaderProps<Data> {\n headers: HeadersType<Data>[];\n data: Data[];\n selectedRows: Data[];\n onSelected?: (data: Data[]) => void;\n rowKeyExtractor: (data: Data) => string;\n rowsCount: number;\n selectable?: boolean;\n}\n\nconst Header = <Data extends unknown>({\n selectable,\n rowsCount,\n headers,\n data,\n rowKeyExtractor,\n selectedRows,\n onSelected,\n}: DataGridHeaderProps<Data>): JSX.Element => {\n const [sortDirection, setSortDirection] = React.useState<string>(\n NEXT_STATE.initial\n );\n\n const handleSortDirection = sort => {\n sort(NEXT_STATE[sortDirection]);\n setSortDirection(NEXT_STATE[sortDirection]);\n };\n\n const handleSelectAll = checked => {\n if (!checked) {\n onSelected?.([]);\n return;\n }\n\n const currentItemsOnData = findCurrentItemsOnData(\n selectedRows,\n data,\n rowKeyExtractor\n );\n\n const unselectedItemsOnData = findUnselectedItemsOnData(\n selectedRows,\n data,\n rowKeyExtractor\n );\n\n if (checked && selectedRows.length < 1) {\n onSelected?.(data);\n return;\n }\n if (checked && currentItemsOnData.length < 1) {\n onSelected?.(unselectedItemsOnData.concat(selectedRows));\n return;\n }\n onSelected?.(selectedRows.concat(unselectedItemsOnData));\n };\n\n return (\n <THead>\n <Tr>\n {selectable && (\n <CheckboxHeader>\n <Checkbox\n checked={rowsCount === selectedRows?.length}\n onChange={handleSelectAll}\n />\n </CheckboxHeader>\n )}\n {headers.map(({ label, sort, justifyContent = 'flex-start' }) => (\n <Th key={label}>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent,\n }}\n >\n {label}\n {sort && (\n <div style={{ marginLeft: 8 }}>\n <PressableSurface onPress={() => handleSortDirection(sort)}>\n <Icon\n name={`sort-alphabetical-${getIconSuffix(sortDirection)}`}\n type={'material-community'}\n fontColor={getIconColor(sortDirection)}\n />\n </PressableSurface>\n </div>\n )}\n </div>\n </Th>\n ))}\n </Tr>\n </THead>\n );\n};\n\nexport default Header;\n"],"file":"Header.js"}
1
+ {"version":3,"sources":["../../../../../src/components/organisms/DataGrid/Header/Header.tsx"],"names":["Header","selectable","rowsCount","headers","data","rowKeyExtractor","selectedRows","onSelected","sortDirection","setSortDirection","React","useState","NEXT_STATE","initial","handleSortDirection","sort","handleSelectAll","checked","currentItemsOnData","unselectedItemsOnData","length","concat","map","label","justifyContent","display","alignItems","marginLeft"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;AAkBA,MAAMA,MAAM,GAAG,CAAuB;AACpCC,EAAAA,UADoC;AAEpCC,EAAAA,SAFoC;AAGpCC,EAAAA,OAHoC;AAIpCC,EAAAA,IAJoC;AAKpCC,EAAAA,eALoC;AAMpCC,EAAAA,YANoC;AAOpCC,EAAAA;AAPoC,CAAvB,KAQ+B;AAC5C,QAAM,CAACC,aAAD,EAAgBC,gBAAhB,IAAoCC,eAAMC,QAAN,CACxCC,kBAAWC,OAD6B,CAA1C;;AAIA,QAAMC,mBAAmB,GAAGC,IAAI,IAAI;AAClCA,IAAAA,IAAI,CAACH,kBAAWJ,aAAX,CAAD,CAAJ;AACAC,IAAAA,gBAAgB,CAACG,kBAAWJ,aAAX,CAAD,CAAhB;AACD,GAHD;;AAKA,QAAMQ,eAAe,GAAGC,OAAO,IAAI;AACjC,QAAI,CAACA,OAAL,EAAc;AACZV,MAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAG,EAAH,CAAV;AACA;AACD;;AAED,UAAMW,kBAAkB,GAAG,mCACzBZ,YADyB,EAEzBF,IAFyB,EAGzBC,eAHyB,CAA3B;AAMA,UAAMc,qBAAqB,GAAG,sCAC5Bb,YAD4B,EAE5BF,IAF4B,EAG5BC,eAH4B,CAA9B;;AAMA,QAAIY,OAAO,IAAIX,YAAY,CAACc,MAAb,GAAsB,CAArC,EAAwC;AACtCb,MAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAGH,IAAH,CAAV;AACA;AACD;;AACD,QAAIa,OAAO,IAAIC,kBAAkB,CAACE,MAAnB,GAA4B,CAA3C,EAA8C;AAC5Cb,MAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAGY,qBAAqB,CAACE,MAAtB,CAA6Bf,YAA7B,CAAH,CAAV;AACA;AACD;;AACDC,IAAAA,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAGD,YAAY,CAACe,MAAb,CAAoBF,qBAApB,CAAH,CAAV;AACD,GA3BD;;AA6BA,SACE,6BAAC,YAAD,QACE,6BAAC,SAAD,QACGlB,UAAU,IACT,6BAAC,sBAAD,QACE,6BAAC,mBAAD;AACE,IAAA,OAAO,EAAEC,SAAS,MAAKI,YAAL,aAAKA,YAAL,uBAAKA,YAAY,CAAEc,MAAnB,CADpB;AAEE,IAAA,QAAQ,EAAEJ;AAFZ,IADF,CAFJ,EASGb,OAAO,CAACmB,GAAR,CAAY,CAAC;AAAEC,IAAAA,KAAF;AAASR,IAAAA,IAAT;AAAeS,IAAAA,cAAc,GAAG;AAAhC,GAAD,KACX,6BAAC,SAAD;AAAI,IAAA,GAAG,EAAED;AAAT,KACE;AACE,IAAA,KAAK,EAAE;AACLE,MAAAA,OAAO,EAAE,MADJ;AAELC,MAAAA,UAAU,EAAE,QAFP;AAGLF,MAAAA;AAHK;AADT,KAOGD,KAPH,EAQGR,IAAI,IACH;AAAK,IAAA,KAAK,EAAE;AAAEY,MAAAA,UAAU,EAAE;AAAd;AAAZ,KACE,6BAAC,2BAAD;AAAkB,IAAA,OAAO,EAAE,MAAMb,mBAAmB,CAACC,IAAD;AAApD,KACE,6BAAC,eAAD;AACE,IAAA,IAAI,EAAG,qBAAoB,0BAAcP,aAAd,CAA6B,EAD1D;AAEE,IAAA,IAAI,EAAE,oBAFR;AAGE,IAAA,SAAS,EAAE,yBAAaA,aAAb;AAHb,IADF,CADF,CATJ,CADF,CADD,CATH,CADF,CADF;AAsCD,CArFD;;eAuFeR,M","sourcesContent":["import React from 'react';\nimport { Checkbox, Icon, PressableSurface } from '@tecsinapse/react-core';\nimport { Th, THead, Tr } from '../../../atoms/Table';\nimport { CheckboxHeader } from './styled';\nimport { HeadersType, SortState } from '../types';\nimport {\n findCurrentItemsOnData,\n findUnselectedItemsOnData,\n getIconColor,\n getIconSuffix,\n NEXT_STATE,\n} from './utils';\n\nexport interface DataGridHeaderProps<Data> {\n headers: HeadersType<Data>[];\n data: Data[];\n selectedRows: Data[];\n onSelected?: (data: Data[]) => void;\n rowKeyExtractor: (data: Data) => string;\n rowsCount: number;\n selectable?: boolean;\n}\n\nconst Header = <Data extends unknown>({\n selectable,\n rowsCount,\n headers,\n data,\n rowKeyExtractor,\n selectedRows,\n onSelected,\n}: DataGridHeaderProps<Data>): JSX.Element => {\n const [sortDirection, setSortDirection] = React.useState<SortState>(\n NEXT_STATE.initial\n );\n\n const handleSortDirection = sort => {\n sort(NEXT_STATE[sortDirection]);\n setSortDirection(NEXT_STATE[sortDirection]);\n };\n\n const handleSelectAll = checked => {\n if (!checked) {\n onSelected?.([]);\n return;\n }\n\n const currentItemsOnData = findCurrentItemsOnData(\n selectedRows,\n data,\n rowKeyExtractor\n );\n\n const unselectedItemsOnData = findUnselectedItemsOnData(\n selectedRows,\n data,\n rowKeyExtractor\n );\n\n if (checked && selectedRows.length < 1) {\n onSelected?.(data);\n return;\n }\n if (checked && currentItemsOnData.length < 1) {\n onSelected?.(unselectedItemsOnData.concat(selectedRows));\n return;\n }\n onSelected?.(selectedRows.concat(unselectedItemsOnData));\n };\n\n return (\n <THead>\n <Tr>\n {selectable && (\n <CheckboxHeader>\n <Checkbox\n checked={rowsCount === selectedRows?.length}\n onChange={handleSelectAll}\n />\n </CheckboxHeader>\n )}\n {headers.map(({ label, sort, justifyContent = 'flex-start' }) => (\n <Th key={label}>\n <div\n style={{\n display: 'flex',\n alignItems: 'center',\n justifyContent,\n }}\n >\n {label}\n {sort && (\n <div style={{ marginLeft: 8 }}>\n <PressableSurface onPress={() => handleSortDirection(sort)}>\n <Icon\n name={`sort-alphabetical-${getIconSuffix(sortDirection)}`}\n type={'material-community'}\n fontColor={getIconColor(sortDirection)}\n />\n </PressableSurface>\n </div>\n )}\n </div>\n </Th>\n ))}\n </Tr>\n </THead>\n );\n};\n\nexport default Header;\n"],"file":"Header.js"}
@@ -1,10 +1,8 @@
1
+ import { SortState } from '../types';
1
2
  export declare const NEXT_STATE: {
2
- unsorted: string;
3
- ascending: string;
4
- descending: string;
5
- initial: string;
3
+ [key: string]: SortState;
6
4
  };
7
- export declare const getIconSuffix: (state: any) => any;
8
- export declare const getIconColor: (state: any) => "medium" | "orange";
9
- export declare const findUnselectedItemsOnData: (selected: any, data: any, rowKeyExtractor: any) => any;
10
- export declare const findCurrentItemsOnData: (selected: any, data: any, rowKeyExtractor: any) => any;
5
+ export declare const getIconSuffix: (state: SortState) => string;
6
+ export declare const getIconColor: (state: SortState) => 'medium' | 'orange';
7
+ export declare const findUnselectedItemsOnData: <T>(selected: T[], data: T[], rowKeyExtractor: (t: T) => string) => T[];
8
+ export declare const findCurrentItemsOnData: <T>(selected: T[], data: T[], rowKeyExtractor: (t: T) => string) => T[];
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/organisms/DataGrid/Header/utils.ts"],"names":["NEXT_STATE","unsorted","ascending","descending","initial","getIconSuffix","state","getIconColor","findUnselectedItemsOnData","selected","data","rowKeyExtractor","length","filter","item","every","rowData","findCurrentItemsOnData","some"],"mappings":";;;;;;AAAO,MAAMA,UAAU,GAAG;AACxBC,EAAAA,QAAQ,EAAE,WADc;AAExBC,EAAAA,SAAS,EAAE,YAFa;AAGxBC,EAAAA,UAAU,EAAE,UAHY;AAIxBC,EAAAA,OAAO,EAAE;AAJe,CAAnB;;;AAOA,MAAMC,aAAa,GAAGC,KAAK,IAChCA,KAAK,KAAK,UAAV,GAAuB,WAAvB,GAAqCA,KADhC;;;;AAGA,MAAMC,YAAY,GAAGD,KAAK,IAC/BA,KAAK,KAAK,UAAV,GAAuB,QAAvB,GAAkC,QAD7B;;;;AAGA,MAAME,yBAAyB,GAAG,CAACC,QAAD,EAAWC,IAAX,EAAiBC,eAAjB,KACvCF,QAAQ,CAACG,MAAT,GAAkB,CAAlB,GACIF,IAAI,CAACG,MAAL,CAAYC,IAAI,IACdL,QAAQ,CAACM,KAAT,CACEC,OAAO,IAAIL,eAAe,CAACK,OAAD,CAAf,KAA6BL,eAAe,CAACG,IAAD,CADzD,CADF,CADJ,GAMI,EAPC;;;;AASA,MAAMG,sBAAsB,GAAG,CAACR,QAAD,EAAWC,IAAX,EAAiBC,eAAjB,KACpCF,QAAQ,CAACG,MAAT,GAAkB,CAAlB,GACIH,QAAQ,CAACI,MAAT,CAAgBC,IAAI,IAClBJ,IAAI,CAACQ,IAAL,CAAUF,OAAO,IAAIL,eAAe,CAACK,OAAD,CAAf,KAA6BL,eAAe,CAACG,IAAD,CAAjE,CADF,CADJ,GAII,EALC","sourcesContent":["export const NEXT_STATE = {\n unsorted: 'ascending',\n ascending: 'descending',\n descending: 'unsorted',\n initial: 'unsorted',\n};\n\nexport const getIconSuffix = state =>\n state === 'unsorted' ? 'ascending' : state;\n\nexport const getIconColor = state =>\n state === 'unsorted' ? 'medium' : 'orange';\n\nexport const findUnselectedItemsOnData = (selected, data, rowKeyExtractor) =>\n selected.length > 0\n ? data.filter(item =>\n selected.every(\n rowData => rowKeyExtractor(rowData) !== rowKeyExtractor(item)\n )\n )\n : [];\n\nexport const findCurrentItemsOnData = (selected, data, rowKeyExtractor) =>\n selected.length > 0\n ? selected.filter(item =>\n data.some(rowData => rowKeyExtractor(rowData) === rowKeyExtractor(item))\n )\n : [];\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../../../../../src/components/organisms/DataGrid/Header/utils.ts"],"names":["NEXT_STATE","unsorted","ascending","descending","initial","getIconSuffix","state","getIconColor","findUnselectedItemsOnData","selected","data","rowKeyExtractor","length","filter","item","every","rowData","findCurrentItemsOnData","some"],"mappings":";;;;;;AAEO,MAAMA,UAAwC,GAAG;AACtDC,EAAAA,QAAQ,EAAE,WAD4C;AAEtDC,EAAAA,SAAS,EAAE,YAF2C;AAGtDC,EAAAA,UAAU,EAAE,UAH0C;AAItDC,EAAAA,OAAO,EAAE;AAJ6C,CAAjD;;;AAOA,MAAMC,aAAa,GAAIC,KAAD,IAC3BA,KAAK,KAAK,UAAV,GAAuB,WAAvB,GAAqCA,KADhC;;;;AAGA,MAAMC,YAAY,GAAID,KAAD,IAC1BA,KAAK,KAAK,UAAV,GAAuB,QAAvB,GAAkC,QAD7B;;;;AAGA,MAAME,yBAAyB,GAAG,CACvCC,QADuC,EAEvCC,IAFuC,EAGvCC,eAHuC,KAKvCF,QAAQ,CAACG,MAAT,GAAkB,CAAlB,GACIF,IAAI,CAACG,MAAL,CAAYC,IAAI,IACdL,QAAQ,CAACM,KAAT,CACEC,OAAO,IAAIL,eAAe,CAACK,OAAD,CAAf,KAA6BL,eAAe,CAACG,IAAD,CADzD,CADF,CADJ,GAMI,EAXC;;;;AAaA,MAAMG,sBAAsB,GAAG,CACpCR,QADoC,EAEpCC,IAFoC,EAGpCC,eAHoC,KAKpCF,QAAQ,CAACG,MAAT,GAAkB,CAAlB,GACIH,QAAQ,CAACI,MAAT,CAAgBC,IAAI,IAClBJ,IAAI,CAACQ,IAAL,CAAUF,OAAO,IAAIL,eAAe,CAACK,OAAD,CAAf,KAA6BL,eAAe,CAACG,IAAD,CAAjE,CADF,CADJ,GAII,EATC","sourcesContent":["import { SortState } from '../types';\n\nexport const NEXT_STATE: { [key: string]: SortState } = {\n unsorted: 'ascending',\n ascending: 'descending',\n descending: 'unsorted',\n initial: 'unsorted',\n};\n\nexport const getIconSuffix = (state: SortState): string =>\n state === 'unsorted' ? 'ascending' : state;\n\nexport const getIconColor = (state: SortState): 'medium' | 'orange' =>\n state === 'unsorted' ? 'medium' : 'orange';\n\nexport const findUnselectedItemsOnData = <T>(\n selected: T[],\n data: T[],\n rowKeyExtractor: (t: T) => string\n): T[] =>\n selected.length > 0\n ? data.filter(item =>\n selected.every(\n rowData => rowKeyExtractor(rowData) !== rowKeyExtractor(item)\n )\n )\n : [];\n\nexport const findCurrentItemsOnData = <T>(\n selected: T[],\n data: T[],\n rowKeyExtractor: (t: T) => string\n): T[] =>\n selected.length > 0\n ? selected.filter(item =>\n data.some(rowData => rowKeyExtractor(rowData) === rowKeyExtractor(item))\n )\n : [];\n"],"file":"utils.js"}
@@ -1,7 +1,8 @@
1
1
  import React from 'react';
2
+ export declare type SortState = 'ascending' | 'descending' | 'unsorted';
2
3
  export declare type HeadersType<Data> = {
3
4
  label: string;
4
5
  render: (data: Data) => React.ReactNode;
5
- sort?: (direction: 'ascending' | 'descending' | 'unsorted') => void;
6
+ sort?: (direction: SortState) => void;
6
7
  justifyContent?: 'flex-start' | 'center' | 'flex-end';
7
8
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/hooks/useClickAwayListener.ts"],"names":["useClickAwayListener","ref","setVisible","event","React","useEffect","handleClickOutside","current","contains","target","document","addEventListener","removeEventListener"],"mappings":";;;;;;;AAAA;;;;AAEO,MAAMA,oBAAoB,GAAG,CAClCC,GADkC,EAElCC,UAFkC,EAGlCC,KAA0C,GAAG,WAHX,KAI/B;AACHC,iBAAMC,SAAN,CAAgB,MAAM;AACpB,UAAMC,kBAAkB,GAAGH,KAAK,IAAI;AAClC,UAAIF,GAAG,CAACM,OAAJ,IAAe,CAACN,GAAG,CAACM,OAAJ,CAAYC,QAAZ,CAAqBL,KAAK,CAACM,MAA3B,CAApB,EAAwD;AACtDP,QAAAA,UAAU,CAAC,KAAD,CAAV;AACD;AACF,KAJD;;AAKAQ,IAAAA,QAAQ,CAACC,gBAAT,CAA0BR,KAA1B,EAAiCG,kBAAjC;AACA,WAAO,MAAM;AACXI,MAAAA,QAAQ,CAACE,mBAAT,CAA6BT,KAA7B,EAAoCG,kBAApC;AACD,KAFD;AAGD,GAVD,EAUG,CAACL,GAAD,CAVH;AAWD,CAhBM","sourcesContent":["import React from 'react';\n\nexport const useClickAwayListener = (\n ref: React.MutableRefObject<any>,\n setVisible: React.Dispatch<React.SetStateAction<boolean>>,\n event: 'mouseup' | 'mousedown' | undefined = 'mousedown'\n) => {\n React.useEffect(() => {\n const handleClickOutside = event => {\n if (ref.current && !ref.current.contains(event.target)) {\n setVisible(false);\n }\n };\n document.addEventListener(event, handleClickOutside);\n return () => {\n document.removeEventListener(event, handleClickOutside);\n };\n }, [ref]);\n};\n"],"file":"useClickAwayListener.js"}
1
+ {"version":3,"sources":["../../src/hooks/useClickAwayListener.ts"],"names":["useClickAwayListener","ref","setVisible","event","React","useEffect","handleClickOutside","current","contains","target","document","addEventListener","removeEventListener"],"mappings":";;;;;;;AAAA;;;;AAEO,MAAMA,oBAAoB,GAAG,CAClCC,GADkC,EAElCC,UAFkC,EAGlCC,KAA0C,GAAG,WAHX,KAIzB;AACTC,iBAAMC,SAAN,CAAgB,MAAM;AACpB,UAAMC,kBAAkB,GAAGH,KAAK,IAAI;AAClC,UAAIF,GAAG,CAACM,OAAJ,IAAe,CAACN,GAAG,CAACM,OAAJ,CAAYC,QAAZ,CAAqBL,KAAK,CAACM,MAA3B,CAApB,EAAwD;AACtDP,QAAAA,UAAU,CAAC,KAAD,CAAV;AACD;AACF,KAJD;;AAKAQ,IAAAA,QAAQ,CAACC,gBAAT,CAA0BR,KAA1B,EAAiCG,kBAAjC;AACA,WAAO,MAAM;AACXI,MAAAA,QAAQ,CAACE,mBAAT,CAA6BT,KAA7B,EAAoCG,kBAApC;AACD,KAFD;AAGD,GAVD,EAUG,CAACL,GAAD,CAVH;AAWD,CAhBM","sourcesContent":["import React from 'react';\n\nexport const useClickAwayListener = (\n ref: React.MutableRefObject<any>,\n setVisible: React.Dispatch<React.SetStateAction<boolean>>,\n event: 'mouseup' | 'mousedown' | undefined = 'mousedown'\n): void => {\n React.useEffect(() => {\n const handleClickOutside = event => {\n if (ref.current && !ref.current.contains(event.target)) {\n setVisible(false);\n }\n };\n document.addEventListener(event, handleClickOutside);\n return () => {\n document.removeEventListener(event, handleClickOutside);\n };\n }, [ref]);\n};\n"],"file":"useClickAwayListener.js"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@tecsinapse/react-web-kit",
3
3
  "description": "TecSinapse React components",
4
- "version": "1.10.0",
4
+ "version": "1.10.4",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "license": "MIT",
@@ -14,7 +14,7 @@
14
14
  "@emotion/native": "^11.0.0",
15
15
  "@emotion/react": "^11.4.1",
16
16
  "@emotion/styled": "^11.3.0",
17
- "@tecsinapse/react-core": "^1.10.0",
17
+ "@tecsinapse/react-core": "^1.10.3",
18
18
  "@types/react-native": "^0.64.4",
19
19
  "react-native-vector-icons": "^8.1.0",
20
20
  "react-transition-group": "^4.4.2"
@@ -33,5 +33,5 @@
33
33
  "react-dom": ">=16.8.0",
34
34
  "react-native-web": "^0.17.1"
35
35
  },
36
- "gitHead": "7698ef5b688a736d3f03493871fe001e51051520"
36
+ "gitHead": "2608df0807f22cca02b657a64b3bfef334daf0e9"
37
37
  }
@@ -79,4 +79,6 @@ const Input: FC<InputWebProps> = React.forwardRef(
79
79
  }
80
80
  );
81
81
 
82
+ Input.displayName = 'Input';
83
+
82
84
  export default Input;
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { HeaderBackground, THeadStyled } from './styled';
3
- import Tr from '../Row/Tr';
3
+ import { Tr } from '../Row/Tr';
4
4
 
5
5
  const THead: React.FC<React.HTMLAttributes<HTMLTableSectionElement>> = ({
6
6
  children,
@@ -1,5 +1,5 @@
1
1
  import styled from '@emotion/styled';
2
- import { hex2rgba, StyleProps } from '@tecsinapse/react-core';
2
+ import { StyleProps } from '@tecsinapse/react-core';
3
3
  import { DrawerProps } from './Drawer';
4
4
  import { css } from '@emotion/react';
5
5
 
@@ -10,7 +10,7 @@ export default {
10
10
  };
11
11
 
12
12
  const Template: Story<InputPasswordWebProps> = args => {
13
- const [value, setValue] = useState<string>();
13
+ const [value, setValue] = useState<string>('');
14
14
 
15
15
  const onChange = text => {
16
16
  setValue(text);
@@ -27,4 +27,6 @@ const InputPassword: FC<InputPasswordWebProps> = React.forwardRef(
27
27
  }
28
28
  );
29
29
 
30
+ InputPassword.displayName = 'InputPassword';
31
+
30
32
  export default InputPassword;
@@ -1,11 +1,5 @@
1
1
  import React from 'react';
2
- import {
3
- Checkbox,
4
- Text,
5
- Icon,
6
- useDebouncedState,
7
- } from '@tecsinapse/react-core';
8
- import { Input } from '../../../atoms/Input';
2
+ import { Checkbox, Text, useDebouncedState } from '@tecsinapse/react-core';
9
3
  import { ItemSelect } from '../SelectItem';
10
4
  import { SelectProps } from '../Select';
11
5
  import {
@@ -45,6 +39,14 @@ const Dropdown = <Data, Type extends 'single' | 'multi'>({
45
39
  type === 'multi' && (value as Data[])?.length === lengthOptions
46
40
  );
47
41
 
42
+ React.useEffect(() => {
43
+ if (type === 'multi') {
44
+ lengthOptions === (value as Data[])?.length
45
+ ? setCheckedAll(true)
46
+ : setCheckedAll(false);
47
+ }
48
+ }, [value, type, lengthOptions]);
49
+
48
50
  const onClickCheckAll = React.useCallback(() => {
49
51
  const items = options.map(option => option);
50
52
  let aux;
@@ -4,7 +4,8 @@ import { SelectProps } from '../Select';
4
4
  import { css } from '@emotion/react';
5
5
 
6
6
  type InjectedProps = Partial<
7
- StyleProps & SelectProps<any, any> & { lengthOptions: number }
7
+ StyleProps &
8
+ SelectProps<unknown, 'single' | 'multi'> & { lengthOptions: number }
8
9
  >;
9
10
 
10
11
  const anchorBottom = ({
@@ -38,7 +39,7 @@ export const StyledContainerDropdown = styled('div')<InjectedProps>`
38
39
  padding-top: ${({
39
40
  theme,
40
41
  hideSearchBar,
41
- }: StyleProps & Partial<SelectProps<any, any>>) =>
42
+ }: StyleProps & Partial<SelectProps<unknown, 'single' | 'multi'>>) =>
42
43
  !hideSearchBar ? `${theme.spacing.deca}` : '0px'};
43
44
  padding-bottom: ${({ theme }: StyleProps) => theme.spacing.mili};
44
45
  z-index: ${({ theme }: StyleProps) => theme.zIndex.select};
@@ -71,8 +71,12 @@ Single.args = {
71
71
  hideSearchBar: false,
72
72
  };
73
73
 
74
- const TemplateMulti: Story<SelectProps<Option, 'multi'>> = args => {
74
+ const TemplateMulti: Story<SelectProps<Option, 'multi'>> = ({
75
+ options: _options,
76
+ ...args
77
+ }) => {
75
78
  const [multiValue, setMultiValue] = useState([]);
79
+ const [options, setOptions] = useState(_options);
76
80
 
77
81
  const handleSelectMultipleValues = React.useCallback(
78
82
  keys => setMultiValue(keys),
@@ -82,16 +86,24 @@ const TemplateMulti: Story<SelectProps<Option, 'multi'>> = args => {
82
86
  const labelExtractor = React.useCallback(item => item.label, []);
83
87
  const keyExtractor = React.useCallback(item => String(item.value), []);
84
88
 
89
+ const handleSearch = React.useCallback((searchArg: string) => {
90
+ setOptions(
91
+ _options.filter(item => new RegExp(searchArg, 'ig').test(item.label))
92
+ );
93
+ }, []);
94
+
85
95
  return (
86
96
  <Container>
87
97
  <ContainerSelect>
88
98
  <Select
89
99
  {...args}
100
+ options={options}
90
101
  value={multiValue}
91
102
  type="multi"
92
103
  onSelect={handleSelectMultipleValues}
93
104
  labelExtractor={labelExtractor}
94
105
  keyExtractor={keyExtractor}
106
+ onSearch={handleSearch}
95
107
  />
96
108
  </ContainerSelect>
97
109
  </Container>
@@ -104,6 +116,7 @@ Multi.args = {
104
116
  placeholder: 'Placeholder do select',
105
117
  label: 'Label',
106
118
  options: OPTIONS_EXAMPLE,
119
+ hideSearchBar: false,
107
120
  };
108
121
 
109
122
  const Container = styled('div')`
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import {
3
- Icon,
4
3
  PressableInputContainer,
5
4
  Text,
6
5
  TextProps,
@@ -52,11 +52,8 @@ const SelectItem = <Data, Type extends 'single' | 'multi'>({
52
52
  type OnSelectArg = Parameters<typeof onSelect>[0];
53
53
  const key: Data = item;
54
54
  if (Array.isArray(_value)) {
55
- let auxChecked;
56
- setChecked(prev => {
57
- auxChecked = !prev;
58
- return !prev;
59
- });
55
+ const auxChecked = !checked;
56
+ setChecked(!checked);
60
57
  if (auxChecked) {
61
58
  onSelect([..._value, key] as OnSelectArg);
62
59
  [..._value, key].length === lenghtOptions && setCheckedAll(true);
@@ -72,7 +69,7 @@ const SelectItem = <Data, Type extends 'single' | 'multi'>({
72
69
  setDropDownVisible(false);
73
70
  }
74
71
  },
75
- [onSelect, setDropDownVisible, setCheckedAll, setChecked]
72
+ [onSelect, setDropDownVisible, setCheckedAll, setChecked, checked]
76
73
  );
77
74
 
78
75
  return (
@@ -1,24 +1,16 @@
1
1
  export const getDisplayValue = <Data>(
2
- type,
3
- value,
4
- options,
5
- placeholder,
6
- keyExtractor,
7
- labelExtractor
8
- ): Data | Data[] => {
2
+ type: 'multi' | 'single',
3
+ value: Data | Data[] | undefined,
4
+ options: Data[],
5
+ placeholder: string | undefined,
6
+ keyExtractor: (option: Data, idx?: number) => string,
7
+ labelExtractor: (option: Data) => string
8
+ ): Data | Data[] | string | undefined => {
9
9
  if (type === 'multi') {
10
- if (value.length === 0) return placeholder;
10
+ if ((value as Data[]).length === 0) return placeholder;
11
11
  else {
12
- return options
13
- .reduce(
14
- (acc, option, index) =>
15
- value.find(
16
- key => keyExtractor(option, index) == keyExtractor(key, index)
17
- )
18
- ? acc + labelExtractor(option) + ', '
19
- : acc,
20
- ''
21
- )
12
+ return (value as Data[])
13
+ .reduce((acc, option) => acc + labelExtractor(option) + ', ', '')
22
14
  .slice(0, -2);
23
15
  }
24
16
  } else {
@@ -7,8 +7,7 @@ import {
7
7
  } from '@tecsinapse/react-core';
8
8
  import { StyledWebInput } from './styled';
9
9
 
10
- export interface TextAreaProps
11
- extends Omit<ITACore, 'TextComponent' | 'focused'> {}
10
+ export type TextAreaProps = Omit<ITACore, 'TextComponent' | 'focused'>;
12
11
 
13
12
  const TextArea: FC<TextAreaProps> = ({
14
13
  label,
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { Checkbox, Icon, PressableSurface } from '@tecsinapse/react-core';
3
3
  import { Th, THead, Tr } from '../../../atoms/Table';
4
4
  import { CheckboxHeader } from './styled';
5
- import { HeadersType } from '../types';
5
+ import { HeadersType, SortState } from '../types';
6
6
  import {
7
7
  findCurrentItemsOnData,
8
8
  findUnselectedItemsOnData,
@@ -30,7 +30,7 @@ const Header = <Data extends unknown>({
30
30
  selectedRows,
31
31
  onSelected,
32
32
  }: DataGridHeaderProps<Data>): JSX.Element => {
33
- const [sortDirection, setSortDirection] = React.useState<string>(
33
+ const [sortDirection, setSortDirection] = React.useState<SortState>(
34
34
  NEXT_STATE.initial
35
35
  );
36
36
 
@@ -1,17 +1,23 @@
1
- export const NEXT_STATE = {
1
+ import { SortState } from '../types';
2
+
3
+ export const NEXT_STATE: { [key: string]: SortState } = {
2
4
  unsorted: 'ascending',
3
5
  ascending: 'descending',
4
6
  descending: 'unsorted',
5
7
  initial: 'unsorted',
6
8
  };
7
9
 
8
- export const getIconSuffix = state =>
10
+ export const getIconSuffix = (state: SortState): string =>
9
11
  state === 'unsorted' ? 'ascending' : state;
10
12
 
11
- export const getIconColor = state =>
13
+ export const getIconColor = (state: SortState): 'medium' | 'orange' =>
12
14
  state === 'unsorted' ? 'medium' : 'orange';
13
15
 
14
- export const findUnselectedItemsOnData = (selected, data, rowKeyExtractor) =>
16
+ export const findUnselectedItemsOnData = <T>(
17
+ selected: T[],
18
+ data: T[],
19
+ rowKeyExtractor: (t: T) => string
20
+ ): T[] =>
15
21
  selected.length > 0
16
22
  ? data.filter(item =>
17
23
  selected.every(
@@ -20,7 +26,11 @@ export const findUnselectedItemsOnData = (selected, data, rowKeyExtractor) =>
20
26
  )
21
27
  : [];
22
28
 
23
- export const findCurrentItemsOnData = (selected, data, rowKeyExtractor) =>
29
+ export const findCurrentItemsOnData = <T>(
30
+ selected: T[],
31
+ data: T[],
32
+ rowKeyExtractor: (t: T) => string
33
+ ): T[] =>
24
34
  selected.length > 0
25
35
  ? selected.filter(item =>
26
36
  data.some(rowData => rowKeyExtractor(rowData) === rowKeyExtractor(item))
@@ -1,11 +1,13 @@
1
1
  import React from 'react';
2
2
 
3
+ export type SortState = 'ascending' | 'descending' | 'unsorted';
4
+
3
5
  export type HeadersType<Data> = {
4
6
  /** Column header label */
5
7
  label: string;
6
8
  /** Table cell renderer */
7
9
  render: (data: Data) => React.ReactNode;
8
- sort?: (direction: 'ascending' | 'descending' | 'unsorted') => void;
10
+ sort?: (direction: SortState) => void;
9
11
  /** Header alignment */
10
12
  justifyContent?: 'flex-start' | 'center' | 'flex-end';
11
13
  };
@@ -4,7 +4,7 @@ export const useClickAwayListener = (
4
4
  ref: React.MutableRefObject<any>,
5
5
  setVisible: React.Dispatch<React.SetStateAction<boolean>>,
6
6
  event: 'mouseup' | 'mousedown' | undefined = 'mousedown'
7
- ) => {
7
+ ): void => {
8
8
  React.useEffect(() => {
9
9
  const handleClickOutside = event => {
10
10
  if (ref.current && !ref.current.contains(event.target)) {