@atlaskit/editor-plugin-insert-block 4.3.2 → 4.3.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 +16 -0
- package/dist/cjs/insertBlockPlugin.js +8 -2
- package/dist/cjs/ui/toolbar-components/EmojiButton.js +25 -83
- package/dist/cjs/ui/toolbar-components/InsertButton.js +250 -0
- package/dist/cjs/ui/toolbar-components/TableSizePicker.js +25 -48
- package/dist/cjs/ui/toolbar-components/hooks/useEmojiPickerPopup.js +52 -0
- package/dist/cjs/ui/toolbar-components/hooks/useInsertButtonState.js +89 -0
- package/dist/cjs/ui/toolbar-components/hooks/usePopupManager.js +65 -0
- package/dist/cjs/ui/toolbar-components/hooks/useTableSelectorPopup.js +35 -0
- package/dist/cjs/ui/toolbar-components/popups/EmojiPickerPopup.js +53 -0
- package/dist/cjs/ui/toolbar-components/popups/TableSelectorPopupWrapper.js +36 -0
- package/dist/cjs/ui/toolbar-components/shared/constants.js +18 -0
- package/dist/cjs/ui/toolbar-components/shared/types.js +5 -0
- package/dist/cjs/ui/toolbar-components.js +66 -2
- package/dist/es2019/insertBlockPlugin.js +8 -2
- package/dist/es2019/ui/toolbar-components/EmojiButton.js +24 -77
- package/dist/es2019/ui/toolbar-components/InsertButton.js +243 -0
- package/dist/es2019/ui/toolbar-components/TableSizePicker.js +26 -41
- package/dist/es2019/ui/toolbar-components/hooks/useEmojiPickerPopup.js +42 -0
- package/dist/es2019/ui/toolbar-components/hooks/useInsertButtonState.js +81 -0
- package/dist/es2019/ui/toolbar-components/hooks/usePopupManager.js +50 -0
- package/dist/es2019/ui/toolbar-components/hooks/useTableSelectorPopup.js +27 -0
- package/dist/es2019/ui/toolbar-components/popups/EmojiPickerPopup.js +47 -0
- package/dist/es2019/ui/toolbar-components/popups/TableSelectorPopupWrapper.js +30 -0
- package/dist/es2019/ui/toolbar-components/shared/constants.js +12 -0
- package/dist/es2019/ui/toolbar-components/shared/types.js +1 -0
- package/dist/es2019/ui/toolbar-components.js +63 -3
- package/dist/esm/insertBlockPlugin.js +8 -2
- package/dist/esm/ui/toolbar-components/EmojiButton.js +26 -83
- package/dist/esm/ui/toolbar-components/InsertButton.js +242 -0
- package/dist/esm/ui/toolbar-components/TableSizePicker.js +26 -48
- package/dist/esm/ui/toolbar-components/hooks/useEmojiPickerPopup.js +45 -0
- package/dist/esm/ui/toolbar-components/hooks/useInsertButtonState.js +82 -0
- package/dist/esm/ui/toolbar-components/hooks/usePopupManager.js +58 -0
- package/dist/esm/ui/toolbar-components/hooks/useTableSelectorPopup.js +28 -0
- package/dist/esm/ui/toolbar-components/popups/EmojiPickerPopup.js +46 -0
- package/dist/esm/ui/toolbar-components/popups/TableSelectorPopupWrapper.js +29 -0
- package/dist/esm/ui/toolbar-components/shared/constants.js +12 -0
- package/dist/esm/ui/toolbar-components/shared/types.js +1 -0
- package/dist/esm/ui/toolbar-components.js +67 -3
- package/dist/types/insertBlockPluginType.d.ts +2 -2
- package/dist/types/types/index.d.ts +3 -3
- package/dist/types/ui/ElementBrowser/types.d.ts +3 -3
- package/dist/types/ui/ToolbarInsertBlock/block-insert-element-browser.d.ts +8 -8
- package/dist/types/ui/ToolbarInsertBlock/block-insert-menu.d.ts +12 -12
- package/dist/types/ui/ToolbarInsertBlock/create-items.d.ts +24 -24
- package/dist/types/ui/ToolbarInsertBlock/dropdown-button.d.ts +4 -4
- package/dist/types/ui/ToolbarInsertBlock/index.d.ts +1 -1
- package/dist/types/ui/ToolbarInsertBlock/item.d.ts +2 -2
- package/dist/types/ui/ToolbarInsertBlock/types.d.ts +36 -36
- package/dist/types/ui/toolbar-components/EmojiButton.d.ts +2 -7
- package/dist/types/ui/toolbar-components/InsertButton.d.ts +18 -0
- package/dist/types/ui/toolbar-components/TableSizePicker.d.ts +3 -5
- package/dist/types/ui/toolbar-components/hooks/useEmojiPickerPopup.d.ts +20 -0
- package/dist/types/ui/toolbar-components/hooks/useInsertButtonState.d.ts +24 -0
- package/dist/types/ui/toolbar-components/hooks/usePopupManager.d.ts +21 -0
- package/dist/types/ui/toolbar-components/hooks/useTableSelectorPopup.d.ts +19 -0
- package/dist/types/ui/toolbar-components/popups/EmojiPickerPopup.d.ts +16 -0
- package/dist/types/ui/toolbar-components/popups/TableSelectorPopupWrapper.d.ts +15 -0
- package/dist/types/ui/toolbar-components/shared/constants.d.ts +12 -0
- package/dist/types/ui/toolbar-components/shared/types.d.ts +8 -0
- package/dist/types/ui/toolbar-components.d.ts +9 -2
- package/dist/types-ts4.5/insertBlockPluginType.d.ts +2 -2
- package/dist/types-ts4.5/types/index.d.ts +3 -3
- package/dist/types-ts4.5/ui/ElementBrowser/types.d.ts +3 -3
- package/dist/types-ts4.5/ui/ToolbarInsertBlock/block-insert-element-browser.d.ts +8 -8
- package/dist/types-ts4.5/ui/ToolbarInsertBlock/block-insert-menu.d.ts +12 -12
- package/dist/types-ts4.5/ui/ToolbarInsertBlock/create-items.d.ts +24 -24
- package/dist/types-ts4.5/ui/ToolbarInsertBlock/dropdown-button.d.ts +4 -4
- package/dist/types-ts4.5/ui/ToolbarInsertBlock/index.d.ts +1 -1
- package/dist/types-ts4.5/ui/ToolbarInsertBlock/item.d.ts +2 -2
- package/dist/types-ts4.5/ui/ToolbarInsertBlock/types.d.ts +36 -36
- package/dist/types-ts4.5/ui/toolbar-components/EmojiButton.d.ts +2 -7
- package/dist/types-ts4.5/ui/toolbar-components/InsertButton.d.ts +18 -0
- package/dist/types-ts4.5/ui/toolbar-components/TableSizePicker.d.ts +3 -5
- package/dist/types-ts4.5/ui/toolbar-components/hooks/useEmojiPickerPopup.d.ts +20 -0
- package/dist/types-ts4.5/ui/toolbar-components/hooks/useInsertButtonState.d.ts +24 -0
- package/dist/types-ts4.5/ui/toolbar-components/hooks/usePopupManager.d.ts +21 -0
- package/dist/types-ts4.5/ui/toolbar-components/hooks/useTableSelectorPopup.d.ts +19 -0
- package/dist/types-ts4.5/ui/toolbar-components/popups/EmojiPickerPopup.d.ts +16 -0
- package/dist/types-ts4.5/ui/toolbar-components/popups/TableSelectorPopupWrapper.d.ts +15 -0
- package/dist/types-ts4.5/ui/toolbar-components/shared/constants.d.ts +15 -0
- package/dist/types-ts4.5/ui/toolbar-components/shared/types.d.ts +8 -0
- package/dist/types-ts4.5/ui/toolbar-components.d.ts +9 -2
- package/package.json +8 -9
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useIntl } from 'react-intl-next';
|
|
3
|
+
import { useSharedPluginStateSelector } from '@atlaskit/editor-common/use-shared-plugin-state-selector';
|
|
4
|
+
import { createItems } from '../../ToolbarInsertBlock/create-items';
|
|
5
|
+
export var useInsertButtonState = function useInsertButtonState(_ref) {
|
|
6
|
+
var api = _ref.api,
|
|
7
|
+
editorView = _ref.editorView,
|
|
8
|
+
horizontalRuleEnabled = _ref.horizontalRuleEnabled,
|
|
9
|
+
insertMenuItems = _ref.insertMenuItems,
|
|
10
|
+
nativeStatusSupported = _ref.nativeStatusSupported,
|
|
11
|
+
numberOfButtons = _ref.numberOfButtons,
|
|
12
|
+
tableSelectorSupported = _ref.tableSelectorSupported,
|
|
13
|
+
expandEnabled = _ref.expandEnabled,
|
|
14
|
+
showElementBrowserLink = _ref.showElementBrowserLink;
|
|
15
|
+
var _useIntl = useIntl(),
|
|
16
|
+
formatMessage = _useIntl.formatMessage;
|
|
17
|
+
var isTypeAheadAllowed = useSharedPluginStateSelector(api, 'typeAhead.isAllowed');
|
|
18
|
+
var imageUploadEnabled = useSharedPluginStateSelector(api, 'imageUpload.enabled');
|
|
19
|
+
var mentionsSupported = !!useSharedPluginStateSelector(api, 'mention.mentionProvider');
|
|
20
|
+
var canInsertMention = useSharedPluginStateSelector(api, 'mention.canInsertMention');
|
|
21
|
+
var dateEnabled = useSharedPluginStateSelector(api, 'date.isInitialised');
|
|
22
|
+
var placeholderTextEnabled = useSharedPluginStateSelector(api, 'placeholderText.allowInserting');
|
|
23
|
+
var mediaAllowsUploads = useSharedPluginStateSelector(api, 'media.allowsUploads');
|
|
24
|
+
var canInsertLink = useSharedPluginStateSelector(api, 'hyperlink.canInsertLink');
|
|
25
|
+
var activeLinkMark = useSharedPluginStateSelector(api, 'hyperlink.activeLinkMark');
|
|
26
|
+
var connectivityMode = useSharedPluginStateSelector(api, 'connectivity.mode');
|
|
27
|
+
var emojiProvider = useSharedPluginStateSelector(api, 'emoji.emojiProvider');
|
|
28
|
+
var availableWrapperBlockTypes = useSharedPluginStateSelector(api, 'blockType.availableWrapperBlockTypes');
|
|
29
|
+
|
|
30
|
+
// Computed values
|
|
31
|
+
var mediaUploadsEnabled = mediaAllowsUploads;
|
|
32
|
+
var mediaSupported = mediaAllowsUploads !== undefined;
|
|
33
|
+
var isEditorOffline = connectivityMode === 'offline';
|
|
34
|
+
var imageUploadSupported = !!(api !== null && api !== void 0 && api.imageUpload);
|
|
35
|
+
var mentionsDisabled = !canInsertMention;
|
|
36
|
+
var linkSupported = canInsertLink !== undefined;
|
|
37
|
+
var linkDisabled = !canInsertLink || !!activeLinkMark;
|
|
38
|
+
var emojiDisabled = !emojiProvider;
|
|
39
|
+
var actionSupported = !!(editorView !== null && editorView !== void 0 && editorView.state.schema.nodes.taskItem);
|
|
40
|
+
var decisionSupported = !!(editorView !== null && editorView !== void 0 && editorView.state.schema.nodes.decisionItem);
|
|
41
|
+
var layoutSectionEnabled = !!(api !== null && api !== void 0 && api.layout);
|
|
42
|
+
var _ref2 = editorView !== null && editorView !== void 0 && editorView.state.schema ? createItems({
|
|
43
|
+
isTypeAheadAllowed: isTypeAheadAllowed,
|
|
44
|
+
tableSupported: !!(editorView !== null && editorView !== void 0 && editorView.state.schema.nodes.table),
|
|
45
|
+
tableSelectorSupported: tableSelectorSupported,
|
|
46
|
+
mediaUploadsEnabled: mediaUploadsEnabled,
|
|
47
|
+
mediaSupported: mediaSupported,
|
|
48
|
+
isEditorOffline: isEditorOffline,
|
|
49
|
+
imageUploadSupported: imageUploadSupported,
|
|
50
|
+
imageUploadEnabled: imageUploadEnabled,
|
|
51
|
+
mentionsSupported: mentionsSupported,
|
|
52
|
+
mentionsDisabled: mentionsDisabled,
|
|
53
|
+
actionSupported: actionSupported,
|
|
54
|
+
decisionSupported: decisionSupported,
|
|
55
|
+
linkSupported: linkSupported,
|
|
56
|
+
linkDisabled: linkDisabled,
|
|
57
|
+
emojiDisabled: emojiDisabled,
|
|
58
|
+
hasEmojiPlugin: !!(api !== null && api !== void 0 && api.emoji),
|
|
59
|
+
hasMentionsPlugin: !!(api !== null && api !== void 0 && api.mention),
|
|
60
|
+
hasMediaPlugin: !!(api !== null && api !== void 0 && api.media),
|
|
61
|
+
nativeStatusSupported: nativeStatusSupported,
|
|
62
|
+
dateEnabled: dateEnabled,
|
|
63
|
+
placeholderTextEnabled: placeholderTextEnabled,
|
|
64
|
+
horizontalRuleEnabled: horizontalRuleEnabled,
|
|
65
|
+
layoutSectionEnabled: layoutSectionEnabled,
|
|
66
|
+
expandEnabled: expandEnabled,
|
|
67
|
+
showElementBrowserLink: showElementBrowserLink,
|
|
68
|
+
emojiProvider: emojiProvider,
|
|
69
|
+
availableWrapperBlockTypes: availableWrapperBlockTypes,
|
|
70
|
+
insertMenuItems: insertMenuItems,
|
|
71
|
+
schema: editorView === null || editorView === void 0 ? void 0 : editorView.state.schema,
|
|
72
|
+
numberOfButtons: numberOfButtons || 0,
|
|
73
|
+
formatMessage: formatMessage
|
|
74
|
+
}) : [, []],
|
|
75
|
+
_ref3 = _slicedToArray(_ref2, 2),
|
|
76
|
+
dropdownItems = _ref3[1];
|
|
77
|
+
return {
|
|
78
|
+
dropdownItems: dropdownItems,
|
|
79
|
+
emojiProvider: emojiProvider,
|
|
80
|
+
isTypeAheadAllowed: isTypeAheadAllowed
|
|
81
|
+
};
|
|
82
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
|
+
import { useState, useCallback } from 'react';
|
|
3
|
+
import { isDetachedElement } from '../utils/utils';
|
|
4
|
+
export var usePopupManager = function usePopupManager() {
|
|
5
|
+
var config = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
6
|
+
var _useState = useState(false),
|
|
7
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
8
|
+
isOpen = _useState2[0],
|
|
9
|
+
setIsOpen = _useState2[1];
|
|
10
|
+
var _useState3 = useState(false),
|
|
11
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
12
|
+
isOpenedByKeyboard = _useState4[0],
|
|
13
|
+
setIsOpenedByKeyboard = _useState4[1];
|
|
14
|
+
var toggle = useCallback(function (inputMethod) {
|
|
15
|
+
var _config$analytics, _config$analytics$onT;
|
|
16
|
+
var newState = !isOpen;
|
|
17
|
+
setIsOpen(newState);
|
|
18
|
+
if (newState) {
|
|
19
|
+
var _config$onOpen;
|
|
20
|
+
(_config$onOpen = config.onOpen) === null || _config$onOpen === void 0 || _config$onOpen.call(config, inputMethod);
|
|
21
|
+
} else {
|
|
22
|
+
var _config$onClose;
|
|
23
|
+
(_config$onClose = config.onClose) === null || _config$onClose === void 0 || _config$onClose.call(config);
|
|
24
|
+
}
|
|
25
|
+
(_config$analytics = config.analytics) === null || _config$analytics === void 0 || (_config$analytics$onT = _config$analytics.onToggle) === null || _config$analytics$onT === void 0 || _config$analytics$onT.call(_config$analytics, newState, inputMethod);
|
|
26
|
+
}, [isOpen, config]);
|
|
27
|
+
var close = useCallback(function () {
|
|
28
|
+
var _config$onClose2, _config$analytics2, _config$analytics2$on;
|
|
29
|
+
setIsOpen(false);
|
|
30
|
+
(_config$onClose2 = config.onClose) === null || _config$onClose2 === void 0 || _config$onClose2.call(config);
|
|
31
|
+
(_config$analytics2 = config.analytics) === null || _config$analytics2 === void 0 || (_config$analytics2$on = _config$analytics2.onToggle) === null || _config$analytics2$on === void 0 || _config$analytics2$on.call(_config$analytics2, false);
|
|
32
|
+
}, [config]);
|
|
33
|
+
var handleEscapeKeydown = useCallback(function () {
|
|
34
|
+
var _config$focusTarget;
|
|
35
|
+
close();
|
|
36
|
+
(_config$focusTarget = config.focusTarget) === null || _config$focusTarget === void 0 || (_config$focusTarget = _config$focusTarget.current) === null || _config$focusTarget === void 0 || _config$focusTarget.focus();
|
|
37
|
+
}, [close, config.focusTarget]);
|
|
38
|
+
var handleClickOutside = useCallback(function (e) {
|
|
39
|
+
if (e.target instanceof HTMLElement && !isDetachedElement(e.target)) {
|
|
40
|
+
close();
|
|
41
|
+
}
|
|
42
|
+
}, [close]);
|
|
43
|
+
var handleKeyboardOpen = useCallback(function (event) {
|
|
44
|
+
if (event.key === 'Enter' || event.key === ' ') {
|
|
45
|
+
setIsOpenedByKeyboard(true);
|
|
46
|
+
event.preventDefault();
|
|
47
|
+
}
|
|
48
|
+
}, []);
|
|
49
|
+
return {
|
|
50
|
+
isOpen: isOpen,
|
|
51
|
+
isOpenedByKeyboard: isOpenedByKeyboard,
|
|
52
|
+
toggle: toggle,
|
|
53
|
+
close: close,
|
|
54
|
+
handleEscapeKeydown: handleEscapeKeydown,
|
|
55
|
+
handleClickOutside: handleClickOutside,
|
|
56
|
+
handleKeyboardOpen: handleKeyboardOpen
|
|
57
|
+
};
|
|
58
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { useCallback } from 'react';
|
|
5
|
+
import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
|
|
6
|
+
import { usePopupManager } from './usePopupManager';
|
|
7
|
+
export var useTableSelectorPopup = function useTableSelectorPopup(_ref) {
|
|
8
|
+
var api = _ref.api,
|
|
9
|
+
buttonRef = _ref.buttonRef;
|
|
10
|
+
var popupManager = usePopupManager({
|
|
11
|
+
focusTarget: buttonRef
|
|
12
|
+
});
|
|
13
|
+
var handleSelectedTableSize = useCallback(function (rowsCount, colsCount) {
|
|
14
|
+
// workaround to solve race condition where cursor is not placed correctly inside table
|
|
15
|
+
queueMicrotask(function () {
|
|
16
|
+
var _api$core, _api$table;
|
|
17
|
+
api === null || api === void 0 || (_api$core = api.core) === null || _api$core === void 0 || _api$core.actions.execute(api === null || api === void 0 || (_api$table = api.table) === null || _api$table === void 0 ? void 0 : _api$table.commands.insertTableWithSize(rowsCount, colsCount, INPUT_METHOD.PICKER));
|
|
18
|
+
});
|
|
19
|
+
popupManager.close();
|
|
20
|
+
}, [api, popupManager]);
|
|
21
|
+
var onPopupUnmount = useCallback(function () {
|
|
22
|
+
api === null || api === void 0 || api.core.actions.focus();
|
|
23
|
+
}, [api]);
|
|
24
|
+
return _objectSpread(_objectSpread({}, popupManager), {}, {
|
|
25
|
+
handleSelectedTableSize: handleSelectedTableSize,
|
|
26
|
+
onPopupUnmount: onPopupUnmount
|
|
27
|
+
});
|
|
28
|
+
};
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { Popup } from '@atlaskit/editor-common/ui';
|
|
3
|
+
import { OutsideClickTargetRefContext, withReactEditorViewOuterListeners as withOuterListeners } from '@atlaskit/editor-common/ui-react';
|
|
4
|
+
import { akEditorMenuZIndex } from '@atlaskit/editor-shared-styles';
|
|
5
|
+
import { EmojiPicker as AkEmojiPicker } from '@atlaskit/emoji/picker';
|
|
6
|
+
var EmojiPicker = function EmojiPicker(props) {
|
|
7
|
+
var setOutsideClickTargetRef = React.useContext(OutsideClickTargetRefContext);
|
|
8
|
+
return /*#__PURE__*/React.createElement(AkEmojiPicker, {
|
|
9
|
+
onPickerRef: setOutsideClickTargetRef,
|
|
10
|
+
emojiProvider: props.emojiProvider,
|
|
11
|
+
onSelection: props.onSelection
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
var EmojiPickerWithListeners = withOuterListeners(EmojiPicker);
|
|
15
|
+
export var EmojiPickerPopup = function EmojiPickerPopup(_ref) {
|
|
16
|
+
var isOpen = _ref.isOpen,
|
|
17
|
+
targetRef = _ref.targetRef,
|
|
18
|
+
emojiProvider = _ref.emojiProvider,
|
|
19
|
+
onSelection = _ref.onSelection,
|
|
20
|
+
onClickOutside = _ref.onClickOutside,
|
|
21
|
+
onEscapeKeydown = _ref.onEscapeKeydown,
|
|
22
|
+
onUnmount = _ref.onUnmount,
|
|
23
|
+
popupsMountPoint = _ref.popupsMountPoint,
|
|
24
|
+
popupsBoundariesElement = _ref.popupsBoundariesElement,
|
|
25
|
+
popupsScrollableElement = _ref.popupsScrollableElement;
|
|
26
|
+
if (!isOpen || !targetRef.current || !emojiProvider) {
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
return /*#__PURE__*/React.createElement(Popup, {
|
|
30
|
+
target: targetRef.current,
|
|
31
|
+
fitHeight: 350,
|
|
32
|
+
fitWidth: 350,
|
|
33
|
+
offset: [0, 3],
|
|
34
|
+
mountTo: popupsMountPoint,
|
|
35
|
+
boundariesElement: popupsBoundariesElement,
|
|
36
|
+
scrollableElement: popupsScrollableElement,
|
|
37
|
+
onUnmount: onUnmount,
|
|
38
|
+
focusTrap: true,
|
|
39
|
+
zIndex: akEditorMenuZIndex
|
|
40
|
+
}, /*#__PURE__*/React.createElement(EmojiPickerWithListeners, {
|
|
41
|
+
emojiProvider: emojiProvider,
|
|
42
|
+
onSelection: onSelection,
|
|
43
|
+
handleClickOutside: onClickOutside,
|
|
44
|
+
handleEscapeKeydown: onEscapeKeydown
|
|
45
|
+
}));
|
|
46
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { TableSelectorPopup } from '@atlaskit/editor-common/ui';
|
|
3
|
+
export var TableSelectorPopupWrapper = function TableSelectorPopupWrapper(_ref) {
|
|
4
|
+
var isOpen = _ref.isOpen,
|
|
5
|
+
targetRef = _ref.targetRef,
|
|
6
|
+
isOpenedByKeyboard = _ref.isOpenedByKeyboard,
|
|
7
|
+
onSelection = _ref.onSelection,
|
|
8
|
+
onClickOutside = _ref.onClickOutside,
|
|
9
|
+
onEscapeKeydown = _ref.onEscapeKeydown,
|
|
10
|
+
onUnmount = _ref.onUnmount,
|
|
11
|
+
popupsMountPoint = _ref.popupsMountPoint,
|
|
12
|
+
popupsBoundariesElement = _ref.popupsBoundariesElement,
|
|
13
|
+
popupsScrollableElement = _ref.popupsScrollableElement;
|
|
14
|
+
if (!isOpen || !targetRef.current) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
return /*#__PURE__*/React.createElement(TableSelectorPopup, {
|
|
18
|
+
allowOutsideSelection: true,
|
|
19
|
+
target: targetRef.current,
|
|
20
|
+
onUnmount: onUnmount,
|
|
21
|
+
onSelection: onSelection,
|
|
22
|
+
popupsMountPoint: popupsMountPoint,
|
|
23
|
+
popupsBoundariesElement: popupsBoundariesElement,
|
|
24
|
+
popupsScrollableElement: popupsScrollableElement,
|
|
25
|
+
handleClickOutside: onClickOutside,
|
|
26
|
+
handleEscapeKeydown: onEscapeKeydown,
|
|
27
|
+
isOpenedByKeyboard: isOpenedByKeyboard
|
|
28
|
+
});
|
|
29
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var POPUP_Z_INDEX = 'akEditorMenuZIndex';
|
|
2
|
+
export var POPUP_DIMENSIONS = {
|
|
3
|
+
EMOJI_PICKER: {
|
|
4
|
+
fitHeight: 350,
|
|
5
|
+
fitWidth: 350,
|
|
6
|
+
offset: [0, 3]
|
|
7
|
+
}
|
|
8
|
+
};
|
|
9
|
+
export var FOCUS_DELAY = {
|
|
10
|
+
ANIMATION_FRAME: 'requestAnimationFrame',
|
|
11
|
+
MICROTASK: 'queueMicrotask'
|
|
12
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
2
|
import React from 'react';
|
|
3
|
-
import { INSERT_BLOCK_SECTION, TASK_LIST_GROUP, MEDIA_GROUP, INSERT_BLOCK_SECTION_RANK, TASK_LIST_BUTTON, TASK_LIST_GROUP_RANK, MEDIA_BUTTON, MENTION_GROUP, MEDIA_GROUP_RANK, MENTION_BUTTON, MENTION_GROUP_RANK, EMOJI_GROUP, EMOJI_BUTTON, EMOJI_GROUP_RANK, LAYOUT_GROUP, LAYOUT_BUTTON, LAYOUT_GROUP_RANK, TABLE_GROUP_RANK, TABLE_BUTTON, TABLE_GROUP, TABLE_SIZE_PICKER } from '@atlaskit/editor-common/toolbar';
|
|
3
|
+
import { INSERT_BLOCK_SECTION, TASK_LIST_GROUP, MEDIA_GROUP, INSERT_BLOCK_SECTION_RANK, TASK_LIST_BUTTON, TASK_LIST_GROUP_RANK, MEDIA_BUTTON, MENTION_GROUP, MEDIA_GROUP_RANK, MENTION_BUTTON, MENTION_GROUP_RANK, EMOJI_GROUP, EMOJI_BUTTON, EMOJI_GROUP_RANK, LAYOUT_GROUP, LAYOUT_BUTTON, LAYOUT_GROUP_RANK, TABLE_GROUP_RANK, TABLE_BUTTON, TABLE_GROUP, TABLE_SIZE_PICKER, INSERT_GROUP, INSERT_BUTTON, INSERT_GROUP_RANK } from '@atlaskit/editor-common/toolbar';
|
|
4
4
|
import { EmojiButton } from './toolbar-components/EmojiButton';
|
|
5
5
|
import { ImageButton } from './toolbar-components/ImageButton';
|
|
6
|
+
import { InsertButton } from './toolbar-components/InsertButton';
|
|
6
7
|
import { LayoutButton } from './toolbar-components/LayoutButton';
|
|
7
8
|
import { MediaButton } from './toolbar-components/MediaButton';
|
|
8
9
|
import { MentionButton } from './toolbar-components/MentionButton';
|
|
@@ -12,8 +13,42 @@ import { TaskListButton } from './toolbar-components/TaskListButton';
|
|
|
12
13
|
export var getToolbarComponents = function getToolbarComponents(_ref) {
|
|
13
14
|
var api = _ref.api,
|
|
14
15
|
tableSelectorSupported = _ref.tableSelectorSupported,
|
|
15
|
-
toolbarShowPlusInsertOnly = _ref.toolbarShowPlusInsertOnly
|
|
16
|
-
|
|
16
|
+
toolbarShowPlusInsertOnly = _ref.toolbarShowPlusInsertOnly,
|
|
17
|
+
showElementBrowserLink = _ref.showElementBrowserLink,
|
|
18
|
+
onInsertBlockType = _ref.onInsertBlockType,
|
|
19
|
+
nativeStatusSupported = _ref.nativeStatusSupported,
|
|
20
|
+
horizontalRuleEnabled = _ref.horizontalRuleEnabled,
|
|
21
|
+
expandEnabled = _ref.expandEnabled,
|
|
22
|
+
insertMenuItems = _ref.insertMenuItems;
|
|
23
|
+
return _toConsumableArray(toolbarShowPlusInsertOnly ? [{
|
|
24
|
+
type: INSERT_GROUP.type,
|
|
25
|
+
key: INSERT_GROUP.key,
|
|
26
|
+
parents: [{
|
|
27
|
+
type: INSERT_BLOCK_SECTION.type,
|
|
28
|
+
key: INSERT_BLOCK_SECTION.key,
|
|
29
|
+
rank: INSERT_BLOCK_SECTION_RANK[INSERT_GROUP.key]
|
|
30
|
+
}]
|
|
31
|
+
}, {
|
|
32
|
+
type: INSERT_BUTTON.type,
|
|
33
|
+
key: INSERT_BUTTON.key,
|
|
34
|
+
parents: [{
|
|
35
|
+
type: INSERT_GROUP.type,
|
|
36
|
+
key: INSERT_GROUP.key,
|
|
37
|
+
rank: INSERT_GROUP_RANK[INSERT_BUTTON.key]
|
|
38
|
+
}],
|
|
39
|
+
component: function component() {
|
|
40
|
+
return /*#__PURE__*/React.createElement(InsertButton, {
|
|
41
|
+
api: api,
|
|
42
|
+
showElementBrowserLink: showElementBrowserLink,
|
|
43
|
+
tableSelectorSupported: tableSelectorSupported,
|
|
44
|
+
onInsertBlockType: onInsertBlockType,
|
|
45
|
+
nativeStatusSupported: nativeStatusSupported,
|
|
46
|
+
horizontalRuleEnabled: horizontalRuleEnabled,
|
|
47
|
+
expandEnabled: expandEnabled,
|
|
48
|
+
insertMenuItems: insertMenuItems
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}] : [{
|
|
17
52
|
type: TASK_LIST_GROUP.type,
|
|
18
53
|
key: TASK_LIST_GROUP.key,
|
|
19
54
|
parents: [{
|
|
@@ -155,5 +190,34 @@ export var getToolbarComponents = function getToolbarComponents(_ref) {
|
|
|
155
190
|
tableSelectorSupported: tableSelectorSupported
|
|
156
191
|
});
|
|
157
192
|
}
|
|
193
|
+
}, {
|
|
194
|
+
type: INSERT_GROUP.type,
|
|
195
|
+
key: INSERT_GROUP.key,
|
|
196
|
+
parents: [{
|
|
197
|
+
type: INSERT_BLOCK_SECTION.type,
|
|
198
|
+
key: INSERT_BLOCK_SECTION.key,
|
|
199
|
+
rank: INSERT_BLOCK_SECTION_RANK[INSERT_GROUP.key]
|
|
200
|
+
}]
|
|
201
|
+
}, {
|
|
202
|
+
type: INSERT_BUTTON.type,
|
|
203
|
+
key: INSERT_BUTTON.key,
|
|
204
|
+
parents: [{
|
|
205
|
+
type: INSERT_GROUP.type,
|
|
206
|
+
key: INSERT_GROUP.key,
|
|
207
|
+
rank: INSERT_GROUP_RANK[INSERT_BUTTON.key]
|
|
208
|
+
}],
|
|
209
|
+
component: function component() {
|
|
210
|
+
return /*#__PURE__*/React.createElement(InsertButton, {
|
|
211
|
+
api: api,
|
|
212
|
+
showElementBrowserLink: showElementBrowserLink,
|
|
213
|
+
tableSelectorSupported: tableSelectorSupported,
|
|
214
|
+
onInsertBlockType: onInsertBlockType,
|
|
215
|
+
nativeStatusSupported: nativeStatusSupported,
|
|
216
|
+
horizontalRuleEnabled: horizontalRuleEnabled,
|
|
217
|
+
expandEnabled: expandEnabled,
|
|
218
|
+
insertMenuItems: insertMenuItems,
|
|
219
|
+
numberOfButtons: 7 // TODO: ED-28759 - Default to 7 buttons - Remove this once we have a proper way to do toolbar responsiveness
|
|
220
|
+
});
|
|
221
|
+
}
|
|
158
222
|
}]);
|
|
159
223
|
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { NextEditorPlugin } from '@atlaskit/editor-common/types';
|
|
2
2
|
import type { InsertBlockPluginOptions, InsertBlockPluginDependencies, InsertBlockPluginState } from './types';
|
|
3
3
|
export type InsertBlockPlugin = NextEditorPlugin<'insertBlock', {
|
|
4
|
-
pluginConfiguration: InsertBlockPluginOptions | undefined;
|
|
5
|
-
dependencies: InsertBlockPluginDependencies;
|
|
6
4
|
actions: {
|
|
7
5
|
toggleAdditionalMenu: () => void;
|
|
8
6
|
};
|
|
7
|
+
dependencies: InsertBlockPluginDependencies;
|
|
8
|
+
pluginConfiguration: InsertBlockPluginOptions | undefined;
|
|
9
9
|
sharedState: InsertBlockPluginState | undefined;
|
|
10
10
|
}>;
|
|
@@ -56,10 +56,11 @@ export type InsertBlockPluginDependencies = [
|
|
|
56
56
|
OptionalPlugin<ToolbarPlugin>
|
|
57
57
|
];
|
|
58
58
|
export interface InsertBlockPluginOptions {
|
|
59
|
-
allowTables?: boolean;
|
|
60
59
|
allowExpand?: boolean;
|
|
61
|
-
|
|
60
|
+
allowTables?: boolean;
|
|
61
|
+
appearance?: EditorAppearance;
|
|
62
62
|
horizontalRuleEnabled?: boolean;
|
|
63
|
+
insertMenuItems?: any;
|
|
63
64
|
nativeStatusSupported?: boolean;
|
|
64
65
|
/**
|
|
65
66
|
* To hide the element browser "view more" button in the
|
|
@@ -68,7 +69,6 @@ export interface InsertBlockPluginOptions {
|
|
|
68
69
|
*/
|
|
69
70
|
showElementBrowserLink?: boolean;
|
|
70
71
|
tableSelectorSupported?: boolean;
|
|
71
|
-
appearance?: EditorAppearance;
|
|
72
72
|
/**
|
|
73
73
|
* To hide the individual insert block buttons in the toolbar
|
|
74
74
|
* and only show the plus button
|
|
@@ -8,11 +8,11 @@ type SimpleEventHandler<T> = (event?: T) => void;
|
|
|
8
8
|
export interface InsertMenuProps {
|
|
9
9
|
dropdownItems: BlockMenuItem[];
|
|
10
10
|
editorView: EditorView;
|
|
11
|
-
|
|
12
|
-
toggleVisiblity: SimpleEventHandler<MouseEvent | KeyboardEvent>;
|
|
11
|
+
isFullPageAppearance?: boolean;
|
|
13
12
|
onInsert: OnInsert;
|
|
14
13
|
pluginInjectionApi: ExtractInjectionAPI<InsertBlockPlugin> | undefined;
|
|
15
|
-
|
|
14
|
+
showElementBrowserLink: boolean;
|
|
15
|
+
toggleVisiblity: SimpleEventHandler<MouseEvent | KeyboardEvent>;
|
|
16
16
|
}
|
|
17
17
|
export type SvgGetterParams = {
|
|
18
18
|
name: string;
|
|
@@ -8,22 +8,22 @@ type SimpleEventHandler<T> = (event?: T) => void;
|
|
|
8
8
|
export interface BlockInsertElementBrowserProps {
|
|
9
9
|
disabled: boolean;
|
|
10
10
|
editorView: EditorView;
|
|
11
|
+
isFullPageAppearance?: boolean;
|
|
11
12
|
items: BlockMenuItem[];
|
|
12
|
-
spacing: 'none' | 'default';
|
|
13
13
|
label: string;
|
|
14
|
+
onClick: React.MouseEventHandler;
|
|
15
|
+
onInsert: OnInsert;
|
|
16
|
+
onKeyDown?: React.KeyboardEventHandler;
|
|
17
|
+
onRef(el: HTMLElement): void;
|
|
14
18
|
open: boolean;
|
|
19
|
+
pluginInjectionApi: ExtractInjectionAPI<InsertBlockPlugin> | undefined;
|
|
20
|
+
plusButtonRef?: HTMLElement;
|
|
15
21
|
popupsBoundariesElement?: HTMLElement;
|
|
16
22
|
popupsMountPoint?: HTMLElement;
|
|
17
23
|
popupsScrollableElement?: HTMLElement;
|
|
18
|
-
plusButtonRef?: HTMLElement;
|
|
19
24
|
showElementBrowserLink: boolean;
|
|
20
|
-
|
|
21
|
-
onClick: React.MouseEventHandler;
|
|
22
|
-
onKeyDown?: React.KeyboardEventHandler;
|
|
23
|
-
onInsert: OnInsert;
|
|
25
|
+
spacing: 'none' | 'default';
|
|
24
26
|
togglePlusMenuVisibility: SimpleEventHandler<MouseEvent | KeyboardEvent>;
|
|
25
|
-
pluginInjectionApi: ExtractInjectionAPI<InsertBlockPlugin> | undefined;
|
|
26
|
-
isFullPageAppearance?: boolean;
|
|
27
27
|
}
|
|
28
28
|
export declare const BlockInsertElementBrowser: (props: BlockInsertElementBrowserProps) => React.JSX.Element;
|
|
29
29
|
export {};
|
|
@@ -8,26 +8,26 @@ import type { BlockMenuItem } from './create-items';
|
|
|
8
8
|
export interface BlockInsertMenuProps {
|
|
9
9
|
disabled: boolean;
|
|
10
10
|
editorView: EditorView;
|
|
11
|
+
isFullPageAppearance?: boolean;
|
|
11
12
|
items: BlockMenuItem[];
|
|
12
13
|
label: string;
|
|
14
|
+
onClick: React.MouseEventHandler;
|
|
15
|
+
onInsert: OnInsert;
|
|
16
|
+
onItemActivated?: (attrs: {
|
|
17
|
+
item: MenuItem;
|
|
18
|
+
}) => void;
|
|
19
|
+
onKeyDown?: React.KeyboardEventHandler;
|
|
20
|
+
onOpenChange?: (attrs: any) => void;
|
|
21
|
+
onPlusButtonRef(el: HTMLElement): void;
|
|
22
|
+
onRef(el: HTMLElement): void;
|
|
13
23
|
open: boolean;
|
|
24
|
+
pluginInjectionApi: ExtractInjectionAPI<InsertBlockPlugin> | undefined;
|
|
14
25
|
plusButtonRef?: HTMLElement;
|
|
15
26
|
popupsBoundariesElement?: HTMLElement;
|
|
16
27
|
popupsMountPoint?: HTMLElement;
|
|
17
28
|
popupsScrollableElement?: HTMLElement;
|
|
18
|
-
spacing: 'none' | 'default';
|
|
19
29
|
showElementBrowserLink: boolean;
|
|
20
|
-
|
|
21
|
-
onPlusButtonRef(el: HTMLElement): void;
|
|
22
|
-
onClick: React.MouseEventHandler;
|
|
23
|
-
onItemActivated?: (attrs: {
|
|
24
|
-
item: MenuItem;
|
|
25
|
-
}) => void;
|
|
26
|
-
onInsert: OnInsert;
|
|
27
|
-
onOpenChange?: (attrs: any) => void;
|
|
30
|
+
spacing: 'none' | 'default';
|
|
28
31
|
togglePlusMenuVisibility(): void;
|
|
29
|
-
onKeyDown?: React.KeyboardEventHandler;
|
|
30
|
-
pluginInjectionApi: ExtractInjectionAPI<InsertBlockPlugin> | undefined;
|
|
31
|
-
isFullPageAppearance?: boolean;
|
|
32
32
|
}
|
|
33
33
|
export declare const BlockInsertMenu: (props: BlockInsertMenuProps) => React.JSX.Element | null;
|
|
@@ -4,38 +4,38 @@ import type { BlockType } from '@atlaskit/editor-plugin-block-type';
|
|
|
4
4
|
import type { Schema } from '@atlaskit/editor-prosemirror/model';
|
|
5
5
|
import type { EmojiProvider } from '@atlaskit/emoji/resource';
|
|
6
6
|
export interface CreateItemsConfig {
|
|
7
|
-
isTypeAheadAllowed?: boolean;
|
|
8
|
-
tableSupported?: boolean;
|
|
9
|
-
tableSelectorSupported?: boolean;
|
|
10
|
-
mediaUploadsEnabled?: boolean;
|
|
11
|
-
mediaSupported?: boolean;
|
|
12
|
-
imageUploadSupported?: boolean;
|
|
13
|
-
imageUploadEnabled?: boolean;
|
|
14
|
-
mentionsSupported?: boolean;
|
|
15
|
-
mentionsDisabled?: boolean;
|
|
16
|
-
availableWrapperBlockTypes?: BlockType[];
|
|
17
7
|
actionSupported?: boolean;
|
|
8
|
+
availableWrapperBlockTypes?: BlockType[];
|
|
9
|
+
dateEnabled?: boolean;
|
|
18
10
|
decisionSupported?: boolean;
|
|
19
|
-
linkSupported?: boolean;
|
|
20
|
-
linkDisabled?: boolean;
|
|
21
11
|
emojiDisabled?: boolean;
|
|
12
|
+
emojiProvider?: Promise<EmojiProvider> | EmojiProvider;
|
|
13
|
+
expandEnabled?: boolean;
|
|
14
|
+
formatMessage: WrappedComponentProps['intl']['formatMessage'];
|
|
22
15
|
hasEmojiPlugin?: boolean;
|
|
23
|
-
hasMentionsPlugin?: boolean;
|
|
24
16
|
hasMediaPlugin?: boolean;
|
|
25
|
-
|
|
26
|
-
dateEnabled?: boolean;
|
|
27
|
-
placeholderTextEnabled?: boolean;
|
|
17
|
+
hasMentionsPlugin?: boolean;
|
|
28
18
|
horizontalRuleEnabled?: boolean;
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
expandEnabled?: boolean;
|
|
19
|
+
imageUploadEnabled?: boolean;
|
|
20
|
+
imageUploadSupported?: boolean;
|
|
32
21
|
insertMenuItems?: MenuItem[];
|
|
33
|
-
emojiProvider?: Promise<EmojiProvider> | EmojiProvider;
|
|
34
|
-
schema: Schema;
|
|
35
|
-
numberOfButtons: number;
|
|
36
|
-
formatMessage: WrappedComponentProps['intl']['formatMessage'];
|
|
37
|
-
isNewMenuEnabled?: boolean;
|
|
38
22
|
isEditorOffline?: boolean;
|
|
23
|
+
isNewMenuEnabled?: boolean;
|
|
24
|
+
isTypeAheadAllowed?: boolean;
|
|
25
|
+
layoutSectionEnabled?: boolean;
|
|
26
|
+
linkDisabled?: boolean;
|
|
27
|
+
linkSupported?: boolean;
|
|
28
|
+
mediaSupported?: boolean;
|
|
29
|
+
mediaUploadsEnabled?: boolean;
|
|
30
|
+
mentionsDisabled?: boolean;
|
|
31
|
+
mentionsSupported?: boolean;
|
|
32
|
+
nativeStatusSupported?: boolean;
|
|
33
|
+
numberOfButtons: number;
|
|
34
|
+
placeholderTextEnabled?: boolean;
|
|
35
|
+
schema: Schema;
|
|
36
|
+
showElementBrowserLink?: boolean;
|
|
37
|
+
tableSelectorSupported?: boolean;
|
|
38
|
+
tableSupported?: boolean;
|
|
39
39
|
}
|
|
40
40
|
export interface BlockMenuItem extends MenuItem {
|
|
41
41
|
title: JSX.Element | null;
|
|
@@ -6,15 +6,15 @@ import React from 'react';
|
|
|
6
6
|
import { jsx } from '@emotion/react';
|
|
7
7
|
import type { ToolbarButtonRef } from '@atlaskit/editor-common/ui-menu';
|
|
8
8
|
export interface DropDownButtonProps {
|
|
9
|
-
label: string;
|
|
10
|
-
selected: boolean;
|
|
11
|
-
disabled?: boolean;
|
|
12
9
|
'aria-expanded': React.AriaAttributes['aria-expanded'];
|
|
13
10
|
'aria-haspopup': React.AriaAttributes['aria-haspopup'];
|
|
14
11
|
'aria-keyshortcuts'?: React.AriaAttributes['aria-keyshortcuts'];
|
|
12
|
+
disabled?: boolean;
|
|
13
|
+
handleRef(el: ToolbarButtonRef): void;
|
|
14
|
+
label: string;
|
|
15
15
|
onClick: React.MouseEventHandler;
|
|
16
16
|
onKeyDown?: React.KeyboardEventHandler;
|
|
17
|
+
selected: boolean;
|
|
17
18
|
spacing: 'none' | 'default';
|
|
18
|
-
handleRef(el: ToolbarButtonRef): void;
|
|
19
19
|
}
|
|
20
20
|
export declare const DropDownButton: React.MemoExoticComponent<(props: DropDownButtonProps) => jsx.JSX.Element>;
|
|
@@ -7,8 +7,8 @@ import { jsx } from '@emotion/react';
|
|
|
7
7
|
import type { WrappedComponentProps } from 'react-intl-next';
|
|
8
8
|
import type { Props, State } from './types';
|
|
9
9
|
export declare const tableButtonWrapper: ({ isTableSelectorOpen, isButtonDisabled, }: {
|
|
10
|
-
isTableSelectorOpen: boolean;
|
|
11
10
|
isButtonDisabled: boolean | undefined;
|
|
11
|
+
isTableSelectorOpen: boolean;
|
|
12
12
|
}) => import("@emotion/react").SerializedStyles;
|
|
13
13
|
export declare class ToolbarInsertBlock extends React.PureComponent<Props & WrappedComponentProps, State> {
|
|
14
14
|
private dropdownButtonRef?;
|
|
@@ -6,11 +6,11 @@ import React from 'react';
|
|
|
6
6
|
import type { MemoizedFn } from 'memoize-one';
|
|
7
7
|
import type { MenuItem } from '@atlaskit/editor-common/ui-menu';
|
|
8
8
|
export interface CreateInit {
|
|
9
|
+
'aria-haspopup'?: React.AriaAttributes['aria-haspopup'];
|
|
10
|
+
'aria-label'?: React.AriaAttributes['aria-label'];
|
|
9
11
|
content: string;
|
|
10
12
|
disabled: boolean;
|
|
11
13
|
tooltipDescription?: string;
|
|
12
|
-
'aria-label'?: React.AriaAttributes['aria-label'];
|
|
13
|
-
'aria-haspopup'?: React.AriaAttributes['aria-haspopup'];
|
|
14
14
|
}
|
|
15
15
|
export declare const action: MemoizedFn<(init: CreateInit) => MenuItem>;
|
|
16
16
|
export declare const link: MemoizedFn<(init: CreateInit) => MenuItem>;
|