import { fn } from '@storybook/test';
import { FeatureRowActions } from './feature-row-actions.js';
const meta = {
    title: 'Features/FeatureRowActions',
    component: FeatureRowActions,
    tags: ['autodocs'],
    parameters: {
        layout: 'centered',
    },
    args: {
        featureId: 'feat-abc-123',
        featureName: 'Authentication System',
        hasChildren: false,
        hasOpenPr: false,
        isLoading: false,
        onStart: fn().mockName('onStart'),
        onStop: fn().mockName('onStop'),
        onRetry: fn().mockName('onRetry'),
        onReview: fn().mockName('onReview'),
        onArchive: fn().mockName('onArchive'),
        onUnarchive: fn().mockName('onUnarchive'),
        onDelete: fn().mockName('onDelete'),
    },
};
export default meta;
/** Pending state — shows Start, Archive, Delete actions. */
export const Pending = {
    args: { nodeState: 'pending' },
};
/** Running state — shows Stop, Archive, Delete actions. */
export const Running = {
    args: { nodeState: 'running' },
};
/** Error state — shows Retry, Archive, Delete actions. */
export const Error = {
    args: { nodeState: 'error' },
};
/** Action Required state — shows Review, Archive, Delete actions. */
export const ActionRequired = {
    args: { nodeState: 'action-required' },
};
/** Done state — shows Archive, Delete actions. */
export const Done = {
    args: { nodeState: 'done' },
};
/** Blocked state — shows Archive, Delete actions. */
export const Blocked = {
    args: { nodeState: 'blocked' },
};
/** Archived state — shows Unarchive, Delete actions. */
export const Archived = {
    args: { nodeState: 'archived' },
};
/** Creating state — renders nothing (transient state). */
export const Creating = {
    args: { nodeState: 'creating' },
};
/** Deleting state — renders nothing (transient state). */
export const Deleting = {
    args: { nodeState: 'deleting' },
};
/** Loading state — button shows spinner and is disabled. */
export const Loading = {
    args: { nodeState: 'pending', isLoading: true },
};
/** Feature with child features — affects delete dialog cascade option. */
export const WithChildren = {
    args: { nodeState: 'done', hasChildren: true },
};
/** Feature with open pull request — affects delete dialog close-PR option. */
export const WithOpenPr = {
    args: { nodeState: 'done', hasOpenPr: true },
};
