@atlaskit/analytics-next 8.3.4 → 9.0.0

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 (91) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/cjs/components/AnalyticsContext/LegacyAnalyticsContext.js +4 -28
  3. package/dist/cjs/components/AnalyticsContext/ModernAnalyticsContext.js +1 -12
  4. package/dist/cjs/components/AnalyticsContext/index.js +2 -9
  5. package/dist/cjs/components/AnalyticsErrorBoundary.js +19 -68
  6. package/dist/cjs/components/AnalyticsListener/LegacyAnalyticsListener.js +6 -32
  7. package/dist/cjs/components/AnalyticsListener/ModernAnalyticsListener.js +2 -14
  8. package/dist/cjs/components/AnalyticsListener/index.js +2 -9
  9. package/dist/cjs/events/AnalyticsEvent.js +2 -18
  10. package/dist/cjs/events/UIAnalyticsEvent.js +3 -31
  11. package/dist/cjs/hocs/withAnalyticsContext.js +5 -17
  12. package/dist/cjs/hocs/withAnalyticsEvents.js +6 -16
  13. package/dist/cjs/hooks/useAnalyticsContext.js +0 -5
  14. package/dist/cjs/hooks/useAnalyticsEvents.js +0 -5
  15. package/dist/cjs/hooks/useCallbackWithAnalytics.js +1 -7
  16. package/dist/cjs/hooks/usePatchedProps.js +3 -19
  17. package/dist/cjs/hooks/usePlatformLeafEventHandler.js +20 -27
  18. package/dist/cjs/hooks/usePlatformLeafSyntheticEventHandler.js +19 -26
  19. package/dist/cjs/hooks/useTrackedRef.js +0 -3
  20. package/dist/cjs/index.js +0 -18
  21. package/dist/cjs/test-utils/useRenderCounter.js +0 -3
  22. package/dist/cjs/utils/cleanProps.js +1 -5
  23. package/dist/cjs/utils/createAndFireEvent.js +0 -4
  24. package/dist/cjs/version.json +1 -1
  25. package/dist/es2019/components/AnalyticsContext/LegacyAnalyticsContext.js +2 -12
  26. package/dist/es2019/components/AnalyticsContext/ModernAnalyticsContext.js +0 -2
  27. package/dist/es2019/components/AnalyticsContext/index.js +2 -5
  28. package/dist/es2019/components/AnalyticsErrorBoundary.js +8 -37
  29. package/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js +2 -14
  30. package/dist/es2019/components/AnalyticsListener/ModernAnalyticsListener.js +0 -3
  31. package/dist/es2019/components/AnalyticsListener/index.js +2 -5
  32. package/dist/es2019/events/AnalyticsEvent.js +6 -10
  33. package/dist/es2019/events/UIAnalyticsEvent.js +3 -15
  34. package/dist/es2019/hocs/withAnalyticsContext.js +6 -5
  35. package/dist/es2019/hocs/withAnalyticsEvents.js +4 -4
  36. package/dist/es2019/hooks/usePatchedProps.js +6 -9
  37. package/dist/es2019/hooks/usePlatformLeafEventHandler.js +14 -10
  38. package/dist/es2019/hooks/usePlatformLeafSyntheticEventHandler.js +14 -10
  39. package/dist/es2019/index.js +2 -1
  40. package/dist/es2019/test-utils/useRenderCounter.js +2 -1
  41. package/dist/es2019/utils/createAndFireEvent.js +0 -2
  42. package/dist/es2019/version.json +1 -1
  43. package/dist/esm/components/AnalyticsContext/LegacyAnalyticsContext.js +4 -21
  44. package/dist/esm/components/AnalyticsContext/ModernAnalyticsContext.js +1 -3
  45. package/dist/esm/components/AnalyticsContext/index.js +2 -5
  46. package/dist/esm/components/AnalyticsErrorBoundary.js +18 -54
  47. package/dist/esm/components/AnalyticsListener/LegacyAnalyticsListener.js +6 -25
  48. package/dist/esm/components/AnalyticsListener/ModernAnalyticsListener.js +2 -5
  49. package/dist/esm/components/AnalyticsListener/index.js +2 -5
  50. package/dist/esm/events/AnalyticsEvent.js +2 -16
  51. package/dist/esm/events/UIAnalyticsEvent.js +3 -27
  52. package/dist/esm/hocs/withAnalyticsContext.js +5 -9
  53. package/dist/esm/hocs/withAnalyticsEvents.js +6 -8
  54. package/dist/esm/hooks/useCallbackWithAnalytics.js +1 -2
  55. package/dist/esm/hooks/usePatchedProps.js +3 -14
  56. package/dist/esm/hooks/usePlatformLeafEventHandler.js +20 -22
  57. package/dist/esm/hooks/usePlatformLeafSyntheticEventHandler.js +19 -21
  58. package/dist/esm/index.js +2 -1
  59. package/dist/esm/test-utils/useRenderCounter.js +2 -1
  60. package/dist/esm/utils/cleanProps.js +1 -2
  61. package/dist/esm/utils/createAndFireEvent.js +0 -2
  62. package/dist/esm/version.json +1 -1
  63. package/dist/types/components/AnalyticsErrorBoundary.d.ts +7 -12
  64. package/package.json +5 -9
  65. package/report.api.md +137 -7407
  66. package/dist/types-ts4.0/components/AnalyticsContext/LegacyAnalyticsContext.d.ts +0 -29
  67. package/dist/types-ts4.0/components/AnalyticsContext/ModernAnalyticsContext.d.ts +0 -3
  68. package/dist/types-ts4.0/components/AnalyticsContext/index.d.ts +0 -3
  69. package/dist/types-ts4.0/components/AnalyticsContext/types.d.ts +0 -9
  70. package/dist/types-ts4.0/components/AnalyticsErrorBoundary.d.ts +0 -29
  71. package/dist/types-ts4.0/components/AnalyticsListener/LegacyAnalyticsListener.d.ts +0 -33
  72. package/dist/types-ts4.0/components/AnalyticsListener/ModernAnalyticsListener.d.ts +0 -3
  73. package/dist/types-ts4.0/components/AnalyticsListener/index.d.ts +0 -3
  74. package/dist/types-ts4.0/components/AnalyticsListener/types.d.ts +0 -12
  75. package/dist/types-ts4.0/events/AnalyticsEvent.d.ts +0 -15
  76. package/dist/types-ts4.0/events/UIAnalyticsEvent.d.ts +0 -20
  77. package/dist/types-ts4.0/hocs/withAnalyticsContext.d.ts +0 -6
  78. package/dist/types-ts4.0/hocs/withAnalyticsEvents.d.ts +0 -12
  79. package/dist/types-ts4.0/hooks/useAnalyticsContext.d.ts +0 -2
  80. package/dist/types-ts4.0/hooks/useAnalyticsEvents.d.ts +0 -5
  81. package/dist/types-ts4.0/hooks/useCallbackWithAnalytics.d.ts +0 -2
  82. package/dist/types-ts4.0/hooks/usePatchedProps.d.ts +0 -5
  83. package/dist/types-ts4.0/hooks/usePlatformLeafEventHandler.d.ts +0 -12
  84. package/dist/types-ts4.0/hooks/usePlatformLeafSyntheticEventHandler.d.ts +0 -11
  85. package/dist/types-ts4.0/hooks/useTrackedRef.d.ts +0 -2
  86. package/dist/types-ts4.0/index.d.ts +0 -25
  87. package/dist/types-ts4.0/performance/examples.d.ts +0 -5
  88. package/dist/types-ts4.0/test-utils/useRenderCounter.d.ts +0 -1
  89. package/dist/types-ts4.0/types.d.ts +0 -6
  90. package/dist/types-ts4.0/utils/cleanProps.d.ts +0 -3
  91. package/dist/types-ts4.0/utils/createAndFireEvent.d.ts +0 -4
@@ -1,53 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.isUIAnalyticsEvent = exports.default = void 0;
9
-
10
8
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
9
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
10
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
11
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
12
  var _get2 = _interopRequireDefault(require("@babel/runtime/helpers/get"));
19
-
20
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
21
-
22
14
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
23
-
24
15
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
25
-
26
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
17
  var _AnalyticsEvent2 = _interopRequireDefault(require("./AnalyticsEvent"));
29
-
30
18
  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); }; }
31
-
32
19
  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; } }
33
-
34
20
  var isUIAnalyticsEvent = function isUIAnalyticsEvent(obj) {
35
21
  var _obj$constructor;
36
-
37
- return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) || // Backwards compatibility with older analytics-next packages
22
+ return obj instanceof UIAnalyticsEvent || !!(obj !== null && obj !== void 0 && obj._isUIAnalyticsEvent) ||
23
+ // Backwards compatibility with older analytics-next packages
38
24
  (obj === null || obj === void 0 ? void 0 : (_obj$constructor = obj.constructor) === null || _obj$constructor === void 0 ? void 0 : _obj$constructor.name) === 'UIAnalyticsEvent';
39
25
  };
40
-
41
26
  exports.isUIAnalyticsEvent = isUIAnalyticsEvent;
42
-
43
27
  var UIAnalyticsEvent = /*#__PURE__*/function (_AnalyticsEvent) {
44
28
  (0, _inherits2.default)(UIAnalyticsEvent, _AnalyticsEvent);
45
-
46
29
  var _super = _createSuper(UIAnalyticsEvent);
47
-
48
30
  function UIAnalyticsEvent(props) {
49
31
  var _this;
50
-
51
32
  (0, _classCallCheck2.default)(this, UIAnalyticsEvent);
52
33
  _this = _super.call(this, props);
53
34
  (0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "_isUIAnalyticsEvent", true);
@@ -57,18 +38,16 @@ var UIAnalyticsEvent = /*#__PURE__*/function (_AnalyticsEvent) {
57
38
  // eslint-disable-next-line no-console
58
39
  console.warn("Cannot clone an event after it's been fired.");
59
40
  }
60
-
61
41
  return null;
62
42
  }
63
-
64
43
  var context = (0, _toConsumableArray2.default)(_this.context);
65
44
  var handlers = (0, _toConsumableArray2.default)(_this.handlers);
45
+
66
46
  /**
67
47
  * A hacky "deep clone" of the object. This is limited in that it wont
68
48
  * support functions, regexs, Maps, Sets, etc, but none of those need to
69
49
  * be represented in our payload.
70
50
  */
71
-
72
51
  var payload = JSON.parse(JSON.stringify(_this.payload));
73
52
  return new UIAnalyticsEvent({
74
53
  context: context,
@@ -82,14 +61,11 @@ var UIAnalyticsEvent = /*#__PURE__*/function (_AnalyticsEvent) {
82
61
  // eslint-disable-next-line no-console
83
62
  console.warn('Cannot fire an event twice.');
84
63
  }
85
-
86
64
  return;
87
65
  }
88
-
89
66
  _this.handlers.forEach(function (handler) {
90
67
  return handler((0, _assertThisInitialized2.default)(_this), channel);
91
68
  });
92
-
93
69
  _this.hasFired = true;
94
70
  });
95
71
  _this.context = props.context || [];
@@ -97,7 +73,6 @@ var UIAnalyticsEvent = /*#__PURE__*/function (_AnalyticsEvent) {
97
73
  _this.hasFired = false;
98
74
  return _this;
99
75
  }
100
-
101
76
  (0, _createClass2.default)(UIAnalyticsEvent, [{
102
77
  key: "update",
103
78
  value: function update(updater) {
@@ -106,14 +81,11 @@ var UIAnalyticsEvent = /*#__PURE__*/function (_AnalyticsEvent) {
106
81
  // eslint-disable-next-line no-console
107
82
  console.warn("Cannot update an event after it's been fired.");
108
83
  }
109
-
110
84
  return this;
111
85
  }
112
-
113
86
  return (0, _get2.default)((0, _getPrototypeOf2.default)(UIAnalyticsEvent.prototype), "update", this).call(this, updater);
114
87
  }
115
88
  }]);
116
89
  return UIAnalyticsEvent;
117
90
  }(_AnalyticsEvent2.default);
118
-
119
91
  exports.default = UIAnalyticsEvent;
@@ -1,39 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = void 0;
11
-
12
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
-
16
11
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
17
-
18
12
  var _react = _interopRequireWildcard(require("react"));
19
-
20
13
  var _AnalyticsContext = _interopRequireDefault(require("../components/AnalyticsContext"));
21
-
22
14
  var _excluded = ["analyticsContext"];
23
-
24
15
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
-
26
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; }
27
-
28
17
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
29
-
30
18
  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) { (0, _defineProperty2.default)(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; }
31
-
32
19
  var withAnalyticsContext = function withAnalyticsContext(defaultData) {
33
20
  return function (WrappedComponent) {
34
21
  var WithAnalyticsContext = /*#__PURE__*/(0, _react.forwardRef)(function (_ref, ref) {
35
22
  var analyticsContext = _ref.analyticsContext,
36
- rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
23
+ rest = (0, _objectWithoutProperties2.default)(_ref, _excluded);
37
24
  var analyticsData = (0, _react.useMemo)(function () {
38
25
  return _objectSpread(_objectSpread({}, defaultData), analyticsContext);
39
26
  }, [analyticsContext]);
@@ -42,13 +29,14 @@ var withAnalyticsContext = function withAnalyticsContext(defaultData) {
42
29
  }, /*#__PURE__*/_react.default.createElement(WrappedComponent, (0, _extends2.default)({}, rest, {
43
30
  ref: ref
44
31
  })));
45
- }); // @ts-ignore
32
+ });
46
33
 
47
- WithAnalyticsContext.displayName = "WithAnalyticsContext(".concat( // @ts-ignore disneyName doesn't exist on type
34
+ // @ts-ignore
35
+ WithAnalyticsContext.displayName = "WithAnalyticsContext(".concat(
36
+ // @ts-ignore disneyName doesn't exist on type
48
37
  WrappedComponent.displayName || WrappedComponent.name, ")");
49
38
  return WithAnalyticsContext;
50
39
  };
51
40
  };
52
-
53
41
  var _default = withAnalyticsContext;
54
42
  exports.default = _default;
@@ -1,47 +1,37 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
8
  exports.default = void 0;
11
-
12
9
  var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
-
14
10
  var _react = _interopRequireWildcard(require("react"));
15
-
16
11
  var _useAnalyticsEvents2 = require("../hooks/useAnalyticsEvents");
17
-
18
12
  var _usePatchedProps2 = require("../hooks/usePatchedProps");
19
-
20
13
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
21
-
22
14
  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; }
23
-
24
15
  var withAnalyticsEvents = function withAnalyticsEvents() {
25
16
  var createEventMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
26
17
  return function (WrappedComponent) {
27
18
  var WithAnalyticsEvents = /*#__PURE__*/(0, _react.forwardRef)(function (props, ref) {
28
19
  var _usePatchedProps = (0, _usePatchedProps2.usePatchedProps)(createEventMap, props),
29
- patchedEventProps = _usePatchedProps.patchedEventProps;
30
-
20
+ patchedEventProps = _usePatchedProps.patchedEventProps;
31
21
  var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
32
- createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
33
-
22
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
34
23
  return /*#__PURE__*/_react.default.createElement(WrappedComponent, (0, _extends2.default)({}, props, patchedEventProps, {
35
24
  createAnalyticsEvent: createAnalyticsEvent,
36
25
  ref: ref
37
26
  }));
38
- }); // @ts-ignore
27
+ });
39
28
 
40
- WithAnalyticsEvents.displayName = "WithAnalyticsEvents(".concat( // @ts-ignore disneyName doesn't exist on type
29
+ // @ts-ignore
30
+ WithAnalyticsEvents.displayName = "WithAnalyticsEvents(".concat(
31
+ // @ts-ignore disneyName doesn't exist on type
41
32
  WrappedComponent.displayName || WrappedComponent.name, ")");
42
33
  return WithAnalyticsEvents;
43
34
  };
44
35
  };
45
-
46
36
  var _default = withAnalyticsEvents;
47
37
  exports.default = _default;
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useAnalyticsContext = void 0;
9
-
10
8
  var _react = require("react");
11
-
12
9
  var _analyticsNextStableReactContext = _interopRequireDefault(require("@atlaskit/analytics-next-stable-react-context"));
13
-
14
10
  var useAnalyticsContext = function useAnalyticsContext() {
15
11
  return (0, _react.useContext)(_analyticsNextStableReactContext.default);
16
12
  };
17
-
18
13
  exports.useAnalyticsContext = useAnalyticsContext;
@@ -1,18 +1,13 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.useAnalyticsEvents = useAnalyticsEvents;
9
-
10
8
  var _useMemoOne = require("use-memo-one");
11
-
12
9
  var _UIAnalyticsEvent = _interopRequireDefault(require("../events/UIAnalyticsEvent"));
13
-
14
10
  var _useAnalyticsContext = require("./useAnalyticsContext");
15
-
16
11
  function useAnalyticsEvents() {
17
12
  var analyticsContext = (0, _useAnalyticsContext.useAnalyticsContext)();
18
13
  var createAnalyticsEvent = (0, _useMemoOne.useCallbackOne)(function (payload) {
@@ -4,17 +4,12 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useCallbackWithAnalytics = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var _useAnalyticsEvents2 = require("./useAnalyticsEvents");
11
-
12
9
  var _useTrackedRef = require("./useTrackedRef");
13
-
14
10
  var useCallbackWithAnalytics = function useCallbackWithAnalytics(method, payload, channel) {
15
11
  var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
16
- createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
17
-
12
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
18
13
  var methodRef = (0, _useTrackedRef.useTrackedRef)(method);
19
14
  var payloadRef = (0, _useTrackedRef.useTrackedRef)(payload);
20
15
  return (0, _react.useCallback)(function () {
@@ -23,5 +18,4 @@ var useCallbackWithAnalytics = function useCallbackWithAnalytics(method, payload
23
18
  methodRef.current.apply(methodRef, arguments);
24
19
  }, [createAnalyticsEvent, methodRef, payloadRef, channel]);
25
20
  };
26
-
27
21
  exports.useCallbackWithAnalytics = useCallbackWithAnalytics;
@@ -1,35 +1,26 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.usePatchedProps = usePatchedProps;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
13
-
14
10
  var _react = require("react");
15
-
16
11
  var _useAnalyticsEvents2 = require("./useAnalyticsEvents");
17
-
18
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
-
20
13
  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) { (0, _defineProperty2.default)(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; }
21
-
22
14
  function usePatchedProps() {
23
15
  var createEventMap = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
24
16
  var wrappedComponentProps = arguments.length > 1 ? arguments[1] : undefined;
25
-
26
17
  var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
27
- createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
28
-
18
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
29
19
  var handlerCache = (0, _react.useRef)({});
30
20
  var patchedProps = (0, _react.useMemo)(function () {
31
- var cache = handlerCache.current; // Clean up no longer used handlers in cache
21
+ var cache = handlerCache.current;
32
22
 
23
+ // Clean up no longer used handlers in cache
33
24
  Object.keys(cache).filter(function (key) {
34
25
  return !(key in createEventMap);
35
26
  }).forEach(function (key) {
@@ -37,29 +28,22 @@ function usePatchedProps() {
37
28
  });
38
29
  return Object.keys(createEventMap).reduce(function (p, k) {
39
30
  var eventCreator = createEventMap[k];
40
-
41
31
  if (!['object', 'function'].includes((0, _typeof2.default)(eventCreator))) {
42
32
  return p;
43
33
  }
44
-
45
34
  var propValue = wrappedComponentProps[k];
46
-
47
35
  if (k in cache && cache[k].eventCreator === eventCreator && cache[k].propValue === propValue) {
48
36
  return _objectSpread(_objectSpread({}, p), {}, (0, _defineProperty2.default)({}, k, cache[k].wrappedCallback));
49
37
  }
50
-
51
38
  var wrappedCallback = function wrappedCallback() {
52
39
  var analyticsEvent = typeof eventCreator === 'function' ? eventCreator(createAnalyticsEvent, wrappedComponentProps) : createAnalyticsEvent(eventCreator);
53
-
54
40
  if (propValue && typeof propValue === 'function') {
55
41
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
56
42
  args[_key] = arguments[_key];
57
43
  }
58
-
59
44
  propValue.apply(void 0, args.concat([analyticsEvent]));
60
45
  }
61
46
  };
62
-
63
47
  cache[k] = {
64
48
  eventCreator: eventCreator,
65
49
  wrappedCallback: wrappedCallback,
@@ -1,24 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.usePlatformLeafEventHandler = usePlatformLeafEventHandler;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _react = require("react");
13
-
14
10
  var _useAnalyticsEvents2 = require("./useAnalyticsEvents");
15
-
16
11
  var _useTrackedRef = require("./useTrackedRef");
17
-
18
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
-
20
13
  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) { (0, _defineProperty2.default)(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; }
21
-
22
14
  // WARNING: This hook will only function correctly for leaf node components - as in
23
15
  // no children inside the component will require analytics themselves.
24
16
  // Ignoring this warning will mean the analytics context of child components will not
@@ -27,20 +19,19 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
27
19
  // or AnalyticsContext component instead.
28
20
  function usePlatformLeafEventHandler(_ref) {
29
21
  var fn = _ref.fn,
30
- action = _ref.action,
31
- componentName = _ref.componentName,
32
- actionSubject = _ref.actionSubject,
33
- packageName = _ref.packageName,
34
- packageVersion = _ref.packageVersion,
35
- analyticsData = _ref.analyticsData;
36
-
22
+ action = _ref.action,
23
+ componentName = _ref.componentName,
24
+ actionSubject = _ref.actionSubject,
25
+ packageName = _ref.packageName,
26
+ packageVersion = _ref.packageVersion,
27
+ analyticsData = _ref.analyticsData;
37
28
  var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
38
- createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent; // We put analyticsData and fn in a ref so that we don't need to break
29
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
30
+
31
+ // We put analyticsData and fn in a ref so that we don't need to break
39
32
  // memoization.
40
33
  // Generally these could be defined by consumers inline
41
34
  // and so we do this to avoid breaking memoization of useCallback
42
-
43
-
44
35
  var dataRef = (0, _useTrackedRef.useTrackedRef)(analyticsData);
45
36
  var fnRef = (0, _useTrackedRef.useTrackedRef)(fn);
46
37
  var handler = (0, _react.useCallback)(function (value) {
@@ -52,28 +43,30 @@ function usePlatformLeafEventHandler(_ref) {
52
43
  packageName: packageName,
53
44
  packageVersion: packageVersion
54
45
  }
55
- }); // To avoid wrapping this component in AnalyticsContext we manually
46
+ });
47
+
48
+ // To avoid wrapping this component in AnalyticsContext we manually
56
49
  // push the parent context's meta data into the context.
57
50
  // Note: this new 'context'
58
-
59
51
  var context = _objectSpread({
60
52
  componentName: componentName,
61
53
  packageName: packageName,
62
54
  packageVersion: packageVersion
63
55
  }, dataRef.current);
56
+ analyticsEvent.context.push(context);
64
57
 
65
- analyticsEvent.context.push(context); // fire an event on the atlaskit channel
66
-
58
+ // fire an event on the atlaskit channel
67
59
  var clone = analyticsEvent.clone();
68
-
69
60
  if (clone) {
70
61
  clone.fire('atlaskit');
71
62
  }
72
-
73
63
  fnRef.current(value, analyticsEvent);
74
- }, [// These are strings and won't change
75
- action, componentName, actionSubject, packageName, packageVersion, // This function is memoized in the context
76
- createAnalyticsEvent, // these are a stable ref because of the useTrackedRef hook
64
+ }, [
65
+ // These are strings and won't change
66
+ action, componentName, actionSubject, packageName, packageVersion,
67
+ // This function is memoized in the context
68
+ createAnalyticsEvent,
69
+ // these are a stable ref because of the useTrackedRef hook
77
70
  dataRef, fnRef]);
78
71
  return handler;
79
72
  }
@@ -1,24 +1,16 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.usePlatformLeafSyntheticEventHandler = usePlatformLeafSyntheticEventHandler;
9
-
10
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
9
  var _react = require("react");
13
-
14
10
  var _useAnalyticsEvents2 = require("./useAnalyticsEvents");
15
-
16
11
  var _useTrackedRef = require("./useTrackedRef");
17
-
18
12
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
-
20
13
  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) { (0, _defineProperty2.default)(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; }
21
-
22
14
  // WARNING: This hook will only function correctly for leaf node components - as in
23
15
  // no children inside the component will require analytics themselves.
24
16
  // Ignoring this warning will mean the analytics context of child components will not
@@ -27,19 +19,18 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
27
19
  // or AnalyticsContext component instead.
28
20
  function usePlatformLeafSyntheticEventHandler(_ref) {
29
21
  var fn = _ref.fn,
30
- action = _ref.action,
31
- componentName = _ref.componentName,
32
- packageName = _ref.packageName,
33
- packageVersion = _ref.packageVersion,
34
- analyticsData = _ref.analyticsData;
35
-
22
+ action = _ref.action,
23
+ componentName = _ref.componentName,
24
+ packageName = _ref.packageName,
25
+ packageVersion = _ref.packageVersion,
26
+ analyticsData = _ref.analyticsData;
36
27
  var _useAnalyticsEvents = (0, _useAnalyticsEvents2.useAnalyticsEvents)(),
37
- createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent; // We put analyticsData and fn in a ref so that we don't need to break
28
+ createAnalyticsEvent = _useAnalyticsEvents.createAnalyticsEvent;
29
+
30
+ // We put analyticsData and fn in a ref so that we don't need to break
38
31
  // memoization.
39
32
  // Generally these could be defined by consumers inline
40
33
  // and so we do this to avoid breaking memoization of useCallback
41
-
42
-
43
34
  var dataRef = (0, _useTrackedRef.useTrackedRef)(analyticsData);
44
35
  var fnRef = (0, _useTrackedRef.useTrackedRef)(fn);
45
36
  var handler = (0, _react.useCallback)(function () {
@@ -51,28 +42,30 @@ function usePlatformLeafSyntheticEventHandler(_ref) {
51
42
  packageName: packageName,
52
43
  packageVersion: packageVersion
53
44
  }
54
- }); // To avoid wrapping this component in AnalyticsContext we manually
45
+ });
46
+
47
+ // To avoid wrapping this component in AnalyticsContext we manually
55
48
  // push the parent context's meta data into the context.
56
49
  // Note: this new 'context'
57
-
58
50
  var context = _objectSpread({
59
51
  componentName: componentName,
60
52
  packageName: packageName,
61
53
  packageVersion: packageVersion
62
54
  }, dataRef.current);
55
+ analyticsEvent.context.push(context);
63
56
 
64
- analyticsEvent.context.push(context); // fire an event on the atlaskit channel
65
-
57
+ // fire an event on the atlaskit channel
66
58
  var clone = analyticsEvent.clone();
67
-
68
59
  if (clone) {
69
60
  clone.fire('atlaskit');
70
61
  }
71
-
72
62
  fnRef.current(analyticsEvent);
73
- }, [// These are strings and won't change
74
- action, componentName, packageName, packageVersion, // This function is memoized in the context
75
- createAnalyticsEvent, // these are a stable ref because of the useTrackedRef hook
63
+ }, [
64
+ // These are strings and won't change
65
+ action, componentName, packageName, packageVersion,
66
+ // This function is memoized in the context
67
+ createAnalyticsEvent,
68
+ // these are a stable ref because of the useTrackedRef hook
76
69
  dataRef, fnRef]);
77
70
  return handler;
78
71
  }
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useTrackedRef = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  var useTrackedRef = function useTrackedRef(value) {
11
9
  var ref = (0, _react.useRef)(value);
12
10
  (0, _react.useEffect)(function () {
@@ -14,5 +12,4 @@ var useTrackedRef = function useTrackedRef(value) {
14
12
  }, [value]);
15
13
  return ref;
16
14
  };
17
-
18
15
  exports.useTrackedRef = useTrackedRef;
package/dist/cjs/index.js CHANGED
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
@@ -103,35 +101,19 @@ Object.defineProperty(exports, "withAnalyticsEvents", {
103
101
  return _withAnalyticsEvents.default;
104
102
  }
105
103
  });
106
-
107
104
  var _AnalyticsEvent = _interopRequireWildcard(require("./events/AnalyticsEvent"));
108
-
109
105
  var _UIAnalyticsEvent = _interopRequireWildcard(require("./events/UIAnalyticsEvent"));
110
-
111
106
  var _index = _interopRequireDefault(require("./components/AnalyticsListener/index"));
112
-
113
107
  var _index2 = _interopRequireDefault(require("./components/AnalyticsContext/index"));
114
-
115
108
  var _withAnalyticsContext = _interopRequireDefault(require("./hocs/withAnalyticsContext"));
116
-
117
109
  var _AnalyticsErrorBoundary = _interopRequireDefault(require("./components/AnalyticsErrorBoundary"));
118
-
119
110
  var _withAnalyticsEvents = _interopRequireDefault(require("./hocs/withAnalyticsEvents"));
120
-
121
111
  var _analyticsNextStableReactContext = _interopRequireDefault(require("@atlaskit/analytics-next-stable-react-context"));
122
-
123
112
  var _useAnalyticsEvents = require("./hooks/useAnalyticsEvents");
124
-
125
113
  var _useCallbackWithAnalytics = require("./hooks/useCallbackWithAnalytics");
126
-
127
114
  var _usePlatformLeafEventHandler = require("./hooks/usePlatformLeafEventHandler");
128
-
129
115
  var _usePlatformLeafSyntheticEventHandler = require("./hooks/usePlatformLeafSyntheticEventHandler");
130
-
131
116
  var _createAndFireEvent = _interopRequireDefault(require("./utils/createAndFireEvent"));
132
-
133
117
  var _cleanProps = _interopRequireDefault(require("./utils/cleanProps"));
134
-
135
118
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
136
-
137
119
  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; }
@@ -4,9 +4,7 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.useRenderCounter = void 0;
7
-
8
7
  var _react = require("react");
9
-
10
8
  // Hook to track the number of renders in tests
11
9
  var useRenderCounter = function useRenderCounter() {
12
10
  var ref = (0, _react.useRef)(1);
@@ -15,5 +13,4 @@ var useRenderCounter = function useRenderCounter() {
15
13
  });
16
14
  return ref.current;
17
15
  };
18
-
19
16
  exports.useRenderCounter = useRenderCounter;
@@ -1,18 +1,14 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.default = cleanProps;
9
-
10
8
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
11
-
12
9
  var _excluded = ["createAnalyticsEvent"];
13
-
14
10
  function cleanProps(props) {
15
11
  var createAnalyticsEvent = props.createAnalyticsEvent,
16
- cleanedProps = (0, _objectWithoutProperties2.default)(props, _excluded);
12
+ cleanedProps = (0, _objectWithoutProperties2.default)(props, _excluded);
17
13
  return cleanedProps;
18
14
  }