import preview from "#.storybook/preview"; import { AnyFieldApi } from "@tanstack/solid-form"; import { Accessor, Component, createSignal } from "solid-js"; import { Checkbox } from "../../src/ts/components/ui/form/Checkbox"; function createFieldMock(options: { name?: string; value?: boolean }) { const [value, setValue] = createSignal(options.value ?? false); return { name: options.name ?? "test", get state() { return { value: value() }; }, handleChange(v: boolean) { setValue(v); }, handleBlur() {}, } as unknown as AnyFieldApi; } const meta = preview.meta({ title: "UI/Form/Checkbox", component: Checkbox as Component<{ field: Accessor; label?: string; disabled?: boolean; }>, parameters: { layout: "centered", }, tags: ["autodocs"], argTypes: { label: { control: "text" }, disabled: { control: "boolean" }, }, }); export const Default = meta.story({ render: () => { const unchecked = createFieldMock({}); const checked = createFieldMock({ value: true }); const checked2xl = createFieldMock({ value: true }); const disabledUnchecked = createFieldMock({}); const disabledChecked = createFieldMock({ value: true }); const withLabel = createFieldMock({ value: true }); return (
Unchecked
unchecked} />
Checked
checked} />
Checked 2xl
checked2xl} />
Disabled
disabledUnchecked} disabled={true} />
Disabled Checked
disabledChecked} disabled={true} />
With Label
withLabel} label="checkbox" />
); }, });