{"version":3,"file":"SliderWithInput.mjs","names":["Flexbox","InputNumber"],"sources":["../../src/SliderWithInput/SliderWithInput.tsx"],"sourcesContent":["'use client';\n\nimport { Slider } from 'antd';\nimport { isNull } from 'es-toolkit/compat';\nimport { memo } from 'react';\n\nimport { Flexbox } from '@/Flex';\nimport InputNumber from '@/Input/InputNumber';\n\nimport type { SliderWithInputProps } from './type';\n\nconst SliderWithInput = memo<SliderWithInputProps>(\n  ({\n    step,\n    value,\n    onChange,\n    max,\n    min,\n    defaultValue,\n    size,\n    controls,\n    gap = 16,\n    style,\n    className,\n    classNames,\n    styles,\n    disabled,\n    unlimitedInput = false,\n    changeOnWheel,\n    ...rest\n  }) => {\n    const handleOnchange = (value: number | null) => {\n      if (Number.isNaN(value) || isNull(value)) return;\n      onChange?.(value);\n    };\n\n    const { slider: sliderClassName, input: inputClassName, ...restClassNames } = classNames || {};\n    const { slider: sliderStyle, input: inputStyle, ...restStyles } = styles || {};\n\n    return (\n      <Flexbox\n        align={'center'}\n        className={className}\n        direction={'horizontal'}\n        gap={gap}\n        style={style}\n      >\n        <Slider\n          className={sliderClassName}\n          classNames={restClassNames}\n          defaultValue={defaultValue}\n          disabled={disabled}\n          max={max}\n          min={min}\n          step={step}\n          style={{ flex: 1, margin: size === 'small' ? 0 : undefined, ...sliderStyle }}\n          styles={restStyles}\n          tooltip={{ open: false }}\n          value={typeof value === 'number' ? value : 0}\n          onChange={handleOnchange}\n          {...rest}\n        />\n        <InputNumber\n          changeOnWheel={changeOnWheel}\n          className={inputClassName}\n          controls={size !== 'small' || controls}\n          defaultValue={defaultValue}\n          disabled={disabled}\n          max={unlimitedInput ? undefined : max}\n          min={min}\n          size={size}\n          step={Number.isNaN(step) || isNull(step) ? undefined : step}\n          style={{ flex: 1, maxWidth: size === 'small' ? 40 : 64, ...inputStyle }}\n          value={typeof value === 'number' ? value : 0}\n          onChange={(v) => handleOnchange(Number(v))}\n        />\n      </Flexbox>\n    );\n  },\n);\n\nSliderWithInput.displayName = 'SliderWithInput';\n\nexport default SliderWithInput;\n"],"mappings":";;;;;;;;AAWA,MAAM,kBAAkB,MACrB,EACC,MACA,OACA,UACA,KACA,KACA,cACA,MACA,UACA,MAAM,IACN,OACA,WACA,YACA,QACA,UACA,iBAAiB,OACjB,eACA,GAAG,WACC;CACJ,MAAM,kBAAkB,UAAyB;AAC/C,MAAI,OAAO,MAAM,MAAM,IAAI,OAAO,MAAM,CAAE;AAC1C,aAAW,MAAM;;CAGnB,MAAM,EAAE,QAAQ,iBAAiB,OAAO,gBAAgB,GAAG,mBAAmB,cAAc,EAAE;CAC9F,MAAM,EAAE,QAAQ,aAAa,OAAO,YAAY,GAAG,eAAe,UAAU,EAAE;AAE9E,QACE,qBAACA,mBAAD;EACE,OAAO;EACI;EACX,WAAW;EACN;EACE;YALT,CAOE,oBAAC,QAAD;GACE,WAAW;GACX,YAAY;GACE;GACJ;GACL;GACA;GACC;GACN,OAAO;IAAE,MAAM;IAAG,QAAQ,SAAS,UAAU,IAAI,KAAA;IAAW,GAAG;IAAa;GAC5E,QAAQ;GACR,SAAS,EAAE,MAAM,OAAO;GACxB,OAAO,OAAO,UAAU,WAAW,QAAQ;GAC3C,UAAU;GACV,GAAI;GACJ,CAAA,EACF,oBAACC,eAAD;GACiB;GACf,WAAW;GACX,UAAU,SAAS,WAAW;GAChB;GACJ;GACV,KAAK,iBAAiB,KAAA,IAAY;GAC7B;GACC;GACN,MAAM,OAAO,MAAM,KAAK,IAAI,OAAO,KAAK,GAAG,KAAA,IAAY;GACvD,OAAO;IAAE,MAAM;IAAG,UAAU,SAAS,UAAU,KAAK;IAAI,GAAG;IAAY;GACvE,OAAO,OAAO,UAAU,WAAW,QAAQ;GAC3C,WAAW,MAAM,eAAe,OAAO,EAAE,CAAC;GAC1C,CAAA,CACM;;EAGf;AAED,gBAAgB,cAAc"}