UNPKG

@hitachivantara/uikit-react-core

Version:

Core React components for the NEXT Design System.

55 lines (54 loc) 2.09 kB
"use strict"; Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" }); const jsxRuntime = require("react/jsx-runtime"); const React = require("react"); const material = require("@mui/material"); const uikitReactUtils = require("@hitachivantara/uikit-react-utils"); const icons = require("../icons.cjs"); const utils = require("../Input/utils.cjs"); const NumberInput_styles = require("./NumberInput.styles.cjs"); const Adornment = require("../FormElement/Adornment/Adornment.cjs"); const Input = require("../Input/Input.cjs"); const HvNumberInput = React.forwardRef(function HvNumberInput2(props, ref) { const { classes: classesProp, className, readOnly, ...others } = uikitReactUtils.useDefaultProps("HvNumberInput", props); const { classes, cx } = NumberInput_styles.useClasses(classesProp); const inputRef = React.useRef(null); const forkedRef = material.useForkRef(ref, inputRef); const buttons = React.useMemo(() => { const handleIncrease = () => { if (inputRef.current) { inputRef.current.stepUp(); utils.changeInputValue(inputRef.current, inputRef.current.value); } }; const handleDecrease = () => { if (inputRef.current) { inputRef.current.stepDown(); utils.changeInputValue(inputRef.current, inputRef.current.value); } }; return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [ /* @__PURE__ */ jsxRuntime.jsx(Adornment.HvAdornment, { icon: /* @__PURE__ */ jsxRuntime.jsx(icons.HvIcon, { name: "Remove" }), onClick: handleDecrease }), /* @__PURE__ */ jsxRuntime.jsx(Adornment.HvAdornment, { icon: /* @__PURE__ */ jsxRuntime.jsx(icons.HvIcon, { name: "Add" }), onClick: handleIncrease }) ] }); }, []); return /* @__PURE__ */ jsxRuntime.jsx( Input.HvInput, { ref: forkedRef, type: "number", className: cx(classes.root, className), endAdornment: !readOnly && buttons, classes, readOnly, disableClear: true, ...others } ); }); exports.HvNumberInput = HvNumberInput;