@atlaskit/editor-plugin-extension 3.0.0 → 3.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/dist/cjs/editor-actions/actions.js +16 -14
  3. package/dist/cjs/extensionPlugin.js +4 -1
  4. package/dist/cjs/pm-plugins/keymap.js +6 -3
  5. package/dist/cjs/pm-plugins/macro/index.js +0 -24
  6. package/dist/cjs/pm-plugins/main.js +19 -25
  7. package/dist/cjs/pm-plugins/toolbar.js +15 -5
  8. package/dist/cjs/pm-plugins/utils.js +2 -0
  9. package/dist/cjs/ui/ConfigPanel/ConfigPanel.js +4 -1
  10. package/dist/cjs/ui/ConfigPanel/Fields/Boolean.js +8 -2
  11. package/dist/cjs/ui/ConfigPanel/Fields/CheckboxGroup.js +8 -1
  12. package/dist/cjs/ui/ConfigPanel/Fields/CustomSelect.js +4 -1
  13. package/dist/cjs/ui/ConfigPanel/Fields/Date.js +4 -1
  14. package/dist/cjs/ui/ConfigPanel/Fields/DateRange.js +16 -4
  15. package/dist/cjs/ui/ConfigPanel/Fields/Fieldset.js +4 -1
  16. package/dist/cjs/ui/ConfigPanel/Fields/Number.js +4 -1
  17. package/dist/cjs/ui/ConfigPanel/Fields/RadioGroup.js +4 -1
  18. package/dist/cjs/ui/ConfigPanel/Fields/Select.js +6 -1
  19. package/dist/cjs/ui/ConfigPanel/Fields/String.js +8 -2
  20. package/dist/cjs/ui/ConfigPanel/Fields/UserSelect.js +7 -3
  21. package/dist/cjs/ui/ConfigPanel/Header.js +4 -1
  22. package/dist/cjs/ui/ConfigPanel/utils.js +3 -0
  23. package/dist/cjs/ui/SaveIndicator/SaveIndicator.js +4 -1
  24. package/dist/cjs/ui/context-panel.js +8 -6
  25. package/dist/es2019/editor-actions/actions.js +13 -5
  26. package/dist/es2019/extensionPlugin.js +4 -1
  27. package/dist/es2019/pm-plugins/keymap.js +5 -2
  28. package/dist/es2019/pm-plugins/macro/index.js +0 -1
  29. package/dist/es2019/pm-plugins/main.js +20 -8
  30. package/dist/es2019/pm-plugins/toolbar.js +13 -3
  31. package/dist/es2019/pm-plugins/utils.js +2 -0
  32. package/dist/es2019/ui/ConfigPanel/ConfigPanel.js +4 -1
  33. package/dist/es2019/ui/ConfigPanel/Fields/Boolean.js +8 -2
  34. package/dist/es2019/ui/ConfigPanel/Fields/CheckboxGroup.js +8 -1
  35. package/dist/es2019/ui/ConfigPanel/Fields/CustomSelect.js +4 -1
  36. package/dist/es2019/ui/ConfigPanel/Fields/Date.js +4 -1
  37. package/dist/es2019/ui/ConfigPanel/Fields/DateRange.js +16 -4
  38. package/dist/es2019/ui/ConfigPanel/Fields/Fieldset.js +4 -1
  39. package/dist/es2019/ui/ConfigPanel/Fields/Number.js +4 -1
  40. package/dist/es2019/ui/ConfigPanel/Fields/RadioGroup.js +4 -1
  41. package/dist/es2019/ui/ConfigPanel/Fields/Select.js +6 -1
  42. package/dist/es2019/ui/ConfigPanel/Fields/String.js +8 -2
  43. package/dist/es2019/ui/ConfigPanel/Fields/UserSelect.js +7 -3
  44. package/dist/es2019/ui/ConfigPanel/Header.js +4 -1
  45. package/dist/es2019/ui/ConfigPanel/transformers.js +8 -2
  46. package/dist/es2019/ui/ConfigPanel/utils.js +3 -0
  47. package/dist/es2019/ui/SaveIndicator/SaveIndicator.js +4 -1
  48. package/dist/es2019/ui/context-panel.js +3 -1
  49. package/dist/esm/editor-actions/actions.js +13 -5
  50. package/dist/esm/extensionPlugin.js +4 -1
  51. package/dist/esm/pm-plugins/keymap.js +5 -2
  52. package/dist/esm/pm-plugins/macro/index.js +0 -1
  53. package/dist/esm/pm-plugins/main.js +21 -9
  54. package/dist/esm/pm-plugins/toolbar.js +13 -3
  55. package/dist/esm/pm-plugins/utils.js +2 -0
  56. package/dist/esm/ui/ConfigPanel/ConfigPanel.js +4 -1
  57. package/dist/esm/ui/ConfigPanel/Fields/Boolean.js +8 -2
  58. package/dist/esm/ui/ConfigPanel/Fields/CheckboxGroup.js +8 -1
  59. package/dist/esm/ui/ConfigPanel/Fields/CustomSelect.js +4 -1
  60. package/dist/esm/ui/ConfigPanel/Fields/Date.js +4 -1
  61. package/dist/esm/ui/ConfigPanel/Fields/DateRange.js +16 -4
  62. package/dist/esm/ui/ConfigPanel/Fields/Fieldset.js +4 -1
  63. package/dist/esm/ui/ConfigPanel/Fields/Number.js +4 -1
  64. package/dist/esm/ui/ConfigPanel/Fields/RadioGroup.js +4 -1
  65. package/dist/esm/ui/ConfigPanel/Fields/Select.js +6 -1
  66. package/dist/esm/ui/ConfigPanel/Fields/String.js +8 -2
  67. package/dist/esm/ui/ConfigPanel/Fields/UserSelect.js +7 -3
  68. package/dist/esm/ui/ConfigPanel/Header.js +4 -1
  69. package/dist/esm/ui/ConfigPanel/utils.js +3 -0
  70. package/dist/esm/ui/SaveIndicator/SaveIndicator.js +4 -1
  71. package/dist/esm/ui/context-panel.js +3 -1
  72. package/dist/types/editor-actions/actions.d.ts +1 -1
  73. package/dist/types/pm-plugins/macro/index.d.ts +0 -4
  74. package/dist/types/pm-plugins/main.d.ts +1 -4
  75. package/dist/types-ts4.5/editor-actions/actions.d.ts +1 -1
  76. package/dist/types-ts4.5/pm-plugins/macro/index.d.ts +0 -4
  77. package/dist/types-ts4.5/pm-plugins/main.d.ts +1 -4
  78. package/example-utils/config-panel/ConfigPanelWithExtensionPicker.tsx +2 -0
  79. package/example-utils/config-panel/ConfigPanelWithProviders.tsx +1 -1
  80. package/example-utils/config-panel/ExtensionNodePicker.tsx +3 -1
  81. package/example-utils/config-panel/example-manifest-all-fields.ts +2 -0
  82. package/example-utils/config-panel/example-manifest-individual-fields.ts +6 -0
  83. package/package.json +5 -5
  84. package/dist/cjs/ui/ConfigPanel/index.js +0 -9
  85. package/dist/es2019/ui/ConfigPanel/index.js +0 -2
  86. package/dist/esm/ui/ConfigPanel/index.js +0 -2
  87. package/dist/types/ui/ConfigPanel/index.d.ts +0 -2
  88. package/dist/types-ts4.5/ui/ConfigPanel/index.d.ts +0 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @atlaskit/editor-plugin-extension
2
2
 
3
+ ## 3.0.2
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies
8
+
9
+ ## 3.0.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [#98618](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/98618)
14
+ [`6eccf45581ff1`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/6eccf45581ff1) -
15
+ ED-25934 fix config panel user select's onFieldChange to dirty only if there are changes
16
+ - Updated dependencies
17
+
3
18
  ## 3.0.0
4
19
 
5
20
  ### Major Changes
@@ -5,25 +5,21 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.performNodeUpdate = exports.insertOrReplaceExtension = exports.insertOrReplaceBodiedExtension = exports.editExtension = exports.createEditSelectedExtensionAction = exports.buildExtensionNode = void 0;
8
- Object.defineProperty(exports, "transformSliceToRemoveOpenBodiedExtension", {
9
- enumerable: true,
10
- get: function get() {
11
- return _transforms.transformSliceToRemoveOpenBodiedExtension;
12
- }
13
- });
14
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
10
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
17
11
  var _analytics = require("@atlaskit/editor-common/analytics");
18
- var _transforms = require("@atlaskit/editor-common/transforms");
19
12
  var _state2 = require("@atlaskit/editor-prosemirror/state");
20
13
  var _utils = require("@atlaskit/editor-prosemirror/utils");
21
14
  var _extensionApi = require("../pm-plugins/extension-api");
22
- var _main = require("../pm-plugins/main");
15
+ var _pluginFactory = require("../pm-plugins/plugin-factory");
23
16
  var _utils2 = require("../pm-plugins/utils");
24
17
  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; }
25
18
  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; }
26
- var buildExtensionNode = exports.buildExtensionNode = function buildExtensionNode(type, schema, attrs, content, marks) {
19
+ var buildExtensionNode = exports.buildExtensionNode = function buildExtensionNode(type, schema, attrs, content, marks
20
+ // Ignored via go/ees005
21
+ // eslint-disable-next-line @typescript-eslint/max-params
22
+ ) {
27
23
  switch (type) {
28
24
  case 'extension':
29
25
  return schema.nodes.extension.createChecked(attrs, content, marks);
@@ -36,7 +32,10 @@ var buildExtensionNode = exports.buildExtensionNode = function buildExtensionNod
36
32
  }
37
33
  };
38
34
  var performNodeUpdate = exports.performNodeUpdate = function performNodeUpdate(editorAnalyticsAPI) {
39
- return function (type, newAttrs, content, marks, shouldScrollIntoView) {
35
+ return function (type, newAttrs, content, marks, shouldScrollIntoView
36
+ // Ignored via go/ees005
37
+ // eslint-disable-next-line @typescript-eslint/max-params
38
+ ) {
40
39
  return function (_state, _dispatch, view) {
41
40
  if (!view) {
42
41
  throw Error('EditorView is required to perform node update!');
@@ -58,7 +57,7 @@ var performNodeUpdate = exports.performNodeUpdate = function performNodeUpdate(e
58
57
  multiBodiedExtension = _schema$nodes.multiBodiedExtension;
59
58
  var isBodiedExtensionSelected = !!(0, _utils.findSelectedNodeOfType)([bodiedExtension])(selection);
60
59
  var isMultiBodiedExtensionSelected = !!(0, _utils.findSelectedNodeOfType)([multiBodiedExtension])(selection);
61
- var extensionState = (0, _main.getPluginState)(state);
60
+ var extensionState = (0, _pluginFactory.getPluginState)(state);
62
61
  var updateSelectionsByNodeType = function updateSelectionsByNodeType(nodeType) {
63
62
  // Bodied/MultiBodied extensions can trigger an update when the cursor is inside which means that there is no node selected.
64
63
  // To work around that we replace the parent and create a text selection instead of new node selection
@@ -179,12 +178,15 @@ var updateExtensionParams = function updateExtensionParams(editorAnalyticsAPI) {
179
178
  }();
180
179
  };
181
180
  };
182
- var editExtension = exports.editExtension = function editExtension(macroProvider, applyChangeToContextPanel, editorAnalyticsAPI, updateExtension) {
181
+ var editExtension = exports.editExtension = function editExtension(macroProvider, applyChangeToContextPanel, editorAnalyticsAPI, updateExtension
182
+ // Ignored via go/ees005
183
+ // eslint-disable-next-line @typescript-eslint/max-params
184
+ ) {
183
185
  return function (state, dispatch, view) {
184
186
  if (!view) {
185
187
  return false;
186
188
  }
187
- var _getPluginState = (0, _main.getPluginState)(state),
189
+ var _getPluginState = (0, _pluginFactory.getPluginState)(state),
188
190
  localId = _getPluginState.localId;
189
191
  var nodeWithPos = (0, _utils2.findExtensionWithLocalId)(state, localId);
190
192
  if (!nodeWithPos) {
@@ -230,7 +232,7 @@ var createEditSelectedExtensionAction = exports.createEditSelectedExtensionActio
230
232
  if (!view) {
231
233
  return false;
232
234
  }
233
- var _getPluginState2 = (0, _main.getPluginState)(view.state),
235
+ var _getPluginState2 = (0, _pluginFactory.getPluginState)(view.state),
234
236
  updateExtension = _getPluginState2.updateExtension;
235
237
  return editExtension(null, applyChangeToContextPanel, editorAnalyticsAPI, updateExtension)(view.state, view.dispatch, view);
236
238
  };
@@ -14,6 +14,7 @@ var _keymap = _interopRequireDefault(require("./pm-plugins/keymap"));
14
14
  var _macro = require("./pm-plugins/macro");
15
15
  var _actions2 = require("./pm-plugins/macro/actions");
16
16
  var _main = require("./pm-plugins/main");
17
+ var _pluginKey = require("./pm-plugins/plugin-key");
17
18
  var _bodiedExtension = require("./pm-plugins/toDOM-fixes/bodiedExtension");
18
19
  var _toolbar = require("./pm-plugins/toolbar");
19
20
  var _uniqueId = require("./pm-plugins/unique-id");
@@ -54,7 +55,7 @@ var extensionPlugin = exports.extensionPlugin = function extensionPlugin(_ref) {
54
55
  if (!state) {
55
56
  return undefined;
56
57
  }
57
- var pluginState = _main.pluginKey.getState(state);
58
+ var pluginState = _pluginKey.pluginKey.getState(state);
58
59
  return {
59
60
  showContextPanel: pluginState === null || pluginState === void 0 ? void 0 : pluginState.showContextPanel
60
61
  };
@@ -112,6 +113,8 @@ var extensionPlugin = exports.extensionPlugin = function extensionPlugin(_ref) {
112
113
  api: function api() {
113
114
  var _api$contextPanel2, _api$analytics;
114
115
  return (0, _extensionApi.createExtensionAPI)({
116
+ // Ignored via go/ees005
117
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
115
118
  editorView: editorViewRef.current,
116
119
  applyChange: _api === null || _api === void 0 || (_api$contextPanel2 = _api.contextPanel) === null || _api$contextPanel2 === void 0 ? void 0 : _api$contextPanel2.actions.applyChange,
117
120
  editorAnalyticsAPI: _api === null || _api === void 0 || (_api$analytics = _api.analytics) === null || _api$analytics === void 0 ? void 0 : _api$analytics.actions
@@ -7,11 +7,14 @@ exports.default = keymapPlugin;
7
7
  var _keymaps = require("@atlaskit/editor-common/keymaps");
8
8
  var _keymap = require("@atlaskit/editor-prosemirror/keymap");
9
9
  var _commands = require("../editor-commands/commands");
10
- var _main = require("./main");
10
+ var _pluginFactory = require("./plugin-factory");
11
11
  function keymapPlugin(applyChange) {
12
12
  var list = {};
13
- (0, _keymaps.bindKeymapWithCommand)(_keymaps.escape.common, function (state, dispatch) {
14
- var extensionState = (0, _main.getPluginState)(state);
13
+ (0, _keymaps.bindKeymapWithCommand)(
14
+ // Ignored via go/ees005
15
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
16
+ _keymaps.escape.common, function (state, dispatch) {
17
+ var extensionState = (0, _pluginFactory.getPluginState)(state);
15
18
  if (!extensionState.showContextPanel) {
16
19
  return false;
17
20
  }
@@ -5,30 +5,6 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.createPlugin = void 0;
8
- Object.defineProperty(exports, "insertMacroFromMacroBrowser", {
9
- enumerable: true,
10
- get: function get() {
11
- return _actions.insertMacroFromMacroBrowser;
12
- }
13
- });
14
- Object.defineProperty(exports, "resolveMacro", {
15
- enumerable: true,
16
- get: function get() {
17
- return _actions.resolveMacro;
18
- }
19
- });
20
- Object.defineProperty(exports, "runMacroAutoConvert", {
21
- enumerable: true,
22
- get: function get() {
23
- return _actions.runMacroAutoConvert;
24
- }
25
- });
26
- Object.defineProperty(exports, "setMacroProvider", {
27
- enumerable: true,
28
- get: function get() {
29
- return _actions.setMacroProvider;
30
- }
31
- });
32
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
33
9
  var _safePlugin = require("@atlaskit/editor-common/safe-plugin");
34
10
  var _actions = require("./actions");
@@ -4,26 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
4
4
  Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- Object.defineProperty(exports, "createCommand", {
8
- enumerable: true,
9
- get: function get() {
10
- return _pluginFactory.createCommand;
11
- }
12
- });
13
- exports.createPlugin = exports.createExtensionProviderHandler = void 0;
14
- Object.defineProperty(exports, "getPluginState", {
15
- enumerable: true,
16
- get: function get() {
17
- return _pluginFactory.getPluginState;
18
- }
19
- });
20
- exports.handleUpdate = void 0;
21
- Object.defineProperty(exports, "pluginKey", {
22
- enumerable: true,
23
- get: function get() {
24
- return _pluginKey.pluginKey;
25
- }
26
- });
7
+ exports.handleUpdate = exports.createPlugin = exports.createExtensionProviderHandler = void 0;
27
8
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
28
9
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
29
10
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
@@ -192,7 +173,10 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatch, provid
192
173
  var options = arguments.length > 7 && arguments[7] !== undefined ? arguments[7] : {};
193
174
  var featureFlags = arguments.length > 8 ? arguments[8] : undefined;
194
175
  var allowDragAndDrop = arguments.length > 9 && arguments[9] !== undefined ? arguments[9] : true;
195
- var __rendererExtensionOptions = arguments.length > 10 ? arguments[10] : undefined;
176
+ var __rendererExtensionOptions
177
+ // Ignored via go/ees005
178
+ // eslint-disable-next-line @typescript-eslint/max-params
179
+ = arguments.length > 10 ? arguments[10] : undefined;
196
180
  var state = (0, _pluginFactory.createPluginState)(dispatch, {
197
181
  showEditButton: false,
198
182
  showContextPanel: false
@@ -231,11 +215,19 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatch, provid
231
215
  handleDOMEvents: {
232
216
  blur: function blur(view, event) {
233
217
  if ((0, _platformFeatureFlags.fg)('platform_editor_legacy_content_macro')) {
234
- var currentTarget = event.relatedTarget;
235
- var source = event.target;
218
+ var currentSelection = event.relatedTarget;
219
+ var previousSelection = event.target;
220
+ if (!(currentSelection instanceof HTMLElement) || !(previousSelection instanceof HTMLElement)) {
221
+ return;
222
+ }
223
+ var wasPreviousSelectionInsideExtensionEditableArea = !!previousSelection.closest('.extension-editable-area');
224
+ var isCurrentSelectionInsideExtensionEditableArea = !!currentSelection.closest('.extension-editable-area');
225
+ var maybeFromPopup = !!currentSelection.closest('[data-editor-popup="true"]');
236
226
 
237
- // If the focus is going from outside to inside an area designated as an editable area of an extension, then the extension selection is reset.
238
- if (!!currentTarget.closest('.extension-editable-area') !== !!source.closest('.extension-editable-area')) {
227
+ // We want to reset the user's selection if they are entering or exiting the extension editable area.
228
+ // To do so, we check if there previous selection was inside or outside, and if they are now inside or outside.
229
+ // We want to ignore this if a blur event is originating from an editor popup.
230
+ if (!maybeFromPopup && wasPreviousSelectionInsideExtensionEditableArea !== isCurrentSelectionInsideExtensionEditableArea) {
239
231
  var emptySelection = new _state.TextSelection(view.state.doc.resolve(0));
240
232
  var tr = view.state.tr.setSelection(emptySelection);
241
233
  view.dispatch(tr);
@@ -349,6 +341,8 @@ var createPlugin = exports.createPlugin = function createPlugin(dispatch, provid
349
341
  {
350
342
  useLongPressSelection: useLongPressSelection
351
343
  }),
344
+ // Ignored via go/ees005
345
+ // eslint-disable-next-line @typescript-eslint/max-params
352
346
  handleDrop: function handleDrop(view, event, slice, moved) {
353
347
  if ((0, _platformFeatureFlags.fg)('platform_editor_legacy_content_macro')) {
354
348
  if (!allowDragAndDrop) {
@@ -25,7 +25,7 @@ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
25
25
  var _actions = require("../editor-actions/actions");
26
26
  var _commands = require("../editor-commands/commands");
27
27
  var _pluginKey = require("./macro/plugin-key");
28
- var _main = require("./main");
28
+ var _pluginFactory = require("./plugin-factory");
29
29
  var _utils3 = require("./utils");
30
30
  var isLayoutSupported = function isLayoutSupported(state, selectedExtNode) {
31
31
  var _state$schema$nodes = state.schema.nodes,
@@ -47,7 +47,10 @@ var isLayoutSupported = function isLayoutSupported(state, selectedExtNode) {
47
47
  // and not inside a layoutSection
48
48
  return !!((isMultiBodiedExtension || isNonEmbeddedBodiedExtension || isNonEmbeddedExtension) && !(0, _utils2.hasParentNodeOfType)([layoutSection])(selection));
49
49
  };
50
- var breakoutOptions = function breakoutOptions(state, formatMessage, extensionState, breakoutEnabled, editorAnalyticsAPI) {
50
+ var breakoutOptions = function breakoutOptions(state, formatMessage, extensionState, breakoutEnabled, editorAnalyticsAPI
51
+ // Ignored via go/ees005
52
+ // eslint-disable-next-line @typescript-eslint/max-params
53
+ ) {
51
54
  var nodeWithPos = (0, _utils3.getSelectedExtension)(state, true);
52
55
 
53
56
  // we should only return breakout options when breakouts are enabled and the node supports them
@@ -81,7 +84,10 @@ var breakoutOptions = function breakoutOptions(state, formatMessage, extensionSt
81
84
  }
82
85
  return [];
83
86
  };
84
- var editButton = function editButton(formatMessage, extensionState, applyChangeToContextPanel, editorAnalyticsAPI) {
87
+ var editButton = function editButton(formatMessage, extensionState, applyChangeToContextPanel, editorAnalyticsAPI
88
+ // Ignored via go/ees005
89
+ // eslint-disable-next-line @typescript-eslint/max-params
90
+ ) {
85
91
  if (!extensionState.showEditButton) {
86
92
  return [];
87
93
  }
@@ -94,7 +100,7 @@ var editButton = function editButton(formatMessage, extensionState, applyChangeT
94
100
  // Taking the latest `updateExtension` from plugin state to avoid race condition @see ED-8501
95
101
  onClick: function onClick(state, dispatch, view) {
96
102
  var macroState = _pluginKey.pluginKey.getState(state);
97
- var _getPluginState = (0, _main.getPluginState)(state),
103
+ var _getPluginState = (0, _pluginFactory.getPluginState)(state),
98
104
  updateExtension = _getPluginState.updateExtension;
99
105
  (0, _actions.editExtension)(macroState && macroState.macroProvider, applyChangeToContextPanel, editorAnalyticsAPI, updateExtension)(state, dispatch, view);
100
106
  return true;
@@ -112,7 +118,7 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(_ref
112
118
  editorAnalyticsAPI = _ref.editorAnalyticsAPI;
113
119
  return function (state, intl) {
114
120
  var formatMessage = intl.formatMessage;
115
- var extensionState = (0, _main.getPluginState)(state);
121
+ var extensionState = (0, _pluginFactory.getPluginState)(state);
116
122
  if (extensionState && !extensionState.showContextPanel && extensionState.element) {
117
123
  var nodeType = [state.schema.nodes.extension, state.schema.nodes.inlineExtension, state.schema.nodes.bodiedExtension, state.schema.nodes.multiBodiedExtension];
118
124
  var editButtonArray = editButton(formatMessage, extensionState, applyChangeToContextPanel, editorAnalyticsAPI);
@@ -144,6 +150,8 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(_ref
144
150
  }
145
151
  return {
146
152
  title: 'Extension floating controls',
153
+ // Ignored via go/ees005
154
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
147
155
  getDomRef: function getDomRef() {
148
156
  return extensionState.element.parentElement || undefined;
149
157
  },
@@ -160,6 +168,8 @@ var getToolbarConfig = exports.getToolbarConfig = function getToolbarConfig(_ref
160
168
  return nextPos;
161
169
  }
162
170
  var scrollWrapper = editorView.dom.closest('.fabric-editor-popup-scroll-parent') || document.body;
171
+ // Ignored via go/ees005
172
+ // eslint-disable-next-line @atlaskit/editor/no-as-casting
163
173
  var nestedBodiedExtensionDomElement = editorView.nodeDOM(extensionNode.pos);
164
174
  var nestedBodiedExtensionRect = nestedBodiedExtensionDomElement === null || nestedBodiedExtensionDomElement === void 0 ? void 0 : nestedBodiedExtensionDomElement.getBoundingClientRect();
165
175
  var wrapperBounds = scrollWrapper.getBoundingClientRect();
@@ -42,6 +42,8 @@ var findExtensionWithLocalId = exports.findExtensionWithLocalId = function findE
42
42
  return matched;
43
43
  };
44
44
  var getSelectedDomElement = exports.getSelectedDomElement = function getSelectedDomElement(schema, domAtPos, selectedExtensionNode) {
45
+ // Ignored via go/ees005
46
+ // eslint-disable-next-line @atlaskit/editor/no-as-casting
45
47
  var selectedExtensionDomNode = (0, _utils2.findDomRefAtPos)(selectedExtensionNode.pos, domAtPos);
46
48
  var isContentExtension = selectedExtensionNode.node.type !== schema.nodes.bodiedExtension;
47
49
  return (
@@ -145,7 +145,10 @@ var ConfigPanel = /*#__PURE__*/function (_React$Component) {
145
145
  // https://product-fabric.atlassian.net/browse/DST-2697
146
146
  // workaround for DST-2697, remove this function once fix.
147
147
  (0, _defineProperty2.default)(_this, "backfillTabFormData", function (fields, formData, currentParameters) {
148
- var getRelevantData = function getRelevantData(field, formParams, currentParams, backfill) {
148
+ var getRelevantData = function getRelevantData(field, formParams, currentParams, backfill
149
+ // Ignored via go/ees005
150
+ // eslint-disable-next-line @typescript-eslint/max-params
151
+ ) {
149
152
  if (field.hasGroupedValues && !(field.name in backfill)) {
150
153
  backfill[field.name] = {};
151
154
  }
@@ -77,7 +77,10 @@ function Checkbox(_ref) {
77
77
  error = _ref2.error;
78
78
  var isChecked = fieldProps.value,
79
79
  restFieldProps = (0, _objectWithoutProperties2.default)(fieldProps, _excluded);
80
- return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_checkbox.Checkbox, (0, _extends2.default)({}, restFieldProps, {
80
+ return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_checkbox.Checkbox
81
+ // Ignored via go/ees005
82
+ // eslint-disable-next-line react/jsx-props-no-spreading
83
+ , (0, _extends2.default)({}, restFieldProps, {
81
84
  label: label,
82
85
  onChange: function onChange(event) {
83
86
  return handleOnChange(fieldProps.onChange, onFieldChange, event);
@@ -122,7 +125,10 @@ function Toggle(_ref3) {
122
125
  }, label, isRequired ? (0, _react2.jsx)(_primitives.Text, {
123
126
  color: "color.text.danger",
124
127
  "aria-hidden": "true"
125
- }, "*") : null), (0, _react2.jsx)(_toggle.default, (0, _extends2.default)({}, restFieldProps, {
128
+ }, "*") : null), (0, _react2.jsx)(_toggle.default
129
+ // Ignored via go/ees005
130
+ // eslint-disable-next-line react/jsx-props-no-spreading
131
+ , (0, _extends2.default)({}, restFieldProps, {
126
132
  onChange: function onChange(event) {
127
133
  return handleOnChange(fieldProps.onChange, onFieldChange, event);
128
134
  },
@@ -57,8 +57,13 @@ function CheckboxGroupInner(_ref) {
57
57
  var onOptionChange = function onOptionChange(event) {
58
58
  _onChange(optionValue, event.target.checked);
59
59
  };
60
- return (0, _react2.jsx)(_checkbox.Checkbox, (0, _extends2.default)({
60
+ return (0, _react2.jsx)(_checkbox.Checkbox
61
+ // Ignored via go/ees005
62
+ // eslint-disable-next-line react/no-array-index-key
63
+ , (0, _extends2.default)({
61
64
  key: i
65
+ // Ignored via go/ees005
66
+ // eslint-disable-next-line react/jsx-props-no-spreading
62
67
  }, restFieldProps, {
63
68
  isRequired: false,
64
69
  label: optionLabel,
@@ -100,6 +105,8 @@ function CheckboxGroup(_ref3) {
100
105
  description: description,
101
106
  options: options,
102
107
  onFieldChange: _onFieldChange
108
+ // Ignored via go/ees005
109
+ // eslint-disable-next-line react/jsx-props-no-spreading
103
110
  }, props));
104
111
  });
105
112
  }
@@ -155,7 +155,10 @@ function CustomSelect(_ref2) {
155
155
  }, function (_ref3) {
156
156
  var fieldProps = _ref3.fieldProps,
157
157
  error = _ref3.error;
158
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, resolver && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_select.AsyncCreatableSelect, (0, _extends2.default)({}, fieldProps, {
158
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, resolver && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_select.AsyncCreatableSelect
159
+ // Ignored via go/ees005
160
+ // eslint-disable-next-line react/jsx-props-no-spreading
161
+ , (0, _extends2.default)({}, fieldProps, {
159
162
  onChange: function onChange(value) {
160
163
  fieldProps.onChange(value);
161
164
  // We assume onChange is called whenever values actually changed
@@ -35,7 +35,10 @@ function Date(_ref) {
35
35
  }, function (_ref2) {
36
36
  var fieldProps = _ref2.fieldProps,
37
37
  error = _ref2.error;
38
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_datetimePicker.DatePicker, (0, _extends2.default)({}, fieldProps, {
38
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_datetimePicker.DatePicker
39
+ // Ignored via go/ees005
40
+ // eslint-disable-next-line react/jsx-props-no-spreading
41
+ , (0, _extends2.default)({}, fieldProps, {
39
42
  autoFocus: autoFocus,
40
43
  onBlur: function onBlur() {
41
44
  fieldProps.onBlur();
@@ -63,7 +63,10 @@ var DateField = function DateField(_ref) {
63
63
  }, function (_ref2) {
64
64
  var fieldProps = _ref2.fieldProps,
65
65
  error = _ref2.error;
66
- return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_datetimePicker.DatePicker, (0, _extends2.default)({}, fieldProps, {
66
+ return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_datetimePicker.DatePicker
67
+ // Ignored via go/ees005
68
+ // eslint-disable-next-line react/jsx-props-no-spreading
69
+ , (0, _extends2.default)({}, fieldProps, {
67
70
  onChange: function onChange(date) {
68
71
  fieldProps.onChange(date);
69
72
  onFieldChange(parentField.name, true);
@@ -107,7 +110,10 @@ var DateRange = function DateRange(_ref3) {
107
110
  defaultValue: 'date-range'
108
111
  }, function (_ref4) {
109
112
  var fieldProps = _ref4.fieldProps;
110
- return (0, _react2.jsx)(_textfield.default, (0, _extends2.default)({}, fieldProps, {
113
+ return (0, _react2.jsx)(_textfield.default
114
+ // Ignored via go/ees005
115
+ // eslint-disable-next-line react/jsx-props-no-spreading
116
+ , (0, _extends2.default)({}, fieldProps, {
111
117
  type: "hidden"
112
118
  }));
113
119
  })), (0, _react2.jsx)(_form.Field, {
@@ -122,7 +128,10 @@ var DateRange = function DateRange(_ref3) {
122
128
  }, function (_ref5) {
123
129
  var fieldProps = _ref5.fieldProps,
124
130
  error = _ref5.error;
125
- return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_radio.RadioGroup, (0, _extends2.default)({}, fieldProps, {
131
+ return (0, _react2.jsx)(_react.Fragment, null, (0, _react2.jsx)(_radio.RadioGroup
132
+ // Ignored via go/ees005
133
+ // eslint-disable-next-line react/jsx-props-no-spreading
134
+ , (0, _extends2.default)({}, fieldProps, {
126
135
  options: items,
127
136
  onChange: function onChange(event) {
128
137
  fieldProps.onChange(event.target.value);
@@ -138,7 +147,10 @@ var DateRange = function DateRange(_ref3) {
138
147
  defaultValue: currentValue
139
148
  }, function (_ref6) {
140
149
  var fieldProps = _ref6.fieldProps;
141
- return (0, _react2.jsx)(_textfield.default, (0, _extends2.default)({}, fieldProps, {
150
+ return (0, _react2.jsx)(_textfield.default
151
+ // Ignored via go/ees005
152
+ // eslint-disable-next-line react/jsx-props-no-spreading
153
+ , (0, _extends2.default)({}, fieldProps, {
142
154
  type: "hidden"
143
155
  }));
144
156
  })) : (0, _react2.jsx)("div", {
@@ -204,7 +204,10 @@ var FieldsetField = /*#__PURE__*/function (_React$Component) {
204
204
  testId: "add-more",
205
205
  appearance: "subtle",
206
206
  iconBefore: function iconBefore(iconProps) {
207
- return (0, _react2.jsx)(_addCircle.default, (0, _extends2.default)({}, iconProps, {
207
+ return (0, _react2.jsx)(_addCircle.default
208
+ // Ignored via go/ees005
209
+ // eslint-disable-next-line react/jsx-props-no-spreading
210
+ , (0, _extends2.default)({}, iconProps, {
208
211
  size: "small",
209
212
  label: intl.formatMessage(_extensions.configPanelMessages.addField)
210
213
  }));
@@ -47,7 +47,10 @@ function Number(_ref) {
47
47
  var fieldProps = _ref2.fieldProps,
48
48
  error = _ref2.error,
49
49
  meta = _ref2.meta;
50
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_textfield.default, (0, _extends2.default)({}, fieldProps, {
50
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_textfield.default
51
+ // Ignored via go/ees005
52
+ // eslint-disable-next-line react/jsx-props-no-spreading
53
+ , (0, _extends2.default)({}, fieldProps, {
51
54
  autoFocus: autoFocus,
52
55
  onBlur: function onBlur() {
53
56
  fieldProps.onBlur();
@@ -39,7 +39,10 @@ function RadioField(_ref) {
39
39
  }, function (_ref2) {
40
40
  var fieldProps = _ref2.fieldProps,
41
41
  error = _ref2.error;
42
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_radio.RadioGroup, (0, _extends2.default)({}, fieldProps, {
42
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_radio.RadioGroup
43
+ // Ignored via go/ees005
44
+ // eslint-disable-next-line react/jsx-props-no-spreading
45
+ , (0, _extends2.default)({}, fieldProps, {
43
46
  options: (field.items || []).map(function (option) {
44
47
  return _objectSpread(_objectSpread({}, option), {}, {
45
48
  name: field.name
@@ -35,12 +35,17 @@ function SelectField(_ref) {
35
35
  testId: "config-panel-select-".concat(name),
36
36
  isRequired: field.isRequired,
37
37
  validate: function validate(value) {
38
+ // Ignored via go/ees005
39
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
38
40
  return (0, _utils.validate)(field, value);
39
41
  }
40
42
  }, function (_ref2) {
41
43
  var fieldProps = _ref2.fieldProps,
42
44
  error = _ref2.error;
43
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_select.default, (0, _extends2.default)({}, _objectSpread(_objectSpread({}, fieldProps), {}, {
45
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_select.default
46
+ // Ignored via go/ees005
47
+ // eslint-disable-next-line react/jsx-props-no-spreading
48
+ , (0, _extends2.default)({}, _objectSpread(_objectSpread({}, fieldProps), {}, {
44
49
  // Pass `id` as `inputId` so that the input gets the correct id, and make sure there are no duplicate ids
45
50
  inputId: fieldProps.id,
46
51
  id: undefined
@@ -44,7 +44,10 @@ function String(_ref) {
44
44
  var _onChange = fieldProps.onChange,
45
45
  restFieldProps = (0, _objectWithoutProperties2.default)(fieldProps, _excluded);
46
46
  var options = field.options;
47
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_textarea.default, (0, _extends2.default)({}, restFieldProps, options, {
47
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_textarea.default
48
+ // Ignored via go/ees005
49
+ // eslint-disable-next-line react/jsx-props-no-spreading
50
+ , (0, _extends2.default)({}, restFieldProps, options, {
48
51
  onChange: function onChange(e) {
49
52
  return _onChange(e.currentTarget.value);
50
53
  },
@@ -59,7 +62,10 @@ function String(_ref) {
59
62
  description: description
60
63
  }));
61
64
  }
62
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_textfield.default, (0, _extends2.default)({}, fieldProps, {
65
+ return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_textfield.default
66
+ // Ignored via go/ees005
67
+ // eslint-disable-next-line react/jsx-props-no-spreading
68
+ , (0, _extends2.default)({}, fieldProps, {
63
69
  type: "text",
64
70
  autoFocus: autoFocus,
65
71
  onBlur: function onBlur() {
@@ -137,7 +137,10 @@ function SafeSmartUserPicker(_ref) {
137
137
  cancel = true;
138
138
  };
139
139
  }, [safeValue, productKey]);
140
- return /*#__PURE__*/_react.default.createElement(_smartUserPicker.default, (0, _extends2.default)({}, formFieldPropsRest, {
140
+ return /*#__PURE__*/_react.default.createElement(_smartUserPicker.default
141
+ // Ignored via go/ees005
142
+ // eslint-disable-next-line react/jsx-props-no-spreading
143
+ , (0, _extends2.default)({}, formFieldPropsRest, {
141
144
  onChange: onChangeUnsafe,
142
145
  autoFocus: autoFocus,
143
146
  onBlur: onBlur,
@@ -238,7 +241,8 @@ function UserSelect(_ref2) {
238
241
  testId: "config-panel-user-select-".concat(name)
239
242
  }, function (_ref3) {
240
243
  var fieldProps = _ref3.fieldProps,
241
- error = _ref3.error;
244
+ error = _ref3.error,
245
+ meta = _ref3.meta;
242
246
  // if any of these don't exists, the provider is missing
243
247
  if (!siteId || !principalId || !fieldId || !productKey) {
244
248
  return /*#__PURE__*/_react.default.createElement(_UnhandledType.default, {
@@ -257,7 +261,7 @@ function UserSelect(_ref2) {
257
261
  formFieldProps: fieldProps,
258
262
  autoFocus: autoFocus || false,
259
263
  onBlur: function onBlur() {
260
- return onFieldChange(name, true);
264
+ return onFieldChange(name, meta.dirty);
261
265
  },
262
266
  onChange: onChange
263
267
  }), /*#__PURE__*/_react.default.createElement(_FieldMessages.default, {
@@ -144,7 +144,10 @@ var Header = function Header(_ref) {
144
144
  }, (0, _react2.jsx)(_primitives.Text, {
145
145
  as: "p",
146
146
  testId: "config-panel-header-description"
147
- }, description && (0, _react2.jsx)(_react.Fragment, null, description.replace(/([^.])$/, '$1.'), " "), documentationUrl && (enableHelpCTA ? (0, _react2.jsx)(_primitives.Box, {
147
+ }, description && (0, _react2.jsx)(_react.Fragment, null,
148
+ // Ignored via go/ees005
149
+ // eslint-disable-next-line require-unicode-regexp
150
+ description.replace(/([^.])$/, '$1.'), ' '), documentationUrl && (enableHelpCTA ? (0, _react2.jsx)(_primitives.Box, {
148
151
  xcss: helpLinkStyles
149
152
  }, (0, _react2.jsx)(_primitives.Text, {
150
153
  as: "p"
@@ -68,6 +68,9 @@ var getSafeParentedName = exports.getSafeParentedName = function getSafeParented
68
68
  }
69
69
  return name;
70
70
  };
71
+
72
+ // Ignored via go/ees005
73
+ // eslint-disable-next-line require-unicode-regexp
71
74
  var duplicateFieldRegex = /:[0-9]+$/;
72
75
  var isDuplicateField = exports.isDuplicateField = function isDuplicateField(key) {
73
76
  return duplicateFieldRegex.test(key);
@@ -81,5 +81,8 @@ var SaveIndicator = exports.SaveIndicator = function SaveIndicator(_ref) {
81
81
  size: "small"
82
82
  }), (0, _react2.jsx)(_primitives.Box, {
83
83
  xcss: saveIndicatorTextStyles
84
- }, (0, _react2.jsx)(_primitives.Text, null, (0, _react2.jsx)(_reactIntlNext.FormattedMessage, _extensions.messages.saveIndicator))))));
84
+ }, (0, _react2.jsx)(_primitives.Text, null, (0, _react2.jsx)(_reactIntlNext.FormattedMessage
85
+ // Ignored via go/ees005
86
+ // eslint-disable-next-line react/jsx-props-no-spreading
87
+ , _extensions.messages.saveIndicator))))));
85
88
  };