Semantic UI Vue is the Vue integration for Semantic UI.
It is highly inspired on Semantic UI React If you have used it already, you will find Semantic UI Vue's API to be almost the same.
Semantic UI Vue is still under heavy development. Please, feel free to contribute.
Do you have a question? Do you want to submit a bug, or suggest an improvement?
Please contact us! Especially at this stage, we really need this.
To do so, do not hesitate to join our chat on Gitter, or submit an issue (it doesn't have to be a bug). Read the CONTRIBUTING.md for more details
The Semantic UI Vue package can be installed via NPM:
$ npm install semantic-ui-vue --save
Installing Semantic UI Vue provides the JavaScript for your components. You'll also need to include a stylesheet to provide the styling for your components.
Once Semantic UI Vue has been installed, you will need to import it in your main file (usually index.js or main.js) and tell Vue to use it:
import Vue from 'vue';
import SuiVue from 'semantic-ui-vue';
/* ... */
Vue.use(SuiVue);
If you are not using Webpack, you can add the script in your html:
<!DOCTYPE html>
<html lang="en">
<head>
<!-- head -->
</head>
<body>
<div id="app"></div>
<script src="node_modules/vue/dist/vue.min.js"></script>
<script src="node_modules/semantic-ui-vue/dist/umd/semantic-ui-vue.min.js"></script>
<script>
Vue.use(SemanticUIVue);
var app = new Vue({
el: '#app',
data: {
message: 'Hello Vue!'
},
template: '<span><sui-button primary>click me</sui-button>{{message}}</span>'
});
</script>
</body>
</html>
Or, in alternative, you can import it using a CDN:
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.13/vue.min.js"></script>
<script src="https://unpkg.com/semantic-ui-vue/dist/umd/semantic-ui-vue.min.js"></script>
Now you are ready to go! Check out the components' examples to see how to use them.
You can use the default Semantic UI stylesheet by including a Semantic UI CDN link in yourindex.html file. This is the quickest way to get started with Semantic UI Vue. You won't be able to use custom themes with this method.
<link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.0/semantic.min.css"></link>
The Semantic UI CSS package is automatically synced with the main Semantic UI repository to provide a lightweight CSS only version of Semantic UI. Semantic UI CSS can be installed as a package in your project using NPM. You won't be able to use custom themes with this method.
$ npm install semantic-ui-css --save
After install, you'll need to include the minified CSS file in your index.js file:
import 'semantic-ui-css/semantic.min.css';
Install the full Semantic UI package. Semantic UI includes Gulp build tools so your project can preserve its own theme changes, allowing you to customize the style variables.
Detailed documentation on theming in Semantic UI is provided here.
$ npm install semantic-ui --save-dev
After building the project with Gulp, you'll need to include the minified CSS file in your index.js file:
import '../semantic/dist/semantic.min.css';
You can use semantic-ui-vue as nuxt.js module
Usage:
- Install semantic-ui-vue and semantic-ui-css packages
- Add this into your nuxt.config.js file:
{
modules: [
'semantic-ui-vue/nuxt', // includes styles from semantic-ui-css
['sematic-ui-vue/nuxt', {css: false}] // if you have your own semantic-ui styles
]
}