{"ast":null,"code":"\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n  var t = {};\n  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n    if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n  }\n  return t;\n};\nimport React, { useContext } from 'react';\nimport RcColorPicker from '@rc-component/color-picker';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { useForceUpdate } from '../../../_util/hooks';\nimport Segmented from '../../../segmented';\nimport { AggregationColor } from '../../color';\nimport { PanelPickerContext } from '../../context';\nimport { genAlphaColor, generateColor } from '../../util';\nimport ColorClear from '../ColorClear';\nimport ColorInput from '../ColorInput';\nimport ColorSlider from '../ColorSlider';\nimport GradientColorBar from './GradientColorBar';\nconst components = {\n  slider: ColorSlider\n};\nconst PanelPicker = () => {\n  const panelPickerContext = useContext(PanelPickerContext);\n  const {\n      mode,\n      onModeChange,\n      modeOptions,\n      prefixCls,\n      allowClear,\n      value,\n      disabledAlpha,\n      onChange,\n      onClear,\n      onChangeComplete,\n      activeIndex,\n      gradientDragging\n    } = panelPickerContext,\n    injectProps = __rest(panelPickerContext, [\"mode\", \"onModeChange\", \"modeOptions\", \"prefixCls\", \"allowClear\", \"value\", \"disabledAlpha\", \"onChange\", \"onClear\", \"onChangeComplete\", \"activeIndex\", \"gradientDragging\"]);\n  // ============================ Colors ============================\n  const colors = React.useMemo(() => {\n    if (!value.cleared) {\n      return value.getColors();\n    }\n    return [{\n      percent: 0,\n      color: new AggregationColor('')\n    }, {\n      percent: 100,\n      color: new AggregationColor('')\n    }];\n  }, [value]);\n  // ========================= Single Color =========================\n  const isSingle = !value.isGradient();\n  // We cache the point color in case user drag the gradient point across another one\n  const [lockedColor, setLockedColor] = React.useState(value);\n  // Use layout effect here since `useEffect` will cause a blink when mouseDown\n  useLayoutEffect(() => {\n    var _a;\n    if (!isSingle) {\n      setLockedColor((_a = colors[activeIndex]) === null || _a === void 0 ? void 0 : _a.color);\n    }\n  }, [isSingle, colors, gradientDragging, activeIndex]);\n  const activeColor = React.useMemo(() => {\n    var _a;\n    if (isSingle) {\n      return value;\n    }\n    // Use cache when dragging. User can not operation panel when dragging.\n    if (gradientDragging) {\n      return lockedColor;\n    }\n    return (_a = colors[activeIndex]) === null || _a === void 0 ? void 0 : _a.color;\n  }, [colors, value, activeIndex, isSingle, lockedColor, gradientDragging]);\n  // ========================= Picker Color =========================\n  const [pickerColor, setPickerColor] = React.useState(activeColor);\n  const [forceSync, setForceSync] = useForceUpdate();\n  const mergedPickerColor = (pickerColor === null || pickerColor === void 0 ? void 0 : pickerColor.equals(activeColor)) ? activeColor : pickerColor;\n  useLayoutEffect(() => {\n    setPickerColor(activeColor);\n  }, [forceSync, activeColor === null || activeColor === void 0 ? void 0 : activeColor.toHexString()]);\n  // ============================ Change ============================\n  const fillColor = (nextColor, info) => {\n    let submitColor = generateColor(nextColor);\n    // Fill alpha color to 100% if origin is cleared color\n    if (value.cleared) {\n      const rgb = submitColor.toRgb();\n      // Auto fill color if origin is `0/0/0` to enhance user experience\n      if (!rgb.r && !rgb.g && !rgb.b && info) {\n        const {\n          type: infoType,\n          value: infoValue = 0\n        } = info;\n        submitColor = new AggregationColor({\n          h: infoType === 'hue' ? infoValue : 0,\n          s: 1,\n          b: 1,\n          a: infoType === 'alpha' ? infoValue / 100 : 1\n        });\n      } else {\n        submitColor = genAlphaColor(submitColor);\n      }\n    }\n    if (mode === 'single') {\n      return submitColor;\n    }\n    const nextColors = _toConsumableArray(colors);\n    nextColors[activeIndex] = Object.assign(Object.assign({}, nextColors[activeIndex]), {\n      color: submitColor\n    });\n    return new AggregationColor(nextColors);\n  };\n  const onPickerChange = (colorValue, fromPicker, info) => {\n    const nextColor = fillColor(colorValue, info);\n    setPickerColor(nextColor.isGradient() ? nextColor.getColors()[activeIndex].color : nextColor);\n    onChange(nextColor, fromPicker);\n  };\n  const onInternalChangeComplete = (nextColor, info) => {\n    // Trigger complete event\n    onChangeComplete(fillColor(nextColor, info));\n    // Back of origin color in case in controlled\n    // This will set after `onChangeComplete` to avoid `setState` trigger rerender\n    // which will make `fillColor` get wrong `color.cleared` state\n    setForceSync();\n  };\n  const onInputChange = colorValue => {\n    onChange(fillColor(colorValue));\n  };\n  // ============================ Render ============================\n  // Operation bar\n  let operationNode = null;\n  const showMode = modeOptions.length > 1;\n  if (allowClear || showMode) {\n    operationNode = /*#__PURE__*/React.createElement(\"div\", {\n      className: `${prefixCls}-operation`\n    }, showMode && (/*#__PURE__*/React.createElement(Segmented, {\n      size: \"small\",\n      options: modeOptions,\n      value: mode,\n      onChange: onModeChange\n    })), /*#__PURE__*/React.createElement(ColorClear, Object.assign({\n      prefixCls: prefixCls,\n      value: value,\n      onChange: clearColor => {\n        onChange(clearColor);\n        onClear === null || onClear === void 0 ? void 0 : onClear();\n      }\n    }, injectProps)));\n  }\n  // Return\n  return /*#__PURE__*/React.createElement(React.Fragment, null, operationNode, /*#__PURE__*/React.createElement(GradientColorBar, Object.assign({}, panelPickerContext, {\n    colors: colors\n  })), /*#__PURE__*/React.createElement(RcColorPicker, {\n    prefixCls: prefixCls,\n    value: mergedPickerColor === null || mergedPickerColor === void 0 ? void 0 : mergedPickerColor.toHsb(),\n    disabledAlpha: disabledAlpha,\n    onChange: (colorValue, info) => {\n      onPickerChange(colorValue, true, info);\n    },\n    onChangeComplete: (colorValue, info) => {\n      onInternalChangeComplete(colorValue, info);\n    },\n    components: components\n  }), /*#__PURE__*/React.createElement(ColorInput, Object.assign({\n    value: activeColor,\n    onChange: onInputChange,\n    prefixCls: prefixCls,\n    disabledAlpha: disabledAlpha\n  }, injectProps)));\n};\nexport default PanelPicker;","map":{"version":3,"names":["_toConsumableArray","__rest","s","e","t","p","Object","prototype","hasOwnProperty","call","indexOf","getOwnPropertySymbols","i","length","propertyIsEnumerable","React","useContext","RcColorPicker","useLayoutEffect","useForceUpdate","Segmented","AggregationColor","PanelPickerContext","genAlphaColor","generateColor","ColorClear","ColorInput","ColorSlider","GradientColorBar","components","slider","PanelPicker","panelPickerContext","mode","onModeChange","modeOptions","prefixCls","allowClear","value","disabledAlpha","onChange","onClear","onChangeComplete","activeIndex","gradientDragging","injectProps","colors","useMemo","cleared","getColors","percent","color","isSingle","isGradient","lockedColor","setLockedColor","useState","_a","activeColor","pickerColor","setPickerColor","forceSync","setForceSync","mergedPickerColor","equals","toHexString","fillColor","nextColor","info","submitColor","rgb","toRgb","r","g","b","type","infoType","infoValue","h","a","nextColors","assign","onPickerChange","colorValue","fromPicker","onInternalChangeComplete","onInputChange","operationNode","showMode","createElement","className","size","options","clearColor","Fragment","toHsb"],"sources":["/Users/nili/Documents/trae_projects/client/node_modules/antd/es/color-picker/components/PanelPicker/index.js"],"sourcesContent":["\"use client\";\n\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n  var t = {};\n  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n  if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n    if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n  }\n  return t;\n};\nimport React, { useContext } from 'react';\nimport RcColorPicker from '@rc-component/color-picker';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport { useForceUpdate } from '../../../_util/hooks';\nimport Segmented from '../../../segmented';\nimport { AggregationColor } from '../../color';\nimport { PanelPickerContext } from '../../context';\nimport { genAlphaColor, generateColor } from '../../util';\nimport ColorClear from '../ColorClear';\nimport ColorInput from '../ColorInput';\nimport ColorSlider from '../ColorSlider';\nimport GradientColorBar from './GradientColorBar';\nconst components = {\n  slider: ColorSlider\n};\nconst PanelPicker = () => {\n  const panelPickerContext = useContext(PanelPickerContext);\n  const {\n      mode,\n      onModeChange,\n      modeOptions,\n      prefixCls,\n      allowClear,\n      value,\n      disabledAlpha,\n      onChange,\n      onClear,\n      onChangeComplete,\n      activeIndex,\n      gradientDragging\n    } = panelPickerContext,\n    injectProps = __rest(panelPickerContext, [\"mode\", \"onModeChange\", \"modeOptions\", \"prefixCls\", \"allowClear\", \"value\", \"disabledAlpha\", \"onChange\", \"onClear\", \"onChangeComplete\", \"activeIndex\", \"gradientDragging\"]);\n  // ============================ Colors ============================\n  const colors = React.useMemo(() => {\n    if (!value.cleared) {\n      return value.getColors();\n    }\n    return [{\n      percent: 0,\n      color: new AggregationColor('')\n    }, {\n      percent: 100,\n      color: new AggregationColor('')\n    }];\n  }, [value]);\n  // ========================= Single Color =========================\n  const isSingle = !value.isGradient();\n  // We cache the point color in case user drag the gradient point across another one\n  const [lockedColor, setLockedColor] = React.useState(value);\n  // Use layout effect here since `useEffect` will cause a blink when mouseDown\n  useLayoutEffect(() => {\n    var _a;\n    if (!isSingle) {\n      setLockedColor((_a = colors[activeIndex]) === null || _a === void 0 ? void 0 : _a.color);\n    }\n  }, [isSingle, colors, gradientDragging, activeIndex]);\n  const activeColor = React.useMemo(() => {\n    var _a;\n    if (isSingle) {\n      return value;\n    }\n    // Use cache when dragging. User can not operation panel when dragging.\n    if (gradientDragging) {\n      return lockedColor;\n    }\n    return (_a = colors[activeIndex]) === null || _a === void 0 ? void 0 : _a.color;\n  }, [colors, value, activeIndex, isSingle, lockedColor, gradientDragging]);\n  // ========================= Picker Color =========================\n  const [pickerColor, setPickerColor] = React.useState(activeColor);\n  const [forceSync, setForceSync] = useForceUpdate();\n  const mergedPickerColor = (pickerColor === null || pickerColor === void 0 ? void 0 : pickerColor.equals(activeColor)) ? activeColor : pickerColor;\n  useLayoutEffect(() => {\n    setPickerColor(activeColor);\n  }, [forceSync, activeColor === null || activeColor === void 0 ? void 0 : activeColor.toHexString()]);\n  // ============================ Change ============================\n  const fillColor = (nextColor, info) => {\n    let submitColor = generateColor(nextColor);\n    // Fill alpha color to 100% if origin is cleared color\n    if (value.cleared) {\n      const rgb = submitColor.toRgb();\n      // Auto fill color if origin is `0/0/0` to enhance user experience\n      if (!rgb.r && !rgb.g && !rgb.b && info) {\n        const {\n          type: infoType,\n          value: infoValue = 0\n        } = info;\n        submitColor = new AggregationColor({\n          h: infoType === 'hue' ? infoValue : 0,\n          s: 1,\n          b: 1,\n          a: infoType === 'alpha' ? infoValue / 100 : 1\n        });\n      } else {\n        submitColor = genAlphaColor(submitColor);\n      }\n    }\n    if (mode === 'single') {\n      return submitColor;\n    }\n    const nextColors = _toConsumableArray(colors);\n    nextColors[activeIndex] = Object.assign(Object.assign({}, nextColors[activeIndex]), {\n      color: submitColor\n    });\n    return new AggregationColor(nextColors);\n  };\n  const onPickerChange = (colorValue, fromPicker, info) => {\n    const nextColor = fillColor(colorValue, info);\n    setPickerColor(nextColor.isGradient() ? nextColor.getColors()[activeIndex].color : nextColor);\n    onChange(nextColor, fromPicker);\n  };\n  const onInternalChangeComplete = (nextColor, info) => {\n    // Trigger complete event\n    onChangeComplete(fillColor(nextColor, info));\n    // Back of origin color in case in controlled\n    // This will set after `onChangeComplete` to avoid `setState` trigger rerender\n    // which will make `fillColor` get wrong `color.cleared` state\n    setForceSync();\n  };\n  const onInputChange = colorValue => {\n    onChange(fillColor(colorValue));\n  };\n  // ============================ Render ============================\n  // Operation bar\n  let operationNode = null;\n  const showMode = modeOptions.length > 1;\n  if (allowClear || showMode) {\n    operationNode = /*#__PURE__*/React.createElement(\"div\", {\n      className: `${prefixCls}-operation`\n    }, showMode && (/*#__PURE__*/React.createElement(Segmented, {\n      size: \"small\",\n      options: modeOptions,\n      value: mode,\n      onChange: onModeChange\n    })), /*#__PURE__*/React.createElement(ColorClear, Object.assign({\n      prefixCls: prefixCls,\n      value: value,\n      onChange: clearColor => {\n        onChange(clearColor);\n        onClear === null || onClear === void 0 ? void 0 : onClear();\n      }\n    }, injectProps)));\n  }\n  // Return\n  return /*#__PURE__*/React.createElement(React.Fragment, null, operationNode, /*#__PURE__*/React.createElement(GradientColorBar, Object.assign({}, panelPickerContext, {\n    colors: colors\n  })), /*#__PURE__*/React.createElement(RcColorPicker, {\n    prefixCls: prefixCls,\n    value: mergedPickerColor === null || mergedPickerColor === void 0 ? void 0 : mergedPickerColor.toHsb(),\n    disabledAlpha: disabledAlpha,\n    onChange: (colorValue, info) => {\n      onPickerChange(colorValue, true, info);\n    },\n    onChangeComplete: (colorValue, info) => {\n      onInternalChangeComplete(colorValue, info);\n    },\n    components: components\n  }), /*#__PURE__*/React.createElement(ColorInput, Object.assign({\n    value: activeColor,\n    onChange: onInputChange,\n    prefixCls: prefixCls,\n    disabledAlpha: disabledAlpha\n  }, injectProps)));\n};\nexport default PanelPicker;"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}