UNPKG

xdesign-vue-next

Version:

XDesign Component for vue-next

1 lines 20 kB
{"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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"}