{"version":3,"file":"color-picker.mjs","sources":["../../../components/color-picker/color-picker.tsx"],"sourcesContent":["import { defineComponent, ref, toRefs } from 'vue';\nimport { useDefaultValue, useTNodeDefault, useVModel } from '@tdesign/shared-hooks';\n\nimport { type PopupProps, Popup as TPopup } from '../popup';\nimport ColorPanel from './components/panel';\nimport DefaultTrigger from './components/trigger';\nimport { useBaseClassName } from './hooks';\nimport props from './props';\n\nexport default defineComponent({\n  name: 'TColorPicker',\n  props,\n  setup(props) {\n    const baseClassName = useBaseClassName();\n    const renderTNodeJSXDefault = useTNodeDefault();\n\n    const { value: inputValue, modelValue, recentColors } = toRefs(props);\n    const [innerValue, setInnerValue] = useVModel(inputValue, modelValue, props.defaultValue, props.onChange);\n    const [innerRecentColors, setInnerRecentColors] = useDefaultValue(\n      recentColors,\n      props.defaultRecentColors,\n      props.onRecentColorsChange,\n      'recentColors',\n    );\n\n    const refTrigger = ref<HTMLElement>();\n\n    const handleClear = (context: { e: MouseEvent }) => props.onClear?.(context);\n\n    const renderPopupContent = () => {\n      if (props.disabled) {\n        return null;\n      }\n\n      return (\n        <ColorPanel\n          {...{\n            ...props,\n            onChange: setInnerValue,\n            onRecentColorsChange: setInnerRecentColors,\n          }}\n          value={innerValue.value}\n          recentColors={innerRecentColors.value}\n        />\n      );\n    };\n\n    return () => {\n      const popProps = {\n        placement: 'bottom-left' as const,\n        trigger: 'click' as const,\n        overlayClassName: [baseClassName.value],\n        ...((props.popupProps as PopupProps) || {}),\n      };\n      return (\n        <TPopup {...popProps} content={renderPopupContent}>\n          <div class={`${baseClassName.value}__trigger`} ref={refTrigger}>\n            {renderTNodeJSXDefault(\n              'default',\n              <DefaultTrigger\n                borderless={props.borderless}\n                color={innerValue.value}\n                disabled={props.disabled}\n                clearable={props.clearable}\n                input-props={props.inputProps}\n                onTriggerChange={setInnerValue}\n                onTriggerClear={handleClear}\n                size={props.size}\n              />,\n            )}\n          </div>\n        </TPopup>\n      );\n    };\n  },\n});\n"],"names":["defineComponent","name","props","setup","baseClassName","useBaseClassName","renderTNodeJSXDefault","useTNodeDefault","_toRefs","toRefs","inputValue","value","modelValue","recentColors","_useVModel","useVModel","defaultValue","onChange","_useVModel2","_slicedToArray","innerValue","setInnerValue","_useDefaultValue","useDefaultValue","defaultRecentColors","onRecentColorsChange","_useDefaultValue2","innerRecentColors","setInnerRecentColors","refTrigger","ref","handleClear","context","onClear","renderPopupContent","disabled","_createVNode","ColorPanel","_mergeProps","_objectSpread","popProps","placement","trigger","overlayClassName","popupProps","TPopup","_default","concat","DefaultTrigger","borderless","clearable","inputProps","size"],"mappings":"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"}