{"version":3,"sources":["../../../../src/components/atoms/CheckBox/CheckBox.tsx"],"names":["cva","jsx","jsxs","HCheckbox","twMerge"],"mappings":";;;;;;;AAKA,MAAM,gBAAA,GAAmBA,2BAAI,4BAAA,EAA8B;AAAA,EACzD,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,QAAA,EACE,kIAAA;AAAA,MACF,GAAA,EAAK;AAAA,KAMP;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,+BAAA;AAAA,MACJ,EAAA,EAAI,+BAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,IAAA;AAAA,IACN,UAAA,EAAY;AAAA;AAEhB,CAAC,CAAA;AAED,MAAM,mBAAA,GAAsBA,0BAAA;AAAA,EAC1B,uLAAA;AAAA,EAIA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,UAAA,EAAY;AAAA,QACV,QAAA,EAAU,uDAAA;AAAA,QACV,GAAA,EAAK;AAAA,OACP;AAAA,MACA,IAAA,EAAM;AAAA,QACJ,EAAA,EAAI,yCAAA;AAAA,QACJ,EAAA,EAAI,yCAAA;AAAA,QACJ,EAAA,EAAI;AAAA;AACN,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,IAAA,EAAM,IAAA;AAAA,MACN,UAAA,EAAY;AAAA;AACd;AAEJ,CAAA;AAQO,SAAS,QAAA,CAAS;AAAA,EACvB,OAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,IAAA;AAAA,EACA,eAAA,GAAkB,IAAA;AAAA,EAClB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAqC;AACnC,EAAA,uBACEC,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kBAAA,EACb,QAAA,kBAAAC,eAAA;AAAA,IAACC,cAAA;AAAA,IAAA;AAAA,MACC,OAAA;AAAA,MACA,QAAA;AAAA,MACC,GAAG,KAAA;AAAA,MACJ,SAAA,EAAWC,qBAAA;AAAA,QACT,gBAAA,CAAiB;AAAA,UACf,IAAA;AAAA,UACA;AAAA,SACD,CAAA;AAAA,QACD;AAAA,OACF;AAAA,MAEC,QAAA,EAAA;AAAA,QAAA,eAAA,oBACCH,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWG,qBAAA,CAAQ,mBAAA,CAAoB,EAAE,IAAA,EAAM,UAAA,EAAY,CAAC,CAAA,EAAG,CAAA;AAAA,QAGrE,UAAA,KAAe,QACd,QAAA,mBAEAH,cAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,SAAA,EAAU,2GAAA;AAAA,YACV,OAAA,EAAQ,WAAA;AAAA,YACR,IAAA,EAAK,MAAA;AAAA,YAEL,QAAA,kBAAAA,cAAA;AAAA,cAAC,MAAA;AAAA,cAAA;AAAA,gBACC,CAAA,EAAE,kBAAA;AAAA,gBACF,WAAA,EAAa,CAAA;AAAA,gBACb,aAAA,EAAc,OAAA;AAAA,gBACd,cAAA,EAAe;AAAA;AAAA;AACjB;AAAA;AACF;AAAA;AAAA,GAEJ,EACF,CAAA;AAEJ","file":"CheckBox.cjs","sourcesContent":["import { Checkbox as HCheckbox, type CheckboxProps } from \"@headlessui/react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport type { PropsWithChildren } from \"react\";\nimport { twMerge } from \"tailwind-merge\";\n\nconst checkboxVariants = cva(\"cursor-pointer select-none\", {\n  variants: {\n    appearance: {\n      checkbox:\n        \"relative group block rounded border-2 box-border border-primary-700 bg-transparent data-checked:bg-primary size-[var(--cb-size)]\",\n      box: \"relative group flex items-center \\\n          justify-center boder border py-2 rounded-md \\\n          border-primary cursor-pointer  transition-all min-w-40 overflow-hidden \\\n          data-checked:bg-primary-200 dark:data-checked:bg-primary font-medium box-border hover:data-checked:bg-transparent \\\n          hover:data-[checked]:after:content-['✕'] hover:data-[checked]:after:absolute hover:data-[checked]:after:top-1 hover:data-[checked]:after:right-1.5 hover:data-[checked]:after:text-font-primary hover:data-[checked]:after:text-xs \\\n          hover:not-data-[checked]:after:content-['✔'] hover:not-data-[checked]:after:absolute hover:not-data-[checked]:after:top-1 hover:not-data-[checked]:after:right-1.5 hover:not-data-[checked]:after:text-font-primary hover:not-data-[checked]:after:text-xs\",\n    },\n    size: {\n      sm: \"[--cb-size:var(--chekbox-sm)]\",\n      md: \"[--cb-size:var(--chekbox-md)]\",\n      lg: \"[--cb-size:var(--chekbox-lg)]\",\n    },\n  },\n  defaultVariants: {\n    size: \"sm\",\n    appearance: \"checkbox\",\n  },\n});\n\nconst focusCircleVariants = cva(\n  \"size-0 pointer-events-none absolute top-1/2 left-1/2 \\\n  -translate-x-1/2 -translate-y-1/2 transform-gpu \\\n  rounded-full bg-primary-100/80 -z-10 dark:bg-primary-100/10 \\\n  transition-all\",\n  {\n    variants: {\n      appearance: {\n        checkbox: \"group-hover:size-[var(--circle-cb-size)] duration-200\",\n        box: \"group-hover:size-96 duration-200 group-hover:data-[checked]:bg-primary-50\",\n      },\n      size: {\n        sm: \"[--circle-cb-size:var(--chekbox-bg-sm)]\",\n        md: \"[--circle-cb-size:var(--chekbox-bg-md)]\",\n        lg: \"[--circle-cb-size:var(--chekbox-bg-lg)]\",\n      },\n    },\n    defaultVariants: {\n      size: \"sm\",\n      appearance: \"checkbox\",\n    },\n  }\n);\n\nexport type CheckBoxProps = VariantProps<typeof checkboxVariants> &\n  Omit<CheckboxProps, \"children\"> & {\n    hoverBackground?: boolean;\n    className?: string;\n  };\n\nexport function CheckBox({\n  checked,\n  onChange,\n  appearance,\n  size,\n  hoverBackground = true,\n  children,\n  className,\n  ...props\n}: PropsWithChildren<CheckBoxProps>) {\n  return (\n    <div className=\"relative isolate\">\n      <HCheckbox\n        checked={checked}\n        onChange={onChange}\n        {...props}\n        className={twMerge(\n          checkboxVariants({\n            size,\n            appearance,\n          }),\n          className\n        )}\n      >\n        {hoverBackground && (\n          <div className={twMerge(focusCircleVariants({ size, appearance }))} />\n        )}\n\n        {appearance === \"box\" ? (\n          children\n        ) : (\n          <svg\n            className=\"stroke-white opacity-0 group-hover:opacity-100 dark:group-hover:opacity-50 group-data-checked:opacity-100\"\n            viewBox=\"0 0 14 14\"\n            fill=\"none\"\n          >\n            <path\n              d=\"M3 8L6 11L11 3.5\"\n              strokeWidth={2}\n              strokeLinecap=\"round\"\n              strokeLinejoin=\"round\"\n            />\n          </svg>\n        )}\n      </HCheckbox>\n    </div>\n  );\n}\n"]}