vcc-ui
Version:
VCC UI is a collection of React UI Components that can be used for developing front-end applications at Volvo Car Corporation.
78 lines (58 loc) • 2.27 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.Logo = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _reactFela = require("react-fela");
var _block = require("../block");
var _helpers = require("./helpers");
var _getThemeStyle = require("../../get-theme-style");
var _deprecate = require("../../deprecate");
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var Logo = _react.default.forwardRef(function (_ref, ref) {
var type = _ref.type,
height = _ref.height,
_ref$alt = _ref.alt,
alt = _ref$alt === void 0 ? altText : _ref$alt,
altText = _ref.altText;
var _useFela = (0, _reactFela.useFela)(),
theme = _useFela.theme; // TODO: remove in 2.0.0
(0, _deprecate.deprecate)('The `altText` prop on <Logo> has been deprecated in favor of just using the HTML attribute `alt`. It will be removed with version 2.0.0.', altText); // TODO: remove in 2.0.0
(0, _deprecate.deprecate)('The "wordmark" and "wordmark-black" logo types have been deprecated in favor of "spreadmark". Use dark theme if you need the white logo on the black background', type === 'wordmark' || type === 'wordmark-black');
var _getImagesSrc = (0, _helpers.getImagesSrc)({
type: type,
theme: theme
}),
src = _getImagesSrc.src,
srcSet = _getImagesSrc.srcSet;
return _react.default.createElement(_block.Block, {
as: "img",
ref: ref,
src: src,
srcSet: srcSet,
alt: alt,
height: height,
extend: {
verticalAlign: 'middle',
maxHeight: '100%',
// this allows passing a function of theme
// as a generic extension via theme
extend: (0, _getThemeStyle.getThemeStyle)('logo', theme)
}
});
});
exports.Logo = Logo;
Logo.displayName = 'Logo';
Logo.propTypes = {
/** Logo type */
// type: PropTypes.oneOf([LOGO_TYPES.SQUARE, LOGO_TYPES.WORDMARK]),
type: _propTypes.default.string,
/** Apply custom height to logo image */
height: _propTypes.default.number,
/** Alternative text for the logo image */
alt: _propTypes.default.string,
/** DEPRECATED */
altText: _propTypes.default.string
};