@atlaskit/editor-plugin-hyperlink 2.6.1 → 2.7.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/CHANGELOG.md +20 -0
- package/dist/cjs/pm-plugins/decorations.js +4 -2
- package/dist/cjs/pm-plugins/main.js +38 -31
- package/dist/es2019/pm-plugins/decorations.js +4 -2
- package/dist/es2019/pm-plugins/main.js +37 -32
- package/dist/esm/pm-plugins/decorations.js +4 -2
- package/dist/esm/pm-plugins/main.js +39 -32
- package/dist/types/pm-plugins/decorations.d.ts +4 -1
- package/dist/types-ts4.5/pm-plugins/decorations.d.ts +4 -1
- package/package.json +4 -4
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,25 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-hyperlink
|
|
2
2
|
|
|
3
|
+
## 2.7.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`aef5432662b58`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/aef5432662b58) -
|
|
8
|
+
[ux] EDM-10363 Implement opening links via configure overlay dropdown open link button
|
|
9
|
+
|
|
10
|
+
### Patch Changes
|
|
11
|
+
|
|
12
|
+
- Updated dependencies
|
|
13
|
+
|
|
14
|
+
## 2.6.2
|
|
15
|
+
|
|
16
|
+
### Patch Changes
|
|
17
|
+
|
|
18
|
+
- [#123180](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/123180)
|
|
19
|
+
[`14addfd71de93`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/14addfd71de93) -
|
|
20
|
+
Fix edit link modal disappear when hover over hyperlink in live page
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
|
|
3
23
|
## 2.6.1
|
|
4
24
|
|
|
5
25
|
### Patch Changes
|
|
@@ -13,7 +13,8 @@ var ButtonWrapper = exports.ButtonWrapper = function ButtonWrapper(_ref) {
|
|
|
13
13
|
var editorView = _ref.editorView,
|
|
14
14
|
pos = _ref.pos,
|
|
15
15
|
stateKey = _ref.stateKey,
|
|
16
|
-
intl = _ref.intl
|
|
16
|
+
intl = _ref.intl,
|
|
17
|
+
onOpenLinkClick = _ref.onOpenLinkClick;
|
|
17
18
|
var wrapper = document.createElement('span');
|
|
18
19
|
wrapper.style.position = 'relative';
|
|
19
20
|
var nonBreakingCharacter = "\u2060";
|
|
@@ -30,7 +31,8 @@ var ButtonWrapper = exports.ButtonWrapper = function ButtonWrapper(_ref) {
|
|
|
30
31
|
}, /*#__PURE__*/_react.default.createElement(_link.OverlayButton, {
|
|
31
32
|
targetElementPos: pos,
|
|
32
33
|
editorView: editorView,
|
|
33
|
-
onDropdownChange: onDropdownChange
|
|
34
|
+
onDropdownChange: onDropdownChange,
|
|
35
|
+
onOpenLinkClick: onOpenLinkClick
|
|
34
36
|
}), nonBreakingCharacter), wrapper);
|
|
35
37
|
return wrapper;
|
|
36
38
|
};
|
|
@@ -7,7 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.stateKey = exports.plugin = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _uuid = _interopRequireDefault(require("uuid"));
|
|
10
|
-
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
11
10
|
var _link3 = require("@atlaskit/editor-common/link");
|
|
12
11
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
13
12
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
@@ -228,7 +227,29 @@ var plugin = exports.plugin = function plugin(dispatch, intl, editorAppearance,
|
|
|
228
227
|
editorView: view,
|
|
229
228
|
pos: configureButtonTargetPos,
|
|
230
229
|
stateKey: stateKey,
|
|
231
|
-
intl: intl
|
|
230
|
+
intl: intl,
|
|
231
|
+
onOpenLinkClick: function onOpenLinkClick(event) {
|
|
232
|
+
var _node$marks$find, _pluginInjectionApi$a;
|
|
233
|
+
if (configureButtonTargetPos === undefined || typeof configureButtonTargetPos !== 'number') {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
236
|
+
var node = view.state.tr.doc.nodeAt(configureButtonTargetPos);
|
|
237
|
+
if (node === null) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
var url = (_node$marks$find = node.marks.find(function (mark) {
|
|
241
|
+
return mark.type.name === 'link';
|
|
242
|
+
})) === null || _node$marks$find === void 0 ? void 0 : _node$marks$find.attrs.href;
|
|
243
|
+
if (!url) {
|
|
244
|
+
return;
|
|
245
|
+
}
|
|
246
|
+
(0, _link3.handleNavigation)({
|
|
247
|
+
fireAnalyticsEvent: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions.fireAnalyticsEvent,
|
|
248
|
+
onClickCallback: onClickCallback,
|
|
249
|
+
url: url,
|
|
250
|
+
event: event
|
|
251
|
+
});
|
|
252
|
+
}
|
|
232
253
|
});
|
|
233
254
|
});
|
|
234
255
|
_decorations = _view.DecorationSet.create(newState.doc, [decoration]);
|
|
@@ -324,10 +345,13 @@ var plugin = exports.plugin = function plugin(dispatch, intl, editorAppearance,
|
|
|
324
345
|
dom.onmouseenter = function () {
|
|
325
346
|
var _stateKey$getState2;
|
|
326
347
|
var _ref2 = (_stateKey$getState2 = stateKey.getState(view.state)) !== null && _stateKey$getState2 !== void 0 ? _stateKey$getState2 : {},
|
|
348
|
+
activeLinkMark = _ref2.activeLinkMark,
|
|
327
349
|
configureButtonTargetPos = _ref2.configureButtonTargetPos;
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
350
|
+
if (!activeLinkMark) {
|
|
351
|
+
var nodePos = view.posAtDOM(dom, -1);
|
|
352
|
+
if (nodePos !== configureButtonTargetPos) {
|
|
353
|
+
setTargetElementPos(nodePos);
|
|
354
|
+
}
|
|
331
355
|
}
|
|
332
356
|
};
|
|
333
357
|
dom.onmouseleave = function () {
|
|
@@ -340,34 +364,17 @@ var plugin = exports.plugin = function plugin(dispatch, intl, editorAppearance,
|
|
|
340
364
|
};
|
|
341
365
|
dom.onclick = function (event) {
|
|
342
366
|
if (isDirectTarget(event, dom)) {
|
|
343
|
-
var _pluginInjectionApi$
|
|
367
|
+
var _pluginInjectionApi$a2;
|
|
344
368
|
var url = mark.attrs.href;
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
369
|
+
// event is globalThis.MouseEvent, while handleNavigation
|
|
370
|
+
// (and editor-common OnClickCallback) require React.MouseEvent
|
|
371
|
+
var reactMouseEvent = event;
|
|
372
|
+
(0, _link3.handleNavigation)({
|
|
373
|
+
fireAnalyticsEvent: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a2 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a2 === void 0 ? void 0 : _pluginInjectionApi$a2.actions.fireAnalyticsEvent,
|
|
374
|
+
onClickCallback: onClickCallback,
|
|
375
|
+
url: url,
|
|
376
|
+
event: reactMouseEvent
|
|
353
377
|
});
|
|
354
|
-
if (url) {
|
|
355
|
-
try {
|
|
356
|
-
onClickCallback === null || onClickCallback === void 0 || onClickCallback({
|
|
357
|
-
event: event,
|
|
358
|
-
url: url
|
|
359
|
-
});
|
|
360
|
-
} catch (_unused) {}
|
|
361
|
-
|
|
362
|
-
/**
|
|
363
|
-
* Links should navigate by default in live pages if:
|
|
364
|
-
* - the link is the direct target of the click event
|
|
365
|
-
* - default handling wasn't prevented with `event.preventDefault()`
|
|
366
|
-
*/
|
|
367
|
-
if (!event.defaultPrevented) {
|
|
368
|
-
window.location.href = url;
|
|
369
|
-
}
|
|
370
|
-
}
|
|
371
378
|
}
|
|
372
379
|
};
|
|
373
380
|
return {
|
|
@@ -6,7 +6,8 @@ export const ButtonWrapper = ({
|
|
|
6
6
|
editorView,
|
|
7
7
|
pos,
|
|
8
8
|
stateKey,
|
|
9
|
-
intl
|
|
9
|
+
intl,
|
|
10
|
+
onOpenLinkClick
|
|
10
11
|
}) => {
|
|
11
12
|
const wrapper = document.createElement('span');
|
|
12
13
|
wrapper.style.position = 'relative';
|
|
@@ -24,7 +25,8 @@ export const ButtonWrapper = ({
|
|
|
24
25
|
}, /*#__PURE__*/React.createElement(OverlayButton, {
|
|
25
26
|
targetElementPos: pos,
|
|
26
27
|
editorView: editorView,
|
|
27
|
-
onDropdownChange: onDropdownChange
|
|
28
|
+
onDropdownChange: onDropdownChange,
|
|
29
|
+
onOpenLinkClick: onOpenLinkClick
|
|
28
30
|
}), nonBreakingCharacter), wrapper);
|
|
29
31
|
return wrapper;
|
|
30
32
|
};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import uuid from 'uuid';
|
|
2
|
-
import {
|
|
3
|
-
import { InsertStatus, LinkAction } from '@atlaskit/editor-common/link';
|
|
2
|
+
import { handleNavigation, InsertStatus, LinkAction } from '@atlaskit/editor-common/link';
|
|
4
3
|
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
5
4
|
import { canLinkBeCreatedInRange, shallowEqual } from '@atlaskit/editor-common/utils';
|
|
6
5
|
import { DOMSerializer } from '@atlaskit/editor-prosemirror/model';
|
|
@@ -232,7 +231,27 @@ export const plugin = (dispatch, intl, editorAppearance, pluginInjectionApi, onC
|
|
|
232
231
|
editorView: view,
|
|
233
232
|
pos: configureButtonTargetPos,
|
|
234
233
|
stateKey,
|
|
235
|
-
intl
|
|
234
|
+
intl,
|
|
235
|
+
onOpenLinkClick: event => {
|
|
236
|
+
var _node$marks$find, _pluginInjectionApi$a;
|
|
237
|
+
if (configureButtonTargetPos === undefined || typeof configureButtonTargetPos !== 'number') {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
const node = view.state.tr.doc.nodeAt(configureButtonTargetPos);
|
|
241
|
+
if (node === null) {
|
|
242
|
+
return;
|
|
243
|
+
}
|
|
244
|
+
const url = (_node$marks$find = node.marks.find(mark => mark.type.name === 'link')) === null || _node$marks$find === void 0 ? void 0 : _node$marks$find.attrs.href;
|
|
245
|
+
if (!url) {
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
handleNavigation({
|
|
249
|
+
fireAnalyticsEvent: pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions.fireAnalyticsEvent,
|
|
250
|
+
onClickCallback,
|
|
251
|
+
url,
|
|
252
|
+
event
|
|
253
|
+
});
|
|
254
|
+
}
|
|
236
255
|
});
|
|
237
256
|
});
|
|
238
257
|
decorations = DecorationSet.create(newState.doc, [decoration]);
|
|
@@ -336,11 +355,14 @@ export const plugin = (dispatch, intl, editorAppearance, pluginInjectionApi, onC
|
|
|
336
355
|
dom.onmouseenter = () => {
|
|
337
356
|
var _stateKey$getState2;
|
|
338
357
|
const {
|
|
358
|
+
activeLinkMark,
|
|
339
359
|
configureButtonTargetPos
|
|
340
360
|
} = (_stateKey$getState2 = stateKey.getState(view.state)) !== null && _stateKey$getState2 !== void 0 ? _stateKey$getState2 : {};
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
361
|
+
if (!activeLinkMark) {
|
|
362
|
+
const nodePos = view.posAtDOM(dom, -1);
|
|
363
|
+
if (nodePos !== configureButtonTargetPos) {
|
|
364
|
+
setTargetElementPos(nodePos);
|
|
365
|
+
}
|
|
344
366
|
}
|
|
345
367
|
};
|
|
346
368
|
dom.onmouseleave = () => {
|
|
@@ -354,34 +376,17 @@ export const plugin = (dispatch, intl, editorAppearance, pluginInjectionApi, onC
|
|
|
354
376
|
};
|
|
355
377
|
dom.onclick = event => {
|
|
356
378
|
if (isDirectTarget(event, dom)) {
|
|
357
|
-
var _pluginInjectionApi$
|
|
379
|
+
var _pluginInjectionApi$a2;
|
|
358
380
|
const url = mark.attrs.href;
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
381
|
+
// event is globalThis.MouseEvent, while handleNavigation
|
|
382
|
+
// (and editor-common OnClickCallback) require React.MouseEvent
|
|
383
|
+
const reactMouseEvent = event;
|
|
384
|
+
handleNavigation({
|
|
385
|
+
fireAnalyticsEvent: pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a2 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a2 === void 0 ? void 0 : _pluginInjectionApi$a2.actions.fireAnalyticsEvent,
|
|
386
|
+
onClickCallback,
|
|
387
|
+
url,
|
|
388
|
+
event: reactMouseEvent
|
|
367
389
|
});
|
|
368
|
-
if (url) {
|
|
369
|
-
try {
|
|
370
|
-
onClickCallback === null || onClickCallback === void 0 ? void 0 : onClickCallback({
|
|
371
|
-
event,
|
|
372
|
-
url
|
|
373
|
-
});
|
|
374
|
-
} catch {}
|
|
375
|
-
|
|
376
|
-
/**
|
|
377
|
-
* Links should navigate by default in live pages if:
|
|
378
|
-
* - the link is the direct target of the click event
|
|
379
|
-
* - default handling wasn't prevented with `event.preventDefault()`
|
|
380
|
-
*/
|
|
381
|
-
if (!event.defaultPrevented) {
|
|
382
|
-
window.location.href = url;
|
|
383
|
-
}
|
|
384
|
-
}
|
|
385
390
|
}
|
|
386
391
|
};
|
|
387
392
|
return {
|
|
@@ -6,7 +6,8 @@ export var ButtonWrapper = function ButtonWrapper(_ref) {
|
|
|
6
6
|
var editorView = _ref.editorView,
|
|
7
7
|
pos = _ref.pos,
|
|
8
8
|
stateKey = _ref.stateKey,
|
|
9
|
-
intl = _ref.intl
|
|
9
|
+
intl = _ref.intl,
|
|
10
|
+
onOpenLinkClick = _ref.onOpenLinkClick;
|
|
10
11
|
var wrapper = document.createElement('span');
|
|
11
12
|
wrapper.style.position = 'relative';
|
|
12
13
|
var nonBreakingCharacter = "\u2060";
|
|
@@ -23,7 +24,8 @@ export var ButtonWrapper = function ButtonWrapper(_ref) {
|
|
|
23
24
|
}, /*#__PURE__*/React.createElement(OverlayButton, {
|
|
24
25
|
targetElementPos: pos,
|
|
25
26
|
editorView: editorView,
|
|
26
|
-
onDropdownChange: onDropdownChange
|
|
27
|
+
onDropdownChange: onDropdownChange,
|
|
28
|
+
onOpenLinkClick: onOpenLinkClick
|
|
27
29
|
}), nonBreakingCharacter), wrapper);
|
|
28
30
|
return wrapper;
|
|
29
31
|
};
|
|
@@ -2,8 +2,7 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
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; }
|
|
3
3
|
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; }
|
|
4
4
|
import uuid from 'uuid';
|
|
5
|
-
import {
|
|
6
|
-
import { InsertStatus, LinkAction } from '@atlaskit/editor-common/link';
|
|
5
|
+
import { handleNavigation, InsertStatus, LinkAction } from '@atlaskit/editor-common/link';
|
|
7
6
|
import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
|
|
8
7
|
import { canLinkBeCreatedInRange, shallowEqual } from '@atlaskit/editor-common/utils';
|
|
9
8
|
import { DOMSerializer } from '@atlaskit/editor-prosemirror/model';
|
|
@@ -221,7 +220,29 @@ export var plugin = function plugin(dispatch, intl, editorAppearance, pluginInje
|
|
|
221
220
|
editorView: view,
|
|
222
221
|
pos: configureButtonTargetPos,
|
|
223
222
|
stateKey: stateKey,
|
|
224
|
-
intl: intl
|
|
223
|
+
intl: intl,
|
|
224
|
+
onOpenLinkClick: function onOpenLinkClick(event) {
|
|
225
|
+
var _node$marks$find, _pluginInjectionApi$a;
|
|
226
|
+
if (configureButtonTargetPos === undefined || typeof configureButtonTargetPos !== 'number') {
|
|
227
|
+
return;
|
|
228
|
+
}
|
|
229
|
+
var node = view.state.tr.doc.nodeAt(configureButtonTargetPos);
|
|
230
|
+
if (node === null) {
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
var url = (_node$marks$find = node.marks.find(function (mark) {
|
|
234
|
+
return mark.type.name === 'link';
|
|
235
|
+
})) === null || _node$marks$find === void 0 ? void 0 : _node$marks$find.attrs.href;
|
|
236
|
+
if (!url) {
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
handleNavigation({
|
|
240
|
+
fireAnalyticsEvent: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a === void 0 ? void 0 : _pluginInjectionApi$a.actions.fireAnalyticsEvent,
|
|
241
|
+
onClickCallback: onClickCallback,
|
|
242
|
+
url: url,
|
|
243
|
+
event: event
|
|
244
|
+
});
|
|
245
|
+
}
|
|
225
246
|
});
|
|
226
247
|
});
|
|
227
248
|
_decorations = DecorationSet.create(newState.doc, [decoration]);
|
|
@@ -317,10 +338,13 @@ export var plugin = function plugin(dispatch, intl, editorAppearance, pluginInje
|
|
|
317
338
|
dom.onmouseenter = function () {
|
|
318
339
|
var _stateKey$getState2;
|
|
319
340
|
var _ref2 = (_stateKey$getState2 = stateKey.getState(view.state)) !== null && _stateKey$getState2 !== void 0 ? _stateKey$getState2 : {},
|
|
341
|
+
activeLinkMark = _ref2.activeLinkMark,
|
|
320
342
|
configureButtonTargetPos = _ref2.configureButtonTargetPos;
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
343
|
+
if (!activeLinkMark) {
|
|
344
|
+
var nodePos = view.posAtDOM(dom, -1);
|
|
345
|
+
if (nodePos !== configureButtonTargetPos) {
|
|
346
|
+
setTargetElementPos(nodePos);
|
|
347
|
+
}
|
|
324
348
|
}
|
|
325
349
|
};
|
|
326
350
|
dom.onmouseleave = function () {
|
|
@@ -333,34 +357,17 @@ export var plugin = function plugin(dispatch, intl, editorAppearance, pluginInje
|
|
|
333
357
|
};
|
|
334
358
|
dom.onclick = function (event) {
|
|
335
359
|
if (isDirectTarget(event, dom)) {
|
|
336
|
-
var _pluginInjectionApi$
|
|
360
|
+
var _pluginInjectionApi$a2;
|
|
337
361
|
var url = mark.attrs.href;
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
362
|
+
// event is globalThis.MouseEvent, while handleNavigation
|
|
363
|
+
// (and editor-common OnClickCallback) require React.MouseEvent
|
|
364
|
+
var reactMouseEvent = event;
|
|
365
|
+
handleNavigation({
|
|
366
|
+
fireAnalyticsEvent: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$a2 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a2 === void 0 ? void 0 : _pluginInjectionApi$a2.actions.fireAnalyticsEvent,
|
|
367
|
+
onClickCallback: onClickCallback,
|
|
368
|
+
url: url,
|
|
369
|
+
event: reactMouseEvent
|
|
346
370
|
});
|
|
347
|
-
if (url) {
|
|
348
|
-
try {
|
|
349
|
-
onClickCallback === null || onClickCallback === void 0 || onClickCallback({
|
|
350
|
-
event: event,
|
|
351
|
-
url: url
|
|
352
|
-
});
|
|
353
|
-
} catch (_unused) {}
|
|
354
|
-
|
|
355
|
-
/**
|
|
356
|
-
* Links should navigate by default in live pages if:
|
|
357
|
-
* - the link is the direct target of the click event
|
|
358
|
-
* - default handling wasn't prevented with `event.preventDefault()`
|
|
359
|
-
*/
|
|
360
|
-
if (!event.defaultPrevented) {
|
|
361
|
-
window.location.href = url;
|
|
362
|
-
}
|
|
363
|
-
}
|
|
364
371
|
}
|
|
365
372
|
};
|
|
366
373
|
return {
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import { type MouseEvent } from 'react';
|
|
1
2
|
import { type IntlShape } from 'react-intl-next';
|
|
2
3
|
import { type HyperlinkState } from '@atlaskit/editor-common/link';
|
|
3
4
|
import { type PluginKey } from '@atlaskit/editor-prosemirror/state';
|
|
4
5
|
import { type EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
5
|
-
export declare const ButtonWrapper: ({ editorView, pos, stateKey, intl, }: {
|
|
6
|
+
export declare const ButtonWrapper: ({ editorView, pos, stateKey, intl, onOpenLinkClick, }: {
|
|
6
7
|
editorView: EditorView;
|
|
7
8
|
pos?: number | undefined;
|
|
8
9
|
stateKey: PluginKey<HyperlinkState>;
|
|
9
10
|
intl: IntlShape;
|
|
11
|
+
/** Callback fired when the Open Link dropdown item is clicked */
|
|
12
|
+
onOpenLinkClick: (event: MouseEvent<HTMLAnchorElement>) => void;
|
|
10
13
|
}) => HTMLSpanElement;
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
+
import { type MouseEvent } from 'react';
|
|
1
2
|
import { type IntlShape } from 'react-intl-next';
|
|
2
3
|
import { type HyperlinkState } from '@atlaskit/editor-common/link';
|
|
3
4
|
import { type PluginKey } from '@atlaskit/editor-prosemirror/state';
|
|
4
5
|
import { type EditorView } from '@atlaskit/editor-prosemirror/view';
|
|
5
|
-
export declare const ButtonWrapper: ({ editorView, pos, stateKey, intl, }: {
|
|
6
|
+
export declare const ButtonWrapper: ({ editorView, pos, stateKey, intl, onOpenLinkClick, }: {
|
|
6
7
|
editorView: EditorView;
|
|
7
8
|
pos?: number | undefined;
|
|
8
9
|
stateKey: PluginKey<HyperlinkState>;
|
|
9
10
|
intl: IntlShape;
|
|
11
|
+
/** Callback fired when the Open Link dropdown item is clicked */
|
|
12
|
+
onOpenLinkClick: (event: MouseEvent<HTMLAnchorElement>) => void;
|
|
10
13
|
}) => HTMLSpanElement;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-hyperlink",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.7.0",
|
|
4
4
|
"description": "Hyperlink plugin for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -34,12 +34,12 @@
|
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@atlaskit/adf-schema": "^40.3.0",
|
|
36
36
|
"@atlaskit/analytics-next": "^9.3.0",
|
|
37
|
-
"@atlaskit/editor-common": "^87.
|
|
37
|
+
"@atlaskit/editor-common": "^87.2.0",
|
|
38
38
|
"@atlaskit/editor-plugin-analytics": "^1.6.0",
|
|
39
|
-
"@atlaskit/editor-plugin-card": "2.
|
|
39
|
+
"@atlaskit/editor-plugin-card": "2.9.0",
|
|
40
40
|
"@atlaskit/editor-plugin-editor-viewmode": "^2.1.0",
|
|
41
41
|
"@atlaskit/editor-prosemirror": "5.0.1",
|
|
42
|
-
"@atlaskit/icon": "^22.
|
|
42
|
+
"@atlaskit/icon": "^22.8.0",
|
|
43
43
|
"@atlaskit/platform-feature-flags": "^0.3.0",
|
|
44
44
|
"@atlaskit/prosemirror-input-rules": "^3.2.0",
|
|
45
45
|
"@babel/runtime": "^7.0.0",
|