|
1 |
| -import { MenuItem } from "react-aria-components"; |
2 |
| -import { Menu } from "./Menu"; |
3 |
| -import { Info } from './svgs/Info'; |
| 1 | +import { Tab, TabList, TabPanel } from "react-aria-components"; |
| 2 | +import { colors } from "../../src/theme"; |
| 3 | +import styled from "styled-components"; |
| 4 | +import { MenuButton, MenuItem, Menu, MenuGenericContainer } from "./Menu"; |
| 5 | +import { NavBar } from "./NavBar"; |
| 6 | +import { Tabs } from "./Tabs"; |
| 7 | + |
| 8 | +const infoSvg = () => ( |
| 9 | + <svg width="12" height="13" viewBox="0 0 12 13" fill="none" xmlns="http://www.w3.org/2000/svg"> |
| 10 | + <path d="M6 0.180664C2.68652 0.180664 0 2.86816 0 6.18066C0 9.49511 2.68652 12.1807 6 12.1807C9.31348 12.1807 12 9.49511 12 6.18066C12 2.86816 9.31348 0.180664 6 0.180664ZM6 2.84195C6.56119 2.84195 7.01613 3.29689 7.01613 3.85808C7.01613 4.41928 6.56119 4.87421 6 4.87421C5.43881 4.87421 4.98387 4.41928 4.98387 3.85808C4.98387 3.29689 5.43881 2.84195 6 2.84195ZM7.35484 8.98712C7.35484 9.14745 7.22485 9.27744 7.06452 9.27744H4.93548C4.77515 9.27744 4.64516 9.14745 4.64516 8.98712V8.40647C4.64516 8.24614 4.77515 8.11615 4.93548 8.11615H5.22581V6.56776H4.93548C4.77515 6.56776 4.64516 6.43777 4.64516 6.27744V5.69679C4.64516 5.53646 4.77515 5.40647 4.93548 5.40647H6.48387C6.6442 5.40647 6.77419 5.53646 6.77419 5.69679V8.11615H7.06452C7.22485 8.11615 7.35484 8.24614 7.35484 8.40647V8.98712Z" fill="#959595"/> |
| 11 | + </svg> |
| 12 | +); |
| 13 | + |
| 14 | +const dotsBase64 = "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAiIGhlaWdodD0iNTYiIHZpZXdCb3g9IjAgMCAxMCA1NiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8Y2lyY2xlIGN4PSI1IiBjeT0iNSIgcj0iNSIgZmlsbD0iIzAwMCIvPgogIDxjaXJjbGUgY3g9IjUiIGN5PSIyOCIgcj0iNSIgZmlsbD0iIzAwMCIvPgogIDxjaXJjbGUgY3g9IjUiIGN5PSI1MSIgcj0iNSIgZmlsbD0iIzAwMCIvPgo8L3N2Zz4K"; |
| 15 | + |
| 16 | +const InfoMenuButton = styled(MenuButton)` |
| 17 | + &:hover { |
| 18 | + svg path { |
| 19 | + fill: ${colors.palette.lightBlue}; |
| 20 | + } |
| 21 | + } |
| 22 | +`; |
| 23 | + |
| 24 | +const DotsMenuButton = styled(MenuButton)` |
| 25 | + padding: 1rem; |
| 26 | +`; |
| 27 | + |
| 28 | +const StyledMenuItem = styled(MenuItem)` |
| 29 | + color: ${colors.palette.orange}; |
| 30 | +`; |
| 31 | + |
| 32 | +const StyledWrapper = styled.div` |
| 33 | + display: flex; |
| 34 | + height: 100% |
| 35 | +`; |
4 | 36 |
|
5 | 37 | export const Default = () =>
|
6 |
| - <> |
7 |
| - <Menu buttonLabel="Menu"> |
8 |
| - <button>Example button</button> |
9 |
| - <button>Another button</button> |
10 |
| - </Menu> |
11 |
| - <Menu buttonLabel="Test menu" buttonIcon={Info}> |
12 |
| - <button>Example button</button> |
13 |
| - <button>Another button</button> |
14 |
| - </Menu> |
15 |
| - <Menu buttonLabel="Test menu" buttonIcon={"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAPoAAAD6AG1e1JrAAACh0lEQVR4nO2TT0gUURyAp1MUdPBUEBS7KpQakkJE2Rt2y3lvHXUlmBl3MCiK9ZDtzjxRO0SE/TPqkCBBIiHieyt7MAgjNSzNgnizIkFSkB62pejgTNQl8LIxawepNaeaXQj2g+/wTu97v/kNxxUoUCAL7SO1FTpFCVtM4bRO4UNMURwT2K9TdBsTdE0nqAtTeFYnwilMkKTFkIAJqtFGYJVGRG+E+rd3DDRu4/4GncAOTFHaPeEXTNFHncDF1YfBGUzQI52iluwBFHW7G5BdnaI36wTAC/kIwBTOZw0IP6jf2h6DJ3QKI5ig85jCHo2gPkzRvR+7MKFROIsJmsMULmGCPukUfv3TAI3AKS6pid5kRKx2y7muOvD8Yr0w2S02jl5FLfEbgTOxm4G2oVuws3MQtmKKzmUW2F7kEaGSS0XrVlLRunRejIjhX8adjAR630cD8VybigZiH7T6qt/+frIqH5ZV+ZhbKopSzDlFVVVvs9qcdtkXjgNCodAetwNkVTb+nwBJknYoIeWbmwGKqow5DrCRJGmLqqpFax3uO7473t/gmRiqrZimR/ez+8Kh+THB93pcQAvj/qa3kz558an/5NIT/+nkjF9LPvPpqVn+ku3yy5oei/E9FgN3TIO/axr8sMX4+GfGa9xGWAxctww+nQtNxr9yEjCQqwDLAAsbBpgMXPmpesVkvGUaYNk0+KWMDCRW5acsAzw2GT9qj9hkYDAzcsb32p/AZKDbNECXmQDtJgNhKwGOrHtxaaW4s7isKVxaHmw9cLBBq6huaLPP/6pnb3D9S9fiKQte9pYH027rKQ++45zgLWvsyFHAnKMAjuM27donFrltSQna7DSgQAEun3wHXrEVP1Vyp4cAAAAASUVORK5CYII="}> |
16 |
| - <MenuItem>Cool menu item</MenuItem> |
17 |
| - </Menu> |
18 |
| - </> |
| 38 | + <NavBar> |
| 39 | + <MenuButton label="Menu"> |
| 40 | + <MenuGenericContainer> |
| 41 | + <button>Example button</button> |
| 42 | + <button>Another button</button> |
| 43 | + </MenuGenericContainer> |
| 44 | + </MenuButton> |
| 45 | + <InfoMenuButton label="Test menu" icon={infoSvg}> |
| 46 | + <Tabs> |
| 47 | + <TabList aria-label="Items"> |
| 48 | + <Tab id="one">Info 1</Tab> |
| 49 | + <Tab id="two">Info 2</Tab> |
| 50 | + <Tab id="three">Info 3</Tab> |
| 51 | + </TabList> |
| 52 | + <TabPanel id="one">First</TabPanel> |
| 53 | + <TabPanel id="two">Second</TabPanel> |
| 54 | + <TabPanel id="three">Third</TabPanel> |
| 55 | + </Tabs> |
| 56 | + </InfoMenuButton> |
| 57 | + <StyledWrapper> |
| 58 | + <MenuButton label="Help"> |
| 59 | + <Menu> |
| 60 | + <MenuItem>Open Guide</MenuItem> |
| 61 | + <MenuItem>Contact Support</MenuItem> |
| 62 | + </Menu> |
| 63 | + </MenuButton> |
| 64 | + <DotsMenuButton label="Test menu" icon={dotsBase64}> |
| 65 | + <Menu> |
| 66 | + <MenuItem>Cool menu item</MenuItem> |
| 67 | + <MenuItem>Really long menu item with a lot of text</MenuItem> |
| 68 | + <StyledMenuItem>Styled menu item</StyledMenuItem> |
| 69 | + </Menu> |
| 70 | + </DotsMenuButton> |
| 71 | + </StyledWrapper> |
| 72 | + </NavBar> |
0 commit comments