# @askrjs/themes/toggle-group

> Published API exports for @askrjs/themes/toggle-group.

Source: [https://askrjs.com/docs/reference/api/themes/toggle-group](https://askrjs.com/docs/reference/api/themes/toggle-group)

Status: stable. Packages: @askrjs/themes/toggle-group.

**Published packages are authoritative.** Examples may lag behind a published contract. When guidance differs, verify the exports and TypeScript declarations in your installed package, then file an issue.

## Exports

This entrypoint publishes 9 exports from the declarations shipped by @askrjs/themes.

### `ToggleGroup`

```ts
ToggleGroup: (props: ToggleGroupProps) => import("@askrjs/askr/jsx-runtime").JSX.Element
```

Renders a part of `toggle-group`.

### `ToggleGroupItem`

```ts
ToggleGroupItem: { (props: ToggleGroupItemProps): JSX.Element; (props: ToggleGroupItemAsChildProps): JSX.Element; }
```

Renders a part of `toggle-group`.

Supports polymorphic rendering via `asChild`.

### `ToggleGroupItemAsChildProps`

```ts
ToggleGroupItemAsChildProps: ButtonLikeAsChildProps & ToggleGroupItemOwnProps
```

Props for the `asChild` (polymorphic) rendering of Toggle Group Item.

- `asChild`: asChild: true;

- `children`: children: JSXElement;

- `disabled`: disabled?: boolean | undefined;

- `onPress`: onPress?: ((event: PressEvent) => void) | undefined;

- `ref`: ref?: Ref<Element>;

- `type`: type?: undefined;

- `value`: value: string;

### `ToggleGroupItemOwnProps`

```ts
ToggleGroupItemOwnProps: {
  value: string;
  disabled?: boolean;
  children?: unknown;
}
```

Own props for Toggle Group Item, before merging with native element attributes.

- `children`: children?: unknown;

- `disabled`: disabled?: boolean | undefined;

- `value`: value: string;

### `ToggleGroupItemProps`

```ts
ToggleGroupItemProps: ButtonLikeProps<'button', HTMLButtonElement> & ToggleGroupItemOwnProps
```

Props for Toggle Group Item.

- `asChild`: asChild?: false | undefined;

- `children`: children?: unknown;

- `disabled`: disabled?: boolean | undefined;

- `onPress`: onPress?: ((event: PressEvent) => void) | undefined;

- `ref`: ref?: Ref<HTMLButtonElement>;

- `type`: type?: "button" | "submit" | "reset" | undefined;

### `ToggleGroupMultipleProps`

```ts
ToggleGroupMultipleProps: BoxProps<'div', HTMLDivElement> & ToggleGroupSharedOwnProps & {
  type: 'multiple';
  value?: string[];
  defaultValue?: string[];
  onValueChange?: (value: string[]) => void;
}
```

Props for Toggle Group Multiple.

- `asChild`: asChild?: false | undefined;

- `children`: Supports literal, nested, array-mapped, and `For`-rendered descendants.

- `defaultValue`: defaultValue?: string[] | undefined;

- `disabled`: disabled?: boolean | undefined;

- `id`: id?: string | undefined;

- `loop`: loop?: boolean | undefined;

- `onValueChange`: onValueChange?: ((value: string[]) => void) | undefined;

- `orientation`: orientation?: ToggleGroupOrientation | undefined;

- `ref`: ref?: Ref<HTMLDivElement>;

- `type`: type: "multiple";

- `value`: value?: string[] | undefined;

### `ToggleGroupOrientation`

```ts
ToggleGroupOrientation: 'horizontal' | 'vertical'
```

Toggle Group Orientation.

### `ToggleGroupProps`

```ts
ToggleGroupProps: ToggleGroupSingleProps | ToggleGroupMultipleProps
```

Props for Toggle Group.

- `asChild`: asChild?: false | undefined;

- `children`: Supports literal, nested, array-mapped, and `For`-rendered descendants.

- `defaultValue`: defaultValue?: string | string[] | undefined;

- `disabled`: disabled?: boolean | undefined;

- `id`: id?: string | undefined;

- `loop`: loop?: boolean | undefined;

- `onValueChange`: onValueChange?: ((value: string[]) => void) | ((value: string) => void) | undefined;

- `orientation`: orientation?: ToggleGroupOrientation | undefined;

- `ref`: ref?: Ref<HTMLDivElement>;

- `type`: type?: "single" | "multiple" | undefined;

- `value`: value?: string | string[] | undefined;

### `ToggleGroupSingleProps`

```ts
ToggleGroupSingleProps: BoxProps<'div', HTMLDivElement> & ToggleGroupSharedOwnProps & {
  type?: 'single';
  value?: string;
  defaultValue?: string;
  onValueChange?: (value: string) => void;
}
```

Props for Toggle Group Single.

- `asChild`: asChild?: false | undefined;

- `children`: Supports literal, nested, array-mapped, and `For`-rendered descendants.

- `defaultValue`: defaultValue?: string | undefined;

- `disabled`: disabled?: boolean | undefined;

- `id`: id?: string | undefined;

- `loop`: loop?: boolean | undefined;

- `onValueChange`: onValueChange?: ((value: string) => void) | undefined;

- `orientation`: orientation?: ToggleGroupOrientation | undefined;

- `ref`: ref?: Ref<HTMLDivElement>;

- `type`: type?: "single" | undefined;

- `value`: value?: string | undefined;

## Documentation navigation

[Previous](https://askrjs.com/docs/reference/api/themes/toast/index.md) | [Next](https://askrjs.com/docs/reference/api/themes/toggle/index.md)
