/
Alex_Ural
/
opencode
Обзор
Документация
Войти
/
Alex_Ural
/
opencode
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
packages/ui/src/components/checkbox.tsx
43 строки
2 KB
Adam
fix(desktop): perf stuff
20 дек 2025, 13:25
Не верифицирован
20 дек 2025, 13:25
26cf5e0
Код
Авторство
О чём код?
import { Checkbox as Kobalte } from "@kobalte/core/checkbox" import { Show, splitProps } from "solid-js" import type { ComponentProps, JSX, ParentProps } from "solid-js" export interface CheckboxProps extends ParentProps<ComponentProps<typeof Kobalte>> { hideLabel?: boolean description?: string icon?: JSX.Element } export function Checkbox(props: CheckboxProps) { const [local, others] = splitProps(props, ["children", "class", "label", "hideLabel", "description", "icon"]) return ( <Kobalte {...others} data-component="checkbox"> <Kobalte.Input data-slot="checkbox-checkbox-input" /> <Kobalte.Control data-slot="checkbox-checkbox-control"> <Kobalte.Indicator data-slot="checkbox-checkbox-indicator"> {local.icon || ( <svg viewBox="0 0 12 12" fill="none" width="10" height="10" xmlns="http://www.w3.org/2000/svg"> <path d="M3 7.17905L5.02703 8.85135L9 3.5" stroke="currentColor" stroke-width="1.5" stroke-linecap="square" /> </svg> )} </Kobalte.Indicator> </Kobalte.Control> <div data-slot="checkbox-checkbox-content"> <Show when={props.children}> <Kobalte.Label data-slot="checkbox-checkbox-label" classList={{ "sr-only": local.hideLabel }}> {props.children} </Kobalte.Label> </Show> <Show when={local.description}> <Kobalte.Description data-slot="checkbox-checkbox-description">{local.description}</Kobalte.Description> </Show> <Kobalte.ErrorMessage data-slot="checkbox-checkbox-error" /> </div> </Kobalte> ) }