@bridge-ui/adapters
| Install | |
|---|---|
npm install @bridge-ui/adapters |
|
| Latest Version: | 0.1.4 |
| Vue: | 3 |
| License: | MIT |
| Last Updated: | Oct 9, 2026 |
| Links: | GitHub · npm |
BridgeUI Adapters
🚀 Introduction
@bridge-ui/adapters ships ready-made date, icon, and i18n adapters for @bridge-ui/react and @bridge-ui/vue. Adapters implement the contracts from @bridge-ui/core/Adapters and are wired through BridgeUIProvider (React) or createBridgeUI (Vue) global.*.
Every adapter lives under a react/ or vue/ subpath — including framework-agnostic ones — so imports always follow @bridge-ui/adapters/{react,vue}/<name>.
📦 Install
npm install @bridge-ui/adapters
Then install the optional peer of each adapter you use (e.g. dayjs, lucide-react). Only @bridge-ui/core is a required peer; it is already installed with @bridge-ui/react / @bridge-ui/vue.
🔌 Usage
React:
import { createDayjsDateAdapter } from "@bridge-ui/adapters/react/date-dayjs";
import { createLucideIconAdapter } from "@bridge-ui/adapters/react/icon-lucide";
import { BridgeUIProvider } from "@bridge-ui/react";
<BridgeUIProvider
global={{
dates: createDayjsDateAdapter(),
icons: createLucideIconAdapter(),
}}
>
<App />
</BridgeUIProvider>;
Vue:
import { createDayjsDateAdapter } from "@bridge-ui/adapters/vue/date-dayjs";
import { createLucideIconAdapter } from "@bridge-ui/adapters/vue/icon-lucide";
import { createBridgeUI } from "@bridge-ui/vue";
app.use(
createBridgeUI({
global: {
dates: createDayjsDateAdapter(),
icons: createLucideIconAdapter(),
},
}),
);
🧩 Adapters
| Adapter | Factory | react/ peers |
vue/ peers |
|---|---|---|---|
date-date-fns |
createDateFnsDateAdapter |
date-fns |
date-fns |
date-dayjs |
createDayjsDateAdapter |
dayjs |
dayjs |
date-luxon |
createLuxonDateAdapter |
luxon |
luxon |
date-moment |
createMomentDateAdapter |
moment (+ moment-timezone) |
moment (+ moment-timezone) |
i18n-dictionary |
createDictionaryI18nAdapter |
— | — |
i18n-i18next |
createI18nextAdapter |
i18next |
— |
i18n-vue-i18n |
createVueI18nAdapter |
— | vue-i18n |
icon-lucide |
createLucideIconAdapter |
lucide-react |
@lucide/vue |
icon-heroicons |
createHeroiconsIconAdapter |
@heroicons/react |
@heroicons/vue |
icon-tabler |
createTablerIconAdapter |
@tabler/icons-react |
@tabler/icons-vue |
icon-phosphor |
createPhosphorIconAdapter |
@phosphor-icons/react |
@phosphor-icons/vue |
icon-fontawesome |
createFontAwesomeIconAdapter |
@fortawesome/react-fontawesome + core |
@fortawesome/vue-fontawesome + core |
Font Awesome also needs @fortawesome/fontawesome-svg-core and @fortawesome/free-solid-svg-icons.
🎨 Tailwind
No extra @source is needed. Adapter classes are named bridge-* utilities styled by the theme.css of @bridge-ui/react / @bridge-ui/vue.
🔁 Migrating from Adapters/Examples
Adapters used to ship as @bridge-ui/{react,vue}/Adapters/Examples/*. Swap the import prefix; factory names are unchanged:
| Before | After |
|---|---|
@bridge-ui/react/Adapters/Examples/<name> |
@bridge-ui/adapters/react/<name> |
@bridge-ui/vue/Adapters/Examples/<name> |
@bridge-ui/adapters/vue/<name> |
Move the adapter peers (date libs, icon sets, i18n) to your app dependencies if they were only installed for the old subpaths.
🔧 Contributing
npm install
npm run build
npm run test:run
npm run lint
npm run type-check
npm run check:parity
Framework-agnostic adapters (date-*, i18n-dictionary) and their tests exist in both src/react/ and src/vue/. Change both copies in the same PR — npm run check:parity fails when they drift. See AGENTS.md for code conventions.
📝 License
Bridge UI Adapters is open-source software licensed under the MIT license.
Related Packages
Cluster Envision reusable Web Components built on top of the CE UI framework.
Cluster Envision reusable Web Components built on top of the CE UI framework.
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 0.1.4 | ^3.4.0 | MIT | |
| 0.1.3 | ^3.4.0 | MIT | |
| 0.1.2 | ^3.4.0 | MIT | |
| 0.1.1 | ^3.4.0 | MIT | |
| 0.1.0 | ^3.4.0 | MIT |