/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/ui/src/components/collapsible.tsx
48 строк
1 KB
Kit Langton
feat: add oxlint with correctness defaults (#22682)
16 апр 2026, 03:45
Не верифицирован
16 апр 2026, 03:45
3d6f90c
Код
Авторство
О чём код?
import { Collapsible as Kobalte, CollapsibleRootProps } from "@kobalte/core/collapsible" import { ComponentProps, ParentProps, splitProps } from "solid-js" import { Icon } from "./icon" export interface CollapsibleProps extends ParentProps<CollapsibleRootProps> { class?: string classList?: ComponentProps<"div">["classList"] variant?: "normal" | "ghost" } function CollapsibleRoot(props: CollapsibleProps) { const [local, others] = splitProps(props, ["class", "classList", "variant"]) return ( <Kobalte data-component="collapsible" data-variant={local.variant || "normal"} classList={{ ...local.classList, [local.class ?? ""]: !!local.class, }} {...others} /> ) } function CollapsibleTrigger(props: ComponentProps<typeof Kobalte.Trigger>) { return <Kobalte.Trigger data-slot="collapsible-trigger" {...props} /> } function CollapsibleContent(props: ComponentProps<typeof Kobalte.Content>) { return <Kobalte.Content data-slot="collapsible-content" {...props} /> } function CollapsibleArrow(props?: ComponentProps<"div">) { return ( <div data-slot="collapsible-arrow" {...(props || {})}> <span data-slot="collapsible-arrow-icon"> <Icon name="chevron-down" size="small" /> </span> </div> ) } export const Collapsible = Object.assign(CollapsibleRoot, { Arrow: CollapsibleArrow, Trigger: CollapsibleTrigger, Content: CollapsibleContent, })