@keenmate/web-multiselect

A lightweight, framework-agnostic multiselect web component with typeahead search, rich content support, flexible data handling, and excellent keyboard navigation.

🎯
Framework Agnostic

Pure Web Component that works with vanilla JS, React, Vue, Angular, Svelte, and more

🔄
Flexible Data API

Works with any data structure using member properties or callbacks - objects, tuples, or custom types

📝
Form Integration

Native HTML form support with JSON, CSV, or array formats for seamless form submission

🔍
Typeahead Search

Built-in search with async support, debouncing, and customizable minimum search length

🎨
Rich Content

Support for icons, subtitles, groups, and custom styling with 125+ CSS/SCSS variables and semantic color scales

⌨️
Keyboard Navigation

Full keyboard support with arrow keys, Enter, Escape, and Tab for accessibility

Virtual Scrolling

Handle 15,000+ options instantly - 25× faster opening, 99.8% memory reduction with smooth mouse wheel and keyboard navigation

Quick Installation

Get started in seconds

Package Manager
npm
 
pnpm
 
yarn
 
Import
Import component
 
Usage

Simple to Use

Install the package using your preferred package manager, then use the web component in any framework or vanilla HTML.

Zero Dependencies

No framework lock-in. Works everywhere modern web components are supported. Built with TypeScript for excellent IDE support.

Highly Customizable

125+ CSS/SCSS variables with semantic color system (accent/neutral scales) for complete theming control. Override colors, spacing, borders, shadows, and more.

Example Usage

Basic Usage
 
Advanced Features
 

🎯

Framework Agnostic

Virtual Scrolling

🔍

Async Search

⌨️

Keyboard Navigation