@atlaskit/editor-plugin-hyperlink 28.0.4 → 28.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/CHANGELOG.md +6 -0
- package/dist/cjs/editor-commands/commands.js +27 -24
- package/dist/cjs/hyperlinkPlugin.js +16 -16
- package/dist/cjs/pm-plugins/input-rule.js +12 -10
- package/dist/cjs/pm-plugins/keymap.js +9 -8
- package/dist/cjs/pm-plugins/main.js +10 -9
- package/dist/cjs/ui/PrimaryToolbarComponent.js +6 -6
- package/dist/cjs/ui/quick-insert/HyperlinkQuickInsertMenuItem.js +12 -12
- package/dist/cjs/ui/quick-insert/getHyperlinkQuickInsertComponents.js +3 -3
- package/dist/cjs/ui/toolbar/LinkButton.js +13 -11
- package/dist/cjs/ui/toolbar/Toolbar.js +29 -27
- package/dist/cjs/ui/toolbar-components.js +12 -11
- package/dist/es2019/editor-commands/commands.js +8 -5
- package/dist/es2019/hyperlinkPlugin.js +4 -4
- package/dist/es2019/pm-plugins/input-rule.js +5 -3
- package/dist/es2019/pm-plugins/keymap.js +3 -2
- package/dist/es2019/pm-plugins/main.js +2 -1
- package/dist/es2019/ui/PrimaryToolbarComponent.js +3 -3
- package/dist/es2019/ui/quick-insert/HyperlinkQuickInsertMenuItem.js +2 -2
- package/dist/es2019/ui/quick-insert/getHyperlinkQuickInsertComponents.js +1 -1
- package/dist/es2019/ui/toolbar/LinkButton.js +6 -4
- package/dist/es2019/ui/toolbar/Toolbar.js +10 -8
- package/dist/es2019/ui/toolbar-components.js +2 -1
- package/dist/esm/editor-commands/commands.js +8 -5
- package/dist/esm/hyperlinkPlugin.js +4 -4
- package/dist/esm/pm-plugins/input-rule.js +5 -3
- package/dist/esm/pm-plugins/keymap.js +3 -2
- package/dist/esm/pm-plugins/main.js +2 -1
- package/dist/esm/ui/PrimaryToolbarComponent.js +3 -3
- package/dist/esm/ui/quick-insert/HyperlinkQuickInsertMenuItem.js +2 -2
- package/dist/esm/ui/quick-insert/getHyperlinkQuickInsertComponents.js +1 -1
- package/dist/esm/ui/toolbar/LinkButton.js +6 -4
- package/dist/esm/ui/toolbar/Toolbar.js +10 -8
- package/dist/esm/ui/toolbar-components.js +2 -1
- package/dist/types/editor-commands/commands.d.ts +7 -5
- package/dist/types/hyperlinkPluginType.d.ts +12 -10
- package/dist/types/pm-plugins/input-rule.d.ts +2 -2
- package/dist/types/pm-plugins/keymap.d.ts +1 -1
- package/dist/types/pm-plugins/main.d.ts +4 -3
- package/dist/types/ui/PrimaryToolbarComponent.d.ts +2 -2
- package/dist/types/ui/quick-insert/HyperlinkQuickInsertMenuItem.d.ts +1 -1
- package/dist/types/ui/quick-insert/getHyperlinkQuickInsertComponents.d.ts +1 -1
- package/dist/types/ui/toolbar/LinkButton.d.ts +1 -1
- package/dist/types/ui/toolbar/Toolbar.d.ts +4 -2
- package/dist/types/ui/toolbar-components.d.ts +2 -2
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -16,12 +16,15 @@ exports.showLinkToolbar = showLinkToolbar;
|
|
|
16
16
|
exports.updateLink = updateLink;
|
|
17
17
|
exports.updateLinkEditorCommand = updateLinkEditorCommand;
|
|
18
18
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
19
|
-
var
|
|
19
|
+
var _linkingUtils = require("@atlaskit/editor-common/analytics/linking-utils");
|
|
20
|
+
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
|
|
20
21
|
var _card = require("@atlaskit/editor-common/card");
|
|
21
|
-
var
|
|
22
|
+
var _utils = require("@atlaskit/editor-common/card/utils");
|
|
22
23
|
var _link = require("@atlaskit/editor-common/link");
|
|
23
|
-
var
|
|
24
|
-
var
|
|
24
|
+
var _editorCommands = require("@atlaskit/editor-common/preset/editor-commands");
|
|
25
|
+
var _utils2 = require("@atlaskit/editor-common/utils");
|
|
26
|
+
var _hyperlink = require("@atlaskit/editor-common/utils/hyperlink");
|
|
27
|
+
var _withAnalytics = require("@atlaskit/editor-common/withAnalytics");
|
|
25
28
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
26
29
|
var _main = require("../pm-plugins/main");
|
|
27
30
|
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; }
|
|
@@ -38,7 +41,7 @@ function setLinkHrefEditorCommand(href, pos, editorAnalyticsApi, to, isTabPresse
|
|
|
38
41
|
var node = tr.doc.nodeAt(pos);
|
|
39
42
|
var linkMark = tr.doc.type.schema.marks.link;
|
|
40
43
|
var mark = linkMark.isInSet(node.marks);
|
|
41
|
-
var url = (0,
|
|
44
|
+
var url = (0, _utils2.normalizeUrl)(href);
|
|
42
45
|
if (mark && mark.attrs.href === url) {
|
|
43
46
|
return null;
|
|
44
47
|
}
|
|
@@ -49,7 +52,7 @@ function setLinkHrefEditorCommand(href, pos, editorAnalyticsApi, to, isTabPresse
|
|
|
49
52
|
href: url
|
|
50
53
|
})));
|
|
51
54
|
} else {
|
|
52
|
-
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent((0,
|
|
55
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent((0, _linkingUtils.unlinkPayload)(_enums.ACTION_SUBJECT_ID.HYPERLINK))(tr);
|
|
53
56
|
}
|
|
54
57
|
if (!isTabPressed) {
|
|
55
58
|
tr.setMeta(_main.stateKey, {
|
|
@@ -60,7 +63,7 @@ function setLinkHrefEditorCommand(href, pos, editorAnalyticsApi, to, isTabPresse
|
|
|
60
63
|
};
|
|
61
64
|
}
|
|
62
65
|
function setLinkHref(href, pos, editorAnalyticsApi, to, isTabPressed) {
|
|
63
|
-
return (0,
|
|
66
|
+
return (0, _editorCommands.editorCommandToPMCommand)(setLinkHrefEditorCommand(href, pos, editorAnalyticsApi, to, isTabPressed));
|
|
64
67
|
}
|
|
65
68
|
function updateLinkEditorCommand(href, text, pos, to) {
|
|
66
69
|
return function (_ref2) {
|
|
@@ -70,7 +73,7 @@ function updateLinkEditorCommand(href, text, pos, to) {
|
|
|
70
73
|
if (!node) {
|
|
71
74
|
return null;
|
|
72
75
|
}
|
|
73
|
-
var url = (0,
|
|
76
|
+
var url = (0, _utils2.normalizeUrl)(href);
|
|
74
77
|
var mark = tr.doc.type.schema.marks.link.isInSet(node.marks);
|
|
75
78
|
var linkMark = tr.doc.type.schema.marks.link;
|
|
76
79
|
var rightBound = to && pos !== to ? to : pos - $pos.textOffset + node.nodeSize;
|
|
@@ -94,7 +97,7 @@ function updateLinkEditorCommand(href, text, pos, to) {
|
|
|
94
97
|
};
|
|
95
98
|
}
|
|
96
99
|
function updateLink(href, text, pos, to) {
|
|
97
|
-
return (0,
|
|
100
|
+
return (0, _editorCommands.editorCommandToPMCommand)(updateLinkEditorCommand(href, text, pos, to));
|
|
98
101
|
}
|
|
99
102
|
function insertLink(from, to, incomingHref, incomingTitle, displayText, source, sourceEvent) {
|
|
100
103
|
var appearance = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : 'inline';
|
|
@@ -104,7 +107,7 @@ function insertLink(from, to, incomingHref, incomingTitle, displayText, source,
|
|
|
104
107
|
var tr = state.tr;
|
|
105
108
|
if (incomingHref.trim()) {
|
|
106
109
|
var _stateKey$getState;
|
|
107
|
-
var normalizedUrl = (0,
|
|
110
|
+
var normalizedUrl = (0, _utils2.normalizeUrl)(incomingHref);
|
|
108
111
|
// NB: in this context, `currentText` represents text which has been
|
|
109
112
|
// highlighted in the Editor, upon which a link is is being added.
|
|
110
113
|
var currentText = (_stateKey$getState = _main.stateKey.getState(state)) === null || _stateKey$getState === void 0 ? void 0 : _stateKey$getState.activeText;
|
|
@@ -130,10 +133,10 @@ function insertLink(from, to, incomingHref, incomingTitle, displayText, source,
|
|
|
130
133
|
queueCardsFromChangedTr === null || queueCardsFromChangedTr === void 0 || queueCardsFromChangedTr(state, tr,
|
|
131
134
|
// Ignored via go/ees005
|
|
132
135
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
133
|
-
source,
|
|
136
|
+
source, _enums.ACTION.INSERTED, false, sourceEvent, appearance);
|
|
134
137
|
} else {
|
|
135
138
|
(0, _card.addLinkMetadata)(state.selection, tr, {
|
|
136
|
-
action:
|
|
139
|
+
action: _enums.ACTION.INSERTED,
|
|
137
140
|
inputMethod: source,
|
|
138
141
|
sourceEvent: sourceEvent
|
|
139
142
|
});
|
|
@@ -143,7 +146,7 @@ function insertLink(from, to, incomingHref, incomingTitle, displayText, source,
|
|
|
143
146
|
* Add link metadata because queue cards would have otherwise handled this for us
|
|
144
147
|
*/
|
|
145
148
|
(0, _card.addLinkMetadata)(state.selection, tr, {
|
|
146
|
-
action:
|
|
149
|
+
action: _enums.ACTION.INSERTED,
|
|
147
150
|
inputMethod: source,
|
|
148
151
|
sourceEvent: sourceEvent
|
|
149
152
|
});
|
|
@@ -173,13 +176,13 @@ var insertLinkWithAnalytics = exports.insertLinkWithAnalytics = function insertL
|
|
|
173
176
|
if (cardsAvailable && !title && !displayText) {
|
|
174
177
|
return insertLink(from, to, href, title, displayText, inputMethod, sourceEvent, appearance, cardActions);
|
|
175
178
|
}
|
|
176
|
-
return (0,
|
|
177
|
-
return (0,
|
|
179
|
+
return (0, _withAnalytics.withAnalytics)(editorAnalyticsApi, function (state) {
|
|
180
|
+
return (0, _hyperlink.getLinkCreationAnalyticsEvent)(inputMethod, href, from !== to ? state.tr : undefined);
|
|
178
181
|
})(insertLink(from, to, href, title, displayText, inputMethod, sourceEvent, appearance, cardActions));
|
|
179
182
|
};
|
|
180
183
|
function removeLink(pos, editorAnalyticsApi) {
|
|
181
|
-
return (0,
|
|
182
|
-
action:
|
|
184
|
+
return (0, _utils.commandWithMetadata)(setLinkHref('', pos, editorAnalyticsApi), {
|
|
185
|
+
action: _enums.ACTION.UNLINK
|
|
183
186
|
});
|
|
184
187
|
}
|
|
185
188
|
function removeLinkEditorCommand(pos, editorAnalyticsApi) {
|
|
@@ -189,7 +192,7 @@ function removeLinkEditorCommand(pos, editorAnalyticsApi) {
|
|
|
189
192
|
tr: tr
|
|
190
193
|
});
|
|
191
194
|
(0, _card.addLinkMetadata)(tr.selection, tr, {
|
|
192
|
-
action:
|
|
195
|
+
action: _enums.ACTION.UNLINK
|
|
193
196
|
});
|
|
194
197
|
return tr;
|
|
195
198
|
};
|
|
@@ -200,9 +203,9 @@ function editInsertedLink(editorAnalyticsApi) {
|
|
|
200
203
|
var _tr = state.tr;
|
|
201
204
|
_tr.setMeta(_main.stateKey, {
|
|
202
205
|
type: _link.LinkAction.EDIT_INSERTED_TOOLBAR,
|
|
203
|
-
inputMethod:
|
|
206
|
+
inputMethod: _enums.INPUT_METHOD.FLOATING_TB
|
|
204
207
|
});
|
|
205
|
-
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent((0,
|
|
208
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent((0, _linkingUtils.buildEditLinkPayload)(_enums.ACTION_SUBJECT_ID.HYPERLINK))(_tr);
|
|
206
209
|
dispatch(_tr);
|
|
207
210
|
}
|
|
208
211
|
return true;
|
|
@@ -216,13 +219,13 @@ function showLinkToolbar(inputMethod, editorAnalyticsApi) {
|
|
|
216
219
|
inputMethod: inputMethod
|
|
217
220
|
});
|
|
218
221
|
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent({
|
|
219
|
-
action:
|
|
220
|
-
actionSubject:
|
|
221
|
-
actionSubjectId:
|
|
222
|
+
action: _enums.ACTION.INVOKED,
|
|
223
|
+
actionSubject: _enums.ACTION_SUBJECT.TYPEAHEAD,
|
|
224
|
+
actionSubjectId: _enums.ACTION_SUBJECT_ID.TYPEAHEAD_LINK,
|
|
222
225
|
attributes: {
|
|
223
226
|
inputMethod: inputMethod
|
|
224
227
|
},
|
|
225
|
-
eventType:
|
|
228
|
+
eventType: _enums.EVENT_TYPE.UI
|
|
226
229
|
})(newTr);
|
|
227
230
|
return newTr;
|
|
228
231
|
};
|
|
@@ -8,12 +8,12 @@ exports.hyperlinkPlugin = void 0;
|
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
10
|
var _link = require("@atlaskit/adf-schema/link");
|
|
11
|
-
var
|
|
11
|
+
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
|
|
12
|
+
var _assets = require("@atlaskit/editor-common/assets");
|
|
12
13
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
13
14
|
var _link2 = require("@atlaskit/editor-common/link");
|
|
14
|
-
var
|
|
15
|
-
var
|
|
16
|
-
var _quickInsert = require("@atlaskit/editor-common/quick-insert");
|
|
15
|
+
var _insertBlock = require("@atlaskit/editor-common/messages/insert-block");
|
|
16
|
+
var _editorCommands = require("@atlaskit/editor-common/preset/editor-commands");
|
|
17
17
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
18
18
|
var _link3 = _interopRequireDefault(require("@atlaskit/icon/core/link"));
|
|
19
19
|
var _isExperimentEnabled = require("@atlaskit/platform-feature-experiments/is-experiment-enabled");
|
|
@@ -76,7 +76,7 @@ var hyperlinkPlugin = exports.hyperlinkPlugin = function hyperlinkPlugin(_ref) {
|
|
|
76
76
|
commands: {
|
|
77
77
|
showLinkToolbar: function showLinkToolbar() {
|
|
78
78
|
var _api$analytics;
|
|
79
|
-
var inputMethod = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] :
|
|
79
|
+
var inputMethod = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _enums.INPUT_METHOD.TOOLBAR;
|
|
80
80
|
return (0, _commands.showLinkToolbar)(inputMethod, api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions);
|
|
81
81
|
},
|
|
82
82
|
updateLink: function updateLink(href, text) {
|
|
@@ -163,29 +163,29 @@ var hyperlinkPlugin = exports.hyperlinkPlugin = function hyperlinkPlugin(_ref) {
|
|
|
163
163
|
var formatMessage = _ref4.formatMessage;
|
|
164
164
|
return [{
|
|
165
165
|
id: 'hyperlink',
|
|
166
|
-
title: formatMessage(
|
|
167
|
-
description: formatMessage(
|
|
166
|
+
title: formatMessage(_insertBlock.toolbarInsertBlockMessages.link),
|
|
167
|
+
description: formatMessage(_insertBlock.toolbarInsertBlockMessages.linkDescription),
|
|
168
168
|
keywords: ['hyperlink', 'url'],
|
|
169
169
|
priority: (0, _expValEquals.expValEquals)('confluence_quick_insert_embeds', 'cohort', 'prioritizeLinkInQIM', 'control') ? -300 : 1200,
|
|
170
170
|
keyshortcut: (0, _keymaps.tooltip)(_keymaps.addLink),
|
|
171
171
|
icon: function icon() {
|
|
172
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
172
|
+
return /*#__PURE__*/_react.default.createElement(_assets.IconLink, null);
|
|
173
173
|
},
|
|
174
174
|
action: function action(insert, state) {
|
|
175
175
|
var _api$analytics6, _api$analytics6$attac;
|
|
176
176
|
var tr = insert(undefined);
|
|
177
177
|
tr.setMeta(_main.stateKey, {
|
|
178
178
|
type: _link2.LinkAction.SHOW_INSERT_TOOLBAR,
|
|
179
|
-
inputMethod:
|
|
179
|
+
inputMethod: _enums.INPUT_METHOD.QUICK_INSERT
|
|
180
180
|
});
|
|
181
181
|
var analyticsAttached = api === null || api === void 0 || (_api$analytics6 = api.analytics) === null || _api$analytics6 === void 0 || (_api$analytics6 = _api$analytics6.actions) === null || _api$analytics6 === void 0 || (_api$analytics6$attac = _api$analytics6.attachAnalyticsEvent) === null || _api$analytics6$attac === void 0 ? void 0 : _api$analytics6$attac.call(_api$analytics6, {
|
|
182
|
-
action:
|
|
183
|
-
actionSubject:
|
|
184
|
-
actionSubjectId:
|
|
182
|
+
action: _enums.ACTION.INVOKED,
|
|
183
|
+
actionSubject: _enums.ACTION_SUBJECT.TYPEAHEAD,
|
|
184
|
+
actionSubjectId: _enums.ACTION_SUBJECT_ID.TYPEAHEAD_LINK,
|
|
185
185
|
attributes: {
|
|
186
|
-
inputMethod:
|
|
186
|
+
inputMethod: _enums.INPUT_METHOD.QUICK_INSERT
|
|
187
187
|
},
|
|
188
|
-
eventType:
|
|
188
|
+
eventType: _enums.EVENT_TYPE.UI
|
|
189
189
|
})(tr);
|
|
190
190
|
return analyticsAttached !== false ? tr : false;
|
|
191
191
|
}
|
|
@@ -206,7 +206,7 @@ var hyperlinkPlugin = exports.hyperlinkPlugin = function hyperlinkPlugin(_ref) {
|
|
|
206
206
|
from = _state$selection.from,
|
|
207
207
|
to = _state$selection.to;
|
|
208
208
|
var isEnabled = (0, _utils.canLinkBeCreatedInRange)(from, to)(state);
|
|
209
|
-
var title = formatMessage(
|
|
209
|
+
var title = formatMessage(_insertBlock.toolbarInsertBlockMessages.link);
|
|
210
210
|
return {
|
|
211
211
|
type: 'button',
|
|
212
212
|
disabled: !isEnabled,
|
|
@@ -217,7 +217,7 @@ var hyperlinkPlugin = exports.hyperlinkPlugin = function hyperlinkPlugin(_ref) {
|
|
|
217
217
|
showTitle: false,
|
|
218
218
|
onClick: function onClick(state, dispatch) {
|
|
219
219
|
var _api$analytics7;
|
|
220
|
-
return (0,
|
|
220
|
+
return (0, _editorCommands.editorCommandToPMCommand)((0, _commands.showLinkToolbar)(_enums.INPUT_METHOD.FLOATING_TB, api === null || api === void 0 || (_api$analytics7 = api.analytics) === null || _api$analytics7 === void 0 ? void 0 : _api$analytics7.actions))(state, dispatch);
|
|
221
221
|
}
|
|
222
222
|
};
|
|
223
223
|
};
|
|
@@ -8,11 +8,13 @@ exports.createInputRulePlugin = createInputRulePlugin;
|
|
|
8
8
|
exports.createLinkInputRule = createLinkInputRule;
|
|
9
9
|
exports.default = void 0;
|
|
10
10
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var
|
|
11
|
+
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
|
|
12
12
|
var _card = require("@atlaskit/editor-common/card");
|
|
13
13
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
14
14
|
var _utils = require("@atlaskit/editor-common/utils");
|
|
15
|
-
var
|
|
15
|
+
var _hyperlink = require("@atlaskit/editor-common/utils/hyperlink");
|
|
16
|
+
var _shouldAutoLinkifyTld = require("@atlaskit/editor-common/utils/should-auto-linkify-tld");
|
|
17
|
+
var _utils2 = require("@atlaskit/prosemirror-input-rules/utils");
|
|
16
18
|
var _toolbarButtons = require("./toolbar-buttons");
|
|
17
19
|
// [something](link) should convert to a hyperlink
|
|
18
20
|
// eslint-disable-next-line require-unicode-regexp
|
|
@@ -36,7 +38,7 @@ function createLinkInputRule(regexp, editorAnalyticsApi) {
|
|
|
36
38
|
if (link.url === undefined) {
|
|
37
39
|
return null;
|
|
38
40
|
}
|
|
39
|
-
if (!(0,
|
|
41
|
+
if (!(0, _shouldAutoLinkifyTld.shouldAutoLinkifyMatch)(link)) {
|
|
40
42
|
return null;
|
|
41
43
|
}
|
|
42
44
|
var url = (0, _utils.normalizeUrl)(link.url);
|
|
@@ -56,11 +58,11 @@ function createLinkInputRule(regexp, editorAnalyticsApi) {
|
|
|
56
58
|
if (!nodeBefore || !nodeBefore.isText || !nodeBefore.text) {
|
|
57
59
|
return null;
|
|
58
60
|
}
|
|
59
|
-
var filepaths = (0,
|
|
61
|
+
var filepaths = (0, _hyperlink.findFilepaths)(nodeBefore.text,
|
|
60
62
|
// The position referenced by 'start' is relative to the start of the document, findFilepaths deals with index in a node only.
|
|
61
63
|
start - (nodeBefore.text.length - link.text.length) // (start of link match) - (whole node text length - link length) gets start of text node, which is used as offset
|
|
62
64
|
);
|
|
63
|
-
if ((0,
|
|
65
|
+
if ((0, _hyperlink.isLinkInMatches)(start, filepaths)) {
|
|
64
66
|
var _tr = state.tr;
|
|
65
67
|
return _tr;
|
|
66
68
|
}
|
|
@@ -73,13 +75,13 @@ function createLinkInputRule(regexp, editorAnalyticsApi) {
|
|
|
73
75
|
tr.insertText(' ');
|
|
74
76
|
}
|
|
75
77
|
(0, _card.addLinkMetadata)(state.selection, tr, {
|
|
76
|
-
inputMethod:
|
|
78
|
+
inputMethod: _enums.INPUT_METHOD.AUTO_DETECT
|
|
77
79
|
});
|
|
78
80
|
var skipAnalytics = (_toolbarKey$getState$ = (_toolbarKey$getState = _toolbarButtons.toolbarKey.getState(state)) === null || _toolbarKey$getState === void 0 ? void 0 : _toolbarKey$getState.skipAnalytics) !== null && _toolbarKey$getState$ !== void 0 ? _toolbarKey$getState$ : false;
|
|
79
81
|
if (skipAnalytics) {
|
|
80
82
|
return tr;
|
|
81
83
|
}
|
|
82
|
-
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent((0,
|
|
84
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent((0, _hyperlink.getLinkCreationAnalyticsEvent)(_enums.INPUT_METHOD.AUTO_DETECT, url))(tr);
|
|
83
85
|
return tr;
|
|
84
86
|
});
|
|
85
87
|
}
|
|
@@ -106,16 +108,16 @@ function createInputRulePlugin(schema, editorAnalyticsApi) {
|
|
|
106
108
|
});
|
|
107
109
|
var tr = state.tr.replaceWith(start + prefix.length, end, schema.text((linkText || '').trim(), [markType]));
|
|
108
110
|
(0, _card.addLinkMetadata)(state.selection, tr, {
|
|
109
|
-
inputMethod:
|
|
111
|
+
inputMethod: _enums.INPUT_METHOD.FORMATTING
|
|
110
112
|
});
|
|
111
113
|
var skipAnalytics = (_toolbarKey$getState$2 = (_toolbarKey$getState2 = _toolbarButtons.toolbarKey.getState(state)) === null || _toolbarKey$getState2 === void 0 ? void 0 : _toolbarKey$getState2.skipAnalytics) !== null && _toolbarKey$getState$2 !== void 0 ? _toolbarKey$getState$2 : false;
|
|
112
114
|
if (skipAnalytics) {
|
|
113
115
|
return tr;
|
|
114
116
|
}
|
|
115
|
-
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent((0,
|
|
117
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent((0, _hyperlink.getLinkCreationAnalyticsEvent)(_enums.INPUT_METHOD.FORMATTING, url))(tr);
|
|
116
118
|
return tr;
|
|
117
119
|
});
|
|
118
|
-
return new _safePlugin.SafePlugin((0,
|
|
120
|
+
return new _safePlugin.SafePlugin((0, _utils2.createPlugin)('hyperlink', [urlWithASpaceRule, markdownLinkRule], autoLinkOnBlur ? {
|
|
119
121
|
checkOnBlur: true,
|
|
120
122
|
appendTextOnBlur: ' '
|
|
121
123
|
} : undefined));
|
|
@@ -6,10 +6,11 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.createKeymapPlugin = createKeymapPlugin;
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _getLinkMatch = require("@atlaskit/adf-schema/get-link-match");
|
|
9
|
-
var
|
|
9
|
+
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
|
|
10
10
|
var _card = require("@atlaskit/editor-common/card");
|
|
11
11
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
12
|
-
var
|
|
12
|
+
var _hyperlink = require("@atlaskit/editor-common/utils/hyperlink");
|
|
13
|
+
var _shouldAutoLinkifyTld = require("@atlaskit/editor-common/utils/should-auto-linkify-tld");
|
|
13
14
|
var _keymap = require("@atlaskit/editor-prosemirror/keymap");
|
|
14
15
|
var _commands = require("../editor-commands/commands");
|
|
15
16
|
var _main = require("../pm-plugins/main");
|
|
@@ -19,7 +20,7 @@ function createKeymapPlugin(editorAnalyticsApi) {
|
|
|
19
20
|
(0, _keymaps.bindKeymapWithEditorCommand)(
|
|
20
21
|
// Ignored via go/ees005
|
|
21
22
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
22
|
-
_keymaps.addLink.common, (0, _commands.showLinkToolbar)(
|
|
23
|
+
_keymaps.addLink.common, (0, _commands.showLinkToolbar)(_enums.INPUT_METHOD.SHORTCUT, editorAnalyticsApi), list);
|
|
23
24
|
|
|
24
25
|
// Ignored via go/ees005
|
|
25
26
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
@@ -63,7 +64,7 @@ var mayConvertLastWordToHyperlink = function mayConvertLastWordToHyperlink(edito
|
|
|
63
64
|
var lastWord = words[words.length - 1];
|
|
64
65
|
var match = (0, _getLinkMatch.getLinkMatch)(lastWord);
|
|
65
66
|
if (match) {
|
|
66
|
-
if (!(0,
|
|
67
|
+
if (!(0, _shouldAutoLinkifyTld.shouldAutoLinkifyMatch)(match)) {
|
|
67
68
|
return false;
|
|
68
69
|
}
|
|
69
70
|
var hyperlinkedText = match.raw;
|
|
@@ -76,20 +77,20 @@ var mayConvertLastWordToHyperlink = function mayConvertLastWordToHyperlink(edito
|
|
|
76
77
|
var markType = state.schema.mark('link', {
|
|
77
78
|
href: url
|
|
78
79
|
});
|
|
79
|
-
var filepaths = (0,
|
|
80
|
+
var filepaths = (0, _hyperlink.findFilepaths)(nodeBefore.text, start - (nodeBefore.text.length - hyperlinkedText.length) // The position referenced by 'start' is relative to the start of the document, findFilepaths deals with index in a node only.
|
|
80
81
|
);
|
|
81
|
-
if ((0,
|
|
82
|
+
if ((0, _hyperlink.isLinkInMatches)(start, filepaths)) {
|
|
82
83
|
return false;
|
|
83
84
|
}
|
|
84
85
|
var tr = state.tr.addMark(start, end, markType);
|
|
85
86
|
if (dispatch) {
|
|
86
87
|
(0, _card.addLinkMetadata)(state.selection, tr, {
|
|
87
|
-
inputMethod:
|
|
88
|
+
inputMethod: _enums.INPUT_METHOD.AUTO_DETECT
|
|
88
89
|
});
|
|
89
90
|
if (skipAnalytics) {
|
|
90
91
|
dispatch(tr);
|
|
91
92
|
} else {
|
|
92
|
-
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent((0,
|
|
93
|
+
editorAnalyticsApi === null || editorAnalyticsApi === void 0 || editorAnalyticsApi.attachAnalyticsEvent((0, _hyperlink.getLinkCreationAnalyticsEvent)(_enums.INPUT_METHOD.AUTO_DETECT, url))(tr);
|
|
93
94
|
dispatch(tr);
|
|
94
95
|
}
|
|
95
96
|
}
|
|
@@ -9,8 +9,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
9
9
|
var _uuid = require("uuid");
|
|
10
10
|
var _isSafeUrl = require("@atlaskit/adf-schema/is-safe-url");
|
|
11
11
|
var _link3 = require("@atlaskit/editor-common/link");
|
|
12
|
+
var _utils = require("@atlaskit/editor-common/link/utils");
|
|
12
13
|
var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
|
|
13
|
-
var
|
|
14
|
+
var _utils2 = require("@atlaskit/editor-common/utils");
|
|
14
15
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
15
16
|
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; }
|
|
16
17
|
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) { (0, _defineProperty2.default)(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; } // eslint-disable-next-line @atlaskit/platform/prefer-crypto-random-uuid -- Use crypto.randomUUID instead
|
|
@@ -51,7 +52,7 @@ var toState = function toState(state, action, editorState) {
|
|
|
51
52
|
var _editorState$selectio = editorState.selection,
|
|
52
53
|
from = _editorState$selectio.from,
|
|
53
54
|
to = _editorState$selectio.to;
|
|
54
|
-
if ((0,
|
|
55
|
+
if ((0, _utils2.canLinkBeCreatedInRange)(from, to)(editorState)) {
|
|
55
56
|
return {
|
|
56
57
|
type: _link3.InsertStatus.INSERT_LINK_TOOLBAR,
|
|
57
58
|
from: from,
|
|
@@ -62,7 +63,7 @@ var toState = function toState(state, action, editorState) {
|
|
|
62
63
|
}
|
|
63
64
|
case _link3.LinkAction.SELECTION_CHANGE:
|
|
64
65
|
// If the user has moved their cursor, see if they're in a link
|
|
65
|
-
var link = (0,
|
|
66
|
+
var link = (0, _utils.getActiveLinkMark)(editorState);
|
|
66
67
|
if (link) {
|
|
67
68
|
return _objectSpread(_objectSpread({}, link), {}, {
|
|
68
69
|
type: _link3.InsertStatus.EDIT_LINK_TOOLBAR
|
|
@@ -78,7 +79,7 @@ var toState = function toState(state, action, editorState) {
|
|
|
78
79
|
switch (action) {
|
|
79
80
|
case _link3.LinkAction.EDIT_INSERTED_TOOLBAR:
|
|
80
81
|
{
|
|
81
|
-
var _link = (0,
|
|
82
|
+
var _link = (0, _utils.getActiveLinkMark)(editorState);
|
|
82
83
|
if (_link) {
|
|
83
84
|
if (_link.pos === state.pos && _link.node === state.node) {
|
|
84
85
|
return _objectSpread(_objectSpread({}, state), {}, {
|
|
@@ -92,7 +93,7 @@ var toState = function toState(state, action, editorState) {
|
|
|
92
93
|
return undefined;
|
|
93
94
|
}
|
|
94
95
|
case _link3.LinkAction.SELECTION_CHANGE:
|
|
95
|
-
var _link2 = (0,
|
|
96
|
+
var _link2 = (0, _utils.getActiveLinkMark)(editorState);
|
|
96
97
|
if (_link2) {
|
|
97
98
|
if (_link2.pos === state.pos && _link2.node === state.node) {
|
|
98
99
|
// Make sure we return the same object, if it's the same link
|
|
@@ -137,7 +138,7 @@ var plugin = exports.plugin = function plugin(dispatch, intl, editorAppearance,
|
|
|
137
138
|
return new _safePlugin.SafePlugin({
|
|
138
139
|
state: {
|
|
139
140
|
init: function init(_, state) {
|
|
140
|
-
var canInsertLink = (0,
|
|
141
|
+
var canInsertLink = (0, _utils2.canLinkBeCreatedInRange)(state.selection.from, state.selection.to)(state);
|
|
141
142
|
return {
|
|
142
143
|
activeText: getActiveText(state.selection),
|
|
143
144
|
canInsertLink: canInsertLink,
|
|
@@ -153,7 +154,7 @@ var plugin = exports.plugin = function plugin(dispatch, intl, editorAppearance,
|
|
|
153
154
|
if (tr.docChanged) {
|
|
154
155
|
state = {
|
|
155
156
|
activeText: state.activeText,
|
|
156
|
-
canInsertLink: (0,
|
|
157
|
+
canInsertLink: (0, _utils2.canLinkBeCreatedInRange)(newState.selection.from, newState.selection.to)(newState),
|
|
157
158
|
timesViewed: state.timesViewed,
|
|
158
159
|
inputMethod: inputMethod,
|
|
159
160
|
activeLinkMark: mapTransactionToState(state.activeLinkMark, tr),
|
|
@@ -181,7 +182,7 @@ var plugin = exports.plugin = function plugin(dispatch, intl, editorAppearance,
|
|
|
181
182
|
if (tr.selectionSet && hasPositionChanged) {
|
|
182
183
|
state = {
|
|
183
184
|
activeText: getActiveText(newState.selection),
|
|
184
|
-
canInsertLink: (0,
|
|
185
|
+
canInsertLink: (0, _utils2.canLinkBeCreatedInRange)(newState.selection.from, newState.selection.to)(newState),
|
|
185
186
|
activeLinkMark: toState(state.activeLinkMark, _link3.LinkAction.SELECTION_CHANGE, newState),
|
|
186
187
|
timesViewed: state.timesViewed,
|
|
187
188
|
searchSessionId: state.searchSessionId,
|
|
@@ -189,7 +190,7 @@ var plugin = exports.plugin = function plugin(dispatch, intl, editorAppearance,
|
|
|
189
190
|
editorAppearance: editorAppearance
|
|
190
191
|
};
|
|
191
192
|
}
|
|
192
|
-
if (!(0,
|
|
193
|
+
if (!(0, _utils2.shallowEqual)(state, pluginState)) {
|
|
193
194
|
dispatch(stateKey, state);
|
|
194
195
|
}
|
|
195
196
|
return state;
|
|
@@ -8,10 +8,10 @@ exports.PrimaryToolbarComponent = void 0;
|
|
|
8
8
|
var _react = require("react");
|
|
9
9
|
var _react2 = require("@emotion/react");
|
|
10
10
|
var _reactIntl = require("react-intl");
|
|
11
|
-
var
|
|
11
|
+
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
|
|
12
12
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
13
|
-
var
|
|
14
|
-
var
|
|
13
|
+
var _insertBlock = require("@atlaskit/editor-common/messages/insert-block");
|
|
14
|
+
var _ToolbarButton = _interopRequireDefault(require("@atlaskit/editor-common/ui-menu/ToolbarButton"));
|
|
15
15
|
var _link = _interopRequireDefault(require("@atlaskit/icon/core/link"));
|
|
16
16
|
/* eslint-disable @atlaskit/design-system/no-css-tagged-template-expression -- needs manual remediation */
|
|
17
17
|
/**
|
|
@@ -25,12 +25,12 @@ var PrimaryToolbarComponentWithIntl = function PrimaryToolbarComponentWithIntl(_
|
|
|
25
25
|
var api = _ref.api,
|
|
26
26
|
intl = _ref.intl;
|
|
27
27
|
var formatMessage = intl.formatMessage;
|
|
28
|
-
var content = formatMessage(
|
|
28
|
+
var content = formatMessage(_insertBlock.toolbarInsertBlockMessages.link);
|
|
29
29
|
var onClick = (0, _react.useCallback)(function () {
|
|
30
30
|
var _api$core, _api$hyperlink;
|
|
31
|
-
api === null || api === void 0 || (_api$core = api.core) === null || _api$core === void 0 || _api$core.actions.execute(api === null || api === void 0 || (_api$hyperlink = api.hyperlink) === null || _api$hyperlink === void 0 ? void 0 : _api$hyperlink.commands.showLinkToolbar(
|
|
31
|
+
api === null || api === void 0 || (_api$core = api.core) === null || _api$core === void 0 || _api$core.actions.execute(api === null || api === void 0 || (_api$hyperlink = api.hyperlink) === null || _api$hyperlink === void 0 ? void 0 : _api$hyperlink.commands.showLinkToolbar(_enums.INPUT_METHOD.TOOLBAR));
|
|
32
32
|
}, [api]);
|
|
33
|
-
return (0, _react2.jsx)(
|
|
33
|
+
return (0, _react2.jsx)(_ToolbarButton.default, {
|
|
34
34
|
onClick: onClick,
|
|
35
35
|
"aria-haspopup": "dialog",
|
|
36
36
|
"aria-keyshortcuts": (0, _keymaps.getAriaKeyshortcuts)(_keymaps.addLink),
|
|
@@ -8,12 +8,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.HyperlinkQuickInsertMenuItem = void 0;
|
|
9
9
|
var _react = _interopRequireWildcard(require("react"));
|
|
10
10
|
var _reactIntl = require("react-intl");
|
|
11
|
-
var
|
|
11
|
+
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
|
|
12
12
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
13
13
|
var _link = require("@atlaskit/editor-common/link");
|
|
14
|
-
var
|
|
14
|
+
var _insertBlock = require("@atlaskit/editor-common/messages/insert-block");
|
|
15
15
|
var _menuItem = require("@atlaskit/editor-common/quick-insert/menu-item");
|
|
16
|
-
var
|
|
16
|
+
var _messages = require("@atlaskit/editor-common/quick-insert/messages");
|
|
17
17
|
var _link2 = _interopRequireDefault(require("@atlaskit/icon/core/link"));
|
|
18
18
|
var _main = require("../../pm-plugins/main");
|
|
19
19
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
@@ -29,7 +29,7 @@ var HyperlinkQuickInsertMenuItem = exports.HyperlinkQuickInsertMenuItem = functi
|
|
|
29
29
|
return {
|
|
30
30
|
image: previewImageUrls,
|
|
31
31
|
attribution: {
|
|
32
|
-
name: formatMessage(
|
|
32
|
+
name: formatMessage(_messages.messages.previewAttributionAtlassian)
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
}, [formatMessage]);
|
|
@@ -39,27 +39,27 @@ var HyperlinkQuickInsertMenuItem = exports.HyperlinkQuickInsertMenuItem = functi
|
|
|
39
39
|
var tr = insert(undefined);
|
|
40
40
|
tr.setMeta(_main.stateKey, {
|
|
41
41
|
type: _link.LinkAction.SHOW_INSERT_TOOLBAR,
|
|
42
|
-
inputMethod:
|
|
42
|
+
inputMethod: _enums.INPUT_METHOD.QUICK_INSERT
|
|
43
43
|
});
|
|
44
44
|
var analyticsAttached = api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 || (_api$analytics = _api$analytics.actions) === null || _api$analytics === void 0 || (_api$analytics$attach = _api$analytics.attachAnalyticsEvent) === null || _api$analytics$attach === void 0 ? void 0 : _api$analytics$attach.call(_api$analytics, {
|
|
45
|
-
action:
|
|
46
|
-
actionSubject:
|
|
47
|
-
actionSubjectId:
|
|
45
|
+
action: _enums.ACTION.INVOKED,
|
|
46
|
+
actionSubject: _enums.ACTION_SUBJECT.TYPEAHEAD,
|
|
47
|
+
actionSubjectId: _enums.ACTION_SUBJECT_ID.TYPEAHEAD_LINK,
|
|
48
48
|
attributes: {
|
|
49
|
-
inputMethod:
|
|
49
|
+
inputMethod: _enums.INPUT_METHOD.QUICK_INSERT
|
|
50
50
|
},
|
|
51
|
-
eventType:
|
|
51
|
+
eventType: _enums.EVENT_TYPE.UI
|
|
52
52
|
})(tr);
|
|
53
53
|
return analyticsAttached !== false ? tr : false;
|
|
54
54
|
}, [api]);
|
|
55
55
|
return /*#__PURE__*/_react.default.createElement(_menuItem.QuickInsertMenuItem, {
|
|
56
|
-
description: formatMessage(
|
|
56
|
+
description: formatMessage(_insertBlock.toolbarInsertBlockMessages.linkDescription),
|
|
57
57
|
iconBefore: /*#__PURE__*/_react.default.createElement(_link2.default, {
|
|
58
58
|
label: ""
|
|
59
59
|
}),
|
|
60
60
|
onSelect: onSelect,
|
|
61
61
|
preview: preview,
|
|
62
62
|
shortcut: (0, _keymaps.tooltip)(_keymaps.addLink),
|
|
63
|
-
title: formatMessage(
|
|
63
|
+
title: formatMessage(_insertBlock.toolbarInsertBlockMessages.link)
|
|
64
64
|
});
|
|
65
65
|
};
|
|
@@ -7,7 +7,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.getHyperlinkQuickInsertComponents = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
10
|
-
var
|
|
10
|
+
var _insertBlock = require("@atlaskit/editor-common/messages/insert-block");
|
|
11
11
|
var _createQuickInsertMatcher = require("@atlaskit/editor-common/quick-insert/create-quick-insert-matcher");
|
|
12
12
|
var _keys = require("@atlaskit/editor-common/quick-insert/keys");
|
|
13
13
|
var _rank = require("@atlaskit/editor-common/quick-insert/rank");
|
|
@@ -25,10 +25,10 @@ var getHyperlinkQuickInsertComponents = exports.getHyperlinkQuickInsertComponent
|
|
|
25
25
|
match: (0, _createQuickInsertMatcher.createQuickInsertMatcher)(function (_ref2) {
|
|
26
26
|
var formatMessage = _ref2.formatMessage;
|
|
27
27
|
return {
|
|
28
|
-
description: formatMessage(
|
|
28
|
+
description: formatMessage(_insertBlock.toolbarInsertBlockMessages.linkDescription),
|
|
29
29
|
keywords: ['hyperlink', 'url'],
|
|
30
30
|
shortcut: (0, _keymaps.tooltip)(_keymaps.addLink),
|
|
31
|
-
title: formatMessage(
|
|
31
|
+
title: formatMessage(_insertBlock.toolbarInsertBlockMessages.link)
|
|
32
32
|
};
|
|
33
33
|
}),
|
|
34
34
|
component: function component() {
|
|
@@ -7,31 +7,33 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.LinkButton = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _reactIntl = require("react-intl");
|
|
10
|
-
var
|
|
11
|
-
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
10
|
+
var _enums = require("@atlaskit/editor-common/analytics/types/enums");
|
|
12
11
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
13
|
-
var
|
|
14
|
-
var
|
|
12
|
+
var _insertBlock = require("@atlaskit/editor-common/messages/insert-block");
|
|
13
|
+
var _useSharedPluginStateWithSelector = require("@atlaskit/editor-common/useSharedPluginStateWithSelector");
|
|
14
|
+
var _linkIcon = require("@atlaskit/editor-toolbar/link-icon");
|
|
15
|
+
var _toolbarButton = require("@atlaskit/editor-toolbar/toolbar-button");
|
|
16
|
+
var _toolbarTooltip = require("@atlaskit/editor-toolbar/toolbar-tooltip");
|
|
15
17
|
var LinkButton = exports.LinkButton = function LinkButton(_ref) {
|
|
16
18
|
var api = _ref.api;
|
|
17
19
|
var _useIntl = (0, _reactIntl.useIntl)(),
|
|
18
20
|
formatMessage = _useIntl.formatMessage;
|
|
19
|
-
var canInsertLink = (0,
|
|
21
|
+
var canInsertLink = (0, _useSharedPluginStateWithSelector.useSharedPluginStateWithSelector)(api, ['hyperlink'], function (state) {
|
|
20
22
|
var _state$hyperlinkState, _state$hyperlinkState2;
|
|
21
23
|
return (_state$hyperlinkState = state === null || state === void 0 || (_state$hyperlinkState2 = state.hyperlinkState) === null || _state$hyperlinkState2 === void 0 ? void 0 : _state$hyperlinkState2.canInsertLink) !== null && _state$hyperlinkState !== void 0 ? _state$hyperlinkState : true;
|
|
22
24
|
});
|
|
23
25
|
var onClick = function onClick() {
|
|
24
|
-
api === null || api === void 0 || api.core.actions.execute(api === null || api === void 0 ? void 0 : api.hyperlink.commands.showLinkToolbar(
|
|
26
|
+
api === null || api === void 0 || api.core.actions.execute(api === null || api === void 0 ? void 0 : api.hyperlink.commands.showLinkToolbar(_enums.INPUT_METHOD.FLOATING_TB));
|
|
25
27
|
};
|
|
26
28
|
var isEnabled = canInsertLink;
|
|
27
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
29
|
+
return /*#__PURE__*/_react.default.createElement(_toolbarTooltip.ToolbarTooltip, {
|
|
28
30
|
content: /*#__PURE__*/_react.default.createElement(_keymaps.ToolTipContent, {
|
|
29
|
-
description: formatMessage(
|
|
31
|
+
description: formatMessage(_insertBlock.toolbarInsertBlockMessages.link),
|
|
30
32
|
keymap: _keymaps.addLink
|
|
31
33
|
})
|
|
32
|
-
}, /*#__PURE__*/_react.default.createElement(
|
|
33
|
-
iconBefore: /*#__PURE__*/_react.default.createElement(
|
|
34
|
-
label: formatMessage(
|
|
34
|
+
}, /*#__PURE__*/_react.default.createElement(_toolbarButton.ToolbarButton, {
|
|
35
|
+
iconBefore: /*#__PURE__*/_react.default.createElement(_linkIcon.LinkIcon, {
|
|
36
|
+
label: formatMessage(_insertBlock.toolbarInsertBlockMessages.link),
|
|
35
37
|
size: "small"
|
|
36
38
|
}),
|
|
37
39
|
onClick: onClick,
|