UNPKG

bits-ui

Version:

The headless components for Svelte.

147 lines (146 loc) 5.75 kB
import { type WritableBox, type WritableBoxedValues, type ReadableBoxedValues } from "svelte-toolbelt"; import type { Orientation } from "../../shared/index.js"; import type { BitsKeyboardEvent, BitsMouseEvent, RefAttachment, WithRefOpts } from "../../internal/types.js"; import { RovingFocusGroup } from "../../internal/roving-focus-group.js"; export declare const toolbarAttrs: import("../../internal/attrs.js").CreateBitsAttrsReturn<readonly ["root", "item", "group", "group-item", "link", "button"]>; interface ToolbarRootStateOpts extends WithRefOpts, ReadableBoxedValues<{ orientation: Orientation; loop: boolean; }> { } export declare class ToolbarRootState { static create(opts: ToolbarRootStateOpts): ToolbarRootState; readonly opts: ToolbarRootStateOpts; readonly rovingFocusGroup: RovingFocusGroup; readonly attachment: RefAttachment; constructor(opts: ToolbarRootStateOpts); readonly props: { readonly id: string; readonly role: "toolbar"; readonly "data-orientation": Orientation; }; } interface ToolbarGroupBaseStateOpts extends WithRefOpts, ReadableBoxedValues<{ disabled: boolean; }> { } declare abstract class ToolbarGroupBaseState { readonly opts: ToolbarGroupBaseStateOpts; readonly root: ToolbarRootState; readonly attachment: RefAttachment; constructor(opts: ToolbarGroupBaseStateOpts, root: ToolbarRootState); readonly props: { readonly id: string; readonly role: "group"; readonly "data-orientation": "horizontal" | "vertical"; readonly "data-disabled": "" | undefined; }; } interface ToolbarGroupSingleStateOpts extends ToolbarGroupBaseStateOpts, WritableBoxedValues<{ value: string; }> { } declare class ToolbarGroupSingleState extends ToolbarGroupBaseState { readonly opts: ToolbarGroupSingleStateOpts; readonly root: ToolbarRootState; readonly isMulti: false; readonly anyPressed: boolean; constructor(opts: ToolbarGroupSingleStateOpts, root: ToolbarRootState); includesItem(item: string): boolean; toggleItem(item: string): void; } interface ToolbarGroupMultipleStateOpts extends ToolbarGroupBaseStateOpts, WritableBoxedValues<{ value: string[]; }> { } declare class ToolbarGroupMultipleState extends ToolbarGroupBaseState { readonly opts: ToolbarGroupMultipleStateOpts; readonly root: ToolbarRootState; readonly isMulti: true; readonly anyPressed: boolean; constructor(opts: ToolbarGroupMultipleStateOpts, root: ToolbarRootState); includesItem(item: string): boolean; toggleItem(item: string): void; } type ToolbarGroup = ToolbarGroupSingleState | ToolbarGroupMultipleState; interface ToolbarGroupRootOpts extends WithRefOpts, ReadableBoxedValues<{ disabled: boolean; }> { type: "single" | "multiple"; value: WritableBox<string> | WritableBox<string[]>; } export declare class ToolbarGroupState { static create(opts: ToolbarGroupRootOpts): ToolbarGroup; } interface ToolbarGroupItemStateOpts extends WithRefOpts, ReadableBoxedValues<{ value: string; disabled: boolean; }> { } export declare class ToolbarGroupItemState { #private; static create(opts: ToolbarGroupItemStateOpts): ToolbarGroupItemState; readonly opts: ToolbarGroupItemStateOpts; readonly group: ToolbarGroup; readonly root: ToolbarRootState; readonly attachment: RefAttachment; constructor(opts: ToolbarGroupItemStateOpts, group: ToolbarGroup, root: ToolbarRootState); onclick(_: BitsMouseEvent): void; onkeydown(e: BitsKeyboardEvent): void; readonly isPressed: boolean; readonly props: { readonly id: string; readonly role: "radio" | undefined; readonly tabindex: number; readonly "data-orientation": "horizontal" | "vertical"; readonly "data-disabled": "" | undefined; readonly "data-state": "off" | "on"; readonly "data-value": string; readonly "aria-pressed": "true" | "false" | undefined; readonly "aria-checked": "true" | "false" | "mixed" | undefined; readonly disabled: true | undefined; readonly onclick: (_: BitsMouseEvent) => void; readonly onkeydown: (e: BitsKeyboardEvent) => void; }; } interface ToolbarLinkStateOpts extends WithRefOpts { } export declare class ToolbarLinkState { #private; static create(opts: ToolbarLinkStateOpts): ToolbarLinkState; readonly opts: ToolbarLinkStateOpts; readonly root: ToolbarRootState; readonly attachment: RefAttachment; constructor(opts: ToolbarLinkStateOpts, root: ToolbarRootState); onkeydown(e: BitsKeyboardEvent): void; readonly props: { readonly id: string; readonly role: "link" | undefined; readonly tabindex: number; readonly "data-orientation": "horizontal" | "vertical"; readonly onkeydown: (e: BitsKeyboardEvent) => void; }; } interface ToolbarButtonStateOpts extends WithRefOpts, ReadableBoxedValues<{ disabled: boolean; }> { } export declare class ToolbarButtonState { #private; static create(opts: ToolbarButtonStateOpts): ToolbarButtonState; readonly opts: ToolbarButtonStateOpts; readonly root: ToolbarRootState; readonly attachment: RefAttachment; constructor(opts: ToolbarButtonStateOpts, root: ToolbarRootState); onkeydown(e: BitsKeyboardEvent): void; readonly props: { readonly id: string; readonly role: "button" | undefined; readonly tabindex: number; readonly "data-disabled": "" | undefined; readonly "data-orientation": "horizontal" | "vertical"; readonly disabled: true | undefined; readonly onkeydown: (e: BitsKeyboardEvent) => void; }; } export {};