@atlaskit/editor-common 114.48.0 → 114.48.1

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 (49) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/cjs/clipboard/index.js +43 -42
  3. package/dist/cjs/element-browser/components/ElementList/ElementList.js +4 -1
  4. package/dist/cjs/extensibility/ExtensionComponent.js +15 -15
  5. package/dist/cjs/extensions/combine-extension-providers.js +7 -7
  6. package/dist/cjs/extensions/default-extension-provider.js +25 -28
  7. package/dist/cjs/extensions/extension-handlers.js +8 -8
  8. package/dist/cjs/extensions/manifest-helpers.js +7 -7
  9. package/dist/cjs/extensions/module-helpers.js +10 -10
  10. package/dist/cjs/floating-toolbar/DropdownMenuExtensionItems.js +17 -18
  11. package/dist/cjs/hooks/useSharedPluginStateSelector/useSharedPluginStateSelector.js +2 -1
  12. package/dist/cjs/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +92 -97
  13. package/dist/cjs/link/LinkSearch/index.js +47 -54
  14. package/dist/cjs/monitoring/error.js +15 -15
  15. package/dist/cjs/provider-helpers/combine-providers.js +24 -26
  16. package/dist/cjs/safe-plugin/index.js +2 -1
  17. package/dist/cjs/ui/DropList/index.js +1 -1
  18. package/dist/cjs/user-preferences/user-preferences-provider.js +8 -8
  19. package/dist/cjs/utils/index.js +6 -0
  20. package/dist/cjs/utils/node-type-utils.js +21 -1
  21. package/dist/es2019/element-browser/components/ElementList/ElementList.js +4 -1
  22. package/dist/es2019/monitoring/error.js +1 -1
  23. package/dist/es2019/ui/DropList/index.js +1 -1
  24. package/dist/es2019/utils/index.js +1 -1
  25. package/dist/es2019/utils/node-type-utils.js +20 -1
  26. package/dist/esm/clipboard/index.js +42 -41
  27. package/dist/esm/element-browser/components/ElementList/ElementList.js +4 -1
  28. package/dist/esm/extensibility/ExtensionComponent.js +14 -14
  29. package/dist/esm/extensions/combine-extension-providers.js +7 -7
  30. package/dist/esm/extensions/default-extension-provider.js +25 -28
  31. package/dist/esm/extensions/extension-handlers.js +8 -8
  32. package/dist/esm/extensions/manifest-helpers.js +7 -7
  33. package/dist/esm/extensions/module-helpers.js +10 -10
  34. package/dist/esm/floating-toolbar/DropdownMenuExtensionItems.js +16 -17
  35. package/dist/esm/hooks/useSharedPluginStateSelector/useSharedPluginStateSelector.js +2 -1
  36. package/dist/esm/link/LinkPicker/HyperlinkAddToolbar/HyperlinkAddToolbar.js +91 -96
  37. package/dist/esm/link/LinkSearch/index.js +47 -54
  38. package/dist/esm/monitoring/error.js +14 -14
  39. package/dist/esm/provider-helpers/combine-providers.js +24 -26
  40. package/dist/esm/safe-plugin/index.js +2 -1
  41. package/dist/esm/ui/DropList/index.js +1 -1
  42. package/dist/esm/user-preferences/user-preferences-provider.js +8 -8
  43. package/dist/esm/utils/index.js +1 -1
  44. package/dist/esm/utils/node-type-utils.js +20 -1
  45. package/dist/types/utils/index.d.ts +1 -1
  46. package/dist/types/utils/node-type-utils.d.ts +7 -1
  47. package/dist/types-ts4.5/utils/index.d.ts +1 -1
  48. package/dist/types-ts4.5/utils/node-type-utils.d.ts +7 -1
  49. package/package.json +4 -4
@@ -18,19 +18,19 @@ export default (function (providers) {
18
18
  var getFulfilledProviders = /*#__PURE__*/function () {
19
19
  var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
20
20
  var results;
21
- return _regeneratorRuntime.wrap(function _callee$(_context) {
21
+ return _regeneratorRuntime.wrap(function (_context) {
22
22
  while (1) switch (_context.prev = _context.next) {
23
23
  case 0:
24
- _context.next = 2;
24
+ _context.next = 1;
25
25
  return waitForAllPromises(providers.map(function (result) {
26
26
  return Promise.resolve(result);
27
27
  }));
28
- case 2:
28
+ case 1:
29
29
  results = _context.sent;
30
30
  return _context.abrupt("return", getOnlyFulfilled(results).filter(function (provider) {
31
31
  return provider != null;
32
32
  }));
33
- case 4:
33
+ case 2:
34
34
  case "end":
35
35
  return _context.stop();
36
36
  }
@@ -42,16 +42,16 @@ export default (function (providers) {
42
42
  }();
43
43
  var runInAllProviders = /*#__PURE__*/function () {
44
44
  var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(mapFunction) {
45
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
45
+ return _regeneratorRuntime.wrap(function (_context2) {
46
46
  while (1) switch (_context2.prev = _context2.next) {
47
47
  case 0:
48
- _context2.next = 2;
48
+ _context2.next = 1;
49
49
  return getFulfilledProviders();
50
- case 2:
50
+ case 1:
51
51
  return _context2.abrupt("return", _context2.sent.map(function (provider) {
52
52
  return mapFunction(provider);
53
53
  }));
54
- case 3:
54
+ case 2:
55
55
  case "end":
56
56
  return _context2.stop();
57
57
  }
@@ -83,18 +83,17 @@ export default (function (providers) {
83
83
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
84
84
  var invokeSingle = /*#__PURE__*/function () {
85
85
  var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(methodName, args) {
86
- var callback;
87
- return _regeneratorRuntime.wrap(function _callee3$(_context3) {
86
+ var callback, _t;
87
+ return _regeneratorRuntime.wrap(function (_context3) {
88
88
  while (1) switch (_context3.prev = _context3.next) {
89
89
  case 0:
90
90
  callback = createCallback(methodName, args);
91
- _context3.t0 = waitForFirstFulfilledPromise;
92
- _context3.next = 4;
91
+ _t = waitForFirstFulfilledPromise;
92
+ _context3.next = 1;
93
93
  return runInAllProviders(callback);
94
- case 4:
95
- _context3.t1 = _context3.sent;
96
- return _context3.abrupt("return", (0, _context3.t0)(_context3.t1));
97
- case 6:
94
+ case 1:
95
+ return _context3.abrupt("return", _t(_context3.sent));
96
+ case 2:
98
97
  case "end":
99
98
  return _context3.stop();
100
99
  }
@@ -114,25 +113,24 @@ export default (function (providers) {
114
113
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
115
114
  var invokeList = /*#__PURE__*/function () {
116
115
  var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(methodName, args) {
117
- var callback, results, fulfilledResults;
118
- return _regeneratorRuntime.wrap(function _callee4$(_context4) {
116
+ var callback, results, fulfilledResults, _t2;
117
+ return _regeneratorRuntime.wrap(function (_context4) {
119
118
  while (1) switch (_context4.prev = _context4.next) {
120
119
  case 0:
121
120
  callback = createCallback(methodName, args);
122
- _context4.t0 = waitForAllPromises;
123
- _context4.next = 4;
121
+ _t2 = waitForAllPromises;
122
+ _context4.next = 1;
124
123
  return runInAllProviders(callback);
125
- case 4:
126
- _context4.t1 = _context4.sent;
127
- _context4.next = 7;
128
- return (0, _context4.t0)(_context4.t1);
129
- case 7:
124
+ case 1:
125
+ _context4.next = 2;
126
+ return _t2(_context4.sent);
127
+ case 2:
130
128
  results = _context4.sent;
131
129
  fulfilledResults = getOnlyFulfilled(results);
132
130
  return _context4.abrupt("return", flatten(fulfilledResults).filter(function (result) {
133
131
  return result;
134
132
  }));
135
- case 10:
133
+ case 3:
136
134
  case "end":
137
135
  return _context4.stop();
138
136
  }
@@ -8,6 +8,7 @@ import _toArray from "@babel/runtime/helpers/toArray";
8
8
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
9
9
  function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
10
10
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
11
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
11
12
  import { Plugin } from '@atlaskit/editor-prosemirror/state';
12
13
  import { fg } from '@atlaskit/platform-feature-flags';
13
14
  import { expValEquals } from '@atlaskit/tmp-editor-statsig/exp-val-equals';
@@ -79,7 +80,7 @@ var wrapGetPosExceptions = function wrapGetPosExceptions(spec) {
79
80
  node = _argumentsList[0],
80
81
  view = _argumentsList[1],
81
82
  unsafeGetPos = _argumentsList[2],
82
- more = _argumentsList.slice(3);
83
+ more = _arrayLikeToArray(_argumentsList).slice(3);
83
84
  if (!nodeIdProvider && expValEquals('platform_editor_native_anchor_with_dnd', 'isEnabled', true)) {
84
85
  nodeIdProvider = getNodeIdProvider(view);
85
86
  }
@@ -21,7 +21,7 @@ import withAnalyticsEvents from '@atlaskit/analytics-next/withAnalyticsEvents';
21
21
  import { fg } from '@atlaskit/platform-feature-flags';
22
22
  import Layer from '../Layer';
23
23
  var packageName = "@atlaskit/editor-common";
24
- var packageVersion = "114.47.3";
24
+ var packageVersion = "114.48.0";
25
25
  var halfFocusRing = 1;
26
26
  var dropOffset = '0, 8';
27
27
  var fadeIn = keyframes({
@@ -58,15 +58,15 @@ export var UserPreferencesProvider = /*#__PURE__*/function () {
58
58
  value: (function () {
59
59
  var _loadPreferences = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
60
60
  var userPreferences;
61
- return _regeneratorRuntime.wrap(function _callee$(_context) {
61
+ return _regeneratorRuntime.wrap(function (_context) {
62
62
  while (1) switch (_context.prev = _context.next) {
63
63
  case 0:
64
- _context.next = 2;
64
+ _context.next = 1;
65
65
  return this.persistenceAPI.loadUserPreferences();
66
- case 2:
66
+ case 1:
67
67
  userPreferences = _context.sent;
68
68
  this.setUserPreferences(userPreferences);
69
- case 4:
69
+ case 2:
70
70
  case "end":
71
71
  return _context.stop();
72
72
  }
@@ -91,15 +91,15 @@ export var UserPreferencesProvider = /*#__PURE__*/function () {
91
91
  value: (function () {
92
92
  var _updatePreference = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(key, value) {
93
93
  var userPreferences;
94
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
94
+ return _regeneratorRuntime.wrap(function (_context2) {
95
95
  while (1) switch (_context2.prev = _context2.next) {
96
96
  case 0:
97
- _context2.next = 2;
97
+ _context2.next = 1;
98
98
  return this.persistenceAPI.updateUserPreference(key, value);
99
- case 2:
99
+ case 1:
100
100
  userPreferences = _context2.sent;
101
101
  this.setUserPreferences(userPreferences);
102
- case 4:
102
+ case 2:
103
103
  case "end":
104
104
  return _context2.stop();
105
105
  }
@@ -366,4 +366,4 @@ export { calculateToolbarPositionAboveSelection, calculateToolbarPositionOnCellS
366
366
  export { findNodePosByLocalIds } from './nodes-by-localIds';
367
367
  export { getPageElementCounts } from './page-element-counts';
368
368
  export { withFeatureFlaggedComponent } from './withFeatureFlaggedComponent';
369
- export { isNodeOfSameBaseType, getBaseNodeTypeName } from './node-type-utils';
369
+ export { isNodeOfSameBaseType, getBaseNodeTypeName, isNodeTypeValidChildOf } from './node-type-utils';
@@ -1,3 +1,4 @@
1
+ import { Fragment } from '@atlaskit/editor-prosemirror/model';
1
2
  /**
2
3
  * Returns the base name of a node type, stripping known variant suffixes.
3
4
  */
@@ -17,4 +18,22 @@ export function getBaseNodeTypeName(nodeType) {
17
18
  */
18
19
  export function isNodeOfSameBaseType(a, b) {
19
20
  return getBaseNodeTypeName(a) === getBaseNodeTypeName(b);
20
- }
21
+ }
22
+
23
+ /**
24
+ * Checks if a node type is a valid child of a parent node by creating a minimal valid
25
+ * instance and validating it against the parent's content expression. Unlike ProseMirror's
26
+ * canReplaceWith, this checks general type compatibility without requiring a specific insertion index.
27
+ */
28
+ export function isNodeTypeValidChildOf(childTypeName, parentNode, schema) {
29
+ var childType = schema.nodes[childTypeName];
30
+ if (!childType) {
31
+ return false;
32
+ }
33
+ var candidate = childType.createAndFill();
34
+ if (!candidate) {
35
+ return false;
36
+ }
37
+ return parentNode.type.validContent(Fragment.from(candidate));
38
+ }
39
+ ;
@@ -214,4 +214,4 @@ export { findNodePosByLocalIds } from './nodes-by-localIds';
214
214
  export { getPageElementCounts } from './page-element-counts';
215
215
  export type { PageElementCounts } from './page-element-counts';
216
216
  export { withFeatureFlaggedComponent } from './withFeatureFlaggedComponent';
217
- export { isNodeOfSameBaseType, getBaseNodeTypeName } from './node-type-utils';
217
+ export { isNodeOfSameBaseType, getBaseNodeTypeName, isNodeTypeValidChildOf } from './node-type-utils';
@@ -1,4 +1,4 @@
1
- import type { NodeType } from '@atlaskit/editor-prosemirror/model';
1
+ import type { NodeType, Node as PMNode, Schema } from '@atlaskit/editor-prosemirror/model';
2
2
  export declare function getBaseNodeTypeName(nodeType: NodeType): string;
3
3
  /**
4
4
  * Returns true if two node types share the same base type name.
@@ -7,3 +7,9 @@ export declare function getBaseNodeTypeName(nodeType: NodeType): string;
7
7
  * (e.g. `panel` and `panel_c1` are considered the same base type).
8
8
  */
9
9
  export declare function isNodeOfSameBaseType(a: NodeType, b: NodeType): boolean;
10
+ /**
11
+ * Checks if a node type is a valid child of a parent node by creating a minimal valid
12
+ * instance and validating it against the parent's content expression. Unlike ProseMirror's
13
+ * canReplaceWith, this checks general type compatibility without requiring a specific insertion index.
14
+ */
15
+ export declare function isNodeTypeValidChildOf(childTypeName: string, parentNode: PMNode, schema: Schema): boolean;
@@ -214,4 +214,4 @@ export { findNodePosByLocalIds } from './nodes-by-localIds';
214
214
  export { getPageElementCounts } from './page-element-counts';
215
215
  export type { PageElementCounts } from './page-element-counts';
216
216
  export { withFeatureFlaggedComponent } from './withFeatureFlaggedComponent';
217
- export { isNodeOfSameBaseType, getBaseNodeTypeName } from './node-type-utils';
217
+ export { isNodeOfSameBaseType, getBaseNodeTypeName, isNodeTypeValidChildOf } from './node-type-utils';
@@ -1,4 +1,4 @@
1
- import type { NodeType } from '@atlaskit/editor-prosemirror/model';
1
+ import type { NodeType, Node as PMNode, Schema } from '@atlaskit/editor-prosemirror/model';
2
2
  export declare function getBaseNodeTypeName(nodeType: NodeType): string;
3
3
  /**
4
4
  * Returns true if two node types share the same base type name.
@@ -7,3 +7,9 @@ export declare function getBaseNodeTypeName(nodeType: NodeType): string;
7
7
  * (e.g. `panel` and `panel_c1` are considered the same base type).
8
8
  */
9
9
  export declare function isNodeOfSameBaseType(a: NodeType, b: NodeType): boolean;
10
+ /**
11
+ * Checks if a node type is a valid child of a parent node by creating a minimal valid
12
+ * instance and validating it against the parent's content expression. Unlike ProseMirror's
13
+ * canReplaceWith, this checks general type compatibility without requiring a specific insertion index.
14
+ */
15
+ export declare function isNodeTypeValidChildOf(childTypeName: string, parentNode: PMNode, schema: Schema): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "114.48.0",
3
+ "version": "114.48.1",
4
4
  "description": "A package that contains common classes and components for editor and renderer",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"
@@ -62,7 +62,7 @@
62
62
  "@atlaskit/link": "^3.4.0",
63
63
  "@atlaskit/link-datasource": "^5.4.0",
64
64
  "@atlaskit/link-picker": "^5.2.0",
65
- "@atlaskit/media-card": "^80.5.0",
65
+ "@atlaskit/media-card": "^80.6.0",
66
66
  "@atlaskit/media-client": "^36.3.0",
67
67
  "@atlaskit/media-client-react": "^5.1.0",
68
68
  "@atlaskit/media-common": "^13.3.0",
@@ -79,7 +79,7 @@
79
79
  "@atlaskit/primitives": "^19.0.0",
80
80
  "@atlaskit/profilecard": "^25.7.0",
81
81
  "@atlaskit/prosemirror-history": "^0.2.0",
82
- "@atlaskit/react-ufo": "^6.1.0",
82
+ "@atlaskit/react-ufo": "^6.2.0",
83
83
  "@atlaskit/section-message": "^8.13.0",
84
84
  "@atlaskit/smart-card": "^44.16.0",
85
85
  "@atlaskit/smart-user-picker": "^10.1.0",
@@ -87,7 +87,7 @@
87
87
  "@atlaskit/task-decision": "^20.1.0",
88
88
  "@atlaskit/teams-app-config": "^1.12.0",
89
89
  "@atlaskit/textfield": "^8.3.0",
90
- "@atlaskit/tmp-editor-statsig": "^84.0.0",
90
+ "@atlaskit/tmp-editor-statsig": "^84.2.0",
91
91
  "@atlaskit/tokens": "^13.0.0",
92
92
  "@atlaskit/tooltip": "^22.3.0",
93
93
  "@atlaskit/width-detector": "^5.1.0",