@atlaskit/editor-core 187.41.1 → 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 (45) hide show
  1. package/CHANGELOG.md +34 -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/plugins/selection/pm-plugins/events/create-selection-between.js +1 -1
  11. package/dist/cjs/plugins/selection/pm-plugins/events/keydown.js +13 -1
  12. package/dist/cjs/version-wrapper.js +1 -1
  13. package/dist/es2019/plugins/extension/index.js +30 -4
  14. package/dist/es2019/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +8 -15
  15. package/dist/es2019/plugins/floating-toolbar/ui/Toolbar.js +3 -2
  16. package/dist/es2019/plugins/media/styles.js +3 -5
  17. package/dist/es2019/plugins/media/toolbar/commands.js +31 -1
  18. package/dist/es2019/plugins/media/toolbar/index.js +14 -19
  19. package/dist/es2019/plugins/media/ui/PixelEntry/index.js +6 -5
  20. package/dist/es2019/plugins/media/utils/analytics.js +1 -1
  21. package/dist/es2019/plugins/selection/pm-plugins/events/create-selection-between.js +1 -1
  22. package/dist/es2019/plugins/selection/pm-plugins/events/keydown.js +13 -1
  23. package/dist/es2019/version-wrapper.js +1 -1
  24. package/dist/esm/plugins/extension/index.js +35 -9
  25. package/dist/esm/plugins/floating-toolbar/ui/ExtensionsPlaceholder.js +8 -15
  26. package/dist/esm/plugins/floating-toolbar/ui/Toolbar.js +3 -2
  27. package/dist/esm/plugins/media/styles.js +1 -1
  28. package/dist/esm/plugins/media/toolbar/commands.js +37 -1
  29. package/dist/esm/plugins/media/toolbar/index.js +14 -18
  30. package/dist/esm/plugins/media/ui/PixelEntry/index.js +6 -5
  31. package/dist/esm/plugins/media/utils/analytics.js +1 -1
  32. package/dist/esm/plugins/selection/pm-plugins/events/create-selection-between.js +1 -1
  33. package/dist/esm/plugins/selection/pm-plugins/events/keydown.js +13 -1
  34. package/dist/esm/version-wrapper.js +1 -1
  35. package/dist/types/labs/next/presets/default.d.ts +44 -2
  36. package/dist/types/plugins/floating-toolbar/ui/ExtensionsPlaceholder.d.ts +2 -0
  37. package/dist/types/plugins/floating-toolbar/ui/Toolbar.d.ts +3 -1
  38. package/dist/types/plugins/media/toolbar/commands.d.ts +3 -1
  39. package/dist/types/plugins/media/ui/PixelEntry/types.d.ts +2 -0
  40. package/dist/types-ts4.5/labs/next/presets/default.d.ts +54 -0
  41. package/dist/types-ts4.5/plugins/floating-toolbar/ui/ExtensionsPlaceholder.d.ts +2 -0
  42. package/dist/types-ts4.5/plugins/floating-toolbar/ui/Toolbar.d.ts +3 -1
  43. package/dist/types-ts4.5/plugins/media/toolbar/commands.d.ts +3 -1
  44. package/dist/types-ts4.5/plugins/media/ui/PixelEntry/types.d.ts +2 -0
  45. package/package.json +4 -4
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
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
+
13
+ ## 187.41.3
14
+
15
+ ### Patch Changes
16
+
17
+ - [`85b6a5da67a`](https://bitbucket.org/atlassian/atlassian-frontend/commits/85b6a5da67a) - [ux] Fix [Regression] keyboard selections within actions are unpredictable
18
+
3
19
  ## 187.41.1
4
20
 
5
21
  ### Patch Changes
@@ -15075,105 +15091,105 @@ Remove applicationCard node and action mark
15075
15091
 
15076
15092
  ## 87.6.1
15077
15093
 
15078
- - [patch][bdc9961" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/bdc9961"
15094
+ - [patch][bdc9961](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/bdc9961"
15079
15095
  d):
15080
15096
 
15081
15097
  - Fixes the codeblock insert rules
15082
15098
 
15083
15099
  ## 87.6.0
15084
15100
 
15085
- - [minor][bb3336a" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/bb3336a"
15101
+ - [minor][bb3336a](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/bb3336a"
15086
15102
  d):
15087
15103
 
15088
15104
  - Make text formatting toolbar account for different item titles legnths
15089
15105
 
15090
15106
  ## 87.5.0
15091
15107
 
15092
- - [minor][d182ad9" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/d182ad9"
15108
+ - [minor][d182ad9](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/d182ad9"
15093
15109
  d):
15094
15110
 
15095
15111
  - Add <-> to ↔︎ convertion rule
15096
15112
 
15097
15113
  ## 87.4.3
15098
15114
 
15099
- - [patch][8fb4b1e" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/8fb4b1e"
15115
+ - [patch][8fb4b1e](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/8fb4b1e"
15100
15116
  d):
15101
15117
 
15102
15118
  - ED-5274 Fixes tables have excessive margin above
15103
15119
 
15104
15120
  ## 87.4.2
15105
15121
 
15106
- - [patch][4cc767e" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/4cc767e"
15122
+ - [patch][4cc767e](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/4cc767e"
15107
15123
  d):
15108
15124
 
15109
15125
  - ED-5030: Fixed gap-cursor on nodeviews in breakout mode.
15110
15126
 
15111
15127
  ## 87.4.1
15112
15128
 
15113
- - [patch][abd19cd" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/abd19cd"
15129
+ - [patch][abd19cd](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/abd19cd"
15114
15130
  d):
15115
15131
 
15116
15132
  - ED-5616: fix inline cursor navigation
15117
15133
 
15118
15134
  ## 87.4.0
15119
15135
 
15120
- - [minor][5981cec" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/5981cec"
15136
+ - [minor][5981cec](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/5981cec"
15121
15137
  d):
15122
15138
 
15123
15139
  - TypeAhead to preserve marks
15124
15140
 
15125
15141
  ## 87.3.2
15126
15142
 
15127
- - [patch][14d581b" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/14d581b"
15143
+ - [patch][14d581b](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/14d581b"
15128
15144
  d):
15129
15145
 
15130
15146
  - Disable clear formatting menu when there is no formatting
15131
15147
 
15132
15148
  ## 87.3.1
15133
15149
 
15134
- - [patch][52f5b51" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/52f5b51"
15150
+ - [patch][52f5b51](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/52f5b51"
15135
15151
  d):
15136
15152
 
15137
15153
  - ED-4366: fix text selection inside table cell on triple click
15138
15154
 
15139
15155
  ## 87.3.0
15140
15156
 
15141
- - [minor][b911028" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/b911028"
15157
+ - [minor][b911028](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/b911028"
15142
15158
  d):
15143
15159
 
15144
15160
  - Show selected color in a table contextual menu
15145
15161
 
15146
15162
  ## 87.2.0
15147
15163
 
15148
- - [minor][746c927" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/746c927"
15164
+ - [minor][746c927](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/746c927"
15149
15165
  d):
15150
15166
 
15151
15167
  - Add buffer to the bottom fullpage editor
15152
15168
 
15153
15169
  ## 87.1.13
15154
15170
 
15155
- - [patch][f3d067d" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/f3d067d"
15171
+ - [patch][f3d067d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/f3d067d"
15156
15172
  d):
15157
15173
 
15158
15174
  - Fix font size for numbered column in tables with dynamic text sizing
15159
15175
 
15160
15176
  ## 87.1.12
15161
15177
 
15162
- - [patch][534f6ab" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/534f6ab"
15178
+ - [patch][534f6ab](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/534f6ab"
15163
15179
  d):
15164
15180
 
15165
15181
  - ED-5615: Fix block element padding inside table cells.
15166
15182
 
15167
15183
  ## 87.1.11
15168
15184
 
15169
- - [patch][cb4168f" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/cb4168f"
15185
+ - [patch][cb4168f](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/cb4168f"
15170
15186
  d):
15171
15187
 
15172
15188
  - ED-5307: make text white for selected heading menu item
15173
15189
 
15174
15190
  ## 87.1.10
15175
15191
 
15176
- - [patch][db65837" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/db65837"
15192
+ - [patch][db65837](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/db65837"
15177
15193
  d):
15178
15194
 
15179
15195
  - ED-3762: fix setting text cursor when clicking on editor gutter
@@ -15186,7 +15202,7 @@ Remove applicationCard node and action mark
15186
15202
 
15187
15203
  ## 87.1.8
15188
15204
 
15189
- - [patch][3c505aa" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/3c505aa"
15205
+ - [patch][3c505aa](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/3c505aa"
15190
15206
  d):
15191
15207
 
15192
15208
  - Adds Danish and Romanian translations
@@ -15199,14 +15215,14 @@ Remove applicationCard node and action mark
15199
15215
 
15200
15216
  ## 87.1.6
15201
15217
 
15202
- - [patch][6201223" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/6201223"
15218
+ - [patch][6201223](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/6201223"
15203
15219
  d):
15204
15220
 
15205
15221
  - Add examples.
15206
15222
 
15207
15223
  ## 87.1.5
15208
15224
 
15209
- - [patch][1662ae0" d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/1662ae0"
15225
+ - [patch][1662ae0](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/1662ae0"
15210
15226
  d):
15211
15227
 
15212
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,