{"version":3,"file":"index.mjs","names":["ComponentProps","RefObject","ThemeColor","clsx","ButtonProps","buttonVariants","CheckboxProps","indeterminate","disabled","color","shape","ref","HTMLInputElement","Checkbox","t0","$","_c","children","className","rest","t1","t2","t3","undefined","t4","Symbol","for","t5","t6","t7","t8","t9","t10","CheckboxButtonProps","Omit","variant","size","width","icon","showInput","CheckboxButton","FieldName","useField","Field","FieldProps","Checkbox","Props","Omit","name","checkboxLabel","CheckboxField","t0","$","_c","forcedId","rest","id","field","t1","defaultChecked","t2","errors","FieldName","useField","Field","FieldProps","SelectOption","Checkbox","clsx","Props","Omit","name","options","direction","CheckboxesField","t0","$","_c","className","forcedId","rest","id","field","t1","fieldErrors","Object","values","flat","itemErrors","errors","length","undefined","t2","t3","t4","defaultOptions","t5","option","value","includes","label","map","t6"],"sources":["../../../../src/components/fields/checkbox/Checkbox.tsx","../../../../src/components/fields/checkbox/CheckboxField.tsx","../../../../src/components/fields/checkbox/CheckboxesField.tsx"],"sourcesContent":["import { ComponentProps, RefObject } from \"react\";\nimport { type ThemeColor } from \"../../../types\";\nimport clsx from \"clsx\";\nimport { ButtonProps, buttonVariants } from \"../../button\";\n\nexport interface CheckboxProps extends ComponentProps<\"input\"> {\n  indeterminate?: boolean;\n  disabled?: boolean;\n  color?: ThemeColor;\n  shape?: \"square\" | \"circle\";\n  ref?: RefObject<HTMLInputElement>;\n}\n\nexport function Checkbox({\n  color = \"yellow\",\n  shape = \"square\",\n  indeterminate,\n  disabled = false,\n  className,\n  children,\n  ref,\n  ...rest\n}: CheckboxProps) {\n  return (\n    <label aria-disabled={disabled} className={clsx(\"flex cursor-pointer items-center\")}>\n      <input\n        data-color={color}\n        ref={ref}\n        type=\"checkbox\"\n        className={clsx(\n          \"p8n-input-checkbox\",\n          \"my-1 mr-2 inline-block h-6 w-6 shrink-0 cursor-pointer appearance-none bg-origin-border p-0 outline-offset-0 select-none\",\n          shape === \"square\" ? \"rounded-sm\" : \"rounded-full\",\n          indeterminate && \"indeterminate\",\n          className,\n        )}\n        {...(disabled ? { disabled } : {})}\n        {...rest}\n      />\n      {children}\n    </label>\n  );\n}\n\ninterface CheckboxButtonProps extends Omit<ComponentProps<\"input\">, \"size\"> {\n  disabled?: boolean;\n  color?: ButtonProps[\"color\"];\n  variant?: ButtonProps[\"variant\"];\n  size?: ButtonProps[\"size\"];\n  width?: ButtonProps[\"width\"];\n  icon?: boolean;\n  showInput?: boolean;\n  ref?: RefObject<HTMLInputElement>;\n}\nexport function CheckboxButton({\n  color = \"yellow\",\n  disabled = false,\n  width = \"fit\",\n  size,\n  icon,\n  showInput,\n  variant,\n  className,\n  children,\n  ref,\n  ...rest\n}: CheckboxButtonProps) {\n  return (\n    <label\n      aria-disabled={disabled}\n      className={clsx(\n        className,\n        showInput && \"pr-2 pl-1\",\n        buttonVariants({ variant, size, icon: icon || showInput, width }),\n      )}\n      data-color={color}\n    >\n      <input\n        ref={ref}\n        type=\"checkbox\"\n        className={clsx(\n          showInput\n            ? \"p8n-input-checkbox my-1 mr-2 inline-block h-6 w-6 shrink-0 cursor-pointer appearance-none rounded-2xl bg-origin-border p-0 outline-offset-0 select-none\"\n            : \"h-0 w-0 translate-x-[-9999px] overflow-hidden\",\n          //indeterminate && \"indeterminate\",\n          className,\n        )}\n        {...(disabled ? { disabled } : {})}\n        {...rest}\n      />\n      {children}\n    </label>\n  );\n}\n","import { FieldName, useField } from \"@conform-to/react/future\";\nimport { Field, FieldProps } from \"../field/Field\";\nimport { Checkbox } from \"./Checkbox\";\n\ninterface Props extends Omit<FieldProps, \"children\" | \"group\"> {\n  name: FieldName<boolean | undefined>;\n  checkboxLabel: string;\n}\n\nexport function CheckboxField({ name, checkboxLabel, id: forcedId, ...rest }: Props) {\n  const field = useField(name);\n  const id = forcedId ?? field.id;\n\n  return (\n    <Field id={id} errors={field.errors} data-testid={name} {...rest}>\n      <Checkbox name={field.name} defaultChecked={field.defaultChecked}>\n        {checkboxLabel}\n      </Checkbox>\n    </Field>\n  );\n}\n","import { FieldName, useField } from \"@conform-to/react/future\";\nimport { Field, FieldProps } from \"../field/Field\";\nimport { SelectOption } from \"../select/types\";\nimport { Checkbox } from \"./Checkbox\";\nimport clsx from \"clsx\";\n\ninterface Props extends Omit<FieldProps, \"children\" | \"group\"> {\n  name: FieldName<(string | number)[] | null | undefined>;\n  options: SelectOption[];\n  direction?: \"horizontal\" | \"vertical\";\n}\n\nexport function CheckboxesField({\n  name,\n  options,\n  id: forcedId,\n  direction,\n  className,\n  ...rest\n}: Props) {\n  const field = useField(name);\n  const id = forcedId ?? field.id;\n  const itemErrors = Object.values(field.fieldErrors).flat();\n  const errors = field.errors ?? (itemErrors.length > 0 ? itemErrors : undefined);\n\n  return (\n    <Field id={id} group errors={errors} data-testid={name} {...rest}>\n      <div\n        className={clsx(\n          className,\n          !className &&\n            direction === \"horizontal\" &&\n            \"sm:grid-cols-repeat-fill-160 grid grid-cols-2 gap-x-2 lg:gap-x-4\",\n        )}\n      >\n        {options.map((option) => (\n          <Checkbox\n            key={option.value}\n            name={name}\n            value={option.value}\n            defaultChecked={field.defaultOptions?.includes(option.value)}\n          >\n            {option.label}\n          </Checkbox>\n        ))}\n      </div>\n    </Field>\n  );\n}\n"],"mappings":"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"}