@atlaskit/editor-core 189.4.0 → 189.4.2

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.
Files changed (131) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/plugins/index.js +0 -14
  3. package/dist/cjs/presets/universal.js +4 -2
  4. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +7 -3
  5. package/dist/cjs/version-wrapper.js +1 -1
  6. package/dist/es2019/plugins/index.js +0 -2
  7. package/dist/es2019/presets/universal.js +3 -1
  8. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +7 -3
  9. package/dist/es2019/version-wrapper.js +1 -1
  10. package/dist/esm/plugins/index.js +0 -2
  11. package/dist/esm/presets/universal.js +3 -1
  12. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +7 -3
  13. package/dist/esm/version-wrapper.js +1 -1
  14. package/dist/types/plugins/index.d.ts +0 -2
  15. package/dist/types-ts4.5/plugins/index.d.ts +0 -2
  16. package/package.json +11 -5
  17. package/dist/cjs/plugins/insert-block/index.js +0 -165
  18. package/dist/cjs/plugins/insert-block/types.js +0 -5
  19. package/dist/cjs/plugins/insert-block/ui/ElementBrowser/InsertMenu.js +0 -152
  20. package/dist/cjs/plugins/insert-block/ui/ElementBrowser/types.js +0 -5
  21. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +0 -42
  22. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +0 -42
  23. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +0 -66
  24. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/create-items.js +0 -217
  25. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +0 -49
  26. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +0 -565
  27. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/item.js +0 -250
  28. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +0 -12
  29. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/shallow-equals.js +0 -20
  30. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/sort-items.js +0 -30
  31. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/styles.js +0 -11
  32. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/types.js +0 -5
  33. package/dist/cjs/plugins/toolbar-lists-indentation/index.js +0 -91
  34. package/dist/cjs/plugins/toolbar-lists-indentation/pm-plugins/indentation-buttons.js +0 -56
  35. package/dist/cjs/plugins/toolbar-lists-indentation/types.js +0 -5
  36. package/dist/cjs/plugins/toolbar-lists-indentation/ui/Toolbar.js +0 -135
  37. package/dist/cjs/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +0 -168
  38. package/dist/cjs/plugins/toolbar-lists-indentation/ui/index.js +0 -63
  39. package/dist/cjs/plugins/toolbar-lists-indentation/ui/onItemActivated.js +0 -53
  40. package/dist/es2019/plugins/insert-block/index.js +0 -159
  41. package/dist/es2019/plugins/insert-block/types.js +0 -1
  42. package/dist/es2019/plugins/insert-block/ui/ElementBrowser/InsertMenu.js +0 -150
  43. package/dist/es2019/plugins/insert-block/ui/ElementBrowser/types.js +0 -1
  44. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +0 -35
  45. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +0 -35
  46. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +0 -59
  47. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/create-items.js +0 -198
  48. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +0 -37
  49. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +0 -558
  50. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/item.js +0 -201
  51. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +0 -1
  52. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/shallow-equals.js +0 -8
  53. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/sort-items.js +0 -22
  54. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/styles.js +0 -16
  55. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/types.js +0 -1
  56. package/dist/es2019/plugins/toolbar-lists-indentation/index.js +0 -86
  57. package/dist/es2019/plugins/toolbar-lists-indentation/pm-plugins/indentation-buttons.js +0 -53
  58. package/dist/es2019/plugins/toolbar-lists-indentation/types.js +0 -1
  59. package/dist/es2019/plugins/toolbar-lists-indentation/ui/Toolbar.js +0 -123
  60. package/dist/es2019/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +0 -158
  61. package/dist/es2019/plugins/toolbar-lists-indentation/ui/index.js +0 -58
  62. package/dist/es2019/plugins/toolbar-lists-indentation/ui/onItemActivated.js +0 -46
  63. package/dist/esm/plugins/insert-block/index.js +0 -158
  64. package/dist/esm/plugins/insert-block/types.js +0 -1
  65. package/dist/esm/plugins/insert-block/ui/ElementBrowser/InsertMenu.js +0 -146
  66. package/dist/esm/plugins/insert-block/ui/ElementBrowser/types.js +0 -1
  67. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +0 -35
  68. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.js +0 -35
  69. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.js +0 -59
  70. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/create-items.js +0 -210
  71. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +0 -41
  72. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +0 -560
  73. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/item.js +0 -243
  74. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/messages.js +0 -1
  75. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/shallow-equals.js +0 -13
  76. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/sort-items.js +0 -24
  77. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/styles.js +0 -4
  78. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/types.js +0 -1
  79. package/dist/esm/plugins/toolbar-lists-indentation/index.js +0 -83
  80. package/dist/esm/plugins/toolbar-lists-indentation/pm-plugins/indentation-buttons.js +0 -50
  81. package/dist/esm/plugins/toolbar-lists-indentation/types.js +0 -1
  82. package/dist/esm/plugins/toolbar-lists-indentation/ui/Toolbar.js +0 -124
  83. package/dist/esm/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.js +0 -161
  84. package/dist/esm/plugins/toolbar-lists-indentation/ui/index.js +0 -56
  85. package/dist/esm/plugins/toolbar-lists-indentation/ui/onItemActivated.js +0 -47
  86. package/dist/types/plugins/insert-block/index.d.ts +0 -16
  87. package/dist/types/plugins/insert-block/types.d.ts +0 -45
  88. package/dist/types/plugins/insert-block/ui/ElementBrowser/InsertMenu.d.ts +0 -4
  89. package/dist/types/plugins/insert-block/ui/ElementBrowser/types.d.ts +0 -22
  90. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.d.ts +0 -28
  91. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.d.ts +0 -18
  92. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.d.ts +0 -30
  93. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/create-items.d.ts +0 -39
  94. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.d.ts +0 -16
  95. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/index.d.ts +0 -46
  96. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/item.d.ts +0 -34
  97. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/messages.d.ts +0 -1
  98. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/shallow-equals.d.ts +0 -1
  99. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/sort-items.d.ts +0 -2
  100. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/styles.d.ts +0 -1
  101. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +0 -59
  102. package/dist/types/plugins/toolbar-lists-indentation/index.d.ts +0 -33
  103. package/dist/types/plugins/toolbar-lists-indentation/pm-plugins/indentation-buttons.d.ts +0 -19
  104. package/dist/types/plugins/toolbar-lists-indentation/types.d.ts +0 -20
  105. package/dist/types/plugins/toolbar-lists-indentation/ui/Toolbar.d.ts +0 -4
  106. package/dist/types/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.d.ts +0 -9
  107. package/dist/types/plugins/toolbar-lists-indentation/ui/index.d.ts +0 -26
  108. package/dist/types/plugins/toolbar-lists-indentation/ui/onItemActivated.d.ts +0 -9
  109. package/dist/types-ts4.5/plugins/insert-block/index.d.ts +0 -16
  110. package/dist/types-ts4.5/plugins/insert-block/types.d.ts +0 -45
  111. package/dist/types-ts4.5/plugins/insert-block/ui/ElementBrowser/InsertMenu.d.ts +0 -4
  112. package/dist/types-ts4.5/plugins/insert-block/ui/ElementBrowser/types.d.ts +0 -22
  113. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.d.ts +0 -28
  114. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu-legacy.d.ts +0 -18
  115. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.d.ts +0 -30
  116. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/create-items.d.ts +0 -42
  117. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.d.ts +0 -16
  118. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/index.d.ts +0 -46
  119. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/item.d.ts +0 -34
  120. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/messages.d.ts +0 -1
  121. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/shallow-equals.d.ts +0 -1
  122. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/sort-items.d.ts +0 -2
  123. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/styles.d.ts +0 -1
  124. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +0 -59
  125. package/dist/types-ts4.5/plugins/toolbar-lists-indentation/index.d.ts +0 -33
  126. package/dist/types-ts4.5/plugins/toolbar-lists-indentation/pm-plugins/indentation-buttons.d.ts +0 -19
  127. package/dist/types-ts4.5/plugins/toolbar-lists-indentation/types.d.ts +0 -20
  128. package/dist/types-ts4.5/plugins/toolbar-lists-indentation/ui/Toolbar.d.ts +0 -4
  129. package/dist/types-ts4.5/plugins/toolbar-lists-indentation/ui/ToolbarDropdown.d.ts +0 -9
  130. package/dist/types-ts4.5/plugins/toolbar-lists-indentation/ui/index.d.ts +0 -26
  131. package/dist/types-ts4.5/plugins/toolbar-lists-indentation/ui/onItemActivated.d.ts +0 -9
@@ -1,58 +0,0 @@
1
- /** @jsx jsx */
2
- import { jsx } from '@emotion/react';
3
- import { onItemActivated } from './onItemActivated';
4
- import { ToolbarDropdown } from './ToolbarDropdown';
5
- import { Toolbar } from './Toolbar';
6
- export default function ToolbarListsIndentation(props) {
7
- const {
8
- disabled,
9
- isSmall,
10
- isReducedSpacing,
11
- bulletListActive,
12
- bulletListDisabled,
13
- orderedListActive,
14
- orderedListDisabled,
15
- showIndentationButtons,
16
- popupsMountPoint,
17
- popupsBoundariesElement,
18
- popupsScrollableElement,
19
- indentDisabled,
20
- outdentDisabled,
21
- indentationStateNode,
22
- featureFlags,
23
- pluginInjectionApi
24
- } = props;
25
- if (isSmall) {
26
- return jsx(ToolbarDropdown, {
27
- editorView: props.editorView,
28
- isReducedSpacing: isReducedSpacing,
29
- popupsMountPoint: popupsMountPoint,
30
- popupsBoundariesElement: popupsBoundariesElement,
31
- popupsScrollableElement: popupsScrollableElement,
32
- bulletListActive: bulletListActive,
33
- bulletListDisabled: bulletListDisabled,
34
- showIndentationButtons: showIndentationButtons,
35
- orderedListActive: orderedListActive,
36
- orderedListDisabled: orderedListDisabled,
37
- indentDisabled: indentDisabled,
38
- outdentDisabled: outdentDisabled,
39
- disabled: disabled,
40
- onItemActivated: onItemActivated(pluginInjectionApi, indentationStateNode),
41
- featureFlags: featureFlags
42
- });
43
- }
44
- return jsx(Toolbar, {
45
- editorView: props.editorView,
46
- isReducedSpacing: isReducedSpacing,
47
- bulletListActive: bulletListActive,
48
- bulletListDisabled: bulletListDisabled,
49
- showIndentationButtons: showIndentationButtons,
50
- orderedListActive: orderedListActive,
51
- orderedListDisabled: orderedListDisabled,
52
- indentDisabled: indentDisabled,
53
- outdentDisabled: outdentDisabled,
54
- disabled: disabled,
55
- onItemActivated: onItemActivated(pluginInjectionApi, indentationStateNode),
56
- featureFlags: featureFlags
57
- });
58
- }
@@ -1,46 +0,0 @@
1
- import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
2
- export const onItemActivated = (pluginInjectionApi, indentationStateNode) => ({
3
- buttonName,
4
- editorView
5
- }) => {
6
- switch (buttonName) {
7
- case 'bullet_list':
8
- pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.core.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.list.commands.toggleBulletList(INPUT_METHOD.TOOLBAR));
9
- break;
10
- case 'ordered_list':
11
- pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.core.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.list.commands.toggleOrderedList(INPUT_METHOD.TOOLBAR));
12
- break;
13
- case 'indent':
14
- {
15
- const node = indentationStateNode;
16
- if (node === 'paragraph_heading') {
17
- var _pluginInjectionApi$i;
18
- pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$i = pluginInjectionApi.indentation) === null || _pluginInjectionApi$i === void 0 ? void 0 : _pluginInjectionApi$i.actions.indentParagraphOrHeading(INPUT_METHOD.TOOLBAR)(editorView.state, editorView.dispatch);
19
- }
20
- if (node === 'list') {
21
- pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.core.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.list.commands.indentList(INPUT_METHOD.TOOLBAR));
22
- }
23
- if (node === 'taskList') {
24
- var _pluginInjectionApi$t;
25
- pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$t = pluginInjectionApi.taskDecision) === null || _pluginInjectionApi$t === void 0 ? void 0 : _pluginInjectionApi$t.actions.indentTaskList(INPUT_METHOD.TOOLBAR)(editorView.state, editorView.dispatch);
26
- }
27
- break;
28
- }
29
- case 'outdent':
30
- {
31
- const node = indentationStateNode;
32
- if (node === 'paragraph_heading') {
33
- var _pluginInjectionApi$i2;
34
- pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$i2 = pluginInjectionApi.indentation) === null || _pluginInjectionApi$i2 === void 0 ? void 0 : _pluginInjectionApi$i2.actions.outdentParagraphOrHeading(INPUT_METHOD.TOOLBAR)(editorView.state, editorView.dispatch);
35
- }
36
- if (node === 'list') {
37
- pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.core.actions.execute(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.list.commands.outdentList(INPUT_METHOD.TOOLBAR));
38
- }
39
- if (node === 'taskList') {
40
- var _pluginInjectionApi$t2;
41
- pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$t2 = pluginInjectionApi.taskDecision) === null || _pluginInjectionApi$t2 === void 0 ? void 0 : _pluginInjectionApi$t2.actions.outdentTaskList(INPUT_METHOD.TOOLBAR)(editorView.state, editorView.dispatch);
42
- }
43
- break;
44
- }
45
- }
46
- };
@@ -1,158 +0,0 @@
1
- import React from 'react';
2
- import { WithProviders } from '@atlaskit/editor-common/provider-factory';
3
- import ToolbarInsertBlock from './ui/ToolbarInsertBlock';
4
- import { BLOCK_QUOTE, CODE_BLOCK, PANEL } from '@atlaskit/editor-plugin-block-type/consts';
5
- import { INPUT_METHOD } from '@atlaskit/editor-common/analytics';
6
- import { ToolbarSize } from '@atlaskit/editor-common/types';
7
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
8
- var toolbarSizeToButtons = function toolbarSizeToButtons(toolbarSize) {
9
- switch (toolbarSize) {
10
- case ToolbarSize.XXL:
11
- case ToolbarSize.XL:
12
- case ToolbarSize.L:
13
- case ToolbarSize.M:
14
- return 7;
15
- case ToolbarSize.S:
16
- return 2;
17
- default:
18
- return 0;
19
- }
20
- };
21
- /**
22
- * Wrapper over insertBlockTypeWithAnalytics to autobind toolbar input method
23
- * @param name Block name
24
- */
25
- function handleInsertBlockType(insertCodeBlock, insertPanel, insertBlockQuote) {
26
- return function (name) {
27
- if (name === CODE_BLOCK.name && insertCodeBlock) {
28
- return insertCodeBlock(INPUT_METHOD.TOOLBAR);
29
- }
30
- if (name === PANEL.name && insertPanel) {
31
- return insertPanel(INPUT_METHOD.TOOLBAR);
32
- }
33
- if (name === BLOCK_QUOTE.name && insertBlockQuote) {
34
- return insertBlockQuote(INPUT_METHOD.TOOLBAR);
35
- }
36
- return function () {
37
- return false;
38
- };
39
- };
40
- }
41
- var insertBlockPlugin = function insertBlockPlugin(_ref) {
42
- var _api$featureFlags;
43
- var _ref$config = _ref.config,
44
- options = _ref$config === void 0 ? {} : _ref$config,
45
- api = _ref.api;
46
- var featureFlags = (api === null || api === void 0 || (_api$featureFlags = api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {};
47
- return {
48
- name: 'insertBlock',
49
- primaryToolbarComponent: function primaryToolbarComponent(_ref2) {
50
- var editorView = _ref2.editorView,
51
- editorActions = _ref2.editorActions,
52
- dispatchAnalyticsEvent = _ref2.dispatchAnalyticsEvent,
53
- providerFactory = _ref2.providerFactory,
54
- popupsMountPoint = _ref2.popupsMountPoint,
55
- popupsBoundariesElement = _ref2.popupsBoundariesElement,
56
- popupsScrollableElement = _ref2.popupsScrollableElement,
57
- toolbarSize = _ref2.toolbarSize,
58
- disabled = _ref2.disabled,
59
- isToolbarReducedSpacing = _ref2.isToolbarReducedSpacing,
60
- isLastItem = _ref2.isLastItem;
61
- var renderNode = function renderNode(providers) {
62
- return /*#__PURE__*/React.createElement(ToolbarInsertBlockWithInjectionApi, {
63
- pluginInjectionApi: api,
64
- editorView: editorView,
65
- editorActions: editorActions,
66
- dispatchAnalyticsEvent: dispatchAnalyticsEvent,
67
- providerFactory: providerFactory,
68
- popupsMountPoint: popupsMountPoint,
69
- popupsBoundariesElement: popupsBoundariesElement,
70
- popupsScrollableElement: popupsScrollableElement,
71
- toolbarSize: toolbarSize,
72
- disabled: disabled,
73
- isToolbarReducedSpacing: isToolbarReducedSpacing,
74
- isLastItem: isLastItem,
75
- featureFlags: featureFlags,
76
- providers: providers,
77
- options: options
78
- });
79
- };
80
- return /*#__PURE__*/React.createElement(WithProviders, {
81
- providerFactory: providerFactory,
82
- providers: ['emojiProvider'],
83
- renderNode: renderNode
84
- });
85
- }
86
- };
87
- };
88
- function ToolbarInsertBlockWithInjectionApi(_ref3) {
89
- var _ref4, _ref5, _pluginInjectionApi$i, _pluginInjectionApi$c, _pluginInjectionApi$p, _pluginInjectionApi$b, _pluginInjectionApi$e;
90
- var editorView = _ref3.editorView,
91
- editorActions = _ref3.editorActions,
92
- dispatchAnalyticsEvent = _ref3.dispatchAnalyticsEvent,
93
- popupsMountPoint = _ref3.popupsMountPoint,
94
- popupsBoundariesElement = _ref3.popupsBoundariesElement,
95
- popupsScrollableElement = _ref3.popupsScrollableElement,
96
- toolbarSize = _ref3.toolbarSize,
97
- disabled = _ref3.disabled,
98
- isToolbarReducedSpacing = _ref3.isToolbarReducedSpacing,
99
- isLastItem = _ref3.isLastItem,
100
- providers = _ref3.providers,
101
- pluginInjectionApi = _ref3.pluginInjectionApi,
102
- options = _ref3.options,
103
- featureFlags = _ref3.featureFlags;
104
- var buttons = toolbarSizeToButtons(toolbarSize);
105
- var _useSharedPluginState = useSharedPluginState(pluginInjectionApi, ['hyperlink', 'date', 'imageUpload', 'mention', 'emoji', 'blockType', 'media', 'typeAhead', 'placeholderText']),
106
- dateState = _useSharedPluginState.dateState,
107
- hyperlinkState = _useSharedPluginState.hyperlinkState,
108
- imageUploadState = _useSharedPluginState.imageUploadState,
109
- mentionState = _useSharedPluginState.mentionState,
110
- emojiState = _useSharedPluginState.emojiState,
111
- blockTypeState = _useSharedPluginState.blockTypeState,
112
- mediaState = _useSharedPluginState.mediaState,
113
- typeAheadState = _useSharedPluginState.typeAheadState,
114
- placeholderTextState = _useSharedPluginState.placeholderTextState;
115
- return /*#__PURE__*/React.createElement(ToolbarInsertBlock, {
116
- pluginInjectionApi: pluginInjectionApi,
117
- buttons: buttons,
118
- isReducedSpacing: isToolbarReducedSpacing,
119
- isDisabled: disabled,
120
- isTypeAheadAllowed: Boolean(typeAheadState === null || typeAheadState === void 0 ? void 0 : typeAheadState.isAllowed),
121
- editorView: editorView,
122
- tableSupported: !!editorView.state.schema.nodes.table,
123
- actionSupported: !!editorView.state.schema.nodes.taskItem,
124
- mentionsSupported: !!(mentionState && mentionState.mentionProvider),
125
- mentionsDisabled: !!(mentionState && !mentionState.canInsertMention),
126
- decisionSupported: !!editorView.state.schema.nodes.decisionItem,
127
- dateEnabled: !!dateState,
128
- placeholderTextEnabled: placeholderTextState && placeholderTextState.allowInserting,
129
- layoutSectionEnabled: Boolean(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : pluginInjectionApi.layout),
130
- expandEnabled: !!options.allowExpand,
131
- mediaUploadsEnabled: (_ref4 = mediaState && mediaState.allowsUploads) !== null && _ref4 !== void 0 ? _ref4 : undefined,
132
- onShowMediaPicker: (_ref5 = mediaState && mediaState.showMediaPicker) !== null && _ref5 !== void 0 ? _ref5 : undefined,
133
- mediaSupported: !!mediaState,
134
- imageUploadSupported: !!(pluginInjectionApi !== null && pluginInjectionApi !== void 0 && pluginInjectionApi.imageUpload),
135
- imageUploadEnabled: imageUploadState === null || imageUploadState === void 0 ? void 0 : imageUploadState.enabled,
136
- handleImageUpload: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$i = pluginInjectionApi.imageUpload) === null || _pluginInjectionApi$i === void 0 ? void 0 : _pluginInjectionApi$i.actions.startUpload,
137
- availableWrapperBlockTypes: blockTypeState && blockTypeState.availableWrapperBlockTypes,
138
- linkSupported: !!hyperlinkState,
139
- linkDisabled: !hyperlinkState || !hyperlinkState.canInsertLink || !!hyperlinkState.activeLinkMark,
140
- emojiDisabled: !emojiState || !emojiState.emojiProvider,
141
- emojiProvider: providers.emojiProvider,
142
- nativeStatusSupported: options.nativeStatusSupported,
143
- horizontalRuleEnabled: options.horizontalRuleEnabled,
144
- onInsertBlockType: handleInsertBlockType(pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$c = pluginInjectionApi.codeBlock) === null || _pluginInjectionApi$c === void 0 ? void 0 : _pluginInjectionApi$c.actions.insertCodeBlock, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$p = pluginInjectionApi.panel) === null || _pluginInjectionApi$p === void 0 ? void 0 : _pluginInjectionApi$p.actions.insertPanel, pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$b = pluginInjectionApi.blockType) === null || _pluginInjectionApi$b === void 0 ? void 0 : _pluginInjectionApi$b.actions.insertBlockQuote),
145
- onInsertMacroFromMacroBrowser: pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$e = pluginInjectionApi.extension) === null || _pluginInjectionApi$e === void 0 ? void 0 : _pluginInjectionApi$e.actions.insertMacroFromMacroBrowser,
146
- popupsMountPoint: popupsMountPoint,
147
- popupsBoundariesElement: popupsBoundariesElement,
148
- popupsScrollableElement: popupsScrollableElement,
149
- insertMenuItems: options.insertMenuItems,
150
- editorActions: editorActions,
151
- dispatchAnalyticsEvent: dispatchAnalyticsEvent,
152
- replacePlusMenuWithElementBrowser: options.replacePlusMenuWithElementBrowser,
153
- showElementBrowserLink: options.showElementBrowserLink,
154
- showSeparator: !isLastItem && toolbarSize <= ToolbarSize.S,
155
- featureFlags: featureFlags
156
- });
157
- }
158
- export default insertBlockPlugin;
@@ -1 +0,0 @@
1
- export {};
@@ -1,146 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
- import _taggedTemplateLiteral from "@babel/runtime/helpers/taggedTemplateLiteral";
4
- import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
5
- var _excluded = ["children"];
6
- var _templateObject, _templateObject2;
7
- /** @jsx jsx */
8
-
9
- import { useCallback, useState } from 'react';
10
- import { css, jsx } from '@emotion/react';
11
- // AFP-2532 TODO: Fix automatic suppressions below
12
- // eslint-disable-next-line @atlassian/tangerine/import/entry-points
13
- import { borderRadius } from '@atlaskit/theme';
14
- import { N0, N30A, N60A } from '@atlaskit/theme/colors';
15
- import { IconCode, IconDate, IconDecision, IconDivider, IconExpand, IconPanel, IconQuote, IconStatus } from '@atlaskit/editor-common/quick-insert';
16
- import { withReactEditorViewOuterListeners as withOuterListeners } from '@atlaskit/editor-common/ui-react';
17
- import { ElementBrowser, ELEMENT_ITEM_HEIGHT } from '@atlaskit/editor-common/element-browser';
18
- var InsertMenu = function InsertMenu(_ref) {
19
- var _pluginInjectionApi$q6, _pluginInjectionApi$q7;
20
- var editorView = _ref.editorView,
21
- dropdownItems = _ref.dropdownItems,
22
- showElementBrowserLink = _ref.showElementBrowserLink,
23
- onInsert = _ref.onInsert,
24
- toggleVisiblity = _ref.toggleVisiblity,
25
- pluginInjectionApi = _ref.pluginInjectionApi;
26
- var _useState = useState(0),
27
- _useState2 = _slicedToArray(_useState, 2),
28
- itemCount = _useState2[0],
29
- setItemCount = _useState2[1];
30
- var transform = useCallback(function (item) {
31
- return {
32
- title: item.content,
33
- description: item.tooltipDescription,
34
- keyshortcut: item.shortcut,
35
- icon: function icon() {
36
- return getSvgIconForItem({
37
- name: item.value.name
38
- }) || item.elemBefore;
39
- },
40
- /**
41
- * @note This transformed items action is only used when a quick insert item has been
42
- * called from the quick insert menu and a search has not been performed.
43
- */
44
- action: function action() {
45
- return onInsert({
46
- item: item
47
- });
48
- },
49
- // "insertInsertMenuItem" expects these 2 properties.
50
- onClick: item.onClick,
51
- value: item.value
52
- };
53
- }, [onInsert]);
54
- var quickInsertDropdownItems = dropdownItems.map(transform);
55
- var viewMoreItem = showElementBrowserLink ? quickInsertDropdownItems.pop() : undefined;
56
- var onInsertItem = useCallback(function (item) {
57
- var _pluginInjectionApi$q;
58
- toggleVisiblity();
59
- pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$q = pluginInjectionApi.quickInsert) === null || _pluginInjectionApi$q === void 0 || _pluginInjectionApi$q.actions.insertItem(item)(editorView.state, editorView.dispatch);
60
- }, [editorView, toggleVisiblity, pluginInjectionApi]);
61
- var getItems = useCallback(function (query, category) {
62
- var result;
63
- /**
64
- * @warning The results if there is a query are not the same as the results if there is no query.
65
- * For example: If you have a typed panel and then select the panel item then it will call a different action
66
- * than is specified on the editor plugins quick insert
67
- * @see above transform function for more details.
68
- */
69
- if (query) {
70
- var _pluginInjectionApi$q2, _pluginInjectionApi$q3;
71
- result = (_pluginInjectionApi$q2 = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$q3 = pluginInjectionApi.quickInsert) === null || _pluginInjectionApi$q3 === void 0 ? void 0 : _pluginInjectionApi$q3.actions.getSuggestions({
72
- query: query,
73
- category: category
74
- })) !== null && _pluginInjectionApi$q2 !== void 0 ? _pluginInjectionApi$q2 : [];
75
- } else {
76
- var _pluginInjectionApi$q4, _pluginInjectionApi$q5;
77
- var featuredQuickInsertSuggestions = (_pluginInjectionApi$q4 = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$q5 = pluginInjectionApi.quickInsert) === null || _pluginInjectionApi$q5 === void 0 ? void 0 : _pluginInjectionApi$q5.actions.getSuggestions({
78
- category: category,
79
- featuredItems: true
80
- })) !== null && _pluginInjectionApi$q4 !== void 0 ? _pluginInjectionApi$q4 : [];
81
- result = quickInsertDropdownItems.concat(featuredQuickInsertSuggestions);
82
- }
83
- setItemCount(result.length);
84
- return result;
85
- }, [pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$q6 = pluginInjectionApi.quickInsert) === null || _pluginInjectionApi$q6 === void 0 ? void 0 : _pluginInjectionApi$q6.actions, quickInsertDropdownItems]);
86
- var emptyStateHandler = pluginInjectionApi === null || pluginInjectionApi === void 0 || (_pluginInjectionApi$q7 = pluginInjectionApi.quickInsert) === null || _pluginInjectionApi$q7 === void 0 || (_pluginInjectionApi$q7 = _pluginInjectionApi$q7.sharedState.currentState()) === null || _pluginInjectionApi$q7 === void 0 ? void 0 : _pluginInjectionApi$q7.emptyStateHandler;
87
- return jsx("div", {
88
- css: insertMenuWrapper(itemCount)
89
- }, jsx(ElementBrowserWrapper, {
90
- handleClickOutside: toggleVisiblity,
91
- handleEscapeKeydown: toggleVisiblity,
92
- closeOnTab: true
93
- }, jsx(ElementBrowser, {
94
- mode: "inline",
95
- getItems: getItems,
96
- emptyStateHandler: emptyStateHandler,
97
- onInsertItem: onInsertItem,
98
- showSearch: true,
99
- showCategories: false
100
- // On page resize we want the InlineElementBrowser to show updated tools/overflow items
101
- ,
102
- key: quickInsertDropdownItems.length,
103
- viewMoreItem: viewMoreItem
104
- })));
105
- };
106
- var getSvgIconForItem = function getSvgIconForItem(_ref2) {
107
- var name = _ref2.name;
108
- var Icon = {
109
- codeblock: IconCode,
110
- panel: IconPanel,
111
- blockquote: IconQuote,
112
- decision: IconDecision,
113
- horizontalrule: IconDivider,
114
- expand: IconExpand,
115
- date: IconDate,
116
- status: IconStatus
117
- }[name];
118
- return Icon ? jsx(Icon, {
119
- label: ""
120
- }) : undefined;
121
- };
122
- var getInsertMenuHeight = function getInsertMenuHeight(_ref3) {
123
- var itemCount = _ref3.itemCount;
124
- // Figure based on visuals to exclude the searchbar, padding/margin, and the ViewMore item.
125
- var EXTRA_SPACE_EXCLUDING_ELEMENTLIST = 112;
126
- if (itemCount > 0 && itemCount < 6) {
127
- return itemCount * ELEMENT_ITEM_HEIGHT + EXTRA_SPACE_EXCLUDING_ELEMENTLIST;
128
- }
129
- return 560; // For showing 6 Elements.
130
- };
131
-
132
- var insertMenuWrapper = function insertMenuWrapper(itemCount) {
133
- return css(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n width: 320px;\n height: ", "px;\n background-color: ", ";\n border-radius: ", "px;\n box-shadow: ", ";\n"])), getInsertMenuHeight({
134
- itemCount: itemCount
135
- }), "var(--ds-surface-overlay, ".concat(N0, ")"), borderRadius(), "var(--ds-shadow-overlay, ".concat("0 0 0 1px ".concat(N30A, ",\n 0 2px 1px ").concat(N30A, ",\n 0 0 20px -6px ").concat(N60A), ")"));
136
- };
137
- var flexWrapperStyles = css(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["\n display: flex;\n flex: 1;\n box-sizing: border-box;\n overflow: hidden;\n"])));
138
- var FlexWrapper = function FlexWrapper(props) {
139
- var children = props.children,
140
- divProps = _objectWithoutProperties(props, _excluded);
141
- return jsx("div", _extends({
142
- css: flexWrapperStyles
143
- }, divProps), children);
144
- };
145
- var ElementBrowserWrapper = withOuterListeners(FlexWrapper);
146
- export default InsertMenu;
@@ -1,35 +0,0 @@
1
- import React from 'react';
2
- import { Popup } from '@atlaskit/editor-common/ui';
3
- import InsertMenu from '../ElementBrowser/InsertMenu';
4
- import { DropDownButton } from './dropdown-button';
5
- export var BlockInsertElementBrowser = function BlockInsertElementBrowser(props) {
6
- return /*#__PURE__*/React.createElement(React.Fragment, null, props.open && /*#__PURE__*/React.createElement(Popup, {
7
- target: props.plusButtonRef,
8
- fitHeight: 500,
9
- fitWidth: 350,
10
- offset: [0, 3],
11
- mountTo: props.popupsMountPoint,
12
- boundariesElement: props.popupsBoundariesElement,
13
- scrollableElement: props.popupsScrollableElement,
14
- preventOverflow: true,
15
- alignX: "right"
16
- }, /*#__PURE__*/React.createElement(InsertMenu, {
17
- editorView: props.editorView,
18
- dropdownItems: props.items,
19
- onInsert: props.onInsert,
20
- toggleVisiblity: props.togglePlusMenuVisibility,
21
- showElementBrowserLink: props.showElementBrowserLink,
22
- pluginInjectionApi: props.pluginInjectionApi
23
- })), /*#__PURE__*/React.createElement(DropDownButton, {
24
- "aria-expanded": props.open,
25
- "aria-haspopup": true,
26
- handleRef: props.onRef,
27
- selected: props.open,
28
- disabled: props.disabled,
29
- onClick: props.onClick,
30
- onKeyDown: props.onKeyDown,
31
- spacing: props.spacing,
32
- label: props.label,
33
- "aria-keyshortcuts": "/"
34
- }));
35
- };
@@ -1,35 +0,0 @@
1
- import React from 'react';
2
- import { akEditorMenuZIndex } from '@atlaskit/editor-shared-styles';
3
- import { DropdownMenuWithKeyboardNavigation as DropdownMenu } from '@atlaskit/editor-common/ui-menu';
4
- import { DropDownButton } from './dropdown-button';
5
- export var BlockInsertMenuLegacy = function BlockInsertMenuLegacy(props) {
6
- var items = props.items;
7
- var dropdownItems = React.useMemo(function () {
8
- return [{
9
- items: items
10
- }];
11
- }, [items]);
12
- return /*#__PURE__*/React.createElement(DropdownMenu, {
13
- items: dropdownItems,
14
- onItemActivated: props.onItemActivated,
15
- onOpenChange: props.onOpenChange,
16
- mountTo: props.popupsMountPoint,
17
- boundariesElement: props.popupsBoundariesElement,
18
- scrollableElement: props.popupsScrollableElement,
19
- isOpen: props.open,
20
- fitHeight: 188,
21
- fitWidth: 175,
22
- zIndex: akEditorMenuZIndex
23
- }, /*#__PURE__*/React.createElement(DropDownButton, {
24
- "aria-expanded": props.open,
25
- "aria-haspopup": true,
26
- handleRef: props.onRef,
27
- selected: props.open,
28
- disabled: props.disabled,
29
- onClick: props.onClick,
30
- onKeyDown: props.onKeyDown,
31
- spacing: props.spacing,
32
- label: props.label,
33
- "aria-keyshortcuts": "/"
34
- }));
35
- };
@@ -1,59 +0,0 @@
1
- import React from 'react';
2
- import { BlockInsertElementBrowser } from './block-insert-element-browser';
3
- import { BlockInsertMenuLegacy } from './block-insert-menu-legacy';
4
- import { DropDownButton } from './dropdown-button';
5
- export var BlockInsertMenu = function BlockInsertMenu(props) {
6
- if (props.items.length === 0) {
7
- return null;
8
- }
9
- if (props.disabled) {
10
- return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(DropDownButton, {
11
- "aria-expanded": props.open,
12
- "aria-haspopup": true,
13
- handleRef: props.onRef,
14
- selected: props.open,
15
- disabled: props.disabled,
16
- onClick: props.onClick,
17
- onKeyDown: props.onKeyDown,
18
- spacing: props.spacing,
19
- label: props.label,
20
- "aria-keyshortcuts": "/"
21
- }));
22
- }
23
- if (props.replacePlusMenuWithElementBrowser) {
24
- return /*#__PURE__*/React.createElement(BlockInsertElementBrowser, {
25
- disabled: props.disabled,
26
- editorView: props.editorView,
27
- items: props.items,
28
- label: props.label,
29
- onClick: props.onClick,
30
- onKeyDown: props.onKeyDown,
31
- onInsert: props.onInsert,
32
- onRef: props.onPlusButtonRef,
33
- open: props.open,
34
- plusButtonRef: props.plusButtonRef,
35
- popupsBoundariesElement: props.popupsBoundariesElement,
36
- popupsMountPoint: props.popupsMountPoint,
37
- popupsScrollableElement: props.popupsScrollableElement,
38
- spacing: props.spacing,
39
- togglePlusMenuVisibility: props.togglePlusMenuVisibility,
40
- showElementBrowserLink: props.showElementBrowserLink,
41
- pluginInjectionApi: props.pluginInjectionApi
42
- });
43
- }
44
- return /*#__PURE__*/React.createElement(BlockInsertMenuLegacy, {
45
- disabled: props.disabled,
46
- items: props.items,
47
- label: props.label,
48
- onClick: props.onClick,
49
- onKeyDown: props.onKeyDown,
50
- onItemActivated: props.onItemActivated,
51
- onOpenChange: props.onOpenChange,
52
- onRef: props.onRef,
53
- open: props.open,
54
- popupsBoundariesElement: props.popupsBoundariesElement,
55
- popupsMountPoint: props.popupsMountPoint,
56
- popupsScrollableElement: props.popupsScrollableElement,
57
- spacing: props.spacing
58
- });
59
- };