@ndla/safelink 2.2.6 → 2.2.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.
- package/es/SafeLink.js +2 -2
- package/lib/SafeLink.js +4 -4
- package/package.json +5 -4
package/es/SafeLink.js
CHANGED
|
@@ -18,7 +18,7 @@ function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringif
|
|
|
18
18
|
import React, { forwardRef, useContext } from 'react';
|
|
19
19
|
import { Link } from 'react-router-dom';
|
|
20
20
|
import { Launch } from '@ndla/icons/common';
|
|
21
|
-
import isString from 'lodash
|
|
21
|
+
import { isString } from 'lodash';
|
|
22
22
|
import MissingRouterContext from './MissingRouterContext';
|
|
23
23
|
import { jsx as ___EmotionJSX } from "@emotion/core";
|
|
24
24
|
|
|
@@ -39,7 +39,7 @@ var LaunchIcon = /*#__PURE__*/_styled(Launch, {
|
|
|
39
39
|
} : {
|
|
40
40
|
name: "vum9tn",
|
|
41
41
|
styles: "margin-left:6px;height:auto;width:auto;margin-top:1px;",
|
|
42
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
42
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNhZmVMaW5rLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQmlDIiwiZmlsZSI6IlNhZmVMaW5rLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LXByZXNlbnQsIE5ETEEuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BMdjMgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIEhUTUxBdHRyaWJ1dGVzLCBNdXRhYmxlUmVmT2JqZWN0LCBSZWFjdE5vZGUsIHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaW5rLCBMaW5rUHJvcHMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IExhdW5jaCB9IGZyb20gJ0BuZGxhL2ljb25zL2NvbW1vbic7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgTWlzc2luZ1JvdXRlckNvbnRleHQgZnJvbSAnLi9NaXNzaW5nUm91dGVyQ29udGV4dCc7XG5cbmNvbnN0IGlzRXh0ZXJuYWxMaW5rID0gKHRvPzogTGlua1Byb3BzWyd0byddKSA9PlxuICB0byAmJiBpc1N0cmluZyh0bykgJiYgKHRvLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykgfHwgdG8uc3RhcnRzV2l0aCgnaHR0cDovLycpKTtcblxuZXhwb3J0IGNvbnN0IGlzT2xkTmRsYUxpbmsgPSAodG8/OiBMaW5rUHJvcHNbJ3RvJ10pID0+IHRvICYmIGlzU3RyaW5nKHRvKSAmJiB0by5tYXRjaCgvKC4qKVxcLz9ub2RlXFwvKFxcZCspLiovKSAhPT0gbnVsbDtcblxuY29uc3QgTGF1bmNoSWNvbiA9IHN0eWxlZChMYXVuY2gpYFxuICBtYXJnaW4tbGVmdDogNnB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAxcHg7XG5gO1xuXG50eXBlIFByb3BzID0ge1xuICBzaG93TmV3V2luZG93SWNvbj86IGJvb2xlYW47XG4gIHJlZj86IE11dGFibGVSZWZPYmplY3Q8SFRNTEFuY2hvckVsZW1lbnQgfCBudWxsPjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgdHlwZSBTYWZlTGlua1Byb3BzID0gUHJvcHMgJiBMaW5rUHJvcHMgJiBIVE1MQXR0cmlidXRlczxIVE1MRWxlbWVudD47XG5cbi8vIEZhbGxiYWNrIHRvIG5vcm1hbCBsaW5rIGlmIGFwcCBpcyBtaXNzaW5nIFJvdXRlckNvbnRleHQsIGxpbmsgaXMgZXh0ZXJuYWwgb3IgaXMgb2xkIG5kbGEgbGlua1xuXG5jb25zdCBTYWZlTGluayA9IGZvcndhcmRSZWY8SFRNTEFuY2hvckVsZW1lbnQsIFNhZmVMaW5rUHJvcHM+KFxuICAoeyB0bywgcmVwbGFjZSwgY2hpbGRyZW4sIHNob3dOZXdXaW5kb3dJY29uLCB0YWJJbmRleCwgLi4ucmVzdCB9LCByZWYpID0+IHtcbiAgICBjb25zdCBpc01pc3NpbmdSb3V0ZXJDb250ZXh0ID0gdXNlQ29udGV4dChNaXNzaW5nUm91dGVyQ29udGV4dCk7XG5cbiAgICBpZiAoaXNNaXNzaW5nUm91dGVyQ29udGV4dCB8fCBpc0V4dGVybmFsTGluayh0bykgfHwgaXNPbGROZGxhTGluayh0bykpIHtcbiAgICAgIGNvbnN0IGhyZWYgPSB0eXBlb2YgdG8gPT09ICdzdHJpbmcnID8gdG8gOiAnIyc7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8YSBocmVmPXtocmVmfSByZWY9e3JlZn0gey4uLnJlc3R9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICB7c2hvd05ld1dpbmRvd0ljb24gJiYgPExhdW5jaEljb24gc3R5bGU9e3sgdmVydGljYWxBbGlnbjogJ3RleHQtdG9wJyB9fSAvPn1cbiAgICAgICAgPC9hPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgLy8gUlI2IGxpbmsgaW1tZWRpYXRlbHkgZmFpbHMgaWYgdG8gaXMgc29tZWhvdyB1bmRlZmluZWQsIHNvIHdlIHByb3ZpZGUgYW4gZW1wdHkgZmFsbGJhY2sgdG8gcmVjb3Zlci5cbiAgICAgIDxMaW5rIHJlZj17cmVmfSB0YWJJbmRleD17dGFiSW5kZXggPz8gMH0gdG89e3RvID8/ICcnfSByZXBsYWNlPXtyZXBsYWNlfSB7Li4ucmVzdH0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAge3Nob3dOZXdXaW5kb3dJY29uICYmIDxMYXVuY2hJY29uIHN0eWxlPXt7IHZlcnRpY2FsQWxpZ246ICd0ZXh0LXRvcCcgfX0gLz59XG4gICAgICA8L0xpbms+XG4gICAgKTtcbiAgfSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IFNhZmVMaW5rO1xuIl19 */",
|
|
43
43
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
44
44
|
});
|
|
45
45
|
|
package/lib/SafeLink.js
CHANGED
|
@@ -15,7 +15,7 @@ var _reactRouterDom = require("react-router-dom");
|
|
|
15
15
|
|
|
16
16
|
var _common = require("@ndla/icons/common");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _lodash = require("lodash");
|
|
19
19
|
|
|
20
20
|
var _MissingRouterContext = _interopRequireDefault(require("./MissingRouterContext"));
|
|
21
21
|
|
|
@@ -36,11 +36,11 @@ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) r
|
|
|
36
36
|
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
37
37
|
|
|
38
38
|
var isExternalLink = function isExternalLink(to) {
|
|
39
|
-
return to && (0,
|
|
39
|
+
return to && (0, _lodash.isString)(to) && (to.startsWith('https://') || to.startsWith('http://'));
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
var isOldNdlaLink = function isOldNdlaLink(to) {
|
|
43
|
-
return to && (0,
|
|
43
|
+
return to && (0, _lodash.isString)(to) && to.match(/(.*)\/?node\/(\d+).*/) !== null;
|
|
44
44
|
};
|
|
45
45
|
|
|
46
46
|
exports.isOldNdlaLink = isOldNdlaLink;
|
|
@@ -53,7 +53,7 @@ var LaunchIcon = ( /*#__PURE__*/0, _styledBase["default"])(_common.Launch, {
|
|
|
53
53
|
} : {
|
|
54
54
|
name: "vum9tn",
|
|
55
55
|
styles: "margin-left:6px;height:auto;width:auto;margin-top:1px;",
|
|
56
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
56
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNhZmVMaW5rLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQmlDIiwiZmlsZSI6IlNhZmVMaW5rLnRzeCIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29weXJpZ2h0IChjKSAyMDE5LXByZXNlbnQsIE5ETEEuXG4gKlxuICogVGhpcyBzb3VyY2UgY29kZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgR1BMdjMgbGljZW5zZSBmb3VuZCBpbiB0aGVcbiAqIExJQ0VOU0UgZmlsZSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBzb3VyY2UgdHJlZS5cbiAqXG4gKi9cblxuaW1wb3J0IFJlYWN0LCB7IGZvcndhcmRSZWYsIEhUTUxBdHRyaWJ1dGVzLCBNdXRhYmxlUmVmT2JqZWN0LCBSZWFjdE5vZGUsIHVzZUNvbnRleHQgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaW5rLCBMaW5rUHJvcHMgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbmltcG9ydCB7IExhdW5jaCB9IGZyb20gJ0BuZGxhL2ljb25zL2NvbW1vbic7XG5pbXBvcnQgeyBpc1N0cmluZyB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgTWlzc2luZ1JvdXRlckNvbnRleHQgZnJvbSAnLi9NaXNzaW5nUm91dGVyQ29udGV4dCc7XG5cbmNvbnN0IGlzRXh0ZXJuYWxMaW5rID0gKHRvPzogTGlua1Byb3BzWyd0byddKSA9PlxuICB0byAmJiBpc1N0cmluZyh0bykgJiYgKHRvLnN0YXJ0c1dpdGgoJ2h0dHBzOi8vJykgfHwgdG8uc3RhcnRzV2l0aCgnaHR0cDovLycpKTtcblxuZXhwb3J0IGNvbnN0IGlzT2xkTmRsYUxpbmsgPSAodG8/OiBMaW5rUHJvcHNbJ3RvJ10pID0+IHRvICYmIGlzU3RyaW5nKHRvKSAmJiB0by5tYXRjaCgvKC4qKVxcLz9ub2RlXFwvKFxcZCspLiovKSAhPT0gbnVsbDtcblxuY29uc3QgTGF1bmNoSWNvbiA9IHN0eWxlZChMYXVuY2gpYFxuICBtYXJnaW4tbGVmdDogNnB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW4tdG9wOiAxcHg7XG5gO1xuXG50eXBlIFByb3BzID0ge1xuICBzaG93TmV3V2luZG93SWNvbj86IGJvb2xlYW47XG4gIHJlZj86IE11dGFibGVSZWZPYmplY3Q8SFRNTEFuY2hvckVsZW1lbnQgfCBudWxsPjtcbiAgY2hpbGRyZW4/OiBSZWFjdE5vZGU7XG59O1xuXG5leHBvcnQgdHlwZSBTYWZlTGlua1Byb3BzID0gUHJvcHMgJiBMaW5rUHJvcHMgJiBIVE1MQXR0cmlidXRlczxIVE1MRWxlbWVudD47XG5cbi8vIEZhbGxiYWNrIHRvIG5vcm1hbCBsaW5rIGlmIGFwcCBpcyBtaXNzaW5nIFJvdXRlckNvbnRleHQsIGxpbmsgaXMgZXh0ZXJuYWwgb3IgaXMgb2xkIG5kbGEgbGlua1xuXG5jb25zdCBTYWZlTGluayA9IGZvcndhcmRSZWY8SFRNTEFuY2hvckVsZW1lbnQsIFNhZmVMaW5rUHJvcHM+KFxuICAoeyB0bywgcmVwbGFjZSwgY2hpbGRyZW4sIHNob3dOZXdXaW5kb3dJY29uLCB0YWJJbmRleCwgLi4ucmVzdCB9LCByZWYpID0+IHtcbiAgICBjb25zdCBpc01pc3NpbmdSb3V0ZXJDb250ZXh0ID0gdXNlQ29udGV4dChNaXNzaW5nUm91dGVyQ29udGV4dCk7XG5cbiAgICBpZiAoaXNNaXNzaW5nUm91dGVyQ29udGV4dCB8fCBpc0V4dGVybmFsTGluayh0bykgfHwgaXNPbGROZGxhTGluayh0bykpIHtcbiAgICAgIGNvbnN0IGhyZWYgPSB0eXBlb2YgdG8gPT09ICdzdHJpbmcnID8gdG8gOiAnIyc7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8YSBocmVmPXtocmVmfSByZWY9e3JlZn0gey4uLnJlc3R9PlxuICAgICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAgICB7c2hvd05ld1dpbmRvd0ljb24gJiYgPExhdW5jaEljb24gc3R5bGU9e3sgdmVydGljYWxBbGlnbjogJ3RleHQtdG9wJyB9fSAvPn1cbiAgICAgICAgPC9hPlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgLy8gUlI2IGxpbmsgaW1tZWRpYXRlbHkgZmFpbHMgaWYgdG8gaXMgc29tZWhvdyB1bmRlZmluZWQsIHNvIHdlIHByb3ZpZGUgYW4gZW1wdHkgZmFsbGJhY2sgdG8gcmVjb3Zlci5cbiAgICAgIDxMaW5rIHJlZj17cmVmfSB0YWJJbmRleD17dGFiSW5kZXggPz8gMH0gdG89e3RvID8/ICcnfSByZXBsYWNlPXtyZXBsYWNlfSB7Li4ucmVzdH0+XG4gICAgICAgIHtjaGlsZHJlbn1cbiAgICAgICAge3Nob3dOZXdXaW5kb3dJY29uICYmIDxMYXVuY2hJY29uIHN0eWxlPXt7IHZlcnRpY2FsQWxpZ246ICd0ZXh0LXRvcCcgfX0gLz59XG4gICAgICA8L0xpbms+XG4gICAgKTtcbiAgfSxcbik7XG5cbmV4cG9ydCBkZWZhdWx0IFNhZmVMaW5rO1xuIl19 */",
|
|
57
57
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
58
58
|
});
|
|
59
59
|
// Fallback to normal link if app is missing RouterContext, link is external or is old ndla link
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndla/safelink",
|
|
3
|
-
"version": "2.2.
|
|
3
|
+
"version": "2.2.7",
|
|
4
4
|
"description": "SafeLink component for NDLA",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -26,8 +26,9 @@
|
|
|
26
26
|
"es"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@ndla/button": "^3.3.
|
|
30
|
-
"@ndla/icons": "^1.11.
|
|
29
|
+
"@ndla/button": "^3.3.1",
|
|
30
|
+
"@ndla/icons": "^1.11.4",
|
|
31
|
+
"lodash": "^4.17.20"
|
|
31
32
|
},
|
|
32
33
|
"peerDependencies": {
|
|
33
34
|
"@emotion/core": "^10.0.35",
|
|
@@ -38,5 +39,5 @@
|
|
|
38
39
|
"publishConfig": {
|
|
39
40
|
"access": "public"
|
|
40
41
|
},
|
|
41
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "1c8439d413eefda014a9438d78a34c1639194321"
|
|
42
43
|
}
|