backpack-ui
Version:
Lonely Planet's Components
102 lines (80 loc) • 2.44 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _propTypes = require("prop-types");
var _propTypes2 = _interopRequireDefault(_propTypes);
var _font = require("../../utils/font");
var _font2 = _interopRequireDefault(_font);
var _contentHeader = require("../contentHeader");
var _contentHeader2 = _interopRequireDefault(_contentHeader);
var _heading = require("../heading");
var _heading2 = _interopRequireDefault(_heading);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var styles = {
list: {
base: {
fontFamily: (0, _font2.default)("miller"),
fontSize: "20px",
lineHeight: 36 / 20,
marginLeft: "20px"
}
}
};
function ContentSectionList(_ref) {
var header = _ref.header,
listItems = _ref.listItems,
qaHook = _ref.qaHook;
var isListItemsString = typeof listItems === "string";
return _react2.default.createElement(
"section",
{ className: "ContentSection" },
header && header.title && _react2.default.createElement(_contentHeader2.default, header),
listItems && _react2.default.createElement(
"ul",
{ "data-testid": qaHook ? "content-section-list" : null, style: styles.list.base },
!isListItemsString && listItems.map(function (item, index) {
return _react2.default.createElement(
"li",
{ "data-testid": qaHook ? item + "-list-item" : null, key: index },
item
);
}),
isListItemsString && _react2.default.createElement(
"li",
null,
listItems
)
)
);
}
ContentSectionList.propTypes = {
/**
* Props for ContentHeader
*/
header: _propTypes2.default.shape({
title: _propTypes2.default.string,
heading: _propTypes2.default.shape(_heading2.default.propTypes),
border: _propTypes2.default.oneOf(["", "top", "bottom"])
}).isRequired,
/**
* List item(s) to display
*/
listItems: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.arrayOf(_propTypes2.default.string)]).isRequired,
/**
* Custom data hook
*/
qaHook: _propTypes2.default.bool
};
ContentSectionList.defaultProps = {
header: {
title: "",
heading: {},
border: ""
},
listItems: "",
qaHook: false
};
exports.default = ContentSectionList;