import { ActionButton } from './action-button';
import type { ControlsMap } from '../../sub-packages/styleguide/src/data/control-types';
/**
* ActionButton Component
*
* A red gradient button used for primary user actions.
* Features a dark red gradient from left to right with subtle gray border.
*
* Common use cases:
* - Opening dialogs (e.g., "入荷通知を受け取る")
* - Primary call-to-action buttons
* - Form submission triggers
*/
export const meta = {
title: 'Shared/ActionButton',
};
export const controls: ControlsMap = {
label: { type: 'text', default: '入荷通知を受け取る' },
disabled: { type: 'boolean', default: false },
};
/**
* Default state - Japanese text for notify action
*/
export const Default = {
args: { label: '入荷通知を受け取る', disabled: false },
render: ({ label, disabled }: { label: string; disabled: boolean }) => (
<ActionButton disabled={disabled}>{label}</ActionButton>
),
};
/**
* Reservation button variant
*/
export const Reservation = () => <ActionButton>予約する</ActionButton>;
/**
* English text example
*/
export const English = () => <ActionButton>Notify Me</ActionButton>;
/**
* Disabled state
*/
export const Disabled = () => <ActionButton disabled>入荷通知を受け取る</ActionButton>;
/**
* With custom width using className
*/
export const FullWidth = () => (
<ActionButton className="w-full max-w-[300px]">通知を受け取る</ActionButton>
);
/**
* Multiple buttons in a row
*/
export const ButtonGroup = () => (
<div className="flex gap-hgap-sm">
<ActionButton>入荷通知</ActionButton>
<ActionButton>予約する</ActionButton>
</div>
);