function Password(parent, open) {
    let value = ''
    let pass = document.createElement('input')
    let check = document.createElement('input')
    check.type = 'checkbox'
    parent.append(pass, check)
    check.onchange = () => {
        this.setOpen(check.checked)
    }
    //добавить pass oninput, который из pass забирает value, запускает setValue
    this.getValue = function () {
        return value
    }
    this.setValue = function (value) {
        // передает value в onchange если он есть
    }
    this.getOpen = function () {
        return open
    }
    this.setOpen = function (newOpen) {
        open = newOpen
        pass.type = open ? 'text' : 'password'
        check.checked = open
        if (typeof this.onOpenChange === 'function') {
            this.onOpenChange(open)
        }
    }
    this.setOpen(open)

    check.oninput = () => {
        if (this.getOpen() === true) {
            this.setOpen(true);
        } else {
            this.setOpen(false);
        }
        if (typeof this.onOpenChange === "function") {
            this.onOpenChange(this.getOpen());
        }
    };
}