@atlaskit/editor-plugin-floating-toolbar 1.4.8 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # @atlaskit/editor-plugin-floating-toolbar
2
2
 
3
+ ## 1.6.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [#108718](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/108718)
8
+ [`1aad4f15416c2`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1aad4f15416c2) -
9
+ [EDF-737] Add content warning to the floating toolbar of the ai panels, extended extensions
10
+ floating toolbar API to allow custom JSX
11
+
12
+ ### Patch Changes
13
+
14
+ - Updated dependencies
15
+
16
+ ## 1.5.0
17
+
18
+ ### Minor Changes
19
+
20
+ - [#108458](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/108458)
21
+ [`66522b500303c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/66522b500303c) -
22
+ [ED-23469] Add featureFlag plugin as optional plugin dependency and switch to read
23
+ platform_editor_element_drag_and_drop gate value
24
+
25
+ ### Patch Changes
26
+
27
+ - Updated dependencies
28
+
3
29
  ## 1.4.8
4
30
 
5
31
  ### Patch Changes
@@ -18,7 +18,6 @@ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
18
18
  var _ui = require("@atlaskit/editor-common/ui");
19
19
  var _state = require("@atlaskit/editor-prosemirror/state");
20
20
  var _utils = require("@atlaskit/editor-prosemirror/utils");
21
- var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
22
21
  var _forceFocus = _interopRequireWildcard(require("./pm-plugins/force-focus"));
23
22
  var _commands = require("./pm-plugins/toolbar-data/commands");
24
23
  var _plugin = require("./pm-plugins/toolbar-data/plugin");
@@ -189,7 +188,7 @@ var floatingToolbarPlugin = exports.floatingToolbarPlugin = function floatingToo
189
188
  };
190
189
  };
191
190
  function ContentComponent(_ref5) {
192
- var _configWithNodeInfo$c, _configWithNodeInfo$c2, _pluginInjectionApi$b, _pluginInjectionApi$c, _pluginInjectionApi$d;
191
+ var _configWithNodeInfo$c, _configWithNodeInfo$c2, _pluginInjectionApi$c, _pluginInjectionApi$d;
193
192
  var pluginInjectionApi = _ref5.pluginInjectionApi,
194
193
  editorView = _ref5.editorView,
195
194
  popupsMountPoint = _ref5.popupsMountPoint,
@@ -197,17 +196,19 @@ function ContentComponent(_ref5) {
197
196
  popupsScrollableElement = _ref5.popupsScrollableElement,
198
197
  providerFactory = _ref5.providerFactory,
199
198
  dispatchAnalyticsEvent = _ref5.dispatchAnalyticsEvent;
200
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['floatingToolbar', 'editorDisabled', 'editorViewMode']),
199
+ var _useSharedPluginState = (0, _hooks.useSharedPluginState)(pluginInjectionApi, ['floatingToolbar', 'editorDisabled', 'editorViewMode', 'featureFlags', 'blockControls']),
201
200
  floatingToolbarState = _useSharedPluginState.floatingToolbarState,
202
201
  editorDisabledState = _useSharedPluginState.editorDisabledState,
203
- editorViewModeState = _useSharedPluginState.editorViewModeState;
202
+ editorViewModeState = _useSharedPluginState.editorViewModeState,
203
+ featureFlagsState = _useSharedPluginState.featureFlagsState,
204
+ blockControlsState = _useSharedPluginState.blockControlsState;
204
205
  var _ref6 = floatingToolbarState !== null && floatingToolbarState !== void 0 ? floatingToolbarState : {},
205
206
  configWithNodeInfo = _ref6.configWithNodeInfo,
206
207
  floatingToolbarData = _ref6.floatingToolbarData;
207
208
  if (!configWithNodeInfo || !configWithNodeInfo.config || typeof ((_configWithNodeInfo$c = configWithNodeInfo.config) === null || _configWithNodeInfo$c === void 0 ? void 0 : _configWithNodeInfo$c.visible) !== 'undefined' && !((_configWithNodeInfo$c2 = configWithNodeInfo.config) !== null && _configWithNodeInfo$c2 !== void 0 && _configWithNodeInfo$c2.visible)) {
208
209
  return null;
209
210
  }
210
- if ((0, _platformFeatureFlags.getBooleanFF)('platform.editor.drag-and-drop_wmv9t') && pluginInjectionApi !== null && pluginInjectionApi !== void 0 && (_pluginInjectionApi$b = pluginInjectionApi.blockControls) !== null && _pluginInjectionApi$b !== void 0 && (_pluginInjectionApi$b = _pluginInjectionApi$b.sharedState) !== null && _pluginInjectionApi$b !== void 0 && (_pluginInjectionApi$b = _pluginInjectionApi$b.currentState()) !== null && _pluginInjectionApi$b !== void 0 && _pluginInjectionApi$b.isDragging) {
211
+ if (featureFlagsState !== null && featureFlagsState !== void 0 && featureFlagsState.elementDragAndDrop && blockControlsState !== null && blockControlsState !== void 0 && blockControlsState.isDragging) {
211
212
  return null;
212
213
  }
213
214
  var config = configWithNodeInfo.config,
@@ -34,13 +34,14 @@ var spacerStyles = (0, _react2.css)({
34
34
 
35
35
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
36
36
  var menuContainerStyles = (0, _react2.css)({
37
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
37
38
  minWidth: "".concat(menuItemDimensions.width, "px"),
38
39
  // temporary solution to retain spacing defined by @atlaskit/Item
39
- // eslint-disable-next-line @atlaskit/design-system/no-nested-styles
40
+ // eslint-disable-next-line @atlaskit/design-system/no-nested-styles, @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
40
41
  '& button': {
41
42
  minHeight: "var(--ds-space-400, 32px)",
42
43
  padding: "var(--ds-space-100, 8px)".concat(" ", "var(--ds-space-100, 8px)", " 7px"),
43
- // eslint-disable-next-line @atlaskit/design-system/no-nested-styles
44
+ // eslint-disable-next-line @atlaskit/design-system/no-nested-styles, @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
44
45
  '& > [data-item-elem-before]': {
45
46
  marginRight: "var(--ds-space-050, 4px)"
46
47
  }
@@ -84,14 +84,27 @@ var ExtensionButton = function ExtensionButton(props) {
84
84
  var targetNodeAdf = (0, _utils.nodeToJSON)(node);
85
85
  item.action(targetNodeAdf, extensionApi);
86
86
  };
87
+ var getAriaLabel = function getAriaLabel() {
88
+ if (item.ariaLabel) {
89
+ return item.ariaLabel;
90
+ }
91
+ if (typeof item.tooltip === 'string') {
92
+ return item.tooltip;
93
+ }
94
+ if (item.label) {
95
+ return item.label;
96
+ }
97
+ return '';
98
+ };
87
99
  return /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarButton, {
88
100
  title: item.label,
89
- ariaLabel: item.tooltip,
101
+ ariaLabel: getAriaLabel(),
90
102
  icon: ButtonIcon ? /*#__PURE__*/_react.default.createElement(ButtonIcon, {
91
103
  label: item.label || ''
92
104
  }) : undefined,
93
105
  onClick: onClick,
94
106
  tooltipContent: item.tooltip,
107
+ tooltipStyle: item.tooltipStyle,
95
108
  disabled: item.disabled
96
109
  }, item.label);
97
110
  };
@@ -66,7 +66,7 @@ var TextField = exports.default = /*#__PURE__*/function (_Component) {
66
66
  return (0, _react2.jsx)("form", {
67
67
  onSubmit: this.handleSubmit
68
68
  }, (0, _react2.jsx)("input", {
69
- // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
69
+ // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
70
70
  css: _ui.panelTextInput,
71
71
  value: this.state.text,
72
72
  onChange: this.handleChange,
@@ -309,43 +309,79 @@ var toolbarContainer = function toolbarContainer(scrollable, hasSelect, firstEle
309
309
  display: 'flex',
310
310
  lineHeight: 1,
311
311
  boxSizing: 'border-box',
312
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
312
313
  '& > div > div': {
313
314
  alignItems: 'center'
314
315
  }
315
- }, scrollable ? (0, _react2.css)(hasSelect ? (0, _react2.css)({
316
+ },
317
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
318
+ scrollable ?
319
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
320
+ (0, _react2.css)(
321
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
322
+ hasSelect ?
323
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
324
+ (0, _react2.css)({
316
325
  height: '40px'
317
- }) : (0, _react2.css)({
326
+ }) :
327
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
328
+ (0, _react2.css)({
318
329
  height: '32px'
319
330
  }), {
320
331
  overflow: 'hidden'
321
- }) : (0, _react2.css)({
332
+ }) :
333
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
334
+ (0, _react2.css)({
322
335
  padding: "var(--ds-space-050, 4px)".concat(" ", "var(--ds-space-100, 8px)")
323
- }, firstElementIsSelect && (0, _react2.css)({
336
+ },
337
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
338
+ firstElementIsSelect &&
339
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
340
+ (0, _react2.css)({
324
341
  paddingLeft: "var(--ds-space-050, 4px)"
325
342
  })));
326
343
  };
327
344
 
328
345
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
329
346
  var toolbarOverflow = function toolbarOverflow(scrollable, scrollDisabled, firstElementIsSelect) {
330
- return (0, _react2.css)(scrollable ? (0, _react2.css)(scrollDisabled ? (0, _react2.css)({
347
+ return (0, _react2.css)(
348
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
349
+ scrollable ?
350
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
351
+ (0, _react2.css)(
352
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
353
+ scrollDisabled ?
354
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
355
+ (0, _react2.css)({
331
356
  overflow: 'hidden'
332
- }) : (0, _react2.css)({
357
+ }) :
358
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
359
+ (0, _react2.css)({
333
360
  overflowX: 'auto',
334
361
  overflowY: 'hidden'
335
362
  }), {
336
363
  WebkitOverflowScrolling: 'touch',
337
364
  padding: "var(--ds-space-050, 4px)".concat(" 0 ", "var(--ds-space-600, 48px)"),
365
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
338
366
  '> div': {
339
- '> div:first-child': firstElementIsSelect ? (0, _react2.css)({
367
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
368
+ '> div:first-child': firstElementIsSelect ?
369
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
370
+ (0, _react2.css)({
340
371
  marginLeft: "var(--ds-space-050, 4px)"
341
- }) : (0, _react2.css)({
372
+ }) :
373
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
374
+ (0, _react2.css)({
342
375
  marginLeft: "var(--ds-space-100, 8px)"
343
376
  }),
377
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
344
378
  '> div:last-child': {
345
379
  marginRight: "var(--ds-space-100, 8px)"
346
380
  }
347
381
  }
348
- }) : (0, _react2.css)({
382
+ }) :
383
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
384
+ (0, _react2.css)({
349
385
  display: 'flex'
350
386
  }));
351
387
  };
@@ -8,7 +8,6 @@ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
8
8
  import { Popup } from '@atlaskit/editor-common/ui';
9
9
  import { AllSelection, PluginKey } from '@atlaskit/editor-prosemirror/state';
10
10
  import { findDomRefAtPos, findSelectedNodeOfType } from '@atlaskit/editor-prosemirror/utils';
11
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
12
11
  import forceFocusPlugin, { forceFocusSelector } from './pm-plugins/force-focus';
13
12
  import { hideConfirmDialog } from './pm-plugins/toolbar-data/commands';
14
13
  import { createPlugin as floatingToolbarDataPluginFactory } from './pm-plugins/toolbar-data/plugin';
@@ -183,12 +182,14 @@ export function ContentComponent({
183
182
  providerFactory,
184
183
  dispatchAnalyticsEvent
185
184
  }) {
186
- var _configWithNodeInfo$c, _configWithNodeInfo$c2, _pluginInjectionApi$b, _pluginInjectionApi$b2, _pluginInjectionApi$b3, _pluginInjectionApi$c, _pluginInjectionApi$d;
185
+ var _configWithNodeInfo$c, _configWithNodeInfo$c2, _pluginInjectionApi$c, _pluginInjectionApi$d;
187
186
  const {
188
187
  floatingToolbarState,
189
188
  editorDisabledState,
190
- editorViewModeState
191
- } = useSharedPluginState(pluginInjectionApi, ['floatingToolbar', 'editorDisabled', 'editorViewMode']);
189
+ editorViewModeState,
190
+ featureFlagsState,
191
+ blockControlsState
192
+ } = useSharedPluginState(pluginInjectionApi, ['floatingToolbar', 'editorDisabled', 'editorViewMode', 'featureFlags', 'blockControls']);
192
193
  const {
193
194
  configWithNodeInfo,
194
195
  floatingToolbarData
@@ -196,7 +197,7 @@ export function ContentComponent({
196
197
  if (!configWithNodeInfo || !configWithNodeInfo.config || typeof ((_configWithNodeInfo$c = configWithNodeInfo.config) === null || _configWithNodeInfo$c === void 0 ? void 0 : _configWithNodeInfo$c.visible) !== 'undefined' && !((_configWithNodeInfo$c2 = configWithNodeInfo.config) !== null && _configWithNodeInfo$c2 !== void 0 && _configWithNodeInfo$c2.visible)) {
197
198
  return null;
198
199
  }
199
- if (getBooleanFF('platform.editor.drag-and-drop_wmv9t') && pluginInjectionApi !== null && pluginInjectionApi !== void 0 && (_pluginInjectionApi$b = pluginInjectionApi.blockControls) !== null && _pluginInjectionApi$b !== void 0 && (_pluginInjectionApi$b2 = _pluginInjectionApi$b.sharedState) !== null && _pluginInjectionApi$b2 !== void 0 && (_pluginInjectionApi$b3 = _pluginInjectionApi$b2.currentState()) !== null && _pluginInjectionApi$b3 !== void 0 && _pluginInjectionApi$b3.isDragging) {
200
+ if (featureFlagsState !== null && featureFlagsState !== void 0 && featureFlagsState.elementDragAndDrop && blockControlsState !== null && blockControlsState !== void 0 && blockControlsState.isDragging) {
200
201
  return null;
201
202
  }
202
203
  const {
@@ -24,13 +24,14 @@ const spacerStyles = css({
24
24
 
25
25
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
26
26
  const menuContainerStyles = css({
27
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
27
28
  minWidth: `${menuItemDimensions.width}px`,
28
29
  // temporary solution to retain spacing defined by @atlaskit/Item
29
- // eslint-disable-next-line @atlaskit/design-system/no-nested-styles
30
+ // eslint-disable-next-line @atlaskit/design-system/no-nested-styles, @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
30
31
  '& button': {
31
32
  minHeight: "var(--ds-space-400, 32px)",
32
33
  padding: `${"var(--ds-space-100, 8px)"} ${"var(--ds-space-100, 8px)"} 7px`,
33
- // eslint-disable-next-line @atlaskit/design-system/no-nested-styles
34
+ // eslint-disable-next-line @atlaskit/design-system/no-nested-styles, @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
34
35
  '& > [data-item-elem-before]': {
35
36
  marginRight: "var(--ds-space-050, 4px)"
36
37
  }
@@ -33,14 +33,27 @@ const ExtensionButton = props => {
33
33
  const targetNodeAdf = nodeToJSON(node);
34
34
  item.action(targetNodeAdf, extensionApi);
35
35
  };
36
+ const getAriaLabel = () => {
37
+ if (item.ariaLabel) {
38
+ return item.ariaLabel;
39
+ }
40
+ if (typeof item.tooltip === 'string') {
41
+ return item.tooltip;
42
+ }
43
+ if (item.label) {
44
+ return item.label;
45
+ }
46
+ return '';
47
+ };
36
48
  return /*#__PURE__*/React.createElement(Button, {
37
49
  title: item.label,
38
- ariaLabel: item.tooltip,
50
+ ariaLabel: getAriaLabel(),
39
51
  icon: ButtonIcon ? /*#__PURE__*/React.createElement(ButtonIcon, {
40
52
  label: item.label || ''
41
53
  }) : undefined,
42
54
  onClick: onClick,
43
55
  tooltipContent: item.tooltip,
56
+ tooltipStyle: item.tooltipStyle,
44
57
  disabled: item.disabled
45
58
  }, item.label);
46
59
  };
@@ -42,7 +42,7 @@ export default class TextField extends Component {
42
42
  return jsx("form", {
43
43
  onSubmit: this.handleSubmit
44
44
  }, jsx("input", {
45
- // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
45
+ // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
46
46
  css: panelTextInput,
47
47
  value: this.state.text,
48
48
  onChange: this.handleChange,
@@ -274,41 +274,77 @@ const toolbarContainer = (scrollable, hasSelect, firstElementIsSelect) => css({
274
274
  display: 'flex',
275
275
  lineHeight: 1,
276
276
  boxSizing: 'border-box',
277
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
277
278
  '& > div > div': {
278
279
  alignItems: 'center'
279
280
  }
280
- }, scrollable ? css(hasSelect ? css({
281
+ },
282
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
283
+ scrollable ?
284
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
285
+ css(
286
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
287
+ hasSelect ?
288
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
289
+ css({
281
290
  height: '40px'
282
- }) : css({
291
+ }) :
292
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
293
+ css({
283
294
  height: '32px'
284
295
  }), {
285
296
  overflow: 'hidden'
286
- }) : css({
297
+ }) :
298
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
299
+ css({
287
300
  padding: `${"var(--ds-space-050, 4px)"} ${"var(--ds-space-100, 8px)"}`
288
- }, firstElementIsSelect && css({
301
+ },
302
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
303
+ firstElementIsSelect &&
304
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
305
+ css({
289
306
  paddingLeft: "var(--ds-space-050, 4px)"
290
307
  })));
291
308
 
292
309
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
293
- const toolbarOverflow = (scrollable, scrollDisabled, firstElementIsSelect) => css(scrollable ? css(scrollDisabled ? css({
310
+ const toolbarOverflow = (scrollable, scrollDisabled, firstElementIsSelect) => css(
311
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
312
+ scrollable ?
313
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
314
+ css(
315
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
316
+ scrollDisabled ?
317
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
318
+ css({
294
319
  overflow: 'hidden'
295
- }) : css({
320
+ }) :
321
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
322
+ css({
296
323
  overflowX: 'auto',
297
324
  overflowY: 'hidden'
298
325
  }), {
299
326
  WebkitOverflowScrolling: 'touch',
300
327
  padding: `${"var(--ds-space-050, 4px)"} 0 ${"var(--ds-space-600, 48px)"}`,
328
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
301
329
  '> div': {
302
- '> div:first-child': firstElementIsSelect ? css({
330
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
331
+ '> div:first-child': firstElementIsSelect ?
332
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
333
+ css({
303
334
  marginLeft: "var(--ds-space-050, 4px)"
304
- }) : css({
335
+ }) :
336
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
337
+ css({
305
338
  marginLeft: "var(--ds-space-100, 8px)"
306
339
  }),
340
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
307
341
  '> div:last-child': {
308
342
  marginRight: "var(--ds-space-100, 8px)"
309
343
  }
310
344
  }
311
- }) : css({
345
+ }) :
346
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
347
+ css({
312
348
  display: 'flex'
313
349
  }));
314
350
  // eslint-disable-next-line @repo/internal/react/no-class-components
@@ -11,7 +11,6 @@ import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
11
11
  import { Popup } from '@atlaskit/editor-common/ui';
12
12
  import { AllSelection, PluginKey } from '@atlaskit/editor-prosemirror/state';
13
13
  import { findDomRefAtPos, findSelectedNodeOfType } from '@atlaskit/editor-prosemirror/utils';
14
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
15
14
  import forceFocusPlugin, { forceFocusSelector } from './pm-plugins/force-focus';
16
15
  import { hideConfirmDialog } from './pm-plugins/toolbar-data/commands';
17
16
  import { createPlugin as floatingToolbarDataPluginFactory } from './pm-plugins/toolbar-data/plugin';
@@ -179,7 +178,7 @@ export var floatingToolbarPlugin = function floatingToolbarPlugin(_ref) {
179
178
  };
180
179
  };
181
180
  export function ContentComponent(_ref5) {
182
- var _configWithNodeInfo$c, _configWithNodeInfo$c2, _pluginInjectionApi$b, _pluginInjectionApi$c, _pluginInjectionApi$d;
181
+ var _configWithNodeInfo$c, _configWithNodeInfo$c2, _pluginInjectionApi$c, _pluginInjectionApi$d;
183
182
  var pluginInjectionApi = _ref5.pluginInjectionApi,
184
183
  editorView = _ref5.editorView,
185
184
  popupsMountPoint = _ref5.popupsMountPoint,
@@ -187,17 +186,19 @@ export function ContentComponent(_ref5) {
187
186
  popupsScrollableElement = _ref5.popupsScrollableElement,
188
187
  providerFactory = _ref5.providerFactory,
189
188
  dispatchAnalyticsEvent = _ref5.dispatchAnalyticsEvent;
190
- var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['floatingToolbar', 'editorDisabled', 'editorViewMode']),
189
+ var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['floatingToolbar', 'editorDisabled', 'editorViewMode', 'featureFlags', 'blockControls']),
191
190
  floatingToolbarState = _useSharedPluginState.floatingToolbarState,
192
191
  editorDisabledState = _useSharedPluginState.editorDisabledState,
193
- editorViewModeState = _useSharedPluginState.editorViewModeState;
192
+ editorViewModeState = _useSharedPluginState.editorViewModeState,
193
+ featureFlagsState = _useSharedPluginState.featureFlagsState,
194
+ blockControlsState = _useSharedPluginState.blockControlsState;
194
195
  var _ref6 = floatingToolbarState !== null && floatingToolbarState !== void 0 ? floatingToolbarState : {},
195
196
  configWithNodeInfo = _ref6.configWithNodeInfo,
196
197
  floatingToolbarData = _ref6.floatingToolbarData;
197
198
  if (!configWithNodeInfo || !configWithNodeInfo.config || typeof ((_configWithNodeInfo$c = configWithNodeInfo.config) === null || _configWithNodeInfo$c === void 0 ? void 0 : _configWithNodeInfo$c.visible) !== 'undefined' && !((_configWithNodeInfo$c2 = configWithNodeInfo.config) !== null && _configWithNodeInfo$c2 !== void 0 && _configWithNodeInfo$c2.visible)) {
198
199
  return null;
199
200
  }
200
- if (getBooleanFF('platform.editor.drag-and-drop_wmv9t') && pluginInjectionApi !== null && pluginInjectionApi !== void 0 && (_pluginInjectionApi$b = pluginInjectionApi.blockControls) !== null && _pluginInjectionApi$b !== void 0 && (_pluginInjectionApi$b = _pluginInjectionApi$b.sharedState) !== null && _pluginInjectionApi$b !== void 0 && (_pluginInjectionApi$b = _pluginInjectionApi$b.currentState()) !== null && _pluginInjectionApi$b !== void 0 && _pluginInjectionApi$b.isDragging) {
201
+ if (featureFlagsState !== null && featureFlagsState !== void 0 && featureFlagsState.elementDragAndDrop && blockControlsState !== null && blockControlsState !== void 0 && blockControlsState.isDragging) {
201
202
  return null;
202
203
  }
203
204
  var config = configWithNodeInfo.config,
@@ -25,13 +25,14 @@ var spacerStyles = css({
25
25
 
26
26
  // eslint-disable-next-line @atlaskit/design-system/ensure-design-token-usage/preview
27
27
  var menuContainerStyles = css({
28
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
28
29
  minWidth: "".concat(menuItemDimensions.width, "px"),
29
30
  // temporary solution to retain spacing defined by @atlaskit/Item
30
- // eslint-disable-next-line @atlaskit/design-system/no-nested-styles
31
+ // eslint-disable-next-line @atlaskit/design-system/no-nested-styles, @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
31
32
  '& button': {
32
33
  minHeight: "var(--ds-space-400, 32px)",
33
34
  padding: "var(--ds-space-100, 8px)".concat(" ", "var(--ds-space-100, 8px)", " 7px"),
34
- // eslint-disable-next-line @atlaskit/design-system/no-nested-styles
35
+ // eslint-disable-next-line @atlaskit/design-system/no-nested-styles, @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
35
36
  '& > [data-item-elem-before]': {
36
37
  marginRight: "var(--ds-space-050, 4px)"
37
38
  }
@@ -74,14 +74,27 @@ var ExtensionButton = function ExtensionButton(props) {
74
74
  var targetNodeAdf = nodeToJSON(node);
75
75
  item.action(targetNodeAdf, extensionApi);
76
76
  };
77
+ var getAriaLabel = function getAriaLabel() {
78
+ if (item.ariaLabel) {
79
+ return item.ariaLabel;
80
+ }
81
+ if (typeof item.tooltip === 'string') {
82
+ return item.tooltip;
83
+ }
84
+ if (item.label) {
85
+ return item.label;
86
+ }
87
+ return '';
88
+ };
77
89
  return /*#__PURE__*/React.createElement(Button, {
78
90
  title: item.label,
79
- ariaLabel: item.tooltip,
91
+ ariaLabel: getAriaLabel(),
80
92
  icon: ButtonIcon ? /*#__PURE__*/React.createElement(ButtonIcon, {
81
93
  label: item.label || ''
82
94
  }) : undefined,
83
95
  onClick: onClick,
84
96
  tooltipContent: item.tooltip,
97
+ tooltipStyle: item.tooltipStyle,
85
98
  disabled: item.disabled
86
99
  }, item.label);
87
100
  };
@@ -57,7 +57,7 @@ var TextField = /*#__PURE__*/function (_Component) {
57
57
  return jsx("form", {
58
58
  onSubmit: this.handleSubmit
59
59
  }, jsx("input", {
60
- // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
60
+ // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
61
61
  css: panelTextInput,
62
62
  value: this.state.text,
63
63
  onChange: this.handleChange,
@@ -300,43 +300,79 @@ var toolbarContainer = function toolbarContainer(scrollable, hasSelect, firstEle
300
300
  display: 'flex',
301
301
  lineHeight: 1,
302
302
  boxSizing: 'border-box',
303
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
303
304
  '& > div > div': {
304
305
  alignItems: 'center'
305
306
  }
306
- }, scrollable ? css(hasSelect ? css({
307
+ },
308
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
309
+ scrollable ?
310
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
311
+ css(
312
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
313
+ hasSelect ?
314
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
315
+ css({
307
316
  height: '40px'
308
- }) : css({
317
+ }) :
318
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
319
+ css({
309
320
  height: '32px'
310
321
  }), {
311
322
  overflow: 'hidden'
312
- }) : css({
323
+ }) :
324
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
325
+ css({
313
326
  padding: "var(--ds-space-050, 4px)".concat(" ", "var(--ds-space-100, 8px)")
314
- }, firstElementIsSelect && css({
327
+ },
328
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
329
+ firstElementIsSelect &&
330
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
331
+ css({
315
332
  paddingLeft: "var(--ds-space-050, 4px)"
316
333
  })));
317
334
  };
318
335
 
319
336
  // eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
320
337
  var toolbarOverflow = function toolbarOverflow(scrollable, scrollDisabled, firstElementIsSelect) {
321
- return css(scrollable ? css(scrollDisabled ? css({
338
+ return css(
339
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
340
+ scrollable ?
341
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
342
+ css(
343
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
344
+ scrollDisabled ?
345
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
346
+ css({
322
347
  overflow: 'hidden'
323
- }) : css({
348
+ }) :
349
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
350
+ css({
324
351
  overflowX: 'auto',
325
352
  overflowY: 'hidden'
326
353
  }), {
327
354
  WebkitOverflowScrolling: 'touch',
328
355
  padding: "var(--ds-space-050, 4px)".concat(" 0 ", "var(--ds-space-600, 48px)"),
356
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors -- Ignored via go/DSP-18766
329
357
  '> div': {
330
- '> div:first-child': firstElementIsSelect ? css({
358
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-unsafe-values -- Ignored via go/DSP-18766
359
+ '> div:first-child': firstElementIsSelect ?
360
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
361
+ css({
331
362
  marginLeft: "var(--ds-space-050, 4px)"
332
- }) : css({
363
+ }) :
364
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
365
+ css({
333
366
  marginLeft: "var(--ds-space-100, 8px)"
334
367
  }),
368
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-nested-selectors, @atlaskit/ui-styling-standard/no-unsafe-selectors -- Ignored via go/DSP-18766
335
369
  '> div:last-child': {
336
370
  marginRight: "var(--ds-space-100, 8px)"
337
371
  }
338
372
  }
339
- }) : css({
373
+ }) :
374
+ // eslint-disable-next-line @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
375
+ css({
340
376
  display: 'flex'
341
377
  }));
342
378
  };
@@ -6,6 +6,7 @@ import type { DecorationsPlugin } from '@atlaskit/editor-plugin-decorations';
6
6
  import type { EditorDisabledPlugin } from '@atlaskit/editor-plugin-editor-disabled';
7
7
  import type { EditorViewModePlugin } from '@atlaskit/editor-plugin-editor-viewmode';
8
8
  import type { ExtensionPlugin } from '@atlaskit/editor-plugin-extension';
9
+ import type { FeatureFlagsPlugin } from '@atlaskit/editor-plugin-feature-flags';
9
10
  import type { Node } from '@atlaskit/editor-prosemirror/model';
10
11
  import type { EditorState, Transaction } from '@atlaskit/editor-prosemirror/state';
11
12
  export type ConfigWithNodeInfo = {
@@ -32,7 +33,8 @@ export type FloatingToolbarPlugin = NextEditorPlugin<'floatingToolbar', {
32
33
  CopyButtonPlugin,
33
34
  EditorDisabledPlugin,
34
35
  OptionalPlugin<EditorViewModePlugin>,
35
- OptionalPlugin<BlockControlsPlugin>
36
+ OptionalPlugin<BlockControlsPlugin>,
37
+ OptionalPlugin<FeatureFlagsPlugin>
36
38
  ];
37
39
  actions: {
38
40
  forceFocusSelector: ForceFocusSelector;
@@ -6,6 +6,7 @@ import type { DecorationsPlugin } from '@atlaskit/editor-plugin-decorations';
6
6
  import type { EditorDisabledPlugin } from '@atlaskit/editor-plugin-editor-disabled';
7
7
  import type { EditorViewModePlugin } from '@atlaskit/editor-plugin-editor-viewmode';
8
8
  import type { ExtensionPlugin } from '@atlaskit/editor-plugin-extension';
9
+ import type { FeatureFlagsPlugin } from '@atlaskit/editor-plugin-feature-flags';
9
10
  import type { Node } from '@atlaskit/editor-prosemirror/model';
10
11
  import type { EditorState, Transaction } from '@atlaskit/editor-prosemirror/state';
11
12
  export type ConfigWithNodeInfo = {
@@ -32,7 +33,8 @@ export type FloatingToolbarPlugin = NextEditorPlugin<'floatingToolbar', {
32
33
  CopyButtonPlugin,
33
34
  EditorDisabledPlugin,
34
35
  OptionalPlugin<EditorViewModePlugin>,
35
- OptionalPlugin<BlockControlsPlugin>
36
+ OptionalPlugin<BlockControlsPlugin>,
37
+ OptionalPlugin<FeatureFlagsPlugin>
36
38
  ];
37
39
  actions: {
38
40
  forceFocusSelector: ForceFocusSelector;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-plugin-floating-toolbar",
3
- "version": "1.4.8",
3
+ "version": "1.6.0",
4
4
  "description": "Floating toolbar plugin for @atlaskit/editor-core",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",
@@ -27,7 +27,7 @@
27
27
  "@atlaskit/adf-utils": "^19.2.0",
28
28
  "@atlaskit/button": "^17.17.0",
29
29
  "@atlaskit/checkbox": "^13.4.0",
30
- "@atlaskit/editor-common": "^82.0.0",
30
+ "@atlaskit/editor-common": "^82.5.0",
31
31
  "@atlaskit/editor-palette": "1.6.0",
32
32
  "@atlaskit/editor-plugin-block-controls": "^1.4.1",
33
33
  "@atlaskit/editor-plugin-context-panel": "^1.1.0",
@@ -36,16 +36,16 @@
36
36
  "@atlaskit/editor-plugin-editor-disabled": "^1.1.0",
37
37
  "@atlaskit/editor-plugin-editor-viewmode": "^1.1.0",
38
38
  "@atlaskit/editor-plugin-extension": "^1.5.0",
39
- "@atlaskit/editor-plugin-table": "^7.16.0",
39
+ "@atlaskit/editor-plugin-table": "^7.17.0",
40
40
  "@atlaskit/editor-prosemirror": "4.0.1",
41
41
  "@atlaskit/emoji": "^67.6.0",
42
42
  "@atlaskit/icon": "^22.3.0",
43
- "@atlaskit/menu": "^2.3.0",
43
+ "@atlaskit/menu": "^2.4.0",
44
44
  "@atlaskit/modal-dialog": "^12.13.0",
45
45
  "@atlaskit/platform-feature-flags": "^0.2.5",
46
46
  "@atlaskit/select": "^17.10.0",
47
- "@atlaskit/theme": "^12.8.0",
48
- "@atlaskit/tokens": "^1.49.0",
47
+ "@atlaskit/theme": "^12.9.0",
48
+ "@atlaskit/tokens": "^1.50.0",
49
49
  "@atlaskit/tooltip": "^18.4.0",
50
50
  "@babel/runtime": "^7.0.0",
51
51
  "@emotion/react": "^11.7.1",
@@ -111,9 +111,6 @@
111
111
  },
112
112
  "platform.editor.a11y-table-floating-toolbar-dropdown-menu_zkb33": {
113
113
  "type": "boolean"
114
- },
115
- "platform.editor.drag-and-drop_wmv9t": {
116
- "type": "boolean"
117
114
  }
118
115
  }
119
116
  }