@atlaskit/editor-core 187.41.3 → 187.41.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 (39) hide show
  1. package/CHANGELOG.md +28 -18
  2. package/dist/cjs/plugins/extension/index.js +35 -9
  3. package/dist/cjs/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +8 -15
  4. package/dist/cjs/plugins/floating-toolbar/ui/Toolbar.js +3 -2
  5. package/dist/cjs/plugins/media/styles.js +1 -1
  6. package/dist/cjs/plugins/media/toolbar/commands.js +63 -25
  7. package/dist/cjs/plugins/media/toolbar/index.js +13 -17
  8. package/dist/cjs/plugins/media/ui/PixelEntry/index.js +6 -5
  9. package/dist/cjs/plugins/media/utils/analytics.js +1 -1
  10. package/dist/cjs/version-wrapper.js +1 -1
  11. package/dist/es2019/plugins/extension/index.js +30 -4
  12. package/dist/es2019/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +8 -15
  13. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +3 -2
  14. package/dist/es2019/plugins/media/styles.js +3 -5
  15. package/dist/es2019/plugins/media/toolbar/commands.js +31 -1
  16. package/dist/es2019/plugins/media/toolbar/index.js +14 -19
  17. package/dist/es2019/plugins/media/ui/PixelEntry/index.js +6 -5
  18. package/dist/es2019/plugins/media/utils/analytics.js +1 -1
  19. package/dist/es2019/version-wrapper.js +1 -1
  20. package/dist/esm/plugins/extension/index.js +35 -9
  21. package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +8 -15
  22. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +3 -2
  23. package/dist/esm/plugins/media/styles.js +1 -1
  24. package/dist/esm/plugins/media/toolbar/commands.js +37 -1
  25. package/dist/esm/plugins/media/toolbar/index.js +14 -18
  26. package/dist/esm/plugins/media/ui/PixelEntry/index.js +6 -5
  27. package/dist/esm/plugins/media/utils/analytics.js +1 -1
  28. package/dist/esm/version-wrapper.js +1 -1
  29. package/dist/types/labs/next/presets/default.d.ts +44 -2
  30. package/dist/types/plugins/floating-toolbar/ui/ExtensionsPlaceholder.d.ts +2 -0
  31. package/dist/types/plugins/floating-toolbar/ui/Toolbar.d.ts +3 -1
  32. package/dist/types/plugins/media/toolbar/commands.d.ts +3 -1
  33. package/dist/types/plugins/media/ui/PixelEntry/types.d.ts +2 -0
  34. package/dist/types-ts4.5/labs/next/presets/default.d.ts +54 -0
  35. package/dist/types-ts4.5/plugins/floating-toolbar/ui/ExtensionsPlaceholder.d.ts +2 -0
  36. package/dist/types-ts4.5/plugins/floating-toolbar/ui/Toolbar.d.ts +3 -1
  37. package/dist/types-ts4.5/plugins/media/toolbar/commands.d.ts +3 -1
  38. package/dist/types-ts4.5/plugins/media/ui/PixelEntry/types.d.ts +2 -0
  39. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @atlaskit/editor-core
2
2
 
3
+ ## 187.41.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [`aeb5c9a01e8`](https://bitbucket.org/atlassian/atlassian-frontend/commits/aeb5c9a01e8) - Delete adf-schema from AFE and rely on npm package for adf-schema
8
+ - [`111ff4f4f1f`](https://bitbucket.org/atlassian/atlassian-frontend/commits/111ff4f4f1f) - Add input resizing event analytics
9
+ - [`da629b62ef9`](https://bitbucket.org/atlassian/atlassian-frontend/commits/da629b62ef9) - ED-19617 Refactor actions to remove createExtenstionAPI and call it instead during initialisation
10
+ - [`4b4dcfe0bba`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4b4dcfe0bba) - Delete adf-schema, use published version
11
+ - Updated dependencies
12
+
3
13
  ## 187.41.3
4
14
 
5
15
  ### Patch Changes
@@ -15081,105 +15091,105 @@ Remove applicationCard node and action mark
15081
15091
 
15082
15092
  ## 87.6.1
15083
15093
 
15084
- - [patch][bdc9961" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/bdc9961"
15094
+ - [patch][bdc9961](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/bdc9961"
15085
15095
  d):
15086
15096
 
15087
15097
  - Fixes the codeblock insert rules
15088
15098
 
15089
15099
  ## 87.6.0
15090
15100
 
15091
- - [minor][bb3336a" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/bb3336a"
15101
+ - [minor][bb3336a](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/bb3336a"
15092
15102
  d):
15093
15103
 
15094
15104
  - Make text formatting toolbar account for different item titles legnths
15095
15105
 
15096
15106
  ## 87.5.0
15097
15107
 
15098
- - [minor][d182ad9" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/d182ad9"
15108
+ - [minor][d182ad9](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/d182ad9"
15099
15109
  d):
15100
15110
 
15101
15111
  - Add <-> to ↔︎ convertion rule
15102
15112
 
15103
15113
  ## 87.4.3
15104
15114
 
15105
- - [patch][8fb4b1e" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/8fb4b1e"
15115
+ - [patch][8fb4b1e](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/8fb4b1e"
15106
15116
  d):
15107
15117
 
15108
15118
  - ED-5274 Fixes tables have excessive margin above
15109
15119
 
15110
15120
  ## 87.4.2
15111
15121
 
15112
- - [patch][4cc767e" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/4cc767e"
15122
+ - [patch][4cc767e](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/4cc767e"
15113
15123
  d):
15114
15124
 
15115
15125
  - ED-5030: Fixed gap-cursor on nodeviews in breakout mode.
15116
15126
 
15117
15127
  ## 87.4.1
15118
15128
 
15119
- - [patch][abd19cd" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/abd19cd"
15129
+ - [patch][abd19cd](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/abd19cd"
15120
15130
  d):
15121
15131
 
15122
15132
  - ED-5616: fix inline cursor navigation
15123
15133
 
15124
15134
  ## 87.4.0
15125
15135
 
15126
- - [minor][5981cec" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/5981cec"
15136
+ - [minor][5981cec](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/5981cec"
15127
15137
  d):
15128
15138
 
15129
15139
  - TypeAhead to preserve marks
15130
15140
 
15131
15141
  ## 87.3.2
15132
15142
 
15133
- - [patch][14d581b" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/14d581b"
15143
+ - [patch][14d581b](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/14d581b"
15134
15144
  d):
15135
15145
 
15136
15146
  - Disable clear formatting menu when there is no formatting
15137
15147
 
15138
15148
  ## 87.3.1
15139
15149
 
15140
- - [patch][52f5b51" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/52f5b51"
15150
+ - [patch][52f5b51](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/52f5b51"
15141
15151
  d):
15142
15152
 
15143
15153
  - ED-4366: fix text selection inside table cell on triple click
15144
15154
 
15145
15155
  ## 87.3.0
15146
15156
 
15147
- - [minor][b911028" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/b911028"
15157
+ - [minor][b911028](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/b911028"
15148
15158
  d):
15149
15159
 
15150
15160
  - Show selected color in a table contextual menu
15151
15161
 
15152
15162
  ## 87.2.0
15153
15163
 
15154
- - [minor][746c927" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/746c927"
15164
+ - [minor][746c927](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/746c927"
15155
15165
  d):
15156
15166
 
15157
15167
  - Add buffer to the bottom fullpage editor
15158
15168
 
15159
15169
  ## 87.1.13
15160
15170
 
15161
- - [patch][f3d067d" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/f3d067d"
15171
+ - [patch][f3d067d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/f3d067d"
15162
15172
  d):
15163
15173
 
15164
15174
  - Fix font size for numbered column in tables with dynamic text sizing
15165
15175
 
15166
15176
  ## 87.1.12
15167
15177
 
15168
- - [patch][534f6ab" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/534f6ab"
15178
+ - [patch][534f6ab](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/534f6ab"
15169
15179
  d):
15170
15180
 
15171
15181
  - ED-5615: Fix block element padding inside table cells.
15172
15182
 
15173
15183
  ## 87.1.11
15174
15184
 
15175
- - [patch][cb4168f" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/cb4168f"
15185
+ - [patch][cb4168f](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/cb4168f"
15176
15186
  d):
15177
15187
 
15178
15188
  - ED-5307: make text white for selected heading menu item
15179
15189
 
15180
15190
  ## 87.1.10
15181
15191
 
15182
- - [patch][db65837" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/db65837"
15192
+ - [patch][db65837](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/db65837"
15183
15193
  d):
15184
15194
 
15185
15195
  - ED-3762: fix setting text cursor when clicking on editor gutter
@@ -15192,7 +15202,7 @@ Remove applicationCard node and action mark
15192
15202
 
15193
15203
  ## 87.1.8
15194
15204
 
15195
- - [patch][3c505aa" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/3c505aa"
15205
+ - [patch][3c505aa](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/3c505aa"
15196
15206
  d):
15197
15207
 
15198
15208
  - Adds Danish and Romanian translations
@@ -15205,14 +15215,14 @@ Remove applicationCard node and action mark
15205
15215
 
15206
15216
  ## 87.1.6
15207
15217
 
15208
- - [patch][6201223" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/6201223"
15218
+ - [patch][6201223](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/6201223"
15209
15219
  d):
15210
15220
 
15211
15221
  - Add examples.
15212
15222
 
15213
15223
  ## 87.1.5
15214
15224
 
15215
- - [patch][1662ae0" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/1662ae0"
15225
+ - [patch][1662ae0](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/1662ae0"
15216
15226
  d):
15217
15227
 
15218
15228
  - ED-5440 convert sections to use percentages
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _adfSchema = require("@atlaskit/adf-schema");
9
+ var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
9
10
  var _main = require("./pm-plugins/main");
10
11
  var _keymap = _interopRequireDefault(require("./pm-plugins/keymap"));
11
12
  var _uniqueId = require("./pm-plugins/unique-id");
@@ -13,11 +14,16 @@ var _toolbar = require("./toolbar");
13
14
  var _contextPanel = require("./context-panel");
14
15
  var _extensionApi = require("./extension-api");
15
16
  var extensionPlugin = function extensionPlugin(_ref) {
16
- var _api$featureFlags, _api$contextPanel2, _api$contextPanel3;
17
+ var _api$featureFlags, _api$contextPanel3, _api$contextPanel4;
17
18
  var _ref$config = _ref.config,
18
19
  options = _ref$config === void 0 ? {} : _ref$config,
19
- api = _ref.api;
20
- var featureFlags = (api === null || api === void 0 ? void 0 : (_api$featureFlags = api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {};
20
+ _api = _ref.api;
21
+ var featureFlags = (_api === null || _api === void 0 ? void 0 : (_api$featureFlags = _api.featureFlags) === null || _api$featureFlags === void 0 ? void 0 : _api$featureFlags.sharedState.currentState()) || {};
22
+ //Note: This is a hack to get the editor view reference in the plugin. Copied from table plugin.
23
+ //This is needed to get the current selection in the editor
24
+ var editorViewRef = {
25
+ current: null
26
+ };
21
27
  return {
22
28
  name: 'extension',
23
29
  nodes: function nodes() {
@@ -41,7 +47,7 @@ var extensionPlugin = function extensionPlugin(_ref) {
41
47
  portalProviderAPI = _ref2.portalProviderAPI,
42
48
  eventDispatcher = _ref2.eventDispatcher;
43
49
  var extensionHandlers = options.extensionHandlers || {};
44
- return (0, _main.createPlugin)(dispatch, providerFactory, extensionHandlers, portalProviderAPI, eventDispatcher, api, options.useLongPressSelection, {
50
+ return (0, _main.createPlugin)(dispatch, providerFactory, extensionHandlers, portalProviderAPI, eventDispatcher, _api, options.useLongPressSelection, {
45
51
  appearance: options.appearance
46
52
  });
47
53
  }
@@ -49,25 +55,45 @@ var extensionPlugin = function extensionPlugin(_ref) {
49
55
  name: 'extensionKeymap',
50
56
  plugin: function plugin() {
51
57
  var _api$contextPanel;
52
- return (0, _keymap.default)(api === null || api === void 0 ? void 0 : (_api$contextPanel = api.contextPanel) === null || _api$contextPanel === void 0 ? void 0 : _api$contextPanel.actions.applyChange);
58
+ return (0, _keymap.default)(_api === null || _api === void 0 ? void 0 : (_api$contextPanel = _api.contextPanel) === null || _api$contextPanel === void 0 ? void 0 : _api$contextPanel.actions.applyChange);
53
59
  }
54
60
  }, {
55
61
  name: 'extensionUniqueId',
56
62
  plugin: function plugin() {
57
63
  return (0, _uniqueId.createPlugin)();
58
64
  }
65
+ }, {
66
+ name: 'extensionEditorViewRef',
67
+ plugin: function plugin() {
68
+ return new _safePlugin.SafePlugin({
69
+ view: function view(editorView) {
70
+ editorViewRef.current = editorView;
71
+ return {
72
+ destroy: function destroy() {
73
+ editorViewRef.current = null;
74
+ }
75
+ };
76
+ }
77
+ });
78
+ }
59
79
  }];
60
80
  },
61
81
  actions: {
62
- createExtensionAPI: _extensionApi.createExtensionAPI
82
+ api: function api() {
83
+ var _api$contextPanel2;
84
+ return (0, _extensionApi.createExtensionAPI)({
85
+ editorView: editorViewRef.current,
86
+ applyChange: _api === null || _api === void 0 ? void 0 : (_api$contextPanel2 = _api.contextPanel) === null || _api$contextPanel2 === void 0 ? void 0 : _api$contextPanel2.actions.applyChange
87
+ });
88
+ }
63
89
  },
64
90
  pluginsOptions: {
65
91
  floatingToolbar: (0, _toolbar.getToolbarConfig)({
66
92
  breakoutEnabled: options.breakoutEnabled,
67
- hoverDecoration: api === null || api === void 0 ? void 0 : api.decorations.actions.hoverDecoration,
68
- applyChangeToContextPanel: api === null || api === void 0 ? void 0 : (_api$contextPanel2 = api.contextPanel) === null || _api$contextPanel2 === void 0 ? void 0 : _api$contextPanel2.actions.applyChange
93
+ hoverDecoration: _api === null || _api === void 0 ? void 0 : _api.decorations.actions.hoverDecoration,
94
+ applyChangeToContextPanel: _api === null || _api === void 0 ? void 0 : (_api$contextPanel3 = _api.contextPanel) === null || _api$contextPanel3 === void 0 ? void 0 : _api$contextPanel3.actions.applyChange
69
95
  }),
70
- contextPanel: (0, _contextPanel.getContextPanel)(options.allowAutoSave, featureFlags, api === null || api === void 0 ? void 0 : (_api$contextPanel3 = api.contextPanel) === null || _api$contextPanel3 === void 0 ? void 0 : _api$contextPanel3.actions.applyChange)
96
+ contextPanel: (0, _contextPanel.getContextPanel)(options.allowAutoSave, featureFlags, _api === null || _api === void 0 ? void 0 : (_api$contextPanel4 = _api.contextPanel) === null || _api$contextPanel4 === void 0 ? void 0 : _api$contextPanel4.actions.applyChange)
71
97
  }
72
98
  };
73
99
  };
@@ -14,7 +14,6 @@ var _reactLoadable = _interopRequireDefault(require("react-loadable"));
14
14
  var _extensions = require("@atlaskit/editor-common/extensions");
15
15
  var _buttonGroup = _interopRequireDefault(require("@atlaskit/button/button-group"));
16
16
  var _utils = require("../../../utils");
17
- var _extensionApi = require("../../extension/extension-api");
18
17
  var _ui = require("@atlaskit/editor-common/ui");
19
18
  var _Separator = _interopRequireDefault(require("./Separator"));
20
19
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
@@ -55,8 +54,7 @@ var resolveExtensionIcon = /*#__PURE__*/function () {
55
54
  var ExtensionButton = function ExtensionButton(props) {
56
55
  var item = props.item,
57
56
  node = props.node,
58
- editorView = props.editorView,
59
- applyChangeToContextPanel = props.applyChangeToContextPanel;
57
+ extensionApi = props.extensionApi;
60
58
  var ButtonIcon = _react.default.useMemo(function () {
61
59
  return item.icon ? (0, _reactLoadable.default)({
62
60
  loader: function () {
@@ -84,11 +82,7 @@ var ExtensionButton = function ExtensionButton(props) {
84
82
  throw new Error("'action' of context toolbar item '".concat(item.key, "' is not a function"));
85
83
  }
86
84
  var targetNodeAdf = (0, _utils.nodeToJSON)(node);
87
- var api = (0, _extensionApi.createExtensionAPI)({
88
- editorView: editorView,
89
- applyChange: applyChangeToContextPanel
90
- });
91
- item.action(targetNodeAdf, api);
85
+ item.action(targetNodeAdf, extensionApi);
92
86
  };
93
87
  return /*#__PURE__*/_react.default.createElement(_ui.FloatingToolbarButton, {
94
88
  title: item.label,
@@ -106,7 +100,8 @@ var ExtensionsPlaceholder = function ExtensionsPlaceholder(props) {
106
100
  editorView = props.editorView,
107
101
  extensionProvider = props.extensionProvider,
108
102
  separator = props.separator,
109
- applyChangeToContextPanel = props.applyChangeToContextPanel;
103
+ applyChangeToContextPanel = props.applyChangeToContextPanel,
104
+ extensionApi = props.extensionApi;
110
105
  var _useState = (0, _react.useState)([]),
111
106
  _useState2 = (0, _slicedToArray2.default)(_useState, 2),
112
107
  extensions = _useState2[0],
@@ -150,11 +145,8 @@ var ExtensionsPlaceholder = function ExtensionsPlaceholder(props) {
150
145
  return (0, _utils.nodeToJSON)(node);
151
146
  }, [node]);
152
147
  var extensionItems = _react.default.useMemo(function () {
153
- return (0, _extensions.getContextualToolbarItemsFromModule)(extensions, nodeAdf, (0, _extensionApi.createExtensionAPI)({
154
- editorView: editorView,
155
- applyChange: applyChangeToContextPanel
156
- }));
157
- }, [extensions, nodeAdf, editorView, applyChangeToContextPanel]);
148
+ return (0, _extensions.getContextualToolbarItemsFromModule)(extensions, nodeAdf, extensionApi);
149
+ }, [extensions, nodeAdf, extensionApi]);
158
150
  if (!extensionItems.length) {
159
151
  return null;
160
152
  }
@@ -170,7 +162,8 @@ var ExtensionsPlaceholder = function ExtensionsPlaceholder(props) {
170
162
  node: node,
171
163
  item: item,
172
164
  editorView: editorView,
173
- applyChangeToContextPanel: applyChangeToContextPanel
165
+ applyChangeToContextPanel: applyChangeToContextPanel,
166
+ extensionApi: extensionApi
174
167
  }));
175
168
  if (index < extensionItems.length - 1) {
176
169
  children.push( /*#__PURE__*/_react.default.createElement(_Separator.default, null));
@@ -69,7 +69,7 @@ var ToolbarItems = /*#__PURE__*/_react.default.memo(function (_ref) {
69
69
  return (0, _react2.jsx)(_buttonGroup.default, null, items.filter(function (item) {
70
70
  return !item.hidden;
71
71
  }).map(function (item, idx) {
72
- var _api$contextPanel;
72
+ var _api$contextPanel, _api$extension;
73
73
  switch (item.type) {
74
74
  case 'button':
75
75
  var ButtonIcon = item.icon;
@@ -241,7 +241,8 @@ var ToolbarItems = /*#__PURE__*/_react.default.memo(function (_ref) {
241
241
  editorView: editorView,
242
242
  extensionProvider: extensionsProvider,
243
243
  separator: item.separator,
244
- applyChangeToContextPanel: api === null || api === void 0 ? void 0 : (_api$contextPanel = api.contextPanel) === null || _api$contextPanel === void 0 ? void 0 : _api$contextPanel.actions.applyChange
244
+ applyChangeToContextPanel: api === null || api === void 0 ? void 0 : (_api$contextPanel = api.contextPanel) === null || _api$contextPanel === void 0 ? void 0 : _api$contextPanel.actions.applyChange,
245
+ extensionApi: api === null || api === void 0 ? void 0 : (_api$extension = api.extension) === null || _api$extension === void 0 ? void 0 : _api$extension.actions.api()
245
246
  });
246
247
  case 'separator':
247
248
  return (0, _react2.jsx)(_Separator.default, {
@@ -12,7 +12,7 @@ var _editorSharedStyles = require("@atlaskit/editor-shared-styles");
12
12
  var _colors = require("@atlaskit/theme/colors");
13
13
  var _mediaCard = require("@atlaskit/media-card");
14
14
  var _templateObject;
15
- var mediaStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .ProseMirror {\n ", " & [layout='full-width'] .", ",\n & [layout='wide'] .", " {\n margin-left: 50%;\n transform: translateX(-50%);\n }\n\n .media-extended-resize-experience[layout^='wrap-'] {\n // override 'overflow: auto' when viewport <= 410 set by mediaSingleSharedStyle\n // to prevent scroll bar\n overflow: visible !important;\n }\n\n & [layout^='wrap-'] + [layout^='wrap-'] {\n clear: none;\n & + p,\n & + div[class^='fabric-editor-align'],\n & + ul,\n & + ol,\n & + h1,\n & + h2,\n & + h3,\n & + h4,\n & + h5,\n & + h6 {\n clear: both !important;\n }\n & .", " {\n margin-left: 0;\n margin-right: 0;\n }\n }\n\n .mediaSingleView-content-wrap[layout^='wrap-'] {\n max-width: 100%;\n // overwrite default Prosemirror setting making it clear: both\n clear: inherit;\n }\n\n .mediaSingleView-content-wrap[layout='wrap-left'] {\n float: left;\n }\n\n .mediaSingleView-content-wrap[layout='wrap-right'] {\n float: right;\n }\n\n .mediaSingleView-content-wrap[layout='wrap-right']\n + .mediaSingleView-content-wrap[layout='wrap-left'] {\n clear: both;\n }\n\n /* Larger margins for resize handlers when at depth 0 of the document */\n & > .mediaSingleView-content-wrap {\n .richMedia-resize-handle-right {\n margin-right: -", "px;\n }\n .richMedia-resize-handle-left {\n margin-left: -", "px;\n }\n }\n }\n\n .richMedia-resize-handle-right,\n .richMedia-resize-handle-left {\n display: flex;\n flex-direction: column;\n\n /* vertical align */\n justify-content: center;\n }\n\n .richMedia-resize-handle-right {\n align-items: flex-end;\n padding-right: ", ";\n margin-right: -", "px;\n }\n\n .richMedia-resize-handle-left {\n align-items: flex-start;\n padding-left: ", ";\n margin-left: -", "px;\n }\n\n .richMedia-resize-handle-right::after,\n .richMedia-resize-handle-left::after {\n content: ' ';\n display: flex;\n width: 3px;\n height: 64px;\n\n border-radius: 6px;\n }\n\n .", ":hover .richMedia-resize-handle-left::after,\n .", ":hover .richMedia-resize-handle-right::after {\n background: ", ";\n }\n\n .", " .richMedia-resize-handle-right::after,\n .", " .richMedia-resize-handle-left::after,\n .", " .richMedia-resize-handle-right:hover::after,\n .", " .richMedia-resize-handle-left:hover::after,\n .", ".is-resizing .richMedia-resize-handle-right::after,\n .", ".is-resizing .richMedia-resize-handle-left::after {\n background: ", ";\n }\n\n .__resizable_base__ {\n left: unset !important;\n width: auto !important;\n height: auto !important;\n }\n\n /* Danger when top level node for smart cards / inline links */\n .danger > div > div > .media-card-frame,\n .danger > span > a {\n background-color: ", ";\n box-shadow: 0px 0px 0px ", "px\n ", ";\n transition: background-color 0s, box-shadow 0s;\n }\n /* Danger when nested node or common */\n .danger {\n /* Media single */\n .", " .", "::after {\n border: 1px solid ", ";\n }\n /* Media single video player */\n .", " .", "::after {\n border: 1px solid ", ";\n }\n /* New file experience */\n .", " .", " {\n box-shadow: 0 0 0 1px\n ", " !important;\n }\n /* Media resize handlers */\n .richMedia-resize-handle-right::after,\n .richMedia-resize-handle-left::after {\n background: ", ";\n }\n\n /* Smart cards */\n div div .media-card-frame,\n .inlineCardView-content-wrap > span > a {\n background-color: ", "; /* R75 with 50% opactiy */\n transition: background-color 0s;\n }\n\n div div .media-card-frame::after {\n box-shadow: none;\n }\n }\n\n .warning {\n /* Media single */\n .", " .", "::after {\n border: 1px solid ", ";\n }\n\n .", " .", "::after {\n border: 1px solid ", ";\n }\n\n .", " .", " {\n box-shadow: 0 0 0 1px ", " !important;\n }\n\n .resizer-handle-left::after,\n .resizer-handle-right::after {\n background: ", " !important;\n }\n }\n"])), _styles.mediaSingleSharedStyle, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _editorSharedStyles.akEditorMediaResizeHandlerPaddingWide, _editorSharedStyles.akEditorMediaResizeHandlerPaddingWide, "var(--ds-space-150, 12px)", _editorSharedStyles.akEditorMediaResizeHandlerPadding, "var(--ds-space-150, 12px)", _editorSharedStyles.akEditorMediaResizeHandlerPadding, _styles.richMediaClassName, _styles.richMediaClassName, "var(--ds-border, ".concat(_colors.N60, ")"), _editorSharedStyles.akEditorSelectedNodeClassName, _editorSharedStyles.akEditorSelectedNodeClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), "var(--ds-background-danger, ".concat(_editorSharedStyles.akEditorDeleteBackground, ")"), _editorSharedStyles.akEditorSelectedBorderBoldSize, "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteBorder, ")"), _styles.richMediaClassName, _mediaCard.fileCardImageViewSelector, "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteIconColor, ")"), _styles.richMediaClassName, _mediaCard.inlinePlayerClassName, "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteIconColor, ")"), _styles.richMediaClassName, _mediaCard.newFileExperienceClassName, "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteIconColor, ")"), "var(--ds-icon-danger, ".concat(_editorSharedStyles.akEditorDeleteIconColor, ")"), "var(--ds-blanket-danger, rgb(255, 189, 173, 0.5))", _styles.richMediaClassName, _mediaCard.fileCardImageViewSelector, "var(--ds-border-warning, ".concat(_colors.Y500, ")"), _styles.richMediaClassName, _mediaCard.inlinePlayerClassName, "var(--ds-border-warning, ".concat(_colors.Y500, ")"), _styles.richMediaClassName, _mediaCard.newFileExperienceClassName, "var(--ds-border-warning, ".concat(_colors.Y500, ")"), "var(--ds-icon-warning, ".concat(_colors.Y500, ")"));
15
+ var mediaStyles = (0, _react.css)(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n .ProseMirror {\n ", " & [layout='full-width'] .", ",\n & [layout='wide'] .", " {\n margin-left: 50%;\n transform: translateX(-50%);\n }\n\n .media-extended-resize-experience[layout^='wrap-'] {\n // override 'overflow: auto' when viewport <= 410 set by mediaSingleSharedStyle\n // to prevent scroll bar\n overflow: visible !important;\n }\n\n & [layout^='wrap-'] + [layout^='wrap-'] {\n clear: none;\n & + p,\n & + div[class^='fabric-editor-align'],\n & + ul,\n & + ol,\n & + h1,\n & + h2,\n & + h3,\n & + h4,\n & + h5,\n & + h6 {\n clear: both !important;\n }\n & .", " {\n margin-left: 0;\n margin-right: 0;\n }\n }\n\n .mediaSingleView-content-wrap[layout^='wrap-'] {\n max-width: 100%;\n // overwrite default Prosemirror setting making it clear: both\n clear: inherit;\n }\n\n .mediaSingleView-content-wrap[layout='wrap-left'] {\n float: left;\n }\n\n .mediaSingleView-content-wrap[layout='wrap-right'] {\n float: right;\n }\n\n .mediaSingleView-content-wrap[layout='wrap-right']\n + .mediaSingleView-content-wrap[layout='wrap-left'] {\n clear: both;\n }\n\n /* Larger margins for resize handlers when at depth 0 of the document */\n & > .mediaSingleView-content-wrap {\n .richMedia-resize-handle-right {\n margin-right: -", "px;\n }\n .richMedia-resize-handle-left {\n margin-left: -", "px;\n }\n }\n }\n\n .richMedia-resize-handle-right,\n .richMedia-resize-handle-left {\n display: flex;\n flex-direction: column;\n\n /* vertical align */\n justify-content: center;\n }\n\n .richMedia-resize-handle-right {\n align-items: flex-end;\n padding-right: ", ";\n margin-right: -", "px;\n }\n\n .richMedia-resize-handle-left {\n align-items: flex-start;\n padding-left: ", ";\n margin-left: -", "px;\n }\n\n .richMedia-resize-handle-right::after,\n .richMedia-resize-handle-left::after {\n content: ' ';\n display: flex;\n width: 3px;\n height: 64px;\n\n border-radius: 6px;\n }\n\n .", ":hover .richMedia-resize-handle-left::after,\n .", ":hover .richMedia-resize-handle-right::after {\n background: ", ";\n }\n\n .", " .richMedia-resize-handle-right::after,\n .", " .richMedia-resize-handle-left::after,\n .", " .richMedia-resize-handle-right:hover::after,\n .", " .richMedia-resize-handle-left:hover::after,\n .", ".is-resizing .richMedia-resize-handle-right::after,\n .", ".is-resizing .richMedia-resize-handle-left::after {\n background: ", ";\n }\n\n .__resizable_base__ {\n left: unset !important;\n width: auto !important;\n height: auto !important;\n }\n\n /* Danger when top level node for smart cards / inline links */\n .danger > div > div > .media-card-frame,\n .danger > span > a {\n background-color: ", ";\n box-shadow: 0px 0px 0px ", "px\n ", ";\n transition: background-color 0s, box-shadow 0s;\n }\n /* Danger when nested node or common */\n .danger {\n /* Media single */\n .", " .", "::after {\n border: 1px solid ", ";\n }\n /* Media single video player */\n .", " .", "::after {\n border: 1px solid ", ";\n }\n /* New file experience */\n .", " .", " {\n box-shadow: 0 0 0 1px\n ", " !important;\n }\n /* Media resize handlers */\n .resizer-handle-thumb {\n background: ", " !important;\n }\n\n /* Smart cards */\n div div .media-card-frame,\n .inlineCardView-content-wrap > span > a {\n background-color: ", "; /* R75 with 50% opactiy */\n transition: background-color 0s;\n }\n\n div div .media-card-frame::after {\n box-shadow: none;\n }\n }\n\n .warning {\n /* Media single */\n .", " .", "::after {\n border: 1px solid ", ";\n }\n\n .", " .", "::after {\n border: 1px solid ", ";\n }\n\n .", " .", " {\n box-shadow: 0 0 0 1px ", " !important;\n }\n\n .resizer-handle-thumb {\n background: ", " !important;\n }\n }\n"])), _styles.mediaSingleSharedStyle, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _editorSharedStyles.akEditorMediaResizeHandlerPaddingWide, _editorSharedStyles.akEditorMediaResizeHandlerPaddingWide, "var(--ds-space-150, 12px)", _editorSharedStyles.akEditorMediaResizeHandlerPadding, "var(--ds-space-150, 12px)", _editorSharedStyles.akEditorMediaResizeHandlerPadding, _styles.richMediaClassName, _styles.richMediaClassName, "var(--ds-border, ".concat(_colors.N60, ")"), _editorSharedStyles.akEditorSelectedNodeClassName, _editorSharedStyles.akEditorSelectedNodeClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, _styles.richMediaClassName, "var(--ds-border-focused, ".concat(_colors.B200, ")"), "var(--ds-background-danger, ".concat(_editorSharedStyles.akEditorDeleteBackground, ")"), _editorSharedStyles.akEditorSelectedBorderBoldSize, "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteBorder, ")"), _styles.richMediaClassName, _mediaCard.fileCardImageViewSelector, "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteIconColor, ")"), _styles.richMediaClassName, _mediaCard.inlinePlayerClassName, "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteIconColor, ")"), _styles.richMediaClassName, _mediaCard.newFileExperienceClassName, "var(--ds-border-danger, ".concat(_editorSharedStyles.akEditorDeleteIconColor, ")"), "var(--ds-icon-danger, ".concat(_editorSharedStyles.akEditorDeleteIconColor, ")"), "var(--ds-blanket-danger, rgb(255, 189, 173, 0.5))", _styles.richMediaClassName, _mediaCard.fileCardImageViewSelector, "var(--ds-border-warning, ".concat(_colors.Y500, ")"), _styles.richMediaClassName, _mediaCard.inlinePlayerClassName, "var(--ds-border-warning, ".concat(_colors.Y500, ")"), _styles.richMediaClassName, _mediaCard.newFileExperienceClassName, "var(--ds-border-warning, ".concat(_colors.Y500, ")"), "var(--ds-icon-warning, ".concat(_colors.Y500, ")"));
16
16
 
17
17
  /* `left: unset` above is to work around Chrome bug where rendering a div with
18
18
  * that style applied inside a container that has a scroll, causes any svgs on
@@ -1,15 +1,20 @@
1
1
  "use strict";
2
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
3
4
  Object.defineProperty(exports, "__esModule", {
4
5
  value: true
5
6
  });
6
- exports.toggleBorderMark = exports.setBorderMark = exports.removeInlineCard = exports.changeMediaCardToInline = exports.changeInlineToMediaCard = exports.DEFAULT_BORDER_SIZE = exports.DEFAULT_BORDER_COLOR = void 0;
7
+ exports.updateMediaSingleWidth = exports.toggleBorderMark = exports.setBorderMark = exports.removeInlineCard = exports.changeMediaCardToInline = exports.changeInlineToMediaCard = exports.DEFAULT_BORDER_SIZE = exports.DEFAULT_BORDER_COLOR = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
9
  var _model = require("@atlaskit/editor-prosemirror/model");
8
10
  var _state = require("@atlaskit/editor-prosemirror/state");
9
11
  var _utils = require("@atlaskit/editor-prosemirror/utils");
10
- var _analytics = require("@atlaskit/editor-common/analytics");
12
+ var _analytics = require("../utils/analytics");
13
+ var _analytics2 = require("@atlaskit/editor-common/analytics");
11
14
  var _utils2 = require("./utils");
12
15
  var _currentMediaNode = require("../utils/current-media-node");
16
+ 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; }
17
+ 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) { (0, _defineProperty2.default)(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; }
13
18
  var DEFAULT_BORDER_COLOR = '#091e4224';
14
19
  exports.DEFAULT_BORDER_COLOR = DEFAULT_BORDER_COLOR;
15
20
  var DEFAULT_BORDER_SIZE = 2;
@@ -40,12 +45,12 @@ var changeInlineToMediaCard = function changeInlineToMediaCard(editorAnalyticsAP
40
45
  tr = (0, _utils.safeInsert)(group, nodePos, true)(tr);
41
46
  if (dispatch) {
42
47
  editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
43
- action: _analytics.ACTION.CHANGED_TYPE,
44
- actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
45
- eventType: _analytics.EVENT_TYPE.TRACK,
48
+ action: _analytics2.ACTION.CHANGED_TYPE,
49
+ actionSubject: _analytics2.ACTION_SUBJECT.MEDIA,
50
+ eventType: _analytics2.EVENT_TYPE.TRACK,
46
51
  attributes: {
47
- newType: _analytics.ACTION_SUBJECT_ID.MEDIA_GROUP,
48
- previousType: _analytics.ACTION_SUBJECT_ID.MEDIA_INLINE
52
+ newType: _analytics2.ACTION_SUBJECT_ID.MEDIA_GROUP,
53
+ previousType: _analytics2.ACTION_SUBJECT_ID.MEDIA_INLINE
49
54
  }
50
55
  })(tr);
51
56
  dispatch(tr);
@@ -78,12 +83,12 @@ var changeMediaCardToInline = function changeMediaCardToInline(editorAnalyticsAP
78
83
  tr = (0, _utils.safeInsert)(node, nodePos, true)(tr);
79
84
  if (dispatch) {
80
85
  editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
81
- action: _analytics.ACTION.CHANGED_TYPE,
82
- actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
83
- eventType: _analytics.EVENT_TYPE.TRACK,
86
+ action: _analytics2.ACTION.CHANGED_TYPE,
87
+ actionSubject: _analytics2.ACTION_SUBJECT.MEDIA,
88
+ eventType: _analytics2.EVENT_TYPE.TRACK,
84
89
  attributes: {
85
- newType: _analytics.ACTION_SUBJECT_ID.MEDIA_INLINE,
86
- previousType: _analytics.ACTION_SUBJECT_ID.MEDIA_GROUP
90
+ newType: _analytics2.ACTION_SUBJECT_ID.MEDIA_INLINE,
91
+ previousType: _analytics2.ACTION_SUBJECT_ID.MEDIA_GROUP
87
92
  }
88
93
  })(tr);
89
94
  dispatch(tr);
@@ -129,10 +134,10 @@ var toggleBorderMark = function toggleBorderMark(editorAnalyticsAPI) {
129
134
  if (dispatch) {
130
135
  if (borderMark !== null && borderMark !== void 0 && borderMark.attrs) {
131
136
  editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
132
- action: _analytics.ACTION.DELETED,
133
- actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
134
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.BORDER,
135
- eventType: _analytics.EVENT_TYPE.TRACK,
137
+ action: _analytics2.ACTION.DELETED,
138
+ actionSubject: _analytics2.ACTION_SUBJECT.MEDIA,
139
+ actionSubjectId: _analytics2.ACTION_SUBJECT_ID.BORDER,
140
+ eventType: _analytics2.EVENT_TYPE.TRACK,
136
141
  attributes: {
137
142
  previousColor: borderMark.attrs.color,
138
143
  previousSize: borderMark.attrs.size
@@ -140,10 +145,10 @@ var toggleBorderMark = function toggleBorderMark(editorAnalyticsAPI) {
140
145
  })(tr);
141
146
  } else {
142
147
  editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
143
- action: _analytics.ACTION.ADDED,
144
- actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
145
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.BORDER,
146
- eventType: _analytics.EVENT_TYPE.TRACK,
148
+ action: _analytics2.ACTION.ADDED,
149
+ actionSubject: _analytics2.ACTION_SUBJECT.MEDIA,
150
+ actionSubjectId: _analytics2.ACTION_SUBJECT_ID.BORDER,
151
+ eventType: _analytics2.EVENT_TYPE.TRACK,
147
152
  attributes: {
148
153
  color: DEFAULT_BORDER_COLOR,
149
154
  size: DEFAULT_BORDER_SIZE
@@ -186,10 +191,10 @@ var setBorderMark = function setBorderMark(editorAnalyticsAPI) {
186
191
  }
187
192
  if (dispatch) {
188
193
  editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent({
189
- action: _analytics.ACTION.UPDATED,
190
- actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
191
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.BORDER,
192
- eventType: _analytics.EVENT_TYPE.TRACK,
194
+ action: _analytics2.ACTION.UPDATED,
195
+ actionSubject: _analytics2.ACTION_SUBJECT.MEDIA,
196
+ actionSubjectId: _analytics2.ACTION_SUBJECT_ID.BORDER,
197
+ eventType: _analytics2.EVENT_TYPE.TRACK,
193
198
  attributes: {
194
199
  previousColor: borderMark === null || borderMark === void 0 ? void 0 : borderMark.color,
195
200
  previousSize: borderMark === null || borderMark === void 0 ? void 0 : borderMark.size,
@@ -203,4 +208,37 @@ var setBorderMark = function setBorderMark(editorAnalyticsAPI) {
203
208
  };
204
209
  };
205
210
  };
206
- exports.setBorderMark = setBorderMark;
211
+ exports.setBorderMark = setBorderMark;
212
+ var updateMediaSingleWidth = function updateMediaSingleWidth(editorAnalyticsAPI) {
213
+ return function (width, validation, layout) {
214
+ return function (state, dispatch) {
215
+ var selectedMediaSingleNode = (0, _utils2.getSelectedMediaSingle)(state);
216
+ if (!selectedMediaSingleNode) {
217
+ return false;
218
+ }
219
+ var tr = state.tr.setNodeMarkup(selectedMediaSingleNode.pos, undefined, _objectSpread(_objectSpread({}, selectedMediaSingleNode.node.attrs), {}, {
220
+ width: width,
221
+ widthType: 'pixel',
222
+ layout: layout
223
+ }));
224
+ tr.setMeta('scrollIntoView', false);
225
+ tr.setSelection(_state.NodeSelection.create(tr.doc, selectedMediaSingleNode.pos));
226
+ var $pos = state.doc.resolve(selectedMediaSingleNode.pos);
227
+ var parentNodeType = $pos ? $pos.parent.type.name : undefined;
228
+ var payload = (0, _analytics.getMediaInputResizeAnalyticsEvent)('mediaSingle', {
229
+ width: width,
230
+ layout: layout,
231
+ validation: validation,
232
+ parentNode: parentNodeType
233
+ });
234
+ if (payload) {
235
+ editorAnalyticsAPI === null || editorAnalyticsAPI === void 0 ? void 0 : editorAnalyticsAPI.attachAnalyticsEvent(payload)(tr);
236
+ }
237
+ if (dispatch) {
238
+ dispatch(tr);
239
+ }
240
+ return true;
241
+ };
242
+ };
243
+ };
244
+ exports.updateMediaSingleWidth = updateMediaSingleWidth;
@@ -312,15 +312,11 @@ var generateMediaSingleFloatingToolbar = function generateMediaSingleFloatingToo
312
312
  }
313
313
  },
314
314
  onSubmit: function onSubmit(_ref2) {
315
- var width = _ref2.width;
316
- var tr = state.tr.setNodeMarkup(selectedMediaSingleNode.pos, undefined, _objectSpread(_objectSpread({}, selectedMediaSingleNode.node.attrs), {}, {
317
- width: width,
318
- widthType: 'pixel',
319
- layout: (0, _utils2.calcNewLayout)(width, layout, contentWidth, options.fullWidthEnabled)
320
- }));
321
- tr.setMeta('scrollIntoView', false);
322
- tr.setSelection(_state2.NodeSelection.create(tr.doc, selectedMediaSingleNode.pos));
323
- dispatch(tr);
315
+ var _pluginInjectionApi$a4;
316
+ var width = _ref2.width,
317
+ validation = _ref2.validation;
318
+ var newLayout = (0, _utils2.calcNewLayout)(width, layout, contentWidth, options.fullWidthEnabled);
319
+ (0, _commands.updateMediaSingleWidth)(pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a4 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a4 === void 0 ? void 0 : _pluginInjectionApi$a4.actions)(width, validation, newLayout)(state, dispatch);
324
320
  },
325
321
  onMigrate: function onMigrate() {
326
322
  var tr = state.tr.setNodeMarkup(selectedMediaSingleNode.pos, undefined, _objectSpread(_objectSpread({}, selectedMediaSingleNode.node.attrs), {}, {
@@ -375,10 +371,10 @@ var generateMediaSingleFloatingToolbar = function generateMediaSingleFloatingToo
375
371
  };
376
372
  var openLink = function openLink() {
377
373
  if (editorView) {
378
- var _pluginInjectionApi$a4;
374
+ var _pluginInjectionApi$a5;
379
375
  var tr = editorView.state.tr,
380
376
  dispatch = editorView.dispatch;
381
- pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a4 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a4 === void 0 ? void 0 : _pluginInjectionApi$a4.actions.attachAnalyticsEvent({
377
+ pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a5 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a5 === void 0 ? void 0 : _pluginInjectionApi$a5.actions.attachAnalyticsEvent({
382
378
  eventType: _analytics.EVENT_TYPE.TRACK,
383
379
  action: _analytics.ACTION.VISITED,
384
380
  actionSubject: _analytics.ACTION_SUBJECT.MEDIA,
@@ -404,8 +400,8 @@ var generateMediaSingleFloatingToolbar = function generateMediaSingleFloatingToo
404
400
  }
405
401
  }
406
402
  if (allowAltTextOnImages) {
407
- var _pluginInjectionApi$a5;
408
- toolbarButtons.push((0, _altText2.altTextButton)(intl, state, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a5 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a5 === void 0 ? void 0 : _pluginInjectionApi$a5.actions), {
403
+ var _pluginInjectionApi$a6;
404
+ toolbarButtons.push((0, _altText2.altTextButton)(intl, state, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a6 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a6 === void 0 ? void 0 : _pluginInjectionApi$a6.actions), {
409
405
  type: 'separator'
410
406
  });
411
407
  }
@@ -489,22 +485,22 @@ var floatingToolbar = function floatingToolbar(state, intl) {
489
485
  selectedNodeType = state.selection.node.type;
490
486
  }
491
487
  if (allowMediaInline && (parentMediaGroupNode === null || parentMediaGroupNode === void 0 ? void 0 : parentMediaGroupNode.node.type) === mediaGroup) {
492
- var _pluginInjectionApi$a6;
488
+ var _pluginInjectionApi$a7;
493
489
  var mediaOffset = state.selection.$from.parentOffset + 1;
494
490
  baseToolbar.getDomRef = function () {
495
491
  var _mediaPluginState$ele;
496
492
  var selector = (0, _mediaFilmstrip.mediaFilmstripItemDOMSelector)(mediaOffset);
497
493
  return (_mediaPluginState$ele = mediaPluginState.element) === null || _mediaPluginState$ele === void 0 ? void 0 : _mediaPluginState$ele.querySelector(selector);
498
494
  };
499
- items = generateMediaCardFloatingToolbar(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a6 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a6 === void 0 ? void 0 : _pluginInjectionApi$a6.actions);
495
+ items = generateMediaCardFloatingToolbar(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a7 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a7 === void 0 ? void 0 : _pluginInjectionApi$a7.actions);
500
496
  } else if (allowMediaInline && selectedNodeType && selectedNodeType === mediaInline) {
501
- var _pluginInjectionApi$a7;
497
+ var _pluginInjectionApi$a8;
502
498
  baseToolbar.getDomRef = function () {
503
499
  var _mediaPluginState$ele2;
504
500
  var element = (_mediaPluginState$ele2 = mediaPluginState.element) === null || _mediaPluginState$ele2 === void 0 ? void 0 : _mediaPluginState$ele2.querySelector(".".concat(_styles.MediaInlineNodeSelector));
505
501
  return element || mediaPluginState.element;
506
502
  };
507
- items = generateMediaInlineFloatingToolbar(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a7 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a7 === void 0 ? void 0 : _pluginInjectionApi$a7.actions);
503
+ items = generateMediaInlineFloatingToolbar(state, intl, mediaPluginState, hoverDecoration, pluginInjectionApi === null || pluginInjectionApi === void 0 ? void 0 : (_pluginInjectionApi$a8 = pluginInjectionApi.analytics) === null || _pluginInjectionApi$a8 === void 0 ? void 0 : _pluginInjectionApi$a8.actions);
508
504
  } else {
509
505
  baseToolbar.getDomRef = function () {
510
506
  var _mediaPluginState$ele3;
@@ -60,25 +60,26 @@ var PixelEntry = function PixelEntry(_ref) {
60
60
  }
61
61
  if (onSubmit) {
62
62
  var widthToBeSumitted = data.inputWidth;
63
- var isInvalidInput = false;
63
+ var validation = 'valid';
64
64
  if (data.inputWidth < minWidth) {
65
65
  widthToBeSumitted = minWidth;
66
- isInvalidInput = true;
66
+ validation = 'less-than-min';
67
67
  }
68
68
  if (data.inputWidth > maxWidth) {
69
69
  widthToBeSumitted = maxWidth;
70
- isInvalidInput = true;
70
+ validation = 'greater-than-max';
71
71
  }
72
72
 
73
73
  // If user keeps submitting an invalid input, node width attribute will be updated with the same value
74
74
  // and won't upadte the state in useEffect (since width is the same)
75
75
  // Thus, we set the state here to always display the correct dimension
76
- if (isInvalidInput) {
76
+ if (validation !== 'valid') {
77
77
  setComputedWidth(widthToBeSumitted);
78
78
  setComputedHeight(Math.round(ratioWidth * widthToBeSumitted));
79
79
  }
80
80
  onSubmit({
81
- width: widthToBeSumitted
81
+ width: widthToBeSumitted,
82
+ validation: validation
82
83
  });
83
84
  }
84
85
  };
@@ -42,7 +42,7 @@ var getMediaInputResizeAnalyticsEvent = function getMediaInputResizeAnalyticsEve
42
42
  return {
43
43
  action: _analytics.ACTION.EDITED,
44
44
  actionSubject: actionSubject,
45
- actionSubjectId: _analytics.ACTION_SUBJECT_ID.INPUT_RESIZED,
45
+ actionSubjectId: _analytics.ACTION_SUBJECT_ID.RESIZED,
46
46
  attributes: {
47
47
  width: width,
48
48
  layout: layout,
@@ -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.41.3";
9
+ var version = "187.41.4";
10
10
  exports.version = version;
11
11
  var nextMajorVersion = function nextMajorVersion() {
12
12
  return [Number(version.split('.')[0]) + 1, 0, 0].join('.');