{"version":3,"file":"index.mjs","sources":["../../../../../components/color-picker/components/trigger/index.tsx"],"sourcesContent":["import { defineComponent, PropType, ref, watch } from 'vue';\nimport TInput from '../../../input';\nimport { Color } from '../../utils';\nimport { TdColorPickerProps } from '../../type';\nimport { useBaseClassName } from '../../hooks';\nimport { useCommonClassName } from '../../../hooks/useConfig';\n\nexport default defineComponent({\n  name: 'DefaultTrigger',\n  inheritAttrs: false,\n  props: {\n    color: {\n      type: String,\n      default: '',\n    },\n    disabled: {\n      type: Boolean,\n      default: false,\n    },\n    borderless: {\n      type: Boolean,\n      default: false,\n    },\n    clearable: {\n      type: Boolean,\n      default: false,\n    },\n    inputProps: {\n      type: Object as PropType<TdColorPickerProps['inputProps']>,\n      default: () => {\n        return {\n          autoWidth: true,\n        };\n      },\n    },\n    onTriggerChange: {\n      type: Function,\n      default: () => {\n        return () => {};\n      },\n    },\n    size: {\n      type: String as PropType<TdColorPickerProps['size']>,\n      default: 'medium',\n    },\n  },\n  setup(props) {\n    const baseClassName = useBaseClassName();\n    const value = ref(props.color);\n    const { SIZE: sizeClassNames } = useCommonClassName();\n    watch(\n      () => [props.color],\n      () => (value.value = props.color),\n    );\n\n    const handleChange = (input: string) => {\n      if (input === props.color) {\n        return;\n      }\n      if (input && !Color.isValid(input)) {\n        value.value = props.color;\n      } else {\n        value.value = input;\n      }\n      props.onTriggerChange(value.value);\n    };\n\n    return () => {\n      const inputSlots = {\n        label: () => {\n          return (\n            <div class={[`${baseClassName.value}__trigger--default__color`, `${baseClassName.value}--bg-alpha`]}>\n              <span\n                class={[\n                  'color-inner',\n                  {\n                    [sizeClassNames.value[props.size]]: props.size !== 'medium',\n                  },\n                ]}\n                style={{\n                  background: value.value,\n                }}\n              ></span>\n            </div>\n          );\n        },\n      };\n      return (\n        <TInput\n          borderless={props.borderless}\n          clearable={props.clearable}\n          size={props.size}\n          v-slots={inputSlots}\n          v-model={value.value}\n          disabled={props.disabled}\n          onBlur={handleChange}\n          onChange={handleChange}\n          {...props.inputProps}\n        />\n      );\n    };\n  },\n});\n"],"names":["defineComponent","name","inheritAttrs","props","color","type","String","disabled","Boolean","borderless","clearable","inputProps","Object","default","autoWidth","onTriggerChange","Function","size","setup","baseClassName","useBaseClassName","value","ref","_useCommonClassName","useCommonClassName","sizeClassNames","SIZE","watch","handleChange","input","Color","isValid","inputSlots","label","_createVNode","concat","_defineProperty","background","TInput","_mergeProps","onUpdateModelValue","$event"],"mappings":"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"}