nextui/packages/components/checkbox/src/checkbox-group.tsx
2023-03-04 18:00:18 -03:00

28 lines
882 B
TypeScript

import {forwardRef} from "@nextui-org/system";
import {__DEV__} from "@nextui-org/shared-utils";
import {CheckboxGroupProvider} from "./checkbox-group-context";
import {UseCheckboxGroupProps, useCheckboxGroup} from "./use-checkbox-group";
export interface CheckboxGroupProps extends Omit<UseCheckboxGroupProps, "ref"> {}
const CheckboxGroup = forwardRef<CheckboxGroupProps, "div">((props, ref) => {
const {children, context, label, getGroupProps, getLabelProps, getWrapperProps} =
useCheckboxGroup({ref, ...props});
return (
<div {...getGroupProps()}>
{label && <label {...getLabelProps()}>{label}</label>}
<div {...getWrapperProps()}>
<CheckboxGroupProvider value={context}>{children}</CheckboxGroupProvider>
</div>
</div>
);
});
if (__DEV__) {
CheckboxGroup.displayName = "NextUI.CheckboxGroup";
}
export default CheckboxGroup;