@atlaskit/analytics-next 9.3.2 → 9.3.4

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 (28) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/cjs/components/AnalyticsContext/ModernAnalyticsContext.js +8 -6
  3. package/dist/cjs/components/AnalyticsContext/index.js +3 -3
  4. package/dist/cjs/components/AnalyticsErrorBoundary.js +20 -2
  5. package/dist/cjs/components/AnalyticsListener/ModernAnalyticsListener.js +13 -8
  6. package/dist/cjs/components/AnalyticsListener/index.js +3 -3
  7. package/dist/cjs/utils/isModernContextEnabledEnv.js +8 -0
  8. package/dist/es2019/components/AnalyticsContext/ModernAnalyticsContext.js +8 -5
  9. package/dist/es2019/components/AnalyticsContext/index.js +4 -4
  10. package/dist/es2019/components/AnalyticsErrorBoundary.js +22 -4
  11. package/dist/es2019/components/AnalyticsListener/ModernAnalyticsListener.js +11 -10
  12. package/dist/es2019/components/AnalyticsListener/index.js +4 -4
  13. package/dist/es2019/utils/isModernContextEnabledEnv.js +2 -0
  14. package/dist/esm/components/AnalyticsContext/ModernAnalyticsContext.js +7 -5
  15. package/dist/esm/components/AnalyticsContext/index.js +4 -4
  16. package/dist/esm/components/AnalyticsErrorBoundary.js +22 -4
  17. package/dist/esm/components/AnalyticsListener/ModernAnalyticsListener.js +12 -7
  18. package/dist/esm/components/AnalyticsListener/index.js +4 -4
  19. package/dist/esm/utils/isModernContextEnabledEnv.js +2 -0
  20. package/dist/types/components/AnalyticsContext/ModernAnalyticsContext.d.ts +1 -1
  21. package/dist/types/components/AnalyticsErrorBoundary.d.ts +1 -0
  22. package/dist/types/components/AnalyticsListener/ModernAnalyticsListener.d.ts +1 -1
  23. package/dist/types/utils/isModernContextEnabledEnv.d.ts +2 -0
  24. package/dist/types-ts4.5/components/AnalyticsContext/ModernAnalyticsContext.d.ts +1 -1
  25. package/dist/types-ts4.5/components/AnalyticsErrorBoundary.d.ts +1 -0
  26. package/dist/types-ts4.5/components/AnalyticsListener/ModernAnalyticsListener.d.ts +1 -1
  27. package/dist/types-ts4.5/utils/isModernContextEnabledEnv.d.ts +2 -0
  28. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # @atlaskit/analytics-next
2
2
 
3
+ ## 9.3.4
4
+
5
+ ### Patch Changes
6
+
7
+ - [#126024](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/126024)
8
+ [`1dd14118edb5c`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/1dd14118edb5c) -
9
+ Fixing event bubbling difference between Modern and Legacy context
10
+
11
+ ## 9.3.3
12
+
13
+ ### Patch Changes
14
+
15
+ - [#125281](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/125281)
16
+ [`69348340269b2`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/69348340269b2) -
17
+ Switch AnalyticsErrorBoundary between Modern and Legacy context
18
+
3
19
  ## 9.3.2
4
20
 
5
21
  ### Patch Changes
@@ -9,7 +9,7 @@ exports.default = void 0;
9
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _analyticsNextStableReactContext = _interopRequireDefault(require("@atlaskit/analytics-next-stable-react-context"));
12
- var _useAnalyticsContext = require("../../hooks/useAnalyticsContext");
12
+ var _useAnalyticsContext2 = require("../../hooks/useAnalyticsContext");
13
13
  var _useTrackedRef = require("../../hooks/useTrackedRef");
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -17,16 +17,18 @@ var AnalyticsContext = function AnalyticsContext(_ref) {
17
17
  var data = _ref.data,
18
18
  children = _ref.children;
19
19
  var dataRef = (0, _useTrackedRef.useTrackedRef)(data);
20
- var analyticsContext = (0, _useAnalyticsContext.useAnalyticsContext)();
20
+ var _useAnalyticsContext = (0, _useAnalyticsContext2.useAnalyticsContext)(),
21
+ getAtlaskitAnalyticsEventHandlers = _useAnalyticsContext.getAtlaskitAnalyticsEventHandlers,
22
+ getOriginalAnalyticsContext = _useAnalyticsContext.getAtlaskitAnalyticsContext;
21
23
  var getAtlaskitAnalyticsContext = (0, _react.useCallback)(function () {
22
- return [].concat((0, _toConsumableArray2.default)(analyticsContext.getAtlaskitAnalyticsContext()), [dataRef.current]);
23
- }, [analyticsContext, dataRef]);
24
+ return [].concat((0, _toConsumableArray2.default)(getOriginalAnalyticsContext()), [dataRef.current]);
25
+ }, [getOriginalAnalyticsContext, dataRef]);
24
26
  var value = (0, _react.useMemo)(function () {
25
27
  return {
26
28
  getAtlaskitAnalyticsContext: getAtlaskitAnalyticsContext,
27
- getAtlaskitAnalyticsEventHandlers: analyticsContext.getAtlaskitAnalyticsEventHandlers
29
+ getAtlaskitAnalyticsEventHandlers: getAtlaskitAnalyticsEventHandlers
28
30
  };
29
- }, [analyticsContext, getAtlaskitAnalyticsContext]);
31
+ }, [getAtlaskitAnalyticsContext, getAtlaskitAnalyticsEventHandlers]);
30
32
  return /*#__PURE__*/_react.default.createElement(_analyticsNextStableReactContext.default.Provider, {
31
33
  value: value
32
34
  }, children);
@@ -7,11 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
+ var _isModernContextEnabledEnv = _interopRequireDefault(require("../../utils/isModernContextEnabledEnv"));
10
11
  var _LegacyAnalyticsContext = _interopRequireDefault(require("./LegacyAnalyticsContext"));
11
12
  var _ModernAnalyticsContext = _interopRequireDefault(require("./ModernAnalyticsContext"));
12
13
  var ExportedAnalyticsContext = function ExportedAnalyticsContext(props) {
13
- var _process$env;
14
- var isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);
15
- return isModernContextEnabledEnv || (0, _platformFeatureFlags.getBooleanFF)('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/_react.default.createElement(_ModernAnalyticsContext.default, props) : /*#__PURE__*/_react.default.createElement(_LegacyAnalyticsContext.default, props);
14
+ var isModernContext = _isModernContextEnabledEnv.default || (0, _platformFeatureFlags.fg)('platform.analytics-next-use-modern-context_fqgbx');
15
+ return isModernContext ? /*#__PURE__*/_react.default.createElement(_ModernAnalyticsContext.default, props) : /*#__PURE__*/_react.default.createElement(_LegacyAnalyticsContext.default, props);
16
16
  };
17
17
  var _default = exports.default = ExportedAnalyticsContext;
@@ -12,12 +12,16 @@ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits
12
12
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
13
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
16
+ var _isModernContextEnabledEnv = _interopRequireDefault(require("../utils/isModernContextEnabledEnv"));
15
17
  var _LegacyAnalyticsContext = _interopRequireDefault(require("./AnalyticsContext/LegacyAnalyticsContext"));
18
+ var _ModernAnalyticsContext = _interopRequireDefault(require("./AnalyticsContext/ModernAnalyticsContext"));
16
19
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
17
20
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
18
21
  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); }; }
19
22
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
20
23
  /**
24
+ * @private https://product-fabric.atlassian.net/browse/AFO-815
21
25
  * @deprecated
22
26
  */
23
27
  // eslint-disable-next-line @repo/internal/react/no-class-components
@@ -50,10 +54,24 @@ var AnalyticsErrorBoundary = exports.default = /*#__PURE__*/function (_Component
50
54
  children = _this$props.children,
51
55
  ErrorComponent = _this$props.ErrorComponent;
52
56
  var hasError = this.state.hasError;
57
+ var isModernContext = _isModernContextEnabledEnv.default || (0, _platformFeatureFlags.fg)('platform.analytics-next-use-modern-context_fqgbx');
53
58
  if (hasError) {
54
- return ErrorComponent ? /*#__PURE__*/_react.default.createElement(_LegacyAnalyticsContext.default, {
59
+ if (ErrorComponent) {
60
+ if (isModernContext) {
61
+ return /*#__PURE__*/_react.default.createElement(_ModernAnalyticsContext.default, {
62
+ data: data
63
+ }, /*#__PURE__*/_react.default.createElement(ErrorComponent, null));
64
+ }
65
+ return /*#__PURE__*/_react.default.createElement(_LegacyAnalyticsContext.default, {
66
+ data: data
67
+ }, /*#__PURE__*/_react.default.createElement(ErrorComponent, null));
68
+ }
69
+ return null;
70
+ }
71
+ if (isModernContext) {
72
+ return /*#__PURE__*/_react.default.createElement(_ModernAnalyticsContext.default, {
55
73
  data: data
56
- }, /*#__PURE__*/_react.default.createElement(ErrorComponent, null)) : null;
74
+ }, children);
57
75
  }
58
76
  return /*#__PURE__*/_react.default.createElement(_LegacyAnalyticsContext.default, {
59
77
  data: data
@@ -9,7 +9,7 @@ exports.default = void 0;
9
9
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
10
  var _react = _interopRequireWildcard(require("react"));
11
11
  var _analyticsNextStableReactContext = _interopRequireDefault(require("@atlaskit/analytics-next-stable-react-context"));
12
- var _useAnalyticsContext = require("../../hooks/useAnalyticsContext");
12
+ var _useAnalyticsContext2 = require("../../hooks/useAnalyticsContext");
13
13
  var _useTrackedRef = require("../../hooks/useTrackedRef");
14
14
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); }
15
15
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && Object.prototype.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
@@ -17,23 +17,28 @@ var AnalyticsListener = function AnalyticsListener(_ref) {
17
17
  var children = _ref.children,
18
18
  channel = _ref.channel,
19
19
  onEvent = _ref.onEvent;
20
- var analyticsContext = (0, _useAnalyticsContext.useAnalyticsContext)();
20
+ var _useAnalyticsContext = (0, _useAnalyticsContext2.useAnalyticsContext)(),
21
+ _useAnalyticsContext$ = _useAnalyticsContext.getAtlaskitAnalyticsEventHandlers,
22
+ getAtlaskitAnalyticsEventHandlers = _useAnalyticsContext$ === void 0 ? function () {
23
+ return [];
24
+ } : _useAnalyticsContext$,
25
+ getAtlaskitAnalyticsContext = _useAnalyticsContext.getAtlaskitAnalyticsContext;
21
26
  var onEventRef = (0, _useTrackedRef.useTrackedRef)(onEvent);
22
27
  var channelRef = (0, _useTrackedRef.useTrackedRef)(channel);
23
- var getAtlaskitAnalyticsEventHandlers = (0, _react.useCallback)(function () {
28
+ var getAnalyticsEventHandlers = (0, _react.useCallback)(function () {
24
29
  var thisHandler = function thisHandler(event, eventChannel) {
25
30
  if (channelRef.current === '*' || channelRef.current === eventChannel) {
26
31
  onEventRef.current(event, eventChannel);
27
32
  }
28
33
  };
29
- return [].concat((0, _toConsumableArray2.default)(analyticsContext.getAtlaskitAnalyticsEventHandlers()), [thisHandler]);
30
- }, [analyticsContext, channelRef, onEventRef]);
34
+ return [thisHandler].concat((0, _toConsumableArray2.default)(getAtlaskitAnalyticsEventHandlers()));
35
+ }, [channelRef, onEventRef, getAtlaskitAnalyticsEventHandlers]);
31
36
  var value = (0, _react.useMemo)(function () {
32
37
  return {
33
- getAtlaskitAnalyticsEventHandlers: getAtlaskitAnalyticsEventHandlers,
34
- getAtlaskitAnalyticsContext: analyticsContext.getAtlaskitAnalyticsContext
38
+ getAtlaskitAnalyticsContext: getAtlaskitAnalyticsContext,
39
+ getAtlaskitAnalyticsEventHandlers: getAnalyticsEventHandlers
35
40
  };
36
- }, [analyticsContext, getAtlaskitAnalyticsEventHandlers]);
41
+ }, [getAtlaskitAnalyticsContext, getAnalyticsEventHandlers]);
37
42
  return /*#__PURE__*/_react.default.createElement(_analyticsNextStableReactContext.default.Provider, {
38
43
  value: value
39
44
  }, children);
@@ -7,11 +7,11 @@ Object.defineProperty(exports, "__esModule", {
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
  var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
+ var _isModernContextEnabledEnv = _interopRequireDefault(require("../../utils/isModernContextEnabledEnv"));
10
11
  var _LegacyAnalyticsListener = _interopRequireDefault(require("./LegacyAnalyticsListener"));
11
12
  var _ModernAnalyticsListener = _interopRequireDefault(require("./ModernAnalyticsListener"));
12
13
  var ExportedAnalyticsListener = function ExportedAnalyticsListener(props) {
13
- var _process$env;
14
- var isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);
15
- return isModernContextEnabledEnv || (0, _platformFeatureFlags.getBooleanFF)('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/_react.default.createElement(_ModernAnalyticsListener.default, props) : /*#__PURE__*/_react.default.createElement(_LegacyAnalyticsListener.default, props);
14
+ var isModernContext = _isModernContextEnabledEnv.default || (0, _platformFeatureFlags.fg)('platform.analytics-next-use-modern-context_fqgbx');
15
+ return isModernContext ? /*#__PURE__*/_react.default.createElement(_ModernAnalyticsListener.default, props) : /*#__PURE__*/_react.default.createElement(_LegacyAnalyticsListener.default, props);
16
16
  };
17
17
  var _default = exports.default = ExportedAnalyticsListener;
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _process$env;
8
+ var _default = exports.default = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);
@@ -7,14 +7,17 @@ const AnalyticsContext = ({
7
7
  children
8
8
  }) => {
9
9
  const dataRef = useTrackedRef(data);
10
- const analyticsContext = useAnalyticsContext();
10
+ const {
11
+ getAtlaskitAnalyticsEventHandlers,
12
+ getAtlaskitAnalyticsContext: getOriginalAnalyticsContext
13
+ } = useAnalyticsContext();
11
14
  const getAtlaskitAnalyticsContext = useCallback(() => {
12
- return [...analyticsContext.getAtlaskitAnalyticsContext(), dataRef.current];
13
- }, [analyticsContext, dataRef]);
15
+ return [...getOriginalAnalyticsContext(), dataRef.current];
16
+ }, [getOriginalAnalyticsContext, dataRef]);
14
17
  const value = useMemo(() => ({
15
18
  getAtlaskitAnalyticsContext,
16
- getAtlaskitAnalyticsEventHandlers: analyticsContext.getAtlaskitAnalyticsEventHandlers
17
- }), [analyticsContext, getAtlaskitAnalyticsContext]);
19
+ getAtlaskitAnalyticsEventHandlers
20
+ }), [getAtlaskitAnalyticsContext, getAtlaskitAnalyticsEventHandlers]);
18
21
  return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {
19
22
  value: value
20
23
  }, children);
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
3
+ import isModernContextEnabledEnv from '../../utils/isModernContextEnabledEnv';
3
4
  import LegacyAnalyticsContext from './LegacyAnalyticsContext';
4
5
  import ModernAnalyticsContext from './ModernAnalyticsContext';
5
6
  const ExportedAnalyticsContext = props => {
6
- var _process$env;
7
- const isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);
8
- return isModernContextEnabledEnv || getBooleanFF('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/React.createElement(ModernAnalyticsContext, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsContext, props);
7
+ const isModernContext = isModernContextEnabledEnv || fg('platform.analytics-next-use-modern-context_fqgbx');
8
+ return isModernContext ? /*#__PURE__*/React.createElement(ModernAnalyticsContext, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsContext, props);
9
9
  };
10
10
  export default ExportedAnalyticsContext;
@@ -1,6 +1,10 @@
1
1
  import React, { Component } from 'react';
2
- import AnalyticsContext from './AnalyticsContext/LegacyAnalyticsContext';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
3
+ import isModernContextEnabledEnv from '../utils/isModernContextEnabledEnv';
4
+ import LegacyAnalyticsContext from './AnalyticsContext/LegacyAnalyticsContext';
5
+ import ModernAnalyticsContext from './AnalyticsContext/ModernAnalyticsContext';
3
6
  /**
7
+ * @private https://product-fabric.atlassian.net/browse/AFO-815
4
8
  * @deprecated
5
9
  */
6
10
  // eslint-disable-next-line @repo/internal/react/no-class-components
@@ -29,12 +33,26 @@ export default class AnalyticsErrorBoundary extends Component {
29
33
  const {
30
34
  hasError
31
35
  } = this.state;
36
+ const isModernContext = isModernContextEnabledEnv || fg('platform.analytics-next-use-modern-context_fqgbx');
32
37
  if (hasError) {
33
- return ErrorComponent ? /*#__PURE__*/React.createElement(AnalyticsContext, {
38
+ if (ErrorComponent) {
39
+ if (isModernContext) {
40
+ return /*#__PURE__*/React.createElement(ModernAnalyticsContext, {
41
+ data: data
42
+ }, /*#__PURE__*/React.createElement(ErrorComponent, null));
43
+ }
44
+ return /*#__PURE__*/React.createElement(LegacyAnalyticsContext, {
45
+ data: data
46
+ }, /*#__PURE__*/React.createElement(ErrorComponent, null));
47
+ }
48
+ return null;
49
+ }
50
+ if (isModernContext) {
51
+ return /*#__PURE__*/React.createElement(ModernAnalyticsContext, {
34
52
  data: data
35
- }, /*#__PURE__*/React.createElement(ErrorComponent, null)) : null;
53
+ }, children);
36
54
  }
37
- return /*#__PURE__*/React.createElement(AnalyticsContext, {
55
+ return /*#__PURE__*/React.createElement(LegacyAnalyticsContext, {
38
56
  data: data
39
57
  }, children);
40
58
  }
@@ -7,23 +7,24 @@ const AnalyticsListener = ({
7
7
  channel,
8
8
  onEvent
9
9
  }) => {
10
- const analyticsContext = useAnalyticsContext();
10
+ const {
11
+ getAtlaskitAnalyticsEventHandlers = () => [],
12
+ getAtlaskitAnalyticsContext
13
+ } = useAnalyticsContext();
11
14
  const onEventRef = useTrackedRef(onEvent);
12
15
  const channelRef = useTrackedRef(channel);
13
- const getAtlaskitAnalyticsEventHandlers = useCallback(() => {
16
+ const getAnalyticsEventHandlers = useCallback(() => {
14
17
  const thisHandler = (event, eventChannel) => {
15
18
  if (channelRef.current === '*' || channelRef.current === eventChannel) {
16
19
  onEventRef.current(event, eventChannel);
17
20
  }
18
21
  };
19
- return [...analyticsContext.getAtlaskitAnalyticsEventHandlers(), thisHandler];
20
- }, [analyticsContext, channelRef, onEventRef]);
21
- const value = useMemo(() => {
22
- return {
23
- getAtlaskitAnalyticsEventHandlers,
24
- getAtlaskitAnalyticsContext: analyticsContext.getAtlaskitAnalyticsContext
25
- };
26
- }, [analyticsContext, getAtlaskitAnalyticsEventHandlers]);
22
+ return [thisHandler, ...getAtlaskitAnalyticsEventHandlers()];
23
+ }, [channelRef, onEventRef, getAtlaskitAnalyticsEventHandlers]);
24
+ const value = useMemo(() => ({
25
+ getAtlaskitAnalyticsContext,
26
+ getAtlaskitAnalyticsEventHandlers: getAnalyticsEventHandlers
27
+ }), [getAtlaskitAnalyticsContext, getAnalyticsEventHandlers]);
27
28
  return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {
28
29
  value: value
29
30
  }, children);
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
3
+ import isModernContextEnabledEnv from '../../utils/isModernContextEnabledEnv';
3
4
  import LegacyAnalyticsListener from './LegacyAnalyticsListener';
4
5
  import ModernAnalyticsListener from './ModernAnalyticsListener';
5
6
  const ExportedAnalyticsListener = props => {
6
- var _process$env;
7
- const isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);
8
- return isModernContextEnabledEnv || getBooleanFF('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/React.createElement(ModernAnalyticsListener, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsListener, props);
7
+ const isModernContext = isModernContextEnabledEnv || fg('platform.analytics-next-use-modern-context_fqgbx');
8
+ return isModernContext ? /*#__PURE__*/React.createElement(ModernAnalyticsListener, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsListener, props);
9
9
  };
10
10
  export default ExportedAnalyticsListener;
@@ -0,0 +1,2 @@
1
+ var _process$env;
2
+ export default typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);
@@ -7,16 +7,18 @@ var AnalyticsContext = function AnalyticsContext(_ref) {
7
7
  var data = _ref.data,
8
8
  children = _ref.children;
9
9
  var dataRef = useTrackedRef(data);
10
- var analyticsContext = useAnalyticsContext();
10
+ var _useAnalyticsContext = useAnalyticsContext(),
11
+ getAtlaskitAnalyticsEventHandlers = _useAnalyticsContext.getAtlaskitAnalyticsEventHandlers,
12
+ getOriginalAnalyticsContext = _useAnalyticsContext.getAtlaskitAnalyticsContext;
11
13
  var getAtlaskitAnalyticsContext = useCallback(function () {
12
- return [].concat(_toConsumableArray(analyticsContext.getAtlaskitAnalyticsContext()), [dataRef.current]);
13
- }, [analyticsContext, dataRef]);
14
+ return [].concat(_toConsumableArray(getOriginalAnalyticsContext()), [dataRef.current]);
15
+ }, [getOriginalAnalyticsContext, dataRef]);
14
16
  var value = useMemo(function () {
15
17
  return {
16
18
  getAtlaskitAnalyticsContext: getAtlaskitAnalyticsContext,
17
- getAtlaskitAnalyticsEventHandlers: analyticsContext.getAtlaskitAnalyticsEventHandlers
19
+ getAtlaskitAnalyticsEventHandlers: getAtlaskitAnalyticsEventHandlers
18
20
  };
19
- }, [analyticsContext, getAtlaskitAnalyticsContext]);
21
+ }, [getAtlaskitAnalyticsContext, getAtlaskitAnalyticsEventHandlers]);
20
22
  return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {
21
23
  value: value
22
24
  }, children);
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
3
+ import isModernContextEnabledEnv from '../../utils/isModernContextEnabledEnv';
3
4
  import LegacyAnalyticsContext from './LegacyAnalyticsContext';
4
5
  import ModernAnalyticsContext from './ModernAnalyticsContext';
5
6
  var ExportedAnalyticsContext = function ExportedAnalyticsContext(props) {
6
- var _process$env;
7
- var isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);
8
- return isModernContextEnabledEnv || getBooleanFF('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/React.createElement(ModernAnalyticsContext, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsContext, props);
7
+ var isModernContext = isModernContextEnabledEnv || fg('platform.analytics-next-use-modern-context_fqgbx');
8
+ return isModernContext ? /*#__PURE__*/React.createElement(ModernAnalyticsContext, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsContext, props);
9
9
  };
10
10
  export default ExportedAnalyticsContext;
@@ -6,8 +6,12 @@ import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf";
6
6
  function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
7
7
  function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
8
8
  import React, { Component } from 'react';
9
- import AnalyticsContext from './AnalyticsContext/LegacyAnalyticsContext';
9
+ import { fg } from '@atlaskit/platform-feature-flags';
10
+ import isModernContextEnabledEnv from '../utils/isModernContextEnabledEnv';
11
+ import LegacyAnalyticsContext from './AnalyticsContext/LegacyAnalyticsContext';
12
+ import ModernAnalyticsContext from './AnalyticsContext/ModernAnalyticsContext';
10
13
  /**
14
+ * @private https://product-fabric.atlassian.net/browse/AFO-815
11
15
  * @deprecated
12
16
  */
13
17
  // eslint-disable-next-line @repo/internal/react/no-class-components
@@ -40,12 +44,26 @@ var AnalyticsErrorBoundary = /*#__PURE__*/function (_Component) {
40
44
  children = _this$props.children,
41
45
  ErrorComponent = _this$props.ErrorComponent;
42
46
  var hasError = this.state.hasError;
47
+ var isModernContext = isModernContextEnabledEnv || fg('platform.analytics-next-use-modern-context_fqgbx');
43
48
  if (hasError) {
44
- return ErrorComponent ? /*#__PURE__*/React.createElement(AnalyticsContext, {
49
+ if (ErrorComponent) {
50
+ if (isModernContext) {
51
+ return /*#__PURE__*/React.createElement(ModernAnalyticsContext, {
52
+ data: data
53
+ }, /*#__PURE__*/React.createElement(ErrorComponent, null));
54
+ }
55
+ return /*#__PURE__*/React.createElement(LegacyAnalyticsContext, {
56
+ data: data
57
+ }, /*#__PURE__*/React.createElement(ErrorComponent, null));
58
+ }
59
+ return null;
60
+ }
61
+ if (isModernContext) {
62
+ return /*#__PURE__*/React.createElement(ModernAnalyticsContext, {
45
63
  data: data
46
- }, /*#__PURE__*/React.createElement(ErrorComponent, null)) : null;
64
+ }, children);
47
65
  }
48
- return /*#__PURE__*/React.createElement(AnalyticsContext, {
66
+ return /*#__PURE__*/React.createElement(LegacyAnalyticsContext, {
49
67
  data: data
50
68
  }, children);
51
69
  }
@@ -7,23 +7,28 @@ var AnalyticsListener = function AnalyticsListener(_ref) {
7
7
  var children = _ref.children,
8
8
  channel = _ref.channel,
9
9
  onEvent = _ref.onEvent;
10
- var analyticsContext = useAnalyticsContext();
10
+ var _useAnalyticsContext = useAnalyticsContext(),
11
+ _useAnalyticsContext$ = _useAnalyticsContext.getAtlaskitAnalyticsEventHandlers,
12
+ getAtlaskitAnalyticsEventHandlers = _useAnalyticsContext$ === void 0 ? function () {
13
+ return [];
14
+ } : _useAnalyticsContext$,
15
+ getAtlaskitAnalyticsContext = _useAnalyticsContext.getAtlaskitAnalyticsContext;
11
16
  var onEventRef = useTrackedRef(onEvent);
12
17
  var channelRef = useTrackedRef(channel);
13
- var getAtlaskitAnalyticsEventHandlers = useCallback(function () {
18
+ var getAnalyticsEventHandlers = useCallback(function () {
14
19
  var thisHandler = function thisHandler(event, eventChannel) {
15
20
  if (channelRef.current === '*' || channelRef.current === eventChannel) {
16
21
  onEventRef.current(event, eventChannel);
17
22
  }
18
23
  };
19
- return [].concat(_toConsumableArray(analyticsContext.getAtlaskitAnalyticsEventHandlers()), [thisHandler]);
20
- }, [analyticsContext, channelRef, onEventRef]);
24
+ return [thisHandler].concat(_toConsumableArray(getAtlaskitAnalyticsEventHandlers()));
25
+ }, [channelRef, onEventRef, getAtlaskitAnalyticsEventHandlers]);
21
26
  var value = useMemo(function () {
22
27
  return {
23
- getAtlaskitAnalyticsEventHandlers: getAtlaskitAnalyticsEventHandlers,
24
- getAtlaskitAnalyticsContext: analyticsContext.getAtlaskitAnalyticsContext
28
+ getAtlaskitAnalyticsContext: getAtlaskitAnalyticsContext,
29
+ getAtlaskitAnalyticsEventHandlers: getAnalyticsEventHandlers
25
30
  };
26
- }, [analyticsContext, getAtlaskitAnalyticsEventHandlers]);
31
+ }, [getAtlaskitAnalyticsContext, getAnalyticsEventHandlers]);
27
32
  return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {
28
33
  value: value
29
34
  }, children);
@@ -1,10 +1,10 @@
1
1
  import React from 'react';
2
- import { getBooleanFF } from '@atlaskit/platform-feature-flags';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
3
+ import isModernContextEnabledEnv from '../../utils/isModernContextEnabledEnv';
3
4
  import LegacyAnalyticsListener from './LegacyAnalyticsListener';
4
5
  import ModernAnalyticsListener from './ModernAnalyticsListener';
5
6
  var ExportedAnalyticsListener = function ExportedAnalyticsListener(props) {
6
- var _process$env;
7
- var isModernContextEnabledEnv = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);
8
- return isModernContextEnabledEnv || getBooleanFF('platform.analytics-next-use-modern-context_fqgbx') ? /*#__PURE__*/React.createElement(ModernAnalyticsListener, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsListener, props);
7
+ var isModernContext = isModernContextEnabledEnv || fg('platform.analytics-next-use-modern-context_fqgbx');
8
+ return isModernContext ? /*#__PURE__*/React.createElement(ModernAnalyticsListener, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsListener, props);
9
9
  };
10
10
  export default ExportedAnalyticsListener;
@@ -0,0 +1,2 @@
1
+ var _process$env;
2
+ export default typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);
@@ -1,3 +1,3 @@
1
- import { type AnalyticsContextFunction } from './types';
1
+ import type { AnalyticsContextFunction } from './types';
2
2
  declare const AnalyticsContext: AnalyticsContextFunction;
3
3
  export default AnalyticsContext;
@@ -14,6 +14,7 @@ type AnalyticsErrorBoundaryState = {
14
14
  hasError: boolean;
15
15
  };
16
16
  /**
17
+ * @private https://product-fabric.atlassian.net/browse/AFO-815
17
18
  * @deprecated
18
19
  */
19
20
  export default class AnalyticsErrorBoundary extends Component<AnalyticsErrorBoundaryProps, AnalyticsErrorBoundaryState> {
@@ -1,3 +1,3 @@
1
- import { type AnalyticsListenerFunction } from './types';
1
+ import type { AnalyticsListenerFunction } from './types';
2
2
  declare const AnalyticsListener: AnalyticsListenerFunction;
3
3
  export default AnalyticsListener;
@@ -0,0 +1,2 @@
1
+ declare const _default: string | false | undefined;
2
+ export default _default;
@@ -1,3 +1,3 @@
1
- import { type AnalyticsContextFunction } from './types';
1
+ import type { AnalyticsContextFunction } from './types';
2
2
  declare const AnalyticsContext: AnalyticsContextFunction;
3
3
  export default AnalyticsContext;
@@ -14,6 +14,7 @@ type AnalyticsErrorBoundaryState = {
14
14
  hasError: boolean;
15
15
  };
16
16
  /**
17
+ * @private https://product-fabric.atlassian.net/browse/AFO-815
17
18
  * @deprecated
18
19
  */
19
20
  export default class AnalyticsErrorBoundary extends Component<AnalyticsErrorBoundaryProps, AnalyticsErrorBoundaryState> {
@@ -1,3 +1,3 @@
1
- import { type AnalyticsListenerFunction } from './types';
1
+ import type { AnalyticsListenerFunction } from './types';
2
2
  declare const AnalyticsListener: AnalyticsListenerFunction;
3
3
  export default AnalyticsListener;
@@ -0,0 +1,2 @@
1
+ declare const _default: string | false | undefined;
2
+ export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlaskit/analytics-next",
3
- "version": "9.3.2",
3
+ "version": "9.3.4",
4
4
  "description": "React components, HOCs and hooks to assist with tracking user activity with React components",
5
5
  "publishConfig": {
6
6
  "registry": "https://registry.npmjs.org/"