UNPKG

wix-style-react

Version:
174 lines (144 loc) • 7.21 kB
"use strict"; 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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _propTypes = _interopRequireDefault(require("prop-types")); var _Text = _interopRequireDefault(require("../Text")); var _TextButton = _interopRequireDefault(require("../TextButton")); var _VerticalTabsItemSt = require("./VerticalTabsItem.st.css"); var _context = require("../FontUpgrade/context"); var _VerticalTabsContext = _interopRequireDefault(require("../VerticalTabs/VerticalTabsContext")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** Internal Component to be used by VerticalTabs */ var VerticalTabsItem = /*#__PURE__*/function (_React$PureComponent) { (0, _inherits2["default"])(VerticalTabsItem, _React$PureComponent); var _super = _createSuper(VerticalTabsItem); function VerticalTabsItem() { (0, _classCallCheck2["default"])(this, VerticalTabsItem); return _super.apply(this, arguments); } (0, _createClass2["default"])(VerticalTabsItem, [{ key: "_renderText", value: function _renderText(_ref) { var isMadefor = _ref.isMadefor; var _this$props = this.props, children = _this$props.children, type = _this$props.type, disabled = _this$props.disabled; var size = this.context.size; var isTitle = type === 'title'; var commonProps = { weight: isMadefor ? 'thin' : 'normal', size: isTitle ? 'small' : size, dataHook: 'vertical-tabs-item-text' }; return type === 'action' ? /*#__PURE__*/_react["default"].createElement(_TextButton["default"], (0, _extends2["default"])({}, commonProps, { disabled: disabled }), children) : /*#__PURE__*/_react["default"].createElement(_Text["default"], (0, _extends2["default"])({ className: _VerticalTabsItemSt.classes.text, light: isTitle, secondary: isTitle, skin: disabled ? 'disabled' : 'standard' }, commonProps), children); } }, { key: "_renderPrefix", value: function _renderPrefix() { var _this$props2 = this.props, prefixIcon = _this$props2.prefixIcon, type = _this$props2.type; var size = this.context.size; return /*#__PURE__*/_react["default"].cloneElement(prefixIcon, { size: size === 'medium' ? 24 : 18, 'data-hook': 'vertical-tabs-item-prefix-icon', className: (0, _VerticalTabsItemSt.st)(_VerticalTabsItemSt.classes.prefixIcon, { action: type === 'action' }) }); } }, { key: "_renderSuffix", value: function _renderSuffix() { var suffixIcon = this.props.suffixIcon; var size = this.context.size; return /*#__PURE__*/_react["default"].cloneElement(suffixIcon, { size: size === 'medium' ? 24 : 18, className: _VerticalTabsItemSt.classes.suffixIcon, 'data-hook': 'vertical-tabs-item-suffix-icon' }); } }, { key: "render", value: function render() { var _this = this; var _this$props3 = this.props, id = _this$props3.id, dataHook = _this$props3.dataHook, disabled = _this$props3.disabled, prefixIcon = _this$props3.prefixIcon, suffixIcon = _this$props3.suffixIcon, tabIndex = _this$props3.tabIndex, type = _this$props3.type; var selected = !!id && !!this.context.activeTabId && id === this.context.activeTabId; return /*#__PURE__*/_react["default"].createElement(_context.FontUpgradeContext.Consumer, null, function (_ref2) { var isMadefor = _ref2.active; return /*#__PURE__*/_react["default"].createElement("div", { className: (0, _VerticalTabsItemSt.st)(_VerticalTabsItemSt.classes.root, { disabled: disabled, action: type === 'action', title: type === 'title', suffixIcon: !!suffixIcon, prefixIcon: !!prefixIcon, selected: selected }), id: id, tabIndex: tabIndex, ref: function ref(_ref3) { return _this.innerComponentRef = _ref3; }, "data-hook": dataHook, onClick: !disabled ? function () { return _this.context.onChange(id); } : undefined }, prefixIcon && _this._renderPrefix(), _this._renderText({ isMadefor: isMadefor }), suffixIcon && _this._renderSuffix()); }); } }]); return VerticalTabsItem; }(_react["default"].PureComponent); (0, _defineProperty2["default"])(VerticalTabsItem, "displayName", 'VerticalTabsItem'); (0, _defineProperty2["default"])(VerticalTabsItem, "propTypes", { /** type of vertical tab item. can be of the following: 'tab' (default), 'action', 'title' */ type: _propTypes["default"].oneOf(['tab', 'action', 'title']), /** Data attribute for testing purposes */ dataHook: _propTypes["default"].string, /** Prefix Icon - should be <code>Icon</code>*/ prefixIcon: _propTypes["default"].node, /** Suffix Icon - should be <code>Icon</code> or <code>IconButton</code> with the <code>size="tiny"</code> prop*/ suffixIcon: _propTypes["default"].node, /** Children - only single child is allowed here */ children: _propTypes["default"].node, /** Disabled */ disabled: _propTypes["default"].bool, /** identifier to help identify the current selected tab */ id: _propTypes["default"].number }); (0, _defineProperty2["default"])(VerticalTabsItem, "defaultProps", { type: 'tab' }); VerticalTabsItem.contextType = _VerticalTabsContext["default"]; var _default = VerticalTabsItem; exports["default"] = _default;