var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
  for (var name in all)
    __defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
  if (from && typeof from === "object" || typeof from === "function") {
    for (let key of __getOwnPropNames(from))
      if (!__hasOwnProp.call(to, key) && key !== except)
        __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
  }
  return to;
};
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
  // If the importer is in node compatibility mode or this is not an ESM
  // file that has been converted to a CommonJS file using a Babel-
  // compatible transform (i.e. "__esModule" has not been set), then set
  // "default" to the CommonJS "module.exports" for node compatibility.
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);

// src/components/productCard/cartSkuCard/components/weighing/index.tsx
var weighing_exports = {};
__export(weighing_exports, {
  default: () => weighing_default
});
module.exports = __toCommonJS(weighing_exports);
var import_react = __toESM(require("react"));
var import_utils = require("@pisell/utils");
var import__ = require("../../index");
var import_index = require("./index.less");
var UNIT_LABEL_MAP = {
  KILOGRAMS: "kg",
  GRAMS: "g",
  POUNDS: "lb",
  OUNCES: "oz"
};
var formatWeight = (value, unit) => {
  const parsedValue = Number(value);
  const displayValue = Number.isFinite(parsedValue) ? parsedValue : 0;
  const displayUnit = UNIT_LABEL_MAP[unit || "KILOGRAMS"];
  return `${displayValue.toFixed(3)} ${displayUnit}`;
};
var Weighing = (props) => {
  const { dataSource, symbol } = props;
  if (!dataSource) {
    return null;
  }
  const {
    mode,
    weight,
    tare,
    net_weight,
    unit_price,
    unit = "KILOGRAMS"
  } = dataSource;
  const unitLabel = UNIT_LABEL_MAP[unit];
  const tareValue = Number((tare == null ? void 0 : tare.value) || 0);
  const isManualWeight = mode === "manual";
  const grossLabel = import_utils.locales.getText("pisell2.cart.sku-card.weighing.gross");
  const tareLabel = import_utils.locales.getText("pisell2.cart.sku-card.weighing.tare");
  const netLabel = import_utils.locales.getText("pisell2.cart.sku-card.weighing.net");
  const unitPriceText = `${symbol || ""}${unit_price ?? "0.00"}`;
  const manualPrefix = isManualWeight ? "(M) " : "";
  const netWeightText = `${tareValue > 0 ? "" : manualPrefix}${formatWeight(
    net_weight,
    unit
  )} ${netLabel}`;
  return /* @__PURE__ */ import_react.default.createElement("div", { className: `${import__.PREFIX}__weighing` }, tareValue > 0 ? /* @__PURE__ */ import_react.default.createElement(
    "div",
    {
      className: `${import__.PREFIX}__weighing-row ${import__.PREFIX}__weighing-row--large`
    },
    /* @__PURE__ */ import_react.default.createElement("span", null, `${manualPrefix}${grossLabel}: ${formatWeight(
      weight,
      unit
    )}`)
  ) : null, tareValue > 0 ? /* @__PURE__ */ import_react.default.createElement(
    "div",
    {
      className: `${import__.PREFIX}__weighing-row ${import__.PREFIX}__weighing-row--large`
    },
    /* @__PURE__ */ import_react.default.createElement("span", null, `${tareLabel}: ${formatWeight(
      tare == null ? void 0 : tare.value,
      (tare == null ? void 0 : tare.unit) || unit
    )}`)
  ) : null, /* @__PURE__ */ import_react.default.createElement(
    "div",
    {
      className: `${import__.PREFIX}__weighing-row ${import__.PREFIX}__weighing-row--large`
    },
    /* @__PURE__ */ import_react.default.createElement("span", null, netWeightText),
    /* @__PURE__ */ import_react.default.createElement("span", { className: `${import__.PREFIX}__weighing-unit-price` }, `@ ${unitPriceText}/${unitLabel}`)
  ));
};
var weighing_default = Weighing;
