@atlaskit/editor-plugin-floating-toolbar 0.5.0 → 0.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 +22 -10
- package/README.md +1 -1
- package/dist/cjs/index.js +8 -1
- package/dist/cjs/plugin.js +385 -0
- package/dist/cjs/pm-plugins/force-focus/index.js +73 -0
- package/dist/cjs/pm-plugins/toolbar-data/commands.js +26 -0
- package/dist/cjs/pm-plugins/toolbar-data/plugin-factory.js +16 -0
- package/dist/cjs/pm-plugins/toolbar-data/plugin-key.js +9 -0
- package/dist/cjs/pm-plugins/toolbar-data/plugin.js +16 -0
- package/dist/cjs/pm-plugins/toolbar-data/reducer.js +25 -0
- package/dist/cjs/pm-plugins/toolbar-data/types.js +5 -0
- package/dist/cjs/ui/CheckboxModal.js +83 -0
- package/dist/cjs/ui/ConfirmationModal.js +22 -0
- package/dist/cjs/ui/Dropdown.js +212 -0
- package/dist/cjs/ui/DropdownMenu.js +218 -0
- package/dist/cjs/ui/EditorEmojiAddIcon.js +32 -0
- package/dist/cjs/ui/EmojiPickerButton.js +121 -0
- package/dist/cjs/ui/ExtensionsPlaceholder.js +179 -0
- package/dist/cjs/ui/Input.js +80 -0
- package/dist/cjs/ui/ScrollButtons.js +155 -0
- package/dist/cjs/ui/Select.js +74 -0
- package/dist/cjs/ui/Separator.js +9 -0
- package/dist/cjs/ui/SimpleModal.js +42 -0
- package/dist/cjs/ui/Toolbar.js +436 -0
- package/dist/cjs/ui/ToolbarLoader.js +25 -0
- package/dist/cjs/ui/messages.js +55 -0
- package/dist/cjs/ui/styles.js +79 -0
- package/dist/cjs/utils.js +22 -0
- package/dist/es2019/index.js +1 -1
- package/dist/es2019/plugin.js +366 -0
- package/dist/es2019/pm-plugins/force-focus/index.js +63 -0
- package/dist/es2019/pm-plugins/toolbar-data/commands.js +10 -0
- package/dist/es2019/pm-plugins/toolbar-data/plugin-factory.js +8 -0
- package/dist/es2019/pm-plugins/toolbar-data/plugin-key.js +2 -0
- package/dist/es2019/pm-plugins/toolbar-data/plugin.js +9 -0
- package/dist/es2019/pm-plugins/toolbar-data/reducer.js +16 -0
- package/dist/es2019/pm-plugins/toolbar-data/types.js +1 -0
- package/dist/es2019/ui/CheckboxModal.js +71 -0
- package/dist/es2019/ui/ConfirmationModal.js +13 -0
- package/dist/es2019/ui/Dropdown.js +185 -0
- package/dist/es2019/ui/DropdownMenu.js +205 -0
- package/dist/es2019/ui/EditorEmojiAddIcon.js +25 -0
- package/dist/es2019/ui/EmojiPickerButton.js +108 -0
- package/dist/es2019/ui/ExtensionsPlaceholder.js +100 -0
- package/dist/es2019/ui/Input.js +54 -0
- package/dist/es2019/ui/ScrollButtons.js +141 -0
- package/dist/es2019/ui/Select.js +62 -0
- package/dist/es2019/ui/Separator.js +2 -0
- package/dist/es2019/ui/SimpleModal.js +35 -0
- package/dist/es2019/ui/Toolbar.js +428 -0
- package/dist/es2019/ui/ToolbarLoader.js +6 -0
- package/dist/es2019/ui/messages.js +48 -0
- package/dist/es2019/ui/styles.js +64 -0
- package/dist/es2019/utils.js +16 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/plugin.js +373 -0
- package/dist/esm/pm-plugins/force-focus/index.js +64 -0
- package/dist/esm/pm-plugins/toolbar-data/commands.js +18 -0
- package/dist/esm/pm-plugins/toolbar-data/plugin-factory.js +8 -0
- package/dist/esm/pm-plugins/toolbar-data/plugin-key.js +2 -0
- package/dist/esm/pm-plugins/toolbar-data/plugin.js +9 -0
- package/dist/esm/pm-plugins/toolbar-data/reducer.js +17 -0
- package/dist/esm/pm-plugins/toolbar-data/types.js +1 -0
- package/dist/esm/ui/CheckboxModal.js +72 -0
- package/dist/esm/ui/ConfirmationModal.js +14 -0
- package/dist/esm/ui/Dropdown.js +204 -0
- package/dist/esm/ui/DropdownMenu.js +211 -0
- package/dist/esm/ui/EditorEmojiAddIcon.js +25 -0
- package/dist/esm/ui/EmojiPickerButton.js +114 -0
- package/dist/esm/ui/ExtensionsPlaceholder.js +168 -0
- package/dist/esm/ui/Input.js +72 -0
- package/dist/esm/ui/ScrollButtons.js +145 -0
- package/dist/esm/ui/Select.js +64 -0
- package/dist/esm/ui/Separator.js +2 -0
- package/dist/esm/ui/SimpleModal.js +31 -0
- package/dist/esm/ui/Toolbar.js +426 -0
- package/dist/esm/ui/ToolbarLoader.js +12 -0
- package/dist/esm/ui/messages.js +48 -0
- package/dist/esm/ui/styles.js +68 -0
- package/dist/esm/utils.js +16 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/plugin.d.ts +12 -0
- package/dist/types/pm-plugins/force-focus/index.d.ts +21 -0
- package/dist/types/pm-plugins/toolbar-data/commands.d.ts +3 -0
- package/dist/types/pm-plugins/toolbar-data/plugin-factory.d.ts +1 -0
- package/dist/types/pm-plugins/toolbar-data/plugin-key.d.ts +3 -0
- package/dist/types/pm-plugins/toolbar-data/plugin.d.ts +3 -0
- package/dist/types/pm-plugins/toolbar-data/reducer.d.ts +3 -0
- package/dist/types/pm-plugins/toolbar-data/types.d.ts +8 -0
- package/dist/types/ui/CheckboxModal.d.ts +4 -0
- package/dist/types/ui/ConfirmationModal.d.ts +6 -0
- package/dist/types/ui/Dropdown.d.ts +41 -0
- package/dist/types/ui/DropdownMenu.d.ts +29 -0
- package/dist/types/ui/EditorEmojiAddIcon.d.ts +2 -0
- package/dist/types/ui/EmojiPickerButton.d.ts +16 -0
- package/dist/types/ui/ExtensionsPlaceholder.d.ts +16 -0
- package/dist/types/ui/Input.d.ts +23 -0
- package/dist/types/ui/ScrollButtons.d.ts +13 -0
- package/dist/types/ui/Select.d.ts +21 -0
- package/dist/types/ui/Separator.d.ts +2 -0
- package/dist/types/ui/SimpleModal.d.ts +4 -0
- package/dist/types/ui/Toolbar.d.ts +44 -0
- package/dist/types/ui/ToolbarLoader.d.ts +4 -0
- package/dist/types/ui/messages.d.ts +48 -0
- package/dist/types/ui/styles.d.ts +20 -0
- package/dist/types/utils.d.ts +2 -0
- package/dist/types-ts4.5/index.d.ts +1 -0
- package/dist/types-ts4.5/plugin.d.ts +12 -0
- package/dist/types-ts4.5/pm-plugins/force-focus/index.d.ts +21 -0
- package/dist/types-ts4.5/pm-plugins/toolbar-data/commands.d.ts +3 -0
- package/dist/types-ts4.5/pm-plugins/toolbar-data/plugin-factory.d.ts +1 -0
- package/dist/types-ts4.5/pm-plugins/toolbar-data/plugin-key.d.ts +3 -0
- package/dist/types-ts4.5/pm-plugins/toolbar-data/plugin.d.ts +3 -0
- package/dist/types-ts4.5/pm-plugins/toolbar-data/reducer.d.ts +3 -0
- package/dist/types-ts4.5/pm-plugins/toolbar-data/types.d.ts +8 -0
- package/dist/types-ts4.5/ui/CheckboxModal.d.ts +4 -0
- package/dist/types-ts4.5/ui/ConfirmationModal.d.ts +6 -0
- package/dist/types-ts4.5/ui/Dropdown.d.ts +41 -0
- package/dist/types-ts4.5/ui/DropdownMenu.d.ts +29 -0
- package/dist/types-ts4.5/ui/EditorEmojiAddIcon.d.ts +2 -0
- package/dist/types-ts4.5/ui/EmojiPickerButton.d.ts +16 -0
- package/dist/types-ts4.5/ui/ExtensionsPlaceholder.d.ts +16 -0
- package/dist/types-ts4.5/ui/Input.d.ts +23 -0
- package/dist/types-ts4.5/ui/ScrollButtons.d.ts +13 -0
- package/dist/types-ts4.5/ui/Select.d.ts +21 -0
- package/dist/types-ts4.5/ui/Separator.d.ts +2 -0
- package/dist/types-ts4.5/ui/SimpleModal.d.ts +4 -0
- package/dist/types-ts4.5/ui/Toolbar.d.ts +44 -0
- package/dist/types-ts4.5/ui/ToolbarLoader.d.ts +4 -0
- package/dist/types-ts4.5/ui/messages.d.ts +48 -0
- package/dist/types-ts4.5/ui/styles.d.ts +20 -0
- package/dist/types-ts4.5/utils.d.ts +2 -0
- package/package.json +32 -3
- package/report.api.md +3 -0
- package/tmp/api-report-tmp.d.ts +3 -0
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.SimpleModal = void 0;
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _standardButton = _interopRequireDefault(require("@atlaskit/button/standard-button"));
|
|
11
|
+
var _modalDialog = _interopRequireWildcard(require("@atlaskit/modal-dialog"));
|
|
12
|
+
var _messages = _interopRequireDefault(require("./messages"));
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
|
+
var SimpleModal = function SimpleModal(props) {
|
|
16
|
+
var onConfirm = props.onConfirm,
|
|
17
|
+
onClose = props.onClose,
|
|
18
|
+
options = props.options,
|
|
19
|
+
formatMessage = props.intl.formatMessage,
|
|
20
|
+
testId = props.testId;
|
|
21
|
+
var heading = (options === null || options === void 0 ? void 0 : options.title) || formatMessage(_messages.default.confirmModalDefaultHeading);
|
|
22
|
+
var okButtonLabel = (options === null || options === void 0 ? void 0 : options.okButtonLabel) || formatMessage(_messages.default.confirmModalOK);
|
|
23
|
+
var cancelButtonLabel = (options === null || options === void 0 ? void 0 : options.cancelButtonLabel) || formatMessage(_messages.default.confirmModalCancel);
|
|
24
|
+
return /*#__PURE__*/_react.default.createElement(_modalDialog.default, {
|
|
25
|
+
onClose: onClose,
|
|
26
|
+
testId: testId
|
|
27
|
+
}, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalHeader, null, /*#__PURE__*/_react.default.createElement(_modalDialog.ModalTitle, {
|
|
28
|
+
appearance: "warning"
|
|
29
|
+
}, heading)), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalBody, null, /*#__PURE__*/_react.default.createElement("p", null, options === null || options === void 0 ? void 0 : options.message)), /*#__PURE__*/_react.default.createElement(_modalDialog.ModalFooter, null, /*#__PURE__*/_react.default.createElement(_standardButton.default, {
|
|
30
|
+
appearance: "default",
|
|
31
|
+
onClick: onClose,
|
|
32
|
+
testId: testId ? "".concat(testId, "-cancel-button") : undefined
|
|
33
|
+
}, cancelButtonLabel), /*#__PURE__*/_react.default.createElement(_standardButton.default, {
|
|
34
|
+
appearance: "warning",
|
|
35
|
+
onClick: function onClick() {
|
|
36
|
+
onConfirm();
|
|
37
|
+
onClose();
|
|
38
|
+
},
|
|
39
|
+
testId: testId ? "".concat(testId, "-confirm-button") : undefined
|
|
40
|
+
}, okButtonLabel)));
|
|
41
|
+
};
|
|
42
|
+
exports.SimpleModal = SimpleModal;
|
|
@@ -0,0 +1,436 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
13
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
15
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
16
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
17
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
18
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
19
|
+
var _react2 = require("@emotion/react");
|
|
20
|
+
var _reactIntlNext = require("react-intl-next");
|
|
21
|
+
var _buttonGroup = _interopRequireDefault(require("@atlaskit/button/button-group"));
|
|
22
|
+
var _floatingToolbar = require("@atlaskit/editor-common/floating-toolbar");
|
|
23
|
+
var _ui = require("@atlaskit/editor-common/ui");
|
|
24
|
+
var _uiColor = require("@atlaskit/editor-common/ui-color");
|
|
25
|
+
var _uiMenu = require("@atlaskit/editor-common/ui-menu");
|
|
26
|
+
var _editorPalette = require("@atlaskit/editor-palette");
|
|
27
|
+
var _commands = require("@atlaskit/editor-plugin-table/commands");
|
|
28
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
29
|
+
var _components = require("@atlaskit/theme/components");
|
|
30
|
+
var _constants = require("@atlaskit/theme/constants");
|
|
31
|
+
var _forceFocus = require("../pm-plugins/force-focus");
|
|
32
|
+
var _commands2 = require("../pm-plugins/toolbar-data/commands");
|
|
33
|
+
var _Dropdown = _interopRequireDefault(require("./Dropdown"));
|
|
34
|
+
var _EmojiPickerButton = require("./EmojiPickerButton");
|
|
35
|
+
var _ExtensionsPlaceholder = require("./ExtensionsPlaceholder");
|
|
36
|
+
var _Input = _interopRequireDefault(require("./Input"));
|
|
37
|
+
var _messages = _interopRequireDefault(require("./messages"));
|
|
38
|
+
var _ScrollButtons = require("./ScrollButtons");
|
|
39
|
+
var _Select = _interopRequireDefault(require("./Select"));
|
|
40
|
+
var _Separator = _interopRequireDefault(require("./Separator"));
|
|
41
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5, _templateObject6, _templateObject7, _templateObject8, _templateObject9, _templateObject10, _templateObject11, _templateObject12, _templateObject13;
|
|
42
|
+
/** @jsx jsx */
|
|
43
|
+
// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
|
|
44
|
+
// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
|
|
45
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
46
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
47
|
+
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); }; }
|
|
48
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
49
|
+
var ToolbarItems = /*#__PURE__*/_react.default.memo(function (_ref) {
|
|
50
|
+
var items = _ref.items,
|
|
51
|
+
dispatchCommand = _ref.dispatchCommand,
|
|
52
|
+
popupsMountPoint = _ref.popupsMountPoint,
|
|
53
|
+
popupsBoundariesElement = _ref.popupsBoundariesElement,
|
|
54
|
+
editorView = _ref.editorView,
|
|
55
|
+
dispatchAnalyticsEvent = _ref.dispatchAnalyticsEvent,
|
|
56
|
+
popupsScrollableElement = _ref.popupsScrollableElement,
|
|
57
|
+
scrollable = _ref.scrollable,
|
|
58
|
+
providerFactory = _ref.providerFactory,
|
|
59
|
+
extensionsProvider = _ref.extensionsProvider,
|
|
60
|
+
node = _ref.node,
|
|
61
|
+
setDisableScroll = _ref.setDisableScroll,
|
|
62
|
+
mountRef = _ref.mountRef,
|
|
63
|
+
featureFlags = _ref.featureFlags,
|
|
64
|
+
api = _ref.api;
|
|
65
|
+
var emojiAndColourPickerMountPoint = scrollable ? popupsMountPoint || (editorView === null || editorView === void 0 ? void 0 : editorView.dom.closest('.fabric-editor-popup-scroll-parent')) || (editorView === null || editorView === void 0 ? void 0 : editorView.dom.closest('.ak-editor-content-area')) || undefined : popupsMountPoint;
|
|
66
|
+
return (0, _react2.jsx)(_buttonGroup.default, null, items.filter(function (item) {
|
|
67
|
+
return !item.hidden;
|
|
68
|
+
}).map(function (item, idx) {
|
|
69
|
+
var _api$contextPanel, _api$extension;
|
|
70
|
+
switch (item.type) {
|
|
71
|
+
case 'button':
|
|
72
|
+
var ButtonIcon = item.icon;
|
|
73
|
+
var onClickHandler = function onClickHandler() {
|
|
74
|
+
if (item.confirmDialog) {
|
|
75
|
+
dispatchCommand((0, _commands2.showConfirmDialog)(idx));
|
|
76
|
+
} else {
|
|
77
|
+
dispatchCommand(item.onClick);
|
|
78
|
+
if (item.focusEditoronEnter && !(editorView !== null && editorView !== void 0 && editorView.hasFocus())) {
|
|
79
|
+
editorView === null || editorView === void 0 ? void 0 : editorView.focus();
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
return (0, _react2.jsx)(_ui.FloatingToolbarButton, {
|
|
84
|
+
className: item.className,
|
|
85
|
+
key: idx,
|
|
86
|
+
title: item.title,
|
|
87
|
+
href: item.href,
|
|
88
|
+
icon: item.icon ? (0, _react2.jsx)(ButtonIcon, {
|
|
89
|
+
label: item.title
|
|
90
|
+
}) : undefined,
|
|
91
|
+
appearance: item.appearance,
|
|
92
|
+
target: item.target,
|
|
93
|
+
onClick: onClickHandler,
|
|
94
|
+
onMouseEnter: function onMouseEnter() {
|
|
95
|
+
return dispatchCommand(item.onMouseEnter);
|
|
96
|
+
},
|
|
97
|
+
onMouseLeave: function onMouseLeave() {
|
|
98
|
+
return dispatchCommand(item.onMouseLeave);
|
|
99
|
+
},
|
|
100
|
+
onFocus: function onFocus() {
|
|
101
|
+
return dispatchCommand(item.onFocus);
|
|
102
|
+
},
|
|
103
|
+
onBlur: function onBlur() {
|
|
104
|
+
return dispatchCommand(item.onBlur);
|
|
105
|
+
},
|
|
106
|
+
selected: item.selected,
|
|
107
|
+
disabled: item.disabled,
|
|
108
|
+
tooltipContent: item.tooltipContent,
|
|
109
|
+
testId: item.testId,
|
|
110
|
+
hideTooltipOnClick: item.hideTooltipOnClick,
|
|
111
|
+
ariaHasPopup: item.ariaHasPopup,
|
|
112
|
+
tabIndex: item.tabIndex
|
|
113
|
+
}, item.showTitle && item.title);
|
|
114
|
+
case 'input':
|
|
115
|
+
return (0, _react2.jsx)(_Input.default, {
|
|
116
|
+
key: idx,
|
|
117
|
+
mountPoint: popupsMountPoint,
|
|
118
|
+
boundariesElement: popupsBoundariesElement,
|
|
119
|
+
defaultValue: item.defaultValue,
|
|
120
|
+
placeholder: item.placeholder,
|
|
121
|
+
onSubmit: function onSubmit(value) {
|
|
122
|
+
return dispatchCommand(item.onSubmit(value));
|
|
123
|
+
},
|
|
124
|
+
onBlur: function onBlur(value) {
|
|
125
|
+
return dispatchCommand(item.onBlur(value));
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
case 'custom':
|
|
129
|
+
{
|
|
130
|
+
return item.render(editorView, idx, dispatchAnalyticsEvent);
|
|
131
|
+
}
|
|
132
|
+
case 'dropdown':
|
|
133
|
+
var DropdownIcon = item.icon;
|
|
134
|
+
return (0, _react2.jsx)(_Dropdown.default, {
|
|
135
|
+
key: idx,
|
|
136
|
+
title: item.title,
|
|
137
|
+
icon: DropdownIcon && (0, _react2.jsx)(DropdownIcon, {
|
|
138
|
+
label: item.title
|
|
139
|
+
}),
|
|
140
|
+
dispatchCommand: dispatchCommand,
|
|
141
|
+
options: item.options,
|
|
142
|
+
disabled: item.disabled,
|
|
143
|
+
tooltip: item.tooltip,
|
|
144
|
+
hideExpandIcon: item.hideExpandIcon,
|
|
145
|
+
mountPoint: popupsMountPoint,
|
|
146
|
+
boundariesElement: popupsBoundariesElement,
|
|
147
|
+
scrollableElement: popupsScrollableElement,
|
|
148
|
+
dropdownWidth: item.dropdownWidth,
|
|
149
|
+
showSelected: item.showSelected,
|
|
150
|
+
buttonTestId: item.testId,
|
|
151
|
+
editorView: editorView,
|
|
152
|
+
setDisableParentScroll: scrollable ? setDisableScroll : undefined,
|
|
153
|
+
dropdownListId: (item === null || item === void 0 ? void 0 : item.id) && "".concat(item.id, "-dropdownList"),
|
|
154
|
+
alignDropdownWithToolbar: items.length === 1
|
|
155
|
+
});
|
|
156
|
+
case 'select':
|
|
157
|
+
if (item.selectType === 'list') {
|
|
158
|
+
var ariaLabel = item.title || item.placeholder;
|
|
159
|
+
return (0, _react2.jsx)(_Select.default, {
|
|
160
|
+
key: idx,
|
|
161
|
+
dispatchCommand: dispatchCommand,
|
|
162
|
+
options: item.options,
|
|
163
|
+
hideExpandIcon: item.hideExpandIcon,
|
|
164
|
+
mountPoint: scrollable ? mountRef.current : undefined,
|
|
165
|
+
boundariesElement: popupsBoundariesElement,
|
|
166
|
+
scrollableElement: popupsScrollableElement,
|
|
167
|
+
defaultValue: item.defaultValue,
|
|
168
|
+
placeholder: item.placeholder,
|
|
169
|
+
onChange: function onChange(selected) {
|
|
170
|
+
return dispatchCommand(item.onChange(selected));
|
|
171
|
+
},
|
|
172
|
+
ariaLabel: ariaLabel,
|
|
173
|
+
filterOption: item.filterOption,
|
|
174
|
+
setDisableParentScroll: scrollable ? setDisableScroll : undefined,
|
|
175
|
+
classNamePrefix: 'floating-toolbar-select'
|
|
176
|
+
});
|
|
177
|
+
}
|
|
178
|
+
if (item.selectType === 'color') {
|
|
179
|
+
return (0, _react2.jsx)(_uiMenu.ColorPickerButton, {
|
|
180
|
+
skipFocusButtonAfterPick: true,
|
|
181
|
+
key: idx,
|
|
182
|
+
title: item.title,
|
|
183
|
+
onChange: function onChange(selected) {
|
|
184
|
+
dispatchCommand(item.onChange(selected));
|
|
185
|
+
},
|
|
186
|
+
colorPalette: item.options,
|
|
187
|
+
currentColor: item.defaultValue ? item.defaultValue.value : undefined,
|
|
188
|
+
placement: "Panels",
|
|
189
|
+
mountPoint: emojiAndColourPickerMountPoint,
|
|
190
|
+
setDisableParentScroll: scrollable ? setDisableScroll : undefined
|
|
191
|
+
// Currently in floating toolbar, color picker is only
|
|
192
|
+
// used in panel and table cell background color.
|
|
193
|
+
// Both uses same color palette.
|
|
194
|
+
// That's why hard-coding hexToEditorBackgroundPaletteColor
|
|
195
|
+
// and paletteColorTooltipMessages.
|
|
196
|
+
// When we need to support different color palette
|
|
197
|
+
// in floating toolbar, we need to set hexToPaletteColor
|
|
198
|
+
// and paletteColorTooltipMessages in item options.
|
|
199
|
+
,
|
|
200
|
+
hexToPaletteColor: _editorPalette.hexToEditorBackgroundPaletteColor,
|
|
201
|
+
paletteColorTooltipMessages: _uiColor.backgroundPaletteTooltipMessages
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
if (item.selectType === 'emoji') {
|
|
205
|
+
return (0, _react2.jsx)(_EmojiPickerButton.EmojiPickerButton, {
|
|
206
|
+
key: idx,
|
|
207
|
+
editorView: editorView,
|
|
208
|
+
title: item.title,
|
|
209
|
+
providerFactory: providerFactory,
|
|
210
|
+
isSelected: item.selected,
|
|
211
|
+
onChange: function onChange(selected) {
|
|
212
|
+
return dispatchCommand(item.onChange(selected));
|
|
213
|
+
},
|
|
214
|
+
mountPoint: emojiAndColourPickerMountPoint,
|
|
215
|
+
setDisableParentScroll: scrollable ? setDisableScroll : undefined
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
return null;
|
|
219
|
+
case 'extensions-placeholder':
|
|
220
|
+
if (!editorView || !extensionsProvider) {
|
|
221
|
+
return null;
|
|
222
|
+
}
|
|
223
|
+
var _ref2 = featureFlags || {},
|
|
224
|
+
extendFloatingToolbar = _ref2.extendFloatingToolbar;
|
|
225
|
+
if (!extendFloatingToolbar) {
|
|
226
|
+
return null;
|
|
227
|
+
}
|
|
228
|
+
return (0, _react2.jsx)(_ExtensionsPlaceholder.ExtensionsPlaceholder, {
|
|
229
|
+
key: idx,
|
|
230
|
+
node: node,
|
|
231
|
+
editorView: editorView,
|
|
232
|
+
extensionProvider: extensionsProvider,
|
|
233
|
+
separator: item.separator,
|
|
234
|
+
applyChangeToContextPanel: api === null || api === void 0 ? void 0 : (_api$contextPanel = api.contextPanel) === null || _api$contextPanel === void 0 ? void 0 : _api$contextPanel.actions.applyChange,
|
|
235
|
+
extensionApi: api === null || api === void 0 ? void 0 : (_api$extension = api.extension) === null || _api$extension === void 0 ? void 0 : _api$extension.actions.api()
|
|
236
|
+
});
|
|
237
|
+
case 'separator':
|
|
238
|
+
return (0, _react2.jsx)(_Separator.default, {
|
|
239
|
+
key: idx
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
}));
|
|
243
|
+
}, function (prevProps, nextProps) {
|
|
244
|
+
if (!nextProps.node) {
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
// only rerender toolbar items if the node is different
|
|
248
|
+
// otherwise it causes an issue where multiple popups stays open
|
|
249
|
+
return !(prevProps.node.type !== nextProps.node.type || prevProps.node.attrs.localId !== nextProps.node.attrs.localId || !(0, _floatingToolbar.areSameItems)(prevProps.items, nextProps.items) || !prevProps.mounted !== !nextProps.mounted);
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
|
|
253
|
+
var toolbarContainer = function toolbarContainer(theme, scrollable, hasSelect, firstElementIsSelect) {
|
|
254
|
+
return (0, _react2.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n background-color: ", ";\n border-radius: ", "px;\n box-shadow: ", ";\n display: flex;\n line-height: 1;\n box-sizing: border-box;\n\n & > div > div {\n align-items: center;\n }\n ", "\n"])), (0, _components.themed)({
|
|
255
|
+
light: "var(--ds-surface-overlay, white)",
|
|
256
|
+
dark: "var(--ds-surface-overlay, ".concat(_colors.DN70, ")")
|
|
257
|
+
})(theme), (0, _constants.borderRadius)(), "var(--ds-shadow-overlay, ".concat("0 0 1px rgba(9, 30, 66, 0.31), 0 4px 8px -2px rgba(9, 30, 66, 0.25)", ")"), scrollable ? (0, _react2.css)(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n overflow: hidden;\n "])), hasSelect ? (0, _react2.css)(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2.default)(["\n height: 40px;\n "]))) : (0, _react2.css)(_templateObject4 || (_templateObject4 = (0, _taggedTemplateLiteral2.default)(["\n height: 32px;\n "])))) : (0, _react2.css)(_templateObject5 || (_templateObject5 = (0, _taggedTemplateLiteral2.default)(["\n padding: ", " ", ";\n ", "\n "])), "var(--ds-space-050, 4px)", "var(--ds-space-100, 8px)", firstElementIsSelect && (0, _react2.css)(_templateObject6 || (_templateObject6 = (0, _taggedTemplateLiteral2.default)(["\n padding-left: ", ";\n "])), "var(--ds-space-050, 4px)")));
|
|
258
|
+
};
|
|
259
|
+
|
|
260
|
+
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
|
|
261
|
+
var toolbarOverflow = function toolbarOverflow(scrollable, scrollDisabled, firstElementIsSelect) {
|
|
262
|
+
return (0, _react2.css)(_templateObject7 || (_templateObject7 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n"])), scrollable ? (0, _react2.css)(_templateObject8 || (_templateObject8 = (0, _taggedTemplateLiteral2.default)(["\n ", "\n -webkit-overflow-scrolling: touch;\n padding: ", " 0 50px;\n > div {\n > div:first-child {\n ", "\n }\n > div:last-child {\n margin-right: ", ";\n }\n }\n "])), scrollDisabled ? (0, _react2.css)(_templateObject9 || (_templateObject9 = (0, _taggedTemplateLiteral2.default)(["\n overflow: hidden;\n "]))) : (0, _react2.css)(_templateObject10 || (_templateObject10 = (0, _taggedTemplateLiteral2.default)(["\n overflow-x: auto;\n overflow-y: hidden;\n "]))), "var(--ds-space-050, 4px)", firstElementIsSelect ? (0, _react2.css)(_templateObject11 || (_templateObject11 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: ", ";\n "])), "var(--ds-space-050, 4px)") : (0, _react2.css)(_templateObject12 || (_templateObject12 = (0, _taggedTemplateLiteral2.default)(["\n margin-left: ", ";\n "])), "var(--ds-space-100, 8px)"), "var(--ds-space-100, 8px)") : (0, _react2.css)(_templateObject13 || (_templateObject13 = (0, _taggedTemplateLiteral2.default)(["\n display: flex;\n "]))));
|
|
263
|
+
};
|
|
264
|
+
// eslint-disable-next-line @repo/internal/react/no-class-components
|
|
265
|
+
var Toolbar = /*#__PURE__*/function (_Component) {
|
|
266
|
+
(0, _inherits2.default)(Toolbar, _Component);
|
|
267
|
+
var _super = _createSuper(Toolbar);
|
|
268
|
+
function Toolbar(props) {
|
|
269
|
+
var _this;
|
|
270
|
+
(0, _classCallCheck2.default)(this, Toolbar);
|
|
271
|
+
_this = _super.call(this, props);
|
|
272
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "shouldHandleArrowKeys", function () {
|
|
273
|
+
var _this$props$items;
|
|
274
|
+
//To prevent the keydown handling of arrow keys for custom toolbar items with 'disableArrowNavigation' prop enabled,
|
|
275
|
+
//Usually the button which has menus or popups
|
|
276
|
+
return !((_this$props$items = _this.props.items) !== null && _this$props$items !== void 0 && _this$props$items.find(function (item) {
|
|
277
|
+
return item.type === 'custom' && item.disableArrowNavigation;
|
|
278
|
+
}));
|
|
279
|
+
});
|
|
280
|
+
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleEscape", function (event) {
|
|
281
|
+
var _this$props$editorVie;
|
|
282
|
+
// If any menu is open inside the floating toolbar 'Esc' key should not
|
|
283
|
+
// focus the editorview.
|
|
284
|
+
// Event can't be stopped as they are not childnodes of floating toolbar
|
|
285
|
+
|
|
286
|
+
var isDropdownOpen = !!document.querySelector('[data-role="droplistContent"]');
|
|
287
|
+
var isSelectMenuOpen = !!document.querySelector('.floating-toolbar-select__menu');
|
|
288
|
+
if (isDropdownOpen || isSelectMenuOpen) {
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
(_this$props$editorVie = _this.props.editorView) === null || _this$props$editorVie === void 0 ? void 0 : _this$props$editorVie.focus();
|
|
292
|
+
event.preventDefault();
|
|
293
|
+
event.stopPropagation();
|
|
294
|
+
});
|
|
295
|
+
_this.scrollContainerRef = /*#__PURE__*/_react.default.createRef();
|
|
296
|
+
_this.mountRef = /*#__PURE__*/_react.default.createRef();
|
|
297
|
+
_this.toolbarContainerRef = /*#__PURE__*/_react.default.createRef();
|
|
298
|
+
_this.state = {
|
|
299
|
+
scrollDisabled: false,
|
|
300
|
+
mounted: false
|
|
301
|
+
};
|
|
302
|
+
return _this;
|
|
303
|
+
}
|
|
304
|
+
// remove any decorations added by toolbar buttons i.e danger and selected styling
|
|
305
|
+
// this prevents https://product-fabric.atlassian.net/browse/ED-10207
|
|
306
|
+
(0, _createClass2.default)(Toolbar, [{
|
|
307
|
+
key: "resetStyling",
|
|
308
|
+
value: function resetStyling(_ref3) {
|
|
309
|
+
var table = _ref3.table;
|
|
310
|
+
if (this.props.editorView) {
|
|
311
|
+
var _this$props$api;
|
|
312
|
+
var _this$props$editorVie2 = this.props.editorView,
|
|
313
|
+
state = _this$props$editorVie2.state,
|
|
314
|
+
dispatch = _this$props$editorVie2.dispatch;
|
|
315
|
+
if (table) {
|
|
316
|
+
return (0, _commands.clearHoverSelection)()(state, dispatch);
|
|
317
|
+
}
|
|
318
|
+
(_this$props$api = this.props.api) === null || _this$props$api === void 0 ? void 0 : _this$props$api.decorations.actions.removeDecoration(state, dispatch);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}, {
|
|
322
|
+
key: "setDisableScroll",
|
|
323
|
+
value: function setDisableScroll(disabled) {
|
|
324
|
+
var _this2 = this;
|
|
325
|
+
// wait before setting disabled state incase users jumping from one popup to another
|
|
326
|
+
if (disabled) {
|
|
327
|
+
requestAnimationFrame(function () {
|
|
328
|
+
_this2.setState({
|
|
329
|
+
scrollDisabled: disabled
|
|
330
|
+
});
|
|
331
|
+
});
|
|
332
|
+
} else {
|
|
333
|
+
this.setState({
|
|
334
|
+
scrollDisabled: disabled
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
}
|
|
338
|
+
}, {
|
|
339
|
+
key: "componentDidMount",
|
|
340
|
+
value: function componentDidMount() {
|
|
341
|
+
this.setState({
|
|
342
|
+
mounted: true
|
|
343
|
+
});
|
|
344
|
+
}
|
|
345
|
+
}, {
|
|
346
|
+
key: "componentDidUpdate",
|
|
347
|
+
value: function componentDidUpdate(prevProps) {
|
|
348
|
+
var _this$props;
|
|
349
|
+
(0, _forceFocus.checkShouldForceFocusAndApply)((_this$props = this.props) === null || _this$props === void 0 ? void 0 : _this$props.editorView);
|
|
350
|
+
if (this.props.node !== prevProps.node) {
|
|
351
|
+
this.resetStyling({
|
|
352
|
+
table: (prevProps === null || prevProps === void 0 ? void 0 : prevProps.node.type.name) === 'table'
|
|
353
|
+
});
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
}, {
|
|
357
|
+
key: "componentWillUnmount",
|
|
358
|
+
value: function componentWillUnmount() {
|
|
359
|
+
var editorView = this.props.editorView;
|
|
360
|
+
if (editorView) {
|
|
361
|
+
var tr = editorView.state.tr,
|
|
362
|
+
dispatch = editorView.dispatch;
|
|
363
|
+
dispatch((0, _forceFocus.forceFocusSelector)(null)(tr));
|
|
364
|
+
}
|
|
365
|
+
this.resetStyling({
|
|
366
|
+
table: this.props.node.type.name === 'table'
|
|
367
|
+
});
|
|
368
|
+
}
|
|
369
|
+
}, {
|
|
370
|
+
key: "render",
|
|
371
|
+
value: function render() {
|
|
372
|
+
var _this$props2 = this.props,
|
|
373
|
+
items = _this$props2.items,
|
|
374
|
+
className = _this$props2.className,
|
|
375
|
+
node = _this$props2.node,
|
|
376
|
+
intl = _this$props2.intl,
|
|
377
|
+
scrollable = _this$props2.scrollable;
|
|
378
|
+
if (!items || !items.length) {
|
|
379
|
+
return null;
|
|
380
|
+
}
|
|
381
|
+
|
|
382
|
+
// Select has left padding of 4px to the border, everything else 8px
|
|
383
|
+
var firstElementIsSelect = items[0].type === 'select';
|
|
384
|
+
var hasSelect = items.find(function (item) {
|
|
385
|
+
return item.type === 'select' && item.selectType === 'list';
|
|
386
|
+
});
|
|
387
|
+
var isShortcutToFocusToolbar = function isShortcutToFocusToolbar(event) {
|
|
388
|
+
//Alt + F10 to reach first element in this floating toolbar
|
|
389
|
+
return event.altKey && (event.key === 'F10' || event.keyCode === 121);
|
|
390
|
+
};
|
|
391
|
+
return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_uiMenu.ToolbarArrowKeyNavigationProvider, {
|
|
392
|
+
editorView: this.props.editorView,
|
|
393
|
+
handleEscape: this.handleEscape,
|
|
394
|
+
disableArrowKeyNavigation: !this.shouldHandleArrowKeys(),
|
|
395
|
+
childComponentSelector: "[data-testid='editor-floating-toolbar']",
|
|
396
|
+
isShortcutToFocusToolbar: isShortcutToFocusToolbar,
|
|
397
|
+
intl: intl
|
|
398
|
+
}, (0, _react2.jsx)("div", {
|
|
399
|
+
ref: this.toolbarContainerRef,
|
|
400
|
+
css: function css(theme) {
|
|
401
|
+
return [toolbarContainer({
|
|
402
|
+
theme: theme
|
|
403
|
+
}, scrollable, hasSelect !== undefined, firstElementIsSelect)];
|
|
404
|
+
},
|
|
405
|
+
"aria-label": intl.formatMessage(_messages.default.floatingToolbarAriaLabel),
|
|
406
|
+
role: "toolbar",
|
|
407
|
+
"data-testid": "editor-floating-toolbar",
|
|
408
|
+
className: className
|
|
409
|
+
}, (0, _react2.jsx)(_ui.Announcer, {
|
|
410
|
+
text: intl.formatMessage(_messages.default.floatingToolbarAnnouncer),
|
|
411
|
+
delay: 250
|
|
412
|
+
}), (0, _react2.jsx)("div", {
|
|
413
|
+
"data-testid": "floating-toolbar-items",
|
|
414
|
+
ref: this.scrollContainerRef
|
|
415
|
+
// eslint-disable-next-line @atlaskit/design-system/consistent-css-prop-usage
|
|
416
|
+
,
|
|
417
|
+
css: toolbarOverflow(scrollable, this.state.scrollDisabled, firstElementIsSelect)
|
|
418
|
+
}, (0, _react2.jsx)(ToolbarItems, (0, _extends2.default)({}, this.props, {
|
|
419
|
+
setDisableScroll: this.setDisableScroll.bind(this),
|
|
420
|
+
mountRef: this.mountRef,
|
|
421
|
+
mounted: this.state.mounted,
|
|
422
|
+
featureFlags: this.props.featureFlags
|
|
423
|
+
}))), scrollable && (0, _react2.jsx)(_ScrollButtons.ScrollButtons, {
|
|
424
|
+
intl: intl,
|
|
425
|
+
scrollContainerRef: this.scrollContainerRef,
|
|
426
|
+
node: node,
|
|
427
|
+
disabled: this.state.scrollDisabled
|
|
428
|
+
})), (0, _react2.jsx)("div", {
|
|
429
|
+
ref: this.mountRef
|
|
430
|
+
})));
|
|
431
|
+
}
|
|
432
|
+
}]);
|
|
433
|
+
return Toolbar;
|
|
434
|
+
}(_react.Component);
|
|
435
|
+
var _default = (0, _reactIntlNext.injectIntl)(Toolbar);
|
|
436
|
+
exports.default = _default;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.ToolbarLoader = void 0;
|
|
8
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
9
|
+
var _reactLoadable = _interopRequireDefault(require("react-loadable"));
|
|
10
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || (0, _typeof2.default)(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
12
|
+
var ToolbarLoader = (0, _reactLoadable.default)({
|
|
13
|
+
loader: function loader() {
|
|
14
|
+
return Promise.resolve().then(function () {
|
|
15
|
+
return _interopRequireWildcard(require( /* webpackChunkName: "@atlaskit-internal_editor-core-floating-toolbar" */
|
|
16
|
+
'./Toolbar'));
|
|
17
|
+
}).then(function (mod) {
|
|
18
|
+
return mod.default;
|
|
19
|
+
});
|
|
20
|
+
},
|
|
21
|
+
loading: function loading() {
|
|
22
|
+
return null;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
exports.ToolbarLoader = ToolbarLoader;
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var _reactIntlNext = require("react-intl-next");
|
|
8
|
+
var _default = (0, _reactIntlNext.defineMessages)({
|
|
9
|
+
confirmModalDefaultHeading: {
|
|
10
|
+
id: 'fabric.editor.floatingToolbar.confirmModalHeading',
|
|
11
|
+
defaultMessage: 'Are you sure?',
|
|
12
|
+
description: 'Default heading of floating toolbar confirmation modal.'
|
|
13
|
+
},
|
|
14
|
+
confirmModalOK: {
|
|
15
|
+
id: 'fabric.editor.floatingToolbar.confirmModalOK',
|
|
16
|
+
defaultMessage: 'OK',
|
|
17
|
+
description: 'OK button for floating toolbar confirmation modal.'
|
|
18
|
+
},
|
|
19
|
+
confirmModalCancel: {
|
|
20
|
+
id: 'fabric.editor.floatingToolbar.confirmModalCancel',
|
|
21
|
+
defaultMessage: 'Cancel',
|
|
22
|
+
description: 'Cancel button for floating toolbar confirmation modal.'
|
|
23
|
+
},
|
|
24
|
+
confirmModalListUnit: {
|
|
25
|
+
id: 'fabric.editor.floatingToolbar.confirmModalConnectedUnit',
|
|
26
|
+
defaultMessage: '{name}{amount, plural, =0 {} one { (+1 connected element)} other { (+# connected elements)}}',
|
|
27
|
+
description: 'Text displayed in confirmation modal which highlights the nodes and the amount of connected nodes that will be deleted'
|
|
28
|
+
},
|
|
29
|
+
confirmDeleteLinkedModalMessage: {
|
|
30
|
+
id: 'fabric.editor.extension.confirmDeleteLinkedModalMessage',
|
|
31
|
+
defaultMessage: 'Deleting {nodeName} will break anything connected to it.',
|
|
32
|
+
description: 'Message for confirm modal when deleting a extension linked to an data consumer.'
|
|
33
|
+
},
|
|
34
|
+
floatingToolbarAriaLabel: {
|
|
35
|
+
id: 'fabric.editor.floatingToolbar.floatingToolbarAriaLabel',
|
|
36
|
+
defaultMessage: 'Floating Toolbar',
|
|
37
|
+
description: "a floating toolbar's aria label"
|
|
38
|
+
},
|
|
39
|
+
floatingToolbarAnnouncer: {
|
|
40
|
+
id: 'fabric.editor.floatingToolbar.floatingToolbarAnnouncer',
|
|
41
|
+
defaultMessage: 'Floating toolbar controls have been opened',
|
|
42
|
+
description: 'message that will be announced to screenreaders that the floating toolbar is opened'
|
|
43
|
+
},
|
|
44
|
+
floatingToolbarScrollLeft: {
|
|
45
|
+
id: 'fabric.editor.floatingToolbar.scrollLeft',
|
|
46
|
+
defaultMessage: 'Scroll left',
|
|
47
|
+
description: 'Button to scroll left when the toolbar is in the overflow state'
|
|
48
|
+
},
|
|
49
|
+
floatingToolbarScrollRight: {
|
|
50
|
+
id: 'fabric.editor.floatingToolbar.scrollRight',
|
|
51
|
+
defaultMessage: 'Scroll right',
|
|
52
|
+
description: 'Button to scroll right when the toolbar is in the overflow state'
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
exports.default = _default;
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.iconOnlySpacing = exports.getButtonStyles = void 0;
|
|
8
|
+
var _adfSchema = require("@atlaskit/adf-schema");
|
|
9
|
+
var colors = _interopRequireWildcard(require("@atlaskit/theme/colors"));
|
|
10
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
11
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
12
|
+
var background = {
|
|
13
|
+
danger: {
|
|
14
|
+
default: {
|
|
15
|
+
light: 'inherit',
|
|
16
|
+
dark: 'inherit'
|
|
17
|
+
},
|
|
18
|
+
hover: {
|
|
19
|
+
light: "var(--ds-background-neutral-subtle-hovered, ".concat(colors.N30A, ")"),
|
|
20
|
+
dark: "var(--ds-background-neutral-subtle-hovered, ".concat(colors.N30A, ")")
|
|
21
|
+
},
|
|
22
|
+
active: {
|
|
23
|
+
light: "var(--ds-background-neutral-pressed, ".concat("".concat((0, _adfSchema.hexToRgba)(colors.B75, 0.6)), ")"),
|
|
24
|
+
dark: "var(--ds-background-neutral-pressed, ".concat("".concat((0, _adfSchema.hexToRgba)(colors.B75, 0.6)), ")")
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var color = {
|
|
29
|
+
danger: {
|
|
30
|
+
default: {
|
|
31
|
+
light: "var(--ds-icon, ".concat(colors.N400, ")"),
|
|
32
|
+
dark: "var(--ds-icon, ".concat(colors.DN400, ")")
|
|
33
|
+
},
|
|
34
|
+
hover: {
|
|
35
|
+
light: "var(--ds-icon-danger, ".concat(colors.R400, ")"),
|
|
36
|
+
dark: "var(--ds-icon-danger, ".concat(colors.R400, ")")
|
|
37
|
+
},
|
|
38
|
+
active: {
|
|
39
|
+
light: "var(--ds-icon-danger, ".concat(colors.R400, ")"),
|
|
40
|
+
dark: "var(--ds-icon-danger, ".concat(colors.R400, ")")
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
var getStyles = function getStyles(property, _ref) {
|
|
45
|
+
var _ref$appearance = _ref.appearance,
|
|
46
|
+
appearance = _ref$appearance === void 0 ? 'default' : _ref$appearance,
|
|
47
|
+
_ref$state = _ref.state,
|
|
48
|
+
state = _ref$state === void 0 ? 'default' : _ref$state,
|
|
49
|
+
_ref$mode = _ref.mode,
|
|
50
|
+
mode = _ref$mode === void 0 ? 'light' : _ref$mode;
|
|
51
|
+
if (!property[appearance] || !property[appearance][state]) {
|
|
52
|
+
return 'initial';
|
|
53
|
+
}
|
|
54
|
+
return property[appearance][state][mode];
|
|
55
|
+
};
|
|
56
|
+
var iconOnlySpacing = {
|
|
57
|
+
'&&': {
|
|
58
|
+
padding: '0px',
|
|
59
|
+
/**
|
|
60
|
+
Increased specificity here because css for .hyperlink-open-link defined in
|
|
61
|
+
packages/editor/editor-core/src/ui/ContentStyles/index.tsx file
|
|
62
|
+
overrides padding left-right 2px with 4px.
|
|
63
|
+
*/
|
|
64
|
+
'&&[href]': {
|
|
65
|
+
padding: '0 2px'
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
'& > span': {
|
|
69
|
+
margin: '0px'
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
exports.iconOnlySpacing = iconOnlySpacing;
|
|
73
|
+
var getButtonStyles = function getButtonStyles(props) {
|
|
74
|
+
return {
|
|
75
|
+
background: getStyles(background, props),
|
|
76
|
+
color: getStyles(color, props)
|
|
77
|
+
};
|
|
78
|
+
};
|
|
79
|
+
exports.getButtonStyles = getButtonStyles;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.findNode = findNode;
|
|
7
|
+
// find node in descendants by condition
|
|
8
|
+
function findNode(parent, predicate) {
|
|
9
|
+
var matchedNode;
|
|
10
|
+
parent.descendants(function (node) {
|
|
11
|
+
// dont run predicate if node already found
|
|
12
|
+
if (matchedNode) {
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
if (predicate(node)) {
|
|
16
|
+
matchedNode = node;
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
return true;
|
|
20
|
+
});
|
|
21
|
+
return matchedNode;
|
|
22
|
+
}
|