@yamada-ui/checkbox
Version:
Yamada UI checkbox component
37 lines (34 loc) • 1.88 kB
TypeScript
import * as react from 'react';
import { ChangeEvent, ReactElement } from 'react';
import { ThemeProps, CSSUIObject, PropGetter, HTMLUIProps } from '@yamada-ui/core';
import { FormControlOptions } from '@yamada-ui/form-control';
import { CheckboxCardProps } from './checkbox-card.js';
import '@yamada-ui/utils';
import './checkbox-card-addon.js';
import './checkbox-card-description.js';
import './checkbox-card-label.js';
import './use-checkbox.js';
interface CheckboxGroupSharedContext extends FormControlOptions {
value: (number | string)[];
onChange: (evOrValue: ChangeEvent<HTMLInputElement> | number | string) => void;
}
interface CheckboxGroupContext extends CheckboxGroupSharedContext, ThemeProps<"Checkbox">, FormControlOptions {
}
declare const CheckboxGroupProvider: react.Provider<CheckboxGroupContext | undefined>;
declare const useCheckboxGroupContext: () => CheckboxGroupContext | undefined;
interface CheckboxCardGroupContext extends CheckboxGroupSharedContext, Pick<CheckboxCardProps, "addonProps" | "descriptionProps" | "labelProps" | "withIcon">, ThemeProps<"CheckboxCard"> {
}
declare const CheckboxCardGroupProvider: react.Provider<CheckboxCardGroupContext | undefined>;
declare const useCheckboxCardGroupContext: () => CheckboxCardGroupContext | undefined;
interface CheckboxCardContext {
icon: ReactElement;
styles: {
[key: string]: CSSUIObject | undefined;
};
withIcon: boolean;
getIconProps: PropGetter;
iconProps?: HTMLUIProps;
}
declare const CheckboxCardProvider: react.Provider<CheckboxCardContext>;
declare const useCheckboxCardContext: () => CheckboxCardContext;
export { type CheckboxCardContext, type CheckboxCardGroupContext, CheckboxCardGroupProvider, CheckboxCardProvider, type CheckboxGroupContext, CheckboxGroupProvider, useCheckboxCardContext, useCheckboxCardGroupContext, useCheckboxGroupContext };