@tecsinapse/react-web-kit 1.3.2 → 1.6.1

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 (337) hide show
  1. package/CHANGELOG.md +98 -0
  2. package/dist/components/atoms/Accordion/Accordion.d.ts +9 -0
  3. package/dist/components/atoms/Accordion/Accordion.js +85 -0
  4. package/dist/components/atoms/Accordion/Accordion.js.map +1 -0
  5. package/dist/components/atoms/Accordion/animations.d.ts +41 -0
  6. package/dist/components/atoms/Accordion/animations.js +65 -0
  7. package/dist/components/atoms/Accordion/animations.js.map +1 -0
  8. package/dist/components/atoms/Accordion/index.d.ts +1 -0
  9. package/dist/components/atoms/Accordion/index.js +24 -0
  10. package/dist/components/atoms/Accordion/index.js.map +1 -0
  11. package/dist/components/atoms/Accordion/styled.d.ts +8 -0
  12. package/dist/components/atoms/Accordion/styled.js +53 -0
  13. package/dist/components/atoms/Accordion/styled.js.map +1 -0
  14. package/dist/components/atoms/Badge/index.js +2 -2
  15. package/dist/components/atoms/Button/index.js +2 -2
  16. package/dist/components/atoms/Button/styled.js +14 -5
  17. package/dist/components/atoms/Button/styled.js.map +1 -1
  18. package/dist/components/atoms/Input/index.js +2 -2
  19. package/dist/components/atoms/Modal/Modal.d.ts +8 -0
  20. package/dist/components/atoms/Modal/Modal.js +43 -0
  21. package/dist/components/atoms/Modal/Modal.js.map +1 -0
  22. package/dist/components/atoms/Modal/animations.d.ts +23 -0
  23. package/dist/components/atoms/Modal/animations.js +32 -0
  24. package/dist/components/atoms/Modal/animations.js.map +1 -0
  25. package/dist/components/atoms/Modal/index.d.ts +1 -0
  26. package/dist/components/atoms/Modal/index.js +24 -0
  27. package/dist/components/atoms/Modal/index.js.map +1 -0
  28. package/dist/components/atoms/Modal/styled.d.ts +2 -0
  29. package/dist/components/atoms/Modal/styled.js +39 -0
  30. package/dist/components/atoms/Modal/styled.js.map +1 -0
  31. package/dist/components/atoms/Overlay/Overlay.d.ts +10 -0
  32. package/dist/components/atoms/Overlay/Overlay.js +40 -0
  33. package/dist/components/atoms/Overlay/Overlay.js.map +1 -0
  34. package/dist/components/atoms/Overlay/animations.d.ts +18 -0
  35. package/dist/components/atoms/Overlay/animations.js +27 -0
  36. package/dist/components/atoms/Overlay/animations.js.map +1 -0
  37. package/dist/components/atoms/Overlay/index.d.ts +1 -0
  38. package/dist/components/atoms/Overlay/index.js +16 -0
  39. package/dist/components/atoms/Overlay/index.js.map +1 -0
  40. package/dist/components/atoms/Overlay/styled.d.ts +2 -0
  41. package/dist/components/atoms/Overlay/styled.js +36 -0
  42. package/dist/components/atoms/Overlay/styled.js.map +1 -0
  43. package/dist/components/atoms/Skeleton/Skeleton.d.ts +10 -0
  44. package/dist/components/atoms/Skeleton/Skeleton.js +35 -0
  45. package/dist/components/atoms/Skeleton/Skeleton.js.map +1 -0
  46. package/dist/components/atoms/Skeleton/index.d.ts +1 -0
  47. package/dist/components/atoms/Skeleton/index.js +24 -0
  48. package/dist/components/atoms/Skeleton/index.js.map +1 -0
  49. package/dist/components/atoms/Skeleton/styled.d.ts +5 -0
  50. package/dist/components/atoms/Skeleton/styled.js +79 -0
  51. package/dist/components/atoms/Skeleton/styled.js.map +1 -0
  52. package/dist/components/atoms/Table/Body/TBody.d.ts +3 -0
  53. package/dist/components/atoms/Table/Body/TBody.js +22 -0
  54. package/dist/components/atoms/Table/Body/TBody.js.map +1 -0
  55. package/dist/components/atoms/Table/Body/index.d.ts +1 -0
  56. package/dist/components/atoms/Table/Body/index.js +16 -0
  57. package/dist/components/atoms/Table/Body/index.js.map +1 -0
  58. package/dist/components/atoms/Table/Cell/Td.d.ts +3 -0
  59. package/dist/components/atoms/Table/Cell/Td.js +23 -0
  60. package/dist/components/atoms/Table/Cell/Td.js.map +1 -0
  61. package/dist/components/atoms/Table/Cell/index.d.ts +1 -0
  62. package/dist/components/atoms/Table/Cell/index.js +16 -0
  63. package/dist/components/atoms/Table/Cell/index.js.map +1 -0
  64. package/dist/components/atoms/Table/Cell/styled.d.ts +2 -0
  65. package/dist/components/atoms/Table/Cell/styled.js +34 -0
  66. package/dist/components/atoms/Table/Cell/styled.js.map +1 -0
  67. package/dist/components/atoms/Table/Container/TableContainer.d.ts +3 -0
  68. package/dist/components/atoms/Table/Container/TableContainer.js +23 -0
  69. package/dist/components/atoms/Table/Container/TableContainer.js.map +1 -0
  70. package/dist/components/atoms/Table/Container/index.d.ts +1 -0
  71. package/dist/components/atoms/Table/Container/index.js +16 -0
  72. package/dist/components/atoms/Table/Container/index.js.map +1 -0
  73. package/dist/components/atoms/Table/Container/styled.d.ts +2 -0
  74. package/dist/components/atoms/Table/Container/styled.js +30 -0
  75. package/dist/components/atoms/Table/Container/styled.js.map +1 -0
  76. package/dist/components/atoms/Table/Footer/TFoot.d.ts +3 -0
  77. package/dist/components/atoms/Table/Footer/TFoot.js +24 -0
  78. package/dist/components/atoms/Table/Footer/TFoot.js.map +1 -0
  79. package/dist/components/atoms/Table/Footer/index.d.ts +1 -0
  80. package/dist/components/atoms/Table/Footer/index.js +16 -0
  81. package/dist/components/atoms/Table/Footer/index.js.map +1 -0
  82. package/dist/components/atoms/Table/Footer/styled.d.ts +5 -0
  83. package/dist/components/atoms/Table/Footer/styled.js +19 -0
  84. package/dist/components/atoms/Table/Footer/styled.js.map +1 -0
  85. package/dist/components/atoms/Table/Header/THead.d.ts +3 -0
  86. package/dist/components/atoms/Table/Header/THead.js +27 -0
  87. package/dist/components/atoms/Table/Header/THead.js.map +1 -0
  88. package/dist/components/atoms/Table/Header/Th.d.ts +3 -0
  89. package/dist/components/atoms/Table/Header/Th.js +24 -0
  90. package/dist/components/atoms/Table/Header/Th.js.map +1 -0
  91. package/dist/components/atoms/Table/Header/index.d.ts +2 -0
  92. package/dist/components/atoms/Table/Header/index.js +24 -0
  93. package/dist/components/atoms/Table/Header/index.js.map +1 -0
  94. package/dist/components/atoms/Table/Header/styled.d.ts +4 -0
  95. package/dist/components/atoms/Table/Header/styled.js +54 -0
  96. package/dist/components/atoms/Table/Header/styled.js.map +1 -0
  97. package/dist/components/atoms/Table/Row/Tr.d.ts +3 -0
  98. package/dist/components/atoms/Table/Row/Tr.js +24 -0
  99. package/dist/components/atoms/Table/Row/Tr.js.map +1 -0
  100. package/dist/components/atoms/Table/Row/index.d.ts +1 -0
  101. package/dist/components/atoms/Table/Row/index.js +16 -0
  102. package/dist/components/atoms/Table/Row/index.js.map +1 -0
  103. package/dist/components/atoms/Table/Row/styled.d.ts +2 -0
  104. package/dist/components/atoms/Table/Row/styled.js +24 -0
  105. package/dist/components/atoms/Table/Row/styled.js.map +1 -0
  106. package/dist/components/atoms/Table/Table.d.ts +3 -0
  107. package/dist/components/atoms/Table/Table.js +24 -0
  108. package/dist/components/atoms/Table/Table.js.map +1 -0
  109. package/dist/components/atoms/Table/Toolbar/TableToolbar.d.ts +8 -0
  110. package/dist/components/atoms/Table/Toolbar/TableToolbar.js +30 -0
  111. package/dist/components/atoms/Table/Toolbar/TableToolbar.js.map +1 -0
  112. package/dist/components/atoms/Table/Toolbar/index.d.ts +1 -0
  113. package/dist/components/atoms/Table/Toolbar/index.js +24 -0
  114. package/dist/components/atoms/Table/Toolbar/index.js.map +1 -0
  115. package/dist/components/atoms/Table/Toolbar/styled.d.ts +5 -0
  116. package/dist/components/atoms/Table/Toolbar/styled.js +19 -0
  117. package/dist/components/atoms/Table/Toolbar/styled.js.map +1 -0
  118. package/dist/components/atoms/Table/index.d.ts +8 -0
  119. package/dist/components/atoms/Table/index.js +84 -0
  120. package/dist/components/atoms/Table/index.js.map +1 -0
  121. package/dist/components/atoms/Table/styled.d.ts +2 -0
  122. package/dist/components/atoms/Table/styled.js +20 -0
  123. package/dist/components/atoms/Table/styled.js.map +1 -0
  124. package/dist/components/atoms/Tag/index.js +2 -2
  125. package/dist/components/molecules/Breadcrumbs/BreadcrumbItem/index.js +2 -2
  126. package/dist/components/molecules/Breadcrumbs/index.js +2 -2
  127. package/dist/components/molecules/Drawer/Drawer.js +33 -3
  128. package/dist/components/molecules/Drawer/Drawer.js.map +1 -1
  129. package/dist/components/molecules/Drawer/animations.d.ts +42 -0
  130. package/dist/components/molecules/Drawer/animations.js +77 -0
  131. package/dist/components/molecules/Drawer/animations.js.map +1 -0
  132. package/dist/components/molecules/Drawer/index.js +2 -2
  133. package/dist/components/molecules/Drawer/styled.d.ts +0 -1
  134. package/dist/components/molecules/Drawer/styled.js +4 -19
  135. package/dist/components/molecules/Drawer/styled.js.map +1 -1
  136. package/dist/components/molecules/InputPassword/InputPassword.js +2 -2
  137. package/dist/components/molecules/InputPassword/index.js +2 -2
  138. package/dist/components/molecules/Menubar/MenuBlock/MenuBlock.d.ts +4 -3
  139. package/dist/components/molecules/Menubar/MenuBlock/MenuBlock.js +14 -5
  140. package/dist/components/molecules/Menubar/MenuBlock/MenuBlock.js.map +1 -1
  141. package/dist/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.d.ts +1 -0
  142. package/dist/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.js +6 -3
  143. package/dist/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.js.map +1 -1
  144. package/dist/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.d.ts +1 -0
  145. package/dist/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.js +4 -2
  146. package/dist/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.js.map +1 -1
  147. package/dist/components/molecules/Menubar/MenuBlock/MenuItem/styled.js +3 -0
  148. package/dist/components/molecules/Menubar/MenuBlock/MenuItem/styled.js.map +1 -1
  149. package/dist/components/molecules/Menubar/Menubar.d.ts +3 -2
  150. package/dist/components/molecules/Menubar/Menubar.js +33 -21
  151. package/dist/components/molecules/Menubar/Menubar.js.map +1 -1
  152. package/dist/components/molecules/Menubar/MostUsed/MostUsed.d.ts +3 -2
  153. package/dist/components/molecules/Menubar/MostUsed/MostUsed.js +6 -3
  154. package/dist/components/molecules/Menubar/MostUsed/MostUsed.js.map +1 -1
  155. package/dist/components/molecules/Menubar/animations.d.ts +4 -0
  156. package/dist/components/molecules/Menubar/animations.js +63 -0
  157. package/dist/components/molecules/Menubar/animations.js.map +1 -0
  158. package/dist/components/molecules/Menubar/index.js +2 -2
  159. package/dist/components/molecules/Menubar/styled.js +14 -1
  160. package/dist/components/molecules/Menubar/styled.js.map +1 -1
  161. package/dist/components/molecules/Menubar/types.js +4 -0
  162. package/dist/components/molecules/Select/Dropdown/Dropdown.d.ts +7 -0
  163. package/dist/components/molecules/Select/Dropdown/Dropdown.js +90 -0
  164. package/dist/components/molecules/Select/Dropdown/Dropdown.js.map +1 -0
  165. package/dist/components/molecules/Select/Dropdown/index.d.ts +1 -0
  166. package/dist/components/molecules/Select/Dropdown/index.js +16 -0
  167. package/dist/components/molecules/Select/Dropdown/index.js.map +1 -0
  168. package/dist/components/molecules/Select/Dropdown/styled.d.ts +13 -0
  169. package/dist/components/molecules/Select/Dropdown/styled.js +113 -0
  170. package/dist/components/molecules/Select/Dropdown/styled.js.map +1 -0
  171. package/dist/components/molecules/Select/Select.d.ts +15 -0
  172. package/dist/components/molecules/Select/Select.js +85 -0
  173. package/dist/components/molecules/Select/Select.js.map +1 -0
  174. package/dist/components/molecules/Select/SelectItem/SelectItem.d.ts +16 -0
  175. package/dist/components/molecules/Select/SelectItem/SelectItem.js +76 -0
  176. package/dist/components/molecules/Select/SelectItem/SelectItem.js.map +1 -0
  177. package/dist/components/molecules/Select/SelectItem/index.d.ts +1 -0
  178. package/dist/components/molecules/Select/SelectItem/index.js +16 -0
  179. package/dist/components/molecules/Select/SelectItem/index.js.map +1 -0
  180. package/dist/components/molecules/Select/SelectItem/styled.d.ts +4 -0
  181. package/dist/components/molecules/Select/SelectItem/styled.js +54 -0
  182. package/dist/components/molecules/Select/SelectItem/styled.js.map +1 -0
  183. package/dist/components/molecules/Select/animations.d.ts +27 -0
  184. package/dist/components/molecules/Select/animations.js +36 -0
  185. package/dist/components/molecules/Select/animations.js.map +1 -0
  186. package/dist/components/molecules/Select/functions.d.ts +1 -0
  187. package/dist/components/molecules/Select/functions.js +21 -0
  188. package/dist/components/molecules/Select/functions.js.map +1 -0
  189. package/dist/components/molecules/Select/index.d.ts +1 -0
  190. package/dist/components/molecules/Select/index.js +24 -0
  191. package/dist/components/molecules/Select/index.js.map +1 -0
  192. package/dist/components/molecules/Select/styled.d.ts +3 -0
  193. package/dist/components/molecules/Select/styled.js +28 -0
  194. package/dist/components/molecules/Select/styled.js.map +1 -0
  195. package/dist/components/molecules/Snackbar/index.js +2 -2
  196. package/dist/components/molecules/Snackbar/styled.js +2 -2
  197. package/dist/components/organisms/DataGrid/DataGrid.d.ts +28 -0
  198. package/dist/components/organisms/DataGrid/DataGrid.js +121 -0
  199. package/dist/components/organisms/DataGrid/DataGrid.js.map +1 -0
  200. package/dist/components/organisms/DataGrid/Footer/Footer.d.ts +15 -0
  201. package/dist/components/organisms/DataGrid/Footer/Footer.js +107 -0
  202. package/dist/components/organisms/DataGrid/Footer/Footer.js.map +1 -0
  203. package/dist/components/organisms/DataGrid/Footer/index.d.ts +1 -0
  204. package/dist/components/organisms/DataGrid/Footer/index.js +16 -0
  205. package/dist/components/organisms/DataGrid/Footer/index.js.map +1 -0
  206. package/dist/components/organisms/DataGrid/Footer/styled.d.ts +35 -0
  207. package/dist/components/organisms/DataGrid/Footer/styled.js +91 -0
  208. package/dist/components/organisms/DataGrid/Footer/styled.js.map +1 -0
  209. package/dist/components/organisms/DataGrid/Header/Header.d.ts +12 -0
  210. package/dist/components/organisms/DataGrid/Header/Header.js +88 -0
  211. package/dist/components/organisms/DataGrid/Header/Header.js.map +1 -0
  212. package/dist/components/organisms/DataGrid/Header/index.d.ts +1 -0
  213. package/dist/components/organisms/DataGrid/Header/index.js +16 -0
  214. package/dist/components/organisms/DataGrid/Header/index.js.map +1 -0
  215. package/dist/components/organisms/DataGrid/Header/styled.d.ts +1 -0
  216. package/dist/components/organisms/DataGrid/Header/styled.js +23 -0
  217. package/dist/components/organisms/DataGrid/Header/styled.js.map +1 -0
  218. package/dist/components/organisms/DataGrid/Header/utils.d.ts +10 -0
  219. package/dist/components/organisms/DataGrid/Header/utils.js +30 -0
  220. package/dist/components/organisms/DataGrid/Header/utils.js.map +1 -0
  221. package/dist/components/organisms/DataGrid/Row/Row.d.ts +10 -0
  222. package/dist/components/organisms/DataGrid/Row/Row.js +42 -0
  223. package/dist/components/organisms/DataGrid/Row/Row.js.map +1 -0
  224. package/dist/components/organisms/DataGrid/Row/index.d.ts +1 -0
  225. package/dist/components/organisms/DataGrid/Row/index.js +16 -0
  226. package/dist/components/organisms/DataGrid/Row/index.js.map +1 -0
  227. package/dist/components/organisms/DataGrid/index.d.ts +2 -0
  228. package/dist/components/organisms/DataGrid/index.js +42 -0
  229. package/dist/components/organisms/DataGrid/index.js.map +1 -0
  230. package/dist/components/organisms/DataGrid/styled.d.ts +1 -0
  231. package/dist/components/organisms/DataGrid/styled.js +23 -0
  232. package/dist/components/organisms/DataGrid/styled.js.map +1 -0
  233. package/dist/components/organisms/DataGrid/types.d.ts +7 -0
  234. package/dist/components/organisms/DataGrid/types.js +6 -0
  235. package/dist/components/organisms/DataGrid/types.js.map +1 -0
  236. package/dist/components/organisms/DataGrid/utils.d.ts +2 -0
  237. package/dist/components/organisms/DataGrid/utils.js +18 -0
  238. package/dist/components/organisms/DataGrid/utils.js.map +1 -0
  239. package/dist/hooks/index.d.ts +1 -0
  240. package/dist/hooks/index.js +14 -0
  241. package/dist/hooks/index.js.map +1 -0
  242. package/dist/hooks/useClickAwayListener.d.ts +2 -0
  243. package/dist/hooks/useClickAwayListener.js +28 -0
  244. package/dist/hooks/useClickAwayListener.js.map +1 -0
  245. package/dist/index.d.ts +6 -0
  246. package/dist/index.js +104 -3
  247. package/dist/index.js.map +1 -1
  248. package/package.json +7 -6
  249. package/src/components/atoms/Accordion/Accordion.stories.tsx +35 -0
  250. package/src/components/atoms/Accordion/Accordion.tsx +99 -0
  251. package/src/components/atoms/Accordion/animations.ts +51 -0
  252. package/src/components/atoms/Accordion/index.ts +1 -0
  253. package/src/components/atoms/Accordion/styled.ts +35 -0
  254. package/src/components/atoms/Button/styled.ts +11 -1
  255. package/src/components/atoms/Modal/Modal.stories.tsx +55 -0
  256. package/src/components/atoms/Modal/Modal.tsx +34 -0
  257. package/src/components/atoms/Modal/animations.ts +12 -0
  258. package/src/components/atoms/Modal/index.ts +1 -0
  259. package/src/components/atoms/Modal/styled.ts +17 -0
  260. package/src/components/atoms/Overlay/Overlay.tsx +40 -0
  261. package/src/components/atoms/Overlay/animations.ts +11 -0
  262. package/src/components/atoms/Overlay/index.ts +1 -0
  263. package/src/components/atoms/Overlay/styled.ts +20 -0
  264. package/src/components/atoms/Skeleton/Skeleton.stories.tsx +15 -0
  265. package/src/components/atoms/Skeleton/Skeleton.tsx +37 -0
  266. package/src/components/atoms/Skeleton/index.ts +1 -0
  267. package/src/components/atoms/Skeleton/styled.ts +68 -0
  268. package/src/components/atoms/Table/Body/TBody.tsx +10 -0
  269. package/src/components/atoms/Table/Body/index.ts +1 -0
  270. package/src/components/atoms/Table/Cell/Td.tsx +11 -0
  271. package/src/components/atoms/Table/Cell/index.ts +1 -0
  272. package/src/components/atoms/Table/Cell/styled.ts +12 -0
  273. package/src/components/atoms/Table/Container/TableContainer.tsx +11 -0
  274. package/src/components/atoms/Table/Container/index.ts +1 -0
  275. package/src/components/atoms/Table/Container/styled.ts +10 -0
  276. package/src/components/atoms/Table/Footer/TFoot.tsx +11 -0
  277. package/src/components/atoms/Table/Footer/index.ts +1 -0
  278. package/src/components/atoms/Table/Footer/styled.ts +8 -0
  279. package/src/components/atoms/Table/Header/THead.tsx +21 -0
  280. package/src/components/atoms/Table/Header/Th.tsx +10 -0
  281. package/src/components/atoms/Table/Header/index.ts +2 -0
  282. package/src/components/atoms/Table/Header/styled.ts +30 -0
  283. package/src/components/atoms/Table/Row/Tr.tsx +11 -0
  284. package/src/components/atoms/Table/Row/index.ts +1 -0
  285. package/src/components/atoms/Table/Row/styled.ts +8 -0
  286. package/src/components/atoms/Table/Table.stories.tsx +96 -0
  287. package/src/components/atoms/Table/Table.tsx +11 -0
  288. package/src/components/atoms/Table/Toolbar/TableToolbar.tsx +31 -0
  289. package/src/components/atoms/Table/Toolbar/index.ts +1 -0
  290. package/src/components/atoms/Table/Toolbar/styled.ts +8 -0
  291. package/src/components/atoms/Table/index.ts +8 -0
  292. package/src/components/atoms/Table/styled.ts +9 -0
  293. package/src/components/molecules/Drawer/Drawer.stories.tsx +19 -21
  294. package/src/components/molecules/Drawer/Drawer.tsx +34 -6
  295. package/src/components/molecules/Drawer/animations.ts +50 -0
  296. package/src/components/molecules/Drawer/styled.ts +3 -12
  297. package/src/components/molecules/InputPassword/InputPassword.stories.tsx +1 -1
  298. package/src/components/molecules/Menubar/MenuBlock/MenuBlock.tsx +38 -31
  299. package/src/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.tsx +4 -2
  300. package/src/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.tsx +3 -2
  301. package/src/components/molecules/Menubar/MenuBlock/MenuItem/styled.ts +3 -0
  302. package/src/components/molecules/Menubar/Menubar.stories.tsx +20 -13
  303. package/src/components/molecules/Menubar/Menubar.tsx +65 -51
  304. package/src/components/molecules/Menubar/MostUsed/MostUsed.tsx +4 -2
  305. package/src/components/molecules/Menubar/animations.ts +64 -0
  306. package/src/components/molecules/Menubar/styled.ts +8 -1
  307. package/src/components/molecules/Select/Dropdown/Dropdown.tsx +106 -0
  308. package/src/components/molecules/Select/Dropdown/index.ts +1 -0
  309. package/src/components/molecules/Select/Dropdown/styled.ts +77 -0
  310. package/src/components/molecules/Select/Select.stories.tsx +108 -0
  311. package/src/components/molecules/Select/Select.tsx +92 -0
  312. package/src/components/molecules/Select/SelectItem/SelectItem.tsx +88 -0
  313. package/src/components/molecules/Select/SelectItem/index.ts +1 -0
  314. package/src/components/molecules/Select/SelectItem/styled.ts +34 -0
  315. package/src/components/molecules/Select/animations.ts +18 -0
  316. package/src/components/molecules/Select/functions.ts +32 -0
  317. package/src/components/molecules/Select/index.ts +1 -0
  318. package/src/components/molecules/Select/styled.ts +16 -0
  319. package/src/components/molecules/Snackbar/Snackbar.stories.tsx +24 -0
  320. package/src/components/organisms/DataGrid/DatGrid.stories.tsx +216 -0
  321. package/src/components/organisms/DataGrid/DataGrid.tsx +183 -0
  322. package/src/components/organisms/DataGrid/Footer/Footer.tsx +137 -0
  323. package/src/components/organisms/DataGrid/Footer/index.ts +1 -0
  324. package/src/components/organisms/DataGrid/Footer/styled.ts +59 -0
  325. package/src/components/organisms/DataGrid/Header/Header.tsx +111 -0
  326. package/src/components/organisms/DataGrid/Header/index.ts +1 -0
  327. package/src/components/organisms/DataGrid/Header/styled.ts +10 -0
  328. package/src/components/organisms/DataGrid/Header/utils.ts +28 -0
  329. package/src/components/organisms/DataGrid/Row/Row.tsx +33 -0
  330. package/src/components/organisms/DataGrid/Row/index.ts +1 -0
  331. package/src/components/organisms/DataGrid/index.ts +2 -0
  332. package/src/components/organisms/DataGrid/styled.ts +10 -0
  333. package/src/components/organisms/DataGrid/types.ts +11 -0
  334. package/src/components/organisms/DataGrid/utils.ts +15 -0
  335. package/src/hooks/index.ts +1 -0
  336. package/src/hooks/useClickAwayListener.ts +18 -0
  337. package/src/index.ts +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/molecules/Select/Dropdown/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { default as Dropdown } from './Dropdown';\n"],"file":"index.js"}
@@ -0,0 +1,13 @@
1
+ /// <reference types="react" />
2
+ export declare const StyledContainerDropdown: import("@emotion/styled").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme | undefined;
4
+ as?: import("react").ElementType<any> | undefined;
5
+ } & Partial<any>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
6
+ export declare const StyledTest: import("@emotion/styled").StyledComponent<{
7
+ theme?: import("@emotion/react").Theme | undefined;
8
+ as?: import("react").ElementType<any> | undefined;
9
+ } & Partial<any>, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
10
+ export declare const SearchBarContainer: import("@emotion/styled").StyledComponent<any, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
11
+ export declare const StyledContainerCheckAll: import("@emotion/styled").StyledComponent<any, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
12
+ export declare const StyledSpan: import("@emotion/styled").StyledComponent<any, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
13
+ export declare const StyledContainerTextLabel: import("@emotion/styled").StyledComponent<any, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,113 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StyledContainerTextLabel = exports.StyledSpan = exports.StyledContainerCheckAll = exports.SearchBarContainer = exports.StyledTest = exports.StyledContainerDropdown = void 0;
7
+
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+
10
+ var _reactCore = require("@tecsinapse/react-core");
11
+
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
14
+ const StyledContainerDropdown = (0, _styled.default)('div')`
15
+ width: 100%;
16
+ background-color: ${({
17
+ theme
18
+ }) => theme.miscellaneous.surfaceColor};
19
+ border-radius: ${({
20
+ theme
21
+ }) => theme.borderRadius.mili};
22
+ box-shadow: 0px 2px 8px
23
+ ${({
24
+ theme
25
+ }) => (0, _reactCore.hex2rgba)(theme.miscellaneous.shadow, 0.08)};
26
+ margin-top: ${({
27
+ theme
28
+ }) => theme.spacing.centi};
29
+ top: 100%;
30
+ position: absolute;
31
+ padding-top: ${({
32
+ theme,
33
+ hideSearchBar
34
+ }) => !hideSearchBar ? `${theme.spacing.deca}` : '0px'};
35
+ padding-bottom: ${({
36
+ theme
37
+ }) => theme.spacing.mili};
38
+ z-index: ${({
39
+ theme
40
+ }) => theme.zIndex.default};
41
+ `;
42
+ exports.StyledContainerDropdown = StyledContainerDropdown;
43
+ const StyledTest = (0, _styled.default)('div')`
44
+ max-height: 250px;
45
+ top: 100%;
46
+ overflow-y: ${({
47
+ lenghtOptions = 0
48
+ }) => lenghtOptions > 5 ? 'scroll' : 'hidden'};
49
+ ::-webkit-scrollbar {
50
+ width: 8px;
51
+ }
52
+ ::-webkit-scrollbar-thumb {
53
+ border-radius: ${({
54
+ theme
55
+ }) => theme.borderRadius.centi};
56
+ background-color: ${({
57
+ theme
58
+ }) => theme.color.secondary.light};
59
+ }
60
+ ::-webkit-scrollbar-thumb:hover {
61
+ background-color: ${({
62
+ theme
63
+ }) => theme.color.primary.light};
64
+ },
65
+ `;
66
+ exports.StyledTest = StyledTest;
67
+ const SearchBarContainer = (0, _styled.default)('div')`
68
+ padding-left: ${({
69
+ theme
70
+ }) => theme.spacing.mili};
71
+ width: 100%;
72
+ `;
73
+ exports.SearchBarContainer = SearchBarContainer;
74
+ const StyledContainerCheckAll = (0, _styled.default)('div')`
75
+ padding: ${({
76
+ theme
77
+ }) => `${theme.spacing.mili} ${theme.spacing.deca}`};
78
+ flex-direction: row;
79
+ display: flex;
80
+ justify-content: flex-start;
81
+ align-items: center;
82
+ cursor: pointer;
83
+ &:hover {
84
+ background-color: ${({
85
+ theme
86
+ }) => theme.color.primary.xlight};
87
+ }
88
+ &:hover span {
89
+ color: ${({
90
+ theme
91
+ }) => theme.color.primary.medium};
92
+ }
93
+ `;
94
+ exports.StyledContainerCheckAll = StyledContainerCheckAll;
95
+ const StyledSpan = (0, _styled.default)('span')`
96
+ color: ${({
97
+ theme
98
+ }) => theme.color.primary.medium};
99
+ padding: ${({
100
+ theme
101
+ }) => `${theme.spacing.mili} 0px`};
102
+ `;
103
+ exports.StyledSpan = StyledSpan;
104
+ const StyledContainerTextLabel = (0, _styled.default)('div')`
105
+ padding-left: ${({
106
+ theme
107
+ }) => theme.spacing.mili};
108
+ width: 100%;
109
+ display: flex;
110
+ overflow: hidden;
111
+ `;
112
+ exports.StyledContainerTextLabel = StyledContainerTextLabel;
113
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/molecules/Select/Dropdown/styled.ts"],"names":["StyledContainerDropdown","theme","miscellaneous","surfaceColor","borderRadius","mili","shadow","spacing","centi","hideSearchBar","deca","zIndex","default","StyledTest","lenghtOptions","color","secondary","light","primary","SearchBarContainer","StyledContainerCheckAll","xlight","medium","StyledSpan","StyledContainerTextLabel"],"mappings":";;;;;;;AAAA;;AACA;;;;AAGO,MAAMA,uBAAuB,GAAG,qBAAO,KAAP,CAErC;AACF;AACA,sBAAsB,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAClBA,KAAK,CAACC,aAAN,CAAoBC,YAAa;AACrC,mBAAmB,CAAC;AAAEF,EAAAA;AAAF,CAAD,KAA2BA,KAAK,CAACG,YAAN,CAAmBC,IAAK;AACtE;AACA,MAAM,CAAC;AAAEJ,EAAAA;AAAF,CAAD,KAA2B,yBAASA,KAAK,CAACC,aAAN,CAAoBI,MAA7B,EAAqC,IAArC,CAA2C;AAC5E,gBAAgB,CAAC;AAAEL,EAAAA;AAAF,CAAD,KAA2BA,KAAK,CAACM,OAAN,CAAcC,KAAM;AAC/D;AACA;AACA,iBAAiB,CAAC;AACdP,EAAAA,KADc;AAEdQ,EAAAA;AAFc,CAAD,KAIb,CAACA,aAAD,GAAkB,GAAER,KAAK,CAACM,OAAN,CAAcG,IAAK,EAAvC,GAA2C,KAAM;AACrD,oBAAoB,CAAC;AAAET,EAAAA;AAAF,CAAD,KAA2BA,KAAK,CAACM,OAAN,CAAcF,IAAK;AAClE,aAAa,CAAC;AAAEJ,EAAAA;AAAF,CAAD,KAA2BA,KAAK,CAACU,MAAN,CAAaC,OAAQ;AAC7D,CAnBO;;AAqBA,MAAMC,UAAU,GAAG,qBAAO,KAAP,CAExB;AACF;AACA;AACA,gBAAgB,CAAC;AACbC,EAAAA,aAAa,GAAG;AADH,CAAD,KAGZA,aAAa,GAAG,CAAhB,GAAoB,QAApB,GAA+B,QAAS;AAC5C;AACA;AACA;AACA;AACA,qBAAqB,CAAC;AAAEb,EAAAA;AAAF,CAAD,KAA2BA,KAAK,CAACG,YAAN,CAAmBI,KAAM;AACzE,wBAAwB,CAAC;AAAEP,EAAAA;AAAF,CAAD,KAA2BA,KAAK,CAACc,KAAN,CAAYC,SAAZ,CAAsBC,KAAM;AAC/E;AACA;AACA,wBAAwB,CAAC;AAAEhB,EAAAA;AAAF,CAAD,KAA2BA,KAAK,CAACc,KAAN,CAAYG,OAAZ,CAAoBD,KAAM;AAC7E;AACA,CAnBO;;AAqBA,MAAME,kBAAkB,GAAG,qBAAO,KAAP,CAAmC;AACrE,kBAAkB,CAAC;AAAElB,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACM,OAAN,CAAcF,IAAK;AACpD;AACA,CAHO;;AAKA,MAAMe,uBAAuB,GAAG,qBAAO,KAAP,CAAmC;AAC1E,aAAa,CAAC;AAAEnB,EAAAA;AAAF,CAAD,KAAgB,GAAEA,KAAK,CAACM,OAAN,CAAcF,IAAK,IAAGJ,KAAK,CAACM,OAAN,CAAcG,IAAK,EAAE;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,CAAC;AAAET,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACc,KAAN,CAAYG,OAAZ,CAAoBG,MAAO;AAClE;AACA;AACA,aAAa,CAAC;AAAEpB,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACc,KAAN,CAAYG,OAAZ,CAAoBI,MAAO;AACvD;AACA,CAbO;;AAeA,MAAMC,UAAU,GAAG,qBAAO,MAAP,CAAoC;AAC9D,WAAW,CAAC;AAAEtB,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACc,KAAN,CAAYG,OAAZ,CAAoBI,MAAO;AACrD,aAAa,CAAC;AAAErB,EAAAA;AAAF,CAAD,KAAgB,GAAEA,KAAK,CAACM,OAAN,CAAcF,IAAK,MAAM;AACxD,CAHO;;AAKA,MAAMmB,wBAAwB,GAAG,qBAAO,KAAP,CAAmC;AAC3E,kBAAkB,CAAC;AAAEvB,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACM,OAAN,CAAcF,IAAK;AACpD;AACA;AACA;AACA,CALO","sourcesContent":["import styled from '@emotion/styled';\nimport { hex2rgba, StyleProps } from '@tecsinapse/react-core';\nimport { SelectProps } from '../Select';\n\nexport const StyledContainerDropdown = styled('div')<\n Partial<StyleProps & SelectProps<any, any> & { lengthOptions: number }>\n>`\n width: 100%;\n background-color: ${({ theme }: StyleProps) =>\n theme.miscellaneous.surfaceColor};\n border-radius: ${({ theme }: StyleProps) => theme.borderRadius.mili};\n box-shadow: 0px 2px 8px\n ${({ theme }: StyleProps) => hex2rgba(theme.miscellaneous.shadow, 0.08)};\n margin-top: ${({ theme }: StyleProps) => theme.spacing.centi};\n top: 100%;\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.default};\n`;\n\nexport const StyledTest = styled('div')<\n Partial<StyleProps & SelectProps<any, any> & { lenghtOptions: number }>\n>`\n max-height: 250px;\n top: 100%;\n overflow-y: ${({\n lenghtOptions = 0,\n }: Partial<{ lenghtOptions: number } & StyleProps>) =>\n lenghtOptions > 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 StyledContainerCheckAll = styled('div')<Partial<StyleProps>>`\n padding: ${({ theme }) => `${theme.spacing.mili} ${theme.spacing.deca}`};\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.color.primary.medium};\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"}
@@ -0,0 +1,15 @@
1
+ export interface SelectProps<Data, Type extends 'single' | 'multi'> {
2
+ options: Data[];
3
+ onSelect: (option: Type extends 'single' ? Data | undefined : Data[]) => never | void;
4
+ value: Type extends 'single' ? Data | undefined : Data[];
5
+ type: Type;
6
+ keyExtractor: (t: Data, index?: number) => string;
7
+ labelExtractor: (t: Data) => string;
8
+ placeholder?: string;
9
+ onSearch?: (searchArg: string) => void | never;
10
+ searchBarPlaceholder?: string;
11
+ hideSearchBar?: boolean;
12
+ label?: string;
13
+ }
14
+ export declare const Select: <Data, Type extends "single" | "multi">({ value, options, keyExtractor, onSelect, type, labelExtractor, placeholder, onSearch, hideSearchBar, label, ...rest }: SelectProps<Data, Type>) => JSX.Element;
15
+ export default Select;
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = exports.Select = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _reactCore = require("@tecsinapse/react-core");
11
+
12
+ var _hooks = require("../../../hooks");
13
+
14
+ var _styled = require("./styled");
15
+
16
+ var _Dropdown = require("./Dropdown");
17
+
18
+ var _functions = require("./functions");
19
+
20
+ var _reactTransitionGroup = require("react-transition-group");
21
+
22
+ var _animations = require("./animations");
23
+
24
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
25
+
26
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
27
+
28
+ const Select = ({
29
+ value,
30
+ options,
31
+ keyExtractor,
32
+ onSelect,
33
+ type,
34
+ labelExtractor,
35
+ placeholder,
36
+ onSearch,
37
+ hideSearchBar = true,
38
+ label,
39
+ ...rest
40
+ }) => {
41
+ const [dropDownVisible, setDropDownVisible] = _react.default.useState(false);
42
+
43
+ const refDropDown = _react.default.useRef(null);
44
+
45
+ (0, _hooks.useClickAwayListener)(refDropDown, setDropDownVisible);
46
+ const displayValue = (0, _functions.getDisplayValue)(type, value, options, placeholder, keyExtractor, labelExtractor);
47
+ return _react.default.createElement(_styled.StyledContainer, {
48
+ ref: refDropDown
49
+ }, _react.default.createElement(_styled.StyledInputContainer, null, _react.default.createElement(_reactCore.PressableInputContainer, _extends({
50
+ label: label
51
+ }, rest, {
52
+ onPress: () => setDropDownVisible(!dropDownVisible),
53
+ rightComponent: _react.default.createElement(_reactCore.Icon, {
54
+ name: "chevron-down",
55
+ type: "material-community",
56
+ size: "centi",
57
+ style: {
58
+ marginRight: 12
59
+ }
60
+ })
61
+ }), _react.default.createElement(_reactCore.Text, {
62
+ ellipsizeMode: "tail",
63
+ numberOfLines: 1
64
+ }, displayValue))), _react.default.createElement(_reactTransitionGroup.Transition, {
65
+ in: dropDownVisible,
66
+ timeout: 300
67
+ }, state => _react.default.createElement(_Dropdown.Dropdown, {
68
+ options: options,
69
+ onSelect: onSelect,
70
+ value: value,
71
+ type: type,
72
+ keyExtractor: keyExtractor,
73
+ labelExtractor: labelExtractor,
74
+ hideSearchBar: hideSearchBar,
75
+ style: { ..._animations.defaultStyles,
76
+ ..._animations.transition[state]
77
+ },
78
+ setDropDownVisible: setDropDownVisible
79
+ })));
80
+ };
81
+
82
+ exports.Select = Select;
83
+ var _default = Select;
84
+ exports.default = _default;
85
+ //# sourceMappingURL=Select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/molecules/Select/Select.tsx"],"names":["Select","value","options","keyExtractor","onSelect","type","labelExtractor","placeholder","onSearch","hideSearchBar","label","rest","dropDownVisible","setDropDownVisible","React","useState","refDropDown","useRef","displayValue","marginRight","state","defaultStyles","transition"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAkBO,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,aAAa,GAAG,IAT4C;AAU5DC,EAAAA,KAV4D;AAW5D,KAAGC;AAXyD,CAAxC,KAYsB;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,gCACnBb,IADmB,EAEnBJ,KAFmB,EAGnBC,OAHmB,EAInBK,WAJmB,EAKnBJ,YALmB,EAMnBG,cANmB,CAArB;AASA,SACE,6BAAC,uBAAD;AAAiB,IAAA,GAAG,EAAEU;AAAtB,KACE,6BAAC,4BAAD,QACE,6BAAC,kCAAD;AACE,IAAA,KAAK,EAAEN;AADT,KAEMC,IAFN;AAGE,IAAA,OAAO,EAAE,MAAME,kBAAkB,CAAC,CAACD,eAAF,CAHnC;AAIE,IAAA,cAAc,EACZ,6BAAC,eAAD;AACE,MAAA,IAAI,EAAC,cADP;AAEE,MAAA,IAAI,EAAC,oBAFP;AAGE,MAAA,IAAI,EAAC,OAHP;AAIE,MAAA,KAAK,EAAE;AAAEO,QAAAA,WAAW,EAAE;AAAf;AAJT;AALJ,MAaE,6BAAC,eAAD;AAAM,IAAA,aAAa,EAAC,MAApB;AAA2B,IAAA,aAAa,EAAE;AAA1C,KACGD,YADH,CAbF,CADF,CADF,EAoBE,6BAAC,gCAAD;AAAY,IAAA,EAAE,EAAEN,eAAhB;AAAiC,IAAA,OAAO,EAAE;AAA1C,KACGQ,KAAK,IACJ,6BAAC,kBAAD;AACE,IAAA,OAAO,EAAElB,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,EAAEG,aAPjB;AAQE,IAAA,KAAK,EAAE,EAAE,GAAGY,yBAAL;AAAoB,SAAGC,uBAAWF,KAAX;AAAvB,KART;AASE,IAAA,kBAAkB,EAAEP;AATtB,IAFJ,CApBF,CADF;AAsCD,CAhEM;;;eAkEQb,M","sourcesContent":["import React from 'react';\nimport { Icon, PressableInputContainer, Text } from '@tecsinapse/react-core';\nimport { useClickAwayListener } from '../../../hooks';\nimport { StyledContainer, StyledInputContainer } 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 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 label?: string;\n}\n\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 hideSearchBar = true,\n label,\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 return (\n <StyledContainer ref={refDropDown}>\n <StyledInputContainer>\n <PressableInputContainer\n label={label}\n {...rest}\n onPress={() => setDropDownVisible(!dropDownVisible)}\n rightComponent={\n <Icon\n name=\"chevron-down\"\n type=\"material-community\"\n size=\"centi\"\n style={{ marginRight: 12 }}\n />\n }\n >\n <Text 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 style={{ ...defaultStyles, ...transition[state] }}\n setDropDownVisible={setDropDownVisible}\n />\n )}\n </Transition>\n </StyledContainer>\n );\n};\n\nexport default Select;\n"],"file":"Select.js"}
@@ -0,0 +1,16 @@
1
+ interface SelectItemProps<Data, Type extends 'single' | 'multi'> {
2
+ item: Data;
3
+ type: Type;
4
+ value: Type extends 'single' ? Data | undefined : Data[];
5
+ onSelect: (option: Type extends 'single' ? Data | undefined : Data[]) => never | void;
6
+ keyExtractor: (t: Data, index: number) => string;
7
+ labelExtractor: (t: Data) => string;
8
+ index: number;
9
+ }
10
+ declare const SelectItem: <Data, Type extends "single" | "multi">({ item, onSelect, type, value, labelExtractor, setDropDownVisible, checkedAll, setCheckedAll, lenghtOptions, }: SelectItemProps<Data, Type> & {
11
+ setDropDownVisible: (t: boolean) => void;
12
+ checkedAll: boolean;
13
+ setCheckedAll: (t: boolean) => void;
14
+ lenghtOptions: number;
15
+ }) => JSX.Element;
16
+ export default SelectItem;
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ var _reactCore = require("@tecsinapse/react-core");
11
+
12
+ var _styled = require("./styled");
13
+
14
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
16
+ const SelectItem = ({
17
+ item,
18
+ onSelect,
19
+ type,
20
+ value,
21
+ labelExtractor,
22
+ setDropDownVisible,
23
+ checkedAll,
24
+ setCheckedAll,
25
+ lenghtOptions
26
+ }) => {
27
+ const isMulti = type === 'multi';
28
+
29
+ const [checked, setChecked] = _react.default.useState(value !== undefined && type === 'multi' && value.includes(item));
30
+
31
+ _react.default.useEffect(() => {
32
+ if (type === 'multi') {
33
+ checkedAll ? setChecked(true) : setChecked(value.includes(item));
34
+ }
35
+ }, [checkedAll]);
36
+
37
+ const clickItem = item => {
38
+ const key = item;
39
+
40
+ if (Array.isArray(value)) {
41
+ const auxChecked = !checked;
42
+ setChecked(!checked);
43
+
44
+ if (auxChecked) {
45
+ onSelect([...value, key]);
46
+ [...value, key].length === lenghtOptions && setCheckedAll(true);
47
+ } else {
48
+ const auxArray = value;
49
+ const indexToExclude = auxArray.indexOf(key);
50
+ auxArray.splice(indexToExclude, 1);
51
+ onSelect([...auxArray]);
52
+ setCheckedAll(false);
53
+ }
54
+ } else {
55
+ onSelect(key);
56
+ setDropDownVisible(false);
57
+ }
58
+ };
59
+
60
+ return _react.default.createElement(_styled.ContainerItemSelect, {
61
+ onClick: () => clickItem(item)
62
+ }, isMulti && _react.default.createElement(_reactCore.Checkbox, {
63
+ checked: checked,
64
+ onChange: () => clickItem(item)
65
+ }), _react.default.createElement(_styled.StyledContainerTextLabel, null, _react.default.createElement(_reactCore.Text, {
66
+ fontWeight: "bold",
67
+ ellipsizeMode: "tail",
68
+ numberOfLines: 1
69
+ }, _react.default.createElement(_styled.StyledSpan, {
70
+ singleHighligh: type === 'single' && value === item
71
+ }, labelExtractor(item)))));
72
+ };
73
+
74
+ var _default = SelectItem;
75
+ exports.default = _default;
76
+ //# sourceMappingURL=SelectItem.js.map
@@ -0,0 +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","key","Array","isArray","auxChecked","length","auxArray","indexToExclude","indexOf","splice"],"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,GAAGjB,IAAI,IAAI;AAGxB,UAAMkB,GAAS,GAAGlB,IAAlB;;AACA,QAAImB,KAAK,CAACC,OAAN,CAAcjB,KAAd,CAAJ,EAA0B;AACxB,YAAMkB,UAAU,GAAG,CAACX,OAApB;AACAC,MAAAA,UAAU,CAAC,CAACD,OAAF,CAAV;;AACA,UAAIW,UAAJ,EAAgB;AACdpB,QAAAA,QAAQ,CAAC,CAAC,GAAGE,KAAJ,EAAWe,GAAX,CAAD,CAAR;AACA,SAAC,GAAGf,KAAJ,EAAWe,GAAX,EAAgBI,MAAhB,KAA2Bd,aAA3B,IAA4CD,aAAa,CAAC,IAAD,CAAzD;AACD,OAHD,MAGO;AACL,cAAMgB,QAAgB,GAAGpB,KAAzB;AACA,cAAMqB,cAAc,GAAGD,QAAQ,CAACE,OAAT,CAAiBP,GAAjB,CAAvB;AACAK,QAAAA,QAAQ,CAACG,MAAT,CAAgBF,cAAhB,EAAgC,CAAhC;AACAvB,QAAAA,QAAQ,CAAC,CAAC,GAAGsB,QAAJ,CAAD,CAAR;AACAhB,QAAAA,aAAa,CAAC,KAAD,CAAb;AACD;AACF,KAbD,MAaO;AACLN,MAAAA,QAAQ,CAACiB,GAAD,CAAR;AACAb,MAAAA,kBAAkB,CAAC,KAAD,CAAlB;AACD;AACF,GArBD;;AAuBA,SACE,6BAAC,2BAAD;AAAqB,IAAA,OAAO,EAAE,MAAMY,SAAS,CAACjB,IAAD;AAA7C,KACGS,OAAO,IACN,6BAAC,mBAAD;AAAU,IAAA,OAAO,EAAEC,OAAnB;AAA4B,IAAA,QAAQ,EAAE,MAAMO,SAAS,CAACjB,IAAD;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,EAAEE,IAAI,KAAK,QAAT,IAAqBC,KAAK,KAAKH;AAA3D,KACGI,cAAc,CAACJ,IAAD,CADjB,CADF,CADF,CAJF,CADF;AAcD,CAjED;;eAmEeD,U","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 = item => {\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\n return (\n <ContainerItemSelect onClick={() => clickItem(item)}>\n {isMulti && (\n <Checkbox checked={checked} onChange={() => clickItem(item)} />\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 SelectItem;\n"],"file":"SelectItem.js"}
@@ -0,0 +1 @@
1
+ export { default as ItemSelect } from './SelectItem';
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "ItemSelect", {
7
+ enumerable: true,
8
+ get: function () {
9
+ return _SelectItem.default;
10
+ }
11
+ });
12
+
13
+ var _SelectItem = _interopRequireDefault(require("./SelectItem"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/molecules/Select/SelectItem/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA","sourcesContent":["export { default as ItemSelect } from './SelectItem';\n"],"file":"index.js"}
@@ -0,0 +1,4 @@
1
+ /// <reference types="react" />
2
+ export declare const ContainerItemSelect: import("@emotion/styled").StyledComponent<any, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
3
+ export declare const StyledSpan: import("@emotion/styled").StyledComponent<any, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {}>;
4
+ export declare const StyledContainerTextLabel: import("@emotion/styled").StyledComponent<any, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.StyledContainerTextLabel = exports.StyledSpan = exports.ContainerItemSelect = void 0;
7
+
8
+ var _styled = _interopRequireDefault(require("@emotion/styled"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ const ContainerItemSelect = (0, _styled.default)('div')`
13
+ padding: ${({
14
+ theme
15
+ }) => `${theme.spacing.mili} ${theme.spacing.deca}`};
16
+ cursor: pointer;
17
+ &:hover {
18
+ background-color: ${({
19
+ theme
20
+ }) => theme.color.primary.xlight};
21
+ }
22
+ &:hover span {
23
+ color: ${({
24
+ theme
25
+ }) => theme.color.primary.medium};
26
+ }
27
+ flex-direction: row;
28
+ display: flex;
29
+ justify-content: space-between;
30
+ align-items: center;
31
+ `;
32
+ exports.ContainerItemSelect = ContainerItemSelect;
33
+ const StyledSpan = (0, _styled.default)('span')`
34
+ color: ${({
35
+ theme,
36
+ singleHighligh
37
+ }) => singleHighligh ? theme.color.primary.medium : theme.color.secondary.xdark};
38
+ padding: ${({
39
+ theme
40
+ }) => `${theme.spacing.mili} 0px`};
41
+ `;
42
+ exports.StyledSpan = StyledSpan;
43
+ const StyledContainerTextLabel = (0, _styled.default)('div')`
44
+ padding-left: ${({
45
+ theme
46
+ }) => theme.spacing.mili};
47
+ width: 100%;
48
+ display: flex;
49
+ overflow: hidden;
50
+ text-overflow: ellipsis;
51
+ white-space: nowrap;
52
+ `;
53
+ exports.StyledContainerTextLabel = StyledContainerTextLabel;
54
+ //# sourceMappingURL=styled.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/molecules/Select/SelectItem/styled.ts"],"names":["ContainerItemSelect","theme","spacing","mili","deca","color","primary","xlight","medium","StyledSpan","singleHighligh","secondary","xdark","StyledContainerTextLabel"],"mappings":";;;;;;;AAAA;;;;AAGO,MAAMA,mBAAmB,GAAG,qBAAO,KAAP,CAAmC;AACtE,aAAa,CAAC;AAAEC,EAAAA;AAAF,CAAD,KAAgB,GAAEA,KAAK,CAACC,OAAN,CAAcC,IAAK,IAAGF,KAAK,CAACC,OAAN,CAAcE,IAAK,EAAE;AAC1E;AACA;AACA,wBAAwB,CAAC;AAAEH,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACI,KAAN,CAAYC,OAAZ,CAAoBC,MAAO;AAClE;AACA;AACA,aAAa,CAAC;AAAEN,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACI,KAAN,CAAYC,OAAZ,CAAoBE,MAAO;AACvD;AACA;AACA;AACA;AACA;AACA,CAbO;;AAeA,MAAMC,UAAU,GAAG,qBAAO,MAAP,CAExB;AACF,WAAW,CAAC;AAAER,EAAAA,KAAF;AAASS,EAAAA;AAAT,CAAD,KACPA,cAAc,GAAGT,KAAK,CAACI,KAAN,CAAYC,OAAZ,CAAoBE,MAAvB,GAAgCP,KAAK,CAACI,KAAN,CAAYM,SAAZ,CAAsBC,KAAM;AAC9E,aAAa,CAAC;AAAEX,EAAAA;AAAF,CAAD,KAAgB,GAAEA,KAAK,CAACC,OAAN,CAAcC,IAAK,MAAM;AACxD,CANO;;AAQA,MAAMU,wBAAwB,GAAG,qBAAO,KAAP,CAAmC;AAC3E,kBAAkB,CAAC;AAAEZ,EAAAA;AAAF,CAAD,KAAeA,KAAK,CAACC,OAAN,CAAcC,IAAK;AACpD;AACA;AACA;AACA;AACA;AACA,CAPO","sourcesContent":["import styled from '@emotion/styled';\nimport { StyleProps } from '@tecsinapse/react-core';\n\nexport const ContainerItemSelect = styled('div')<Partial<StyleProps>>`\n padding: ${({ theme }) => `${theme.spacing.mili} ${theme.spacing.deca}`};\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 flex-direction: row;\n display: flex;\n justify-content: space-between;\n align-items: center;\n`;\n\nexport const StyledSpan = styled('span')<\n Partial<StyleProps> & { singleHighligh: boolean }\n>`\n color: ${({ theme, singleHighligh }) =>\n singleHighligh ? theme.color.primary.medium : theme.color.secondary.xdark};\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 text-overflow: ellipsis;\n white-space: nowrap;\n`;\n"],"file":"styled.js"}
@@ -0,0 +1,27 @@
1
+ export declare const defaultStyles: {
2
+ transition: string[];
3
+ overflow: string;
4
+ visibility: string;
5
+ };
6
+ export declare const transition: {
7
+ entering: {
8
+ transform: string;
9
+ opacity: number;
10
+ visibility: string;
11
+ };
12
+ entered: {
13
+ transform: string;
14
+ opacity: number;
15
+ visibility: string;
16
+ };
17
+ exiting: {
18
+ transform: string;
19
+ opacity: number;
20
+ visibility: string;
21
+ };
22
+ exited: {
23
+ transform: string;
24
+ opacity: number;
25
+ visibility: string;
26
+ };
27
+ };