{"version":3,"file":"CheckboxWidget.cjs","sources":["../../src/widgets/CheckboxWidget.tsx"],"sourcesContent":["import {\n  ariaDescribedByIds,\n  labelValue,\n  schemaRequiresTrueValue,\n  FormContextType,\n  RJSFSchema,\n  StrictRJSFSchema,\n  WidgetProps,\n} from '@rjsf/utils';\nimport { ChangeEvent, FocusEvent, useCallback } from 'react';\nimport { Checkbox } from '@mantine/core';\nimport { createErrors } from '../utils/createErrors';\nimport { useFieldContext } from '../templates/FieldTemplate';\n\n/** The `CheckBoxWidget` is a widget for rendering boolean properties.\n *  It is typically used to represent a boolean.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function CheckboxWidget<\n  T = any,\n  S extends StrictRJSFSchema = RJSFSchema,\n  F extends FormContextType = any,\n>(props: WidgetProps<T, S, F>) {\n  const {\n    id,\n    value,\n    disabled,\n    readonly,\n    label = '',\n    hideLabel,\n    autofocus,\n    onChange,\n    onBlur,\n    onFocus,\n    schema,\n    rawErrors,\n    hideError,\n  } = props;\n\n  // Because an unchecked checkbox will cause html5 validation to fail, only add\n  // the \"required\" attribute if the field value must be \"true\", due to the\n  // \"const\" or \"enum\" keywords\n  const required = schemaRequiresTrueValue<S>(schema);\n  const handleChange = useCallback(\n    (event: ChangeEvent<HTMLInputElement>) => onChange(event.target.checked),\n    [onChange],\n  );\n\n  const handleBlur = useCallback(\n    (event: FocusEvent<HTMLInputElement>) => onBlur(id, event.target.checked),\n    [onBlur, id],\n  );\n\n  const handleFocus = useCallback(\n    (event: FocusEvent<HTMLInputElement>) => onFocus(id, event.target.checked),\n    [onFocus, id],\n  );\n\n  const { description } = useFieldContext();\n  return (\n    <Checkbox\n      description={description}\n      id={id}\n      label={labelValue(label, hideLabel)}\n      required={required}\n      disabled={disabled || readonly}\n      autoFocus={autofocus}\n      onChange={handleChange}\n      onBlur={handleBlur}\n      onFocus={handleFocus}\n      error={createErrors<T>(rawErrors, hideError)}\n      aria-describedby={ariaDescribedByIds<T>(id)}\n      checked={typeof value === 'undefined' ? false : value}\n      className='armt-widget-checkbox'\n    />\n  );\n}\n"],"names":["schemaRequiresTrueValue","useCallback","useFieldContext","jsx","Checkbox","labelValue","createErrors","ariaDescribedByIds"],"mappings":";;;;;;;;;;;AAWe,SAAS,cAAc,CAAC,KAAK,EAAE;AAC9C,EAAE,MAAM;AACR,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,KAAK,GAAG,EAAE;AACd,IAAI,SAAS;AACb,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,MAAM;AACV,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,SAAS;AACb,GAAG,GAAG,KAAK,CAAC;AACZ,EAAE,MAAM,QAAQ,GAAGA,6BAAuB,CAAC,MAAM,CAAC,CAAC;AACnD,EAAE,MAAM,YAAY,GAAGC,iBAAW;AAClC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;AAC7C,IAAI,CAAC,QAAQ,CAAC;AACd,GAAG,CAAC;AACJ,EAAE,MAAM,UAAU,GAAGA,iBAAW;AAChC,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;AAC/C,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;AAChB,GAAG,CAAC;AACJ,EAAE,MAAM,WAAW,GAAGA,iBAAW;AACjC,IAAI,CAAC,KAAK,KAAK,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC;AAChD,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;AACjB,GAAG,CAAC;AACJ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAGC,6BAAe,EAAE,CAAC;AAC5C,EAAE,uBAAuBC,cAAG;AAC5B,IAAIC,aAAQ;AACZ,IAAI;AACJ,MAAM,WAAW;AACjB,MAAM,EAAE;AACR,MAAM,KAAK,EAAEC,gBAAU,CAAC,KAAK,EAAE,SAAS,CAAC;AACzC,MAAM,QAAQ;AACd,MAAM,QAAQ,EAAE,QAAQ,IAAI,QAAQ;AACpC,MAAM,SAAS,EAAE,SAAS;AAC1B,MAAM,QAAQ,EAAE,YAAY;AAC5B,MAAM,MAAM,EAAE,UAAU;AACxB,MAAM,OAAO,EAAE,WAAW;AAC1B,MAAM,KAAK,EAAEC,yBAAY,CAAC,SAAS,EAAE,SAAS,CAAC;AAC/C,MAAM,kBAAkB,EAAEC,wBAAkB,CAAC,EAAE,CAAC;AAChD,MAAM,OAAO,EAAE,OAAO,KAAK,KAAK,WAAW,GAAG,KAAK,GAAG,KAAK;AAC3D,MAAM,SAAS,EAAE,sBAAsB;AACvC,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}