@wix/design-system
Version:
@wix/design-system
216 lines (214 loc) • 7.47 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.MarketingPageLayoutContent = void 0;
var _react = _interopRequireDefault(require("react"));
var _MarketingPageLayoutContentSt = require("./MarketingPageLayoutContent.st.css.js");
var _constants = require("./constants");
var _Divider = require("../Divider");
var _Text = require("../Text");
var _Heading = require("../Heading");
var _Box = require("../Box");
var _context = require("../WixDesignSystemProvider/context");
var _context2 = require("../MarketingPageLayout/context");
var _StringUtils = require("../utils/StringUtils");
var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/MarketingPageLayoutContent/MarketingPageLayoutContent.tsx";
var sizesMap = {
overline: {
[_constants.size.medium]: _Text.SIZES.small,
[_constants.size.large]: _Text.SIZES.medium
},
title: {
[_constants.size.medium]: _Heading.SIZE.LARGE,
[_constants.size.large]: _Heading.SIZE.EXTRA_LARGE
},
subtitle: {
[_constants.size.medium]: _Heading.SIZE.SMALL,
[_constants.size.large]: _Heading.SIZE.MEDIUM
},
content: {
[_constants.size.medium]: _Text.SIZES.small,
[_constants.size.large]: _Text.SIZES.medium
}
};
/** This component is used in the MarketingPageLayout component. It includes all the content of the page. */
var MarketingPageLayoutContent = _ref => {
var dataHook = _ref.dataHook,
className = _ref.className,
_ref$size = _ref.size,
size = _ref$size === void 0 ? 'large' : _ref$size,
overline = _ref.overline,
title = _ref.title,
subtitle = _ref.subtitle,
content = _ref.content,
actions = _ref.actions;
var _React$useContext = _react.default.useContext(_context.WixDesignSystemContext),
mobile = _React$useContext.mobile;
var _React$useContext2 = _react.default.useContext(_context2.MarketingPageLayoutContext),
layout = _React$useContext2.layout;
var imageTop = layout === 'imageTop';
var overlineElement = overline && /*#__PURE__*/_react.default.createElement("div", {
"data-hook": _constants.dataHooks.overlineContainer,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 50,
columnNumber: 5
}
}, /*#__PURE__*/_react.default.createElement(_Box.Box, {
color: "D20",
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 51,
columnNumber: 7
}
}, (0, _StringUtils.isString)(overline) ? /*#__PURE__*/_react.default.createElement(_Text.Text, {
dataHook: _constants.dataHooks.overline,
size: sizesMap.overline[size],
skin: "standard",
secondary: true,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 53,
columnNumber: 11
}
}, overline) : overline), /*#__PURE__*/_react.default.createElement("div", {
className: _MarketingPageLayoutContentSt.classes.overlineDividerContainer,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 65,
columnNumber: 7
}
}, /*#__PURE__*/_react.default.createElement(_Divider.Divider, {
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 66,
columnNumber: 9
}
})));
var titleElement = title && /*#__PURE__*/_react.default.createElement(_Box.Box, {
dataHook: _constants.dataHooks.titleContainer,
className: _MarketingPageLayoutContentSt.classes.titleContainer,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 72,
columnNumber: 5
}
}, (0, _StringUtils.isString)(title) ? /*#__PURE__*/_react.default.createElement(_Heading.Heading, {
dataHook: _constants.dataHooks.title,
size: sizesMap.title[size],
className: _MarketingPageLayoutContentSt.classes.title,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 74,
columnNumber: 9
}
}, title) : title);
var subtitleElement = subtitle && /*#__PURE__*/_react.default.createElement(_Box.Box, {
dataHook: _constants.dataHooks.subtitleContainer,
className: _MarketingPageLayoutContentSt.classes.subtitleContainer,
marginTop: imageTop ? undefined : 'SP2',
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 88,
columnNumber: 5
}
}, (0, _StringUtils.isString)(subtitle) ? /*#__PURE__*/_react.default.createElement(_Heading.Heading, {
dataHook: _constants.dataHooks.subtitle,
size: sizesMap.subtitle[size],
className: _MarketingPageLayoutContentSt.classes.subtitle,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 94,
columnNumber: 9
}
}, subtitle) : subtitle);
var contentElement = content && /*#__PURE__*/_react.default.createElement(_Box.Box, {
dataHook: _constants.dataHooks.contentContainer,
className: _MarketingPageLayoutContentSt.classes.contentBox,
color: "D10",
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 108,
columnNumber: 5
}
}, (0, _StringUtils.isString)(content) ? /*#__PURE__*/_react.default.createElement(_Text.Text, {
dataHook: _constants.dataHooks.content,
size: sizesMap.content[size],
skin: "standard",
className: _MarketingPageLayoutContentSt.classes.content,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 114,
columnNumber: 9
}
}, content) : content);
var actionsElement = actions && /*#__PURE__*/_react.default.createElement(_Box.Box, {
dataHook: _constants.dataHooks.actions,
marginTop: !imageTop && mobile ? 'SP4' : undefined,
className: _MarketingPageLayoutContentSt.classes.actionsContainer,
children: actions,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 129,
columnNumber: 5
}
});
var rootClassName = (0, _MarketingPageLayoutContentSt.st)(_MarketingPageLayoutContentSt.classes.root, {
layout,
size,
mobile
}, className);
if (imageTop) {
return /*#__PURE__*/_react.default.createElement("div", {
"data-hook": dataHook,
className: rootClassName,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 141,
columnNumber: 7
}
}, /*#__PURE__*/_react.default.createElement("div", {
className: _MarketingPageLayoutContentSt.classes.textColumn,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 142,
columnNumber: 9
}
}, overlineElement, titleElement, subtitleElement, actionsElement), /*#__PURE__*/_react.default.createElement("div", {
className: _MarketingPageLayoutContentSt.classes.contentColumn,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 149,
columnNumber: 9
}
}, contentElement));
}
return /*#__PURE__*/_react.default.createElement("div", {
"data-hook": dataHook,
className: rootClassName,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 155,
columnNumber: 5
}
}, overlineElement, titleElement, subtitleElement, contentElement, actionsElement);
};
exports.MarketingPageLayoutContent = MarketingPageLayoutContent;
MarketingPageLayoutContent.displayName = 'MarketingPageLayoutContent';
//# sourceMappingURL=MarketingPageLayoutContent.js.map