| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 | const pickrContainer = document.querySelector('.pickr-container');const themeContainer = document.querySelector('.theme-container');const themes = [    [        '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: {                preview: true,                opacity: true,                hue: true,                interaction: {                    hex: true,                    rgba: true,                    hsva: true,                    input: true,                    clear: true,                    save: true                }            }        }    ],    [        'monolith',        {            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)'            ],            defaultRepresentation: 'HEXA',            components: {                preview: true,                opacity: true,                hue: true,                interaction: {                    hex: false,                    rgba: false,                    hsva: false,                    input: true,                    clear: true,                    save: true                }            }        }    ],    [        'nano',        {            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)'            ],            defaultRepresentation: 'HEXA',            components: {                preview: true,                opacity: true,                hue: true,                interaction: {                    hex: false,                    rgba: false,                    hsva: false,                    input: true,                    clear: true,                    save: true                }            }        }    ]];const buttons = [];let pickr = null;for (const [theme, config] of themes) {    const button = document.createElement('button');    button.innerHTML = theme;    buttons.push(button);    button.addEventListener('click', () => {        const el = document.createElement('p');        pickrContainer.appendChild(el);        // Delete previous instance        if (pickr) {            pickr.destroyAndRemove();        }        // Apply active class        for (const btn of buttons) {            btn.classList[btn === button ? 'add' : 'remove']('active');        }        // Create fresh instance        pickr = new Pickr(Object.assign({            el, theme,            default: '#42445a'        }, config));        // Set events        pickr.on('init', instance => {            console.log('Event: "init"', instance);        }).on('hide', instance => {            console.log('Event: "hide"', instance);        }).on('show', (color, instance) => {            console.log('Event: "show"', color, instance);        }).on('save', (color, instance) => {            console.log('Event: "save"', color, instance);        }).on('clear', instance => {            console.log('Event: "clear"', instance);        }).on('change', (color, source, instance) => {            console.log('Event: "change"', color, source, instance);        }).on('changestop', (source, instance) => {            console.log('Event: "changestop"', source, instance);        }).on('cancel', instance => {            console.log('cancel', pickr.getColor().toRGBA().toString(0));        }).on('swatchselect', (color, instance) => {            console.log('Event: "swatchselect"', color, instance);        });    });    themeContainer.appendChild(button);}buttons[0].click();
 |