@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.
- package/CHANGELOG.md +40 -0
- package/dist/components/atoms/Input/Input.js +1 -0
- package/dist/components/atoms/Input/Input.js.map +1 -1
- package/dist/components/atoms/Table/Header/THead.js +2 -2
- package/dist/components/atoms/Table/Header/THead.js.map +1 -1
- package/dist/components/molecules/Drawer/styled.js.map +1 -1
- package/dist/components/molecules/InputPassword/InputPassword.js +1 -0
- package/dist/components/molecules/InputPassword/InputPassword.js.map +1 -1
- package/dist/components/molecules/Select/Dropdown/Dropdown.js +6 -0
- package/dist/components/molecules/Select/Dropdown/Dropdown.js.map +1 -1
- package/dist/components/molecules/Select/Dropdown/styled.js.map +1 -1
- package/dist/components/molecules/Select/Select.js.map +1 -1
- package/dist/components/molecules/Select/SelectItem/SelectItem.js +3 -6
- package/dist/components/molecules/Select/SelectItem/SelectItem.js.map +1 -1
- package/dist/components/molecules/Select/functions.d.ts +1 -1
- package/dist/components/molecules/Select/functions.js +1 -1
- package/dist/components/molecules/Select/functions.js.map +1 -1
- package/dist/components/molecules/TextArea/TextArea.d.ts +1 -2
- package/dist/components/molecules/TextArea/TextArea.js.map +1 -1
- package/dist/components/organisms/DataGrid/Header/Header.js.map +1 -1
- package/dist/components/organisms/DataGrid/Header/utils.d.ts +6 -8
- package/dist/components/organisms/DataGrid/Header/utils.js.map +1 -1
- package/dist/components/organisms/DataGrid/types.d.ts +2 -1
- package/dist/hooks/useClickAwayListener.js.map +1 -1
- package/package.json +3 -3
- package/src/components/atoms/Input/Input.tsx +2 -0
- package/src/components/atoms/Table/Header/THead.tsx +1 -1
- package/src/components/molecules/Drawer/styled.ts +1 -1
- package/src/components/molecules/InputPassword/InputPassword.stories.tsx +1 -1
- package/src/components/molecules/InputPassword/InputPassword.tsx +2 -0
- package/src/components/molecules/Select/Dropdown/Dropdown.tsx +9 -7
- package/src/components/molecules/Select/Dropdown/styled.ts +3 -2
- package/src/components/molecules/Select/Select.stories.tsx +14 -1
- package/src/components/molecules/Select/Select.tsx +0 -1
- package/src/components/molecules/Select/SelectItem/SelectItem.tsx +3 -6
- package/src/components/molecules/Select/functions.ts +10 -18
- package/src/components/molecules/TextArea/TextArea.tsx +1 -2
- package/src/components/organisms/DataGrid/Header/Header.tsx +2 -2
- package/src/components/organisms/DataGrid/Header/utils.ts +15 -5
- package/src/components/organisms/DataGrid/types.ts +3 -1
- 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
|
|
|
@@ -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;;
|
|
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 =
|
|
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.
|
|
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,
|
|
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 {
|
|
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"}
|
|
@@ -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;;
|
|
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;;
|
|
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":";;;;;;;AAAA;;AACA;;AAEA;;;;
|
|
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;;
|
|
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
|
-
|
|
42
|
-
setChecked(
|
|
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","
|
|
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:
|
|
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
|
|
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","
|
|
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
|
|
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;;;;;;
|
|
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<
|
|
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
|
-
|
|
3
|
-
ascending: string;
|
|
4
|
-
descending: string;
|
|
5
|
-
initial: string;
|
|
3
|
+
[key: string]: SortState;
|
|
6
4
|
};
|
|
7
|
-
export declare const getIconSuffix: (state:
|
|
8
|
-
export declare const getIconColor: (state:
|
|
9
|
-
export declare const findUnselectedItemsOnData: (selected:
|
|
10
|
-
export declare const findCurrentItemsOnData: (selected:
|
|
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":";;;;;;
|
|
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:
|
|
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,
|
|
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.
|
|
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.
|
|
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": "
|
|
36
|
+
"gitHead": "2608df0807f22cca02b657a64b3bfef334daf0e9"
|
|
37
37
|
}
|
|
@@ -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 &
|
|
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<
|
|
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'>> =
|
|
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')`
|
|
@@ -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
|
-
|
|
56
|
-
setChecked(
|
|
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
|
|
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
|
|
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<
|
|
33
|
+
const [sortDirection, setSortDirection] = React.useState<SortState>(
|
|
34
34
|
NEXT_STATE.initial
|
|
35
35
|
);
|
|
36
36
|
|
|
@@ -1,17 +1,23 @@
|
|
|
1
|
-
|
|
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 = (
|
|
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 = (
|
|
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:
|
|
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)) {
|