@atlaskit/editor-plugin-text-formatting 2.1.2 → 2.1.4
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 +14 -0
- package/dist/cjs/pm-plugins/cursor.js +1 -1
- package/dist/cjs/pm-plugins/main.js +1 -1
- package/dist/cjs/textFormattingPlugin.js +1 -10
- package/dist/cjs/ui/FloatingToolbarComponent.js +23 -7
- package/dist/cjs/ui/Toolbar/constants.js +2 -1
- package/dist/cjs/ui/Toolbar/dropdown-menu.js +9 -4
- package/dist/cjs/ui/Toolbar/{bold-button.js → dropdown-toolbar-button.js} +6 -5
- package/dist/cjs/ui/Toolbar/hooks/clear-formatting-icon.js +6 -0
- package/dist/cjs/ui/Toolbar/hooks/formatting-icons.js +45 -4
- package/dist/cjs/ui/Toolbar/hooks/responsive-toolbar-buttons.js +5 -23
- package/dist/cjs/ui/Toolbar/hooks/use-icon-list.js +34 -0
- package/dist/cjs/ui/Toolbar/icons.js +64 -0
- package/dist/es2019/pm-plugins/cursor.js +1 -1
- package/dist/es2019/pm-plugins/main.js +1 -1
- package/dist/es2019/textFormattingPlugin.js +1 -10
- package/dist/es2019/ui/FloatingToolbarComponent.js +21 -7
- package/dist/es2019/ui/Toolbar/constants.js +1 -0
- package/dist/es2019/ui/Toolbar/dropdown-menu.js +7 -4
- package/dist/es2019/ui/Toolbar/{bold-button.js → dropdown-toolbar-button.js} +5 -4
- package/dist/es2019/ui/Toolbar/hooks/clear-formatting-icon.js +5 -0
- package/dist/es2019/ui/Toolbar/hooks/formatting-icons.js +45 -1
- package/dist/es2019/ui/Toolbar/hooks/responsive-toolbar-buttons.js +5 -21
- package/dist/es2019/ui/Toolbar/hooks/use-icon-list.js +27 -0
- package/dist/es2019/ui/Toolbar/icons.js +49 -0
- package/dist/esm/pm-plugins/cursor.js +1 -1
- package/dist/esm/pm-plugins/main.js +1 -1
- package/dist/esm/textFormattingPlugin.js +1 -10
- package/dist/esm/ui/FloatingToolbarComponent.js +20 -7
- package/dist/esm/ui/Toolbar/constants.js +1 -0
- package/dist/esm/ui/Toolbar/dropdown-menu.js +9 -4
- package/dist/esm/ui/Toolbar/{bold-button.js → dropdown-toolbar-button.js} +5 -4
- package/dist/esm/ui/Toolbar/hooks/clear-formatting-icon.js +5 -0
- package/dist/esm/ui/Toolbar/hooks/formatting-icons.js +45 -1
- package/dist/esm/ui/Toolbar/hooks/responsive-toolbar-buttons.js +5 -22
- package/dist/esm/ui/Toolbar/hooks/use-icon-list.js +27 -0
- package/dist/esm/ui/Toolbar/icons.js +56 -0
- package/dist/types/ui/FloatingToolbarComponent.d.ts +7 -3
- package/dist/types/ui/Toolbar/constants.d.ts +1 -0
- package/dist/{types-ts4.5/ui/Toolbar/bold-button.d.ts → types/ui/Toolbar/dropdown-toolbar-button.d.ts} +4 -3
- package/dist/types/ui/Toolbar/hooks/responsive-toolbar-buttons.d.ts +1 -5
- package/dist/types/ui/Toolbar/hooks/use-icon-list.d.ts +11 -0
- package/dist/types/ui/Toolbar/icons.d.ts +4 -0
- package/dist/types-ts4.5/ui/FloatingToolbarComponent.d.ts +7 -3
- package/dist/types-ts4.5/ui/Toolbar/constants.d.ts +1 -0
- package/dist/{types/ui/Toolbar/bold-button.d.ts → types-ts4.5/ui/Toolbar/dropdown-toolbar-button.d.ts} +4 -3
- package/dist/types-ts4.5/ui/Toolbar/hooks/responsive-toolbar-buttons.d.ts +1 -5
- package/dist/types-ts4.5/ui/Toolbar/hooks/use-icon-list.d.ts +11 -0
- package/dist/types-ts4.5/ui/Toolbar/icons.d.ts +4 -0
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# @atlaskit/editor-plugin-text-formatting
|
|
2
2
|
|
|
3
|
+
## 2.1.4
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#126339](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/126339)
|
|
8
|
+
[`d41ba7595dcd2`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/d41ba7595dcd2) -
|
|
9
|
+
[ux] Updates the look of Text Formatting Contextual toolbar dropdowns.
|
|
10
|
+
|
|
11
|
+
## 2.1.3
|
|
12
|
+
|
|
13
|
+
### Patch Changes
|
|
14
|
+
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
|
|
3
17
|
## 2.1.2
|
|
4
18
|
|
|
5
19
|
### Patch Changes
|
|
@@ -28,7 +28,7 @@ var _default = exports.default = new _safePlugin.SafePlugin({
|
|
|
28
28
|
var clickWasNearACodeMark = code && ($click.nodeBefore && code.isInSet($click.nodeBefore.marks) || $click.nodeAfter && code.isInSet($click.nodeAfter.marks));
|
|
29
29
|
|
|
30
30
|
// Find the starting position of the clicked dom-element
|
|
31
|
-
// TODO: Remove calls to private API
|
|
31
|
+
// TODO: ED-26962 - Remove calls to private API
|
|
32
32
|
var clickedDOMElementPosition = event.target && event.target instanceof Node && view.posAtDOM(event.target);
|
|
33
33
|
var clickNode = view.state.doc.nodeAt(clickPos);
|
|
34
34
|
var clickWasAtTextNode = !!(clickNode && clickNode.isText);
|
|
@@ -16,7 +16,7 @@ var commands = _textFormatting;
|
|
|
16
16
|
var _pluginKey = require("./plugin-key");
|
|
17
17
|
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); }
|
|
18
18
|
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 && {}.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; }
|
|
19
|
-
// TODO: Ideally this should use the custom toggleMark function from @atlaskit/editor-common so we also disable the options when selecting inline nodes but it disables the marks when the selection is empty at this point in time which is undesirable
|
|
19
|
+
// TODO: ED-26962 - Ideally this should use the custom toggleMark function from @atlaskit/editor-common so we also disable the options when selecting inline nodes but it disables the marks when the selection is empty at this point in time which is undesirable
|
|
20
20
|
// import { toggleMark } from '@atlaskit/editor-common/mark';
|
|
21
21
|
|
|
22
22
|
// Ignored via go/ees005
|
|
@@ -134,16 +134,7 @@ var textFormattingPlugin = exports.textFormattingPlugin = function textFormattin
|
|
|
134
134
|
pluginsOptions: {
|
|
135
135
|
selectionToolbar: function selectionToolbar() {
|
|
136
136
|
var _api$selectionToolbar;
|
|
137
|
-
if ((api === null || api === void 0 || (_api$selectionToolbar = api.selectionToolbar) === null || _api$selectionToolbar === void 0 || (_api$selectionToolbar = _api$selectionToolbar.sharedState) === null || _api$selectionToolbar === void 0 || (_api$selectionToolbar = _api$selectionToolbar.currentState()) === null || _api$selectionToolbar === void 0 ? void 0 : _api$selectionToolbar.toolbarDocking) === '
|
|
138
|
-
exposure: true
|
|
139
|
-
})) {
|
|
140
|
-
return undefined;
|
|
141
|
-
}
|
|
142
|
-
if ((0, _experiments.editorExperiment)('contextual_formatting_toolbar', true, {
|
|
143
|
-
exposure: true
|
|
144
|
-
}) || (0, _experiments.editorExperiment)('platform_editor_contextual_formatting_toolbar_v2', 'variant1', {
|
|
145
|
-
exposure: true
|
|
146
|
-
}) || (0, _experiments.editorExperiment)('platform_editor_contextual_formatting_toolbar_v2', 'variant2', {
|
|
137
|
+
if ((api === null || api === void 0 || (_api$selectionToolbar = api.selectionToolbar) === null || _api$selectionToolbar === void 0 || (_api$selectionToolbar = _api$selectionToolbar.sharedState) === null || _api$selectionToolbar === void 0 || (_api$selectionToolbar = _api$selectionToolbar.currentState()) === null || _api$selectionToolbar === void 0 ? void 0 : _api$selectionToolbar.toolbarDocking) === 'none' && (0, _experiments.editorExperiment)('platform_editor_controls', 'variant1', {
|
|
147
138
|
exposure: true
|
|
148
139
|
})) {
|
|
149
140
|
var toolbarCustom = {
|
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.FloatingToolbarTextFormalWithIntl = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
9
|
var _react2 = require("@emotion/react");
|
|
9
10
|
var _reactIntlNext = require("react-intl-next");
|
|
10
11
|
var _hooks = require("@atlaskit/editor-common/hooks");
|
|
11
12
|
var _types = require("@atlaskit/editor-common/types");
|
|
12
13
|
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
14
|
+
var _constants = require("./Toolbar/constants");
|
|
13
15
|
var _dropdownMenu = require("./Toolbar/dropdown-menu");
|
|
14
16
|
var _clearFormattingIcon = require("./Toolbar/hooks/clear-formatting-icon");
|
|
15
17
|
var _formattingIcons = require("./Toolbar/hooks/formatting-icons");
|
|
18
|
+
var _useIconList2 = require("./Toolbar/hooks/use-icon-list");
|
|
19
|
+
var _singleToolbarButtons = require("./Toolbar/single-toolbar-buttons");
|
|
16
20
|
var _types2 = require("./Toolbar/types");
|
|
21
|
+
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); }
|
|
22
|
+
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 && {}.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; }
|
|
17
23
|
/**
|
|
18
24
|
* @jsxRuntime classic
|
|
19
25
|
* @jsx jsx
|
|
@@ -25,7 +31,7 @@ var FloatingToolbarSettings = {
|
|
|
25
31
|
disabled: false,
|
|
26
32
|
isReducedSpacing: true,
|
|
27
33
|
shouldUseResponsiveToolbar: false,
|
|
28
|
-
toolbarSize: _types.ToolbarSize.
|
|
34
|
+
toolbarSize: _types.ToolbarSize.S,
|
|
29
35
|
hasMoreButton: false,
|
|
30
36
|
moreButtonLabel: '',
|
|
31
37
|
toolbarType: _types2.ToolbarType.FLOATING
|
|
@@ -45,6 +51,12 @@ var FloatingToolbarTextFormat = function FloatingToolbarTextFormat(_ref) {
|
|
|
45
51
|
textFormattingState: textFormattingState,
|
|
46
52
|
toolbarType: FloatingToolbarSettings.toolbarType
|
|
47
53
|
});
|
|
54
|
+
var _useIconList = (0, _useIconList2.useIconList)({
|
|
55
|
+
icons: defaultIcons,
|
|
56
|
+
iconTypeList: _constants.DefaultFloatingToolbarButtonsNext
|
|
57
|
+
}),
|
|
58
|
+
dropdownItems = _useIconList.dropdownItems,
|
|
59
|
+
singleItems = _useIconList.singleItems;
|
|
48
60
|
var clearIcon = (0, _clearFormattingIcon.useClearIcon)({
|
|
49
61
|
textFormattingState: textFormattingState,
|
|
50
62
|
intl: intl,
|
|
@@ -54,16 +66,20 @@ var FloatingToolbarTextFormat = function FloatingToolbarTextFormat(_ref) {
|
|
|
54
66
|
var items = (0, _react.useMemo)(function () {
|
|
55
67
|
if (!clearIcon) {
|
|
56
68
|
return [{
|
|
57
|
-
items:
|
|
69
|
+
items: dropdownItems
|
|
58
70
|
}];
|
|
59
71
|
}
|
|
60
72
|
return [{
|
|
61
|
-
items:
|
|
73
|
+
items: dropdownItems
|
|
62
74
|
}, {
|
|
63
75
|
items: [clearIcon]
|
|
64
76
|
}];
|
|
65
|
-
}, [clearIcon,
|
|
66
|
-
return (0, _react2.jsx)(
|
|
77
|
+
}, [clearIcon, dropdownItems]);
|
|
78
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_singleToolbarButtons.SingleToolbarButtons, {
|
|
79
|
+
items: singleItems,
|
|
80
|
+
editorView: editorView,
|
|
81
|
+
isReducedSpacing: false
|
|
82
|
+
}), (0, _react2.jsx)(_dropdownMenu.FormattingTextDropdownMenu, {
|
|
67
83
|
editorView: editorView,
|
|
68
84
|
items: items,
|
|
69
85
|
isReducedSpacing: (0, _experiments.editorExperiment)('platform_editor_controls', 'variant1') ? false : FloatingToolbarSettings.isReducedSpacing,
|
|
@@ -72,6 +88,6 @@ var FloatingToolbarTextFormat = function FloatingToolbarTextFormat(_ref) {
|
|
|
72
88
|
hasMoreButton: FloatingToolbarSettings.hasMoreButton,
|
|
73
89
|
intl: intl,
|
|
74
90
|
toolbarType: FloatingToolbarSettings.toolbarType
|
|
75
|
-
});
|
|
91
|
+
}));
|
|
76
92
|
};
|
|
77
93
|
var FloatingToolbarTextFormalWithIntl = exports.FloatingToolbarTextFormalWithIntl = (0, _reactIntlNext.injectIntl)(FloatingToolbarTextFormat);
|
|
@@ -4,11 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.ResponsiveCustomMenuNext = exports.ResponsiveCustomMenu = exports.ResponsiveCustomButtonToolbarNext = exports.ResponsiveCustomButtonToolbar = exports.DefaultButtonsToolbarNext = exports.DefaultButtonsToolbar = exports.DefaultButtonsMenuNext = exports.DefaultButtonsMenu = void 0;
|
|
7
|
+
exports.ResponsiveCustomMenuNext = exports.ResponsiveCustomMenu = exports.ResponsiveCustomButtonToolbarNext = exports.ResponsiveCustomButtonToolbar = exports.DefaultFloatingToolbarButtonsNext = exports.DefaultButtonsToolbarNext = exports.DefaultButtonsToolbar = exports.DefaultButtonsMenuNext = exports.DefaultButtonsMenu = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _types = require("@atlaskit/editor-common/types");
|
|
10
10
|
var _types2 = require("./types");
|
|
11
11
|
var DefaultButtonsToolbar = exports.DefaultButtonsToolbar = [_types2.IconTypes.strong, _types2.IconTypes.em];
|
|
12
|
+
var DefaultFloatingToolbarButtonsNext = exports.DefaultFloatingToolbarButtonsNext = [_types2.IconTypes.strong];
|
|
12
13
|
var DefaultButtonsToolbarNext = exports.DefaultButtonsToolbarNext = [_types2.IconTypes.strong, _types2.IconTypes.em, _types2.IconTypes.underline];
|
|
13
14
|
var DefaultButtonsMenu = exports.DefaultButtonsMenu = [_types2.IconTypes.underline, _types2.IconTypes.strike, _types2.IconTypes.code, _types2.IconTypes.subscript, _types2.IconTypes.superscript];
|
|
14
15
|
var DefaultButtonsMenuNext = exports.DefaultButtonsMenuNext = [_types2.IconTypes.strike, _types2.IconTypes.code, _types2.IconTypes.subscript, _types2.IconTypes.superscript];
|
|
@@ -11,7 +11,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
11
11
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
12
12
|
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
|
|
13
13
|
var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
|
|
14
|
-
var
|
|
14
|
+
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
15
|
+
var _dropdownToolbarButton = require("./dropdown-toolbar-button");
|
|
15
16
|
var _menuState = require("./hooks/menu-state");
|
|
16
17
|
var _moreButton = require("./more-button");
|
|
17
18
|
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); }
|
|
@@ -48,6 +49,9 @@ var FormattingTextDropdownMenu = exports.FormattingTextDropdownMenu = /*#__PURE_
|
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
}, [editorView.state, editorView.dispatch, closeMenu]);
|
|
52
|
+
var activeItem = items[0].items.find(function (item) {
|
|
53
|
+
return item.isActive;
|
|
54
|
+
});
|
|
51
55
|
return /*#__PURE__*/_react.default.createElement(_uiMenu.DropdownMenuWithKeyboardNavigation, {
|
|
52
56
|
mountTo: popupsMountPoint,
|
|
53
57
|
onOpenChange: closeMenu,
|
|
@@ -58,7 +62,7 @@ var FormattingTextDropdownMenu = exports.FormattingTextDropdownMenu = /*#__PURE_
|
|
|
58
62
|
items: items,
|
|
59
63
|
zIndex: _editorSharedStyles.akEditorMenuZIndex,
|
|
60
64
|
fitHeight: 188,
|
|
61
|
-
fitWidth: 136,
|
|
65
|
+
fitWidth: (0, _experiments.editorExperiment)('platform_editor_controls', 'control') ? 136 : 230,
|
|
62
66
|
shouldUseDefaultRole: true,
|
|
63
67
|
section: {
|
|
64
68
|
hasSeparator: true
|
|
@@ -86,7 +90,7 @@ var FormattingTextDropdownMenu = exports.FormattingTextDropdownMenu = /*#__PURE_
|
|
|
86
90
|
}
|
|
87
91
|
},
|
|
88
92
|
"aria-expanded": isMenuOpen
|
|
89
|
-
}) : /*#__PURE__*/_react.default.createElement(
|
|
93
|
+
}) : /*#__PURE__*/_react.default.createElement(_dropdownToolbarButton.DropdownToolbarButton, {
|
|
90
94
|
isReducedSpacing: isReducedSpacing,
|
|
91
95
|
isDisabled: false,
|
|
92
96
|
isSelected: isMenuOpen,
|
|
@@ -104,6 +108,7 @@ var FormattingTextDropdownMenu = exports.FormattingTextDropdownMenu = /*#__PURE_
|
|
|
104
108
|
setIsOpenedByKeyboard(true);
|
|
105
109
|
}
|
|
106
110
|
},
|
|
107
|
-
toolbarType: toolbarType
|
|
111
|
+
toolbarType: toolbarType,
|
|
112
|
+
iconBefore: activeItem ? activeItem === null || activeItem === void 0 ? void 0 : activeItem.elemBefore : undefined
|
|
108
113
|
}));
|
|
109
114
|
});
|
|
@@ -4,12 +4,12 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.
|
|
7
|
+
exports.DropdownToolbarButton = void 0;
|
|
8
8
|
var _react = _interopRequireDefault(require("react"));
|
|
9
9
|
var _react2 = require("@emotion/react");
|
|
10
10
|
var _styles = require("@atlaskit/editor-common/styles");
|
|
11
11
|
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
|
|
12
|
-
var
|
|
12
|
+
var _textItalicEditorItalic = _interopRequireDefault(require("@atlaskit/icon/core/migration/text-italic--editor-italic"));
|
|
13
13
|
var _chevronDown = _interopRequireDefault(require("@atlaskit/icon/utility/migration/chevron-down"));
|
|
14
14
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
15
15
|
var _types = require("./types");
|
|
@@ -20,7 +20,7 @@ var _types = require("./types");
|
|
|
20
20
|
|
|
21
21
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
22
22
|
|
|
23
|
-
var
|
|
23
|
+
var DropdownToolbarButton = exports.DropdownToolbarButton = function DropdownToolbarButton(_ref) {
|
|
24
24
|
var label = _ref.label,
|
|
25
25
|
isReducedSpacing = _ref.isReducedSpacing,
|
|
26
26
|
isDisabled = _ref.isDisabled,
|
|
@@ -28,7 +28,8 @@ var BoldToolbarButton = exports.BoldToolbarButton = function BoldToolbarButton(_
|
|
|
28
28
|
ariaExpanded = _ref['aria-expanded'],
|
|
29
29
|
onClick = _ref.onClick,
|
|
30
30
|
onKeyDown = _ref.onKeyDown,
|
|
31
|
-
toolbarType = _ref.toolbarType
|
|
31
|
+
toolbarType = _ref.toolbarType,
|
|
32
|
+
iconBefore = _ref.iconBefore;
|
|
32
33
|
var reducedSpacing = toolbarType === _types.ToolbarType.FLOATING ? 'compact' : 'none';
|
|
33
34
|
return (0, _react2.jsx)(_uiMenu.ToolbarButton
|
|
34
35
|
// eslint-disable-next-line @atlaskit/design-system/no-unsafe-style-overrides, @atlaskit/ui-styling-standard/no-imported-style-values
|
|
@@ -52,7 +53,7 @@ var BoldToolbarButton = exports.BoldToolbarButton = function BoldToolbarButton(_
|
|
|
52
53
|
_styles.triggerWrapperStylesWithPadding :
|
|
53
54
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values
|
|
54
55
|
_styles.triggerWrapperStyles
|
|
55
|
-
}, (0, _react2.jsx)(
|
|
56
|
+
}, iconBefore ? iconBefore : (0, _react2.jsx)(_textItalicEditorItalic.default, {
|
|
56
57
|
color: "currentColor",
|
|
57
58
|
spacing: "spacious",
|
|
58
59
|
label: ""
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -9,6 +10,8 @@ var _react2 = require("@emotion/react");
|
|
|
9
10
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
10
11
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
11
12
|
var _shortcut = require("@atlaskit/editor-shared-styles/shortcut");
|
|
13
|
+
var _tableCellClear = _interopRequireDefault(require("@atlaskit/icon/core/table-cell-clear"));
|
|
14
|
+
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
12
15
|
var _clearFormatting = require("../../../editor-commands/clear-formatting");
|
|
13
16
|
var _inputMethodUtils = require("../input-method-utils");
|
|
14
17
|
/**
|
|
@@ -37,6 +40,9 @@ var useClearIcon = exports.useClearIcon = function useClearIcon(_ref) {
|
|
|
37
40
|
key: 'clearFormatting',
|
|
38
41
|
command: clearFormattingToolbar,
|
|
39
42
|
content: clearFormattingLabel,
|
|
43
|
+
elemBefore: (0, _experiments.editorExperiment)('platform_editor_controls', 'variant1') ? (0, _react2.jsx)(_tableCellClear.default, {
|
|
44
|
+
label: ""
|
|
45
|
+
}) : undefined,
|
|
40
46
|
elemAfter:
|
|
41
47
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
42
48
|
(0, _react2.jsx)("div", {
|
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
exports.useHasFormattingActived = exports.useFormattingIcons = void 0;
|
|
9
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
var _react =
|
|
9
|
+
var _react = require("react");
|
|
11
10
|
var _react2 = require("@emotion/react");
|
|
12
11
|
var _analytics = require("@atlaskit/editor-common/analytics");
|
|
13
12
|
var _keymaps = require("@atlaskit/editor-common/keymaps");
|
|
14
13
|
var _messages = require("@atlaskit/editor-common/messages");
|
|
15
14
|
var _preset = require("@atlaskit/editor-common/preset");
|
|
16
15
|
var _shortcut = require("@atlaskit/editor-shared-styles/shortcut");
|
|
16
|
+
var _angleBracketsEditorCode = _interopRequireDefault(require("@atlaskit/icon/core/migration/angle-brackets--editor-code"));
|
|
17
17
|
var _textBoldEditorBold = _interopRequireDefault(require("@atlaskit/icon/core/migration/text-bold--editor-bold"));
|
|
18
18
|
var _textItalicEditorItalic = _interopRequireDefault(require("@atlaskit/icon/core/migration/text-italic--editor-italic"));
|
|
19
19
|
var _textUnderline = _interopRequireDefault(require("@atlaskit/icon/core/text-underline"));
|
|
20
|
+
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
20
21
|
var _commands = require("../../../pm-plugins/commands");
|
|
22
|
+
var _icons = require("../icons");
|
|
21
23
|
var _inputMethodUtils = require("../input-method-utils");
|
|
22
24
|
var _types = require("../types");
|
|
23
|
-
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
|
-
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 && {}.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; }
|
|
25
25
|
/**
|
|
26
26
|
* @jsxRuntime classic
|
|
27
27
|
* @jsx jsx
|
|
@@ -95,6 +95,45 @@ var IconButtons = function IconButtons(editorAnalyticsAPI, toolbarType) {
|
|
|
95
95
|
}
|
|
96
96
|
};
|
|
97
97
|
};
|
|
98
|
+
var IconBefore = {
|
|
99
|
+
strong: {
|
|
100
|
+
icon: (0, _react2.jsx)(_textBoldEditorBold.default, {
|
|
101
|
+
color: "currentColor",
|
|
102
|
+
spacing: "spacious",
|
|
103
|
+
label: ""
|
|
104
|
+
})
|
|
105
|
+
},
|
|
106
|
+
em: {
|
|
107
|
+
icon: (0, _react2.jsx)(_textItalicEditorItalic.default, {
|
|
108
|
+
color: "currentColor",
|
|
109
|
+
spacing: "spacious",
|
|
110
|
+
label: ""
|
|
111
|
+
})
|
|
112
|
+
},
|
|
113
|
+
underline: {
|
|
114
|
+
icon: (0, _react2.jsx)(_textUnderline.default, {
|
|
115
|
+
color: "currentColor",
|
|
116
|
+
spacing: "spacious",
|
|
117
|
+
label: ""
|
|
118
|
+
})
|
|
119
|
+
},
|
|
120
|
+
strike: {
|
|
121
|
+
icon: (0, _react2.jsx)(_icons.Strikethrough, null)
|
|
122
|
+
},
|
|
123
|
+
code: {
|
|
124
|
+
icon: (0, _react2.jsx)(_angleBracketsEditorCode.default, {
|
|
125
|
+
color: "currentColor",
|
|
126
|
+
spacing: "spacious",
|
|
127
|
+
label: ""
|
|
128
|
+
})
|
|
129
|
+
},
|
|
130
|
+
subscript: {
|
|
131
|
+
icon: (0, _react2.jsx)(_icons.Subscript, null)
|
|
132
|
+
},
|
|
133
|
+
superscript: {
|
|
134
|
+
icon: (0, _react2.jsx)(_icons.Superscript, null)
|
|
135
|
+
}
|
|
136
|
+
};
|
|
98
137
|
var getIcon = function getIcon(_ref) {
|
|
99
138
|
var iconType = _ref.iconType,
|
|
100
139
|
isDisabled = _ref.isDisabled,
|
|
@@ -103,6 +142,7 @@ var getIcon = function getIcon(_ref) {
|
|
|
103
142
|
editorAnalyticsAPI = _ref.editorAnalyticsAPI,
|
|
104
143
|
toolbarType = _ref.toolbarType;
|
|
105
144
|
var icon = IconButtons(editorAnalyticsAPI, toolbarType)[iconType];
|
|
145
|
+
var iconBefore = IconBefore[iconType].icon;
|
|
106
146
|
var content = intl.formatMessage(icon.message);
|
|
107
147
|
var tooltipKeymap = icon.tooltipKeymap;
|
|
108
148
|
return {
|
|
@@ -116,6 +156,7 @@ var getIcon = function getIcon(_ref) {
|
|
|
116
156
|
description: content,
|
|
117
157
|
keymap: tooltipKeymap
|
|
118
158
|
}) : undefined,
|
|
159
|
+
elemBefore: (0, _experiments.editorExperiment)('platform_editor_controls', 'variant1') ? iconBefore : undefined,
|
|
119
160
|
elemAfter: tooltipKeymap ?
|
|
120
161
|
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage, @atlaskit/ui-styling-standard/no-imported-style-values -- Ignored via go/DSP-18766
|
|
121
162
|
(0, _react2.jsx)("div", {
|
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
6
|
exports.useResponsiveToolbarButtons = exports.useResponsiveIconTypeMenu = exports.useResponsiveIconTypeButtons = void 0;
|
|
8
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
7
|
var _react = require("react");
|
|
10
8
|
var _experiments = require("@atlaskit/tmp-editor-statsig/experiments");
|
|
11
9
|
var _constants = require("../constants");
|
|
10
|
+
var _useIconList = require("./use-icon-list");
|
|
12
11
|
var useResponsiveIconTypeButtons = exports.useResponsiveIconTypeButtons = function useResponsiveIconTypeButtons(_ref) {
|
|
13
12
|
var toolbarSize = _ref.toolbarSize,
|
|
14
13
|
responsivenessEnabled = _ref.responsivenessEnabled;
|
|
@@ -41,26 +40,9 @@ var useResponsiveToolbarButtons = exports.useResponsiveToolbarButtons = function
|
|
|
41
40
|
toolbarSize: toolbarSize,
|
|
42
41
|
responsivenessEnabled: responsivenessEnabled
|
|
43
42
|
});
|
|
44
|
-
var iconsPosition = (0,
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
}
|
|
49
|
-
var isIconSingleButton = iconTypeList.includes(icon.iconMark);
|
|
50
|
-
if (isIconSingleButton) {
|
|
51
|
-
return {
|
|
52
|
-
dropdownItems: acc.dropdownItems,
|
|
53
|
-
singleItems: [].concat((0, _toConsumableArray2.default)(acc.singleItems), [icon])
|
|
54
|
-
};
|
|
55
|
-
}
|
|
56
|
-
return {
|
|
57
|
-
dropdownItems: [].concat((0, _toConsumableArray2.default)(acc.dropdownItems), [icon]),
|
|
58
|
-
singleItems: acc.singleItems
|
|
59
|
-
};
|
|
60
|
-
}, {
|
|
61
|
-
dropdownItems: [],
|
|
62
|
-
singleItems: []
|
|
63
|
-
});
|
|
64
|
-
}, [icons, iconTypeList]);
|
|
43
|
+
var iconsPosition = (0, _useIconList.useIconList)({
|
|
44
|
+
icons: icons,
|
|
45
|
+
iconTypeList: iconTypeList
|
|
46
|
+
});
|
|
65
47
|
return iconsPosition;
|
|
66
48
|
};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.useIconList = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _react = require("react");
|
|
10
|
+
var useIconList = exports.useIconList = function useIconList(_ref) {
|
|
11
|
+
var icons = _ref.icons,
|
|
12
|
+
iconTypeList = _ref.iconTypeList;
|
|
13
|
+
return (0, _react.useMemo)(function () {
|
|
14
|
+
return icons.reduce(function (acc, icon) {
|
|
15
|
+
if (!icon || !icon.iconMark) {
|
|
16
|
+
return acc;
|
|
17
|
+
}
|
|
18
|
+
var isIconSingleButton = iconTypeList.includes(icon.iconMark);
|
|
19
|
+
if (isIconSingleButton) {
|
|
20
|
+
return {
|
|
21
|
+
dropdownItems: acc.dropdownItems,
|
|
22
|
+
singleItems: [].concat((0, _toConsumableArray2.default)(acc.singleItems), [icon])
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
dropdownItems: [].concat((0, _toConsumableArray2.default)(acc.dropdownItems), [icon]),
|
|
27
|
+
singleItems: acc.singleItems
|
|
28
|
+
};
|
|
29
|
+
}, {
|
|
30
|
+
dropdownItems: [],
|
|
31
|
+
singleItems: []
|
|
32
|
+
});
|
|
33
|
+
}, [icons, iconTypeList]);
|
|
34
|
+
};
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.Superscript = exports.Subscript = exports.Strikethrough = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
/* eslint-disable @atlaskit/ui-styling-standard/enforce-style-prop */
|
|
10
|
+
|
|
11
|
+
var SVGContainer = function SVGContainer(_ref) {
|
|
12
|
+
var children = _ref.children;
|
|
13
|
+
return /*#__PURE__*/_react.default.createElement("span", {
|
|
14
|
+
style: {
|
|
15
|
+
width: "var(--ds-space-300, 24px)",
|
|
16
|
+
height: "var(--ds-space-300, 24px)",
|
|
17
|
+
display: 'flex',
|
|
18
|
+
justifyContent: 'center',
|
|
19
|
+
alignItems: 'center'
|
|
20
|
+
}
|
|
21
|
+
}, children);
|
|
22
|
+
};
|
|
23
|
+
var Strikethrough = exports.Strikethrough = function Strikethrough() {
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(SVGContainer, null, /*#__PURE__*/_react.default.createElement("svg", {
|
|
25
|
+
width: "16",
|
|
26
|
+
height: "16",
|
|
27
|
+
viewBox: "0 0 16 16",
|
|
28
|
+
fill: "none",
|
|
29
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
30
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
31
|
+
"fill-rule": "evenodd",
|
|
32
|
+
"clip-rule": "evenodd",
|
|
33
|
+
d: "M8.39644 7.25348H13.9004V7.25421H15V8.75421H1V7.25421H2.125V7.25H4.96062C4.45271 6.59457 4.15039 5.77182 4.15039 4.87845C4.15039 2.73833 5.8853 1.00342 8.02542 1.00342H11.9004V2.50342H8.02542C6.71373 2.50342 5.65039 3.56676 5.65039 4.87845C5.65039 6.14664 6.64437 7.18267 7.89576 7.25H8.23074C8.28625 7.25 8.3415 7.25117 8.39644 7.25348ZM12.1058 11.125C12.1058 10.6424 12.0175 10.1804 11.8563 9.75421H10.1705C10.4446 10.1415 10.6058 10.6144 10.6058 11.125C10.6058 12.4367 9.54243 13.5001 8.23074 13.5001H3.15064V15.0001H8.23074C10.3709 15.0001 12.1058 13.2652 12.1058 11.125Z",
|
|
34
|
+
fill: "#44546F"
|
|
35
|
+
})));
|
|
36
|
+
};
|
|
37
|
+
var Subscript = exports.Subscript = function Subscript() {
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(SVGContainer, null, /*#__PURE__*/_react.default.createElement("svg", {
|
|
39
|
+
width: "16",
|
|
40
|
+
height: "16",
|
|
41
|
+
viewBox: "0 0 16 16",
|
|
42
|
+
fill: "none",
|
|
43
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
44
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
45
|
+
"fill-rule": "evenodd",
|
|
46
|
+
"clip-rule": "evenodd",
|
|
47
|
+
d: "M5.10609 6.54799L7.88895 2.09448L9.16102 2.88936L5.99047 7.9633L9.21219 13.1191L7.94012 13.914L5.10609 9.37861L2.27207 13.914L1 13.1191L4.2217 7.9633L1.05117 2.88939L2.32324 2.09451L5.10609 6.54799ZM10.858 15.0001V13.696H12.3499V10.3153L10.8418 11.4343V9.86413L12.3138 8.83114H13.8161V13.696H14.9999V15.0001H10.858Z",
|
|
48
|
+
fill: "#44546F"
|
|
49
|
+
})));
|
|
50
|
+
};
|
|
51
|
+
var Superscript = exports.Superscript = function Superscript() {
|
|
52
|
+
return /*#__PURE__*/_react.default.createElement(SVGContainer, null, /*#__PURE__*/_react.default.createElement("svg", {
|
|
53
|
+
width: "16",
|
|
54
|
+
height: "16",
|
|
55
|
+
viewBox: "0 0 16 16",
|
|
56
|
+
fill: "none",
|
|
57
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
58
|
+
}, /*#__PURE__*/_react.default.createElement("path", {
|
|
59
|
+
"fill-rule": "evenodd",
|
|
60
|
+
"clip-rule": "evenodd",
|
|
61
|
+
d: "M10.858 7.16892V5.86487H12.3499V2.4842L10.8418 3.60312V2.03298L12.3138 1H13.8161V5.86487H14.9999V7.16892H10.858ZM5.10609 6.5479L7.88895 2.09439L9.16102 2.88927L5.99047 7.96321L9.21219 13.119L7.94012 13.9139L5.10609 9.37852L2.27207 13.9139L1 13.119L4.2217 7.96321L1.05117 2.8893L2.32324 2.09442L5.10609 6.5479Z",
|
|
62
|
+
fill: "#44546F"
|
|
63
|
+
})));
|
|
64
|
+
};
|
|
@@ -26,7 +26,7 @@ export default new SafePlugin({
|
|
|
26
26
|
const clickWasNearACodeMark = code && ($click.nodeBefore && code.isInSet($click.nodeBefore.marks) || $click.nodeAfter && code.isInSet($click.nodeAfter.marks));
|
|
27
27
|
|
|
28
28
|
// Find the starting position of the clicked dom-element
|
|
29
|
-
// TODO: Remove calls to private API
|
|
29
|
+
// TODO: ED-26962 - Remove calls to private API
|
|
30
30
|
const clickedDOMElementPosition = event.target && event.target instanceof Node && view.posAtDOM(event.target);
|
|
31
31
|
const clickNode = view.state.doc.nodeAt(clickPos);
|
|
32
32
|
const clickWasAtTextNode = !!(clickNode && clickNode.isText);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// TODO: Ideally this should use the custom toggleMark function from @atlaskit/editor-common so we also disable the options when selecting inline nodes but it disables the marks when the selection is empty at this point in time which is undesirable
|
|
1
|
+
// TODO: ED-26962 - Ideally this should use the custom toggleMark function from @atlaskit/editor-common so we also disable the options when selecting inline nodes but it disables the marks when the selection is empty at this point in time which is undesirable
|
|
2
2
|
// import { toggleMark } from '@atlaskit/editor-common/mark';
|
|
3
3
|
|
|
4
4
|
import { moveLeft as keymapMoveLeft, moveRight as keymapMoveRight } from '@atlaskit/editor-common/keymaps';
|
|
@@ -128,16 +128,7 @@ export const textFormattingPlugin = ({
|
|
|
128
128
|
pluginsOptions: {
|
|
129
129
|
selectionToolbar: () => {
|
|
130
130
|
var _api$selectionToolbar, _api$selectionToolbar2, _api$selectionToolbar3;
|
|
131
|
-
if ((api === null || api === void 0 ? void 0 : (_api$selectionToolbar = api.selectionToolbar) === null || _api$selectionToolbar === void 0 ? void 0 : (_api$selectionToolbar2 = _api$selectionToolbar.sharedState) === null || _api$selectionToolbar2 === void 0 ? void 0 : (_api$selectionToolbar3 = _api$selectionToolbar2.currentState()) === null || _api$selectionToolbar3 === void 0 ? void 0 : _api$selectionToolbar3.toolbarDocking) === '
|
|
132
|
-
exposure: true
|
|
133
|
-
})) {
|
|
134
|
-
return undefined;
|
|
135
|
-
}
|
|
136
|
-
if (editorExperiment('contextual_formatting_toolbar', true, {
|
|
137
|
-
exposure: true
|
|
138
|
-
}) || editorExperiment('platform_editor_contextual_formatting_toolbar_v2', 'variant1', {
|
|
139
|
-
exposure: true
|
|
140
|
-
}) || editorExperiment('platform_editor_contextual_formatting_toolbar_v2', 'variant2', {
|
|
131
|
+
if ((api === null || api === void 0 ? void 0 : (_api$selectionToolbar = api.selectionToolbar) === null || _api$selectionToolbar === void 0 ? void 0 : (_api$selectionToolbar2 = _api$selectionToolbar.sharedState) === null || _api$selectionToolbar2 === void 0 ? void 0 : (_api$selectionToolbar3 = _api$selectionToolbar2.currentState()) === null || _api$selectionToolbar3 === void 0 ? void 0 : _api$selectionToolbar3.toolbarDocking) === 'none' && editorExperiment('platform_editor_controls', 'variant1', {
|
|
141
132
|
exposure: true
|
|
142
133
|
})) {
|
|
143
134
|
const toolbarCustom = {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* @jsxRuntime classic
|
|
3
3
|
* @jsx jsx
|
|
4
4
|
*/
|
|
5
|
-
import { useMemo } from 'react';
|
|
5
|
+
import React, { useMemo } from 'react';
|
|
6
6
|
|
|
7
7
|
// eslint-disable-next-line @atlaskit/ui-styling-standard/use-compiled -- Ignored via go/DSP-18766
|
|
8
8
|
import { jsx } from '@emotion/react';
|
|
@@ -10,15 +10,18 @@ import { injectIntl } from 'react-intl-next';
|
|
|
10
10
|
import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
|
|
11
11
|
import { ToolbarSize } from '@atlaskit/editor-common/types';
|
|
12
12
|
import { editorExperiment } from '@atlaskit/tmp-editor-statsig/experiments';
|
|
13
|
+
import { DefaultFloatingToolbarButtonsNext } from './Toolbar/constants';
|
|
13
14
|
import { FormattingTextDropdownMenu } from './Toolbar/dropdown-menu';
|
|
14
15
|
import { useClearIcon } from './Toolbar/hooks/clear-formatting-icon';
|
|
15
16
|
import { useFormattingIcons } from './Toolbar/hooks/formatting-icons';
|
|
17
|
+
import { useIconList } from './Toolbar/hooks/use-icon-list';
|
|
18
|
+
import { SingleToolbarButtons } from './Toolbar/single-toolbar-buttons';
|
|
16
19
|
import { ToolbarType } from './Toolbar/types';
|
|
17
20
|
const FloatingToolbarSettings = {
|
|
18
21
|
disabled: false,
|
|
19
22
|
isReducedSpacing: true,
|
|
20
23
|
shouldUseResponsiveToolbar: false,
|
|
21
|
-
toolbarSize: ToolbarSize.
|
|
24
|
+
toolbarSize: ToolbarSize.S,
|
|
22
25
|
hasMoreButton: false,
|
|
23
26
|
moreButtonLabel: '',
|
|
24
27
|
toolbarType: ToolbarType.FLOATING
|
|
@@ -40,6 +43,13 @@ const FloatingToolbarTextFormat = ({
|
|
|
40
43
|
textFormattingState,
|
|
41
44
|
toolbarType: FloatingToolbarSettings.toolbarType
|
|
42
45
|
});
|
|
46
|
+
const {
|
|
47
|
+
dropdownItems,
|
|
48
|
+
singleItems
|
|
49
|
+
} = useIconList({
|
|
50
|
+
icons: defaultIcons,
|
|
51
|
+
iconTypeList: DefaultFloatingToolbarButtonsNext
|
|
52
|
+
});
|
|
43
53
|
const clearIcon = useClearIcon({
|
|
44
54
|
textFormattingState,
|
|
45
55
|
intl,
|
|
@@ -49,16 +59,20 @@ const FloatingToolbarTextFormat = ({
|
|
|
49
59
|
const items = useMemo(() => {
|
|
50
60
|
if (!clearIcon) {
|
|
51
61
|
return [{
|
|
52
|
-
items:
|
|
62
|
+
items: dropdownItems
|
|
53
63
|
}];
|
|
54
64
|
}
|
|
55
65
|
return [{
|
|
56
|
-
items:
|
|
66
|
+
items: dropdownItems
|
|
57
67
|
}, {
|
|
58
68
|
items: [clearIcon]
|
|
59
69
|
}];
|
|
60
|
-
}, [clearIcon,
|
|
61
|
-
return jsx(
|
|
70
|
+
}, [clearIcon, dropdownItems]);
|
|
71
|
+
return jsx(React.Fragment, null, jsx(SingleToolbarButtons, {
|
|
72
|
+
items: singleItems,
|
|
73
|
+
editorView: editorView,
|
|
74
|
+
isReducedSpacing: false
|
|
75
|
+
}), jsx(FormattingTextDropdownMenu, {
|
|
62
76
|
editorView: editorView,
|
|
63
77
|
items: items,
|
|
64
78
|
isReducedSpacing: editorExperiment('platform_editor_controls', 'variant1') ? false : FloatingToolbarSettings.isReducedSpacing,
|
|
@@ -67,6 +81,6 @@ const FloatingToolbarTextFormat = ({
|
|
|
67
81
|
hasMoreButton: FloatingToolbarSettings.hasMoreButton,
|
|
68
82
|
intl: intl,
|
|
69
83
|
toolbarType: FloatingToolbarSettings.toolbarType
|
|
70
|
-
});
|
|
84
|
+
}));
|
|
71
85
|
};
|
|
72
86
|
export const FloatingToolbarTextFormalWithIntl = injectIntl(FloatingToolbarTextFormat);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ToolbarSize } from '@atlaskit/editor-common/types';
|
|
2
2
|
import { IconTypes } from './types';
|
|
3
3
|
export const DefaultButtonsToolbar = [IconTypes.strong, IconTypes.em];
|
|
4
|
+
export const DefaultFloatingToolbarButtonsNext = [IconTypes.strong];
|
|
4
5
|
export const DefaultButtonsToolbarNext = [IconTypes.strong, IconTypes.em, IconTypes.underline];
|
|
5
6
|
export const DefaultButtonsMenu = [IconTypes.underline, IconTypes.strike, IconTypes.code, IconTypes.subscript, IconTypes.superscript];
|
|
6
7
|
export const DefaultButtonsMenuNext = [IconTypes.strike, IconTypes.code, IconTypes.subscript, IconTypes.superscript];
|