Lion Logo Lion Fundamentals Guides Components Blog Toggle darkmode

Select Rich: Overview

This web component is a 'rich' version of the native <select> element. It allows providing fully customized options and a fully customized invoker button and is meant to be used whenever the native <select> doesn't provide enough styling, theming or user interaction opportunities.

Its implementation is based on the following Design pattern: https://www.w3.org/TR/wai-aria-practices/examples/listbox/listbox-collapsible.html

<lion-select-rich name="favoriteColor" label="Favorite color">
  <lion-option .choiceValue=${'red'}>Red</lion-option>
  <lion-option .choiceValue=${'hotpink'}>Hotpink</lion-option>
  <lion-option .choiceValue=${'blue'}>Blue</lion-option>
</lion-select-rich>

Features

  • Fully accessible
  • Flexible API
  • Fully customizable option elements
  • Fully customizable invoker element
  • Mimics native select interaction mode (windows/linux and mac)

Installation

npm i --save @lion/ui
import { LionSelectRich } from '@lion/ui/select-rich.js';
import { LionOptions, LionOption } from '@lion/ui/listbox.js';
// or
import '@lion/ui/define/lion-select-rich.js';
import '@lion/ui/define/lion-option.js';