@atlaskit/editor-plugin-copy-button 2.0.4 → 2.0.6
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 +15 -0
- package/dist/cjs/copyButtonPlugin.js +1 -1
- package/dist/cjs/pm-plugins/commands.js +16 -1
- package/dist/cjs/ui/toolbar.js +4 -4
- package/dist/es2019/copyButtonPlugin.js +1 -1
- package/dist/es2019/pm-plugins/commands.js +16 -1
- package/dist/es2019/ui/toolbar.js +4 -4
- package/dist/esm/copyButtonPlugin.js +1 -1
- package/dist/esm/pm-plugins/commands.js +16 -1
- package/dist/esm/ui/toolbar.js +4 -4
- package/dist/types/copyButtonPluginType.d.ts +2 -1
- package/dist/types/pm-plugins/commands.d.ts +3 -2
- package/dist/types/ui/toolbar.d.ts +4 -3
- package/dist/types-ts4.5/copyButtonPluginType.d.ts +3 -1
- package/dist/types-ts4.5/pm-plugins/commands.d.ts +3 -2
- package/dist/types-ts4.5/ui/toolbar.d.ts +4 -3
- package/package.json +10 -3
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-copy-button
|
|
2
2
|
|
|
3
|
+
## 2.0.6
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies
|
|
8
|
+
|
|
9
|
+
## 2.0.5
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#138444](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/138444)
|
|
14
|
+
[`344f769b251c6`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/344f769b251c6) -
|
|
15
|
+
[A11Y-10275] Copied status now works for screen users"
|
|
16
|
+
- Updated dependencies
|
|
17
|
+
|
|
3
18
|
## 2.0.4
|
|
4
19
|
|
|
5
20
|
### Patch Changes
|
|
@@ -21,7 +21,7 @@ var copyButtonPlugin = exports.copyButtonPlugin = function copyButtonPlugin(_ref
|
|
|
21
21
|
}];
|
|
22
22
|
},
|
|
23
23
|
actions: {
|
|
24
|
-
processCopyButtonItems: (0, _toolbar.processCopyButtonItems)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)
|
|
24
|
+
processCopyButtonItems: (0, _toolbar.processCopyButtonItems)(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api)
|
|
25
25
|
}
|
|
26
26
|
};
|
|
27
27
|
};
|
|
@@ -13,6 +13,7 @@ var _browser = require("@atlaskit/editor-common/browser");
|
|
|
13
13
|
var _clipboard = require("@atlaskit/editor-common/clipboard");
|
|
14
14
|
var _copyButton = require("@atlaskit/editor-common/copy-button");
|
|
15
15
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
16
|
+
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
16
17
|
var _pluginKey = require("./plugin-key");
|
|
17
18
|
function createToolbarCopyCommandForMark(markType, editorAnalyticsApi) {
|
|
18
19
|
function command(state, dispatch) {
|
|
@@ -90,7 +91,7 @@ function removeMarkVisualFeedbackForCopyButtonCommand(state, dispatch) {
|
|
|
90
91
|
}
|
|
91
92
|
return true;
|
|
92
93
|
}
|
|
93
|
-
var createToolbarCopyCommandForNode = exports.createToolbarCopyCommandForNode = function createToolbarCopyCommandForNode(nodeType, editorAnalyticsApi) {
|
|
94
|
+
var createToolbarCopyCommandForNode = exports.createToolbarCopyCommandForNode = function createToolbarCopyCommandForNode(nodeType, editorAnalyticsApi, api, onClickMessage) {
|
|
94
95
|
return function (state, dispatch) {
|
|
95
96
|
var tr = state.tr,
|
|
96
97
|
schema = state.schema;
|
|
@@ -151,6 +152,20 @@ var createToolbarCopyCommandForNode = exports.createToolbarCopyCommandForNode =
|
|
|
151
152
|
copyToClipboardTr.setMeta('scrollIntoView', false);
|
|
152
153
|
dispatch(copyToClipboardTr);
|
|
153
154
|
}
|
|
155
|
+
|
|
156
|
+
/**
|
|
157
|
+
* A11y-10275 This prop api drilled from the plugin all the way down to the usage
|
|
158
|
+
* because it's the safest way to ensure accessibilityUtils is available and not
|
|
159
|
+
* undefined.
|
|
160
|
+
*
|
|
161
|
+
* see thread https://atlassian.slack.com/archives/C02CDUS3SUS/p1744256326459569
|
|
162
|
+
*/
|
|
163
|
+
if (onClickMessage && (0, _platformFeatureFlags.fg)('editor_a11y_aria_announcement_for_copied_status')) {
|
|
164
|
+
var _api$accessibilityUti;
|
|
165
|
+
api === null || api === void 0 || (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 || _api$accessibilityUti.actions.ariaNotify(onClickMessage, {
|
|
166
|
+
priority: 'important'
|
|
167
|
+
});
|
|
168
|
+
}
|
|
154
169
|
return true;
|
|
155
170
|
};
|
|
156
171
|
};
|
package/dist/cjs/ui/toolbar.js
CHANGED
|
@@ -20,7 +20,7 @@ function isSeparator(item) {
|
|
|
20
20
|
function isNodeOptions(options) {
|
|
21
21
|
return 'nodeType' in options && options.nodeType !== undefined;
|
|
22
22
|
}
|
|
23
|
-
function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi) {
|
|
23
|
+
function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi, api) {
|
|
24
24
|
var state = options.state,
|
|
25
25
|
formatMessage = options.formatMessage,
|
|
26
26
|
onMouseEnter = options.onMouseEnter,
|
|
@@ -31,7 +31,7 @@ function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi) {
|
|
|
31
31
|
var buttonActionHandlers;
|
|
32
32
|
if (isNodeOptions(options)) {
|
|
33
33
|
buttonActionHandlers = {
|
|
34
|
-
onClick: (0, _commands.createToolbarCopyCommandForNode)(options.nodeType, editorAnalyticsApi),
|
|
34
|
+
onClick: (0, _commands.createToolbarCopyCommandForNode)(options.nodeType, editorAnalyticsApi, api, formatMessage(_messages.default.copiedToClipboard)),
|
|
35
35
|
// Note for future changes: these two handlers should perform
|
|
36
36
|
// the same action.
|
|
37
37
|
onMouseEnter: onMouseEnter || (hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(options.nodeType, true, 'ak-editor-selected-node')),
|
|
@@ -65,7 +65,7 @@ function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi) {
|
|
|
65
65
|
/**
|
|
66
66
|
* Process floatingToolbar items for copyButton
|
|
67
67
|
*/
|
|
68
|
-
var processCopyButtonItems = exports.processCopyButtonItems = function processCopyButtonItems(editorAnalyticsApi) {
|
|
68
|
+
var processCopyButtonItems = exports.processCopyButtonItems = function processCopyButtonItems(editorAnalyticsApi, api) {
|
|
69
69
|
return function (state) {
|
|
70
70
|
return function (items, hoverDecoration) {
|
|
71
71
|
return items.flatMap(function (item) {
|
|
@@ -75,7 +75,7 @@ var processCopyButtonItems = exports.processCopyButtonItems = function processCo
|
|
|
75
75
|
return [];
|
|
76
76
|
}
|
|
77
77
|
return item === null || item === void 0 ? void 0 : item.items.map(function (copyButtonItem) {
|
|
78
|
-
return isSeparator(copyButtonItem) ? copyButtonItem : getCopyButtonConfig(copyButtonItem, hoverDecoration, editorAnalyticsApi);
|
|
78
|
+
return isSeparator(copyButtonItem) ? copyButtonItem : getCopyButtonConfig(copyButtonItem, hoverDecoration, editorAnalyticsApi, api);
|
|
79
79
|
});
|
|
80
80
|
default:
|
|
81
81
|
return [item];
|
|
@@ -13,7 +13,7 @@ export const copyButtonPlugin = ({
|
|
|
13
13
|
}];
|
|
14
14
|
},
|
|
15
15
|
actions: {
|
|
16
|
-
processCopyButtonItems: processCopyButtonItems(api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)
|
|
16
|
+
processCopyButtonItems: processCopyButtonItems(api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api)
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
19
|
};
|
|
@@ -3,6 +3,7 @@ import { browser } from '@atlaskit/editor-common/browser';
|
|
|
3
3
|
import { copyHTMLToClipboard, copyHTMLToClipboardPolyfill, getAnalyticsPayload } from '@atlaskit/editor-common/clipboard';
|
|
4
4
|
import { getSelectedNodeOrNodeParentByNodeType, toDOM } from '@atlaskit/editor-common/copy-button';
|
|
5
5
|
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
6
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
7
|
import { copyButtonPluginKey } from './plugin-key';
|
|
7
8
|
export function createToolbarCopyCommandForMark(markType, editorAnalyticsApi) {
|
|
8
9
|
function command(state, dispatch) {
|
|
@@ -80,7 +81,7 @@ export function removeMarkVisualFeedbackForCopyButtonCommand(state, dispatch) {
|
|
|
80
81
|
}
|
|
81
82
|
return true;
|
|
82
83
|
}
|
|
83
|
-
export const createToolbarCopyCommandForNode = (nodeType, editorAnalyticsApi) => (state, dispatch) => {
|
|
84
|
+
export const createToolbarCopyCommandForNode = (nodeType, editorAnalyticsApi, api, onClickMessage) => (state, dispatch) => {
|
|
84
85
|
const {
|
|
85
86
|
tr,
|
|
86
87
|
schema
|
|
@@ -142,6 +143,20 @@ export const createToolbarCopyCommandForNode = (nodeType, editorAnalyticsApi) =>
|
|
|
142
143
|
copyToClipboardTr.setMeta('scrollIntoView', false);
|
|
143
144
|
dispatch(copyToClipboardTr);
|
|
144
145
|
}
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* A11y-10275 This prop api drilled from the plugin all the way down to the usage
|
|
149
|
+
* because it's the safest way to ensure accessibilityUtils is available and not
|
|
150
|
+
* undefined.
|
|
151
|
+
*
|
|
152
|
+
* see thread https://atlassian.slack.com/archives/C02CDUS3SUS/p1744256326459569
|
|
153
|
+
*/
|
|
154
|
+
if (onClickMessage && fg('editor_a11y_aria_announcement_for_copied_status')) {
|
|
155
|
+
var _api$accessibilityUti;
|
|
156
|
+
api === null || api === void 0 ? void 0 : (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 ? void 0 : _api$accessibilityUti.actions.ariaNotify(onClickMessage, {
|
|
157
|
+
priority: 'important'
|
|
158
|
+
});
|
|
159
|
+
}
|
|
145
160
|
return true;
|
|
146
161
|
};
|
|
147
162
|
export const resetCopiedState = (nodeType, hoverDecoration, onMouseLeave) => (state, dispatch) => {
|
|
@@ -10,7 +10,7 @@ function isSeparator(item) {
|
|
|
10
10
|
function isNodeOptions(options) {
|
|
11
11
|
return 'nodeType' in options && options.nodeType !== undefined;
|
|
12
12
|
}
|
|
13
|
-
export function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi) {
|
|
13
|
+
export function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi, api) {
|
|
14
14
|
const {
|
|
15
15
|
state,
|
|
16
16
|
formatMessage,
|
|
@@ -23,7 +23,7 @@ export function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi
|
|
|
23
23
|
let buttonActionHandlers;
|
|
24
24
|
if (isNodeOptions(options)) {
|
|
25
25
|
buttonActionHandlers = {
|
|
26
|
-
onClick: createToolbarCopyCommandForNode(options.nodeType, editorAnalyticsApi),
|
|
26
|
+
onClick: createToolbarCopyCommandForNode(options.nodeType, editorAnalyticsApi, api, formatMessage(commonMessages.copiedToClipboard)),
|
|
27
27
|
// Note for future changes: these two handlers should perform
|
|
28
28
|
// the same action.
|
|
29
29
|
onMouseEnter: onMouseEnter || (hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(options.nodeType, true, 'ak-editor-selected-node')),
|
|
@@ -57,14 +57,14 @@ export function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi
|
|
|
57
57
|
/**
|
|
58
58
|
* Process floatingToolbar items for copyButton
|
|
59
59
|
*/
|
|
60
|
-
export const processCopyButtonItems = editorAnalyticsApi => state => {
|
|
60
|
+
export const processCopyButtonItems = (editorAnalyticsApi, api) => state => {
|
|
61
61
|
return (items, hoverDecoration) => items.flatMap(item => {
|
|
62
62
|
switch (item.type) {
|
|
63
63
|
case 'copy-button':
|
|
64
64
|
if (item !== null && item !== void 0 && item.hidden) {
|
|
65
65
|
return [];
|
|
66
66
|
}
|
|
67
|
-
return item === null || item === void 0 ? void 0 : item.items.map(copyButtonItem => isSeparator(copyButtonItem) ? copyButtonItem : getCopyButtonConfig(copyButtonItem, hoverDecoration, editorAnalyticsApi));
|
|
67
|
+
return item === null || item === void 0 ? void 0 : item.items.map(copyButtonItem => isSeparator(copyButtonItem) ? copyButtonItem : getCopyButtonConfig(copyButtonItem, hoverDecoration, editorAnalyticsApi, api));
|
|
68
68
|
default:
|
|
69
69
|
return [item];
|
|
70
70
|
}
|
|
@@ -14,7 +14,7 @@ export var copyButtonPlugin = function copyButtonPlugin(_ref) {
|
|
|
14
14
|
}];
|
|
15
15
|
},
|
|
16
16
|
actions: {
|
|
17
|
-
processCopyButtonItems: processCopyButtonItems(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)
|
|
17
|
+
processCopyButtonItems: processCopyButtonItems(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions, api)
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
20
|
};
|
|
@@ -3,6 +3,7 @@ import { browser } from '@atlaskit/editor-common/browser';
|
|
|
3
3
|
import { copyHTMLToClipboard, copyHTMLToClipboardPolyfill, getAnalyticsPayload } from '@atlaskit/editor-common/clipboard';
|
|
4
4
|
import { getSelectedNodeOrNodeParentByNodeType, toDOM } from '@atlaskit/editor-common/copy-button';
|
|
5
5
|
import { NodeSelection } from '@atlaskit/editor-prosemirror/state';
|
|
6
|
+
import { fg } from '@atlaskit/platform-feature-flags';
|
|
6
7
|
import { copyButtonPluginKey } from './plugin-key';
|
|
7
8
|
export function createToolbarCopyCommandForMark(markType, editorAnalyticsApi) {
|
|
8
9
|
function command(state, dispatch) {
|
|
@@ -80,7 +81,7 @@ export function removeMarkVisualFeedbackForCopyButtonCommand(state, dispatch) {
|
|
|
80
81
|
}
|
|
81
82
|
return true;
|
|
82
83
|
}
|
|
83
|
-
export var createToolbarCopyCommandForNode = function createToolbarCopyCommandForNode(nodeType, editorAnalyticsApi) {
|
|
84
|
+
export var createToolbarCopyCommandForNode = function createToolbarCopyCommandForNode(nodeType, editorAnalyticsApi, api, onClickMessage) {
|
|
84
85
|
return function (state, dispatch) {
|
|
85
86
|
var tr = state.tr,
|
|
86
87
|
schema = state.schema;
|
|
@@ -141,6 +142,20 @@ export var createToolbarCopyCommandForNode = function createToolbarCopyCommandFo
|
|
|
141
142
|
copyToClipboardTr.setMeta('scrollIntoView', false);
|
|
142
143
|
dispatch(copyToClipboardTr);
|
|
143
144
|
}
|
|
145
|
+
|
|
146
|
+
/**
|
|
147
|
+
* A11y-10275 This prop api drilled from the plugin all the way down to the usage
|
|
148
|
+
* because it's the safest way to ensure accessibilityUtils is available and not
|
|
149
|
+
* undefined.
|
|
150
|
+
*
|
|
151
|
+
* see thread https://atlassian.slack.com/archives/C02CDUS3SUS/p1744256326459569
|
|
152
|
+
*/
|
|
153
|
+
if (onClickMessage && fg('editor_a11y_aria_announcement_for_copied_status')) {
|
|
154
|
+
var _api$accessibilityUti;
|
|
155
|
+
api === null || api === void 0 || (_api$accessibilityUti = api.accessibilityUtils) === null || _api$accessibilityUti === void 0 || _api$accessibilityUti.actions.ariaNotify(onClickMessage, {
|
|
156
|
+
priority: 'important'
|
|
157
|
+
});
|
|
158
|
+
}
|
|
144
159
|
return true;
|
|
145
160
|
};
|
|
146
161
|
};
|
package/dist/esm/ui/toolbar.js
CHANGED
|
@@ -13,7 +13,7 @@ function isSeparator(item) {
|
|
|
13
13
|
function isNodeOptions(options) {
|
|
14
14
|
return 'nodeType' in options && options.nodeType !== undefined;
|
|
15
15
|
}
|
|
16
|
-
export function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi) {
|
|
16
|
+
export function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi, api) {
|
|
17
17
|
var state = options.state,
|
|
18
18
|
formatMessage = options.formatMessage,
|
|
19
19
|
onMouseEnter = options.onMouseEnter,
|
|
@@ -24,7 +24,7 @@ export function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi
|
|
|
24
24
|
var buttonActionHandlers;
|
|
25
25
|
if (isNodeOptions(options)) {
|
|
26
26
|
buttonActionHandlers = {
|
|
27
|
-
onClick: createToolbarCopyCommandForNode(options.nodeType, editorAnalyticsApi),
|
|
27
|
+
onClick: createToolbarCopyCommandForNode(options.nodeType, editorAnalyticsApi, api, formatMessage(commonMessages.copiedToClipboard)),
|
|
28
28
|
// Note for future changes: these two handlers should perform
|
|
29
29
|
// the same action.
|
|
30
30
|
onMouseEnter: onMouseEnter || (hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration(options.nodeType, true, 'ak-editor-selected-node')),
|
|
@@ -58,7 +58,7 @@ export function getCopyButtonConfig(options, hoverDecoration, editorAnalyticsApi
|
|
|
58
58
|
/**
|
|
59
59
|
* Process floatingToolbar items for copyButton
|
|
60
60
|
*/
|
|
61
|
-
export var processCopyButtonItems = function processCopyButtonItems(editorAnalyticsApi) {
|
|
61
|
+
export var processCopyButtonItems = function processCopyButtonItems(editorAnalyticsApi, api) {
|
|
62
62
|
return function (state) {
|
|
63
63
|
return function (items, hoverDecoration) {
|
|
64
64
|
return items.flatMap(function (item) {
|
|
@@ -68,7 +68,7 @@ export var processCopyButtonItems = function processCopyButtonItems(editorAnalyt
|
|
|
68
68
|
return [];
|
|
69
69
|
}
|
|
70
70
|
return item === null || item === void 0 ? void 0 : item.items.map(function (copyButtonItem) {
|
|
71
|
-
return isSeparator(copyButtonItem) ? copyButtonItem : getCopyButtonConfig(copyButtonItem, hoverDecoration, editorAnalyticsApi);
|
|
71
|
+
return isSeparator(copyButtonItem) ? copyButtonItem : getCopyButtonConfig(copyButtonItem, hoverDecoration, editorAnalyticsApi, api);
|
|
72
72
|
});
|
|
73
73
|
default:
|
|
74
74
|
return [item];
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
|
|
2
|
+
import type { AccessibilityUtilsPlugin } from '@atlaskit/editor-plugin-accessibility-utils';
|
|
2
3
|
import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics';
|
|
3
4
|
import type { MarkType } from '@atlaskit/editor-prosemirror/model';
|
|
4
5
|
declare const processCopyButtonItemsWithAnalytics: (state: import("prosemirror-state").EditorState) => (items: import("@atlaskit/editor-common/types").FloatingToolbarItem<import("@atlaskit/editor-common/types").Command>[], hoverDecoration: ((nodeType: import("prosemirror-model").NodeType | import("prosemirror-model").NodeType[], add: boolean, className?: string | undefined) => import("@atlaskit/editor-common/types").Command) | undefined) => import("@atlaskit/editor-common/types").FloatingToolbarItem<import("@atlaskit/editor-common/types").Command>[];
|
|
5
6
|
export type CopyButtonPlugin = NextEditorPlugin<'copyButton', {
|
|
6
|
-
dependencies: [OptionalPlugin<AnalyticsPlugin>];
|
|
7
|
+
dependencies: [OptionalPlugin<AnalyticsPlugin>, OptionalPlugin<AccessibilityUtilsPlugin>];
|
|
7
8
|
actions: {
|
|
8
9
|
processCopyButtonItems: typeof processCopyButtonItemsWithAnalytics;
|
|
9
10
|
};
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
|
|
2
|
-
import type { Command, CommandDispatch } from '@atlaskit/editor-common/types';
|
|
2
|
+
import type { ExtractInjectionAPI, Command, CommandDispatch } from '@atlaskit/editor-common/types';
|
|
3
3
|
import type { HoverDecorationHandler } from '@atlaskit/editor-plugin-decorations';
|
|
4
4
|
import type { MarkType, NodeType } from '@atlaskit/editor-prosemirror/model';
|
|
5
5
|
import type { EditorState } from '@atlaskit/editor-prosemirror/state';
|
|
6
|
+
import type { CopyButtonPlugin } from '../copyButtonPluginType';
|
|
6
7
|
export declare function createToolbarCopyCommandForMark(markType: MarkType, editorAnalyticsApi: EditorAnalyticsAPI | undefined): Command;
|
|
7
8
|
export declare function getProvideMarkVisualFeedbackForCopyButtonCommand(markType: MarkType): (state: EditorState, dispatch: CommandDispatch | undefined) => boolean;
|
|
8
9
|
export declare function removeMarkVisualFeedbackForCopyButtonCommand(state: EditorState, dispatch: CommandDispatch | undefined): boolean;
|
|
9
|
-
export declare const createToolbarCopyCommandForNode: (nodeType: NodeType | Array<NodeType>, editorAnalyticsApi: EditorAnalyticsAPI | undefined) => Command;
|
|
10
|
+
export declare const createToolbarCopyCommandForNode: (nodeType: NodeType | Array<NodeType>, editorAnalyticsApi: EditorAnalyticsAPI | undefined, api: ExtractInjectionAPI<CopyButtonPlugin> | undefined, onClickMessage?: string) => Command;
|
|
10
11
|
export declare const resetCopiedState: (nodeType: NodeType | Array<NodeType>, hoverDecoration: HoverDecorationHandler | undefined, onMouseLeave?: Command) => Command;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
|
|
2
|
-
import type { Command, FloatingToolbarButton, FloatingToolbarItem, MarkOptions, NodeOptions } from '@atlaskit/editor-common/types';
|
|
2
|
+
import type { ExtractInjectionAPI, Command, FloatingToolbarButton, FloatingToolbarItem, MarkOptions, NodeOptions } from '@atlaskit/editor-common/types';
|
|
3
3
|
import type { HoverDecorationHandler } from '@atlaskit/editor-plugin-decorations';
|
|
4
4
|
import type { EditorState } from '@atlaskit/editor-prosemirror/state';
|
|
5
|
-
|
|
5
|
+
import type { CopyButtonPlugin } from '../copyButtonPluginType';
|
|
6
|
+
export declare function getCopyButtonConfig(options: MarkOptions | NodeOptions, hoverDecoration: HoverDecorationHandler | undefined, editorAnalyticsApi: EditorAnalyticsAPI | undefined, api?: ExtractInjectionAPI<CopyButtonPlugin>): FloatingToolbarButton<Command>;
|
|
6
7
|
/**
|
|
7
8
|
* Process floatingToolbar items for copyButton
|
|
8
9
|
*/
|
|
9
|
-
export declare const processCopyButtonItems: (editorAnalyticsApi?: EditorAnalyticsAPI | undefined) => (state: EditorState) => (items: Array<FloatingToolbarItem<Command>>, hoverDecoration: HoverDecorationHandler | undefined) => Array<FloatingToolbarItem<Command>>;
|
|
10
|
+
export declare const processCopyButtonItems: (editorAnalyticsApi?: EditorAnalyticsAPI | undefined, api?: ExtractInjectionAPI<CopyButtonPlugin>) => (state: EditorState) => (items: Array<FloatingToolbarItem<Command>>, hoverDecoration: HoverDecorationHandler | undefined) => Array<FloatingToolbarItem<Command>>;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import type { NextEditorPlugin, OptionalPlugin } from '@atlaskit/editor-common/types';
|
|
2
|
+
import type { AccessibilityUtilsPlugin } from '@atlaskit/editor-plugin-accessibility-utils';
|
|
2
3
|
import type { AnalyticsPlugin } from '@atlaskit/editor-plugin-analytics';
|
|
3
4
|
import type { MarkType } from '@atlaskit/editor-prosemirror/model';
|
|
4
5
|
declare const processCopyButtonItemsWithAnalytics: (state: import("prosemirror-state").EditorState) => (items: import("@atlaskit/editor-common/types").FloatingToolbarItem<import("@atlaskit/editor-common/types").Command>[], hoverDecoration: ((nodeType: import("prosemirror-model").NodeType | import("prosemirror-model").NodeType[], add: boolean, className?: string | undefined) => import("@atlaskit/editor-common/types").Command) | undefined) => import("@atlaskit/editor-common/types").FloatingToolbarItem<import("@atlaskit/editor-common/types").Command>[];
|
|
5
6
|
export type CopyButtonPlugin = NextEditorPlugin<'copyButton', {
|
|
6
7
|
dependencies: [
|
|
7
|
-
OptionalPlugin<AnalyticsPlugin
|
|
8
|
+
OptionalPlugin<AnalyticsPlugin>,
|
|
9
|
+
OptionalPlugin<AccessibilityUtilsPlugin>
|
|
8
10
|
];
|
|
9
11
|
actions: {
|
|
10
12
|
processCopyButtonItems: typeof processCopyButtonItemsWithAnalytics;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
|
|
2
|
-
import type { Command, CommandDispatch } from '@atlaskit/editor-common/types';
|
|
2
|
+
import type { ExtractInjectionAPI, Command, CommandDispatch } from '@atlaskit/editor-common/types';
|
|
3
3
|
import type { HoverDecorationHandler } from '@atlaskit/editor-plugin-decorations';
|
|
4
4
|
import type { MarkType, NodeType } from '@atlaskit/editor-prosemirror/model';
|
|
5
5
|
import type { EditorState } from '@atlaskit/editor-prosemirror/state';
|
|
6
|
+
import type { CopyButtonPlugin } from '../copyButtonPluginType';
|
|
6
7
|
export declare function createToolbarCopyCommandForMark(markType: MarkType, editorAnalyticsApi: EditorAnalyticsAPI | undefined): Command;
|
|
7
8
|
export declare function getProvideMarkVisualFeedbackForCopyButtonCommand(markType: MarkType): (state: EditorState, dispatch: CommandDispatch | undefined) => boolean;
|
|
8
9
|
export declare function removeMarkVisualFeedbackForCopyButtonCommand(state: EditorState, dispatch: CommandDispatch | undefined): boolean;
|
|
9
|
-
export declare const createToolbarCopyCommandForNode: (nodeType: NodeType | Array<NodeType>, editorAnalyticsApi: EditorAnalyticsAPI | undefined) => Command;
|
|
10
|
+
export declare const createToolbarCopyCommandForNode: (nodeType: NodeType | Array<NodeType>, editorAnalyticsApi: EditorAnalyticsAPI | undefined, api: ExtractInjectionAPI<CopyButtonPlugin> | undefined, onClickMessage?: string) => Command;
|
|
10
11
|
export declare const resetCopiedState: (nodeType: NodeType | Array<NodeType>, hoverDecoration: HoverDecorationHandler | undefined, onMouseLeave?: Command) => Command;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import type { EditorAnalyticsAPI } from '@atlaskit/editor-common/analytics';
|
|
2
|
-
import type { Command, FloatingToolbarButton, FloatingToolbarItem, MarkOptions, NodeOptions } from '@atlaskit/editor-common/types';
|
|
2
|
+
import type { ExtractInjectionAPI, Command, FloatingToolbarButton, FloatingToolbarItem, MarkOptions, NodeOptions } from '@atlaskit/editor-common/types';
|
|
3
3
|
import type { HoverDecorationHandler } from '@atlaskit/editor-plugin-decorations';
|
|
4
4
|
import type { EditorState } from '@atlaskit/editor-prosemirror/state';
|
|
5
|
-
|
|
5
|
+
import type { CopyButtonPlugin } from '../copyButtonPluginType';
|
|
6
|
+
export declare function getCopyButtonConfig(options: MarkOptions | NodeOptions, hoverDecoration: HoverDecorationHandler | undefined, editorAnalyticsApi: EditorAnalyticsAPI | undefined, api?: ExtractInjectionAPI<CopyButtonPlugin>): FloatingToolbarButton<Command>;
|
|
6
7
|
/**
|
|
7
8
|
* Process floatingToolbar items for copyButton
|
|
8
9
|
*/
|
|
9
|
-
export declare const processCopyButtonItems: (editorAnalyticsApi?: EditorAnalyticsAPI | undefined) => (state: EditorState) => (items: Array<FloatingToolbarItem<Command>>, hoverDecoration: HoverDecorationHandler | undefined) => Array<FloatingToolbarItem<Command>>;
|
|
10
|
+
export declare const processCopyButtonItems: (editorAnalyticsApi?: EditorAnalyticsAPI | undefined, api?: ExtractInjectionAPI<CopyButtonPlugin>) => (state: EditorState) => (items: Array<FloatingToolbarItem<Command>>, hoverDecoration: HoverDecorationHandler | undefined) => Array<FloatingToolbarItem<Command>>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@atlaskit/editor-plugin-copy-button",
|
|
3
|
-
"version": "2.0.
|
|
3
|
+
"version": "2.0.6",
|
|
4
4
|
"description": "editor-plugin-copy-button for @atlaskit/editor-core",
|
|
5
5
|
"author": "Atlassian Pty Ltd",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -31,11 +31,13 @@
|
|
|
31
31
|
".": "./src/index.ts"
|
|
32
32
|
},
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@atlaskit/editor-common": "^
|
|
34
|
+
"@atlaskit/editor-common": "^104.0.0",
|
|
35
|
+
"@atlaskit/editor-plugin-accessibility-utils": "^2.0.0",
|
|
35
36
|
"@atlaskit/editor-plugin-analytics": "^2.2.0",
|
|
36
37
|
"@atlaskit/editor-plugin-decorations": "^2.0.0",
|
|
37
38
|
"@atlaskit/editor-prosemirror": "7.0.0",
|
|
38
|
-
"@atlaskit/icon": "^25.
|
|
39
|
+
"@atlaskit/icon": "^25.6.0",
|
|
40
|
+
"@atlaskit/platform-feature-flags": "^1.1.0",
|
|
39
41
|
"@babel/runtime": "^7.0.0"
|
|
40
42
|
},
|
|
41
43
|
"peerDependencies": {
|
|
@@ -82,5 +84,10 @@
|
|
|
82
84
|
"import-no-extraneous-disable-for-examples-and-docs"
|
|
83
85
|
]
|
|
84
86
|
}
|
|
87
|
+
},
|
|
88
|
+
"platform-feature-flags": {
|
|
89
|
+
"editor_a11y_aria_announcement_for_copied_status": {
|
|
90
|
+
"type": "boolean"
|
|
91
|
+
}
|
|
85
92
|
}
|
|
86
93
|
}
|