@ndla/safelink 3.0.1 → 3.0.5
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 +22 -15
- package/es/SafeLinkButton.js +12 -9
- package/lib/SafeLink.js +22 -16
- package/lib/SafeLinkButton.js +12 -8
- package/package.json +4 -4
package/es/SafeLink.js
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import _styled from "@emotion/styled/base";
|
|
2
|
+
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
3
|
+
import { jsxs as _jsxs } from "@emotion/react/jsx-runtime";
|
|
2
4
|
|
|
3
|
-
function
|
|
5
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
6
|
+
|
|
7
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
8
|
+
|
|
9
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
10
|
|
|
5
11
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
6
12
|
|
|
@@ -20,7 +26,6 @@ import { Link } from 'react-router-dom';
|
|
|
20
26
|
import { Launch } from '@ndla/icons/common';
|
|
21
27
|
import { isString } from 'lodash';
|
|
22
28
|
import MissingRouterContext from './MissingRouterContext';
|
|
23
|
-
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
24
29
|
|
|
25
30
|
var isExternalLink = function isExternalLink(to) {
|
|
26
31
|
return to && isString(to) && (to.startsWith('https://') || to.startsWith('http://'));
|
|
@@ -30,9 +35,7 @@ export var isOldNdlaLink = function isOldNdlaLink(to) {
|
|
|
30
35
|
return to && isString(to) && to.match(/(.*)\/?node\/(\d+).*/) !== null;
|
|
31
36
|
};
|
|
32
37
|
|
|
33
|
-
var LaunchIcon = /*#__PURE__*/_styled(Launch,
|
|
34
|
-
target: "e2rl38a0"
|
|
35
|
-
} : {
|
|
38
|
+
var LaunchIcon = /*#__PURE__*/_styled(Launch, {
|
|
36
39
|
target: "e2rl38a0",
|
|
37
40
|
label: "LaunchIcon"
|
|
38
41
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -59,26 +62,30 @@ var SafeLink = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
59
62
|
|
|
60
63
|
if (isMissingRouterContext || isExternalLink(to) || isOldNdlaLink(to) || asAnchor) {
|
|
61
64
|
var href = typeof to === 'string' ? to : '#';
|
|
62
|
-
return
|
|
65
|
+
return _jsxs("a", _objectSpread(_objectSpread({
|
|
63
66
|
href: href,
|
|
64
67
|
ref: ref
|
|
65
|
-
}, rest),
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
68
|
+
}, rest), {}, {
|
|
69
|
+
children: [children, showNewWindowIcon && _jsx(LaunchIcon, {
|
|
70
|
+
style: {
|
|
71
|
+
verticalAlign: 'text-top'
|
|
72
|
+
}
|
|
73
|
+
})]
|
|
69
74
|
}));
|
|
70
75
|
}
|
|
71
76
|
|
|
72
77
|
return (// RR6 link immediately fails if to is somehow undefined, so we provide an empty fallback to recover.
|
|
73
|
-
|
|
78
|
+
_jsxs(Link, _objectSpread(_objectSpread({
|
|
74
79
|
ref: ref,
|
|
75
80
|
tabIndex: tabIndex !== null && tabIndex !== void 0 ? tabIndex : 0,
|
|
76
81
|
to: to !== null && to !== void 0 ? to : '',
|
|
77
82
|
replace: replace
|
|
78
|
-
}, rest),
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
83
|
+
}, rest), {}, {
|
|
84
|
+
children: [children, showNewWindowIcon && _jsx(LaunchIcon, {
|
|
85
|
+
style: {
|
|
86
|
+
verticalAlign: 'text-top'
|
|
87
|
+
}
|
|
88
|
+
})]
|
|
82
89
|
}))
|
|
83
90
|
);
|
|
84
91
|
});
|
package/es/SafeLinkButton.js
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
import { jsx as _jsx } from "@emotion/react/jsx-runtime";
|
|
2
|
+
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
|
|
5
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
6
|
+
|
|
7
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
8
|
|
|
3
9
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
4
10
|
|
|
@@ -15,7 +21,6 @@ import React from 'react';
|
|
|
15
21
|
import { css } from '@emotion/react';
|
|
16
22
|
import { appearances, ButtonStyles } from '@ndla/button';
|
|
17
23
|
import SafeLink from './SafeLink';
|
|
18
|
-
import { jsx as ___EmotionJSX } from "@emotion/react";
|
|
19
24
|
|
|
20
25
|
var getStyles = function getStyles(modifiers) {
|
|
21
26
|
return Object.keys(modifiers).map(function (key) {
|
|
@@ -63,14 +68,12 @@ var SafeLinkButton = function SafeLinkButton(_ref) {
|
|
|
63
68
|
greyLightest: greyLightest
|
|
64
69
|
};
|
|
65
70
|
var styles = ButtonStyles(buttonStyleProps);
|
|
66
|
-
return
|
|
71
|
+
return _jsx(SafeLink, _objectSpread(_objectSpread({
|
|
67
72
|
to: to,
|
|
68
|
-
css:
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
css(modifierStyles, " ", styles, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:SafeLinkButton;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNhZmVMaW5rQnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRmMiLCJmaWxlIjoiU2FmZUxpbmtCdXR0b24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgYXBwZWFyYW5jZXMsIEJ1dHRvblN0eWxlcywgQnV0dG9uQXBwZWFyYW5jZSB9IGZyb20gJ0BuZGxhL2J1dHRvbic7XG5pbXBvcnQgU2FmZUxpbmsgZnJvbSAnLi9TYWZlTGluayc7XG5pbXBvcnQgeyBTYWZlTGlua1Byb3BzIH0gZnJvbSAnLic7XG5cbnR5cGUgU3R5bGVzUHJvcHMgPSBSZWNvcmQ8QnV0dG9uQXBwZWFyYW5jZSwgYm9vbGVhbiB8IHVuZGVmaW5lZD47XG5cbmNvbnN0IGdldFN0eWxlcyA9IChtb2RpZmllcnM6IFBhcnRpYWw8U3R5bGVzUHJvcHM+KSA9PlxuICAoT2JqZWN0LmtleXMobW9kaWZpZXJzKSBhcyBCdXR0b25BcHBlYXJhbmNlW10pXG4gICAgLm1hcCgoa2V5KSA9PiAobW9kaWZpZXJzW2tleV0gPyBhcHBlYXJhbmNlc1trZXldIDogdW5kZWZpbmVkKSlcbiAgICAuZmlsdGVyKChhcHBlYXJhbmNlKSA9PiAhIWFwcGVhcmFuY2UpO1xuXG5pbnRlcmZhY2UgUHJvcHMgZXh0ZW5kcyBTYWZlTGlua1Byb3BzIHtcbiAgb3V0bGluZT86IGJvb2xlYW47XG4gIHN0cmlwcGVkPzogYm9vbGVhbjtcbiAgbGluaz86IGJvb2xlYW47XG4gIGxpZ2h0ZXI/OiBib29sZWFuO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG4gIGludmVydGVkT3V0bGluZT86IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHRvOiBzdHJpbmc7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgYnV0dG9uU2l6ZT86ICdub3JtYWwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xuICBib3JkZXJTaGFwZT86ICdub3JtYWwnIHwgJ3JvdW5kZWQnIHwgJ3NoYXJwZW5lZCc7XG4gIHdpZHRoPzogJ2F1dG8nIHwgJ2Z1bGwnO1xuICB0ZXh0QWxpZ24/OiAnY2VudGVyJyB8ICdsZWZ0JyB8ICdyaWdodCc7XG4gIGRhcmtlcj86IGJvb2xlYW47XG4gIGdyZXlMaWdodGVyPzogYm9vbGVhbjtcbiAgZ3JleUxpZ2h0ZXN0PzogYm9vbGVhbjtcbn1cblxuY29uc3QgU2FmZUxpbmtCdXR0b24gPSAoe1xuICBvdXRsaW5lLFxuICBzdHJpcHBlZCxcbiAgbGluayxcbiAgbGlnaHRlcixcbiAgY2hpbGRyZW4sXG4gIGludmVydGVkLFxuICBpbnZlcnRlZE91dGxpbmUsXG4gIHRvLFxuICBidXR0b25TaXplLFxuICBib3JkZXJTaGFwZSxcbiAgd2lkdGgsXG4gIHRleHRBbGlnbixcbiAgZGFya2VyLFxuICBncmV5TGlnaHRlcixcbiAgZ3JleUxpZ2h0ZXN0LFxuICAuLi5yZXN0XG59OiBQcm9wcykgPT4ge1xuICBjb25zdCBtb2RpZmllclN0eWxlcyA9IGdldFN0eWxlcyh7XG4gICAgbGluayxcbiAgICBvdXRsaW5lLFxuICAgIGxpZ2h0ZXIsXG4gICAgc3RyaXBwZWQsXG4gICAgaW52ZXJ0ZWQsXG4gICAgaW52ZXJ0ZWRPdXRsaW5lLFxuICB9KTtcblxuICBjb25zdCBidXR0b25TdHlsZVByb3BzID0ge1xuICAgIG91dGxpbmUsXG4gICAgbGlnaHRlcixcbiAgICBzaXplOiBidXR0b25TaXplLFxuICAgIGJvcmRlclNoYXBlLFxuICAgIHdpZHRoLFxuICAgIHRleHRBbGlnbixcbiAgICBkYXJrZXIsXG4gICAgZ3JleUxpZ2h0ZXIsXG4gICAgZ3JleUxpZ2h0ZXN0LFxuICB9O1xuICBjb25zdCBzdHlsZXMgPSBCdXR0b25TdHlsZXMoYnV0dG9uU3R5bGVQcm9wcyk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2FmZUxpbmtcbiAgICAgIHRvPXt0b31cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke21vZGlmaWVyU3R5bGVzfVxuICAgICAgICAke3N0eWxlc31cbiAgICAgIGB9XG4gICAgICB7Li4ucmVzdH0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TYWZlTGluaz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNhZmVMaW5rQnV0dG9uO1xuIl19 */", process.env.NODE_ENV === "production" ? "" : ";label:SafeLinkButton;")
|
|
73
|
-
}, rest), children);
|
|
73
|
+
css: /*#__PURE__*/css(modifierStyles, " ", styles, ";;label:SafeLinkButton;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNhZmVMaW5rQnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRmMiLCJmaWxlIjoiU2FmZUxpbmtCdXR0b24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgYXBwZWFyYW5jZXMsIEJ1dHRvblN0eWxlcywgQnV0dG9uQXBwZWFyYW5jZSB9IGZyb20gJ0BuZGxhL2J1dHRvbic7XG5pbXBvcnQgU2FmZUxpbmsgZnJvbSAnLi9TYWZlTGluayc7XG5pbXBvcnQgeyBTYWZlTGlua1Byb3BzIH0gZnJvbSAnLic7XG5cbnR5cGUgU3R5bGVzUHJvcHMgPSBSZWNvcmQ8QnV0dG9uQXBwZWFyYW5jZSwgYm9vbGVhbiB8IHVuZGVmaW5lZD47XG5cbmNvbnN0IGdldFN0eWxlcyA9IChtb2RpZmllcnM6IFBhcnRpYWw8U3R5bGVzUHJvcHM+KSA9PlxuICAoT2JqZWN0LmtleXMobW9kaWZpZXJzKSBhcyBCdXR0b25BcHBlYXJhbmNlW10pXG4gICAgLm1hcCgoa2V5KSA9PiAobW9kaWZpZXJzW2tleV0gPyBhcHBlYXJhbmNlc1trZXldIDogdW5kZWZpbmVkKSlcbiAgICAuZmlsdGVyKChhcHBlYXJhbmNlKSA9PiAhIWFwcGVhcmFuY2UpO1xuXG5pbnRlcmZhY2UgUHJvcHMgZXh0ZW5kcyBTYWZlTGlua1Byb3BzIHtcbiAgb3V0bGluZT86IGJvb2xlYW47XG4gIHN0cmlwcGVkPzogYm9vbGVhbjtcbiAgbGluaz86IGJvb2xlYW47XG4gIGxpZ2h0ZXI/OiBib29sZWFuO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG4gIGludmVydGVkT3V0bGluZT86IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHRvOiBzdHJpbmc7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgYnV0dG9uU2l6ZT86ICdub3JtYWwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xuICBib3JkZXJTaGFwZT86ICdub3JtYWwnIHwgJ3JvdW5kZWQnIHwgJ3NoYXJwZW5lZCc7XG4gIHdpZHRoPzogJ2F1dG8nIHwgJ2Z1bGwnO1xuICB0ZXh0QWxpZ24/OiAnY2VudGVyJyB8ICdsZWZ0JyB8ICdyaWdodCc7XG4gIGRhcmtlcj86IGJvb2xlYW47XG4gIGdyZXlMaWdodGVyPzogYm9vbGVhbjtcbiAgZ3JleUxpZ2h0ZXN0PzogYm9vbGVhbjtcbn1cblxuY29uc3QgU2FmZUxpbmtCdXR0b24gPSAoe1xuICBvdXRsaW5lLFxuICBzdHJpcHBlZCxcbiAgbGluayxcbiAgbGlnaHRlcixcbiAgY2hpbGRyZW4sXG4gIGludmVydGVkLFxuICBpbnZlcnRlZE91dGxpbmUsXG4gIHRvLFxuICBidXR0b25TaXplLFxuICBib3JkZXJTaGFwZSxcbiAgd2lkdGgsXG4gIHRleHRBbGlnbixcbiAgZGFya2VyLFxuICBncmV5TGlnaHRlcixcbiAgZ3JleUxpZ2h0ZXN0LFxuICAuLi5yZXN0XG59OiBQcm9wcykgPT4ge1xuICBjb25zdCBtb2RpZmllclN0eWxlcyA9IGdldFN0eWxlcyh7XG4gICAgbGluayxcbiAgICBvdXRsaW5lLFxuICAgIGxpZ2h0ZXIsXG4gICAgc3RyaXBwZWQsXG4gICAgaW52ZXJ0ZWQsXG4gICAgaW52ZXJ0ZWRPdXRsaW5lLFxuICB9KTtcblxuICBjb25zdCBidXR0b25TdHlsZVByb3BzID0ge1xuICAgIG91dGxpbmUsXG4gICAgbGlnaHRlcixcbiAgICBzaXplOiBidXR0b25TaXplLFxuICAgIGJvcmRlclNoYXBlLFxuICAgIHdpZHRoLFxuICAgIHRleHRBbGlnbixcbiAgICBkYXJrZXIsXG4gICAgZ3JleUxpZ2h0ZXIsXG4gICAgZ3JleUxpZ2h0ZXN0LFxuICB9O1xuICBjb25zdCBzdHlsZXMgPSBCdXR0b25TdHlsZXMoYnV0dG9uU3R5bGVQcm9wcyk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2FmZUxpbmtcbiAgICAgIHRvPXt0b31cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke21vZGlmaWVyU3R5bGVzfVxuICAgICAgICAke3N0eWxlc31cbiAgICAgIGB9XG4gICAgICB7Li4ucmVzdH0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TYWZlTGluaz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNhZmVMaW5rQnV0dG9uO1xuIl19 */"))
|
|
74
|
+
}, rest), {}, {
|
|
75
|
+
children: children
|
|
76
|
+
}));
|
|
74
77
|
};
|
|
75
78
|
|
|
76
79
|
export default SafeLinkButton;
|
package/lib/SafeLink.js
CHANGED
|
@@ -9,6 +9,8 @@ exports["default"] = exports.isOldNdlaLink = void 0;
|
|
|
9
9
|
|
|
10
10
|
var _base = _interopRequireDefault(require("@emotion/styled/base"));
|
|
11
11
|
|
|
12
|
+
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
13
|
+
|
|
12
14
|
var _react = _interopRequireWildcard(require("react"));
|
|
13
15
|
|
|
14
16
|
var _reactRouterDom = require("react-router-dom");
|
|
@@ -19,15 +21,17 @@ var _lodash = require("lodash");
|
|
|
19
21
|
|
|
20
22
|
var _MissingRouterContext = _interopRequireDefault(require("./MissingRouterContext"));
|
|
21
23
|
|
|
22
|
-
var _react2 = require("@emotion/react");
|
|
23
|
-
|
|
24
24
|
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function _getRequireWildcardCache() { return cache; }; return cache; }
|
|
25
25
|
|
|
26
26
|
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (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; }
|
|
27
27
|
|
|
28
28
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
29
29
|
|
|
30
|
-
function
|
|
30
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
31
|
+
|
|
32
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
33
|
+
|
|
34
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
31
35
|
|
|
32
36
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
33
37
|
|
|
@@ -44,9 +48,7 @@ var isOldNdlaLink = function isOldNdlaLink(to) {
|
|
|
44
48
|
};
|
|
45
49
|
|
|
46
50
|
exports.isOldNdlaLink = isOldNdlaLink;
|
|
47
|
-
var LaunchIcon = /*#__PURE__*/(0, _base["default"])(_common.Launch,
|
|
48
|
-
target: "e2rl38a0"
|
|
49
|
-
} : {
|
|
51
|
+
var LaunchIcon = /*#__PURE__*/(0, _base["default"])(_common.Launch, {
|
|
50
52
|
target: "e2rl38a0",
|
|
51
53
|
label: "LaunchIcon"
|
|
52
54
|
})(process.env.NODE_ENV === "production" ? {
|
|
@@ -72,26 +74,30 @@ var SafeLink = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
|
|
|
72
74
|
|
|
73
75
|
if (isMissingRouterContext || isExternalLink(to) || isOldNdlaLink(to) || asAnchor) {
|
|
74
76
|
var href = typeof to === 'string' ? to : '#';
|
|
75
|
-
return (0,
|
|
77
|
+
return (0, _jsxRuntime.jsxs)("a", _objectSpread(_objectSpread({
|
|
76
78
|
href: href,
|
|
77
79
|
ref: ref
|
|
78
|
-
}, rest),
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
}, rest), {}, {
|
|
81
|
+
children: [children, showNewWindowIcon && (0, _jsxRuntime.jsx)(LaunchIcon, {
|
|
82
|
+
style: {
|
|
83
|
+
verticalAlign: 'text-top'
|
|
84
|
+
}
|
|
85
|
+
})]
|
|
82
86
|
}));
|
|
83
87
|
}
|
|
84
88
|
|
|
85
89
|
return (// RR6 link immediately fails if to is somehow undefined, so we provide an empty fallback to recover.
|
|
86
|
-
(0,
|
|
90
|
+
(0, _jsxRuntime.jsxs)(_reactRouterDom.Link, _objectSpread(_objectSpread({
|
|
87
91
|
ref: ref,
|
|
88
92
|
tabIndex: tabIndex !== null && tabIndex !== void 0 ? tabIndex : 0,
|
|
89
93
|
to: to !== null && to !== void 0 ? to : '',
|
|
90
94
|
replace: replace
|
|
91
|
-
}, rest),
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
+
}, rest), {}, {
|
|
96
|
+
children: [children, showNewWindowIcon && (0, _jsxRuntime.jsx)(LaunchIcon, {
|
|
97
|
+
style: {
|
|
98
|
+
verticalAlign: 'text-top'
|
|
99
|
+
}
|
|
100
|
+
})]
|
|
95
101
|
}))
|
|
96
102
|
);
|
|
97
103
|
});
|
package/lib/SafeLinkButton.js
CHANGED
|
@@ -5,6 +5,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports["default"] = void 0;
|
|
7
7
|
|
|
8
|
+
var _jsxRuntime = require("@emotion/react/jsx-runtime");
|
|
9
|
+
|
|
8
10
|
var _react = _interopRequireDefault(require("react"));
|
|
9
11
|
|
|
10
12
|
var _react2 = require("@emotion/react");
|
|
@@ -15,7 +17,11 @@ var _SafeLink = _interopRequireDefault(require("./SafeLink"));
|
|
|
15
17
|
|
|
16
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
19
|
|
|
18
|
-
function
|
|
20
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
21
|
+
|
|
22
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
23
|
+
|
|
24
|
+
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
19
25
|
|
|
20
26
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
21
27
|
|
|
@@ -67,14 +73,12 @@ var SafeLinkButton = function SafeLinkButton(_ref) {
|
|
|
67
73
|
greyLightest: greyLightest
|
|
68
74
|
};
|
|
69
75
|
var styles = (0, _button.ButtonStyles)(buttonStyleProps);
|
|
70
|
-
return (0,
|
|
76
|
+
return (0, _jsxRuntime.jsx)(_SafeLink["default"], _objectSpread(_objectSpread({
|
|
71
77
|
to: to,
|
|
72
|
-
css:
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
(0, _react2.css)(modifierStyles, " ", styles, ";" + (process.env.NODE_ENV === "production" ? "" : ";label:SafeLinkButton;"), process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNhZmVMaW5rQnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRmMiLCJmaWxlIjoiU2FmZUxpbmtCdXR0b24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgYXBwZWFyYW5jZXMsIEJ1dHRvblN0eWxlcywgQnV0dG9uQXBwZWFyYW5jZSB9IGZyb20gJ0BuZGxhL2J1dHRvbic7XG5pbXBvcnQgU2FmZUxpbmsgZnJvbSAnLi9TYWZlTGluayc7XG5pbXBvcnQgeyBTYWZlTGlua1Byb3BzIH0gZnJvbSAnLic7XG5cbnR5cGUgU3R5bGVzUHJvcHMgPSBSZWNvcmQ8QnV0dG9uQXBwZWFyYW5jZSwgYm9vbGVhbiB8IHVuZGVmaW5lZD47XG5cbmNvbnN0IGdldFN0eWxlcyA9IChtb2RpZmllcnM6IFBhcnRpYWw8U3R5bGVzUHJvcHM+KSA9PlxuICAoT2JqZWN0LmtleXMobW9kaWZpZXJzKSBhcyBCdXR0b25BcHBlYXJhbmNlW10pXG4gICAgLm1hcCgoa2V5KSA9PiAobW9kaWZpZXJzW2tleV0gPyBhcHBlYXJhbmNlc1trZXldIDogdW5kZWZpbmVkKSlcbiAgICAuZmlsdGVyKChhcHBlYXJhbmNlKSA9PiAhIWFwcGVhcmFuY2UpO1xuXG5pbnRlcmZhY2UgUHJvcHMgZXh0ZW5kcyBTYWZlTGlua1Byb3BzIHtcbiAgb3V0bGluZT86IGJvb2xlYW47XG4gIHN0cmlwcGVkPzogYm9vbGVhbjtcbiAgbGluaz86IGJvb2xlYW47XG4gIGxpZ2h0ZXI/OiBib29sZWFuO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG4gIGludmVydGVkT3V0bGluZT86IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHRvOiBzdHJpbmc7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgYnV0dG9uU2l6ZT86ICdub3JtYWwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xuICBib3JkZXJTaGFwZT86ICdub3JtYWwnIHwgJ3JvdW5kZWQnIHwgJ3NoYXJwZW5lZCc7XG4gIHdpZHRoPzogJ2F1dG8nIHwgJ2Z1bGwnO1xuICB0ZXh0QWxpZ24/OiAnY2VudGVyJyB8ICdsZWZ0JyB8ICdyaWdodCc7XG4gIGRhcmtlcj86IGJvb2xlYW47XG4gIGdyZXlMaWdodGVyPzogYm9vbGVhbjtcbiAgZ3JleUxpZ2h0ZXN0PzogYm9vbGVhbjtcbn1cblxuY29uc3QgU2FmZUxpbmtCdXR0b24gPSAoe1xuICBvdXRsaW5lLFxuICBzdHJpcHBlZCxcbiAgbGluayxcbiAgbGlnaHRlcixcbiAgY2hpbGRyZW4sXG4gIGludmVydGVkLFxuICBpbnZlcnRlZE91dGxpbmUsXG4gIHRvLFxuICBidXR0b25TaXplLFxuICBib3JkZXJTaGFwZSxcbiAgd2lkdGgsXG4gIHRleHRBbGlnbixcbiAgZGFya2VyLFxuICBncmV5TGlnaHRlcixcbiAgZ3JleUxpZ2h0ZXN0LFxuICAuLi5yZXN0XG59OiBQcm9wcykgPT4ge1xuICBjb25zdCBtb2RpZmllclN0eWxlcyA9IGdldFN0eWxlcyh7XG4gICAgbGluayxcbiAgICBvdXRsaW5lLFxuICAgIGxpZ2h0ZXIsXG4gICAgc3RyaXBwZWQsXG4gICAgaW52ZXJ0ZWQsXG4gICAgaW52ZXJ0ZWRPdXRsaW5lLFxuICB9KTtcblxuICBjb25zdCBidXR0b25TdHlsZVByb3BzID0ge1xuICAgIG91dGxpbmUsXG4gICAgbGlnaHRlcixcbiAgICBzaXplOiBidXR0b25TaXplLFxuICAgIGJvcmRlclNoYXBlLFxuICAgIHdpZHRoLFxuICAgIHRleHRBbGlnbixcbiAgICBkYXJrZXIsXG4gICAgZ3JleUxpZ2h0ZXIsXG4gICAgZ3JleUxpZ2h0ZXN0LFxuICB9O1xuICBjb25zdCBzdHlsZXMgPSBCdXR0b25TdHlsZXMoYnV0dG9uU3R5bGVQcm9wcyk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2FmZUxpbmtcbiAgICAgIHRvPXt0b31cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke21vZGlmaWVyU3R5bGVzfVxuICAgICAgICAke3N0eWxlc31cbiAgICAgIGB9XG4gICAgICB7Li4ucmVzdH0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TYWZlTGluaz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNhZmVMaW5rQnV0dG9uO1xuIl19 */", process.env.NODE_ENV === "production" ? "" : ";label:SafeLinkButton;")
|
|
77
|
-
}, rest), children);
|
|
78
|
+
css: /*#__PURE__*/(0, _react2.css)(modifierStyles, " ", styles, ";;label:SafeLinkButton;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNhZmVMaW5rQnV0dG9uLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRmMiLCJmaWxlIjoiU2FmZUxpbmtCdXR0b24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTktcHJlc2VudCwgTkRMQS5cbiAqXG4gKiBUaGlzIHNvdXJjZSBjb2RlIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEx2MyBsaWNlbnNlIGZvdW5kIGluIHRoZVxuICogTElDRU5TRSBmaWxlIGluIHRoZSByb290IGRpcmVjdG9yeSBvZiB0aGlzIHNvdXJjZSB0cmVlLlxuICpcbiAqL1xuXG5pbXBvcnQgUmVhY3QsIHsgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSAnQGVtb3Rpb24vcmVhY3QnO1xuaW1wb3J0IHsgYXBwZWFyYW5jZXMsIEJ1dHRvblN0eWxlcywgQnV0dG9uQXBwZWFyYW5jZSB9IGZyb20gJ0BuZGxhL2J1dHRvbic7XG5pbXBvcnQgU2FmZUxpbmsgZnJvbSAnLi9TYWZlTGluayc7XG5pbXBvcnQgeyBTYWZlTGlua1Byb3BzIH0gZnJvbSAnLic7XG5cbnR5cGUgU3R5bGVzUHJvcHMgPSBSZWNvcmQ8QnV0dG9uQXBwZWFyYW5jZSwgYm9vbGVhbiB8IHVuZGVmaW5lZD47XG5cbmNvbnN0IGdldFN0eWxlcyA9IChtb2RpZmllcnM6IFBhcnRpYWw8U3R5bGVzUHJvcHM+KSA9PlxuICAoT2JqZWN0LmtleXMobW9kaWZpZXJzKSBhcyBCdXR0b25BcHBlYXJhbmNlW10pXG4gICAgLm1hcCgoa2V5KSA9PiAobW9kaWZpZXJzW2tleV0gPyBhcHBlYXJhbmNlc1trZXldIDogdW5kZWZpbmVkKSlcbiAgICAuZmlsdGVyKChhcHBlYXJhbmNlKSA9PiAhIWFwcGVhcmFuY2UpO1xuXG5pbnRlcmZhY2UgUHJvcHMgZXh0ZW5kcyBTYWZlTGlua1Byb3BzIHtcbiAgb3V0bGluZT86IGJvb2xlYW47XG4gIHN0cmlwcGVkPzogYm9vbGVhbjtcbiAgbGluaz86IGJvb2xlYW47XG4gIGxpZ2h0ZXI/OiBib29sZWFuO1xuICBpbnZlcnRlZD86IGJvb2xlYW47XG4gIGludmVydGVkT3V0bGluZT86IGJvb2xlYW47XG4gIGNoaWxkcmVuOiBSZWFjdE5vZGU7XG4gIHRvOiBzdHJpbmc7XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgYnV0dG9uU2l6ZT86ICdub3JtYWwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnO1xuICBib3JkZXJTaGFwZT86ICdub3JtYWwnIHwgJ3JvdW5kZWQnIHwgJ3NoYXJwZW5lZCc7XG4gIHdpZHRoPzogJ2F1dG8nIHwgJ2Z1bGwnO1xuICB0ZXh0QWxpZ24/OiAnY2VudGVyJyB8ICdsZWZ0JyB8ICdyaWdodCc7XG4gIGRhcmtlcj86IGJvb2xlYW47XG4gIGdyZXlMaWdodGVyPzogYm9vbGVhbjtcbiAgZ3JleUxpZ2h0ZXN0PzogYm9vbGVhbjtcbn1cblxuY29uc3QgU2FmZUxpbmtCdXR0b24gPSAoe1xuICBvdXRsaW5lLFxuICBzdHJpcHBlZCxcbiAgbGluayxcbiAgbGlnaHRlcixcbiAgY2hpbGRyZW4sXG4gIGludmVydGVkLFxuICBpbnZlcnRlZE91dGxpbmUsXG4gIHRvLFxuICBidXR0b25TaXplLFxuICBib3JkZXJTaGFwZSxcbiAgd2lkdGgsXG4gIHRleHRBbGlnbixcbiAgZGFya2VyLFxuICBncmV5TGlnaHRlcixcbiAgZ3JleUxpZ2h0ZXN0LFxuICAuLi5yZXN0XG59OiBQcm9wcykgPT4ge1xuICBjb25zdCBtb2RpZmllclN0eWxlcyA9IGdldFN0eWxlcyh7XG4gICAgbGluayxcbiAgICBvdXRsaW5lLFxuICAgIGxpZ2h0ZXIsXG4gICAgc3RyaXBwZWQsXG4gICAgaW52ZXJ0ZWQsXG4gICAgaW52ZXJ0ZWRPdXRsaW5lLFxuICB9KTtcblxuICBjb25zdCBidXR0b25TdHlsZVByb3BzID0ge1xuICAgIG91dGxpbmUsXG4gICAgbGlnaHRlcixcbiAgICBzaXplOiBidXR0b25TaXplLFxuICAgIGJvcmRlclNoYXBlLFxuICAgIHdpZHRoLFxuICAgIHRleHRBbGlnbixcbiAgICBkYXJrZXIsXG4gICAgZ3JleUxpZ2h0ZXIsXG4gICAgZ3JleUxpZ2h0ZXN0LFxuICB9O1xuICBjb25zdCBzdHlsZXMgPSBCdXR0b25TdHlsZXMoYnV0dG9uU3R5bGVQcm9wcyk7XG5cbiAgcmV0dXJuIChcbiAgICA8U2FmZUxpbmtcbiAgICAgIHRvPXt0b31cbiAgICAgIGNzcz17Y3NzYFxuICAgICAgICAke21vZGlmaWVyU3R5bGVzfVxuICAgICAgICAke3N0eWxlc31cbiAgICAgIGB9XG4gICAgICB7Li4ucmVzdH0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9TYWZlTGluaz5cbiAgKTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNhZmVMaW5rQnV0dG9uO1xuIl19 */"))
|
|
79
|
+
}, rest), {}, {
|
|
80
|
+
children: children
|
|
81
|
+
}));
|
|
78
82
|
};
|
|
79
83
|
|
|
80
84
|
var _default = SafeLinkButton;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ndla/safelink",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.5",
|
|
4
4
|
"description": "SafeLink component for NDLA",
|
|
5
5
|
"license": "GPL-3.0",
|
|
6
6
|
"main": "lib/index.js",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"es"
|
|
27
27
|
],
|
|
28
28
|
"dependencies": {
|
|
29
|
-
"@ndla/button": "^4.0.
|
|
30
|
-
"@ndla/icons": "^2.0.
|
|
29
|
+
"@ndla/button": "^4.0.5",
|
|
30
|
+
"@ndla/icons": "^2.0.5",
|
|
31
31
|
"lodash": "^4.17.20"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
@@ -39,5 +39,5 @@
|
|
|
39
39
|
"publishConfig": {
|
|
40
40
|
"access": "public"
|
|
41
41
|
},
|
|
42
|
-
"gitHead": "
|
|
42
|
+
"gitHead": "e62f69c71e7b72b1e346508e8ad483afd36eeffd"
|
|
43
43
|
}
|