@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.
- package/CHANGELOG.md +98 -0
- package/dist/components/atoms/Accordion/Accordion.d.ts +9 -0
- package/dist/components/atoms/Accordion/Accordion.js +85 -0
- package/dist/components/atoms/Accordion/Accordion.js.map +1 -0
- package/dist/components/atoms/Accordion/animations.d.ts +41 -0
- package/dist/components/atoms/Accordion/animations.js +65 -0
- package/dist/components/atoms/Accordion/animations.js.map +1 -0
- package/dist/components/atoms/Accordion/index.d.ts +1 -0
- package/dist/components/atoms/Accordion/index.js +24 -0
- package/dist/components/atoms/Accordion/index.js.map +1 -0
- package/dist/components/atoms/Accordion/styled.d.ts +8 -0
- package/dist/components/atoms/Accordion/styled.js +53 -0
- package/dist/components/atoms/Accordion/styled.js.map +1 -0
- package/dist/components/atoms/Badge/index.js +2 -2
- package/dist/components/atoms/Button/index.js +2 -2
- package/dist/components/atoms/Button/styled.js +14 -5
- package/dist/components/atoms/Button/styled.js.map +1 -1
- package/dist/components/atoms/Input/index.js +2 -2
- package/dist/components/atoms/Modal/Modal.d.ts +8 -0
- package/dist/components/atoms/Modal/Modal.js +43 -0
- package/dist/components/atoms/Modal/Modal.js.map +1 -0
- package/dist/components/atoms/Modal/animations.d.ts +23 -0
- package/dist/components/atoms/Modal/animations.js +32 -0
- package/dist/components/atoms/Modal/animations.js.map +1 -0
- package/dist/components/atoms/Modal/index.d.ts +1 -0
- package/dist/components/atoms/Modal/index.js +24 -0
- package/dist/components/atoms/Modal/index.js.map +1 -0
- package/dist/components/atoms/Modal/styled.d.ts +2 -0
- package/dist/components/atoms/Modal/styled.js +39 -0
- package/dist/components/atoms/Modal/styled.js.map +1 -0
- package/dist/components/atoms/Overlay/Overlay.d.ts +10 -0
- package/dist/components/atoms/Overlay/Overlay.js +40 -0
- package/dist/components/atoms/Overlay/Overlay.js.map +1 -0
- package/dist/components/atoms/Overlay/animations.d.ts +18 -0
- package/dist/components/atoms/Overlay/animations.js +27 -0
- package/dist/components/atoms/Overlay/animations.js.map +1 -0
- package/dist/components/atoms/Overlay/index.d.ts +1 -0
- package/dist/components/atoms/Overlay/index.js +16 -0
- package/dist/components/atoms/Overlay/index.js.map +1 -0
- package/dist/components/atoms/Overlay/styled.d.ts +2 -0
- package/dist/components/atoms/Overlay/styled.js +36 -0
- package/dist/components/atoms/Overlay/styled.js.map +1 -0
- package/dist/components/atoms/Skeleton/Skeleton.d.ts +10 -0
- package/dist/components/atoms/Skeleton/Skeleton.js +35 -0
- package/dist/components/atoms/Skeleton/Skeleton.js.map +1 -0
- package/dist/components/atoms/Skeleton/index.d.ts +1 -0
- package/dist/components/atoms/Skeleton/index.js +24 -0
- package/dist/components/atoms/Skeleton/index.js.map +1 -0
- package/dist/components/atoms/Skeleton/styled.d.ts +5 -0
- package/dist/components/atoms/Skeleton/styled.js +79 -0
- package/dist/components/atoms/Skeleton/styled.js.map +1 -0
- package/dist/components/atoms/Table/Body/TBody.d.ts +3 -0
- package/dist/components/atoms/Table/Body/TBody.js +22 -0
- package/dist/components/atoms/Table/Body/TBody.js.map +1 -0
- package/dist/components/atoms/Table/Body/index.d.ts +1 -0
- package/dist/components/atoms/Table/Body/index.js +16 -0
- package/dist/components/atoms/Table/Body/index.js.map +1 -0
- package/dist/components/atoms/Table/Cell/Td.d.ts +3 -0
- package/dist/components/atoms/Table/Cell/Td.js +23 -0
- package/dist/components/atoms/Table/Cell/Td.js.map +1 -0
- package/dist/components/atoms/Table/Cell/index.d.ts +1 -0
- package/dist/components/atoms/Table/Cell/index.js +16 -0
- package/dist/components/atoms/Table/Cell/index.js.map +1 -0
- package/dist/components/atoms/Table/Cell/styled.d.ts +2 -0
- package/dist/components/atoms/Table/Cell/styled.js +34 -0
- package/dist/components/atoms/Table/Cell/styled.js.map +1 -0
- package/dist/components/atoms/Table/Container/TableContainer.d.ts +3 -0
- package/dist/components/atoms/Table/Container/TableContainer.js +23 -0
- package/dist/components/atoms/Table/Container/TableContainer.js.map +1 -0
- package/dist/components/atoms/Table/Container/index.d.ts +1 -0
- package/dist/components/atoms/Table/Container/index.js +16 -0
- package/dist/components/atoms/Table/Container/index.js.map +1 -0
- package/dist/components/atoms/Table/Container/styled.d.ts +2 -0
- package/dist/components/atoms/Table/Container/styled.js +30 -0
- package/dist/components/atoms/Table/Container/styled.js.map +1 -0
- package/dist/components/atoms/Table/Footer/TFoot.d.ts +3 -0
- package/dist/components/atoms/Table/Footer/TFoot.js +24 -0
- package/dist/components/atoms/Table/Footer/TFoot.js.map +1 -0
- package/dist/components/atoms/Table/Footer/index.d.ts +1 -0
- package/dist/components/atoms/Table/Footer/index.js +16 -0
- package/dist/components/atoms/Table/Footer/index.js.map +1 -0
- package/dist/components/atoms/Table/Footer/styled.d.ts +5 -0
- package/dist/components/atoms/Table/Footer/styled.js +19 -0
- package/dist/components/atoms/Table/Footer/styled.js.map +1 -0
- package/dist/components/atoms/Table/Header/THead.d.ts +3 -0
- package/dist/components/atoms/Table/Header/THead.js +27 -0
- package/dist/components/atoms/Table/Header/THead.js.map +1 -0
- package/dist/components/atoms/Table/Header/Th.d.ts +3 -0
- package/dist/components/atoms/Table/Header/Th.js +24 -0
- package/dist/components/atoms/Table/Header/Th.js.map +1 -0
- package/dist/components/atoms/Table/Header/index.d.ts +2 -0
- package/dist/components/atoms/Table/Header/index.js +24 -0
- package/dist/components/atoms/Table/Header/index.js.map +1 -0
- package/dist/components/atoms/Table/Header/styled.d.ts +4 -0
- package/dist/components/atoms/Table/Header/styled.js +54 -0
- package/dist/components/atoms/Table/Header/styled.js.map +1 -0
- package/dist/components/atoms/Table/Row/Tr.d.ts +3 -0
- package/dist/components/atoms/Table/Row/Tr.js +24 -0
- package/dist/components/atoms/Table/Row/Tr.js.map +1 -0
- package/dist/components/atoms/Table/Row/index.d.ts +1 -0
- package/dist/components/atoms/Table/Row/index.js +16 -0
- package/dist/components/atoms/Table/Row/index.js.map +1 -0
- package/dist/components/atoms/Table/Row/styled.d.ts +2 -0
- package/dist/components/atoms/Table/Row/styled.js +24 -0
- package/dist/components/atoms/Table/Row/styled.js.map +1 -0
- package/dist/components/atoms/Table/Table.d.ts +3 -0
- package/dist/components/atoms/Table/Table.js +24 -0
- package/dist/components/atoms/Table/Table.js.map +1 -0
- package/dist/components/atoms/Table/Toolbar/TableToolbar.d.ts +8 -0
- package/dist/components/atoms/Table/Toolbar/TableToolbar.js +30 -0
- package/dist/components/atoms/Table/Toolbar/TableToolbar.js.map +1 -0
- package/dist/components/atoms/Table/Toolbar/index.d.ts +1 -0
- package/dist/components/atoms/Table/Toolbar/index.js +24 -0
- package/dist/components/atoms/Table/Toolbar/index.js.map +1 -0
- package/dist/components/atoms/Table/Toolbar/styled.d.ts +5 -0
- package/dist/components/atoms/Table/Toolbar/styled.js +19 -0
- package/dist/components/atoms/Table/Toolbar/styled.js.map +1 -0
- package/dist/components/atoms/Table/index.d.ts +8 -0
- package/dist/components/atoms/Table/index.js +84 -0
- package/dist/components/atoms/Table/index.js.map +1 -0
- package/dist/components/atoms/Table/styled.d.ts +2 -0
- package/dist/components/atoms/Table/styled.js +20 -0
- package/dist/components/atoms/Table/styled.js.map +1 -0
- package/dist/components/atoms/Tag/index.js +2 -2
- package/dist/components/molecules/Breadcrumbs/BreadcrumbItem/index.js +2 -2
- package/dist/components/molecules/Breadcrumbs/index.js +2 -2
- package/dist/components/molecules/Drawer/Drawer.js +33 -3
- package/dist/components/molecules/Drawer/Drawer.js.map +1 -1
- package/dist/components/molecules/Drawer/animations.d.ts +42 -0
- package/dist/components/molecules/Drawer/animations.js +77 -0
- package/dist/components/molecules/Drawer/animations.js.map +1 -0
- package/dist/components/molecules/Drawer/index.js +2 -2
- package/dist/components/molecules/Drawer/styled.d.ts +0 -1
- package/dist/components/molecules/Drawer/styled.js +4 -19
- package/dist/components/molecules/Drawer/styled.js.map +1 -1
- package/dist/components/molecules/InputPassword/InputPassword.js +2 -2
- package/dist/components/molecules/InputPassword/index.js +2 -2
- package/dist/components/molecules/Menubar/MenuBlock/MenuBlock.d.ts +4 -3
- package/dist/components/molecules/Menubar/MenuBlock/MenuBlock.js +14 -5
- package/dist/components/molecules/Menubar/MenuBlock/MenuBlock.js.map +1 -1
- package/dist/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.d.ts +1 -0
- package/dist/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.js +6 -3
- package/dist/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.js.map +1 -1
- package/dist/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.d.ts +1 -0
- package/dist/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.js +4 -2
- package/dist/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.js.map +1 -1
- package/dist/components/molecules/Menubar/MenuBlock/MenuItem/styled.js +3 -0
- package/dist/components/molecules/Menubar/MenuBlock/MenuItem/styled.js.map +1 -1
- package/dist/components/molecules/Menubar/Menubar.d.ts +3 -2
- package/dist/components/molecules/Menubar/Menubar.js +33 -21
- package/dist/components/molecules/Menubar/Menubar.js.map +1 -1
- package/dist/components/molecules/Menubar/MostUsed/MostUsed.d.ts +3 -2
- package/dist/components/molecules/Menubar/MostUsed/MostUsed.js +6 -3
- package/dist/components/molecules/Menubar/MostUsed/MostUsed.js.map +1 -1
- package/dist/components/molecules/Menubar/animations.d.ts +4 -0
- package/dist/components/molecules/Menubar/animations.js +63 -0
- package/dist/components/molecules/Menubar/animations.js.map +1 -0
- package/dist/components/molecules/Menubar/index.js +2 -2
- package/dist/components/molecules/Menubar/styled.js +14 -1
- package/dist/components/molecules/Menubar/styled.js.map +1 -1
- package/dist/components/molecules/Menubar/types.js +4 -0
- package/dist/components/molecules/Select/Dropdown/Dropdown.d.ts +7 -0
- package/dist/components/molecules/Select/Dropdown/Dropdown.js +90 -0
- package/dist/components/molecules/Select/Dropdown/Dropdown.js.map +1 -0
- package/dist/components/molecules/Select/Dropdown/index.d.ts +1 -0
- package/dist/components/molecules/Select/Dropdown/index.js +16 -0
- package/dist/components/molecules/Select/Dropdown/index.js.map +1 -0
- package/dist/components/molecules/Select/Dropdown/styled.d.ts +13 -0
- package/dist/components/molecules/Select/Dropdown/styled.js +113 -0
- package/dist/components/molecules/Select/Dropdown/styled.js.map +1 -0
- package/dist/components/molecules/Select/Select.d.ts +15 -0
- package/dist/components/molecules/Select/Select.js +85 -0
- package/dist/components/molecules/Select/Select.js.map +1 -0
- package/dist/components/molecules/Select/SelectItem/SelectItem.d.ts +16 -0
- package/dist/components/molecules/Select/SelectItem/SelectItem.js +76 -0
- package/dist/components/molecules/Select/SelectItem/SelectItem.js.map +1 -0
- package/dist/components/molecules/Select/SelectItem/index.d.ts +1 -0
- package/dist/components/molecules/Select/SelectItem/index.js +16 -0
- package/dist/components/molecules/Select/SelectItem/index.js.map +1 -0
- package/dist/components/molecules/Select/SelectItem/styled.d.ts +4 -0
- package/dist/components/molecules/Select/SelectItem/styled.js +54 -0
- package/dist/components/molecules/Select/SelectItem/styled.js.map +1 -0
- package/dist/components/molecules/Select/animations.d.ts +27 -0
- package/dist/components/molecules/Select/animations.js +36 -0
- package/dist/components/molecules/Select/animations.js.map +1 -0
- package/dist/components/molecules/Select/functions.d.ts +1 -0
- package/dist/components/molecules/Select/functions.js +21 -0
- package/dist/components/molecules/Select/functions.js.map +1 -0
- package/dist/components/molecules/Select/index.d.ts +1 -0
- package/dist/components/molecules/Select/index.js +24 -0
- package/dist/components/molecules/Select/index.js.map +1 -0
- package/dist/components/molecules/Select/styled.d.ts +3 -0
- package/dist/components/molecules/Select/styled.js +28 -0
- package/dist/components/molecules/Select/styled.js.map +1 -0
- package/dist/components/molecules/Snackbar/index.js +2 -2
- package/dist/components/molecules/Snackbar/styled.js +2 -2
- package/dist/components/organisms/DataGrid/DataGrid.d.ts +28 -0
- package/dist/components/organisms/DataGrid/DataGrid.js +121 -0
- package/dist/components/organisms/DataGrid/DataGrid.js.map +1 -0
- package/dist/components/organisms/DataGrid/Footer/Footer.d.ts +15 -0
- package/dist/components/organisms/DataGrid/Footer/Footer.js +107 -0
- package/dist/components/organisms/DataGrid/Footer/Footer.js.map +1 -0
- package/dist/components/organisms/DataGrid/Footer/index.d.ts +1 -0
- package/dist/components/organisms/DataGrid/Footer/index.js +16 -0
- package/dist/components/organisms/DataGrid/Footer/index.js.map +1 -0
- package/dist/components/organisms/DataGrid/Footer/styled.d.ts +35 -0
- package/dist/components/organisms/DataGrid/Footer/styled.js +91 -0
- package/dist/components/organisms/DataGrid/Footer/styled.js.map +1 -0
- package/dist/components/organisms/DataGrid/Header/Header.d.ts +12 -0
- package/dist/components/organisms/DataGrid/Header/Header.js +88 -0
- package/dist/components/organisms/DataGrid/Header/Header.js.map +1 -0
- package/dist/components/organisms/DataGrid/Header/index.d.ts +1 -0
- package/dist/components/organisms/DataGrid/Header/index.js +16 -0
- package/dist/components/organisms/DataGrid/Header/index.js.map +1 -0
- package/dist/components/organisms/DataGrid/Header/styled.d.ts +1 -0
- package/dist/components/organisms/DataGrid/Header/styled.js +23 -0
- package/dist/components/organisms/DataGrid/Header/styled.js.map +1 -0
- package/dist/components/organisms/DataGrid/Header/utils.d.ts +10 -0
- package/dist/components/organisms/DataGrid/Header/utils.js +30 -0
- package/dist/components/organisms/DataGrid/Header/utils.js.map +1 -0
- package/dist/components/organisms/DataGrid/Row/Row.d.ts +10 -0
- package/dist/components/organisms/DataGrid/Row/Row.js +42 -0
- package/dist/components/organisms/DataGrid/Row/Row.js.map +1 -0
- package/dist/components/organisms/DataGrid/Row/index.d.ts +1 -0
- package/dist/components/organisms/DataGrid/Row/index.js +16 -0
- package/dist/components/organisms/DataGrid/Row/index.js.map +1 -0
- package/dist/components/organisms/DataGrid/index.d.ts +2 -0
- package/dist/components/organisms/DataGrid/index.js +42 -0
- package/dist/components/organisms/DataGrid/index.js.map +1 -0
- package/dist/components/organisms/DataGrid/styled.d.ts +1 -0
- package/dist/components/organisms/DataGrid/styled.js +23 -0
- package/dist/components/organisms/DataGrid/styled.js.map +1 -0
- package/dist/components/organisms/DataGrid/types.d.ts +7 -0
- package/dist/components/organisms/DataGrid/types.js +6 -0
- package/dist/components/organisms/DataGrid/types.js.map +1 -0
- package/dist/components/organisms/DataGrid/utils.d.ts +2 -0
- package/dist/components/organisms/DataGrid/utils.js +18 -0
- package/dist/components/organisms/DataGrid/utils.js.map +1 -0
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +14 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/hooks/useClickAwayListener.d.ts +2 -0
- package/dist/hooks/useClickAwayListener.js +28 -0
- package/dist/hooks/useClickAwayListener.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +104 -3
- package/dist/index.js.map +1 -1
- package/package.json +7 -6
- package/src/components/atoms/Accordion/Accordion.stories.tsx +35 -0
- package/src/components/atoms/Accordion/Accordion.tsx +99 -0
- package/src/components/atoms/Accordion/animations.ts +51 -0
- package/src/components/atoms/Accordion/index.ts +1 -0
- package/src/components/atoms/Accordion/styled.ts +35 -0
- package/src/components/atoms/Button/styled.ts +11 -1
- package/src/components/atoms/Modal/Modal.stories.tsx +55 -0
- package/src/components/atoms/Modal/Modal.tsx +34 -0
- package/src/components/atoms/Modal/animations.ts +12 -0
- package/src/components/atoms/Modal/index.ts +1 -0
- package/src/components/atoms/Modal/styled.ts +17 -0
- package/src/components/atoms/Overlay/Overlay.tsx +40 -0
- package/src/components/atoms/Overlay/animations.ts +11 -0
- package/src/components/atoms/Overlay/index.ts +1 -0
- package/src/components/atoms/Overlay/styled.ts +20 -0
- package/src/components/atoms/Skeleton/Skeleton.stories.tsx +15 -0
- package/src/components/atoms/Skeleton/Skeleton.tsx +37 -0
- package/src/components/atoms/Skeleton/index.ts +1 -0
- package/src/components/atoms/Skeleton/styled.ts +68 -0
- package/src/components/atoms/Table/Body/TBody.tsx +10 -0
- package/src/components/atoms/Table/Body/index.ts +1 -0
- package/src/components/atoms/Table/Cell/Td.tsx +11 -0
- package/src/components/atoms/Table/Cell/index.ts +1 -0
- package/src/components/atoms/Table/Cell/styled.ts +12 -0
- package/src/components/atoms/Table/Container/TableContainer.tsx +11 -0
- package/src/components/atoms/Table/Container/index.ts +1 -0
- package/src/components/atoms/Table/Container/styled.ts +10 -0
- package/src/components/atoms/Table/Footer/TFoot.tsx +11 -0
- package/src/components/atoms/Table/Footer/index.ts +1 -0
- package/src/components/atoms/Table/Footer/styled.ts +8 -0
- package/src/components/atoms/Table/Header/THead.tsx +21 -0
- package/src/components/atoms/Table/Header/Th.tsx +10 -0
- package/src/components/atoms/Table/Header/index.ts +2 -0
- package/src/components/atoms/Table/Header/styled.ts +30 -0
- package/src/components/atoms/Table/Row/Tr.tsx +11 -0
- package/src/components/atoms/Table/Row/index.ts +1 -0
- package/src/components/atoms/Table/Row/styled.ts +8 -0
- package/src/components/atoms/Table/Table.stories.tsx +96 -0
- package/src/components/atoms/Table/Table.tsx +11 -0
- package/src/components/atoms/Table/Toolbar/TableToolbar.tsx +31 -0
- package/src/components/atoms/Table/Toolbar/index.ts +1 -0
- package/src/components/atoms/Table/Toolbar/styled.ts +8 -0
- package/src/components/atoms/Table/index.ts +8 -0
- package/src/components/atoms/Table/styled.ts +9 -0
- package/src/components/molecules/Drawer/Drawer.stories.tsx +19 -21
- package/src/components/molecules/Drawer/Drawer.tsx +34 -6
- package/src/components/molecules/Drawer/animations.ts +50 -0
- package/src/components/molecules/Drawer/styled.ts +3 -12
- package/src/components/molecules/InputPassword/InputPassword.stories.tsx +1 -1
- package/src/components/molecules/Menubar/MenuBlock/MenuBlock.tsx +38 -31
- package/src/components/molecules/Menubar/MenuBlock/MenuItem/MenuItem.tsx +4 -2
- package/src/components/molecules/Menubar/MenuBlock/MenuItem/SubMenuBlock/SubMenuBlock.tsx +3 -2
- package/src/components/molecules/Menubar/MenuBlock/MenuItem/styled.ts +3 -0
- package/src/components/molecules/Menubar/Menubar.stories.tsx +20 -13
- package/src/components/molecules/Menubar/Menubar.tsx +65 -51
- package/src/components/molecules/Menubar/MostUsed/MostUsed.tsx +4 -2
- package/src/components/molecules/Menubar/animations.ts +64 -0
- package/src/components/molecules/Menubar/styled.ts +8 -1
- package/src/components/molecules/Select/Dropdown/Dropdown.tsx +106 -0
- package/src/components/molecules/Select/Dropdown/index.ts +1 -0
- package/src/components/molecules/Select/Dropdown/styled.ts +77 -0
- package/src/components/molecules/Select/Select.stories.tsx +108 -0
- package/src/components/molecules/Select/Select.tsx +92 -0
- package/src/components/molecules/Select/SelectItem/SelectItem.tsx +88 -0
- package/src/components/molecules/Select/SelectItem/index.ts +1 -0
- package/src/components/molecules/Select/SelectItem/styled.ts +34 -0
- package/src/components/molecules/Select/animations.ts +18 -0
- package/src/components/molecules/Select/functions.ts +32 -0
- package/src/components/molecules/Select/index.ts +1 -0
- package/src/components/molecules/Select/styled.ts +16 -0
- package/src/components/molecules/Snackbar/Snackbar.stories.tsx +24 -0
- package/src/components/organisms/DataGrid/DatGrid.stories.tsx +216 -0
- package/src/components/organisms/DataGrid/DataGrid.tsx +183 -0
- package/src/components/organisms/DataGrid/Footer/Footer.tsx +137 -0
- package/src/components/organisms/DataGrid/Footer/index.ts +1 -0
- package/src/components/organisms/DataGrid/Footer/styled.ts +59 -0
- package/src/components/organisms/DataGrid/Header/Header.tsx +111 -0
- package/src/components/organisms/DataGrid/Header/index.ts +1 -0
- package/src/components/organisms/DataGrid/Header/styled.ts +10 -0
- package/src/components/organisms/DataGrid/Header/utils.ts +28 -0
- package/src/components/organisms/DataGrid/Row/Row.tsx +33 -0
- package/src/components/organisms/DataGrid/Row/index.ts +1 -0
- package/src/components/organisms/DataGrid/index.ts +2 -0
- package/src/components/organisms/DataGrid/styled.ts +10 -0
- package/src/components/organisms/DataGrid/types.ts +11 -0
- package/src/components/organisms/DataGrid/utils.ts +15 -0
- package/src/hooks/index.ts +1 -0
- package/src/hooks/useClickAwayListener.ts +18 -0
- package/src/index.ts +10 -0
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
import React, { FC } from 'react';
|
|
2
|
-
import { StyledContainerDrawer
|
|
2
|
+
import { StyledContainerDrawer } from './styled';
|
|
3
|
+
import { Transition } from 'react-transition-group';
|
|
4
|
+
import { Overlay } from '../../atoms/Overlay';
|
|
5
|
+
import {
|
|
6
|
+
transitionStylesTopBottom,
|
|
7
|
+
defaultStylesTopBottom,
|
|
8
|
+
defaultStylesLeftRight,
|
|
9
|
+
transitionStylesLeftRight,
|
|
10
|
+
} from './animations';
|
|
3
11
|
|
|
4
12
|
export interface DrawerProps {
|
|
5
13
|
open: boolean;
|
|
@@ -13,20 +21,40 @@ const Drawer: FC<DrawerProps> = ({
|
|
|
13
21
|
onClose,
|
|
14
22
|
children,
|
|
15
23
|
}) => {
|
|
24
|
+
const getStyles = (anchorPosition: string, state: any) => {
|
|
25
|
+
const stylesLeftRight = defaultStylesLeftRight(anchorPosition);
|
|
26
|
+
const transitionLeftRight = transitionStylesLeftRight(anchorPosition);
|
|
27
|
+
const stylesTopBottom = defaultStylesTopBottom(anchorPosition);
|
|
28
|
+
const transitionTopBottom = transitionStylesTopBottom(anchorPosition);
|
|
29
|
+
|
|
30
|
+
if (['left', 'right'].includes(anchorPosition)) {
|
|
31
|
+
return {
|
|
32
|
+
...stylesLeftRight,
|
|
33
|
+
...transitionLeftRight[state],
|
|
34
|
+
};
|
|
35
|
+
} else {
|
|
36
|
+
return {
|
|
37
|
+
...stylesTopBottom,
|
|
38
|
+
...transitionTopBottom[state],
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
|
|
16
43
|
return (
|
|
17
44
|
<>
|
|
18
|
-
{open
|
|
19
|
-
|
|
20
|
-
|
|
45
|
+
<Overlay timeout={300} open={open} onClose={onClose} zIndex="drawer" />
|
|
46
|
+
<Transition in={open} timeout={300}>
|
|
47
|
+
{state => (
|
|
21
48
|
<StyledContainerDrawer
|
|
49
|
+
style={getStyles(anchorPosition, state)}
|
|
22
50
|
anchorPosition={anchorPosition}
|
|
23
51
|
onClose={onClose}
|
|
24
52
|
open={open}
|
|
25
53
|
>
|
|
26
54
|
{children}
|
|
27
55
|
</StyledContainerDrawer>
|
|
28
|
-
|
|
29
|
-
|
|
56
|
+
)}
|
|
57
|
+
</Transition>
|
|
30
58
|
</>
|
|
31
59
|
);
|
|
32
60
|
};
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
export const transformLeftRigthClose = (anchorPosition: string) =>
|
|
2
|
+
anchorPosition === 'right' ? 'translateX(100%)' : 'translateX(-100%)';
|
|
3
|
+
|
|
4
|
+
export const transformLeftRigthOpen = 'translateX(0)';
|
|
5
|
+
|
|
6
|
+
export const transformTopBottomClose = (anchorPosition: string) =>
|
|
7
|
+
anchorPosition === 'top' ? 'translateY(-100%)' : 'translateY(100%)';
|
|
8
|
+
|
|
9
|
+
export const transformTopBottomOpen = 'translateY(0%)';
|
|
10
|
+
|
|
11
|
+
export const defaultStylesLeftRight = (anchorPosition: string) => {
|
|
12
|
+
return {
|
|
13
|
+
transition: 'transform 300ms ease-in-out',
|
|
14
|
+
transform: () => transformLeftRigthClose(anchorPosition),
|
|
15
|
+
overflow: 'hidden',
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
export const transitionStylesLeftRight = (anchorPosition: string) => {
|
|
20
|
+
return {
|
|
21
|
+
entering: { transform: transformLeftRigthClose(anchorPosition) },
|
|
22
|
+
entered: {
|
|
23
|
+
transform: transformLeftRigthOpen,
|
|
24
|
+
},
|
|
25
|
+
exiting: {
|
|
26
|
+
transform: transformLeftRigthOpen,
|
|
27
|
+
},
|
|
28
|
+
exited: { transform: transformLeftRigthClose(anchorPosition) },
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const defaultStylesTopBottom = (anchorPosition: string) => {
|
|
33
|
+
return {
|
|
34
|
+
transition: 'transform 300ms ease-in-out',
|
|
35
|
+
transform: transformTopBottomClose(anchorPosition),
|
|
36
|
+
overflow: 'hidden',
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export const transitionStylesTopBottom = (anchorPosition: string) => {
|
|
40
|
+
return {
|
|
41
|
+
entering: { transform: transformTopBottomClose(anchorPosition) },
|
|
42
|
+
entered: {
|
|
43
|
+
transform: transformTopBottomOpen,
|
|
44
|
+
},
|
|
45
|
+
exiting: {
|
|
46
|
+
transform: transformTopBottomOpen,
|
|
47
|
+
},
|
|
48
|
+
exited: { transform: transformTopBottomClose(anchorPosition) },
|
|
49
|
+
};
|
|
50
|
+
};
|
|
@@ -3,16 +3,6 @@ import { hex2rgba, StyleProps } from '@tecsinapse/react-core';
|
|
|
3
3
|
import { DrawerProps } from './Drawer';
|
|
4
4
|
import { css } from '@emotion/react';
|
|
5
5
|
|
|
6
|
-
export const StyledOverlay = styled('div')<Partial<StyleProps>>`
|
|
7
|
-
background: ${({ theme }: StyleProps) =>
|
|
8
|
-
hex2rgba(theme.miscellaneous.overlay, 0.5)};
|
|
9
|
-
width: 100vw;
|
|
10
|
-
height: 100vh;
|
|
11
|
-
z-index: ${({ theme }: StyleProps) => theme.zIndex.drawer};
|
|
12
|
-
cursor: pointer;
|
|
13
|
-
position: absolute;
|
|
14
|
-
`;
|
|
15
|
-
|
|
16
6
|
const anchorLeft = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {
|
|
17
7
|
return (
|
|
18
8
|
anchorPosition === 'left' &&
|
|
@@ -66,9 +56,10 @@ const baseStyles = ({ theme, anchorPosition }: StyleProps & DrawerProps) => {
|
|
|
66
56
|
return css`
|
|
67
57
|
height: ${['left', 'right'].includes(anchorPosition) && '100vh'};
|
|
68
58
|
width: ${['top', 'bottom'].includes(anchorPosition) && '100wh'};
|
|
69
|
-
position:
|
|
59
|
+
position: fixed;
|
|
60
|
+
overflow: hidden;
|
|
70
61
|
background-color: ${theme.miscellaneous.bodyColor};
|
|
71
|
-
z-index: ${theme.zIndex.drawer
|
|
62
|
+
z-index: ${theme.zIndex.drawer};
|
|
72
63
|
`;
|
|
73
64
|
};
|
|
74
65
|
|
|
@@ -7,42 +7,49 @@ import {
|
|
|
7
7
|
StyledLeftComponent,
|
|
8
8
|
} from './styled';
|
|
9
9
|
import { ItemsOptions, OptionsType } from '../types';
|
|
10
|
+
import { Masonry } from '../../Masonry';
|
|
10
11
|
|
|
11
12
|
interface MenuBlockProps {
|
|
12
|
-
|
|
13
|
+
toggle: () => void;
|
|
14
|
+
options: OptionsType[];
|
|
13
15
|
}
|
|
14
16
|
|
|
15
|
-
const MenuBlock: React.FC<MenuBlockProps> = ({
|
|
17
|
+
const MenuBlock: React.FC<MenuBlockProps> = ({ options, toggle }) => {
|
|
16
18
|
return (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
<
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
19
|
+
<Masonry columns={4} spacingTop="kilo" spacingLeft="mega">
|
|
20
|
+
{options.map(data => (
|
|
21
|
+
<>
|
|
22
|
+
<StyledContainerMenu>
|
|
23
|
+
{data.leftComponents && (
|
|
24
|
+
<StyledLeftComponent>{data.leftComponents}</StyledLeftComponent>
|
|
25
|
+
)}
|
|
26
|
+
<Text fontWeight="bold">{data.title}</Text>
|
|
27
|
+
</StyledContainerMenu>
|
|
28
|
+
<StyledContainerItems>
|
|
29
|
+
{data.items.map(
|
|
30
|
+
({
|
|
31
|
+
title,
|
|
32
|
+
Component,
|
|
33
|
+
props,
|
|
34
|
+
rightComponents,
|
|
35
|
+
items,
|
|
36
|
+
}: ItemsOptions) => (
|
|
37
|
+
<MenuItem
|
|
38
|
+
items={items}
|
|
39
|
+
key={title}
|
|
40
|
+
title={title}
|
|
41
|
+
Component={Component}
|
|
42
|
+
rightComponents={rightComponents}
|
|
43
|
+
props={props}
|
|
44
|
+
toggle={toggle}
|
|
45
|
+
/>
|
|
46
|
+
)
|
|
47
|
+
)}
|
|
48
|
+
</StyledContainerItems>
|
|
49
|
+
</>
|
|
50
|
+
))}
|
|
51
|
+
</Masonry>
|
|
45
52
|
);
|
|
46
53
|
};
|
|
47
54
|
|
|
48
|
-
export default MenuBlock;
|
|
55
|
+
export default React.memo(MenuBlock);
|
|
@@ -11,6 +11,7 @@ interface MenuItemProps {
|
|
|
11
11
|
Component: ElementType;
|
|
12
12
|
/** Properties spread to wrapping Component */
|
|
13
13
|
props: any;
|
|
14
|
+
toggle: () => void;
|
|
14
15
|
rightComponents?: React.ReactNode;
|
|
15
16
|
items?: ItemsOptions[];
|
|
16
17
|
}
|
|
@@ -21,6 +22,7 @@ const MenuItem: React.FC<MenuItemProps> = ({
|
|
|
21
22
|
props = {},
|
|
22
23
|
rightComponents,
|
|
23
24
|
items,
|
|
25
|
+
toggle,
|
|
24
26
|
}) => {
|
|
25
27
|
const [open, setOpen] = React.useState<boolean>(false);
|
|
26
28
|
|
|
@@ -34,7 +36,7 @@ const MenuItem: React.FC<MenuItemProps> = ({
|
|
|
34
36
|
return (
|
|
35
37
|
<>
|
|
36
38
|
<StyledContainerItemText key={title}>
|
|
37
|
-
<Component {...props} style={noTextDecoration}>
|
|
39
|
+
<Component {...props} style={noTextDecoration} onClick={toggle}>
|
|
38
40
|
<Text
|
|
39
41
|
colorVariant={open ? 'primary' : 'secondary'}
|
|
40
42
|
colorTone={open ? 'medium' : 'dark'}
|
|
@@ -57,7 +59,7 @@ const MenuItem: React.FC<MenuItemProps> = ({
|
|
|
57
59
|
</StyledContainerItemText>
|
|
58
60
|
{open &&
|
|
59
61
|
items?.map(subItem => (
|
|
60
|
-
<SubMenuBlock key={subItem.title} data={subItem} />
|
|
62
|
+
<SubMenuBlock key={subItem.title} data={subItem} toggle={toggle} />
|
|
61
63
|
))}
|
|
62
64
|
</>
|
|
63
65
|
);
|
|
@@ -6,9 +6,10 @@ import { DummyBorder, StyledContainerItem } from './styled';
|
|
|
6
6
|
|
|
7
7
|
interface SubMenuBlockProps {
|
|
8
8
|
data: ItemsOptions;
|
|
9
|
+
toggle: () => void;
|
|
9
10
|
}
|
|
10
11
|
|
|
11
|
-
const SubMenuBlock: React.FC<SubMenuBlockProps> = ({ data }) => {
|
|
12
|
+
const SubMenuBlock: React.FC<SubMenuBlockProps> = ({ data, toggle }) => {
|
|
12
13
|
const { Component, props, rightComponents, title } = data;
|
|
13
14
|
|
|
14
15
|
const noTextDecoration = { textDecoration: 'none' };
|
|
@@ -16,7 +17,7 @@ const SubMenuBlock: React.FC<SubMenuBlockProps> = ({ data }) => {
|
|
|
16
17
|
return (
|
|
17
18
|
<StyledContainerItem>
|
|
18
19
|
<DummyBorder />
|
|
19
|
-
<Component {...props} style={noTextDecoration}>
|
|
20
|
+
<Component {...props} style={noTextDecoration} onClick={toggle}>
|
|
20
21
|
<Text colorVariant="secondary" colorTone="medium" typography="sub">
|
|
21
22
|
<StyledText>{title}</StyledText>
|
|
22
23
|
</Text>
|
|
@@ -2,7 +2,7 @@ import React, { ElementType } from 'react';
|
|
|
2
2
|
import Menubar, { MenubarProps } from './Menubar';
|
|
3
3
|
import { Story } from '@storybook/react';
|
|
4
4
|
import styled from '@emotion/styled';
|
|
5
|
-
import { Icon, Text } from '@tecsinapse/react-core';
|
|
5
|
+
import { Avatar, Icon, Text } from '@tecsinapse/react-core';
|
|
6
6
|
|
|
7
7
|
export default {
|
|
8
8
|
title: 'Components/Menu Bar',
|
|
@@ -253,20 +253,27 @@ const StyledImage = styled('img')`
|
|
|
253
253
|
margin-right: 35px;
|
|
254
254
|
`;
|
|
255
255
|
|
|
256
|
-
// Import type manually
|
|
257
256
|
const Template: Story<MenubarProps> = args => {
|
|
258
257
|
return (
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
258
|
+
<>
|
|
259
|
+
<Menubar
|
|
260
|
+
{...args}
|
|
261
|
+
options={EXAMPLE_MENU}
|
|
262
|
+
mostUsed={MOST_USED}
|
|
263
|
+
leftComponents={
|
|
264
|
+
<StyledImage
|
|
265
|
+
src="https://www.tecsinapse.com.br/wp-content/themes/tecsinapse/img/logo.svg"
|
|
266
|
+
alt="TecSinapse"
|
|
267
|
+
/>
|
|
268
|
+
}
|
|
269
|
+
rightComponents={
|
|
270
|
+
<div style={{ marginLeft: 24 }}>
|
|
271
|
+
<Avatar name="Design System" />
|
|
272
|
+
</div>
|
|
273
|
+
}
|
|
274
|
+
/>
|
|
275
|
+
Content
|
|
276
|
+
</>
|
|
270
277
|
);
|
|
271
278
|
};
|
|
272
279
|
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { Icon, Text, useDebouncedState } from '@tecsinapse/react-core';
|
|
3
|
+
import { Transition } from 'react-transition-group';
|
|
3
4
|
import {
|
|
4
5
|
StyledIconInput,
|
|
5
6
|
StyledMenuBar,
|
|
@@ -10,37 +11,46 @@ import {
|
|
|
10
11
|
StyledSearchResultsContainer,
|
|
11
12
|
StyledSearchTextContainer,
|
|
12
13
|
} from './styled';
|
|
13
|
-
import { Masonry } from '../Masonry';
|
|
14
14
|
import { MostUsedType, OptionsType } from './types';
|
|
15
15
|
import { MostUsed } from './MostUsed';
|
|
16
16
|
import { MenuBlock } from './MenuBlock';
|
|
17
17
|
import { SearchResultItem } from './SearchResultItem';
|
|
18
18
|
import { filterAndTransform } from './utils';
|
|
19
|
+
import {
|
|
20
|
+
getContainerOpenMenuStyles,
|
|
21
|
+
getInputContainerStyles,
|
|
22
|
+
} from './animations';
|
|
19
23
|
|
|
20
24
|
export interface MenubarProps {
|
|
25
|
+
options: OptionsType[];
|
|
21
26
|
leftComponents?: React.ReactNode;
|
|
22
27
|
rightComponents?: React.ReactNode;
|
|
23
|
-
inputPlaceholder?: string;
|
|
24
|
-
options: OptionsType[];
|
|
25
28
|
/** Limited to first 4 elements */
|
|
26
29
|
mostUsed?: MostUsedType[];
|
|
27
30
|
mostUsedLabel?: string;
|
|
31
|
+
searchable?: boolean;
|
|
32
|
+
searchPlaceholder?: string;
|
|
28
33
|
searchResultsLabel?: string;
|
|
29
34
|
}
|
|
30
35
|
|
|
31
36
|
const Menubar: React.FC<MenubarProps> = ({
|
|
32
37
|
leftComponents,
|
|
33
38
|
rightComponents,
|
|
34
|
-
|
|
39
|
+
searchPlaceholder = 'O quê você deseja buscar?',
|
|
35
40
|
options,
|
|
36
41
|
mostUsed,
|
|
37
42
|
mostUsedLabel = 'Mais acessados',
|
|
38
43
|
searchResultsLabel = 'Resultados da busca',
|
|
44
|
+
searchable = true,
|
|
39
45
|
}) => {
|
|
40
|
-
const [menuOpen, setMenuOpen] = React.useState<boolean>(true);
|
|
41
46
|
const [search, setSearch] = React.useState<string>('');
|
|
42
47
|
const [results, setResults] = React.useState<MostUsedType[]>([]);
|
|
43
48
|
const [input, setInput] = useDebouncedState('', state => setSearch(state));
|
|
49
|
+
const [open, setOpen] = React.useState<boolean>(false);
|
|
50
|
+
|
|
51
|
+
const toggleOpen = React.useCallback(() => setOpen(state => !state), [
|
|
52
|
+
setOpen,
|
|
53
|
+
]);
|
|
44
54
|
|
|
45
55
|
React.useEffect(() => {
|
|
46
56
|
if (search === '') return;
|
|
@@ -50,12 +60,8 @@ const Menubar: React.FC<MenubarProps> = ({
|
|
|
50
60
|
return (
|
|
51
61
|
<>
|
|
52
62
|
<StyledMenuBar>
|
|
53
|
-
<StyledMenuButton
|
|
54
|
-
|
|
55
|
-
color="primary"
|
|
56
|
-
onPress={() => setMenuOpen(!menuOpen)}
|
|
57
|
-
>
|
|
58
|
-
{!menuOpen ? (
|
|
63
|
+
<StyledMenuButton variant="filled" color="primary" onPress={toggleOpen}>
|
|
64
|
+
{!open ? (
|
|
59
65
|
<Icon
|
|
60
66
|
size="deca"
|
|
61
67
|
name="menu"
|
|
@@ -72,49 +78,57 @@ const Menubar: React.FC<MenubarProps> = ({
|
|
|
72
78
|
)}
|
|
73
79
|
</StyledMenuButton>
|
|
74
80
|
{leftComponents}
|
|
75
|
-
{
|
|
76
|
-
|
|
77
|
-
<
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
81
|
+
<Transition in={open} timeout={250}>
|
|
82
|
+
{state => (
|
|
83
|
+
<StyledInputContainer style={getInputContainerStyles(state)}>
|
|
84
|
+
{searchable && (
|
|
85
|
+
<StyledInput
|
|
86
|
+
placeholder={searchPlaceholder}
|
|
87
|
+
leftComponent={
|
|
88
|
+
<StyledIconInput>
|
|
89
|
+
<Icon name="magnify" type="material-community" />
|
|
90
|
+
</StyledIconInput>
|
|
91
|
+
}
|
|
92
|
+
value={input}
|
|
93
|
+
onChange={setInput}
|
|
94
|
+
/>
|
|
95
|
+
)}
|
|
96
|
+
</StyledInputContainer>
|
|
97
|
+
)}
|
|
98
|
+
</Transition>
|
|
89
99
|
{rightComponents}
|
|
90
100
|
</StyledMenuBar>
|
|
91
|
-
{
|
|
92
|
-
|
|
93
|
-
{
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
101
|
+
<Transition in={open} timeout={250}>
|
|
102
|
+
{state => (
|
|
103
|
+
<StyledContainerOpenMenu style={getContainerOpenMenuStyles(state)}>
|
|
104
|
+
{!search ? (
|
|
105
|
+
<>
|
|
106
|
+
{mostUsed && (
|
|
107
|
+
<MostUsed
|
|
108
|
+
label={mostUsedLabel}
|
|
109
|
+
data={mostUsed}
|
|
110
|
+
toggle={toggleOpen}
|
|
111
|
+
/>
|
|
112
|
+
)}
|
|
113
|
+
<MenuBlock options={options} toggle={toggleOpen} />
|
|
114
|
+
</>
|
|
115
|
+
) : (
|
|
116
|
+
<StyledSearchResultsContainer>
|
|
117
|
+
<StyledSearchTextContainer>
|
|
118
|
+
<Text fontWeight="bold">{searchResultsLabel}</Text>
|
|
119
|
+
</StyledSearchTextContainer>
|
|
120
|
+
{results.map(result => (
|
|
121
|
+
<SearchResultItem
|
|
122
|
+
key={`${result.title}-${result.category}`}
|
|
123
|
+
data={result}
|
|
124
|
+
searchTerm={search}
|
|
125
|
+
/>
|
|
99
126
|
))}
|
|
100
|
-
</
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
<Text fontWeight="bold">{searchResultsLabel}</Text>
|
|
106
|
-
</StyledSearchTextContainer>
|
|
107
|
-
{results.map(result => (
|
|
108
|
-
<SearchResultItem
|
|
109
|
-
key={`${result.title}-${result.category}`}
|
|
110
|
-
data={result}
|
|
111
|
-
searchTerm={search}
|
|
112
|
-
/>
|
|
113
|
-
))}
|
|
114
|
-
</StyledSearchResultsContainer>
|
|
115
|
-
)}
|
|
116
|
-
</StyledContainerOpenMenu>
|
|
117
|
-
)}
|
|
127
|
+
</StyledSearchResultsContainer>
|
|
128
|
+
)}
|
|
129
|
+
</StyledContainerOpenMenu>
|
|
130
|
+
)}
|
|
131
|
+
</Transition>
|
|
118
132
|
</>
|
|
119
133
|
);
|
|
120
134
|
};
|