{"version":3,"file":"RangeWidget.cjs","sources":["../../src/widgets/RangeWidget.tsx"],"sourcesContent":["import { Input, Slider } from '@mantine/core';\nimport { FormContextType, RJSFSchema, StrictRJSFSchema, WidgetProps, getInputProps, labelValue } from '@rjsf/utils';\nimport { useCallback } from 'react';\nimport { createErrors } from '../utils/createErrors';\nimport { useFieldContext } from '../templates/FieldTemplate';\n\n/** The `RangeWidget` component uses the `BaseInputTemplate` changing the type to `range` and wrapping the result\n * in a div, with the value along side it.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function RangeWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n  props: WidgetProps<T, S, F>,\n) {\n  const {\n    id,\n    label,\n    hideLabel,\n    value,\n    required,\n    readonly,\n    disabled,\n    onChange,\n    onChangeOverride,\n    onBlur,\n    autofocus,\n    options,\n    schema,\n    type,\n    rawErrors,\n    hideError,\n  } = props;\n\n  if (!id) {\n    console.log('No id for', props);\n    throw new Error(`no id for props ${JSON.stringify(props)}`);\n  }\n\n  const inputProps = getInputProps<T, S, F>(schema, type, options);\n\n  const _onChange = useCallback(\n    (value: number) => onChange(value === 0 ? options.emptyValue : value),\n    [onChange, options],\n  );\n  const _onBlur = useCallback((value: number) => onBlur(id, value), [onBlur, id]);\n\n  const { description } = useFieldContext();\n  return (\n    <Input.Wrapper\n      label={labelValue(label, hideLabel)}\n      description={description}\n      id={id}\n      error={createErrors<T>(rawErrors, hideError)}\n      required={required}\n      className='armt-widget-range'\n    >\n      <Slider\n        disabled={disabled || readonly}\n        autoFocus={autofocus}\n        value={value}\n        onChange={onChangeOverride || _onChange}\n        onChangeEnd={_onBlur}\n        {...inputProps}\n        step={inputProps.step === 'any' ? undefined : inputProps.step}\n      />\n    </Input.Wrapper>\n  );\n}\n"],"names":["getInputProps","useCallback","useFieldContext","jsx","Input","labelValue","createErrors","Slider"],"mappings":";;;;;;;;;;;AAOe,SAAS,WAAW,CAAC,KAAK,EAAE;AAC3C,EAAE,MAAM;AACR,IAAI,EAAE;AACN,IAAI,KAAK;AACT,IAAI,SAAS;AACb,IAAI,KAAK;AACT,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,QAAQ;AACZ,IAAI,gBAAgB;AACpB,IAAI,MAAM;AACV,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,IAAI;AACR,IAAI,SAAS;AACb,IAAI,SAAS;AACb,GAAG,GAAG,KAAK,CAAC;AACZ,EAAE,IAAI,CAAC,EAAE,EAAE;AACX,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;AACpC,IAAI,MAAM,IAAI,KAAK,CAAC,CAAC,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,GAAG;AACH,EAAE,MAAM,UAAU,GAAGA,mBAAa,CAAC,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAC1D,EAAE,MAAM,SAAS,GAAGC,iBAAW;AAC/B,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,KAAK,CAAC,GAAG,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC;AACpE,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC;AACvB,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,GAAGA,iBAAW,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AAC5E,EAAE,MAAM,EAAE,WAAW,EAAE,GAAGC,6BAAe,EAAE,CAAC;AAC5C,EAAE,uBAAuBC,cAAG;AAC5B,IAAIC,UAAK,CAAC,OAAO;AACjB,IAAI;AACJ,MAAM,KAAK,EAAEC,gBAAU,CAAC,KAAK,EAAE,SAAS,CAAC;AACzC,MAAM,WAAW;AACjB,MAAM,EAAE;AACR,MAAM,KAAK,EAAEC,yBAAY,CAAC,SAAS,EAAE,SAAS,CAAC;AAC/C,MAAM,QAAQ;AACd,MAAM,SAAS,EAAE,mBAAmB;AACpC,MAAM,QAAQ,kBAAkBH,cAAG;AACnC,QAAQI,WAAM;AACd,QAAQ;AACR,UAAU,QAAQ,EAAE,QAAQ,IAAI,QAAQ;AACxC,UAAU,SAAS,EAAE,SAAS;AAC9B,UAAU,KAAK;AACf,UAAU,QAAQ,EAAE,gBAAgB,IAAI,SAAS;AACjD,UAAU,WAAW,EAAE,OAAO;AAC9B,UAAU,GAAG,UAAU;AACvB,UAAU,IAAI,EAAE,UAAU,CAAC,IAAI,KAAK,KAAK,GAAG,KAAK,CAAC,GAAG,UAAU,CAAC,IAAI;AACpE,SAAS;AACT,OAAO;AACP,KAAK;AACL,GAAG,CAAC;AACJ;;;;"}