react-dyn-tabs
Version:
React dynamic tabs with full API
73 lines (72 loc) • 2.4 kB
JavaScript
exports.__esModule = true;
exports["default"] = void 0;
var _react = _interopRequireDefault(require("react"));
var _helper = _interopRequireDefault(require("../../helper.js"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
/* eslint react/prop-types: 0 */
var _default = exports["default"] = _helper["default"].module(function (DefaulTabInnerComponent) {
if (DefaulTabInnerComponent === void 0) {
DefaulTabInnerComponent = null;
}
this.defaultDirection = 'ltr';
this._DefaulTabInnerComponent = DefaulTabInnerComponent;
this.directionsRange = ['ltr', 'rtl'];
}, {
getOptions: function getOptions() {
return this._getOptions();
},
_getOptions: function _getOptions() {
var _options = {
tabs: [],
selectedTabID: '',
theme: 'all-themes',
tablistStyle: {},
beforeSelect: function beforeSelect() {
return true;
},
beforeClose: function beforeClose() {
return true;
},
onOpen: function onOpen() {},
onClose: function onClose() {},
onFirstSelect: function onFirstSelect() {},
onSelect: function onSelect() {},
onChange: function onChange() {},
onLoad: function onLoad() {},
onDestroy: function onDestroy() {},
onInit: function onInit() {},
accessibility: true,
isVertical: false,
defaultPanelComponent: function defaultPanelComponent() {
return /*#__PURE__*/_react["default"].createElement("div", null);
}
};
var _direction = this.defaultDirection,
_tabComponent = this._DefaulTabInnerComponent;
var that = this;
Object.defineProperties(_options, {
direction: {
get: function get() {
return _direction;
},
set: function set(value) {
if (that.directionsRange.indexOf(value) === -1) throw 'Invalid direction value! it can be eather of "ltr" or "rtl" ';
_direction = value;
},
enumerable: true
},
tabComponent: {
get: function get() {
return _tabComponent;
},
set: function set(fn) {
if (fn && typeof fn !== 'function') throw 'tabComponent property must be type of a function.';
_tabComponent = fn ? fn : that._DefaulTabInnerComponent;
},
enumerable: true
}
});
return _options;
}
});
;