button_radio_box

    public function button_radio_box()
    {
        return _class('html')->button_radio_box('input_name', ['k1' => 'key1', 'k2' => 'key2']);
    }
    public function button_radio_box($name, $values = [], $selected = null, $extra = [])
    {
        if ($this->_is_bs5) {
            return $this->_bs5()->button_radio_box($name, $values, $selected, $extra);
        }
        if (is_array($name)) {
            $extra = (array) $extra + $name;
            $name = ($extra['name'] ?? null);
        }
        ! is_array($extra) && $extra = [];
        $label_extra = ($extra['label_extra'] ?? null);
        $extra = [
            'name' => $name ?: ($extra['name'] ?? null),
            // the array form passes values / selected inside $name: the [] / null defaults must not hide them
            'values' => $values ?: ($extra['values'] ?? []),
            'selected' => isset($selected) ? $selected : ($extra['selected'] ?? null),
            'use_stpl' => false,
            'label_extra' => [
                'class' => (($label_extra['class'] ?? null) ?: $this->CLASS_LABEL_BTN_RADIO) . (($extra['horizontal'] ?? null) ? ' ' . $this->CLASS_LABEL_RADIO_INLINE : ''),
            ],
        ] + $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->radio_box($extra) . $label_right . '</div>';
    }