{"version":3,"file":"CheckboxGroup.mjs","names":["Flexbox"],"sources":["../../src/Checkbox/CheckboxGroup.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport useMergeState from 'use-merge-value';\n\nimport { Flexbox } from '@/Flex';\n\nimport Checkbox from './Checkbox';\nimport type { CheckboxGroupProps } from './type';\n\nconst CheckboxGroup: FC<CheckboxGroupProps> = ({\n  defaultValue,\n  disabled,\n  onChange,\n  options,\n  textProps,\n  value,\n  shape,\n  size,\n  ...rest\n}) => {\n  const [selectedValues, setSelectedValues] = useMergeState<string[]>(defaultValue || [], {\n    defaultValue,\n    onChange,\n    value,\n  });\n\n  const handleChange = (optionValue: string, checked: boolean) => {\n    const newValues = checked\n      ? [...selectedValues, optionValue]\n      : selectedValues.filter((v) => v !== optionValue);\n\n    setSelectedValues(newValues);\n  };\n\n  const normalizedOptions = options.map((option) => {\n    if (typeof option === 'string') {\n      return {\n        disabled: false,\n        label: option,\n        value: option,\n      };\n    }\n    return option;\n  });\n\n  return (\n    <Flexbox horizontal align={'center'} gap={16} wrap={'wrap'} {...rest}>\n      {normalizedOptions.map((option) => {\n        const isChecked = selectedValues.includes(option.value);\n        const isDisabled = disabled || option.disabled;\n\n        return (\n          <Checkbox\n            checked={isChecked}\n            disabled={isDisabled}\n            key={String(option.value)}\n            shape={shape}\n            size={size}\n            textProps={textProps}\n            onChange={(checked) => handleChange(option.value, checked)}\n          >\n            {option.label}\n          </Checkbox>\n        );\n      })}\n    </Flexbox>\n  );\n};\n\nCheckboxGroup.displayName = 'CheckboxGroup';\n\nexport default CheckboxGroup;\n"],"mappings":";;;;;AAQA,MAAM,iBAAyC,EAC7C,cACA,UACA,UACA,SACA,WACA,OACA,OACA,MACA,GAAG,WACC;CACJ,MAAM,CAAC,gBAAgB,qBAAqB,cAAwB,gBAAgB,EAAE,EAAE;EACtF;EACA;EACA;EACD,CAAC;CAEF,MAAM,gBAAgB,aAAqB,YAAqB;AAK9D,oBAJkB,UACd,CAAC,GAAG,gBAAgB,YAAY,GAChC,eAAe,QAAQ,MAAM,MAAM,YAAY,CAEvB;;CAG9B,MAAM,oBAAoB,QAAQ,KAAK,WAAW;AAChD,MAAI,OAAO,WAAW,SACpB,QAAO;GACL,UAAU;GACV,OAAO;GACP,OAAO;GACR;AAEH,SAAO;GACP;AAEF,QACE,oBAACA,mBAAD;EAAS,YAAA;EAAW,OAAO;EAAU,KAAK;EAAI,MAAM;EAAQ,GAAI;YAC7D,kBAAkB,KAAK,WAAW;AAIjC,UACE,oBAAC,UAAD;IACE,SALc,eAAe,SAAS,OAAO,MAAM;IAMnD,UALe,YAAY,OAAO;IAO3B;IACD;IACK;IACX,WAAW,YAAY,aAAa,OAAO,OAAO,QAAQ;cAEzD,OAAO;IACC,EAPJ,OAAO,OAAO,MAAM,CAOhB;IAEb;EACM,CAAA;;AAId,cAAc,cAAc"}