UNPKG

@kloudlite/design-system

Version:

A design system for building ambitious products.

55 lines (54 loc) 2.86 kB
import * as React from 'react'; import type { Scope } from '@radix-ui/react-context'; import { Direction } from '@radix-ui/react-direction'; import type * as Radix from '@radix-ui/react-primitive'; import * as SeparatorPrimitive from '@radix-ui/react-separator'; import * as ToggleGroupPrimitive from '@radix-ui/react-toggle-group'; import { IButton, IIconButton } from './button'; import { IButtonGroupButton, IButtonGroupIconButton } from './button-group'; import { ITextInput } from './input'; interface IToolbarRoot { __scopeToolbar?: Scope<object | null>; orientation?: 'horizontal' | 'vertical'; dir?: Direction; loop?: boolean; children: React.ReactNode; } type SeparatorProps = Radix.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>; interface ToolbarSeparatorProps extends SeparatorProps { } type ToggleGroupProps = Radix.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root>; interface ToolbarToggleGroupSingleProps extends Extract<ToggleGroupProps, { type: 'single'; }> { selectable?: boolean; } interface ToolbarToggleGroupSinglePropsOmitted extends Omit<ToolbarToggleGroupSingleProps, 'onClick' | 'type'> { onClick?: (value?: string) => void; type?: 'single'; } type ToggleGroupItemProps = Radix.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item>; interface ToolbarToggleItemPropsBase extends Omit<ToggleGroupItemProps, 'value' | 'content' | 'onPointerDown' | 'type' | 'prefix' | 'children'> { value: string | number | readonly string[] | undefined; } interface ToolbarButtonGroupButtonProps extends ToolbarToggleItemPropsBase, Omit<IButtonGroupButton, 'value' | 'onPointerDown' | 'type' | 'prefix' | 'children'> { 'is-menu-button'?: string; 'data-state'?: string; } interface ToolbarIconButtonProps extends ToolbarToggleItemPropsBase, Omit<IButtonGroupIconButton, 'value'> { 'is-menu-button'?: string; 'data-state'?: string; } declare const Toolbar: { ButtonGroup: { Root: React.ForwardRefExoticComponent<ToolbarToggleGroupSinglePropsOmitted & React.RefAttributes<HTMLDivElement>>; Button: React.ForwardRefExoticComponent<ToolbarButtonGroupButtonProps & React.RefAttributes<HTMLButtonElement>>; IconButton: React.ForwardRefExoticComponent<ToolbarIconButtonProps & React.RefAttributes<HTMLButtonElement>>; }; Button: React.ForwardRefExoticComponent<IButton & React.RefAttributes<HTMLButtonElement>>; IconButton: React.ForwardRefExoticComponent<IIconButton & React.RefAttributes<HTMLButtonElement>>; TextInput: React.ForwardRefExoticComponent<ITextInput & React.RefAttributes<HTMLInputElement>>; Separator: React.ForwardRefExoticComponent<ToolbarSeparatorProps & React.RefAttributes<HTMLDivElement>>; Root: React.ForwardRefExoticComponent<IToolbarRoot & React.RefAttributes<HTMLDivElement>>; }; export default Toolbar;