list_box
Github

	function list_box() {
		return _class('html')->list_box('input_name', ['k1' => 'key1', 'k2' => 'key2']);
	}
	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']	= strval($selected);
		$extra['data-filter']	= isset($extra['data-filter']) ? $extra['data-filter'] : (count($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