{"version":3,"file":"index.mjs","sources":["../../../../../components/color-picker/components/format/index.tsx"],"sourcesContent":["import { defineComponent, PropType, ref, watch } from 'vue';\nimport { upperCase } from 'lodash-es';\nimport { TdColorPickerProps } from '../../type';\nimport props from '../../props';\nimport { FORMATS } from '@tdesign/common-js/color-picker/constants';\nimport { Color } from '../../utils';\nimport { Select as TSelect, Option as TOption } from '../../../select';\nimport FormatInputs from './inputs';\nimport { useBaseClassName } from '../../hooks';\nimport type { TdSelectInputProps } from '../../../select-input/type';\n\nexport default defineComponent({\n  name: 'FormatPanel',\n  inheritAttrs: false,\n  props: {\n    ...props,\n    color: {\n      type: Object as PropType<Color>,\n    },\n    onModeChange: {\n      type: Function,\n      default: () => {\n        return () => {};\n      },\n    },\n    onInputChange: {\n      type: Function,\n      default: () => {\n        return () => {};\n      },\n    },\n  },\n  setup(props) {\n    const baseClassName = useBaseClassName();\n    const formatModel = ref<TdColorPickerProps['format']>(props.format);\n    watch(\n      () => [props.format],\n      () => (formatModel.value = props.format),\n    );\n\n    /**\n     * 格式化类型改变触发\n     * @param v\n     */\n    const handleModeChange = (v: TdColorPickerProps['format']) => {\n      formatModel.value = v;\n      props.onModeChange(v);\n    };\n\n    return () => {\n      const newProps = {\n        ...props,\n        format: formatModel.value,\n      };\n      const selectInputProps = {\n        ...((props.selectInputProps as Object) || {}),\n      };\n      return (\n        <div class={`${baseClassName.value}__format`}>\n          <div class={`${baseClassName.value}__format--item`}>\n            <TSelect\n              size=\"small\"\n              class={`${baseClassName.value}__format-mode-select`}\n              selectInputProps={{ ...selectInputProps }}\n              popupProps={{\n                overlayClassName: `${baseClassName.value}__select-options`,\n                ...(selectInputProps as TdSelectInputProps).popupProps,\n              }}\n              v-model={formatModel}\n              onChange={handleModeChange}\n            >\n              {FORMATS.map((item) => (\n                <TOption key={item} value={item} label={upperCase(item)} style={{ fontSize: '12px' }} />\n              ))}\n            </TSelect>\n          </div>\n          <div class={`${baseClassName.value}__format--item`}>\n            <FormatInputs {...newProps} />\n          </div>\n        </div>\n      );\n    };\n  },\n});\n"],"names":["_isSlot","s","Object","prototype","toString","call","_isVNode","defineComponent","name","inheritAttrs","props","_objectSpread","color","type","onModeChange","Function","default","onInputChange","setup","baseClassName","useBaseClassName","formatModel","ref","format","watch","value","handleModeChange","v","_slot","newProps","selectInputProps","_createVNode","concat","TSelect","overlayClassName","popupProps","onUpdateModelValue","$event","FORMATS","map","item","TOption","upperCase","fontSize","_default"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQiC,SAAAA,QAAAC,CAAA,EAAA;AAAA,EAAA,OAAA,OAAAA,CAAA,KAAA,UAAA,IAAAC,MAAA,CAAAC,SAAA,CAAAC,QAAA,CAAAC,IAAA,CAAAJ,CAAA,CAAAK,KAAAA,iBAAAA,IAAAA,CAAAA,OAAA,CAAAL,CAAA,CAAA,CAAA;AAAA,CAAA;AAGjC,kBAAeM,eAAgB,CAAA;AAC7BC,EAAAA,IAAM,EAAA,aAAA;AACNC,EAAAA,YAAc,EAAA,KAAA;AACdC,EAAAA,KAAO,EAAAC,aAAA,CAAAA,aAAA,KACFD,KAAA,CAAA,EAAA,EAAA,EAAA;AACHE,IAAAA,KAAO,EAAA;AACLC,MAAAA,IAAM,EAAAX,MAAAA;KACR;AACAY,IAAAA,YAAc,EAAA;AACZD,MAAAA,IAAM,EAAAE,QAAA;MACN,SAAS,EAAA,SAATC,WAAe;QACb,OAAO,YAAM,EAAC,CAAA;AAChB,OAAA;KACF;AACAC,IAAAA,aAAe,EAAA;AACbJ,MAAAA,IAAM,EAAAE,QAAA;MACN,SAAS,EAAA,SAATC,WAAe;QACb,OAAO,YAAM,EAAC,CAAA;AAChB,OAAA;AACF,KAAA;GACF,CAAA;AACAE,EAAAA,OAAAA,SAAAA,MAAMR,MAAO,EAAA;AACX,IAAA,IAAMS,gBAAgBC,gBAAiB,EAAA,CAAA;AACjC,IAAA,IAAAC,WAAA,GAAcC,GAAkCZ,CAAAA,MAAAA,CAAMa,MAAM,CAAA,CAAA;AAClEC,IAAAA,KAAA,CACE,YAAA;AAAA,MAAA,OAAM,CAACd,MAAAA,CAAMa,MAAM,CAAA,CAAA;KACnB,EAAA,YAAA;AAAA,MAAA,OAAOF,WAAY,CAAAI,KAAA,GAAQf,MAAM,CAAAa,MAAA,CAAA;AAAA,KACnC,CAAA,CAAA;AAMM,IAAA,IAAAG,gBAAA,GAAmB,SAAnBA,gBAAAA,CAAoBC,CAAoC,EAAA;MAC5DN,WAAA,CAAYI,KAAQ,GAAAE,CAAA,CAAA;AACpBjB,MAAAA,MAAAA,CAAMI,aAAaa,CAAC,CAAA,CAAA;KACtB,CAAA;AAEA,IAAA,OAAO,YAAM;AAAA,MAAA,IAAAC,KAAA,CAAA;AACX,MAAA,IAAMC,QAAW,GAAAlB,aAAA,CAAAA,aAAA,KACZD,MAAAA,CAAAA,EAAAA,EAAAA,EAAAA;QACHa,QAAQF,WAAY,CAAAI,KAAAA;OACtB,CAAA,CAAA;MACA,IAAMK,gBAAmB,GAAAnB,aAAA,CAClBD,EAAAA,EAAAA,MAAM,CAAAoB,gBAAA,IAA+B,EAAC,CAC7C,CAAA;AACA,MAAA,OAAAC,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAAC,MAAA,CACiBb,aAAc,CAAAM,KAAA,EAAA,UAAA,CAAA;AAAA,OAAA,EAAA,CAAAM,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAAC,MAAA,CACZb,aAAc,CAAAM,KAAA,EAAA,gBAAA,CAAA;OAAAM,EAAAA,CAAAA,WAAA,CAAAE,MAAA,EAAA;AAAA,QAAA,MAAA,EAAA,OAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAAD,MAAA,CAGfb,cAAcM,KACxB,EAAA,sBAAA,CAAA;QAAA,kBAAAd,EAAAA,aAAA,KAAuBmB,gBAAA,CAAA;AAAA,QAAA,YAAA,EAAAnB,aAAA,CAAA;AAErBuB,UAAAA,gBAAA,EAAAF,EAAAA,CAAAA,MAAA,CAAqBb,aAAc,CAAAM,KAAA,EAAA,kBAAA,CAAA;SAC/BK,EAAAA,gBAAwC,CAAAK,UAAA,CAAA;AAAA,QAAA,YAAA,EAErCd,WACT;AAAA,QAAA,qBAAA,EAAA,SAAAe,mBAAAC,MAAA,EAAA;UAAA,OADShB,WACT,GAAAgB,MAAA,CAAA;AAAA,SAAA;QAAA,UAAUX,EAAAA,gBAAAA;OAET1B,EAAAA,OAAA,CAAA4B,KAAA,GAAAU,OAAA,CAAQC,GAAI,CAAA,UAACC,IACZ,EAAA;QAAA,OAAAT,WAAA,CAAAU,MAAA,EAAA;AAAA,UAAA,KAAA,EAAcD,IAAM;AAAA,UAAA,OAAA,EAAOA,IAAM;UAAA,OAAOE,EAAAA,SAAU,CAAAF,IAAI,CAAG;UAAA,OAAO,EAAA;AAAEG,YAAAA,QAAA,EAAU,MAAA;AAAO,WAAA;AAAA,SAAA,EAAA,IAAA,CAAA,CAAA;OACpF,CAAA,IAAAf,KAAA,GAAA;AAAA,QAAA,SAAA,EAAA,SAAAgB,QAAA,GAAA;AAAA,UAAA,OAAA,CAAAhB,KAAA,CAAA,CAAA;AAAA,SAAA;AAAA,OAAA,CAAA,CAAA,CAAA,EAAAG,WAAA,CAAA,KAAA,EAAA;AAAA,QAAA,OAAA,EAAA,EAAA,CAAAC,MAAA,CAGUb,aAAA,CAAcM;oCACTI,QAAU,EAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA;KAIpC,CAAA;AACF,GAAA;AACF,CAAC,CAAA;;;;"}