@grafana/faro-react 2.2.2 → 2.2.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 (96) hide show
  1. package/dist/bundle/faro-react.iife.js +2 -20
  2. package/dist/bundle/types/index.d.ts +1 -1
  3. package/dist/bundle/types/router/index.d.ts +2 -2
  4. package/dist/bundle/types/router/v4v5/FaroRoute.d.ts +2 -1
  5. package/dist/bundle/types/router/{v6 → v6v7}/FaroRoutes.d.ts +2 -1
  6. package/dist/bundle/types/router/{v6 → v6v7}/index.d.ts +2 -2
  7. package/dist/{types/router/v6 → bundle/types/router/v6v7}/initialize.d.ts +3 -1
  8. package/dist/{types/router/v6 → bundle/types/router/v6v7}/routerDependencies.d.ts +1 -0
  9. package/dist/cjs/errorBoundary/FaroErrorBoundary.js +3 -0
  10. package/dist/cjs/errorBoundary/FaroErrorBoundary.js.map +1 -1
  11. package/dist/cjs/errorBoundary/withFaroErrorBoundary.js +3 -2
  12. package/dist/cjs/errorBoundary/withFaroErrorBoundary.js.map +1 -1
  13. package/dist/cjs/index.js +5 -2
  14. package/dist/cjs/index.js.map +1 -1
  15. package/dist/cjs/profiler/FaroProfiler.js +3 -0
  16. package/dist/cjs/profiler/FaroProfiler.js.map +1 -1
  17. package/dist/cjs/profiler/withFaroProfiler.js +3 -2
  18. package/dist/cjs/profiler/withFaroProfiler.js.map +1 -1
  19. package/dist/cjs/router/index.js +10 -7
  20. package/dist/cjs/router/index.js.map +1 -1
  21. package/dist/cjs/router/initialize.js +3 -3
  22. package/dist/cjs/router/initialize.js.map +1 -1
  23. package/dist/cjs/router/v4v5/FaroRoute.js +5 -2
  24. package/dist/cjs/router/v4v5/FaroRoute.js.map +1 -1
  25. package/dist/cjs/router/{v6 → v6v7}/FaroRoutes.js +35 -3
  26. package/dist/cjs/router/v6v7/FaroRoutes.js.map +1 -0
  27. package/dist/cjs/router/{v6 → v6v7}/index.js +4 -1
  28. package/dist/cjs/router/v6v7/index.js.map +1 -0
  29. package/dist/cjs/router/{v6 → v6v7}/initialize.js +14 -0
  30. package/dist/cjs/router/v6v7/initialize.js.map +1 -0
  31. package/dist/cjs/router/{v6 → v6v7}/routerDependencies.js +4 -0
  32. package/dist/cjs/router/v6v7/routerDependencies.js.map +1 -0
  33. package/dist/cjs/router/v6v7/types.js.map +1 -0
  34. package/dist/cjs/router/v6v7/utils.js.map +1 -0
  35. package/dist/cjs/router/v6v7/withFaroRouterInstrumentation.js.map +1 -0
  36. package/dist/esm/errorBoundary/FaroErrorBoundary.js +4 -1
  37. package/dist/esm/errorBoundary/FaroErrorBoundary.js.map +1 -1
  38. package/dist/esm/errorBoundary/withFaroErrorBoundary.js +3 -2
  39. package/dist/esm/errorBoundary/withFaroErrorBoundary.js.map +1 -1
  40. package/dist/esm/index.js +1 -1
  41. package/dist/esm/index.js.map +1 -1
  42. package/dist/esm/profiler/FaroProfiler.js +4 -1
  43. package/dist/esm/profiler/FaroProfiler.js.map +1 -1
  44. package/dist/esm/profiler/withFaroProfiler.js +3 -2
  45. package/dist/esm/profiler/withFaroProfiler.js.map +1 -1
  46. package/dist/esm/router/index.js +1 -1
  47. package/dist/esm/router/index.js.map +1 -1
  48. package/dist/esm/router/initialize.js +1 -1
  49. package/dist/esm/router/initialize.js.map +1 -1
  50. package/dist/esm/router/v4v5/FaroRoute.js +2 -2
  51. package/dist/esm/router/v4v5/FaroRoute.js.map +1 -1
  52. package/dist/esm/router/{v6 → v6v7}/FaroRoutes.js +2 -3
  53. package/dist/esm/router/v6v7/FaroRoutes.js.map +1 -0
  54. package/dist/esm/router/{v6 → v6v7}/index.js +2 -2
  55. package/dist/esm/router/v6v7/index.js.map +1 -0
  56. package/dist/esm/router/{v6 → v6v7}/initialize.js +12 -0
  57. package/dist/esm/router/v6v7/initialize.js.map +1 -0
  58. package/dist/esm/router/{v6 → v6v7}/routerDependencies.js +3 -0
  59. package/dist/esm/router/v6v7/routerDependencies.js.map +1 -0
  60. package/dist/esm/router/v6v7/types.js.map +1 -0
  61. package/dist/esm/router/v6v7/utils.js.map +1 -0
  62. package/dist/esm/router/v6v7/withFaroRouterInstrumentation.js.map +1 -0
  63. package/dist/types/index.d.ts +1 -1
  64. package/dist/types/router/index.d.ts +2 -2
  65. package/dist/types/router/v4v5/FaroRoute.d.ts +2 -1
  66. package/dist/types/router/{v6 → v6v7}/FaroRoutes.d.ts +2 -1
  67. package/dist/types/router/{v6 → v6v7}/index.d.ts +2 -2
  68. package/dist/{bundle/types/router/v6 → types/router/v6v7}/initialize.d.ts +3 -1
  69. package/dist/{bundle/types/router/v6 → types/router/v6v7}/routerDependencies.d.ts +1 -0
  70. package/package.json +9 -9
  71. package/dist/cjs/router/v6/FaroRoutes.js.map +0 -1
  72. package/dist/cjs/router/v6/index.js.map +0 -1
  73. package/dist/cjs/router/v6/initialize.js.map +0 -1
  74. package/dist/cjs/router/v6/routerDependencies.js.map +0 -1
  75. package/dist/cjs/router/v6/types.js.map +0 -1
  76. package/dist/cjs/router/v6/utils.js.map +0 -1
  77. package/dist/cjs/router/v6/withFaroRouterInstrumentation.js.map +0 -1
  78. package/dist/esm/router/v6/FaroRoutes.js.map +0 -1
  79. package/dist/esm/router/v6/index.js.map +0 -1
  80. package/dist/esm/router/v6/initialize.js.map +0 -1
  81. package/dist/esm/router/v6/routerDependencies.js.map +0 -1
  82. package/dist/esm/router/v6/types.js.map +0 -1
  83. package/dist/esm/router/v6/utils.js.map +0 -1
  84. package/dist/esm/router/v6/withFaroRouterInstrumentation.js.map +0 -1
  85. /package/dist/bundle/types/router/{v6 → v6v7}/types.d.ts +0 -0
  86. /package/dist/bundle/types/router/{v6 → v6v7}/utils.d.ts +0 -0
  87. /package/dist/bundle/types/router/{v6 → v6v7}/withFaroRouterInstrumentation.d.ts +0 -0
  88. /package/dist/cjs/router/{v6 → v6v7}/types.js +0 -0
  89. /package/dist/cjs/router/{v6 → v6v7}/utils.js +0 -0
  90. /package/dist/cjs/router/{v6 → v6v7}/withFaroRouterInstrumentation.js +0 -0
  91. /package/dist/esm/router/{v6 → v6v7}/types.js +0 -0
  92. /package/dist/esm/router/{v6 → v6v7}/utils.js +0 -0
  93. /package/dist/esm/router/{v6 → v6v7}/withFaroRouterInstrumentation.js +0 -0
  94. /package/dist/types/router/{v6 → v6v7}/types.d.ts +0 -0
  95. /package/dist/types/router/{v6 → v6v7}/utils.d.ts +0 -0
  96. /package/dist/types/router/{v6 → v6v7}/withFaroRouterInstrumentation.d.ts +0 -0
@@ -4,7 +4,7 @@ exports.initializeReactRouterInstrumentation = initializeReactRouterInstrumentat
4
4
  var dependencies_1 = require("../dependencies");
5
5
  var types_1 = require("./types");
6
6
  var v4v5_1 = require("./v4v5");
7
- var v6_1 = require("./v6");
7
+ var v6v7_1 = require("./v6v7");
8
8
  function initializeReactRouterInstrumentation(options) {
9
9
  var _a;
10
10
  var initMessage = 'Initializing React Router';
@@ -12,12 +12,12 @@ function initializeReactRouterInstrumentation(options) {
12
12
  case types_1.ReactRouterVersion.V7:
13
13
  case types_1.ReactRouterVersion.V6:
14
14
  dependencies_1.internalLogger.debug("".concat(initMessage, " ").concat(options.router.version, " instrumentation"));
15
- (0, v6_1.initializeReactRouterV6Instrumentation)(options.router.dependencies);
15
+ (0, v6v7_1.initializeReactRouterV6Instrumentation)(options.router.dependencies);
16
16
  break;
17
17
  case types_1.ReactRouterVersion.V7_data_router:
18
18
  case types_1.ReactRouterVersion.V6_data_router:
19
19
  dependencies_1.internalLogger.debug("".concat(initMessage, " ").concat(options.router.version, " data router instrumentation"));
20
- (0, v6_1.initializeReactRouterV6DataRouterInstrumentation)(options.router.dependencies);
20
+ (0, v6v7_1.initializeReactRouterV6DataRouterInstrumentation)(options.router.dependencies);
21
21
  break;
22
22
  case types_1.ReactRouterVersion.V5:
23
23
  case types_1.ReactRouterVersion.V4:
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/router/initialize.ts"],"names":[],"mappings":";;AAOA,oFAyBC;AAhCD,gDAAiD;AAGjD,iCAA6C;AAC7C,+BAAkE;AAClE,2BAAgH;AAEhH,SAAgB,oCAAoC,CAAC,OAA+B;;IAClF,IAAM,WAAW,GAAG,2BAA2B,CAAC;IAEhD,QAAQ,MAAA,OAAO,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAC;QAChC,KAAK,0BAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,0BAAkB,CAAC,EAAE;YACxB,6BAAc,CAAC,KAAK,CAAC,UAAG,WAAW,cAAI,OAAO,CAAC,MAAM,CAAC,OAAO,qBAAkB,CAAC,CAAC;YACjF,IAAA,2CAAsC,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM;QAER,KAAK,0BAAkB,CAAC,cAAc,CAAC;QACvC,KAAK,0BAAkB,CAAC,cAAc;YACpC,6BAAc,CAAC,KAAK,CAAC,UAAG,WAAW,cAAI,OAAO,CAAC,MAAM,CAAC,OAAO,iCAA8B,CAAC,CAAC;YAC7F,IAAA,qDAAgD,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9E,MAAM;QAER,KAAK,0BAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,0BAAkB,CAAC,EAAE;YACxB,6BAAc,CAAC,KAAK,CAAC,UAAG,WAAW,cAAI,OAAO,CAAC,MAAM,CAAC,OAAO,qBAAkB,CAAC,CAAC;YACjF,IAAA,+CAAwC,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM;QAER;YACE,6BAAc,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACpF,CAAC;AACH,CAAC","sourcesContent":["import { internalLogger } from '../dependencies';\nimport type { ReactIntegrationConfig } from '../types';\n\nimport { ReactRouterVersion } from './types';\nimport { initializeReactRouterV4V5Instrumentation } from './v4v5';\nimport { initializeReactRouterV6DataRouterInstrumentation, initializeReactRouterV6Instrumentation } from './v6';\n\nexport function initializeReactRouterInstrumentation(options: ReactIntegrationConfig): void {\n const initMessage = 'Initializing React Router';\n\n switch (options.router?.version) {\n case ReactRouterVersion.V7:\n case ReactRouterVersion.V6:\n internalLogger.debug(`${initMessage} ${options.router.version} instrumentation`);\n initializeReactRouterV6Instrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V7_data_router:\n case ReactRouterVersion.V6_data_router:\n internalLogger.debug(`${initMessage} ${options.router.version} data router instrumentation`);\n initializeReactRouterV6DataRouterInstrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V5:\n case ReactRouterVersion.V4:\n internalLogger.debug(`${initMessage} ${options.router.version} instrumentation`);\n initializeReactRouterV4V5Instrumentation(options.router.dependencies);\n break;\n\n default:\n internalLogger.debug('Skipping initialization of React Router instrumentation');\n }\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/router/initialize.ts"],"names":[],"mappings":";;AAOA,oFAyBC;AAhCD,gDAAiD;AAGjD,iCAA6C;AAC7C,+BAAkE;AAClE,+BAAkH;AAElH,SAAgB,oCAAoC,CAAC,OAA+B;;IAClF,IAAM,WAAW,GAAG,2BAA2B,CAAC;IAEhD,QAAQ,MAAA,OAAO,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAC;QAChC,KAAK,0BAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,0BAAkB,CAAC,EAAE;YACxB,6BAAc,CAAC,KAAK,CAAC,UAAG,WAAW,cAAI,OAAO,CAAC,MAAM,CAAC,OAAO,qBAAkB,CAAC,CAAC;YACjF,IAAA,6CAAsC,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM;QAER,KAAK,0BAAkB,CAAC,cAAc,CAAC;QACvC,KAAK,0BAAkB,CAAC,cAAc;YACpC,6BAAc,CAAC,KAAK,CAAC,UAAG,WAAW,cAAI,OAAO,CAAC,MAAM,CAAC,OAAO,iCAA8B,CAAC,CAAC;YAC7F,IAAA,uDAAgD,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9E,MAAM;QAER,KAAK,0BAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,0BAAkB,CAAC,EAAE;YACxB,6BAAc,CAAC,KAAK,CAAC,UAAG,WAAW,cAAI,OAAO,CAAC,MAAM,CAAC,OAAO,qBAAkB,CAAC,CAAC;YACjF,IAAA,+CAAwC,EAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM;QAER;YACE,6BAAc,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACpF,CAAC;AACH,CAAC","sourcesContent":["import { internalLogger } from '../dependencies';\nimport type { ReactIntegrationConfig } from '../types';\n\nimport { ReactRouterVersion } from './types';\nimport { initializeReactRouterV4V5Instrumentation } from './v4v5';\nimport { initializeReactRouterV6DataRouterInstrumentation, initializeReactRouterV6Instrumentation } from './v6v7';\n\nexport function initializeReactRouterInstrumentation(options: ReactIntegrationConfig): void {\n const initMessage = 'Initializing React Router';\n\n switch (options.router?.version) {\n case ReactRouterVersion.V7:\n case ReactRouterVersion.V6:\n internalLogger.debug(`${initMessage} ${options.router.version} instrumentation`);\n initializeReactRouterV6Instrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V7_data_router:\n case ReactRouterVersion.V6_data_router:\n internalLogger.debug(`${initMessage} ${options.router.version} data router instrumentation`);\n initializeReactRouterV6DataRouterInstrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V5:\n case ReactRouterVersion.V4:\n internalLogger.debug(`${initMessage} ${options.router.version} instrumentation`);\n initializeReactRouterV4V5Instrumentation(options.router.dependencies);\n break;\n\n default:\n internalLogger.debug('Skipping initialization of React Router instrumentation');\n }\n}\n"]}
@@ -10,9 +10,12 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __importDefault = (this && this.__importDefault) || function (mod) {
14
+ return (mod && mod.__esModule) ? mod : { "default": mod };
15
+ };
13
16
  Object.defineProperty(exports, "__esModule", { value: true });
14
17
  exports.FaroRoute = FaroRoute;
15
- var jsx_runtime_1 = require("react/jsx-runtime");
18
+ var react_1 = __importDefault(require("react"));
16
19
  var activeEvent_1 = require("./activeEvent");
17
20
  var routerDependencies_1 = require("./routerDependencies");
18
21
  function FaroRoute(props) {
@@ -20,6 +23,6 @@ function FaroRoute(props) {
20
23
  if ((_a = props === null || props === void 0 ? void 0 : props.computedMatch) === null || _a === void 0 ? void 0 : _a.isExact) {
21
24
  (0, activeEvent_1.setActiveEventRoute)(props.computedMatch.path);
22
25
  }
23
- return (0, jsx_runtime_1.jsx)(routerDependencies_1.Route, __assign({}, props));
26
+ return react_1.default.createElement(routerDependencies_1.Route, __assign({}, props));
24
27
  }
25
28
  //# sourceMappingURL=FaroRoute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FaroRoute.js","sourceRoot":"","sources":["../../../../src/router/v4v5/FaroRoute.tsx"],"names":[],"mappings":";;;;;;;;;;;;;AAIA,8BAMC;;AAVD,6CAAoD;AACpD,2DAA6C;AAG7C,SAAgB,SAAS,CAAC,KAAgC;;IACxD,IAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,0CAAE,OAAO,EAAE,CAAC;QAClC,IAAA,iCAAmB,EAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,uBAAC,0BAAK,eAAK,KAAK,EAAI,CAAC;AAC9B,CAAC","sourcesContent":["import { setActiveEventRoute } from './activeEvent';\nimport { Route } from './routerDependencies';\nimport type { ReactRouterV4V5RouteProps } from './types';\n\nexport function FaroRoute(props: ReactRouterV4V5RouteProps) {\n if (props?.computedMatch?.isExact) {\n setActiveEventRoute(props.computedMatch.path);\n }\n\n return <Route {...props} />;\n}\n"]}
1
+ {"version":3,"file":"FaroRoute.js","sourceRoot":"","sources":["../../../../src/router/v4v5/FaroRoute.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAMA,8BAMC;AAZD,gDAA0B;AAE1B,6CAAoD;AACpD,2DAA6C;AAG7C,SAAgB,SAAS,CAAC,KAAgC;;IACxD,IAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,0CAAE,OAAO,EAAE,CAAC;QAClC,IAAA,iCAAmB,EAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,8BAAC,0BAAK,eAAK,KAAK,EAAI,CAAC;AAC9B,CAAC","sourcesContent":["import React from 'react';\n\nimport { setActiveEventRoute } from './activeEvent';\nimport { Route } from './routerDependencies';\nimport type { ReactRouterV4V5RouteProps } from './types';\n\nexport function FaroRoute(props: ReactRouterV4V5RouteProps) {\n if (props?.computedMatch?.isExact) {\n setActiveEventRoute(props.computedMatch.path);\n }\n\n return <Route {...props} />;\n}\n"]}
@@ -10,10 +10,42 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ var desc = Object.getOwnPropertyDescriptor(m, k);
16
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
+ desc = { enumerable: true, get: function() { return m[k]; } };
18
+ }
19
+ Object.defineProperty(o, k2, desc);
20
+ }) : (function(o, m, k, k2) {
21
+ if (k2 === undefined) k2 = k;
22
+ o[k2] = m[k];
23
+ }));
24
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
26
+ }) : function(o, v) {
27
+ o["default"] = v;
28
+ });
29
+ var __importStar = (this && this.__importStar) || (function () {
30
+ var ownKeys = function(o) {
31
+ ownKeys = Object.getOwnPropertyNames || function (o) {
32
+ var ar = [];
33
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
34
+ return ar;
35
+ };
36
+ return ownKeys(o);
37
+ };
38
+ return function (mod) {
39
+ if (mod && mod.__esModule) return mod;
40
+ var result = {};
41
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
42
+ __setModuleDefault(result, mod);
43
+ return result;
44
+ };
45
+ })();
13
46
  Object.defineProperty(exports, "__esModule", { value: true });
14
47
  exports.FaroRoutes = FaroRoutes;
15
- var jsx_runtime_1 = require("react/jsx-runtime");
16
- var react_1 = require("react");
48
+ var react_1 = __importStar(require("react"));
17
49
  var faro_web_sdk_1 = require("@grafana/faro-web-sdk");
18
50
  var dependencies_1 = require("../../dependencies");
19
51
  var types_1 = require("../types");
@@ -38,6 +70,6 @@ function FaroRoutes(props) {
38
70
  }
39
71
  }, [location, navigationType, routes]);
40
72
  var ActualRoutes = (_a = props.routesComponent) !== null && _a !== void 0 ? _a : routerDependencies_1.Routes;
41
- return (0, jsx_runtime_1.jsx)(ActualRoutes, __assign({}, props));
73
+ return react_1.default.createElement(ActualRoutes, __assign({}, props));
42
74
  }
43
75
  //# sourceMappingURL=FaroRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FaroRoutes.js","sourceRoot":"","sources":["../../../../src/router/v6v7/FaroRoutes.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,gCA6BC;AAxCD,6CAA0D;AAE1D,sDAAyE;AAEzE,mDAAyC;AACzC,kCAA0C;AAE1C,2DAAuH;AAEvH,iCAA+C;AAE/C,SAAgB,UAAU,CAAC,KAA+B;;IACxD,IAAM,QAAQ,GAAG,gCAAW,aAAX,gCAAW,2BAAX,gCAAW,GAAI,CAAC;IACjC,IAAM,cAAc,GAAG,sCAAiB,aAAjB,sCAAiB,2BAAjB,sCAAiB,GAAI,CAAC;IAE7C,IAAM,MAAM,GAAG,IAAA,eAAO,EAAC,sBAAM,OAAA,MAAA,6CAAwB,aAAxB,6CAAwB,2BAAxB,6CAAwB,EAAG,KAAK,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjG,IAAM,YAAY,GAAG,IAAA,cAAM,EAAiC,EAAE,CAAC,CAAC;IAEhE,IAAA,iBAAS,EAAC;;QACR,IAAI,kCAAa,IAAI,CAAC,cAAc,KAAK,sBAAc,CAAC,IAAI,IAAI,cAAc,KAAK,sBAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACvG,IAAM,KAAK,GAAG,IAAA,4BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAM,GAAG,GAAG,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,CAAC;YAExC,kBAAG,CAAC,SAAS,CAAC,iCAAkB,aAC9B,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,IAC/B,YAAY,CAAC,OAAO,EACvB,CAAC;YAEH,YAAY,CAAC,OAAO,GAAG;gBACrB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,GAAG;aACb,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvC,IAAM,YAAY,GAAG,MAAA,KAAK,CAAC,eAAe,mCAAI,2BAAM,CAAC;IAErD,OAAO,8BAAC,YAAY,eAAK,KAAK,EAAI,CAAC;AACrC,CAAC","sourcesContent":["import React, { useEffect, useMemo, useRef } from 'react';\n\nimport { EVENT_ROUTE_CHANGE, globalObject } from '@grafana/faro-web-sdk';\n\nimport { api } from '../../dependencies';\nimport { NavigationType } from '../types';\n\nimport { createRoutesFromChildren, isInitialized, Routes, useLocation, useNavigationType } from './routerDependencies';\nimport type { EventRouteTransitionAttributes, ReactRouterV6RoutesProps } from './types';\nimport { getRouteFromLocation } from './utils';\n\nexport function FaroRoutes(props: ReactRouterV6RoutesProps) {\n const location = useLocation?.();\n const navigationType = useNavigationType?.();\n\n const routes = useMemo(() => createRoutesFromChildren?.(props.children) ?? [], [props.children]);\n\n const lastRouteRef = useRef<EventRouteTransitionAttributes>({});\n\n useEffect(() => {\n if (isInitialized && (navigationType === NavigationType.Push || navigationType === NavigationType.Pop)) {\n const route = getRouteFromLocation(routes, location);\n const url = globalObject.location?.href;\n\n api.pushEvent(EVENT_ROUTE_CHANGE, {\n toRoute: route,\n toUrl: globalObject.location?.href,\n ...lastRouteRef.current,\n });\n\n lastRouteRef.current = {\n fromRoute: route,\n fromUrl: url,\n };\n }\n }, [location, navigationType, routes]);\n\n const ActualRoutes = props.routesComponent ?? Routes;\n\n return <ActualRoutes {...props} />;\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.withFaroRouterInstrumentation = exports.setReactRouterV6SSRDependencies = exports.initializeReactRouterV6DataRouterInstrumentation = exports.initializeReactRouterV6Instrumentation = exports.createReactRouterV6DataOptions = exports.createReactRouterV6Options = exports.FaroRoutes = void 0;
3
+ exports.withFaroRouterInstrumentation = exports.setReactRouterV7SSRDependencies = exports.setReactRouterV6SSRDependencies = exports.createReactRouterV7Options = exports.createReactRouterV7DataOptions = exports.initializeReactRouterV6DataRouterInstrumentation = exports.initializeReactRouterV6Instrumentation = exports.createReactRouterV6DataOptions = exports.createReactRouterV6Options = exports.FaroRoutes = void 0;
4
4
  var FaroRoutes_1 = require("./FaroRoutes");
5
5
  Object.defineProperty(exports, "FaroRoutes", { enumerable: true, get: function () { return FaroRoutes_1.FaroRoutes; } });
6
6
  var initialize_1 = require("./initialize");
@@ -8,8 +8,11 @@ Object.defineProperty(exports, "createReactRouterV6Options", { enumerable: true,
8
8
  Object.defineProperty(exports, "createReactRouterV6DataOptions", { enumerable: true, get: function () { return initialize_1.createReactRouterV6DataOptions; } });
9
9
  Object.defineProperty(exports, "initializeReactRouterV6Instrumentation", { enumerable: true, get: function () { return initialize_1.initializeReactRouterV6Instrumentation; } });
10
10
  Object.defineProperty(exports, "initializeReactRouterV6DataRouterInstrumentation", { enumerable: true, get: function () { return initialize_1.initializeReactRouterV6DataRouterInstrumentation; } });
11
+ Object.defineProperty(exports, "createReactRouterV7DataOptions", { enumerable: true, get: function () { return initialize_1.createReactRouterV7DataOptions; } });
12
+ Object.defineProperty(exports, "createReactRouterV7Options", { enumerable: true, get: function () { return initialize_1.createReactRouterV7Options; } });
11
13
  var routerDependencies_1 = require("./routerDependencies");
12
14
  Object.defineProperty(exports, "setReactRouterV6SSRDependencies", { enumerable: true, get: function () { return routerDependencies_1.setReactRouterV6SSRDependencies; } });
15
+ Object.defineProperty(exports, "setReactRouterV7SSRDependencies", { enumerable: true, get: function () { return routerDependencies_1.setReactRouterV7SSRDependencies; } });
13
16
  var withFaroRouterInstrumentation_1 = require("./withFaroRouterInstrumentation");
14
17
  Object.defineProperty(exports, "withFaroRouterInstrumentation", { enumerable: true, get: function () { return withFaroRouterInstrumentation_1.withFaroRouterInstrumentation; } });
15
18
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/router/v6v7/index.ts"],"names":[],"mappings":";;;AAAA,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,2CAOsB;AANpB,wHAAA,0BAA0B,OAAA;AAC1B,4HAAA,8BAA8B,OAAA;AAC9B,oIAAA,sCAAsC,OAAA;AACtC,8IAAA,gDAAgD,OAAA;AAChD,4HAAA,8BAA8B,OAAA;AAC9B,wHAAA,0BAA0B,OAAA;AAG5B,2DAAwG;AAA/F,qIAAA,+BAA+B,OAAA;AAAE,qIAAA,+BAA+B,OAAA;AAEzE,iFAAgF;AAAvE,8IAAA,6BAA6B,OAAA","sourcesContent":["export { FaroRoutes } from './FaroRoutes';\n\nexport {\n createReactRouterV6Options,\n createReactRouterV6DataOptions,\n initializeReactRouterV6Instrumentation,\n initializeReactRouterV6DataRouterInstrumentation,\n createReactRouterV7DataOptions,\n createReactRouterV7Options,\n} from './initialize';\n\nexport { setReactRouterV6SSRDependencies, setReactRouterV7SSRDependencies } from './routerDependencies';\n\nexport { withFaroRouterInstrumentation } from './withFaroRouterInstrumentation';\n\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n ReactRouterV6DataRouterDependencies,\n} from './types';\n"]}
@@ -7,6 +7,8 @@ exports.initializeReactRouterV6Instrumentation = initializeReactRouterV6Instrume
7
7
  exports.createReactRouterV6Options = createReactRouterV6Options;
8
8
  exports.initializeReactRouterV6DataRouterInstrumentation = initializeReactRouterV6DataRouterInstrumentation;
9
9
  exports.createReactRouterV6DataOptions = createReactRouterV6DataOptions;
10
+ exports.createReactRouterV7Options = createReactRouterV7Options;
11
+ exports.createReactRouterV7DataOptions = createReactRouterV7DataOptions;
10
12
  var hoist_non_react_statics_1 = __importDefault(require("hoist-non-react-statics"));
11
13
  var types_1 = require("../types");
12
14
  var FaroRoutes_1 = require("./FaroRoutes");
@@ -30,4 +32,16 @@ function createReactRouterV6DataOptions(dependencies) {
30
32
  dependencies: dependencies,
31
33
  };
32
34
  }
35
+ function createReactRouterV7Options(dependencies) {
36
+ return {
37
+ version: types_1.ReactRouterVersion.V7,
38
+ dependencies: dependencies,
39
+ };
40
+ }
41
+ function createReactRouterV7DataOptions(dependencies) {
42
+ return {
43
+ version: types_1.ReactRouterVersion.V7_data_router,
44
+ dependencies: dependencies,
45
+ };
46
+ }
33
47
  //# sourceMappingURL=initialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/router/v6v7/initialize.ts"],"names":[],"mappings":";;;;;AAiBA,wFAGC;AAED,gEAKC;AAED,4GAIC;AAED,wEAOC;AAED,gEAKC;AAED,wEAOC;AA1DD,oFAA2D;AAQ3D,kCAA8C;AAE9C,2CAA0C;AAC1C,2DAG8B;AAG9B,SAAgB,sCAAsC,CAAC,YAAuC;IAC5F,IAAA,iCAAoB,EAAC,uBAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACtD,IAAA,iDAA4B,EAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,SAAgB,0BAA0B,CAAC,YAAuC;IAChF,OAAO;QACL,OAAO,EAAE,0BAAkB,CAAC,EAAE;QAC9B,YAAY,cAAA;KACb,CAAC;AACJ,CAAC;AAED,SAAgB,gDAAgD,CAC9D,YAAiD;IAEjD,IAAA,2DAAsC,EAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,8BAA8B,CAC5C,YAAiD;IAEjD,OAAO;QACL,OAAO,EAAE,0BAAkB,CAAC,cAAc;QAC1C,YAAY,cAAA;KACb,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CAAC,YAAuC;IAChF,OAAO;QACL,OAAO,EAAE,0BAAkB,CAAC,EAAE;QAC9B,YAAY,cAAA;KACb,CAAC;AACJ,CAAC;AAED,SAAgB,8BAA8B,CAC5C,YAAiD;IAEjD,OAAO;QACL,OAAO,EAAE,0BAAkB,CAAC,cAAc;QAC1C,YAAY,cAAA;KACb,CAAC;AACJ,CAAC","sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\n\nimport type {\n ReactRouterV6Config,\n ReactRouterV6DataRouterConfig,\n ReactRouterV7Config,\n ReactRouterV7DataRouterConfig,\n} from '../../types';\nimport { ReactRouterVersion } from '../types';\n\nimport { FaroRoutes } from './FaroRoutes';\nimport {\n setReactRouterV6DataRouterDependencies as setReactRouterV6DataRouterDependencies,\n setReactRouterV6Dependencies,\n} from './routerDependencies';\nimport type { ReactRouterV6DataRouterDependencies, ReactRouterV6Dependencies } from './types';\n\nexport function initializeReactRouterV6Instrumentation(dependencies: ReactRouterV6Dependencies): void {\n hoistNonReactStatics(FaroRoutes, dependencies.Routes);\n setReactRouterV6Dependencies(dependencies);\n}\n\nexport function createReactRouterV6Options(dependencies: ReactRouterV6Dependencies): ReactRouterV6Config {\n return {\n version: ReactRouterVersion.V6,\n dependencies,\n };\n}\n\nexport function initializeReactRouterV6DataRouterInstrumentation(\n dependencies: ReactRouterV6DataRouterDependencies\n): void {\n setReactRouterV6DataRouterDependencies(dependencies);\n}\n\nexport function createReactRouterV6DataOptions(\n dependencies: ReactRouterV6DataRouterDependencies\n): ReactRouterV6DataRouterConfig {\n return {\n version: ReactRouterVersion.V6_data_router,\n dependencies,\n };\n}\n\nexport function createReactRouterV7Options(dependencies: ReactRouterV6Dependencies): ReactRouterV7Config {\n return {\n version: ReactRouterVersion.V7,\n dependencies,\n };\n}\n\nexport function createReactRouterV7DataOptions(\n dependencies: ReactRouterV6DataRouterDependencies\n): ReactRouterV7DataRouterConfig {\n return {\n version: ReactRouterVersion.V7_data_router,\n dependencies,\n };\n}\n"]}
@@ -4,6 +4,7 @@ exports.useNavigationType = exports.useLocation = exports.Routes = exports.match
4
4
  exports.setReactRouterV6Dependencies = setReactRouterV6Dependencies;
5
5
  exports.setReactRouterV6SSRDependencies = setReactRouterV6SSRDependencies;
6
6
  exports.setReactRouterV6DataRouterDependencies = setReactRouterV6DataRouterDependencies;
7
+ exports.setReactRouterV7SSRDependencies = setReactRouterV7SSRDependencies;
7
8
  exports.isInitialized = false;
8
9
  function setReactRouterV6Dependencies(newDependencies) {
9
10
  exports.isInitialized = true;
@@ -20,4 +21,7 @@ function setReactRouterV6DataRouterDependencies(newDependencies) {
20
21
  exports.isInitialized = true;
21
22
  exports.matchRoutes = newDependencies.matchRoutes;
22
23
  }
24
+ function setReactRouterV7SSRDependencies(newDependencies) {
25
+ exports.Routes = newDependencies.Routes;
26
+ }
23
27
  //# sourceMappingURL=routerDependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routerDependencies.js","sourceRoot":"","sources":["../../../../src/router/v6v7/routerDependencies.ts"],"names":[],"mappings":";;;AAiBA,oEAQC;AAED,0EAEC;AAED,wFAGC;AAED,0EAEC;AA5BU,QAAA,aAAa,GAAG,KAAK,CAAC;AAOjC,SAAgB,4BAA4B,CAAC,eAA0C;IACrF,qBAAa,GAAG,IAAI,CAAC;IAErB,gCAAwB,GAAG,eAAe,CAAC,wBAAwB,CAAC;IACpE,mBAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,cAAM,GAAG,eAAe,CAAC,MAAM,CAAC;IAChC,mBAAW,GAAG,eAAe,CAAC,WAAW,CAAC;IAC1C,yBAAiB,GAAG,eAAe,CAAC,iBAAiB,CAAC;AACxD,CAAC;AAED,SAAgB,+BAA+B,CAAC,eAA0D;IACxG,cAAM,GAAG,eAAe,CAAC,MAAM,CAAC;AAClC,CAAC;AAED,SAAgB,sCAAsC,CAAC,eAAoD;IACzG,qBAAa,GAAG,IAAI,CAAC;IACrB,mBAAW,GAAG,eAAe,CAAC,WAAW,CAAC;AAC5C,CAAC;AAED,SAAgB,+BAA+B,CAAC,eAA0D;IACxG,cAAM,GAAG,eAAe,CAAC,MAAM,CAAC;AAClC,CAAC","sourcesContent":["import type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6DataRouterDependencies,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './types';\n\nexport let isInitialized = false;\nexport let createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;\nexport let matchRoutes: ReactRouterV6MatchRoutes;\nexport let Routes: ReactRouterV6RoutesShape;\nexport let useLocation: ReactRouterV6UseLocation;\nexport let useNavigationType: ReactRouterV6UseNavigationType;\n\nexport function setReactRouterV6Dependencies(newDependencies: ReactRouterV6Dependencies): void {\n isInitialized = true;\n\n createRoutesFromChildren = newDependencies.createRoutesFromChildren;\n matchRoutes = newDependencies.matchRoutes;\n Routes = newDependencies.Routes;\n useLocation = newDependencies.useLocation;\n useNavigationType = newDependencies.useNavigationType;\n}\n\nexport function setReactRouterV6SSRDependencies(newDependencies: Pick<ReactRouterV6Dependencies, 'Routes'>): void {\n Routes = newDependencies.Routes;\n}\n\nexport function setReactRouterV6DataRouterDependencies(newDependencies: ReactRouterV6DataRouterDependencies): void {\n isInitialized = true;\n matchRoutes = newDependencies.matchRoutes;\n}\n\nexport function setReactRouterV7SSRDependencies(newDependencies: Pick<ReactRouterV6Dependencies, 'Routes'>): void {\n Routes = newDependencies.Routes;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/router/v6v7/types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ReactElement, ReactNode } from 'react';\nimport type React from 'react';\n\nimport type { ReactRouterLocation } from '../types';\n\ninterface IndexRouteObjectV6DataRouter {\n caseSensitive?: boolean;\n children?: undefined;\n element?: React.ReactNode | null;\n index: true;\n path?: string;\n}\n\nexport interface NonIndexRouteObjectV6DataRouter {\n caseSensitive?: boolean;\n children?: RouteObjectV6DataRouter[];\n element?: React.ReactNode | null;\n index?: false;\n path?: string;\n}\n\nexport type RouteObjectV6DataRouter = IndexRouteObjectV6DataRouter | NonIndexRouteObjectV6DataRouter;\n\nexport interface ReactRouterV6BaseRouteObject {\n action?: (...args: any[]) => any;\n caseSensitive?: boolean;\n hasErrorBoundary?: boolean;\n handle?: any;\n id?: string;\n loader?: (...args: any[]) => any;\n path?: string;\n shouldRevalidate?: (...args: any[]) => any;\n}\n\nexport type ReactRouterV6RouteObject = ReactRouterV6BaseRouteObject &\n (\n | {\n children?: undefined;\n index: true;\n }\n | {\n children?: ReactRouterV6RouteObject[];\n index?: false;\n }\n );\n\nexport interface ReactRouterV6RoutesProps {\n children?: ReactNode;\n location?: Partial<ReactRouterLocation> | string;\n routesComponent?: ReactRouterV6RoutesShape;\n}\n\nexport type ReactRouterV6Params<Key extends string = string> = {\n readonly [key in Key]: string | undefined;\n};\n\nexport interface ReactRouterV6RouteMatch<ParamKey extends string = string> {\n params: ReactRouterV6Params<ParamKey>;\n pathname: string;\n pathnameBase: string;\n route: ReactRouterV6RouteObject;\n}\n\nexport type ReactRouterV6CreateRoutesFromChildren = (\n children: ReactNode\n) => ReactRouterV6RouteObject[] | RouteObjectV6DataRouter[];\n\nexport type ReactRouterV6MatchRoutes = (\n routes: ReactRouterV6RouteObject[],\n location: Partial<ReactRouterLocation> | string,\n basename?: string | undefined\n) => ReactRouterV6RouteMatch[] | null;\n\nexport type ReactRouterV6RoutesShape = (props: ReactRouterV6RoutesProps) => ReactElement | null;\n\nexport type ReactRouterV6UseLocation = () => ReactRouterLocation;\n\nexport type ReactRouterV6UseNavigationType = () => 'POP' | 'PUSH' | 'REPLACE';\n\nexport interface ReactRouterV6Dependencies {\n createRoutesFromChildren: ReactRouterV6CreateRoutesFromChildren;\n matchRoutes: ReactRouterV6MatchRoutes;\n Routes: ReactRouterV6RoutesShape;\n useLocation: ReactRouterV6UseLocation;\n useNavigationType: ReactRouterV6UseNavigationType;\n}\n\nexport interface ReactRouterV6DataRouterDependencies {\n matchRoutes: ReactRouterV6MatchRoutes;\n}\n\nexport type EventRouteTransitionAttributes = {\n fromRoute?: string;\n fromUrl?: string;\n};\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/router/v6v7/utils.ts"],"names":[],"mappings":";;AAKA,wDAEC;AAED,oDAuCC;AA9CD,2DAAmD;AAGnD,SAAgB,sBAAsB,CAAC,GAAW;IAChD,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,UAAC,cAAc,IAAK,OAAA,cAAc,CAAC,MAAM,GAAG,CAAC,IAAI,cAAc,KAAK,GAAG,EAAnD,CAAmD,CAAC,CAAC,MAAM,CAAC;AACnH,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAAkC,EAAE,QAA6B;IACpG,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3B,CAAC;IAED,IAAM,aAAa,GAAG,IAAA,gCAAW,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEpD,IAAI,WAAW,GAAG,EAAE,CAAC;IAErB,IAAI,aAAa,EAAE,CAAC;QAClB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;YACjC,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAE3B,IAAI,KAAK,EAAE,CAAC;gBACV,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;oBAChB,OAAO,MAAM,CAAC,QAAQ,CAAC;gBACzB,CAAC;gBAED,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;gBAEtB,IAAI,IAAI,EAAE,CAAC;oBACT,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,WAAI,IAAI,CAAE,CAAC;oBAEhD,WAAW,IAAI,IAAI,CAAC;oBAEpB,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,QAAQ,EAAE,CAAC;wBAC1C,IAAI,sBAAsB,CAAC,WAAW,CAAC,KAAK,sBAAsB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;4BACpF,OAAO,IAAI,CAAC;wBACd,CAAC;wBAED,OAAO,WAAW,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,QAAQ,CAAC,QAAQ,CAAC;AAC3B,CAAC","sourcesContent":["import type { ReactRouterLocation } from '../types';\n\nimport { matchRoutes } from './routerDependencies';\nimport type { ReactRouterV6RouteObject } from './types';\n\nexport function getNumberOfUrlSegments(url: string): number {\n return url.split(/\\\\?\\//).filter((currentSegment) => currentSegment.length > 0 && currentSegment !== ',').length;\n}\n\nexport function getRouteFromLocation(routes: ReactRouterV6RouteObject[], location: ReactRouterLocation): string {\n if (!routes || routes.length === 0) {\n return location.pathname;\n }\n\n const matchedRoutes = matchRoutes(routes, location);\n\n let pathBuilder = '';\n\n if (matchedRoutes) {\n for (let x = 0; x < matchedRoutes.length; x++) {\n const branch = matchedRoutes[x]!;\n const route = branch.route;\n\n if (route) {\n if (route.index) {\n return branch.pathname;\n }\n\n let path = route.path;\n\n if (path) {\n path = path.startsWith('/') ? path : `/${path}`;\n\n pathBuilder += path;\n\n if (branch.pathname === location.pathname) {\n if (getNumberOfUrlSegments(pathBuilder) !== getNumberOfUrlSegments(branch.pathname)) {\n return path;\n }\n\n return pathBuilder;\n }\n }\n }\n }\n }\n\n return location.pathname;\n}\n"]}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withFaroRouterInstrumentation.js","sourceRoot":"","sources":["../../../../src/router/v6v7/withFaroRouterInstrumentation.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAwBA,sEA0BC;AAlDD,sDAAyE;AAEzE,mDAAyC;AACzC,kCAA0C;AAG1C,2DAAqD;AAErD,iCAA+C;AAa/C;;GAEG;AACH,SAAgB,6BAA6B,CAA4B,MAAS;IAChF,IAAI,SAAS,GAAmC,EAAE,CAAC;IAEnD,MAAM,CAAC,SAAS,CAAC,UAAC,KAAK;;QACrB,IAAM,cAAc,GAAmB,KAAK,CAAC,aAAa,CAAC;QAC3D,IAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAE7B,IAAI,kCAAa,IAAI,CAAC,cAAc,KAAK,sBAAc,CAAC,IAAI,IAAI,cAAc,KAAK,sBAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACvG,IAAM,KAAK,GAAG,IAAA,4BAAoB,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,IAAM,GAAG,GAAG,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,CAAC;YAExC,kBAAG,CAAC,SAAS,CAAC,iCAAkB,aAC9B,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,MAAA,2BAAY,CAAC,QAAQ,0CAAE,IAAI,IAC/B,SAAS,EACZ,CAAC;YAEH,SAAS,GAAG;gBACV,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,GAAG;aACb,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { EVENT_ROUTE_CHANGE, globalObject } from '@grafana/faro-web-sdk';\n\nimport { api } from '../../dependencies';\nimport { NavigationType } from '../types';\nimport type { ReactRouterLocation } from '../types';\n\nimport { isInitialized } from './routerDependencies';\nimport type { EventRouteTransitionAttributes, RouteObjectV6DataRouter } from './types';\nimport { getRouteFromLocation } from './utils';\n\ninterface RouterState {\n historyAction: NavigationType | any;\n location: ReactRouterLocation;\n}\n\ninterface Router {\n state: RouterState;\n routes: RouteObjectV6DataRouter[];\n subscribe(fn: (state: RouterState) => void): () => void;\n}\n\n/**\n * To use with React Router 6.4 data APIs.\n */\nexport function withFaroRouterInstrumentation<R extends Router = Router>(router: R) {\n let lastRoute: EventRouteTransitionAttributes = {};\n\n router.subscribe((state) => {\n const navigationType: NavigationType = state.historyAction;\n const location = state.location;\n const routes = router.routes;\n\n if (isInitialized && (navigationType === NavigationType.Push || navigationType === NavigationType.Pop)) {\n const route = getRouteFromLocation(routes, location);\n const url = globalObject.location?.href;\n\n api.pushEvent(EVENT_ROUTE_CHANGE, {\n toRoute: route,\n toUrl: globalObject.location?.href,\n ...lastRoute,\n });\n\n lastRoute = {\n fromRoute: route,\n fromUrl: url,\n };\n }\n });\n\n return router;\n}\n"]}
@@ -1,4 +1,7 @@
1
- import { Component, isValidElement } from 'react';
1
+ // React is required in scope for JSX transformation with the classic transform
2
+ // @ts-expect-error - TS6133: React appears unused but is required for JSX
3
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
4
+ import React, { Component, isValidElement } from 'react';
2
5
  import { isFunction } from '@grafana/faro-web-sdk';
3
6
  import { api, internalLogger } from '../dependencies';
4
7
  import { isReactVersionAtLeast17 } from '../utils';
@@ -1 +1 @@
1
- {"version":3,"file":"FaroErrorBoundary.js","sourceRoot":"","sources":["../../../src/errorBoundary/FaroErrorBoundary.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, isValidElement } from 'react';\nimport type { ErrorInfo, ReactNode } from 'react';\n\nimport { isFunction } from '@grafana/faro-web-sdk';\n\nimport { api, internalLogger } from '../dependencies';\nimport { isReactVersionAtLeast17 } from '../utils';\n\nimport { faroErrorBoundaryInitialState } from './const';\nimport type { FaroErrorBoundaryProps, FaroErrorBoundaryState } from './types';\n\nexport class FaroErrorBoundary extends Component<FaroErrorBoundaryProps, FaroErrorBoundaryState> {\n override state: FaroErrorBoundaryState = faroErrorBoundaryInitialState;\n\n constructor(props: FaroErrorBoundaryProps) {\n super(props);\n\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n }\n\n getErrorWithComponentStack(error: Error, errorInfo: ErrorInfo): Error {\n if (!isReactVersionAtLeast17 || !errorInfo.componentStack) {\n return error;\n }\n\n const newError = new Error(error.message);\n\n newError.name = `React ErrorBoundary ${error.name}`;\n newError.stack = errorInfo.componentStack;\n\n return newError;\n }\n\n static getDerivedStateFromError(error: Error): FaroErrorBoundaryState {\n return {\n hasError: true,\n error,\n };\n }\n\n override componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n const errorWithComponentStack = this.getErrorWithComponentStack(error, errorInfo);\n\n this.props.beforeCapture?.(errorWithComponentStack);\n\n api.pushError(errorWithComponentStack, this.props.pushErrorOptions);\n\n this.props.onError?.(errorWithComponentStack);\n\n this.setState({ hasError: true, error });\n }\n\n override componentDidMount(): void {\n this.props.onMount?.();\n }\n\n override componentWillUnmount(): void {\n this.props.onUnmount?.(this.state.error);\n }\n\n resetErrorBoundary(): void {\n this.props.onReset?.(this.state.error);\n\n this.setState(faroErrorBoundaryInitialState);\n }\n\n override render(): ReactNode {\n if (!this.state.hasError) {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n const element = !isFunction(this.props.fallback)\n ? this.props.fallback\n : this.props.fallback(this.state.error!, this.resetErrorBoundary);\n\n if (isValidElement(element)) {\n return element;\n }\n\n if (this.props.fallback) {\n internalLogger?.warn('ErrorBoundary\\n', 'Cannot get a valid ReactElement from \"fallback\"');\n }\n\n return null;\n }\n}\n"]}
1
+ {"version":3,"file":"FaroErrorBoundary.js","sourceRoot":"","sources":["../../../src/errorBoundary/FaroErrorBoundary.tsx"],"names":[],"mappings":"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","sourcesContent":["// React is required in scope for JSX transformation with the classic transform\n// @ts-expect-error - TS6133: React appears unused but is required for JSX\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport React, { Component, isValidElement } from 'react';\nimport type { ErrorInfo, ReactNode } from 'react';\n\nimport { isFunction } from '@grafana/faro-web-sdk';\n\nimport { api, internalLogger } from '../dependencies';\nimport { isReactVersionAtLeast17 } from '../utils';\n\nimport { faroErrorBoundaryInitialState } from './const';\nimport type { FaroErrorBoundaryProps, FaroErrorBoundaryState } from './types';\n\nexport class FaroErrorBoundary extends Component<FaroErrorBoundaryProps, FaroErrorBoundaryState> {\n override state: FaroErrorBoundaryState = faroErrorBoundaryInitialState;\n\n constructor(props: FaroErrorBoundaryProps) {\n super(props);\n\n this.resetErrorBoundary = this.resetErrorBoundary.bind(this);\n }\n\n getErrorWithComponentStack(error: Error, errorInfo: ErrorInfo): Error {\n if (!isReactVersionAtLeast17 || !errorInfo.componentStack) {\n return error;\n }\n\n const newError = new Error(error.message);\n\n newError.name = `React ErrorBoundary ${error.name}`;\n newError.stack = errorInfo.componentStack;\n\n return newError;\n }\n\n static getDerivedStateFromError(error: Error): FaroErrorBoundaryState {\n return {\n hasError: true,\n error,\n };\n }\n\n override componentDidCatch(error: Error, errorInfo: ErrorInfo): void {\n const errorWithComponentStack = this.getErrorWithComponentStack(error, errorInfo);\n\n this.props.beforeCapture?.(errorWithComponentStack);\n\n api.pushError(errorWithComponentStack, this.props.pushErrorOptions);\n\n this.props.onError?.(errorWithComponentStack);\n\n this.setState({ hasError: true, error });\n }\n\n override componentDidMount(): void {\n this.props.onMount?.();\n }\n\n override componentWillUnmount(): void {\n this.props.onUnmount?.(this.state.error);\n }\n\n resetErrorBoundary(): void {\n this.props.onReset?.(this.state.error);\n\n this.setState(faroErrorBoundaryInitialState);\n }\n\n override render(): ReactNode {\n if (!this.state.hasError) {\n return isFunction(this.props.children) ? this.props.children() : this.props.children;\n }\n\n const element = !isFunction(this.props.fallback)\n ? this.props.fallback\n : this.props.fallback(this.state.error!, this.resetErrorBoundary);\n\n if (isValidElement(element)) {\n return element;\n }\n\n if (this.props.fallback) {\n internalLogger?.warn('ErrorBoundary\\n', 'Cannot get a valid ReactElement from \"fallback\"');\n }\n\n return null;\n }\n}\n"]}
@@ -1,11 +1,12 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
1
  import hoistNonReactStatics from 'hoist-non-react-statics';
2
+ import React from 'react';
3
3
  import { unknownString } from '@grafana/faro-core';
4
4
  import { FaroErrorBoundary } from './FaroErrorBoundary';
5
5
  export function withFaroErrorBoundary(WrappedComponent, errorBoundaryProps) {
6
6
  var _a, _b;
7
7
  const componentDisplayName = (_b = (_a = WrappedComponent.displayName) !== null && _a !== void 0 ? _a : WrappedComponent.name) !== null && _b !== void 0 ? _b : unknownString;
8
- const Component = (wrappedComponentProps) => (_jsx(FaroErrorBoundary, Object.assign({}, errorBoundaryProps, { children: _jsx(WrappedComponent, Object.assign({}, wrappedComponentProps)) })));
8
+ const Component = (wrappedComponentProps) => (React.createElement(FaroErrorBoundary, Object.assign({}, errorBoundaryProps),
9
+ React.createElement(WrappedComponent, Object.assign({}, wrappedComponentProps))));
9
10
  Component.displayName = `faroErrorBoundary(${componentDisplayName})`;
10
11
  hoistNonReactStatics(Component, WrappedComponent);
11
12
  return Component;
@@ -1 +1 @@
1
- {"version":3,"file":"withFaroErrorBoundary.js","sourceRoot":"","sources":["../../../src/errorBoundary/withFaroErrorBoundary.tsx"],"names":[],"mappings":";AAAA,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,UAAU,qBAAqB,CACnC,gBAAkC,EAClC,kBAA0C;;IAE1C,MAAM,oBAAoB,GAAG,MAAA,MAAA,gBAAgB,CAAC,WAAW,mCAAI,gBAAgB,CAAC,IAAI,mCAAI,aAAa,CAAC;IAEpG,MAAM,SAAS,GAAU,CAAC,qBAAwB,EAAE,EAAE,CAAC,CACrD,KAAC,iBAAiB,oBAAK,kBAAkB,cACvC,KAAC,gBAAgB,oBAAK,qBAAqB,EAAI,IAC7B,CACrB,CAAC;IAEF,SAAS,CAAC,WAAW,GAAG,qBAAqB,oBAAoB,GAAG,CAAC;IAErE,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAElD,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport type { ComponentType, FC } from 'react';\n\nimport { unknownString } from '@grafana/faro-core';\n\nimport { FaroErrorBoundary } from './FaroErrorBoundary';\nimport type { FaroErrorBoundaryProps, ReactProps } from './types';\n\nexport function withFaroErrorBoundary<P extends ReactProps = {}>(\n WrappedComponent: ComponentType<P>,\n errorBoundaryProps: FaroErrorBoundaryProps\n): FC<P> {\n const componentDisplayName = WrappedComponent.displayName ?? WrappedComponent.name ?? unknownString;\n\n const Component: FC<P> = (wrappedComponentProps: P) => (\n <FaroErrorBoundary {...errorBoundaryProps}>\n <WrappedComponent {...wrappedComponentProps} />\n </FaroErrorBoundary>\n );\n\n Component.displayName = `faroErrorBoundary(${componentDisplayName})`;\n\n hoistNonReactStatics(Component, WrappedComponent);\n\n return Component;\n}\n"]}
1
+ {"version":3,"file":"withFaroErrorBoundary.js","sourceRoot":"","sources":["../../../src/errorBoundary/withFaroErrorBoundary.tsx"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,MAAM,UAAU,qBAAqB,CACnC,gBAAkC,EAClC,kBAA0C;;IAE1C,MAAM,oBAAoB,GAAG,MAAA,MAAA,gBAAgB,CAAC,WAAW,mCAAI,gBAAgB,CAAC,IAAI,mCAAI,aAAa,CAAC;IAEpG,MAAM,SAAS,GAAU,CAAC,qBAAwB,EAAE,EAAE,CAAC,CACrD,oBAAC,iBAAiB,oBAAK,kBAAkB;QACvC,oBAAC,gBAAgB,oBAAK,qBAAqB,EAAI,CAC7B,CACrB,CAAC;IAEF,SAAS,CAAC,WAAW,GAAG,qBAAqB,oBAAoB,GAAG,CAAC;IAErE,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAElD,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React from 'react';\nimport type { ComponentType, FC } from 'react';\n\nimport { unknownString } from '@grafana/faro-core';\n\nimport { FaroErrorBoundary } from './FaroErrorBoundary';\nimport type { FaroErrorBoundaryProps, ReactProps } from './types';\n\nexport function withFaroErrorBoundary<P extends ReactProps = {}>(\n WrappedComponent: ComponentType<P>,\n errorBoundaryProps: FaroErrorBoundaryProps\n): FC<P> {\n const componentDisplayName = WrappedComponent.displayName ?? WrappedComponent.name ?? unknownString;\n\n const Component: FC<P> = (wrappedComponentProps: P) => (\n <FaroErrorBoundary {...errorBoundaryProps}>\n <WrappedComponent {...wrappedComponentProps} />\n </FaroErrorBoundary>\n );\n\n Component.displayName = `faroErrorBoundary(${componentDisplayName})`;\n\n hoistNonReactStatics(Component, WrappedComponent);\n\n return Component;\n}\n"]}
package/dist/esm/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { FaroErrorBoundary, faroErrorBoundaryInitialState, withFaroErrorBoundary } from './errorBoundary';
2
2
  export { ReactIntegration } from './instrumentation';
3
3
  export { FaroProfiler, withFaroProfiler } from './profiler';
4
- export { FaroRoute, FaroRoutes, NavigationType, ReactRouterVersion, createReactRouterV4Options, createReactRouterV5Options, createReactRouterV6Options, createReactRouterV6DataOptions, setReactRouterV4V5SSRDependencies, setReactRouterV6SSRDependencies, withFaroRouterInstrumentation, } from './router';
4
+ export { FaroRoute, FaroRoutes, NavigationType, ReactRouterVersion, createReactRouterV4Options, createReactRouterV5Options, createReactRouterV6Options, createReactRouterV6DataOptions, createReactRouterV7Options, createReactRouterV7DataOptions, setReactRouterV4V5SSRDependencies, setReactRouterV6SSRDependencies, setReactRouterV7SSRDependencies, withFaroRouterInstrumentation, } from './router';
5
5
  export { getMajorReactVersion, isReactVersionAtLeast, isReactVersionAtLeast16, isReactVersionAtLeast17, isReactVersionAtLeast18, isReactVersionAtLeast19, reactVersion, reactVersionMajor, } from './utils';
6
6
  export { faro, allLogLevels, BaseExtension, BaseInstrumentation, BaseTransport, browserMeta, buildStackFrame, ConsoleInstrumentation, ConsoleTransport, createInternalLogger, createPromiseBuffer, createSession, deepEqual, defaultExceptionType, defaultEventDomain, defaultGlobalObjectKey, defaultInternalLoggerLevel, defaultLogLevel, ErrorsInstrumentation, FetchTransport, genShortID, getCurrentTimestamp, getDataFromSafariExtensions, getInternalFaroFromGlobalObject, getStackFramesFromError, getTransportBody, getWebInstrumentations, globalObject, initializeFaro, internalGlobalObjectKey, isArray, isBoolean, isDomError, isDomException, isElement, isElementDefined, isError, isErrorDefined, isErrorEvent, isEvent, isEventDefined, isFunction, isInstanceOf, isInt, isInternalFaroOnGlobalObject, isMap, isMapDefined, isNull, isNumber, isObject, isPrimitive, isRegExp, isString, isSymbol, isSyntheticEvent, isThenable, isToString, isTypeof, isUndefined, InternalLoggerLevel, LogLevel, makeCoreConfig, noop, parseStacktrace, setInternalFaroOnGlobalObject, TransportItemType, transportItemTypeToBodyKey, VERSION, ViewInstrumentation, WebVitalsInstrumentation, userActionDataAttribute, } from '@grafana/faro-web-sdk';
7
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAS1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,UAAU,CAAC;AA2BlB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,+BAA+B,EAC/B,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,OAAO,EACP,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,OAAO,EACP,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,EACL,4BAA4B,EAC5B,KAAK,EACL,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,eAAe,EACf,6BAA6B,EAC7B,iBAAiB,EACjB,0BAA0B,EAC1B,OAAO,EACP,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC","sourcesContent":["export { FaroErrorBoundary, faroErrorBoundaryInitialState, withFaroErrorBoundary } from './errorBoundary';\nexport type {\n FaroErrorBoundaryFallbackRender,\n FaroErrorBoundaryProps,\n FaroErrorBoundaryState,\n ReactNodeRender,\n ReactProps,\n} from './errorBoundary';\n\nexport { ReactIntegration } from './instrumentation';\n\nexport { FaroProfiler, withFaroProfiler } from './profiler';\nexport type { FaroProfilerProps } from './profiler';\n\nexport {\n FaroRoute,\n FaroRoutes,\n NavigationType,\n ReactRouterVersion,\n createReactRouterV4Options,\n createReactRouterV5Options,\n createReactRouterV6Options,\n createReactRouterV6DataOptions,\n setReactRouterV4V5SSRDependencies,\n setReactRouterV6SSRDependencies,\n withFaroRouterInstrumentation,\n} from './router';\nexport type {\n ReactRouterHistory,\n ReactRouterLocation,\n ReactRouterV4V5ActiveEvent,\n ReactRouterV4V5Dependencies,\n ReactRouterV4V5RouteShape,\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './router';\n\nexport type {\n ReactIntegrationConfig,\n ReactRouterV4V5Config,\n ReactRouterV6Config,\n ReactRouterV7Config,\n ReactRouterV7DataRouterConfig,\n} from './types';\n\nexport {\n getMajorReactVersion,\n isReactVersionAtLeast,\n isReactVersionAtLeast16,\n isReactVersionAtLeast17,\n isReactVersionAtLeast18,\n isReactVersionAtLeast19,\n reactVersion,\n reactVersionMajor,\n} from './utils';\n\nexport {\n faro,\n allLogLevels,\n BaseExtension,\n BaseInstrumentation,\n BaseTransport,\n browserMeta,\n buildStackFrame,\n ConsoleInstrumentation,\n ConsoleTransport,\n createInternalLogger,\n createPromiseBuffer,\n createSession,\n deepEqual,\n defaultExceptionType,\n defaultEventDomain,\n defaultGlobalObjectKey,\n defaultInternalLoggerLevel,\n defaultLogLevel,\n ErrorsInstrumentation,\n FetchTransport,\n genShortID,\n getCurrentTimestamp,\n getDataFromSafariExtensions,\n getInternalFaroFromGlobalObject,\n getStackFramesFromError,\n getTransportBody,\n getWebInstrumentations,\n globalObject,\n initializeFaro,\n internalGlobalObjectKey,\n isArray,\n isBoolean,\n isDomError,\n isDomException,\n isElement,\n isElementDefined,\n isError,\n isErrorDefined,\n isErrorEvent,\n isEvent,\n isEventDefined,\n isFunction,\n isInstanceOf,\n isInt,\n isInternalFaroOnGlobalObject,\n isMap,\n isMapDefined,\n isNull,\n isNumber,\n isObject,\n isPrimitive,\n isRegExp,\n isString,\n isSymbol,\n isSyntheticEvent,\n isThenable,\n isToString,\n isTypeof,\n isUndefined,\n InternalLoggerLevel,\n LogLevel,\n makeCoreConfig,\n noop,\n parseStacktrace,\n setInternalFaroOnGlobalObject,\n TransportItemType,\n transportItemTypeToBodyKey,\n VERSION,\n ViewInstrumentation,\n WebVitalsInstrumentation,\n userActionDataAttribute,\n} from '@grafana/faro-web-sdk';\n\nexport type {\n Faro,\n API,\n APIEvent,\n BaseObject,\n BaseObjectKey,\n BaseObjectPrimitiveValue,\n BaseObjectValue,\n BeforeSendHook,\n BrowserConfig,\n Config,\n ConsoleTransportOptions,\n ErrorEvent,\n EventAttributes,\n EventEvent,\n EventsAPI,\n ExceptionEvent,\n ExceptionStackFrame,\n ExceptionsAPI,\n ExtendedError,\n ExtendedPromiseRejectionEvent,\n Extension,\n FetchTransportOptions,\n FetchTransportRequestOptions,\n GlobalObject,\n Instrumentation,\n Instrumentations,\n InternalLogger,\n LogContext,\n LogEvent,\n LogsAPI,\n MeasurementEvent,\n MeasurementsAPI,\n Meta,\n MetaAPI,\n MetaApp,\n MetaAttributes,\n MetaBrowser,\n MetaGetter,\n MetaItem,\n MetaPage,\n Metas,\n MetaSDK,\n MetaSDKIntegration,\n MetaSession,\n MetaUser,\n MetaView,\n OTELApi,\n Patterns,\n PushErrorOptions,\n PushLogOptions,\n PushMeasurementOptions,\n Stacktrace,\n StacktraceParser,\n TraceContext,\n TraceEvent,\n TracesAPI,\n Transport,\n TransportBody,\n TransportItem,\n TransportItemPayload,\n Transports,\n UnpatchedConsole,\n ExceptionEventExtended,\n UserActionImportance,\n} from '@grafana/faro-web-sdk';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,6BAA6B,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAS1G,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG5D,OAAO,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,kBAAkB,EAClB,0BAA0B,EAC1B,0BAA0B,EAC1B,0BAA0B,EAC1B,8BAA8B,EAC9B,0BAA0B,EAC1B,8BAA8B,EAC9B,iCAAiC,EACjC,+BAA+B,EAC/B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,UAAU,CAAC;AA2BlB,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,YAAY,EACZ,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,IAAI,EACJ,YAAY,EACZ,aAAa,EACb,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,aAAa,EACb,SAAS,EACT,oBAAoB,EACpB,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,2BAA2B,EAC3B,+BAA+B,EAC/B,uBAAuB,EACvB,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,EACZ,cAAc,EACd,uBAAuB,EACvB,OAAO,EACP,SAAS,EACT,UAAU,EACV,cAAc,EACd,SAAS,EACT,gBAAgB,EAChB,OAAO,EACP,cAAc,EACd,YAAY,EACZ,OAAO,EACP,cAAc,EACd,UAAU,EACV,YAAY,EACZ,KAAK,EACL,4BAA4B,EAC5B,KAAK,EACL,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,QAAQ,EACR,cAAc,EACd,IAAI,EACJ,eAAe,EACf,6BAA6B,EAC7B,iBAAiB,EACjB,0BAA0B,EAC1B,OAAO,EACP,mBAAmB,EACnB,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,uBAAuB,CAAC","sourcesContent":["export { FaroErrorBoundary, faroErrorBoundaryInitialState, withFaroErrorBoundary } from './errorBoundary';\nexport type {\n FaroErrorBoundaryFallbackRender,\n FaroErrorBoundaryProps,\n FaroErrorBoundaryState,\n ReactNodeRender,\n ReactProps,\n} from './errorBoundary';\n\nexport { ReactIntegration } from './instrumentation';\n\nexport { FaroProfiler, withFaroProfiler } from './profiler';\nexport type { FaroProfilerProps } from './profiler';\n\nexport {\n FaroRoute,\n FaroRoutes,\n NavigationType,\n ReactRouterVersion,\n createReactRouterV4Options,\n createReactRouterV5Options,\n createReactRouterV6Options,\n createReactRouterV6DataOptions,\n createReactRouterV7Options,\n createReactRouterV7DataOptions,\n setReactRouterV4V5SSRDependencies,\n setReactRouterV6SSRDependencies,\n setReactRouterV7SSRDependencies,\n withFaroRouterInstrumentation,\n} from './router';\nexport type {\n ReactRouterHistory,\n ReactRouterLocation,\n ReactRouterV4V5ActiveEvent,\n ReactRouterV4V5Dependencies,\n ReactRouterV4V5RouteShape,\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n} from './router';\n\nexport type {\n ReactIntegrationConfig,\n ReactRouterV4V5Config,\n ReactRouterV6Config,\n ReactRouterV7Config,\n ReactRouterV7DataRouterConfig,\n} from './types';\n\nexport {\n getMajorReactVersion,\n isReactVersionAtLeast,\n isReactVersionAtLeast16,\n isReactVersionAtLeast17,\n isReactVersionAtLeast18,\n isReactVersionAtLeast19,\n reactVersion,\n reactVersionMajor,\n} from './utils';\n\nexport {\n faro,\n allLogLevels,\n BaseExtension,\n BaseInstrumentation,\n BaseTransport,\n browserMeta,\n buildStackFrame,\n ConsoleInstrumentation,\n ConsoleTransport,\n createInternalLogger,\n createPromiseBuffer,\n createSession,\n deepEqual,\n defaultExceptionType,\n defaultEventDomain,\n defaultGlobalObjectKey,\n defaultInternalLoggerLevel,\n defaultLogLevel,\n ErrorsInstrumentation,\n FetchTransport,\n genShortID,\n getCurrentTimestamp,\n getDataFromSafariExtensions,\n getInternalFaroFromGlobalObject,\n getStackFramesFromError,\n getTransportBody,\n getWebInstrumentations,\n globalObject,\n initializeFaro,\n internalGlobalObjectKey,\n isArray,\n isBoolean,\n isDomError,\n isDomException,\n isElement,\n isElementDefined,\n isError,\n isErrorDefined,\n isErrorEvent,\n isEvent,\n isEventDefined,\n isFunction,\n isInstanceOf,\n isInt,\n isInternalFaroOnGlobalObject,\n isMap,\n isMapDefined,\n isNull,\n isNumber,\n isObject,\n isPrimitive,\n isRegExp,\n isString,\n isSymbol,\n isSyntheticEvent,\n isThenable,\n isToString,\n isTypeof,\n isUndefined,\n InternalLoggerLevel,\n LogLevel,\n makeCoreConfig,\n noop,\n parseStacktrace,\n setInternalFaroOnGlobalObject,\n TransportItemType,\n transportItemTypeToBodyKey,\n VERSION,\n ViewInstrumentation,\n WebVitalsInstrumentation,\n userActionDataAttribute,\n} from '@grafana/faro-web-sdk';\n\nexport type {\n Faro,\n API,\n APIEvent,\n BaseObject,\n BaseObjectKey,\n BaseObjectPrimitiveValue,\n BaseObjectValue,\n BeforeSendHook,\n BrowserConfig,\n Config,\n ConsoleTransportOptions,\n ErrorEvent,\n EventAttributes,\n EventEvent,\n EventsAPI,\n ExceptionEvent,\n ExceptionStackFrame,\n ExceptionsAPI,\n ExtendedError,\n ExtendedPromiseRejectionEvent,\n Extension,\n FetchTransportOptions,\n FetchTransportRequestOptions,\n GlobalObject,\n Instrumentation,\n Instrumentations,\n InternalLogger,\n LogContext,\n LogEvent,\n LogsAPI,\n MeasurementEvent,\n MeasurementsAPI,\n Meta,\n MetaAPI,\n MetaApp,\n MetaAttributes,\n MetaBrowser,\n MetaGetter,\n MetaItem,\n MetaPage,\n Metas,\n MetaSDK,\n MetaSDKIntegration,\n MetaSession,\n MetaUser,\n MetaView,\n OTELApi,\n Patterns,\n PushErrorOptions,\n PushLogOptions,\n PushMeasurementOptions,\n Stacktrace,\n StacktraceParser,\n TraceContext,\n TraceEvent,\n TracesAPI,\n Transport,\n TransportBody,\n TransportItem,\n TransportItemPayload,\n Transports,\n UnpatchedConsole,\n ExceptionEventExtended,\n UserActionImportance,\n} from '@grafana/faro-web-sdk';\n"]}
@@ -1,4 +1,7 @@
1
- import { Component } from 'react';
1
+ // React is required in scope for JSX transformation with the classic transform
2
+ // @ts-expect-error - TS6133: React appears unused but is required for JSX
3
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
4
+ import React, { Component } from 'react';
2
5
  import { VERSION } from '@grafana/faro-web-sdk';
3
6
  import { api, internalLogger } from '../dependencies';
4
7
  export class FaroProfiler extends Component {
@@ -1 +1 @@
1
- {"version":3,"file":"FaroProfiler.js","sourceRoot":"","sources":["../../../src/profiler/FaroProfiler.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Attributes, Span, Tracer } from '@opentelemetry/api';\nimport { Component } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { VERSION } from '@grafana/faro-web-sdk';\nimport type { OTELApi } from '@grafana/faro-web-sdk';\n\nimport { api, internalLogger } from '../dependencies';\n\nexport interface FaroProfilerProps {\n children: ReactNode;\n name: string;\n updateProps: Record<string, unknown>;\n}\n\nexport class FaroProfiler extends Component<FaroProfilerProps> {\n protected mountSpan: Span | undefined = undefined;\n protected mountSpanEndTime: number | undefined = undefined;\n protected updateSpan: Span | undefined = undefined;\n\n private get isOtelInitialized(): boolean {\n return !!api?.isOTELInitialized();\n }\n\n private get otel(): OTELApi | undefined {\n return api?.getOTEL()!;\n }\n\n private get tracer(): Tracer {\n return this.otel?.trace.getTracer('@grafana/faro-react', VERSION)!;\n }\n\n private createSpan(\n spanName: string,\n options?: { startTime?: number; endTime?: number; attributes?: Attributes }\n ): Span {\n const span = this.tracer.startSpan(spanName, {\n startTime: options?.startTime,\n attributes: {\n 'react.component.name': this.props.name,\n ...(options?.attributes ?? {}),\n },\n });\n\n this.otel?.trace.setSpan(this.otel.context.active(), span);\n\n if (options?.endTime) {\n span.end(options.endTime);\n }\n\n return span;\n }\n\n private createChildSpan(\n spanName: string,\n parent: Span,\n options?: { startTime?: number; endTime?: number; attributes?: Attributes }\n ): Span {\n let span: Span;\n\n this.otel?.context.with(this.otel.trace.setSpan(this.otel.context.active(), parent), () => {\n span = this.createSpan(spanName, options);\n });\n\n return span!;\n }\n\n constructor(props: FaroProfilerProps) {\n super(props);\n\n if (this.isOtelInitialized) {\n this.mountSpan = this.createSpan('componentMount');\n } else {\n internalLogger?.error(\n 'The Faro React Profiler requires tracing instrumentation. Please enable it in the \"instrumentations\" section of your config.'\n );\n }\n }\n\n override componentDidMount(): void {\n if (this.isOtelInitialized && this.mountSpan) {\n this.mountSpanEndTime = Date.now();\n this.mountSpan.end(this.mountSpanEndTime);\n }\n }\n\n override shouldComponentUpdate({ updateProps }: FaroProfilerProps): boolean {\n if (this.isOtelInitialized && this.mountSpan && updateProps !== this.props.updateProps) {\n const changedProps = Object.keys(updateProps).filter((key) => updateProps[key] !== this.props.updateProps[key]);\n\n if (changedProps.length > 0) {\n this.updateSpan = this.createChildSpan('componentUpdate', this.mountSpan, {\n attributes: {\n 'react.component.changed_props': changedProps,\n },\n });\n }\n }\n\n return true;\n }\n\n override componentDidUpdate(): void {\n if (this.isOtelInitialized && this.updateSpan) {\n this.updateSpan.end();\n this.updateSpan = undefined;\n }\n }\n\n override componentWillUnmount(): void {\n if (this.isOtelInitialized && this.mountSpan) {\n this.createChildSpan('componentRender', this.mountSpan, {\n startTime: this.mountSpanEndTime,\n endTime: Date.now(),\n });\n }\n }\n\n override render(): ReactNode {\n return this.props.children;\n }\n}\n"]}
1
+ {"version":3,"file":"FaroProfiler.js","sourceRoot":"","sources":["../../../src/profiler/FaroProfiler.tsx"],"names":[],"mappings":"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","sourcesContent":["import type { Attributes, Span, Tracer } from '@opentelemetry/api';\n// React is required in scope for JSX transformation with the classic transform\n// @ts-expect-error - TS6133: React appears unused but is required for JSX\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport React, { Component } from 'react';\nimport type { ReactNode } from 'react';\n\nimport { VERSION } from '@grafana/faro-web-sdk';\nimport type { OTELApi } from '@grafana/faro-web-sdk';\n\nimport { api, internalLogger } from '../dependencies';\n\nexport interface FaroProfilerProps {\n children: ReactNode;\n name: string;\n updateProps: Record<string, unknown>;\n}\n\nexport class FaroProfiler extends Component<FaroProfilerProps> {\n protected mountSpan: Span | undefined = undefined;\n protected mountSpanEndTime: number | undefined = undefined;\n protected updateSpan: Span | undefined = undefined;\n\n private get isOtelInitialized(): boolean {\n return !!api?.isOTELInitialized();\n }\n\n private get otel(): OTELApi | undefined {\n return api?.getOTEL()!;\n }\n\n private get tracer(): Tracer {\n return this.otel?.trace.getTracer('@grafana/faro-react', VERSION)!;\n }\n\n private createSpan(\n spanName: string,\n options?: { startTime?: number; endTime?: number; attributes?: Attributes }\n ): Span {\n const span = this.tracer.startSpan(spanName, {\n startTime: options?.startTime,\n attributes: {\n 'react.component.name': this.props.name,\n ...(options?.attributes ?? {}),\n },\n });\n\n this.otel?.trace.setSpan(this.otel.context.active(), span);\n\n if (options?.endTime) {\n span.end(options.endTime);\n }\n\n return span;\n }\n\n private createChildSpan(\n spanName: string,\n parent: Span,\n options?: { startTime?: number; endTime?: number; attributes?: Attributes }\n ): Span {\n let span: Span;\n\n this.otel?.context.with(this.otel.trace.setSpan(this.otel.context.active(), parent), () => {\n span = this.createSpan(spanName, options);\n });\n\n return span!;\n }\n\n constructor(props: FaroProfilerProps) {\n super(props);\n\n if (this.isOtelInitialized) {\n this.mountSpan = this.createSpan('componentMount');\n } else {\n internalLogger?.error(\n 'The Faro React Profiler requires tracing instrumentation. Please enable it in the \"instrumentations\" section of your config.'\n );\n }\n }\n\n override componentDidMount(): void {\n if (this.isOtelInitialized && this.mountSpan) {\n this.mountSpanEndTime = Date.now();\n this.mountSpan.end(this.mountSpanEndTime);\n }\n }\n\n override shouldComponentUpdate({ updateProps }: FaroProfilerProps): boolean {\n if (this.isOtelInitialized && this.mountSpan && updateProps !== this.props.updateProps) {\n const changedProps = Object.keys(updateProps).filter((key) => updateProps[key] !== this.props.updateProps[key]);\n\n if (changedProps.length > 0) {\n this.updateSpan = this.createChildSpan('componentUpdate', this.mountSpan, {\n attributes: {\n 'react.component.changed_props': changedProps,\n },\n });\n }\n }\n\n return true;\n }\n\n override componentDidUpdate(): void {\n if (this.isOtelInitialized && this.updateSpan) {\n this.updateSpan.end();\n this.updateSpan = undefined;\n }\n }\n\n override componentWillUnmount(): void {\n if (this.isOtelInitialized && this.mountSpan) {\n this.createChildSpan('componentRender', this.mountSpan, {\n startTime: this.mountSpanEndTime,\n endTime: Date.now(),\n });\n }\n }\n\n override render(): ReactNode {\n return this.props.children;\n }\n}\n"]}
@@ -1,11 +1,12 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
1
  import hoistNonReactStatics from 'hoist-non-react-statics';
2
+ import React from 'react';
3
3
  import { unknownString } from '@grafana/faro-core';
4
4
  import { FaroProfiler } from './FaroProfiler';
5
5
  export function withFaroProfiler(WrappedComponent, options) {
6
6
  var _a, _b, _c;
7
7
  const componentDisplayName = (_c = (_b = (_a = options === null || options === void 0 ? void 0 : options.name) !== null && _a !== void 0 ? _a : WrappedComponent.displayName) !== null && _b !== void 0 ? _b : WrappedComponent.name) !== null && _c !== void 0 ? _c : unknownString;
8
- const Component = (props) => (_jsx(FaroProfiler, { name: componentDisplayName, updateProps: props, children: _jsx(WrappedComponent, Object.assign({}, props)) }));
8
+ const Component = (props) => (React.createElement(FaroProfiler, { name: componentDisplayName, updateProps: props },
9
+ React.createElement(WrappedComponent, Object.assign({}, props))));
9
10
  Component.displayName = `faroProfiler(${componentDisplayName})`;
10
11
  hoistNonReactStatics(Component, WrappedComponent);
11
12
  return Component;
@@ -1 +1 @@
1
- {"version":3,"file":"withFaroProfiler.js","sourceRoot":"","sources":["../../../src/profiler/withFaroProfiler.tsx"],"names":[],"mappings":";AAAA,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,UAAU,gBAAgB,CAC9B,gBAAkC,EAClC,OAAgD;;IAEhD,MAAM,oBAAoB,GAAG,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,gBAAgB,CAAC,WAAW,mCAAI,gBAAgB,CAAC,IAAI,mCAAI,aAAa,CAAC;IAErH,MAAM,SAAS,GAAU,CAAC,KAAQ,EAAE,EAAE,CAAC,CACrC,KAAC,YAAY,IAAC,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,KAAK,YAC1D,KAAC,gBAAgB,oBAAK,KAAK,EAAI,GAClB,CAChB,CAAC;IAEF,SAAS,CAAC,WAAW,GAAG,gBAAgB,oBAAoB,GAAG,CAAC;IAEhE,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAElD,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport type { ComponentType, FC } from 'react';\n\nimport { unknownString } from '@grafana/faro-core';\n\nimport { FaroProfiler } from './FaroProfiler';\nimport type { FaroProfilerProps } from './FaroProfiler';\n\nexport function withFaroProfiler<P extends Record<string, any>>(\n WrappedComponent: ComponentType<P>,\n options?: Omit<FaroProfilerProps, 'updateProps'>\n): FC<P> {\n const componentDisplayName = options?.name ?? WrappedComponent.displayName ?? WrappedComponent.name ?? unknownString;\n\n const Component: FC<P> = (props: P) => (\n <FaroProfiler name={componentDisplayName} updateProps={props}>\n <WrappedComponent {...props} />\n </FaroProfiler>\n );\n\n Component.displayName = `faroProfiler(${componentDisplayName})`;\n\n hoistNonReactStatics(Component, WrappedComponent);\n\n return Component;\n}\n"]}
1
+ {"version":3,"file":"withFaroProfiler.js","sourceRoot":"","sources":["../../../src/profiler/withFaroProfiler.tsx"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAC3D,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,MAAM,UAAU,gBAAgB,CAC9B,gBAAkC,EAClC,OAAgD;;IAEhD,MAAM,oBAAoB,GAAG,MAAA,MAAA,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,mCAAI,gBAAgB,CAAC,WAAW,mCAAI,gBAAgB,CAAC,IAAI,mCAAI,aAAa,CAAC;IAErH,MAAM,SAAS,GAAU,CAAC,KAAQ,EAAE,EAAE,CAAC,CACrC,oBAAC,YAAY,IAAC,IAAI,EAAE,oBAAoB,EAAE,WAAW,EAAE,KAAK;QAC1D,oBAAC,gBAAgB,oBAAK,KAAK,EAAI,CAClB,CAChB,CAAC;IAEF,SAAS,CAAC,WAAW,GAAG,gBAAgB,oBAAoB,GAAG,CAAC;IAEhE,oBAAoB,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;IAElD,OAAO,SAAS,CAAC;AACnB,CAAC","sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\nimport React from 'react';\nimport type { ComponentType, FC } from 'react';\n\nimport { unknownString } from '@grafana/faro-core';\n\nimport { FaroProfiler } from './FaroProfiler';\nimport type { FaroProfilerProps } from './FaroProfiler';\n\nexport function withFaroProfiler<P extends Record<string, any>>(\n WrappedComponent: ComponentType<P>,\n options?: Omit<FaroProfilerProps, 'updateProps'>\n): FC<P> {\n const componentDisplayName = options?.name ?? WrappedComponent.displayName ?? WrappedComponent.name ?? unknownString;\n\n const Component: FC<P> = (props: P) => (\n <FaroProfiler name={componentDisplayName} updateProps={props}>\n <WrappedComponent {...props} />\n </FaroProfiler>\n );\n\n Component.displayName = `faroProfiler(${componentDisplayName})`;\n\n hoistNonReactStatics(Component, WrappedComponent);\n\n return Component;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  export { initializeReactRouterInstrumentation } from './initialize';
2
2
  export { NavigationType, ReactRouterVersion } from './types';
3
3
  export { FaroRoute, createReactRouterV4Options, createReactRouterV5Options, setReactRouterV4V5SSRDependencies, } from './v4v5';
4
- export { FaroRoutes, createReactRouterV6Options, createReactRouterV6DataOptions, setReactRouterV6SSRDependencies, withFaroRouterInstrumentation, } from './v6';
4
+ export { FaroRoutes, createReactRouterV6Options, createReactRouterV6DataOptions, setReactRouterV6SSRDependencies, setReactRouterV7SSRDependencies, withFaroRouterInstrumentation, createReactRouterV7Options, createReactRouterV7DataOptions, } from './v6v7';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7D,OAAO,EACL,SAAS,EACT,0BAA0B,EAC1B,0BAA0B,EAC1B,iCAAiC,GAClC,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,6BAA6B,GAC9B,MAAM,MAAM,CAAC","sourcesContent":["export { initializeReactRouterInstrumentation } from './initialize';\n\nexport { NavigationType, ReactRouterVersion } from './types';\nexport type { ReactRouterLocation, ReactRouterHistory } from './types';\n\nexport {\n FaroRoute,\n createReactRouterV4Options,\n createReactRouterV5Options,\n setReactRouterV4V5SSRDependencies,\n} from './v4v5';\nexport type { ReactRouterV4V5ActiveEvent, ReactRouterV4V5Dependencies, ReactRouterV4V5RouteShape } from './v4v5';\n\nexport {\n FaroRoutes,\n createReactRouterV6Options,\n createReactRouterV6DataOptions,\n setReactRouterV6SSRDependencies,\n withFaroRouterInstrumentation,\n} from './v6';\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n ReactRouterV6DataRouterDependencies,\n} from './v6';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/router/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oCAAoC,EAAE,MAAM,cAAc,CAAC;AAEpE,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAG7D,OAAO,EACL,SAAS,EACT,0BAA0B,EAC1B,0BAA0B,EAC1B,iCAAiC,GAClC,MAAM,QAAQ,CAAC;AAGhB,OAAO,EACL,UAAU,EACV,0BAA0B,EAC1B,8BAA8B,EAC9B,+BAA+B,EAC/B,+BAA+B,EAC/B,6BAA6B,EAC7B,0BAA0B,EAC1B,8BAA8B,GAC/B,MAAM,QAAQ,CAAC","sourcesContent":["export { initializeReactRouterInstrumentation } from './initialize';\n\nexport { NavigationType, ReactRouterVersion } from './types';\nexport type { ReactRouterLocation, ReactRouterHistory } from './types';\n\nexport {\n FaroRoute,\n createReactRouterV4Options,\n createReactRouterV5Options,\n setReactRouterV4V5SSRDependencies,\n} from './v4v5';\nexport type { ReactRouterV4V5ActiveEvent, ReactRouterV4V5Dependencies, ReactRouterV4V5RouteShape } from './v4v5';\n\nexport {\n FaroRoutes,\n createReactRouterV6Options,\n createReactRouterV6DataOptions,\n setReactRouterV6SSRDependencies,\n setReactRouterV7SSRDependencies,\n withFaroRouterInstrumentation,\n createReactRouterV7Options,\n createReactRouterV7DataOptions,\n} from './v6v7';\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n ReactRouterV6DataRouterDependencies,\n} from './v6v7';\n"]}
@@ -1,7 +1,7 @@
1
1
  import { internalLogger } from '../dependencies';
2
2
  import { ReactRouterVersion } from './types';
3
3
  import { initializeReactRouterV4V5Instrumentation } from './v4v5';
4
- import { initializeReactRouterV6DataRouterInstrumentation, initializeReactRouterV6Instrumentation } from './v6';
4
+ import { initializeReactRouterV6DataRouterInstrumentation, initializeReactRouterV6Instrumentation } from './v6v7';
5
5
  export function initializeReactRouterInstrumentation(options) {
6
6
  var _a;
7
7
  const initMessage = 'Initializing React Router';
@@ -1 +1 @@
1
- {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/router/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,wCAAwC,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,gDAAgD,EAAE,sCAAsC,EAAE,MAAM,MAAM,CAAC;AAEhH,MAAM,UAAU,oCAAoC,CAAC,OAA+B;;IAClF,MAAM,WAAW,GAAG,2BAA2B,CAAC;IAEhD,QAAQ,MAAA,OAAO,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAC;QAChC,KAAK,kBAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,kBAAkB,CAAC,EAAE;YACxB,cAAc,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;YACjF,sCAAsC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM;QAER,KAAK,kBAAkB,CAAC,cAAc,CAAC;QACvC,KAAK,kBAAkB,CAAC,cAAc;YACpC,cAAc,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;YAC7F,gDAAgD,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9E,MAAM;QAER,KAAK,kBAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,kBAAkB,CAAC,EAAE;YACxB,cAAc,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;YACjF,wCAAwC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM;QAER;YACE,cAAc,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACpF,CAAC;AACH,CAAC","sourcesContent":["import { internalLogger } from '../dependencies';\nimport type { ReactIntegrationConfig } from '../types';\n\nimport { ReactRouterVersion } from './types';\nimport { initializeReactRouterV4V5Instrumentation } from './v4v5';\nimport { initializeReactRouterV6DataRouterInstrumentation, initializeReactRouterV6Instrumentation } from './v6';\n\nexport function initializeReactRouterInstrumentation(options: ReactIntegrationConfig): void {\n const initMessage = 'Initializing React Router';\n\n switch (options.router?.version) {\n case ReactRouterVersion.V7:\n case ReactRouterVersion.V6:\n internalLogger.debug(`${initMessage} ${options.router.version} instrumentation`);\n initializeReactRouterV6Instrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V7_data_router:\n case ReactRouterVersion.V6_data_router:\n internalLogger.debug(`${initMessage} ${options.router.version} data router instrumentation`);\n initializeReactRouterV6DataRouterInstrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V5:\n case ReactRouterVersion.V4:\n internalLogger.debug(`${initMessage} ${options.router.version} instrumentation`);\n initializeReactRouterV4V5Instrumentation(options.router.dependencies);\n break;\n\n default:\n internalLogger.debug('Skipping initialization of React Router instrumentation');\n }\n}\n"]}
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../src/router/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,EAAE,wCAAwC,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,gDAAgD,EAAE,sCAAsC,EAAE,MAAM,QAAQ,CAAC;AAElH,MAAM,UAAU,oCAAoC,CAAC,OAA+B;;IAClF,MAAM,WAAW,GAAG,2BAA2B,CAAC;IAEhD,QAAQ,MAAA,OAAO,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAC;QAChC,KAAK,kBAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,kBAAkB,CAAC,EAAE;YACxB,cAAc,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;YACjF,sCAAsC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM;QAER,KAAK,kBAAkB,CAAC,cAAc,CAAC;QACvC,KAAK,kBAAkB,CAAC,cAAc;YACpC,cAAc,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,8BAA8B,CAAC,CAAC;YAC7F,gDAAgD,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YAC9E,MAAM;QAER,KAAK,kBAAkB,CAAC,EAAE,CAAC;QAC3B,KAAK,kBAAkB,CAAC,EAAE;YACxB,cAAc,CAAC,KAAK,CAAC,GAAG,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC,OAAO,kBAAkB,CAAC,CAAC;YACjF,wCAAwC,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;YACtE,MAAM;QAER;YACE,cAAc,CAAC,KAAK,CAAC,yDAAyD,CAAC,CAAC;IACpF,CAAC;AACH,CAAC","sourcesContent":["import { internalLogger } from '../dependencies';\nimport type { ReactIntegrationConfig } from '../types';\n\nimport { ReactRouterVersion } from './types';\nimport { initializeReactRouterV4V5Instrumentation } from './v4v5';\nimport { initializeReactRouterV6DataRouterInstrumentation, initializeReactRouterV6Instrumentation } from './v6v7';\n\nexport function initializeReactRouterInstrumentation(options: ReactIntegrationConfig): void {\n const initMessage = 'Initializing React Router';\n\n switch (options.router?.version) {\n case ReactRouterVersion.V7:\n case ReactRouterVersion.V6:\n internalLogger.debug(`${initMessage} ${options.router.version} instrumentation`);\n initializeReactRouterV6Instrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V7_data_router:\n case ReactRouterVersion.V6_data_router:\n internalLogger.debug(`${initMessage} ${options.router.version} data router instrumentation`);\n initializeReactRouterV6DataRouterInstrumentation(options.router.dependencies);\n break;\n\n case ReactRouterVersion.V5:\n case ReactRouterVersion.V4:\n internalLogger.debug(`${initMessage} ${options.router.version} instrumentation`);\n initializeReactRouterV4V5Instrumentation(options.router.dependencies);\n break;\n\n default:\n internalLogger.debug('Skipping initialization of React Router instrumentation');\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import React from 'react';
2
2
  import { setActiveEventRoute } from './activeEvent';
3
3
  import { Route } from './routerDependencies';
4
4
  export function FaroRoute(props) {
@@ -6,6 +6,6 @@ export function FaroRoute(props) {
6
6
  if ((_a = props === null || props === void 0 ? void 0 : props.computedMatch) === null || _a === void 0 ? void 0 : _a.isExact) {
7
7
  setActiveEventRoute(props.computedMatch.path);
8
8
  }
9
- return _jsx(Route, Object.assign({}, props));
9
+ return React.createElement(Route, Object.assign({}, props));
10
10
  }
11
11
  //# sourceMappingURL=FaroRoute.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FaroRoute.js","sourceRoot":"","sources":["../../../../src/router/v4v5/FaroRoute.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C,MAAM,UAAU,SAAS,CAAC,KAAgC;;IACxD,IAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,0CAAE,OAAO,EAAE,CAAC;QAClC,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,KAAC,KAAK,oBAAK,KAAK,EAAI,CAAC;AAC9B,CAAC","sourcesContent":["import { setActiveEventRoute } from './activeEvent';\nimport { Route } from './routerDependencies';\nimport type { ReactRouterV4V5RouteProps } from './types';\n\nexport function FaroRoute(props: ReactRouterV4V5RouteProps) {\n if (props?.computedMatch?.isExact) {\n setActiveEventRoute(props.computedMatch.path);\n }\n\n return <Route {...props} />;\n}\n"]}
1
+ {"version":3,"file":"FaroRoute.js","sourceRoot":"","sources":["../../../../src/router/v4v5/FaroRoute.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAG7C,MAAM,UAAU,SAAS,CAAC,KAAgC;;IACxD,IAAI,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,aAAa,0CAAE,OAAO,EAAE,CAAC;QAClC,mBAAmB,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAED,OAAO,oBAAC,KAAK,oBAAK,KAAK,EAAI,CAAC;AAC9B,CAAC","sourcesContent":["import React from 'react';\n\nimport { setActiveEventRoute } from './activeEvent';\nimport { Route } from './routerDependencies';\nimport type { ReactRouterV4V5RouteProps } from './types';\n\nexport function FaroRoute(props: ReactRouterV4V5RouteProps) {\n if (props?.computedMatch?.isExact) {\n setActiveEventRoute(props.computedMatch.path);\n }\n\n return <Route {...props} />;\n}\n"]}
@@ -1,5 +1,4 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
2
- import { useEffect, useMemo, useRef } from 'react';
1
+ import React, { useEffect, useMemo, useRef } from 'react';
3
2
  import { EVENT_ROUTE_CHANGE, globalObject } from '@grafana/faro-web-sdk';
4
3
  import { api } from '../../dependencies';
5
4
  import { NavigationType } from '../types';
@@ -24,6 +23,6 @@ export function FaroRoutes(props) {
24
23
  }
25
24
  }, [location, navigationType, routes]);
26
25
  const ActualRoutes = (_a = props.routesComponent) !== null && _a !== void 0 ? _a : Routes;
27
- return _jsx(ActualRoutes, Object.assign({}, props));
26
+ return React.createElement(ActualRoutes, Object.assign({}, props));
28
27
  }
29
28
  //# sourceMappingURL=FaroRoutes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FaroRoutes.js","sourceRoot":"","sources":["../../../../src/router/v6v7/FaroRoutes.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE1D,OAAO,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEvH,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,UAAU,UAAU,CAAC,KAA+B;;IACxD,MAAM,QAAQ,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,EAAI,CAAC;IACjC,MAAM,cAAc,GAAG,iBAAiB,aAAjB,iBAAiB,uBAAjB,iBAAiB,EAAI,CAAC;IAE7C,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE,WAAC,OAAA,MAAA,wBAAwB,aAAxB,wBAAwB,uBAAxB,wBAAwB,CAAG,KAAK,CAAC,QAAQ,CAAC,mCAAI,EAAE,CAAA,EAAA,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IAEjG,MAAM,YAAY,GAAG,MAAM,CAAiC,EAAE,CAAC,CAAC;IAEhE,SAAS,CAAC,GAAG,EAAE;;QACb,IAAI,aAAa,IAAI,CAAC,cAAc,KAAK,cAAc,CAAC,IAAI,IAAI,cAAc,KAAK,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC;YACvG,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YACrD,MAAM,GAAG,GAAG,MAAA,YAAY,CAAC,QAAQ,0CAAE,IAAI,CAAC;YAExC,GAAG,CAAC,SAAS,CAAC,kBAAkB,kBAC9B,OAAO,EAAE,KAAK,EACd,KAAK,EAAE,MAAA,YAAY,CAAC,QAAQ,0CAAE,IAAI,IAC/B,YAAY,CAAC,OAAO,EACvB,CAAC;YAEH,YAAY,CAAC,OAAO,GAAG;gBACrB,SAAS,EAAE,KAAK;gBAChB,OAAO,EAAE,GAAG;aACb,CAAC;QACJ,CAAC;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC,CAAC;IAEvC,MAAM,YAAY,GAAG,MAAA,KAAK,CAAC,eAAe,mCAAI,MAAM,CAAC;IAErD,OAAO,oBAAC,YAAY,oBAAK,KAAK,EAAI,CAAC;AACrC,CAAC","sourcesContent":["import React, { useEffect, useMemo, useRef } from 'react';\n\nimport { EVENT_ROUTE_CHANGE, globalObject } from '@grafana/faro-web-sdk';\n\nimport { api } from '../../dependencies';\nimport { NavigationType } from '../types';\n\nimport { createRoutesFromChildren, isInitialized, Routes, useLocation, useNavigationType } from './routerDependencies';\nimport type { EventRouteTransitionAttributes, ReactRouterV6RoutesProps } from './types';\nimport { getRouteFromLocation } from './utils';\n\nexport function FaroRoutes(props: ReactRouterV6RoutesProps) {\n const location = useLocation?.();\n const navigationType = useNavigationType?.();\n\n const routes = useMemo(() => createRoutesFromChildren?.(props.children) ?? [], [props.children]);\n\n const lastRouteRef = useRef<EventRouteTransitionAttributes>({});\n\n useEffect(() => {\n if (isInitialized && (navigationType === NavigationType.Push || navigationType === NavigationType.Pop)) {\n const route = getRouteFromLocation(routes, location);\n const url = globalObject.location?.href;\n\n api.pushEvent(EVENT_ROUTE_CHANGE, {\n toRoute: route,\n toUrl: globalObject.location?.href,\n ...lastRouteRef.current,\n });\n\n lastRouteRef.current = {\n fromRoute: route,\n fromUrl: url,\n };\n }\n }, [location, navigationType, routes]);\n\n const ActualRoutes = props.routesComponent ?? Routes;\n\n return <ActualRoutes {...props} />;\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  export { FaroRoutes } from './FaroRoutes';
2
- export { createReactRouterV6Options, createReactRouterV6DataOptions, initializeReactRouterV6Instrumentation, initializeReactRouterV6DataRouterInstrumentation, } from './initialize';
3
- export { setReactRouterV6SSRDependencies } from './routerDependencies';
2
+ export { createReactRouterV6Options, createReactRouterV6DataOptions, initializeReactRouterV6Instrumentation, initializeReactRouterV6DataRouterInstrumentation, createReactRouterV7DataOptions, createReactRouterV7Options, } from './initialize';
3
+ export { setReactRouterV6SSRDependencies, setReactRouterV7SSRDependencies } from './routerDependencies';
4
4
  export { withFaroRouterInstrumentation } from './withFaroRouterInstrumentation';
5
5
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/router/v6v7/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE1C,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,sCAAsC,EACtC,gDAAgD,EAChD,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,+BAA+B,EAAE,+BAA+B,EAAE,MAAM,sBAAsB,CAAC;AAExG,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC","sourcesContent":["export { FaroRoutes } from './FaroRoutes';\n\nexport {\n createReactRouterV6Options,\n createReactRouterV6DataOptions,\n initializeReactRouterV6Instrumentation,\n initializeReactRouterV6DataRouterInstrumentation,\n createReactRouterV7DataOptions,\n createReactRouterV7Options,\n} from './initialize';\n\nexport { setReactRouterV6SSRDependencies, setReactRouterV7SSRDependencies } from './routerDependencies';\n\nexport { withFaroRouterInstrumentation } from './withFaroRouterInstrumentation';\n\nexport type {\n ReactRouterV6CreateRoutesFromChildren,\n ReactRouterV6Dependencies,\n ReactRouterV6MatchRoutes,\n ReactRouterV6Params,\n ReactRouterV6RouteMatch,\n ReactRouterV6RouteObject,\n ReactRouterV6RoutesProps,\n ReactRouterV6RoutesShape,\n ReactRouterV6UseLocation,\n ReactRouterV6UseNavigationType,\n ReactRouterV6DataRouterDependencies,\n} from './types';\n"]}
@@ -21,4 +21,16 @@ export function createReactRouterV6DataOptions(dependencies) {
21
21
  dependencies,
22
22
  };
23
23
  }
24
+ export function createReactRouterV7Options(dependencies) {
25
+ return {
26
+ version: ReactRouterVersion.V7,
27
+ dependencies,
28
+ };
29
+ }
30
+ export function createReactRouterV7DataOptions(dependencies) {
31
+ return {
32
+ version: ReactRouterVersion.V7_data_router,
33
+ dependencies,
34
+ };
35
+ }
24
36
  //# sourceMappingURL=initialize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initialize.js","sourceRoot":"","sources":["../../../../src/router/v6v7/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAQ3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAC;AAE9C,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EACL,sCAAsC,IAAI,sCAAsC,EAChF,4BAA4B,GAC7B,MAAM,sBAAsB,CAAC;AAG9B,MAAM,UAAU,sCAAsC,CAAC,YAAuC;IAC5F,oBAAoB,CAAC,UAAU,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;IACtD,4BAA4B,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,YAAuC;IAChF,OAAO;QACL,OAAO,EAAE,kBAAkB,CAAC,EAAE;QAC9B,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gDAAgD,CAC9D,YAAiD;IAEjD,sCAAsC,CAAC,YAAY,CAAC,CAAC;AACvD,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,YAAiD;IAEjD,OAAO;QACL,OAAO,EAAE,kBAAkB,CAAC,cAAc;QAC1C,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,YAAuC;IAChF,OAAO;QACL,OAAO,EAAE,kBAAkB,CAAC,EAAE;QAC9B,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAC5C,YAAiD;IAEjD,OAAO;QACL,OAAO,EAAE,kBAAkB,CAAC,cAAc;QAC1C,YAAY;KACb,CAAC;AACJ,CAAC","sourcesContent":["import hoistNonReactStatics from 'hoist-non-react-statics';\n\nimport type {\n ReactRouterV6Config,\n ReactRouterV6DataRouterConfig,\n ReactRouterV7Config,\n ReactRouterV7DataRouterConfig,\n} from '../../types';\nimport { ReactRouterVersion } from '../types';\n\nimport { FaroRoutes } from './FaroRoutes';\nimport {\n setReactRouterV6DataRouterDependencies as setReactRouterV6DataRouterDependencies,\n setReactRouterV6Dependencies,\n} from './routerDependencies';\nimport type { ReactRouterV6DataRouterDependencies, ReactRouterV6Dependencies } from './types';\n\nexport function initializeReactRouterV6Instrumentation(dependencies: ReactRouterV6Dependencies): void {\n hoistNonReactStatics(FaroRoutes, dependencies.Routes);\n setReactRouterV6Dependencies(dependencies);\n}\n\nexport function createReactRouterV6Options(dependencies: ReactRouterV6Dependencies): ReactRouterV6Config {\n return {\n version: ReactRouterVersion.V6,\n dependencies,\n };\n}\n\nexport function initializeReactRouterV6DataRouterInstrumentation(\n dependencies: ReactRouterV6DataRouterDependencies\n): void {\n setReactRouterV6DataRouterDependencies(dependencies);\n}\n\nexport function createReactRouterV6DataOptions(\n dependencies: ReactRouterV6DataRouterDependencies\n): ReactRouterV6DataRouterConfig {\n return {\n version: ReactRouterVersion.V6_data_router,\n dependencies,\n };\n}\n\nexport function createReactRouterV7Options(dependencies: ReactRouterV6Dependencies): ReactRouterV7Config {\n return {\n version: ReactRouterVersion.V7,\n dependencies,\n };\n}\n\nexport function createReactRouterV7DataOptions(\n dependencies: ReactRouterV6DataRouterDependencies\n): ReactRouterV7DataRouterConfig {\n return {\n version: ReactRouterVersion.V7_data_router,\n dependencies,\n };\n}\n"]}
@@ -19,4 +19,7 @@ export function setReactRouterV6DataRouterDependencies(newDependencies) {
19
19
  isInitialized = true;
20
20
  matchRoutes = newDependencies.matchRoutes;
21
21
  }
22
+ export function setReactRouterV7SSRDependencies(newDependencies) {
23
+ Routes = newDependencies.Routes;
24
+ }
22
25
  //# sourceMappingURL=routerDependencies.js.map