TypeScript icon, indicating that this package has built-in type declarations

0.9.21-alpha.14 • Public • Published

Buefy is a lightweight library of responsive UI components for Vue.js based on Bulma framework and design.

About this fork

This fork (branch vue-3) is a version of Buefy that works with Vue 3 (not with Vue 2). The branch vue-3 has departed from the then latest stable version 0.9.21.

Please note that this branch was previously based on the version 0.9.7, though, it has been completely rebased from 0.9.21.

Migration goal

The migration goal was to make the documentation page of every component work. Some features not used in the documentation pages may not work. Please refer to MIGRATION-NOTE.md for more details about what challenges I faced.

Unit tests have not been touched at all.

Server-side-rendering has neither been tested.

Breaking changes

Because not all of Vue 2 features could be reproduced with Vue 3, there are some breaking changes. Please refer to CHANGELOG.md for more details. The biggest breaking change is obviously, this does not work with Vue 2.

Properties for programmatically opening a Dialog or Modal have changed from v0.9.21-vue3-1 to v0.9.21-vue3-2 (became compatible with the original Buefy). Please refer to CHANGELOG.md for more details.

How to install

To install this fork, please run the following command,

npm install @fantage9/buefy-vue3

The latest version is tagged v0.9.21-vue3-2.


  • Keep your current Bulma theme / variables easily
  • Supports both Material Design Icons and FontAwesome
  • Very lightweight with none internal dependencies aside from Vue & Bulma
  • About 88KB min+gzip (with Bulma included)
  • Semantic code output
  • Follows Bulma design and some of the Material Design UX
  • Focus on usability and performance without over-animating stuff


The documentation is in the docs directory, it serves as the demo as well.

Browse online documentation here.

Quick start

You need Vue.js version 3.0+. (Vue 2 is not supported)

1 Install via npm

npm install @fantage9/buefy-vue3

2 Import and use Buefy


import { createApp } from 'vue';
import Buefy from '@fantage9/buefy-vue3';
import '@fantage9/buefy-vue3/dist/buefy.css';

const app = createApp();


or Individual Components

import { createApp } from 'vue'
import { Field, Input } from '@fantage9/buefy-vue3'
import 'buefy/dist/buefy.css'

const app = createApp();


3 Include Material Design Icons

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@5.8.55/css/materialdesignicons.min.css">

If you want to customize the icons or the theme, refer to the customization section on the documentation.

Browser support

Recent versions of Firefox, Chrome, Edge, Opera and Safari. IE10+ is only partially supported.


Please see the contributing guidelines


Version will follow v0.Y.Z, where:

  • Y: Major (breaking changes)
  • Z: Minor or patch

Core Team

Walter Tommasi

Special thanks to Rafael Beraldo, the original author.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Rafael Beraldo


Alexandre Paradis


Yuxing Liao




Apolokak Lab


Antério Vieira


Jorge Nieto


Mateus Machado Luna


All contributors

This project follows the all-contributors specification. Contributions of any kind welcome!


Code released under MIT license.

Package Sidebar


npm i @fantage9/buefy-vue3

Weekly Downloads






Unpacked Size

8.49 MB

Total Files


Last publish


  • fantage9