backpack-ui
Version:
Lonely Planet's Components
199 lines (168 loc) • 4.29 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
var _radium = require("radium");
var _radium2 = _interopRequireDefault(_radium);
var _settings = require("../../../settings.json");
var _icon = require("../icon");
var _icon2 = _interopRequireDefault(_icon);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var styles = {
container: {
base: {
backgroundColor: _settings.color.white,
borderTop: "1px solid " + _settings.color.gray,
fontSize: "11px",
overflow: "hidden"
}
},
breadcrumbs: {
base: {
float: "left",
lineHeight: 1,
width: "55%"
}
},
buttons: {
base: {
float: "right",
lineHeight: 1,
marginTop: "-1px",
overflow: "hidden",
textAlign: "right",
width: "45%"
}
},
button: {
base: {
display: "inline-block",
position: "relative"
},
notFirstChild: {
marginLeft: "1px" },
lastChild: {
paddingRight: _settings.spacing.mobile
}
},
anchor: {
base: {
display: "block",
overflow: "hidden",
padding: "23px " + _settings.spacing.mobile + " 20px",
textOverflow: "ellipsis",
whiteSpace: "nowrap",
width: "100%"
}
},
divider: {
base: {
backgroundColor: _settings.color.gray,
display: "block",
height: "10px",
right: "-1px",
position: "absolute",
top: "24px",
width: "1px"
}
},
icon: {
base: {
marginRight: "9px",
verticalAlign: "baseline",
top: "-1px"
}
}
};
function MobileToolbar(_ref) {
var children = _ref.children;
var location = _ref.location;
var locationUrl = _ref.locationUrl;
var selectedDates = _ref.selectedDates;
var style = _ref.style;
return _react2.default.createElement(
"div",
{ className: "MobileToolbar", style: [styles.container.base, style] },
(selectedDates || location) && _react2.default.createElement(
"div",
{ className: "MobileToolbar-breadcrumbs", style: styles.breadcrumbs.base },
selectedDates && _react2.default.createElement(
"span",
null,
_react2.default.createElement(
"time",
{ style: { fontWeight: 600 } },
selectedDates
),
" in"
),
" ",
location && locationUrl && _react2.default.createElement(
"a",
{
style: styles.anchor.base,
href: "//lonelyplanet.com" + locationUrl
},
_react2.default.createElement(_icon2.default, {
name: "chevron-left",
size: "tiny",
inline: "before",
style: styles.icon.base
}),
location
)
),
_react2.default.createElement(
"div",
{ className: "MobileToolbar-buttons", style: styles.buttons.base },
children.map(function (child, index) {
return _react2.default.createElement(
"div",
{
className: "MobileToolbar-button",
style: [styles.button.base, index !== 0 && styles.button.notFirstChild],
key: "MobileToolbar-part" + index
},
child,
index !== 1 && _react2.default.createElement("span", {
className: "Divider",
style: styles.divider.base,
"aria-hidden": "true"
})
);
})
)
);
}
MobileToolbar.propTypes = {
/**
* Contents of toolbar
*/
children: _react.PropTypes.node.isRequired,
/**
* Location name for breadcrumb link
*/
location: _react.PropTypes.string.isRequired,
/**
* Location URL for breadcrumb link
*/
locationUrl: _react.PropTypes.string.isRequired,
/**
* Selected dates of POI booking
*/
selectedDates: _react.PropTypes.string,
/**
* Style object to add or override container styles
*/
style: _react.PropTypes.objectOf(_react2.default.PropTypes.string, _react2.default.PropTypes.number)
};
MobileToolbar.defaultProps = {
children: null,
location: "",
locationUrl: "",
selectedDates: "",
style: {}
};
exports.default = (0, _radium2.default)(MobileToolbar);