Web Multiselect Component
Advanced multiselect web component from @keenmate/web-multiselect (v2.0.0-rc04) with virtual
scrolling, search, tree-of-options rendering, and a full-screen mobile overlay. Built as a
framework-agnostic web component with excellent performance.
Key Features: Virtual scrolling (handles 15,000+ options), full keyboard navigation,
multiple display modes, tree / hierarchy mode with cascade checkboxes,
phone full-screen overlay, RTL support, external/async search, and comprehensive
theming via --ms-* / --base-* CSS variables.
Basic Multi-Select
Display Modes
Search & Filter
🌳 Tree of Options
Give each option a materialized dot-path ("1", "1.1", "1.1.1", …)
and set path-member. Tree mode auto-enables: the component derives parent and depth from
the path and renders the options depth-first, indented by level. The tree is always fully expanded
(no chevron) — reach for @keenmate/web-treeview when you need expand/collapse.
kale → Vegetables → Leafy → Kale (ancestors kept)
getValue(): []
Real Data — Full ISCO-08 Classification
Everything at once on real data: the whole International Standard Classification of
Occupations (ISCO-08) — 619 groups (10 major → 43 sub-major → 130 minor → 436 unit).
The ISCO code is the hierarchy (2211 → path 2.22.221.2211), so it
drops straight into path-member. Only the unit groups (leaves) are
selectable. A getSearchValueCallback widens the filter to match the title, ISCO code,
and full breadcrumb; virtual scroll keeps 600+ rows smooth.
.. /); full breadcrumb in the badge tooltip.
Source: ISCO-08 (© International Labour Organization) — demo data.
📱 Mobile & Fullscreen
On phones the dropdown opens as a full-screen overlay instead of a floating panel —
a touch-friendly sheet with its own search header, big rows, and a close button. The
mobile-presentation attribute (auto | floating |
fullscreen) picks the presentation; auto uses the sheet only on phones.
Because it's usually a phone-only look, each demo offers a Preview as fullscreen toggle so
you can inspect the overlay on desktop.
N of M ↑/↓ navigator to jump.
Grouped Options
Virtual Scrolling (Large Datasets)
RTL (Right-to-Left) Support
Programmatic Control
Events & Callbacks
Resources
- npm Package:
@keenmate/web-multiselect(v2.0.0-rc04) - Repository: github.com/keenmate/web-multiselect
- Documentation: See package README and AI instructions in
../../web-multiselect/ai/ - CSS Variables: Uses
--ms-*prefix (component) and--base-*prefix (theme integration) - Theming: Pure Admin provides
--base-*variables viasrc/scss/_base-css-variables.scss