list_box
Github

    public function list_box()
    {
        return _class('html')->list_box('input_name', ['k1' => 'key1', 'k2' => 'key2']);
    }
    public function list_box($name, $values = [], $selected = '', $extra = [])
    {
        if (is_array($name)) {
            $extra = (array) $extra + $name;
            $name = $extra['name'];
        }
        $desc = isset($extra['desc']) ? $extra['desc'] : ucfirst(str_replace('_', '', $name));
        $values = isset($extra['values']) ? $extra['values'] : (array) $values; // Required
        $translate = isset($extra['translate']) ? $extra['translate'] : 0;
        if ($extra['no_translate']) {
            $translate = 0;
        }
        $selected = isset($extra['selected']) ? $extra['selected'] : $selected;
        $extra['id'] = $extra['id'] ?: __FUNCTION__ . '_' . ++$this->_ids[__FUNCTION__];
        if ( ! $values) {
            return false;
        }
        asset('bfh-select');

        $extra['class'] = 'bfh-selectbox ' . $extra['class_add'];
        $extra['data-name'] = $name;
        $extra['data-value'] = (string) $selected;
        $extra['data-filter'] = isset($extra['data-filter']) ? $extra['data-filter'] : (count((array) $values) > 10 ? 'true' : '');

        $body .= '<div' . _attrs($extra, ['id', 'class', 'style']) . '>';
        foreach ((array) $values as $key => $cur_value) {
            $body .= '<div data-value="' . $key . '">' . ($translate ? t($cur_value) : $cur_value) . '</div>' . PHP_EOL;
        }
        $body .= '</div>';

        return $body;
    }
key1
key2