npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

vue-autonumeric

v1.2.6

Published

An AutoNumeric wrapper for Vue.js

Downloads

5,000

Readme

vue-autoNumeric

A Vue.js component that wraps the awesome AutoNumeric input formatter library

NPM NPM version Downloads Known Vulnerabilities Get in touch on Gitter chat


vue-autoNumeric wraps the awesome AutoNumeric library and generate an <input> element managed by AutoNumeric.

Checkout the demo!

Alternatively you can check the examples directly in your browser to see how to integrate the component with Vue and AutoNumeric.

Installation

yarn add vue-autonumeric
# or
npm install vue-autonumeric --save

Note: In order to minimize the size of the vue-autoNumeric component, the AutoNumeric library dependency is not bundled with it.

This means you need to link the AutoNumeric library with either ways:

...in your html <head> tag directly

<!-- locally... -->
<script src="../node_modules/autonumeric/dist/autonumeric.min.js"></script>
<!-- ...or by using a CDN -->
<script src="https://unpkg.com/autonumeric"></script>

Then you need to tell Webpack to treat the AutoNumeric dependency as external so that it does not try to bundle it.Here is a really simple webpack.config.js example that does that:

module.exports = {
    entry  : './src/vueAutonumericTest.js',
    output : {
        filename: './dist/bundle.js'
    },
    externals: {
        autonumeric: 'AutoNumeric',
    },
};

...or by importing it directly as an ES6 module

You can choose to directly import the AutoNumeric library in your source code.First, install the autonumeric dependency so that Webpack can find it using:

yarn add autonumeric
# or
npm install autonumeric --save

You will as usual be able to use the vue-autonumeric component in your Vue components using:

import VueAutonumeric from '../src/components/VueAutonumeric.vue';

export default {
    name      : 'myComponent',

    components: {
        VueAutonumeric,
    },
}

However, when doing that if you want to be able to bundle all the scripts together with Webpack, you'll need to define an alias for the AutoNumeric library in your Webpack config, otherwise Webpack will complain about the npm package autonumeric case.

The alias that you need to declare in your Webpack configuration:

module.exports = {
    entry  : './src/vueAutonumericTest.js',
    output : {
        filename: './dist/bundle.js'
    },
    resolve: {
        alias: {
            AutoNumeric: 'node_modules/autonumeric/dist/autoNumeric.min',
        },
    },
};

How to use?

The AutoNumeric component can be instantiated the same way AutoNumeric can.

With an option object:

<vue-autonumeric
     v-model="myValue"
     :options="{
         digitGroupSeparator: '.',
         decimalCharacter: ',',
         decimalCharacterAlternative: '.',
         currencySymbol: '\u00a0€',
         currencySymbolPlacement: 's',
         roundingMethod: 'U',
         minimumValue: '0'
     }"
></vue-autonumeric>

With a predefined option name:

<vue-autonumeric
    v-model="myValue"
    :options="'French'"
></vue-autonumeric>

With multiple option objects/predefined options:

<vue-autonumeric
    v-model="myValue"
    :options="['euro', { minimumValue: '0' }]"
></vue-autonumeric>

Other props

Placeholder

You can define the input placeholder using:

<vue-autonumeric
    v-model="myValue"
    :options="'euro'"
    :placeholder="'Enter your value here'"
></vue-autonumeric>
Tag

You can also specify the type of html tag (within the AutoNumeric supported list) this component should generate using the tag prop. By default, an <input> element is generated, but if you want a <div> element, you can use:

<vue-autonumeric
    v-model="myValue"
    options="euro"
    tag="div"
></vue-autonumeric>

Note: this will automatically set the contenteditable attribute to true for that generated element.

Integration with other scripts & events support

This wrapper supports setting the AutoNumeric options via an :options prop. It also supports external value changes (via aNElement.set(42) for instance) and update the formatting and the v-model accordingly.

The paste, drop and wheel events are supported as well.

Moreover, if you modify the :options prop, the AutoNumeric settings will be automatically updated with the new options.

Caveats

Please note that directly setting a :value='42' on the <vue-autonumeric> component will break it (really!). Do NOT do that:

<vue-autonumeric
    v-model="myValue"
    :options="{ minimumValue: '0' }"
    :value="42042.69" <!-- This fails -->
></vue-autonumeric>

Demo

The official AutoNumeric documentation is using this component extensively :) An editable live example is available on Codepen.

Examples

You can also check the shipped examples in your browser, and study their source here.To do so, first compile the example using:

# this will build the component *and* the examples
yarn build 

Then check the resulting html file in your browser using:

firefox ./examples/index.html # or `chrome`

Requirements

Browser support

This supports the same browsers than AutoNumeric supports:

  • Firefox and
  • Chrome

(latest 2 versions) If you use IE/Edge/Safari/Opera, this might work ;)

Contributing

Whenever you change the source code, you can check how it affects the default examples by first building those in examples/index.html with:

yarn build:examples

The contribution guidelines for vue-autoNumeric are the same than for the parent AutoNumeric project.

Support

As always, if you find this useful, please consider supporting its development! Huge Thanks :)

License

vue-autoNumeric is open-source and released under the MIT License.

Copyright © 2016-2018 Alexandre Bonneau

PS: I would love to know how you're using vue-autonumeric. Contact and tell me! :)