{"version":3,"sources":["../../../../src/components/molecules/CheckBoxField/CheckBoxField.tsx"],"names":["cva","jsx","CheckBox","jsxs","Field","twMerge","HLabel","Label","Typography","Controller"],"mappings":";;;;;;;;;;;AAYA,MAAM,qBAAA,GAAwBA,2BAAI,IAAA,EAAM;AAAA,EACtC,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,OAAA,EACE,wEAAA;AAAA,MACF,MAAA,EAAQ,EAAA;AAAA,MACR,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,qJAAA;AAAA,MACJ,EAAA,EAAI,qJAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY,SAAA;AAAA,IACZ,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;AAYM,SAAS,aAAA,CAAc;AAAA,EAC5B,EAAA;AAAA,EACA,KAAA;AAAA,EACA,IAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA;AAAA,EACA,kBAAA;AAAA,EACA,kBAAA;AAAA,EACA,SAAA,GAAY,KAAA;AAAA,EACZ,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAuB;AACrB,EAAA,IAAI,uBAAuB,KAAA,EAAO;AAChC,IAAA,uBACEC,cAAA;AAAA,MAACC,iBAAA;AAAA,MAAA;AAAA,QACC,IAAA,EAAM,EAAA;AAAA,QACN,EAAA;AAAA,QACA,IAAA;AAAA,QACA,UAAA,EAAY,kBAAA;AAAA,QACX,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AACA,EAAA,uBACEC,eAAA;AAAA,IAACC,WAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,qBAAA;AAAA,QACT,qBAAA,CAAsB,EAAE,IAAA,EAAM,UAAA,EAAY,CAAA;AAAA,QAC1C;AAAA,OACF;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAF,eAAA,CAAC,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,0BAAAF,cAAA;AAAA,YAACC,iBAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAM,EAAA;AAAA,cACN,EAAA;AAAA,cACA,IAAA;AAAA,cACA,UAAA,EAAY,kBAAA;AAAA,cACX,GAAG;AAAA;AAAA,WACN;AAAA,0BACAD,cAAA,CAACK,eAAO,EAAA,EAAIC,WAAA,EAAO,WAAU,MAAA,EAAO,OAAA,EAAS,IAC1C,QAAA,EAAA,KAAA,EACH;AAAA,SAAA,EACF,CAAA;AAAA,uCACC,KAAA,EAAA,EACE,QAAA,EAAA,SAAA,IAAa,CAAC,CAAC,wBACdN,cAAA,CAACO,qBAAA,EAAA,EAAW,SAAA,EAAU,WAAA,EAAa,iBAAM,CAAA,mBAEzCP,cAAA,CAACO,yBAAW,SAAA,EAAU,cAAA,EAAgB,uBAAY,CAAA,EAEtD;AAAA;AAAA;AAAA,GACF;AAEJ;AAUO,SAAS,iBAAA,CAAkB;AAAA,EAChC,IAAA;AAAA,EACA,UAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA2B;AACzB,EAAA,uBACEP,cAAA;AAAA,IAACQ,wBAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACC,GAAG,UAAA;AAAA,MACJ,MAAA,EAAQ,CAAC,EAAE,KAAA,EAAO,YAAW,KAAM;AACjC,QAAA,uBACER,cAAA;AAAA,UAAC,aAAA;AAAA,UAAA;AAAA,YACE,GAAG,KAAA;AAAA,YACH,GAAG,KAAA;AAAA,YACJ,SAAS,KAAA,CAAM,KAAA;AAAA,YACf,KAAA,EAAO,WAAW,KAAA,EAAO;AAAA;AAAA,SAC3B;AAAA,MAEJ;AAAA;AAAA,GACF;AAEJ","file":"CheckBoxField.cjs","sourcesContent":["import type { ReactNode } from \"react\";\nimport { CheckBox, type CheckBoxProps } from \"../../atoms/CheckBox\";\nimport { Label } from \"../../atoms/Label\";\nimport { Typography } from \"../../atoms/Typography/Typography\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Field, Label as HLabel } from \"@headlessui/react\";\nimport { Controller, type ControllerProps } from \"react-hook-form\";\nimport { twMerge } from \"tailwind-merge\";\n\n// cbfl=> check-box-field-label\n// cbft=> check-box-field-typography\n\nconst checkboxFieldVariants = cva(null, {\n  variants: {\n    appearance: {\n      default:\n        \"flex flex-col [&>div]:flex [&>div]:flex-row [&_label]:ml-2 font-medium\",\n      inline: \"\",\n      reversed: \"\",\n    },\n    size: {\n      sm: \"[&_.cbfl]:text-sm [&_.cbfl]:font-medium [&_.cbft]:text-sm [&>div:last-of-type]:pl-[calc(var(--chekbox-sm)+--spacing(2))] [&_p:last-of-type]:text-sm\",\n      md: \"[&_.cbfl]:text-md [&_.cbfl]:font-medium [&_.cbft]:text-sm [&>div:last-of-type]:pl-[calc(var(--chekbox-md)+--spacing(2))] [&_p:last-of-type]:text-md\",\n      lg: \"[&_.cbfl]:text-lg [&_.cbfl]:font-medium [&_.cbft]:text-sm [&>div:last-of-type]:pl-[calc(var(--chekbox-lg)+--spacing(2))] [&_p:last-of-type]:text-lg\",\n    },\n  },\n  defaultVariants: {\n    appearance: \"default\",\n    size: \"sm\",\n  },\n});\n\nexport type CheckBoxFieldProps = Omit<CheckBoxProps, \"appearance\"> & {\n  label: string;\n  description?: string | ReactNode;\n  containerClassName?: string;\n  error?: string;\n  showError?: boolean;\n} & VariantProps<typeof checkboxFieldVariants> & {\n    checkboxAppearance?: CheckBoxProps[\"appearance\"];\n  };\n\nexport function CheckboxField({\n  id,\n  label,\n  size,\n  description,\n  appearance,\n  containerClassName,\n  checkboxAppearance,\n  showError = false,\n  error,\n  ...props\n}: CheckBoxFieldProps) {\n  if (checkboxAppearance === \"box\") {\n    return (\n      <CheckBox\n        name={id}\n        id={id}\n        size={size}\n        appearance={checkboxAppearance}\n        {...props}\n      >\n        {label}\n      </CheckBox>\n    );\n  }\n  return (\n    <Field\n      className={twMerge(\n        checkboxFieldVariants({ size, appearance }),\n        containerClassName\n      )}\n    >\n      <div>\n        <CheckBox\n          name={id}\n          id={id}\n          size={size}\n          appearance={checkboxAppearance}\n          {...props}\n        />\n        <HLabel as={Label} className=\"cbfl\" htmlFor={id}>\n          {label}\n        </HLabel>\n      </div>\n      <div>\n        {showError && !!error ? (\n          <Typography className=\"bg-danger\">{error}</Typography>\n        ) : (\n          <Typography className=\"leading-none\">{description}</Typography>\n        )}\n      </div>\n    </Field>\n  );\n}\n\nexport type FormCheckBoxFieldProps = CheckBoxFieldProps & {\n  name: string;\n  controller?: Pick<\n    ControllerProps,\n    \"defaultValue\" | \"disabled\" | \"rules\" | \"shouldUnregister\"\n  >;\n};\n\nexport function FormCheckBoxField({\n  name,\n  controller,\n  ...props\n}: FormCheckBoxFieldProps) {\n  return (\n    <Controller\n      name={name}\n      {...controller}\n      render={({ field, fieldState }) => {\n        return (\n          <CheckboxField\n            {...props}\n            {...field}\n            checked={field.value}\n            error={fieldState.error?.message}\n          />\n        );\n      }}\n    />\n  );\n}\n"]}