element-plus
Version:
A Component Library for Vue 3
1 lines • 3.69 kB
Source Map (JSON)
{"version":3,"file":"use-predefine.mjs","sources":["../../../../../../../packages/components/color-picker-panel/src/composables/use-predefine.ts"],"sourcesContent":["import { computed, inject, ref, watch, watchEffect } from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { PredefineProps } from '../props/predefine'\nimport { colorPickerPanelContextKey } from '../color-picker-panel'\nimport Color from '../utils/color'\n\nimport type { Ref } from 'vue'\n\nexport const usePredefine = (props: PredefineProps) => {\n const { currentColor } = inject(colorPickerPanelContextKey)!\n\n const rgbaColors = ref(parseColors(props.colors, props.color)) as Ref<Color[]>\n\n watch(\n () => currentColor.value,\n (val) => {\n const color = new Color({\n value: val,\n enableAlpha: props.enableAlpha,\n })\n\n rgbaColors.value.forEach((item) => {\n item.selected = color.compare(item)\n })\n }\n )\n\n watchEffect(() => {\n rgbaColors.value = parseColors(props.colors, props.color)\n })\n\n function handleSelect(index: number) {\n props.color.fromString(props.colors[index])\n }\n\n function parseColors(colors: string[], color: Color) {\n return colors.map((value) => {\n const c = new Color({\n value,\n enableAlpha: props.enableAlpha,\n })\n c.selected = c.compare(color)\n return c\n })\n }\n\n return {\n rgbaColors,\n handleSelect,\n }\n}\n\nexport const usePredefineDOM = (props: PredefineProps) => {\n const ns = useNamespace('color-predefine')\n\n const rootKls = computed(() => [ns.b(), ns.is('disabled', props.disabled)])\n\n const colorsKls = computed(() => ns.e('colors'))\n\n function colorSelectorKls(item: Color) {\n return [\n ns.e('color-selector'),\n ns.is('alpha', item.get('alpha') < 100),\n { selected: item.selected },\n ]\n }\n\n return {\n rootKls,\n colorsKls,\n colorSelectorKls,\n }\n}\n"],"names":[],"mappings":";;;;;AAQO,MAAM,YAAA,GAAe,CAAC,KAAA,KAA0B;AACrD,EAAA,MAAM,EAAE,YAAA,EAAa,GAAI,MAAA,CAAO,0BAA0B,CAAA;AAE1D,EAAA,MAAM,aAAa,GAAA,CAAI,WAAA,CAAY,MAAM,MAAA,EAAQ,KAAA,CAAM,KAAK,CAAC,CAAA;AAE7D,EAAA,KAAA;AAAA,IACE,MAAM,YAAA,CAAa,KAAA;AAAA,IACnB,CAAC,GAAA,KAAQ;AACP,MAAA,MAAM,KAAA,GAAQ,IAAI,KAAA,CAAM;AAAA,QACtB,KAAA,EAAO,GAAA;AAAA,QACP,aAAa,KAAA,CAAM;AAAA,OACpB,CAAA;AAED,MAAA,UAAA,CAAW,KAAA,CAAM,OAAA,CAAQ,CAAC,IAAA,KAAS;AACjC,QAAA,IAAA,CAAK,QAAA,GAAW,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA;AAAA,MACpC,CAAC,CAAA;AAAA,IACH;AAAA,GACF;AAEA,EAAA,WAAA,CAAY,MAAM;AAChB,IAAA,UAAA,CAAW,KAAA,GAAQ,WAAA,CAAY,KAAA,CAAM,MAAA,EAAQ,MAAM,KAAK,CAAA;AAAA,EAC1D,CAAC,CAAA;AAED,EAAA,SAAS,aAAa,KAAA,EAAe;AACnC,IAAA,KAAA,CAAM,KAAA,CAAM,UAAA,CAAW,KAAA,CAAM,MAAA,CAAO,KAAK,CAAC,CAAA;AAAA,EAC5C;AAEA,EAAA,SAAS,WAAA,CAAY,QAAkB,KAAA,EAAc;AACnD,IAAA,OAAO,MAAA,CAAO,GAAA,CAAI,CAAC,KAAA,KAAU;AAC3B,MAAA,MAAM,CAAA,GAAI,IAAI,KAAA,CAAM;AAAA,QAClB,KAAA;AAAA,QACA,aAAa,KAAA,CAAM;AAAA,OACpB,CAAA;AACD,MAAA,CAAA,CAAE,QAAA,GAAW,CAAA,CAAE,OAAA,CAAQ,KAAK,CAAA;AAC5B,MAAA,OAAO,CAAA;AAAA,IACT,CAAC,CAAA;AAAA,EACH;AAEA,EAAA,OAAO;AAAA,IACL,UAAA;AAAA,IACA;AAAA,GACF;AACF;AAEO,MAAM,eAAA,GAAkB,CAAC,KAAA,KAA0B;AACxD,EAAA,MAAM,EAAA,GAAK,aAAa,iBAAiB,CAAA;AAEzC,EAAA,MAAM,OAAA,GAAU,QAAA,CAAS,MAAM,CAAC,EAAA,CAAG,CAAA,EAAE,EAAG,EAAA,CAAG,EAAA,CAAG,UAAA,EAAY,KAAA,CAAM,QAAQ,CAAC,CAAC,CAAA;AAE1E,EAAA,MAAM,YAAY,QAAA,CAAS,MAAM,EAAA,CAAG,CAAA,CAAE,QAAQ,CAAC,CAAA;AAE/C,EAAA,SAAS,iBAAiB,IAAA,EAAa;AACrC,IAAA,OAAO;AAAA,MACL,EAAA,CAAG,EAAE,gBAAgB,CAAA;AAAA,MACrB,GAAG,EAAA,CAAG,OAAA,EAAS,KAAK,GAAA,CAAI,OAAO,IAAI,GAAG,CAAA;AAAA,MACtC,EAAE,QAAA,EAAU,IAAA,CAAK,QAAA;AAAS,KAC5B;AAAA,EACF;AAEA,EAAA,OAAO;AAAA,IACL,OAAA;AAAA,IACA,SAAA;AAAA,IACA;AAAA,GACF;AACF;;;;"}