import type { Meta, StoryObj } from "@storybook/nextjs-vite"

import { Select } from "./Select"

const meta: Meta<typeof Select> = {
  title: "Core Components/Select",
  component: Select,
  argTypes: {},
}

export default meta

type Story = StoryObj<typeof Select>

const items = [
  { label: "Foo", value: "foo" },
  { label: "Bar", value: "bar" },
  { label: "Baz", value: "baz" },
]

export const Default: Story = {
  args: {
    items,
    label: "Select an item",
    name: "foo",
  },
}

export const DefaultSelected: Story = {
  args: {
    items,
    label: "Select an item",
    name: "foo",
    defaultSelectedKey: "foo",
  },
}

export const Icons: Story = {
  args: {
    items,
    label: "Select an item",
    name: "foo",
    icon: "star",
    itemIcon: "check",
  },
}

export const Filtering: Story = {
  args: {
    items,
    label: "Select an item",
    name: "foo",
    enableFiltering: true,
  },
}

export const FilteringSelected: Story = {
  args: {
    items,
    label: "Select an item",
    name: "foo",
    enableFiltering: true,
    defaultSelectedKey: "foo",
  },
}
