{"version":3,"file":"color-picker.mjs","sources":["../../src/color-picker/color-picker.tsx"],"sourcesContent":["import { defineComponent, ref, toRefs } from 'vue';\nimport useVModel from '../hooks/useVModel';\nimport { renderTNodeJSXDefault } from '../utils/render-tnode';\nimport props from './props';\nimport { Popup as TPopup } from '../popup';\nimport ColorPanel from './panel';\nimport DefaultTrigger from './trigger';\nimport { TdColorContext } from './interfaces';\nimport { useBaseClassName } from './hooks';\n\nexport default defineComponent({\n  name: 'XColorPicker',\n  props: {\n    ...props,\n  },\n  setup(props) {\n    const baseClassName = useBaseClassName();\n    const visible = ref(false);\n    const setVisible = (value: boolean) => (visible.value = value);\n\n    const { value: inputValue, modelValue } = toRefs(props);\n    const [innerValue, setInnerValue] = useVModel(inputValue, modelValue, props.defaultValue, props.onChange);\n\n    const refTrigger = ref<HTMLElement>();\n\n    const renderPopupContent = () => {\n      if (props.disabled) {\n        return null;\n      }\n      const newProps = { ...props };\n      delete newProps.onChange;\n      return (\n        <ColorPanel\n          {...newProps}\n          disabled={props.disabled}\n          value={innerValue.value}\n          togglePopup={setVisible}\n          onChange={(value: string, context: TdColorContext) => setInnerValue(value, context)}\n        />\n      );\n    };\n\n    return {\n      baseClassName,\n      innerValue,\n      visible,\n      refTrigger,\n      renderPopupContent,\n      setVisible,\n      setInnerValue,\n    };\n  },\n  render() {\n    const { popupProps, baseClassName } = this;\n    const popProps = {\n      placement: 'bottom-left',\n      ...((popupProps as any) || {}),\n      trigger: 'click',\n      attach: 'body',\n      overlayClassName: [baseClassName],\n      visible: this.visible,\n      overlayInnerStyle: {\n        padding: 0,\n      },\n      onVisibleChange: (\n        visible: boolean,\n        context: {\n          trigger: string;\n        },\n      ) => {\n        if (context.trigger === 'document') {\n          this.setVisible(false);\n        }\n      },\n    };\n    return (\n      <TPopup {...popProps} content={this.renderPopupContent}>\n        <div class={`${baseClassName}__trigger`} onClick={() => this.setVisible(!this.visible)} ref=\"refTrigger\">\n          {renderTNodeJSXDefault(\n            this,\n            'default',\n            <DefaultTrigger\n              color={this.innerValue}\n              disabled={this.disabled}\n              clearable={this.clearable}\n              input-props={this.inputProps}\n              onTriggerChange={this.setInnerValue}\n              size={this.size}\n            />,\n          )}\n        </div>\n      </TPopup>\n    );\n  },\n});\n"],"names":["name","props","innerValue","setInnerValue","_createVNode","_mergeProps","baseClassName","visible","refTrigger","renderPopupContent","setVisible","placement","trigger","attach","overlayInnerStyle","padding","onVisibleChange","_this","TPopup"],"mappings":"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"}