'use strict';

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

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 Percent = ({
  rawValue,
  decimals,
  saturated,
  valueClassName,
  unitClassName,
  emptyProps,
  "data-testid": dataTestId
}) => {
  if (isEmpty(rawValue)) {
    return /* @__PURE__ */ React__default.default.createElement(index, __spreadValues({ "data-testid": dataTestId }, emptyProps));
  }
  const { value, unit } = tower.formatPercent(rawValue, decimals, saturated);
  return /* @__PURE__ */ React__default.default.createElement("span", { "data-testid": dataTestId }, /* @__PURE__ */ React__default.default.createElement("span", { className: core.cx("value", valueClassName) }, value), /* @__PURE__ */ React__default.default.createElement("span", { className: core.cx("unit", unitClassName) }, unit));
};
var Percent$1 = Percent;

module.exports = Percent$1;
