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-presets / dist / presets / Studio / HeroBanner / renderProps.js
Size: Mime:
"use strict";

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

const tslib_1 = require("tslib");

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

const exotic_1 = require("exotic");

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

const Empty_1 = tslib_1.__importDefault(require("@skava/ui/dist/components/atoms/Empty"));

const styled_1 = require("./styled");

function defaultRenderButton(props) {
  const {
    buttonLabel,
    url
  } = props;
  const validButtonLabel = exotic_1.fromIshToString(buttonLabel);
  const buttonUrl = exotic_1.fromIshToString(url);
  const validButtonUrl = utils_1.toUrlWithProtocol(buttonUrl);

  if (validButtonLabel) {
    return react_1.default.createElement(styled_1.StyledLink, {
      to: validButtonUrl,
      text: validButtonLabel
    });
  } else {
    return react_1.default.createElement(Empty_1.default, null);
  }
}

exports.defaultRenderButton = defaultRenderButton;

function defaultRenderTitle(props) {
  const {
    text
  } = props;
  const validText = exotic_1.fromIshToString(text);
  return react_1.default.createElement(styled_1.StyledTitle, {
    content: validText
  });
}

exports.defaultRenderTitle = defaultRenderTitle;

function defaultRenderLogo(props) {
  const {
    logo
  } = props;
  const logoUrl = exotic_1.fromIshToString(logo);
  const validLogoUrl = utils_1.toUrlWithProtocol(logoUrl);

  if (validLogoUrl) {
    return react_1.default.createElement(styled_1.StyledImage, {
      src: validLogoUrl,
      alt: 'Logo'
    });
  } else {
    return react_1.default.createElement(Empty_1.default, null);
  }
}

exports.defaultRenderLogo = defaultRenderLogo;

function defaultRenderBox(props) {
  const {
    renderLogo,
    renderTitle,
    renderButton,
    backgroundColor,
    backgroundImage
  } = props,
        remainingProps = tslib_1.__rest(props, ["renderLogo", "renderTitle", "renderButton", "backgroundColor", "backgroundImage"]);

  const backgroundImageUrl = exotic_1.fromIshToString(backgroundImage);
  const validBackgroundImageUrl = utils_1.toUrlWithProtocol(backgroundImageUrl);
  return react_1.default.createElement(styled_1.BannerWrapper, {
    backgroundColor: backgroundColor,
    backgroundImage: validBackgroundImageUrl
  }, react_1.default.createElement(styled_1.LogoWrapper, null, renderLogo(remainingProps)), react_1.default.createElement(styled_1.TitleWrapper, null, renderTitle(remainingProps)), react_1.default.createElement(styled_1.ButtonWrapper, null, renderButton(remainingProps)));
}

exports.defaultRenderBox = defaultRenderBox;

function defaultRenderWrapper(props) {
  const {
    className,
    dataQa,
    children
  } = props;
  return react_1.default.createElement(styled_1.Wrapper, {
    className: className,
    "data-qa": dataQa
  }, children);
}

exports.defaultRenderWrapper = defaultRenderWrapper;