Catalog npm
Back to packageRELEASE DETAILS

0.2.0

npm

@021-projects/vue-button

Button component for Vue 3

buttonflatmaterialripplevuevue3
Published14 May 2022
Direct dependencies17
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 17

Native requirements
17 direct targetsNot calculated transitive count
Package / targetRequirementRelationship
vue
Environment
{
  "local_name": "vue",
  "alias": false,
  "peer_metadata": null
}
^3.0.0runtime
@types/shelljs
Environment
{
  "local_name": "@types/shelljs",
  "alias": false,
  "peer_metadata": null
}
^0.8.11development
@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
epic-spinners
Environment
{
  "local_name": "epic-spinners",
  "alias": false,
  "peer_metadata": null
}
^1.1.0development
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
shelljs
Environment
{
  "local_name": "shelljs",
  "alias": false,
  "peer_metadata": null
}
^0.8.5development
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-pQ1EHvcmLkb4RGpA1YoxcQIOGuOXBKCy4erc8LzNX8jHiuPTFTnUzhrgKNEiWlcV5EVlCtNNHESvq68kwoz3nQ==",
  "shasum": "e58c75392bb8831f33adedda00f78b8fd4e50e04",
  "tarball": "https://registry.npmjs.org/@021-projects/vue-button/-/vue-button-0.2.0.tgz",
  "fileCount": 10,
  "unpackedSize": 41692,
  "signatures": [
    {
      "keyid": "SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA",
      "sig": "MEUCIQDB6FI2X7+y9sr0PE8EK4xzwrt7mSuow7JqAzsATFg0+AIgKTkJTLosnw8wvEE1lymvzvXIAhudBmIFaAA7OlPLVcg="
    }
  ],
  "npm-signature": "-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJigC6VACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrGeA/9FCg7Iq8G7JqSuxn36LVyDSwt18aNCB0I714u06/gQxIkM5X0\r\n+UutqTjKu916xiX8TRK1EMmEycmRJKzAs30VFL0+tfReSvGl9slzPPulnhSO\r\n80Mcu1XgVrLAStWvadXa57kXAxo+3X5Hvj8q2qmaFW+DKWAx83zWoWPJnZuQ\r\ng/JvX8Zt0vpF6uw2I39TR11HEeH0N8tBucxz3KQmOSMh6IVID78mkZ4WQQ0v\r\nl/TB/DmiOyZt1XuI9i/1FwSEqx/i1bEEUqu7HnwPjr8cHHyaQgZGB32DhYUz\r\nHZq5mH6CN8G7tgHjcY6tUDXqeQXTrQNYbTcsXUaM+5i9yBxm24ra9nZGjBnJ\r\nkg9ng5fPncP7zIuVT+n2HCR9BUF0AY1vpU8K2aZEMRn6MBn+4OVNK5ZEI+jY\r\nMUFDh0qkhHCv8DV7TuQRii837RauIxSqrNphaHvMdUpwFt6j5xZ+XTn3WLDX\r\nQPSRTLWgmjNQX1KO44egPsf/vD+r9Bm+31zP5hEdqrlsp5DMFPDTXY3l3fTG\r\n1DpxPWoZFx4cdgIolr6x3ZSO5HU6QMH5moMWb2z799Chjdr9FQN7b7uu3N9N\r\nD3IC+bJ7O9mLsIF7F2Uwj7f0AKht/jz3E8odegYXsGlD8Rq2/Wp3JnoeupFg\r\nBfP3aBxT/2Z2DX8ymW4IFDd4FNUFJ+V9aVU=\r\n=7LuF\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:034b07892e90763600a390ec930438fa7e86d34df29bcc413739c89e837fcb49

Other collected versions

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