Integration of semantic-ui2 with vue.js2
To use a version of
Vue
<2.6.0, usev-semantic
version 1
The purpose of the integration is to allow some logic-level approach - ex: the tables are defined by column and not by rows - and to integrate the jQuery
for it to be invisible to the programer. jQuery
of course still needs to be installed, but there is no need to use it.
The css-classes specific to a component are set as boolean properties of the component. These two codes are equivalent :
<button primary>Click me!</button>
<button class="primary">Click me!</button>
There is a live demo/preview
For usage:
npm install v-semantic --save
import vs from 'v-semantic'
Vue.use(vs);
//- or -
import vs from 'v-semantic'
Vue.use(vs, {prefix: 'x'});
//- or -
import {Modal, Command, Button} from 'v-semantic'
@Component({
components: {Modal, Button},
directives: {Command}
})
Requiring the main library will export each components and directives, and a default
that lets you Vue.install(...)
.
The prefix
(default "s"
) option will be used before each name of component for registration ('button' --> <s-button />
)
git clone
npm run demo
This will produce demo/run/app.js
and therefore, the file demo/run/index.html
will be usable directly in the browser. To compile the library only, use npm run prepack
There is no plan to have one-source-file-per-component, it's not a huge library.
These should work and implement their intended final behaviour, even if details can still change
These have been developped deeper in this library even not completely bound to semantic. It is interwined with semantic though.
- menus
- radios
- embed (iframe)
- sidebar
- search
- shape
- rating
- reveal?
- popup
- visibility
- messages
Some of semantic-ui
functionalities are just classes to add to some div
for which the point of making a custom control out of is discussable.
- container
- divider
- header
- image
- list
- rail
- segment
- grid
- advertisement
- card
- transitions (Vue has it)
- label
- menu (integration with vue-router)
- message (toasters? ...?)
- nag
- sticky
- lists
- labels
- buttons
- comments
- feeds
- items
- statistics
- steps
If you wanna help, please do.
If you are interested in the development of a component, please leave a comment.