element-plus
Version:
A Component Library for Vue 3
1 lines • 1.73 kB
Source Map (JSON)
{"version":3,"file":"use-common-color.mjs","sources":["../../../../../../../packages/components/color-picker-panel/src/composables/use-common-color.ts"],"sourcesContent":["import { reactive, watch } from 'vue'\nimport Color from '../utils/color'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\n\ntype CommonColorProps = {\n modelValue?: string | null\n showAlpha: boolean\n colorFormat?: string\n}\ntype CommonColorEmits = (event: 'update:modelValue', ...args: any[]) => void\n\nexport const useCommonColor = <\n P extends CommonColorProps,\n E extends CommonColorEmits,\n>(\n props: P,\n emit: E\n) => {\n const color = reactive(\n new Color({\n enableAlpha: props.showAlpha,\n format: props.colorFormat || '',\n value: props.modelValue,\n })\n ) as Color\n\n watch(\n () => [props.colorFormat, props.showAlpha],\n () => {\n color.enableAlpha = props.showAlpha\n color.format = props.colorFormat || color.format\n color.doOnChange()\n emit(UPDATE_MODEL_EVENT, color.value)\n }\n )\n\n return {\n color,\n }\n}\n"],"names":[],"mappings":";;;;AAWa,MAAA,cAAA,GAAiB,CAI5B,KAAA,EACA,IACG,KAAA;AACH,EAAA,MAAM,KAAQ,GAAA,QAAA;AAAA,IACZ,IAAI,KAAM,CAAA;AAAA,MACR,aAAa,KAAM,CAAA,SAAA;AAAA,MACnB,MAAA,EAAQ,MAAM,WAAe,IAAA,EAAA;AAAA,MAC7B,OAAO,KAAM,CAAA,UAAA;AAAA,KACd,CAAA;AAAA,GACH,CAAA;AAEA,EAAA,KAAA;AAAA,IACE,MAAM,CAAC,KAAM,CAAA,WAAA,EAAa,MAAM,SAAS,CAAA;AAAA,IACzC,MAAM;AACJ,MAAA,KAAA,CAAM,cAAc,KAAM,CAAA,SAAA,CAAA;AAC1B,MAAM,KAAA,CAAA,MAAA,GAAS,KAAM,CAAA,WAAA,IAAe,KAAM,CAAA,MAAA,CAAA;AAC1C,MAAA,KAAA,CAAM,UAAW,EAAA,CAAA;AACjB,MAAK,IAAA,CAAA,kBAAA,EAAoB,MAAM,KAAK,CAAA,CAAA;AAAA,KACtC;AAAA,GACF,CAAA;AAEA,EAAO,OAAA;AAAA,IACL,KAAA;AAAA,GACF,CAAA;AACF;;;;"}