import { PlayIcon, SettingsIcon, StopCircleIcon, TrashIcon } from '@modrinth/assets' import type { Meta, StoryObj } from '@storybook/vue3-vite' import Button from '../../components/base/buttons/Button.vue' import ButtonGroup from '../../components/base/buttons/ButtonGroup.vue' import SplitButton from '../../components/base/buttons/SplitButton.vue' import type { OverflowMenuOption } from '../../components/base/buttons/types' const splitOptions: OverflowMenuOption[] = [ { id: 'settings', label: 'Server settings', icon: SettingsIcon, action: () => undefined, }, { type: 'divider' }, { id: 'delete', label: 'Delete server', icon: TrashIcon, tone: 'red', action: () => undefined, }, ] const meta = { title: 'Buttons/Button Group', component: ButtonGroup, } satisfies Meta export default meta type Story = StoryObj export const Joined: Story = { render: () => ({ components: { Button, ButtonGroup }, template: /*html*/ ` `, }), } export const Split: Story = { render: () => ({ components: { PlayIcon, SplitButton }, setup() { return { splitOptions } }, template: /*html*/ ` Start server `, }), } export const IndependentDisabledStates: Story = { render: () => ({ components: { SplitButton, StopCircleIcon }, setup() { return { splitOptions } }, template: /*html*/ `
Primary disabled Menu disabled
`, }), }