@atlaskit/analytics-next 11.1.3 → 11.2.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 (77) hide show
  1. package/AnalyticsReactContext/package.json +15 -0
  2. package/CHANGELOG.md +14 -20
  3. package/afm-cc/tsconfig.json +3 -3
  4. package/afm-jira/tsconfig.json +6 -8
  5. package/{afm-adminhub → afm-products}/tsconfig.json +5 -5
  6. package/cleanProps/package.json +15 -0
  7. package/dist/cjs/components/AnalyticsContext/LegacyAnalyticsContext.js +71 -0
  8. package/dist/cjs/components/AnalyticsContext/index.js +9 -1
  9. package/dist/cjs/components/AnalyticsErrorBoundary.js +16 -2
  10. package/dist/cjs/components/AnalyticsListener/LegacyAnalyticsListener.js +79 -0
  11. package/dist/cjs/components/AnalyticsListener/index.js +9 -1
  12. package/dist/cjs/components/AnalyticsReactContext.js +13 -0
  13. package/dist/cjs/index.js +2 -2
  14. package/dist/cjs/utils/isModernContextEnabledEnv.js +10 -0
  15. package/dist/es2019/components/AnalyticsContext/LegacyAnalyticsContext.js +49 -0
  16. package/dist/es2019/components/AnalyticsContext/index.js +9 -1
  17. package/dist/es2019/components/AnalyticsErrorBoundary.js +16 -2
  18. package/dist/es2019/components/AnalyticsListener/LegacyAnalyticsListener.js +56 -0
  19. package/dist/es2019/components/AnalyticsListener/index.js +9 -1
  20. package/dist/es2019/components/AnalyticsReactContext.js +1 -0
  21. package/dist/es2019/index.js +1 -1
  22. package/dist/es2019/utils/isModernContextEnabledEnv.js +4 -0
  23. package/dist/esm/components/AnalyticsContext/LegacyAnalyticsContext.js +62 -0
  24. package/dist/esm/components/AnalyticsContext/index.js +9 -1
  25. package/dist/esm/components/AnalyticsErrorBoundary.js +16 -2
  26. package/dist/esm/components/AnalyticsListener/LegacyAnalyticsListener.js +70 -0
  27. package/dist/esm/components/AnalyticsListener/index.js +9 -1
  28. package/dist/esm/components/AnalyticsReactContext.js +1 -0
  29. package/dist/esm/index.js +1 -1
  30. package/dist/esm/utils/isModernContextEnabledEnv.js +4 -0
  31. package/dist/types/components/AnalyticsContext/LegacyAnalyticsContext.d.ts +30 -0
  32. package/dist/types/components/AnalyticsContext/index.d.ts +3 -2
  33. package/dist/types/components/AnalyticsContext/types.d.ts +1 -1
  34. package/dist/types/components/AnalyticsListener/LegacyAnalyticsListener.d.ts +34 -0
  35. package/dist/types/components/AnalyticsListener/index.d.ts +3 -2
  36. package/dist/types/components/AnalyticsListener/types.d.ts +1 -1
  37. package/dist/types/components/AnalyticsReactContext.d.ts +2 -0
  38. package/dist/types/hocs/withAnalyticsEvents.d.ts +1 -1
  39. package/dist/types/hooks/useAnalyticsEvents.d.ts +1 -1
  40. package/dist/types/hooks/usePatchedProps.d.ts +1 -1
  41. package/dist/types/index.d.ts +2 -2
  42. package/dist/types/types.d.ts +1 -1
  43. package/dist/types/utils/createAndFireEvent.d.ts +4 -3
  44. package/dist/types/utils/isModernContextEnabledEnv.d.ts +2 -0
  45. package/dist/types-ts4.5/components/AnalyticsContext/LegacyAnalyticsContext.d.ts +30 -0
  46. package/dist/types-ts4.5/components/AnalyticsContext/index.d.ts +3 -2
  47. package/dist/types-ts4.5/components/AnalyticsContext/types.d.ts +1 -1
  48. package/dist/types-ts4.5/components/AnalyticsListener/LegacyAnalyticsListener.d.ts +34 -0
  49. package/dist/types-ts4.5/components/AnalyticsListener/index.d.ts +3 -2
  50. package/dist/types-ts4.5/components/AnalyticsListener/types.d.ts +1 -1
  51. package/dist/types-ts4.5/components/AnalyticsReactContext.d.ts +2 -0
  52. package/dist/types-ts4.5/hocs/withAnalyticsEvents.d.ts +1 -1
  53. package/dist/types-ts4.5/hooks/useAnalyticsEvents.d.ts +1 -1
  54. package/dist/types-ts4.5/hooks/usePatchedProps.d.ts +1 -1
  55. package/dist/types-ts4.5/index.d.ts +2 -2
  56. package/dist/types-ts4.5/types.d.ts +1 -1
  57. package/dist/types-ts4.5/utils/createAndFireEvent.d.ts +4 -3
  58. package/dist/types-ts4.5/utils/isModernContextEnabledEnv.d.ts +2 -0
  59. package/docs/0-intro.tsx +2 -1
  60. package/docs/10-concepts.tsx +2 -1
  61. package/docs/20-usage-with-presentational-components.tsx +2 -1
  62. package/docs/30-usage-for-container-components.tsx +2 -1
  63. package/docs/40-listeners.tsx +2 -1
  64. package/docs/50-error-boundary.tsx +2 -1
  65. package/docs/60-events.tsx +2 -1
  66. package/docs/70-advanced-usage.tsx +2 -1
  67. package/docs/80-upgrade-guide.tsx +2 -1
  68. package/package.json +9 -5
  69. package/tsconfig.json +1 -2
  70. package/usePlatformLeafSyntheticEventHandler/package.json +15 -0
  71. package/afm-dev-agents/tsconfig.json +0 -32
  72. package/afm-passionfruit/tsconfig.json +0 -32
  73. package/afm-post-office/tsconfig.json +0 -32
  74. package/afm-rovo-extension/tsconfig.json +0 -32
  75. package/afm-townsquare/tsconfig.json +0 -32
  76. package/afm-volt/tsconfig.json +0 -32
  77. package/build/tsconfig.json +0 -25
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "@atlaskit/analytics-next/AnalyticsReactContext",
3
+ "main": "../dist/cjs/components/AnalyticsReactContext.js",
4
+ "module": "../dist/esm/components/AnalyticsReactContext.js",
5
+ "module:es2019": "../dist/es2019/components/AnalyticsReactContext.js",
6
+ "sideEffects": false,
7
+ "types": "../dist/types/components/AnalyticsReactContext.d.ts",
8
+ "typesVersions": {
9
+ ">=4.5 <5.9": {
10
+ "*": [
11
+ "../dist/types-ts4.5/components/AnalyticsReactContext.d.ts"
12
+ ]
13
+ }
14
+ }
15
+ }
package/CHANGELOG.md CHANGED
@@ -1,5 +1,19 @@
1
1
  # @atlaskit/analytics-next
2
2
 
3
+ ## 11.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - [`a0a0a9bcde425`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/a0a0a9bcde425) -
8
+ Autofix: add explicit package exports (barrel removal)
9
+
10
+ ## 11.1.4
11
+
12
+ ### Patch Changes
13
+
14
+ - [`0ca7d810bc817`](https://bitbucket.org/atlassian/atlassian-frontend-monorepo/commits/0ca7d810bc817) -
15
+ Re-implement legacy analytics context and listener behind a feature gate
16
+
3
17
  ## 11.1.3
4
18
 
5
19
  ### Patch Changes
@@ -394,11 +408,9 @@
394
408
  - [#4749](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/4749)
395
409
  [`0e2a914932`](https://bitbucket.org/atlassian/atlassian-frontend/commits/0e2a914932) - ###
396
410
  Additions
397
-
398
411
  - Added a new hook `useAnalyticsEventHandler` for sole use in Atlaskit components
399
412
 
400
413
  ### Removals
401
-
402
414
  - Removed some entry points that were unintentionally exposed
403
415
  - `AnalyticsContextConsumer`
404
416
  - `withAnalyticsHook`
@@ -408,7 +420,6 @@
408
420
  - `AnalyticsEventMap`
409
421
 
410
422
  ### Improvements
411
-
412
423
  - Optimization of components to prevent unnecessary re-renders via inline callbacks or jsons
413
424
  - Conversion to Function Components where possible
414
425
  - Preparation for dropping legacy React context in a future major release (see note below)
@@ -515,7 +526,6 @@
515
526
 
516
527
  Remove namespace imports from React, ReactDom, and PropTypes- Updated dependencies
517
528
  [6548261c9a](https://bitbucket.org/atlassian/atlassian-frontend/commits/6548261c9a):
518
-
519
529
  - @atlaskit/docs@8.3.2
520
530
  - @atlaskit/button@13.3.7
521
531
  - @atlaskit/textfield@3.1.6
@@ -540,7 +550,6 @@
540
550
 
541
551
  Fixes data type to Object- Updated dependencies
542
552
  [24865cfaff](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/24865cfaff):
543
-
544
553
  - @atlaskit/field-text@9.0.14
545
554
 
546
555
  ## 6.3.2
@@ -574,7 +583,6 @@
574
583
  ### Minor Changes
575
584
 
576
585
  - [minor][42fd897e16](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/42fd897e16):
577
-
578
586
  - Introduces a new custom React hook, `useAnalyticsEvents_experimental`, for creating analytics
579
587
  events within functional components. This hook replaces the need for the `withAnalyticsEvents`
580
588
  HOC. See the
@@ -627,12 +635,10 @@
627
635
  safety. Flow types are no longer provided. No behavioural changes.
628
636
 
629
637
  **Breaking changes**
630
-
631
638
  - `withAnalyticsForSumTypeProps` alias has been removed, please use `withAnalyticsEvents`
632
639
  - `AnalyticsContextWrappedComp` alias has been removed, please use `withAnalyticsContext`
633
640
 
634
641
  **Breaking changes to TypeScript annotations**
635
-
636
642
  - `withAnalyticsEvents` now infers proptypes automatically, consumers no longer need to provide
637
643
  props as a generic type.
638
644
  - `withAnalyticsContext` now infers proptypes automatically, consumers no longer need to provide
@@ -663,7 +669,6 @@
663
669
  ### Minor Changes
664
670
 
665
671
  - [minor][e1f8aaf33b](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/e1f8aaf33b):
666
-
667
672
  - Adding entry point for `AnalyticsErrorBoundary` package
668
673
 
669
674
  ```
@@ -700,7 +705,6 @@
700
705
  ```
701
706
 
702
707
  Notes on new API:
703
-
704
708
  - Plug-and-play component. As soon and it's wrapping a component it's fully integrated.
705
709
  - It has Analytics context and events integrated already. Keep in mind it requires
706
710
  `AnalyticsListener` as a top level component to work properly, otherwise it won't trigger
@@ -790,27 +794,23 @@
790
794
  ### Patch Changes
791
795
 
792
796
  - [patch][47acb57783](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/47acb57783):
793
-
794
797
  - Avoid unnecessary re-renders on components that use withAnalytics
795
798
 
796
799
  ## 5.0.0
797
800
 
798
801
  - [major][7c17b35107](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/7c17b35107):
799
-
800
802
  - Updates react and react-dom peer dependencies to react@^16.8.0 and react-dom@^16.8.0. To use
801
803
  this package, please ensure you use at least this version of react and react-dom.
802
804
 
803
805
  ## 4.0.5
804
806
 
805
807
  - [patch][3f28e6443c](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/3f28e6443c):
806
-
807
808
  - @atlaskit/analytics-next-types is deprecated. Now you can use types for @atlaskit/analytics-next
808
809
  supplied from itself.
809
810
 
810
811
  ## 4.0.4
811
812
 
812
813
  - [patch][9321da655d](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/9321da655d):
813
-
814
814
  - Update AnalyticsEventMap, as per major inline edit rewrite
815
815
 
816
816
  ## 4.0.3
@@ -824,7 +824,6 @@
824
824
  ## 4.0.2
825
825
 
826
826
  - [patch][98e11001ff](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/98e11001ff):
827
-
828
827
  - Removes duplicate babel-runtime dependency
829
828
 
830
829
  ## 4.0.1
@@ -838,7 +837,6 @@
838
837
  ## 4.0.0
839
838
 
840
839
  - [major][76299208e6](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/76299208e6):
841
-
842
840
  - Drop ES5 from all the flow modules
843
841
 
844
842
  ### Dropping CJS support in all @atlaskit packages
@@ -883,13 +881,11 @@
883
881
  ## 3.2.1
884
882
 
885
883
  - [patch][8de4c3f](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/8de4c3f):
886
-
887
884
  - Added missing export
888
885
 
889
886
  ## 3.2.0
890
887
 
891
888
  - [minor][c3fa0b6](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/c3fa0b6):
892
-
893
889
  - Added support for props of Sum type
894
890
 
895
891
  ## 3.1.2
@@ -909,7 +905,6 @@
909
905
  ## 3.1.0
910
906
 
911
907
  - [minor][cffeed0](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/cffeed0):
912
-
913
908
  - Type `withAnalyticsEvents` and `withAnalyticsContext` HOCs so that they do not lose flow types
914
909
  of the components they wrap when chained together.
915
910
 
@@ -925,7 +920,6 @@
925
920
  ## 3.0.11
926
921
 
927
922
  - [patch][d903ab5](https://bitbucket.org/atlassian/atlaskit-mk-2/commits/d903ab5):
928
-
929
923
  - Updates list of instrumented components
930
924
 
931
925
  ## 3.0.10
@@ -1,11 +1,11 @@
1
1
  {
2
- "extends": "../../../../tsconfig.entry-points.confluence.json",
2
+ "extends": "../../../../tsconfig.local-consumption.json",
3
3
  "compilerOptions": {
4
- "declaration": true,
5
4
  "target": "es5",
6
5
  "outDir": "../../../../../confluence/tsDist/@atlaskit__analytics-next",
7
6
  "rootDir": "../",
8
- "composite": true
7
+ "composite": true,
8
+ "noCheck": true
9
9
  },
10
10
  "include": [
11
11
  "../src/**/*.ts",
@@ -1,16 +1,14 @@
1
1
  {
2
- "extends": "../../../../tsconfig.entry-points.jira.json",
2
+ "extends": "../../../../tsconfig.local-consumption.json",
3
3
  "compilerOptions": {
4
- "declaration": true,
5
4
  "target": "es5",
6
- "outDir": "../../../../../tsDist/@atlaskit__analytics-next/app",
5
+ "outDir": "../../../../../jira/tsDist/@atlaskit__analytics-next/app",
7
6
  "rootDir": "../",
8
- "composite": true
7
+ "composite": true,
8
+ "noCheck": true,
9
+ "isolatedDeclarations": true
9
10
  },
10
- "include": [
11
- "../src/**/*.ts",
12
- "../src/**/*.tsx"
13
- ],
11
+ "include": ["../src/**/*.ts", "../src/**/*.tsx"],
14
12
  "exclude": [
15
13
  "../src/**/__tests__/*",
16
14
  "../src/**/*.test.*",
@@ -1,11 +1,11 @@
1
1
  {
2
- "extends": "../../../../tsconfig.entry-points.adminhub.json",
2
+ "extends": "../../../../tsconfig.local-consumption.json",
3
3
  "compilerOptions": {
4
- "declaration": true,
5
4
  "target": "es5",
6
- "outDir": "../../../../../adminhub/tsDist/@atlaskit__analytics-next/app",
5
+ "outDir": "../../../../../tsDist/@atlaskit__analytics-next/app",
7
6
  "rootDir": "../",
8
- "composite": true
7
+ "composite": true,
8
+ "noCheck": true
9
9
  },
10
10
  "include": [
11
11
  "../src/**/*.ts",
@@ -26,7 +26,7 @@
26
26
  ],
27
27
  "references": [
28
28
  {
29
- "path": "../../../platform/feature-flags/afm-adminhub/tsconfig.json"
29
+ "path": "../../../platform/feature-flags/afm-products/tsconfig.json"
30
30
  }
31
31
  ]
32
32
  }
@@ -0,0 +1,15 @@
1
+ {
2
+ "name": "@atlaskit/analytics-next/cleanProps",
3
+ "main": "../dist/cjs/utils/cleanProps.js",
4
+ "module": "../dist/esm/utils/cleanProps.js",
5
+ "module:es2019": "../dist/es2019/utils/cleanProps.js",
6
+ "sideEffects": false,
7
+ "types": "../dist/types/utils/cleanProps.d.ts",
8
+ "typesVersions": {
9
+ ">=4.5 <5.9": {
10
+ "*": [
11
+ "../dist/types-ts4.5/utils/cleanProps.d.ts"
12
+ ]
13
+ }
14
+ }
15
+ }
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireWildcard(require("react"));
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _analyticsNextStableReactContext = _interopRequireDefault(require("@atlaskit/analytics-next-stable-react-context"));
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
20
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
21
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
+ var ContextTypes = {
23
+ getAtlaskitAnalyticsContext: _propTypes.default.func,
24
+ getAtlaskitAnalyticsEventHandlers: _propTypes.default.func
25
+ };
26
+ var noop = function noop() {
27
+ return [];
28
+ };
29
+
30
+ // eslint-disable-next-line @repo/internal/react/no-class-components
31
+ var AnalyticsContext = /*#__PURE__*/function (_Component) {
32
+ function AnalyticsContext(props) {
33
+ var _this;
34
+ (0, _classCallCheck2.default)(this, AnalyticsContext);
35
+ _this = _callSuper(this, AnalyticsContext, [props]);
36
+ (0, _defineProperty2.default)(_this, "getChildContext", function () {
37
+ return {
38
+ getAtlaskitAnalyticsContext: _this.getAnalyticsContext
39
+ };
40
+ });
41
+ (0, _defineProperty2.default)(_this, "getAnalyticsContext", function () {
42
+ var data = _this.props.data;
43
+ var _this$context$getAtla = _this.context.getAtlaskitAnalyticsContext,
44
+ getAtlaskitAnalyticsContext = _this$context$getAtla === void 0 ? noop : _this$context$getAtla;
45
+ return [].concat((0, _toConsumableArray2.default)(getAtlaskitAnalyticsContext()), [data]);
46
+ });
47
+ (0, _defineProperty2.default)(_this, "getAnalyticsEventHandlers", function () {
48
+ var _this$context$getAtla2 = _this.context.getAtlaskitAnalyticsEventHandlers,
49
+ getAtlaskitAnalyticsEventHandlers = _this$context$getAtla2 === void 0 ? noop : _this$context$getAtla2;
50
+ return getAtlaskitAnalyticsEventHandlers();
51
+ });
52
+ _this.contextValue = {
53
+ getAtlaskitAnalyticsContext: _this.getAnalyticsContext,
54
+ getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers
55
+ };
56
+ return _this;
57
+ }
58
+ (0, _inherits2.default)(AnalyticsContext, _Component);
59
+ return (0, _createClass2.default)(AnalyticsContext, [{
60
+ key: "render",
61
+ value: function render() {
62
+ var children = this.props.children;
63
+ return /*#__PURE__*/_react.default.createElement(_analyticsNextStableReactContext.default.Provider, {
64
+ value: this.contextValue
65
+ }, children);
66
+ }
67
+ }]);
68
+ }(_react.Component);
69
+ (0, _defineProperty2.default)(AnalyticsContext, "contextTypes", ContextTypes);
70
+ (0, _defineProperty2.default)(AnalyticsContext, "childContextTypes", ContextTypes);
71
+ var _default = exports.default = AnalyticsContext;
@@ -5,5 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
+ var _isModernContextEnabledEnv = _interopRequireDefault(require("../../utils/isModernContextEnabledEnv"));
11
+ var _LegacyAnalyticsContext = _interopRequireDefault(require("./LegacyAnalyticsContext"));
8
12
  var _ModernAnalyticsContext = _interopRequireDefault(require("./ModernAnalyticsContext"));
9
- var _default = exports.default = _ModernAnalyticsContext.default;
13
+ var AnalyticsContext = function AnalyticsContext(props) {
14
+ var isModernContext = _isModernContextEnabledEnv.default || (0, _platformFeatureFlags.fg)('analytics-next-use-legacy-context') === false;
15
+ return isModernContext ? /*#__PURE__*/_react.default.createElement(_ModernAnalyticsContext.default, props) : /*#__PURE__*/_react.default.createElement(_LegacyAnalyticsContext.default, props);
16
+ };
17
+ var _default = exports.default = AnalyticsContext;
@@ -12,6 +12,9 @@ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime
12
12
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
13
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
14
14
  var _react = _interopRequireWildcard(require("react"));
15
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
16
+ var _isModernContextEnabledEnv = _interopRequireDefault(require("../utils/isModernContextEnabledEnv"));
17
+ var _LegacyAnalyticsContext = _interopRequireDefault(require("./AnalyticsContext/LegacyAnalyticsContext"));
15
18
  var _ModernAnalyticsContext = _interopRequireDefault(require("./AnalyticsContext/ModernAnalyticsContext"));
16
19
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
17
20
  function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
@@ -49,15 +52,26 @@ var AnalyticsErrorBoundary = exports.default = /*#__PURE__*/function (_Component
49
52
  children = _this$props.children,
50
53
  ErrorComponent = _this$props.ErrorComponent;
51
54
  var hasError = this.state.hasError;
55
+ var isModernContext = _isModernContextEnabledEnv.default || (0, _platformFeatureFlags.fg)('analytics-next-use-legacy-context') === false;
52
56
  if (hasError) {
53
57
  if (ErrorComponent) {
54
- return /*#__PURE__*/_react.default.createElement(_ModernAnalyticsContext.default, {
58
+ if (isModernContext) {
59
+ return /*#__PURE__*/_react.default.createElement(_ModernAnalyticsContext.default, {
60
+ data: data
61
+ }, /*#__PURE__*/_react.default.createElement(ErrorComponent, null));
62
+ }
63
+ return /*#__PURE__*/_react.default.createElement(_LegacyAnalyticsContext.default, {
55
64
  data: data
56
65
  }, /*#__PURE__*/_react.default.createElement(ErrorComponent, null));
57
66
  }
58
67
  return null;
59
68
  }
60
- return /*#__PURE__*/_react.default.createElement(_ModernAnalyticsContext.default, {
69
+ if (isModernContext) {
70
+ return /*#__PURE__*/_react.default.createElement(_ModernAnalyticsContext.default, {
71
+ data: data
72
+ }, children);
73
+ }
74
+ return /*#__PURE__*/_react.default.createElement(_LegacyAnalyticsContext.default, {
61
75
  data: data
62
76
  }, children);
63
77
  }
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _react = _interopRequireWildcard(require("react"));
17
+ var _propTypes = _interopRequireDefault(require("prop-types"));
18
+ var _analyticsNextStableReactContext = _interopRequireDefault(require("@atlaskit/analytics-next-stable-react-context"));
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
20
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
21
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
+ var ContextTypes = {
23
+ getAtlaskitAnalyticsEventHandlers: _propTypes.default.func,
24
+ getAtlaskitAnalyticsContext: _propTypes.default.func
25
+ };
26
+ var noop = function noop() {
27
+ return [];
28
+ };
29
+
30
+ // eslint-disable-next-line @repo/internal/react/no-class-components
31
+ var AnalyticsListener = /*#__PURE__*/function (_Component) {
32
+ function AnalyticsListener(props) {
33
+ var _this;
34
+ (0, _classCallCheck2.default)(this, AnalyticsListener);
35
+ _this = _callSuper(this, AnalyticsListener, [props]);
36
+ (0, _defineProperty2.default)(_this, "getChildContext", function () {
37
+ return {
38
+ getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers,
39
+ getAtlaskitAnalyticsContext: _this.getAtlaskitAnalyticsContext
40
+ };
41
+ });
42
+ (0, _defineProperty2.default)(_this, "getAnalyticsEventHandlers", function () {
43
+ var _this$props = _this.props,
44
+ channel = _this$props.channel,
45
+ onEvent = _this$props.onEvent;
46
+ var _this$context$getAtla = _this.context.getAtlaskitAnalyticsEventHandlers,
47
+ getAtlaskitAnalyticsEventHandlers = _this$context$getAtla === void 0 ? noop : _this$context$getAtla;
48
+ var handler = function handler(event, eventChannel) {
49
+ if (channel === '*' || channel === eventChannel) {
50
+ onEvent(event, eventChannel);
51
+ }
52
+ };
53
+ return [handler].concat((0, _toConsumableArray2.default)(getAtlaskitAnalyticsEventHandlers()));
54
+ });
55
+ (0, _defineProperty2.default)(_this, "getAtlaskitAnalyticsContext", function () {
56
+ var _this$context$getAtla2 = _this.context.getAtlaskitAnalyticsContext,
57
+ getAtlaskitAnalyticsContext = _this$context$getAtla2 === void 0 ? noop : _this$context$getAtla2;
58
+ return getAtlaskitAnalyticsContext();
59
+ });
60
+ _this.contextValue = {
61
+ getAtlaskitAnalyticsContext: _this.getAtlaskitAnalyticsContext,
62
+ getAtlaskitAnalyticsEventHandlers: _this.getAnalyticsEventHandlers
63
+ };
64
+ return _this;
65
+ }
66
+ (0, _inherits2.default)(AnalyticsListener, _Component);
67
+ return (0, _createClass2.default)(AnalyticsListener, [{
68
+ key: "render",
69
+ value: function render() {
70
+ var children = this.props.children;
71
+ return /*#__PURE__*/_react.default.createElement(_analyticsNextStableReactContext.default.Provider, {
72
+ value: this.contextValue
73
+ }, children);
74
+ }
75
+ }]);
76
+ }(_react.Component);
77
+ (0, _defineProperty2.default)(AnalyticsListener, "contextTypes", ContextTypes);
78
+ (0, _defineProperty2.default)(AnalyticsListener, "childContextTypes", ContextTypes);
79
+ var _default = exports.default = AnalyticsListener;
@@ -5,5 +5,13 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
10
+ var _isModernContextEnabledEnv = _interopRequireDefault(require("../../utils/isModernContextEnabledEnv"));
11
+ var _LegacyAnalyticsListener = _interopRequireDefault(require("./LegacyAnalyticsListener"));
8
12
  var _ModernAnalyticsListener = _interopRequireDefault(require("./ModernAnalyticsListener"));
9
- var _default = exports.default = _ModernAnalyticsListener.default;
13
+ var AnalyticsListener = function AnalyticsListener(props) {
14
+ var isModernContext = _isModernContextEnabledEnv.default || (0, _platformFeatureFlags.fg)('analytics-next-use-legacy-context') === false;
15
+ return isModernContext ? /*#__PURE__*/_react.default.createElement(_ModernAnalyticsListener.default, props) : /*#__PURE__*/_react.default.createElement(_LegacyAnalyticsListener.default, props);
16
+ };
17
+ var _default = exports.default = AnalyticsListener;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "default", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _analyticsNextStableReactContext.default;
11
+ }
12
+ });
13
+ var _analyticsNextStableReactContext = _interopRequireDefault(require("@atlaskit/analytics-next-stable-react-context"));
package/dist/cjs/index.js CHANGED
@@ -44,7 +44,7 @@ Object.defineProperty(exports, "AnalyticsListener", {
44
44
  Object.defineProperty(exports, "AnalyticsReactContext", {
45
45
  enumerable: true,
46
46
  get: function get() {
47
- return _analyticsNextStableReactContext.default;
47
+ return _AnalyticsReactContext.default;
48
48
  }
49
49
  });
50
50
  Object.defineProperty(exports, "UIAnalyticsEvent", {
@@ -126,7 +126,7 @@ var _index2 = _interopRequireDefault(require("./components/AnalyticsContext/inde
126
126
  var _withAnalyticsContext = _interopRequireDefault(require("./hocs/withAnalyticsContext"));
127
127
  var _AnalyticsErrorBoundary = _interopRequireDefault(require("./components/AnalyticsErrorBoundary"));
128
128
  var _withAnalyticsEvents = _interopRequireDefault(require("./hocs/withAnalyticsEvents"));
129
- var _analyticsNextStableReactContext = _interopRequireDefault(require("@atlaskit/analytics-next-stable-react-context"));
129
+ var _AnalyticsReactContext = _interopRequireDefault(require("./components/AnalyticsReactContext"));
130
130
  var _useAnalyticsEvents = require("./hooks/useAnalyticsEvents");
131
131
  var _useCallbackWithAnalytics = require("./hooks/useCallbackWithAnalytics");
132
132
  var _usePlatformLeafEventHandler = require("./hooks/usePlatformLeafEventHandler");
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _process$env;
8
+ /// <reference types="node" />
9
+ var _default_1 = typeof process !== 'undefined' && process !== null && ((_process$env = process.env) === null || _process$env === void 0 ? void 0 : _process$env['ANALYTICS_NEXT_MODERN_CONTEXT']);
10
+ var _default = exports.default = _default_1;
@@ -0,0 +1,49 @@
1
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
+ import React, { Component } from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import { default as AnalyticsReactContext } from '@atlaskit/analytics-next-stable-react-context';
5
+ const ContextTypes = {
6
+ getAtlaskitAnalyticsContext: PropTypes.func,
7
+ getAtlaskitAnalyticsEventHandlers: PropTypes.func
8
+ };
9
+ const noop = () => [];
10
+
11
+ // eslint-disable-next-line @repo/internal/react/no-class-components
12
+ class AnalyticsContext extends Component {
13
+ constructor(props) {
14
+ super(props);
15
+ _defineProperty(this, "getChildContext", () => ({
16
+ getAtlaskitAnalyticsContext: this.getAnalyticsContext
17
+ }));
18
+ _defineProperty(this, "getAnalyticsContext", () => {
19
+ const {
20
+ data
21
+ } = this.props;
22
+ const {
23
+ getAtlaskitAnalyticsContext = noop
24
+ } = this.context;
25
+ return [...getAtlaskitAnalyticsContext(), data];
26
+ });
27
+ _defineProperty(this, "getAnalyticsEventHandlers", () => {
28
+ const {
29
+ getAtlaskitAnalyticsEventHandlers = noop
30
+ } = this.context;
31
+ return getAtlaskitAnalyticsEventHandlers();
32
+ });
33
+ this.contextValue = {
34
+ getAtlaskitAnalyticsContext: this.getAnalyticsContext,
35
+ getAtlaskitAnalyticsEventHandlers: this.getAnalyticsEventHandlers
36
+ };
37
+ }
38
+ render() {
39
+ const {
40
+ children
41
+ } = this.props;
42
+ return /*#__PURE__*/React.createElement(AnalyticsReactContext.Provider, {
43
+ value: this.contextValue
44
+ }, children);
45
+ }
46
+ }
47
+ _defineProperty(AnalyticsContext, "contextTypes", ContextTypes);
48
+ _defineProperty(AnalyticsContext, "childContextTypes", ContextTypes);
49
+ export default AnalyticsContext;
@@ -1,2 +1,10 @@
1
+ import React from 'react';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
3
+ import isModernContextEnabledEnv from '../../utils/isModernContextEnabledEnv';
4
+ import LegacyAnalyticsContext from './LegacyAnalyticsContext';
1
5
  import ModernAnalyticsContext from './ModernAnalyticsContext';
2
- export default ModernAnalyticsContext;
6
+ const AnalyticsContext = props => {
7
+ const isModernContext = isModernContextEnabledEnv || fg('analytics-next-use-legacy-context') === false;
8
+ return isModernContext ? /*#__PURE__*/React.createElement(ModernAnalyticsContext, props) : /*#__PURE__*/React.createElement(LegacyAnalyticsContext, props);
9
+ };
10
+ export default AnalyticsContext;
@@ -1,4 +1,7 @@
1
1
  import React, { Component } from 'react';
2
+ import { fg } from '@atlaskit/platform-feature-flags';
3
+ import isModernContextEnabledEnv from '../utils/isModernContextEnabledEnv';
4
+ import LegacyAnalyticsContext from './AnalyticsContext/LegacyAnalyticsContext';
2
5
  import ModernAnalyticsContext from './AnalyticsContext/ModernAnalyticsContext';
3
6
  /**
4
7
  * @private https://product-fabric.atlassian.net/browse/AFO-815
@@ -30,15 +33,26 @@ export default class AnalyticsErrorBoundary extends Component {
30
33
  const {
31
34
  hasError
32
35
  } = this.state;
36
+ const isModernContext = isModernContextEnabledEnv || fg('analytics-next-use-legacy-context') === false;
33
37
  if (hasError) {
34
38
  if (ErrorComponent) {
35
- return /*#__PURE__*/React.createElement(ModernAnalyticsContext, {
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, {
36
45
  data: data
37
46
  }, /*#__PURE__*/React.createElement(ErrorComponent, null));
38
47
  }
39
48
  return null;
40
49
  }
41
- return /*#__PURE__*/React.createElement(ModernAnalyticsContext, {
50
+ if (isModernContext) {
51
+ return /*#__PURE__*/React.createElement(ModernAnalyticsContext, {
52
+ data: data
53
+ }, children);
54
+ }
55
+ return /*#__PURE__*/React.createElement(LegacyAnalyticsContext, {
42
56
  data: data
43
57
  }, children);
44
58
  }