wix-style-react
Version:
wix-style-react
99 lines (98 loc) • 3.56 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = true;
exports.default = void 0;
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _wixUiIconsCommon = require("@wix/wix-ui-icons-common");
var _Text = _interopRequireDefault(require("../Text"));
var _SidebarBackButtonSt = require("./SidebarBackButton.st.css");
var _SidebarAPI = require("../Sidebar/SidebarAPI");
var _constants = require("../Sidebar/constants");
var _Focusable = require("../common/Focusable");
var _context = require("../WixStyleReactProvider/context");
var _jsxFileName = "/home/builduser/work/a9c1ac8876d5057c/packages/wix-style-react/dist/cjs/SidebarBackButton/SidebarBackButton.js";
/** button with an animated back arrow */
class SidebarBackButton extends _react.default.PureComponent {
render() {
var {
children,
animateArrow,
onClick,
dataHook,
className,
focusableOnFocus,
focusableOnBlur
} = this.props;
return /*#__PURE__*/_react.default.createElement(_context.WixStyleReactContext.Consumer, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 46,
columnNumber: 7
}
}, () => /*#__PURE__*/_react.default.createElement(_SidebarAPI.SidebarContext.Consumer, {
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 48,
columnNumber: 11
}
}, context => {
var skin = context && context.getSkin() || _constants.sidebarSkins.dark;
return /*#__PURE__*/_react.default.createElement("button", {
className: (0, _SidebarBackButtonSt.st)(_SidebarBackButtonSt.classes.root, {
skin
}, className),
"data-hook": dataHook,
onClick: onClick,
onFocus: focusableOnFocus,
onBlur: focusableOnBlur,
type: "button",
tabIndex: "0",
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 52,
columnNumber: 17
}
}, /*#__PURE__*/_react.default.createElement(_wixUiIconsCommon.ChevronLeft, {
className: (0, _SidebarBackButtonSt.st)(_SidebarBackButtonSt.classes.arrow, {
animated: animateArrow
}),
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 67,
columnNumber: 19
}
}), /*#__PURE__*/_react.default.createElement(_Text.default, {
weight: "normal",
size: "small",
secondary: skin === _constants.sidebarSkins.light,
light: skin === _constants.sidebarSkins.dark,
__self: this,
__source: {
fileName: _jsxFileName,
lineNumber: 71,
columnNumber: 19
}
}, children));
}));
}
}
SidebarBackButton.displayName = 'SidebarBackButton';
SidebarBackButton.propTypes = {
/** Applied as data-hook HTML attribute that can be used to create driver in testing */
dataHook: _propTypes.default.string,
/** A css class to be applied to the component's root element */
className: _propTypes.default.string,
/** click event handler */
onClick: _propTypes.default.func,
/** Text for the button */
children: _propTypes.default.string,
/** Whether or not to constantly animate the arrow */
animateArrow: _propTypes.default.bool
};
var _default = exports.default = (0, _Focusable.withFocusable)(SidebarBackButton);
//# sourceMappingURL=SidebarBackButton.js.map