1.0.1 • Published 2 years ago
@khenfei/vue3-color v1.0.1
vue3-color
Color Pickers for Sketch, Photoshop, Chrome & more with Vue 3.
This package bring Vue 3 support to original package : vue-color
Forked from @lk77/vue3-color

Local setup
npm install
npm run devUsage
var colors = {
hex: '#194d33',
hex8: '#194D33A8',
hsl: { h: 150, s: 0.5, l: 0.2, a: 1 },
hsv: { h: 150, s: 0.66, v: 0.30, a: 1 },
rgba: { r: 25, g: 77, b: 51, a: 1 },
a: 1
}
// or
var colors = '#194d33'
// or
var colors = '#194D33A8'
// or
var colors = { h: 150, s: 0.66, v: 0.30 }
// or
var colors = { r: 255, g: 0, b: 0 }
// etc...
const app = Vue.createApp({
components: {
'material-picker': Material,
'compact-picker': Compact,
'swatches-picker': Swatches,
'slider-picker': Slider,
'sketch-picker': Sketch,
'chrome-picker': Chrome,
'photoshop-picker': Photoshop
},
data () {
return {
colors
}
}
})
app.mount('#app')colors accepts either a string of a hex color '#333' or a object of rgb or hsl values { r: 51, g: 51, b: 51 } or { h: 0, s: 0, l: .10 }, whatever tinycolor2 accepts as an input.
<!-- suppose you have the data 'colors' in your component -->
<material-picker v-model="colors" />
<compact-picker v-model="colors" />
<swatches-picker v-model="colors" />
<slider-picker v-model="colors" />
<sketch-picker v-model="colors" />
<chrome-picker v-model="colors" />
<photoshop-picker v-model="colors" />OR
<chrome-picker :value="colors" @input="updateValue"></chrome-picker>In some cases you can give the component a predefined set of colors with the property presetColors (for Sketch only) or palette (for Compact and Grayscale), by simply passing it an array with the color values as strings in any css compatible format.
<sketch-picker
@update:modelValue="updateValue"
:modelValue="colors"
:preset-colors="[
'#f00', '#00ff00', '#00ff0055', 'rgb(201, 76, 76)', 'rgba(0,0,255,1)', 'hsl(89, 43%, 51%)', 'hsla(89, 43%, 51%, 0.6)'
]"
></sketch-picker>
<compact-picker
@update:modelValue="updateValue"
:modelValue="colors"
:palette="[
'#f00', '#00ff00', '#00ff0055', 'rgb(201, 76, 76)', 'rgba(0,0,255,1)', 'hsl(89, 43%, 51%)', 'hsla(89, 43%, 51%, 0.6)'
]"
></compact-picker>