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

react-input-number-editor-more

v1.1.4

Published

React component that act like adobe suite editor number input field that can be slided.

Downloads

4

Readme

react-input-number-editor-more

React component that act like adobe suite editor number input field that can be slided.

Gitlab pipeline status (branch) coverage report npm

Demo

Preview Image

Live demo available here

示例代码

Features

  • Mouse lock on drag
  • Custom number decimal precision
  • Manual editing of the input
  • Editing cancellation
  • Increment/decrement the value with arrow up and arrow down key
  • Use ctrl and shift key to increment/decrement the value with higher/lesser step
  • Change the value from external event
  • Customize the step modifier for ctrl and shift key
  • Customize the slide modifier for dragging accuracy

Install

npm install --save react-input-number-editor-more

Or

yarn add react-input-number-editor-more

Example

import React, { useState } from 'react';

import InputNumberEditor from 'react-input-number-editor-more';

function Example() {
    const [value, setValue] = useState(0);

    function handleChange(value) {
        setValue(value);
    }

    return (
        <InputNumberEditor
            value={value}
            min={0}
            max={100}
            precision={1}
            onChange={handleChange}
        />
    );
}

Usage

| Prop | Description | Type | Default | Required | | ------------- | ------------------------------------------------------------ | -------- | -------- | -------- | | value | The value to set the input to | number | 0 | Yes | | min | The minimum value reachable | number | - | No | | max | The maximum value reachable | number | - | No | | precision | Number of decimals | number | 0 | No | | step | Number of the stepping | number | 1 | No | | stepModifier | Modifier for the stepping (Ctrl and Shift key) | number | 10 | No | | slideModifier | Modifier for the sliding/dragging mode | string | 0.3 | No | | onChange | Callback called on value change。参数为一个对象{newInternalValue,event,moveNumbers:{movementX,movementY}}。newInternalValue:拖拽得到的最新值。movementX:鼠标在x轴每一次移动的距离;movementY:鼠标在y轴每一次移动的距离。 | func | () => () | No | | mouseSpeed | 调整鼠标速度 | number | 1 | No | | showInput | 是否显示input框,只有在当前组件有子组件的情况下生效(有时我们并不需要input元素) | Boolean | true | No | | doubleSpeed | 当鼠标在y方向翻页时自动调节数字改变速度 | number | 1 | No | | onMouseUp | 鼠标事件,返回参数event | function | | No | | onMouseDown | 鼠标事件,返回参数event | function | | No | | onMouseMove | 鼠标事件,返回参数是一个对象{ moveNumbers: { movementX: movementX * mouseSpeed, movementY: movementY * mouseSpeed, }, event } | function | | No |

对原项目的修改如下:

添加了mouseSpeed、showInput、doubleSpeed属性,以提供更多的可选项。

添加onMouseUp、onMouseDown、onMouseMove事件,以及改变onChange事件返回的参数。

给此组件添子组件时,子组件将作为鼠标操作对象,同样可以操作数字demo

添加的demo:

License

MIT © Vinarnt