import type { Meta, StoryObj } from '@storybook/vue3-vite' import { Message as NychMessage } from '@nychthemeron/library' const meta = { title: 'Components/Message', component: NychMessage, parameters: { layout: 'centered', }, tags: ['autodocs'], argTypes: { severity: { control: { type: 'select' }, options: ['info', 'success', 'warn', 'error', 'secondary'], description: 'Message severity', }, closable: { control: { type: 'boolean' }, description: 'Show a close button', }, }, } satisfies Meta export default meta type Story = StoryObj export const Info: Story = { args: { severity: 'info' }, render: (args) => ({ components: { NychMessage }, setup: () => ({ args }), template: `The Oracle has spoken.`, }), } export const Success: Story = { args: { severity: 'success' }, render: (args) => ({ components: { NychMessage }, setup: () => ({ args }), template: `The offering was accepted.`, }), } export const Warn: Story = { args: { severity: 'warn' }, render: (args) => ({ components: { NychMessage }, setup: () => ({ args }), template: `The ferryman grows impatient.`, }), } export const Error: Story = { args: { severity: 'error' }, render: (args) => ({ components: { NychMessage }, setup: () => ({ args }), template: `The gods have refused your plea.`, }), } export const Closable: Story = { args: { severity: 'info', closable: true }, render: (args) => ({ components: { NychMessage }, setup: () => ({ args }), template: `This omen may be dismissed.`, }), } export const AllSeverities: Story = { render: () => ({ components: { NychMessage }, template: `
The Oracle has spoken. The offering was accepted. The ferryman grows impatient. The gods have refused your plea. A neutral notice from the keeper.
`, }), }