{"version":3,"file":"UpDownWidget.mjs","sources":["../../src/widgets/UpDownWidget.tsx"],"sourcesContent":["import { NumberInput } from '@mantine/core';\nimport {\n  FormContextType,\n  RJSFSchema,\n  StrictRJSFSchema,\n  WidgetProps,\n  ariaDescribedByIds,\n  labelValue,\n} from '@rjsf/utils';\nimport { FocusEvent, useCallback } from 'react';\nimport { createErrors } from '../utils/createErrors';\nimport { useFieldContext } from '../templates/FieldTemplate';\n\n/** The `UpDownWidget` component uses the `BaseInputTemplate` changing the type to `number`.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function UpDownWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n  props: WidgetProps<T, S, F>,\n) {\n  const {\n    id,\n    placeholder,\n    label,\n    hideLabel,\n    value,\n    required,\n    readonly,\n    disabled,\n    onChange,\n    onChangeOverride,\n    onBlur,\n    onFocus,\n    autofocus,\n    options,\n    schema,\n    rawErrors,\n    className,\n    hideError,\n  } = props;\n\n  // Note: since React 15.2.0 we can't forward unknown element attributes, so we\n  // exclude the \"options\" and \"schema\" ones here.\n  if (!id) {\n    console.log('No id for', props);\n    throw new Error(`no id for props ${JSON.stringify(props)}`);\n  }\n\n  // Mantine NumberInput have many customizations such as suffix, decimal scale, thousands separator, etc.\n  const overrideProps = typeof options['props'] === 'object' ? options['props'] : {};\n\n  const _onChange = useCallback(\n    (e: number) => {\n      const callTarget = onChangeOverride || onChange;\n      callTarget(e);\n    },\n    [onChangeOverride, onChange],\n  );\n\n  const _onBlur = useCallback(({ target: { value } }: FocusEvent<HTMLInputElement>) => onBlur(id, value), [onBlur, id]);\n  const _onFocus = useCallback(\n    ({ target: { value } }: FocusEvent<HTMLInputElement>) => onFocus(id, value),\n    [onFocus, id],\n  );\n\n  const { description } = useFieldContext();\n\n  const inputValue = value || value === 0 ? value : '';\n  return (\n    <NumberInput\n      key={id}\n      id={id}\n      placeholder={placeholder}\n      description={description}\n      max={schema.maximum}\n      min={schema.minimum}\n      label={labelValue(label, hideLabel, undefined)}\n      required={required}\n      autoFocus={autofocus}\n      disabled={disabled || readonly}\n      value={inputValue}\n      error={createErrors<T>(rawErrors, hideError)}\n      onChange={_onChange}\n      onBlur={_onBlur}\n      onFocus={_onFocus}\n      aria-describedby={ariaDescribedByIds<T>(id, !!schema.examples)}\n      className={`armt-widget-updown ${className || ''}`}\n      {...overrideProps}\n    />\n  );\n}\n"],"names":[],"mappings":";;;;;;;AAUe,SAAS,YAAY,CAAC,KAAK,EAAE;AAC5C,EAAE,MAAM;AACR,IAAI,EAAE;AACN,IAAI,WAAW;AACf,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,OAAO;AACX,IAAI,SAAS;AACb,IAAI,OAAO;AACX,IAAI,MAAM;AACV,IAAI,SAAS;AACb,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,aAAa,GAAG,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;AACrF,EAAE,MAAM,SAAS,GAAG,WAAW;AAC/B,IAAI,CAAC,CAAC,KAAK;AACX,MAAM,MAAM,UAAU,GAAG,gBAAgB,IAAI,QAAQ,CAAC;AACtD,MAAM,UAAU,CAAC,CAAC,CAAC,CAAC;AACpB,KAAK;AACL,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC;AAChC,GAAG,CAAC;AACJ,EAAE,MAAM,OAAO,GAAG,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;AACnG,EAAE,MAAM,QAAQ,GAAG,WAAW;AAC9B,IAAI,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,MAAM,CAAC;AAC1D,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;AACjB,GAAG,CAAC;AACJ,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,eAAe,EAAE,CAAC;AAC5C,EAAE,MAAM,UAAU,GAAG,KAAK,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,EAAE,CAAC;AACvD,EAAE,uBAAuB,GAAG;AAC5B,IAAI,WAAW;AACf,IAAI;AACJ,MAAM,EAAE;AACR,MAAM,WAAW;AACjB,MAAM,WAAW;AACjB,MAAM,GAAG,EAAE,MAAM,CAAC,OAAO;AACzB,MAAM,GAAG,EAAE,MAAM,CAAC,OAAO;AACzB,MAAM,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;AACjD,MAAM,QAAQ;AACd,MAAM,SAAS,EAAE,SAAS;AAC1B,MAAM,QAAQ,EAAE,QAAQ,IAAI,QAAQ;AACpC,MAAM,KAAK,EAAE,UAAU;AACvB,MAAM,KAAK,EAAE,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC;AAC/C,MAAM,QAAQ,EAAE,SAAS;AACzB,MAAM,MAAM,EAAE,OAAO;AACrB,MAAM,OAAO,EAAE,QAAQ;AACvB,MAAM,kBAAkB,EAAE,kBAAkB,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;AACnE,MAAM,SAAS,EAAE,CAAC,mBAAmB,EAAE,SAAS,IAAI,EAAE,CAAC,CAAC;AACxD,MAAM,GAAG,aAAa;AACtB,KAAK;AACL,IAAI,EAAE;AACN,GAAG,CAAC;AACJ;;;;"}