@atlaskit/editor-common 84.5.1 → 85.1.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 +38 -0
- package/dist/cjs/analytics/types/enums.js +2 -0
- package/dist/cjs/extensibility/extensionNodeView.js +1 -2
- package/dist/cjs/keymaps/index.js +3 -2
- package/dist/cjs/keymaps/keymap.js +25 -43
- package/dist/cjs/link/ConfigureLinkOverlay/Dropdown.js +34 -9
- package/dist/cjs/link/ConfigureLinkOverlay/index.js +15 -5
- package/dist/cjs/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.js +46 -0
- package/dist/cjs/monitoring/error.js +1 -1
- package/dist/cjs/react-node-view/getInlineNodeViewProducer.js +2 -4
- package/dist/cjs/react-node-view/index.js +4 -10
- package/dist/cjs/selection-based-node-view/SelectionBasedNodeView.js +2 -5
- package/dist/cjs/ui/DropList/index.js +1 -1
- package/dist/cjs/ui-color/ColorPalette/Color/index.js +11 -0
- package/dist/cjs/ui-color/ColorPalette/index.js +2 -0
- package/dist/cjs/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.js +18 -5
- package/dist/cjs/ui-menu/DropdownMenu/index.js +33 -11
- package/dist/es2019/analytics/types/enums.js +2 -0
- package/dist/es2019/extensibility/extensionNodeView.js +1 -2
- package/dist/es2019/keymaps/index.js +1 -0
- package/dist/es2019/keymaps/keymap.js +25 -43
- package/dist/es2019/link/ConfigureLinkOverlay/Dropdown.js +33 -7
- package/dist/es2019/link/ConfigureLinkOverlay/index.js +16 -5
- package/dist/es2019/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.js +39 -0
- package/dist/es2019/monitoring/error.js +1 -1
- package/dist/es2019/react-node-view/getInlineNodeViewProducer.js +2 -4
- package/dist/es2019/react-node-view/index.js +5 -7
- package/dist/es2019/selection-based-node-view/SelectionBasedNodeView.js +3 -2
- package/dist/es2019/ui/DropList/index.js +1 -1
- package/dist/es2019/ui-color/ColorPalette/Color/index.js +13 -0
- package/dist/es2019/ui-color/ColorPalette/index.js +2 -0
- package/dist/es2019/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.js +19 -6
- package/dist/es2019/ui-menu/DropdownMenu/index.js +34 -12
- package/dist/esm/analytics/types/enums.js +2 -0
- package/dist/esm/extensibility/extensionNodeView.js +1 -2
- package/dist/esm/keymaps/index.js +1 -0
- package/dist/esm/keymaps/keymap.js +25 -43
- package/dist/esm/link/ConfigureLinkOverlay/Dropdown.js +34 -9
- package/dist/esm/link/ConfigureLinkOverlay/index.js +15 -5
- package/dist/esm/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.js +40 -0
- package/dist/esm/monitoring/error.js +1 -1
- package/dist/esm/react-node-view/getInlineNodeViewProducer.js +2 -4
- package/dist/esm/react-node-view/index.js +4 -10
- package/dist/esm/selection-based-node-view/SelectionBasedNodeView.js +3 -5
- package/dist/esm/ui/DropList/index.js +1 -1
- package/dist/esm/ui-color/ColorPalette/Color/index.js +11 -0
- package/dist/esm/ui-color/ColorPalette/index.js +2 -0
- package/dist/esm/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.js +19 -6
- package/dist/esm/ui-menu/DropdownMenu/index.js +34 -12
- package/dist/types/analytics/types/enums.d.ts +3 -1
- package/dist/types/extensibility/extensionNodeView.d.ts +1 -2
- package/dist/types/keymaps/index.d.ts +1 -0
- package/dist/types/link/ConfigureLinkOverlay/Dropdown.d.ts +5 -4
- package/dist/types/link/ConfigureLinkOverlay/index.d.ts +2 -2
- package/dist/types/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.d.ts +5 -0
- package/dist/types/react-node-view/index.d.ts +2 -5
- package/dist/types/selection-based-node-view/SelectionBasedNodeView.d.ts +1 -2
- package/dist/types/types/plugin-factory.d.ts +1 -2
- package/dist/types/ui-color/ColorPalette/Color/index.d.ts +2 -1
- package/dist/types/ui-color/ColorPalette/index.d.ts +1 -0
- package/dist/types/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.d.ts +1 -1
- package/dist/types/ui-menu/ArrowKeyNavigationProvider/types.d.ts +1 -0
- package/dist/types/ui-menu/DropdownMenu/types.d.ts +4 -1
- package/dist/types-ts4.5/analytics/types/enums.d.ts +3 -1
- package/dist/types-ts4.5/extensibility/extensionNodeView.d.ts +1 -2
- package/dist/types-ts4.5/keymaps/index.d.ts +1 -0
- package/dist/types-ts4.5/link/ConfigureLinkOverlay/Dropdown.d.ts +5 -4
- package/dist/types-ts4.5/link/ConfigureLinkOverlay/index.d.ts +2 -2
- package/dist/types-ts4.5/link/ConfigureLinkOverlay/useLinkOverlayAnalyticsEvents.d.ts +5 -0
- package/dist/types-ts4.5/react-node-view/index.d.ts +2 -5
- package/dist/types-ts4.5/selection-based-node-view/SelectionBasedNodeView.d.ts +1 -2
- package/dist/types-ts4.5/types/plugin-factory.d.ts +1 -2
- package/dist/types-ts4.5/ui-color/ColorPalette/Color/index.d.ts +2 -1
- package/dist/types-ts4.5/ui-color/ColorPalette/index.d.ts +1 -0
- package/dist/types-ts4.5/ui-menu/ArrowKeyNavigationProvider/MenuArrowKeyNavigationProvider/index.d.ts +1 -1
- package/dist/types-ts4.5/ui-menu/ArrowKeyNavigationProvider/types.d.ts +1 -0
- package/dist/types-ts4.5/ui-menu/DropdownMenu/types.d.ts +4 -1
- package/package.json +4 -6
- package/dist/cjs/ui/PortalProvider/index.js +0 -235
- package/dist/es2019/ui/PortalProvider/index.js +0 -171
- package/dist/esm/ui/PortalProvider/index.js +0 -229
- package/dist/types/ui/PortalProvider/index.d.ts +0 -48
- package/dist/types-ts4.5/ui/PortalProvider/index.d.ts +0 -48
- package/portal-provider/package.json +0 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,43 @@
|
|
|
1
1
|
# @atlaskit/editor-common
|
|
2
2
|
|
|
3
|
+
## 85.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [#119419](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/119419)
|
|
8
|
+
[`a8b716b766200`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a8b716b766200) -
|
|
9
|
+
[ux] Add keymap for showing drag handle on selected element"
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#120417](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/120417)
|
|
14
|
+
[`26e76bb38b63f`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/26e76bb38b63f) -
|
|
15
|
+
[ux] ECA11Y-175: This changes improves the floating toolbar a11y by making the image border
|
|
16
|
+
options menu accessible for keyboard-only users, and is behind the feature gate
|
|
17
|
+
`platform-editor-a11y-image-border-options-dropdown`.
|
|
18
|
+
|
|
19
|
+
## 85.0.0
|
|
20
|
+
|
|
21
|
+
### Major Changes
|
|
22
|
+
|
|
23
|
+
- [#119966](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/119966)
|
|
24
|
+
[`596ad24e38929`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/596ad24e38929) -
|
|
25
|
+
Clean up typescript references to LegacyPortalProviderAPI
|
|
26
|
+
|
|
27
|
+
### Minor Changes
|
|
28
|
+
|
|
29
|
+
- [#120060](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/120060)
|
|
30
|
+
[`932c75860b5c2`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/932c75860b5c2) -
|
|
31
|
+
Add card plugin analytics for live pages
|
|
32
|
+
|
|
33
|
+
### Patch Changes
|
|
34
|
+
|
|
35
|
+
- [#119412](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/119412)
|
|
36
|
+
[`a714be7c47d68`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/a714be7c47d68) -
|
|
37
|
+
[ux] [ED-23047] Remove FF platform.editor.text-alignment-keyboard-shortcuts and make feature
|
|
38
|
+
flagged functionality default
|
|
39
|
+
- Updated dependencies
|
|
40
|
+
|
|
3
41
|
## 84.5.1
|
|
4
42
|
|
|
5
43
|
### Patch Changes
|
|
@@ -241,6 +241,7 @@ var ACTION_SUBJECT = exports.ACTION_SUBJECT = /*#__PURE__*/function (ACTION_SUBJ
|
|
|
241
241
|
ACTION_SUBJECT["DRAG"] = "drag";
|
|
242
242
|
ACTION_SUBJECT["ELEMENT"] = "element";
|
|
243
243
|
ACTION_SUBJECT["CONTEXT_MENU"] = "contextMenu";
|
|
244
|
+
ACTION_SUBJECT["INLINE_DIALOG"] = "inlineDialog";
|
|
244
245
|
return ACTION_SUBJECT;
|
|
245
246
|
}({});
|
|
246
247
|
var ACTION_SUBJECT_ID = exports.ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTION_SUBJECT_ID) {
|
|
@@ -355,6 +356,7 @@ var ACTION_SUBJECT_ID = exports.ACTION_SUBJECT_ID = /*#__PURE__*/function (ACTIO
|
|
|
355
356
|
ACTION_SUBJECT_ID["SAVE"] = "save";
|
|
356
357
|
ACTION_SUBJECT_ID["SECTION"] = "section";
|
|
357
358
|
ACTION_SUBJECT_ID["SMART_LINK"] = "smartLink";
|
|
359
|
+
ACTION_SUBJECT_ID["SMART_LINK_TOOLBAR"] = "smartLinkToolbar";
|
|
358
360
|
ACTION_SUBJECT_ID["STATUS"] = "status";
|
|
359
361
|
ACTION_SUBJECT_ID["SYMBOL"] = "symbol";
|
|
360
362
|
ACTION_SUBJECT_ID["TABLE"] = "table";
|
|
@@ -82,13 +82,12 @@ var ExtensionNode = exports.ExtensionNode = /*#__PURE__*/function (_ReactNodeVie
|
|
|
82
82
|
}(_reactNodeView.default);
|
|
83
83
|
function ExtensionNodeView(portalProviderAPI, eventDispatcher, providerFactory, extensionHandlers, extensionNodeViewOptions, pluginInjectionApi, macroInteractionDesignFeatureFlags) {
|
|
84
84
|
return function (node, view, getPos) {
|
|
85
|
-
var hasIntlContext = true;
|
|
86
85
|
return new ExtensionNode(node, view, getPos, portalProviderAPI, eventDispatcher, {
|
|
87
86
|
providerFactory: providerFactory,
|
|
88
87
|
extensionHandlers: extensionHandlers,
|
|
89
88
|
extensionNodeViewOptions: extensionNodeViewOptions,
|
|
90
89
|
pluginInjectionApi: pluginInjectionApi,
|
|
91
90
|
macroInteractionDesignFeatureFlags: macroInteractionDesignFeatureFlags
|
|
92
|
-
}
|
|
91
|
+
}).init();
|
|
93
92
|
};
|
|
94
93
|
}
|
|
@@ -100,8 +100,8 @@ Object.defineProperty(exports, "keymap", {
|
|
|
100
100
|
exports.makeKeyMapArrayWithCommon = makeKeyMapArrayWithCommon;
|
|
101
101
|
exports.makeKeyMapWithCommon = makeKeyMapWithCommon;
|
|
102
102
|
exports.makeKeymap = makeKeymap;
|
|
103
|
-
exports.
|
|
104
|
-
exports.toggleUnderline = exports.toggleTaskItemCheckbox = exports.toggleTable = exports.toggleSuperscript = exports.toggleSubscript = exports.toggleStrikethrough = exports.toggleOrderedList = exports.toggleItalic = exports.toggleHighlightPalette = exports.toggleHeading6 = exports.toggleHeading5 = exports.toggleHeading4 = exports.toggleHeading3 = exports.toggleHeading2 = exports.toggleHeading1 = exports.toggleCode = void 0;
|
|
103
|
+
exports.toggleBold = exports.toggleBlockQuote = exports.tab = exports.submit = exports.startColumnResizing = exports.splitListItem = exports.splitCodeBlock = exports.space = exports.showElementDragHandle = exports.shiftTab = exports.shiftEnter = exports.shiftBackspace = exports.shiftArrowUp = exports.setNormalText = exports.selectTable = exports.selectRow = exports.selectColumn = exports.redo = exports.previousCell = exports.pastePlainText = exports.paste = exports.outdentList = exports.outdent = exports.openHelp = exports.nextCell = exports.navToFloatingToolbar = exports.navToEditorToolbar = exports.moveUp = exports.moveRowUp = exports.moveRowDown = exports.moveRight = exports.moveLeft = exports.moveDown = exports.moveColumnRight = exports.moveColumnLeft = void 0;
|
|
104
|
+
exports.toggleUnderline = exports.toggleTaskItemCheckbox = exports.toggleTable = exports.toggleSuperscript = exports.toggleSubscript = exports.toggleStrikethrough = exports.toggleOrderedList = exports.toggleItalic = exports.toggleHighlightPalette = exports.toggleHeading6 = exports.toggleHeading5 = exports.toggleHeading4 = exports.toggleHeading3 = exports.toggleHeading2 = exports.toggleHeading1 = exports.toggleCode = exports.toggleBulletList = void 0;
|
|
105
105
|
exports.tooltip = tooltip;
|
|
106
106
|
exports.undo = void 0;
|
|
107
107
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
@@ -210,6 +210,7 @@ var toggleHighlightPalette = exports.toggleHighlightPalette = makeKeyMapWithComm
|
|
|
210
210
|
var focusToContextMenuTrigger = exports.focusToContextMenuTrigger = makeKeyMapWithCommon('Focus table context menu trigger', 'Shift-F10');
|
|
211
211
|
var dragToMoveUp = exports.dragToMoveUp = makeKeyMapWithCommon('Move node up in the document', 'Ctrl-Alt-Shift-ArrowUp');
|
|
212
212
|
var dragToMoveDown = exports.dragToMoveDown = makeKeyMapWithCommon('Move node down in the document', 'Ctrl-Alt-Shift-ArrowDown');
|
|
213
|
+
var showElementDragHandle = exports.showElementDragHandle = makeKeyMapWithCommon('Show drag handle for editor element', 'Ctrl-Alt-Shift-a');
|
|
213
214
|
var arrowKeysMap = {
|
|
214
215
|
// for reference: https://wincent.com/wiki/Unicode_representations_of_modifier_keys
|
|
215
216
|
ARROWLEFT: "\u2190",
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.keymap = keymap;
|
|
7
7
|
var _w3cKeyname = require("w3c-keyname");
|
|
8
8
|
var _keymap = require("@atlaskit/editor-prosemirror/keymap");
|
|
9
|
-
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
10
9
|
var _safePlugin = require("../safe-plugin");
|
|
11
10
|
/**
|
|
12
11
|
* A workaround for mostly Cyrillic but should have a positive affect
|
|
@@ -19,52 +18,35 @@ function keymap(bindings) {
|
|
|
19
18
|
return new _safePlugin.SafePlugin({
|
|
20
19
|
props: {
|
|
21
20
|
handleKeyDown: function handleKeyDown(view, event) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
var keyboardEvent = event;
|
|
21
|
+
var name = (0, _w3cKeyname.keyName)(event);
|
|
22
|
+
var keyboardEvent = event;
|
|
25
23
|
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
// We will try to bypass the keycode only if any of mod keys are pressed,
|
|
25
|
+
// to allow users to use non-latin and Dead characters.
|
|
26
|
+
var isModKeyPressed = event.ctrlKey || event.metaKey;
|
|
29
27
|
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
// Check the unicode of the character to assert that it's not an ASCII character.
|
|
29
|
+
// These are characters outside latin's range.
|
|
30
|
+
var isNonLatinKey = name.length === 1 && /[^\u0000-\u007f]/.test(name);
|
|
33
31
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
return (0, _keymap.keydownHandler)(bindings)(view, keyboardEvent);
|
|
52
|
-
} else {
|
|
53
|
-
var _name = (0, _w3cKeyname.keyName)(event);
|
|
54
|
-
var _keyboardEvent = event;
|
|
55
|
-
if (event.ctrlKey && _name.length === 1 &&
|
|
56
|
-
// Check the unicode of the character to
|
|
57
|
-
// assert that its not an ASCII character.
|
|
58
|
-
// These are characters outside Latin's range.
|
|
59
|
-
/[^\u0000-\u007f]/.test(_name)) {
|
|
60
|
-
_keyboardEvent = new KeyboardEvent('keydown', {
|
|
61
|
-
key: _w3cKeyname.base[event.keyCode],
|
|
62
|
-
code: event.code,
|
|
63
|
-
ctrlKey: true
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
return (0, _keymap.keydownHandler)(bindings)(view, _keyboardEvent);
|
|
32
|
+
// The `Dead` key is a key that combines with a following key to produce a combined character.
|
|
33
|
+
// It will have `even.key === 'Dead'` in some browsers but the `keyCode` will be the same as in a qwerty-keyboard.
|
|
34
|
+
// See https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key and https://en.wikipedia.org/wiki/Dead_key
|
|
35
|
+
var isDeadKey = name === 'Dead';
|
|
36
|
+
if (isModKeyPressed && (isNonLatinKey || isDeadKey)) {
|
|
37
|
+
keyboardEvent = new KeyboardEvent(event.type, {
|
|
38
|
+
// FIXME: The event.keyCode is deprecated (see https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode),
|
|
39
|
+
// and could be removed in any time, but the w3c-keyname library doesn't provide a way to get
|
|
40
|
+
// a key by event.code.
|
|
41
|
+
key: _w3cKeyname.base[event.keyCode],
|
|
42
|
+
code: event.code,
|
|
43
|
+
ctrlKey: event.ctrlKey,
|
|
44
|
+
altKey: event.altKey,
|
|
45
|
+
metaKey: event.metaKey,
|
|
46
|
+
shiftKey: event.shiftKey
|
|
47
|
+
});
|
|
67
48
|
}
|
|
49
|
+
return (0, _keymap.keydownHandler)(bindings)(view, keyboardEvent);
|
|
68
50
|
}
|
|
69
51
|
}
|
|
70
52
|
});
|
|
@@ -11,31 +11,48 @@ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/h
|
|
|
11
11
|
var _react = require("react");
|
|
12
12
|
var _react2 = require("@emotion/react");
|
|
13
13
|
var _reactIntlNext = require("react-intl-next");
|
|
14
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
14
15
|
var _dropdownMenu = _interopRequireWildcard(require("@atlaskit/dropdown-menu"));
|
|
15
16
|
var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/glyph/chevron-down"));
|
|
16
17
|
var _preferences = _interopRequireDefault(require("@atlaskit/icon/glyph/preferences"));
|
|
17
18
|
var _shortcut = _interopRequireDefault(require("@atlaskit/icon/glyph/shortcut"));
|
|
18
19
|
var _messages = require("../../messages");
|
|
19
20
|
var _StyledButton = require("./StyledButton");
|
|
20
|
-
var
|
|
21
|
+
var _useLinkOverlayAnalyticsEvents = require("./useLinkOverlayAnalyticsEvents");
|
|
22
|
+
var _excluded = ["onClick", "triggerRef"];
|
|
21
23
|
/** @jsx jsx */
|
|
22
24
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
23
25
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
|
|
24
26
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
27
|
+
var SMALL_LINK_TOOLBAR_ANALYTICS_SOURCE = 'smallLinkToolbar';
|
|
25
28
|
var Dropdown = function Dropdown(_ref) {
|
|
26
|
-
var
|
|
27
|
-
|
|
29
|
+
var onDropdownChange = _ref.onDropdownChange,
|
|
30
|
+
testId = _ref.testId;
|
|
28
31
|
var _useIntl = (0, _reactIntlNext.useIntl)(),
|
|
29
32
|
formatMessage = _useIntl.formatMessage;
|
|
30
33
|
var configureLinkLabel = formatMessage(_messages.cardMessages.inlineConfigureLink);
|
|
31
34
|
var goToLinkLabel = formatMessage(_messages.cardMessages.inlineGoToLink);
|
|
35
|
+
var _useLinkOverlayAnalyt = (0, _useLinkOverlayAnalyticsEvents.useLinkOverlayAnalyticsEvents)(),
|
|
36
|
+
fireActionClickEvent = _useLinkOverlayAnalyt.fireActionClickEvent,
|
|
37
|
+
fireLinkClickEvent = _useLinkOverlayAnalyt.fireLinkClickEvent,
|
|
38
|
+
fireToolbarViewEvent = _useLinkOverlayAnalyt.fireToolbarViewEvent;
|
|
32
39
|
var onOpenChange = (0, _react.useCallback)(function (_ref2) {
|
|
33
40
|
var isOpen = _ref2.isOpen;
|
|
34
41
|
onDropdownChange === null || onDropdownChange === void 0 || onDropdownChange(isOpen);
|
|
35
|
-
|
|
42
|
+
if (isOpen) {
|
|
43
|
+
fireToolbarViewEvent();
|
|
44
|
+
}
|
|
45
|
+
}, [fireToolbarViewEvent, onDropdownChange]);
|
|
46
|
+
var onGoToLinkClick = (0, _react.useCallback)(function () {
|
|
47
|
+
fireActionClickEvent('goToLink');
|
|
48
|
+
}, [fireActionClickEvent]);
|
|
49
|
+
var onConfigureClick = (0, _react.useCallback)(function () {
|
|
50
|
+
fireActionClickEvent('configureLink');
|
|
51
|
+
}, [fireActionClickEvent]);
|
|
36
52
|
return (0, _react2.jsx)(_dropdownMenu.default, {
|
|
37
53
|
trigger: function trigger(_ref3) {
|
|
38
|
-
var
|
|
54
|
+
var _onClick = _ref3.onClick,
|
|
55
|
+
triggerRef = _ref3.triggerRef,
|
|
39
56
|
props = (0, _objectWithoutProperties2.default)(_ref3, _excluded);
|
|
40
57
|
return (0, _react2.jsx)(_StyledButton.StyledButton, (0, _extends2.default)({
|
|
41
58
|
innerRef: triggerRef
|
|
@@ -43,7 +60,11 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
43
60
|
iconBefore: (0, _react2.jsx)(_chevronDown.default, {
|
|
44
61
|
label: configureLinkLabel,
|
|
45
62
|
size: 'small'
|
|
46
|
-
})
|
|
63
|
+
}),
|
|
64
|
+
onClick: function onClick(e) {
|
|
65
|
+
_onClick === null || _onClick === void 0 || _onClick(e);
|
|
66
|
+
fireLinkClickEvent();
|
|
67
|
+
}
|
|
47
68
|
}));
|
|
48
69
|
},
|
|
49
70
|
testId: "".concat(testId, "-dropdown"),
|
|
@@ -52,12 +73,16 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
52
73
|
elemBefore: (0, _react2.jsx)(_shortcut.default, {
|
|
53
74
|
label: goToLinkLabel,
|
|
54
75
|
size: 'medium'
|
|
55
|
-
})
|
|
76
|
+
}),
|
|
77
|
+
onClick: onGoToLinkClick
|
|
56
78
|
}, goToLinkLabel), (0, _react2.jsx)(_dropdownMenu.DropdownItem, {
|
|
57
79
|
elemBefore: (0, _react2.jsx)(_preferences.default, {
|
|
58
80
|
label: configureLinkLabel,
|
|
59
81
|
size: 'medium'
|
|
60
|
-
})
|
|
82
|
+
}),
|
|
83
|
+
onClick: onConfigureClick
|
|
61
84
|
}, configureLinkLabel)));
|
|
62
85
|
};
|
|
63
|
-
var _default = exports.default =
|
|
86
|
+
var _default = exports.default = (0, _analyticsNext.withAnalyticsContext)({
|
|
87
|
+
source: SMALL_LINK_TOOLBAR_ANALYTICS_SOURCE
|
|
88
|
+
})(Dropdown);
|
|
@@ -9,6 +9,7 @@ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/sli
|
|
|
9
9
|
var _react = require("react");
|
|
10
10
|
var _react2 = require("@emotion/react");
|
|
11
11
|
var _reactIntlNext = require("react-intl-next");
|
|
12
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
12
13
|
var _state = require("@atlaskit/editor-prosemirror/state");
|
|
13
14
|
var _preferences = _interopRequireDefault(require("@atlaskit/icon/glyph/preferences"));
|
|
14
15
|
var _colors = require("@atlaskit/theme/colors");
|
|
@@ -17,6 +18,7 @@ var _tooltip = _interopRequireDefault(require("@atlaskit/tooltip"));
|
|
|
17
18
|
var _messages = require("../../messages");
|
|
18
19
|
var _Dropdown = _interopRequireDefault(require("./Dropdown"));
|
|
19
20
|
var _StyledButton = require("./StyledButton");
|
|
21
|
+
var _useLinkOverlayAnalyticsEvents = require("./useLinkOverlayAnalyticsEvents");
|
|
20
22
|
/** @jsx jsx */
|
|
21
23
|
|
|
22
24
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
@@ -31,7 +33,7 @@ var buttonWrapperStyles = (0, _react2.css)({
|
|
|
31
33
|
borderRadius: "var(--ds-border-radius, 3px)"
|
|
32
34
|
});
|
|
33
35
|
var showDropdownThresholdPx = 50;
|
|
34
|
-
var OverlayButton = exports.OverlayButton = function
|
|
36
|
+
var OverlayButton = exports.OverlayButton = (0, _analyticsNext.withAnalyticsContext)()(function (_ref) {
|
|
35
37
|
var _docNode$nodeSize;
|
|
36
38
|
var editorView = _ref.editorView,
|
|
37
39
|
_ref$testId = _ref.testId,
|
|
@@ -46,6 +48,9 @@ var OverlayButton = exports.OverlayButton = function OverlayButton(_ref) {
|
|
|
46
48
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
47
49
|
showDropdown = _useState2[0],
|
|
48
50
|
setShowDropdown = _useState2[1];
|
|
51
|
+
var _useLinkOverlayAnalyt = (0, _useLinkOverlayAnalyticsEvents.useLinkOverlayAnalyticsEvents)(),
|
|
52
|
+
fireLinkClickEvent = _useLinkOverlayAnalyt.fireLinkClickEvent,
|
|
53
|
+
fireActionClickEvent = _useLinkOverlayAnalyt.fireActionClickEvent;
|
|
49
54
|
(0, _react.useLayoutEffect)(function () {
|
|
50
55
|
var _domNode;
|
|
51
56
|
var domNode = editorView.nodeDOM(targetElementPos);
|
|
@@ -63,7 +68,7 @@ var OverlayButton = exports.OverlayButton = function OverlayButton(_ref) {
|
|
|
63
68
|
var docNode = editorView.state.doc.nodeAt(targetElementPos);
|
|
64
69
|
var nodeEnd = targetElementPos + ((_docNode$nodeSize = docNode === null || docNode === void 0 ? void 0 : docNode.nodeSize) !== null && _docNode$nodeSize !== void 0 ? _docNode$nodeSize : 0);
|
|
65
70
|
var isText = docNode === null || docNode === void 0 ? void 0 : docNode.isText;
|
|
66
|
-
var
|
|
71
|
+
var handleConfigureClick = (0, _react.useCallback)(function () {
|
|
67
72
|
var tr = editorView.state.tr;
|
|
68
73
|
if (isText) {
|
|
69
74
|
tr.setSelection(_state.TextSelection.create(tr.doc, targetElementPos, Math.min(nodeEnd, tr.doc.nodeSize)));
|
|
@@ -71,7 +76,12 @@ var OverlayButton = exports.OverlayButton = function OverlayButton(_ref) {
|
|
|
71
76
|
tr.setSelection(_state.NodeSelection.create(tr.doc, targetElementPos));
|
|
72
77
|
}
|
|
73
78
|
editorView.dispatch(tr);
|
|
74
|
-
}, [isText,
|
|
79
|
+
}, [editorView, isText, targetElementPos, nodeEnd]);
|
|
80
|
+
var handleConfigureClickWithAnalytics = (0, _react.useCallback)(function () {
|
|
81
|
+
fireLinkClickEvent();
|
|
82
|
+
fireActionClickEvent('configureLink');
|
|
83
|
+
handleConfigureClick();
|
|
84
|
+
}, [fireActionClickEvent, fireLinkClickEvent, handleConfigureClick]);
|
|
75
85
|
var _editorView$state$sel = editorView.state.selection,
|
|
76
86
|
from = _editorView$state$sel.from,
|
|
77
87
|
to = _editorView$state$sel.to;
|
|
@@ -90,11 +100,11 @@ var OverlayButton = exports.OverlayButton = function OverlayButton(_ref) {
|
|
|
90
100
|
hideTooltipOnClick: true,
|
|
91
101
|
testId: "".concat(testId, "-tooltip")
|
|
92
102
|
}, (0, _react2.jsx)(_StyledButton.StyledButton, {
|
|
93
|
-
onClick:
|
|
103
|
+
onClick: handleConfigureClickWithAnalytics,
|
|
94
104
|
iconBefore: (0, _react2.jsx)(_preferences.default, {
|
|
95
105
|
label: configureLinkLabel,
|
|
96
106
|
size: "small",
|
|
97
107
|
testId: "".concat(testId, "-configure-icon")
|
|
98
108
|
})
|
|
99
109
|
})));
|
|
100
|
-
};
|
|
110
|
+
});
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useLinkOverlayAnalyticsEvents = void 0;
|
|
7
|
+
var _react = require("react");
|
|
8
|
+
var _analyticsListeners = require("@atlaskit/analytics-listeners");
|
|
9
|
+
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
10
|
+
var _analytics = require("../../analytics");
|
|
11
|
+
var useLinkOverlayAnalyticsEvents = exports.useLinkOverlayAnalyticsEvents = function useLinkOverlayAnalyticsEvents() {
|
|
12
|
+
var _useAnalyticsEvents = (0, _analyticsNext.useAnalyticsEvents)(),
|
|
13
|
+
createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
|
|
14
|
+
return (0, _react.useMemo)(function () {
|
|
15
|
+
return {
|
|
16
|
+
fireActionClickEvent: function fireActionClickEvent(linkAction) {
|
|
17
|
+
createAnalyticsEvent({
|
|
18
|
+
action: _analytics.ACTION.CLICKED,
|
|
19
|
+
actionSubject: _analytics.ACTION_SUBJECT.BUTTON,
|
|
20
|
+
eventType: _analytics.EVENT_TYPE.UI,
|
|
21
|
+
attributes: {
|
|
22
|
+
action: linkAction
|
|
23
|
+
}
|
|
24
|
+
}).fire(_analyticsListeners.FabricChannel.media);
|
|
25
|
+
},
|
|
26
|
+
fireLinkClickEvent: function fireLinkClickEvent() {
|
|
27
|
+
createAnalyticsEvent({
|
|
28
|
+
action: _analytics.ACTION.CLICKED,
|
|
29
|
+
actionSubject: _analytics.ACTION_SUBJECT.LINK,
|
|
30
|
+
eventType: _analytics.EVENT_TYPE.UI
|
|
31
|
+
}).fire(_analyticsListeners.FabricChannel.media);
|
|
32
|
+
},
|
|
33
|
+
fireToolbarViewEvent: function fireToolbarViewEvent() {
|
|
34
|
+
createAnalyticsEvent({
|
|
35
|
+
action: _analytics.ACTION.VIEWED,
|
|
36
|
+
actionSubject: _analytics.ACTION_SUBJECT.INLINE_DIALOG,
|
|
37
|
+
actionSubjectId: _analytics.ACTION_SUBJECT_ID.SMART_LINK_TOOLBAR,
|
|
38
|
+
eventType: _analytics.EVENT_TYPE.SCREEN,
|
|
39
|
+
attributes: {
|
|
40
|
+
linkType: 'smallLink'
|
|
41
|
+
}
|
|
42
|
+
}).fire(_analyticsListeners.FabricChannel.media);
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
}, [createAnalyticsEvent]);
|
|
46
|
+
};
|
|
@@ -17,7 +17,7 @@ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return
|
|
|
17
17
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
18
18
|
var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
|
|
19
19
|
var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
|
|
20
|
-
var packageVersion = "
|
|
20
|
+
var packageVersion = "85.1.0";
|
|
21
21
|
var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
|
|
22
22
|
// Remove URL as it has UGC
|
|
23
23
|
// TODO: Sanitise the URL instead of just removing it
|
|
@@ -65,9 +65,7 @@ function createNodeView(_ref) {
|
|
|
65
65
|
nodeViewParams: nodeViewParams,
|
|
66
66
|
Component: Component,
|
|
67
67
|
extraComponentProps: extraComponentProps
|
|
68
|
-
}), domRef, key
|
|
69
|
-
// node views should be rendered with intl context
|
|
70
|
-
true);
|
|
68
|
+
}), domRef, key);
|
|
71
69
|
}
|
|
72
70
|
var _getPerformanceOption = (0, _utils.getPerformanceOptions)(nodeViewParams.view),
|
|
73
71
|
samplingRate = _getPerformanceOption.samplingRate,
|
|
@@ -123,7 +121,7 @@ function createNodeView(_ref) {
|
|
|
123
121
|
// When prosemirror destroys the node view, we need to clean up
|
|
124
122
|
// what we have previously rendered using the editor portal
|
|
125
123
|
// provider api.
|
|
126
|
-
pmPluginFactoryParams.portalProviderAPI.remove(key
|
|
124
|
+
pmPluginFactoryParams.portalProviderAPI.remove(key);
|
|
127
125
|
// @ts-expect-error Expect an error as domRef is expected to be
|
|
128
126
|
// of HTMLSpanElement type however once the node view has
|
|
129
127
|
// been destroyed no other consumers should still be using it.
|
|
@@ -30,11 +30,8 @@ var _analytics2 = require("../utils/analytics");
|
|
|
30
30
|
var _generateUniqueNodeKey = require("./generateUniqueNodeKey");
|
|
31
31
|
var _getInlineNodeViewProducer = require("./getInlineNodeViewProducer");
|
|
32
32
|
var ReactNodeView = exports.default = /*#__PURE__*/function () {
|
|
33
|
-
function ReactNodeView(_node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent) {
|
|
33
|
+
function ReactNodeView(_node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent, viewShouldUpdate) {
|
|
34
34
|
var _this = this;
|
|
35
|
-
var hasAnalyticsContext = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
|
|
36
|
-
var viewShouldUpdate = arguments.length > 8 ? arguments[8] : undefined;
|
|
37
|
-
var hasIntlContext = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
|
|
38
35
|
(0, _classCallCheck2.default)(this, ReactNodeView);
|
|
39
36
|
(0, _defineProperty2.default)(this, "decorations", []);
|
|
40
37
|
(0, _defineProperty2.default)(this, "handleRef", function (node) {
|
|
@@ -54,10 +51,8 @@ var ReactNodeView = exports.default = /*#__PURE__*/function () {
|
|
|
54
51
|
this.portalProviderAPI = portalProviderAPI;
|
|
55
52
|
this.reactComponentProps = reactComponentProps || {};
|
|
56
53
|
this.reactComponent = reactComponent;
|
|
57
|
-
this.hasAnalyticsContext = hasAnalyticsContext;
|
|
58
54
|
this._viewShouldUpdate = viewShouldUpdate;
|
|
59
55
|
this.eventDispatcher = eventDispatcher;
|
|
60
|
-
this.hasIntlContext = hasIntlContext;
|
|
61
56
|
this.key = (0, _generateUniqueNodeKey.generateUniqueNodeKey)();
|
|
62
57
|
}
|
|
63
58
|
|
|
@@ -126,7 +121,7 @@ var ReactNodeView = exports.default = /*#__PURE__*/function () {
|
|
|
126
121
|
dispatchAnalyticsEvent: _this3.dispatchAnalyticsEvent
|
|
127
122
|
}, component());
|
|
128
123
|
};
|
|
129
|
-
this.portalProviderAPI.render(componentWithErrorBoundary, this.domRef, this.key
|
|
124
|
+
this.portalProviderAPI.render(componentWithErrorBoundary, this.domRef, this.key);
|
|
130
125
|
}
|
|
131
126
|
}, {
|
|
132
127
|
key: "createDomRef",
|
|
@@ -223,16 +218,15 @@ var ReactNodeView = exports.default = /*#__PURE__*/function () {
|
|
|
223
218
|
if (!this.domRef) {
|
|
224
219
|
return;
|
|
225
220
|
}
|
|
226
|
-
this.portalProviderAPI.remove(this.key
|
|
221
|
+
this.portalProviderAPI.remove(this.key);
|
|
227
222
|
this.domRef = undefined;
|
|
228
223
|
this.contentDOM = undefined;
|
|
229
224
|
}
|
|
230
225
|
}], [{
|
|
231
226
|
key: "fromComponent",
|
|
232
227
|
value: function fromComponent(component, portalProviderAPI, eventDispatcher, props, viewShouldUpdate) {
|
|
233
|
-
var hasIntlContext = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
|
|
234
228
|
return function (node, view, getPos) {
|
|
235
|
-
return new ReactNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, props, component,
|
|
229
|
+
return new ReactNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, props, component, viewShouldUpdate).init();
|
|
236
230
|
};
|
|
237
231
|
}
|
|
238
232
|
}]);
|
|
@@ -41,13 +41,10 @@ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.
|
|
|
41
41
|
var SelectionBasedNodeView = exports.SelectionBasedNodeView = /*#__PURE__*/function (_ReactNodeView) {
|
|
42
42
|
(0, _inherits2.default)(SelectionBasedNodeView, _ReactNodeView);
|
|
43
43
|
var _super = _createSuper(SelectionBasedNodeView);
|
|
44
|
-
function SelectionBasedNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent) {
|
|
44
|
+
function SelectionBasedNodeView(node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent, viewShouldUpdate) {
|
|
45
45
|
var _this;
|
|
46
|
-
var hasContext = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : false;
|
|
47
|
-
var viewShouldUpdate = arguments.length > 8 ? arguments[8] : undefined;
|
|
48
|
-
var hasIntlContext = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : false;
|
|
49
46
|
(0, _classCallCheck2.default)(this, SelectionBasedNodeView);
|
|
50
|
-
_this = _super.call(this, node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent,
|
|
47
|
+
_this = _super.call(this, node, view, getPos, portalProviderAPI, eventDispatcher, reactComponentProps, reactComponent, viewShouldUpdate);
|
|
51
48
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isSelectedNode", false);
|
|
52
49
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "isNodeInsideSelection", function (from, to, pos, posEnd) {
|
|
53
50
|
var _this$getPositionsWit = _this.getPositionsWithDefault(pos, posEnd);
|
|
@@ -20,7 +20,7 @@ var _Layer = _interopRequireDefault(require("../Layer"));
|
|
|
20
20
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
21
21
|
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /** @jsx jsx */ // eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
22
22
|
var packageName = "@atlaskit/editor-common";
|
|
23
|
-
var packageVersion = "
|
|
23
|
+
var packageVersion = "85.1.0";
|
|
24
24
|
var halfFocusRing = 1;
|
|
25
25
|
var dropOffset = '0, 8';
|
|
26
26
|
var DropList = /*#__PURE__*/function (_Component) {
|
|
@@ -37,6 +37,16 @@ var Color = function Color(props) {
|
|
|
37
37
|
e.preventDefault();
|
|
38
38
|
onClick(value, label);
|
|
39
39
|
};
|
|
40
|
+
var onKeyDown = function onKeyDown(e) {
|
|
41
|
+
var onKeyDown = props.onKeyDown,
|
|
42
|
+
value = props.value,
|
|
43
|
+
label = props.label;
|
|
44
|
+
if (!onKeyDown) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
e.preventDefault();
|
|
48
|
+
onKeyDown(value, label, e);
|
|
49
|
+
};
|
|
40
50
|
return (0, _react2.jsx)(_tooltip.default, {
|
|
41
51
|
content: label
|
|
42
52
|
}, (0, _react2.jsx)("span", {
|
|
@@ -50,6 +60,7 @@ var Color = function Color(props) {
|
|
|
50
60
|
role: "radio",
|
|
51
61
|
"aria-checked": isSelected,
|
|
52
62
|
onClick: onClick,
|
|
63
|
+
onKeyDown: onKeyDown,
|
|
53
64
|
onMouseDown: onMouseDown,
|
|
54
65
|
tabIndex: tabIndex
|
|
55
66
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
@@ -49,6 +49,7 @@ var ColorPalette = function ColorPalette(props) {
|
|
|
49
49
|
var _props$cols = props.cols,
|
|
50
50
|
cols = _props$cols === void 0 ? _utils.DEFAULT_COLOR_PICKER_COLUMNS : _props$cols,
|
|
51
51
|
onClick = props.onClick,
|
|
52
|
+
onKeyDown = props.onKeyDown,
|
|
52
53
|
selectedColor = props.selectedColor,
|
|
53
54
|
className = props.className,
|
|
54
55
|
formatMessage = props.intl.formatMessage,
|
|
@@ -91,6 +92,7 @@ var ColorPalette = function ColorPalette(props) {
|
|
|
91
92
|
borderColor: border,
|
|
92
93
|
label: message ? formatMessage(message) : label,
|
|
93
94
|
onClick: onClick,
|
|
95
|
+
onKeyDown: onKeyDown,
|
|
94
96
|
isSelected: value === selectedColor,
|
|
95
97
|
checkMarkColor: getCheckMarkColor(value, useIconToken),
|
|
96
98
|
hexToPaletteColor: hexToPaletteColor,
|
|
@@ -29,13 +29,14 @@ var MenuArrowKeyNavigationProvider = exports.MenuArrowKeyNavigationProvider = fu
|
|
|
29
29
|
closeOnTab = _ref.closeOnTab,
|
|
30
30
|
onSelection = _ref.onSelection,
|
|
31
31
|
editorRef = _ref.editorRef,
|
|
32
|
-
popupsMountPoint = _ref.popupsMountPoint
|
|
32
|
+
popupsMountPoint = _ref.popupsMountPoint,
|
|
33
|
+
disableCloseOnArrowClick = _ref.disableCloseOnArrowClick;
|
|
33
34
|
var wrapperRef = (0, _react.useRef)(null);
|
|
34
35
|
var _useState = (0, _react.useState)(-1),
|
|
35
36
|
_useState2 = (0, _slicedToArray2.default)(_useState, 2),
|
|
36
37
|
currentSelectedItemIndex = _useState2[0],
|
|
37
38
|
setCurrentSelectedItemIndex = _useState2[1];
|
|
38
|
-
var element = (0, _platformFeatureFlags.
|
|
39
|
+
var element = popupsMountPoint && (0, _platformFeatureFlags.fg)('platform.editor.a11y-main-toolbar-navigation_osrty') ? [popupsMountPoint, editorRef.current] : [editorRef.current];
|
|
39
40
|
var _useState3 = (0, _react.useState)(element),
|
|
40
41
|
_useState4 = (0, _slicedToArray2.default)(_useState3, 1),
|
|
41
42
|
listenerTargetElement = _useState4[0];
|
|
@@ -130,7 +131,13 @@ var MenuArrowKeyNavigationProvider = exports.MenuArrowKeyNavigationProvider = fu
|
|
|
130
131
|
if (targetElement instanceof HTMLElement && !targetElement.closest('.custom-key-handler-wrapper')) {
|
|
131
132
|
return;
|
|
132
133
|
}
|
|
133
|
-
|
|
134
|
+
if ((0, _platformFeatureFlags.fg)('platform-editor-a11y-image-border-options-dropdown')) {
|
|
135
|
+
if (!disableCloseOnArrowClick) {
|
|
136
|
+
handleClose(event);
|
|
137
|
+
}
|
|
138
|
+
} else {
|
|
139
|
+
handleClose(event);
|
|
140
|
+
}
|
|
134
141
|
if (targetElement instanceof HTMLElement && !targetElement.closest('[data-testid="editor-floating-toolbar"]')) {
|
|
135
142
|
keyDownHandlerContext === null || keyDownHandlerContext === void 0 || keyDownHandlerContext.handleArrowLeft();
|
|
136
143
|
}
|
|
@@ -139,7 +146,13 @@ var MenuArrowKeyNavigationProvider = exports.MenuArrowKeyNavigationProvider = fu
|
|
|
139
146
|
if (targetElement instanceof HTMLElement && !targetElement.closest('.custom-key-handler-wrapper')) {
|
|
140
147
|
return;
|
|
141
148
|
}
|
|
142
|
-
|
|
149
|
+
if ((0, _platformFeatureFlags.fg)('platform-editor-a11y-image-border-options-dropdown')) {
|
|
150
|
+
if (!disableCloseOnArrowClick) {
|
|
151
|
+
handleClose(event);
|
|
152
|
+
}
|
|
153
|
+
} else {
|
|
154
|
+
handleClose(event);
|
|
155
|
+
}
|
|
143
156
|
if (targetElement instanceof HTMLElement && !targetElement.closest('[data-testid="editor-floating-toolbar"]')) {
|
|
144
157
|
keyDownHandlerContext === null || keyDownHandlerContext === void 0 || keyDownHandlerContext.handleArrowRight();
|
|
145
158
|
}
|
|
@@ -164,7 +177,7 @@ var MenuArrowKeyNavigationProvider = exports.MenuArrowKeyNavigationProvider = fu
|
|
|
164
177
|
elem && elem.removeEventListener('keydown', handleKeyDown);
|
|
165
178
|
});
|
|
166
179
|
};
|
|
167
|
-
}, [currentSelectedItemIndex, wrapperRef, handleClose, disableArrowKeyNavigation, keyDownHandlerContext, closeOnTab, onSelection, incrementIndex, decrementIndex, listenerTargetElement]);
|
|
180
|
+
}, [currentSelectedItemIndex, wrapperRef, handleClose, disableArrowKeyNavigation, keyDownHandlerContext, closeOnTab, onSelection, incrementIndex, decrementIndex, listenerTargetElement, disableCloseOnArrowClick]);
|
|
168
181
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
169
182
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/no-classname-prop -- Ignored via go/DSP-18766
|
|
170
183
|
className: "menu-key-handler-wrapper custom-key-handler-wrapper",
|