Skip to content

cluion/selkit

Repository files navigation

Selkit

The framework-agnostic select toolkit — headless select for JS, Vue & React.

CI Deploy Docs License: MIT

English | 繁體中文

A headless core for native JS / Vue / React with one unified API — no jQuery, no required dependencies. A modern, TypeScript-first alternative to Select2 and Tom Select.

📖 Docs: cluion.github.io/selkit · 繁體中文

Packages

Package Description
@selkit/core Pure TS state machine — zero DOM, zero framework deps (single source of behavior)
@selkit/dom Vanilla JS renderer + dropdown positioner
@selkit/vue Vue 3 adapter
@selkit/react React adapter
@selkit/themes base / bs5 styles (CSS-variable driven)
@selkit/floating Optional advanced positioner — flip / shift / size collision handling via floating-ui

Install

# Vanilla JS
pnpm add @selkit/dom @selkit/themes
# Vue 3
pnpm add @selkit/vue @selkit/themes
# React
pnpm add @selkit/react @selkit/themes

# Optional — advanced positioning (flip / shift / size)
pnpm add @selkit/floating

@selkit/core is installed automatically as a dependency; @selkit/themes provides the base / bs5 styles. @selkit/floating is optional — install it only when you need collision-aware dropdown positioning (see Positioning).

Documentation

Full guides, feature docs and API reference are on the docs site:

Runnable demos for all three frameworks live in examples/ (vanilla / vue / react).

Development

pnpm install        # install dependencies
pnpm build          # build all packages
pnpm test           # run tests (incl. axe-core a11y checks)
pnpm typecheck      # type-check
pnpm --filter @selkit/docs docs:dev   # preview the docs site locally

Contributing

Issues and PRs welcome — see CONTRIBUTING.md.

License

MIT © cluion

About

Headless, framework-agnostic select component library for JavaScript, Vue, and React

Topics

Resources

License

Contributing

Stars

1 star

Watchers

0 watching

Forks

Packages

 
 
 

Contributors