@atlaskit/editor-common 74.51.0 → 74.51.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 (49) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/monitoring/error.js +1 -1
  3. package/dist/cjs/quick-insert/assets/action.js +0 -2
  4. package/dist/cjs/quick-insert/assets/code.js +0 -2
  5. package/dist/cjs/quick-insert/assets/decision.js +0 -2
  6. package/dist/cjs/quick-insert/assets/divider.js +0 -2
  7. package/dist/cjs/quick-insert/assets/emoji.js +23 -8
  8. package/dist/cjs/quick-insert/assets/expand.js +28 -10
  9. package/dist/cjs/quick-insert/assets/fallback.js +43 -8
  10. package/dist/cjs/ui/DropList/index.js +1 -1
  11. package/dist/cjs/utils/count-nodes.js +37 -0
  12. package/dist/cjs/utils/document.js +6 -1
  13. package/dist/cjs/utils/index.js +20 -0
  14. package/dist/cjs/utils/performance/get-performance-timing.js +17 -0
  15. package/dist/es2019/monitoring/error.js +1 -1
  16. package/dist/es2019/quick-insert/assets/action.js +0 -1
  17. package/dist/es2019/quick-insert/assets/code.js +0 -1
  18. package/dist/es2019/quick-insert/assets/decision.js +0 -1
  19. package/dist/es2019/quick-insert/assets/divider.js +0 -1
  20. package/dist/es2019/quick-insert/assets/emoji.js +24 -7
  21. package/dist/es2019/quick-insert/assets/expand.js +29 -9
  22. package/dist/es2019/quick-insert/assets/fallback.js +44 -8
  23. package/dist/es2019/ui/DropList/index.js +1 -1
  24. package/dist/es2019/utils/count-nodes.js +31 -0
  25. package/dist/es2019/utils/document.js +2 -1
  26. package/dist/es2019/utils/index.js +3 -1
  27. package/dist/es2019/utils/performance/get-performance-timing.js +8 -0
  28. package/dist/esm/monitoring/error.js +1 -1
  29. package/dist/esm/quick-insert/assets/action.js +0 -1
  30. package/dist/esm/quick-insert/assets/code.js +0 -1
  31. package/dist/esm/quick-insert/assets/decision.js +0 -1
  32. package/dist/esm/quick-insert/assets/divider.js +0 -1
  33. package/dist/esm/quick-insert/assets/emoji.js +23 -7
  34. package/dist/esm/quick-insert/assets/expand.js +28 -9
  35. package/dist/esm/quick-insert/assets/fallback.js +43 -8
  36. package/dist/esm/ui/DropList/index.js +1 -1
  37. package/dist/esm/utils/count-nodes.js +31 -0
  38. package/dist/esm/utils/document.js +4 -1
  39. package/dist/esm/utils/index.js +3 -1
  40. package/dist/esm/utils/performance/get-performance-timing.js +10 -0
  41. package/dist/types/utils/count-nodes.d.ts +8 -0
  42. package/dist/types/utils/document.d.ts +4 -2
  43. package/dist/types/utils/index.d.ts +3 -1
  44. package/dist/types/utils/performance/get-performance-timing.d.ts +8 -0
  45. package/dist/types-ts4.5/utils/count-nodes.d.ts +8 -0
  46. package/dist/types-ts4.5/utils/document.d.ts +4 -2
  47. package/dist/types-ts4.5/utils/index.d.ts +3 -1
  48. package/dist/types-ts4.5/utils/performance/get-performance-timing.d.ts +8 -0
  49. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,17 @@
1
1
  # @atlaskit/editor-common
2
2
 
3
+ ## 74.51.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [`14a853a7939`](https://bitbucket.org/atlassian/atlassian-frontend/commits/14a853a7939) - [ux] ED-19439 Added dark mode icons for emoji, expand and fallback
8
+
9
+ ## 74.51.1
10
+
11
+ ### Patch Changes
12
+
13
+ - [`f68eb1b1731`](https://bitbucket.org/atlassian/atlassian-frontend/commits/f68eb1b1731) - Move common functions from `editor-core` to `editor-common` in preparation for `base` plugin extraction
14
+
3
15
  ## 74.51.0
4
16
 
5
17
  ### Minor Changes
@@ -16,7 +16,7 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
16
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
17
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
18
18
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
19
- var packageVersion = "74.51.0";
19
+ var packageVersion = "74.51.2";
20
20
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
21
21
  // Remove URL as it has UGC
22
22
  // TODO: Sanitise the URL instead of just removing it
@@ -7,8 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = IconAction;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _useIconThemed2 = require("../use-icon-themed");
10
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
11
-
12
10
  function IconAction() {
13
11
  var _useIconThemed = (0, _useIconThemed2.useIconThemed)(),
14
12
  iconThemed = _useIconThemed.iconThemed;
@@ -7,8 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = IconCode;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _useIconThemed2 = require("../use-icon-themed");
10
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
11
-
12
10
  function IconCode() {
13
11
  var _useIconThemed = (0, _useIconThemed2.useIconThemed)(),
14
12
  iconThemed = _useIconThemed.iconThemed;
@@ -7,8 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = IconDecision;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _useIconThemed2 = require("../use-icon-themed");
10
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
11
-
12
10
  function IconDecision() {
13
11
  var _useIconThemed = (0, _useIconThemed2.useIconThemed)(),
14
12
  iconThemed = _useIconThemed.iconThemed;
@@ -7,8 +7,6 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = IconDivider;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _useIconThemed2 = require("../use-icon-themed");
10
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
11
-
12
10
  function IconDivider() {
13
11
  var _useIconThemed = (0, _useIconThemed2.useIconThemed)(),
14
12
  iconThemed = _useIconThemed.iconThemed;
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = IconEmoji;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
10
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
11
-
9
+ var _useIconThemed2 = require("../use-icon-themed");
12
10
  function IconEmoji() {
11
+ var _useIconThemed = (0, _useIconThemed2.useIconThemed)(),
12
+ iconThemed = _useIconThemed.iconThemed;
13
13
  return /*#__PURE__*/_react.default.createElement("svg", {
14
14
  focusable: "false",
15
15
  "aria-hidden": true,
@@ -19,19 +19,34 @@ function IconEmoji() {
19
19
  fill: "none",
20
20
  fillRule: "evenodd"
21
21
  }, /*#__PURE__*/_react.default.createElement("path", {
22
- fill: "#FFF",
22
+ fill: iconThemed({
23
+ light: '#FFF',
24
+ dark: '#161A1D'
25
+ }),
23
26
  d: "M0 0h40v40H0z"
24
27
  }), /*#__PURE__*/_react.default.createElement("path", {
25
28
  d: "M32 20c0 6.627-5.373 12-12 12S8 26.627 8 20 13.373 8 20 8s12 5.373 12 12",
26
- fill: "#FFCC4D"
29
+ fill: iconThemed({
30
+ light: '#FFCC4D',
31
+ dark: '#946F00'
32
+ })
27
33
  }), /*#__PURE__*/_react.default.createElement("path", {
28
34
  d: "M20 22c-2.415 0-4.018-.281-6-.667-.453-.087-1.333 0-1.333 1.334 0 2.666 3.063 6 7.333 6s7.333-3.334 7.333-6c0-1.334-.88-1.422-1.333-1.334-1.982.386-3.585.667-6 .667",
29
- fill: "#664500"
35
+ fill: iconThemed({
36
+ light: '#664500',
37
+ dark: '#43290F'
38
+ })
30
39
  }), /*#__PURE__*/_react.default.createElement("path", {
31
40
  d: "M14 22.667s2 .666 6 .666 6-.666 6-.666-1.333 2.666-6 2.666-6-2.666-6-2.666",
32
- fill: "#FFF"
41
+ fill: iconThemed({
42
+ light: '#FFF',
43
+ dark: '#8696A7'
44
+ })
33
45
  }), /*#__PURE__*/_react.default.createElement("path", {
34
46
  d: "M17.667 17c0 1.29-.746 2.333-1.667 2.333-.92 0-1.667-1.044-1.667-2.333 0-1.289.746-2.333 1.667-2.333.92 0 1.667 1.044 1.667 2.333m8 0c0 1.29-.746 2.333-1.667 2.333-.92 0-1.667-1.044-1.667-2.333 0-1.289.746-2.333 1.667-2.333.92 0 1.667 1.044 1.667 2.333",
35
- fill: "#664500"
47
+ fill: iconThemed({
48
+ light: '#664500',
49
+ dark: '#43290F'
50
+ })
36
51
  })));
37
52
  }
@@ -6,10 +6,10 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = IconExpand;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
10
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
11
-
9
+ var _useIconThemed2 = require("../use-icon-themed");
12
10
  function IconExpand() {
11
+ var _useIconThemed = (0, _useIconThemed2.useIconThemed)(),
12
+ iconThemed = _useIconThemed.iconThemed;
13
13
  return /*#__PURE__*/_react.default.createElement("svg", {
14
14
  focusable: "false",
15
15
  "aria-hidden": true,
@@ -19,21 +19,36 @@ function IconExpand() {
19
19
  fill: "none",
20
20
  fillRule: "evenodd"
21
21
  }, /*#__PURE__*/_react.default.createElement("path", {
22
- fill: "#FFF",
22
+ fill: iconThemed({
23
+ light: '#FFF',
24
+ dark: '#161A1D'
25
+ }),
23
26
  d: "M0 0h40v40H0z"
24
27
  }), /*#__PURE__*/_react.default.createElement("g", {
25
28
  transform: "translate(7 8)"
26
29
  }, /*#__PURE__*/_react.default.createElement("path", {
27
30
  d: "M1 0h31v24H1a1 1 0 01-1-1V1a1 1 0 011-1z",
28
- fill: "#EBECF0"
31
+ fill: iconThemed({
32
+ light: '#EBECF0',
33
+ dark: '#2C333A'
34
+ })
29
35
  }), /*#__PURE__*/_react.default.createElement("path", {
30
- d: "M3 7h31v15H3a1 1 0 01-1-1V8a1 1 0 011-1z",
31
- fill: "#FFF"
36
+ d: "M1 7h31v15H3a1 1 0 01-1-1V8a1 1 0 011-1z",
37
+ fill: iconThemed({
38
+ light: '#FFF',
39
+ dark: '#454F59'
40
+ })
32
41
  }), /*#__PURE__*/_react.default.createElement("path", {
33
42
  d: "M5.5 18h14a.5.5 0 110 1h-14a.5.5 0 110-1zm0-3h23a.5.5 0 110 1h-23a.5.5 0 110-1zm0-3h23a.5.5 0 110 1h-23a.5.5 0 110-1zm0-3h23a.5.5 0 110 1h-23a.5.5 0 010-1z",
34
- fill: "#A5ADBA"
43
+ fill: iconThemed({
44
+ light: '#A5ADBA',
45
+ dark: '#8696A7'
46
+ })
35
47
  }), /*#__PURE__*/_react.default.createElement("rect", {
36
- fill: "#2684FF",
48
+ fill: iconThemed({
49
+ light: '#2684FF',
50
+ dark: '#0C66E4'
51
+ }),
37
52
  x: 7,
38
53
  y: 3,
39
54
  width: 18,
@@ -41,7 +56,10 @@ function IconExpand() {
41
56
  rx: 0.5
42
57
  }), /*#__PURE__*/_react.default.createElement("path", {
43
58
  d: "M2.646 2.354a.5.5 0 11.708-.708l1.5 1.5a.5.5 0 010 .708l-1.5 1.5a.5.5 0 11-.708-.708L3.793 3.5 2.646 2.354z",
44
- fill: "#2684FF",
59
+ fill: iconThemed({
60
+ light: '#2684FF',
61
+ dark: '#0C66E4'
62
+ }),
45
63
  fillRule: "nonzero"
46
64
  }))));
47
65
  }
@@ -6,10 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = IconFallback;
8
8
  var _react = _interopRequireDefault(require("react"));
9
- // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
9
+ var _useIconThemed2 = require("../use-icon-themed");
10
10
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
11
11
 
12
12
  function IconFallback() {
13
+ var _useIconThemed = (0, _useIconThemed2.useIconThemed)(),
14
+ iconThemed = _useIconThemed.iconThemed;
13
15
  return /*#__PURE__*/_react.default.createElement("svg", {
14
16
  focusable: "false",
15
17
  "aria-hidden": true,
@@ -27,29 +29,62 @@ function IconFallback() {
27
29
  }), /*#__PURE__*/_react.default.createElement("stop", {
28
30
  stopColor: "#A5ADBA",
29
31
  offset: "100%"
32
+ })), /*#__PURE__*/_react.default.createElement("linearGradient", {
33
+ x1: "-12.24%",
34
+ y1: "100%",
35
+ x2: "82.44%",
36
+ y2: "0%",
37
+ id: "fallback-b"
38
+ }, /*#__PURE__*/_react.default.createElement("stop", {
39
+ stopColor: "#5A6977",
40
+ offset: "0%"
41
+ }), /*#__PURE__*/_react.default.createElement("stop", {
42
+ stopColor: "#454F59",
43
+ offset: "100%"
30
44
  }))), /*#__PURE__*/_react.default.createElement("g", {
31
45
  fill: "none",
32
46
  fillRule: "evenodd"
33
47
  }, /*#__PURE__*/_react.default.createElement("path", {
34
- fill: "#FFF",
48
+ fill: iconThemed({
49
+ light: '#FFF',
50
+ dark: '#161A1D'
51
+ }),
35
52
  d: "M0 0h40v40H0z"
36
53
  }), /*#__PURE__*/_react.default.createElement("path", {
37
- fill: "#DFE1E6",
54
+ fill: iconThemed({
55
+ light: '#DFE1E6',
56
+ dark: '#738496'
57
+ }),
38
58
  d: "M20 16h12v12H20z"
39
59
  }), /*#__PURE__*/_react.default.createElement("path", {
40
- fill: "url(#fallback-a)",
60
+ fill: iconThemed({
61
+ light: 'url(#fallback-a)',
62
+ dark: 'url(#fallback-b)'
63
+ }),
41
64
  d: "M8 16h12v12H8z"
42
65
  }), /*#__PURE__*/_react.default.createElement("path", {
43
66
  d: "M20 16c-4 .5-6.029 2.5-6.086 6-.057 3.5-2.028 5.5-5.914 6h12V16z",
44
- fill: "#A5ADBA"
67
+ fill: iconThemed({
68
+ light: '#A5ADBA',
69
+ dark: '#454F59'
70
+ })
45
71
  }), /*#__PURE__*/_react.default.createElement("path", {
46
- fill: "#B3BAC5",
72
+ fill: iconThemed({
73
+ light: '#B3BAC5',
74
+ dark: '#454F59'
75
+ }),
47
76
  d: "M17.5 13h5v3h-5z"
48
77
  }), /*#__PURE__*/_react.default.createElement("path", {
49
- fill: "#A5ADBA",
78
+ fill: iconThemed({
79
+ light: '#A5ADBA',
80
+ dark: '#454F59'
81
+ }),
50
82
  d: "M10 13h5v3h-5z"
51
83
  }), /*#__PURE__*/_react.default.createElement("path", {
52
- fill: "#DFE1E6",
84
+ fill: iconThemed({
85
+ light: '#DFE1E6',
86
+ dark: '#738496'
87
+ }),
53
88
  d: "M25 13h5v3h-5z"
54
89
  })));
55
90
  }
@@ -24,7 +24,7 @@ var _templateObject, _templateObject2, _templateObject3;
24
24
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
25
25
  function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } /** @jsx jsx */
26
26
  var packageName = "@atlaskit/editor-common";
27
- var packageVersion = "74.51.0";
27
+ var packageVersion = "74.51.2";
28
28
  var halfFocusRing = 1;
29
29
  var dropOffset = '0, 8';
30
30
  var DropList = /*#__PURE__*/function (_Component) {
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.countNodes = countNodes;
7
+ function countNodes(state) {
8
+ var _nodeTypes$extension, _nodeTypes$inlineExte, _nodeTypes$bodiedExte;
9
+ var nodeCount = {};
10
+ var extensionNodeCount = {};
11
+ var nodeTypes = state.schema.nodes;
12
+ var extensionNodeTypes = [(_nodeTypes$extension = nodeTypes.extension) === null || _nodeTypes$extension === void 0 ? void 0 : _nodeTypes$extension.name, (_nodeTypes$inlineExte = nodeTypes.inlineExtension) === null || _nodeTypes$inlineExte === void 0 ? void 0 : _nodeTypes$inlineExte.name, (_nodeTypes$bodiedExte = nodeTypes.bodiedExtension) === null || _nodeTypes$bodiedExte === void 0 ? void 0 : _nodeTypes$bodiedExte.name];
13
+ state.doc.descendants(function (node) {
14
+ var _node$attrs;
15
+ var nodeName = node.type.name;
16
+ if (nodeName in nodeCount) {
17
+ nodeCount[nodeName]++;
18
+ } else {
19
+ nodeCount[nodeName] = 1;
20
+ }
21
+ var extensionNodeName = nodeName;
22
+ if (extensionNodeTypes.includes(extensionNodeName) && (_node$attrs = node.attrs) !== null && _node$attrs !== void 0 && _node$attrs.extensionType) {
23
+ var _node$attrs2;
24
+ extensionNodeName = "".concat(node.attrs.extensionType, " - ").concat((_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.extensionKey);
25
+ if (extensionNodeName in extensionNodeCount) {
26
+ extensionNodeCount[extensionNodeName]++;
27
+ } else {
28
+ extensionNodeCount[extensionNodeName] = 1;
29
+ }
30
+ }
31
+ return true;
32
+ });
33
+ return {
34
+ nodeCount: nodeCount,
35
+ extensionNodeCount: extensionNodeCount
36
+ };
37
+ }
@@ -8,6 +8,7 @@ exports.getStepRange = void 0;
8
8
  exports.hasDocAsParent = hasDocAsParent;
9
9
  exports.hasVisibleContent = hasVisibleContent;
10
10
  exports.isEmptyDocument = isEmptyDocument;
11
+ exports.isSelectionEndOfParagraph = void 0;
11
12
  exports.nodesBetweenChanged = nodesBetweenChanged;
12
13
  exports.processRawValue = processRawValue;
13
14
  var _transforms = require("@atlaskit/adf-utils/transforms");
@@ -280,4 +281,8 @@ function hasVisibleContent(node) {
280
281
  }
281
282
  }
282
283
  return false;
283
- }
284
+ }
285
+ var isSelectionEndOfParagraph = function isSelectionEndOfParagraph(state) {
286
+ return state.selection.$to.parent.type === state.schema.nodes.paragraph && state.selection.$to.pos === state.doc.resolve(state.selection.$to.pos).end();
287
+ };
288
+ exports.isSelectionEndOfParagraph = isSelectionEndOfParagraph;
@@ -239,6 +239,12 @@ Object.defineProperty(exports, "convertProsemirrorTableNodeToArrayOfRows", {
239
239
  return _table.convertProsemirrorTableNodeToArrayOfRows;
240
240
  }
241
241
  });
242
+ Object.defineProperty(exports, "countNodes", {
243
+ enumerable: true,
244
+ get: function get() {
245
+ return _countNodes.countNodes;
246
+ }
247
+ });
242
248
  Object.defineProperty(exports, "createCompareNodes", {
243
249
  enumerable: true,
244
250
  get: function get() {
@@ -462,6 +468,12 @@ Object.defineProperty(exports, "getTTISeverity", {
462
468
  return _measureTti.getTTISeverity;
463
469
  }
464
470
  });
471
+ Object.defineProperty(exports, "getTimeSince", {
472
+ enumerable: true,
473
+ get: function get() {
474
+ return _getPerformanceTiming.getTimeSince;
475
+ }
476
+ });
465
477
  Object.defineProperty(exports, "getTitle", {
466
478
  enumerable: true,
467
479
  get: function get() {
@@ -664,6 +676,12 @@ Object.defineProperty(exports, "isRichMediaInsideOfBlockNode", {
664
676
  return _richMediaUtils.isRichMediaInsideOfBlockNode;
665
677
  }
666
678
  });
679
+ Object.defineProperty(exports, "isSelectionEndOfParagraph", {
680
+ enumerable: true,
681
+ get: function get() {
682
+ return _document.isSelectionEndOfParagraph;
683
+ }
684
+ });
667
685
  exports.isSelectionInsideLastNodeInDocument = isSelectionInsideLastNodeInDocument;
668
686
  Object.defineProperty(exports, "isSupportedInParent", {
669
687
  enumerable: true,
@@ -1020,6 +1038,8 @@ var _privacyFilter = require("./filter/privacy-filter");
1020
1038
  var _datasource = require("./datasource");
1021
1039
  var _commands = require("./commands");
1022
1040
  var _scrollGutter = require("./scroll-gutter");
1041
+ var _getPerformanceTiming = require("./performance/get-performance-timing");
1042
+ var _countNodes = require("./count-nodes");
1023
1043
  var _inputRules = require("./input-rules");
1024
1044
  // prosemirror-history does not export its plugin key
1025
1045
  var pmHistoryPluginKey = 'history$';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.getTimeSince = void 0;
7
+ /**
8
+ * Calculate the difference between performance.now() and the given startTime.
9
+ * This allows for the timing to be overridable during tests.
10
+ *
11
+ * @param startTime DOMHighResTimeStamp
12
+ * @returns DOMHighResTimeStamp
13
+ */
14
+ var getTimeSince = function getTimeSince(startTime) {
15
+ return performance.now() - startTime;
16
+ };
17
+ exports.getTimeSince = getTimeSince;
@@ -1,6 +1,6 @@
1
1
  const SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
2
2
  const packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
3
- const packageVersion = "74.51.0";
3
+ const packageVersion = "74.51.2";
4
4
  const sanitiseSentryEvents = (data, _hint) => {
5
5
  // Remove URL as it has UGC
6
6
  // TODO: Sanitise the URL instead of just removing it
@@ -1,4 +1,3 @@
1
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
2
1
  import React from 'react';
3
2
  import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconAction() {
@@ -1,4 +1,3 @@
1
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
2
1
  import React from 'react';
3
2
  import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconCode() {
@@ -1,4 +1,3 @@
1
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
2
1
  import React from 'react';
3
2
  import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconDecision() {
@@ -1,4 +1,3 @@
1
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
2
1
  import React from 'react';
3
2
  import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconDivider() {
@@ -1,7 +1,9 @@
1
- // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
3
1
  import React from 'react';
2
+ import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconEmoji() {
4
+ const {
5
+ iconThemed
6
+ } = useIconThemed();
5
7
  return /*#__PURE__*/React.createElement("svg", {
6
8
  focusable: "false",
7
9
  "aria-hidden": true,
@@ -11,19 +13,34 @@ export default function IconEmoji() {
11
13
  fill: "none",
12
14
  fillRule: "evenodd"
13
15
  }, /*#__PURE__*/React.createElement("path", {
14
- fill: "#FFF",
16
+ fill: iconThemed({
17
+ light: '#FFF',
18
+ dark: '#161A1D'
19
+ }),
15
20
  d: "M0 0h40v40H0z"
16
21
  }), /*#__PURE__*/React.createElement("path", {
17
22
  d: "M32 20c0 6.627-5.373 12-12 12S8 26.627 8 20 13.373 8 20 8s12 5.373 12 12",
18
- fill: "#FFCC4D"
23
+ fill: iconThemed({
24
+ light: '#FFCC4D',
25
+ dark: '#946F00'
26
+ })
19
27
  }), /*#__PURE__*/React.createElement("path", {
20
28
  d: "M20 22c-2.415 0-4.018-.281-6-.667-.453-.087-1.333 0-1.333 1.334 0 2.666 3.063 6 7.333 6s7.333-3.334 7.333-6c0-1.334-.88-1.422-1.333-1.334-1.982.386-3.585.667-6 .667",
21
- fill: "#664500"
29
+ fill: iconThemed({
30
+ light: '#664500',
31
+ dark: '#43290F'
32
+ })
22
33
  }), /*#__PURE__*/React.createElement("path", {
23
34
  d: "M14 22.667s2 .666 6 .666 6-.666 6-.666-1.333 2.666-6 2.666-6-2.666-6-2.666",
24
- fill: "#FFF"
35
+ fill: iconThemed({
36
+ light: '#FFF',
37
+ dark: '#8696A7'
38
+ })
25
39
  }), /*#__PURE__*/React.createElement("path", {
26
40
  d: "M17.667 17c0 1.29-.746 2.333-1.667 2.333-.92 0-1.667-1.044-1.667-2.333 0-1.289.746-2.333 1.667-2.333.92 0 1.667 1.044 1.667 2.333m8 0c0 1.29-.746 2.333-1.667 2.333-.92 0-1.667-1.044-1.667-2.333 0-1.289.746-2.333 1.667-2.333.92 0 1.667 1.044 1.667 2.333",
27
- fill: "#664500"
41
+ fill: iconThemed({
42
+ light: '#664500',
43
+ dark: '#43290F'
44
+ })
28
45
  })));
29
46
  }
@@ -1,7 +1,9 @@
1
- // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
3
1
  import React from 'react';
2
+ import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconExpand() {
4
+ const {
5
+ iconThemed
6
+ } = useIconThemed();
5
7
  return /*#__PURE__*/React.createElement("svg", {
6
8
  focusable: "false",
7
9
  "aria-hidden": true,
@@ -11,21 +13,36 @@ export default function IconExpand() {
11
13
  fill: "none",
12
14
  fillRule: "evenodd"
13
15
  }, /*#__PURE__*/React.createElement("path", {
14
- fill: "#FFF",
16
+ fill: iconThemed({
17
+ light: '#FFF',
18
+ dark: '#161A1D'
19
+ }),
15
20
  d: "M0 0h40v40H0z"
16
21
  }), /*#__PURE__*/React.createElement("g", {
17
22
  transform: "translate(7 8)"
18
23
  }, /*#__PURE__*/React.createElement("path", {
19
24
  d: "M1 0h31v24H1a1 1 0 01-1-1V1a1 1 0 011-1z",
20
- fill: "#EBECF0"
25
+ fill: iconThemed({
26
+ light: '#EBECF0',
27
+ dark: '#2C333A'
28
+ })
21
29
  }), /*#__PURE__*/React.createElement("path", {
22
- d: "M3 7h31v15H3a1 1 0 01-1-1V8a1 1 0 011-1z",
23
- fill: "#FFF"
30
+ d: "M1 7h31v15H3a1 1 0 01-1-1V8a1 1 0 011-1z",
31
+ fill: iconThemed({
32
+ light: '#FFF',
33
+ dark: '#454F59'
34
+ })
24
35
  }), /*#__PURE__*/React.createElement("path", {
25
36
  d: "M5.5 18h14a.5.5 0 110 1h-14a.5.5 0 110-1zm0-3h23a.5.5 0 110 1h-23a.5.5 0 110-1zm0-3h23a.5.5 0 110 1h-23a.5.5 0 110-1zm0-3h23a.5.5 0 110 1h-23a.5.5 0 010-1z",
26
- fill: "#A5ADBA"
37
+ fill: iconThemed({
38
+ light: '#A5ADBA',
39
+ dark: '#8696A7'
40
+ })
27
41
  }), /*#__PURE__*/React.createElement("rect", {
28
- fill: "#2684FF",
42
+ fill: iconThemed({
43
+ light: '#2684FF',
44
+ dark: '#0C66E4'
45
+ }),
29
46
  x: 7,
30
47
  y: 3,
31
48
  width: 18,
@@ -33,7 +50,10 @@ export default function IconExpand() {
33
50
  rx: 0.5
34
51
  }), /*#__PURE__*/React.createElement("path", {
35
52
  d: "M2.646 2.354a.5.5 0 11.708-.708l1.5 1.5a.5.5 0 010 .708l-1.5 1.5a.5.5 0 11-.708-.708L3.793 3.5 2.646 2.354z",
36
- fill: "#2684FF",
53
+ fill: iconThemed({
54
+ light: '#2684FF',
55
+ dark: '#0C66E4'
56
+ }),
37
57
  fillRule: "nonzero"
38
58
  }))));
39
59
  }
@@ -1,7 +1,10 @@
1
- // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
1
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
3
2
  import React from 'react';
3
+ import { useIconThemed } from '../use-icon-themed';
4
4
  export default function IconFallback() {
5
+ const {
6
+ iconThemed
7
+ } = useIconThemed();
5
8
  return /*#__PURE__*/React.createElement("svg", {
6
9
  focusable: "false",
7
10
  "aria-hidden": true,
@@ -19,29 +22,62 @@ export default function IconFallback() {
19
22
  }), /*#__PURE__*/React.createElement("stop", {
20
23
  stopColor: "#A5ADBA",
21
24
  offset: "100%"
25
+ })), /*#__PURE__*/React.createElement("linearGradient", {
26
+ x1: "-12.24%",
27
+ y1: "100%",
28
+ x2: "82.44%",
29
+ y2: "0%",
30
+ id: "fallback-b"
31
+ }, /*#__PURE__*/React.createElement("stop", {
32
+ stopColor: "#5A6977",
33
+ offset: "0%"
34
+ }), /*#__PURE__*/React.createElement("stop", {
35
+ stopColor: "#454F59",
36
+ offset: "100%"
22
37
  }))), /*#__PURE__*/React.createElement("g", {
23
38
  fill: "none",
24
39
  fillRule: "evenodd"
25
40
  }, /*#__PURE__*/React.createElement("path", {
26
- fill: "#FFF",
41
+ fill: iconThemed({
42
+ light: '#FFF',
43
+ dark: '#161A1D'
44
+ }),
27
45
  d: "M0 0h40v40H0z"
28
46
  }), /*#__PURE__*/React.createElement("path", {
29
- fill: "#DFE1E6",
47
+ fill: iconThemed({
48
+ light: '#DFE1E6',
49
+ dark: '#738496'
50
+ }),
30
51
  d: "M20 16h12v12H20z"
31
52
  }), /*#__PURE__*/React.createElement("path", {
32
- fill: "url(#fallback-a)",
53
+ fill: iconThemed({
54
+ light: 'url(#fallback-a)',
55
+ dark: 'url(#fallback-b)'
56
+ }),
33
57
  d: "M8 16h12v12H8z"
34
58
  }), /*#__PURE__*/React.createElement("path", {
35
59
  d: "M20 16c-4 .5-6.029 2.5-6.086 6-.057 3.5-2.028 5.5-5.914 6h12V16z",
36
- fill: "#A5ADBA"
60
+ fill: iconThemed({
61
+ light: '#A5ADBA',
62
+ dark: '#454F59'
63
+ })
37
64
  }), /*#__PURE__*/React.createElement("path", {
38
- fill: "#B3BAC5",
65
+ fill: iconThemed({
66
+ light: '#B3BAC5',
67
+ dark: '#454F59'
68
+ }),
39
69
  d: "M17.5 13h5v3h-5z"
40
70
  }), /*#__PURE__*/React.createElement("path", {
41
- fill: "#A5ADBA",
71
+ fill: iconThemed({
72
+ light: '#A5ADBA',
73
+ dark: '#454F59'
74
+ }),
42
75
  d: "M10 13h5v3h-5z"
43
76
  }), /*#__PURE__*/React.createElement("path", {
44
- fill: "#DFE1E6",
77
+ fill: iconThemed({
78
+ light: '#DFE1E6',
79
+ dark: '#738496'
80
+ }),
45
81
  d: "M25 13h5v3h-5z"
46
82
  })));
47
83
  }
@@ -8,7 +8,7 @@ import { themed } from '@atlaskit/theme/components';
8
8
  import { borderRadius } from '@atlaskit/theme/constants';
9
9
  import Layer from '../Layer';
10
10
  const packageName = "@atlaskit/editor-common";
11
- const packageVersion = "74.51.0";
11
+ const packageVersion = "74.51.2";
12
12
  const halfFocusRing = 1;
13
13
  const dropOffset = '0, 8';
14
14
  class DropList extends Component {
@@ -0,0 +1,31 @@
1
+ export function countNodes(state) {
2
+ var _nodeTypes$extension, _nodeTypes$inlineExte, _nodeTypes$bodiedExte;
3
+ const nodeCount = {};
4
+ const extensionNodeCount = {};
5
+ const nodeTypes = state.schema.nodes;
6
+ const extensionNodeTypes = [(_nodeTypes$extension = nodeTypes.extension) === null || _nodeTypes$extension === void 0 ? void 0 : _nodeTypes$extension.name, (_nodeTypes$inlineExte = nodeTypes.inlineExtension) === null || _nodeTypes$inlineExte === void 0 ? void 0 : _nodeTypes$inlineExte.name, (_nodeTypes$bodiedExte = nodeTypes.bodiedExtension) === null || _nodeTypes$bodiedExte === void 0 ? void 0 : _nodeTypes$bodiedExte.name];
7
+ state.doc.descendants(node => {
8
+ var _node$attrs;
9
+ const nodeName = node.type.name;
10
+ if (nodeName in nodeCount) {
11
+ nodeCount[nodeName]++;
12
+ } else {
13
+ nodeCount[nodeName] = 1;
14
+ }
15
+ let extensionNodeName = nodeName;
16
+ if (extensionNodeTypes.includes(extensionNodeName) && (_node$attrs = node.attrs) !== null && _node$attrs !== void 0 && _node$attrs.extensionType) {
17
+ var _node$attrs2;
18
+ extensionNodeName = `${node.attrs.extensionType} - ${(_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.extensionKey}`;
19
+ if (extensionNodeName in extensionNodeCount) {
20
+ extensionNodeCount[extensionNodeName]++;
21
+ } else {
22
+ extensionNodeCount[extensionNodeName] = 1;
23
+ }
24
+ }
25
+ return true;
26
+ });
27
+ return {
28
+ nodeCount,
29
+ extensionNodeCount
30
+ };
31
+ }
@@ -274,4 +274,5 @@ export function hasVisibleContent(node) {
274
274
  }
275
275
  }
276
276
  return false;
277
- }
277
+ }
278
+ export const isSelectionEndOfParagraph = state => state.selection.$to.parent.type === state.schema.nodes.paragraph && state.selection.$to.pos === state.doc.resolve(state.selection.$to.pos).end();
@@ -43,12 +43,14 @@ export { isFromCurrentDomain, LinkMatcher, normalizeUrl, linkifyContent, getLink
43
43
  // prosemirror-history does not export its plugin key
44
44
  export const pmHistoryPluginKey = 'history$';
45
45
  export { gridTypeForLayout } from './grid';
46
- export { nodesBetweenChanged, getStepRange, isEmptyDocument, processRawValue, hasDocAsParent, bracketTyped, hasVisibleContent } from './document';
46
+ export { nodesBetweenChanged, getStepRange, isEmptyDocument, processRawValue, hasDocAsParent, bracketTyped, hasVisibleContent, isSelectionEndOfParagraph } from './document';
47
47
  export { floatingLayouts, isRichMediaInsideOfBlockNode, calculateSnapPoints, alignAttributes, nonWrappedLayouts } from './rich-media-utils';
48
48
  export { sanitizeNodeForPrivacy } from './filter/privacy-filter';
49
49
  export { canRenderDatasource } from './datasource';
50
50
  export { filterCommand, isEmptySelectionAtStart, isEmptySelectionAtEnd, insertContentDeleteRange, deleteEmptyParagraphAndMoveBlockUp, insertNewLineWithAnalytics, createNewParagraphAbove, createNewParagraphBelow, createParagraphNear, walkNextNode, walkPrevNode } from './commands';
51
51
  export { GUTTER_SELECTOR, GUTTER_SIZE_IN_PX, GUTTER_SIZE_MOBILE_IN_PX } from './scroll-gutter';
52
+ export { getTimeSince } from './performance/get-performance-timing';
53
+ export { countNodes } from './count-nodes';
52
54
  export function shallowEqual(obj1 = {}, obj2 = {}) {
53
55
  const keys1 = Object.keys(obj1);
54
56
  const keys2 = Object.keys(obj2);
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Calculate the difference between performance.now() and the given startTime.
3
+ * This allows for the timing to be overridable during tests.
4
+ *
5
+ * @param startTime DOMHighResTimeStamp
6
+ * @returns DOMHighResTimeStamp
7
+ */
8
+ export const getTimeSince = startTime => performance.now() - startTime;
@@ -6,7 +6,7 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
6
6
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
7
7
  var SENTRY_DSN = 'https://0b10c8e02fb44d8796c047b102c9bee8@o55978.ingest.sentry.io/4505129224110080';
8
8
  var packageName = 'editor-common'; // Sentry doesn't accept '/' in its releases https://docs.sentry.io/platforms/javascript/configuration/releases/
9
- var packageVersion = "74.51.0";
9
+ var packageVersion = "74.51.2";
10
10
  var sanitiseSentryEvents = function sanitiseSentryEvents(data, _hint) {
11
11
  // Remove URL as it has UGC
12
12
  // TODO: Sanitise the URL instead of just removing it
@@ -1,4 +1,3 @@
1
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
2
1
  import React from 'react';
3
2
  import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconAction() {
@@ -1,4 +1,3 @@
1
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
2
1
  import React from 'react';
3
2
  import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconCode() {
@@ -1,4 +1,3 @@
1
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
2
1
  import React from 'react';
3
2
  import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconDecision() {
@@ -1,4 +1,3 @@
1
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
2
1
  import React from 'react';
3
2
  import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconDivider() {
@@ -1,7 +1,8 @@
1
- // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
3
1
  import React from 'react';
2
+ import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconEmoji() {
4
+ var _useIconThemed = useIconThemed(),
5
+ iconThemed = _useIconThemed.iconThemed;
5
6
  return /*#__PURE__*/React.createElement("svg", {
6
7
  focusable: "false",
7
8
  "aria-hidden": true,
@@ -11,19 +12,34 @@ export default function IconEmoji() {
11
12
  fill: "none",
12
13
  fillRule: "evenodd"
13
14
  }, /*#__PURE__*/React.createElement("path", {
14
- fill: "#FFF",
15
+ fill: iconThemed({
16
+ light: '#FFF',
17
+ dark: '#161A1D'
18
+ }),
15
19
  d: "M0 0h40v40H0z"
16
20
  }), /*#__PURE__*/React.createElement("path", {
17
21
  d: "M32 20c0 6.627-5.373 12-12 12S8 26.627 8 20 13.373 8 20 8s12 5.373 12 12",
18
- fill: "#FFCC4D"
22
+ fill: iconThemed({
23
+ light: '#FFCC4D',
24
+ dark: '#946F00'
25
+ })
19
26
  }), /*#__PURE__*/React.createElement("path", {
20
27
  d: "M20 22c-2.415 0-4.018-.281-6-.667-.453-.087-1.333 0-1.333 1.334 0 2.666 3.063 6 7.333 6s7.333-3.334 7.333-6c0-1.334-.88-1.422-1.333-1.334-1.982.386-3.585.667-6 .667",
21
- fill: "#664500"
28
+ fill: iconThemed({
29
+ light: '#664500',
30
+ dark: '#43290F'
31
+ })
22
32
  }), /*#__PURE__*/React.createElement("path", {
23
33
  d: "M14 22.667s2 .666 6 .666 6-.666 6-.666-1.333 2.666-6 2.666-6-2.666-6-2.666",
24
- fill: "#FFF"
34
+ fill: iconThemed({
35
+ light: '#FFF',
36
+ dark: '#8696A7'
37
+ })
25
38
  }), /*#__PURE__*/React.createElement("path", {
26
39
  d: "M17.667 17c0 1.29-.746 2.333-1.667 2.333-.92 0-1.667-1.044-1.667-2.333 0-1.289.746-2.333 1.667-2.333.92 0 1.667 1.044 1.667 2.333m8 0c0 1.29-.746 2.333-1.667 2.333-.92 0-1.667-1.044-1.667-2.333 0-1.289.746-2.333 1.667-2.333.92 0 1.667 1.044 1.667 2.333",
27
- fill: "#664500"
40
+ fill: iconThemed({
41
+ light: '#664500',
42
+ dark: '#43290F'
43
+ })
28
44
  })));
29
45
  }
@@ -1,7 +1,8 @@
1
- // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
- /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
3
1
  import React from 'react';
2
+ import { useIconThemed } from '../use-icon-themed';
4
3
  export default function IconExpand() {
4
+ var _useIconThemed = useIconThemed(),
5
+ iconThemed = _useIconThemed.iconThemed;
5
6
  return /*#__PURE__*/React.createElement("svg", {
6
7
  focusable: "false",
7
8
  "aria-hidden": true,
@@ -11,21 +12,36 @@ export default function IconExpand() {
11
12
  fill: "none",
12
13
  fillRule: "evenodd"
13
14
  }, /*#__PURE__*/React.createElement("path", {
14
- fill: "#FFF",
15
+ fill: iconThemed({
16
+ light: '#FFF',
17
+ dark: '#161A1D'
18
+ }),
15
19
  d: "M0 0h40v40H0z"
16
20
  }), /*#__PURE__*/React.createElement("g", {
17
21
  transform: "translate(7 8)"
18
22
  }, /*#__PURE__*/React.createElement("path", {
19
23
  d: "M1 0h31v24H1a1 1 0 01-1-1V1a1 1 0 011-1z",
20
- fill: "#EBECF0"
24
+ fill: iconThemed({
25
+ light: '#EBECF0',
26
+ dark: '#2C333A'
27
+ })
21
28
  }), /*#__PURE__*/React.createElement("path", {
22
- d: "M3 7h31v15H3a1 1 0 01-1-1V8a1 1 0 011-1z",
23
- fill: "#FFF"
29
+ d: "M1 7h31v15H3a1 1 0 01-1-1V8a1 1 0 011-1z",
30
+ fill: iconThemed({
31
+ light: '#FFF',
32
+ dark: '#454F59'
33
+ })
24
34
  }), /*#__PURE__*/React.createElement("path", {
25
35
  d: "M5.5 18h14a.5.5 0 110 1h-14a.5.5 0 110-1zm0-3h23a.5.5 0 110 1h-23a.5.5 0 110-1zm0-3h23a.5.5 0 110 1h-23a.5.5 0 110-1zm0-3h23a.5.5 0 110 1h-23a.5.5 0 010-1z",
26
- fill: "#A5ADBA"
36
+ fill: iconThemed({
37
+ light: '#A5ADBA',
38
+ dark: '#8696A7'
39
+ })
27
40
  }), /*#__PURE__*/React.createElement("rect", {
28
- fill: "#2684FF",
41
+ fill: iconThemed({
42
+ light: '#2684FF',
43
+ dark: '#0C66E4'
44
+ }),
29
45
  x: 7,
30
46
  y: 3,
31
47
  width: 18,
@@ -33,7 +49,10 @@ export default function IconExpand() {
33
49
  rx: 0.5
34
50
  }), /*#__PURE__*/React.createElement("path", {
35
51
  d: "M2.646 2.354a.5.5 0 11.708-.708l1.5 1.5a.5.5 0 010 .708l-1.5 1.5a.5.5 0 11-.708-.708L3.793 3.5 2.646 2.354z",
36
- fill: "#2684FF",
52
+ fill: iconThemed({
53
+ light: '#2684FF',
54
+ dark: '#0C66E4'
55
+ }),
37
56
  fillRule: "nonzero"
38
57
  }))));
39
58
  }
@@ -1,7 +1,9 @@
1
- // TODO: https://product-fabric.atlassian.net/browse/DSP-4138
2
1
  /* eslint-disable @atlaskit/design-system/ensure-design-token-usage */
3
2
  import React from 'react';
3
+ import { useIconThemed } from '../use-icon-themed';
4
4
  export default function IconFallback() {
5
+ var _useIconThemed = useIconThemed(),
6
+ iconThemed = _useIconThemed.iconThemed;
5
7
  return /*#__PURE__*/React.createElement("svg", {
6
8
  focusable: "false",
7
9
  "aria-hidden": true,
@@ -19,29 +21,62 @@ export default function IconFallback() {
19
21
  }), /*#__PURE__*/React.createElement("stop", {
20
22
  stopColor: "#A5ADBA",
21
23
  offset: "100%"
24
+ })), /*#__PURE__*/React.createElement("linearGradient", {
25
+ x1: "-12.24%",
26
+ y1: "100%",
27
+ x2: "82.44%",
28
+ y2: "0%",
29
+ id: "fallback-b"
30
+ }, /*#__PURE__*/React.createElement("stop", {
31
+ stopColor: "#5A6977",
32
+ offset: "0%"
33
+ }), /*#__PURE__*/React.createElement("stop", {
34
+ stopColor: "#454F59",
35
+ offset: "100%"
22
36
  }))), /*#__PURE__*/React.createElement("g", {
23
37
  fill: "none",
24
38
  fillRule: "evenodd"
25
39
  }, /*#__PURE__*/React.createElement("path", {
26
- fill: "#FFF",
40
+ fill: iconThemed({
41
+ light: '#FFF',
42
+ dark: '#161A1D'
43
+ }),
27
44
  d: "M0 0h40v40H0z"
28
45
  }), /*#__PURE__*/React.createElement("path", {
29
- fill: "#DFE1E6",
46
+ fill: iconThemed({
47
+ light: '#DFE1E6',
48
+ dark: '#738496'
49
+ }),
30
50
  d: "M20 16h12v12H20z"
31
51
  }), /*#__PURE__*/React.createElement("path", {
32
- fill: "url(#fallback-a)",
52
+ fill: iconThemed({
53
+ light: 'url(#fallback-a)',
54
+ dark: 'url(#fallback-b)'
55
+ }),
33
56
  d: "M8 16h12v12H8z"
34
57
  }), /*#__PURE__*/React.createElement("path", {
35
58
  d: "M20 16c-4 .5-6.029 2.5-6.086 6-.057 3.5-2.028 5.5-5.914 6h12V16z",
36
- fill: "#A5ADBA"
59
+ fill: iconThemed({
60
+ light: '#A5ADBA',
61
+ dark: '#454F59'
62
+ })
37
63
  }), /*#__PURE__*/React.createElement("path", {
38
- fill: "#B3BAC5",
64
+ fill: iconThemed({
65
+ light: '#B3BAC5',
66
+ dark: '#454F59'
67
+ }),
39
68
  d: "M17.5 13h5v3h-5z"
40
69
  }), /*#__PURE__*/React.createElement("path", {
41
- fill: "#A5ADBA",
70
+ fill: iconThemed({
71
+ light: '#A5ADBA',
72
+ dark: '#454F59'
73
+ }),
42
74
  d: "M10 13h5v3h-5z"
43
75
  }), /*#__PURE__*/React.createElement("path", {
44
- fill: "#DFE1E6",
76
+ fill: iconThemed({
77
+ light: '#DFE1E6',
78
+ dark: '#738496'
79
+ }),
45
80
  d: "M25 13h5v3h-5z"
46
81
  })));
47
82
  }
@@ -18,7 +18,7 @@ import { themed } from '@atlaskit/theme/components';
18
18
  import { borderRadius } from '@atlaskit/theme/constants';
19
19
  import Layer from '../Layer';
20
20
  var packageName = "@atlaskit/editor-common";
21
- var packageVersion = "74.51.0";
21
+ var packageVersion = "74.51.2";
22
22
  var halfFocusRing = 1;
23
23
  var dropOffset = '0, 8';
24
24
  var DropList = /*#__PURE__*/function (_Component) {
@@ -0,0 +1,31 @@
1
+ export function countNodes(state) {
2
+ var _nodeTypes$extension, _nodeTypes$inlineExte, _nodeTypes$bodiedExte;
3
+ var nodeCount = {};
4
+ var extensionNodeCount = {};
5
+ var nodeTypes = state.schema.nodes;
6
+ var extensionNodeTypes = [(_nodeTypes$extension = nodeTypes.extension) === null || _nodeTypes$extension === void 0 ? void 0 : _nodeTypes$extension.name, (_nodeTypes$inlineExte = nodeTypes.inlineExtension) === null || _nodeTypes$inlineExte === void 0 ? void 0 : _nodeTypes$inlineExte.name, (_nodeTypes$bodiedExte = nodeTypes.bodiedExtension) === null || _nodeTypes$bodiedExte === void 0 ? void 0 : _nodeTypes$bodiedExte.name];
7
+ state.doc.descendants(function (node) {
8
+ var _node$attrs;
9
+ var nodeName = node.type.name;
10
+ if (nodeName in nodeCount) {
11
+ nodeCount[nodeName]++;
12
+ } else {
13
+ nodeCount[nodeName] = 1;
14
+ }
15
+ var extensionNodeName = nodeName;
16
+ if (extensionNodeTypes.includes(extensionNodeName) && (_node$attrs = node.attrs) !== null && _node$attrs !== void 0 && _node$attrs.extensionType) {
17
+ var _node$attrs2;
18
+ extensionNodeName = "".concat(node.attrs.extensionType, " - ").concat((_node$attrs2 = node.attrs) === null || _node$attrs2 === void 0 ? void 0 : _node$attrs2.extensionKey);
19
+ if (extensionNodeName in extensionNodeCount) {
20
+ extensionNodeCount[extensionNodeName]++;
21
+ } else {
22
+ extensionNodeCount[extensionNodeName] = 1;
23
+ }
24
+ }
25
+ return true;
26
+ });
27
+ return {
28
+ nodeCount: nodeCount,
29
+ extensionNodeCount: extensionNodeCount
30
+ };
31
+ }
@@ -267,4 +267,7 @@ export function hasVisibleContent(node) {
267
267
  }
268
268
  }
269
269
  return false;
270
- }
270
+ }
271
+ export var isSelectionEndOfParagraph = function isSelectionEndOfParagraph(state) {
272
+ return state.selection.$to.parent.type === state.schema.nodes.paragraph && state.selection.$to.pos === state.doc.resolve(state.selection.$to.pos).end();
273
+ };
@@ -43,12 +43,14 @@ export { isFromCurrentDomain, LinkMatcher, normalizeUrl, linkifyContent, getLink
43
43
  // prosemirror-history does not export its plugin key
44
44
  export var pmHistoryPluginKey = 'history$';
45
45
  export { gridTypeForLayout } from './grid';
46
- export { nodesBetweenChanged, getStepRange, isEmptyDocument, processRawValue, hasDocAsParent, bracketTyped, hasVisibleContent } from './document';
46
+ export { nodesBetweenChanged, getStepRange, isEmptyDocument, processRawValue, hasDocAsParent, bracketTyped, hasVisibleContent, isSelectionEndOfParagraph } from './document';
47
47
  export { floatingLayouts, isRichMediaInsideOfBlockNode, calculateSnapPoints, alignAttributes, nonWrappedLayouts } from './rich-media-utils';
48
48
  export { sanitizeNodeForPrivacy } from './filter/privacy-filter';
49
49
  export { canRenderDatasource } from './datasource';
50
50
  export { filterCommand, isEmptySelectionAtStart, isEmptySelectionAtEnd, insertContentDeleteRange, deleteEmptyParagraphAndMoveBlockUp, insertNewLineWithAnalytics, createNewParagraphAbove, createNewParagraphBelow, createParagraphNear, walkNextNode, walkPrevNode } from './commands';
51
51
  export { GUTTER_SELECTOR, GUTTER_SIZE_IN_PX, GUTTER_SIZE_MOBILE_IN_PX } from './scroll-gutter';
52
+ export { getTimeSince } from './performance/get-performance-timing';
53
+ export { countNodes } from './count-nodes';
52
54
  export function shallowEqual() {
53
55
  var obj1 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
54
56
  var obj2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Calculate the difference between performance.now() and the given startTime.
3
+ * This allows for the timing to be overridable during tests.
4
+ *
5
+ * @param startTime DOMHighResTimeStamp
6
+ * @returns DOMHighResTimeStamp
7
+ */
8
+ export var getTimeSince = function getTimeSince(startTime) {
9
+ return performance.now() - startTime;
10
+ };
@@ -0,0 +1,8 @@
1
+ import type { EditorState } from '@atlaskit/editor-prosemirror/state';
2
+ type NodeCount = Record<string, number>;
3
+ type NodesCount = {
4
+ nodeCount: NodeCount;
5
+ extensionNodeCount: NodeCount;
6
+ };
7
+ export declare function countNodes(state: EditorState): NodesCount;
8
+ export {};
@@ -1,6 +1,7 @@
1
- import { Node, ResolvedPos, Schema } from '@atlaskit/editor-prosemirror/model';
1
+ import type { ResolvedPos, Schema } from '@atlaskit/editor-prosemirror/model';
2
+ import { Node } from '@atlaskit/editor-prosemirror/model';
2
3
  import type { EditorState, ReadonlyTransaction, Transaction } from '@atlaskit/editor-prosemirror/state';
3
- import { DispatchAnalyticsEvent } from '../analytics';
4
+ import type { DispatchAnalyticsEvent } from '../analytics';
4
5
  import type { ProviderFactory } from '../provider-factory';
5
6
  import type { ReplaceRawValue, Transformer } from '../types';
6
7
  type ChangedFn = (node: Node, pos: number, parent: Node | null, index: number) => boolean | void;
@@ -20,4 +21,5 @@ export declare function processRawValue(schema: Schema, value?: ReplaceRawValue,
20
21
  * Returns false if node contains only empty inline nodes and hardBreaks.
21
22
  */
22
23
  export declare function hasVisibleContent(node: Node): boolean;
24
+ export declare const isSelectionEndOfParagraph: (state: EditorState) => boolean;
23
25
  export {};
@@ -54,13 +54,15 @@ export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, is
54
54
  export { isFromCurrentDomain, LinkMatcher, normalizeUrl, linkifyContent, getLinkDomain, findFilepaths, isLinkInMatches, FILEPATH_REGEXP, DONTLINKIFY_REGEXP, getLinkCreationAnalyticsEvent, canLinkBeCreatedInRange, } from './hyperlink';
55
55
  export declare const pmHistoryPluginKey = "history$";
56
56
  export { gridTypeForLayout } from './grid';
57
- export { nodesBetweenChanged, getStepRange, isEmptyDocument, processRawValue, hasDocAsParent, bracketTyped, hasVisibleContent, } from './document';
57
+ export { nodesBetweenChanged, getStepRange, isEmptyDocument, processRawValue, hasDocAsParent, bracketTyped, hasVisibleContent, isSelectionEndOfParagraph, } from './document';
58
58
  export { floatingLayouts, isRichMediaInsideOfBlockNode, calculateSnapPoints, alignAttributes, nonWrappedLayouts, } from './rich-media-utils';
59
59
  export { sanitizeNodeForPrivacy } from './filter/privacy-filter';
60
60
  export { canRenderDatasource } from './datasource';
61
61
  export { filterCommand, isEmptySelectionAtStart, isEmptySelectionAtEnd, insertContentDeleteRange, deleteEmptyParagraphAndMoveBlockUp, insertNewLineWithAnalytics, createNewParagraphAbove, createNewParagraphBelow, createParagraphNear, walkNextNode, walkPrevNode, } from './commands';
62
62
  export type { WalkNode } from './commands';
63
63
  export { GUTTER_SELECTOR, GUTTER_SIZE_IN_PX, GUTTER_SIZE_MOBILE_IN_PX, } from './scroll-gutter';
64
+ export { getTimeSince } from './performance/get-performance-timing';
65
+ export { countNodes } from './count-nodes';
64
66
  export declare function shallowEqual(obj1?: any, obj2?: any): boolean;
65
67
  export { inputRuleWithAnalytics, createWrappingJoinRule, createRule, } from './input-rules';
66
68
  export declare function isSelectionInsideLastNodeInDocument(selection: Selection): boolean;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Calculate the difference between performance.now() and the given startTime.
3
+ * This allows for the timing to be overridable during tests.
4
+ *
5
+ * @param startTime DOMHighResTimeStamp
6
+ * @returns DOMHighResTimeStamp
7
+ */
8
+ export declare const getTimeSince: (startTime: DOMHighResTimeStamp) => DOMHighResTimeStamp;
@@ -0,0 +1,8 @@
1
+ import type { EditorState } from '@atlaskit/editor-prosemirror/state';
2
+ type NodeCount = Record<string, number>;
3
+ type NodesCount = {
4
+ nodeCount: NodeCount;
5
+ extensionNodeCount: NodeCount;
6
+ };
7
+ export declare function countNodes(state: EditorState): NodesCount;
8
+ export {};
@@ -1,6 +1,7 @@
1
- import { Node, ResolvedPos, Schema } from '@atlaskit/editor-prosemirror/model';
1
+ import type { ResolvedPos, Schema } from '@atlaskit/editor-prosemirror/model';
2
+ import { Node } from '@atlaskit/editor-prosemirror/model';
2
3
  import type { EditorState, ReadonlyTransaction, Transaction } from '@atlaskit/editor-prosemirror/state';
3
- import { DispatchAnalyticsEvent } from '../analytics';
4
+ import type { DispatchAnalyticsEvent } from '../analytics';
4
5
  import type { ProviderFactory } from '../provider-factory';
5
6
  import type { ReplaceRawValue, Transformer } from '../types';
6
7
  type ChangedFn = (node: Node, pos: number, parent: Node | null, index: number) => boolean | void;
@@ -20,4 +21,5 @@ export declare function processRawValue(schema: Schema, value?: ReplaceRawValue,
20
21
  * Returns false if node contains only empty inline nodes and hardBreaks.
21
22
  */
22
23
  export declare function hasVisibleContent(node: Node): boolean;
24
+ export declare const isSelectionEndOfParagraph: (state: EditorState) => boolean;
23
25
  export {};
@@ -54,13 +54,15 @@ export { getItemCounterDigitsSize, getOrderFromOrderedListNode, resolveOrder, is
54
54
  export { isFromCurrentDomain, LinkMatcher, normalizeUrl, linkifyContent, getLinkDomain, findFilepaths, isLinkInMatches, FILEPATH_REGEXP, DONTLINKIFY_REGEXP, getLinkCreationAnalyticsEvent, canLinkBeCreatedInRange, } from './hyperlink';
55
55
  export declare const pmHistoryPluginKey = "history$";
56
56
  export { gridTypeForLayout } from './grid';
57
- export { nodesBetweenChanged, getStepRange, isEmptyDocument, processRawValue, hasDocAsParent, bracketTyped, hasVisibleContent, } from './document';
57
+ export { nodesBetweenChanged, getStepRange, isEmptyDocument, processRawValue, hasDocAsParent, bracketTyped, hasVisibleContent, isSelectionEndOfParagraph, } from './document';
58
58
  export { floatingLayouts, isRichMediaInsideOfBlockNode, calculateSnapPoints, alignAttributes, nonWrappedLayouts, } from './rich-media-utils';
59
59
  export { sanitizeNodeForPrivacy } from './filter/privacy-filter';
60
60
  export { canRenderDatasource } from './datasource';
61
61
  export { filterCommand, isEmptySelectionAtStart, isEmptySelectionAtEnd, insertContentDeleteRange, deleteEmptyParagraphAndMoveBlockUp, insertNewLineWithAnalytics, createNewParagraphAbove, createNewParagraphBelow, createParagraphNear, walkNextNode, walkPrevNode, } from './commands';
62
62
  export type { WalkNode } from './commands';
63
63
  export { GUTTER_SELECTOR, GUTTER_SIZE_IN_PX, GUTTER_SIZE_MOBILE_IN_PX, } from './scroll-gutter';
64
+ export { getTimeSince } from './performance/get-performance-timing';
65
+ export { countNodes } from './count-nodes';
64
66
  export declare function shallowEqual(obj1?: any, obj2?: any): boolean;
65
67
  export { inputRuleWithAnalytics, createWrappingJoinRule, createRule, } from './input-rules';
66
68
  export declare function isSelectionInsideLastNodeInDocument(selection: Selection): boolean;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Calculate the difference between performance.now() and the given startTime.
3
+ * This allows for the timing to be overridable during tests.
4
+ *
5
+ * @param startTime DOMHighResTimeStamp
6
+ * @returns DOMHighResTimeStamp
7
+ */
8
+ export declare const getTimeSince: (startTime: DOMHighResTimeStamp) => DOMHighResTimeStamp;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/editor-common",
3
- "version": "74.51.0",
3
+ "version": "74.51.2",
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/"
@@ -108,7 +108,7 @@
108
108
  "@atlaskit/menu": "^1.9.0",
109
109
  "@atlaskit/platform-feature-flags": "^0.2.0",
110
110
  "@atlaskit/profilecard": "^19.5.0",
111
- "@atlaskit/smart-user-picker": "^6.1.0",
111
+ "@atlaskit/smart-user-picker": "^6.2.0",
112
112
  "@atlaskit/spinner": "^15.5.0",
113
113
  "@atlaskit/task-decision": "^17.7.0",
114
114
  "@atlaskit/theme": "^12.5.0",