@accelint/design-toolkit
Version:
An open-source component library to serve as part of the entire ecosystem of UX for Accelint.
23 lines (20 loc) • 1.11 kB
TypeScript
import { RefAttributes, ComponentPropsWithRef } from 'react';
import { TagProps, ButtonProps, TagGroupProps, TagListProps } from 'react-aria-components';
import { VariantProps } from 'tailwind-variants';
import { ChipStyles } from './styles.js';
import 'tailwind-merge';
type BaseChipProps = {
size?: 'medium' | 'small';
};
type ChipListProps<T> = Omit<TagGroupProps, 'children'> & Pick<TagListProps<T>, 'dependencies' | 'items' | 'children' | 'renderEmptyState'> & RefAttributes<HTMLDivElement> & BaseChipProps;
type ChipProps = VariantProps<typeof ChipStyles> & Omit<ComponentPropsWithRef<'div'>, 'size' | 'onClick'> & BaseChipProps & {
className?: string;
};
type SelectableChipProps = Omit<TagProps, 'isDisabled'> & RefAttributes<HTMLDivElement> & BaseChipProps;
type DeletableChipProps = Omit<TagProps, 'className' | 'isDisabled'> & RefAttributes<HTMLDivElement> & BaseChipProps & {
classNames?: {
chip?: TagProps['className'];
remove?: ButtonProps['className'];
};
};
export type { BaseChipProps, ChipListProps, ChipProps, DeletableChipProps, SelectableChipProps };