Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/ui / src / components / atoms / Image / renderProps.js
Size: Mime:
"use strict";

var __rest = this && this.__rest || function (s, e) {
  var t = {};

  for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];

  if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0) t[p[i]] = s[p[i]];
  return t;
};

var __importDefault = this && this.__importDefault || function (mod) {
  return mod && mod.__esModule ? mod : {
    "default": mod
  };
};

Object.defineProperty(exports, "__esModule", {
  value: true
});

const react_1 = __importDefault(require("react"));

const utils_1 = require("@skava/utils");

const styled_1 = require("./styled");
/**
 * Rendering a Image tag with inside the div tag
 */


function renderWrap(props) {
  const {
    width,
    height,
    nowrap,
    className,
    children,
    alt
  } = props;
  const passThroughProps = Object.freeze({
    'data-qa': props['data-qa']
  });

  if (nowrap === true) {
    return react_1.default.createElement(react_1.default.Fragment, null, children);
  } else {
    return react_1.default.createElement(styled_1.ImageWrapper, Object.assign({
      className: className,
      width: width,
      height: height,
      alt: alt
    }, passThroughProps), children);
  }
}

exports.renderWrap = renderWrap;
/**
 * rendering the image tag
 */

function renderImageAsSemanticTag(props) {
  // if there is no wrapper, we apply the classname to the element
  return react_1.default.createElement(styled_1.ImageElement, {
    className: props.nowrap && props.className,
    src: props.src,
    alt: props.alt,
    doAutoAlign: props.doAutoAlign
  });
}

exports.renderImageAsSemanticTag = renderImageAsSemanticTag;
/**
 * Rendering as a Background Image
 */

function renderImageAsBackground(props) {
  // may need to pass in more, but those need to be defined
  const {
    src
  } = props,
        remainingProps = __rest(props, ["src"]);

  return react_1.default.createElement(styled_1.ImageBackground, Object.assign({
    src: src
  }, remainingProps));
}

exports.renderImageAsBackground = renderImageAsBackground;
/**
 * Main rendering method of the Image Component
 */

function renderImage(props) {
  const remainingProps = utils_1.omit(props, 'isBackground');

  if (props.isBackground === true) {
    return renderImageAsBackground(remainingProps);
  } else {
    return renderImageAsSemanticTag(remainingProps);
  }
}

exports.renderImage = renderImage; //# sourceMappingURL=renderProps.js.map