{"version":3,"file":"index.cjs","sources":["../../../../../../.yarn/__virtual__/@uiw-react-color-saturation-virtual-169eabbf5b/4/.yarn/berry/cache/@uiw-react-color-saturation-npm-2.9.2-7e714926e7-10c0.zip/node_modules/@uiw/react-color-saturation/esm/index.js"],"sourcesContent":["import _extends from \"@babel/runtime/helpers/extends\";\nimport _objectWithoutPropertiesLoose from \"@babel/runtime/helpers/objectWithoutPropertiesLoose\";\nvar _excluded = [\"prefixCls\", \"radius\", \"pointer\", \"className\", \"hue\", \"style\", \"hsva\", \"onChange\"];\nimport React, { useCallback, useMemo } from 'react';\nimport { hsvaToHslaString } from '@uiw/color-convert';\nimport Interactive from '@uiw/react-drag-event-interactive';\nimport { Pointer } from \"./Pointer.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nvar Saturation = /*#__PURE__*/React.forwardRef((props, ref) => {\n  var _hsva$h;\n  var {\n      prefixCls = 'w-color-saturation',\n      radius = 0,\n      pointer,\n      className,\n      hue = 0,\n      style,\n      hsva,\n      onChange\n    } = props,\n    other = _objectWithoutPropertiesLoose(props, _excluded);\n  var containerStyle = _extends({\n    width: 200,\n    height: 200,\n    borderRadius: radius\n  }, style, {\n    position: 'relative'\n  });\n  var handleChange = (interaction, event) => {\n    onChange && hsva && onChange({\n      h: hsva.h,\n      s: interaction.left * 100,\n      v: (1 - interaction.top) * 100,\n      a: hsva.a\n      // source: 'hsv',\n    });\n  };\n  var handleKeyDown = useCallback(event => {\n    if (!hsva || !onChange) return;\n    var step = 1; // 1% step for saturation and value\n    var newS = hsva.s;\n    var newV = hsva.v;\n    var changed = false;\n    switch (event.key) {\n      case 'ArrowLeft':\n        newS = Math.max(0, hsva.s - step);\n        changed = true;\n        event.preventDefault();\n        break;\n      case 'ArrowRight':\n        newS = Math.min(100, hsva.s + step);\n        changed = true;\n        event.preventDefault();\n        break;\n      case 'ArrowUp':\n        newV = Math.min(100, hsva.v + step);\n        changed = true;\n        event.preventDefault();\n        break;\n      case 'ArrowDown':\n        newV = Math.max(0, hsva.v - step);\n        changed = true;\n        event.preventDefault();\n        break;\n      default:\n        return;\n    }\n    if (changed) {\n      onChange({\n        h: hsva.h,\n        s: newS,\n        v: newV,\n        a: hsva.a\n      });\n    }\n  }, [hsva, onChange]);\n  var pointerElement = useMemo(() => {\n    if (!hsva) return null;\n    var comProps = {\n      top: 100 - hsva.v + \"%\",\n      left: hsva.s + \"%\",\n      color: hsvaToHslaString(hsva)\n    };\n    if (pointer && typeof pointer === 'function') {\n      return pointer(_extends({\n        prefixCls\n      }, comProps));\n    }\n    return /*#__PURE__*/_jsx(Pointer, _extends({\n      prefixCls: prefixCls\n    }, comProps));\n  }, [hsva, pointer, prefixCls]);\n  var handleClick = useCallback(event => {\n    event.target.focus();\n  }, []);\n  return /*#__PURE__*/_jsx(Interactive, _extends({\n    className: [prefixCls, className || ''].filter(Boolean).join(' ')\n  }, other, {\n    style: _extends({\n      position: 'absolute',\n      inset: 0,\n      cursor: 'crosshair',\n      backgroundImage: \"linear-gradient(0deg, #000, transparent), linear-gradient(90deg, #fff, hsl(\" + ((_hsva$h = hsva == null ? void 0 : hsva.h) != null ? _hsva$h : hue) + \", 100%, 50%))\"\n    }, containerStyle, {\n      outline: 'none'\n    }),\n    ref: ref,\n    onMove: handleChange,\n    onDown: handleChange,\n    onKeyDown: handleKeyDown,\n    onClick: handleClick,\n    children: pointerElement\n  }));\n});\nSaturation.displayName = 'Saturation';\nexport default Saturation;"],"names":["React","_objectWithoutPropertiesLoose","useCallback","useMemo","hsvaToHslaString","_jsx","Pointer","Interactive"],"mappings":"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","x_google_ignoreList":[0]}