{"version":3,"file":"index.mjs","sources":["../../../src/color-picker/panel/index.tsx"],"sourcesContent":["import { defineComponent, ref, toRefs, watch, computed } from 'vue';\nimport { useCommonClassName, useConfig } from '../../hooks/useConfig';\nimport props from '../props';\nimport {\n  DEFAULT_COLOR,\n  DEFAULT_LINEAR_GRADIENT,\n  TD_COLOR_USED_COLORS_MAX_SIZE,\n  DEFAULT_SYSTEM_SWATCH_COLORS,\n} from '../const';\nimport PanelHeader from './header';\nimport LinearGradient from './linear-gradient';\nimport SaturationPanel from './saturation';\nimport HueSlider from './hue';\nimport AlphaSlider from './alpha';\nimport FormatPanel from './format';\nimport SwatchesPanel from './swatches';\nimport { Color, getColorObject, GradientColorPoint } from '../utils';\nimport { TdColorPickerProps, ColorPickerChangeTrigger } from '../type';\nimport { TdColorModes } from '../interfaces';\nimport { useBaseClassName } from '../hooks';\nimport useVModel from '../../hooks/useVModel';\nimport useDefaultValue from '../../hooks/useDefaultValue';\n\nexport default defineComponent({\n  name: 'ColorPanel',\n  props: {\n    ...props,\n    togglePopup: {\n      type: Function,\n    },\n  },\n\n  setup(props) {\n    const baseClassName = useBaseClassName();\n    const { STATUS } = useCommonClassName();\n    const { t, globalConfig } = useConfig('colorPicker');\n    const statusClassNames = STATUS.value;\n    const { value: inputValue, modelValue, recentColors } = toRefs(props);\n    const [innerValue, setInnerValue] = useVModel(inputValue, modelValue, props.defaultValue, props.onChange);\n\n    const defaultEmptyColor = computed(() => (isGradient.value ? DEFAULT_LINEAR_GRADIENT : DEFAULT_COLOR));\n\n    const mode = ref<TdColorModes>(props.colorModes?.length === 1 ? props.colorModes[0] : 'monochrome');\n    const isGradient = computed(() => mode.value === 'linear-gradient');\n\n    const color = ref<Color>(new Color(innerValue.value || defaultEmptyColor.value));\n    const updateColor = () => color.value.update(innerValue.value || defaultEmptyColor.value);\n\n    const formatModel = ref<TdColorPickerProps['format']>(color.value.isGradient ? 'CSS' : 'RGB');\n\n    const [recentlyUsedColors, setRecentlyUsedColors] = useDefaultValue(\n      recentColors,\n      props.defaultRecentColors,\n      props.onRecentColorsChange,\n      'recentColors',\n    );\n\n    const formatValue = () => {\n      // 渐变模式下直接输出css样式\n      if (mode.value === 'linear-gradient') {\n        return color.value.linearGradient;\n      }\n      return color.value.getFormatsColorMap()[props.format] || color.value.css;\n    };\n\n    /**\n     * 添加最近使用颜色\n     * @returns void\n     */\n    const addRecentlyUsedColor = () => {\n      if (recentlyUsedColors.value === null || recentlyUsedColors.value === false) {\n        return;\n      }\n      const colors = (recentlyUsedColors.value as string[]) || [];\n      const currentColor = color.value.isGradient ? color.value.linearGradient : color.value.rgba;\n      const index = colors.indexOf(currentColor);\n      if (index > -1) {\n        colors.splice(index, 1);\n      }\n      colors.unshift(currentColor);\n      if (colors.length > TD_COLOR_USED_COLORS_MAX_SIZE) {\n        colors.length = TD_COLOR_USED_COLORS_MAX_SIZE;\n      }\n      handleRecentlyUsedColorsChange(colors);\n    };\n\n    /**\n     * 最近使用颜色变更时触发\n     * @param colors\n     */\n    const handleRecentlyUsedColorsChange = (colors: string[]) => {\n      recentlyUsedColors.value = colors;\n      setRecentlyUsedColors(colors);\n    };\n\n    /**\n     * onChange\n     * @param trigger\n     */\n    const emitColorChange = (trigger?: ColorPickerChangeTrigger) => {\n      setInnerValue(formatValue(), {\n        color: getColorObject(color.value),\n        trigger: trigger || 'palette-saturation-brightness',\n      });\n    };\n\n    watch(() => [props.defaultValue, props.enableAlpha], updateColor);\n\n    watch(\n      () => innerValue.value,\n      (newColor) => {\n        if (newColor !== formatValue()) {\n          updateColor();\n          mode.value = color.value.isGradient ? 'linear-gradient' : 'monochrome';\n        }\n      },\n    );\n\n    /**\n     * mode change\n     * @param value\n     * @returns\n     */\n    const handleModeChange = (value: TdColorModes) => {\n      mode.value = value;\n      if (value === 'linear-gradient') {\n        color.value.update(\n          color.value.gradientColors.length > 0 ? color.value.linearGradient : DEFAULT_LINEAR_GRADIENT,\n        );\n      } else {\n        color.value.update(color.value.rgba);\n      }\n\n      emitColorChange();\n    };\n\n    /**\n     * 格式变化\n     * @param format\n     * @returns\n     */\n    const handleFormatModeChange = (format: TdColorPickerProps['format']) => (formatModel.value = format);\n\n    /**\n     * 饱和度亮度变化\n     * @param param0\n     */\n    const handleSatAndValueChange = ({ saturation, value }: { saturation: number; value: number }) => {\n      const { saturation: sat, value: val } = color.value;\n      let changeTrigger: ColorPickerChangeTrigger = 'palette-saturation-brightness';\n      if (value !== val && saturation !== sat) {\n        color.value.saturation = saturation;\n        color.value.value = value;\n        changeTrigger = 'palette-saturation-brightness';\n      } else if (saturation !== sat) {\n        color.value.saturation = saturation;\n        changeTrigger = 'palette-saturation';\n      } else if (value !== val) {\n        color.value.value = value;\n        changeTrigger = 'palette-brightness';\n      } else {\n        return;\n      }\n      emitColorChange(changeTrigger);\n    };\n\n    /**\n     * 色相变化\n     * @param hue\n     */\n    const handleHueChange = (hue: number) => {\n      color.value.hue = hue;\n      emitColorChange('palette-hue-bar');\n      props.onPaletteBarChange?.({\n        color: getColorObject(color.value),\n      });\n    };\n\n    /**\n     * 透明度变化\n     * @param alpha\n     */\n    const handleAlphaChange = (alpha: number) => {\n      color.value.alpha = alpha;\n      emitColorChange('palette-alpha-bar');\n    };\n\n    /**\n     * 输入框触发改变\n     * @param input\n     * @param alpha\n     */\n    const handleInputChange = (input: string, alpha?: number) => {\n      color.value.update(input);\n      color.value.alpha = alpha;\n      emitColorChange('input');\n    };\n\n    /**\n     * 渐变改变\n     * @param param0\n     */\n    const handleGradientChange = ({\n      key,\n      payload,\n    }: {\n      key: 'degree' | 'selectedId' | 'colors';\n      payload: number | string | GradientColorPoint[];\n    }) => {\n      let trigger: ColorPickerChangeTrigger = 'palette-saturation-brightness';\n      switch (key) {\n        case 'degree':\n          color.value.gradientDegree = payload as number;\n          trigger = 'input';\n          break;\n        case 'selectedId':\n          color.value.gradientSelectedId = payload as string;\n          break;\n        case 'colors':\n          color.value.gradientColors = payload as GradientColorPoint[];\n          break;\n      }\n      emitColorChange(trigger);\n    };\n\n    /**\n     * 色块点击\n     * @param type\n     * @param value\n     */\n    const handleSetColor = (type: 'system' | 'used', value: string) => {\n      const isGradientValue = Color.isGradientColor(value);\n      if (isGradientValue) {\n        if (props.colorModes.includes('linear-gradient')) {\n          mode.value = 'linear-gradient';\n          color.value.update(value);\n          color.value.updateCurrentGradientColor();\n        } else {\n          console.warn('该模式不支持渐变色');\n        }\n      } else if (mode.value === 'linear-gradient') {\n        color.value.updateStates(value);\n        color.value.updateCurrentGradientColor();\n      } else {\n        color.value.update(value);\n      }\n      emitColorChange();\n    };\n\n    return {\n      baseClassName,\n      statusClassNames,\n      t,\n      globalConfig,\n      color,\n      mode,\n      formatModel,\n      recentlyUsedColors,\n      isGradient,\n      addRecentlyUsedColor,\n      handleModeChange,\n      handleSatAndValueChange,\n      handleHueChange,\n      handleAlphaChange,\n      handleGradientChange,\n      handleSetColor,\n      handleFormatModeChange,\n      handleInputChange,\n      handleRecentlyUsedColorsChange,\n    };\n  },\n  render() {\n    const {\n      t,\n      baseClassName,\n      statusClassNames,\n      globalConfig,\n      recentColors,\n      swatchColors,\n      showPrimaryColorPreview,\n      isGradient,\n    } = this;\n    const baseProps = {\n      color: this.color,\n      disabled: this.disabled,\n    };\n    const showUsedColors = recentColors !== null && recentColors !== false;\n\n    let systemColors = swatchColors;\n    if (systemColors === undefined) {\n      systemColors = [...DEFAULT_SYSTEM_SWATCH_COLORS];\n    }\n    const showSystemColors = systemColors?.length > 0;\n\n    const renderSwatches = () => {\n      if (!showSystemColors && !showUsedColors) {\n        return null;\n      }\n      return (\n        <>\n          <div class={`${baseClassName}__swatches-wrap`}>\n            {showUsedColors ? (\n              <SwatchesPanel\n                {...baseProps}\n                title={t(globalConfig.recentColorTitle)}\n                editable\n                colors={this.recentlyUsedColors as string[]}\n                handleAddColor={this.addRecentlyUsedColor}\n                onSetColor={(color: string) => this.handleSetColor('used', color)}\n                onChange={this.handleRecentlyUsedColorsChange}\n              />\n            ) : null}\n            {showSystemColors ? (\n              <SwatchesPanel\n                {...baseProps}\n                title={t(globalConfig.swatchColorTitle)}\n                colors={systemColors}\n                onSetColor={(color: string) => this.handleSetColor('system', color)}\n              />\n            ) : null}\n          </div>\n        </>\n      );\n    };\n\n    return (\n      <div class={[`${baseClassName}__panel`, this.disabled ? statusClassNames.disabled : false]}>\n        <PanelHeader {...this.$props} mode={this.mode} onModeChange={this.handleModeChange} />\n        <div class={[`${baseClassName}__body`]}>\n          {isGradient ? (\n            <LinearGradient\n              {...baseProps}\n              onChange={this.handleGradientChange}\n              enableMultipleGradient={this.enableMultipleGradient}\n            />\n          ) : null}\n\n          <SaturationPanel {...baseProps} onChange={this.handleSatAndValueChange} />\n\n          <div class={[`${baseClassName}__sliders-wrapper`]}>\n            <div class={[`${baseClassName}__sliders`]}>\n              <HueSlider {...baseProps} onChange={this.handleHueChange} />\n              {this.enableAlpha ? <AlphaSlider {...baseProps} onChange={this.handleAlphaChange} /> : null}\n            </div>\n\n            {showPrimaryColorPreview ? (\n              <div class={[`${baseClassName}__sliders-preview`, `${baseClassName}--bg-alpha`]}>\n                <span\n                  class={`${baseClassName}__sliders-preview-inner`}\n                  style={{\n                    background: isGradient ? this.color.linearGradient : this.color.rgba,\n                  }}\n                />\n              </div>\n            ) : null}\n          </div>\n\n          <FormatPanel\n            {...this.$props}\n            color={this.color}\n            format={this.formatModel}\n            onModeChange={this.handleFormatModeChange}\n            onInputChange={this.handleInputChange}\n          />\n          {renderSwatches()}\n        </div>\n      </div>\n    );\n  },\n});\n"],"names":["name","props","togglePopup","type","innerValue","setInnerValue","recentlyUsedColors","setRecentlyUsedColors","colors","color","watch","updateColor","emitColorChange","changeTrigger","trigger","console","baseClassName","statusClassNames","t","globalConfig","mode","formatModel","isGradient","addRecentlyUsedColor","handleModeChange","handleSatAndValueChange","handleHueChange","handleAlphaChange","handleGradientChange","handleSetColor","handleFormatModeChange","handleInputChange","handleRecentlyUsedColorsChange","systemColors","_createVNode","_Fragment","_mergeProps","background"],"mappings":"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"}