UNPKG

@while-and-for/tremor-react

Version:

The React library to build dashboards faster.

2 lines (1 loc) 2.75 kB
"use strict";var e=require("tslib"),r=require("react"),t=require("../../../lib/utils.cjs"),a=require("../../../lib/tremorTwMerge.cjs"),l=require("../../../assets/PlusIcon.cjs"),n=require("../../../assets/MinusIcon.cjs"),o=require("../BaseInput.cjs");function u(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var s=u(r);const d="flex mx-auto text-tremor-content-subtle dark:text-dark-tremor-content-subtle",i="cursor-pointer hover:text-tremor-content dark:hover:text-dark-tremor-content",c=s.default.forwardRef(((u,c)=>{const{onSubmit:p,enableStepper:m=!0,disabled:b,onValueChange:f,onChange:v}=u,k=e.__rest(u,["onSubmit","enableStepper","disabled","onValueChange","onChange"]),w=r.useRef(null),[g,y]=s.default.useState(!1),x=s.default.useCallback((()=>{y(!0)}),[]),C=s.default.useCallback((()=>{y(!1)}),[]),[h,D]=s.default.useState(!1),N=s.default.useCallback((()=>{D(!0)}),[]),M=s.default.useCallback((()=>{D(!1)}),[]);return s.default.createElement(o,Object.assign({type:"number",ref:t.mergeRefs([w,c]),disabled:b,makeInputClassName:t.makeClassName("NumberInput"),onKeyDown:e=>{var r;if("Enter"===e.key&&!e.ctrlKey&&!e.altKey&&!e.shiftKey){const e=null===(r=w.current)||void 0===r?void 0:r.value;null==p||p(parseFloat(null!=e?e:""))}"ArrowDown"===e.key&&x(),"ArrowUp"===e.key&&N()},onKeyUp:e=>{"ArrowDown"===e.key&&C(),"ArrowUp"===e.key&&M()},onChange:e=>{b||(null==f||f(parseFloat(e.target.value)),null==v||v(e))},stepper:m?s.default.createElement("div",{className:a.tremorTwMerge("flex justify-center align-middle")},s.default.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>e.preventDefault(),onMouseUp:()=>{var e,r,t;b||(null===(e=w.current)||void 0===e||e.stepDown(),null==f||f(parseFloat(null!==(t=null===(r=w.current)||void 0===r?void 0:r.value)&&void 0!==t?t:"")))},className:a.tremorTwMerge(!b&&i,d,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},s.default.createElement(n,{"data-testid":"step-down",className:(g?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"})),s.default.createElement("div",{tabIndex:-1,onClick:e=>e.preventDefault(),onMouseDown:e=>e.preventDefault(),onTouchStart:e=>e.preventDefault(),onMouseUp:()=>{var e,r,t;b||(null===(e=w.current)||void 0===e||e.stepUp(),null==f||f(parseFloat(null!==(t=null===(r=w.current)||void 0===r?void 0:r.value)&&void 0!==t?t:"")))},className:a.tremorTwMerge(!b&&i,d,"group py-[10px] px-2.5 border-l border-tremor-border dark:border-dark-tremor-border")},s.default.createElement(l,{"data-testid":"step-up",className:(h?"scale-95":"")+" h-4 w-4 duration-75 transition group-active:scale-95"}))):null},k))}));c.displayName="NumberInput",module.exports=c;