JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://bgrins.github.io/spectrum/spectrum.js"></script>
<link rel="stylesheet" href="https://bgrins.github.io/spectrum/spectrum.css">
<h2>Design your own calendar's colors!</h2>
<p>Choose an outside and inside color</p>
<div id="control-container">
<label for="outside" class="color-label">Outside Color
<input type="text" name="outside" class="colorpicker">
</label>
<label for="inside" class="color-label" id="inside-color-label">Inside Color
<input type="text" name="inside" class="colorpicker">
</label>
</div>
<div id="result"> </div>
<div id="calendar-position">
<div class="container" id="outside-preview">
<div class="container" id="inside-preview">
<div id="image-square"></div>
</div>
</div>
</div>
CSS
#control-container {
margin: 50px auto;
}
.color-label {
display: inline-block;
font-size: 1.3em;
}
#inside-color-label {
margin-right: 150px;
}
#calendar-position {
margin: 0 auto;
width: 500px;
}
#outside-preview,
#inside-preview {
border: 1px solid black;
border-radius: 8px;
}
#outside-preview {
width: 500px;
height: 600px;
position: relative;
border-bottom-left-radius: 0px;
border-bottom-right-radius: 0px;
}
#inside-preview {
width: 440px;
height: 568px;
position: absolute;
z-index: 1;
left: 5.5%;
bottom: 0;
background: #FFF;
}
#image-square {
top: 17px;
width: 400px;
height: 176px;
background: #FFF;
position: relative;
display: block;
z-index: 2;
margin: 0 auto;
}
JavaScript
$(document).ready(function() {
$(".colorpicker").spectrum({
color: "#FFF",
showInput: true,
className: "full-spectrum",
showInitial: true,
showPalette: true,
showSelectionPalette: true,
maxSelectionSize: 10,
preferredFormat: "hex",
localStorageKey: "spectrum.demo",
change: function(color) {
var eq = $(this).index('.colorpicker');
$('.container').eq(eq).css('background-color', color.toHexString())
var color = $("#outside-preview").css("background-color");
$("#result").html("That div is " + color + "");
},
palette: [
["rgb(0, 0, 0)", "rgb(67, 67, 67)", "rgb(102, 102, 102)",
"rgb(204, 204, 204)", "rgb(217, 217, 217)", "rgb(255, 255, 255)"
],
["rgb(152, 0, 0)", "rgb(255, 0, 0)", "rgb(255, 153, 0)", "rgb(255, 255, 0)", "rgb(0, 255, 0)",
"rgb(0, 255, 255)", "rgb(74, 134, 232)", "rgb(0, 0, 255)", "rgb(153, 0, 255)", "rgb(255, 0, 255)"
],
["rgb(230, 184, 175)", "rgb(244, 204, 204)", "rgb(252, 229, 205)", "rgb(255, 242, 204)", "rgb(217, 234, 211)",
"rgb(208, 224, 227)", "rgb(201, 218, 248)", "rgb(207, 226, 243)", "rgb(217, 210, 233)", "rgb(234, 209, 220)",
"rgb(221, 126, 107)", "rgb(234, 153, 153)", "rgb(249, 203, 156)", "rgb(255, 229, 153)", "rgb(182, 215, 168)",
"rgb(162, 196, 201)", "rgb(164, 194, 244)", "rgb(159, 197, 232)", "rgb(180, 167, 214)", "rgb(213, 166, 189)",
"rgb(204, 65, 37)", "rgb(224, 102, 102)", "rgb(246, 178, 107)", "rgb(255, 217, 102)", "rgb(147, 196, 125)",
"rgb(118, 165, 175)", "rgb(109, 158, 235)", "rgb(111, 168, 220)", "rgb(142, 124, 195)", "rgb(194, 123, 160)",
"rgb(166, 28, 0)", "rgb(204, 0, 0)", "rgb(230, 145, 56)", "rgb(241, 194, 50)", "rgb(106, 168, 79)",
"rgb(69, 129, 142)", "rgb(60, 120, 216)",...