bits-ui
Version:
The headless components for Svelte.
105 lines (104 loc) • 3.95 kB
TypeScript
import { type ReadableBoxedValues, type WritableBoxedValues } from "svelte-toolbelt";
import type { HTMLButtonAttributes } from "svelte/elements";
import { Context } from "runed";
import type { BitsKeyboardEvent, BitsMouseEvent, OnChangeFn, RefAttachment, WithRefOpts } from "../../internal/types.js";
interface CheckboxGroupStateOpts extends WithRefOpts, ReadableBoxedValues<{
name: string | undefined;
disabled: boolean;
required: boolean;
readonly: boolean;
onValueChange: OnChangeFn<string[]>;
}>, WritableBoxedValues<{
value: string[];
}> {
}
export declare const CheckboxGroupContext: Context<CheckboxGroupState>;
export declare class CheckboxGroupState {
static create(opts: CheckboxGroupStateOpts): CheckboxGroupState;
readonly opts: CheckboxGroupStateOpts;
readonly attachment: RefAttachment;
labelId: string | undefined;
constructor(opts: CheckboxGroupStateOpts);
addValue(checkboxValue: string | undefined): void;
removeValue(checkboxValue: string | undefined): void;
readonly props: {
readonly id: string;
readonly role: "group";
readonly "aria-labelledby": string | undefined;
readonly "data-disabled": "" | undefined;
};
}
interface CheckboxGroupLabelStateOpts extends WithRefOpts {
}
export declare class CheckboxGroupLabelState {
static create(opts: CheckboxGroupLabelStateOpts): CheckboxGroupLabelState;
readonly opts: CheckboxGroupLabelStateOpts;
readonly group: CheckboxGroupState;
readonly attachment: RefAttachment;
constructor(opts: CheckboxGroupLabelStateOpts, group: CheckboxGroupState);
readonly props: {
readonly id: string;
readonly "data-disabled": "" | undefined;
};
}
interface CheckboxRootStateOpts extends WithRefOpts, ReadableBoxedValues<{
disabled: boolean;
required: boolean;
readonly: boolean;
name: string | undefined;
value: string | undefined;
type: HTMLButtonAttributes["type"];
}>, WritableBoxedValues<{
checked: boolean;
indeterminate: boolean;
}> {
}
export declare class CheckboxRootState {
#private;
static create(opts: CheckboxRootStateOpts, group?: CheckboxGroupState | null): CheckboxRootState;
readonly opts: CheckboxRootStateOpts;
readonly group: CheckboxGroupState | null;
readonly trueName: string | undefined;
readonly trueRequired: boolean;
readonly trueDisabled: boolean;
readonly trueReadonly: boolean;
readonly attachment: RefAttachment;
constructor(opts: CheckboxRootStateOpts, group: CheckboxGroupState | null);
onkeydown(e: BitsKeyboardEvent): void;
onclick(e: BitsMouseEvent): void;
readonly snippetProps: {
checked: boolean;
indeterminate: boolean;
};
readonly props: {
readonly id: string;
readonly role: "checkbox";
readonly type: "button" | "reset" | "submit" | null | undefined;
readonly disabled: boolean;
readonly "aria-checked": "true" | "false" | "mixed";
readonly "aria-required": "true" | "false";
readonly "aria-readonly": "true" | "false";
readonly "data-disabled": "" | undefined;
readonly "data-readonly": "" | undefined;
readonly "data-state": "checked" | "indeterminate" | "unchecked";
readonly onclick: (e: BitsMouseEvent) => void;
readonly onkeydown: (e: BitsKeyboardEvent) => void;
};
}
export declare class CheckboxInputState {
static create(): CheckboxInputState;
readonly root: CheckboxRootState;
readonly trueChecked: boolean;
readonly shouldRender: boolean;
constructor(root: CheckboxRootState);
readonly props: {
readonly type: "checkbox";
readonly checked: boolean;
readonly disabled: boolean;
readonly required: boolean;
readonly name: string | undefined;
readonly value: string | undefined;
readonly readonly: boolean;
};
}
export {};