@atlaskit/editor-core 183.1.6 → 184.0.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.
Files changed (237) hide show
  1. package/.eslintrc.js +7 -3
  2. package/CHANGELOG.md +29 -0
  3. package/dist/cjs/labs/next/full-page.js +2 -6
  4. package/dist/cjs/labs/next/presets/create-stub-internal-apis.js +4 -2
  5. package/dist/cjs/labs/next/presets/default.js +2 -2
  6. package/dist/cjs/labs/next/presets/universal.js +2 -1
  7. package/dist/cjs/plugins/breakout/index.js +54 -35
  8. package/dist/cjs/plugins/card/toolbar.js +4 -3
  9. package/dist/cjs/plugins/collab-edit/plugin-state.js +2 -3
  10. package/dist/cjs/plugins/copy-button/commands.js +8 -1
  11. package/dist/cjs/plugins/extension/index.js +1 -1
  12. package/dist/cjs/plugins/extension/nodeviews/extension.js +5 -3
  13. package/dist/cjs/plugins/extension/pm-plugins/main.js +6 -6
  14. package/dist/cjs/plugins/extension/ui/Extension/Extension/index.js +34 -4
  15. package/dist/cjs/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
  16. package/dist/cjs/plugins/extension/ui/Extension/index.js +4 -2
  17. package/dist/cjs/plugins/help-dialog/index.js +12 -8
  18. package/dist/cjs/plugins/index.js +0 -14
  19. package/dist/cjs/plugins/layout/pm-plugins/main.js +0 -1
  20. package/dist/cjs/plugins/media/index.js +15 -5
  21. package/dist/cjs/plugins/media/nodeviews/mediaNodeView/index.js +22 -14
  22. package/dist/cjs/plugins/media/nodeviews/mediaSingle.js +53 -34
  23. package/dist/cjs/plugins/media/styles.js +1 -1
  24. package/dist/cjs/plugins/media/toolbar/index.js +4 -3
  25. package/dist/cjs/plugins/paste/pm-plugins/main.js +7 -1
  26. package/dist/cjs/test-utils.js +6 -1
  27. package/dist/cjs/ui/Appearance/Comment/Comment.js +2 -2
  28. package/dist/cjs/ui/Appearance/FullPage/FullPage.js +2 -2
  29. package/dist/cjs/ui/Appearance/FullPage/FullPageContentArea.js +1 -2
  30. package/dist/cjs/ui/Appearance/FullPage/FullPageToolbar.js +2 -2
  31. package/dist/cjs/ui/ColorPickerButton/index.js +2 -2
  32. package/dist/cjs/ui/ConfigPanel/Fields/ColorPicker.js +6 -10
  33. package/dist/cjs/ui/ContentStyles/index.js +9 -10
  34. package/dist/cjs/ui/ContextPanel/index.js +67 -56
  35. package/dist/cjs/ui/MediaAndEmbedsToolbar/index.js +10 -11
  36. package/dist/cjs/ui/Resizer/index.js +8 -8
  37. package/dist/cjs/ui/WidthEmitter/index.js +10 -4
  38. package/dist/cjs/ui/styles.js +6 -0
  39. package/dist/cjs/utils/clipboard.js +18 -11
  40. package/dist/cjs/utils/performance/instrumented-plugin.js +14 -2
  41. package/dist/cjs/version-wrapper.js +1 -1
  42. package/dist/cjs/version.json +1 -1
  43. package/dist/es2019/labs/next/full-page.js +2 -5
  44. package/dist/es2019/labs/next/presets/create-stub-internal-apis.js +4 -2
  45. package/dist/es2019/labs/next/presets/default.js +1 -1
  46. package/dist/es2019/labs/next/presets/universal.js +2 -1
  47. package/dist/es2019/plugins/breakout/index.js +48 -31
  48. package/dist/es2019/plugins/card/toolbar.js +4 -3
  49. package/dist/es2019/plugins/collab-edit/plugin-state.js +2 -4
  50. package/dist/es2019/plugins/copy-button/commands.js +9 -2
  51. package/dist/es2019/plugins/extension/index.js +1 -1
  52. package/dist/es2019/plugins/extension/nodeviews/extension.js +5 -3
  53. package/dist/es2019/plugins/extension/pm-plugins/main.js +4 -4
  54. package/dist/es2019/plugins/extension/ui/Extension/Extension/index.js +38 -2
  55. package/dist/es2019/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
  56. package/dist/es2019/plugins/extension/ui/Extension/index.js +4 -2
  57. package/dist/es2019/plugins/help-dialog/index.js +14 -9
  58. package/dist/es2019/plugins/index.js +0 -2
  59. package/dist/es2019/plugins/layout/pm-plugins/main.js +0 -1
  60. package/dist/es2019/plugins/media/index.js +15 -5
  61. package/dist/es2019/plugins/media/nodeviews/mediaNodeView/index.js +21 -10
  62. package/dist/es2019/plugins/media/nodeviews/mediaSingle.js +53 -33
  63. package/dist/es2019/plugins/media/styles.js +1 -7
  64. package/dist/es2019/plugins/media/toolbar/index.js +4 -4
  65. package/dist/es2019/plugins/paste/pm-plugins/main.js +7 -1
  66. package/dist/es2019/test-utils.js +6 -1
  67. package/dist/es2019/ui/Appearance/Comment/Comment.js +1 -1
  68. package/dist/es2019/ui/Appearance/FullPage/FullPage.js +1 -1
  69. package/dist/es2019/ui/Appearance/FullPage/FullPageContentArea.js +1 -1
  70. package/dist/es2019/ui/Appearance/FullPage/FullPageToolbar.js +1 -1
  71. package/dist/es2019/ui/ColorPickerButton/index.js +2 -2
  72. package/dist/es2019/ui/ConfigPanel/Fields/ColorPicker.js +5 -10
  73. package/dist/es2019/ui/ContentStyles/index.js +1 -2
  74. package/dist/es2019/ui/ContextPanel/index.js +66 -43
  75. package/dist/es2019/ui/MediaAndEmbedsToolbar/index.js +8 -9
  76. package/dist/es2019/ui/Resizer/index.js +1 -1
  77. package/dist/es2019/ui/WidthEmitter/index.js +10 -4
  78. package/dist/es2019/ui/styles.js +6 -0
  79. package/dist/es2019/utils/clipboard.js +12 -7
  80. package/dist/es2019/utils/performance/instrumented-plugin.js +15 -2
  81. package/dist/es2019/version-wrapper.js +1 -1
  82. package/dist/es2019/version.json +1 -1
  83. package/dist/esm/labs/next/full-page.js +2 -5
  84. package/dist/esm/labs/next/presets/create-stub-internal-apis.js +4 -2
  85. package/dist/esm/labs/next/presets/default.js +1 -1
  86. package/dist/esm/labs/next/presets/universal.js +2 -1
  87. package/dist/esm/plugins/breakout/index.js +54 -35
  88. package/dist/esm/plugins/card/toolbar.js +4 -3
  89. package/dist/esm/plugins/collab-edit/plugin-state.js +2 -3
  90. package/dist/esm/plugins/copy-button/commands.js +9 -2
  91. package/dist/esm/plugins/extension/index.js +1 -1
  92. package/dist/esm/plugins/extension/nodeviews/extension.js +5 -3
  93. package/dist/esm/plugins/extension/pm-plugins/main.js +6 -6
  94. package/dist/esm/plugins/extension/ui/Extension/Extension/index.js +33 -2
  95. package/dist/esm/plugins/extension/ui/Extension/ExtensionComponent.js +4 -2
  96. package/dist/esm/plugins/extension/ui/Extension/index.js +4 -2
  97. package/dist/esm/plugins/help-dialog/index.js +12 -8
  98. package/dist/esm/plugins/index.js +0 -2
  99. package/dist/esm/plugins/layout/pm-plugins/main.js +0 -1
  100. package/dist/esm/plugins/media/index.js +15 -5
  101. package/dist/esm/plugins/media/nodeviews/mediaNodeView/index.js +22 -14
  102. package/dist/esm/plugins/media/nodeviews/mediaSingle.js +54 -35
  103. package/dist/esm/plugins/media/styles.js +2 -2
  104. package/dist/esm/plugins/media/toolbar/index.js +4 -3
  105. package/dist/esm/plugins/paste/pm-plugins/main.js +7 -1
  106. package/dist/esm/test-utils.js +6 -1
  107. package/dist/esm/ui/Appearance/Comment/Comment.js +1 -1
  108. package/dist/esm/ui/Appearance/FullPage/FullPage.js +1 -1
  109. package/dist/esm/ui/Appearance/FullPage/FullPageContentArea.js +1 -1
  110. package/dist/esm/ui/Appearance/FullPage/FullPageToolbar.js +1 -1
  111. package/dist/esm/ui/ColorPickerButton/index.js +2 -2
  112. package/dist/esm/ui/ConfigPanel/Fields/ColorPicker.js +5 -10
  113. package/dist/esm/ui/ContentStyles/index.js +1 -2
  114. package/dist/esm/ui/ContextPanel/index.js +64 -53
  115. package/dist/esm/ui/MediaAndEmbedsToolbar/index.js +10 -11
  116. package/dist/esm/ui/Resizer/index.js +1 -1
  117. package/dist/esm/ui/WidthEmitter/index.js +10 -4
  118. package/dist/esm/ui/styles.js +6 -0
  119. package/dist/esm/utils/clipboard.js +16 -10
  120. package/dist/esm/utils/performance/instrumented-plugin.js +14 -2
  121. package/dist/esm/version-wrapper.js +1 -1
  122. package/dist/esm/version.json +1 -1
  123. package/dist/types/actions/index.d.ts +1 -1
  124. package/dist/types/create-editor/get-plugins.d.ts +2 -0
  125. package/dist/types/index.d.ts +0 -1
  126. package/dist/types/plugins/breakout/index.d.ts +4 -0
  127. package/dist/types/plugins/breakout/ui/LayoutButton.d.ts +1 -1
  128. package/dist/types/plugins/card/index.d.ts +2 -2
  129. package/dist/types/plugins/collab-edit/actions.d.ts +3 -2
  130. package/dist/types/plugins/collab-edit/events/handlers.d.ts +3 -3
  131. package/dist/types/plugins/collab-edit/events/initialize.d.ts +1 -1
  132. package/dist/types/plugins/collab-edit/events/send-transaction.d.ts +1 -1
  133. package/dist/types/plugins/collab-edit/index.d.ts +0 -1
  134. package/dist/types/plugins/collab-edit/native-collab-provider-plugin.d.ts +2 -2
  135. package/dist/types/plugins/collab-edit/participants.d.ts +1 -1
  136. package/dist/types/plugins/collab-edit/plugin.d.ts +0 -2
  137. package/dist/types/plugins/collab-edit/types.d.ts +1 -3
  138. package/dist/types/plugins/collab-edit/ui/to-avatar.d.ts +1 -1
  139. package/dist/types/plugins/collab-edit/utils.d.ts +2 -1
  140. package/dist/types/plugins/extension/index.d.ts +2 -1
  141. package/dist/types/plugins/extension/nodeviews/extension.d.ts +4 -1
  142. package/dist/types/plugins/extension/pm-plugins/main.d.ts +3 -1
  143. package/dist/types/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
  144. package/dist/types/plugins/extension/ui/Extension/ExtensionComponent.d.ts +3 -0
  145. package/dist/types/plugins/extension/ui/Extension/index.d.ts +3 -0
  146. package/dist/types/plugins/help-dialog/index.d.ts +3 -1
  147. package/dist/types/plugins/index.d.ts +0 -3
  148. package/dist/types/plugins/media/index.d.ts +12 -2
  149. package/dist/types/plugins/media/nodeviews/mediaNodeView/index.d.ts +4 -2
  150. package/dist/types/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
  151. package/dist/types/plugins/media/nodeviews/types.d.ts +2 -1
  152. package/dist/types/plugins/media/toolbar/index.d.ts +3 -1
  153. package/dist/types/plugins/media/ui/ResizableMediaSingle/types.d.ts +2 -2
  154. package/dist/types/test-utils.d.ts +3 -1
  155. package/dist/types/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
  156. package/dist/types/ui/ColorPickerButton/index.d.ts +3 -3
  157. package/dist/types/ui/ContextPanel/index.d.ts +3 -4
  158. package/dist/types/ui/MediaAndEmbedsToolbar/index.d.ts +3 -1
  159. package/dist/types/ui/PluginSlot/index.d.ts +1 -1
  160. package/dist/types/ui/Resizer/types.d.ts +2 -2
  161. package/dist/types/utils/clipboard.d.ts +1 -0
  162. package/dist/types-ts4.5/actions/index.d.ts +1 -1
  163. package/dist/types-ts4.5/create-editor/get-plugins.d.ts +2 -0
  164. package/dist/types-ts4.5/index.d.ts +0 -1
  165. package/dist/types-ts4.5/plugins/breakout/index.d.ts +6 -0
  166. package/dist/types-ts4.5/plugins/breakout/ui/LayoutButton.d.ts +1 -1
  167. package/dist/types-ts4.5/plugins/card/index.d.ts +2 -2
  168. package/dist/types-ts4.5/plugins/collab-edit/actions.d.ts +3 -2
  169. package/dist/types-ts4.5/plugins/collab-edit/events/handlers.d.ts +3 -3
  170. package/dist/types-ts4.5/plugins/collab-edit/events/initialize.d.ts +1 -1
  171. package/dist/types-ts4.5/plugins/collab-edit/events/send-transaction.d.ts +1 -1
  172. package/dist/types-ts4.5/plugins/collab-edit/index.d.ts +0 -1
  173. package/dist/types-ts4.5/plugins/collab-edit/native-collab-provider-plugin.d.ts +2 -2
  174. package/dist/types-ts4.5/plugins/collab-edit/participants.d.ts +1 -1
  175. package/dist/types-ts4.5/plugins/collab-edit/plugin.d.ts +0 -2
  176. package/dist/types-ts4.5/plugins/collab-edit/types.d.ts +1 -3
  177. package/dist/types-ts4.5/plugins/collab-edit/ui/to-avatar.d.ts +1 -1
  178. package/dist/types-ts4.5/plugins/collab-edit/utils.d.ts +2 -1
  179. package/dist/types-ts4.5/plugins/extension/index.d.ts +3 -1
  180. package/dist/types-ts4.5/plugins/extension/nodeviews/extension.d.ts +4 -1
  181. package/dist/types-ts4.5/plugins/extension/pm-plugins/main.d.ts +3 -1
  182. package/dist/types-ts4.5/plugins/extension/ui/Extension/Extension/index.d.ts +6 -0
  183. package/dist/types-ts4.5/plugins/extension/ui/Extension/ExtensionComponent.d.ts +3 -0
  184. package/dist/types-ts4.5/plugins/extension/ui/Extension/index.d.ts +3 -0
  185. package/dist/types-ts4.5/plugins/help-dialog/index.d.ts +5 -1
  186. package/dist/types-ts4.5/plugins/index.d.ts +0 -3
  187. package/dist/types-ts4.5/plugins/media/index.d.ts +9 -2
  188. package/dist/types-ts4.5/plugins/media/nodeviews/mediaNodeView/index.d.ts +4 -2
  189. package/dist/types-ts4.5/plugins/media/nodeviews/mediaSingle.d.ts +1 -1
  190. package/dist/types-ts4.5/plugins/media/nodeviews/types.d.ts +2 -1
  191. package/dist/types-ts4.5/plugins/media/toolbar/index.d.ts +3 -1
  192. package/dist/types-ts4.5/plugins/media/ui/ResizableMediaSingle/types.d.ts +2 -2
  193. package/dist/types-ts4.5/test-utils.d.ts +3 -1
  194. package/dist/types-ts4.5/ui/Appearance/FullPage/StyledComponents.d.ts +1 -1
  195. package/dist/types-ts4.5/ui/ColorPickerButton/index.d.ts +3 -3
  196. package/dist/types-ts4.5/ui/ContextPanel/index.d.ts +3 -4
  197. package/dist/types-ts4.5/ui/MediaAndEmbedsToolbar/index.d.ts +3 -1
  198. package/dist/types-ts4.5/ui/PluginSlot/index.d.ts +1 -1
  199. package/dist/types-ts4.5/ui/Resizer/types.d.ts +2 -2
  200. package/dist/types-ts4.5/utils/clipboard.d.ts +1 -0
  201. package/package.json +25 -23
  202. package/report.api.md +15 -63
  203. package/dist/cjs/plugins/collab-edit/provider/index.js +0 -5
  204. package/dist/cjs/plugins/collab-edit/provider/types.js +0 -5
  205. package/dist/cjs/plugins/grid/index.js +0 -207
  206. package/dist/cjs/plugins/grid/styles.js +0 -16
  207. package/dist/cjs/plugins/grid/types.js +0 -5
  208. package/dist/cjs/plugins/width/index.js +0 -88
  209. package/dist/cjs/ui/ContextPanel/context.js +0 -89
  210. package/dist/es2019/plugins/collab-edit/provider/index.js +0 -1
  211. package/dist/es2019/plugins/collab-edit/provider/types.js +0 -1
  212. package/dist/es2019/plugins/grid/index.js +0 -168
  213. package/dist/es2019/plugins/grid/styles.js +0 -36
  214. package/dist/es2019/plugins/grid/types.js +0 -1
  215. package/dist/es2019/plugins/width/index.js +0 -72
  216. package/dist/es2019/ui/ContextPanel/context.js +0 -65
  217. package/dist/esm/plugins/collab-edit/provider/index.js +0 -1
  218. package/dist/esm/plugins/collab-edit/provider/types.js +0 -1
  219. package/dist/esm/plugins/grid/index.js +0 -191
  220. package/dist/esm/plugins/grid/styles.js +0 -7
  221. package/dist/esm/plugins/grid/types.js +0 -1
  222. package/dist/esm/plugins/width/index.js +0 -78
  223. package/dist/esm/ui/ContextPanel/context.js +0 -79
  224. package/dist/types/plugins/collab-edit/provider/index.d.ts +0 -1
  225. package/dist/types/plugins/collab-edit/provider/types.d.ts +0 -1
  226. package/dist/types/plugins/grid/index.d.ts +0 -25
  227. package/dist/types/plugins/grid/styles.d.ts +0 -2
  228. package/dist/types/plugins/grid/types.d.ts +0 -7
  229. package/dist/types/plugins/width/index.d.ts +0 -18
  230. package/dist/types/ui/ContextPanel/context.d.ts +0 -24
  231. package/dist/types-ts4.5/plugins/collab-edit/provider/index.d.ts +0 -1
  232. package/dist/types-ts4.5/plugins/collab-edit/provider/types.d.ts +0 -1
  233. package/dist/types-ts4.5/plugins/grid/index.d.ts +0 -27
  234. package/dist/types-ts4.5/plugins/grid/styles.d.ts +0 -2
  235. package/dist/types-ts4.5/plugins/grid/types.d.ts +0 -7
  236. package/dist/types-ts4.5/plugins/width/index.d.ts +0 -18
  237. package/dist/types-ts4.5/ui/ContextPanel/context.d.ts +0 -24
@@ -1,207 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- Object.defineProperty(exports, "GRID_GUTTER", {
8
- enumerable: true,
9
- get: function get() {
10
- return _styles.GRID_GUTTER;
11
- }
12
- });
13
- exports.gridTypeForLayout = exports.default = exports.GRID_SIZE = void 0;
14
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
15
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
16
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
17
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
- var _react = _interopRequireDefault(require("react"));
22
- var _classnames = _interopRequireDefault(require("classnames"));
23
- var _react2 = require("@emotion/react");
24
- var _prosemirrorState = require("prosemirror-state");
25
- var _hooks = require("@atlaskit/editor-common/hooks");
26
- var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
27
- var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
28
- var _styles = require("./styles");
29
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
30
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
31
- var GRID_SIZE = 12;
32
- exports.GRID_SIZE = GRID_SIZE;
33
- var key = new _prosemirrorState.PluginKey('gridPlugin');
34
- var createDisplayGrid = function createDisplayGrid(view) {
35
- return function (props) {
36
- var dispatch = view.dispatch,
37
- state = view.state;
38
- var tr = state.tr.setMeta(key, props);
39
- dispatch(tr);
40
- return true;
41
- };
42
- };
43
- var gridTypeForLayout = function gridTypeForLayout(layout) {
44
- return layout === 'wrap-left' || layout === 'wrap-right' ? 'wrapped' : 'full';
45
- };
46
- exports.gridTypeForLayout = gridTypeForLayout;
47
- var sides = ['left', 'right'];
48
- var overflowHighlight = function overflowHighlight(highlights, side, start, size) {
49
- if (!highlights.length) {
50
- return false;
51
- }
52
- var minHighlight = highlights.reduce(function (prev, cur) {
53
- return Math.min(prev, cur);
54
- });
55
- var maxHighlight = highlights.reduce(function (prev, cur) {
56
- return Math.max(prev, cur);
57
- });
58
- if (side === 'left') {
59
- return minHighlight < 0 && minHighlight <= -start && (typeof size === 'number' ? minHighlight >= -(start + size) : true);
60
- } else {
61
- return maxHighlight > GRID_SIZE && maxHighlight >= GRID_SIZE + start && (typeof size === 'number' ? maxHighlight <= GRID_SIZE + size : true);
62
- }
63
- };
64
- var gutterGridLines = function gutterGridLines(editorMaxWidth, editorWidth, highlights, shouldCalcBreakoutGridLines) {
65
- var gridLines = [];
66
- if (!shouldCalcBreakoutGridLines) {
67
- return gridLines;
68
- }
69
- var wideSpacing = (editorMaxWidth * _editorSharedStyles.breakoutWideScaleRatio - editorMaxWidth) / 2;
70
- sides.forEach(function (side) {
71
- gridLines.push( /*#__PURE__*/_react.default.createElement("div", {
72
- key: side,
73
- className: (0, _classnames.default)('gridLine', overflowHighlight(highlights, side, 0, 4) ? 'highlight' : ''),
74
- style: (0, _defineProperty2.default)({
75
- position: 'absolute'
76
- }, side, "-".concat(wideSpacing, "px"))
77
- }));
78
- gridLines.push( /*#__PURE__*/_react.default.createElement("div", {
79
- key: side + '-bk',
80
- className: (0, _classnames.default)('gridLine', highlights.indexOf('full-width') > -1 ? 'highlight' : ''),
81
- style: (0, _defineProperty2.default)({
82
- position: 'absolute'
83
- }, side, "-".concat((editorWidth - editorMaxWidth - _editorSharedStyles.akEditorBreakoutPadding) / 2, "px"))
84
- }));
85
- });
86
- return gridLines;
87
- };
88
- var lineLengthGridLines = function lineLengthGridLines(highlights) {
89
- var gridLines = [];
90
- var gridSpacing = 100 / GRID_SIZE;
91
- for (var i = 0; i <= GRID_SIZE; i++) {
92
- var style = {
93
- paddingLeft: "".concat(gridSpacing, "%")
94
- };
95
- gridLines.push( /*#__PURE__*/_react.default.createElement("div", {
96
- key: i,
97
- className: (0, _classnames.default)('gridLine', highlights.indexOf(i) > -1 ? 'highlight' : ''),
98
- style: i < GRID_SIZE ? style : undefined
99
- }));
100
- }
101
- return gridLines;
102
- };
103
- var Grid = /*#__PURE__*/function (_React$Component) {
104
- (0, _inherits2.default)(Grid, _React$Component);
105
- var _super = _createSuper(Grid);
106
- function Grid() {
107
- (0, _classCallCheck2.default)(this, Grid);
108
- return _super.apply(this, arguments);
109
- }
110
- (0, _createClass2.default)(Grid, [{
111
- key: "render",
112
- value: function render() {
113
- var _this$props = this.props,
114
- highlight = _this$props.highlight,
115
- shouldCalcBreakoutGridLines = _this$props.shouldCalcBreakoutGridLines,
116
- theme = _this$props.theme,
117
- containerElement = _this$props.containerElement,
118
- editorWidth = _this$props.editorWidth,
119
- gridType = _this$props.gridType,
120
- visible = _this$props.visible;
121
- var editorMaxWidth = theme.layoutMaxWidth;
122
- var gridLines = [].concat((0, _toConsumableArray2.default)(lineLengthGridLines(highlight)), (0, _toConsumableArray2.default)(gutterGridLines(editorMaxWidth, editorWidth, highlight, shouldCalcBreakoutGridLines)));
123
- return /*#__PURE__*/_react.default.createElement("div", {
124
- className: "gridParent"
125
- }, /*#__PURE__*/_react.default.createElement("div", {
126
- className: (0, _classnames.default)('gridContainer', gridType),
127
- style: {
128
- height: "".concat(containerElement.scrollHeight, "px"),
129
- display: visible ? 'block' : 'none'
130
- }
131
- }, gridLines));
132
- }
133
- }]);
134
- return Grid;
135
- }(_react.default.Component);
136
- var ThemedGrid = (0, _react2.withTheme)(Grid);
137
- var ContentComponent = function ContentComponent(_ref3) {
138
- var _widthState$width, _gridState$gridType;
139
- var api = _ref3.api,
140
- editorView = _ref3.editorView,
141
- options = _ref3.options;
142
- var _useSharedPluginState = (0, _hooks.useSharedPluginState)(api, ['width', 'grid']),
143
- widthState = _useSharedPluginState.widthState,
144
- gridState = _useSharedPluginState.gridState;
145
- if (!gridState) {
146
- return null;
147
- }
148
- return /*#__PURE__*/_react.default.createElement(ThemedGrid, {
149
- shouldCalcBreakoutGridLines: options && options.shouldCalcBreakoutGridLines,
150
- editorWidth: (_widthState$width = widthState === null || widthState === void 0 ? void 0 : widthState.width) !== null && _widthState$width !== void 0 ? _widthState$width : _editorSharedStyles.akEditorFullPageMaxWidth,
151
- containerElement: editorView.dom,
152
- visible: gridState.visible,
153
- gridType: (_gridState$gridType = gridState.gridType) !== null && _gridState$gridType !== void 0 ? _gridState$gridType : 'full',
154
- highlight: gridState.highlight
155
- });
156
- };
157
- var EMPTY_STATE = {
158
- visible: false,
159
- highlight: []
160
- };
161
- var gridPMPlugin = new _safePlugin.SafePlugin({
162
- key: key,
163
- state: {
164
- init: function init() {
165
- return EMPTY_STATE;
166
- },
167
- apply: function apply(tr, currentPluginState) {
168
- var nextPluginState = tr.getMeta(key);
169
- if (nextPluginState) {
170
- return nextPluginState;
171
- }
172
- return currentPluginState;
173
- }
174
- }
175
- });
176
- var gridPlugin = function gridPlugin(options, api) {
177
- return {
178
- name: 'grid',
179
- getSharedState: function getSharedState(editorState) {
180
- if (!editorState) {
181
- return null;
182
- }
183
- return key.getState(editorState);
184
- },
185
- actions: {
186
- displayGrid: createDisplayGrid
187
- },
188
- pmPlugins: function pmPlugins() {
189
- return [{
190
- name: 'grid',
191
- plugin: function plugin() {
192
- return gridPMPlugin;
193
- }
194
- }];
195
- },
196
- contentComponent: function contentComponent(_ref4) {
197
- var editorView = _ref4.editorView;
198
- return /*#__PURE__*/_react.default.createElement(ContentComponent, {
199
- editorView: editorView,
200
- options: options,
201
- api: api
202
- });
203
- }
204
- };
205
- };
206
- var _default = gridPlugin;
207
- exports.default = _default;
@@ -1,16 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.gridStyles = exports.GRID_GUTTER = void 0;
8
- var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
9
- var _react = require("@emotion/react");
10
- var _colors = require("@atlaskit/theme/colors");
11
- var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
12
- var _templateObject;
13
- var GRID_GUTTER = 12;
14
- exports.GRID_GUTTER = GRID_GUTTER;
15
- var gridStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .gridParent {\n width: calc(100% + ", "px);\n margin-left: -", "px;\n margin-right: -", "px;\n transform: scale(1);\n z-index: ", ";\n }\n\n .gridContainer {\n position: fixed;\n height: 100vh;\n width: 100%;\n pointer-events: none;\n }\n\n // TODO: https://product-fabric.atlassian.net/browse/DSP-4352\n .gridLine {\n border-left: 1px solid ", ";\n display: inline-block;\n box-sizing: border-box;\n height: 100%;\n margin-left: -1px;\n\n transition: border-color 0.15s linear;\n z-index: 0;\n }\n\n .highlight {\n border-left: 1px solid ", ";\n }\n"])), GRID_GUTTER * 2, GRID_GUTTER, GRID_GUTTER, _editorSharedStyles.akEditorGridLineZIndex, "var(--ds-border, ".concat(_colors.N30A, ")"), "var(--ds-border-focused, ".concat(_colors.B200, ")"));
16
- exports.gridStyles = gridStyles;
@@ -1,5 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
@@ -1,88 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.createPlugin = createPlugin;
8
- exports.pluginKey = exports.default = void 0;
9
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
10
- var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
11
- var _prosemirrorState = require("prosemirror-state");
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
14
- /**
15
- * @private
16
- * @deprecated
17
- *
18
- * Do not use this plugin key directly. Please use the `sharedState` of this plugin instead.
19
- */
20
- var pluginKey = new _prosemirrorState.PluginKey('widthPlugin');
21
- exports.pluginKey = pluginKey;
22
- function createPlugin(dispatch) {
23
- return new _safePlugin.SafePlugin({
24
- key: pluginKey,
25
- state: {
26
- init: function init() {
27
- return {
28
- width: document.body.offsetWidth,
29
- containerWidth: document.body.offsetWidth
30
- };
31
- },
32
- apply: function apply(tr, pluginState) {
33
- var meta = tr.getMeta(pluginKey);
34
- if (!meta) {
35
- return pluginState;
36
- }
37
- var newPluginState = _objectSpread(_objectSpread({}, pluginState), meta);
38
- if (newPluginState && (pluginState.width !== newPluginState.width || pluginState.lineLength !== newPluginState.lineLength) || pluginState.containerWidth !== newPluginState.containerWidth) {
39
- dispatch(pluginKey, newPluginState);
40
- return newPluginState;
41
- }
42
- return pluginState;
43
- }
44
- }
45
- });
46
- }
47
- var widthPlugin = function widthPlugin() {
48
- return {
49
- name: 'width',
50
- pmPlugins: function pmPlugins() {
51
- return [{
52
- name: 'width',
53
- plugin: function plugin(_ref) {
54
- var dispatch = _ref.dispatch;
55
- return createPlugin(dispatch);
56
- }
57
- }];
58
- },
59
- getSharedState: function getSharedState(editorState) {
60
- if (!editorState) {
61
- return undefined;
62
- }
63
- return pluginKey.getState(editorState);
64
- },
65
- // do this early here, otherwise we have to wait for WidthEmitter to debounce
66
- // which causes anything dependent on lineLength to jump around
67
- contentComponent: function contentComponent(_ref2) {
68
- var editorView = _ref2.editorView,
69
- containerElement = _ref2.containerElement;
70
- var newState = {
71
- lineLength: editorView.dom.clientWidth
72
- };
73
- if (containerElement) {
74
- var _containerElement$par;
75
- newState.width = containerElement.offsetWidth;
76
-
77
- // wrapper width is used by context panel to determine whether there is
78
- // enough space to open without overlapping the editor
79
- newState.containerWidth = (_containerElement$par = containerElement.parentElement) === null || _containerElement$par === void 0 ? void 0 : _containerElement$par.offsetWidth;
80
- }
81
- var tr = editorView.state.tr.setMeta(pluginKey, newState);
82
- editorView.dispatch(tr);
83
- return null;
84
- }
85
- };
86
- };
87
- var _default = widthPlugin;
88
- exports.default = _default;
@@ -1,89 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.ContextPanelWidthProvider = exports.ContextPanelProvider = exports.ContextPanelConsumer = exports.ContextPanel = void 0;
8
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
- var _react = _interopRequireDefault(require("react"));
16
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
17
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
18
- // React context to communicate the active context panel width up and down the tree.
19
- //
20
- // We need the width prop from the ContextPanel component.
21
- //
22
- // However, the actual <ContextPanel /> component might be deeply nested inside the contextPanel.
23
- // For example, in the template context panel storybook, we wrap it in 2 higher order components.
24
- //
25
- // Changing the max-width on the main editor container happens above where the <ContextPanel /> gets rendered.
26
- //
27
- // To subtract the context panel width from the available real estate, we use the Provider and Consumer.
28
- //
29
- // positionedOverEditor is used to determine whether the context panel is positioned over the Editor so we are
30
- // able to position and add margins to handle certain elements like inline comment dialogues overlapping the context
31
- // panel
32
-
33
- var ContextPanel = /*#__PURE__*/_react.default.createContext({
34
- width: 0,
35
- positionedOverEditor: false,
36
- broadcastWidth: function broadcastWidth() {},
37
- broadcastPosition: function broadcastPosition() {}
38
- });
39
- exports.ContextPanel = ContextPanel;
40
- var ContextPanelWidthProvider = /*#__PURE__*/function (_React$Component) {
41
- (0, _inherits2.default)(ContextPanelWidthProvider, _React$Component);
42
- var _super = _createSuper(ContextPanelWidthProvider);
43
- function ContextPanelWidthProvider(props) {
44
- var _this;
45
- (0, _classCallCheck2.default)(this, ContextPanelWidthProvider);
46
- _this = _super.call(this, props);
47
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "state", {
48
- width: 0,
49
- positionedOverEditor: false
50
- });
51
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "broadcastSidebarWidth", function (width) {
52
- if (width !== _this.state.width) {
53
- _this.setState({
54
- width: width
55
- });
56
- }
57
- });
58
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "broadcastPosition", function (positionedOverEditor) {
59
- if (positionedOverEditor !== _this.state.positionedOverEditor) {
60
- _this.setState({
61
- positionedOverEditor: positionedOverEditor
62
- });
63
- }
64
- });
65
- return _this;
66
- }
67
- (0, _createClass2.default)(ContextPanelWidthProvider, [{
68
- key: "render",
69
- value: function render() {
70
- var _this$state = this.state,
71
- width = _this$state.width,
72
- positionedOverEditor = _this$state.positionedOverEditor;
73
- return /*#__PURE__*/_react.default.createElement(Provider, {
74
- value: {
75
- width: width,
76
- positionedOverEditor: positionedOverEditor,
77
- broadcastWidth: this.broadcastSidebarWidth,
78
- broadcastPosition: this.broadcastPosition
79
- }
80
- }, this.props.children);
81
- }
82
- }]);
83
- return ContextPanelWidthProvider;
84
- }(_react.default.Component);
85
- exports.ContextPanelWidthProvider = ContextPanelWidthProvider;
86
- var Provider = ContextPanel.Provider,
87
- Consumer = ContextPanel.Consumer;
88
- exports.ContextPanelConsumer = Consumer;
89
- exports.ContextPanelProvider = Provider;
@@ -1 +0,0 @@
1
- export {};
@@ -1 +0,0 @@
1
- export {};
@@ -1,168 +0,0 @@
1
- import React from 'react';
2
- import classnames from 'classnames';
3
- import { withTheme } from '@emotion/react';
4
- import { PluginKey } from 'prosemirror-state';
5
- import { useSharedPluginState } from '@atlaskit/editor-common/hooks';
6
- import { breakoutWideScaleRatio, akEditorFullPageMaxWidth, akEditorBreakoutPadding } from '@atlaskit/editor-shared-styles';
7
- import { SafePlugin } from '@atlaskit/editor-common/safe-plugin';
8
- export const GRID_SIZE = 12;
9
- const key = new PluginKey('gridPlugin');
10
- const createDisplayGrid = view => props => {
11
- const {
12
- dispatch,
13
- state
14
- } = view;
15
- const tr = state.tr.setMeta(key, props);
16
- dispatch(tr);
17
- return true;
18
- };
19
- export const gridTypeForLayout = layout => layout === 'wrap-left' || layout === 'wrap-right' ? 'wrapped' : 'full';
20
- const sides = ['left', 'right'];
21
- const overflowHighlight = (highlights, side, start, size) => {
22
- if (!highlights.length) {
23
- return false;
24
- }
25
- const minHighlight = highlights.reduce((prev, cur) => Math.min(prev, cur));
26
- const maxHighlight = highlights.reduce((prev, cur) => Math.max(prev, cur));
27
- if (side === 'left') {
28
- return minHighlight < 0 && minHighlight <= -start && (typeof size === 'number' ? minHighlight >= -(start + size) : true);
29
- } else {
30
- return maxHighlight > GRID_SIZE && maxHighlight >= GRID_SIZE + start && (typeof size === 'number' ? maxHighlight <= GRID_SIZE + size : true);
31
- }
32
- };
33
- const gutterGridLines = (editorMaxWidth, editorWidth, highlights, shouldCalcBreakoutGridLines) => {
34
- const gridLines = [];
35
- if (!shouldCalcBreakoutGridLines) {
36
- return gridLines;
37
- }
38
- const wideSpacing = (editorMaxWidth * breakoutWideScaleRatio - editorMaxWidth) / 2;
39
- sides.forEach(side => {
40
- gridLines.push( /*#__PURE__*/React.createElement("div", {
41
- key: side,
42
- className: classnames('gridLine', overflowHighlight(highlights, side, 0, 4) ? 'highlight' : ''),
43
- style: {
44
- position: 'absolute',
45
- [side]: `-${wideSpacing}px`
46
- }
47
- }));
48
- gridLines.push( /*#__PURE__*/React.createElement("div", {
49
- key: side + '-bk',
50
- className: classnames('gridLine', highlights.indexOf('full-width') > -1 ? 'highlight' : ''),
51
- style: {
52
- position: 'absolute',
53
- [side]: `-${(editorWidth - editorMaxWidth - akEditorBreakoutPadding) / 2}px`
54
- }
55
- }));
56
- });
57
- return gridLines;
58
- };
59
- const lineLengthGridLines = highlights => {
60
- const gridLines = [];
61
- const gridSpacing = 100 / GRID_SIZE;
62
- for (let i = 0; i <= GRID_SIZE; i++) {
63
- const style = {
64
- paddingLeft: `${gridSpacing}%`
65
- };
66
- gridLines.push( /*#__PURE__*/React.createElement("div", {
67
- key: i,
68
- className: classnames('gridLine', highlights.indexOf(i) > -1 ? 'highlight' : ''),
69
- style: i < GRID_SIZE ? style : undefined
70
- }));
71
- }
72
- return gridLines;
73
- };
74
- class Grid extends React.Component {
75
- render() {
76
- const {
77
- highlight,
78
- shouldCalcBreakoutGridLines,
79
- theme,
80
- containerElement,
81
- editorWidth,
82
- gridType,
83
- visible
84
- } = this.props;
85
- const editorMaxWidth = theme.layoutMaxWidth;
86
- let gridLines = [...lineLengthGridLines(highlight), ...gutterGridLines(editorMaxWidth, editorWidth, highlight, shouldCalcBreakoutGridLines)];
87
- return /*#__PURE__*/React.createElement("div", {
88
- className: "gridParent"
89
- }, /*#__PURE__*/React.createElement("div", {
90
- className: classnames('gridContainer', gridType),
91
- style: {
92
- height: `${containerElement.scrollHeight}px`,
93
- display: visible ? 'block' : 'none'
94
- }
95
- }, gridLines));
96
- }
97
- }
98
- const ThemedGrid = withTheme(Grid);
99
- const ContentComponent = ({
100
- api,
101
- editorView,
102
- options
103
- }) => {
104
- var _widthState$width, _gridState$gridType;
105
- const {
106
- widthState,
107
- gridState
108
- } = useSharedPluginState(api, ['width', 'grid']);
109
- if (!gridState) {
110
- return null;
111
- }
112
- return /*#__PURE__*/React.createElement(ThemedGrid, {
113
- shouldCalcBreakoutGridLines: options && options.shouldCalcBreakoutGridLines,
114
- editorWidth: (_widthState$width = widthState === null || widthState === void 0 ? void 0 : widthState.width) !== null && _widthState$width !== void 0 ? _widthState$width : akEditorFullPageMaxWidth,
115
- containerElement: editorView.dom,
116
- visible: gridState.visible,
117
- gridType: (_gridState$gridType = gridState.gridType) !== null && _gridState$gridType !== void 0 ? _gridState$gridType : 'full',
118
- highlight: gridState.highlight
119
- });
120
- };
121
- const EMPTY_STATE = {
122
- visible: false,
123
- highlight: []
124
- };
125
- const gridPMPlugin = new SafePlugin({
126
- key,
127
- state: {
128
- init() {
129
- return EMPTY_STATE;
130
- },
131
- apply(tr, currentPluginState) {
132
- const nextPluginState = tr.getMeta(key);
133
- if (nextPluginState) {
134
- return nextPluginState;
135
- }
136
- return currentPluginState;
137
- }
138
- }
139
- });
140
- const gridPlugin = (options, api) => {
141
- return {
142
- name: 'grid',
143
- getSharedState(editorState) {
144
- if (!editorState) {
145
- return null;
146
- }
147
- return key.getState(editorState);
148
- },
149
- actions: {
150
- displayGrid: createDisplayGrid
151
- },
152
- pmPlugins() {
153
- return [{
154
- name: 'grid',
155
- plugin: () => gridPMPlugin
156
- }];
157
- },
158
- contentComponent: ({
159
- editorView
160
- }) => /*#__PURE__*/React.createElement(ContentComponent, {
161
- editorView: editorView,
162
- options: options,
163
- api: api
164
- })
165
- };
166
- };
167
- export default gridPlugin;
168
- export { GRID_GUTTER } from './styles';
@@ -1,36 +0,0 @@
1
- import { css } from '@emotion/react';
2
- import { N30A, B200 } from '@atlaskit/theme/colors';
3
- import { akEditorGridLineZIndex } from '@atlaskit/editor-shared-styles';
4
- export const GRID_GUTTER = 12;
5
- export const gridStyles = css`
6
- .gridParent {
7
- width: calc(100% + ${GRID_GUTTER * 2}px);
8
- margin-left: -${GRID_GUTTER}px;
9
- margin-right: -${GRID_GUTTER}px;
10
- transform: scale(1);
11
- z-index: ${akEditorGridLineZIndex};
12
- }
13
-
14
- .gridContainer {
15
- position: fixed;
16
- height: 100vh;
17
- width: 100%;
18
- pointer-events: none;
19
- }
20
-
21
- // TODO: https://product-fabric.atlassian.net/browse/DSP-4352
22
- .gridLine {
23
- border-left: 1px solid ${`var(--ds-border, ${N30A})`};
24
- display: inline-block;
25
- box-sizing: border-box;
26
- height: 100%;
27
- margin-left: -1px;
28
-
29
- transition: border-color 0.15s linear;
30
- z-index: 0;
31
- }
32
-
33
- .highlight {
34
- border-left: 1px solid ${`var(--ds-border-focused, ${B200})`};
35
- }
36
- `;
@@ -1 +0,0 @@
1
- export {};