Pickr template
by Simonwep
HTML
<link rel="stylesheet" href="https://simonwep.github.io/pickr/dist/themes/classic.min.css">
<link rel="stylesheet" href="https://simonwep.github.io/pickr/dist/themes/monolith.min.css">
<link rel="stylesheet" href="https://simonwep.github.io/pickr/dist/themes/nano.min.css">
<script src="https://simonwep.github.io/pickr/dist/pickr.es5.min.js"></script>
<section class="container">
<div class="pickr"></div>
</section>
CSS
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
html,
body,
.container {
height: 100%;
width: 100;
}
.container {
display: flex;
justify-content: center;
padding-top: 5em;
}
JavaScript
const createPickrInstance = options => {
const noDefault = !options.default;
const instance = new Pickr({
...options,
...(noDefault && {default: 'white'})
})
if (noDefault) {
const resetColor = () => {
instance.setColor(null);
instance.off('init', resetColor);
};
instance.on('init', resetColor);
}
return instance;
}
const pickr = createPickrInstance({
el: '.pickr',
default: '',
theme: 'classic',
swatches: [
'rgba(244, 67, 54, 1)',
'rgba(233, 30, 99, 0.95)',
'rgba(156, 39, 176, 0.9)',
'rgba(103, 58, 183, 0.85)',
'rgba(63, 81, 181, 0.8)',
'rgba(33, 150, 243, 0.75)',
'rgba(3, 169, 244, 0.7)',
'rgba(0, 188, 212, 0.7)',
'rgba(0, 150, 136, 0.75)',
'rgba(76, 175, 80, 0.8)',
'rgba(139, 195, 74, 0.85)',
'rgba(205, 220, 57, 0.9)',
'rgba(255, 235, 59, 0.95)',
'rgba(255, 193, 7, 1)'
],
components: {
opacity: true,
hue: true,
interaction: {
input: true,
clear: true,
}
}
});