'use strict';

var core = require('@linaria/core');
var index = require('../Empty/index.js');
var useParrotTranslation = require('../../hooks/useParrotTranslation.js');
var isEmpty = require('../../utils/isEmpty.js');
var tower = require('../../utils/tower.js');
var React = require('react');
var index$1 = require('../Styled/index.js');

function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }

var React__default = /*#__PURE__*/_interopDefault(React);

var __defProp = Object.defineProperty;
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;
};
const Byte = ({
  rawValue,
  noUnitOnZero,
  decimals,
  valueClassName,
  unitClassName,
  emptyProps
}) => {
  const { t } = useParrotTranslation();
  if (isEmpty(rawValue)) {
    return /* @__PURE__ */ React__default.default.createElement(index, __spreadValues({}, emptyProps));
  }
  if (rawValue === -1) {
    return /* @__PURE__ */ React__default.default.createElement("span", null, t("common.calculation"));
  }
  const { value, unit } = tower.formatBytes(rawValue, decimals);
  if (noUnitOnZero && value === 0) {
    return /* @__PURE__ */ React__default.default.createElement("span", { className: "value" }, value);
  }
  return /* @__PURE__ */ React__default.default.createElement("span", null, /* @__PURE__ */ React__default.default.createElement("span", { className: core.cx("value", valueClassName) }, value), /* @__PURE__ */ React__default.default.createElement("span", { className: core.cx("unit", index$1.UnitStyle, unitClassName) }, ` ${unit}`));
};
var Byte$1 = Byte;

module.exports = Byte$1;
