import { jsx, jsxs } from 'react/jsx-runtime';
import { AddIcon, MinusIcon } from '@chakra-ui/icons';
import { useNumberInput, useColorModeValue, NumberInput as NumberInput$1, HStack, Input, ButtonGroup, IconButton } from '@chakra-ui/react';

var __defProp = Object.defineProperty;
var __defProps = Object.defineProperties;
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
var __spreadValues = (a, b) => {
  for (var prop in b || (b = {}))
    if (__hasOwnProp.call(b, prop))
      __defNormalProp(a, prop, b[prop]);
  if (__getOwnPropSymbols)
    for (var prop of __getOwnPropSymbols(b)) {
      if (__propIsEnum.call(b, prop))
        __defNormalProp(a, prop, b[prop]);
    }
  return a;
};
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
var __objRest = (source, exclude) => {
  var target = {};
  for (var prop in source)
    if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
      target[prop] = source[prop];
  if (source != null && __getOwnPropSymbols)
    for (var prop of __getOwnPropSymbols(source)) {
      if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
        target[prop] = source[prop];
    }
  return target;
};
const NumberInput = (_a) => {
  var _b = _a, {
    placeholder,
    name,
    step,
    showIconButtons = true
  } = _b, props = __objRest(_b, [
    "placeholder",
    "name",
    "step",
    "showIconButtons"
  ]);
  const { getInputProps, getIncrementButtonProps, getDecrementButtonProps } = useNumberInput(__spreadValues({
    step
  }, props));
  const color = useColorModeValue("gray.300", "whiteAlpha.500");
  const increment = getIncrementButtonProps();
  const decrement = getDecrementButtonProps();
  const input = getInputProps();
  return /* @__PURE__ */ jsx(NumberInput$1, __spreadProps(__spreadValues({}, props), { name, step, children: /* @__PURE__ */ jsxs(HStack, { maxW: "320px", children: [
    /* @__PURE__ */ jsx(
      Input,
      __spreadProps(__spreadValues({}, input), {
        "data-testid": `${name}_field`,
        placeholder,
        type: step ? "decimal" : "numeric"
      })
    ),
    showIconButtons && /* @__PURE__ */ jsxs(ButtonGroup, { children: [
      /* @__PURE__ */ jsx(
        IconButton,
        __spreadProps(__spreadValues({}, increment), {
          "aria-label": "number-input-add-icon",
          "data-testid": "number-input-add-icon",
          icon: /* @__PURE__ */ jsx(AddIcon, { color }),
          variant: "inputOutline",
          size: "xs",
          p: 0,
          color
        })
      ),
      /* @__PURE__ */ jsx(
        IconButton,
        __spreadProps(__spreadValues({}, decrement), {
          "aria-label": "number-input-minus-icon",
          "data-testid": "number-input-minus-icon",
          icon: /* @__PURE__ */ jsx(MinusIcon, { color }),
          variant: "inputOutline",
          size: "xs",
          p: 0,
          color
        })
      )
    ] })
  ] }) }));
};

export { NumberInput as default };
//# sourceMappingURL=NumberInput.js.map
