wix-style-react
Version:
60 lines (48 loc) • 2.07 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = void 0;
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
var _react = _interopRequireDefault(require("react"));
var _propTypes = _interopRequireDefault(require("prop-types"));
var _IconButton = _interopRequireDefault(require("../../IconButton/IconButton"));
var _CarouselSt = require("../Carousel.st.css");
var _excluded = ["dataHook", "arrowSize", "buttonSkin", "icon", "className", "controlsStartEnd"];
var skinPriorityMap = {
standard: 'secondary',
inverted: 'primary',
light: 'primary',
transparent: 'primary',
premium: 'primary'
};
var SliderArrow = function SliderArrow(_ref) {
var dataHook = _ref.dataHook,
arrowSize = _ref.arrowSize,
buttonSkin = _ref.buttonSkin,
icon = _ref.icon,
className = _ref.className,
controlsStartEnd = _ref.controlsStartEnd,
remainingProps = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
var isControlOnEdge = className.includes('slick-disabled');
return isControlOnEdge && controlsStartEnd === 'hidden' ? null : /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, remainingProps, {
"data-hook": dataHook,
className: className
}), /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
className: _CarouselSt.classes.controls,
skin: buttonSkin,
size: arrowSize,
disabled: isControlOnEdge,
priority: skinPriorityMap[buttonSkin]
}, icon));
};
SliderArrow.propTypes = {
/** Applied as data-hook HTML attribute that can be used in the tests */
dataHook: _propTypes["default"].string,
/** Icon to be rendered within the icon button */
icon: _propTypes["default"].element.isRequired
};
var _default = SliderArrow;
exports["default"] = _default;