var __create = Object.create;
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
var __getProtoOf = Object.getPrototypeOf;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __propIsEnum = Object.prototype.propertyIsEnumerable;
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;
};
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(
  isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
  mod
));
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
var stdin_exports = {};
__export(stdin_exports, {
  default: () => stdin_default
});
module.exports = __toCommonJS(stdin_exports);
var import_react = __toESM(require("react"));
var import_classnames = __toESM(require("classnames"));
var import_utils = require("../utils");
var import_ConfigProviderContext = __toESM(require("../config-provider/ConfigProviderContext"));
const DEFAULT_ROW_WIDTH = "100%";
const DEFAULT_LAST_ROW_WIDTH = "60%";
const Skeleton = (_a) => {
  var _b = _a, {
    children,
    className,
    style
  } = _b, props = __objRest(_b, [
    "children",
    "className",
    "style"
  ]);
  const {
    prefixCls,
    createNamespace
  } = (0, import_react.useContext)(import_ConfigProviderContext.default);
  const [bem] = createNamespace("skeleton", prefixCls);
  const getRowWidth = (index) => {
    const {
      rowWidth
    } = props;
    if (rowWidth === DEFAULT_ROW_WIDTH && index === +props.row - 1) {
      return DEFAULT_LAST_ROW_WIDTH;
    }
    if (Array.isArray(rowWidth)) {
      return rowWidth[index];
    }
    return rowWidth;
  };
  const getRowHeight = (index) => {
    const {
      rowHeight
    } = props;
    if (Array.isArray(rowHeight)) {
      return rowHeight[index];
    }
    return rowHeight;
  };
  const renderAvatar = () => {
    if (props.avatar) {
      return /* @__PURE__ */ import_react.default.createElement("div", {
        className: (0, import_classnames.default)(bem("avatar", props.avatarShape)),
        style: (0, import_utils.getSizeStyle)(props.avatarSize)
      });
    }
    return null;
  };
  const renderTitle = () => {
    if (props.title) {
      const width = (0, import_utils.addUnit)(props.titleWidth);
      const height = (0, import_utils.addUnit)(getRowHeight(0));
      return /* @__PURE__ */ import_react.default.createElement("div", {
        className: (0, import_classnames.default)(bem("title")),
        style: {
          width,
          height
        }
      });
    }
    return null;
  };
  const renderRows = () => Array(props.row).fill("").map((_, i) => {
    const width = (0, import_utils.addUnit)(getRowWidth(i));
    const height = (0, import_utils.addUnit)(getRowHeight(i));
    return /* @__PURE__ */ import_react.default.createElement("div", {
      key: i,
      className: (0, import_classnames.default)(bem("row")),
      style: {
        width,
        height
      }
    });
  });
  if (!props.loading)
    return children;
  return /* @__PURE__ */ import_react.default.createElement("div", {
    className: (0, import_classnames.default)(className, bem({
      animate: props.animate,
      round: props.round
    })),
    style
  }, renderAvatar(), /* @__PURE__ */ import_react.default.createElement("div", {
    className: (0, import_classnames.default)(bem("content"))
  }, renderTitle(), renderRows()));
};
Skeleton.defaultProps = {
  loading: true,
  animate: true,
  round: true,
  row: 3,
  avatarShape: "round",
  rowWidth: DEFAULT_ROW_WIDTH
};
var stdin_default = Skeleton;
