{"version":3,"file":"slider.cjs","sources":["../../src/form-controls/slider.ts"],"sourcesContent":["import { hyperStyled } from \"@macrostrat/hyper\";\nimport { useState, useEffect } from \"react\";\nimport { Button, Slider, Intent, SliderProps } from \"@blueprintjs/core\";\n\nimport classNames from \"classnames\";\nimport styles from \"./main.module.sass\";\n\nconst h = hyperStyled(styles);\n\nexport const ControlledSlider = (props: SliderProps) => {\n  const [value, setValue] = useState<number>(props.value);\n  const onChange = (v) => {\n    (setValue(v), props.onChange?.(v));\n  };\n  useEffect(() => setValue(props.value), [props.value]);\n\n  return h(Slider, { ...props, onChange, value });\n};\n\nexport const NullableSlider = (props: SliderProps) => {\n  let { value, showTrackFill, className, ...rest } = props;\n  if (value == null) {\n    value = rest.min ?? 0;\n    showTrackFill = false;\n    className = classNames(className, \"slider-disabled\");\n  }\n\n  const handleChange = props.onRelease ?? props.onChange;\n  const onClick = () => handleChange?.(null);\n\n  return h(\"div.nullable-slider\", [\n    h(ControlledSlider, { ...rest, className, value, showTrackFill }),\n    h(\"div.controls\", [\n      h(Button, {\n        minimal: true,\n        onClick,\n        small: true,\n        icon: \"cross\",\n        disabled: props.value == null,\n        intent: props.value == null ? null : Intent.DANGER,\n      }),\n    ]),\n  ]);\n};\n"],"names":["hyperStyled","styles","useState","useEffect","Slider","classNames","Button","Intent"],"mappings":";;;;;;;;;AAOA,MAAM,IAAIA,IAAAA,YAAYC,mBAAM;AAErB,MAAM,mBAAmB,CAAC,UAAuB;AACtD,QAAM,CAAC,OAAO,QAAQ,IAAIC,MAAAA,SAAiB,MAAM,KAAK;AACtD,QAAM,WAAW,CAAC,MAAM;AACrB,aAAS,CAAC,GAAG,MAAM,WAAW,CAAC;AAAA,EAClC;AACAC,QAAAA,UAAU,MAAM,SAAS,MAAM,KAAK,GAAG,CAAC,MAAM,KAAK,CAAC;AAEpD,SAAO,EAAEC,KAAAA,QAAQ,EAAE,GAAG,OAAO,UAAU,OAAO;AAChD;AAEO,MAAM,iBAAiB,CAAC,UAAuB;AACpD,MAAI,EAAE,OAAO,eAAe,WAAW,GAAG,SAAS;AACnD,MAAI,SAAS,MAAM;AACjB,YAAQ,KAAK,OAAO;AACpB,oBAAgB;AAChB,gBAAYC,oBAAAA,QAAW,WAAW,iBAAiB;AAAA,EACrD;AAEA,QAAM,eAAe,MAAM,aAAa,MAAM;AAC9C,QAAM,UAAU,MAAM,eAAe,IAAI;AAEzC,SAAO,EAAE,uBAAuB;AAAA,IAC9B,EAAE,kBAAkB,EAAE,GAAG,MAAM,WAAW,OAAO,eAAe;AAAA,IAChE,EAAE,gBAAgB;AAAA,MAChB,EAAEC,KAAAA,QAAQ;AAAA,QACR,SAAS;AAAA,QACT;AAAA,QACA,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU,MAAM,SAAS;AAAA,QACzB,QAAQ,MAAM,SAAS,OAAO,OAAOC,KAAAA,OAAO;AAAA,MAAA,CAC7C;AAAA,IAAA,CACF;AAAA,EAAA,CACF;AACH;;;"}