{"version":3,"file":"SliderWithInput.mjs","names":["Flexbox"],"sources":["../../../src/base-ui/Slider/SliderWithInput.tsx"],"sourcesContent":["'use client';\n\nimport { isNull } from 'es-toolkit/compat';\nimport { memo } from 'react';\n\nimport { InputNumber } from '@/base-ui/Input';\nimport { Flexbox } from '@/Flex';\n\nimport Slider from './Slider';\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: customStyles,\n    disabled,\n    unlimitedInput = false,\n    changeOnWheel,\n    shadow,\n    variant,\n    ...rest\n  }) => {\n    const handleChange = (next: number | null) => {\n      if (isNull(next) || Number.isNaN(next)) return;\n      onChange?.(next);\n    };\n\n    const {\n      slider: sliderClassName,\n      input: inputClassName,\n      ...sliderPartClassNames\n    } = classNames || {};\n    const { slider: sliderStyle, input: inputStyle, ...sliderPartStyles } = customStyles || {};\n\n    return (\n      <Flexbox horizontal align={'center'} className={className} gap={gap} style={style}>\n        <Slider\n          className={sliderClassName}\n          classNames={sliderPartClassNames}\n          defaultValue={defaultValue}\n          disabled={disabled}\n          max={max}\n          min={min}\n          step={step}\n          style={{ flex: 1, ...sliderStyle }}\n          styles={sliderPartStyles}\n          value={value}\n          onChange={handleChange}\n          {...rest}\n        />\n        <InputNumber\n          changeOnWheel={changeOnWheel}\n          className={inputClassName}\n          controls={size !== 'small' && controls !== false}\n          defaultValue={defaultValue}\n          disabled={disabled}\n          max={unlimitedInput ? undefined : max}\n          min={min}\n          shadow={shadow}\n          size={size}\n          step={step === undefined || Number.isNaN(step) ? undefined : step}\n          value={value}\n          variant={variant}\n          style={{\n            flex: 'none',\n            width: size === 'small' ? 48 : 88,\n            ...inputStyle,\n          }}\n          onChange={handleChange}\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,QAAQ,cACR,UACA,iBAAiB,OACjB,eACA,QACA,SACA,GAAG,WACC;CACJ,MAAM,gBAAgB,SAAwB;AAC5C,MAAI,OAAO,KAAK,IAAI,OAAO,MAAM,KAAK,CAAE;AACxC,aAAW,KAAK;;CAGlB,MAAM,EACJ,QAAQ,iBACR,OAAO,gBACP,GAAG,yBACD,cAAc,EAAE;CACpB,MAAM,EAAE,QAAQ,aAAa,OAAO,YAAY,GAAG,qBAAqB,gBAAgB,EAAE;AAE1F,QACE,qBAACA,mBAAD;EAAS,YAAA;EAAW,OAAO;EAAqB;EAAgB;EAAY;YAA5E,CACE,oBAAC,QAAD;GACE,WAAW;GACX,YAAY;GACE;GACJ;GACL;GACA;GACC;GACN,OAAO;IAAE,MAAM;IAAG,GAAG;IAAa;GAClC,QAAQ;GACD;GACP,UAAU;GACV,GAAI;GACJ,CAAA,EACF,oBAAC,aAAD;GACiB;GACf,WAAW;GACX,UAAU,SAAS,WAAW,aAAa;GAC7B;GACJ;GACV,KAAK,iBAAiB,KAAA,IAAY;GAC7B;GACG;GACF;GACN,MAAM,SAAS,KAAA,KAAa,OAAO,MAAM,KAAK,GAAG,KAAA,IAAY;GACtD;GACE;GACT,OAAO;IACL,MAAM;IACN,OAAO,SAAS,UAAU,KAAK;IAC/B,GAAG;IACJ;GACD,UAAU;GACV,CAAA,CACM;;EAGf;AAED,gBAAgB,cAAc"}