'use client' import { Checkbox, useCheckboxContext } from '@ark-ui/react/checkbox' import { type ComponentProps, type ComponentPropsWithRef, forwardRef } from 'react' import { createStyleContext, styled } from 'styled-system/jsx' import { checkbox } from 'styled-system/recipes' import type { HTMLStyledProps } from 'styled-system/types' const { withProvider, withContext } = createStyleContext(checkbox) export type RootProps = ComponentProps export type HiddenInputProps = ComponentProps export const Root = withProvider(Checkbox.Root, 'root') export const RootProvider = withProvider(Checkbox.RootProvider, 'root') export const Control = withContext(Checkbox.Control, 'control') export const Group = withProvider(Checkbox.Group, 'group') export const Label = withContext(Checkbox.Label, 'label') export const HiddenInput = Checkbox.HiddenInput export { type CheckboxCheckedState as CheckedState, CheckboxGroupProvider as GroupProvider, } from '@ark-ui/react/checkbox' // eslint-disable-next-line no-undef export const Indicator = forwardRef & ComponentPropsWithRef<'svg'>>( function Indicator(props, ref) { const { indeterminate, checked } = useCheckboxContext() return ( Checkmark {indeterminate ? : checked ? : null} ) }, )