Catalog npm
Back to packageRELEASE DETAILS

0.1.1

npm

@021-projects/vue-button

Button component for Vue 3

buttonflatmaterialripplevuevue3
Published13 May 2022
Direct dependencies14
Transitive dependenciesNot calculated

README

Current package documentation

Button for Vue 3

demo

Project setup

yarn add @021-projects/vue-button

Usage

import VueButton from '@021-projects/vue-button'
import '@021-projects/vue-button/dist/style.css'

...
components: { VueButton }
...
<vue-button label="Test" />
<vue-button label="No caps" no-caps />
<vue-button label="Test" class="custom-btn" />
<vue-button label="Rounded" rounded />
<vue-button label="Rounded ripple" rounded ripple />
<vue-button label="Ripple flat" ripple flat />

<vue-button label="Small" size="sm" />
<vue-button label="Medium" size="md" />
<vue-button label="Large" size="lg" />

<vue-button label="Dark" color="black" text-color="white" />

<vue-button color="black" text-color="white" @click="showAlert"><b>Click me</b></vue-button>

<!-- loading is var from component data -->
<vue-button :loading="loading" label="LOad" @click="loading = !loading" />
<vue-button loading label="Custom loading" @click="showAlert">
  <template #loading="{ spinnerStyle }">
    <spring-spinner v-bind="spinnerStyle" />
    <span style="padding-left: 10px">Loading</span>
  </template>
</vue-button>

<vue-button label="Left" align="left" style="width: 150px" rounded />
<vue-button label="Center" align="center" style="width: 150px" rounded />
<vue-button label="Right" align="right" style="width: 150px" rounded />

Properties

/**
 * Text alignment for label
 */
align: {
  type: String as PropType<'left' | 'center' | 'right'>,
  default: 'center'
},

/**
 * Button title 
 */
label: {
  type: String,
  default: ''
},

/**
 * Button size. Allowed xs, sm, md, lg, xl
 */
size: {
  type: String as PropType<TSize>,
  default: 'md'
},

/**
 * Button (background) color
 */
color: {
  type: String,
  default: '#27ae60'
},

/**
 * Button text color
 */
textColor: {
  type: String,
  default: '#fff'
},

/**
 * Rounded borders for button
 */
rounded: {
  type: Boolean,
  default: false
},

/**
 * Ripple effect on click
 */
ripple: {
  type: Boolean,
  default: false
},

/**
 * No shadow 
 */
flat: {
  type: Boolean,
  default: false
},

/**
 * No upppercase text transform 
 */
noCaps: {
  type: Boolean,
  default: false
},

/**
 * Disabled state
 * If true, button will ignore click event
 * And will look like disabled
 */
disabled: {
  type: Boolean,
  default: false
}

/**
 * Loading state
 * If true, button will ignore click event
 * And will show loading spinner instead of label
 * 
 * Spinner can be replaced in "loading" slot
 */
loading: {
  type: Boolean,
  default: false
},

/**
 * Duration of loading spinner animation
 * Works only if spinner was not replaced in "loading" slot
 */
loadingAnimationDuration: {
  type: Number,
  default: 2500
}

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Declared dependencies 14

Native requirements
14 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
vue
Environment
{
  "local_name": "vue",
  "alias": false,
  "peer_metadata": null
}
^3.0.0runtime
@typescript-eslint/eslint-plugin
Environment
{
  "local_name": "@typescript-eslint/eslint-plugin",
  "alias": false,
  "peer_metadata": null
}
^5.23.0development
@typescript-eslint/parser
Environment
{
  "local_name": "@typescript-eslint/parser",
  "alias": false,
  "peer_metadata": null
}
^5.23.0development
@vue/cli-plugin-babel
Environment
{
  "local_name": "@vue/cli-plugin-babel",
  "alias": false,
  "peer_metadata": null
}
~5.0.4development
@vue/cli-plugin-typescript
Environment
{
  "local_name": "@vue/cli-plugin-typescript",
  "alias": false,
  "peer_metadata": null
}
~5.0.4development
@vue/cli-service
Environment
{
  "local_name": "@vue/cli-service",
  "alias": false,
  "peer_metadata": null
}
~5.0.4development
@vue/compiler-sfc
Environment
{
  "local_name": "@vue/compiler-sfc",
  "alias": false,
  "peer_metadata": null
}
^3.0.0development
@vue/eslint-config-typescript
Environment
{
  "local_name": "@vue/eslint-config-typescript",
  "alias": false,
  "peer_metadata": null
}
^10.0.0development
@vuemod/vue-touch-ripple
Environment
{
  "local_name": "@vuemod/vue-touch-ripple",
  "alias": false,
  "peer_metadata": null
}
^1.1.2development
core-js
Environment
{
  "local_name": "core-js",
  "alias": false,
  "peer_metadata": null
}
^3.6.5development
merge-files
Environment
{
  "local_name": "merge-files",
  "alias": false,
  "peer_metadata": null
}
^0.1.2development
sass
Environment
{
  "local_name": "sass",
  "alias": false,
  "peer_metadata": null
}
^1.26.5development
sass-loader
Environment
{
  "local_name": "sass-loader",
  "alias": false,
  "peer_metadata": null
}
^12.6.0development
typescript
Environment
{
  "local_name": "typescript",
  "alias": false,
  "peer_metadata": null
}
~4.6.4development

Distribution files

1 collected
Distribution 1

Source distribution

Source file
Checksums from source
{
  "integrity": "sha512-GsFRmvQjIdNLGh9KHUtpcguVMzzFRiZqAxNpIF5OtK6vALoUPUpkcKMUp5aGG65pXnz1qxLfmvntGE7djTI/5A==",
  "shasum": "468080278cd036a0b32d450de9d3b8856ec5d3e9",
  "tarball": "https://registry.npmjs.org/@021-projects/vue-button/-/vue-button-0.1.1.tgz",
  "fileCount": 21,
  "unpackedSize": 85650,
  "signatures": [
    {
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
      "sig": "MEUCIQC+KyfEbHr7hUySpbUAtKjHfxl+YTr6AsyB3CuWBXpEvAIgRXgrDjgsabHrT62/IvQ9HMMOSAfhAQJCWkff7mpq42w="
    }
  ],
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJifo8MACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrmZA//eQ3qj/kuECCnfeFo3Xfc4+/bmyoX1x+cdlNywS6aapqBsm73\r\nmzDetB8x4wVG3A1YeQTyPlj2QQGpysKDU4VAZk/3LZbOZGjKlHuV7s4CJUQe\r\nyiMrl4chtTPPEPwruC1aBK54u0TiwUz75NEbHq2YF1DgmwaemAcDTklhtOpu\r\nyhhQ3VHEnTa6sL1Z/pobnQDH5Jz5846tTcDuqycIwfx/07GWLrx2Tmbam6lT\r\nc2S8lNwsTS/9xDBk4iBJgmsozttqB0MyygvIA/wOO+IyAQRj8NGGHxiA8Hlz\r\nIFzw/ILgm3wKEpUG1EyvB/4U+tlIFMY2b7dhMCmsnKzuLgKy/P9FwmEm3MnN\r\nyS+Ff0ui/zGw9RlhuJhHNPc47JsliCjfSZSkfLy3tvP+LLPhdUe9yx/IeHmq\r\nycqcOx7BJBq3BZs/i86dAIDTY/uY95VhYnv2ELRGvjBYX1iiQ1F9hjc+IEks\r\njkhkR77+gxkO+lSG8/aq6R36kqOLHsEavby9Fpt4i1qRL02vtmxPlTKB9Xrr\r\nfjO0uH8k72ln8bLblr3p4nZEFGspWnH0Qa7mS3mYk6jdkXAypU+sPSIB6qJh\r\nD65yvyey9BGObcejtF8OJLmwA45D7hUv3yHybVnw1Y8Dt7lQQUE284lvYsqk\r\n/LJAk5MAvwRjByRKTthVosm1+QYG3O1nESY=\r\n=2Y7R\r\n-----END PGP SIGNATURE-----\r\n"
}

Repository

PENDING
021-projects/vue-button

Shared repository data · GitHub

License detected in repository
Not collected

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 22:00 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package_version:7ea91db8c1ae9fb46d7acd3882bcf127434ba37c3a806c005973f055eeef0a8b

Other collected versions

0.3.25 Nov0.3.122 May0.3.015 May0.2.014 May0.1.514 May0.1.414 MayView all collected versions →