@atlaskit/editor-core 189.3.14 → 189.3.16

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 (229) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/cjs/nodeviews/getInlineNodeViewProducer.styles.js +1 -1
  3. package/dist/cjs/plugins/analytics/index.js +0 -6
  4. package/dist/cjs/plugins/analytics/utils.js +0 -29
  5. package/dist/cjs/plugins/breakout/index.js +3 -3
  6. package/dist/cjs/plugins/breakout/ui/LayoutButton.js +4 -4
  7. package/dist/cjs/plugins/extension/extension-api.js +3 -3
  8. package/dist/cjs/plugins/extension/index.js +14 -3
  9. package/dist/cjs/plugins/{macro → extension/pm-plugins/macro}/actions.js +3 -4
  10. package/dist/cjs/plugins/{macro → extension/pm-plugins/macro}/index.js +2 -18
  11. package/dist/cjs/plugins/extension/toolbar.js +1 -1
  12. package/dist/cjs/plugins/find-replace/FindReplaceToolbarButtonWithState.js +32 -30
  13. package/dist/cjs/plugins/find-replace/commands-with-analytics.js +85 -71
  14. package/dist/cjs/plugins/find-replace/index.js +5 -2
  15. package/dist/cjs/plugins/find-replace/keymap.js +4 -4
  16. package/dist/cjs/plugins/index.js +1 -24
  17. package/dist/cjs/plugins/insert-block/index.js +36 -53
  18. package/dist/cjs/{ui → plugins/insert-block/ui}/ElementBrowser/InsertMenu.js +3 -9
  19. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -1
  20. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/create-items.js +1 -1
  21. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +3 -3
  22. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/index.js +4 -5
  23. package/dist/cjs/plugins/insert-block/ui/ToolbarInsertBlock/item.js +7 -8
  24. package/dist/cjs/plugins/paste/handlers.js +3 -3
  25. package/dist/cjs/plugins/paste/pm-plugins/main.js +4 -4
  26. package/dist/cjs/presets/context.js +5 -3
  27. package/dist/cjs/presets/universal.js +12 -8
  28. package/dist/cjs/ui/Appearance/Comment/Comment.js +1 -1
  29. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +3 -2
  30. package/dist/cjs/{plugins/expand/ui/styles.js → ui/ContentStyles/expand.js} +11 -8
  31. package/dist/cjs/ui/ContentStyles/index.js +4 -4
  32. package/dist/cjs/ui/ToolbarFeedback/index.js +1 -1
  33. package/dist/cjs/use-preset.js +0 -1
  34. package/dist/cjs/version-wrapper.js +1 -1
  35. package/dist/es2019/nodeviews/getInlineNodeViewProducer.styles.js +1 -1
  36. package/dist/es2019/plugins/analytics/index.js +1 -1
  37. package/dist/es2019/plugins/analytics/utils.js +0 -24
  38. package/dist/es2019/plugins/breakout/index.js +1 -1
  39. package/dist/es2019/plugins/breakout/ui/LayoutButton.js +1 -1
  40. package/dist/es2019/plugins/extension/extension-api.js +2 -2
  41. package/dist/es2019/plugins/extension/index.js +13 -3
  42. package/dist/es2019/plugins/{macro → extension/pm-plugins/macro}/actions.js +2 -2
  43. package/dist/es2019/plugins/{macro → extension/pm-plugins/macro}/index.js +1 -14
  44. package/dist/es2019/plugins/extension/toolbar.js +1 -1
  45. package/dist/es2019/plugins/find-replace/FindReplaceToolbarButtonWithState.js +20 -19
  46. package/dist/es2019/plugins/find-replace/commands-with-analytics.js +15 -15
  47. package/dist/es2019/plugins/find-replace/index.js +7 -2
  48. package/dist/es2019/plugins/find-replace/keymap.js +4 -4
  49. package/dist/es2019/plugins/index.js +0 -2
  50. package/dist/es2019/plugins/insert-block/index.js +19 -36
  51. package/dist/es2019/{ui → plugins/insert-block/ui}/ElementBrowser/InsertMenu.js +4 -8
  52. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -1
  53. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/create-items.js +1 -1
  54. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +2 -2
  55. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -3
  56. package/dist/es2019/plugins/insert-block/ui/ToolbarInsertBlock/item.js +2 -2
  57. package/dist/es2019/plugins/paste/handlers.js +4 -3
  58. package/dist/es2019/plugins/paste/pm-plugins/main.js +4 -4
  59. package/dist/es2019/presets/context.js +2 -2
  60. package/dist/es2019/presets/universal.js +10 -6
  61. package/dist/es2019/ui/Appearance/Comment/Comment.js +1 -1
  62. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +3 -2
  63. package/dist/es2019/{plugins/expand/ui/styles.js → ui/ContentStyles/expand.js} +9 -4
  64. package/dist/es2019/ui/ContentStyles/index.js +1 -1
  65. package/dist/es2019/ui/ToolbarFeedback/index.js +2 -2
  66. package/dist/es2019/use-preset.js +0 -1
  67. package/dist/es2019/version-wrapper.js +1 -1
  68. package/dist/esm/nodeviews/getInlineNodeViewProducer.styles.js +1 -1
  69. package/dist/esm/plugins/analytics/index.js +1 -1
  70. package/dist/esm/plugins/analytics/utils.js +0 -28
  71. package/dist/esm/plugins/breakout/index.js +1 -1
  72. package/dist/esm/plugins/breakout/ui/LayoutButton.js +1 -1
  73. package/dist/esm/plugins/extension/extension-api.js +2 -2
  74. package/dist/esm/plugins/extension/index.js +14 -3
  75. package/dist/esm/plugins/{macro → extension/pm-plugins/macro}/actions.js +2 -2
  76. package/dist/esm/plugins/{macro → extension/pm-plugins/macro}/index.js +1 -17
  77. package/dist/esm/plugins/extension/toolbar.js +1 -1
  78. package/dist/esm/plugins/find-replace/FindReplaceToolbarButtonWithState.js +32 -30
  79. package/dist/esm/plugins/find-replace/commands-with-analytics.js +84 -70
  80. package/dist/esm/plugins/find-replace/index.js +5 -2
  81. package/dist/esm/plugins/find-replace/keymap.js +4 -4
  82. package/dist/esm/plugins/index.js +0 -2
  83. package/dist/esm/plugins/insert-block/index.js +36 -53
  84. package/dist/esm/{ui → plugins/insert-block/ui}/ElementBrowser/InsertMenu.js +4 -10
  85. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.js +1 -1
  86. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/create-items.js +1 -1
  87. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.js +2 -2
  88. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/index.js +2 -3
  89. package/dist/esm/plugins/insert-block/ui/ToolbarInsertBlock/item.js +2 -2
  90. package/dist/esm/plugins/paste/handlers.js +4 -3
  91. package/dist/esm/plugins/paste/pm-plugins/main.js +4 -4
  92. package/dist/esm/presets/context.js +2 -2
  93. package/dist/esm/presets/universal.js +9 -6
  94. package/dist/esm/ui/Appearance/Comment/Comment.js +1 -1
  95. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +3 -2
  96. package/dist/esm/{plugins/expand/ui/styles.js → ui/ContentStyles/expand.js} +9 -4
  97. package/dist/esm/ui/ContentStyles/index.js +1 -1
  98. package/dist/esm/ui/ToolbarFeedback/index.js +1 -1
  99. package/dist/esm/use-preset.js +0 -1
  100. package/dist/esm/version-wrapper.js +1 -1
  101. package/dist/types/plugins/analytics/index.d.ts +1 -1
  102. package/dist/types/plugins/analytics/utils.d.ts +0 -11
  103. package/dist/types/plugins/extension/extension-api.d.ts +1 -1
  104. package/dist/{types-ts4.5/plugins → types/plugins/extension/pm-plugins}/macro/index.d.ts +1 -4
  105. package/dist/types/plugins/extension/pm-plugins/macro/types.d.ts +4 -0
  106. package/dist/types/plugins/find-replace/FindReplaceToolbarButtonWithState.d.ts +4 -2
  107. package/dist/types/plugins/find-replace/commands-with-analytics.d.ts +9 -9
  108. package/dist/types/plugins/find-replace/index.d.ts +5 -3
  109. package/dist/types/plugins/find-replace/keymap.d.ts +2 -1
  110. package/dist/types/plugins/index.d.ts +0 -2
  111. package/dist/types/plugins/insert-block/types.d.ts +4 -2
  112. package/dist/{types-ts4.5 → types/plugins/insert-block}/ui/ElementBrowser/types.d.ts +2 -2
  113. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.d.ts +1 -1
  114. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.d.ts +1 -1
  115. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/create-items.d.ts +0 -2
  116. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.d.ts +1 -1
  117. package/dist/types/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +0 -1
  118. package/dist/types/plugins/mobile-dimensions/index.d.ts +2 -1
  119. package/dist/types/plugins/paste/handlers.d.ts +2 -1
  120. package/dist/types/presets/context.d.ts +2 -2
  121. package/dist/types/presets/default.d.ts +8 -0
  122. package/dist/types/presets/universal.d.ts +5 -0
  123. package/dist/types/{plugins/expand/ui/styles.d.ts → ui/ContentStyles/expand.d.ts} +1 -1
  124. package/dist/types-ts4.5/plugins/analytics/index.d.ts +1 -1
  125. package/dist/types-ts4.5/plugins/analytics/utils.d.ts +0 -11
  126. package/dist/types-ts4.5/plugins/extension/extension-api.d.ts +1 -1
  127. package/dist/{types/plugins → types-ts4.5/plugins/extension/pm-plugins}/macro/index.d.ts +1 -4
  128. package/dist/types-ts4.5/plugins/extension/pm-plugins/macro/types.d.ts +4 -0
  129. package/dist/types-ts4.5/plugins/find-replace/FindReplaceToolbarButtonWithState.d.ts +4 -2
  130. package/dist/types-ts4.5/plugins/find-replace/commands-with-analytics.d.ts +9 -9
  131. package/dist/types-ts4.5/plugins/find-replace/index.d.ts +6 -3
  132. package/dist/types-ts4.5/plugins/find-replace/keymap.d.ts +2 -1
  133. package/dist/types-ts4.5/plugins/index.d.ts +0 -2
  134. package/dist/types-ts4.5/plugins/insert-block/types.d.ts +4 -2
  135. package/dist/{types → types-ts4.5/plugins/insert-block}/ui/ElementBrowser/types.d.ts +2 -2
  136. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-element-browser.d.ts +1 -1
  137. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/block-insert-menu.d.ts +1 -1
  138. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/create-items.d.ts +0 -2
  139. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/dropdown-button.d.ts +1 -1
  140. package/dist/types-ts4.5/plugins/insert-block/ui/ToolbarInsertBlock/types.d.ts +0 -1
  141. package/dist/types-ts4.5/plugins/mobile-dimensions/index.d.ts +2 -1
  142. package/dist/types-ts4.5/plugins/paste/handlers.d.ts +2 -1
  143. package/dist/types-ts4.5/presets/context.d.ts +2 -2
  144. package/dist/types-ts4.5/presets/default.d.ts +8 -0
  145. package/dist/types-ts4.5/presets/universal.d.ts +5 -0
  146. package/dist/types-ts4.5/{plugins/expand/ui/styles.d.ts → ui/ContentStyles/expand.d.ts} +1 -1
  147. package/package.json +5 -9
  148. package/dist/cjs/plugins/breakout/constants.js +0 -10
  149. package/dist/cjs/plugins/expand/commands.js +0 -184
  150. package/dist/cjs/plugins/expand/index.js +0 -111
  151. package/dist/cjs/plugins/expand/nodeviews/index.js +0 -485
  152. package/dist/cjs/plugins/expand/pm-plugins/keymap.js +0 -171
  153. package/dist/cjs/plugins/expand/pm-plugins/main.js +0 -85
  154. package/dist/cjs/plugins/expand/pm-plugins/plugin-factory.js +0 -15
  155. package/dist/cjs/plugins/expand/reducer.js +0 -20
  156. package/dist/cjs/plugins/expand/toolbar.js +0 -59
  157. package/dist/cjs/plugins/expand/ui/ExpandIconButton.js +0 -104
  158. package/dist/cjs/plugins/expand/ui/class-names.js +0 -20
  159. package/dist/cjs/plugins/expand/utils.js +0 -24
  160. package/dist/cjs/ui/ElementBrowser/types.js +0 -5
  161. package/dist/es2019/plugins/breakout/constants.js +0 -4
  162. package/dist/es2019/plugins/expand/commands.js +0 -161
  163. package/dist/es2019/plugins/expand/index.js +0 -95
  164. package/dist/es2019/plugins/expand/nodeviews/index.js +0 -475
  165. package/dist/es2019/plugins/expand/pm-plugins/keymap.js +0 -197
  166. package/dist/es2019/plugins/expand/pm-plugins/main.js +0 -73
  167. package/dist/es2019/plugins/expand/pm-plugins/plugin-factory.js +0 -9
  168. package/dist/es2019/plugins/expand/reducer.js +0 -11
  169. package/dist/es2019/plugins/expand/toolbar.js +0 -52
  170. package/dist/es2019/plugins/expand/ui/ExpandIconButton.js +0 -85
  171. package/dist/es2019/plugins/expand/ui/class-names.js +0 -12
  172. package/dist/es2019/plugins/expand/utils.js +0 -1
  173. package/dist/esm/plugins/breakout/constants.js +0 -4
  174. package/dist/esm/plugins/expand/commands.js +0 -177
  175. package/dist/esm/plugins/expand/index.js +0 -97
  176. package/dist/esm/plugins/expand/nodeviews/index.js +0 -477
  177. package/dist/esm/plugins/expand/pm-plugins/keymap.js +0 -165
  178. package/dist/esm/plugins/expand/pm-plugins/main.js +0 -77
  179. package/dist/esm/plugins/expand/pm-plugins/plugin-factory.js +0 -9
  180. package/dist/esm/plugins/expand/reducer.js +0 -13
  181. package/dist/esm/plugins/expand/toolbar.js +0 -52
  182. package/dist/esm/plugins/expand/ui/ExpandIconButton.js +0 -95
  183. package/dist/esm/plugins/expand/ui/class-names.js +0 -14
  184. package/dist/esm/plugins/expand/utils.js +0 -1
  185. package/dist/esm/plugins/macro/types.js +0 -1
  186. package/dist/esm/ui/ElementBrowser/types.js +0 -1
  187. package/dist/types/plugins/breakout/constants.d.ts +0 -4
  188. package/dist/types/plugins/expand/commands.d.ts +0 -13
  189. package/dist/types/plugins/expand/index.d.ts +0 -31
  190. package/dist/types/plugins/expand/nodeviews/index.d.ts +0 -55
  191. package/dist/types/plugins/expand/pm-plugins/keymap.d.ts +0 -4
  192. package/dist/types/plugins/expand/pm-plugins/main.d.ts +0 -8
  193. package/dist/types/plugins/expand/pm-plugins/plugin-factory.d.ts +0 -3
  194. package/dist/types/plugins/expand/reducer.d.ts +0 -3
  195. package/dist/types/plugins/expand/toolbar.d.ts +0 -3
  196. package/dist/types/plugins/expand/types.d.ts +0 -9
  197. package/dist/types/plugins/expand/ui/ExpandIconButton.d.ts +0 -43
  198. package/dist/types/plugins/expand/ui/class-names.d.ts +0 -11
  199. package/dist/types/plugins/expand/utils.d.ts +0 -1
  200. package/dist/types/plugins/macro/types.d.ts +0 -4
  201. package/dist/types-ts4.5/plugins/breakout/constants.d.ts +0 -4
  202. package/dist/types-ts4.5/plugins/expand/commands.d.ts +0 -13
  203. package/dist/types-ts4.5/plugins/expand/index.d.ts +0 -31
  204. package/dist/types-ts4.5/plugins/expand/nodeviews/index.d.ts +0 -55
  205. package/dist/types-ts4.5/plugins/expand/pm-plugins/keymap.d.ts +0 -4
  206. package/dist/types-ts4.5/plugins/expand/pm-plugins/main.d.ts +0 -8
  207. package/dist/types-ts4.5/plugins/expand/pm-plugins/plugin-factory.d.ts +0 -3
  208. package/dist/types-ts4.5/plugins/expand/reducer.d.ts +0 -3
  209. package/dist/types-ts4.5/plugins/expand/toolbar.d.ts +0 -3
  210. package/dist/types-ts4.5/plugins/expand/types.d.ts +0 -9
  211. package/dist/types-ts4.5/plugins/expand/ui/ExpandIconButton.d.ts +0 -43
  212. package/dist/types-ts4.5/plugins/expand/ui/class-names.d.ts +0 -11
  213. package/dist/types-ts4.5/plugins/expand/utils.d.ts +0 -1
  214. package/dist/types-ts4.5/plugins/macro/types.d.ts +0 -4
  215. /package/dist/cjs/plugins/{macro → extension/pm-plugins/macro}/plugin-key.js +0 -0
  216. /package/dist/cjs/plugins/{expand → extension/pm-plugins/macro}/types.js +0 -0
  217. /package/dist/cjs/plugins/{macro → insert-block/ui/ElementBrowser}/types.js +0 -0
  218. /package/dist/es2019/plugins/{macro → extension/pm-plugins/macro}/plugin-key.js +0 -0
  219. /package/dist/es2019/plugins/{expand → extension/pm-plugins/macro}/types.js +0 -0
  220. /package/dist/es2019/plugins/{macro → insert-block/ui/ElementBrowser}/types.js +0 -0
  221. /package/dist/esm/plugins/{macro → extension/pm-plugins/macro}/plugin-key.js +0 -0
  222. /package/dist/{es2019/ui/ElementBrowser → esm/plugins/extension/pm-plugins/macro}/types.js +0 -0
  223. /package/dist/esm/plugins/{expand → insert-block/ui/ElementBrowser}/types.js +0 -0
  224. /package/dist/types/plugins/{macro → extension/pm-plugins/macro}/actions.d.ts +0 -0
  225. /package/dist/types/plugins/{macro → extension/pm-plugins/macro}/plugin-key.d.ts +0 -0
  226. /package/dist/types/{ui → plugins/insert-block/ui}/ElementBrowser/InsertMenu.d.ts +0 -0
  227. /package/dist/types-ts4.5/plugins/{macro → extension/pm-plugins/macro}/actions.d.ts +0 -0
  228. /package/dist/types-ts4.5/plugins/{macro → extension/pm-plugins/macro}/plugin-key.d.ts +0 -0
  229. /package/dist/types-ts4.5/{ui → plugins/insert-block/ui}/ElementBrowser/InsertMenu.d.ts +0 -0
@@ -1,73 +0,0 @@
1
- import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
2
- import { findDomRefAtPos } from '@atlaskit/editor-prosemirror/utils';
3
- import { createSelectionClickHandler } from '@atlaskit/editor-common/selection';
4
- import ExpandNodeView from '../nodeviews';
5
- import { setExpandRef } from '../commands';
6
- import { findExpand } from '../utils';
7
- import { expandClassNames } from '../ui/class-names';
8
- import { getPluginState, createPluginState, pluginKey } from './plugin-factory';
9
- export function containsClass(element, className) {
10
- var _element$classList;
11
- return Boolean(element === null || element === void 0 ? void 0 : (_element$classList = element.classList) === null || _element$classList === void 0 ? void 0 : _element$classList.contains(className));
12
- }
13
- export const createPlugin = (dispatch, getIntl, appearance = 'full-page', useLongPressSelection = false, featureFlags, api) => {
14
- const state = createPluginState(dispatch, {});
15
- const isMobile = appearance === 'mobile';
16
- return new SafePlugin({
17
- state: state,
18
- key: pluginKey,
19
- props: {
20
- nodeViews: {
21
- expand: ExpandNodeView({
22
- getIntl,
23
- isMobile,
24
- featureFlags,
25
- api
26
- }),
27
- nestedExpand: ExpandNodeView({
28
- getIntl,
29
- isMobile,
30
- featureFlags,
31
- api
32
- })
33
- },
34
- handleKeyDown(_view, event) {
35
- return containsClass(event.target, expandClassNames.titleContainer);
36
- },
37
- handleKeyPress(_view, event) {
38
- return containsClass(event.target, expandClassNames.titleContainer);
39
- },
40
- handleScrollToSelection() {
41
- return containsClass(document.activeElement, expandClassNames.titleInput);
42
- },
43
- handleClickOn: createSelectionClickHandler(['expand', 'nestedExpand'], target => target.classList.contains(expandClassNames.prefix), {
44
- useLongPressSelection
45
- })
46
- },
47
- // @see ED-8027 to follow up on this work-around
48
- filterTransaction(tr) {
49
- if (containsClass(document.activeElement, expandClassNames.titleInput) && tr.selectionSet && (!tr.steps.length || tr.isGeneric)) {
50
- return false;
51
- }
52
- return true;
53
- },
54
- view: editorView => {
55
- const domAtPos = editorView.domAtPos.bind(editorView);
56
- return {
57
- update: view => {
58
- const {
59
- state,
60
- dispatch
61
- } = view;
62
- const node = findExpand(state);
63
- if (node) {
64
- const expandRef = findDomRefAtPos(node.pos, domAtPos);
65
- if (getPluginState(state).expandRef !== expandRef) {
66
- setExpandRef(expandRef)(state, dispatch);
67
- }
68
- }
69
- }
70
- };
71
- }
72
- });
73
- };
@@ -1,9 +0,0 @@
1
- import { PluginKey } from '@atlaskit/editor-prosemirror/state';
2
- import { pluginFactory } from '../../../utils/plugin-state-factory';
3
- import reducer from '../reducer';
4
- export const pluginKey = new PluginKey('expandPlugin');
5
- export const {
6
- createPluginState,
7
- createCommand,
8
- getPluginState
9
- } = pluginFactory(pluginKey, reducer);
@@ -1,11 +0,0 @@
1
- export default ((pluginState, action) => {
2
- switch (action.type) {
3
- case 'SET_EXPAND_REF':
4
- return {
5
- ...pluginState,
6
- expandRef: action.data.ref
7
- };
8
- default:
9
- return pluginState;
10
- }
11
- });
@@ -1,52 +0,0 @@
1
- import RemoveIcon from '@atlaskit/icon/glyph/editor/remove';
2
- import commonMessages from '../../messages';
3
- import { deleteExpand } from './commands';
4
- import { getPluginState } from './pm-plugins/plugin-factory';
5
- export const getToolbarConfig = api => (state, {
6
- formatMessage
7
- }) => {
8
- var _api$decorations$acti, _api$decorations, _api$analytics;
9
- const {
10
- hoverDecoration
11
- } = (_api$decorations$acti = api === null || api === void 0 ? void 0 : (_api$decorations = api.decorations) === null || _api$decorations === void 0 ? void 0 : _api$decorations.actions) !== null && _api$decorations$acti !== void 0 ? _api$decorations$acti : {};
12
- const editorAnalyticsAPI = api === null || api === void 0 ? void 0 : (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions;
13
- const {
14
- expandRef
15
- } = getPluginState(state);
16
- if (expandRef) {
17
- const {
18
- nestedExpand,
19
- expand
20
- } = state.schema.nodes;
21
- return {
22
- title: 'Expand toolbar',
23
- getDomRef: () => expandRef,
24
- nodeType: [nestedExpand, expand],
25
- offset: [0, 6],
26
- items: [{
27
- type: 'copy-button',
28
- items: [{
29
- state,
30
- formatMessage,
31
- nodeType: [nestedExpand, expand]
32
- }, {
33
- type: 'separator'
34
- }]
35
- }, {
36
- id: 'editor.expand.delete',
37
- type: 'button',
38
- appearance: 'danger',
39
- focusEditoronEnter: true,
40
- icon: RemoveIcon,
41
- onClick: deleteExpand(editorAnalyticsAPI),
42
- onMouseEnter: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], true),
43
- onMouseLeave: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], false),
44
- onFocus: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], true),
45
- onBlur: hoverDecoration === null || hoverDecoration === void 0 ? void 0 : hoverDecoration([nestedExpand, expand], false),
46
- title: formatMessage(commonMessages.remove),
47
- tabIndex: null
48
- }]
49
- };
50
- }
51
- return;
52
- };
@@ -1,85 +0,0 @@
1
- import _extends from "@babel/runtime/helpers/extends";
2
- /** @jsx jsx */
3
- import React, { useCallback } from 'react';
4
- import { jsx } from '@emotion/react';
5
- import Button from '@atlaskit/button/custom-theme-button';
6
- import { expandMessages, expandLayoutWrapperStyle, ExpandLayoutWrapperWithRef } from '@atlaskit/editor-common/ui';
7
- import { akEditorSwoopCubicBezier } from '@atlaskit/editor-shared-styles';
8
- import ChevronRightIcon from '@atlaskit/icon/glyph/chevron-right';
9
- import Tooltip from '@atlaskit/tooltip';
10
- import { expandClassNames } from './class-names';
11
- export const withTooltip = WrapperComponent => {
12
- return class WithSortableColumn extends React.Component {
13
- constructor(props) {
14
- super(props);
15
- }
16
- render() {
17
- const {
18
- label
19
- } = this.props;
20
- return jsx(Tooltip, {
21
- content: label,
22
- position: "top",
23
- tag: ExpandLayoutWrapperWithRef
24
- }, jsx(WrapperComponent, this.props));
25
- }
26
- };
27
- };
28
- export const CustomButton = props => {
29
- const {
30
- label,
31
- allowInteractiveExpand
32
- } = props;
33
- const useTheme = useCallback((currentTheme, themeProps) => {
34
- const {
35
- buttonStyles,
36
- ...rest
37
- } = currentTheme(themeProps);
38
- return {
39
- buttonStyles: {
40
- ...buttonStyles,
41
- height: '100%',
42
- '& svg': {
43
- transform: props.expanded ? 'transform: rotate(90deg);' : 'transform: rotate(0deg);',
44
- transition: `transform 0.2s ${akEditorSwoopCubicBezier};`
45
- }
46
- },
47
- ...rest
48
- };
49
- }, [props]);
50
- return jsx(Button, {
51
- appearance: "subtle",
52
- className: expandClassNames.iconContainer,
53
- iconBefore: jsx(ChevronRightIcon, {
54
- label: label
55
- }),
56
- shouldFitContainer: true,
57
- theme: useTheme,
58
- isDisabled: !allowInteractiveExpand
59
- });
60
- };
61
- const ButtonWithTooltip = withTooltip(CustomButton);
62
- const ButtonWithoutTooltip = CustomButton;
63
- export const ExpandIconButton = props => {
64
- const {
65
- expanded,
66
- intl
67
- } = props;
68
- const message = expanded ? expandMessages.collapseNode : expandMessages.expandNode;
69
- const label = intl && intl.formatMessage(message) || message.defaultMessage;
70
- // check to ensure device supports any-hover
71
- const supportsAnyHover = !!window.matchMedia ? window.matchMedia('(any-hover: hover)').matches !== window.matchMedia('(any-hover: none)').matches : false;
72
- const hoverEventCheck = supportsAnyHover ? window.matchMedia('(any-hover: hover)').matches : true;
73
-
74
- // hoverEventCheck is to disable tooltips for mobile to prevent incorrect hover state causing issues on iOS
75
- if (props.allowInteractiveExpand && hoverEventCheck) {
76
- return jsx(ButtonWithTooltip, _extends({
77
- label: label
78
- }, props));
79
- }
80
- return jsx("div", {
81
- css: expandLayoutWrapperStyle
82
- }, jsx(ButtonWithoutTooltip, _extends({
83
- label: label
84
- }, props)));
85
- };
@@ -1,12 +0,0 @@
1
- const prefix = 'ak-editor-expand';
2
- export const expandClassNames = {
3
- prefix,
4
- expanded: `${prefix}__expanded`,
5
- titleContainer: `${prefix}__title-container`,
6
- inputContainer: `${prefix}__input-container`,
7
- iconContainer: `${prefix}__icon-container`,
8
- icon: `${prefix}__icon`,
9
- titleInput: `${prefix}__title-input`,
10
- content: `${prefix}__content`,
11
- type: type => `${prefix}__type-${type}`
12
- };
@@ -1 +0,0 @@
1
- export { findExpand, transformSliceToRemoveOpenExpand, transformSliceNestedExpandToExpand } from '@atlaskit/editor-common/transforms';
@@ -1,4 +0,0 @@
1
- export var BreakoutCssClassName = {
2
- BREAKOUT_MARK: 'fabric-editor-breakout-mark',
3
- BREAKOUT_MARK_DOM: 'fabric-editor-breakout-mark-dom'
4
- };
@@ -1,177 +0,0 @@
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 { Selection } from '@atlaskit/editor-prosemirror/state';
5
- import { findTable } from '@atlaskit/editor-tables/utils';
6
- import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, INPUT_METHOD, EVENT_TYPE, PLATFORMS, MODE } from '@atlaskit/editor-common/analytics';
7
- import { GapCursorSelection, Side } from '@atlaskit/editor-common/selection';
8
- import { findExpand } from './utils';
9
- import { createCommand } from './pm-plugins/plugin-factory';
10
- import { createWrapSelectionTransaction } from '@atlaskit/editor-common/utils';
11
- import { safeInsert } from '@atlaskit/editor-prosemirror/utils';
12
- export var setExpandRef = function setExpandRef(ref) {
13
- return createCommand({
14
- type: 'SET_EXPAND_REF',
15
- data: {
16
- ref: ref
17
- }
18
- }, function (tr) {
19
- return tr.setMeta('addToHistory', false);
20
- });
21
- };
22
- export var deleteExpandAtPos = function deleteExpandAtPos(editorAnalyticsAPI) {
23
- return function (expandNodePos, expandNode) {
24
- return function (state, dispatch) {
25
- if (!expandNode || isNaN(expandNodePos)) {
26
- return false;
27
- }
28
- var payload = {
29
- action: ACTION.DELETED,
30
- actionSubject: expandNode.type === state.schema.nodes.expand ? ACTION_SUBJECT.EXPAND : ACTION_SUBJECT.NESTED_EXPAND,
31
- attributes: {
32
- inputMethod: INPUT_METHOD.TOOLBAR
33
- },
34
- eventType: EVENT_TYPE.TRACK
35
- };
36
- if (expandNode && dispatch) {
37
- var tr = state.tr;
38
- tr.delete(expandNodePos, expandNodePos + expandNode.nodeSize);
39
- editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent(payload)(tr);
40
- dispatch(tr);
41
- }
42
- return true;
43
- };
44
- };
45
- };
46
- export var deleteExpand = function deleteExpand(editorAnalyticsAPI) {
47
- return function (state, dispatch) {
48
- var expandNode = findExpand(state);
49
- if (!expandNode) {
50
- return false;
51
- }
52
- return deleteExpandAtPos(editorAnalyticsAPI)(expandNode.pos, expandNode.node)(state, dispatch);
53
- };
54
- };
55
- export var updateExpandTitle = function updateExpandTitle(title, pos, nodeType) {
56
- return function (state, dispatch) {
57
- var node = state.doc.nodeAt(pos);
58
- if (node && node.type === nodeType && dispatch) {
59
- var tr = state.tr;
60
- tr.setNodeMarkup(pos, node.type, _objectSpread(_objectSpread({}, node.attrs), {}, {
61
- title: title
62
- }), node.marks);
63
- dispatch(tr);
64
- }
65
- return true;
66
- };
67
- };
68
- export var toggleExpandExpanded = function toggleExpandExpanded(editorAnalyticsAPI) {
69
- return function (pos, nodeType) {
70
- return function (state, dispatch) {
71
- var node = state.doc.nodeAt(pos);
72
- if (node && node.type === nodeType && dispatch) {
73
- var tr = state.tr;
74
- var isExpandedNext = !node.attrs.__expanded;
75
- tr.setNodeMarkup(pos, node.type, _objectSpread(_objectSpread({}, node.attrs), {}, {
76
- __expanded: isExpandedNext
77
- }), node.marks);
78
-
79
- // If we're going to collapse the expand and our cursor is currently inside
80
- // Move to a right gap cursor, if the toolbar is interacted (or an API),
81
- // it will insert below rather than inside (which will be invisible).
82
- if (isExpandedNext === false && findExpand(state)) {
83
- tr.setSelection(new GapCursorSelection(tr.doc.resolve(pos + node.nodeSize), Side.RIGHT));
84
- }
85
-
86
- // log when people open/close expands
87
- // TODO: ED-8523 make platform/mode global attributes?
88
- var payload = {
89
- action: ACTION.TOGGLE_EXPAND,
90
- actionSubject: nodeType === state.schema.nodes.expand ? ACTION_SUBJECT.EXPAND : ACTION_SUBJECT.NESTED_EXPAND,
91
- attributes: {
92
- platform: PLATFORMS.WEB,
93
- mode: MODE.EDITOR,
94
- expanded: isExpandedNext
95
- },
96
- eventType: EVENT_TYPE.TRACK
97
- };
98
-
99
- // `isRemote` meta prevents this step from being
100
- // sync'd between sessions in collab edit
101
- tr.setMeta('isRemote', true);
102
- editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent(payload)(tr);
103
- dispatch(tr);
104
- }
105
- return true;
106
- };
107
- };
108
- };
109
-
110
- // Creates either an expand or a nestedExpand node based on the current selection
111
- export var createExpandNode = function createExpandNode(state) {
112
- var _state$schema$nodes = state.schema.nodes,
113
- expand = _state$schema$nodes.expand,
114
- nestedExpand = _state$schema$nodes.nestedExpand;
115
- var expandType = findTable(state.selection) ? nestedExpand : expand;
116
- return expandType.createAndFill({});
117
- };
118
- export var insertExpand = function insertExpand(editorAnalyticsAPI) {
119
- return function (state, dispatch) {
120
- var expandNode = createExpandNode(state);
121
- if (!expandNode) {
122
- return false;
123
- }
124
- var tr = state.selection.empty ? safeInsert(expandNode)(state.tr).scrollIntoView() : createWrapSelectionTransaction({
125
- state: state,
126
- type: expandNode.type
127
- });
128
- var payload = {
129
- action: ACTION.INSERTED,
130
- actionSubject: ACTION_SUBJECT.DOCUMENT,
131
- actionSubjectId: (expandNode === null || expandNode === void 0 ? void 0 : expandNode.type) === state.schema.nodes.expand ? ACTION_SUBJECT_ID.EXPAND : ACTION_SUBJECT_ID.NESTED_EXPAND,
132
- attributes: {
133
- inputMethod: INPUT_METHOD.INSERT_MENU
134
- },
135
- eventType: EVENT_TYPE.TRACK
136
- };
137
- if (dispatch && expandNode) {
138
- editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 || editorAnalyticsAPI.attachAnalyticsEvent(payload)(tr);
139
- dispatch(tr);
140
- }
141
- return true;
142
- };
143
- };
144
- export var focusTitle = function focusTitle(pos) {
145
- return function (state, dispatch, editorView) {
146
- if (editorView) {
147
- var dom = editorView.domAtPos(pos);
148
- var expandWrapper = dom.node.parentElement;
149
- if (expandWrapper) {
150
- setSelectionInsideExpand(pos)(state, dispatch, editorView);
151
- var input = expandWrapper.querySelector('input');
152
- if (input) {
153
- input.focus();
154
- return true;
155
- }
156
- }
157
- }
158
- return false;
159
- };
160
- };
161
-
162
- // Used to clear any node or cell selection when expand title is focused
163
- export var setSelectionInsideExpand = function setSelectionInsideExpand(expandPos) {
164
- return function (state, dispatch, editorView) {
165
- if (editorView) {
166
- if (!editorView.hasFocus()) {
167
- editorView.focus();
168
- }
169
- var sel = Selection.findFrom(editorView.state.doc.resolve(expandPos), 1, true);
170
- if (sel && dispatch) {
171
- dispatch(editorView.state.tr.setSelection(sel));
172
- }
173
- return true;
174
- }
175
- return false;
176
- };
177
- };
@@ -1,97 +0,0 @@
1
- import _typeof from "@babel/runtime/helpers/typeof";
2
- import React from 'react';
3
- import { expand, nestedExpand } from '@atlaskit/adf-schema';
4
- import { createPlugin } from './pm-plugins/main';
5
- import { expandKeymap } from './pm-plugins/keymap';
6
- import { IconExpand } from '@atlaskit/editor-common/quick-insert';
7
- import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '@atlaskit/editor-common/analytics';
8
- import { getToolbarConfig } from './toolbar';
9
- import { createExpandNode, insertExpand } from './commands';
10
- import { toolbarInsertBlockMessages as messages } from '@atlaskit/editor-common/messages';
11
- import { createWrapSelectionTransaction } from '@atlaskit/editor-common/utils';
12
- var expandPlugin = function expandPlugin(_ref) {
13
- var _api$featureFlags, _api$analytics;
14
- var _ref$config = _ref.config,
15
- options = _ref$config === void 0 ? {} : _ref$config,
16
- api = _ref.api;
17
- var featureFlags = (api === null || api === void 0 || (_api$featureFlags = api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {};
18
- return {
19
- name: 'expand',
20
- nodes: function nodes() {
21
- return [{
22
- name: 'expand',
23
- node: expand
24
- }, {
25
- name: 'nestedExpand',
26
- node: nestedExpand
27
- }];
28
- },
29
- actions: {
30
- insertExpand: insertExpand(api === null || api === void 0 || (_api$analytics = api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions)
31
- },
32
- pmPlugins: function pmPlugins() {
33
- return [{
34
- name: 'expand',
35
- plugin: function plugin(_ref2) {
36
- var dispatch = _ref2.dispatch,
37
- getIntl = _ref2.getIntl;
38
- return createPlugin(dispatch, getIntl, options.appearance, options.useLongPressSelection, featureFlags, api);
39
- }
40
- }, {
41
- name: 'expandKeymap',
42
- plugin: function plugin() {
43
- return expandKeymap(api);
44
- }
45
- }];
46
- },
47
- pluginsOptions: {
48
- floatingToolbar: getToolbarConfig(api),
49
- quickInsert: function quickInsert(_ref3) {
50
- var formatMessage = _ref3.formatMessage;
51
- if (options && options.allowInsertion !== true) {
52
- return [];
53
- }
54
- return [{
55
- id: 'expand',
56
- title: formatMessage(messages.expand),
57
- description: formatMessage(messages.expandDescription),
58
- keywords: ['accordion', 'collapse'],
59
- priority: 600,
60
- icon: function icon() {
61
- return /*#__PURE__*/React.createElement(IconExpand, null);
62
- },
63
- action: function action(insert, state) {
64
- var _api$analytics2;
65
- var node = createExpandNode(state);
66
- if (!node) {
67
- return false;
68
- }
69
- var tr = state.selection.empty ? insert(node) : createWrapSelectionTransaction({
70
- state: state,
71
- type: node.type
72
- });
73
- api === null || api === void 0 || (_api$analytics2 = api.analytics) === null || _api$analytics2 === void 0 || _api$analytics2.actions.attachAnalyticsEvent({
74
- action: ACTION.INSERTED,
75
- actionSubject: ACTION_SUBJECT.DOCUMENT,
76
- actionSubjectId: node.type === state.schema.nodes.nestedExpand ? ACTION_SUBJECT_ID.NESTED_EXPAND : ACTION_SUBJECT_ID.EXPAND,
77
- attributes: {
78
- inputMethod: INPUT_METHOD.QUICK_INSERT
79
- },
80
- eventType: EVENT_TYPE.TRACK
81
- })(tr);
82
- return tr;
83
- }
84
- }];
85
- }
86
- }
87
- };
88
- };
89
- export default expandPlugin;
90
- export function isExpandInsertionEnabled(_ref4) {
91
- var allowExpand = _ref4.allowExpand;
92
- if (allowExpand && _typeof(allowExpand) === 'object') {
93
- return !!allowExpand.allowInsertion;
94
- }
95
- return false;
96
- }
97
- export { pluginKey } from './pm-plugins/plugin-factory';