@wix/design-system
Version:
@wix/design-system
80 lines (79 loc) • 2.79 kB
JavaScript
"use strict";
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
exports.__esModule = 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.js");
var _excluded = ["dataHook", "arrowSize", "buttonSkin", "icon", "className", "gradientClassName", "controlsStartEnd"];
var _jsxFileName = "/home/builduser/work/57e038ea7326c1ec/packages/wix-design-system/dist/cjs/Carousel/SliderArrow/SliderArrow.js";
var skinPriorityMap = {
standard: 'secondary',
inverted: 'primary',
light: 'primary',
transparent: 'primary',
premium: 'primary'
};
var SliderArrow = _ref => {
var {
dataHook,
arrowSize,
buttonSkin,
icon,
className,
// do not pass - this is overrided by react-slick slider
gradientClassName,
controlsStartEnd
} = _ref,
remainingProps = (0, _objectWithoutProperties2.default)(_ref, _excluded);
var isControlOnEdge = className.includes('slick-disabled');
if (isControlOnEdge && controlsStartEnd === 'hidden') {
return null;
}
var arrow = /*#__PURE__*/_react.default.createElement(_IconButton.default, {
dataHook: "".concat(dataHook, "-element"),
className: (0, _CarouselSt.st)(_CarouselSt.classes.controls),
skin: buttonSkin,
size: arrowSize,
disabled: isControlOnEdge,
priority: skinPriorityMap[buttonSkin],
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 31,
columnNumber: 5
}
}, icon);
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({}, remainingProps, {
className: className,
"data-hook": dataHook,
style: {
height: '100%'
},
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 44,
columnNumber: 5
}
}), !!gradientClassName ? /*#__PURE__*/_react.default.createElement("div", {
className: gradientClassName,
__self: void 0,
__source: {
fileName: _jsxFileName,
lineNumber: 51,
columnNumber: 9
}
}, arrow) : arrow);
};
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 = exports.default = SliderArrow;
//# sourceMappingURL=SliderArrow.js.map