@atlaskit/react-ufo 3.10.1 → 3.10.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @atlaskit/ufo-interaction-ignore
2
2
 
3
+ ## 3.10.2
4
+
5
+ ### Patch Changes
6
+
7
+ - [#151997](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/pull-requests/151997)
8
+ [`d8723519dfff4`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/d8723519dfff4) -
9
+ Fix memory leak on TTVC v3
10
+
3
11
  ## 3.10.1
4
12
 
5
13
  ### Patch Changes
@@ -44,19 +44,31 @@ function sameRectDimensions(a, b) {
44
44
  }
45
45
  return a.width === b.width && a.height === b.height && a.x === b.x && a.y === b.y;
46
46
  }
47
+ var createElementMutationsWatcher = function createElementMutationsWatcher(removedNodeRects) {
48
+ return function (_ref) {
49
+ var rect = _ref.rect;
50
+ var wasDeleted = removedNodeRects.some(function (nr) {
51
+ return sameRectDimensions(nr, rect);
52
+ });
53
+ if (wasDeleted) {
54
+ return 'mutation:element-replacement';
55
+ }
56
+ return 'mutation:element';
57
+ };
58
+ };
47
59
  var ViewportObserver = exports.default = /*#__PURE__*/function () {
48
- function ViewportObserver(_ref) {
60
+ function ViewportObserver(_ref2) {
49
61
  var _this = this;
50
- var onChange = _ref.onChange;
62
+ var onChange = _ref2.onChange;
51
63
  (0, _classCallCheck2.default)(this, ViewportObserver);
52
64
  this.mapVisibleNodeRects = new WeakMap();
53
65
  this.intersectionObserver = (0, _intersectionObserver.createIntersectionObserver)({
54
- onEntry: function onEntry(_ref2) {
55
- var target = _ref2.target,
56
- rect = _ref2.rect,
57
- time = _ref2.time,
58
- type = _ref2.type,
59
- mutationData = _ref2.mutationData;
66
+ onEntry: function onEntry(_ref3) {
67
+ var target = _ref3.target,
68
+ rect = _ref3.rect,
69
+ time = _ref3.time,
70
+ type = _ref3.type,
71
+ mutationData = _ref3.mutationData;
60
72
  if (!target) {
61
73
  return;
62
74
  }
@@ -75,10 +87,10 @@ var ViewportObserver = exports.default = /*#__PURE__*/function () {
75
87
  }
76
88
  });
77
89
  this.mutationObserver = (0, _mutationObserver.default)({
78
- onChildListMutation: function onChildListMutation(_ref3) {
90
+ onChildListMutation: function onChildListMutation(_ref4) {
79
91
  var _removedNodes$map;
80
- var addedNodes = _ref3.addedNodes,
81
- removedNodes = _ref3.removedNodes;
92
+ var addedNodes = _ref4.addedNodes,
93
+ removedNodes = _ref4.removedNodes;
82
94
  var removedNodeRects = (_removedNodes$map = removedNodes === null || removedNodes === void 0 ? void 0 : removedNodes.map(function (n) {
83
95
  return _this.mapVisibleNodeRects.get(n);
84
96
  })) !== null && _removedNodes$map !== void 0 ? _removedNodes$map : [];
@@ -101,16 +113,7 @@ var ViewportObserver = exports.default = /*#__PURE__*/function () {
101
113
  (_this$intersectionObs2 = _this.intersectionObserver) === null || _this$intersectionObs2 === void 0 || _this$intersectionObs2.watchAndTag(addedNode, 'mutation:media');
102
114
  return;
103
115
  }
104
- (_this$intersectionObs3 = _this.intersectionObserver) === null || _this$intersectionObs3 === void 0 || _this$intersectionObs3.watchAndTag(addedNode, function (_ref4) {
105
- var rect = _ref4.rect;
106
- var wasDeleted = removedNodeRects.some(function (nr) {
107
- return sameRectDimensions(nr, rect);
108
- });
109
- if (wasDeleted) {
110
- return 'mutation:element-replacement';
111
- }
112
- return 'mutation:element';
113
- });
116
+ (_this$intersectionObs3 = _this.intersectionObserver) === null || _this$intersectionObs3 === void 0 || _this$intersectionObs3.watchAndTag(addedNode, createElementMutationsWatcher(removedNodeRects));
114
117
  });
115
118
  },
116
119
  onAttributeMutation: function onAttributeMutation(_ref5) {
@@ -32,6 +32,15 @@ function sameRectDimensions(a, b) {
32
32
  }
33
33
  return a.width === b.width && a.height === b.height && a.x === b.x && a.y === b.y;
34
34
  }
35
+ const createElementMutationsWatcher = removedNodeRects => ({
36
+ rect
37
+ }) => {
38
+ const wasDeleted = removedNodeRects.some(nr => sameRectDimensions(nr, rect));
39
+ if (wasDeleted) {
40
+ return 'mutation:element-replacement';
41
+ }
42
+ return 'mutation:element';
43
+ };
35
44
  export default class ViewportObserver {
36
45
  constructor({
37
46
  onChange: onChange
@@ -86,15 +95,7 @@ export default class ViewportObserver {
86
95
  (_this$intersectionObs2 = this.intersectionObserver) === null || _this$intersectionObs2 === void 0 ? void 0 : _this$intersectionObs2.watchAndTag(addedNode, 'mutation:media');
87
96
  return;
88
97
  }
89
- (_this$intersectionObs3 = this.intersectionObserver) === null || _this$intersectionObs3 === void 0 ? void 0 : _this$intersectionObs3.watchAndTag(addedNode, ({
90
- rect
91
- }) => {
92
- const wasDeleted = removedNodeRects.some(nr => sameRectDimensions(nr, rect));
93
- if (wasDeleted) {
94
- return 'mutation:element-replacement';
95
- }
96
- return 'mutation:element';
97
- });
98
+ (_this$intersectionObs3 = this.intersectionObserver) === null || _this$intersectionObs3 === void 0 ? void 0 : _this$intersectionObs3.watchAndTag(addedNode, createElementMutationsWatcher(removedNodeRects));
98
99
  });
99
100
  },
100
101
  onAttributeMutation: ({
@@ -37,19 +37,31 @@ function sameRectDimensions(a, b) {
37
37
  }
38
38
  return a.width === b.width && a.height === b.height && a.x === b.x && a.y === b.y;
39
39
  }
40
+ var createElementMutationsWatcher = function createElementMutationsWatcher(removedNodeRects) {
41
+ return function (_ref) {
42
+ var rect = _ref.rect;
43
+ var wasDeleted = removedNodeRects.some(function (nr) {
44
+ return sameRectDimensions(nr, rect);
45
+ });
46
+ if (wasDeleted) {
47
+ return 'mutation:element-replacement';
48
+ }
49
+ return 'mutation:element';
50
+ };
51
+ };
40
52
  var ViewportObserver = /*#__PURE__*/function () {
41
- function ViewportObserver(_ref) {
53
+ function ViewportObserver(_ref2) {
42
54
  var _this = this;
43
- var onChange = _ref.onChange;
55
+ var onChange = _ref2.onChange;
44
56
  _classCallCheck(this, ViewportObserver);
45
57
  this.mapVisibleNodeRects = new WeakMap();
46
58
  this.intersectionObserver = createIntersectionObserver({
47
- onEntry: function onEntry(_ref2) {
48
- var target = _ref2.target,
49
- rect = _ref2.rect,
50
- time = _ref2.time,
51
- type = _ref2.type,
52
- mutationData = _ref2.mutationData;
59
+ onEntry: function onEntry(_ref3) {
60
+ var target = _ref3.target,
61
+ rect = _ref3.rect,
62
+ time = _ref3.time,
63
+ type = _ref3.type,
64
+ mutationData = _ref3.mutationData;
53
65
  if (!target) {
54
66
  return;
55
67
  }
@@ -68,10 +80,10 @@ var ViewportObserver = /*#__PURE__*/function () {
68
80
  }
69
81
  });
70
82
  this.mutationObserver = createMutationObserver({
71
- onChildListMutation: function onChildListMutation(_ref3) {
83
+ onChildListMutation: function onChildListMutation(_ref4) {
72
84
  var _removedNodes$map;
73
- var addedNodes = _ref3.addedNodes,
74
- removedNodes = _ref3.removedNodes;
85
+ var addedNodes = _ref4.addedNodes,
86
+ removedNodes = _ref4.removedNodes;
75
87
  var removedNodeRects = (_removedNodes$map = removedNodes === null || removedNodes === void 0 ? void 0 : removedNodes.map(function (n) {
76
88
  return _this.mapVisibleNodeRects.get(n);
77
89
  })) !== null && _removedNodes$map !== void 0 ? _removedNodes$map : [];
@@ -94,16 +106,7 @@ var ViewportObserver = /*#__PURE__*/function () {
94
106
  (_this$intersectionObs2 = _this.intersectionObserver) === null || _this$intersectionObs2 === void 0 || _this$intersectionObs2.watchAndTag(addedNode, 'mutation:media');
95
107
  return;
96
108
  }
97
- (_this$intersectionObs3 = _this.intersectionObserver) === null || _this$intersectionObs3 === void 0 || _this$intersectionObs3.watchAndTag(addedNode, function (_ref4) {
98
- var rect = _ref4.rect;
99
- var wasDeleted = removedNodeRects.some(function (nr) {
100
- return sameRectDimensions(nr, rect);
101
- });
102
- if (wasDeleted) {
103
- return 'mutation:element-replacement';
104
- }
105
- return 'mutation:element';
106
- });
109
+ (_this$intersectionObs3 = _this.intersectionObserver) === null || _this$intersectionObs3 === void 0 || _this$intersectionObs3.watchAndTag(addedNode, createElementMutationsWatcher(removedNodeRects));
107
110
  });
108
111
  },
109
112
  onAttributeMutation: function onAttributeMutation(_ref5) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/react-ufo",
3
- "version": "3.10.1",
3
+ "version": "3.10.2",
4
4
  "description": "Parts of React UFO that are publicly available",
5
5
  "author": "Atlassian Pty Ltd",
6
6
  "license": "Apache-2.0",