@acoyfellow/kumo-vue
npm i @acoyfellow/kumo-vue
<script setup>
import { DropdownMenu } from '@acoyfellow/kumo-vue'
</script>
<template>
<DropdownMenu />
</template>
Each Kumo component is authored once as a canonical definition and compiled to native Vue, Svelte, and Solid — not wrapped, not transpiled at runtime, but emitted as real framework-native components. Every tile below is the actual compiled output, rendered live in an isolated frame. Open the menus and dialogs: they work.
Kumo is a component compiler. Each component is authored once as a canonical definition — canonical React is the source of truth — and compiled to real native Vue, Svelte, and Solid components. The output is genuine framework-native code, not runtime-wrapped React, so every target ships and behaves like a component a human would have written by hand.
★ View source on GitHub
See it in a real project. This is an actual
Astro site consuming the published
@acoyfellow/kumo-* packages directly —
no React, no hand-written tokens. Check the live build and read the source.
Each target ships as its own native npm package. Install the one for
your framework, import a component, render it — no wrappers, no
runtime transpile. Every component (e.g. DropdownMenu)
is a named export.
@acoyfellow/kumo-vue
npm i @acoyfellow/kumo-vue
<script setup>
import { DropdownMenu } from '@acoyfellow/kumo-vue'
</script>
<template>
<DropdownMenu />
</template>
@acoyfellow/kumo-svelte
npm i @acoyfellow/kumo-svelte
<script>
import { DropdownMenu } from '@acoyfellow/kumo-svelte'
</script>
<DropdownMenu />
@acoyfellow/kumo-solid
npm i @acoyfellow/kumo-solid
import { render } from 'solid-js/web'
import { DropdownMenu } from '@acoyfellow/kumo-solid'
render(() => <DropdownMenu />,
document.getElementById('app')!)
Canonical React source means every component is authored once as a single React-shaped definition; the Vue, Svelte and Solid packages above are compiled from that source, so all three stay in lockstep with one canonical API.
Static, content-driven primitives — rendered server-clean with zero JavaScript where possible.
<kumo-badge>
View full page →
3 native variants
<kumo-banner>
View full page →
3 native variants
<kumo-breadcrumbs>
View full page →
3 native variants
<kumo-cloudflare-logo>
View full page →
3 native variants
<kumo-code>
View full page →
3 native variants
<kumo-empty>
View full page →
3 native variants
<kumo-grid>
View full page →
3 native variants
<kumo-grid-item>
View full page →
3 native variants
<kumo-layer-card>
View full page →
3 native variants
<kumo-link>
View full page →
3 native variants
<kumo-loader>
View full page →
3 native variants
<kumo-meter>
View full page →
3 native variants
<kumo-surface>
View full page →
3 native variants
<kumo-table>
View full page →
3 native variants
<kumo-table-of-contents>
View full page →
3 native variants
<kumo-text>
View full page →
3 native variants
Interactive controls — buttons, fields, toggles and selection inputs.
<kumo-button>
View full page →
3 native variants
<kumo-checkbox>
View full page →
3 native variants
<kumo-clipboard-text>
View full page →
3 native variants
<kumo-field>
View full page →
3 native variants
<kumo-input>
View full page →
3 native variants
<kumo-input-area>
View full page →
3 native variants
<kumo-input-group>
View full page →
3 native variants
<kumo-label>
View full page →
3 native variants
<kumo-pagination>
View full page →
3 native variants
<kumo-radio>
View full page →
3 native variants
<kumo-sensitive-input>
View full page →
3 native variants
<kumo-switch>
View full page →
3 native variants
Stateful components with floating surfaces — open the menus, dialogs, listboxes and popovers; they really work.
<kumo-autocomplete>
View full page →
3 native variants
<kumo-combobox>
View full page →
3 native variants
<kumo-dialog>
View full page →
3 native variants
<kumo-popover>
View full page →
3 native variants
<kumo-select>
View full page →
3 native variants
<kumo-tabs>
View full page →
3 native variants