compote-ui
Version:
An opinionated UI component library for Svelte, built on top of [Ark UI](https://ark-ui.com) with additional components and features not available in the core Ark UI library.
44 lines (43 loc) • 2.75 kB
TypeScript
import { type VariantProps } from 'tailwind-variants';
export declare const toggle: import("tailwind-variants").TVReturnType<{
variant: {
ghost: "hover:bg-surface-2 hover:text-ink data-pressed:bg-surface-2 data-pressed:text-ink data-pressed:shadow-sm data-[state=on]:bg-surface-2 data-[state=on]:text-ink data-[state=on]:shadow-sm";
outline: "border border-border hover:bg-surface-2 hover:text-ink data-pressed:bg-surface-2 data-pressed:text-ink data-pressed:shadow-sm data-[state=on]:bg-surface-2 data-[state=on]:text-ink data-[state=on]:shadow-sm";
};
size: {
sm: "h-8 min-w-8 gap-1 px-1.5 text-xs [&_svg]:size-3.5";
md: "h-9 min-w-9 gap-1.5 px-2 text-sm [&_svg]:size-4";
lg: "h-10 min-w-10 gap-2 px-2.5 text-sm [&_svg]:size-5";
};
icon: {
true: "";
};
}, undefined, "inline-flex cursor-pointer items-center justify-center rounded-md font-medium text-ink-dim transition-colors select-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none data-disabled:cursor-not-allowed data-disabled:opacity-50 [&_svg]:shrink-0", {
variant: {
ghost: "hover:bg-surface-2 hover:text-ink data-pressed:bg-surface-2 data-pressed:text-ink data-pressed:shadow-sm data-[state=on]:bg-surface-2 data-[state=on]:text-ink data-[state=on]:shadow-sm";
outline: "border border-border hover:bg-surface-2 hover:text-ink data-pressed:bg-surface-2 data-pressed:text-ink data-pressed:shadow-sm data-[state=on]:bg-surface-2 data-[state=on]:text-ink data-[state=on]:shadow-sm";
};
size: {
sm: "h-8 min-w-8 gap-1 px-1.5 text-xs [&_svg]:size-3.5";
md: "h-9 min-w-9 gap-1.5 px-2 text-sm [&_svg]:size-4";
lg: "h-10 min-w-10 gap-2 px-2.5 text-sm [&_svg]:size-5";
};
icon: {
true: "";
};
}, undefined, import("tailwind-variants").TVReturnTypeLike<{
variant: {
ghost: "hover:bg-surface-2 hover:text-ink data-pressed:bg-surface-2 data-pressed:text-ink data-pressed:shadow-sm data-[state=on]:bg-surface-2 data-[state=on]:text-ink data-[state=on]:shadow-sm";
outline: "border border-border hover:bg-surface-2 hover:text-ink data-pressed:bg-surface-2 data-pressed:text-ink data-pressed:shadow-sm data-[state=on]:bg-surface-2 data-[state=on]:text-ink data-[state=on]:shadow-sm";
};
size: {
sm: "h-8 min-w-8 gap-1 px-1.5 text-xs [&_svg]:size-3.5";
md: "h-9 min-w-9 gap-1.5 px-2 text-sm [&_svg]:size-4";
lg: "h-10 min-w-10 gap-2 px-2.5 text-sm [&_svg]:size-5";
};
icon: {
true: "";
};
}, undefined>>;
export type ToggleSize = NonNullable<VariantProps<typeof toggle>['size']>;
export type ToggleVariant = NonNullable<VariantProps<typeof toggle>['variant']>;