@atlaskit/editor-core 187.24.0 → 187.24.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 187.24.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`8efc1dfc706`](https://bitbucket.org/atlassian/atlassian-frontend/commits/8efc1dfc706) - ED-19330 create editor-list-plugin
8
+ - Updated dependencies
9
+
10
+ ## 187.24.1
11
+
12
+ ### Patch Changes
13
+
14
+ - [`5c3064cffe3`](https://bitbucket.org/atlassian/atlassian-frontend/commits/5c3064cffe3) - Remove a selection hack for Chrome 88 to improve foucs/blur performance
15
+ - [`51e6a0128eb`](https://bitbucket.org/atlassian/atlassian-frontend/commits/51e6a0128eb) - ED-18969 Implemented relative guideline
16
+
3
17
  ## 187.24.0
4
18
 
5
19
  ### Minor Changes
@@ -8,6 +8,7 @@ exports.isChromeWithSelectionBug = exports.default = void 0;
8
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
9
  var _commands = require("@atlaskit/editor-prosemirror/commands");
10
10
  var _history = require("@atlaskit/editor-prosemirror/history");
11
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
11
12
  var _utils = require("@atlaskit/editor-common/utils");
12
13
  var _adfSchema = require("@atlaskit/adf-schema");
13
14
  var _filterSteps = _interopRequireDefault(require("./pm-plugins/filter-steps"));
@@ -97,7 +98,7 @@ var basePlugin = function basePlugin(options, api) {
97
98
  }
98
99
  });
99
100
  }
100
- if (isChromeWithSelectionBug) {
101
+ if (isChromeWithSelectionBug && !(0, _platformFeatureFlags.getBooleanFF)('platform.editor.disable-chrome-88-selection-fix_uk53m')) {
101
102
  plugins.push({
102
103
  name: 'fixChrome88SelectionPlugin',
103
104
  plugin: function plugin() {
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.resizerNextTestId = exports.default = void 0;
7
+ exports.resizerNextTestId = exports.default = exports.ResizableMediaSingleNext = void 0;
8
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
9
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
10
10
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
@@ -43,22 +43,27 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
43
43
  var _this;
44
44
  (0, _classCallCheck2.default)(this, ResizableMediaSingleNext);
45
45
  _this = _super.call(this, props);
46
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "guidelines", []);
47
46
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "lastSnappedGuidelineKeys", []);
48
- (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getAllGuidelines", function () {
47
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateGuidelines", function () {
49
48
  var _this$props = _this.props,
50
49
  view = _this$props.view,
51
50
  lineLength = _this$props.lineLength;
52
51
  var defaultGuidelines = _this.getDefaultGuidelines();
52
+ var _generateDynamicGuide = (0, _guideline.generateDynamicGuidelines)(view.state, lineLength, {
53
+ styles: {
54
+ lineStyle: 'dashed'
55
+ },
56
+ show: false
57
+ }),
58
+ relativeGuides = _generateDynamicGuide.relativeGuides,
59
+ dynamicGuides = _generateDynamicGuide.dynamicGuides;
60
+
53
61
  // disable guidelines for nested media single node
54
- var dynamicGuidelines = _this.isNestedNode() ? [] : (0, _guideline.generateDynamicGuidelines)(view.state, lineLength, {
55
- styles: {
56
- lineStyle: 'dashed'
57
- },
58
- show: false
62
+ var dynamicGuidelines = _this.isNestedNode() ? [] : dynamicGuides;
63
+ _this.setState({
64
+ relativeGuides: relativeGuides,
65
+ guidelines: [].concat((0, _toConsumableArray2.default)(defaultGuidelines), (0, _toConsumableArray2.default)(dynamicGuidelines))
59
66
  });
60
- var guidelines = [].concat((0, _toConsumableArray2.default)(defaultGuidelines), (0, _toConsumableArray2.default)(dynamicGuidelines));
61
- return guidelines;
62
67
  });
63
68
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "calcNewSize", function (newWidth, stop) {
64
69
  var _this$props2 = _this.props,
@@ -67,7 +72,7 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
67
72
  containerWidth = _this$props2.containerWidth,
68
73
  lineLength = _this$props2.lineLength,
69
74
  fullWidthMode = _this$props2.fullWidthMode;
70
- var newPct = (0, _ui.calcPctFromPx)(newWidth, _this.props.lineLength) * 100;
75
+ var newPct = (0, _ui.calcPctFromPx)(newWidth, lineLength) * 100;
71
76
  _this.setState({
72
77
  resizedPctWidth: newPct
73
78
  });
@@ -149,6 +154,13 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
149
154
  }
150
155
  return (0, _mediaSingle.calcMediaSingleMaxWidth)(containerWidth);
151
156
  }));
157
+ (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getRelativeGuides", function () {
158
+ var relativeGuides = _this.$pos && _this.$pos.nodeAfter && _this.state.size.width ? (0, _guideline.getRelativeGuidelines)(_this.state.relativeGuides, {
159
+ node: _this.$pos.nodeAfter,
160
+ pos: _this.$pos.pos
161
+ }, _this.props.view, _this.props.lineLength, _this.state.size) : [];
162
+ return relativeGuides;
163
+ });
152
164
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "updateActiveGuidelines", function () {
153
165
  var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
154
166
  var guidelines = arguments.length > 1 ? arguments[1] : undefined;
@@ -158,7 +170,8 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
158
170
  gap = _findClosestSnap.gap,
159
171
  activeGuidelineKeys = _findClosestSnap.keys;
160
172
  _this.lastSnappedGuidelineKeys = activeGuidelineKeys;
161
- _this.displayGuideline((0, _guideline.getGuidelinesWithHighlights)(gap, _mediaSingle.MEDIA_SINGLE_SNAP_GAP, activeGuidelineKeys, guidelines));
173
+ var relativeGuidelines = activeGuidelineKeys.length ? [] : _this.getRelativeGuides();
174
+ _this.displayGuideline([].concat((0, _toConsumableArray2.default)((0, _guideline.getGuidelinesWithHighlights)(gap, _mediaSingle.MEDIA_SINGLE_SNAP_GAP, activeGuidelineKeys, guidelines)), (0, _toConsumableArray2.default)(relativeGuidelines)));
162
175
  }
163
176
  });
164
177
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "roundPixelValue", function (value) {
@@ -221,7 +234,7 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
221
234
  _this.setIsResizing(true);
222
235
  _this.updateSizeInPluginState(_this.state.size.width);
223
236
  // re-calucate guidelines
224
- _this.guidelines = _this.getAllGuidelines();
237
+ _this.updateGuidelines();
225
238
  return 0;
226
239
  });
227
240
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "handleResize", (0, _throttle.default)(function (size, delta) {
@@ -235,14 +248,17 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
235
248
  width = _this$calculateSizeSt.width,
236
249
  height = _this$calculateSizeSt.height,
237
250
  calculatedWidthWithLayout = _this$calculateSizeSt.calculatedWidthWithLayout;
238
- var guidelineSnaps = (0, _guideline.getGuidelineSnaps)(_this.guidelines, lineLength, layout);
239
- _this.updateActiveGuidelines(width, _this.guidelines, guidelineSnaps);
251
+ var guidelineSnaps = (0, _guideline.getGuidelineSnaps)(_this.state.guidelines, lineLength, layout);
252
+ _this.updateActiveGuidelines(width, _this.state.guidelines, guidelineSnaps);
253
+ var relativeSnaps = (0, _guideline.getRelativeGuideSnaps)(_this.state.relativeGuides, _this.aspectRatio);
240
254
  _this.setState({
241
255
  size: {
242
256
  width: width,
243
257
  height: height
244
258
  },
245
- snaps: guidelineSnaps.snaps
259
+ snaps: {
260
+ x: [].concat((0, _toConsumableArray2.default)(guidelineSnaps.snaps.x || []), (0, _toConsumableArray2.default)(relativeSnaps))
261
+ }
246
262
  });
247
263
  _this.updateSizeInPluginState(width);
248
264
  if (calculatedWidthWithLayout.layout !== layout) {
@@ -265,7 +281,7 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
265
281
  width: width,
266
282
  layout: calculatedWidthWithLayout.layout,
267
283
  widthType: 'pixel',
268
- snapType: (0, _guideline.getGuidelineTypeFromKey)(_this.lastSnappedGuidelineKeys, _this.guidelines),
284
+ snapType: (0, _guideline.getGuidelineTypeFromKey)(_this.lastSnappedGuidelineKeys, _this.state.guidelines),
269
285
  parentNode: _this.getParentNodeTypeNameFromCurrentPositionNode()
270
286
  });
271
287
  if (event) {
@@ -294,7 +310,9 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
294
310
  width: initialWidth,
295
311
  height: _this.calcPxHeight(initialWidth)
296
312
  },
297
- snaps: {}
313
+ snaps: {},
314
+ relativeGuides: {},
315
+ guidelines: []
298
316
  };
299
317
  return _this;
300
318
  }
@@ -413,6 +431,18 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
413
431
  this.checkVideoFile(nextProps.viewMediaClientConfig);
414
432
  }
415
433
  }
434
+ }, {
435
+ key: "aspectRatio",
436
+ get: function get() {
437
+ var _this$props8 = this.props,
438
+ width = _this$props8.width,
439
+ height = _this$props8.height;
440
+ if (width) {
441
+ return width / height;
442
+ }
443
+ // TODO handle this case
444
+ return 1;
445
+ }
416
446
  }, {
417
447
  key: "checkVideoFile",
418
448
  value: function () {
@@ -515,15 +545,15 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
515
545
  key: "render",
516
546
  value: function render() {
517
547
  var _this3 = this;
518
- var _this$props8 = this.props,
519
- origWidth = _this$props8.width,
520
- layout = _this$props8.layout,
521
- pctWidth = _this$props8.pctWidth,
522
- containerWidth = _this$props8.containerWidth,
523
- fullWidthMode = _this$props8.fullWidthMode,
524
- selected = _this$props8.selected,
525
- children = _this$props8.children,
526
- lineLength = _this$props8.lineLength;
548
+ var _this$props9 = this.props,
549
+ origWidth = _this$props9.width,
550
+ layout = _this$props9.layout,
551
+ pctWidth = _this$props9.pctWidth,
552
+ containerWidth = _this$props9.containerWidth,
553
+ fullWidthMode = _this$props9.fullWidthMode,
554
+ selected = _this$props9.selected,
555
+ children = _this$props9.children,
556
+ lineLength = _this$props9.lineLength;
527
557
  var _this$state = this.state,
528
558
  isResizing = _this$state.isResizing,
529
559
  size = _this$state.size;
@@ -573,5 +603,6 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
573
603
  }]);
574
604
  return ResizableMediaSingleNext;
575
605
  }(_react.default.Component);
606
+ exports.ResizableMediaSingleNext = ResizableMediaSingleNext;
576
607
  var _default = ResizableMediaSingleNext;
577
608
  exports.default = _default;
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.version = exports.nextMajorVersion = exports.name = void 0;
7
7
  var name = "@atlaskit/editor-core";
8
8
  exports.name = name;
9
- var version = "187.24.0";
9
+ var version = "187.24.2";
10
10
  exports.version = version;
11
11
  var nextMajorVersion = function nextMajorVersion() {
12
12
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
@@ -1,5 +1,6 @@
1
1
  import { baseKeymap } from '@atlaskit/editor-prosemirror/commands';
2
2
  import { history } from '@atlaskit/editor-prosemirror/history';
3
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
3
4
  import { browser } from '@atlaskit/editor-common/utils';
4
5
  import { doc, paragraph, text } from '@atlaskit/adf-schema';
5
6
  import filterStepsPlugin from './pm-plugins/filter-steps';
@@ -74,7 +75,7 @@ const basePlugin = (options, api) => {
74
75
  plugin: () => scrollGutter(options.allowScrollGutter)
75
76
  });
76
77
  }
77
- if (isChromeWithSelectionBug) {
78
+ if (isChromeWithSelectionBug && !getBooleanFF('platform.editor.disable-chrome-88-selection-fix_uk53m')) {
78
79
  plugins.push({
79
80
  name: 'fixChrome88SelectionPlugin',
80
81
  plugin: () => fixChrome88SelectionPlugin()
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
- import { orderedList, orderedListWithOrder, bulletList, listItem } from '@atlaskit/adf-schema';
2
+ import { bulletList, listItem, orderedList, orderedListWithOrder } from '@atlaskit/adf-schema';
3
3
  import { createPlugin } from './pm-plugins/main';
4
4
  import inputRulePlugin from './pm-plugins/input-rules';
5
5
  import keymapPlugin from './pm-plugins/keymap';
6
6
  import { listMessages as messages } from '@atlaskit/editor-common/messages';
7
- import { ACTION, EVENT_TYPE, INPUT_METHOD, ACTION_SUBJECT, ACTION_SUBJECT_ID } from '../analytics';
8
- import { tooltip, toggleBulletList, toggleOrderedList } from '../../keymaps';
7
+ import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '../analytics';
8
+ import { toggleBulletList, toggleOrderedList, tooltip } from '../../keymaps';
9
9
  import { IconList, IconListNumber } from '@atlaskit/editor-common/quick-insert';
10
10
  /*
11
11
  Toolbar buttons to bullet and ordered list can be found in
@@ -12,32 +12,38 @@ import { ResizerNext } from '@atlaskit/editor-common/resizer';
12
12
  import classnames from 'classnames';
13
13
  import { richMediaClassName, resizerStyles } from '@atlaskit/editor-common/styles';
14
14
  import { MEDIA_SINGLE_MIN_PIXEL_WIDTH, MEDIA_SINGLE_SNAP_GAP, MEDIA_SINGLE_RESIZE_THROTTLE_TIME, calculateOffsetLeft, DEFAULT_IMAGE_WIDTH, calcMediaSingleMaxWidth } from '@atlaskit/editor-common/media-single';
15
- import { findClosestSnap, getGuidelinesWithHighlights, generateDefaultGuidelines, generateDynamicGuidelines, getGuidelineSnaps, getGuidelineTypeFromKey } from '@atlaskit/editor-common/guideline';
15
+ import { findClosestSnap, getGuidelinesWithHighlights, generateDefaultGuidelines, generateDynamicGuidelines, getGuidelineSnaps, getGuidelineTypeFromKey, getRelativeGuideSnaps, getRelativeGuidelines } from '@atlaskit/editor-common/guideline';
16
16
  import memoizeOne from 'memoize-one';
17
17
  import { getMediaResizeAnalyticsEvent } from '../../utils/analytics';
18
18
  import throttle from 'lodash/throttle';
19
19
  import { MEDIA_PLUGIN_IS_RESIZING_KEY, MEDIA_PLUGIN_RESIZING_WIDTH_KEY } from '../../pm-plugins/main';
20
20
  export const resizerNextTestId = 'mediaSingle.resizerNext.testid';
21
- class ResizableMediaSingleNext extends React.Component {
21
+ export class ResizableMediaSingleNext extends React.Component {
22
22
  constructor(props) {
23
23
  super(props);
24
- _defineProperty(this, "guidelines", []);
25
24
  _defineProperty(this, "lastSnappedGuidelineKeys", []);
26
- _defineProperty(this, "getAllGuidelines", () => {
25
+ _defineProperty(this, "updateGuidelines", () => {
27
26
  const {
28
27
  view,
29
28
  lineLength
30
29
  } = this.props;
31
30
  const defaultGuidelines = this.getDefaultGuidelines();
32
- // disable guidelines for nested media single node
33
- const dynamicGuidelines = this.isNestedNode() ? [] : generateDynamicGuidelines(view.state, lineLength, {
31
+ const {
32
+ relativeGuides,
33
+ dynamicGuides
34
+ } = generateDynamicGuidelines(view.state, lineLength, {
34
35
  styles: {
35
36
  lineStyle: 'dashed'
36
37
  },
37
38
  show: false
38
39
  });
39
- const guidelines = [...defaultGuidelines, ...dynamicGuidelines];
40
- return guidelines;
40
+
41
+ // disable guidelines for nested media single node
42
+ const dynamicGuidelines = this.isNestedNode() ? [] : dynamicGuides;
43
+ this.setState({
44
+ relativeGuides,
45
+ guidelines: [...defaultGuidelines, ...dynamicGuidelines]
46
+ });
41
47
  });
42
48
  _defineProperty(this, "calcNewSize", (newWidth, stop) => {
43
49
  const {
@@ -49,7 +55,7 @@ class ResizableMediaSingleNext extends React.Component {
49
55
  lineLength,
50
56
  fullWidthMode
51
57
  } = this.props;
52
- const newPct = calcPctFromPx(newWidth, this.props.lineLength) * 100;
58
+ const newPct = calcPctFromPx(newWidth, lineLength) * 100;
53
59
  this.setState({
54
60
  resizedPctWidth: newPct
55
61
  });
@@ -135,6 +141,13 @@ class ResizableMediaSingleNext extends React.Component {
135
141
  }
136
142
  return calcMediaSingleMaxWidth(containerWidth);
137
143
  }));
144
+ _defineProperty(this, "getRelativeGuides", () => {
145
+ const relativeGuides = this.$pos && this.$pos.nodeAfter && this.state.size.width ? getRelativeGuidelines(this.state.relativeGuides, {
146
+ node: this.$pos.nodeAfter,
147
+ pos: this.$pos.pos
148
+ }, this.props.view, this.props.lineLength, this.state.size) : [];
149
+ return relativeGuides;
150
+ });
138
151
  _defineProperty(this, "updateActiveGuidelines", (width = 0, guidelines, guidelineSnapsReference) => {
139
152
  if (guidelineSnapsReference.snaps.x) {
140
153
  const {
@@ -142,7 +155,8 @@ class ResizableMediaSingleNext extends React.Component {
142
155
  keys: activeGuidelineKeys
143
156
  } = findClosestSnap(width, guidelineSnapsReference.snaps.x, guidelineSnapsReference.guidelineReference, MEDIA_SINGLE_SNAP_GAP);
144
157
  this.lastSnappedGuidelineKeys = activeGuidelineKeys;
145
- this.displayGuideline(getGuidelinesWithHighlights(gap, MEDIA_SINGLE_SNAP_GAP, activeGuidelineKeys, guidelines));
158
+ const relativeGuidelines = activeGuidelineKeys.length ? [] : this.getRelativeGuides();
159
+ this.displayGuideline([...getGuidelinesWithHighlights(gap, MEDIA_SINGLE_SNAP_GAP, activeGuidelineKeys, guidelines), ...relativeGuidelines]);
146
160
  }
147
161
  });
148
162
  _defineProperty(this, "roundPixelValue", value => Math.round(value));
@@ -199,7 +213,7 @@ class ResizableMediaSingleNext extends React.Component {
199
213
  this.setIsResizing(true);
200
214
  this.updateSizeInPluginState(this.state.size.width);
201
215
  // re-calucate guidelines
202
- this.guidelines = this.getAllGuidelines();
216
+ this.updateGuidelines();
203
217
  return 0;
204
218
  });
205
219
  _defineProperty(this, "handleResize", throttle((size, delta) => {
@@ -215,14 +229,17 @@ class ResizableMediaSingleNext extends React.Component {
215
229
  height,
216
230
  calculatedWidthWithLayout
217
231
  } = this.calculateSizeState(size, delta, originalWidth, originalHeight);
218
- const guidelineSnaps = getGuidelineSnaps(this.guidelines, lineLength, layout);
219
- this.updateActiveGuidelines(width, this.guidelines, guidelineSnaps);
232
+ const guidelineSnaps = getGuidelineSnaps(this.state.guidelines, lineLength, layout);
233
+ this.updateActiveGuidelines(width, this.state.guidelines, guidelineSnaps);
234
+ const relativeSnaps = getRelativeGuideSnaps(this.state.relativeGuides, this.aspectRatio);
220
235
  this.setState({
221
236
  size: {
222
237
  width,
223
238
  height
224
239
  },
225
- snaps: guidelineSnaps.snaps
240
+ snaps: {
241
+ x: [...(guidelineSnaps.snaps.x || []), ...relativeSnaps]
242
+ }
226
243
  });
227
244
  this.updateSizeInPluginState(width);
228
245
  if (calculatedWidthWithLayout.layout !== layout) {
@@ -247,7 +264,7 @@ class ResizableMediaSingleNext extends React.Component {
247
264
  width,
248
265
  layout: calculatedWidthWithLayout.layout,
249
266
  widthType: 'pixel',
250
- snapType: getGuidelineTypeFromKey(this.lastSnappedGuidelineKeys, this.guidelines),
267
+ snapType: getGuidelineTypeFromKey(this.lastSnappedGuidelineKeys, this.state.guidelines),
251
268
  parentNode: this.getParentNodeTypeNameFromCurrentPositionNode()
252
269
  });
253
270
  if (event) {
@@ -276,7 +293,9 @@ class ResizableMediaSingleNext extends React.Component {
276
293
  width: initialWidth,
277
294
  height: this.calcPxHeight(initialWidth)
278
295
  },
279
- snaps: {}
296
+ snaps: {},
297
+ relativeGuides: {},
298
+ guidelines: []
280
299
  };
281
300
  }
282
301
 
@@ -365,6 +384,17 @@ class ResizableMediaSingleNext extends React.Component {
365
384
  this.checkVideoFile(nextProps.viewMediaClientConfig);
366
385
  }
367
386
  }
387
+ get aspectRatio() {
388
+ const {
389
+ width,
390
+ height
391
+ } = this.props;
392
+ if (width) {
393
+ return width / height;
394
+ }
395
+ // TODO handle this case
396
+ return 1;
397
+ }
368
398
  async checkVideoFile(viewMediaClientConfig) {
369
399
  const $pos = this.$pos;
370
400
  if (!$pos || !viewMediaClientConfig) {
@@ -1,5 +1,5 @@
1
1
  export const name = "@atlaskit/editor-core";
2
- export const version = "187.24.0";
2
+ export const version = "187.24.2";
3
3
  export const nextMajorVersion = () => {
4
4
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
5
5
  };
@@ -3,6 +3,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
3
3
  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) { _defineProperty(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; }
4
4
  import { baseKeymap } from '@atlaskit/editor-prosemirror/commands';
5
5
  import { history } from '@atlaskit/editor-prosemirror/history';
6
+ import { getBooleanFF } from '@atlaskit/platform-feature-flags';
6
7
  import { browser } from '@atlaskit/editor-common/utils';
7
8
  import { doc, paragraph, text } from '@atlaskit/adf-schema';
8
9
  import filterStepsPlugin from './pm-plugins/filter-steps';
@@ -89,7 +90,7 @@ var basePlugin = function basePlugin(options, api) {
89
90
  }
90
91
  });
91
92
  }
92
- if (isChromeWithSelectionBug) {
93
+ if (isChromeWithSelectionBug && !getBooleanFF('platform.editor.disable-chrome-88-selection-fix_uk53m')) {
93
94
  plugins.push({
94
95
  name: 'fixChrome88SelectionPlugin',
95
96
  plugin: function plugin() {
@@ -1,11 +1,11 @@
1
1
  import React from 'react';
2
- import { orderedList, orderedListWithOrder, bulletList, listItem } from '@atlaskit/adf-schema';
2
+ import { bulletList, listItem, orderedList, orderedListWithOrder } from '@atlaskit/adf-schema';
3
3
  import { createPlugin } from './pm-plugins/main';
4
4
  import inputRulePlugin from './pm-plugins/input-rules';
5
5
  import keymapPlugin from './pm-plugins/keymap';
6
6
  import { listMessages as messages } from '@atlaskit/editor-common/messages';
7
- import { ACTION, EVENT_TYPE, INPUT_METHOD, ACTION_SUBJECT, ACTION_SUBJECT_ID } from '../analytics';
8
- import { tooltip, toggleBulletList, toggleOrderedList } from '../../keymaps';
7
+ import { ACTION, ACTION_SUBJECT, ACTION_SUBJECT_ID, EVENT_TYPE, INPUT_METHOD } from '../analytics';
8
+ import { toggleBulletList, toggleOrderedList, tooltip } from '../../keymaps';
9
9
  import { IconList, IconListNumber } from '@atlaskit/editor-common/quick-insert';
10
10
  /*
11
11
  Toolbar buttons to bullet and ordered list can be found in
@@ -23,35 +23,40 @@ import { ResizerNext } from '@atlaskit/editor-common/resizer';
23
23
  import classnames from 'classnames';
24
24
  import { richMediaClassName, resizerStyles } from '@atlaskit/editor-common/styles';
25
25
  import { MEDIA_SINGLE_MIN_PIXEL_WIDTH, MEDIA_SINGLE_SNAP_GAP, MEDIA_SINGLE_RESIZE_THROTTLE_TIME, calculateOffsetLeft, DEFAULT_IMAGE_WIDTH, calcMediaSingleMaxWidth } from '@atlaskit/editor-common/media-single';
26
- import { findClosestSnap, getGuidelinesWithHighlights, generateDefaultGuidelines, generateDynamicGuidelines, getGuidelineSnaps, getGuidelineTypeFromKey } from '@atlaskit/editor-common/guideline';
26
+ import { findClosestSnap, getGuidelinesWithHighlights, generateDefaultGuidelines, generateDynamicGuidelines, getGuidelineSnaps, getGuidelineTypeFromKey, getRelativeGuideSnaps, getRelativeGuidelines } from '@atlaskit/editor-common/guideline';
27
27
  import memoizeOne from 'memoize-one';
28
28
  import { getMediaResizeAnalyticsEvent } from '../../utils/analytics';
29
29
  import throttle from 'lodash/throttle';
30
30
  import { MEDIA_PLUGIN_IS_RESIZING_KEY, MEDIA_PLUGIN_RESIZING_WIDTH_KEY } from '../../pm-plugins/main';
31
31
  export var resizerNextTestId = 'mediaSingle.resizerNext.testid';
32
- var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
32
+ export var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
33
33
  _inherits(ResizableMediaSingleNext, _React$Component);
34
34
  var _super = _createSuper(ResizableMediaSingleNext);
35
35
  function ResizableMediaSingleNext(props) {
36
36
  var _this;
37
37
  _classCallCheck(this, ResizableMediaSingleNext);
38
38
  _this = _super.call(this, props);
39
- _defineProperty(_assertThisInitialized(_this), "guidelines", []);
40
39
  _defineProperty(_assertThisInitialized(_this), "lastSnappedGuidelineKeys", []);
41
- _defineProperty(_assertThisInitialized(_this), "getAllGuidelines", function () {
40
+ _defineProperty(_assertThisInitialized(_this), "updateGuidelines", function () {
42
41
  var _this$props = _this.props,
43
42
  view = _this$props.view,
44
43
  lineLength = _this$props.lineLength;
45
44
  var defaultGuidelines = _this.getDefaultGuidelines();
45
+ var _generateDynamicGuide = generateDynamicGuidelines(view.state, lineLength, {
46
+ styles: {
47
+ lineStyle: 'dashed'
48
+ },
49
+ show: false
50
+ }),
51
+ relativeGuides = _generateDynamicGuide.relativeGuides,
52
+ dynamicGuides = _generateDynamicGuide.dynamicGuides;
53
+
46
54
  // disable guidelines for nested media single node
47
- var dynamicGuidelines = _this.isNestedNode() ? [] : generateDynamicGuidelines(view.state, lineLength, {
48
- styles: {
49
- lineStyle: 'dashed'
50
- },
51
- show: false
55
+ var dynamicGuidelines = _this.isNestedNode() ? [] : dynamicGuides;
56
+ _this.setState({
57
+ relativeGuides: relativeGuides,
58
+ guidelines: [].concat(_toConsumableArray(defaultGuidelines), _toConsumableArray(dynamicGuidelines))
52
59
  });
53
- var guidelines = [].concat(_toConsumableArray(defaultGuidelines), _toConsumableArray(dynamicGuidelines));
54
- return guidelines;
55
60
  });
56
61
  _defineProperty(_assertThisInitialized(_this), "calcNewSize", function (newWidth, stop) {
57
62
  var _this$props2 = _this.props,
@@ -60,7 +65,7 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
60
65
  containerWidth = _this$props2.containerWidth,
61
66
  lineLength = _this$props2.lineLength,
62
67
  fullWidthMode = _this$props2.fullWidthMode;
63
- var newPct = calcPctFromPx(newWidth, _this.props.lineLength) * 100;
68
+ var newPct = calcPctFromPx(newWidth, lineLength) * 100;
64
69
  _this.setState({
65
70
  resizedPctWidth: newPct
66
71
  });
@@ -142,6 +147,13 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
142
147
  }
143
148
  return calcMediaSingleMaxWidth(containerWidth);
144
149
  }));
150
+ _defineProperty(_assertThisInitialized(_this), "getRelativeGuides", function () {
151
+ var relativeGuides = _this.$pos && _this.$pos.nodeAfter && _this.state.size.width ? getRelativeGuidelines(_this.state.relativeGuides, {
152
+ node: _this.$pos.nodeAfter,
153
+ pos: _this.$pos.pos
154
+ }, _this.props.view, _this.props.lineLength, _this.state.size) : [];
155
+ return relativeGuides;
156
+ });
145
157
  _defineProperty(_assertThisInitialized(_this), "updateActiveGuidelines", function () {
146
158
  var width = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;
147
159
  var guidelines = arguments.length > 1 ? arguments[1] : undefined;
@@ -151,7 +163,8 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
151
163
  gap = _findClosestSnap.gap,
152
164
  activeGuidelineKeys = _findClosestSnap.keys;
153
165
  _this.lastSnappedGuidelineKeys = activeGuidelineKeys;
154
- _this.displayGuideline(getGuidelinesWithHighlights(gap, MEDIA_SINGLE_SNAP_GAP, activeGuidelineKeys, guidelines));
166
+ var relativeGuidelines = activeGuidelineKeys.length ? [] : _this.getRelativeGuides();
167
+ _this.displayGuideline([].concat(_toConsumableArray(getGuidelinesWithHighlights(gap, MEDIA_SINGLE_SNAP_GAP, activeGuidelineKeys, guidelines)), _toConsumableArray(relativeGuidelines)));
155
168
  }
156
169
  });
157
170
  _defineProperty(_assertThisInitialized(_this), "roundPixelValue", function (value) {
@@ -214,7 +227,7 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
214
227
  _this.setIsResizing(true);
215
228
  _this.updateSizeInPluginState(_this.state.size.width);
216
229
  // re-calucate guidelines
217
- _this.guidelines = _this.getAllGuidelines();
230
+ _this.updateGuidelines();
218
231
  return 0;
219
232
  });
220
233
  _defineProperty(_assertThisInitialized(_this), "handleResize", throttle(function (size, delta) {
@@ -228,14 +241,17 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
228
241
  width = _this$calculateSizeSt.width,
229
242
  height = _this$calculateSizeSt.height,
230
243
  calculatedWidthWithLayout = _this$calculateSizeSt.calculatedWidthWithLayout;
231
- var guidelineSnaps = getGuidelineSnaps(_this.guidelines, lineLength, layout);
232
- _this.updateActiveGuidelines(width, _this.guidelines, guidelineSnaps);
244
+ var guidelineSnaps = getGuidelineSnaps(_this.state.guidelines, lineLength, layout);
245
+ _this.updateActiveGuidelines(width, _this.state.guidelines, guidelineSnaps);
246
+ var relativeSnaps = getRelativeGuideSnaps(_this.state.relativeGuides, _this.aspectRatio);
233
247
  _this.setState({
234
248
  size: {
235
249
  width: width,
236
250
  height: height
237
251
  },
238
- snaps: guidelineSnaps.snaps
252
+ snaps: {
253
+ x: [].concat(_toConsumableArray(guidelineSnaps.snaps.x || []), _toConsumableArray(relativeSnaps))
254
+ }
239
255
  });
240
256
  _this.updateSizeInPluginState(width);
241
257
  if (calculatedWidthWithLayout.layout !== layout) {
@@ -258,7 +274,7 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
258
274
  width: width,
259
275
  layout: calculatedWidthWithLayout.layout,
260
276
  widthType: 'pixel',
261
- snapType: getGuidelineTypeFromKey(_this.lastSnappedGuidelineKeys, _this.guidelines),
277
+ snapType: getGuidelineTypeFromKey(_this.lastSnappedGuidelineKeys, _this.state.guidelines),
262
278
  parentNode: _this.getParentNodeTypeNameFromCurrentPositionNode()
263
279
  });
264
280
  if (event) {
@@ -287,7 +303,9 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
287
303
  width: initialWidth,
288
304
  height: _this.calcPxHeight(initialWidth)
289
305
  },
290
- snaps: {}
306
+ snaps: {},
307
+ relativeGuides: {},
308
+ guidelines: []
291
309
  };
292
310
  return _this;
293
311
  }
@@ -406,6 +424,18 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
406
424
  this.checkVideoFile(nextProps.viewMediaClientConfig);
407
425
  }
408
426
  }
427
+ }, {
428
+ key: "aspectRatio",
429
+ get: function get() {
430
+ var _this$props8 = this.props,
431
+ width = _this$props8.width,
432
+ height = _this$props8.height;
433
+ if (width) {
434
+ return width / height;
435
+ }
436
+ // TODO handle this case
437
+ return 1;
438
+ }
409
439
  }, {
410
440
  key: "checkVideoFile",
411
441
  value: function () {
@@ -508,15 +538,15 @@ var ResizableMediaSingleNext = /*#__PURE__*/function (_React$Component) {
508
538
  key: "render",
509
539
  value: function render() {
510
540
  var _this3 = this;
511
- var _this$props8 = this.props,
512
- origWidth = _this$props8.width,
513
- layout = _this$props8.layout,
514
- pctWidth = _this$props8.pctWidth,
515
- containerWidth = _this$props8.containerWidth,
516
- fullWidthMode = _this$props8.fullWidthMode,
517
- selected = _this$props8.selected,
518
- children = _this$props8.children,
519
- lineLength = _this$props8.lineLength;
541
+ var _this$props9 = this.props,
542
+ origWidth = _this$props9.width,
543
+ layout = _this$props9.layout,
544
+ pctWidth = _this$props9.pctWidth,
545
+ containerWidth = _this$props9.containerWidth,
546
+ fullWidthMode = _this$props9.fullWidthMode,
547
+ selected = _this$props9.selected,
548
+ children = _this$props9.children,
549
+ lineLength = _this$props9.lineLength;
520
550
  var _this$state = this.state,
521
551
  isResizing = _this$state.isResizing,
522
552
  size = _this$state.size;
@@ -1,5 +1,5 @@
1
1
  export var name = "@atlaskit/editor-core";
2
- export var version = "187.24.0";
2
+ export var version = "187.24.2";
3
3
  export var nextMajorVersion = function nextMajorVersion() {
4
4
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');
5
5
  };
@@ -1,13 +1,3 @@
1
- import type { NextEditorPlugin } from '../../types';
2
- import type { ListPluginOptions } from './types';
3
- import type featureFlagsPlugin from '@atlaskit/editor-plugin-feature-flags';
4
- import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
5
- import type { OptionalPlugin } from '@atlaskit/editor-common/types';
6
- declare const listPlugin: NextEditorPlugin<'list', {
7
- pluginConfiguration: ListPluginOptions | undefined;
8
- dependencies: [
9
- typeof featureFlagsPlugin,
10
- OptionalPlugin<typeof analyticsPlugin>
11
- ];
12
- }>;
1
+ import type { ListPlugin } from '@atlaskit/editor-plugin-list';
2
+ declare const listPlugin: ListPlugin;
13
3
  export default listPlugin;
@@ -5,7 +5,7 @@ import type { RichMediaLayout as MediaSingleLayout } from '@atlaskit/adf-schema'
5
5
  import type { MediaClientConfig } from '@atlaskit/media-core';
6
6
  import type { Props } from './types';
7
7
  import type { Dimensions, HandleResize, HandleResizeStart, Position, Snap } from '@atlaskit/editor-common/resizer';
8
- import type { GuidelineConfig, GuidelineSnapsReference } from '@atlaskit/editor-common/guideline';
8
+ import type { GuidelineConfig, RelativeGuides, GuidelineSnapsReference } from '@atlaskit/editor-common/guideline';
9
9
  type State = {
10
10
  offsetLeft: number;
11
11
  isVideoFile: boolean;
@@ -13,11 +13,12 @@ type State = {
13
13
  isResizing: boolean;
14
14
  size: Dimensions;
15
15
  snaps: Snap;
16
+ relativeGuides: RelativeGuides;
17
+ guidelines: GuidelineConfig[];
16
18
  };
17
19
  export declare const resizerNextTestId = "mediaSingle.resizerNext.testid";
18
20
  type ResizableMediaSingleNextProps = Props;
19
- declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSingleNextProps, State> {
20
- private guidelines;
21
+ export declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSingleNextProps, State> {
21
22
  private lastSnappedGuidelineKeys;
22
23
  constructor(props: ResizableMediaSingleNextProps);
23
24
  /**
@@ -30,10 +31,11 @@ declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSin
30
31
  componentDidUpdate(prevProps: Props): boolean;
31
32
  isNestedNode(): boolean;
32
33
  private getDefaultGuidelines;
33
- private getAllGuidelines;
34
+ private updateGuidelines;
34
35
  get wrappedLayout(): boolean;
35
36
  componentDidMount(): Promise<void>;
36
37
  UNSAFE_componentWillReceiveProps(nextProps: Props): void;
38
+ get aspectRatio(): number;
37
39
  checkVideoFile(viewMediaClientConfig?: MediaClientConfig): Promise<void>;
38
40
  calcNewSize: (newWidth: number, stop: boolean) => {
39
41
  width: number | null;
@@ -55,6 +57,7 @@ declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSin
55
57
  private setIsResizing;
56
58
  private updateSizeInPluginState;
57
59
  private calcMaxWidth;
60
+ private getRelativeGuides;
58
61
  updateActiveGuidelines: (width: number | undefined, guidelines: GuidelineConfig[], guidelineSnapsReference: GuidelineSnapsReference) => void;
59
62
  roundPixelValue: (value: number) => number;
60
63
  getHeightFromNewWidth: (originalWidth: number, originalHeight: number, newWidth: number) => number;
@@ -1,13 +1,3 @@
1
- import type { NextEditorPlugin } from '../../types';
2
- import type { ListPluginOptions } from './types';
3
- import type featureFlagsPlugin from '@atlaskit/editor-plugin-feature-flags';
4
- import type { analyticsPlugin } from '@atlaskit/editor-plugin-analytics';
5
- import type { OptionalPlugin } from '@atlaskit/editor-common/types';
6
- declare const listPlugin: NextEditorPlugin<'list', {
7
- pluginConfiguration: ListPluginOptions | undefined;
8
- dependencies: [
9
- typeof featureFlagsPlugin,
10
- OptionalPlugin<typeof analyticsPlugin>
11
- ];
12
- }>;
1
+ import type { ListPlugin } from '@atlaskit/editor-plugin-list';
2
+ declare const listPlugin: ListPlugin;
13
3
  export default listPlugin;
@@ -5,7 +5,7 @@ import type { RichMediaLayout as MediaSingleLayout } from '@atlaskit/adf-schema'
5
5
  import type { MediaClientConfig } from '@atlaskit/media-core';
6
6
  import type { Props } from './types';
7
7
  import type { Dimensions, HandleResize, HandleResizeStart, Position, Snap } from '@atlaskit/editor-common/resizer';
8
- import type { GuidelineConfig, GuidelineSnapsReference } from '@atlaskit/editor-common/guideline';
8
+ import type { GuidelineConfig, RelativeGuides, GuidelineSnapsReference } from '@atlaskit/editor-common/guideline';
9
9
  type State = {
10
10
  offsetLeft: number;
11
11
  isVideoFile: boolean;
@@ -13,11 +13,12 @@ type State = {
13
13
  isResizing: boolean;
14
14
  size: Dimensions;
15
15
  snaps: Snap;
16
+ relativeGuides: RelativeGuides;
17
+ guidelines: GuidelineConfig[];
16
18
  };
17
19
  export declare const resizerNextTestId = "mediaSingle.resizerNext.testid";
18
20
  type ResizableMediaSingleNextProps = Props;
19
- declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSingleNextProps, State> {
20
- private guidelines;
21
+ export declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSingleNextProps, State> {
21
22
  private lastSnappedGuidelineKeys;
22
23
  constructor(props: ResizableMediaSingleNextProps);
23
24
  /**
@@ -30,10 +31,11 @@ declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSin
30
31
  componentDidUpdate(prevProps: Props): boolean;
31
32
  isNestedNode(): boolean;
32
33
  private getDefaultGuidelines;
33
- private getAllGuidelines;
34
+ private updateGuidelines;
34
35
  get wrappedLayout(): boolean;
35
36
  componentDidMount(): Promise<void>;
36
37
  UNSAFE_componentWillReceiveProps(nextProps: Props): void;
38
+ get aspectRatio(): number;
37
39
  checkVideoFile(viewMediaClientConfig?: MediaClientConfig): Promise<void>;
38
40
  calcNewSize: (newWidth: number, stop: boolean) => {
39
41
  width: number | null;
@@ -55,6 +57,7 @@ declare class ResizableMediaSingleNext extends React.Component<ResizableMediaSin
55
57
  private setIsResizing;
56
58
  private updateSizeInPluginState;
57
59
  private calcMaxWidth;
60
+ private getRelativeGuides;
58
61
  updateActiveGuidelines: (width: number | undefined, guidelines: GuidelineConfig[], guidelineSnapsReference: GuidelineSnapsReference) => void;
59
62
  roundPixelValue: (value: number) => number;
60
63
  getHeightFromNewWidth: (originalWidth: number, originalHeight: number, newWidth: number) => number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-core",
3
- "version": "187.24.0",
3
+ "version": "187.24.2",
4
4
  "description": "A package contains Atlassian editor core functionality",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -48,7 +48,7 @@
48
48
  "@atlaskit/analytics-next": "^9.1.0",
49
49
  "@atlaskit/analytics-next-stable-react-context": "1.0.1",
50
50
  "@atlaskit/avatar": "^21.3.0",
51
- "@atlaskit/avatar-group": "^9.3.0",
51
+ "@atlaskit/avatar-group": "^9.4.0",
52
52
  "@atlaskit/button": "^16.9.0",
53
53
  "@atlaskit/calendar": "^13.2.0",
54
54
  "@atlaskit/checkbox": "^12.6.0",
@@ -72,6 +72,7 @@
72
72
  "@atlaskit/editor-plugin-guideline": "^0.3.4",
73
73
  "@atlaskit/editor-plugin-hyperlink": "^0.3.0",
74
74
  "@atlaskit/editor-plugin-image-upload": "^0.1.0",
75
+ "@atlaskit/editor-plugin-list": "^0.1.0",
75
76
  "@atlaskit/editor-plugin-table": "^2.9.0",
76
77
  "@atlaskit/editor-plugin-text-formatting": "^0.2.0",
77
78
  "@atlaskit/editor-plugin-width": "^0.1.0",
@@ -143,7 +144,7 @@
143
144
  "@af/editor-libra": "*",
144
145
  "@af/integration-testing": "*",
145
146
  "@atlaskit/code": "^14.6.0",
146
- "@atlaskit/collab-provider": "9.10.1",
147
+ "@atlaskit/collab-provider": "9.11.0",
147
148
  "@atlaskit/dropdown-menu": "^11.11.0",
148
149
  "@atlaskit/editor-extension-dropbox": "^0.4.0",
149
150
  "@atlaskit/editor-plugin-table": "^2.9.0",
@@ -248,6 +249,9 @@
248
249
  "type": "boolean",
249
250
  "referenceOnly": "true"
250
251
  },
252
+ "platform.editor.disable-chrome-88-selection-fix_uk53m": {
253
+ "type": "boolean"
254
+ },
251
255
  "platform.linking-platform.datasource-jira_issues": {
252
256
  "type": "boolean",
253
257
  "referenceOnly": "true"
@@ -1,5 +0,0 @@
1
- {
2
- "name": "@atlaskit/editor-core",
3
- "version": "187.24.0",
4
- "sideEffects": false
5
- }
@@ -1,5 +0,0 @@
1
- {
2
- "name": "@atlaskit/editor-core",
3
- "version": "187.24.0",
4
- "sideEffects": false
5
- }
@@ -1,5 +0,0 @@
1
- {
2
- "name": "@atlaskit/editor-core",
3
- "version": "187.24.0",
4
- "sideEffects": false
5
- }