
Research
Two Malicious Rust Crates Impersonate Popular Logger to Steal Wallet Keys
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
vue-bulma-components
Advanced tools
The goal of this library is to use the bulma class syntax as components and props.
3kb minified
Demo and try the live demo too :)
Exemple with grid system
Original Bulma way:
<div class="columns is-mobile">
<div class="column is-half is-offset-one-quarter">
A column
</div>
</div>
Vue-bulma-component way:
<b-columns is-mobile>
<b-column is-half is-offset-one-quarter>
A column
</b-column>
</b-columns>
One cool feature of using the Bulma css api as directives is toggling them. See how the is-loading
class is handled
Ex:
<button class="button is-dark" :class="{ 'is-loading': bool }">
Send
</button>
Vue-bulma-component way:
<b-button is-dark :is-loading="bool">
Send
</b-button>
Much nicer right ? ;)
Note:
You can also use the Pascal case notation, example:
<BButton is-dark :is-loading="bool">
Send
</BButton>
If you want to add any other class simply use the normal class attribute
<b-button is-dark :class="my-custom-class">
Send
</b-button>
yarn add vue-bulma-components
or
npm install --save vue-bulma-components
Then install Bulma however you want :).
Inside your main.js
import vueBulmaComponents from 'vue-bulma-components'
Vue.use(vueBulmaComponents)
It will make globallly available all these bulma components with the prefix b-
or B
if you prefer the Pascal case component naming.
You can also change the default prefix of all the bulma components (to avoid collision with existing components in your project)
import vueBulmaComponents from 'vue-bulma-components'
Vue.use(vueBulmaComponents, {prefix: 'y-'})
Instead of using <b-columns/>
you need to use <y-columns/>
<template>
<b-box/>
</template>
<script>
import { bulmaComponentGenerator } from 'vue-bulma-components'
export default {
components: {
box: bulmaComponentGenerator('box')
}
}
</script>
Yes, you can actually create any vue-bulma-component by calling bulmaComponentGenerator(bulmaComponentStr)
.
By default, most of the components are rendered as <div>
. You can also use the prop outerElement="span"
to change this behavior.
If you want to globally apply default outer element for some bulma component, you can use outerElement
option on Vue.use()
.
import vueBulmaComponents from 'vue-bulma-components'
Vue.use(vueBulmaComponents, {
outerElement: {
'navbar': 'nav',
'navbar-item': 'a'
}
})
If you use the Vue.use()
method to use the vue-bulma-components.
Most of the components are named after the bulma class they belong to.
Ex: <box/> <card/> <panel/> ...
However, some bulma components are also named after native html element. This is why they are prefixed.
Ex :
input
<b-input>
. This prefix is used to avoid collision with native html <input>
element.If you generate bulma components
<script>
import { bulmaComponentGenerator } from 'vue-bulma-components'
export default {
components: {
box: bulmaComponentGenerator('box', 'span')
}
}
</script>
Usage:
bulmaComponentGenerator(bulma_coponent_name,rendered_outer_html_element )
.
Note: rendered_outer_html_element
is optional.
Currently you cannot use v-model with <b-input>
as expected. Because vue-bulma-components
use functional components.
Don't worry, you can still bind a value to a <b-input>
component using @input
event (it's what v-model does under the hood):
<template>
<b-control>
<b-input :value="foo" @input="handleInputChange"/>
{{foo}}
</b-control>
</template>
<script>
export default {
data: () => ({
foo: ''
}),
method: {
handleInputChange (e) {
this.foo = e.target.value
}
}
}
</script>
Note:
If you come from the version 1.x.x
, there is a breaking change.
From 2.x.x
when using Vue.use(vueBulmaComponents)
, default available components are prefixed by <b-[bulmacomponent]/>
instead of <[bulmacomponent]/>
FAQs
Quickly Translate Bulma css in to vue components
We found that vue-bulma-components demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Socket uncovers malicious Rust crates impersonating fast_log to steal Solana and Ethereum wallet keys from source code.
Research
A malicious package uses a QR code as steganography in an innovative technique.
Research
/Security News
Socket identified 80 fake candidates targeting engineering roles, including suspected North Korean operators, exposing the new reality of hiring as a security function.