Have ideas to improve npm?Join in the discussion! »

    @samhammer/vue-autonumeric
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.9 • Public • Published

    vue-autoNumeric

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

    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>

    ...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,
        },
    }

    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! :)

    Install

    npm i @samhammer/vue-autonumeric

    DownloadsWeekly Downloads

    5

    Version

    1.2.9

    License

    MIT

    Unpacked Size

    97.4 kB

    Total Files

    21

    Last publish

    Collaborators

    • avatar
    • avatar
    • avatar
    • avatar
    • avatar
    • avatar