"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.Skeleton = void 0;

var _react = _interopRequireDefault(require("react"));

var _primitives = require("../../primitives");

var _Bones = _interopRequireDefault(require("./Bones"));

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }

const Skeleton = ({
  children,
  isLoaded,
  ...props
}) => {
  if (isLoaded) return /*#__PURE__*/_react.default.createElement(_primitives.Box, props, children);

  const hideChildren = () => {
    return _react.default.Children.map(children, (child, index) => {
      return /*#__PURE__*/_react.default.cloneElement(child, {
        opacity: 0,
        key: "skeleton-hide-child-".concat(index)
      }, child.props.children);
    });
  };

  return /*#__PURE__*/_react.default.createElement(_Bones.default, _extends({
    width: "100%"
  }, props), children ? hideChildren() : null);
};

exports.Skeleton = Skeleton;
//# sourceMappingURL=Skeleton.js.map