{"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,CAAC,GAAG;EACtF;EACA;EACA;CACF,CAAC;CAED,MAAM,gBAAgB,aAAqB,YAAqB;EAC9D,MAAM,YAAY,UACd,CAAC,GAAG,gBAAgB,WAAW,IAC/B,eAAe,QAAQ,MAAM,MAAM,WAAW;EAElD,kBAAkB,SAAS;CAC7B;CAEA,MAAM,oBAAoB,QAAQ,KAAK,WAAW;EAChD,IAAI,OAAO,WAAW,UACpB,OAAO;GACL,UAAU;GACV,OAAO;GACP,OAAO;EACT;EAEF,OAAO;CACT,CAAC;CAED,OACE,oBAACA,mBAAD;EAAS,YAAA;EAAW,OAAO;EAAU,KAAK;EAAI,MAAM;EAAQ,GAAI;YAC7D,kBAAkB,KAAK,WAAW;GAIjC,OACE,oBAAC,UAAD;IACE,SALc,eAAe,SAAS,OAAO,KAK5B;IACjB,UALe,YAAY,OAAO;IAO3B;IACD;IACK;IACX,WAAW,YAAY,aAAa,OAAO,OAAO,OAAO;cAExD,OAAO;GACA,GAPH,OAAO,OAAO,KAAK,CAOhB;EAEd,CAAC;CACM,CAAA;AAEb;AAEA,cAAc,cAAc"}