import BasicTableInfo from '@/components/BasicTableInfo';
import type { Meta, StoryObj } from '@storybook/react';
import * as BasicInfoStories from './BasicInfo.stories';

// More on how to set up stories at: https://storybook.js.org/docs/writing-stories#default-export
const meta = {
  title: 'Components/BasicTableInfo 基本信息表格版',
  component: BasicTableInfo,
  parameters: {
    // Optional parameter to center the component in the Canvas. More info: https://storybook.js.org/docs/configure/story-layout
    // layout: 'centered',
  },
  // This component will have an automatically generated Autodocs entry: https://storybook.js.org/docs/writing-docs/autodocs
  tags: ['autodocs'],
  // More on argTypes: https://storybook.js.org/docs/api/argtypes
  argTypes: {
    datas: {
      description: '基础信息',
      table: {
        type: { summary: 'BasicInfoData[]' },
      },
      type: {
        required: true,
        name: 'array',
        value: {
          name: 'object',
          value: {},
        },
      },
    },
    labelWidth: {
      description: '标题宽度',
      type: {
        required: true,
        name: 'number',
      },
    },
    labelEllipsis: {
      description: '标题是否显示省略号',
      table: {
        type: { summary: 'boolean' },
        defaultValue: { summary: 'true' },
      },
      control: 'boolean',
    },
    className: {
      description: '自定义类名',
      table: {
        type: { summary: 'string' },
      },
      control: 'text',
    },
    style: {
      description: '自定义样式',
      table: {
        type: { summary: 'ReactCSSProperties' },
      },
      control: 'object',
    },
  },
  // Use `fn` to spy on the onClick arg, which will appear in the actions panel once invoked: https://storybook.js.org/docs/essentials/actions#action-args
  // args: { onClick: fn() },
} satisfies Meta<typeof BasicTableInfo>;

export default meta;
type Story = StoryObj<typeof meta>;

// More on writing stories with args: https://storybook.js.org/docs/writing-stories/args
export const Primary: Story = {
  args: {
    datas: BasicInfoStories.Primary.args.datas,
    labelWidth: 100,
    labelEllipsis: true,
  },
};
