@atlaskit/editor-plugin-copy-button 2.0.3 → 2.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 CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/editor-plugin-copy-button
2
2
 
3
+ ## 2.0.5
4
+
5
+ ### Patch Changes
6
+
7
+ - [#138444](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/138444)
8
+ [`344f769b251c6`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/344f769b251c6) -
9
+ [A11Y-10275] Copied status now works for screen users"
10
+ - Updated dependencies
11
+
12
+ ## 2.0.4
13
+
14
+ ### Patch Changes
15
+
16
+ - Updated dependencies
17
+
3
18
  ## 2.0.3
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
  };
@@ -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
  };
@@ -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
- export declare function getCopyButtonConfig(options: MarkOptions | NodeOptions, hoverDecoration: HoverDecorationHandler | undefined, editorAnalyticsApi: EditorAnalyticsAPI | undefined): FloatingToolbarButton<Command>;
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
- export declare function getCopyButtonConfig(options: MarkOptions | NodeOptions, hoverDecoration: HoverDecorationHandler | undefined, editorAnalyticsApi: EditorAnalyticsAPI | undefined): FloatingToolbarButton<Command>;
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",
3
+ "version": "2.0.5",
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": "^102.4.0",
35
- "@atlaskit/editor-plugin-analytics": "^2.1.0",
34
+ "@atlaskit/editor-common": "^103.4.0",
35
+ "@atlaskit/editor-plugin-accessibility-utils": "^2.0.0",
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.0.0",
39
+ "@atlaskit/icon": "^25.5.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
  }