button_check_box

    public function button_check_box()
    {
        return _class('html')->button_check_box('input_name', ['k1' => 'key1', 'k2' => 'key2']);
    }
    public function button_check_box($name, $values = [], $selected = '')
    {
        if ($this->_is_bs5) {
            return $this->_bs5()->button_check_box($name, $values, $selected);
        }
        $extra = [];
        if (is_array($name)) {
            $extra = $name;
            $name = ($extra['name'] ?? null);
        }
        ! is_array($extra) && $extra = [];
        $label_extra = ($extra['label_extra'] ?? null);
        $extra = [
            'name' => $name,
            // the array form passes values / selected inside $name: the [] / '' defaults must not hide them
            'values' => $values ?: ($extra['values'] ?? []),
            'selected' => $selected !== '' ? $selected : ($extra['selected'] ?? ''),
            'use_stpl' => false,
            'label_extra' => [
                'class' => (($label_extra['class'] ?? null) ?: $this->CLASS_LABEL_BTN_CHECKBOX),
            ],
        ] + $extra;
        $label_right = ($extra['label_right'] ?? null) ? '<label class="text"> <small>' . ($extra['desc'] ?? null) . '</small></label>' : '';
        return '<div class="btn-group" data-toggle="buttons">' . $this->check_box($extra) . $label_right . '</div>';
    }