{"version":3,"file":"trigger.mjs","sources":["../../src/color-picker/trigger.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    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      baseClassName,\n      value,\n      handleChange,\n      sizeClassNames,\n    };\n  },\n\n  render() {\n    const { baseClassName, sizeClassNames } = this;\n\n    const inputSlots = {\n      label: () => {\n        return (\n          <div class={[`${baseClassName}__trigger--default__color`, `${baseClassName}--bg-alpha`]}>\n            <span\n              class={[\n                'color-inner',\n                {\n                  [sizeClassNames[this.size]]: this.size !== 'medium',\n                },\n              ]}\n              style={{\n                background: this.value,\n              }}\n            ></span>\n          </div>\n        );\n      },\n    };\n    return (\n      <TInput\n        clearable={this.clearable}\n        size={this.size}\n        v-slots={inputSlots}\n        v-model={this.value}\n        disabled={this.disabled}\n        onBlur={this.handleChange}\n        {...this.inputProps}\n      />\n    );\n  },\n});\n"],"names":["name","inheritAttrs","props","color","type","disabled","clearable","inputProps","autoWidth","onTriggerChange","size","watch","value","baseClassName","handleChange","sizeClassNames","_createVNode","TInput","_mergeProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAOA,qBAAA,eAAA,CAAA;AACEA,EAAAA,IAAAA,EAAAA,gBAAAA;AACAC,EAAAA,YAAAA,EAAAA,KAAAA;AACAC,EAAAA,KAAAA,EAAAA;AACEC,IAAAA,KAAAA,EAAAA;AACEC,MAAAA,IAAAA,EAAAA,MAAAA;;;AAGFC,IAAAA,QAAAA,EAAAA;AACED,MAAAA,IAAAA,EAAAA,OAAAA;;;AAGFE,IAAAA,SAAAA,EAAAA;AACEF,MAAAA,IAAAA,EAAAA,OAAAA;;;AAGFG,IAAAA,UAAAA,EAAAA;AACEH,MAAAA,IAAAA,EAAAA,MAAAA;;;AAGII,UAAAA,SAAAA,EAAAA,IAAAA;;AAEJ,OAAA;;AAEFC,IAAAA,eAAAA,EAAAA;AACEL,MAAAA,IAAAA,EAAAA,QAAAA;;;AAGA,OAAA;;AAEFM,IAAAA,IAAAA,EAAAA;AACEN,MAAAA,IAAAA,EAAAA,MAAAA;;AAEF,KAAA;;;AAGA,IAAA,IAAA,aAAA,GAAA,gBAAA,EAAA,CAAA;AACM,IAAA,IAAA,KAAA,GAAA,GAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA;AACN,IAAA,IAAA,mBAAA,GAAA,kBAAA,EAAA;;AACAO,IAAAA,KAAAA,CAAAA,YAAAA;AACE,MAAA,OAAA,CAAA,KAAA,CAAA,KAAA,CAAA,CAAA;;AACA,MAAA,OAAA,KAAA,CAAA,KAAA,GAAA,KAAA,CAAA,KAAA,CAAA;AAA2B,KAAA,CAAA,CAAA;AAGvB,IAAA,IAAA,YAAA,GAAA,SAAA,YAAA,CAAA,KAAA,EAAA;AACA,MAAA,IAAA,KAAA,KAAA,KAAA,CAAA,KAAA,EAAA;AACF,QAAA,OAAA;AACF,OAAA;;AAEEC,QAAAA,KAAAA,CAAAA,KAAAA,GAAAA,KAAAA,CAAAA,KAAAA,CAAAA;AACF,OAAA,MAAA;;AAEA,OAAA;AACMV,MAAAA,KAAAA,CAAAA,eAAAA,CAAAA,KAAAA,CAAAA,KAAAA,CAAAA,CAAAA;;;AAINW,MAAAA,aAAAA,EAAAA,aAAAA;AACAD,MAAAA,KAAAA,EAAAA,KAAAA;AACAE,MAAAA,YAAAA,EAAAA,YAAAA;AACAC,MAAAA,cAAAA,EAAAA,cAAAA;;;;AAIK,IAAA,IAAA,KAAA,GAAA,IAAA,CAAA;AACD,IAAA,IAAA,aAAA,GAAA,IAAA,CAAA,aAAA;;AAEN,IAAA,IAAA,UAAA,GAAA;;AAGM,QAAA,OAAAC,WAAA,CAAA,KAAA,EAAA;AAAA,UAAA,OAAA,EAAA,CAAA,EAAA,CAAA,MAAA,CAAA,aAAA,EAAA,2BAAA,CAAA,EAAA,EAAA,CAAA,MAAA,CAAA,aAAA,EAAA,YAAA,CAAA,CAAA;AAAsF,SAAA,EAAA,CAAAA,WAAA,CAAA,MAAA,EAAA;AAAA,UAAA,OAAA,EAAA,CAAA,aAAA,EAAA,eAAA,CAAA,EAAA,EAAA,cAAA,CAAA,KAAA,CAAA,IAAA,CAAA,EAAA,KAAA,CAAA,IAAA,KAAA,QAAA,CAAA,CAAA;;;AAUlF,WAAA;AAAA,SAAA,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA;AAIR,OAAA;;AAGA,IAAA,OAAAA,WAAA,CAAAC,KAAA,EAAAC,UAAA,CAAA;;;;AAIgB,MAAA,qBAAA,EAAA,SAAA,kBAAA,CAAA,MAAA,EAAA;AAAA,QAAA,OAAA,KAAA,CAAA,KAAA,GAAA,MAAA,CAAA;AAAA,OAAA;;AACC,MAAA,QAAA,EAAA,IAAA,CAAA,YAAA;AACF,KAAA,EAAA,IAAA,CAAA,UAAA,CAAA,EAAA,UAAA,CAAA,CAAA;AAInB,GAAA;AACF,CAAA,CAAA;;;;"}