constructor({
        label,
        value,
        noText,
        callback
    }) {
        super('.color-picker');

        this.label = label;
        this.value = new Color(value);
        this.noText = noText;
        this.callback = callback;

        this.width = 108;
        this.height = 19;
        this.middle = this.width / 2;
        this.top = this.height + 9;
        this.distance = 256;
        this.ratio = 256 / this.width;
        this.triangleRadius = 98;
        this.triangleSideLength = Math.sqrt(3) * this.triangleRadius;

        this.offset = new Vector2();
        this.marker = new Vector2();
        this.isOpen = false;
        this.isDown = false;
        this.firstDown = false;
        this.lastCursor = '';
        this.lastValue = this.value.getHex();
        this.fastClose = true;

        this.h = 0;
        this.s = 0;
        this.l = 0;

        this.color = new Color();

        this.initHTML();
        this.initColorRing();
        this.setValue(this.value, true);

        this.addListeners();
    }
@author pschroen / https://ufo.ai/

Based on https://acko.net/blog/farbtastic-jquery-color-picker-plug-in/
Based on https://github.com/mattfarina/farbtastic
Based on https://github.com/timjb/colortriangle
Based on https://github.com/lo-th/uil