lh-ui-vue2
Enterprise-grade Vue 2.7 component library with an ink-painting aesthetic
One core (@lh-ui/share) — each framework is just a UI layer
Ink-painting design system
CSS-variable theming with presets and dark mode. Every token originates from the single source in @lh-ui/share — zero style duplicates inside the library.
Learn about theming →Three connected chains
The theme chain (ConfigProvider), the form chain (validation + aria-invalid interplay), and the overlay chain (Dialog / Tooltip / Select dropdowns share one positioning and z-index engine).
See ConfigProvider →58 components, five-part structure
Each component is an SFC plus a composable, types, an installer, and a demo. Pure logic lives in the share core; the Vue2 layer only wires reactivity.
Installation →Built for existing Vue 2 projects
Runs on Vue 2.7 (the final release) with <script setup>. The v-model and .sync semantics match what your current Vue 2 project already uses.
Quick Start →Accessibility first
Every component ships with ARIA attributes and keyboard interaction. Focus management, aria-invalid interplay, and dark-mode contrast follow WCAG.
See a11y in practice →One core, many UI layers
The lh-ui family shares one core and one style source across Vue2 / Vue3 / React, so cross-framework migration costs nearly nothing.
Visit the Vue3 version →