2021-03-14 00:17:30 +00:00
|
|
|
import React, { useState } from "react";
|
2020-10-16 13:16:01 +00:00
|
|
|
import styled from "@emotion/styled";
|
|
|
|
import GroupButtonsMenu from "../group-buttons-menu";
|
|
|
|
import DropDownItem from "../drop-down-item";
|
|
|
|
import Button from "../button";
|
2019-07-08 07:12:43 +00:00
|
|
|
|
2021-03-14 00:17:30 +00:00
|
|
|
export default {
|
|
|
|
title: "Examples/GroupButtonsMenu",
|
|
|
|
component: GroupButtonsMenu,
|
|
|
|
subcomponents: { DropDownItem, Button },
|
|
|
|
parameters: { docs: { description: { component: "Example" } } },
|
|
|
|
argTypes: {
|
|
|
|
closeAction: { action: "close action", table: { disable: true } },
|
|
|
|
},
|
|
|
|
};
|
|
|
|
|
2019-07-08 07:12:43 +00:00
|
|
|
const GroupButtonsMenuContainer = styled.div`
|
|
|
|
height: 2000px;
|
|
|
|
`;
|
|
|
|
|
|
|
|
const peopleItems = [
|
2019-07-30 11:17:19 +00:00
|
|
|
{
|
2020-10-16 13:16:01 +00:00
|
|
|
label: "Select",
|
2019-07-30 11:17:19 +00:00
|
|
|
isDropdown: true,
|
|
|
|
isSeparator: true,
|
|
|
|
isSelect: true,
|
2020-10-16 13:16:01 +00:00
|
|
|
fontWeight: "bold",
|
2019-07-30 11:17:19 +00:00
|
|
|
children: [
|
2020-10-16 13:16:01 +00:00
|
|
|
<DropDownItem key="active" label="Active" />,
|
|
|
|
<DropDownItem key="disabled" label="Disabled" />,
|
|
|
|
<DropDownItem key="invited" label="Invited" />,
|
2019-07-30 11:17:19 +00:00
|
|
|
],
|
2020-10-16 13:16:01 +00:00
|
|
|
onSelect: (a) => console.log(a),
|
2019-07-30 11:17:19 +00:00
|
|
|
},
|
|
|
|
{
|
2020-10-16 13:16:01 +00:00
|
|
|
label: "Make employee",
|
|
|
|
onClick: () => console.log("Make employee action"),
|
2019-07-30 11:17:19 +00:00
|
|
|
},
|
|
|
|
{
|
2020-10-16 13:16:01 +00:00
|
|
|
label: "Make guest",
|
|
|
|
onClick: () => console.log("Make guest action"),
|
2019-07-30 11:17:19 +00:00
|
|
|
},
|
|
|
|
{
|
2020-10-16 13:16:01 +00:00
|
|
|
label: "Set active",
|
|
|
|
onClick: () => console.log("Set active action"),
|
2019-07-30 11:17:19 +00:00
|
|
|
},
|
|
|
|
{
|
2020-10-16 13:16:01 +00:00
|
|
|
label: "Set disabled",
|
|
|
|
onClick: () => console.log("Set disabled action"),
|
2019-07-30 11:17:19 +00:00
|
|
|
},
|
|
|
|
{
|
2020-10-16 13:16:01 +00:00
|
|
|
label: "Invite again",
|
|
|
|
onClick: () => console.log("Invite again action"),
|
2019-07-30 11:17:19 +00:00
|
|
|
},
|
|
|
|
{
|
2020-10-16 13:16:01 +00:00
|
|
|
label: "Send e-mail",
|
|
|
|
onClick: () => console.log("Send e-mail action"),
|
2019-07-30 11:17:19 +00:00
|
|
|
},
|
|
|
|
{
|
2020-10-16 13:16:01 +00:00
|
|
|
label: "Delete",
|
|
|
|
onClick: () => console.log("Delete action"),
|
|
|
|
},
|
2019-07-08 07:12:43 +00:00
|
|
|
];
|
|
|
|
|
2021-03-14 00:17:30 +00:00
|
|
|
const Template = ({ closeAction, closeTitle, moreLabel, ...args }) => {
|
|
|
|
const [visible, setVisible] = useState(false);
|
|
|
|
const [checked, setChecked] = useState(false);
|
|
|
|
return (
|
|
|
|
<>
|
|
|
|
<Button
|
|
|
|
label="Show menu"
|
|
|
|
onClick={() => {
|
|
|
|
setVisible(!visible);
|
|
|
|
}}
|
|
|
|
/>
|
|
|
|
<GroupButtonsMenuContainer>
|
|
|
|
<GroupButtonsMenu
|
|
|
|
checked={checked}
|
|
|
|
menuItems={peopleItems}
|
|
|
|
visible={visible}
|
|
|
|
moreLabel={moreLabel}
|
|
|
|
closeTitle={closeTitle}
|
|
|
|
onClose={closeAction}
|
|
|
|
onChange={() => setChecked(!checked)}
|
|
|
|
selected={peopleItems[0].label}
|
|
|
|
/>
|
|
|
|
</GroupButtonsMenuContainer>
|
|
|
|
</>
|
|
|
|
);
|
|
|
|
};
|
|
|
|
|
|
|
|
export const people = Template.bind({});
|
|
|
|
people.args = {
|
|
|
|
closeTitle: "Close",
|
|
|
|
moreLabel: "More",
|
|
|
|
};
|