@yamada-ui/checkbox 1.3.3-dev-20250106092408 → 1.3.3-dev-20250106094135

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -833,7 +833,18 @@ var CheckboxCardGroup = (0, import_react5.forwardRef)(
833
833
  getContainerProps,
834
834
  onChange
835
835
  } = useCheckboxGroup(props);
836
- const { disabled, invalid, labelId, readOnly, required, ...rest } = (0, import_form_control4.useFormControl)(computedProps);
836
+ const {
837
+ disabled,
838
+ invalid,
839
+ isDisabled: _isDisabled,
840
+ isInvalid: _isInvalid,
841
+ isReadOnly: _isReadOnly,
842
+ isRequired: _isRequired,
843
+ labelId,
844
+ readOnly,
845
+ required,
846
+ ...rest
847
+ } = (0, import_form_control4.useFormControl)(computedProps);
837
848
  const validChildren = (0, import_utils9.getValidChildren)(children);
838
849
  let computedChildren = [];
839
850
  if (!validChildren.length && items.length)
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/checkbox-card-group.tsx","../src/checkbox-card.tsx","../src/checkbox.tsx","../src/checkbox-context.tsx","../src/use-checkbox.ts","../src/checkbox-card-addon.tsx","../src/checkbox-card-description.tsx","../src/checkbox-card-label.tsx","../src/use-checkbox-group.ts"],"sourcesContent":["import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { ForwardedRef, ReactElement, RefAttributes } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport type { CheckboxCardGroupContext } from \"./checkbox-context\"\nimport type { CheckboxGroupSharedProps } from \"./checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { CheckboxCard } from \"./checkbox-card\"\nimport { CheckboxCardGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport type CheckboxCardItem<Y extends number | string = string> =\n CheckboxCardProps<Y>\n\nexport interface CheckboxCardGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {\n /**\n * If provided, generate checkbox cards based on items.\n *\n * @default '[]'\n */\n items?: CheckboxCardItem<Y>[]\n}\n\n/**\n * `CheckboxCardGroup` is a component that groups `CheckboxCard` components.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox-card\n */\nexport const CheckboxCardGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"row\",\n gap = \"0.5rem\",\n items = [],\n withIcon = true,\n addonProps,\n descriptionProps,\n labelProps,\n ...props\n }: CheckboxCardGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const { disabled, invalid, labelId, readOnly, required, ...rest } =\n useFormControl(computedProps)\n const validChildren = getValidChildren(children)\n\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length)\n computedChildren = items.map((props, i) => (\n <CheckboxCard key={i} {...props} />\n ))\n\n return (\n <CheckboxCardGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n withIcon,\n addonProps,\n descriptionProps,\n labelProps,\n onChange,\n } as CheckboxCardGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-card-group\", className)}\n gap={gap}\n w=\"100%\"\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n direction={direction}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxCardGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxCardGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxCardGroup.displayName = \"CheckboxCardGroup\"\nCheckboxCardGroup.__ui__ = \"CheckboxCardGroup\"\n","import type { ComponentArgs, HTMLUIProps, ThemeProps } from \"@yamada-ui/core\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport type {\n ForwardedRef,\n InputHTMLAttributes,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from \"react\"\nimport type { CheckboxCardAddonProps } from \"./checkbox-card-addon\"\nimport type { CheckboxCardDescriptionProps } from \"./checkbox-card-description\"\nimport type { CheckboxCardLabelProps } from \"./checkbox-card-label\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { omitThemeProps, ui, useComponentMultiStyle } from \"@yamada-ui/core\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport {\n cx,\n findChild,\n funcAll,\n getValidChildren,\n isEmpty,\n omitChildren,\n} from \"@yamada-ui/utils\"\nimport { cloneElement, forwardRef } from \"react\"\nimport { CheckboxIcon } from \"./checkbox\"\nimport { CheckboxCardAddon } from \"./checkbox-card-addon\"\nimport { CheckboxCardDescription } from \"./checkbox-card-description\"\nimport { CheckboxCardLabel } from \"./checkbox-card-label\"\nimport { CheckboxCardProvider } from \"./checkbox-context\"\nimport { useCheckboxCardGroupContext } from \"./checkbox-context\"\nimport { useCheckbox } from \"./use-checkbox\"\n\ninterface CheckboxCardOptions {\n /**\n * The addon of the checkbox card.\n */\n addon?: ReactNode\n /**\n * The body of the checkbox card.\n */\n description?: ReactNode\n /**\n * The label of the checkbox card.\n */\n label?: ReactNode\n /**\n * If `true`, the icon will be displayed.\n *\n * @default true\n */\n withIcon?: boolean\n /**\n * Props for the footer of the checkbox card.\n */\n addonProps?: CheckboxCardAddonProps\n /**\n * Props for the description of the checkbox card.\n */\n descriptionProps?: CheckboxCardDescriptionProps\n /**\n * Props for the icon of the checkbox card.\n */\n iconProps?: { children: ReactElement } & Omit<HTMLUIProps, \"children\">\n /**\n * Props for input element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /**\n * Props for the label of the checkbox card.\n */\n labelProps?: CheckboxCardLabelProps\n}\n\nexport interface CheckboxCardProps<Y extends number | string = string>\n extends Merge<HTMLUIProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<\"CheckboxCard\">,\n CheckboxCardOptions {}\n\n/**\n * `CheckboxCard` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox-card\n */\nexport const CheckboxCard = forwardRef(\n <Y extends number | string = string>(\n props: CheckboxCardProps<Y>,\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const group = useCheckboxCardGroupContext()\n const { value: groupValue, ...groupProps } = { ...group }\n const control = useFormControl(props)\n const [styles, mergedProps] = useComponentMultiStyle(\"CheckboxCard\", {\n ...groupProps,\n ...props,\n })\n const {\n className,\n addon,\n children,\n description,\n disabled = groupProps.disabled ?? control.disabled,\n invalid = groupProps.invalid ?? control.invalid,\n label,\n readOnly = groupProps.readOnly ?? control.readOnly,\n required = groupProps.required ?? control.required,\n withIcon = true,\n addonProps,\n descriptionProps,\n iconProps,\n inputProps,\n labelProps,\n ...computedProps\n } = omitThemeProps(mergedProps)\n\n computedProps.checked ??= computedProps.isChecked\n\n const isCheckedProp =\n groupValue && computedProps.value\n ? groupValue.includes(computedProps.value)\n : computedProps.checked\n const onChange =\n groupProps.onChange && computedProps.value\n ? funcAll(groupProps.onChange, computedProps.onChange)\n : computedProps.onChange\n\n const {\n checked,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n } = useCheckbox({\n ...computedProps,\n disabled,\n invalid,\n isChecked: isCheckedProp,\n readOnly,\n required,\n onChange,\n })\n\n const { children: customIcon, ...resolvedIconProps } = { ...iconProps }\n const icon = cloneElement(customIcon ?? <CheckboxIcon />, {\n checked,\n disabled,\n invalid,\n isChecked: checked,\n isDisabled: disabled,\n isInvalid: invalid,\n isReadOnly: readOnly,\n isRequired: required,\n readOnly,\n required,\n __css: {\n opacity: checked ? 1 : 0,\n transform: checked ? \"scale(1)\" : \"scale(0.95)\",\n transitionDuration: \"normal\",\n transitionProperty: \"transform\",\n },\n })\n\n const validChildren = getValidChildren(children)\n const customLabel = findChild(validChildren, CheckboxCardLabel)\n const customDescription = findChild(validChildren, CheckboxCardDescription)\n const customAddon = findChild(validChildren, CheckboxCardAddon)\n\n const computedChildren = !isEmpty(validChildren)\n ? omitChildren(\n validChildren,\n CheckboxCardLabel,\n CheckboxCardDescription,\n CheckboxCardAddon,\n )\n : children\n\n return (\n <CheckboxCardProvider\n value={{\n icon,\n styles,\n withIcon,\n getIconProps,\n iconProps: resolvedIconProps,\n }}\n >\n <ui.label\n className={cx(\"ui-checkbox-card\", className)}\n {...getContainerProps(rest)}\n __css={{ ...styles.container }}\n >\n <ui.input\n className=\"ui-checkbox-card__input\"\n {...getInputProps(inputProps, ref)}\n />\n\n {customLabel ??\n (label ? (\n <CheckboxCardLabel {...labelProps}>{label}</CheckboxCardLabel>\n ) : null)}\n\n {customDescription ??\n (description ? (\n <CheckboxCardDescription {...descriptionProps}>\n {description}\n </CheckboxCardDescription>\n ) : null)}\n\n {customAddon ??\n (addon ? (\n <CheckboxCardAddon {...addonProps}>{addon}</CheckboxCardAddon>\n ) : null)}\n\n {computedChildren}\n </ui.label>\n </CheckboxCardProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxCardProps<Y> & RefAttributes<HTMLInputElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxCard.displayName = \"CheckboxCard\"\nCheckboxCard.__ui__ = \"CheckboxCard\"\n","import type {\n ComponentArgs,\n FC,\n HTMLUIProps,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { MotionProps } from \"@yamada-ui/motion\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport type {\n CSSProperties,\n ForwardedRef,\n InputHTMLAttributes,\n ReactElement,\n ReactNode,\n Ref,\n} from \"react\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { omitThemeProps, ui, useComponentMultiStyle } from \"@yamada-ui/core\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { AnimatePresence, motion } from \"@yamada-ui/motion\"\nimport { cx, funcAll } from \"@yamada-ui/utils\"\nimport { cloneElement, forwardRef } from \"react\"\nimport { useCheckboxGroupContext } from \"./checkbox-context\"\nimport { useCheckbox } from \"./use-checkbox\"\n\ninterface CheckboxOptions {\n /**\n * The label of the checkbox.\n */\n label?: ReactNode\n /**\n * Props for icon component.\n */\n iconProps?: { children: ReactElement } & Omit<HTMLUIProps, \"children\">\n /**\n * Props for input element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /**\n * Props for label element.\n */\n labelProps?: HTMLUIProps<\"span\">\n}\n\nexport interface CheckboxProps<Y extends number | string = string>\n extends Merge<HTMLUIProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<\"Checkbox\">,\n CheckboxOptions {}\n\n/**\n * `Checkbox` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox\n */\nexport const Checkbox = forwardRef(\n <Y extends number | string = string>(\n props: CheckboxProps<Y>,\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const group = useCheckboxGroupContext()\n const { value: groupValue, ...groupProps } = { ...group }\n const control = useFormControl(props)\n const [styles, mergedProps] = useComponentMultiStyle(\"Checkbox\", {\n ...groupProps,\n ...props,\n })\n const {\n className,\n children,\n disabled = groupProps.disabled ?? control.disabled,\n gap = \"0.5rem\",\n invalid = groupProps.invalid ?? control.invalid,\n label,\n readOnly = groupProps.readOnly ?? control.readOnly,\n required = groupProps.required ?? control.required,\n iconProps,\n inputProps,\n labelProps,\n ...computedProps\n } = omitThemeProps(mergedProps)\n\n computedProps.checked ??= computedProps.isChecked\n\n const checkedProp =\n groupValue && computedProps.value\n ? groupValue.includes(computedProps.value)\n : computedProps.checked\n const onChange =\n groupProps.onChange && computedProps.value\n ? funcAll(groupProps.onChange, computedProps.onChange)\n : computedProps.onChange\n\n const {\n checked,\n indeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n } = useCheckbox({\n ...computedProps,\n checked: checkedProp,\n disabled,\n invalid,\n readOnly,\n required,\n onChange,\n })\n\n const { children: customIcon, ...resolvedIconProps } = { ...iconProps }\n const icon = cloneElement(customIcon ?? <CheckboxIcon />, {\n checked,\n disabled,\n indeterminate,\n invalid,\n isDisabled: disabled,\n isIndeterminate: indeterminate,\n isInvalid: invalid,\n isReadOnly: readOnly,\n isRequired: required,\n readOnly,\n required,\n __css: {\n opacity: checked || indeterminate ? 1 : 0,\n transform: checked || indeterminate ? \"scale(1)\" : \"scale(0.95)\",\n transitionDuration: \"normal\",\n transitionProperty: \"transform\",\n },\n })\n\n return (\n <ui.label\n className={cx(\"ui-checkbox\", className)}\n {...getContainerProps()}\n __css={{\n alignItems: \"center\",\n cursor: \"pointer\",\n display: \"inline-flex\",\n gap,\n position: \"relative\",\n verticalAlign: \"top\",\n ...styles.container,\n }}\n {...rest}\n >\n <ui.input\n className=\"ui-checkbox__input\"\n {...getInputProps(inputProps, ref)}\n />\n\n <ui.div\n className=\"ui-checkbox__icon\"\n __css={{\n display: \"inline-block\",\n position: \"relative\",\n userSelect: \"none\",\n ...styles.icon,\n }}\n {...getIconProps(resolvedIconProps)}\n >\n {icon}\n </ui.div>\n\n <ui.span\n className=\"ui-checkbox__label\"\n __css={{ ...styles.label }}\n {...getLabelProps(labelProps)}\n >\n {children ?? label}\n </ui.span>\n </ui.label>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: { ref?: Ref<HTMLInputElement> } & CheckboxProps<Y>,\n ): ReactElement\n} & ComponentArgs\n\nCheckbox.displayName = \"Checkbox\"\nCheckbox.__ui__ = \"Checkbox\"\n\nexport type CheckboxIconProps = {\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n} & FormControlOptions &\n MotionProps<\"svg\">\n\nexport const CheckboxIcon: FC<CheckboxIconProps> = ({\n isChecked,\n checked = isChecked,\n disabled: _disabled,\n isIndeterminate,\n indeterminate = isIndeterminate,\n invalid: _invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n readOnly: _readOnly,\n required: _required,\n ...rest\n}) => {\n return (\n <AnimatePresence initial={false}>\n {indeterminate || checked ? (\n <ui.div\n __css={{\n left: \"50%\",\n position: \"absolute\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <motion.div\n style={\n {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n } as CSSProperties\n }\n animate=\"checked\"\n exit=\"unchecked\"\n initial=\"unchecked\"\n variants={{\n checked: { scale: 1 },\n unchecked: { scale: 0.5 },\n }}\n >\n {indeterminate ? (\n <CheckboxIndeterminateIcon {...rest} />\n ) : (\n <CheckboxCheckIcon {...rest} />\n )}\n </motion.div>\n </ui.div>\n ) : null}\n </AnimatePresence>\n )\n}\n\nCheckboxIcon.displayName = \"CheckboxIcon\"\nCheckboxIcon.__ui__ = \"CheckboxIcon\"\n\ninterface CheckboxCheckIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxCheckIcon: FC<CheckboxCheckIconProps> = (props) => {\n return (\n <motion.svg\n style={{\n fill: \"none\",\n stroke: \"currentColor\",\n strokeDasharray: 16,\n strokeWidth: 2,\n }}\n variants={{\n checked: {\n opacity: 1,\n strokeDashoffset: 0,\n transition: { duration: 0.2 },\n },\n unchecked: {\n opacity: 0,\n strokeDashoffset: 16,\n },\n }}\n viewBox=\"0 0 12 10\"\n width=\"1.2em\"\n {...props}\n >\n <polyline points=\"1.5 6 4.5 9 10.5 1\" />\n </motion.svg>\n )\n}\n\nCheckboxCheckIcon.displayName = \"CheckboxCheckIcon\"\nCheckboxCheckIcon.__ui__ = \"CheckboxCheckIcon\"\n\ninterface CheckboxIndeterminateIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxIndeterminateIcon: FC<CheckboxIndeterminateIconProps> = (\n props,\n) => {\n return (\n <motion.svg\n style={{ stroke: \"currentColor\", strokeWidth: 4 }}\n variants={{\n checked: {\n opacity: 1,\n scaleX: 1,\n transition: {\n opacity: { duration: 0.02 },\n scaleX: { duration: 0 },\n },\n },\n unchecked: {\n opacity: 0,\n scaleX: 0.65,\n },\n }}\n viewBox=\"0 0 24 24\"\n width=\"1.2em\"\n {...props}\n >\n <line x1=\"21\" x2=\"3\" y1=\"12\" y2=\"12\" />\n </motion.svg>\n )\n}\n\nCheckboxIndeterminateIcon.displayName = \"CheckboxIndeterminateIcon\"\nCheckboxIndeterminateIcon.__ui__ = \"CheckboxIndeterminateIcon\"\n","import type {\n CSSUIObject,\n HTMLUIProps,\n PropGetter,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { ChangeEvent, ReactElement } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport { createContext } from \"@yamada-ui/utils\"\n\ninterface CheckboxGroupSharedContext extends FormControlOptions {\n value: (number | string)[]\n onChange: (evOrValue: ChangeEvent<HTMLInputElement> | number | string) => void\n}\n\nexport interface CheckboxGroupContext\n extends CheckboxGroupSharedContext,\n ThemeProps<\"Checkbox\">,\n FormControlOptions {}\n\nexport const [CheckboxGroupProvider, useCheckboxGroupContext] =\n createContext<CheckboxGroupContext>({\n name: \"CheckboxGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardGroupContext\n extends CheckboxGroupSharedContext,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {}\n\nexport const [CheckboxCardGroupProvider, useCheckboxCardGroupContext] =\n createContext<CheckboxCardGroupContext>({\n name: \"CheckboxCardGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardContext {\n icon: ReactElement\n styles: { [key: string]: CSSUIObject | undefined }\n withIcon: boolean\n getIconProps: PropGetter\n iconProps?: HTMLUIProps\n}\n\nexport const [CheckboxCardProvider, useCheckboxCardContext] =\n createContext<CheckboxCardContext>({\n name: \"CheckboxCardContext\",\n errorMessage: `useCheckboxCardContext returned is 'undefined'. Seems you forgot to wrap the components in \"<CheckboxCard />\"`,\n })\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEvent,\n SyntheticEvent,\n} from \"react\"\nimport {\n formControlProperties,\n useFormControlProps,\n} from \"@yamada-ui/form-control\"\nimport { trackFocusVisible } from \"@yamada-ui/use-focus-visible\"\nimport {\n dataAttr,\n handlerAll,\n mergeRefs,\n splitObject,\n useCallbackRef,\n useSafeLayoutEffect,\n useUpdateEffect,\n} from \"@yamada-ui/utils\"\nimport { useCallback, useEffect, useId, useRef, useState } from \"react\"\n\nexport interface UseCheckboxProps<Y extends number | string = string>\n extends FormControlOptions {\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * The HTML `name` attribute used for forms.\n */\n name?: string\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n *\n * @deprecated Use `defaultChecked` instead.\n */\n defaultIsChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n /**\n * If `true`, the checkbox will be selected when the Enter key is pressed.\n *\n * @default false\n */\n selectOnEnter?: boolean\n /**\n * The tab-index property of the underlying input element.\n */\n tabIndex?: number\n /**\n * The value to be used in the checkbox input.\n */\n value?: Y\n /**\n * The callback invoked when the checkbox is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checkbox is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useCheckbox = <\n Y extends number | string = string,\n M extends Dict = Dict,\n>({\n id,\n ...props\n}: M & UseCheckboxProps<Y>) => {\n const uuid = useId()\n\n id ??= uuid\n\n const {\n id: _id,\n name,\n isChecked,\n checked: checkedProp = isChecked,\n defaultIsChecked,\n defaultChecked = defaultIsChecked,\n isIndeterminate,\n indeterminate = isIndeterminate,\n selectOnEnter,\n tabIndex,\n value,\n onChange: onChangeProp,\n ...computedProps\n } = useFormControlProps({ id, ...props })\n const [\n {\n \"aria-readonly\": _ariaReadonly,\n disabled,\n readOnly,\n required,\n onBlur: onBlurProp,\n onFocus: onFocusProp,\n ...formControlProps\n },\n rest,\n ] = splitObject(computedProps, formControlProperties)\n const [focusVisible, setFocusVisible] = useState<boolean>(false)\n const [focused, setFocused] = useState<boolean>(false)\n const [hovered, setHovered] = useState<boolean>(false)\n const [active, setActive] = useState<boolean>(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const [label, setLabel] = useState<boolean>(true)\n const [checked, setIsChecked] = useState<boolean>(!!defaultChecked)\n const controlled = checkedProp !== undefined\n const resolvedChecked = controlled ? (checkedProp as boolean) : checked\n\n const onChange = useCallbackRef(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (readOnly || disabled) {\n ev.preventDefault()\n\n return\n }\n\n if (!controlled)\n setIsChecked(\n !resolvedChecked || indeterminate ? true : ev.target.checked,\n )\n\n onChangeProp?.(ev)\n },\n [readOnly, disabled, controlled, resolvedChecked, indeterminate],\n )\n const onFocus = useCallbackRef(onFocusProp)\n const onBlur = useCallbackRef(onBlurProp)\n\n const onKeyDown = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(true)\n\n if (selectOnEnter && key === \"Enter\") inputRef.current?.click()\n },\n [setActive, selectOnEnter],\n )\n\n const onKeyUp = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(false)\n },\n [setActive],\n )\n\n useEffect(() => {\n return trackFocusVisible(setFocusVisible)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (inputRef.current)\n inputRef.current.indeterminate = Boolean(isIndeterminate)\n }, [isIndeterminate])\n\n useUpdateEffect(() => {\n if (disabled) setFocused(false)\n }, [disabled, setFocused])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current?.form) return\n\n inputRef.current.form.onreset = () => setIsChecked(!!defaultChecked)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current) return\n\n if (inputRef.current.checked !== resolvedChecked)\n setIsChecked(inputRef.current.checked)\n }, [inputRef.current])\n\n const getContainerProps: PropGetter<\"label\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref: mergeRefs(ref, (el: HTMLElement | undefined) => {\n if (el) setLabel(el.tagName === \"LABEL\")\n }),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n onClick: handlerAll(props.onClick, () => {\n if (label) return\n\n inputRef.current?.click()\n\n requestAnimationFrame(() => inputRef.current?.focus())\n }),\n }),\n [resolvedChecked, label, focused, focusVisible, formControlProps],\n )\n\n const getIconProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"aria-hidden\": true,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n \"data-hover\": dataAttr(hovered),\n \"data-indeterminate\": dataAttr(indeterminate),\n onMouseDown: handlerAll(props.onMouseDown, (ev: React.MouseEvent) => {\n if (focused) ev.preventDefault()\n\n setActive(true)\n }),\n onMouseEnter: handlerAll(props.onMouseEnter, () => setHovered(true)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => setHovered(false)),\n onMouseUp: handlerAll(props.onMouseUp, () => setActive(false)),\n }),\n [\n active,\n resolvedChecked,\n focused,\n hovered,\n focusVisible,\n indeterminate,\n formControlProps,\n ],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n id,\n ref: mergeRefs(inputRef, ref),\n type: \"checkbox\",\n name,\n style: {\n border: \"0px\",\n clip: \"rect(0px, 0px, 0px, 0px)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: \"0px\",\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n },\n \"aria-checked\": indeterminate ? \"mixed\" : resolvedChecked,\n checked: resolvedChecked,\n disabled,\n readOnly,\n required,\n tabIndex,\n value,\n onBlur: handlerAll(props.onBlur, onBlur, () => setFocused(false)),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, onFocus, () => setFocused(true)),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n onKeyUp: handlerAll(props.onKeyUp, onKeyUp),\n }),\n [\n indeterminate,\n formControlProps,\n id,\n name,\n value,\n tabIndex,\n required,\n disabled,\n readOnly,\n resolvedChecked,\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n ],\n )\n\n const getLabelProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"data-checked\": dataAttr(resolvedChecked),\n onMouseDown: handlerAll(props.onMouseDown, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n onTouchStart: handlerAll(props.onTouchStart, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n }),\n [resolvedChecked, formControlProps],\n )\n\n return {\n active,\n checked: resolvedChecked,\n focused,\n focusVisible,\n hovered,\n indeterminate,\n /**\n * @deprecated Use `active` instead.\n */\n isActive: active,\n /**\n * @deprecated Use `checked` instead.\n */\n isChecked: resolvedChecked,\n /**\n * @deprecated Use `focused` instead.\n */\n isFocused: focused,\n /**\n * @deprecated Use `focusVisible` instead.\n */\n isFocusVisible: focusVisible,\n /**\n * @deprecated Use `hovered` instead.\n */\n isHovered: hovered,\n /**\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n }\n}\n\nexport type UseCheckboxReturn = ReturnType<typeof useCheckbox>\n","import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardAddonProps extends HTMLUIProps {}\n\nexport const CheckboxCardAddon = forwardRef<CheckboxCardAddonProps, \"div\">(\n ({ className, ...rest }, ref) => {\n const { styles } = useCheckboxCardContext()\n\n const css: CSSUIObject = { ...styles.addon }\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__addon\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n\nCheckboxCardAddon.displayName = \"CheckboxCardAddon\"\nCheckboxCardAddon.__ui__ = \"CheckboxCardAddon\"\n","import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardDescriptionProps extends HTMLUIProps {}\n\nexport const CheckboxCardDescription = forwardRef<\n CheckboxCardDescriptionProps,\n \"div\"\n>(({ className, ...rest }, ref) => {\n const { styles } = useCheckboxCardContext()\n\n const css: CSSUIObject = { ...styles.description }\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__description\", className)}\n __css={css}\n {...rest}\n />\n )\n})\n\nCheckboxCardDescription.displayName = \"CheckboxCardDescription\"\nCheckboxCardDescription.__ui__ = \"CheckboxCardDescription\"\n","import type { HTMLUIProps } from \"@yamada-ui/core\"\nimport type { ReactElement } from \"react\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardLabelProps extends HTMLUIProps {\n /**\n * The icon of the checkbox card.\n */\n icon?: ReactElement\n /**\n * If `true`, the icon will be displayed.\n *\n * @default true\n */\n withIcon?: boolean\n /**\n * The props for the label content.\n */\n contentProps?: HTMLUIProps<\"span\">\n /**\n * The props for the icon.\n */\n iconProps?: HTMLUIProps\n}\n\nexport const CheckboxCardLabel = forwardRef<CheckboxCardLabelProps, \"div\">(\n (\n {\n className,\n children,\n icon: iconProp,\n withIcon,\n contentProps,\n iconProps,\n ...rest\n },\n ref,\n ) => {\n const {\n icon,\n styles,\n withIcon: defaultWithIcon,\n getIconProps,\n iconProps: defaultIconProps,\n } = useCheckboxCardContext()\n\n withIcon ??= defaultWithIcon\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__label\", className)}\n __css={{ ...styles.label }}\n {...rest}\n >\n <ui.span\n className=\"ui-checkbox-card__label-content\"\n __css={{ ...styles.labelContent }}\n {...contentProps}\n >\n {children}\n </ui.span>\n\n {withIcon ? (\n <ui.div\n className=\"ui-checkbox-card__icon\"\n __css={{ ...styles.icon }}\n {...getIconProps({ ...defaultIconProps, ...iconProps })}\n >\n {iconProp ?? icon}\n </ui.div>\n ) : null}\n </ui.div>\n )\n },\n)\n\nCheckboxCardLabel.displayName = \"CheckboxCardLabel\"\nCheckboxCardLabel.__ui__ = \"CheckboxCardLabel\"\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ChangeEvent, ReactNode } from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport { useControllableState } from \"@yamada-ui/use-controllable-state\"\nimport { isObject, useCallbackRef } from \"@yamada-ui/utils\"\nimport { useCallback } from \"react\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nconst isEvent = (value: any): value is { target: HTMLInputElement } =>\n value && isObject(value) && isObject(value.target)\n\nexport interface UseCheckboxGroupProps<Y extends number | string = string> {\n /**\n * The initial value of the checkbox group.\n */\n defaultValue?: Y[]\n /**\n * If `true`, input elements will receive `checked` attribute instead of `isChecked`.\n *\n * This assumes, you're using native radio inputs.\n *\n * @default false\n *\n * @deprecated It will be deprecated in version 2.0.\n */\n isNative?: boolean\n /**\n * The value of the checkbox group.\n */\n value?: Y[]\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: Y[]) => void\n}\n\nexport const useCheckboxGroup = <\n Y extends number | string,\n M extends Dict = Dict,\n>({\n defaultValue = [],\n isNative,\n value: valueProp,\n onChange: onChangeProp,\n ...props\n}: M & UseCheckboxGroupProps<Y>) => {\n const onChangeRef = useCallbackRef(onChangeProp)\n\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeRef,\n })\n\n const onChange = useCallback(\n (evOrValue: ChangeEvent<HTMLInputElement> | Y) => {\n const isChecked = isEvent(evOrValue)\n ? evOrValue.target.checked\n : !value.includes(evOrValue)\n\n const selectedValue = (\n isEvent(evOrValue) ? evOrValue.target.value : evOrValue\n ) as Y\n\n const nextValue = isChecked\n ? [...value, selectedValue]\n : value.filter((v) => String(v) !== String(selectedValue))\n\n setValue(nextValue)\n },\n [value, setValue],\n )\n\n const getContainerProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n role: \"group\",\n ...props,\n ref,\n }),\n [],\n )\n\n const getCheckboxProps: PropGetter<\n { value?: Y },\n { checked?: boolean; isChecked?: boolean; value?: Y }\n > = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n ref,\n [isNative ? \"checked\" : \"isChecked\"]: value.some(\n (val) => String(props.value) === String(val),\n ),\n onChange,\n }),\n [onChange, isNative, value],\n )\n\n return {\n props,\n setValue,\n value,\n getCheckboxProps,\n getContainerProps,\n onChange,\n }\n}\n\nexport type UseCheckboxGroupReturn<Y extends number | string = string> =\n ReturnType<typeof useCheckboxGroup<Y>>\n"],"mappings":"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","names":["import_form_control","import_utils","import_react","import_core","import_form_control","import_utils","import_react","import_form_control","import_utils","import_react","import_utils","props","_a","import_core","import_utils","import_jsx_runtime","import_core","import_utils","import_jsx_runtime","import_core","import_utils","import_jsx_runtime","import_jsx_runtime","import_utils","import_react","props","import_jsx_runtime","props"]}
1
+ {"version":3,"sources":["../src/checkbox-card-group.tsx","../src/checkbox-card.tsx","../src/checkbox.tsx","../src/checkbox-context.tsx","../src/use-checkbox.ts","../src/checkbox-card-addon.tsx","../src/checkbox-card-description.tsx","../src/checkbox-card-label.tsx","../src/use-checkbox-group.ts"],"sourcesContent":["import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { ForwardedRef, ReactElement, RefAttributes } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport type { CheckboxCardGroupContext } from \"./checkbox-context\"\nimport type { CheckboxGroupSharedProps } from \"./checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { CheckboxCard } from \"./checkbox-card\"\nimport { CheckboxCardGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport type CheckboxCardItem<Y extends number | string = string> =\n CheckboxCardProps<Y>\n\nexport interface CheckboxCardGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {\n /**\n * If provided, generate checkbox cards based on items.\n *\n * @default '[]'\n */\n items?: CheckboxCardItem<Y>[]\n}\n\n/**\n * `CheckboxCardGroup` is a component that groups `CheckboxCard` components.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox-card\n */\nexport const CheckboxCardGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"row\",\n gap = \"0.5rem\",\n items = [],\n withIcon = true,\n addonProps,\n descriptionProps,\n labelProps,\n ...props\n }: CheckboxCardGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const {\n disabled,\n invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n labelId,\n readOnly,\n required,\n ...rest\n } = useFormControl(computedProps)\n const validChildren = getValidChildren(children)\n\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length)\n computedChildren = items.map((props, i) => (\n <CheckboxCard key={i} {...props} />\n ))\n\n return (\n <CheckboxCardGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n withIcon,\n addonProps,\n descriptionProps,\n labelProps,\n onChange,\n } as CheckboxCardGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-card-group\", className)}\n gap={gap}\n w=\"100%\"\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n direction={direction}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxCardGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxCardGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxCardGroup.displayName = \"CheckboxCardGroup\"\nCheckboxCardGroup.__ui__ = \"CheckboxCardGroup\"\n","import type { ComponentArgs, HTMLUIProps, ThemeProps } from \"@yamada-ui/core\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport type {\n ForwardedRef,\n InputHTMLAttributes,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from \"react\"\nimport type { CheckboxCardAddonProps } from \"./checkbox-card-addon\"\nimport type { CheckboxCardDescriptionProps } from \"./checkbox-card-description\"\nimport type { CheckboxCardLabelProps } from \"./checkbox-card-label\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { omitThemeProps, ui, useComponentMultiStyle } from \"@yamada-ui/core\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport {\n cx,\n findChild,\n funcAll,\n getValidChildren,\n isEmpty,\n omitChildren,\n} from \"@yamada-ui/utils\"\nimport { cloneElement, forwardRef } from \"react\"\nimport { CheckboxIcon } from \"./checkbox\"\nimport { CheckboxCardAddon } from \"./checkbox-card-addon\"\nimport { CheckboxCardDescription } from \"./checkbox-card-description\"\nimport { CheckboxCardLabel } from \"./checkbox-card-label\"\nimport { CheckboxCardProvider } from \"./checkbox-context\"\nimport { useCheckboxCardGroupContext } from \"./checkbox-context\"\nimport { useCheckbox } from \"./use-checkbox\"\n\ninterface CheckboxCardOptions {\n /**\n * The addon of the checkbox card.\n */\n addon?: ReactNode\n /**\n * The body of the checkbox card.\n */\n description?: ReactNode\n /**\n * The label of the checkbox card.\n */\n label?: ReactNode\n /**\n * If `true`, the icon will be displayed.\n *\n * @default true\n */\n withIcon?: boolean\n /**\n * Props for the footer of the checkbox card.\n */\n addonProps?: CheckboxCardAddonProps\n /**\n * Props for the description of the checkbox card.\n */\n descriptionProps?: CheckboxCardDescriptionProps\n /**\n * Props for the icon of the checkbox card.\n */\n iconProps?: { children: ReactElement } & Omit<HTMLUIProps, \"children\">\n /**\n * Props for input element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /**\n * Props for the label of the checkbox card.\n */\n labelProps?: CheckboxCardLabelProps\n}\n\nexport interface CheckboxCardProps<Y extends number | string = string>\n extends Merge<HTMLUIProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<\"CheckboxCard\">,\n CheckboxCardOptions {}\n\n/**\n * `CheckboxCard` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox-card\n */\nexport const CheckboxCard = forwardRef(\n <Y extends number | string = string>(\n props: CheckboxCardProps<Y>,\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const group = useCheckboxCardGroupContext()\n const { value: groupValue, ...groupProps } = { ...group }\n const control = useFormControl(props)\n const [styles, mergedProps] = useComponentMultiStyle(\"CheckboxCard\", {\n ...groupProps,\n ...props,\n })\n const {\n className,\n addon,\n children,\n description,\n disabled = groupProps.disabled ?? control.disabled,\n invalid = groupProps.invalid ?? control.invalid,\n label,\n readOnly = groupProps.readOnly ?? control.readOnly,\n required = groupProps.required ?? control.required,\n withIcon = true,\n addonProps,\n descriptionProps,\n iconProps,\n inputProps,\n labelProps,\n ...computedProps\n } = omitThemeProps(mergedProps)\n\n computedProps.checked ??= computedProps.isChecked\n\n const isCheckedProp =\n groupValue && computedProps.value\n ? groupValue.includes(computedProps.value)\n : computedProps.checked\n const onChange =\n groupProps.onChange && computedProps.value\n ? funcAll(groupProps.onChange, computedProps.onChange)\n : computedProps.onChange\n\n const {\n checked,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n } = useCheckbox({\n ...computedProps,\n disabled,\n invalid,\n isChecked: isCheckedProp,\n readOnly,\n required,\n onChange,\n })\n\n const { children: customIcon, ...resolvedIconProps } = { ...iconProps }\n const icon = cloneElement(customIcon ?? <CheckboxIcon />, {\n checked,\n disabled,\n invalid,\n isChecked: checked,\n isDisabled: disabled,\n isInvalid: invalid,\n isReadOnly: readOnly,\n isRequired: required,\n readOnly,\n required,\n __css: {\n opacity: checked ? 1 : 0,\n transform: checked ? \"scale(1)\" : \"scale(0.95)\",\n transitionDuration: \"normal\",\n transitionProperty: \"transform\",\n },\n })\n\n const validChildren = getValidChildren(children)\n const customLabel = findChild(validChildren, CheckboxCardLabel)\n const customDescription = findChild(validChildren, CheckboxCardDescription)\n const customAddon = findChild(validChildren, CheckboxCardAddon)\n\n const computedChildren = !isEmpty(validChildren)\n ? omitChildren(\n validChildren,\n CheckboxCardLabel,\n CheckboxCardDescription,\n CheckboxCardAddon,\n )\n : children\n\n return (\n <CheckboxCardProvider\n value={{\n icon,\n styles,\n withIcon,\n getIconProps,\n iconProps: resolvedIconProps,\n }}\n >\n <ui.label\n className={cx(\"ui-checkbox-card\", className)}\n {...getContainerProps(rest)}\n __css={{ ...styles.container }}\n >\n <ui.input\n className=\"ui-checkbox-card__input\"\n {...getInputProps(inputProps, ref)}\n />\n\n {customLabel ??\n (label ? (\n <CheckboxCardLabel {...labelProps}>{label}</CheckboxCardLabel>\n ) : null)}\n\n {customDescription ??\n (description ? (\n <CheckboxCardDescription {...descriptionProps}>\n {description}\n </CheckboxCardDescription>\n ) : null)}\n\n {customAddon ??\n (addon ? (\n <CheckboxCardAddon {...addonProps}>{addon}</CheckboxCardAddon>\n ) : null)}\n\n {computedChildren}\n </ui.label>\n </CheckboxCardProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxCardProps<Y> & RefAttributes<HTMLInputElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxCard.displayName = \"CheckboxCard\"\nCheckboxCard.__ui__ = \"CheckboxCard\"\n","import type {\n ComponentArgs,\n FC,\n HTMLUIProps,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { MotionProps } from \"@yamada-ui/motion\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport type {\n CSSProperties,\n ForwardedRef,\n InputHTMLAttributes,\n ReactElement,\n ReactNode,\n Ref,\n} from \"react\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { omitThemeProps, ui, useComponentMultiStyle } from \"@yamada-ui/core\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { AnimatePresence, motion } from \"@yamada-ui/motion\"\nimport { cx, funcAll } from \"@yamada-ui/utils\"\nimport { cloneElement, forwardRef } from \"react\"\nimport { useCheckboxGroupContext } from \"./checkbox-context\"\nimport { useCheckbox } from \"./use-checkbox\"\n\ninterface CheckboxOptions {\n /**\n * The label of the checkbox.\n */\n label?: ReactNode\n /**\n * Props for icon component.\n */\n iconProps?: { children: ReactElement } & Omit<HTMLUIProps, \"children\">\n /**\n * Props for input element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /**\n * Props for label element.\n */\n labelProps?: HTMLUIProps<\"span\">\n}\n\nexport interface CheckboxProps<Y extends number | string = string>\n extends Merge<HTMLUIProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<\"Checkbox\">,\n CheckboxOptions {}\n\n/**\n * `Checkbox` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox\n */\nexport const Checkbox = forwardRef(\n <Y extends number | string = string>(\n props: CheckboxProps<Y>,\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const group = useCheckboxGroupContext()\n const { value: groupValue, ...groupProps } = { ...group }\n const control = useFormControl(props)\n const [styles, mergedProps] = useComponentMultiStyle(\"Checkbox\", {\n ...groupProps,\n ...props,\n })\n const {\n className,\n children,\n disabled = groupProps.disabled ?? control.disabled,\n gap = \"0.5rem\",\n invalid = groupProps.invalid ?? control.invalid,\n label,\n readOnly = groupProps.readOnly ?? control.readOnly,\n required = groupProps.required ?? control.required,\n iconProps,\n inputProps,\n labelProps,\n ...computedProps\n } = omitThemeProps(mergedProps)\n\n computedProps.checked ??= computedProps.isChecked\n\n const checkedProp =\n groupValue && computedProps.value\n ? groupValue.includes(computedProps.value)\n : computedProps.checked\n const onChange =\n groupProps.onChange && computedProps.value\n ? funcAll(groupProps.onChange, computedProps.onChange)\n : computedProps.onChange\n\n const {\n checked,\n indeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n } = useCheckbox({\n ...computedProps,\n checked: checkedProp,\n disabled,\n invalid,\n readOnly,\n required,\n onChange,\n })\n\n const { children: customIcon, ...resolvedIconProps } = { ...iconProps }\n const icon = cloneElement(customIcon ?? <CheckboxIcon />, {\n checked,\n disabled,\n indeterminate,\n invalid,\n isDisabled: disabled,\n isIndeterminate: indeterminate,\n isInvalid: invalid,\n isReadOnly: readOnly,\n isRequired: required,\n readOnly,\n required,\n __css: {\n opacity: checked || indeterminate ? 1 : 0,\n transform: checked || indeterminate ? \"scale(1)\" : \"scale(0.95)\",\n transitionDuration: \"normal\",\n transitionProperty: \"transform\",\n },\n })\n\n return (\n <ui.label\n className={cx(\"ui-checkbox\", className)}\n {...getContainerProps()}\n __css={{\n alignItems: \"center\",\n cursor: \"pointer\",\n display: \"inline-flex\",\n gap,\n position: \"relative\",\n verticalAlign: \"top\",\n ...styles.container,\n }}\n {...rest}\n >\n <ui.input\n className=\"ui-checkbox__input\"\n {...getInputProps(inputProps, ref)}\n />\n\n <ui.div\n className=\"ui-checkbox__icon\"\n __css={{\n display: \"inline-block\",\n position: \"relative\",\n userSelect: \"none\",\n ...styles.icon,\n }}\n {...getIconProps(resolvedIconProps)}\n >\n {icon}\n </ui.div>\n\n <ui.span\n className=\"ui-checkbox__label\"\n __css={{ ...styles.label }}\n {...getLabelProps(labelProps)}\n >\n {children ?? label}\n </ui.span>\n </ui.label>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: { ref?: Ref<HTMLInputElement> } & CheckboxProps<Y>,\n ): ReactElement\n} & ComponentArgs\n\nCheckbox.displayName = \"Checkbox\"\nCheckbox.__ui__ = \"Checkbox\"\n\nexport type CheckboxIconProps = {\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n} & FormControlOptions &\n MotionProps<\"svg\">\n\nexport const CheckboxIcon: FC<CheckboxIconProps> = ({\n isChecked,\n checked = isChecked,\n disabled: _disabled,\n isIndeterminate,\n indeterminate = isIndeterminate,\n invalid: _invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n readOnly: _readOnly,\n required: _required,\n ...rest\n}) => {\n return (\n <AnimatePresence initial={false}>\n {indeterminate || checked ? (\n <ui.div\n __css={{\n left: \"50%\",\n position: \"absolute\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <motion.div\n style={\n {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n } as CSSProperties\n }\n animate=\"checked\"\n exit=\"unchecked\"\n initial=\"unchecked\"\n variants={{\n checked: { scale: 1 },\n unchecked: { scale: 0.5 },\n }}\n >\n {indeterminate ? (\n <CheckboxIndeterminateIcon {...rest} />\n ) : (\n <CheckboxCheckIcon {...rest} />\n )}\n </motion.div>\n </ui.div>\n ) : null}\n </AnimatePresence>\n )\n}\n\nCheckboxIcon.displayName = \"CheckboxIcon\"\nCheckboxIcon.__ui__ = \"CheckboxIcon\"\n\ninterface CheckboxCheckIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxCheckIcon: FC<CheckboxCheckIconProps> = (props) => {\n return (\n <motion.svg\n style={{\n fill: \"none\",\n stroke: \"currentColor\",\n strokeDasharray: 16,\n strokeWidth: 2,\n }}\n variants={{\n checked: {\n opacity: 1,\n strokeDashoffset: 0,\n transition: { duration: 0.2 },\n },\n unchecked: {\n opacity: 0,\n strokeDashoffset: 16,\n },\n }}\n viewBox=\"0 0 12 10\"\n width=\"1.2em\"\n {...props}\n >\n <polyline points=\"1.5 6 4.5 9 10.5 1\" />\n </motion.svg>\n )\n}\n\nCheckboxCheckIcon.displayName = \"CheckboxCheckIcon\"\nCheckboxCheckIcon.__ui__ = \"CheckboxCheckIcon\"\n\ninterface CheckboxIndeterminateIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxIndeterminateIcon: FC<CheckboxIndeterminateIconProps> = (\n props,\n) => {\n return (\n <motion.svg\n style={{ stroke: \"currentColor\", strokeWidth: 4 }}\n variants={{\n checked: {\n opacity: 1,\n scaleX: 1,\n transition: {\n opacity: { duration: 0.02 },\n scaleX: { duration: 0 },\n },\n },\n unchecked: {\n opacity: 0,\n scaleX: 0.65,\n },\n }}\n viewBox=\"0 0 24 24\"\n width=\"1.2em\"\n {...props}\n >\n <line x1=\"21\" x2=\"3\" y1=\"12\" y2=\"12\" />\n </motion.svg>\n )\n}\n\nCheckboxIndeterminateIcon.displayName = \"CheckboxIndeterminateIcon\"\nCheckboxIndeterminateIcon.__ui__ = \"CheckboxIndeterminateIcon\"\n","import type {\n CSSUIObject,\n HTMLUIProps,\n PropGetter,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { ChangeEvent, ReactElement } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport { createContext } from \"@yamada-ui/utils\"\n\ninterface CheckboxGroupSharedContext extends FormControlOptions {\n value: (number | string)[]\n onChange: (evOrValue: ChangeEvent<HTMLInputElement> | number | string) => void\n}\n\nexport interface CheckboxGroupContext\n extends CheckboxGroupSharedContext,\n ThemeProps<\"Checkbox\">,\n FormControlOptions {}\n\nexport const [CheckboxGroupProvider, useCheckboxGroupContext] =\n createContext<CheckboxGroupContext>({\n name: \"CheckboxGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardGroupContext\n extends CheckboxGroupSharedContext,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {}\n\nexport const [CheckboxCardGroupProvider, useCheckboxCardGroupContext] =\n createContext<CheckboxCardGroupContext>({\n name: \"CheckboxCardGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardContext {\n icon: ReactElement\n styles: { [key: string]: CSSUIObject | undefined }\n withIcon: boolean\n getIconProps: PropGetter\n iconProps?: HTMLUIProps\n}\n\nexport const [CheckboxCardProvider, useCheckboxCardContext] =\n createContext<CheckboxCardContext>({\n name: \"CheckboxCardContext\",\n errorMessage: `useCheckboxCardContext returned is 'undefined'. Seems you forgot to wrap the components in \"<CheckboxCard />\"`,\n })\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEvent,\n SyntheticEvent,\n} from \"react\"\nimport {\n formControlProperties,\n useFormControlProps,\n} from \"@yamada-ui/form-control\"\nimport { trackFocusVisible } from \"@yamada-ui/use-focus-visible\"\nimport {\n dataAttr,\n handlerAll,\n mergeRefs,\n splitObject,\n useCallbackRef,\n useSafeLayoutEffect,\n useUpdateEffect,\n} from \"@yamada-ui/utils\"\nimport { useCallback, useEffect, useId, useRef, useState } from \"react\"\n\nexport interface UseCheckboxProps<Y extends number | string = string>\n extends FormControlOptions {\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * The HTML `name` attribute used for forms.\n */\n name?: string\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n *\n * @deprecated Use `defaultChecked` instead.\n */\n defaultIsChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n /**\n * If `true`, the checkbox will be selected when the Enter key is pressed.\n *\n * @default false\n */\n selectOnEnter?: boolean\n /**\n * The tab-index property of the underlying input element.\n */\n tabIndex?: number\n /**\n * The value to be used in the checkbox input.\n */\n value?: Y\n /**\n * The callback invoked when the checkbox is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checkbox is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useCheckbox = <\n Y extends number | string = string,\n M extends Dict = Dict,\n>({\n id,\n ...props\n}: M & UseCheckboxProps<Y>) => {\n const uuid = useId()\n\n id ??= uuid\n\n const {\n id: _id,\n name,\n isChecked,\n checked: checkedProp = isChecked,\n defaultIsChecked,\n defaultChecked = defaultIsChecked,\n isIndeterminate,\n indeterminate = isIndeterminate,\n selectOnEnter,\n tabIndex,\n value,\n onChange: onChangeProp,\n ...computedProps\n } = useFormControlProps({ id, ...props })\n const [\n {\n \"aria-readonly\": _ariaReadonly,\n disabled,\n readOnly,\n required,\n onBlur: onBlurProp,\n onFocus: onFocusProp,\n ...formControlProps\n },\n rest,\n ] = splitObject(computedProps, formControlProperties)\n const [focusVisible, setFocusVisible] = useState<boolean>(false)\n const [focused, setFocused] = useState<boolean>(false)\n const [hovered, setHovered] = useState<boolean>(false)\n const [active, setActive] = useState<boolean>(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const [label, setLabel] = useState<boolean>(true)\n const [checked, setIsChecked] = useState<boolean>(!!defaultChecked)\n const controlled = checkedProp !== undefined\n const resolvedChecked = controlled ? (checkedProp as boolean) : checked\n\n const onChange = useCallbackRef(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (readOnly || disabled) {\n ev.preventDefault()\n\n return\n }\n\n if (!controlled)\n setIsChecked(\n !resolvedChecked || indeterminate ? true : ev.target.checked,\n )\n\n onChangeProp?.(ev)\n },\n [readOnly, disabled, controlled, resolvedChecked, indeterminate],\n )\n const onFocus = useCallbackRef(onFocusProp)\n const onBlur = useCallbackRef(onBlurProp)\n\n const onKeyDown = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(true)\n\n if (selectOnEnter && key === \"Enter\") inputRef.current?.click()\n },\n [setActive, selectOnEnter],\n )\n\n const onKeyUp = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(false)\n },\n [setActive],\n )\n\n useEffect(() => {\n return trackFocusVisible(setFocusVisible)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (inputRef.current)\n inputRef.current.indeterminate = Boolean(isIndeterminate)\n }, [isIndeterminate])\n\n useUpdateEffect(() => {\n if (disabled) setFocused(false)\n }, [disabled, setFocused])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current?.form) return\n\n inputRef.current.form.onreset = () => setIsChecked(!!defaultChecked)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current) return\n\n if (inputRef.current.checked !== resolvedChecked)\n setIsChecked(inputRef.current.checked)\n }, [inputRef.current])\n\n const getContainerProps: PropGetter<\"label\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref: mergeRefs(ref, (el: HTMLElement | undefined) => {\n if (el) setLabel(el.tagName === \"LABEL\")\n }),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n onClick: handlerAll(props.onClick, () => {\n if (label) return\n\n inputRef.current?.click()\n\n requestAnimationFrame(() => inputRef.current?.focus())\n }),\n }),\n [resolvedChecked, label, focused, focusVisible, formControlProps],\n )\n\n const getIconProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"aria-hidden\": true,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n \"data-hover\": dataAttr(hovered),\n \"data-indeterminate\": dataAttr(indeterminate),\n onMouseDown: handlerAll(props.onMouseDown, (ev: React.MouseEvent) => {\n if (focused) ev.preventDefault()\n\n setActive(true)\n }),\n onMouseEnter: handlerAll(props.onMouseEnter, () => setHovered(true)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => setHovered(false)),\n onMouseUp: handlerAll(props.onMouseUp, () => setActive(false)),\n }),\n [\n active,\n resolvedChecked,\n focused,\n hovered,\n focusVisible,\n indeterminate,\n formControlProps,\n ],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n id,\n ref: mergeRefs(inputRef, ref),\n type: \"checkbox\",\n name,\n style: {\n border: \"0px\",\n clip: \"rect(0px, 0px, 0px, 0px)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: \"0px\",\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n },\n \"aria-checked\": indeterminate ? \"mixed\" : resolvedChecked,\n checked: resolvedChecked,\n disabled,\n readOnly,\n required,\n tabIndex,\n value,\n onBlur: handlerAll(props.onBlur, onBlur, () => setFocused(false)),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, onFocus, () => setFocused(true)),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n onKeyUp: handlerAll(props.onKeyUp, onKeyUp),\n }),\n [\n indeterminate,\n formControlProps,\n id,\n name,\n value,\n tabIndex,\n required,\n disabled,\n readOnly,\n resolvedChecked,\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n ],\n )\n\n const getLabelProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"data-checked\": dataAttr(resolvedChecked),\n onMouseDown: handlerAll(props.onMouseDown, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n onTouchStart: handlerAll(props.onTouchStart, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n }),\n [resolvedChecked, formControlProps],\n )\n\n return {\n active,\n checked: resolvedChecked,\n focused,\n focusVisible,\n hovered,\n indeterminate,\n /**\n * @deprecated Use `active` instead.\n */\n isActive: active,\n /**\n * @deprecated Use `checked` instead.\n */\n isChecked: resolvedChecked,\n /**\n * @deprecated Use `focused` instead.\n */\n isFocused: focused,\n /**\n * @deprecated Use `focusVisible` instead.\n */\n isFocusVisible: focusVisible,\n /**\n * @deprecated Use `hovered` instead.\n */\n isHovered: hovered,\n /**\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n }\n}\n\nexport type UseCheckboxReturn = ReturnType<typeof useCheckbox>\n","import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardAddonProps extends HTMLUIProps {}\n\nexport const CheckboxCardAddon = forwardRef<CheckboxCardAddonProps, \"div\">(\n ({ className, ...rest }, ref) => {\n const { styles } = useCheckboxCardContext()\n\n const css: CSSUIObject = { ...styles.addon }\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__addon\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n\nCheckboxCardAddon.displayName = \"CheckboxCardAddon\"\nCheckboxCardAddon.__ui__ = \"CheckboxCardAddon\"\n","import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardDescriptionProps extends HTMLUIProps {}\n\nexport const CheckboxCardDescription = forwardRef<\n CheckboxCardDescriptionProps,\n \"div\"\n>(({ className, ...rest }, ref) => {\n const { styles } = useCheckboxCardContext()\n\n const css: CSSUIObject = { ...styles.description }\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__description\", className)}\n __css={css}\n {...rest}\n />\n )\n})\n\nCheckboxCardDescription.displayName = \"CheckboxCardDescription\"\nCheckboxCardDescription.__ui__ = \"CheckboxCardDescription\"\n","import type { HTMLUIProps } from \"@yamada-ui/core\"\nimport type { ReactElement } from \"react\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardLabelProps extends HTMLUIProps {\n /**\n * The icon of the checkbox card.\n */\n icon?: ReactElement\n /**\n * If `true`, the icon will be displayed.\n *\n * @default true\n */\n withIcon?: boolean\n /**\n * The props for the label content.\n */\n contentProps?: HTMLUIProps<\"span\">\n /**\n * The props for the icon.\n */\n iconProps?: HTMLUIProps\n}\n\nexport const CheckboxCardLabel = forwardRef<CheckboxCardLabelProps, \"div\">(\n (\n {\n className,\n children,\n icon: iconProp,\n withIcon,\n contentProps,\n iconProps,\n ...rest\n },\n ref,\n ) => {\n const {\n icon,\n styles,\n withIcon: defaultWithIcon,\n getIconProps,\n iconProps: defaultIconProps,\n } = useCheckboxCardContext()\n\n withIcon ??= defaultWithIcon\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__label\", className)}\n __css={{ ...styles.label }}\n {...rest}\n >\n <ui.span\n className=\"ui-checkbox-card__label-content\"\n __css={{ ...styles.labelContent }}\n {...contentProps}\n >\n {children}\n </ui.span>\n\n {withIcon ? (\n <ui.div\n className=\"ui-checkbox-card__icon\"\n __css={{ ...styles.icon }}\n {...getIconProps({ ...defaultIconProps, ...iconProps })}\n >\n {iconProp ?? icon}\n </ui.div>\n ) : null}\n </ui.div>\n )\n },\n)\n\nCheckboxCardLabel.displayName = \"CheckboxCardLabel\"\nCheckboxCardLabel.__ui__ = \"CheckboxCardLabel\"\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ChangeEvent, ReactNode } from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport { useControllableState } from \"@yamada-ui/use-controllable-state\"\nimport { isObject, useCallbackRef } from \"@yamada-ui/utils\"\nimport { useCallback } from \"react\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nconst isEvent = (value: any): value is { target: HTMLInputElement } =>\n value && isObject(value) && isObject(value.target)\n\nexport interface UseCheckboxGroupProps<Y extends number | string = string> {\n /**\n * The initial value of the checkbox group.\n */\n defaultValue?: Y[]\n /**\n * If `true`, input elements will receive `checked` attribute instead of `isChecked`.\n *\n * This assumes, you're using native radio inputs.\n *\n * @default false\n *\n * @deprecated It will be deprecated in version 2.0.\n */\n isNative?: boolean\n /**\n * The value of the checkbox group.\n */\n value?: Y[]\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: Y[]) => void\n}\n\nexport const useCheckboxGroup = <\n Y extends number | string,\n M extends Dict = Dict,\n>({\n defaultValue = [],\n isNative,\n value: valueProp,\n onChange: onChangeProp,\n ...props\n}: M & UseCheckboxGroupProps<Y>) => {\n const onChangeRef = useCallbackRef(onChangeProp)\n\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeRef,\n })\n\n const onChange = useCallback(\n (evOrValue: ChangeEvent<HTMLInputElement> | Y) => {\n const isChecked = isEvent(evOrValue)\n ? evOrValue.target.checked\n : !value.includes(evOrValue)\n\n const selectedValue = (\n isEvent(evOrValue) ? evOrValue.target.value : evOrValue\n ) as Y\n\n const nextValue = isChecked\n ? [...value, selectedValue]\n : value.filter((v) => String(v) !== String(selectedValue))\n\n setValue(nextValue)\n },\n [value, setValue],\n )\n\n const getContainerProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n role: \"group\",\n ...props,\n ref,\n }),\n [],\n )\n\n const getCheckboxProps: PropGetter<\n { value?: Y },\n { checked?: boolean; isChecked?: boolean; value?: Y }\n > = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n ref,\n [isNative ? \"checked\" : \"isChecked\"]: value.some(\n (val) => String(props.value) === String(val),\n ),\n onChange,\n }),\n [onChange, isNative, value],\n )\n\n return {\n props,\n setValue,\n value,\n getCheckboxProps,\n getContainerProps,\n onChange,\n }\n}\n\nexport type UseCheckboxGroupReturn<Y extends number | string = string> =\n ReturnType<typeof useCheckboxGroup<Y>>\n"],"mappings":"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","names":["import_form_control","import_utils","import_react","import_core","import_form_control","import_utils","import_react","import_form_control","import_utils","import_react","import_utils","props","_a","import_core","import_utils","import_jsx_runtime","import_core","import_utils","import_jsx_runtime","import_core","import_utils","import_jsx_runtime","import_jsx_runtime","import_utils","import_react","props","import_jsx_runtime","props"]}
@@ -1,7 +1,7 @@
1
1
  "use client"
2
2
  import {
3
3
  CheckboxCardGroup
4
- } from "./chunk-GXLHY7BP.mjs";
4
+ } from "./chunk-EGVIM3EL.mjs";
5
5
  import "./chunk-EYKGMSLM.mjs";
6
6
  import "./chunk-OIX7NA6E.mjs";
7
7
  import "./chunk-CH46U3J4.mjs";
@@ -607,7 +607,18 @@ var CheckboxGroup = (0, import_react4.forwardRef)(
607
607
  getContainerProps,
608
608
  onChange
609
609
  } = useCheckboxGroup(props);
610
- const { disabled, invalid, labelId, readOnly, required, ...rest } = (0, import_form_control3.useFormControl)(computedProps);
610
+ const {
611
+ disabled,
612
+ invalid,
613
+ isDisabled: _isDisabled,
614
+ isInvalid: _isInvalid,
615
+ isReadOnly: _isReadOnly,
616
+ isRequired: _isRequired,
617
+ labelId,
618
+ readOnly,
619
+ required,
620
+ ...rest
621
+ } = (0, import_form_control3.useFormControl)(computedProps);
611
622
  const validChildren = (0, import_utils5.getValidChildren)(children);
612
623
  let computedChildren = [];
613
624
  if (!validChildren.length && items.length) {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/checkbox-group.tsx","../src/checkbox.tsx","../src/checkbox-context.tsx","../src/use-checkbox.ts","../src/use-checkbox-group.ts"],"sourcesContent":["import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { FlexProps } from \"@yamada-ui/layouts\"\nimport type {\n ForwardedRef,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport type { CheckboxGroupContext } from \"./checkbox-context\"\nimport type { UseCheckboxGroupProps } from \"./use-checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { Checkbox } from \"./checkbox\"\nimport { CheckboxGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nexport interface CheckboxGroupSharedProps<Y extends number | string = string>\n extends Omit<FlexProps, \"defaultValue\" | \"onChange\">,\n UseCheckboxGroupProps<Y>,\n FormControlOptions {}\n\nexport interface CheckboxGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n ThemeProps<\"Checkbox\"> {\n /**\n * If provided, generate checkboxes based on items.\n *\n * @default '[]'\n */\n items?: CheckboxItem<Y>[]\n}\n\nexport const CheckboxGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"column\",\n gap,\n items = [],\n ...props\n }: CheckboxGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const { disabled, invalid, labelId, readOnly, required, ...rest } =\n useFormControl(computedProps)\n\n const validChildren = getValidChildren(children)\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length) {\n computedChildren = items.map((props, index) => (\n <Checkbox key={index} {...props} />\n ))\n }\n\n return (\n <CheckboxGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n onChange,\n } as CheckboxGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-group\", className)}\n direction={direction}\n gap={gap ?? (direction === \"row\" ? \"1rem\" : undefined)}\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxGroup.displayName = \"CheckboxGroup\"\nCheckboxGroup.__ui__ = \"CheckboxGroup\"\n","import type {\n ComponentArgs,\n FC,\n HTMLUIProps,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { MotionProps } from \"@yamada-ui/motion\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport type {\n CSSProperties,\n ForwardedRef,\n InputHTMLAttributes,\n ReactElement,\n ReactNode,\n Ref,\n} from \"react\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { omitThemeProps, ui, useComponentMultiStyle } from \"@yamada-ui/core\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { AnimatePresence, motion } from \"@yamada-ui/motion\"\nimport { cx, funcAll } from \"@yamada-ui/utils\"\nimport { cloneElement, forwardRef } from \"react\"\nimport { useCheckboxGroupContext } from \"./checkbox-context\"\nimport { useCheckbox } from \"./use-checkbox\"\n\ninterface CheckboxOptions {\n /**\n * The label of the checkbox.\n */\n label?: ReactNode\n /**\n * Props for icon component.\n */\n iconProps?: { children: ReactElement } & Omit<HTMLUIProps, \"children\">\n /**\n * Props for input element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /**\n * Props for label element.\n */\n labelProps?: HTMLUIProps<\"span\">\n}\n\nexport interface CheckboxProps<Y extends number | string = string>\n extends Merge<HTMLUIProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<\"Checkbox\">,\n CheckboxOptions {}\n\n/**\n * `Checkbox` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox\n */\nexport const Checkbox = forwardRef(\n <Y extends number | string = string>(\n props: CheckboxProps<Y>,\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const group = useCheckboxGroupContext()\n const { value: groupValue, ...groupProps } = { ...group }\n const control = useFormControl(props)\n const [styles, mergedProps] = useComponentMultiStyle(\"Checkbox\", {\n ...groupProps,\n ...props,\n })\n const {\n className,\n children,\n disabled = groupProps.disabled ?? control.disabled,\n gap = \"0.5rem\",\n invalid = groupProps.invalid ?? control.invalid,\n label,\n readOnly = groupProps.readOnly ?? control.readOnly,\n required = groupProps.required ?? control.required,\n iconProps,\n inputProps,\n labelProps,\n ...computedProps\n } = omitThemeProps(mergedProps)\n\n computedProps.checked ??= computedProps.isChecked\n\n const checkedProp =\n groupValue && computedProps.value\n ? groupValue.includes(computedProps.value)\n : computedProps.checked\n const onChange =\n groupProps.onChange && computedProps.value\n ? funcAll(groupProps.onChange, computedProps.onChange)\n : computedProps.onChange\n\n const {\n checked,\n indeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n } = useCheckbox({\n ...computedProps,\n checked: checkedProp,\n disabled,\n invalid,\n readOnly,\n required,\n onChange,\n })\n\n const { children: customIcon, ...resolvedIconProps } = { ...iconProps }\n const icon = cloneElement(customIcon ?? <CheckboxIcon />, {\n checked,\n disabled,\n indeterminate,\n invalid,\n isDisabled: disabled,\n isIndeterminate: indeterminate,\n isInvalid: invalid,\n isReadOnly: readOnly,\n isRequired: required,\n readOnly,\n required,\n __css: {\n opacity: checked || indeterminate ? 1 : 0,\n transform: checked || indeterminate ? \"scale(1)\" : \"scale(0.95)\",\n transitionDuration: \"normal\",\n transitionProperty: \"transform\",\n },\n })\n\n return (\n <ui.label\n className={cx(\"ui-checkbox\", className)}\n {...getContainerProps()}\n __css={{\n alignItems: \"center\",\n cursor: \"pointer\",\n display: \"inline-flex\",\n gap,\n position: \"relative\",\n verticalAlign: \"top\",\n ...styles.container,\n }}\n {...rest}\n >\n <ui.input\n className=\"ui-checkbox__input\"\n {...getInputProps(inputProps, ref)}\n />\n\n <ui.div\n className=\"ui-checkbox__icon\"\n __css={{\n display: \"inline-block\",\n position: \"relative\",\n userSelect: \"none\",\n ...styles.icon,\n }}\n {...getIconProps(resolvedIconProps)}\n >\n {icon}\n </ui.div>\n\n <ui.span\n className=\"ui-checkbox__label\"\n __css={{ ...styles.label }}\n {...getLabelProps(labelProps)}\n >\n {children ?? label}\n </ui.span>\n </ui.label>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: { ref?: Ref<HTMLInputElement> } & CheckboxProps<Y>,\n ): ReactElement\n} & ComponentArgs\n\nCheckbox.displayName = \"Checkbox\"\nCheckbox.__ui__ = \"Checkbox\"\n\nexport type CheckboxIconProps = {\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n} & FormControlOptions &\n MotionProps<\"svg\">\n\nexport const CheckboxIcon: FC<CheckboxIconProps> = ({\n isChecked,\n checked = isChecked,\n disabled: _disabled,\n isIndeterminate,\n indeterminate = isIndeterminate,\n invalid: _invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n readOnly: _readOnly,\n required: _required,\n ...rest\n}) => {\n return (\n <AnimatePresence initial={false}>\n {indeterminate || checked ? (\n <ui.div\n __css={{\n left: \"50%\",\n position: \"absolute\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <motion.div\n style={\n {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n } as CSSProperties\n }\n animate=\"checked\"\n exit=\"unchecked\"\n initial=\"unchecked\"\n variants={{\n checked: { scale: 1 },\n unchecked: { scale: 0.5 },\n }}\n >\n {indeterminate ? (\n <CheckboxIndeterminateIcon {...rest} />\n ) : (\n <CheckboxCheckIcon {...rest} />\n )}\n </motion.div>\n </ui.div>\n ) : null}\n </AnimatePresence>\n )\n}\n\nCheckboxIcon.displayName = \"CheckboxIcon\"\nCheckboxIcon.__ui__ = \"CheckboxIcon\"\n\ninterface CheckboxCheckIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxCheckIcon: FC<CheckboxCheckIconProps> = (props) => {\n return (\n <motion.svg\n style={{\n fill: \"none\",\n stroke: \"currentColor\",\n strokeDasharray: 16,\n strokeWidth: 2,\n }}\n variants={{\n checked: {\n opacity: 1,\n strokeDashoffset: 0,\n transition: { duration: 0.2 },\n },\n unchecked: {\n opacity: 0,\n strokeDashoffset: 16,\n },\n }}\n viewBox=\"0 0 12 10\"\n width=\"1.2em\"\n {...props}\n >\n <polyline points=\"1.5 6 4.5 9 10.5 1\" />\n </motion.svg>\n )\n}\n\nCheckboxCheckIcon.displayName = \"CheckboxCheckIcon\"\nCheckboxCheckIcon.__ui__ = \"CheckboxCheckIcon\"\n\ninterface CheckboxIndeterminateIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxIndeterminateIcon: FC<CheckboxIndeterminateIconProps> = (\n props,\n) => {\n return (\n <motion.svg\n style={{ stroke: \"currentColor\", strokeWidth: 4 }}\n variants={{\n checked: {\n opacity: 1,\n scaleX: 1,\n transition: {\n opacity: { duration: 0.02 },\n scaleX: { duration: 0 },\n },\n },\n unchecked: {\n opacity: 0,\n scaleX: 0.65,\n },\n }}\n viewBox=\"0 0 24 24\"\n width=\"1.2em\"\n {...props}\n >\n <line x1=\"21\" x2=\"3\" y1=\"12\" y2=\"12\" />\n </motion.svg>\n )\n}\n\nCheckboxIndeterminateIcon.displayName = \"CheckboxIndeterminateIcon\"\nCheckboxIndeterminateIcon.__ui__ = \"CheckboxIndeterminateIcon\"\n","import type {\n CSSUIObject,\n HTMLUIProps,\n PropGetter,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { ChangeEvent, ReactElement } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport { createContext } from \"@yamada-ui/utils\"\n\ninterface CheckboxGroupSharedContext extends FormControlOptions {\n value: (number | string)[]\n onChange: (evOrValue: ChangeEvent<HTMLInputElement> | number | string) => void\n}\n\nexport interface CheckboxGroupContext\n extends CheckboxGroupSharedContext,\n ThemeProps<\"Checkbox\">,\n FormControlOptions {}\n\nexport const [CheckboxGroupProvider, useCheckboxGroupContext] =\n createContext<CheckboxGroupContext>({\n name: \"CheckboxGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardGroupContext\n extends CheckboxGroupSharedContext,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {}\n\nexport const [CheckboxCardGroupProvider, useCheckboxCardGroupContext] =\n createContext<CheckboxCardGroupContext>({\n name: \"CheckboxCardGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardContext {\n icon: ReactElement\n styles: { [key: string]: CSSUIObject | undefined }\n withIcon: boolean\n getIconProps: PropGetter\n iconProps?: HTMLUIProps\n}\n\nexport const [CheckboxCardProvider, useCheckboxCardContext] =\n createContext<CheckboxCardContext>({\n name: \"CheckboxCardContext\",\n errorMessage: `useCheckboxCardContext returned is 'undefined'. Seems you forgot to wrap the components in \"<CheckboxCard />\"`,\n })\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEvent,\n SyntheticEvent,\n} from \"react\"\nimport {\n formControlProperties,\n useFormControlProps,\n} from \"@yamada-ui/form-control\"\nimport { trackFocusVisible } from \"@yamada-ui/use-focus-visible\"\nimport {\n dataAttr,\n handlerAll,\n mergeRefs,\n splitObject,\n useCallbackRef,\n useSafeLayoutEffect,\n useUpdateEffect,\n} from \"@yamada-ui/utils\"\nimport { useCallback, useEffect, useId, useRef, useState } from \"react\"\n\nexport interface UseCheckboxProps<Y extends number | string = string>\n extends FormControlOptions {\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * The HTML `name` attribute used for forms.\n */\n name?: string\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n *\n * @deprecated Use `defaultChecked` instead.\n */\n defaultIsChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n /**\n * If `true`, the checkbox will be selected when the Enter key is pressed.\n *\n * @default false\n */\n selectOnEnter?: boolean\n /**\n * The tab-index property of the underlying input element.\n */\n tabIndex?: number\n /**\n * The value to be used in the checkbox input.\n */\n value?: Y\n /**\n * The callback invoked when the checkbox is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checkbox is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useCheckbox = <\n Y extends number | string = string,\n M extends Dict = Dict,\n>({\n id,\n ...props\n}: M & UseCheckboxProps<Y>) => {\n const uuid = useId()\n\n id ??= uuid\n\n const {\n id: _id,\n name,\n isChecked,\n checked: checkedProp = isChecked,\n defaultIsChecked,\n defaultChecked = defaultIsChecked,\n isIndeterminate,\n indeterminate = isIndeterminate,\n selectOnEnter,\n tabIndex,\n value,\n onChange: onChangeProp,\n ...computedProps\n } = useFormControlProps({ id, ...props })\n const [\n {\n \"aria-readonly\": _ariaReadonly,\n disabled,\n readOnly,\n required,\n onBlur: onBlurProp,\n onFocus: onFocusProp,\n ...formControlProps\n },\n rest,\n ] = splitObject(computedProps, formControlProperties)\n const [focusVisible, setFocusVisible] = useState<boolean>(false)\n const [focused, setFocused] = useState<boolean>(false)\n const [hovered, setHovered] = useState<boolean>(false)\n const [active, setActive] = useState<boolean>(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const [label, setLabel] = useState<boolean>(true)\n const [checked, setIsChecked] = useState<boolean>(!!defaultChecked)\n const controlled = checkedProp !== undefined\n const resolvedChecked = controlled ? (checkedProp as boolean) : checked\n\n const onChange = useCallbackRef(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (readOnly || disabled) {\n ev.preventDefault()\n\n return\n }\n\n if (!controlled)\n setIsChecked(\n !resolvedChecked || indeterminate ? true : ev.target.checked,\n )\n\n onChangeProp?.(ev)\n },\n [readOnly, disabled, controlled, resolvedChecked, indeterminate],\n )\n const onFocus = useCallbackRef(onFocusProp)\n const onBlur = useCallbackRef(onBlurProp)\n\n const onKeyDown = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(true)\n\n if (selectOnEnter && key === \"Enter\") inputRef.current?.click()\n },\n [setActive, selectOnEnter],\n )\n\n const onKeyUp = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(false)\n },\n [setActive],\n )\n\n useEffect(() => {\n return trackFocusVisible(setFocusVisible)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (inputRef.current)\n inputRef.current.indeterminate = Boolean(isIndeterminate)\n }, [isIndeterminate])\n\n useUpdateEffect(() => {\n if (disabled) setFocused(false)\n }, [disabled, setFocused])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current?.form) return\n\n inputRef.current.form.onreset = () => setIsChecked(!!defaultChecked)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current) return\n\n if (inputRef.current.checked !== resolvedChecked)\n setIsChecked(inputRef.current.checked)\n }, [inputRef.current])\n\n const getContainerProps: PropGetter<\"label\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref: mergeRefs(ref, (el: HTMLElement | undefined) => {\n if (el) setLabel(el.tagName === \"LABEL\")\n }),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n onClick: handlerAll(props.onClick, () => {\n if (label) return\n\n inputRef.current?.click()\n\n requestAnimationFrame(() => inputRef.current?.focus())\n }),\n }),\n [resolvedChecked, label, focused, focusVisible, formControlProps],\n )\n\n const getIconProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"aria-hidden\": true,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n \"data-hover\": dataAttr(hovered),\n \"data-indeterminate\": dataAttr(indeterminate),\n onMouseDown: handlerAll(props.onMouseDown, (ev: React.MouseEvent) => {\n if (focused) ev.preventDefault()\n\n setActive(true)\n }),\n onMouseEnter: handlerAll(props.onMouseEnter, () => setHovered(true)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => setHovered(false)),\n onMouseUp: handlerAll(props.onMouseUp, () => setActive(false)),\n }),\n [\n active,\n resolvedChecked,\n focused,\n hovered,\n focusVisible,\n indeterminate,\n formControlProps,\n ],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n id,\n ref: mergeRefs(inputRef, ref),\n type: \"checkbox\",\n name,\n style: {\n border: \"0px\",\n clip: \"rect(0px, 0px, 0px, 0px)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: \"0px\",\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n },\n \"aria-checked\": indeterminate ? \"mixed\" : resolvedChecked,\n checked: resolvedChecked,\n disabled,\n readOnly,\n required,\n tabIndex,\n value,\n onBlur: handlerAll(props.onBlur, onBlur, () => setFocused(false)),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, onFocus, () => setFocused(true)),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n onKeyUp: handlerAll(props.onKeyUp, onKeyUp),\n }),\n [\n indeterminate,\n formControlProps,\n id,\n name,\n value,\n tabIndex,\n required,\n disabled,\n readOnly,\n resolvedChecked,\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n ],\n )\n\n const getLabelProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"data-checked\": dataAttr(resolvedChecked),\n onMouseDown: handlerAll(props.onMouseDown, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n onTouchStart: handlerAll(props.onTouchStart, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n }),\n [resolvedChecked, formControlProps],\n )\n\n return {\n active,\n checked: resolvedChecked,\n focused,\n focusVisible,\n hovered,\n indeterminate,\n /**\n * @deprecated Use `active` instead.\n */\n isActive: active,\n /**\n * @deprecated Use `checked` instead.\n */\n isChecked: resolvedChecked,\n /**\n * @deprecated Use `focused` instead.\n */\n isFocused: focused,\n /**\n * @deprecated Use `focusVisible` instead.\n */\n isFocusVisible: focusVisible,\n /**\n * @deprecated Use `hovered` instead.\n */\n isHovered: hovered,\n /**\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n }\n}\n\nexport type UseCheckboxReturn = ReturnType<typeof useCheckbox>\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ChangeEvent, ReactNode } from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport { useControllableState } from \"@yamada-ui/use-controllable-state\"\nimport { isObject, useCallbackRef } from \"@yamada-ui/utils\"\nimport { useCallback } from \"react\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nconst isEvent = (value: any): value is { target: HTMLInputElement } =>\n value && isObject(value) && isObject(value.target)\n\nexport interface UseCheckboxGroupProps<Y extends number | string = string> {\n /**\n * The initial value of the checkbox group.\n */\n defaultValue?: Y[]\n /**\n * If `true`, input elements will receive `checked` attribute instead of `isChecked`.\n *\n * This assumes, you're using native radio inputs.\n *\n * @default false\n *\n * @deprecated It will be deprecated in version 2.0.\n */\n isNative?: boolean\n /**\n * The value of the checkbox group.\n */\n value?: Y[]\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: Y[]) => void\n}\n\nexport const useCheckboxGroup = <\n Y extends number | string,\n M extends Dict = Dict,\n>({\n defaultValue = [],\n isNative,\n value: valueProp,\n onChange: onChangeProp,\n ...props\n}: M & UseCheckboxGroupProps<Y>) => {\n const onChangeRef = useCallbackRef(onChangeProp)\n\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeRef,\n })\n\n const onChange = useCallback(\n (evOrValue: ChangeEvent<HTMLInputElement> | Y) => {\n const isChecked = isEvent(evOrValue)\n ? evOrValue.target.checked\n : !value.includes(evOrValue)\n\n const selectedValue = (\n isEvent(evOrValue) ? evOrValue.target.value : evOrValue\n ) as Y\n\n const nextValue = isChecked\n ? [...value, selectedValue]\n : value.filter((v) => String(v) !== String(selectedValue))\n\n setValue(nextValue)\n },\n [value, setValue],\n )\n\n const getContainerProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n role: \"group\",\n ...props,\n ref,\n }),\n [],\n )\n\n const getCheckboxProps: PropGetter<\n { value?: Y },\n { checked?: boolean; isChecked?: boolean; value?: Y }\n > = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n ref,\n [isNative ? \"checked\" : \"isChecked\"]: value.some(\n (val) => String(props.value) === String(val),\n ),\n onChange,\n }),\n [onChange, isNative, value],\n )\n\n return {\n props,\n setValue,\n value,\n getCheckboxProps,\n getContainerProps,\n onChange,\n }\n}\n\nexport type UseCheckboxGroupReturn<Y extends number | string = string> =\n ReturnType<typeof useCheckboxGroup<Y>>\n"],"mappings":"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","names":["import_form_control","import_utils","import_react","import_form_control","import_utils","import_react","import_utils","props","_a","import_utils","import_react","props","import_jsx_runtime","props"]}
1
+ {"version":3,"sources":["../src/checkbox-group.tsx","../src/checkbox.tsx","../src/checkbox-context.tsx","../src/use-checkbox.ts","../src/use-checkbox-group.ts"],"sourcesContent":["import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { FlexProps } from \"@yamada-ui/layouts\"\nimport type {\n ForwardedRef,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport type { CheckboxGroupContext } from \"./checkbox-context\"\nimport type { UseCheckboxGroupProps } from \"./use-checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { Checkbox } from \"./checkbox\"\nimport { CheckboxGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nexport interface CheckboxGroupSharedProps<Y extends number | string = string>\n extends Omit<FlexProps, \"defaultValue\" | \"onChange\">,\n UseCheckboxGroupProps<Y>,\n FormControlOptions {}\n\nexport interface CheckboxGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n ThemeProps<\"Checkbox\"> {\n /**\n * If provided, generate checkboxes based on items.\n *\n * @default '[]'\n */\n items?: CheckboxItem<Y>[]\n}\n\nexport const CheckboxGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"column\",\n gap,\n items = [],\n ...props\n }: CheckboxGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const {\n disabled,\n invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n labelId,\n readOnly,\n required,\n ...rest\n } = useFormControl(computedProps)\n\n const validChildren = getValidChildren(children)\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length) {\n computedChildren = items.map((props, index) => (\n <Checkbox key={index} {...props} />\n ))\n }\n\n return (\n <CheckboxGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n onChange,\n } as CheckboxGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-group\", className)}\n direction={direction}\n gap={gap ?? (direction === \"row\" ? \"1rem\" : undefined)}\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxGroup.displayName = \"CheckboxGroup\"\nCheckboxGroup.__ui__ = \"CheckboxGroup\"\n","import type {\n ComponentArgs,\n FC,\n HTMLUIProps,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { MotionProps } from \"@yamada-ui/motion\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport type {\n CSSProperties,\n ForwardedRef,\n InputHTMLAttributes,\n ReactElement,\n ReactNode,\n Ref,\n} from \"react\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { omitThemeProps, ui, useComponentMultiStyle } from \"@yamada-ui/core\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { AnimatePresence, motion } from \"@yamada-ui/motion\"\nimport { cx, funcAll } from \"@yamada-ui/utils\"\nimport { cloneElement, forwardRef } from \"react\"\nimport { useCheckboxGroupContext } from \"./checkbox-context\"\nimport { useCheckbox } from \"./use-checkbox\"\n\ninterface CheckboxOptions {\n /**\n * The label of the checkbox.\n */\n label?: ReactNode\n /**\n * Props for icon component.\n */\n iconProps?: { children: ReactElement } & Omit<HTMLUIProps, \"children\">\n /**\n * Props for input element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /**\n * Props for label element.\n */\n labelProps?: HTMLUIProps<\"span\">\n}\n\nexport interface CheckboxProps<Y extends number | string = string>\n extends Merge<HTMLUIProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<\"Checkbox\">,\n CheckboxOptions {}\n\n/**\n * `Checkbox` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox\n */\nexport const Checkbox = forwardRef(\n <Y extends number | string = string>(\n props: CheckboxProps<Y>,\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const group = useCheckboxGroupContext()\n const { value: groupValue, ...groupProps } = { ...group }\n const control = useFormControl(props)\n const [styles, mergedProps] = useComponentMultiStyle(\"Checkbox\", {\n ...groupProps,\n ...props,\n })\n const {\n className,\n children,\n disabled = groupProps.disabled ?? control.disabled,\n gap = \"0.5rem\",\n invalid = groupProps.invalid ?? control.invalid,\n label,\n readOnly = groupProps.readOnly ?? control.readOnly,\n required = groupProps.required ?? control.required,\n iconProps,\n inputProps,\n labelProps,\n ...computedProps\n } = omitThemeProps(mergedProps)\n\n computedProps.checked ??= computedProps.isChecked\n\n const checkedProp =\n groupValue && computedProps.value\n ? groupValue.includes(computedProps.value)\n : computedProps.checked\n const onChange =\n groupProps.onChange && computedProps.value\n ? funcAll(groupProps.onChange, computedProps.onChange)\n : computedProps.onChange\n\n const {\n checked,\n indeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n } = useCheckbox({\n ...computedProps,\n checked: checkedProp,\n disabled,\n invalid,\n readOnly,\n required,\n onChange,\n })\n\n const { children: customIcon, ...resolvedIconProps } = { ...iconProps }\n const icon = cloneElement(customIcon ?? <CheckboxIcon />, {\n checked,\n disabled,\n indeterminate,\n invalid,\n isDisabled: disabled,\n isIndeterminate: indeterminate,\n isInvalid: invalid,\n isReadOnly: readOnly,\n isRequired: required,\n readOnly,\n required,\n __css: {\n opacity: checked || indeterminate ? 1 : 0,\n transform: checked || indeterminate ? \"scale(1)\" : \"scale(0.95)\",\n transitionDuration: \"normal\",\n transitionProperty: \"transform\",\n },\n })\n\n return (\n <ui.label\n className={cx(\"ui-checkbox\", className)}\n {...getContainerProps()}\n __css={{\n alignItems: \"center\",\n cursor: \"pointer\",\n display: \"inline-flex\",\n gap,\n position: \"relative\",\n verticalAlign: \"top\",\n ...styles.container,\n }}\n {...rest}\n >\n <ui.input\n className=\"ui-checkbox__input\"\n {...getInputProps(inputProps, ref)}\n />\n\n <ui.div\n className=\"ui-checkbox__icon\"\n __css={{\n display: \"inline-block\",\n position: \"relative\",\n userSelect: \"none\",\n ...styles.icon,\n }}\n {...getIconProps(resolvedIconProps)}\n >\n {icon}\n </ui.div>\n\n <ui.span\n className=\"ui-checkbox__label\"\n __css={{ ...styles.label }}\n {...getLabelProps(labelProps)}\n >\n {children ?? label}\n </ui.span>\n </ui.label>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: { ref?: Ref<HTMLInputElement> } & CheckboxProps<Y>,\n ): ReactElement\n} & ComponentArgs\n\nCheckbox.displayName = \"Checkbox\"\nCheckbox.__ui__ = \"Checkbox\"\n\nexport type CheckboxIconProps = {\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n} & FormControlOptions &\n MotionProps<\"svg\">\n\nexport const CheckboxIcon: FC<CheckboxIconProps> = ({\n isChecked,\n checked = isChecked,\n disabled: _disabled,\n isIndeterminate,\n indeterminate = isIndeterminate,\n invalid: _invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n readOnly: _readOnly,\n required: _required,\n ...rest\n}) => {\n return (\n <AnimatePresence initial={false}>\n {indeterminate || checked ? (\n <ui.div\n __css={{\n left: \"50%\",\n position: \"absolute\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <motion.div\n style={\n {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n } as CSSProperties\n }\n animate=\"checked\"\n exit=\"unchecked\"\n initial=\"unchecked\"\n variants={{\n checked: { scale: 1 },\n unchecked: { scale: 0.5 },\n }}\n >\n {indeterminate ? (\n <CheckboxIndeterminateIcon {...rest} />\n ) : (\n <CheckboxCheckIcon {...rest} />\n )}\n </motion.div>\n </ui.div>\n ) : null}\n </AnimatePresence>\n )\n}\n\nCheckboxIcon.displayName = \"CheckboxIcon\"\nCheckboxIcon.__ui__ = \"CheckboxIcon\"\n\ninterface CheckboxCheckIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxCheckIcon: FC<CheckboxCheckIconProps> = (props) => {\n return (\n <motion.svg\n style={{\n fill: \"none\",\n stroke: \"currentColor\",\n strokeDasharray: 16,\n strokeWidth: 2,\n }}\n variants={{\n checked: {\n opacity: 1,\n strokeDashoffset: 0,\n transition: { duration: 0.2 },\n },\n unchecked: {\n opacity: 0,\n strokeDashoffset: 16,\n },\n }}\n viewBox=\"0 0 12 10\"\n width=\"1.2em\"\n {...props}\n >\n <polyline points=\"1.5 6 4.5 9 10.5 1\" />\n </motion.svg>\n )\n}\n\nCheckboxCheckIcon.displayName = \"CheckboxCheckIcon\"\nCheckboxCheckIcon.__ui__ = \"CheckboxCheckIcon\"\n\ninterface CheckboxIndeterminateIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxIndeterminateIcon: FC<CheckboxIndeterminateIconProps> = (\n props,\n) => {\n return (\n <motion.svg\n style={{ stroke: \"currentColor\", strokeWidth: 4 }}\n variants={{\n checked: {\n opacity: 1,\n scaleX: 1,\n transition: {\n opacity: { duration: 0.02 },\n scaleX: { duration: 0 },\n },\n },\n unchecked: {\n opacity: 0,\n scaleX: 0.65,\n },\n }}\n viewBox=\"0 0 24 24\"\n width=\"1.2em\"\n {...props}\n >\n <line x1=\"21\" x2=\"3\" y1=\"12\" y2=\"12\" />\n </motion.svg>\n )\n}\n\nCheckboxIndeterminateIcon.displayName = \"CheckboxIndeterminateIcon\"\nCheckboxIndeterminateIcon.__ui__ = \"CheckboxIndeterminateIcon\"\n","import type {\n CSSUIObject,\n HTMLUIProps,\n PropGetter,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { ChangeEvent, ReactElement } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport { createContext } from \"@yamada-ui/utils\"\n\ninterface CheckboxGroupSharedContext extends FormControlOptions {\n value: (number | string)[]\n onChange: (evOrValue: ChangeEvent<HTMLInputElement> | number | string) => void\n}\n\nexport interface CheckboxGroupContext\n extends CheckboxGroupSharedContext,\n ThemeProps<\"Checkbox\">,\n FormControlOptions {}\n\nexport const [CheckboxGroupProvider, useCheckboxGroupContext] =\n createContext<CheckboxGroupContext>({\n name: \"CheckboxGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardGroupContext\n extends CheckboxGroupSharedContext,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {}\n\nexport const [CheckboxCardGroupProvider, useCheckboxCardGroupContext] =\n createContext<CheckboxCardGroupContext>({\n name: \"CheckboxCardGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardContext {\n icon: ReactElement\n styles: { [key: string]: CSSUIObject | undefined }\n withIcon: boolean\n getIconProps: PropGetter\n iconProps?: HTMLUIProps\n}\n\nexport const [CheckboxCardProvider, useCheckboxCardContext] =\n createContext<CheckboxCardContext>({\n name: \"CheckboxCardContext\",\n errorMessage: `useCheckboxCardContext returned is 'undefined'. Seems you forgot to wrap the components in \"<CheckboxCard />\"`,\n })\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEvent,\n SyntheticEvent,\n} from \"react\"\nimport {\n formControlProperties,\n useFormControlProps,\n} from \"@yamada-ui/form-control\"\nimport { trackFocusVisible } from \"@yamada-ui/use-focus-visible\"\nimport {\n dataAttr,\n handlerAll,\n mergeRefs,\n splitObject,\n useCallbackRef,\n useSafeLayoutEffect,\n useUpdateEffect,\n} from \"@yamada-ui/utils\"\nimport { useCallback, useEffect, useId, useRef, useState } from \"react\"\n\nexport interface UseCheckboxProps<Y extends number | string = string>\n extends FormControlOptions {\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * The HTML `name` attribute used for forms.\n */\n name?: string\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n *\n * @deprecated Use `defaultChecked` instead.\n */\n defaultIsChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n /**\n * If `true`, the checkbox will be selected when the Enter key is pressed.\n *\n * @default false\n */\n selectOnEnter?: boolean\n /**\n * The tab-index property of the underlying input element.\n */\n tabIndex?: number\n /**\n * The value to be used in the checkbox input.\n */\n value?: Y\n /**\n * The callback invoked when the checkbox is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checkbox is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useCheckbox = <\n Y extends number | string = string,\n M extends Dict = Dict,\n>({\n id,\n ...props\n}: M & UseCheckboxProps<Y>) => {\n const uuid = useId()\n\n id ??= uuid\n\n const {\n id: _id,\n name,\n isChecked,\n checked: checkedProp = isChecked,\n defaultIsChecked,\n defaultChecked = defaultIsChecked,\n isIndeterminate,\n indeterminate = isIndeterminate,\n selectOnEnter,\n tabIndex,\n value,\n onChange: onChangeProp,\n ...computedProps\n } = useFormControlProps({ id, ...props })\n const [\n {\n \"aria-readonly\": _ariaReadonly,\n disabled,\n readOnly,\n required,\n onBlur: onBlurProp,\n onFocus: onFocusProp,\n ...formControlProps\n },\n rest,\n ] = splitObject(computedProps, formControlProperties)\n const [focusVisible, setFocusVisible] = useState<boolean>(false)\n const [focused, setFocused] = useState<boolean>(false)\n const [hovered, setHovered] = useState<boolean>(false)\n const [active, setActive] = useState<boolean>(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const [label, setLabel] = useState<boolean>(true)\n const [checked, setIsChecked] = useState<boolean>(!!defaultChecked)\n const controlled = checkedProp !== undefined\n const resolvedChecked = controlled ? (checkedProp as boolean) : checked\n\n const onChange = useCallbackRef(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (readOnly || disabled) {\n ev.preventDefault()\n\n return\n }\n\n if (!controlled)\n setIsChecked(\n !resolvedChecked || indeterminate ? true : ev.target.checked,\n )\n\n onChangeProp?.(ev)\n },\n [readOnly, disabled, controlled, resolvedChecked, indeterminate],\n )\n const onFocus = useCallbackRef(onFocusProp)\n const onBlur = useCallbackRef(onBlurProp)\n\n const onKeyDown = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(true)\n\n if (selectOnEnter && key === \"Enter\") inputRef.current?.click()\n },\n [setActive, selectOnEnter],\n )\n\n const onKeyUp = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(false)\n },\n [setActive],\n )\n\n useEffect(() => {\n return trackFocusVisible(setFocusVisible)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (inputRef.current)\n inputRef.current.indeterminate = Boolean(isIndeterminate)\n }, [isIndeterminate])\n\n useUpdateEffect(() => {\n if (disabled) setFocused(false)\n }, [disabled, setFocused])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current?.form) return\n\n inputRef.current.form.onreset = () => setIsChecked(!!defaultChecked)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current) return\n\n if (inputRef.current.checked !== resolvedChecked)\n setIsChecked(inputRef.current.checked)\n }, [inputRef.current])\n\n const getContainerProps: PropGetter<\"label\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref: mergeRefs(ref, (el: HTMLElement | undefined) => {\n if (el) setLabel(el.tagName === \"LABEL\")\n }),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n onClick: handlerAll(props.onClick, () => {\n if (label) return\n\n inputRef.current?.click()\n\n requestAnimationFrame(() => inputRef.current?.focus())\n }),\n }),\n [resolvedChecked, label, focused, focusVisible, formControlProps],\n )\n\n const getIconProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"aria-hidden\": true,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n \"data-hover\": dataAttr(hovered),\n \"data-indeterminate\": dataAttr(indeterminate),\n onMouseDown: handlerAll(props.onMouseDown, (ev: React.MouseEvent) => {\n if (focused) ev.preventDefault()\n\n setActive(true)\n }),\n onMouseEnter: handlerAll(props.onMouseEnter, () => setHovered(true)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => setHovered(false)),\n onMouseUp: handlerAll(props.onMouseUp, () => setActive(false)),\n }),\n [\n active,\n resolvedChecked,\n focused,\n hovered,\n focusVisible,\n indeterminate,\n formControlProps,\n ],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n id,\n ref: mergeRefs(inputRef, ref),\n type: \"checkbox\",\n name,\n style: {\n border: \"0px\",\n clip: \"rect(0px, 0px, 0px, 0px)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: \"0px\",\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n },\n \"aria-checked\": indeterminate ? \"mixed\" : resolvedChecked,\n checked: resolvedChecked,\n disabled,\n readOnly,\n required,\n tabIndex,\n value,\n onBlur: handlerAll(props.onBlur, onBlur, () => setFocused(false)),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, onFocus, () => setFocused(true)),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n onKeyUp: handlerAll(props.onKeyUp, onKeyUp),\n }),\n [\n indeterminate,\n formControlProps,\n id,\n name,\n value,\n tabIndex,\n required,\n disabled,\n readOnly,\n resolvedChecked,\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n ],\n )\n\n const getLabelProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"data-checked\": dataAttr(resolvedChecked),\n onMouseDown: handlerAll(props.onMouseDown, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n onTouchStart: handlerAll(props.onTouchStart, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n }),\n [resolvedChecked, formControlProps],\n )\n\n return {\n active,\n checked: resolvedChecked,\n focused,\n focusVisible,\n hovered,\n indeterminate,\n /**\n * @deprecated Use `active` instead.\n */\n isActive: active,\n /**\n * @deprecated Use `checked` instead.\n */\n isChecked: resolvedChecked,\n /**\n * @deprecated Use `focused` instead.\n */\n isFocused: focused,\n /**\n * @deprecated Use `focusVisible` instead.\n */\n isFocusVisible: focusVisible,\n /**\n * @deprecated Use `hovered` instead.\n */\n isHovered: hovered,\n /**\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n }\n}\n\nexport type UseCheckboxReturn = ReturnType<typeof useCheckbox>\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ChangeEvent, ReactNode } from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport { useControllableState } from \"@yamada-ui/use-controllable-state\"\nimport { isObject, useCallbackRef } from \"@yamada-ui/utils\"\nimport { useCallback } from \"react\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nconst isEvent = (value: any): value is { target: HTMLInputElement } =>\n value && isObject(value) && isObject(value.target)\n\nexport interface UseCheckboxGroupProps<Y extends number | string = string> {\n /**\n * The initial value of the checkbox group.\n */\n defaultValue?: Y[]\n /**\n * If `true`, input elements will receive `checked` attribute instead of `isChecked`.\n *\n * This assumes, you're using native radio inputs.\n *\n * @default false\n *\n * @deprecated It will be deprecated in version 2.0.\n */\n isNative?: boolean\n /**\n * The value of the checkbox group.\n */\n value?: Y[]\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: Y[]) => void\n}\n\nexport const useCheckboxGroup = <\n Y extends number | string,\n M extends Dict = Dict,\n>({\n defaultValue = [],\n isNative,\n value: valueProp,\n onChange: onChangeProp,\n ...props\n}: M & UseCheckboxGroupProps<Y>) => {\n const onChangeRef = useCallbackRef(onChangeProp)\n\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeRef,\n })\n\n const onChange = useCallback(\n (evOrValue: ChangeEvent<HTMLInputElement> | Y) => {\n const isChecked = isEvent(evOrValue)\n ? evOrValue.target.checked\n : !value.includes(evOrValue)\n\n const selectedValue = (\n isEvent(evOrValue) ? evOrValue.target.value : evOrValue\n ) as Y\n\n const nextValue = isChecked\n ? [...value, selectedValue]\n : value.filter((v) => String(v) !== String(selectedValue))\n\n setValue(nextValue)\n },\n [value, setValue],\n )\n\n const getContainerProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n role: \"group\",\n ...props,\n ref,\n }),\n [],\n )\n\n const getCheckboxProps: PropGetter<\n { value?: Y },\n { checked?: boolean; isChecked?: boolean; value?: Y }\n > = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n ref,\n [isNative ? \"checked\" : \"isChecked\"]: value.some(\n (val) => String(props.value) === String(val),\n ),\n onChange,\n }),\n [onChange, isNative, value],\n )\n\n return {\n props,\n setValue,\n value,\n getCheckboxProps,\n getContainerProps,\n onChange,\n }\n}\n\nexport type UseCheckboxGroupReturn<Y extends number | string = string> =\n ReturnType<typeof useCheckboxGroup<Y>>\n"],"mappings":"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","names":["import_form_control","import_utils","import_react","import_form_control","import_utils","import_react","import_utils","props","_a","import_utils","import_react","props","import_jsx_runtime","props"]}
@@ -1,7 +1,7 @@
1
1
  "use client"
2
2
  import {
3
3
  CheckboxGroup
4
- } from "./chunk-XAC4G7Y2.mjs";
4
+ } from "./chunk-LNXH2HKF.mjs";
5
5
  import "./chunk-PH5Y6VMS.mjs";
6
6
  import "./chunk-D3OZWWL7.mjs";
7
7
  import "./chunk-AA57K3IT.mjs";
@@ -37,7 +37,18 @@ var CheckboxCardGroup = forwardRef(
37
37
  getContainerProps,
38
38
  onChange
39
39
  } = useCheckboxGroup(props);
40
- const { disabled, invalid, labelId, readOnly, required, ...rest } = useFormControl(computedProps);
40
+ const {
41
+ disabled,
42
+ invalid,
43
+ isDisabled: _isDisabled,
44
+ isInvalid: _isInvalid,
45
+ isReadOnly: _isReadOnly,
46
+ isRequired: _isRequired,
47
+ labelId,
48
+ readOnly,
49
+ required,
50
+ ...rest
51
+ } = useFormControl(computedProps);
41
52
  const validChildren = getValidChildren(children);
42
53
  let computedChildren = [];
43
54
  if (!validChildren.length && items.length)
@@ -85,4 +96,4 @@ CheckboxCardGroup.__ui__ = "CheckboxCardGroup";
85
96
  export {
86
97
  CheckboxCardGroup
87
98
  };
88
- //# sourceMappingURL=chunk-GXLHY7BP.mjs.map
99
+ //# sourceMappingURL=chunk-EGVIM3EL.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/checkbox-card-group.tsx"],"sourcesContent":["import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { ForwardedRef, ReactElement, RefAttributes } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport type { CheckboxCardGroupContext } from \"./checkbox-context\"\nimport type { CheckboxGroupSharedProps } from \"./checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { CheckboxCard } from \"./checkbox-card\"\nimport { CheckboxCardGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport type CheckboxCardItem<Y extends number | string = string> =\n CheckboxCardProps<Y>\n\nexport interface CheckboxCardGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {\n /**\n * If provided, generate checkbox cards based on items.\n *\n * @default '[]'\n */\n items?: CheckboxCardItem<Y>[]\n}\n\n/**\n * `CheckboxCardGroup` is a component that groups `CheckboxCard` components.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox-card\n */\nexport const CheckboxCardGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"row\",\n gap = \"0.5rem\",\n items = [],\n withIcon = true,\n addonProps,\n descriptionProps,\n labelProps,\n ...props\n }: CheckboxCardGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const {\n disabled,\n invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n labelId,\n readOnly,\n required,\n ...rest\n } = useFormControl(computedProps)\n const validChildren = getValidChildren(children)\n\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length)\n computedChildren = items.map((props, i) => (\n <CheckboxCard key={i} {...props} />\n ))\n\n return (\n <CheckboxCardGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n withIcon,\n addonProps,\n descriptionProps,\n labelProps,\n onChange,\n } as CheckboxCardGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-card-group\", className)}\n gap={gap}\n w=\"100%\"\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n direction={direction}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxCardGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxCardGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxCardGroup.displayName = \"CheckboxCardGroup\"\nCheckboxCardGroup.__ui__ = \"CheckboxCardGroup\"\n"],"mappings":";;;;;;;;;;;;AAKA,SAAS,sBAAsB;AAC/B,SAAS,YAAY;AACrB,SAAS,IAAI,wBAAwB;AACrC,SAAS,kBAAkB;AAuEnB;AA3CD,IAAM,oBAAoB;AAAA,EAC/B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM;AAAA,MACJ,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,iBAAoB,KAAK;AAC7B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,eAAe,aAAa;AAChC,UAAM,gBAAgB,iBAAiB,QAAQ;AAE/C,QAAI,mBAAmC,CAAC;AAExC,QAAI,CAAC,cAAc,UAAU,MAAM;AACjC,yBAAmB,MAAM,IAAI,CAACA,QAAO,MACnC,oBAAC,gBAAsB,GAAGA,UAAP,CAAc,CAClC;AAEH,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OACE;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAGF;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,WAAW,GAAG,0BAA0B,SAAS;AAAA,YACjD;AAAA,YACA,GAAE;AAAA,YACD,GAAG,kBAAkB;AAAA,cACpB,mBAAmB;AAAA,cACnB,GAAG;AAAA,YACL,CAAC;AAAA,YACD;AAAA,YAEC,wCAAY;AAAA;AAAA,QACf;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAMA,kBAAkB,cAAc;AAChC,kBAAkB,SAAS;","names":["props"]}
@@ -33,7 +33,18 @@ var CheckboxGroup = forwardRef(
33
33
  getContainerProps,
34
34
  onChange
35
35
  } = useCheckboxGroup(props);
36
- const { disabled, invalid, labelId, readOnly, required, ...rest } = useFormControl(computedProps);
36
+ const {
37
+ disabled,
38
+ invalid,
39
+ isDisabled: _isDisabled,
40
+ isInvalid: _isInvalid,
41
+ isReadOnly: _isReadOnly,
42
+ isRequired: _isRequired,
43
+ labelId,
44
+ readOnly,
45
+ required,
46
+ ...rest
47
+ } = useFormControl(computedProps);
37
48
  const validChildren = getValidChildren(children);
38
49
  let computedChildren = [];
39
50
  if (!validChildren.length && items.length) {
@@ -77,4 +88,4 @@ CheckboxGroup.__ui__ = "CheckboxGroup";
77
88
  export {
78
89
  CheckboxGroup
79
90
  };
80
- //# sourceMappingURL=chunk-XAC4G7Y2.mjs.map
91
+ //# sourceMappingURL=chunk-LNXH2HKF.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/checkbox-group.tsx"],"sourcesContent":["import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { FlexProps } from \"@yamada-ui/layouts\"\nimport type {\n ForwardedRef,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport type { CheckboxGroupContext } from \"./checkbox-context\"\nimport type { UseCheckboxGroupProps } from \"./use-checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { Checkbox } from \"./checkbox\"\nimport { CheckboxGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nexport interface CheckboxGroupSharedProps<Y extends number | string = string>\n extends Omit<FlexProps, \"defaultValue\" | \"onChange\">,\n UseCheckboxGroupProps<Y>,\n FormControlOptions {}\n\nexport interface CheckboxGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n ThemeProps<\"Checkbox\"> {\n /**\n * If provided, generate checkboxes based on items.\n *\n * @default '[]'\n */\n items?: CheckboxItem<Y>[]\n}\n\nexport const CheckboxGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"column\",\n gap,\n items = [],\n ...props\n }: CheckboxGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const {\n disabled,\n invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n labelId,\n readOnly,\n required,\n ...rest\n } = useFormControl(computedProps)\n\n const validChildren = getValidChildren(children)\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length) {\n computedChildren = items.map((props, index) => (\n <Checkbox key={index} {...props} />\n ))\n }\n\n return (\n <CheckboxGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n onChange,\n } as CheckboxGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-group\", className)}\n direction={direction}\n gap={gap ?? (direction === \"row\" ? \"1rem\" : undefined)}\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxGroup.displayName = \"CheckboxGroup\"\nCheckboxGroup.__ui__ = \"CheckboxGroup\"\n"],"mappings":";;;;;;;;;;;;AAYA,SAAS,sBAAsB;AAC/B,SAAS,YAAY;AACrB,SAAS,IAAI,wBAAwB;AACrC,SAAS,kBAAkB;AAiEnB;AAvCD,IAAM,gBAAgB;AAAA,EAC3B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA,QAAQ,CAAC;AAAA,IACT,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM;AAAA,MACJ,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,iBAAoB,KAAK;AAC7B,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,IAAI,eAAe,aAAa;AAEhC,UAAM,gBAAgB,iBAAiB,QAAQ;AAC/C,QAAI,mBAAmC,CAAC;AAExC,QAAI,CAAC,cAAc,UAAU,MAAM,QAAQ;AACzC,yBAAmB,MAAM,IAAI,CAACA,QAAO,UACnC,oBAAC,YAAsB,GAAGA,UAAX,KAAkB,CAClC;AAAA,IACH;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OACE;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAGF;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,WAAW,GAAG,qBAAqB,SAAS;AAAA,YAC5C;AAAA,YACA,KAAK,oBAAQ,cAAc,QAAQ,SAAS;AAAA,YAC3C,GAAG,kBAAkB;AAAA,cACpB,mBAAmB;AAAA,cACnB,GAAG;AAAA,YACL,CAAC;AAAA,YAEA,wCAAY;AAAA;AAAA,QACf;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAMA,cAAc,cAAc;AAC5B,cAAc,SAAS;","names":["props"]}
package/dist/index.js CHANGED
@@ -844,7 +844,18 @@ var CheckboxCardGroup = (0, import_react5.forwardRef)(
844
844
  getContainerProps,
845
845
  onChange
846
846
  } = useCheckboxGroup(props);
847
- const { disabled, invalid, labelId, readOnly, required, ...rest } = (0, import_form_control4.useFormControl)(computedProps);
847
+ const {
848
+ disabled,
849
+ invalid,
850
+ isDisabled: _isDisabled,
851
+ isInvalid: _isInvalid,
852
+ isReadOnly: _isReadOnly,
853
+ isRequired: _isRequired,
854
+ labelId,
855
+ readOnly,
856
+ required,
857
+ ...rest
858
+ } = (0, import_form_control4.useFormControl)(computedProps);
848
859
  const validChildren = (0, import_utils9.getValidChildren)(children);
849
860
  let computedChildren = [];
850
861
  if (!validChildren.length && items.length)
@@ -913,7 +924,18 @@ var CheckboxGroup = (0, import_react6.forwardRef)(
913
924
  getContainerProps,
914
925
  onChange
915
926
  } = useCheckboxGroup(props);
916
- const { disabled, invalid, labelId, readOnly, required, ...rest } = (0, import_form_control5.useFormControl)(computedProps);
927
+ const {
928
+ disabled,
929
+ invalid,
930
+ isDisabled: _isDisabled,
931
+ isInvalid: _isInvalid,
932
+ isReadOnly: _isReadOnly,
933
+ isRequired: _isRequired,
934
+ labelId,
935
+ readOnly,
936
+ required,
937
+ ...rest
938
+ } = (0, import_form_control5.useFormControl)(computedProps);
917
939
  const validChildren = (0, import_utils10.getValidChildren)(children);
918
940
  let computedChildren = [];
919
941
  if (!validChildren.length && items.length) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts","../src/checkbox.tsx","../src/checkbox-context.tsx","../src/use-checkbox.ts","../src/checkbox-card.tsx","../src/checkbox-card-addon.tsx","../src/checkbox-card-description.tsx","../src/checkbox-card-label.tsx","../src/checkbox-card-group.tsx","../src/use-checkbox-group.ts","../src/checkbox-group.tsx"],"sourcesContent":["export { Checkbox, CheckboxIcon } from \"./checkbox\"\nexport type { CheckboxIconProps, CheckboxProps } from \"./checkbox\"\nexport { CheckboxCard } from \"./checkbox-card\"\nexport type { CheckboxCardProps } from \"./checkbox-card\"\nexport { CheckboxCardAddon } from \"./checkbox-card-addon\"\nexport type { CheckboxCardAddonProps } from \"./checkbox-card-addon\"\nexport { CheckboxCardDescription } from \"./checkbox-card-description\"\nexport type { CheckboxCardDescriptionProps } from \"./checkbox-card-description\"\nexport { CheckboxCardGroup } from \"./checkbox-card-group\"\nexport type {\n CheckboxCardGroupProps,\n CheckboxCardItem,\n} from \"./checkbox-card-group\"\nexport { CheckboxCardLabel } from \"./checkbox-card-label\"\nexport type { CheckboxCardLabelProps } from \"./checkbox-card-label\"\nexport { CheckboxGroup } from \"./checkbox-group\"\nexport type { CheckboxGroupProps, CheckboxItem } from \"./checkbox-group\"\nexport { useCheckbox } from \"./use-checkbox\"\nexport type { UseCheckboxProps, UseCheckboxReturn } from \"./use-checkbox\"\nexport { useCheckboxGroup } from \"./use-checkbox-group\"\nexport type {\n UseCheckboxGroupProps,\n UseCheckboxGroupReturn,\n} from \"./use-checkbox-group\"\n","import type {\n ComponentArgs,\n FC,\n HTMLUIProps,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { MotionProps } from \"@yamada-ui/motion\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport type {\n CSSProperties,\n ForwardedRef,\n InputHTMLAttributes,\n ReactElement,\n ReactNode,\n Ref,\n} from \"react\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { omitThemeProps, ui, useComponentMultiStyle } from \"@yamada-ui/core\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { AnimatePresence, motion } from \"@yamada-ui/motion\"\nimport { cx, funcAll } from \"@yamada-ui/utils\"\nimport { cloneElement, forwardRef } from \"react\"\nimport { useCheckboxGroupContext } from \"./checkbox-context\"\nimport { useCheckbox } from \"./use-checkbox\"\n\ninterface CheckboxOptions {\n /**\n * The label of the checkbox.\n */\n label?: ReactNode\n /**\n * Props for icon component.\n */\n iconProps?: { children: ReactElement } & Omit<HTMLUIProps, \"children\">\n /**\n * Props for input element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /**\n * Props for label element.\n */\n labelProps?: HTMLUIProps<\"span\">\n}\n\nexport interface CheckboxProps<Y extends number | string = string>\n extends Merge<HTMLUIProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<\"Checkbox\">,\n CheckboxOptions {}\n\n/**\n * `Checkbox` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox\n */\nexport const Checkbox = forwardRef(\n <Y extends number | string = string>(\n props: CheckboxProps<Y>,\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const group = useCheckboxGroupContext()\n const { value: groupValue, ...groupProps } = { ...group }\n const control = useFormControl(props)\n const [styles, mergedProps] = useComponentMultiStyle(\"Checkbox\", {\n ...groupProps,\n ...props,\n })\n const {\n className,\n children,\n disabled = groupProps.disabled ?? control.disabled,\n gap = \"0.5rem\",\n invalid = groupProps.invalid ?? control.invalid,\n label,\n readOnly = groupProps.readOnly ?? control.readOnly,\n required = groupProps.required ?? control.required,\n iconProps,\n inputProps,\n labelProps,\n ...computedProps\n } = omitThemeProps(mergedProps)\n\n computedProps.checked ??= computedProps.isChecked\n\n const checkedProp =\n groupValue && computedProps.value\n ? groupValue.includes(computedProps.value)\n : computedProps.checked\n const onChange =\n groupProps.onChange && computedProps.value\n ? funcAll(groupProps.onChange, computedProps.onChange)\n : computedProps.onChange\n\n const {\n checked,\n indeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n } = useCheckbox({\n ...computedProps,\n checked: checkedProp,\n disabled,\n invalid,\n readOnly,\n required,\n onChange,\n })\n\n const { children: customIcon, ...resolvedIconProps } = { ...iconProps }\n const icon = cloneElement(customIcon ?? <CheckboxIcon />, {\n checked,\n disabled,\n indeterminate,\n invalid,\n isDisabled: disabled,\n isIndeterminate: indeterminate,\n isInvalid: invalid,\n isReadOnly: readOnly,\n isRequired: required,\n readOnly,\n required,\n __css: {\n opacity: checked || indeterminate ? 1 : 0,\n transform: checked || indeterminate ? \"scale(1)\" : \"scale(0.95)\",\n transitionDuration: \"normal\",\n transitionProperty: \"transform\",\n },\n })\n\n return (\n <ui.label\n className={cx(\"ui-checkbox\", className)}\n {...getContainerProps()}\n __css={{\n alignItems: \"center\",\n cursor: \"pointer\",\n display: \"inline-flex\",\n gap,\n position: \"relative\",\n verticalAlign: \"top\",\n ...styles.container,\n }}\n {...rest}\n >\n <ui.input\n className=\"ui-checkbox__input\"\n {...getInputProps(inputProps, ref)}\n />\n\n <ui.div\n className=\"ui-checkbox__icon\"\n __css={{\n display: \"inline-block\",\n position: \"relative\",\n userSelect: \"none\",\n ...styles.icon,\n }}\n {...getIconProps(resolvedIconProps)}\n >\n {icon}\n </ui.div>\n\n <ui.span\n className=\"ui-checkbox__label\"\n __css={{ ...styles.label }}\n {...getLabelProps(labelProps)}\n >\n {children ?? label}\n </ui.span>\n </ui.label>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: { ref?: Ref<HTMLInputElement> } & CheckboxProps<Y>,\n ): ReactElement\n} & ComponentArgs\n\nCheckbox.displayName = \"Checkbox\"\nCheckbox.__ui__ = \"Checkbox\"\n\nexport type CheckboxIconProps = {\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n} & FormControlOptions &\n MotionProps<\"svg\">\n\nexport const CheckboxIcon: FC<CheckboxIconProps> = ({\n isChecked,\n checked = isChecked,\n disabled: _disabled,\n isIndeterminate,\n indeterminate = isIndeterminate,\n invalid: _invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n readOnly: _readOnly,\n required: _required,\n ...rest\n}) => {\n return (\n <AnimatePresence initial={false}>\n {indeterminate || checked ? (\n <ui.div\n __css={{\n left: \"50%\",\n position: \"absolute\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <motion.div\n style={\n {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n } as CSSProperties\n }\n animate=\"checked\"\n exit=\"unchecked\"\n initial=\"unchecked\"\n variants={{\n checked: { scale: 1 },\n unchecked: { scale: 0.5 },\n }}\n >\n {indeterminate ? (\n <CheckboxIndeterminateIcon {...rest} />\n ) : (\n <CheckboxCheckIcon {...rest} />\n )}\n </motion.div>\n </ui.div>\n ) : null}\n </AnimatePresence>\n )\n}\n\nCheckboxIcon.displayName = \"CheckboxIcon\"\nCheckboxIcon.__ui__ = \"CheckboxIcon\"\n\ninterface CheckboxCheckIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxCheckIcon: FC<CheckboxCheckIconProps> = (props) => {\n return (\n <motion.svg\n style={{\n fill: \"none\",\n stroke: \"currentColor\",\n strokeDasharray: 16,\n strokeWidth: 2,\n }}\n variants={{\n checked: {\n opacity: 1,\n strokeDashoffset: 0,\n transition: { duration: 0.2 },\n },\n unchecked: {\n opacity: 0,\n strokeDashoffset: 16,\n },\n }}\n viewBox=\"0 0 12 10\"\n width=\"1.2em\"\n {...props}\n >\n <polyline points=\"1.5 6 4.5 9 10.5 1\" />\n </motion.svg>\n )\n}\n\nCheckboxCheckIcon.displayName = \"CheckboxCheckIcon\"\nCheckboxCheckIcon.__ui__ = \"CheckboxCheckIcon\"\n\ninterface CheckboxIndeterminateIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxIndeterminateIcon: FC<CheckboxIndeterminateIconProps> = (\n props,\n) => {\n return (\n <motion.svg\n style={{ stroke: \"currentColor\", strokeWidth: 4 }}\n variants={{\n checked: {\n opacity: 1,\n scaleX: 1,\n transition: {\n opacity: { duration: 0.02 },\n scaleX: { duration: 0 },\n },\n },\n unchecked: {\n opacity: 0,\n scaleX: 0.65,\n },\n }}\n viewBox=\"0 0 24 24\"\n width=\"1.2em\"\n {...props}\n >\n <line x1=\"21\" x2=\"3\" y1=\"12\" y2=\"12\" />\n </motion.svg>\n )\n}\n\nCheckboxIndeterminateIcon.displayName = \"CheckboxIndeterminateIcon\"\nCheckboxIndeterminateIcon.__ui__ = \"CheckboxIndeterminateIcon\"\n","import type {\n CSSUIObject,\n HTMLUIProps,\n PropGetter,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { ChangeEvent, ReactElement } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport { createContext } from \"@yamada-ui/utils\"\n\ninterface CheckboxGroupSharedContext extends FormControlOptions {\n value: (number | string)[]\n onChange: (evOrValue: ChangeEvent<HTMLInputElement> | number | string) => void\n}\n\nexport interface CheckboxGroupContext\n extends CheckboxGroupSharedContext,\n ThemeProps<\"Checkbox\">,\n FormControlOptions {}\n\nexport const [CheckboxGroupProvider, useCheckboxGroupContext] =\n createContext<CheckboxGroupContext>({\n name: \"CheckboxGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardGroupContext\n extends CheckboxGroupSharedContext,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {}\n\nexport const [CheckboxCardGroupProvider, useCheckboxCardGroupContext] =\n createContext<CheckboxCardGroupContext>({\n name: \"CheckboxCardGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardContext {\n icon: ReactElement\n styles: { [key: string]: CSSUIObject | undefined }\n withIcon: boolean\n getIconProps: PropGetter\n iconProps?: HTMLUIProps\n}\n\nexport const [CheckboxCardProvider, useCheckboxCardContext] =\n createContext<CheckboxCardContext>({\n name: \"CheckboxCardContext\",\n errorMessage: `useCheckboxCardContext returned is 'undefined'. Seems you forgot to wrap the components in \"<CheckboxCard />\"`,\n })\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEvent,\n SyntheticEvent,\n} from \"react\"\nimport {\n formControlProperties,\n useFormControlProps,\n} from \"@yamada-ui/form-control\"\nimport { trackFocusVisible } from \"@yamada-ui/use-focus-visible\"\nimport {\n dataAttr,\n handlerAll,\n mergeRefs,\n splitObject,\n useCallbackRef,\n useSafeLayoutEffect,\n useUpdateEffect,\n} from \"@yamada-ui/utils\"\nimport { useCallback, useEffect, useId, useRef, useState } from \"react\"\n\nexport interface UseCheckboxProps<Y extends number | string = string>\n extends FormControlOptions {\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * The HTML `name` attribute used for forms.\n */\n name?: string\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n *\n * @deprecated Use `defaultChecked` instead.\n */\n defaultIsChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n /**\n * If `true`, the checkbox will be selected when the Enter key is pressed.\n *\n * @default false\n */\n selectOnEnter?: boolean\n /**\n * The tab-index property of the underlying input element.\n */\n tabIndex?: number\n /**\n * The value to be used in the checkbox input.\n */\n value?: Y\n /**\n * The callback invoked when the checkbox is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checkbox is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useCheckbox = <\n Y extends number | string = string,\n M extends Dict = Dict,\n>({\n id,\n ...props\n}: M & UseCheckboxProps<Y>) => {\n const uuid = useId()\n\n id ??= uuid\n\n const {\n id: _id,\n name,\n isChecked,\n checked: checkedProp = isChecked,\n defaultIsChecked,\n defaultChecked = defaultIsChecked,\n isIndeterminate,\n indeterminate = isIndeterminate,\n selectOnEnter,\n tabIndex,\n value,\n onChange: onChangeProp,\n ...computedProps\n } = useFormControlProps({ id, ...props })\n const [\n {\n \"aria-readonly\": _ariaReadonly,\n disabled,\n readOnly,\n required,\n onBlur: onBlurProp,\n onFocus: onFocusProp,\n ...formControlProps\n },\n rest,\n ] = splitObject(computedProps, formControlProperties)\n const [focusVisible, setFocusVisible] = useState<boolean>(false)\n const [focused, setFocused] = useState<boolean>(false)\n const [hovered, setHovered] = useState<boolean>(false)\n const [active, setActive] = useState<boolean>(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const [label, setLabel] = useState<boolean>(true)\n const [checked, setIsChecked] = useState<boolean>(!!defaultChecked)\n const controlled = checkedProp !== undefined\n const resolvedChecked = controlled ? (checkedProp as boolean) : checked\n\n const onChange = useCallbackRef(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (readOnly || disabled) {\n ev.preventDefault()\n\n return\n }\n\n if (!controlled)\n setIsChecked(\n !resolvedChecked || indeterminate ? true : ev.target.checked,\n )\n\n onChangeProp?.(ev)\n },\n [readOnly, disabled, controlled, resolvedChecked, indeterminate],\n )\n const onFocus = useCallbackRef(onFocusProp)\n const onBlur = useCallbackRef(onBlurProp)\n\n const onKeyDown = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(true)\n\n if (selectOnEnter && key === \"Enter\") inputRef.current?.click()\n },\n [setActive, selectOnEnter],\n )\n\n const onKeyUp = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(false)\n },\n [setActive],\n )\n\n useEffect(() => {\n return trackFocusVisible(setFocusVisible)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (inputRef.current)\n inputRef.current.indeterminate = Boolean(isIndeterminate)\n }, [isIndeterminate])\n\n useUpdateEffect(() => {\n if (disabled) setFocused(false)\n }, [disabled, setFocused])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current?.form) return\n\n inputRef.current.form.onreset = () => setIsChecked(!!defaultChecked)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current) return\n\n if (inputRef.current.checked !== resolvedChecked)\n setIsChecked(inputRef.current.checked)\n }, [inputRef.current])\n\n const getContainerProps: PropGetter<\"label\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref: mergeRefs(ref, (el: HTMLElement | undefined) => {\n if (el) setLabel(el.tagName === \"LABEL\")\n }),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n onClick: handlerAll(props.onClick, () => {\n if (label) return\n\n inputRef.current?.click()\n\n requestAnimationFrame(() => inputRef.current?.focus())\n }),\n }),\n [resolvedChecked, label, focused, focusVisible, formControlProps],\n )\n\n const getIconProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"aria-hidden\": true,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n \"data-hover\": dataAttr(hovered),\n \"data-indeterminate\": dataAttr(indeterminate),\n onMouseDown: handlerAll(props.onMouseDown, (ev: React.MouseEvent) => {\n if (focused) ev.preventDefault()\n\n setActive(true)\n }),\n onMouseEnter: handlerAll(props.onMouseEnter, () => setHovered(true)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => setHovered(false)),\n onMouseUp: handlerAll(props.onMouseUp, () => setActive(false)),\n }),\n [\n active,\n resolvedChecked,\n focused,\n hovered,\n focusVisible,\n indeterminate,\n formControlProps,\n ],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n id,\n ref: mergeRefs(inputRef, ref),\n type: \"checkbox\",\n name,\n style: {\n border: \"0px\",\n clip: \"rect(0px, 0px, 0px, 0px)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: \"0px\",\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n },\n \"aria-checked\": indeterminate ? \"mixed\" : resolvedChecked,\n checked: resolvedChecked,\n disabled,\n readOnly,\n required,\n tabIndex,\n value,\n onBlur: handlerAll(props.onBlur, onBlur, () => setFocused(false)),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, onFocus, () => setFocused(true)),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n onKeyUp: handlerAll(props.onKeyUp, onKeyUp),\n }),\n [\n indeterminate,\n formControlProps,\n id,\n name,\n value,\n tabIndex,\n required,\n disabled,\n readOnly,\n resolvedChecked,\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n ],\n )\n\n const getLabelProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"data-checked\": dataAttr(resolvedChecked),\n onMouseDown: handlerAll(props.onMouseDown, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n onTouchStart: handlerAll(props.onTouchStart, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n }),\n [resolvedChecked, formControlProps],\n )\n\n return {\n active,\n checked: resolvedChecked,\n focused,\n focusVisible,\n hovered,\n indeterminate,\n /**\n * @deprecated Use `active` instead.\n */\n isActive: active,\n /**\n * @deprecated Use `checked` instead.\n */\n isChecked: resolvedChecked,\n /**\n * @deprecated Use `focused` instead.\n */\n isFocused: focused,\n /**\n * @deprecated Use `focusVisible` instead.\n */\n isFocusVisible: focusVisible,\n /**\n * @deprecated Use `hovered` instead.\n */\n isHovered: hovered,\n /**\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n }\n}\n\nexport type UseCheckboxReturn = ReturnType<typeof useCheckbox>\n","import type { ComponentArgs, HTMLUIProps, ThemeProps } from \"@yamada-ui/core\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport type {\n ForwardedRef,\n InputHTMLAttributes,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from \"react\"\nimport type { CheckboxCardAddonProps } from \"./checkbox-card-addon\"\nimport type { CheckboxCardDescriptionProps } from \"./checkbox-card-description\"\nimport type { CheckboxCardLabelProps } from \"./checkbox-card-label\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { omitThemeProps, ui, useComponentMultiStyle } from \"@yamada-ui/core\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport {\n cx,\n findChild,\n funcAll,\n getValidChildren,\n isEmpty,\n omitChildren,\n} from \"@yamada-ui/utils\"\nimport { cloneElement, forwardRef } from \"react\"\nimport { CheckboxIcon } from \"./checkbox\"\nimport { CheckboxCardAddon } from \"./checkbox-card-addon\"\nimport { CheckboxCardDescription } from \"./checkbox-card-description\"\nimport { CheckboxCardLabel } from \"./checkbox-card-label\"\nimport { CheckboxCardProvider } from \"./checkbox-context\"\nimport { useCheckboxCardGroupContext } from \"./checkbox-context\"\nimport { useCheckbox } from \"./use-checkbox\"\n\ninterface CheckboxCardOptions {\n /**\n * The addon of the checkbox card.\n */\n addon?: ReactNode\n /**\n * The body of the checkbox card.\n */\n description?: ReactNode\n /**\n * The label of the checkbox card.\n */\n label?: ReactNode\n /**\n * If `true`, the icon will be displayed.\n *\n * @default true\n */\n withIcon?: boolean\n /**\n * Props for the footer of the checkbox card.\n */\n addonProps?: CheckboxCardAddonProps\n /**\n * Props for the description of the checkbox card.\n */\n descriptionProps?: CheckboxCardDescriptionProps\n /**\n * Props for the icon of the checkbox card.\n */\n iconProps?: { children: ReactElement } & Omit<HTMLUIProps, \"children\">\n /**\n * Props for input element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /**\n * Props for the label of the checkbox card.\n */\n labelProps?: CheckboxCardLabelProps\n}\n\nexport interface CheckboxCardProps<Y extends number | string = string>\n extends Merge<HTMLUIProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<\"CheckboxCard\">,\n CheckboxCardOptions {}\n\n/**\n * `CheckboxCard` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox-card\n */\nexport const CheckboxCard = forwardRef(\n <Y extends number | string = string>(\n props: CheckboxCardProps<Y>,\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const group = useCheckboxCardGroupContext()\n const { value: groupValue, ...groupProps } = { ...group }\n const control = useFormControl(props)\n const [styles, mergedProps] = useComponentMultiStyle(\"CheckboxCard\", {\n ...groupProps,\n ...props,\n })\n const {\n className,\n addon,\n children,\n description,\n disabled = groupProps.disabled ?? control.disabled,\n invalid = groupProps.invalid ?? control.invalid,\n label,\n readOnly = groupProps.readOnly ?? control.readOnly,\n required = groupProps.required ?? control.required,\n withIcon = true,\n addonProps,\n descriptionProps,\n iconProps,\n inputProps,\n labelProps,\n ...computedProps\n } = omitThemeProps(mergedProps)\n\n computedProps.checked ??= computedProps.isChecked\n\n const isCheckedProp =\n groupValue && computedProps.value\n ? groupValue.includes(computedProps.value)\n : computedProps.checked\n const onChange =\n groupProps.onChange && computedProps.value\n ? funcAll(groupProps.onChange, computedProps.onChange)\n : computedProps.onChange\n\n const {\n checked,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n } = useCheckbox({\n ...computedProps,\n disabled,\n invalid,\n isChecked: isCheckedProp,\n readOnly,\n required,\n onChange,\n })\n\n const { children: customIcon, ...resolvedIconProps } = { ...iconProps }\n const icon = cloneElement(customIcon ?? <CheckboxIcon />, {\n checked,\n disabled,\n invalid,\n isChecked: checked,\n isDisabled: disabled,\n isInvalid: invalid,\n isReadOnly: readOnly,\n isRequired: required,\n readOnly,\n required,\n __css: {\n opacity: checked ? 1 : 0,\n transform: checked ? \"scale(1)\" : \"scale(0.95)\",\n transitionDuration: \"normal\",\n transitionProperty: \"transform\",\n },\n })\n\n const validChildren = getValidChildren(children)\n const customLabel = findChild(validChildren, CheckboxCardLabel)\n const customDescription = findChild(validChildren, CheckboxCardDescription)\n const customAddon = findChild(validChildren, CheckboxCardAddon)\n\n const computedChildren = !isEmpty(validChildren)\n ? omitChildren(\n validChildren,\n CheckboxCardLabel,\n CheckboxCardDescription,\n CheckboxCardAddon,\n )\n : children\n\n return (\n <CheckboxCardProvider\n value={{\n icon,\n styles,\n withIcon,\n getIconProps,\n iconProps: resolvedIconProps,\n }}\n >\n <ui.label\n className={cx(\"ui-checkbox-card\", className)}\n {...getContainerProps(rest)}\n __css={{ ...styles.container }}\n >\n <ui.input\n className=\"ui-checkbox-card__input\"\n {...getInputProps(inputProps, ref)}\n />\n\n {customLabel ??\n (label ? (\n <CheckboxCardLabel {...labelProps}>{label}</CheckboxCardLabel>\n ) : null)}\n\n {customDescription ??\n (description ? (\n <CheckboxCardDescription {...descriptionProps}>\n {description}\n </CheckboxCardDescription>\n ) : null)}\n\n {customAddon ??\n (addon ? (\n <CheckboxCardAddon {...addonProps}>{addon}</CheckboxCardAddon>\n ) : null)}\n\n {computedChildren}\n </ui.label>\n </CheckboxCardProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxCardProps<Y> & RefAttributes<HTMLInputElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxCard.displayName = \"CheckboxCard\"\nCheckboxCard.__ui__ = \"CheckboxCard\"\n","import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardAddonProps extends HTMLUIProps {}\n\nexport const CheckboxCardAddon = forwardRef<CheckboxCardAddonProps, \"div\">(\n ({ className, ...rest }, ref) => {\n const { styles } = useCheckboxCardContext()\n\n const css: CSSUIObject = { ...styles.addon }\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__addon\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n\nCheckboxCardAddon.displayName = \"CheckboxCardAddon\"\nCheckboxCardAddon.__ui__ = \"CheckboxCardAddon\"\n","import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardDescriptionProps extends HTMLUIProps {}\n\nexport const CheckboxCardDescription = forwardRef<\n CheckboxCardDescriptionProps,\n \"div\"\n>(({ className, ...rest }, ref) => {\n const { styles } = useCheckboxCardContext()\n\n const css: CSSUIObject = { ...styles.description }\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__description\", className)}\n __css={css}\n {...rest}\n />\n )\n})\n\nCheckboxCardDescription.displayName = \"CheckboxCardDescription\"\nCheckboxCardDescription.__ui__ = \"CheckboxCardDescription\"\n","import type { HTMLUIProps } from \"@yamada-ui/core\"\nimport type { ReactElement } from \"react\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardLabelProps extends HTMLUIProps {\n /**\n * The icon of the checkbox card.\n */\n icon?: ReactElement\n /**\n * If `true`, the icon will be displayed.\n *\n * @default true\n */\n withIcon?: boolean\n /**\n * The props for the label content.\n */\n contentProps?: HTMLUIProps<\"span\">\n /**\n * The props for the icon.\n */\n iconProps?: HTMLUIProps\n}\n\nexport const CheckboxCardLabel = forwardRef<CheckboxCardLabelProps, \"div\">(\n (\n {\n className,\n children,\n icon: iconProp,\n withIcon,\n contentProps,\n iconProps,\n ...rest\n },\n ref,\n ) => {\n const {\n icon,\n styles,\n withIcon: defaultWithIcon,\n getIconProps,\n iconProps: defaultIconProps,\n } = useCheckboxCardContext()\n\n withIcon ??= defaultWithIcon\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__label\", className)}\n __css={{ ...styles.label }}\n {...rest}\n >\n <ui.span\n className=\"ui-checkbox-card__label-content\"\n __css={{ ...styles.labelContent }}\n {...contentProps}\n >\n {children}\n </ui.span>\n\n {withIcon ? (\n <ui.div\n className=\"ui-checkbox-card__icon\"\n __css={{ ...styles.icon }}\n {...getIconProps({ ...defaultIconProps, ...iconProps })}\n >\n {iconProp ?? icon}\n </ui.div>\n ) : null}\n </ui.div>\n )\n },\n)\n\nCheckboxCardLabel.displayName = \"CheckboxCardLabel\"\nCheckboxCardLabel.__ui__ = \"CheckboxCardLabel\"\n","import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { ForwardedRef, ReactElement, RefAttributes } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport type { CheckboxCardGroupContext } from \"./checkbox-context\"\nimport type { CheckboxGroupSharedProps } from \"./checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { CheckboxCard } from \"./checkbox-card\"\nimport { CheckboxCardGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport type CheckboxCardItem<Y extends number | string = string> =\n CheckboxCardProps<Y>\n\nexport interface CheckboxCardGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {\n /**\n * If provided, generate checkbox cards based on items.\n *\n * @default '[]'\n */\n items?: CheckboxCardItem<Y>[]\n}\n\n/**\n * `CheckboxCardGroup` is a component that groups `CheckboxCard` components.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox-card\n */\nexport const CheckboxCardGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"row\",\n gap = \"0.5rem\",\n items = [],\n withIcon = true,\n addonProps,\n descriptionProps,\n labelProps,\n ...props\n }: CheckboxCardGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const { disabled, invalid, labelId, readOnly, required, ...rest } =\n useFormControl(computedProps)\n const validChildren = getValidChildren(children)\n\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length)\n computedChildren = items.map((props, i) => (\n <CheckboxCard key={i} {...props} />\n ))\n\n return (\n <CheckboxCardGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n withIcon,\n addonProps,\n descriptionProps,\n labelProps,\n onChange,\n } as CheckboxCardGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-card-group\", className)}\n gap={gap}\n w=\"100%\"\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n direction={direction}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxCardGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxCardGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxCardGroup.displayName = \"CheckboxCardGroup\"\nCheckboxCardGroup.__ui__ = \"CheckboxCardGroup\"\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ChangeEvent, ReactNode } from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport { useControllableState } from \"@yamada-ui/use-controllable-state\"\nimport { isObject, useCallbackRef } from \"@yamada-ui/utils\"\nimport { useCallback } from \"react\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nconst isEvent = (value: any): value is { target: HTMLInputElement } =>\n value && isObject(value) && isObject(value.target)\n\nexport interface UseCheckboxGroupProps<Y extends number | string = string> {\n /**\n * The initial value of the checkbox group.\n */\n defaultValue?: Y[]\n /**\n * If `true`, input elements will receive `checked` attribute instead of `isChecked`.\n *\n * This assumes, you're using native radio inputs.\n *\n * @default false\n *\n * @deprecated It will be deprecated in version 2.0.\n */\n isNative?: boolean\n /**\n * The value of the checkbox group.\n */\n value?: Y[]\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: Y[]) => void\n}\n\nexport const useCheckboxGroup = <\n Y extends number | string,\n M extends Dict = Dict,\n>({\n defaultValue = [],\n isNative,\n value: valueProp,\n onChange: onChangeProp,\n ...props\n}: M & UseCheckboxGroupProps<Y>) => {\n const onChangeRef = useCallbackRef(onChangeProp)\n\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeRef,\n })\n\n const onChange = useCallback(\n (evOrValue: ChangeEvent<HTMLInputElement> | Y) => {\n const isChecked = isEvent(evOrValue)\n ? evOrValue.target.checked\n : !value.includes(evOrValue)\n\n const selectedValue = (\n isEvent(evOrValue) ? evOrValue.target.value : evOrValue\n ) as Y\n\n const nextValue = isChecked\n ? [...value, selectedValue]\n : value.filter((v) => String(v) !== String(selectedValue))\n\n setValue(nextValue)\n },\n [value, setValue],\n )\n\n const getContainerProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n role: \"group\",\n ...props,\n ref,\n }),\n [],\n )\n\n const getCheckboxProps: PropGetter<\n { value?: Y },\n { checked?: boolean; isChecked?: boolean; value?: Y }\n > = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n ref,\n [isNative ? \"checked\" : \"isChecked\"]: value.some(\n (val) => String(props.value) === String(val),\n ),\n onChange,\n }),\n [onChange, isNative, value],\n )\n\n return {\n props,\n setValue,\n value,\n getCheckboxProps,\n getContainerProps,\n onChange,\n }\n}\n\nexport type UseCheckboxGroupReturn<Y extends number | string = string> =\n ReturnType<typeof useCheckboxGroup<Y>>\n","import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { FlexProps } from \"@yamada-ui/layouts\"\nimport type {\n ForwardedRef,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport type { CheckboxGroupContext } from \"./checkbox-context\"\nimport type { UseCheckboxGroupProps } from \"./use-checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { Checkbox } from \"./checkbox\"\nimport { CheckboxGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nexport interface CheckboxGroupSharedProps<Y extends number | string = string>\n extends Omit<FlexProps, \"defaultValue\" | \"onChange\">,\n UseCheckboxGroupProps<Y>,\n FormControlOptions {}\n\nexport interface CheckboxGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n ThemeProps<\"Checkbox\"> {\n /**\n * If provided, generate checkboxes based on items.\n *\n * @default '[]'\n */\n items?: CheckboxItem<Y>[]\n}\n\nexport const CheckboxGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"column\",\n gap,\n items = [],\n ...props\n }: CheckboxGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const { disabled, invalid, labelId, readOnly, required, ...rest } =\n useFormControl(computedProps)\n\n const validChildren = getValidChildren(children)\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length) {\n computedChildren = items.map((props, index) => (\n <Checkbox key={index} {...props} />\n ))\n }\n\n return (\n <CheckboxGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n onChange,\n } as CheckboxGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-group\", className)}\n direction={direction}\n gap={gap ?? (direction === \"row\" ? \"1rem\" : undefined)}\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxGroup.displayName = \"CheckboxGroup\"\nCheckboxGroup.__ui__ = \"CheckboxGroup\"\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACkBA,kBAA2D;AAC3D,IAAAA,uBAA+B;AAC/B,oBAAwC;AACxC,IAAAC,gBAA4B;AAC5B,IAAAC,gBAAyC;;;ACbzC,mBAA8B;AAYvB,IAAM,CAAC,uBAAuB,uBAAuB,QAC1D,4BAAoC;AAAA,EAClC,MAAM;AAAA,EACN,QAAQ;AACV,CAAC;AAUI,IAAM,CAAC,2BAA2B,2BAA2B,QAClE,4BAAwC;AAAA,EACtC,MAAM;AAAA,EACN,QAAQ;AACV,CAAC;AAUI,IAAM,CAAC,sBAAsB,sBAAsB,QACxD,4BAAmC;AAAA,EACjC,MAAM;AAAA,EACN,cAAc;AAChB,CAAC;;;AC3CH,0BAGO;AACP,+BAAkC;AAClC,IAAAC,gBAQO;AACP,mBAAgE;AAkFzD,IAAM,cAAc,CAGzB;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAA+B;AAC7B,QAAM,WAAO,oBAAM;AAEnB,yBAAO;AAEP,QAAM;AAAA,IACJ,IAAI;AAAA,IACJ;AAAA,IACA;AAAA,IACA,SAAS,cAAc;AAAA,IACvB;AAAA,IACA,iBAAiB;AAAA,IACjB;AAAA,IACA,gBAAgB;AAAA,IAChB;AAAA,IACA;AAAA,IACA;AAAA,IACA,UAAU;AAAA,IACV,GAAG;AAAA,EACL,QAAI,yCAAoB,EAAE,IAAI,GAAG,MAAM,CAAC;AACxC,QAAM;AAAA,IACJ;AAAA,MACE,iBAAiB;AAAA,MACjB;AAAA,MACA;AAAA,MACA;AAAA,MACA,QAAQ;AAAA,MACR,SAAS;AAAA,MACT,GAAG;AAAA,IACL;AAAA,IACA;AAAA,EACF,QAAI,2BAAY,eAAe,yCAAqB;AACpD,QAAM,CAAC,cAAc,eAAe,QAAI,uBAAkB,KAAK;AAC/D,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAkB,KAAK;AACrD,QAAM,CAAC,SAAS,UAAU,QAAI,uBAAkB,KAAK;AACrD,QAAM,CAAC,QAAQ,SAAS,QAAI,uBAAkB,KAAK;AACnD,QAAM,eAAW,qBAAyB,IAAI;AAC9C,QAAM,CAAC,OAAO,QAAQ,QAAI,uBAAkB,IAAI;AAChD,QAAM,CAAC,SAAS,YAAY,QAAI,uBAAkB,CAAC,CAAC,cAAc;AAClE,QAAM,aAAa,gBAAgB;AACnC,QAAM,kBAAkB,aAAc,cAA0B;AAEhE,QAAM,eAAW;AAAA,IACf,CAAC,OAAsC;AACrC,UAAI,YAAY,UAAU;AACxB,WAAG,eAAe;AAElB;AAAA,MACF;AAEA,UAAI,CAAC;AACH;AAAA,UACE,CAAC,mBAAmB,gBAAgB,OAAO,GAAG,OAAO;AAAA,QACvD;AAEF,mDAAe;AAAA,IACjB;AAAA,IACA,CAAC,UAAU,UAAU,YAAY,iBAAiB,aAAa;AAAA,EACjE;AACA,QAAM,cAAU,8BAAe,WAAW;AAC1C,QAAM,aAAS,8BAAe,UAAU;AAExC,QAAM,gBAAY;AAAA,IAChB,CAAC,EAAE,IAAI,MAAqB;AA/KhC;AAgLM,UAAI,QAAQ,IAAK,WAAU,IAAI;AAE/B,UAAI,iBAAiB,QAAQ,QAAS,gBAAS,YAAT,mBAAkB;AAAA,IAC1D;AAAA,IACA,CAAC,WAAW,aAAa;AAAA,EAC3B;AAEA,QAAM,cAAU;AAAA,IACd,CAAC,EAAE,IAAI,MAAqB;AAC1B,UAAI,QAAQ,IAAK,WAAU,KAAK;AAAA,IAClC;AAAA,IACA,CAAC,SAAS;AAAA,EACZ;AAEA,8BAAU,MAAM;AACd,eAAO,4CAAkB,eAAe;AAAA,EAC1C,GAAG,CAAC,CAAC;AAEL,yCAAoB,MAAM;AACxB,QAAI,SAAS;AACX,eAAS,QAAQ,gBAAgB,QAAQ,eAAe;AAAA,EAC5D,GAAG,CAAC,eAAe,CAAC;AAEpB,qCAAgB,MAAM;AACpB,QAAI,SAAU,YAAW,KAAK;AAAA,EAChC,GAAG,CAAC,UAAU,UAAU,CAAC;AAEzB,yCAAoB,MAAM;AA3M5B;AA4MI,QAAI,GAAC,cAAS,YAAT,mBAAkB,MAAM;AAE7B,aAAS,QAAQ,KAAK,UAAU,MAAM,aAAa,CAAC,CAAC,cAAc;AAAA,EACrE,GAAG,CAAC,CAAC;AAEL,yCAAoB,MAAM;AACxB,QAAI,CAAC,SAAS,QAAS;AAEvB,QAAI,SAAS,QAAQ,YAAY;AAC/B,mBAAa,SAAS,QAAQ,OAAO;AAAA,EACzC,GAAG,CAAC,SAAS,OAAO,CAAC;AAErB,QAAM,wBAAyC;AAAA,IAC7C,CAACC,SAAQ,CAAC,GAAG,MAAM,UAAU;AAAA,MAC3B,GAAG;AAAA,MACH,GAAGA;AAAA,MACH,SAAK,yBAAU,KAAK,CAAC,OAAgC;AACnD,YAAI,GAAI,UAAS,GAAG,YAAY,OAAO;AAAA,MACzC,CAAC;AAAA,MACD,oBAAgB,wBAAS,eAAe;AAAA,MACxC,kBAAc,wBAAS,OAAO;AAAA,MAC9B,0BAAsB,wBAAS,WAAW,YAAY;AAAA,MACtD,aAAS,0BAAWA,OAAM,SAAS,MAAM;AAlO/C;AAmOQ,YAAI,MAAO;AAEX,uBAAS,YAAT,mBAAkB;AAElB,8BAAsB,MAAG;AAvOjC,cAAAC;AAuOoC,kBAAAA,MAAA,SAAS,YAAT,gBAAAA,IAAkB;AAAA,SAAO;AAAA,MACvD,CAAC;AAAA,IACH;AAAA,IACA,CAAC,iBAAiB,OAAO,SAAS,cAAc,gBAAgB;AAAA,EAClE;AAEA,QAAM,mBAA2B;AAAA,IAC/B,CAACD,SAAQ,CAAC,GAAG,MAAM,UAAU;AAAA,MAC3B,GAAG;AAAA,MACH,GAAGA;AAAA,MACH;AAAA,MACA,eAAe;AAAA,MACf,mBAAe,wBAAS,MAAM;AAAA,MAC9B,oBAAgB,wBAAS,eAAe;AAAA,MACxC,kBAAc,wBAAS,OAAO;AAAA,MAC9B,0BAAsB,wBAAS,WAAW,YAAY;AAAA,MACtD,kBAAc,wBAAS,OAAO;AAAA,MAC9B,0BAAsB,wBAAS,aAAa;AAAA,MAC5C,iBAAa,0BAAWA,OAAM,aAAa,CAAC,OAAyB;AACnE,YAAI,QAAS,IAAG,eAAe;AAE/B,kBAAU,IAAI;AAAA,MAChB,CAAC;AAAA,MACD,kBAAc,0BAAWA,OAAM,cAAc,MAAM,WAAW,IAAI,CAAC;AAAA,MACnE,kBAAc,0BAAWA,OAAM,cAAc,MAAM,WAAW,KAAK,CAAC;AAAA,MACpE,eAAW,0BAAWA,OAAM,WAAW,MAAM,UAAU,KAAK,CAAC;AAAA,IAC/D;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,oBAAqC;AAAA,IACzC,CAACA,SAAQ,CAAC,GAAG,MAAM,UAAU;AAAA,MAC3B,GAAG;AAAA,MACH,GAAGA;AAAA,MACH;AAAA,MACA,SAAK,yBAAU,UAAU,GAAG;AAAA,MAC5B,MAAM;AAAA,MACN;AAAA,MACA,OAAO;AAAA,QACL,QAAQ;AAAA,QACR,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,UAAU;AAAA,QACV,SAAS;AAAA,QACT,UAAU;AAAA,QACV,YAAY;AAAA,QACZ,OAAO;AAAA,MACT;AAAA,MACA,gBAAgB,gBAAgB,UAAU;AAAA,MAC1C,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAQ,0BAAWA,OAAM,QAAQ,QAAQ,MAAM,WAAW,KAAK,CAAC;AAAA,MAChE,cAAU,0BAAWA,OAAM,UAAU,QAAQ;AAAA,MAC7C,aAAS,0BAAWA,OAAM,SAAS,SAAS,MAAM,WAAW,IAAI,CAAC;AAAA,MAClE,eAAW,0BAAWA,OAAM,WAAW,SAAS;AAAA,MAChD,aAAS,0BAAWA,OAAM,SAAS,OAAO;AAAA,IAC5C;AAAA,IACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AAEA,QAAM,oBAA4B;AAAA,IAChC,CAACA,SAAQ,CAAC,GAAG,MAAM,UAAU;AAAA,MAC3B,GAAG;AAAA,MACH,GAAGA;AAAA,MACH;AAAA,MACA,oBAAgB,wBAAS,eAAe;AAAA,MACxC,iBAAa,0BAAWA,OAAM,aAAa,CAAC,OAAuB;AACjE,WAAG,eAAe;AAClB,WAAG,gBAAgB;AAAA,MACrB,CAAC;AAAA,MACD,kBAAc,0BAAWA,OAAM,cAAc,CAAC,OAAuB;AACnE,WAAG,eAAe;AAClB,WAAG,gBAAgB;AAAA,MACrB,CAAC;AAAA,IACH;AAAA,IACA,CAAC,iBAAiB,gBAAgB;AAAA,EACpC;AAEA,SAAO;AAAA,IACL;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAAA;AAAA;AAAA,IAIA,UAAU;AAAA;AAAA;AAAA;AAAA,IAIV,WAAW;AAAA;AAAA;AAAA;AAAA,IAIX,WAAW;AAAA;AAAA;AAAA;AAAA,IAIX,gBAAgB;AAAA;AAAA;AAAA;AAAA,IAIhB,WAAW;AAAA;AAAA;AAAA;AAAA,IAIX;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AFvQ4C;AAzDrC,IAAM,eAAW;AAAA,EACtB,CACE,OACA,QACG;AA3DP;AA4DI,UAAM,QAAQ,wBAAwB;AACtC,UAAM,EAAE,OAAO,YAAY,GAAG,WAAW,IAAI,EAAE,GAAG,MAAM;AACxD,UAAM,cAAU,qCAAe,KAAK;AACpC,UAAM,CAAC,QAAQ,WAAW,QAAI,oCAAuB,YAAY;AAAA,MAC/D,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AACD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,YAAW,gBAAW,aAAX,YAAuB,QAAQ;AAAA,MAC1C,MAAM;AAAA,MACN,WAAU,gBAAW,YAAX,YAAsB,QAAQ;AAAA,MACxC;AAAA,MACA,YAAW,gBAAW,aAAX,YAAuB,QAAQ;AAAA,MAC1C,YAAW,gBAAW,aAAX,YAAuB,QAAQ;AAAA,MAC1C;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,QAAI,4BAAe,WAAW;AAE9B,wBAAc,YAAd,0BAAc,UAAY,cAAc;AAExC,UAAM,cACJ,cAAc,cAAc,QACxB,WAAW,SAAS,cAAc,KAAK,IACvC,cAAc;AACpB,UAAM,WACJ,WAAW,YAAY,cAAc,YACjC,uBAAQ,WAAW,UAAU,cAAc,QAAQ,IACnD,cAAc;AAEpB,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,YAAY;AAAA,MACd,GAAG;AAAA,MACH,SAAS;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,UAAM,EAAE,UAAU,YAAY,GAAG,kBAAkB,IAAI,EAAE,GAAG,UAAU;AACtE,UAAM,WAAO,4BAAa,kCAAc,4CAAC,gBAAa,GAAI;AAAA,MACxD;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAY;AAAA,MACZ,iBAAiB;AAAA,MACjB,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,OAAO;AAAA,QACL,SAAS,WAAW,gBAAgB,IAAI;AAAA,QACxC,WAAW,WAAW,gBAAgB,aAAa;AAAA,QACnD,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,MACtB;AAAA,IACF,CAAC;AAED,WACE;AAAA,MAAC,eAAG;AAAA,MAAH;AAAA,QACC,eAAW,kBAAG,eAAe,SAAS;AAAA,QACrC,GAAG,kBAAkB;AAAA,QACtB,OAAO;AAAA,UACL,YAAY;AAAA,UACZ,QAAQ;AAAA,UACR,SAAS;AAAA,UACT;AAAA,UACA,UAAU;AAAA,UACV,eAAe;AAAA,UACf,GAAG,OAAO;AAAA,QACZ;AAAA,QACC,GAAG;AAAA,QAEJ;AAAA;AAAA,YAAC,eAAG;AAAA,YAAH;AAAA,cACC,WAAU;AAAA,cACT,GAAG,cAAc,YAAY,GAAG;AAAA;AAAA,UACnC;AAAA,UAEA;AAAA,YAAC,eAAG;AAAA,YAAH;AAAA,cACC,WAAU;AAAA,cACV,OAAO;AAAA,gBACL,SAAS;AAAA,gBACT,UAAU;AAAA,gBACV,YAAY;AAAA,gBACZ,GAAG,OAAO;AAAA,cACZ;AAAA,cACC,GAAG,aAAa,iBAAiB;AAAA,cAEjC;AAAA;AAAA,UACH;AAAA,UAEA;AAAA,YAAC,eAAG;AAAA,YAAH;AAAA,cACC,WAAU;AAAA,cACV,OAAO,EAAE,GAAG,OAAO,MAAM;AAAA,cACxB,GAAG,cAAc,UAAU;AAAA,cAE3B,wCAAY;AAAA;AAAA,UACf;AAAA;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAMA,SAAS,cAAc;AACvB,SAAS,SAAS;AAkCX,IAAM,eAAsC,CAAC;AAAA,EAClD;AAAA,EACA,UAAU;AAAA,EACV,UAAU;AAAA,EACV;AAAA,EACA,gBAAgB;AAAA,EAChB,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,UAAU;AAAA,EACV,UAAU;AAAA,EACV,GAAG;AACL,MAAM;AACJ,SACE,4CAAC,iCAAgB,SAAS,OACvB,2BAAiB,UAChB;AAAA,IAAC,eAAG;AAAA,IAAH;AAAA,MACC,OAAO;AAAA,QACL,MAAM;AAAA,QACN,UAAU;AAAA,QACV,KAAK;AAAA,QACL,WAAW;AAAA,MACb;AAAA,MAEA;AAAA,QAAC,qBAAO;AAAA,QAAP;AAAA,UACC,OACE;AAAA,YACE,YAAY;AAAA,YACZ,SAAS;AAAA,YACT,gBAAgB;AAAA,UAClB;AAAA,UAEF,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,SAAQ;AAAA,UACR,UAAU;AAAA,YACR,SAAS,EAAE,OAAO,EAAE;AAAA,YACpB,WAAW,EAAE,OAAO,IAAI;AAAA,UAC1B;AAAA,UAEC,0BACC,4CAAC,6BAA2B,GAAG,MAAM,IAErC,4CAAC,qBAAmB,GAAG,MAAM;AAAA;AAAA,MAEjC;AAAA;AAAA,EACF,IACE,MACN;AAEJ;AAEA,aAAa,cAAc;AAC3B,aAAa,SAAS;AAItB,IAAM,oBAAgD,CAAC,UAAU;AAC/D,SACE;AAAA,IAAC,qBAAO;AAAA,IAAP;AAAA,MACC,OAAO;AAAA,QACL,MAAM;AAAA,QACN,QAAQ;AAAA,QACR,iBAAiB;AAAA,QACjB,aAAa;AAAA,MACf;AAAA,MACA,UAAU;AAAA,QACR,SAAS;AAAA,UACP,SAAS;AAAA,UACT,kBAAkB;AAAA,UAClB,YAAY,EAAE,UAAU,IAAI;AAAA,QAC9B;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,UACT,kBAAkB;AAAA,QACpB;AAAA,MACF;AAAA,MACA,SAAQ;AAAA,MACR,OAAM;AAAA,MACL,GAAG;AAAA,MAEJ,sDAAC,cAAS,QAAO,sBAAqB;AAAA;AAAA,EACxC;AAEJ;AAEA,kBAAkB,cAAc;AAChC,kBAAkB,SAAS;AAI3B,IAAM,4BAAgE,CACpE,UACG;AACH,SACE;AAAA,IAAC,qBAAO;AAAA,IAAP;AAAA,MACC,OAAO,EAAE,QAAQ,gBAAgB,aAAa,EAAE;AAAA,MAChD,UAAU;AAAA,QACR,SAAS;AAAA,UACP,SAAS;AAAA,UACT,QAAQ;AAAA,UACR,YAAY;AAAA,YACV,SAAS,EAAE,UAAU,KAAK;AAAA,YAC1B,QAAQ,EAAE,UAAU,EAAE;AAAA,UACxB;AAAA,QACF;AAAA,QACA,WAAW;AAAA,UACT,SAAS;AAAA,UACT,QAAQ;AAAA,QACV;AAAA,MACF;AAAA,MACA,SAAQ;AAAA,MACR,OAAM;AAAA,MACL,GAAG;AAAA,MAEJ,sDAAC,UAAK,IAAG,MAAK,IAAG,KAAI,IAAG,MAAK,IAAG,MAAK;AAAA;AAAA,EACvC;AAEJ;AAEA,0BAA0B,cAAc;AACxC,0BAA0B,SAAS;;;AGtUnC,IAAAE,eAA2D;AAC3D,IAAAC,uBAA+B;AAC/B,IAAAC,gBAOO;AACP,IAAAC,gBAAyC;;;ACtBzC,IAAAC,eAA2B;AAC3B,IAAAA,eAAmB;AACnB,IAAAC,gBAAmB;AAYb,IAAAC,sBAAA;AAPC,IAAM,wBAAoB;AAAA,EAC/B,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AAC/B,UAAM,EAAE,OAAO,IAAI,uBAAuB;AAE1C,UAAM,MAAmB,EAAE,GAAG,OAAO,MAAM;AAE3C,WACE;AAAA,MAAC,gBAAG;AAAA,MAAH;AAAA,QACC;AAAA,QACA,eAAW,kBAAG,2BAA2B,SAAS;AAAA,QAClD,OAAO;AAAA,QACN,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,kBAAkB,cAAc;AAChC,kBAAkB,SAAS;;;ACzB3B,IAAAC,eAA2B;AAC3B,IAAAA,eAAmB;AACnB,IAAAC,gBAAmB;AAcf,IAAAC,sBAAA;AATG,IAAM,8BAA0B,yBAGrC,CAAC,EAAE,WAAW,GAAG,KAAK,GAAG,QAAQ;AACjC,QAAM,EAAE,OAAO,IAAI,uBAAuB;AAE1C,QAAM,MAAmB,EAAE,GAAG,OAAO,YAAY;AAEjD,SACE;AAAA,IAAC,gBAAG;AAAA,IAAH;AAAA,MACC;AAAA,MACA,eAAW,kBAAG,iCAAiC,SAAS;AAAA,MACxD,OAAO;AAAA,MACN,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AAED,wBAAwB,cAAc;AACtC,wBAAwB,SAAS;;;ACzBjC,IAAAC,eAA2B;AAC3B,IAAAA,eAAmB;AACnB,IAAAC,gBAAmB;AAgDb,IAAAC,sBAAA;AAxBC,IAAM,wBAAoB;AAAA,EAC/B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA,UAAU;AAAA,MACV;AAAA,MACA,WAAW;AAAA,IACb,IAAI,uBAAuB;AAE3B,6CAAa;AAEb,WACE;AAAA,MAAC,gBAAG;AAAA,MAAH;AAAA,QACC;AAAA,QACA,eAAW,kBAAG,2BAA2B,SAAS;AAAA,QAClD,OAAO,EAAE,GAAG,OAAO,MAAM;AAAA,QACxB,GAAG;AAAA,QAEJ;AAAA;AAAA,YAAC,gBAAG;AAAA,YAAH;AAAA,cACC,WAAU;AAAA,cACV,OAAO,EAAE,GAAG,OAAO,aAAa;AAAA,cAC/B,GAAG;AAAA,cAEH;AAAA;AAAA,UACH;AAAA,UAEC,WACC;AAAA,YAAC,gBAAG;AAAA,YAAH;AAAA,cACC,WAAU;AAAA,cACV,OAAO,EAAE,GAAG,OAAO,KAAK;AAAA,cACvB,GAAG,aAAa,EAAE,GAAG,kBAAkB,GAAG,UAAU,CAAC;AAAA,cAErD,wCAAY;AAAA;AAAA,UACf,IACE;AAAA;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,kBAAkB,cAAc;AAChC,kBAAkB,SAAS;;;AH6DiB,IAAAC,sBAAA;AA3DrC,IAAM,mBAAe;AAAA,EAC1B,CACE,OACA,QACG;AAvFP;AAwFI,UAAM,QAAQ,4BAA4B;AAC1C,UAAM,EAAE,OAAO,YAAY,GAAG,WAAW,IAAI,EAAE,GAAG,MAAM;AACxD,UAAM,cAAU,qCAAe,KAAK;AACpC,UAAM,CAAC,QAAQ,WAAW,QAAI,qCAAuB,gBAAgB;AAAA,MACnE,GAAG;AAAA,MACH,GAAG;AAAA,IACL,CAAC;AACD,UAAM;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,YAAW,gBAAW,aAAX,YAAuB,QAAQ;AAAA,MAC1C,WAAU,gBAAW,YAAX,YAAsB,QAAQ;AAAA,MACxC;AAAA,MACA,YAAW,gBAAW,aAAX,YAAuB,QAAQ;AAAA,MAC1C,YAAW,gBAAW,aAAX,YAAuB,QAAQ;AAAA,MAC1C,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,GAAG;AAAA,IACL,QAAI,6BAAe,WAAW;AAE9B,wBAAc,YAAd,0BAAc,UAAY,cAAc;AAExC,UAAM,gBACJ,cAAc,cAAc,QACxB,WAAW,SAAS,cAAc,KAAK,IACvC,cAAc;AACpB,UAAM,WACJ,WAAW,YAAY,cAAc,YACjC,uBAAQ,WAAW,UAAU,cAAc,QAAQ,IACnD,cAAc;AAEpB,UAAM;AAAA,MACJ;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,YAAY;AAAA,MACd,GAAG;AAAA,MACH;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC;AAED,UAAM,EAAE,UAAU,YAAY,GAAG,kBAAkB,IAAI,EAAE,GAAG,UAAU;AACtE,UAAM,WAAO,4BAAa,kCAAc,6CAAC,gBAAa,GAAI;AAAA,MACxD;AAAA,MACA;AAAA,MACA;AAAA,MACA,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,WAAW;AAAA,MACX,YAAY;AAAA,MACZ,YAAY;AAAA,MACZ;AAAA,MACA;AAAA,MACA,OAAO;AAAA,QACL,SAAS,UAAU,IAAI;AAAA,QACvB,WAAW,UAAU,aAAa;AAAA,QAClC,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,MACtB;AAAA,IACF,CAAC;AAED,UAAM,oBAAgB,gCAAiB,QAAQ;AAC/C,UAAM,kBAAc,yBAAU,eAAe,iBAAiB;AAC9D,UAAM,wBAAoB,yBAAU,eAAe,uBAAuB;AAC1E,UAAM,kBAAc,yBAAU,eAAe,iBAAiB;AAE9D,UAAM,mBAAmB,KAAC,uBAAQ,aAAa,QAC3C;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF,IACA;AAEJ,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,WAAW;AAAA,QACb;AAAA,QAEA;AAAA,UAAC,gBAAG;AAAA,UAAH;AAAA,YACC,eAAW,kBAAG,oBAAoB,SAAS;AAAA,YAC1C,GAAG,kBAAkB,IAAI;AAAA,YAC1B,OAAO,EAAE,GAAG,OAAO,UAAU;AAAA,YAE7B;AAAA;AAAA,gBAAC,gBAAG;AAAA,gBAAH;AAAA,kBACC,WAAU;AAAA,kBACT,GAAG,cAAc,YAAY,GAAG;AAAA;AAAA,cACnC;AAAA,cAEC,oCACE,QACC,6CAAC,qBAAmB,GAAG,YAAa,iBAAM,IACxC;AAAA,cAEL,gDACE,cACC,6CAAC,2BAAyB,GAAG,kBAC1B,uBACH,IACE;AAAA,cAEL,oCACE,QACC,6CAAC,qBAAmB,GAAG,YAAa,iBAAM,IACxC;AAAA,cAEL;AAAA;AAAA;AAAA,QACH;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAMA,aAAa,cAAc;AAC3B,aAAa,SAAS;;;AI3NtB,IAAAC,uBAA+B;AAC/B,qBAAqB;AACrB,IAAAC,gBAAqC;AACrC,IAAAC,gBAA2B;;;ACJ3B,oCAAqC;AACrC,IAAAC,gBAAyC;AACzC,IAAAC,gBAA4B;AAO5B,IAAM,UAAU,CAAC,UACf,aAAS,wBAAS,KAAK,SAAK,wBAAS,MAAM,MAAM;AA2B5C,IAAM,mBAAmB,CAG9B;AAAA,EACA,eAAe,CAAC;AAAA,EAChB;AAAA,EACA,OAAO;AAAA,EACP,UAAU;AAAA,EACV,GAAG;AACL,MAAoC;AAClC,QAAM,kBAAc,8BAAe,YAAY;AAE/C,QAAM,CAAC,OAAO,QAAQ,QAAI,oDAAqB;AAAA,IAC7C;AAAA,IACA,OAAO;AAAA,IACP,UAAU;AAAA,EACZ,CAAC;AAED,QAAM,eAAW;AAAA,IACf,CAAC,cAAiD;AAChD,YAAM,YAAY,QAAQ,SAAS,IAC/B,UAAU,OAAO,UACjB,CAAC,MAAM,SAAS,SAAS;AAE7B,YAAM,gBACJ,QAAQ,SAAS,IAAI,UAAU,OAAO,QAAQ;AAGhD,YAAM,YAAY,YACd,CAAC,GAAG,OAAO,aAAa,IACxB,MAAM,OAAO,CAAC,MAAM,OAAO,CAAC,MAAM,OAAO,aAAa,CAAC;AAE3D,eAAS,SAAS;AAAA,IACpB;AAAA,IACA,CAAC,OAAO,QAAQ;AAAA,EAClB;AAEA,QAAM,wBAAgC;AAAA,IACpC,CAACC,SAAQ,CAAC,GAAG,MAAM,UAAU;AAAA,MAC3B,MAAM;AAAA,MACN,GAAGA;AAAA,MACH;AAAA,IACF;AAAA,IACA,CAAC;AAAA,EACH;AAEA,QAAM,uBAGF;AAAA,IACF,CAACA,SAAQ,CAAC,GAAG,MAAM,UAAU;AAAA,MAC3B,GAAGA;AAAA,MACH;AAAA,MACA,CAAC,WAAW,YAAY,WAAW,GAAG,MAAM;AAAA,QAC1C,CAAC,QAAQ,OAAOA,OAAM,KAAK,MAAM,OAAO,GAAG;AAAA,MAC7C;AAAA,MACA;AAAA,IACF;AAAA,IACA,CAAC,UAAU,UAAU,KAAK;AAAA,EAC5B;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;ADzCQ,IAAAC,sBAAA;AAjCD,IAAM,wBAAoB;AAAA,EAC/B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM;AAAA,MACJ,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,iBAAoB,KAAK;AAC7B,UAAM,EAAE,UAAU,SAAS,SAAS,UAAU,UAAU,GAAG,KAAK,QAC9D,qCAAe,aAAa;AAC9B,UAAM,oBAAgB,gCAAiB,QAAQ;AAE/C,QAAI,mBAAmC,CAAC;AAExC,QAAI,CAAC,cAAc,UAAU,MAAM;AACjC,yBAAmB,MAAM,IAAI,CAACC,QAAO,MACnC,6CAAC,gBAAsB,GAAGA,UAAP,CAAc,CAClC;AAEH,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OACE;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAGF;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,eAAW,kBAAG,0BAA0B,SAAS;AAAA,YACjD;AAAA,YACA,GAAE;AAAA,YACD,GAAG,kBAAkB;AAAA,cACpB,mBAAmB;AAAA,cACnB,GAAG;AAAA,YACL,CAAC;AAAA,YACD;AAAA,YAEC,wCAAY;AAAA;AAAA,QACf;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAMA,kBAAkB,cAAc;AAChC,kBAAkB,SAAS;;;AEvG3B,IAAAC,uBAA+B;AAC/B,IAAAC,kBAAqB;AACrB,IAAAC,iBAAqC;AACrC,IAAAC,gBAA2B;AAuDnB,IAAAC,sBAAA;AA7BD,IAAM,oBAAgB;AAAA,EAC3B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA,QAAQ,CAAC;AAAA,IACT,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM;AAAA,MACJ,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,iBAAoB,KAAK;AAC7B,UAAM,EAAE,UAAU,SAAS,SAAS,UAAU,UAAU,GAAG,KAAK,QAC9D,qCAAe,aAAa;AAE9B,UAAM,oBAAgB,iCAAiB,QAAQ;AAC/C,QAAI,mBAAmC,CAAC;AAExC,QAAI,CAAC,cAAc,UAAU,MAAM,QAAQ;AACzC,yBAAmB,MAAM,IAAI,CAACC,QAAO,UACnC,6CAAC,YAAsB,GAAGA,UAAX,KAAkB,CAClC;AAAA,IACH;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OACE;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAGF;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,eAAW,mBAAG,qBAAqB,SAAS;AAAA,YAC5C;AAAA,YACA,KAAK,oBAAQ,cAAc,QAAQ,SAAS;AAAA,YAC3C,GAAG,kBAAkB;AAAA,cACpB,mBAAmB;AAAA,cACnB,GAAG;AAAA,YACL,CAAC;AAAA,YAEA,wCAAY;AAAA;AAAA,QACf;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAMA,cAAc,cAAc;AAC5B,cAAc,SAAS;","names":["import_form_control","import_utils","import_react","import_utils","props","_a","import_core","import_form_control","import_utils","import_react","import_core","import_utils","import_jsx_runtime","import_core","import_utils","import_jsx_runtime","import_core","import_utils","import_jsx_runtime","import_jsx_runtime","import_form_control","import_utils","import_react","import_utils","import_react","props","import_jsx_runtime","props","import_form_control","import_layouts","import_utils","import_react","import_jsx_runtime","props"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/checkbox.tsx","../src/checkbox-context.tsx","../src/use-checkbox.ts","../src/checkbox-card.tsx","../src/checkbox-card-addon.tsx","../src/checkbox-card-description.tsx","../src/checkbox-card-label.tsx","../src/checkbox-card-group.tsx","../src/use-checkbox-group.ts","../src/checkbox-group.tsx"],"sourcesContent":["export { Checkbox, CheckboxIcon } from \"./checkbox\"\nexport type { CheckboxIconProps, CheckboxProps } from \"./checkbox\"\nexport { CheckboxCard } from \"./checkbox-card\"\nexport type { CheckboxCardProps } from \"./checkbox-card\"\nexport { CheckboxCardAddon } from \"./checkbox-card-addon\"\nexport type { CheckboxCardAddonProps } from \"./checkbox-card-addon\"\nexport { CheckboxCardDescription } from \"./checkbox-card-description\"\nexport type { CheckboxCardDescriptionProps } from \"./checkbox-card-description\"\nexport { CheckboxCardGroup } from \"./checkbox-card-group\"\nexport type {\n CheckboxCardGroupProps,\n CheckboxCardItem,\n} from \"./checkbox-card-group\"\nexport { CheckboxCardLabel } from \"./checkbox-card-label\"\nexport type { CheckboxCardLabelProps } from \"./checkbox-card-label\"\nexport { CheckboxGroup } from \"./checkbox-group\"\nexport type { CheckboxGroupProps, CheckboxItem } from \"./checkbox-group\"\nexport { useCheckbox } from \"./use-checkbox\"\nexport type { UseCheckboxProps, UseCheckboxReturn } from \"./use-checkbox\"\nexport { useCheckboxGroup } from \"./use-checkbox-group\"\nexport type {\n UseCheckboxGroupProps,\n UseCheckboxGroupReturn,\n} from \"./use-checkbox-group\"\n","import type {\n ComponentArgs,\n FC,\n HTMLUIProps,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { MotionProps } from \"@yamada-ui/motion\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport type {\n CSSProperties,\n ForwardedRef,\n InputHTMLAttributes,\n ReactElement,\n ReactNode,\n Ref,\n} from \"react\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { omitThemeProps, ui, useComponentMultiStyle } from \"@yamada-ui/core\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { AnimatePresence, motion } from \"@yamada-ui/motion\"\nimport { cx, funcAll } from \"@yamada-ui/utils\"\nimport { cloneElement, forwardRef } from \"react\"\nimport { useCheckboxGroupContext } from \"./checkbox-context\"\nimport { useCheckbox } from \"./use-checkbox\"\n\ninterface CheckboxOptions {\n /**\n * The label of the checkbox.\n */\n label?: ReactNode\n /**\n * Props for icon component.\n */\n iconProps?: { children: ReactElement } & Omit<HTMLUIProps, \"children\">\n /**\n * Props for input element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /**\n * Props for label element.\n */\n labelProps?: HTMLUIProps<\"span\">\n}\n\nexport interface CheckboxProps<Y extends number | string = string>\n extends Merge<HTMLUIProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<\"Checkbox\">,\n CheckboxOptions {}\n\n/**\n * `Checkbox` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox\n */\nexport const Checkbox = forwardRef(\n <Y extends number | string = string>(\n props: CheckboxProps<Y>,\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const group = useCheckboxGroupContext()\n const { value: groupValue, ...groupProps } = { ...group }\n const control = useFormControl(props)\n const [styles, mergedProps] = useComponentMultiStyle(\"Checkbox\", {\n ...groupProps,\n ...props,\n })\n const {\n className,\n children,\n disabled = groupProps.disabled ?? control.disabled,\n gap = \"0.5rem\",\n invalid = groupProps.invalid ?? control.invalid,\n label,\n readOnly = groupProps.readOnly ?? control.readOnly,\n required = groupProps.required ?? control.required,\n iconProps,\n inputProps,\n labelProps,\n ...computedProps\n } = omitThemeProps(mergedProps)\n\n computedProps.checked ??= computedProps.isChecked\n\n const checkedProp =\n groupValue && computedProps.value\n ? groupValue.includes(computedProps.value)\n : computedProps.checked\n const onChange =\n groupProps.onChange && computedProps.value\n ? funcAll(groupProps.onChange, computedProps.onChange)\n : computedProps.onChange\n\n const {\n checked,\n indeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n } = useCheckbox({\n ...computedProps,\n checked: checkedProp,\n disabled,\n invalid,\n readOnly,\n required,\n onChange,\n })\n\n const { children: customIcon, ...resolvedIconProps } = { ...iconProps }\n const icon = cloneElement(customIcon ?? <CheckboxIcon />, {\n checked,\n disabled,\n indeterminate,\n invalid,\n isDisabled: disabled,\n isIndeterminate: indeterminate,\n isInvalid: invalid,\n isReadOnly: readOnly,\n isRequired: required,\n readOnly,\n required,\n __css: {\n opacity: checked || indeterminate ? 1 : 0,\n transform: checked || indeterminate ? \"scale(1)\" : \"scale(0.95)\",\n transitionDuration: \"normal\",\n transitionProperty: \"transform\",\n },\n })\n\n return (\n <ui.label\n className={cx(\"ui-checkbox\", className)}\n {...getContainerProps()}\n __css={{\n alignItems: \"center\",\n cursor: \"pointer\",\n display: \"inline-flex\",\n gap,\n position: \"relative\",\n verticalAlign: \"top\",\n ...styles.container,\n }}\n {...rest}\n >\n <ui.input\n className=\"ui-checkbox__input\"\n {...getInputProps(inputProps, ref)}\n />\n\n <ui.div\n className=\"ui-checkbox__icon\"\n __css={{\n display: \"inline-block\",\n position: \"relative\",\n userSelect: \"none\",\n ...styles.icon,\n }}\n {...getIconProps(resolvedIconProps)}\n >\n {icon}\n </ui.div>\n\n <ui.span\n className=\"ui-checkbox__label\"\n __css={{ ...styles.label }}\n {...getLabelProps(labelProps)}\n >\n {children ?? label}\n </ui.span>\n </ui.label>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: { ref?: Ref<HTMLInputElement> } & CheckboxProps<Y>,\n ): ReactElement\n} & ComponentArgs\n\nCheckbox.displayName = \"Checkbox\"\nCheckbox.__ui__ = \"Checkbox\"\n\nexport type CheckboxIconProps = {\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the icon will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the icon will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n} & FormControlOptions &\n MotionProps<\"svg\">\n\nexport const CheckboxIcon: FC<CheckboxIconProps> = ({\n isChecked,\n checked = isChecked,\n disabled: _disabled,\n isIndeterminate,\n indeterminate = isIndeterminate,\n invalid: _invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n readOnly: _readOnly,\n required: _required,\n ...rest\n}) => {\n return (\n <AnimatePresence initial={false}>\n {indeterminate || checked ? (\n <ui.div\n __css={{\n left: \"50%\",\n position: \"absolute\",\n top: \"50%\",\n transform: \"translate(-50%, -50%)\",\n }}\n >\n <motion.div\n style={\n {\n alignItems: \"center\",\n display: \"flex\",\n justifyContent: \"center\",\n } as CSSProperties\n }\n animate=\"checked\"\n exit=\"unchecked\"\n initial=\"unchecked\"\n variants={{\n checked: { scale: 1 },\n unchecked: { scale: 0.5 },\n }}\n >\n {indeterminate ? (\n <CheckboxIndeterminateIcon {...rest} />\n ) : (\n <CheckboxCheckIcon {...rest} />\n )}\n </motion.div>\n </ui.div>\n ) : null}\n </AnimatePresence>\n )\n}\n\nCheckboxIcon.displayName = \"CheckboxIcon\"\nCheckboxIcon.__ui__ = \"CheckboxIcon\"\n\ninterface CheckboxCheckIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxCheckIcon: FC<CheckboxCheckIconProps> = (props) => {\n return (\n <motion.svg\n style={{\n fill: \"none\",\n stroke: \"currentColor\",\n strokeDasharray: 16,\n strokeWidth: 2,\n }}\n variants={{\n checked: {\n opacity: 1,\n strokeDashoffset: 0,\n transition: { duration: 0.2 },\n },\n unchecked: {\n opacity: 0,\n strokeDashoffset: 16,\n },\n }}\n viewBox=\"0 0 12 10\"\n width=\"1.2em\"\n {...props}\n >\n <polyline points=\"1.5 6 4.5 9 10.5 1\" />\n </motion.svg>\n )\n}\n\nCheckboxCheckIcon.displayName = \"CheckboxCheckIcon\"\nCheckboxCheckIcon.__ui__ = \"CheckboxCheckIcon\"\n\ninterface CheckboxIndeterminateIconProps extends MotionProps<\"svg\"> {}\n\nconst CheckboxIndeterminateIcon: FC<CheckboxIndeterminateIconProps> = (\n props,\n) => {\n return (\n <motion.svg\n style={{ stroke: \"currentColor\", strokeWidth: 4 }}\n variants={{\n checked: {\n opacity: 1,\n scaleX: 1,\n transition: {\n opacity: { duration: 0.02 },\n scaleX: { duration: 0 },\n },\n },\n unchecked: {\n opacity: 0,\n scaleX: 0.65,\n },\n }}\n viewBox=\"0 0 24 24\"\n width=\"1.2em\"\n {...props}\n >\n <line x1=\"21\" x2=\"3\" y1=\"12\" y2=\"12\" />\n </motion.svg>\n )\n}\n\nCheckboxIndeterminateIcon.displayName = \"CheckboxIndeterminateIcon\"\nCheckboxIndeterminateIcon.__ui__ = \"CheckboxIndeterminateIcon\"\n","import type {\n CSSUIObject,\n HTMLUIProps,\n PropGetter,\n ThemeProps,\n} from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { ChangeEvent, ReactElement } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport { createContext } from \"@yamada-ui/utils\"\n\ninterface CheckboxGroupSharedContext extends FormControlOptions {\n value: (number | string)[]\n onChange: (evOrValue: ChangeEvent<HTMLInputElement> | number | string) => void\n}\n\nexport interface CheckboxGroupContext\n extends CheckboxGroupSharedContext,\n ThemeProps<\"Checkbox\">,\n FormControlOptions {}\n\nexport const [CheckboxGroupProvider, useCheckboxGroupContext] =\n createContext<CheckboxGroupContext>({\n name: \"CheckboxGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardGroupContext\n extends CheckboxGroupSharedContext,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {}\n\nexport const [CheckboxCardGroupProvider, useCheckboxCardGroupContext] =\n createContext<CheckboxCardGroupContext>({\n name: \"CheckboxCardGroupContext\",\n strict: false,\n })\n\nexport interface CheckboxCardContext {\n icon: ReactElement\n styles: { [key: string]: CSSUIObject | undefined }\n withIcon: boolean\n getIconProps: PropGetter\n iconProps?: HTMLUIProps\n}\n\nexport const [CheckboxCardProvider, useCheckboxCardContext] =\n createContext<CheckboxCardContext>({\n name: \"CheckboxCardContext\",\n errorMessage: `useCheckboxCardContext returned is 'undefined'. Seems you forgot to wrap the components in \"<CheckboxCard />\"`,\n })\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type {\n ChangeEvent,\n ChangeEventHandler,\n FocusEventHandler,\n KeyboardEvent,\n SyntheticEvent,\n} from \"react\"\nimport {\n formControlProperties,\n useFormControlProps,\n} from \"@yamada-ui/form-control\"\nimport { trackFocusVisible } from \"@yamada-ui/use-focus-visible\"\nimport {\n dataAttr,\n handlerAll,\n mergeRefs,\n splitObject,\n useCallbackRef,\n useSafeLayoutEffect,\n useUpdateEffect,\n} from \"@yamada-ui/utils\"\nimport { useCallback, useEffect, useId, useRef, useState } from \"react\"\n\nexport interface UseCheckboxProps<Y extends number | string = string>\n extends FormControlOptions {\n /**\n * id assigned to input.\n */\n id?: string\n /**\n * The HTML `name` attribute used for forms.\n */\n name?: string\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n */\n checked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n */\n defaultChecked?: boolean\n /**\n * If `true`, the checkbox will be initially checked.\n *\n * @default false\n *\n * @deprecated Use `defaultChecked` instead.\n */\n defaultIsChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n */\n indeterminate?: boolean\n /**\n * If `true`, the checkbox will be checked.\n *\n * @default false\n *\n * @deprecated Use `checked` instead.\n */\n isChecked?: boolean\n /**\n * If `true`, the checkbox will be indeterminate.\n *\n * @default false\n *\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate?: boolean\n /**\n * If `true`, the checkbox will be selected when the Enter key is pressed.\n *\n * @default false\n */\n selectOnEnter?: boolean\n /**\n * The tab-index property of the underlying input element.\n */\n tabIndex?: number\n /**\n * The value to be used in the checkbox input.\n */\n value?: Y\n /**\n * The callback invoked when the checkbox is blurred.\n */\n onBlur?: FocusEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checked state changes.\n */\n onChange?: ChangeEventHandler<HTMLInputElement>\n /**\n * The callback invoked when the checkbox is focused.\n */\n onFocus?: FocusEventHandler<HTMLInputElement>\n}\n\nexport const useCheckbox = <\n Y extends number | string = string,\n M extends Dict = Dict,\n>({\n id,\n ...props\n}: M & UseCheckboxProps<Y>) => {\n const uuid = useId()\n\n id ??= uuid\n\n const {\n id: _id,\n name,\n isChecked,\n checked: checkedProp = isChecked,\n defaultIsChecked,\n defaultChecked = defaultIsChecked,\n isIndeterminate,\n indeterminate = isIndeterminate,\n selectOnEnter,\n tabIndex,\n value,\n onChange: onChangeProp,\n ...computedProps\n } = useFormControlProps({ id, ...props })\n const [\n {\n \"aria-readonly\": _ariaReadonly,\n disabled,\n readOnly,\n required,\n onBlur: onBlurProp,\n onFocus: onFocusProp,\n ...formControlProps\n },\n rest,\n ] = splitObject(computedProps, formControlProperties)\n const [focusVisible, setFocusVisible] = useState<boolean>(false)\n const [focused, setFocused] = useState<boolean>(false)\n const [hovered, setHovered] = useState<boolean>(false)\n const [active, setActive] = useState<boolean>(false)\n const inputRef = useRef<HTMLInputElement>(null)\n const [label, setLabel] = useState<boolean>(true)\n const [checked, setIsChecked] = useState<boolean>(!!defaultChecked)\n const controlled = checkedProp !== undefined\n const resolvedChecked = controlled ? (checkedProp as boolean) : checked\n\n const onChange = useCallbackRef(\n (ev: ChangeEvent<HTMLInputElement>) => {\n if (readOnly || disabled) {\n ev.preventDefault()\n\n return\n }\n\n if (!controlled)\n setIsChecked(\n !resolvedChecked || indeterminate ? true : ev.target.checked,\n )\n\n onChangeProp?.(ev)\n },\n [readOnly, disabled, controlled, resolvedChecked, indeterminate],\n )\n const onFocus = useCallbackRef(onFocusProp)\n const onBlur = useCallbackRef(onBlurProp)\n\n const onKeyDown = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(true)\n\n if (selectOnEnter && key === \"Enter\") inputRef.current?.click()\n },\n [setActive, selectOnEnter],\n )\n\n const onKeyUp = useCallback(\n ({ key }: KeyboardEvent) => {\n if (key === \" \") setActive(false)\n },\n [setActive],\n )\n\n useEffect(() => {\n return trackFocusVisible(setFocusVisible)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (inputRef.current)\n inputRef.current.indeterminate = Boolean(isIndeterminate)\n }, [isIndeterminate])\n\n useUpdateEffect(() => {\n if (disabled) setFocused(false)\n }, [disabled, setFocused])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current?.form) return\n\n inputRef.current.form.onreset = () => setIsChecked(!!defaultChecked)\n }, [])\n\n useSafeLayoutEffect(() => {\n if (!inputRef.current) return\n\n if (inputRef.current.checked !== resolvedChecked)\n setIsChecked(inputRef.current.checked)\n }, [inputRef.current])\n\n const getContainerProps: PropGetter<\"label\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref: mergeRefs(ref, (el: HTMLElement | undefined) => {\n if (el) setLabel(el.tagName === \"LABEL\")\n }),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n onClick: handlerAll(props.onClick, () => {\n if (label) return\n\n inputRef.current?.click()\n\n requestAnimationFrame(() => inputRef.current?.focus())\n }),\n }),\n [resolvedChecked, label, focused, focusVisible, formControlProps],\n )\n\n const getIconProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"aria-hidden\": true,\n \"data-active\": dataAttr(active),\n \"data-checked\": dataAttr(resolvedChecked),\n \"data-focus\": dataAttr(focused),\n \"data-focus-visible\": dataAttr(focused && focusVisible),\n \"data-hover\": dataAttr(hovered),\n \"data-indeterminate\": dataAttr(indeterminate),\n onMouseDown: handlerAll(props.onMouseDown, (ev: React.MouseEvent) => {\n if (focused) ev.preventDefault()\n\n setActive(true)\n }),\n onMouseEnter: handlerAll(props.onMouseEnter, () => setHovered(true)),\n onMouseLeave: handlerAll(props.onMouseLeave, () => setHovered(false)),\n onMouseUp: handlerAll(props.onMouseUp, () => setActive(false)),\n }),\n [\n active,\n resolvedChecked,\n focused,\n hovered,\n focusVisible,\n indeterminate,\n formControlProps,\n ],\n )\n\n const getInputProps: PropGetter<\"input\"> = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n id,\n ref: mergeRefs(inputRef, ref),\n type: \"checkbox\",\n name,\n style: {\n border: \"0px\",\n clip: \"rect(0px, 0px, 0px, 0px)\",\n height: \"1px\",\n margin: \"-1px\",\n overflow: \"hidden\",\n padding: \"0px\",\n position: \"absolute\",\n whiteSpace: \"nowrap\",\n width: \"1px\",\n },\n \"aria-checked\": indeterminate ? \"mixed\" : resolvedChecked,\n checked: resolvedChecked,\n disabled,\n readOnly,\n required,\n tabIndex,\n value,\n onBlur: handlerAll(props.onBlur, onBlur, () => setFocused(false)),\n onChange: handlerAll(props.onChange, onChange),\n onFocus: handlerAll(props.onFocus, onFocus, () => setFocused(true)),\n onKeyDown: handlerAll(props.onKeyDown, onKeyDown),\n onKeyUp: handlerAll(props.onKeyUp, onKeyUp),\n }),\n [\n indeterminate,\n formControlProps,\n id,\n name,\n value,\n tabIndex,\n required,\n disabled,\n readOnly,\n resolvedChecked,\n onChange,\n onBlur,\n onFocus,\n onKeyDown,\n onKeyUp,\n ],\n )\n\n const getLabelProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n ...formControlProps,\n ...props,\n ref,\n \"data-checked\": dataAttr(resolvedChecked),\n onMouseDown: handlerAll(props.onMouseDown, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n onTouchStart: handlerAll(props.onTouchStart, (ev: SyntheticEvent) => {\n ev.preventDefault()\n ev.stopPropagation()\n }),\n }),\n [resolvedChecked, formControlProps],\n )\n\n return {\n active,\n checked: resolvedChecked,\n focused,\n focusVisible,\n hovered,\n indeterminate,\n /**\n * @deprecated Use `active` instead.\n */\n isActive: active,\n /**\n * @deprecated Use `checked` instead.\n */\n isChecked: resolvedChecked,\n /**\n * @deprecated Use `focused` instead.\n */\n isFocused: focused,\n /**\n * @deprecated Use `focusVisible` instead.\n */\n isFocusVisible: focusVisible,\n /**\n * @deprecated Use `hovered` instead.\n */\n isHovered: hovered,\n /**\n * @deprecated Use `indeterminate` instead.\n */\n isIndeterminate,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n getLabelProps,\n }\n}\n\nexport type UseCheckboxReturn = ReturnType<typeof useCheckbox>\n","import type { ComponentArgs, HTMLUIProps, ThemeProps } from \"@yamada-ui/core\"\nimport type { Merge } from \"@yamada-ui/utils\"\nimport type {\n ForwardedRef,\n InputHTMLAttributes,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from \"react\"\nimport type { CheckboxCardAddonProps } from \"./checkbox-card-addon\"\nimport type { CheckboxCardDescriptionProps } from \"./checkbox-card-description\"\nimport type { CheckboxCardLabelProps } from \"./checkbox-card-label\"\nimport type { UseCheckboxProps } from \"./use-checkbox\"\nimport { omitThemeProps, ui, useComponentMultiStyle } from \"@yamada-ui/core\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport {\n cx,\n findChild,\n funcAll,\n getValidChildren,\n isEmpty,\n omitChildren,\n} from \"@yamada-ui/utils\"\nimport { cloneElement, forwardRef } from \"react\"\nimport { CheckboxIcon } from \"./checkbox\"\nimport { CheckboxCardAddon } from \"./checkbox-card-addon\"\nimport { CheckboxCardDescription } from \"./checkbox-card-description\"\nimport { CheckboxCardLabel } from \"./checkbox-card-label\"\nimport { CheckboxCardProvider } from \"./checkbox-context\"\nimport { useCheckboxCardGroupContext } from \"./checkbox-context\"\nimport { useCheckbox } from \"./use-checkbox\"\n\ninterface CheckboxCardOptions {\n /**\n * The addon of the checkbox card.\n */\n addon?: ReactNode\n /**\n * The body of the checkbox card.\n */\n description?: ReactNode\n /**\n * The label of the checkbox card.\n */\n label?: ReactNode\n /**\n * If `true`, the icon will be displayed.\n *\n * @default true\n */\n withIcon?: boolean\n /**\n * Props for the footer of the checkbox card.\n */\n addonProps?: CheckboxCardAddonProps\n /**\n * Props for the description of the checkbox card.\n */\n descriptionProps?: CheckboxCardDescriptionProps\n /**\n * Props for the icon of the checkbox card.\n */\n iconProps?: { children: ReactElement } & Omit<HTMLUIProps, \"children\">\n /**\n * Props for input element.\n */\n inputProps?: InputHTMLAttributes<HTMLInputElement>\n /**\n * Props for the label of the checkbox card.\n */\n labelProps?: CheckboxCardLabelProps\n}\n\nexport interface CheckboxCardProps<Y extends number | string = string>\n extends Merge<HTMLUIProps<\"label\">, UseCheckboxProps<Y>>,\n ThemeProps<\"CheckboxCard\">,\n CheckboxCardOptions {}\n\n/**\n * `CheckboxCard` is a component used for allowing users to select multiple values from multiple options.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox-card\n */\nexport const CheckboxCard = forwardRef(\n <Y extends number | string = string>(\n props: CheckboxCardProps<Y>,\n ref: ForwardedRef<HTMLInputElement>,\n ) => {\n const group = useCheckboxCardGroupContext()\n const { value: groupValue, ...groupProps } = { ...group }\n const control = useFormControl(props)\n const [styles, mergedProps] = useComponentMultiStyle(\"CheckboxCard\", {\n ...groupProps,\n ...props,\n })\n const {\n className,\n addon,\n children,\n description,\n disabled = groupProps.disabled ?? control.disabled,\n invalid = groupProps.invalid ?? control.invalid,\n label,\n readOnly = groupProps.readOnly ?? control.readOnly,\n required = groupProps.required ?? control.required,\n withIcon = true,\n addonProps,\n descriptionProps,\n iconProps,\n inputProps,\n labelProps,\n ...computedProps\n } = omitThemeProps(mergedProps)\n\n computedProps.checked ??= computedProps.isChecked\n\n const isCheckedProp =\n groupValue && computedProps.value\n ? groupValue.includes(computedProps.value)\n : computedProps.checked\n const onChange =\n groupProps.onChange && computedProps.value\n ? funcAll(groupProps.onChange, computedProps.onChange)\n : computedProps.onChange\n\n const {\n checked,\n props: rest,\n getContainerProps,\n getIconProps,\n getInputProps,\n } = useCheckbox({\n ...computedProps,\n disabled,\n invalid,\n isChecked: isCheckedProp,\n readOnly,\n required,\n onChange,\n })\n\n const { children: customIcon, ...resolvedIconProps } = { ...iconProps }\n const icon = cloneElement(customIcon ?? <CheckboxIcon />, {\n checked,\n disabled,\n invalid,\n isChecked: checked,\n isDisabled: disabled,\n isInvalid: invalid,\n isReadOnly: readOnly,\n isRequired: required,\n readOnly,\n required,\n __css: {\n opacity: checked ? 1 : 0,\n transform: checked ? \"scale(1)\" : \"scale(0.95)\",\n transitionDuration: \"normal\",\n transitionProperty: \"transform\",\n },\n })\n\n const validChildren = getValidChildren(children)\n const customLabel = findChild(validChildren, CheckboxCardLabel)\n const customDescription = findChild(validChildren, CheckboxCardDescription)\n const customAddon = findChild(validChildren, CheckboxCardAddon)\n\n const computedChildren = !isEmpty(validChildren)\n ? omitChildren(\n validChildren,\n CheckboxCardLabel,\n CheckboxCardDescription,\n CheckboxCardAddon,\n )\n : children\n\n return (\n <CheckboxCardProvider\n value={{\n icon,\n styles,\n withIcon,\n getIconProps,\n iconProps: resolvedIconProps,\n }}\n >\n <ui.label\n className={cx(\"ui-checkbox-card\", className)}\n {...getContainerProps(rest)}\n __css={{ ...styles.container }}\n >\n <ui.input\n className=\"ui-checkbox-card__input\"\n {...getInputProps(inputProps, ref)}\n />\n\n {customLabel ??\n (label ? (\n <CheckboxCardLabel {...labelProps}>{label}</CheckboxCardLabel>\n ) : null)}\n\n {customDescription ??\n (description ? (\n <CheckboxCardDescription {...descriptionProps}>\n {description}\n </CheckboxCardDescription>\n ) : null)}\n\n {customAddon ??\n (addon ? (\n <CheckboxCardAddon {...addonProps}>{addon}</CheckboxCardAddon>\n ) : null)}\n\n {computedChildren}\n </ui.label>\n </CheckboxCardProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxCardProps<Y> & RefAttributes<HTMLInputElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxCard.displayName = \"CheckboxCard\"\nCheckboxCard.__ui__ = \"CheckboxCard\"\n","import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardAddonProps extends HTMLUIProps {}\n\nexport const CheckboxCardAddon = forwardRef<CheckboxCardAddonProps, \"div\">(\n ({ className, ...rest }, ref) => {\n const { styles } = useCheckboxCardContext()\n\n const css: CSSUIObject = { ...styles.addon }\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__addon\", className)}\n __css={css}\n {...rest}\n />\n )\n },\n)\n\nCheckboxCardAddon.displayName = \"CheckboxCardAddon\"\nCheckboxCardAddon.__ui__ = \"CheckboxCardAddon\"\n","import type { CSSUIObject, HTMLUIProps } from \"@yamada-ui/core\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardDescriptionProps extends HTMLUIProps {}\n\nexport const CheckboxCardDescription = forwardRef<\n CheckboxCardDescriptionProps,\n \"div\"\n>(({ className, ...rest }, ref) => {\n const { styles } = useCheckboxCardContext()\n\n const css: CSSUIObject = { ...styles.description }\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__description\", className)}\n __css={css}\n {...rest}\n />\n )\n})\n\nCheckboxCardDescription.displayName = \"CheckboxCardDescription\"\nCheckboxCardDescription.__ui__ = \"CheckboxCardDescription\"\n","import type { HTMLUIProps } from \"@yamada-ui/core\"\nimport type { ReactElement } from \"react\"\nimport { forwardRef } from \"@yamada-ui/core\"\nimport { ui } from \"@yamada-ui/core\"\nimport { cx } from \"@yamada-ui/utils\"\nimport { useCheckboxCardContext } from \"./checkbox-context\"\n\nexport interface CheckboxCardLabelProps extends HTMLUIProps {\n /**\n * The icon of the checkbox card.\n */\n icon?: ReactElement\n /**\n * If `true`, the icon will be displayed.\n *\n * @default true\n */\n withIcon?: boolean\n /**\n * The props for the label content.\n */\n contentProps?: HTMLUIProps<\"span\">\n /**\n * The props for the icon.\n */\n iconProps?: HTMLUIProps\n}\n\nexport const CheckboxCardLabel = forwardRef<CheckboxCardLabelProps, \"div\">(\n (\n {\n className,\n children,\n icon: iconProp,\n withIcon,\n contentProps,\n iconProps,\n ...rest\n },\n ref,\n ) => {\n const {\n icon,\n styles,\n withIcon: defaultWithIcon,\n getIconProps,\n iconProps: defaultIconProps,\n } = useCheckboxCardContext()\n\n withIcon ??= defaultWithIcon\n\n return (\n <ui.div\n ref={ref}\n className={cx(\"ui-checkbox-card__label\", className)}\n __css={{ ...styles.label }}\n {...rest}\n >\n <ui.span\n className=\"ui-checkbox-card__label-content\"\n __css={{ ...styles.labelContent }}\n {...contentProps}\n >\n {children}\n </ui.span>\n\n {withIcon ? (\n <ui.div\n className=\"ui-checkbox-card__icon\"\n __css={{ ...styles.icon }}\n {...getIconProps({ ...defaultIconProps, ...iconProps })}\n >\n {iconProp ?? icon}\n </ui.div>\n ) : null}\n </ui.div>\n )\n },\n)\n\nCheckboxCardLabel.displayName = \"CheckboxCardLabel\"\nCheckboxCardLabel.__ui__ = \"CheckboxCardLabel\"\n","import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { ForwardedRef, ReactElement, RefAttributes } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport type { CheckboxCardGroupContext } from \"./checkbox-context\"\nimport type { CheckboxGroupSharedProps } from \"./checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { CheckboxCard } from \"./checkbox-card\"\nimport { CheckboxCardGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport type CheckboxCardItem<Y extends number | string = string> =\n CheckboxCardProps<Y>\n\nexport interface CheckboxCardGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {\n /**\n * If provided, generate checkbox cards based on items.\n *\n * @default '[]'\n */\n items?: CheckboxCardItem<Y>[]\n}\n\n/**\n * `CheckboxCardGroup` is a component that groups `CheckboxCard` components.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox-card\n */\nexport const CheckboxCardGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"row\",\n gap = \"0.5rem\",\n items = [],\n withIcon = true,\n addonProps,\n descriptionProps,\n labelProps,\n ...props\n }: CheckboxCardGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const {\n disabled,\n invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n labelId,\n readOnly,\n required,\n ...rest\n } = useFormControl(computedProps)\n const validChildren = getValidChildren(children)\n\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length)\n computedChildren = items.map((props, i) => (\n <CheckboxCard key={i} {...props} />\n ))\n\n return (\n <CheckboxCardGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n withIcon,\n addonProps,\n descriptionProps,\n labelProps,\n onChange,\n } as CheckboxCardGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-card-group\", className)}\n gap={gap}\n w=\"100%\"\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n direction={direction}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxCardGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxCardGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxCardGroup.displayName = \"CheckboxCardGroup\"\nCheckboxCardGroup.__ui__ = \"CheckboxCardGroup\"\n","import type { PropGetter } from \"@yamada-ui/core\"\nimport type { Dict } from \"@yamada-ui/utils\"\nimport type { ChangeEvent, ReactNode } from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport { useControllableState } from \"@yamada-ui/use-controllable-state\"\nimport { isObject, useCallbackRef } from \"@yamada-ui/utils\"\nimport { useCallback } from \"react\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nconst isEvent = (value: any): value is { target: HTMLInputElement } =>\n value && isObject(value) && isObject(value.target)\n\nexport interface UseCheckboxGroupProps<Y extends number | string = string> {\n /**\n * The initial value of the checkbox group.\n */\n defaultValue?: Y[]\n /**\n * If `true`, input elements will receive `checked` attribute instead of `isChecked`.\n *\n * This assumes, you're using native radio inputs.\n *\n * @default false\n *\n * @deprecated It will be deprecated in version 2.0.\n */\n isNative?: boolean\n /**\n * The value of the checkbox group.\n */\n value?: Y[]\n /**\n * The callback fired when any children checkbox is checked or unchecked.\n */\n onChange?: (value: Y[]) => void\n}\n\nexport const useCheckboxGroup = <\n Y extends number | string,\n M extends Dict = Dict,\n>({\n defaultValue = [],\n isNative,\n value: valueProp,\n onChange: onChangeProp,\n ...props\n}: M & UseCheckboxGroupProps<Y>) => {\n const onChangeRef = useCallbackRef(onChangeProp)\n\n const [value, setValue] = useControllableState({\n defaultValue,\n value: valueProp,\n onChange: onChangeRef,\n })\n\n const onChange = useCallback(\n (evOrValue: ChangeEvent<HTMLInputElement> | Y) => {\n const isChecked = isEvent(evOrValue)\n ? evOrValue.target.checked\n : !value.includes(evOrValue)\n\n const selectedValue = (\n isEvent(evOrValue) ? evOrValue.target.value : evOrValue\n ) as Y\n\n const nextValue = isChecked\n ? [...value, selectedValue]\n : value.filter((v) => String(v) !== String(selectedValue))\n\n setValue(nextValue)\n },\n [value, setValue],\n )\n\n const getContainerProps: PropGetter = useCallback(\n (props = {}, ref = null) => ({\n role: \"group\",\n ...props,\n ref,\n }),\n [],\n )\n\n const getCheckboxProps: PropGetter<\n { value?: Y },\n { checked?: boolean; isChecked?: boolean; value?: Y }\n > = useCallback(\n (props = {}, ref = null) => ({\n ...props,\n ref,\n [isNative ? \"checked\" : \"isChecked\"]: value.some(\n (val) => String(props.value) === String(val),\n ),\n onChange,\n }),\n [onChange, isNative, value],\n )\n\n return {\n props,\n setValue,\n value,\n getCheckboxProps,\n getContainerProps,\n onChange,\n }\n}\n\nexport type UseCheckboxGroupReturn<Y extends number | string = string> =\n ReturnType<typeof useCheckboxGroup<Y>>\n","import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { FlexProps } from \"@yamada-ui/layouts\"\nimport type {\n ForwardedRef,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport type { CheckboxGroupContext } from \"./checkbox-context\"\nimport type { UseCheckboxGroupProps } from \"./use-checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { Checkbox } from \"./checkbox\"\nimport { CheckboxGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nexport interface CheckboxGroupSharedProps<Y extends number | string = string>\n extends Omit<FlexProps, \"defaultValue\" | \"onChange\">,\n UseCheckboxGroupProps<Y>,\n FormControlOptions {}\n\nexport interface CheckboxGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n ThemeProps<\"Checkbox\"> {\n /**\n * If provided, generate checkboxes based on items.\n *\n * @default '[]'\n */\n items?: CheckboxItem<Y>[]\n}\n\nexport const CheckboxGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"column\",\n gap,\n items = [],\n ...props\n }: CheckboxGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const {\n disabled,\n invalid,\n isDisabled: _isDisabled,\n isInvalid: _isInvalid,\n isReadOnly: _isReadOnly,\n isRequired: _isRequired,\n labelId,\n readOnly,\n required,\n ...rest\n } = useFormControl(computedProps)\n\n const validChildren = getValidChildren(children)\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length) {\n computedChildren = items.map((props, index) => (\n <Checkbox key={index} {...props} />\n ))\n }\n\n return (\n <CheckboxGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n onChange,\n } as CheckboxGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-group\", className)}\n direction={direction}\n gap={gap ?? (direction === \"row\" ? \"1rem\" : undefined)}\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxGroup.displayName = \"CheckboxGroup\"\nCheckboxGroup.__ui__ = \"CheckboxGroup\"\n"],"mappings":"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","names":["import_form_control","import_utils","import_react","import_utils","props","_a","import_core","import_form_control","import_utils","import_react","import_core","import_utils","import_jsx_runtime","import_core","import_utils","import_jsx_runtime","import_core","import_utils","import_jsx_runtime","import_jsx_runtime","import_form_control","import_utils","import_react","import_utils","import_react","props","import_jsx_runtime","props","import_form_control","import_layouts","import_utils","import_react","import_jsx_runtime","props"]}
package/dist/index.mjs CHANGED
@@ -1,7 +1,7 @@
1
1
  "use client"
2
2
  import {
3
3
  CheckboxCardGroup
4
- } from "./chunk-GXLHY7BP.mjs";
4
+ } from "./chunk-EGVIM3EL.mjs";
5
5
  import {
6
6
  CheckboxCard
7
7
  } from "./chunk-EYKGMSLM.mjs";
@@ -16,7 +16,7 @@ import {
16
16
  } from "./chunk-7QPJ25CW.mjs";
17
17
  import {
18
18
  CheckboxGroup
19
- } from "./chunk-XAC4G7Y2.mjs";
19
+ } from "./chunk-LNXH2HKF.mjs";
20
20
  import {
21
21
  useCheckboxGroup
22
22
  } from "./chunk-PH5Y6VMS.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yamada-ui/checkbox",
3
- "version": "1.3.3-dev-20250106092408",
3
+ "version": "1.3.3-dev-20250106094135",
4
4
  "description": "Yamada UI checkbox component",
5
5
  "keywords": [
6
6
  "yamada",
@@ -36,13 +36,13 @@
36
36
  "url": "https://github.com/yamada-ui/yamada-ui/issues"
37
37
  },
38
38
  "dependencies": {
39
- "@yamada-ui/core": "1.17.0-dev-20250106092408",
40
- "@yamada-ui/form-control": "2.1.12-dev-20250106092408",
41
- "@yamada-ui/layouts": "1.4.0-dev-20250106092408",
42
- "@yamada-ui/motion": "2.3.0-dev-20250106092408",
43
- "@yamada-ui/use-controllable-state": "1.0.27-dev-20250106092408",
44
- "@yamada-ui/use-focus-visible": "1.1.14-dev-20250106092408",
45
- "@yamada-ui/utils": "1.7.0-dev-20250106092408"
39
+ "@yamada-ui/core": "1.17.0-dev-20250106094135",
40
+ "@yamada-ui/form-control": "2.1.12-dev-20250106094135",
41
+ "@yamada-ui/layouts": "1.4.0-dev-20250106094135",
42
+ "@yamada-ui/motion": "2.3.0-dev-20250106094135",
43
+ "@yamada-ui/use-controllable-state": "1.0.27-dev-20250106094135",
44
+ "@yamada-ui/use-focus-visible": "1.1.14-dev-20250106094135",
45
+ "@yamada-ui/utils": "1.7.0-dev-20250106094135"
46
46
  },
47
47
  "devDependencies": {
48
48
  "clean-package": "2.2.0",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/checkbox-card-group.tsx"],"sourcesContent":["import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { ForwardedRef, ReactElement, RefAttributes } from \"react\"\nimport type { CheckboxCardProps } from \"./checkbox-card\"\nimport type { CheckboxCardGroupContext } from \"./checkbox-context\"\nimport type { CheckboxGroupSharedProps } from \"./checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { CheckboxCard } from \"./checkbox-card\"\nimport { CheckboxCardGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport type CheckboxCardItem<Y extends number | string = string> =\n CheckboxCardProps<Y>\n\nexport interface CheckboxCardGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n Pick<\n CheckboxCardProps,\n \"addonProps\" | \"descriptionProps\" | \"labelProps\" | \"withIcon\"\n >,\n ThemeProps<\"CheckboxCard\"> {\n /**\n * If provided, generate checkbox cards based on items.\n *\n * @default '[]'\n */\n items?: CheckboxCardItem<Y>[]\n}\n\n/**\n * `CheckboxCardGroup` is a component that groups `CheckboxCard` components.\n *\n * @see Docs https://yamada-ui.com/components/forms/checkbox-card\n */\nexport const CheckboxCardGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"row\",\n gap = \"0.5rem\",\n items = [],\n withIcon = true,\n addonProps,\n descriptionProps,\n labelProps,\n ...props\n }: CheckboxCardGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const { disabled, invalid, labelId, readOnly, required, ...rest } =\n useFormControl(computedProps)\n const validChildren = getValidChildren(children)\n\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length)\n computedChildren = items.map((props, i) => (\n <CheckboxCard key={i} {...props} />\n ))\n\n return (\n <CheckboxCardGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n withIcon,\n addonProps,\n descriptionProps,\n labelProps,\n onChange,\n } as CheckboxCardGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-card-group\", className)}\n gap={gap}\n w=\"100%\"\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n direction={direction}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxCardGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxCardGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxCardGroup.displayName = \"CheckboxCardGroup\"\nCheckboxCardGroup.__ui__ = \"CheckboxCardGroup\"\n"],"mappings":";;;;;;;;;;;;AAKA,SAAS,sBAAsB;AAC/B,SAAS,YAAY;AACrB,SAAS,IAAI,wBAAwB;AACrC,SAAS,kBAAkB;AA6DnB;AAjCD,IAAM,oBAAoB;AAAA,EAC/B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ,MAAM;AAAA,IACN,QAAQ,CAAC;AAAA,IACT,WAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM;AAAA,MACJ,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,iBAAoB,KAAK;AAC7B,UAAM,EAAE,UAAU,SAAS,SAAS,UAAU,UAAU,GAAG,KAAK,IAC9D,eAAe,aAAa;AAC9B,UAAM,gBAAgB,iBAAiB,QAAQ;AAE/C,QAAI,mBAAmC,CAAC;AAExC,QAAI,CAAC,cAAc,UAAU,MAAM;AACjC,yBAAmB,MAAM,IAAI,CAACA,QAAO,MACnC,oBAAC,gBAAsB,GAAGA,UAAP,CAAc,CAClC;AAEH,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OACE;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAGF;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,WAAW,GAAG,0BAA0B,SAAS;AAAA,YACjD;AAAA,YACA,GAAE;AAAA,YACD,GAAG,kBAAkB;AAAA,cACpB,mBAAmB;AAAA,cACnB,GAAG;AAAA,YACL,CAAC;AAAA,YACD;AAAA,YAEC,wCAAY;AAAA;AAAA,QACf;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAMA,kBAAkB,cAAc;AAChC,kBAAkB,SAAS;","names":["props"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/checkbox-group.tsx"],"sourcesContent":["import type { ComponentArgs, ThemeProps } from \"@yamada-ui/core\"\nimport type { FormControlOptions } from \"@yamada-ui/form-control\"\nimport type { FlexProps } from \"@yamada-ui/layouts\"\nimport type {\n ForwardedRef,\n ReactElement,\n ReactNode,\n RefAttributes,\n} from \"react\"\nimport type { CheckboxProps } from \"./checkbox\"\nimport type { CheckboxGroupContext } from \"./checkbox-context\"\nimport type { UseCheckboxGroupProps } from \"./use-checkbox-group\"\nimport { useFormControl } from \"@yamada-ui/form-control\"\nimport { Flex } from \"@yamada-ui/layouts\"\nimport { cx, getValidChildren } from \"@yamada-ui/utils\"\nimport { forwardRef } from \"react\"\nimport { Checkbox } from \"./checkbox\"\nimport { CheckboxGroupProvider } from \"./checkbox-context\"\nimport { useCheckboxGroup } from \"./use-checkbox-group\"\n\nexport interface CheckboxItem<Y extends number | string = string>\n extends CheckboxProps<Y> {\n label?: ReactNode\n}\n\nexport interface CheckboxGroupSharedProps<Y extends number | string = string>\n extends Omit<FlexProps, \"defaultValue\" | \"onChange\">,\n UseCheckboxGroupProps<Y>,\n FormControlOptions {}\n\nexport interface CheckboxGroupProps<Y extends number | string = string>\n extends CheckboxGroupSharedProps<Y>,\n ThemeProps<\"Checkbox\"> {\n /**\n * If provided, generate checkboxes based on items.\n *\n * @default '[]'\n */\n items?: CheckboxItem<Y>[]\n}\n\nexport const CheckboxGroup = forwardRef(\n <Y extends number | string = string>(\n {\n className,\n colorScheme,\n size,\n variant,\n children,\n direction = \"column\",\n gap,\n items = [],\n ...props\n }: CheckboxGroupProps<Y>,\n ref: ForwardedRef<HTMLDivElement>,\n ) => {\n const {\n props: computedProps,\n value,\n getContainerProps,\n onChange,\n } = useCheckboxGroup<Y>(props)\n const { disabled, invalid, labelId, readOnly, required, ...rest } =\n useFormControl(computedProps)\n\n const validChildren = getValidChildren(children)\n let computedChildren: ReactElement[] = []\n\n if (!validChildren.length && items.length) {\n computedChildren = items.map((props, index) => (\n <Checkbox key={index} {...props} />\n ))\n }\n\n return (\n <CheckboxGroupProvider\n value={\n {\n colorScheme,\n size,\n variant,\n disabled,\n invalid,\n readOnly,\n required,\n value,\n onChange,\n } as CheckboxGroupContext\n }\n >\n <Flex\n ref={ref}\n className={cx(\"ui-checkbox-group\", className)}\n direction={direction}\n gap={gap ?? (direction === \"row\" ? \"1rem\" : undefined)}\n {...getContainerProps({\n \"aria-labelledby\": labelId,\n ...rest,\n })}\n >\n {children ?? computedChildren}\n </Flex>\n </CheckboxGroupProvider>\n )\n },\n) as {\n <Y extends number | string = string>(\n props: CheckboxGroupProps<Y> & RefAttributes<HTMLDivElement>,\n ): ReactElement\n} & ComponentArgs\n\nCheckboxGroup.displayName = \"CheckboxGroup\"\nCheckboxGroup.__ui__ = \"CheckboxGroup\"\n"],"mappings":";;;;;;;;;;;;AAYA,SAAS,sBAAsB;AAC/B,SAAS,YAAY;AACrB,SAAS,IAAI,wBAAwB;AACrC,SAAS,kBAAkB;AAuDnB;AA7BD,IAAM,gBAAgB;AAAA,EAC3B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA,QAAQ,CAAC;AAAA,IACT,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM;AAAA,MACJ,OAAO;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA,IACF,IAAI,iBAAoB,KAAK;AAC7B,UAAM,EAAE,UAAU,SAAS,SAAS,UAAU,UAAU,GAAG,KAAK,IAC9D,eAAe,aAAa;AAE9B,UAAM,gBAAgB,iBAAiB,QAAQ;AAC/C,QAAI,mBAAmC,CAAC;AAExC,QAAI,CAAC,cAAc,UAAU,MAAM,QAAQ;AACzC,yBAAmB,MAAM,IAAI,CAACA,QAAO,UACnC,oBAAC,YAAsB,GAAGA,UAAX,KAAkB,CAClC;AAAA,IACH;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC,OACE;AAAA,UACE;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,QAGF;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,WAAW,GAAG,qBAAqB,SAAS;AAAA,YAC5C;AAAA,YACA,KAAK,oBAAQ,cAAc,QAAQ,SAAS;AAAA,YAC3C,GAAG,kBAAkB;AAAA,cACpB,mBAAmB;AAAA,cACnB,GAAG;AAAA,YACL,CAAC;AAAA,YAEA,wCAAY;AAAA;AAAA,QACf;AAAA;AAAA,IACF;AAAA,EAEJ;AACF;AAMA,cAAc,cAAc;AAC5B,cAAc,SAAS;","names":["props"]}