react-tab-set 1.1.439 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{babel.config.js → babel.config.cjs} +0 -2
- package/lib/tab-set/index.js +148 -1
- package/lib/tab-set/tab-group/index.js +130 -1
- package/lib/tab-set/tab-group/tab/index.js +94 -1
- package/lib/tab-set/tab-panel/index.js +97 -1
- package/package.json +49 -10
- package/src/.babelrc +1 -21
- package/src/index.cjs +16 -0
- package/src/index.mjs +1 -0
- package/src/index.mts +23 -0
- package/src/tab-set/index.cjs +16 -0
- package/src/tab-set/index.mjs +1 -0
- package/src/tab-set/index.tsx +39 -13
- package/src/tab-set/is-tab-group.cjs +12 -0
- package/src/tab-set/is-tab-group.mjs +1 -0
- package/src/tab-set/is-tab-group.mts +5 -0
- package/src/tab-set/is-tab-panel.cjs +12 -0
- package/src/tab-set/is-tab-panel.mjs +1 -0
- package/src/tab-set/is-tab-panel.mts +5 -0
- package/src/tab-set/tab-group/index.cjs +16 -0
- package/src/tab-set/tab-group/index.mjs +1 -0
- package/src/tab-set/tab-group/index.tsx +3 -3
- package/src/tab-set/tab-group/is-tab.mts +5 -0
- package/src/tab-set/tab-group/tab/index.cjs +16 -0
- package/src/tab-set/tab-group/tab/index.mjs +1 -0
- package/src/tab-set/tab-panel/index.cjs +16 -0
- package/src/tab-set/tab-panel/index.mjs +1 -0
- package/src/tab-set/tab-panel/index.tsx +1 -1
- package/tsconfig.json +5 -16
- package/lib/index.js +0 -1
- package/lib/tab-set/is-tab-group.js +0 -1
- package/lib/tab-set/is-tab-panel.js +0 -1
- package/lib/tab-set/tab-group/is-tab.js +0 -1
- package/src/index.ts +0 -23
- package/src/tab-set/is-tab-group.ts +0 -5
- package/src/tab-set/is-tab-panel.ts +0 -5
- package/src/tab-set/tab-group/is-tab.ts +0 -5
package/lib/tab-set/index.js
CHANGED
|
@@ -1 +1,148 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
require("core-js/modules/es.object.set-prototype-of.js");
|
|
5
|
+
require("core-js/modules/es.function.bind.js");
|
|
6
|
+
require("core-js/modules/es.object.get-prototype-of.js");
|
|
7
|
+
require("core-js/modules/es.reflect.construct.js");
|
|
8
|
+
require("core-js/modules/es.object.create.js");
|
|
9
|
+
require("core-js/modules/es.object.keys.js");
|
|
10
|
+
require("core-js/modules/es.array.filter.js");
|
|
11
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
12
|
+
require("core-js/modules/es.array.for-each.js");
|
|
13
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
14
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
15
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
16
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
17
|
+
require("core-js/modules/es.array.iterator.js");
|
|
18
|
+
require("core-js/modules/es.string.iterator.js");
|
|
19
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
20
|
+
require("core-js/modules/es.weak-map.js");
|
|
21
|
+
Object.defineProperty(exports, "__esModule", {
|
|
22
|
+
value: true
|
|
23
|
+
});
|
|
24
|
+
exports["default"] = void 0;
|
|
25
|
+
require("core-js/modules/es.array.map.js");
|
|
26
|
+
require("core-js/modules/es.symbol.to-primitive.js");
|
|
27
|
+
require("core-js/modules/es.date.to-primitive.js");
|
|
28
|
+
require("core-js/modules/es.symbol.js");
|
|
29
|
+
require("core-js/modules/es.symbol.description.js");
|
|
30
|
+
require("core-js/modules/es.object.to-string.js");
|
|
31
|
+
require("core-js/modules/es.number.constructor.js");
|
|
32
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
33
|
+
var _uuid = require("uuid");
|
|
34
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
35
|
+
var _isTabPanel = _interopRequireDefault(require("./is-tab-panel.mts"));
|
|
36
|
+
var _isTabGroup = _interopRequireDefault(require("./is-tab-group.mts"));
|
|
37
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
38
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
39
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
40
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
41
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
42
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
43
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
44
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
45
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
46
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
47
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
48
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
49
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
50
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
51
|
+
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; } }
|
|
52
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
53
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
54
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
55
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
56
|
+
var error = (0, _debug["default"])('react-tab-set/tab-set');
|
|
57
|
+
var TabSet = /*#__PURE__*/function (_Component) {
|
|
58
|
+
_inherits(TabSet, _Component);
|
|
59
|
+
var _super = _createSuper(TabSet);
|
|
60
|
+
function TabSet(props) {
|
|
61
|
+
var _this;
|
|
62
|
+
_classCallCheck(this, TabSet);
|
|
63
|
+
_this = _super.call(this, props);
|
|
64
|
+
_defineProperty(_assertThisInitialized(_this), "handleTabSelect", function (selectedTab) {
|
|
65
|
+
if (selectedTab !== _this.state.selectedTab) {
|
|
66
|
+
var onChange = _this.props.onChange;
|
|
67
|
+
_this.setState({
|
|
68
|
+
selectedTab: selectedTab
|
|
69
|
+
}, function () {
|
|
70
|
+
try {
|
|
71
|
+
onChange(selectedTab);
|
|
72
|
+
} catch (_unused) {
|
|
73
|
+
error('Error `onChange`');
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
var _selectedTab = props.selectedTab;
|
|
79
|
+
_this.state = {
|
|
80
|
+
selectedTab: _selectedTab
|
|
81
|
+
};
|
|
82
|
+
return _this;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/*
|
|
86
|
+
* The selected tab default does not have to be a uuid, but a uuid
|
|
87
|
+
* reduces the likelihood that this default has the same value as
|
|
88
|
+
* an implemented tab
|
|
89
|
+
*/
|
|
90
|
+
_createClass(TabSet, [{
|
|
91
|
+
key: "shouldComponentUpdate",
|
|
92
|
+
value: function shouldComponentUpdate(props, state) {
|
|
93
|
+
return props.children !== this.props.children || state.selectedTab !== this.state.selectedTab;
|
|
94
|
+
}
|
|
95
|
+
}, {
|
|
96
|
+
key: "mapChildren",
|
|
97
|
+
value: function mapChildren(children, selectedTab) {
|
|
98
|
+
var _this2 = this;
|
|
99
|
+
return _react.Children.map(children, function (child) {
|
|
100
|
+
var type = child.type;
|
|
101
|
+
if (type) {
|
|
102
|
+
// eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
103
|
+
var props = child.props;
|
|
104
|
+
if ((0, _isTabGroup["default"])(type)) {
|
|
105
|
+
return /*#__PURE__*/(0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, props), {}, {
|
|
106
|
+
selectedTab: selectedTab,
|
|
107
|
+
onTabSelect: _this2.handleTabSelect
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
if ((0, _isTabPanel["default"])(type)) {
|
|
111
|
+
return /*#__PURE__*/(0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, props), {}, {
|
|
112
|
+
selectedTab: selectedTab
|
|
113
|
+
}));
|
|
114
|
+
}
|
|
115
|
+
var _children = props.children;
|
|
116
|
+
if (_children) {
|
|
117
|
+
// eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
118
|
+
return /*#__PURE__*/(0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, props), {}, {
|
|
119
|
+
children: _this2.mapChildren(_children, selectedTab)
|
|
120
|
+
}));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
return child;
|
|
124
|
+
});
|
|
125
|
+
}
|
|
126
|
+
}, {
|
|
127
|
+
key: "getChildren",
|
|
128
|
+
value: function getChildren() {
|
|
129
|
+
var children = this.props.children;
|
|
130
|
+
var selectedTab = this.state.selectedTab;
|
|
131
|
+
return this.mapChildren(children, selectedTab);
|
|
132
|
+
}
|
|
133
|
+
}, {
|
|
134
|
+
key: "render",
|
|
135
|
+
value: function render() {
|
|
136
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
137
|
+
className: "tab-set"
|
|
138
|
+
}, this.getChildren());
|
|
139
|
+
}
|
|
140
|
+
}]);
|
|
141
|
+
return TabSet;
|
|
142
|
+
}(_react.Component);
|
|
143
|
+
exports["default"] = TabSet;
|
|
144
|
+
_defineProperty(TabSet, "defaultProps", {
|
|
145
|
+
onChange: function onChange() {},
|
|
146
|
+
selectedTab: (0, _uuid.v4)(),
|
|
147
|
+
children: []
|
|
148
|
+
});
|
|
@@ -1 +1,130 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
require("core-js/modules/es.object.set-prototype-of.js");
|
|
5
|
+
require("core-js/modules/es.function.bind.js");
|
|
6
|
+
require("core-js/modules/es.object.get-prototype-of.js");
|
|
7
|
+
require("core-js/modules/es.reflect.construct.js");
|
|
8
|
+
require("core-js/modules/es.object.create.js");
|
|
9
|
+
require("core-js/modules/es.object.keys.js");
|
|
10
|
+
require("core-js/modules/es.array.filter.js");
|
|
11
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
12
|
+
require("core-js/modules/es.array.for-each.js");
|
|
13
|
+
require("core-js/modules/web.dom-collections.for-each.js");
|
|
14
|
+
require("core-js/modules/es.object.get-own-property-descriptors.js");
|
|
15
|
+
require("core-js/modules/es.object.define-properties.js");
|
|
16
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
17
|
+
require("core-js/modules/es.array.iterator.js");
|
|
18
|
+
require("core-js/modules/es.string.iterator.js");
|
|
19
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
20
|
+
require("core-js/modules/es.weak-map.js");
|
|
21
|
+
Object.defineProperty(exports, "__esModule", {
|
|
22
|
+
value: true
|
|
23
|
+
});
|
|
24
|
+
exports["default"] = void 0;
|
|
25
|
+
require("core-js/modules/es.array.concat.js");
|
|
26
|
+
require("core-js/modules/es.array.map.js");
|
|
27
|
+
require("core-js/modules/es.symbol.to-primitive.js");
|
|
28
|
+
require("core-js/modules/es.date.to-primitive.js");
|
|
29
|
+
require("core-js/modules/es.symbol.js");
|
|
30
|
+
require("core-js/modules/es.symbol.description.js");
|
|
31
|
+
require("core-js/modules/es.object.to-string.js");
|
|
32
|
+
require("core-js/modules/es.number.constructor.js");
|
|
33
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
34
|
+
var _uuid = require("uuid");
|
|
35
|
+
var _isTab = _interopRequireDefault(require("./is-tab.mts"));
|
|
36
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
37
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
38
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
39
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
40
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
41
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
42
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
43
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
44
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
45
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
46
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
47
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
48
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
49
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
50
|
+
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; } }
|
|
51
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
52
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
53
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
54
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
55
|
+
var TabGroup = /*#__PURE__*/function (_Component) {
|
|
56
|
+
_inherits(TabGroup, _Component);
|
|
57
|
+
var _super = _createSuper(TabGroup);
|
|
58
|
+
function TabGroup() {
|
|
59
|
+
var _this;
|
|
60
|
+
_classCallCheck(this, TabGroup);
|
|
61
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
62
|
+
args[_key] = arguments[_key];
|
|
63
|
+
}
|
|
64
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
65
|
+
_defineProperty(_assertThisInitialized(_this), "handleTabClick", function (tab) {
|
|
66
|
+
var onTabSelect = _this.props.onTabSelect;
|
|
67
|
+
onTabSelect(tab);
|
|
68
|
+
});
|
|
69
|
+
return _this;
|
|
70
|
+
}
|
|
71
|
+
_createClass(TabGroup, [{
|
|
72
|
+
key: "shouldComponentUpdate",
|
|
73
|
+
value: function shouldComponentUpdate(props) {
|
|
74
|
+
return props.children !== this.props.children || props.selectedTab !== this.props.selectedTab;
|
|
75
|
+
}
|
|
76
|
+
}, {
|
|
77
|
+
key: "mapChildren",
|
|
78
|
+
value: function mapChildren(children, selectedTab) {
|
|
79
|
+
var _this2 = this;
|
|
80
|
+
return _react.Children.map(children, function (child) {
|
|
81
|
+
var type = child.type;
|
|
82
|
+
if (type) {
|
|
83
|
+
// eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
84
|
+
var props = child.props;
|
|
85
|
+
if ((0, _isTab["default"])(type)) {
|
|
86
|
+
return /*#__PURE__*/(0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, props), {}, {
|
|
87
|
+
selectedTab: selectedTab,
|
|
88
|
+
onTabClick: _this2.handleTabClick
|
|
89
|
+
}));
|
|
90
|
+
}
|
|
91
|
+
var _children = props.children;
|
|
92
|
+
if (_children) {
|
|
93
|
+
// eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
94
|
+
return /*#__PURE__*/(0, _react.cloneElement)(child, _objectSpread(_objectSpread({}, props), {}, {
|
|
95
|
+
children: _this2.mapChildren(_children, selectedTab)
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return child;
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
}, {
|
|
103
|
+
key: "getChildren",
|
|
104
|
+
value: function getChildren() {
|
|
105
|
+
var _this$props = this.props,
|
|
106
|
+
children = _this$props.children,
|
|
107
|
+
selectedTab = _this$props.selectedTab;
|
|
108
|
+
return this.mapChildren(children, selectedTab);
|
|
109
|
+
}
|
|
110
|
+
}, {
|
|
111
|
+
key: "render",
|
|
112
|
+
value: function render() {
|
|
113
|
+
return /*#__PURE__*/_react["default"].createElement("ul", {
|
|
114
|
+
className: "tab-group"
|
|
115
|
+
}, this.getChildren());
|
|
116
|
+
}
|
|
117
|
+
}]);
|
|
118
|
+
return TabGroup;
|
|
119
|
+
}(_react.Component);
|
|
120
|
+
exports["default"] = TabGroup;
|
|
121
|
+
/*
|
|
122
|
+
* The selected tab default does not have to be a uuid, but a uuid
|
|
123
|
+
* reduces the likelihood that this default has the same value as
|
|
124
|
+
* an implemented tab
|
|
125
|
+
*/
|
|
126
|
+
_defineProperty(TabGroup, "defaultProps", {
|
|
127
|
+
onTabSelect: function onTabSelect() {},
|
|
128
|
+
selectedTab: (0, _uuid.v4)(),
|
|
129
|
+
children: []
|
|
130
|
+
});
|
|
@@ -1 +1,94 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
require("core-js/modules/es.object.set-prototype-of.js");
|
|
5
|
+
require("core-js/modules/es.function.bind.js");
|
|
6
|
+
require("core-js/modules/es.object.get-prototype-of.js");
|
|
7
|
+
require("core-js/modules/es.reflect.construct.js");
|
|
8
|
+
require("core-js/modules/es.object.create.js");
|
|
9
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
10
|
+
require("core-js/modules/es.array.iterator.js");
|
|
11
|
+
require("core-js/modules/es.string.iterator.js");
|
|
12
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
13
|
+
require("core-js/modules/es.weak-map.js");
|
|
14
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
15
|
+
Object.defineProperty(exports, "__esModule", {
|
|
16
|
+
value: true
|
|
17
|
+
});
|
|
18
|
+
exports["default"] = void 0;
|
|
19
|
+
require("core-js/modules/es.array.concat.js");
|
|
20
|
+
require("core-js/modules/es.symbol.to-primitive.js");
|
|
21
|
+
require("core-js/modules/es.date.to-primitive.js");
|
|
22
|
+
require("core-js/modules/es.symbol.js");
|
|
23
|
+
require("core-js/modules/es.symbol.description.js");
|
|
24
|
+
require("core-js/modules/es.object.to-string.js");
|
|
25
|
+
require("core-js/modules/es.number.constructor.js");
|
|
26
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
27
|
+
var _uuid = require("uuid");
|
|
28
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
29
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
30
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
31
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
32
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
33
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
34
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
35
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
36
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
37
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
38
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
39
|
+
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; } }
|
|
40
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
41
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
42
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
43
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
44
|
+
var Tab = /*#__PURE__*/function (_Component) {
|
|
45
|
+
_inherits(Tab, _Component);
|
|
46
|
+
var _super = _createSuper(Tab);
|
|
47
|
+
function Tab() {
|
|
48
|
+
var _this;
|
|
49
|
+
_classCallCheck(this, Tab);
|
|
50
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
51
|
+
args[_key] = arguments[_key];
|
|
52
|
+
}
|
|
53
|
+
_this = _super.call.apply(_super, [this].concat(args));
|
|
54
|
+
_defineProperty(_assertThisInitialized(_this), "handleClick", function () {
|
|
55
|
+
var _this$props = _this.props,
|
|
56
|
+
tab = _this$props.tab,
|
|
57
|
+
onTabClick = _this$props.onTabClick;
|
|
58
|
+
onTabClick(tab);
|
|
59
|
+
});
|
|
60
|
+
return _this;
|
|
61
|
+
}
|
|
62
|
+
_createClass(Tab, [{
|
|
63
|
+
key: "shouldComponentUpdate",
|
|
64
|
+
value: function shouldComponentUpdate(props) {
|
|
65
|
+
return props.children !== this.props.children || props.tab !== this.props.tab || props.selectedTab !== this.props.selectedTab;
|
|
66
|
+
}
|
|
67
|
+
}, {
|
|
68
|
+
key: "render",
|
|
69
|
+
value: function render() {
|
|
70
|
+
var _this$props2 = this.props,
|
|
71
|
+
tab = _this$props2.tab,
|
|
72
|
+
selectedTab = _this$props2.selectedTab,
|
|
73
|
+
children = _this$props2.children;
|
|
74
|
+
var className = tab === selectedTab ? 'tab selected' : 'tab';
|
|
75
|
+
return /*#__PURE__*/_react["default"].createElement("li", {
|
|
76
|
+
className: className,
|
|
77
|
+
onClick: this.handleClick
|
|
78
|
+
}, children);
|
|
79
|
+
}
|
|
80
|
+
}]);
|
|
81
|
+
return Tab;
|
|
82
|
+
}(_react.Component);
|
|
83
|
+
exports["default"] = Tab;
|
|
84
|
+
/*
|
|
85
|
+
* The tab and selected tab defaults do not have to be a uuid, but a uuid
|
|
86
|
+
* reduces the likelihood that this default has the same value as
|
|
87
|
+
* an implemented tab
|
|
88
|
+
*/
|
|
89
|
+
_defineProperty(Tab, "defaultProps", {
|
|
90
|
+
onTabClick: function onTabClick() {},
|
|
91
|
+
tab: (0, _uuid.v4)(),
|
|
92
|
+
selectedTab: (0, _uuid.v4)(),
|
|
93
|
+
children: []
|
|
94
|
+
});
|
|
@@ -1 +1,97 @@
|
|
|
1
|
-
"use strict";
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("core-js/modules/es.object.define-property.js");
|
|
4
|
+
require("core-js/modules/es.object.set-prototype-of.js");
|
|
5
|
+
require("core-js/modules/es.function.bind.js");
|
|
6
|
+
require("core-js/modules/es.object.get-prototype-of.js");
|
|
7
|
+
require("core-js/modules/es.reflect.construct.js");
|
|
8
|
+
require("core-js/modules/es.object.create.js");
|
|
9
|
+
require("core-js/modules/es.symbol.iterator.js");
|
|
10
|
+
require("core-js/modules/es.array.iterator.js");
|
|
11
|
+
require("core-js/modules/es.string.iterator.js");
|
|
12
|
+
require("core-js/modules/web.dom-collections.iterator.js");
|
|
13
|
+
require("core-js/modules/es.weak-map.js");
|
|
14
|
+
require("core-js/modules/es.object.get-own-property-descriptor.js");
|
|
15
|
+
Object.defineProperty(exports, "__esModule", {
|
|
16
|
+
value: true
|
|
17
|
+
});
|
|
18
|
+
exports["default"] = void 0;
|
|
19
|
+
require("core-js/modules/es.symbol.to-primitive.js");
|
|
20
|
+
require("core-js/modules/es.date.to-primitive.js");
|
|
21
|
+
require("core-js/modules/es.symbol.js");
|
|
22
|
+
require("core-js/modules/es.symbol.description.js");
|
|
23
|
+
require("core-js/modules/es.object.to-string.js");
|
|
24
|
+
require("core-js/modules/es.number.constructor.js");
|
|
25
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
26
|
+
var _uuid = require("uuid");
|
|
27
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
28
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
29
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
30
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
31
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
32
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
33
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
34
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
35
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
36
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
37
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
38
|
+
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; } }
|
|
39
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
40
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
41
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
42
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
43
|
+
var TabPanel = /*#__PURE__*/function (_Component) {
|
|
44
|
+
_inherits(TabPanel, _Component);
|
|
45
|
+
var _super = _createSuper(TabPanel);
|
|
46
|
+
function TabPanel() {
|
|
47
|
+
_classCallCheck(this, TabPanel);
|
|
48
|
+
return _super.apply(this, arguments);
|
|
49
|
+
}
|
|
50
|
+
_createClass(TabPanel, [{
|
|
51
|
+
key: "shouldComponentUpdate",
|
|
52
|
+
value: function shouldComponentUpdate(props) {
|
|
53
|
+
if (props.render instanceof Function) return true;
|
|
54
|
+
return props.children !== this.props.children || props.tab !== this.props.tab || props.selectedTab !== this.props.selectedTab;
|
|
55
|
+
}
|
|
56
|
+
}, {
|
|
57
|
+
key: "renderPanel",
|
|
58
|
+
value: function renderPanel() {
|
|
59
|
+
var _this$props = this.props,
|
|
60
|
+
_this$props$render = _this$props.render,
|
|
61
|
+
render = _this$props$render === void 0 ? function () {
|
|
62
|
+
return null;
|
|
63
|
+
} : _this$props$render,
|
|
64
|
+
_this$props$children = _this$props.children,
|
|
65
|
+
children = _this$props$children === void 0 ? render() : _this$props$children;
|
|
66
|
+
if (children) {
|
|
67
|
+
// eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
68
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
69
|
+
className: "tab-panel"
|
|
70
|
+
}, children);
|
|
71
|
+
}
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
}, {
|
|
75
|
+
key: "render",
|
|
76
|
+
value: function render() {
|
|
77
|
+
var _this$props2 = this.props,
|
|
78
|
+
tab = _this$props2.tab,
|
|
79
|
+
selectedTab = _this$props2.selectedTab;
|
|
80
|
+
if (tab === selectedTab) {
|
|
81
|
+
return this.renderPanel();
|
|
82
|
+
}
|
|
83
|
+
return null;
|
|
84
|
+
}
|
|
85
|
+
}]);
|
|
86
|
+
return TabPanel;
|
|
87
|
+
}(_react.Component);
|
|
88
|
+
exports["default"] = TabPanel;
|
|
89
|
+
/*
|
|
90
|
+
* The tab and selected tab defaults do not have to be a uuid, but a uuid
|
|
91
|
+
* reduces the likelihood that this default has the same value as
|
|
92
|
+
* an implemented tab
|
|
93
|
+
*/
|
|
94
|
+
_defineProperty(TabPanel, "defaultProps", {
|
|
95
|
+
tab: (0, _uuid.v4)(),
|
|
96
|
+
selectedTab: (0, _uuid.v4)()
|
|
97
|
+
});
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-tab-set",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "A React Tab Set component",
|
|
5
|
-
"main": "./index.
|
|
5
|
+
"main": "./src/index.mjs",
|
|
6
|
+
"type": "module",
|
|
6
7
|
"author": {
|
|
7
8
|
"name": "Jonathan Perry for Sequence Media Limited",
|
|
8
9
|
"email": "sequencemedia@sequencemedia.net",
|
|
@@ -21,43 +22,81 @@
|
|
|
21
22
|
"babel": "babel src -d lib --extensions .ts,.tsx",
|
|
22
23
|
"babel:watch": "npm run babel -- -w",
|
|
23
24
|
"clean": "rimraf lib",
|
|
24
|
-
"lint": "eslint .",
|
|
25
|
+
"lint": "eslint . --ext .mjs,.cjs,.mts,.cts,.tsx",
|
|
25
26
|
"lint:fix": "npm run lint -- --fix",
|
|
26
|
-
"prepare": "husky install"
|
|
27
|
+
"prepare": "husky install",
|
|
28
|
+
"storybook": "storybook dev -p 6006",
|
|
29
|
+
"build-storybook": "storybook build"
|
|
27
30
|
},
|
|
28
31
|
"dependencies": {
|
|
32
|
+
"debug": "^4.3.4",
|
|
29
33
|
"uuid": "^9.0.1"
|
|
30
34
|
},
|
|
31
35
|
"devDependencies": {
|
|
32
36
|
"@babel/cli": "^7.22.15",
|
|
33
37
|
"@babel/core": "^7.22.20",
|
|
34
38
|
"@babel/eslint-parser": "^7.22.15",
|
|
35
|
-
"@babel/plugin-proposal-class-properties": "^7.18.6",
|
|
36
|
-
"@babel/plugin-proposal-export-default-from": "^7.22.17",
|
|
37
|
-
"@babel/plugin-proposal-export-namespace-from": "^7.18.9",
|
|
38
39
|
"@babel/plugin-transform-typescript": "^7.22.15",
|
|
39
40
|
"@babel/preset-env": "^7.22.20",
|
|
40
41
|
"@babel/preset-react": "^7.22.15",
|
|
41
42
|
"@babel/preset-typescript": "^7.22.15",
|
|
42
43
|
"@babel/register": "^7.22.15",
|
|
43
44
|
"@sequencemedia/hooks": "^1.0.453",
|
|
44
|
-
"@
|
|
45
|
+
"@storybook/addon-essentials": "^7.4.4",
|
|
46
|
+
"@storybook/addon-interactions": "^7.4.4",
|
|
47
|
+
"@storybook/addon-links": "^7.4.4",
|
|
48
|
+
"@storybook/addon-onboarding": "^1.0.8",
|
|
49
|
+
"@storybook/blocks": "^7.4.4",
|
|
50
|
+
"@storybook/react": "^7.4.4",
|
|
51
|
+
"@storybook/react-webpack5": "^7.4.4",
|
|
52
|
+
"@types/debug": "^4.1.8",
|
|
53
|
+
"@types/react": "^18.2.22",
|
|
45
54
|
"@types/uuid": "^9.0.4",
|
|
46
55
|
"@typescript-eslint/eslint-plugin": "5.61.0",
|
|
47
56
|
"@typescript-eslint/parser": "5.61.0",
|
|
48
|
-
"babel-plugin-module-resolver": "^5.0.0",
|
|
49
57
|
"core-js": "^3.32.2",
|
|
50
58
|
"cross-env": "^7.0.3",
|
|
51
59
|
"eslint": "^8.49.0",
|
|
52
60
|
"eslint-config-standard": "^17.1.0",
|
|
53
61
|
"eslint-config-standard-with-typescript": "35.0.0",
|
|
54
|
-
"eslint-import-resolver-babel-module": "^5.3.2",
|
|
55
62
|
"eslint-plugin-react": "^7.33.2",
|
|
63
|
+
"eslint-plugin-storybook": "^0.6.14",
|
|
56
64
|
"husky": "^8.0.3",
|
|
57
65
|
"prop-types": "15.7.2",
|
|
58
66
|
"react": "16.14.0",
|
|
59
67
|
"react-dom": "16.14.0",
|
|
60
68
|
"rimraf": "^5.0.1",
|
|
69
|
+
"storybook": "^7.4.4",
|
|
61
70
|
"typescript": "^5.2.2"
|
|
71
|
+
},
|
|
72
|
+
"exports": {
|
|
73
|
+
".": {
|
|
74
|
+
"require": "./src/index.cjs",
|
|
75
|
+
"import": "./src/index.mjs"
|
|
76
|
+
},
|
|
77
|
+
"./tab-set/is-tab-group": {
|
|
78
|
+
"require": "./src/tab-set/is-tab-group.cjs",
|
|
79
|
+
"import": "./src/tab-set/is-tab-group.mjs"
|
|
80
|
+
},
|
|
81
|
+
"./tab-set/is-tab-panel": {
|
|
82
|
+
"require": "./src/tab-set/is-tab-panel.cjs",
|
|
83
|
+
"import": "./src/tab-set/is-tab-panel.mjs"
|
|
84
|
+
},
|
|
85
|
+
"./tab-set/tab-group": {
|
|
86
|
+
"require": "./src/tab-set/tab-group/index.cjs",
|
|
87
|
+
"import": "./src/tab-set/tab-group/index.mjs"
|
|
88
|
+
},
|
|
89
|
+
"./tab-set/tab-group/tab": {
|
|
90
|
+
"require": "./src/tab-set/tab-group/tab/index.cjs",
|
|
91
|
+
"import": "./src/tab-set/tab-group/tab/index.mjs"
|
|
92
|
+
},
|
|
93
|
+
"./tab-set/tab-panel": {
|
|
94
|
+
"require": "./src/tab-set/tab-panel/index.cjs",
|
|
95
|
+
"import": "./src/tab-set/tab-panel/index.mjs"
|
|
96
|
+
},
|
|
97
|
+
"./tab-set": {
|
|
98
|
+
"require": "./src/tab-set/index.cjs",
|
|
99
|
+
"import": "./src/tab-set/index.mjs"
|
|
100
|
+
}
|
|
62
101
|
}
|
|
63
102
|
}
|
package/src/.babelrc
CHANGED
|
@@ -21,26 +21,6 @@
|
|
|
21
21
|
"@babel/react"
|
|
22
22
|
],
|
|
23
23
|
"plugins": [
|
|
24
|
-
"@babel/transform-typescript"
|
|
25
|
-
"@babel/proposal-export-default-from",
|
|
26
|
-
"@babel/proposal-export-namespace-from",
|
|
27
|
-
[
|
|
28
|
-
"@babel/proposal-class-properties",
|
|
29
|
-
{
|
|
30
|
-
"loose": false
|
|
31
|
-
}
|
|
32
|
-
],
|
|
33
|
-
[
|
|
34
|
-
"module-resolver",
|
|
35
|
-
{
|
|
36
|
-
"root": [
|
|
37
|
-
".."
|
|
38
|
-
],
|
|
39
|
-
"cwd": "babelrc",
|
|
40
|
-
"alias": {
|
|
41
|
-
"react-tab-set": "."
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
]
|
|
24
|
+
"@babel/transform-typescript"
|
|
45
25
|
]
|
|
46
26
|
}
|
package/src/index.cjs
ADDED
package/src/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './index.cjs'
|
package/src/index.mts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import isTabGroup from './tab-set/is-tab-group.mts'
|
|
2
|
+
import isTab from './tab-set/tab-group/is-tab.mts'
|
|
3
|
+
import isTabPanel from './tab-set/is-tab-panel.mts'
|
|
4
|
+
|
|
5
|
+
import TabGroup from './tab-set/tab-group/index.tsx'
|
|
6
|
+
import Tab from './tab-set/tab-group/tab/index.tsx'
|
|
7
|
+
import TabPanel from './tab-set/tab-panel/index.tsx'
|
|
8
|
+
|
|
9
|
+
import TabSet from './tab-set/index.tsx'
|
|
10
|
+
|
|
11
|
+
export {
|
|
12
|
+
isTabGroup,
|
|
13
|
+
isTab,
|
|
14
|
+
isTabPanel
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export {
|
|
18
|
+
TabGroup,
|
|
19
|
+
Tab,
|
|
20
|
+
TabPanel
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default TabSet
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './index.cjs'
|
package/src/tab-set/index.tsx
CHANGED
|
@@ -2,9 +2,12 @@ import React, { Component, Children, cloneElement } from 'react'
|
|
|
2
2
|
import {
|
|
3
3
|
v4
|
|
4
4
|
} from 'uuid'
|
|
5
|
+
import debug from 'debug'
|
|
5
6
|
|
|
6
|
-
import isTabPanel from './is-tab-panel'
|
|
7
|
-
import isTabGroup from './is-tab-group'
|
|
7
|
+
import isTabPanel from './is-tab-panel.mts'
|
|
8
|
+
import isTabGroup from './is-tab-group.mts'
|
|
9
|
+
|
|
10
|
+
const error = debug('react-tab-set/tab-set')
|
|
8
11
|
|
|
9
12
|
export interface TabSetProps {
|
|
10
13
|
onChange: (selectedTab: string) => void
|
|
@@ -12,7 +15,23 @@ export interface TabSetProps {
|
|
|
12
15
|
children: JSX.Element | JSX.Element[]
|
|
13
16
|
}
|
|
14
17
|
|
|
15
|
-
export
|
|
18
|
+
export interface TabSetState {
|
|
19
|
+
selectedTab: string
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default class TabSet extends Component<TabSetProps, TabSetState> {
|
|
23
|
+
constructor (props: TabSetProps) {
|
|
24
|
+
super(props)
|
|
25
|
+
|
|
26
|
+
const {
|
|
27
|
+
selectedTab
|
|
28
|
+
} = props
|
|
29
|
+
|
|
30
|
+
this.state = {
|
|
31
|
+
selectedTab
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
16
35
|
/*
|
|
17
36
|
* The selected tab default does not have to be a uuid, but a uuid
|
|
18
37
|
* reduces the likelihood that this default has the same value as
|
|
@@ -24,20 +43,24 @@ export default class TabSet extends Component<TabSetProps> {
|
|
|
24
43
|
children: []
|
|
25
44
|
}
|
|
26
45
|
|
|
27
|
-
shouldComponentUpdate (props: TabSetProps): boolean {
|
|
46
|
+
shouldComponentUpdate (props: TabSetProps, state: TabSetState): boolean {
|
|
28
47
|
return (
|
|
29
48
|
props.children !== this.props.children ||
|
|
30
|
-
|
|
49
|
+
state.selectedTab !== this.state.selectedTab
|
|
31
50
|
)
|
|
32
51
|
}
|
|
33
52
|
|
|
34
53
|
handleTabSelect = (selectedTab: string): void => {
|
|
35
|
-
if (selectedTab !== this.
|
|
54
|
+
if (selectedTab !== this.state.selectedTab) {
|
|
36
55
|
const { onChange } = this.props
|
|
37
56
|
|
|
38
|
-
this.setState({ selectedTab })
|
|
39
|
-
|
|
40
|
-
|
|
57
|
+
this.setState({ selectedTab }, () => {
|
|
58
|
+
try {
|
|
59
|
+
onChange(selectedTab)
|
|
60
|
+
} catch {
|
|
61
|
+
error('Error `onChange`')
|
|
62
|
+
}
|
|
63
|
+
})
|
|
41
64
|
}
|
|
42
65
|
}
|
|
43
66
|
|
|
@@ -45,7 +68,7 @@ export default class TabSet extends Component<TabSetProps> {
|
|
|
45
68
|
return Children.map(children, (child) => {
|
|
46
69
|
const { type } = child
|
|
47
70
|
|
|
48
|
-
if (type) {
|
|
71
|
+
if (type) { // eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
49
72
|
const { props } = child
|
|
50
73
|
|
|
51
74
|
if (isTabGroup(type)) {
|
|
@@ -73,7 +96,7 @@ export default class TabSet extends Component<TabSetProps> {
|
|
|
73
96
|
children
|
|
74
97
|
} = props
|
|
75
98
|
|
|
76
|
-
if (children) {
|
|
99
|
+
if (children) { // eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
77
100
|
return cloneElement(
|
|
78
101
|
child,
|
|
79
102
|
{
|
|
@@ -90,10 +113,13 @@ export default class TabSet extends Component<TabSetProps> {
|
|
|
90
113
|
|
|
91
114
|
getChildren (): JSX.Element[] {
|
|
92
115
|
const {
|
|
93
|
-
children
|
|
94
|
-
selectedTab
|
|
116
|
+
children
|
|
95
117
|
} = this.props
|
|
96
118
|
|
|
119
|
+
const {
|
|
120
|
+
selectedTab
|
|
121
|
+
} = this.state
|
|
122
|
+
|
|
97
123
|
return this.mapChildren(children, selectedTab)
|
|
98
124
|
}
|
|
99
125
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './is-tab-group.cjs'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './is-tab-panel.cjs'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './index.cjs'
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
v4
|
|
4
4
|
} from 'uuid'
|
|
5
5
|
|
|
6
|
-
import isTab from './is-tab'
|
|
6
|
+
import isTab from './is-tab.mts'
|
|
7
7
|
|
|
8
8
|
interface TabGroupProps {
|
|
9
9
|
onTabSelect: (selectedTab: string) => void
|
|
@@ -40,7 +40,7 @@ export default class TabGroup extends Component<TabGroupProps> {
|
|
|
40
40
|
return Children.map(children, (child) => {
|
|
41
41
|
const { type } = child
|
|
42
42
|
|
|
43
|
-
if (type) {
|
|
43
|
+
if (type) { // eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
44
44
|
const { props } = child
|
|
45
45
|
|
|
46
46
|
if (isTab(type)) {
|
|
@@ -58,7 +58,7 @@ export default class TabGroup extends Component<TabGroupProps> {
|
|
|
58
58
|
children
|
|
59
59
|
} = props
|
|
60
60
|
|
|
61
|
-
if (children) {
|
|
61
|
+
if (children) { // eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
62
62
|
return cloneElement(
|
|
63
63
|
child,
|
|
64
64
|
{
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './index.cjs'
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default } from './index.cjs'
|
|
@@ -37,7 +37,7 @@ export default class TabPanel extends Component<TabPanelProps> {
|
|
|
37
37
|
children = render()
|
|
38
38
|
} = this.props
|
|
39
39
|
|
|
40
|
-
if (children) {
|
|
40
|
+
if (children) { // eslint-disable-line @typescript-eslint/strict-boolean-expressions
|
|
41
41
|
return (
|
|
42
42
|
<div className='tab-panel'>
|
|
43
43
|
{children}
|
package/tsconfig.json
CHANGED
|
@@ -1,27 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"compilerOptions": {
|
|
3
3
|
"jsx": "react",
|
|
4
|
-
"module": "
|
|
5
|
-
"target": "
|
|
6
|
-
"moduleResolution": "
|
|
4
|
+
"module": "NodeNext",
|
|
5
|
+
"target": "ESNext",
|
|
6
|
+
"moduleResolution": "NodeNext",
|
|
7
7
|
"noEmit": true,
|
|
8
8
|
"strict": true,
|
|
9
9
|
"isolatedModules": true,
|
|
10
|
-
"noImplicitAny": true,
|
|
11
|
-
"allowSyntheticDefaultImports": true,
|
|
12
10
|
"allowImportingTsExtensions": true,
|
|
13
|
-
"baseUrl": "."
|
|
14
|
-
"paths": {
|
|
15
|
-
"react-tab-set": [
|
|
16
|
-
"src"
|
|
17
|
-
],
|
|
18
|
-
"react-tab-set/*": [
|
|
19
|
-
"src/*"
|
|
20
|
-
]
|
|
21
|
-
}
|
|
11
|
+
"baseUrl": "."
|
|
22
12
|
},
|
|
23
13
|
"include": [
|
|
24
|
-
"src/**/*"
|
|
25
|
-
"stories/**/*"
|
|
14
|
+
"src/**/*"
|
|
26
15
|
]
|
|
27
16
|
}
|
package/lib/index.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");Object.defineProperty(exports,"__esModule",{value:true});Object.defineProperty(exports,"Tab",{enumerable:true,get:function get(){return _tab["default"];}});Object.defineProperty(exports,"TabGroup",{enumerable:true,get:function get(){return _tabGroup["default"];}});Object.defineProperty(exports,"TabPanel",{enumerable:true,get:function get(){return _tabPanel["default"];}});exports["default"]=void 0;Object.defineProperty(exports,"isTab",{enumerable:true,get:function get(){return _isTab["default"];}});Object.defineProperty(exports,"isTabGroup",{enumerable:true,get:function get(){return _isTabGroup["default"];}});Object.defineProperty(exports,"isTabPanel",{enumerable:true,get:function get(){return _isTabPanel["default"];}});var _isTabGroup=_interopRequireDefault(require("./tab-set/is-tab-group"));var _isTab=_interopRequireDefault(require("./tab-set/tab-group/is-tab"));var _isTabPanel=_interopRequireDefault(require("./tab-set/is-tab-panel"));var _tabGroup=_interopRequireDefault(require("./tab-set/tab-group"));var _tab=_interopRequireDefault(require("./tab-set/tab-group/tab"));var _tabPanel=_interopRequireDefault(require("./tab-set/tab-panel"));var _tabSet=_interopRequireDefault(require("./tab-set"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var _default=_tabSet["default"];exports["default"]=_default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _tabGroup=_interopRequireDefault(require("./tab-group"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var isTabGroup=function isTabGroup(c){return c===_tabGroup["default"];};var _default=isTabGroup;exports["default"]=_default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _tabPanel=_interopRequireDefault(require("./tab-panel"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var isTabPanel=function isTabPanel(c){return c===_tabPanel["default"];};var _default=isTabPanel;exports["default"]=_default;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";require("core-js/modules/es.object.define-property.js");Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _tab=_interopRequireDefault(require("./tab"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj};}var isTab=function isTab(c){return c===_tab["default"];};var _default=isTab;exports["default"]=_default;
|
package/src/index.ts
DELETED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import isTabGroup from './tab-set/is-tab-group'
|
|
2
|
-
import isTab from './tab-set/tab-group/is-tab'
|
|
3
|
-
import isTabPanel from './tab-set/is-tab-panel'
|
|
4
|
-
|
|
5
|
-
import TabGroup from './tab-set/tab-group'
|
|
6
|
-
import Tab from './tab-set/tab-group/tab'
|
|
7
|
-
import TabPanel from './tab-set/tab-panel'
|
|
8
|
-
|
|
9
|
-
import TabSet from './tab-set'
|
|
10
|
-
|
|
11
|
-
export {
|
|
12
|
-
isTabGroup,
|
|
13
|
-
isTab,
|
|
14
|
-
isTabPanel
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
export {
|
|
18
|
-
TabGroup,
|
|
19
|
-
Tab,
|
|
20
|
-
TabPanel
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
export default TabSet
|