backpack-ui
Version:
Lonely Planet's Components
87 lines (66 loc) • 2.29 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 _radium = require("radium");
var _radium2 = _interopRequireDefault(_radium);
var _classnames = require("classnames");
var _classnames2 = _interopRequireDefault(_classnames);
var _icon = require("../icon");
var _colors = require("../../styles/colors");
var _colors2 = _interopRequireDefault(_colors);
var _propTypes3 = require("../../utils/propTypes");
var _propTypes4 = _interopRequireDefault(_propTypes3);
var _iconRevealButton = require("../iconRevealButton");
var _iconRevealButton2 = _interopRequireDefault(_iconRevealButton);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var BookmarkButton = function BookmarkButton(_ref) {
var _onClick = _ref.onClick,
marked = _ref.marked,
id = _ref.id,
className = _ref.className,
button = _ref.button,
style = _ref.style,
qaHook = _ref.qaHook;
return _react2.default.createElement(
"div",
null,
!button && _react2.default.createElement(_iconRevealButton2.default, {
id: id,
className: (0, _classnames2.default)("BookmarkButton", className),
onClick: _onClick,
icon: marked ? _react2.default.createElement(_icon.BookmarkActive, null) : _react2.default.createElement(_icon.Bookmark, null),
style: [marked && { color: _colors2.default.linkPrimary }, style],
label: "Save",
qaHook: qaHook
}),
button && _react2.default.cloneElement(button, {
onClick: function onClick() {
_onClick();
}
})
);
};
BookmarkButton.propTypes = {
onClick: _propTypes2.default.func.isRequired,
marked: _propTypes2.default.bool,
id: _propTypes2.default.string,
className: _propTypes2.default.string,
button: _propTypes2.default.element,
style: _propTypes4.default.style,
qaHook: _propTypes2.default.bool
};
BookmarkButton.defaultProps = {
onClick: null,
marked: false,
id: null,
className: null,
button: null,
style: null,
qaHook: false
};
exports.default = (0, _radium2.default)(BookmarkButton);