@bydata/react-supertabs 1.1.6 → 1.1.7

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.
Files changed (2) hide show
  1. package/dist/SuperLink.js +34 -4
  2. package/package.json +1 -1
package/dist/SuperLink.js CHANGED
@@ -7,16 +7,35 @@ exports["default"] = void 0;
7
7
  var _react = _interopRequireDefault(require("react"));
8
8
  var _reactRouterDom = require("react-router-dom");
9
9
  var _TabContext = require("./TabContext");
10
+ var _excluded = ["children", "tab", "isSubTab", "isExternal"];
10
11
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
12
+ function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
13
+ function _objectWithoutProperties(e, t) { if (null == e) return {}; var o, r, i = _objectWithoutPropertiesLoose(e, t); if (Object.getOwnPropertySymbols) { var n = Object.getOwnPropertySymbols(e); for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]); } return i; }
14
+ function _objectWithoutPropertiesLoose(r, e) { if (null == r) return {}; var t = {}; for (var n in r) if ({}.hasOwnProperty.call(r, n)) { if (-1 !== e.indexOf(n)) continue; t[n] = r[n]; } return t; }
15
+ /**
16
+ * Hook that returns whether we're inside a valid React Router context.
17
+ * When the app and the library use different copies of react-router-dom,
18
+ * location can be undefined and NavLink would throw reading pathname.
19
+ */
20
+ function useHasRouterContext() {
21
+ try {
22
+ var location = (0, _reactRouterDom.useLocation)();
23
+ return location != null && typeof location.pathname === 'string';
24
+ } catch (_unused) {
25
+ return false;
26
+ }
27
+ }
11
28
  var SuperLink = function SuperLink(_ref) {
12
29
  var children = _ref.children,
13
30
  tab = _ref.tab,
14
31
  _ref$isSubTab = _ref.isSubTab,
15
32
  isSubTab = _ref$isSubTab === void 0 ? true : _ref$isSubTab,
16
33
  _ref$isExternal = _ref.isExternal,
17
- isExternal = _ref$isExternal === void 0 ? false : _ref$isExternal;
34
+ isExternal = _ref$isExternal === void 0 ? false : _ref$isExternal,
35
+ rest = _objectWithoutProperties(_ref, _excluded);
18
36
  var _useTabContext = (0, _TabContext.useTabContext)(),
19
37
  openSuperTabOnRowClick = _useTabContext.openSuperTabOnRowClick;
38
+ var hasRouterContext = useHasRouterContext();
20
39
  var handleSuperLinkClick = function handleSuperLinkClick(e) {
21
40
  if (isExternal) {
22
41
  e.preventDefault();
@@ -28,11 +47,22 @@ var SuperLink = function SuperLink(_ref) {
28
47
  isSubTab: isSubTab
29
48
  });
30
49
  };
31
- return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.NavLink, {
50
+ if (!hasRouterContext) {
51
+ return /*#__PURE__*/_react["default"].createElement("a", _extends({
52
+ href: tab.url,
53
+ title: tab.title || '',
54
+ onClick: function onClick(e) {
55
+ if (!isExternal) {
56
+ e.preventDefault();
57
+ handleSuperLinkClick(e);
58
+ }
59
+ }
60
+ }, rest), children);
61
+ }
62
+ return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.NavLink, _extends({
32
63
  to: tab.url,
33
64
  title: tab.title || '',
34
65
  onClick: handleSuperLinkClick
35
- // exact
36
- }, children);
66
+ }, rest), children);
37
67
  };
38
68
  var _default = exports["default"] = SuperLink;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bydata/react-supertabs",
3
- "version": "1.1.6",
3
+ "version": "1.1.7",
4
4
  "description": "A customizable React super tabs component.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",