lkt-button
LKT Button
A simple button component for Vue.js 3.0.
Installation
With npm
npm i -S lkt-button
Typical use:
In your main.js
import LktButton from 'lkt-button';
app.use(LktButton);
App use options:
defaultStatestring (default: undefined) => Set a default state for all buttons
In your component:
<lkt-button v-on:click="doSomething" v-bind:disabled="disabledChecker"></lkt-button>
export default {
methods: {
doSomething() {
console.log('May the force be with you');
},
disabledChecker() {
return false;
},
}
}
Props
type
Type: String
Required: false
Default: button
Options: button, submit, reset
Determines which kind of button will be.
<lkt-button type="submit"></lkt-button>
name
Type: String
Required: false
Default: a random string is generated
An identifier emitted on click.
<lkt-button name="sendMessage"></lkt-button>
value
Type: String
Required: false
Default: '
Set a value for form buttons. Emitted on click.
<lkt-button v-bind:value="myButton"></lkt-button>
palette
Type: String
Required: false
Default: ''
Appends a palette classname. It's useful for palette control and styling.
<lkt-button palette="calculating"></lkt-button>
disabled
Type: Boolean
Required: false
Default: false
Determines if button is disabled or not.
<lkt-button disabled></lkt-button>
<lkt-button v-bind:disabled="disabledChecker"></lkt-button>
Events
-
LktButton emits these events:
click
HTML:
<lkt-button v-on:click="doSomething"></lkt-button>
Slots
default slot
This slot allows you to fill the button with whatever you want.
<lkt-button name="testButton" v-on:click="doSomething">
Click, me!
</lkt-button>
prev/next slot
These slots are designed to add something before/after the text, like an icon.
<lkt-button name="testButton" v-on:click="doSomething">
Click, me!
<template v-slot:prev>
<i class="font-icon"></i>
</template>
<template v-slot:next>
<i class="font-icon2"></i>
</template>
</lkt-button>
prev-loading/next-loading slot
Same as prev/next but only appears if button is loading
<lkt-button name="testButton" v-on:click="doSomething">
Click, me!
<template v-slot:prev-loading>
<i class="font-icon"></i>
</template>
<template v-slot:next-loading>
<i class="font-icon2"></i>
</template>
</lkt-button>
Styling
Style configuration
If you want to modify the default style without having to override styles in CSS, you can use the configurator like this:
@use "node_modules/lkt-button/lkt-button";
@include lkt-button.configure((border-width: 2px)); //opts list
Available style options
| Option | Default value |
|---|---|
| border-width | 1px |
| border-style | solid |
| border-color | #ddd |
| color | #333 |
| background | transparent |
| height | 35px |
| min-width | 150px |
| padding | 7px |
| slot-gap | 5px |
| font-weight | 300 |
| line-height | 1 |
| text-align | center |
| cursor | default |
| box-shadow | none |
| border-radius | lkt-theme.$primary-border-radius |
| transition | lkt-theme.$primary-transition |
| font-size | lkt-theme.$primary-button-font-size |
| font-family | lkt-theme.$primary-button-font-family |
Style generation
The following example will show you how to generate styles.
@use "node_modules/lkt-button/lkt-button";
@include lkt-button.generate();
Theme modifiers
If lkt-theme is configured, the generate mixin also will generate some colored styles if colors were configured in lkt-theme.
These modifiers will be the way:
lkt-button--
For example, if you already set up info color and info color dark, it will generate the following modifiers:
lkt-button--info lkt-button--info-dark
All lkt-theme colors can generate a modifier but disabled (which generates styles if button is disabled) and focus (which is not intended for this component).
Some example could be:
lkt-button--info lkt-button--info-dark lkt-button--info-darker lkt-button--info-light lkt-button--info-lighter
lkt-button--success lkt-button--success-dark lkt-button--success-darker lkt-button--success-light lkt-button--success-lighter
lkt-button--warning lkt-button--warning-dark lkt-button--warning-darker lkt-button--warning-light lkt-button--warning-lighter
Using CSS Selectors in HTML
<lkt-button class="lkt-button--info">More info</lkt-button>
<lkt-button class="lkt-button--success-light">Confirm action</lkt-button>
The palette prop
You can apply lkt-theme modifiers with the palette prop this way:
<lkt-button palette="info">More info</lkt-button>
<!-- Is the same as: -->
<lkt-button class="lkt-button--info">More info</lkt-button>
Related Packages
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 2.0.49 | ^3.3.0 | MIT | |
| 2.0.48 | ^3.3.0 | MIT | |
| 2.0.47 | ^3.3.0 | MIT | |
| 2.0.46 | ^3.3.0 | MIT | |
| 2.0.45 | ^3.3.0 | MIT | |
| 2.0.44 | ^3.3.0 | MIT | |
| 2.0.43 | ^3.3.0 | MIT | |
| 2.0.42 | ^3.3.0 | MIT | |
| 2.0.41 | ^3.3.0 | MIT | |
| 2.0.40 | ^3.3.0 | MIT | |
| 2.0.39 | ^3.3.0 | MIT | |
| 2.0.38 | ^3.3.0 | MIT | |
| 2.0.37 | ^3.3.0 | MIT | |
| 2.0.36 | ^3.3.0 | MIT | |
| 2.0.35 | ^3.3.0 | MIT | |
| 2.0.34 | ^3.3.0 | MIT | |
| 2.0.33 | ^3.3.0 | MIT | |
| 2.0.32 | ^3.3.0 | MIT | |
| 2.0.31 | ^3.3.0 | MIT | |
| 2.0.30 | ^3.3.0 | MIT | |
| 2.0.29 | ^3.3.0 | MIT | |
| 2.0.28 | ^3.3.0 | MIT | |
| 2.0.27 | ^3.3.0 | MIT | |
| 2.0.26 | ^3.3.0 | MIT | |
| 2.0.25 | ^3.3.0 | MIT | |
| 2.0.24 | ^3.3.0 | MIT | |
| 2.0.23 | ^3.3.0 | MIT | |
| 2.0.22 | ^3.3.0 | MIT | |
| 2.0.21 | ^3.3.0 | MIT | |
| 2.0.20 | ^3.3.0 | MIT |
Showing the latest 30 of 104. See every release on npm