@envive-ai/react-hooks 0.3.63 → 0.3.65

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 (112) hide show
  1. package/dist/application/models/featureGates.cjs +2 -2
  2. package/dist/application/models/featureGates.d.cts +2 -2
  3. package/dist/application/models/featureGates.d.ts +2 -2
  4. package/dist/application/models/featureGates.js +2 -2
  5. package/dist/application/utils/elementObserver.d.cts +2 -2
  6. package/dist/atoms/app/index.d.cts +7 -7
  7. package/dist/atoms/app/index.d.ts +1 -1
  8. package/dist/atoms/app/variant.d.ts +6 -6
  9. package/dist/atoms/chat/chatState.d.cts +19 -19
  10. package/dist/atoms/chat/chatState.d.ts +19 -19
  11. package/dist/atoms/chat/form.d.cts +2 -2
  12. package/dist/atoms/chat/form.d.ts +3 -3
  13. package/dist/atoms/chat/index.d.ts +3 -3
  14. package/dist/atoms/chat/lastMessage.d.cts +2 -2
  15. package/dist/atoms/chat/lastMessage.d.ts +2 -2
  16. package/dist/atoms/chat/messageQueue.d.ts +7 -7
  17. package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
  18. package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
  19. package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
  20. package/dist/atoms/chat/renderedWidgetRefs.d.ts +3 -3
  21. package/dist/atoms/chat/replies.d.cts +3 -3
  22. package/dist/atoms/chat/suggestions.d.ts +3 -3
  23. package/dist/atoms/envive/enviveConfig.d.cts +14 -14
  24. package/dist/atoms/globalSearch/globalSearch.d.cts +5 -5
  25. package/dist/atoms/org/customerService.d.cts +6 -6
  26. package/dist/atoms/org/customerService.d.ts +6 -6
  27. package/dist/atoms/org/graphqlConfig.d.cts +4 -4
  28. package/dist/atoms/org/graphqlConfig.d.ts +4 -4
  29. package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
  30. package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
  31. package/dist/atoms/org/orgAnalyticsConfig.d.cts +4 -4
  32. package/dist/atoms/org/orgAnalyticsConfig.d.ts +4 -4
  33. package/dist/atoms/search/types.d.cts +1 -1
  34. package/dist/atoms/search/utils.d.cts +1 -1
  35. package/dist/atoms/widget/chatPreviewLoading.d.cts +2 -2
  36. package/dist/atoms/widget/chatPreviewLoading.d.ts +2 -2
  37. package/dist/contexts/pageContext/pageContext.cjs +12 -24
  38. package/dist/contexts/pageContext/pageContext.js +12 -24
  39. package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
  40. package/dist/contexts/types.d.cts +1 -1
  41. package/dist/contexts/types.d.ts +1 -1
  42. package/dist/contexts/typesV3.cjs +8 -1
  43. package/dist/contexts/typesV3.d.cts +23 -6
  44. package/dist/contexts/typesV3.d.ts +23 -6
  45. package/dist/contexts/typesV3.js +8 -2
  46. package/dist/hooks/Intersection/useIntersection.cjs +9 -2
  47. package/dist/hooks/Intersection/useIntersection.d.cts +2 -2
  48. package/dist/hooks/Intersection/useIntersection.d.ts +2 -2
  49. package/dist/hooks/Intersection/useIntersection.js +9 -2
  50. package/dist/hooks/SystemSettingsContext/useSystemSettingsContext.d.cts +2 -2
  51. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +12 -3
  52. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +2 -1
  53. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +2 -1
  54. package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +13 -4
  55. package/dist/hooks/WidgetLoadDiagnostics/index.cjs +4 -0
  56. package/dist/hooks/WidgetLoadDiagnostics/index.d.cts +2 -0
  57. package/dist/hooks/WidgetLoadDiagnostics/index.d.ts +2 -0
  58. package/dist/hooks/WidgetLoadDiagnostics/index.js +3 -0
  59. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.cjs +122 -0
  60. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.d.cts +48 -0
  61. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.d.ts +48 -0
  62. package/dist/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.js +120 -0
  63. package/dist/hooks/utils.d.cts +1 -1
  64. package/dist/hooks/utils.d.ts +1 -1
  65. package/dist/services/amplitudeService/eventNames.cjs +2 -1
  66. package/dist/services/amplitudeService/eventNames.d.cts +2 -1
  67. package/dist/services/amplitudeService/eventNames.d.ts +2 -1
  68. package/dist/services/amplitudeService/eventNames.js +2 -1
  69. package/dist/services/enviveConfigService/enviveConfigService.cjs +21 -35
  70. package/dist/services/enviveConfigService/enviveConfigService.d.cts +1 -2
  71. package/dist/services/enviveConfigService/enviveConfigService.d.ts +1 -2
  72. package/dist/services/enviveConfigService/enviveConfigService.js +21 -35
  73. package/dist/services/enviveConfigService/fetchBootstrapConfig.cjs +15 -16
  74. package/dist/services/enviveConfigService/fetchBootstrapConfig.js +15 -16
  75. package/dist/services/enviveConfigService/fetchGraphQLConfig.cjs +1 -69
  76. package/dist/services/enviveConfigService/fetchGraphQLConfig.js +2 -69
  77. package/dist/services/featureFlagService/index.cjs +7 -5
  78. package/dist/services/featureFlagService/index.d.cts +2 -1
  79. package/dist/services/featureFlagService/index.d.ts +2 -1
  80. package/dist/services/featureFlagService/index.js +7 -5
  81. package/dist/services/ga4ProjectionService/ga4EventSchema.cjs +3 -2
  82. package/dist/services/ga4ProjectionService/ga4EventSchema.js +3 -2
  83. package/dist/services/hardcopyService/hardcopyService.cjs +12 -3
  84. package/dist/services/hardcopyService/hardcopyService.d.cts +3 -1
  85. package/dist/services/hardcopyService/hardcopyService.d.ts +3 -1
  86. package/dist/services/hardcopyService/hardcopyService.js +12 -3
  87. package/package.json +5 -1
  88. package/src/application/models/featureGates.ts +11 -8
  89. package/src/contexts/pageContext/__tests__/pageContext.test.tsx +4 -59
  90. package/src/contexts/pageContext/pageContext.tsx +20 -41
  91. package/src/contexts/typesV3.ts +22 -4
  92. package/src/hooks/Intersection/useIntersection.ts +11 -0
  93. package/src/hooks/TrackComponentVisibleEvent/__tests__/useTrackComponentVisibleEvent.test.tsx +64 -0
  94. package/src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts +23 -4
  95. package/src/hooks/WidgetLoadDiagnostics/__tests__/useWidgetLoadDiagnostics.test.ts +161 -0
  96. package/src/hooks/WidgetLoadDiagnostics/index.ts +5 -0
  97. package/src/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.ts +178 -0
  98. package/src/services/amplitudeService/eventNames.ts +4 -0
  99. package/src/services/enviveConfigService/__tests__/enviveConfigService.test.ts +72 -158
  100. package/src/services/enviveConfigService/__tests__/fetchBootstrapConfig.test.ts +111 -13
  101. package/src/services/enviveConfigService/__tests__/fetchGraphQLConfig.test.ts +161 -490
  102. package/src/services/enviveConfigService/enviveConfigService.ts +51 -87
  103. package/src/services/enviveConfigService/fetchBootstrapConfig.ts +74 -66
  104. package/src/services/enviveConfigService/fetchGraphQLConfig.ts +0 -120
  105. package/src/services/featureFlagService/__tests__/getFeatureFlagOverrides.test.ts +54 -0
  106. package/src/services/featureFlagService/index.ts +19 -6
  107. package/src/services/ga4ProjectionService/ga4EventSchema.ts +5 -0
  108. package/src/services/hardcopyService/__tests__/hardcopyService.test.ts +16 -5
  109. package/src/services/hardcopyService/hardcopyService.ts +10 -2
  110. package/dist/application/models/graphql/queries/getWidgetConfigQuery.cjs +0 -42
  111. package/dist/application/models/graphql/queries/getWidgetConfigQuery.js +0 -41
  112. package/src/application/models/graphql/queries/getWidgetConfigQuery.ts +0 -55
@@ -6,7 +6,7 @@ import "../../atoms/app/index.js";
6
6
  import { useAmplitude } from "../../contexts/amplitudeContext/amplitudeContext.js";
7
7
  import { extractPageContext } from "../WidgetInteraction/utils.js";
8
8
  import { useIntersection } from "../Intersection/useIntersection.js";
9
- import { useEffect, useRef } from "react";
9
+ import { useEffect, useRef, useState } from "react";
10
10
  import { useAtomValue } from "jotai";
11
11
 
12
12
  //#region src/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts
@@ -27,7 +27,13 @@ const safeNow = () => {
27
27
  }
28
28
  };
29
29
  const useTrackComponentVisibleEvent = (element, eventProps, rootMargin = "0px", enabled = true) => {
30
- const isVisible = useIntersection(element, rootMargin, eventProps);
30
+ const [visibilitySource, setVisibilitySource] = useState("pending");
31
+ const isVisible = useIntersection(element, rootMargin, eventProps, () => {
32
+ setVisibilitySource((prev) => prev === "pending" ? "fallback" : prev);
33
+ });
34
+ useEffect(() => {
35
+ if (isVisible) setVisibilitySource((prev) => prev === "pending" ? "observer" : prev);
36
+ }, [isVisible]);
31
37
  const hasTrackedEvent = useRef(false);
32
38
  const { trackEvent } = useAmplitude();
33
39
  const variantInfo = useAtomValue(pageVariantInfoAtom);
@@ -72,9 +78,12 @@ const useTrackComponentVisibleEvent = (element, eventProps, rootMargin = "0px",
72
78
  eventProps,
73
79
  trackEvent
74
80
  ]);
75
- return { isVisible };
81
+ return {
82
+ isVisible,
83
+ visibilitySource
84
+ };
76
85
  };
77
86
 
78
87
  //#endregion
79
88
  export { useTrackComponentVisibleEvent };
80
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQuanMiLCJuYW1lcyI6WyJMb2dnZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQvdXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBMb2dnZXIgZnJvbSAnc3JjL2FwcGxpY2F0aW9uL2xvZ2dpbmcvbG9nZ2VyJztcbmltcG9ydCB7IHBhZ2VWYXJpYW50SW5mb0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgUGFnZVZhcmlhbnRJbmZvIH0gZnJvbSAnc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3R5cGVzJztcbmltcG9ydCB7IHVzZUludGVyc2VjdGlvbiB9IGZyb20gJ3NyYy9ob29rcy9JbnRlcnNlY3Rpb24vdXNlSW50ZXJzZWN0aW9uJztcbmltcG9ydCB7IGV4dHJhY3RQYWdlQ29udGV4dCB9IGZyb20gJ3NyYy9ob29rcy9XaWRnZXRJbnRlcmFjdGlvbi91dGlscyc7XG5pbXBvcnQge1xuICBFbnZpdmVNZXRyaWNzRXZlbnROYW1lLFxuICBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLFxufSBmcm9tICdzcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9hbXBsaXR1ZGVTZXJ2aWNlJztcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcigndXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQnKTtcblxuLyoqXG4gKiBUcmFja3MgYSBjb21wb25lbnQgYW5kIGxvZ3MgYFNwaWZmeU1ldHJpY3NFdmVudE5hbWUuQ2hhdENvbXBvbmVudFZpc2libGVgIHdoZW4gdmlzaWJsZS5cbiAqXG4gKiBAcGFyYW0gZWxlbWVudCAtIFRoZSBlbGVtZW50IHRvIHRyYWNrIHZpc2liaWxpdHkgb2YuXG4gKiBAcGFyYW0gZXZlbnRQcm9wcyAtIFByb3BlcnRpZXMgdG8gaW5jbHVkZSB3aXRoIHRoZSBldmVudC5cbiAqIEBwYXJhbSByb290TWFyZ2luIC0gUm9vdCBtYXJnaW4gZm9yIHRoZSBpbnRlcnNlY3Rpb24gb2JzZXJ2ZXIgKGRlZmF1bHRzIHRvIDBweCkuXG4gKiBAcGFyYW0gZW5hYmxlZCAtIFdoZXRoZXIgdHJhY2tpbmcgaXMgZW5hYmxlZCAoZGVmYXVsdHMgdG8gdHJ1ZSkuXG4gKi9cbmNvbnN0IHNhZmVOb3cgPSAoKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgPyB3aW5kb3cucGVyZm9ybWFuY2U/Lm5vdz8uKCkgOiB1bmRlZmluZWQ7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB1c2VUcmFja0NvbXBvbmVudFZpc2libGVFdmVudCA9IChcbiAgZWxlbWVudDogUmVmT2JqZWN0PEhUTUxFbGVtZW50PixcbiAgZXZlbnRQcm9wcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICByb290TWFyZ2luOiBzdHJpbmcgPSAnMHB4JyxcbiAgZW5hYmxlZDogYm9vbGVhbiA9IHRydWUsXG4pOiB7IGlzVmlzaWJsZTogYm9vbGVhbiB9ID0+IHtcbiAgLy8gZXZlbnRQcm9wcyAod2lkZ2V0X2NvbmZpZ19pZCwgd2lkZ2V0X3R5cGUsIOKApikgZG91YmxlIGFzIGxvZyBjb250ZXh0IHNvIHRoZSBob29rJ3NcbiAgLy8gdmlzaWJpbGl0eS1mYWxsYmFjayBlcnJvciBpZGVudGlmaWVzIHdoaWNoIHdpZGdldCBpdCByZXNjdWVkLlxuICBjb25zdCBpc1Zpc2libGUgPSB1c2VJbnRlcnNlY3Rpb24oZWxlbWVudCwgcm9vdE1hcmdpbiwgZXZlbnRQcm9wcyk7XG4gIGNvbnN0IGhhc1RyYWNrZWRFdmVudCA9IHVzZVJlZihmYWxzZSk7XG4gIGNvbnN0IHsgdHJhY2tFdmVudCB9ID0gdXNlQW1wbGl0dWRlKCk7XG4gIGNvbnN0IHZhcmlhbnRJbmZvID0gdXNlQXRvbVZhbHVlKHBhZ2VWYXJpYW50SW5mb0F0b20pO1xuICAvLyBDYXB0dXJlZCBvbiBmaXJzdCByZW5kZXIsIG5vdCB3aGVuIHRoZSBldmVudCBmaXJlczogV2lkZ2V0IFJlbmRlcmVkIGlzXG4gIC8vIGVtaXR0ZWQgYXQgdmlzaWJpbGl0eSwgd2hpY2ggZm9yIGJlbG93LXRoZS1mb2xkIHdpZGdldHMgY2FuIGJlIGxvbmdcbiAgLy8gYWZ0ZXIgdGhlIHdpZGdldCBhY3R1YWxseSByZW5kZXJlZC4gcGVyZm9ybWFuY2Uubm93KCkgaXMgcmVsYXRpdmUgdG9cbiAgLy8gbmF2aWdhdGlvbiBzdGFydCwgc28gdGhpcyByZWFkcyBhcyBcIm1zIGZyb20gaW5pdGlhbCBwYWdlIGxvYWQgdG9cbiAgLy8gd2lkZ2V0IHJlbmRlclwiLlxuICBjb25zdCByZW5kZXJPZmZzZXRNcyA9IHVzZVJlZihzYWZlTm93KCkpLmN1cnJlbnQ7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBsb2dnZXIubG9nRGVidWcoJ2VmZmVjdCByYW4nLCB7XG4gICAgICBlbmFibGVkLFxuICAgICAgaXNWaXNpYmxlLFxuICAgICAgaGFzVHJhY2tlZEV2ZW50OiBoYXNUcmFja2VkRXZlbnQuY3VycmVudCxcbiAgICAgIGV2ZW50UHJvcHMsXG4gICAgfSk7XG5cbiAgICBpZiAoIWVuYWJsZWQpIHtcbiAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnc2tpcHBlZCDigJQgZW5hYmxlZCBpcyBmYWxzZScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoaGFzVHJhY2tlZEV2ZW50LmN1cnJlbnQpIHtcbiAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnc2tpcHBlZCDigJQgZXZlbnQgYWxyZWFkeSB0cmFja2VkJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICghaXNWaXNpYmxlKSB7XG4gICAgICBsb2dnZXIubG9nRGVidWcoJ3NraXBwZWQg4oCUIGVsZW1lbnQgbm90IHZpc2libGUnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsb2dnZXIubG9nRGVidWcoJ2ZpcmluZyB0cmFja2luZyBldmVudHMnLCBldmVudFByb3BzKTtcbiAgICB0cmFja0V2ZW50KHtcbiAgICAgIGV2ZW50TmFtZTogU3BpZmZ5TWV0cmljc0V2ZW50TmFtZS5DaGF0Q29tcG9uZW50VmlzaWJsZSxcbiAgICAgIGV2ZW50UHJvcHMsXG4gICAgfSk7XG4gICAgdHJhY2tFdmVudCh7XG4gICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuV2lkZ2V0UmVuZGVyZWQsXG4gICAgICBldmVudFByb3BzOiB7XG4gICAgICAgIC4uLmV2ZW50UHJvcHMsXG4gICAgICAgIHRyaWdnZXI6IHtcbiAgICAgICAgICB3aWRnZXQ6IGV2ZW50UHJvcHM/LndpZGdldF90eXBlLFxuICAgICAgICB9LFxuICAgICAgICBjb250ZXh0OiB2YXJpYW50SW5mbyA/IGV4dHJhY3RQYWdlQ29udGV4dCh2YXJpYW50SW5mbyBhcyBQYWdlVmFyaWFudEluZm8pIDogbnVsbCxcbiAgICAgICAgJ3BlcmZvcm1hbmNlLnJlbmRlcl9vZmZzZXRfbXMnOiByZW5kZXJPZmZzZXRNcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gICAgaGFzVHJhY2tlZEV2ZW50LmN1cnJlbnQgPSB0cnVlO1xuICB9LCBbZW5hYmxlZCwgaXNWaXNpYmxlLCBldmVudFByb3BzLCB0cmFja0V2ZW50XSk7XG4gIHJldHVybiB7IGlzVmlzaWJsZSB9O1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBYUEsTUFBTSxTQUFTLElBQUlBLGVBQU8sZ0NBQWdDOzs7Ozs7Ozs7QUFVMUQsTUFBTSxnQkFBb0M7QUFDeEMsS0FBSTtBQUNGLFNBQU8sT0FBTyxXQUFXLGNBQWMsT0FBTyxhQUFhLE9BQU8sR0FBRztTQUMvRDtBQUNOOzs7QUFJSixNQUFhLGlDQUNYLFNBQ0EsWUFDQSxhQUFxQixPQUNyQixVQUFtQixTQUNRO0NBRzNCLE1BQU0sWUFBWSxnQkFBZ0IsU0FBUyxZQUFZLFdBQVc7Q0FDbEUsTUFBTSxrQkFBa0IsT0FBTyxNQUFNO0NBQ3JDLE1BQU0sRUFBRSxlQUFlLGNBQWM7Q0FDckMsTUFBTSxjQUFjLGFBQWEsb0JBQW9CO0NBTXJELE1BQU0saUJBQWlCLE9BQU8sU0FBUyxDQUFDLENBQUM7QUFFekMsaUJBQWdCO0FBQ2QsU0FBTyxTQUFTLGNBQWM7R0FDNUI7R0FDQTtHQUNBLGlCQUFpQixnQkFBZ0I7R0FDakM7R0FDRCxDQUFDO0FBRUYsTUFBSSxDQUFDLFNBQVM7QUFDWixVQUFPLFNBQVMsNkJBQTZCO0FBQzdDOztBQUVGLE1BQUksZ0JBQWdCLFNBQVM7QUFDM0IsVUFBTyxTQUFTLGtDQUFrQztBQUNsRDs7QUFFRixNQUFJLENBQUMsV0FBVztBQUNkLFVBQU8sU0FBUyxnQ0FBZ0M7QUFDaEQ7O0FBR0YsU0FBTyxTQUFTLDBCQUEwQixXQUFXO0FBQ3JELGFBQVc7R0FDVCxXQUFXLHVCQUF1QjtHQUNsQztHQUNELENBQUM7QUFDRixhQUFXO0dBQ1QsV0FBVyx1QkFBdUI7R0FDbEMsWUFBWTtJQUNWLEdBQUc7SUFDSCxTQUFTLEVBQ1AsUUFBUSxZQUFZLGFBQ3JCO0lBQ0QsU0FBUyxjQUFjLG1CQUFtQixZQUErQixHQUFHO0lBQzVFLGdDQUFnQztJQUNqQztHQUNGLENBQUM7QUFDRixrQkFBZ0IsVUFBVTtJQUN6QjtFQUFDO0VBQVM7RUFBVztFQUFZO0VBQVcsQ0FBQztBQUNoRCxRQUFPLEVBQUUsV0FBVyJ9
89
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQuanMiLCJuYW1lcyI6WyJMb2dnZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQvdXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlQXRvbVZhbHVlIH0gZnJvbSAnam90YWknO1xuaW1wb3J0IHsgUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgTG9nZ2VyIGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlcic7XG5pbXBvcnQgeyBwYWdlVmFyaWFudEluZm9BdG9tIH0gZnJvbSAnc3JjL2F0b21zL2FwcCc7XG5pbXBvcnQgeyB1c2VBbXBsaXR1ZGUgfSBmcm9tICdzcmMvY29udGV4dHMvYW1wbGl0dWRlQ29udGV4dC9hbXBsaXR1ZGVDb250ZXh0JztcbmltcG9ydCB7IFBhZ2VWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9jb250ZXh0cy9wYWdlQ29udGV4dC90eXBlcyc7XG5pbXBvcnQgeyB1c2VJbnRlcnNlY3Rpb24gfSBmcm9tICdzcmMvaG9va3MvSW50ZXJzZWN0aW9uL3VzZUludGVyc2VjdGlvbic7XG5pbXBvcnQgeyBleHRyYWN0UGFnZUNvbnRleHQgfSBmcm9tICdzcmMvaG9va3MvV2lkZ2V0SW50ZXJhY3Rpb24vdXRpbHMnO1xuaW1wb3J0IHtcbiAgRW52aXZlTWV0cmljc0V2ZW50TmFtZSxcbiAgU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSxcbn0gZnJvbSAnc3JjL3NlcnZpY2VzL2FtcGxpdHVkZVNlcnZpY2UvYW1wbGl0dWRlU2VydmljZSc7XG5cbmNvbnN0IGxvZ2dlciA9IG5ldyBMb2dnZXIoJ3VzZVRyYWNrQ29tcG9uZW50VmlzaWJsZUV2ZW50Jyk7XG5cbi8qKlxuICogVHJhY2tzIGEgY29tcG9uZW50IGFuZCBsb2dzIGBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRDb21wb25lbnRWaXNpYmxlYCB3aGVuIHZpc2libGUuXG4gKlxuICogQHBhcmFtIGVsZW1lbnQgLSBUaGUgZWxlbWVudCB0byB0cmFjayB2aXNpYmlsaXR5IG9mLlxuICogQHBhcmFtIGV2ZW50UHJvcHMgLSBQcm9wZXJ0aWVzIHRvIGluY2x1ZGUgd2l0aCB0aGUgZXZlbnQuXG4gKiBAcGFyYW0gcm9vdE1hcmdpbiAtIFJvb3QgbWFyZ2luIGZvciB0aGUgaW50ZXJzZWN0aW9uIG9ic2VydmVyIChkZWZhdWx0cyB0byAwcHgpLlxuICogQHBhcmFtIGVuYWJsZWQgLSBXaGV0aGVyIHRyYWNraW5nIGlzIGVuYWJsZWQgKGRlZmF1bHRzIHRvIHRydWUpLlxuICovXG5jb25zdCBzYWZlTm93ID0gKCk6IG51bWJlciB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnID8gd2luZG93LnBlcmZvcm1hbmNlPy5ub3c/LigpIDogdW5kZWZpbmVkO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgdXNlVHJhY2tDb21wb25lbnRWaXNpYmxlRXZlbnQgPSAoXG4gIGVsZW1lbnQ6IFJlZk9iamVjdDxIVE1MRWxlbWVudD4sXG4gIGV2ZW50UHJvcHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPixcbiAgcm9vdE1hcmdpbjogc3RyaW5nID0gJzBweCcsXG4gIGVuYWJsZWQ6IGJvb2xlYW4gPSB0cnVlLFxuKTogeyBpc1Zpc2libGU6IGJvb2xlYW47IHZpc2liaWxpdHlTb3VyY2U6ICdvYnNlcnZlcicgfCAnZmFsbGJhY2snIHwgJ3BlbmRpbmcnIH0gPT4ge1xuICAvLyBIb3cgdmlzaWJpbGl0eSB3YXMgZXN0YWJsaXNoZWQsIGZvciB3aWRnZXQtbG9hZCBkaWFnbm9zdGljczpcbiAgLy8gIC0gJ3BlbmRpbmcnICDigJQgbm90IGNvbmZpcm1lZCBieSBlaXRoZXIgcGF0aCB5ZXQuIFN0YXlzIHRoaXMgd2F5IGZvciBhIGBkZWZlckxvYWRpbmc6IGZhbHNlYFxuICAvLyAgICAgICAgICAgICAgICAgd2lkZ2V0IHdob3NlIHJlcXVlc3RzIHNldHRsZSBiZWZvcmUgdGhlIG9ic2VydmVyIGV2ZXIgcmVwb3J0cywgc28gd2UgZG9uJ3RcbiAgLy8gICAgICAgICAgICAgICAgIGZhbHNlbHkgY2xhaW0gJ29ic2VydmVyJyBmb3IgYSBsb2FkIHRoYXQgbmV2ZXIgd2FpdGVkIG9uIHZpc2liaWxpdHkuXG4gIC8vICAtICdvYnNlcnZlcicg4oCUIHRoZSBJbnRlcnNlY3Rpb25PYnNlcnZlciByZXBvcnRlZCB0aGUgZWxlbWVudCB2aXNpYmxlLlxuICAvLyAgLSAnZmFsbGJhY2snIOKAlCB0aGUgcmVjb25jaWxlIGZhbGxiYWNrIGhhZCB0byBmb3JjZSBpdCAob2JzZXJ2ZXIgc3RheWVkIHNpbGVudCBvbi1zY3JlZW4pLlxuICAvLyBTdGF0ZSAobm90IGEgcmVmKSBzbyBjb25zdW1lcnMgcmVsaWFibHkgcmUtcmVuZGVyIHdoZW4gdGhlIHNvdXJjZSByZXNvbHZlcy5cbiAgY29uc3QgW3Zpc2liaWxpdHlTb3VyY2UsIHNldFZpc2liaWxpdHlTb3VyY2VdID0gdXNlU3RhdGU8J29ic2VydmVyJyB8ICdmYWxsYmFjaycgfCAncGVuZGluZyc+KFxuICAgICdwZW5kaW5nJyxcbiAgKTtcbiAgLy8gZXZlbnRQcm9wcyAod2lkZ2V0X2NvbmZpZ19pZCwgd2lkZ2V0X3R5cGUsIOKApikgZG91YmxlIGFzIGxvZyBjb250ZXh0IHNvIHRoZSBob29rJ3NcbiAgLy8gdmlzaWJpbGl0eS1mYWxsYmFjayBlcnJvciBpZGVudGlmaWVzIHdoaWNoIHdpZGdldCBpdCByZXNjdWVkLlxuICBjb25zdCBpc1Zpc2libGUgPSB1c2VJbnRlcnNlY3Rpb24oZWxlbWVudCwgcm9vdE1hcmdpbiwgZXZlbnRQcm9wcywgKCkgPT4ge1xuICAgIC8vIFRoZSBvYnNlcnZlciBzdGF5ZWQgc2lsZW50IG9uLXNjcmVlbiBhbmQgdGhlIGZhbGxiYWNrIGZvcmNlZCB2aXNpYmlsaXR5LiBUaGlzIGlzIHJlY29yZGVkXG4gICAgLy8gYmVmb3JlIHVzZUludGVyc2VjdGlvbidzIG93biBzZXRJc1Zpc2libGUsIHNvIGl0IHdpbnMgb3ZlciB0aGUgJ29ic2VydmVyJyByZXNvbHV0aW9uIGJlbG93LlxuICAgIHNldFZpc2liaWxpdHlTb3VyY2UocHJldiA9PiAocHJldiA9PT0gJ3BlbmRpbmcnID8gJ2ZhbGxiYWNrJyA6IHByZXYpKTtcbiAgfSk7XG4gIC8vIFJlc29sdmUgJ3BlbmRpbmcnIOKGkiAnb2JzZXJ2ZXInIG9uY2UgdGhlIG9ic2VydmVyIGVzdGFibGlzaGVzIHZpc2liaWxpdHk7IGEgJ2ZhbGxiYWNrJ1xuICAvLyBhbHJlYWR5IHJlY29yZGVkIGFib3ZlIGlzIHByZXNlcnZlZC5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoaXNWaXNpYmxlKSBzZXRWaXNpYmlsaXR5U291cmNlKHByZXYgPT4gKHByZXYgPT09ICdwZW5kaW5nJyA/ICdvYnNlcnZlcicgOiBwcmV2KSk7XG4gIH0sIFtpc1Zpc2libGVdKTtcbiAgY29uc3QgaGFzVHJhY2tlZEV2ZW50ID0gdXNlUmVmKGZhbHNlKTtcbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcbiAgY29uc3QgdmFyaWFudEluZm8gPSB1c2VBdG9tVmFsdWUocGFnZVZhcmlhbnRJbmZvQXRvbSk7XG4gIC8vIENhcHR1cmVkIG9uIGZpcnN0IHJlbmRlciwgbm90IHdoZW4gdGhlIGV2ZW50IGZpcmVzOiBXaWRnZXQgUmVuZGVyZWQgaXNcbiAgLy8gZW1pdHRlZCBhdCB2aXNpYmlsaXR5LCB3aGljaCBmb3IgYmVsb3ctdGhlLWZvbGQgd2lkZ2V0cyBjYW4gYmUgbG9uZ1xuICAvLyBhZnRlciB0aGUgd2lkZ2V0IGFjdHVhbGx5IHJlbmRlcmVkLiBwZXJmb3JtYW5jZS5ub3coKSBpcyByZWxhdGl2ZSB0b1xuICAvLyBuYXZpZ2F0aW9uIHN0YXJ0LCBzbyB0aGlzIHJlYWRzIGFzIFwibXMgZnJvbSBpbml0aWFsIHBhZ2UgbG9hZCB0b1xuICAvLyB3aWRnZXQgcmVuZGVyXCIuXG4gIGNvbnN0IHJlbmRlck9mZnNldE1zID0gdXNlUmVmKHNhZmVOb3coKSkuY3VycmVudDtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGxvZ2dlci5sb2dEZWJ1ZygnZWZmZWN0IHJhbicsIHtcbiAgICAgIGVuYWJsZWQsXG4gICAgICBpc1Zpc2libGUsXG4gICAgICBoYXNUcmFja2VkRXZlbnQ6IGhhc1RyYWNrZWRFdmVudC5jdXJyZW50LFxuICAgICAgZXZlbnRQcm9wcyxcbiAgICB9KTtcblxuICAgIGlmICghZW5hYmxlZCkge1xuICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdza2lwcGVkIOKAlCBlbmFibGVkIGlzIGZhbHNlJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmIChoYXNUcmFja2VkRXZlbnQuY3VycmVudCkge1xuICAgICAgbG9nZ2VyLmxvZ0RlYnVnKCdza2lwcGVkIOKAlCBldmVudCBhbHJlYWR5IHRyYWNrZWQnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgaWYgKCFpc1Zpc2libGUpIHtcbiAgICAgIGxvZ2dlci5sb2dEZWJ1Zygnc2tpcHBlZCDigJQgZWxlbWVudCBub3QgdmlzaWJsZScpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxvZ2dlci5sb2dEZWJ1ZygnZmlyaW5nIHRyYWNraW5nIGV2ZW50cycsIGV2ZW50UHJvcHMpO1xuICAgIHRyYWNrRXZlbnQoe1xuICAgICAgZXZlbnROYW1lOiBTcGlmZnlNZXRyaWNzRXZlbnROYW1lLkNoYXRDb21wb25lbnRWaXNpYmxlLFxuICAgICAgZXZlbnRQcm9wcyxcbiAgICB9KTtcbiAgICB0cmFja0V2ZW50KHtcbiAgICAgIGV2ZW50TmFtZTogRW52aXZlTWV0cmljc0V2ZW50TmFtZS5XaWRnZXRSZW5kZXJlZCxcbiAgICAgIGV2ZW50UHJvcHM6IHtcbiAgICAgICAgLi4uZXZlbnRQcm9wcyxcbiAgICAgICAgdHJpZ2dlcjoge1xuICAgICAgICAgIHdpZGdldDogZXZlbnRQcm9wcz8ud2lkZ2V0X3R5cGUsXG4gICAgICAgIH0sXG4gICAgICAgIGNvbnRleHQ6IHZhcmlhbnRJbmZvID8gZXh0cmFjdFBhZ2VDb250ZXh0KHZhcmlhbnRJbmZvIGFzIFBhZ2VWYXJpYW50SW5mbykgOiBudWxsLFxuICAgICAgICAncGVyZm9ybWFuY2UucmVuZGVyX29mZnNldF9tcyc6IHJlbmRlck9mZnNldE1zLFxuICAgICAgfSxcbiAgICB9KTtcbiAgICBoYXNUcmFja2VkRXZlbnQuY3VycmVudCA9IHRydWU7XG4gIH0sIFtlbmFibGVkLCBpc1Zpc2libGUsIGV2ZW50UHJvcHMsIHRyYWNrRXZlbnRdKTtcbiAgcmV0dXJuIHsgaXNWaXNpYmxlLCB2aXNpYmlsaXR5U291cmNlIH07XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFhQSxNQUFNLFNBQVMsSUFBSUEsZUFBTyxnQ0FBZ0M7Ozs7Ozs7OztBQVUxRCxNQUFNLGdCQUFvQztBQUN4QyxLQUFJO0FBQ0YsU0FBTyxPQUFPLFdBQVcsY0FBYyxPQUFPLGFBQWEsT0FBTyxHQUFHO1NBQy9EO0FBQ047OztBQUlKLE1BQWEsaUNBQ1gsU0FDQSxZQUNBLGFBQXFCLE9BQ3JCLFVBQW1CLFNBQytEO0NBUWxGLE1BQU0sQ0FBQyxrQkFBa0IsdUJBQXVCLFNBQzlDLFVBQ0Q7Q0FHRCxNQUFNLFlBQVksZ0JBQWdCLFNBQVMsWUFBWSxrQkFBa0I7QUFHdkUsdUJBQW9CLFNBQVMsU0FBUyxZQUFZLGFBQWEsS0FBTTtHQUNyRTtBQUdGLGlCQUFnQjtBQUNkLE1BQUksVUFBVyxzQkFBb0IsU0FBUyxTQUFTLFlBQVksYUFBYSxLQUFNO0lBQ25GLENBQUMsVUFBVSxDQUFDO0NBQ2YsTUFBTSxrQkFBa0IsT0FBTyxNQUFNO0NBQ3JDLE1BQU0sRUFBRSxlQUFlLGNBQWM7Q0FDckMsTUFBTSxjQUFjLGFBQWEsb0JBQW9CO0NBTXJELE1BQU0saUJBQWlCLE9BQU8sU0FBUyxDQUFDLENBQUM7QUFFekMsaUJBQWdCO0FBQ2QsU0FBTyxTQUFTLGNBQWM7R0FDNUI7R0FDQTtHQUNBLGlCQUFpQixnQkFBZ0I7R0FDakM7R0FDRCxDQUFDO0FBRUYsTUFBSSxDQUFDLFNBQVM7QUFDWixVQUFPLFNBQVMsNkJBQTZCO0FBQzdDOztBQUVGLE1BQUksZ0JBQWdCLFNBQVM7QUFDM0IsVUFBTyxTQUFTLGtDQUFrQztBQUNsRDs7QUFFRixNQUFJLENBQUMsV0FBVztBQUNkLFVBQU8sU0FBUyxnQ0FBZ0M7QUFDaEQ7O0FBR0YsU0FBTyxTQUFTLDBCQUEwQixXQUFXO0FBQ3JELGFBQVc7R0FDVCxXQUFXLHVCQUF1QjtHQUNsQztHQUNELENBQUM7QUFDRixhQUFXO0dBQ1QsV0FBVyx1QkFBdUI7R0FDbEMsWUFBWTtJQUNWLEdBQUc7SUFDSCxTQUFTLEVBQ1AsUUFBUSxZQUFZLGFBQ3JCO0lBQ0QsU0FBUyxjQUFjLG1CQUFtQixZQUErQixHQUFHO0lBQzVFLGdDQUFnQztJQUNqQztHQUNGLENBQUM7QUFDRixrQkFBZ0IsVUFBVTtJQUN6QjtFQUFDO0VBQVM7RUFBVztFQUFZO0VBQVcsQ0FBQztBQUNoRCxRQUFPO0VBQUU7RUFBVztFQUFrQiJ9
@@ -0,0 +1,4 @@
1
+ const require_useWidgetLoadDiagnostics = require('./useWidgetLoadDiagnostics.cjs');
2
+
3
+ exports.WIDGET_LOAD_STALL_MS = require_useWidgetLoadDiagnostics.WIDGET_LOAD_STALL_MS;
4
+ exports.useWidgetLoadDiagnostics = require_useWidgetLoadDiagnostics.useWidgetLoadDiagnostics;
@@ -0,0 +1,2 @@
1
+ import { WIDGET_LOAD_STALL_MS, WidgetLoadDiagnosticsInput, WidgetVisibilitySource, useWidgetLoadDiagnostics } from "./useWidgetLoadDiagnostics.cjs";
2
+ export { WIDGET_LOAD_STALL_MS, type WidgetLoadDiagnosticsInput, type WidgetVisibilitySource, useWidgetLoadDiagnostics };
@@ -0,0 +1,2 @@
1
+ import { WIDGET_LOAD_STALL_MS, WidgetLoadDiagnosticsInput, WidgetVisibilitySource, useWidgetLoadDiagnostics } from "./useWidgetLoadDiagnostics.js";
2
+ export { WIDGET_LOAD_STALL_MS, type WidgetLoadDiagnosticsInput, type WidgetVisibilitySource, useWidgetLoadDiagnostics };
@@ -0,0 +1,3 @@
1
+ import { WIDGET_LOAD_STALL_MS, useWidgetLoadDiagnostics } from "./useWidgetLoadDiagnostics.js";
2
+
3
+ export { WIDGET_LOAD_STALL_MS, useWidgetLoadDiagnostics };
@@ -0,0 +1,122 @@
1
+ const require_rolldown_runtime = require('../../_virtual/rolldown_runtime.cjs');
2
+ const require_eventNames = require('../../services/amplitudeService/eventNames.cjs');
3
+ require('../../services/amplitudeService/amplitudeService.cjs');
4
+ const require_variant = require('../../atoms/app/variant.cjs');
5
+ require('../../atoms/app/index.cjs');
6
+ const require_amplitudeContext = require('../../contexts/amplitudeContext/amplitudeContext.cjs');
7
+ const require_hooks_WidgetInteraction_utils = require('../WidgetInteraction/utils.cjs');
8
+ let react = require("react");
9
+ let jotai = require("jotai");
10
+
11
+ //#region src/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.ts
12
+ const WIDGET_LOAD_STALL_MS = 5e3;
13
+ const connectionType = () => {
14
+ try {
15
+ return navigator.connection?.effectiveType;
16
+ } catch {
17
+ return;
18
+ }
19
+ };
20
+ const now = () => {
21
+ try {
22
+ return typeof window !== "undefined" && window.performance?.now ? window.performance.now() : Date.now();
23
+ } catch {
24
+ return Date.now();
25
+ }
26
+ };
27
+ /**
28
+ * Emits the layered `[Envive] Diagnostics` widget-load net so eng can measure not just what
29
+ * loads, but the negative space between layers — the failures that fire nothing today:
30
+ *
31
+ * widget_mounted (ungated) → [Envive] Widget Rendered (visible) → widget_load_outcome
32
+ *
33
+ * - `widget_mounted` fires on mount regardless of visibility, so a widget that mounts but never
34
+ * becomes visible (the suspected infinite-load crux) shows up as a *mounted with no rendered*
35
+ * gap instead of being invisible to analytics entirely.
36
+ * - `widget_load_outcome` fires once the widget's own requests settle
37
+ * (content_loaded / static_fallback / error).
38
+ * - `widget_load_stalled` fires if it's still loading at WIDGET_LOAD_STALL_MS AND still mounted.
39
+ * The timer is cleared on unmount, so a shopper who navigates away first never trips it —
40
+ * "stalled with no later outcome" is therefore a clean stuck signal, undiluted by abandonment.
41
+ *
42
+ * `load_id` correlates all of the above (and is threaded onto `[Envive] Widget Rendered`) so
43
+ * the gaps are joinable per load.
44
+ */
45
+ const useWidgetLoadDiagnostics = (input) => {
46
+ const { enabled, loadId, widgetType, widgetConfigId, startLoading, ownRequestsSettled, hardcopyContent } = input;
47
+ const { trackEvent } = require_amplitudeContext.useAmplitude();
48
+ const variantInfo = (0, jotai.useAtomValue)(require_variant.pageVariantInfoAtom);
49
+ const inputRef = (0, react.useRef)(input);
50
+ inputRef.current = input;
51
+ const emit = (props) => {
52
+ trackEvent({
53
+ eventName: require_eventNames.EnviveMetricsEventName.Diagnostics,
54
+ eventProps: {
55
+ load_id: loadId,
56
+ widget_type: widgetType,
57
+ widget_config_id: widgetConfigId,
58
+ connection_type: connectionType(),
59
+ context: variantInfo ? require_hooks_WidgetInteraction_utils.extractPageContext(variantInfo) : null,
60
+ ...props
61
+ }
62
+ });
63
+ };
64
+ const mountFiredRef = (0, react.useRef)(false);
65
+ (0, react.useEffect)(() => {
66
+ if (!enabled || mountFiredRef.current) return;
67
+ mountFiredRef.current = true;
68
+ emit({ type: "widget_mounted" });
69
+ }, [enabled]);
70
+ const visibleAtRef = (0, react.useRef)(null);
71
+ (0, react.useEffect)(() => {
72
+ if (startLoading && visibleAtRef.current === null) visibleAtRef.current = now();
73
+ }, [startLoading]);
74
+ const outcomeFiredRef = (0, react.useRef)(false);
75
+ (0, react.useEffect)(() => {
76
+ if (!enabled || !startLoading || !ownRequestsSettled || outcomeFiredRef.current) return;
77
+ outcomeFiredRef.current = true;
78
+ const elapsed_ms = visibleAtRef.current !== null ? Math.round(now() - visibleAtRef.current) : void 0;
79
+ let outcome;
80
+ let reason;
81
+ if (!hardcopyContent) {
82
+ outcome = "error";
83
+ reason = inputRef.current.hardcopyErrorReason ?? "no_content";
84
+ } else if (hardcopyContent.servedFrom === "static") {
85
+ outcome = "static_fallback";
86
+ reason = hardcopyContent.fallbackReason;
87
+ } else outcome = "content_loaded";
88
+ emit({
89
+ type: "widget_load_outcome",
90
+ outcome,
91
+ reason,
92
+ elapsed_ms,
93
+ visibility_source: inputRef.current.visibilitySource
94
+ });
95
+ }, [
96
+ enabled,
97
+ startLoading,
98
+ ownRequestsSettled,
99
+ hardcopyContent
100
+ ]);
101
+ (0, react.useEffect)(() => {
102
+ if (!enabled || !startLoading || ownRequestsSettled) return void 0;
103
+ const timer = setTimeout(() => {
104
+ emit({
105
+ type: "widget_load_stalled",
106
+ elapsed_ms: visibleAtRef.current !== null ? Math.round(now() - visibleAtRef.current) : WIDGET_LOAD_STALL_MS,
107
+ pending_requests: inputRef.current.pendingRequests,
108
+ visibility_source: inputRef.current.visibilitySource
109
+ });
110
+ }, WIDGET_LOAD_STALL_MS);
111
+ return () => clearTimeout(timer);
112
+ }, [
113
+ enabled,
114
+ startLoading,
115
+ ownRequestsSettled
116
+ ]);
117
+ };
118
+
119
+ //#endregion
120
+ exports.WIDGET_LOAD_STALL_MS = WIDGET_LOAD_STALL_MS;
121
+ exports.useWidgetLoadDiagnostics = useWidgetLoadDiagnostics;
122
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlV2lkZ2V0TG9hZERpYWdub3N0aWNzLmNqcyIsIm5hbWVzIjpbInVzZUFtcGxpdHVkZSIsInBhZ2VWYXJpYW50SW5mb0F0b20iLCJFbnZpdmVNZXRyaWNzRXZlbnROYW1lIiwiZXh0cmFjdFBhZ2VDb250ZXh0Iiwib3V0Y29tZTogc3RyaW5nIiwicmVhc29uOiBzdHJpbmcgfCB1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvV2lkZ2V0TG9hZERpYWdub3N0aWNzL3VzZVdpZGdldExvYWREaWFnbm9zdGljcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VBdG9tVmFsdWUgfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHBhZ2VWYXJpYW50SW5mb0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgSGFyZGNvcHlSZXNwb25zZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9oYXJkY29weUNvbnRleHQnO1xuaW1wb3J0IHsgUGFnZVZhcmlhbnRJbmZvIH0gZnJvbSAnc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3R5cGVzJztcbmltcG9ydCB7IFdpZGdldFR5cGVWMyB9IGZyb20gJ3NyYy9jb250ZXh0cy90eXBlc1YzJztcbmltcG9ydCB7IGV4dHJhY3RQYWdlQ29udGV4dCB9IGZyb20gJ3NyYy9ob29rcy9XaWRnZXRJbnRlcmFjdGlvbi91dGlscyc7XG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnc3JjL3NlcnZpY2VzL2FtcGxpdHVkZVNlcnZpY2UvYW1wbGl0dWRlU2VydmljZSc7XG5cbi8vIEZpcmVkIGlmIGEgd2lkZ2V0IGlzIHN0aWxsIGxvYWRpbmcgdGhpcyBsb25nIGFmdGVyIGl0IGJlY2FtZSB2aXNpYmxlLiBLZXB0IGF0L2p1c3QgYWJvdmVcbi8vIHRoZSBoYXJkY29weSB0aW1lb3V0IChIQVJEQ09QWV9USU1FT1VUX01TLCA0cykgc28gYSBub3JtYWwgdGltZW91dCDihpIgc3RhdGljLWZhbGxiYWNrIHNldHRsZXNcbi8vIGZpcnN0IGFuZCBkb2VzIE5PVCB0cmlwIGEgc3RhbGw7IGEgc3RhbGwgaGVyZSBpcyBhIGdlbnVpbmUgYW5vbWFseSAoZS5nLiBhIGNvbmZpZyBoYW5nKS5cbi8vIE1pcnJvcnMgV0lER0VUX0xPQURJTkdfV0FUQ0hET0dfTVMgKHRoZSBjb25zb2xlLW9ubHkgd2F0Y2hkb2cgaW4gd2l0aEJhc2VXaWRnZXQpLlxuZXhwb3J0IGNvbnN0IFdJREdFVF9MT0FEX1NUQUxMX01TID0gNTAwMDtcblxuLy8gJ3BlbmRpbmcnID0gdmlzaWJpbGl0eSBub3QgY29uZmlybWVkIGJ5IGVpdGhlciBwYXRoIHdoZW4gdGhlIGV2ZW50IGZpcmVkIChlLmcuIGFcbi8vIGRlZmVyTG9hZGluZzpmYWxzZSB3aWRnZXQgdGhhdCBsb2FkZWQgZWFnZXJseSwgYmVmb3JlIHRoZSBvYnNlcnZlciByZXBvcnRlZCkuXG5leHBvcnQgdHlwZSBXaWRnZXRWaXNpYmlsaXR5U291cmNlID0gJ29ic2VydmVyJyB8ICdmYWxsYmFjaycgfCAncGVuZGluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0TG9hZERpYWdub3N0aWNzSW5wdXQge1xuICAvKiogR2F0ZS4gTm8gZXZlbnRzIGFyZSBlbWl0dGVkIHVubGVzcyB0cnVlLiBPbiBieSBkZWZhdWx0OyBhIFN0YXRzaWcga2lsbCBzd2l0Y2ggY2FuIGRpc2FibGUgaXQuICovXG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIC8qKiBDb3JyZWxhdGVzIHRoaXMgd2lkZ2V0J3MgbW91bnQgLyByZW5kZXJlZCAvIG91dGNvbWUgLyBzdGFsbCBldmVudHMgZm9yIGEgc2luZ2xlIGxvYWQuICovXG4gIGxvYWRJZDogc3RyaW5nO1xuICB3aWRnZXRUeXBlOiBXaWRnZXRUeXBlVjM7XG4gIHdpZGdldENvbmZpZ0lkPzogc3RyaW5nO1xuICAvKiogVGhlIHdpZGdldCBiZWNhbWUgdmlzaWJsZSBhbmQgc3RhcnRlZCBsb2FkaW5nIGl0cyBvd24gcmVxdWVzdHMuICovXG4gIHN0YXJ0TG9hZGluZzogYm9vbGVhbjtcbiAgLyoqIFRoaXMgd2lkZ2V0J3Mgb3duIGhhcmRjb3B5IC8gd2lkZ2V0Q29uZmlnIC8gdWlDb25maWcgcmVxdWVzdHMgaGF2ZSBhbGwgc2V0dGxlZC4gKi9cbiAgb3duUmVxdWVzdHNTZXR0bGVkOiBib29sZWFuO1xuICAvKiogUHJlc2VudCBvbmNlIGhhcmRjb3B5IHJlc29sdmVzOyBjYXJyaWVzIGBzZXJ2ZWRGcm9tYCAoY29udGVudF9sb2FkZWQgdnMgc3RhdGljX2ZhbGxiYWNrKS4gKi9cbiAgaGFyZGNvcHlDb250ZW50PzogSGFyZGNvcHlSZXNwb25zZTtcbiAgLyoqIFdoZXRoZXIgdmlzaWJpbGl0eSBjYW1lIGZyb20gdGhlIG9ic2VydmVyIG9yIHRoZSByZWNvbmNpbGUgZmFsbGJhY2suICovXG4gIHZpc2liaWxpdHlTb3VyY2U6IFdpZGdldFZpc2liaWxpdHlTb3VyY2U7XG4gIC8qKiBOYW1lcyBvZiB0aGlzIHdpZGdldCdzIHN0aWxsLXVuc2V0dGxlZCByZXF1ZXN0cywgcmVwb3J0ZWQgb24gYSBzdGFsbC4gKi9cbiAgcGVuZGluZ1JlcXVlc3RzOiBzdHJpbmdbXTtcbiAgLyoqIFNldCB3aGVuIHRoaXMgd2lkZ2V0J3Mgb3duIGhhcmRjb3B5IHJlcXVlc3QgcmVqZWN0ZWQgKG5vIGNvbnRlbnQg4oCUIG5vdCBhIHN0YXRpYyBmYWxsYmFjaykuICovXG4gIGhhcmRjb3B5RXJyb3JSZWFzb24/OiBzdHJpbmc7XG59XG5cbmNvbnN0IGNvbm5lY3Rpb25UeXBlID0gKCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgLy8gTmV0d29yayBJbmZvcm1hdGlvbiBBUEkg4oCUIENocm9taXVtL0FuZHJvaWQgb25seSwgdW5kZWZpbmVkIG9uIGlPUyBTYWZhcmkgKG91ciBrZXkgcG9wdWxhdGlvbikuXG4gICAgcmV0dXJuIChuYXZpZ2F0b3IgYXMgTmF2aWdhdG9yICYgeyBjb25uZWN0aW9uPzogeyBlZmZlY3RpdmVUeXBlPzogc3RyaW5nIH0gfSkuY29ubmVjdGlvblxuICAgICAgPy5lZmZlY3RpdmVUeXBlO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuXG5jb25zdCBub3cgPSAoKTogbnVtYmVyID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LnBlcmZvcm1hbmNlPy5ub3dcbiAgICAgID8gd2luZG93LnBlcmZvcm1hbmNlLm5vdygpXG4gICAgICA6IERhdGUubm93KCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBEYXRlLm5vdygpO1xuICB9XG59O1xuXG4vKipcbiAqIEVtaXRzIHRoZSBsYXllcmVkIGBbRW52aXZlXSBEaWFnbm9zdGljc2Agd2lkZ2V0LWxvYWQgbmV0IHNvIGVuZyBjYW4gbWVhc3VyZSBub3QganVzdCB3aGF0XG4gKiBsb2FkcywgYnV0IHRoZSBuZWdhdGl2ZSBzcGFjZSBiZXR3ZWVuIGxheWVycyDigJQgdGhlIGZhaWx1cmVzIHRoYXQgZmlyZSBub3RoaW5nIHRvZGF5OlxuICpcbiAqICAgd2lkZ2V0X21vdW50ZWQgKHVuZ2F0ZWQpIOKGkiBbRW52aXZlXSBXaWRnZXQgUmVuZGVyZWQgKHZpc2libGUpIOKGkiB3aWRnZXRfbG9hZF9vdXRjb21lXG4gKlxuICogLSBgd2lkZ2V0X21vdW50ZWRgIGZpcmVzIG9uIG1vdW50IHJlZ2FyZGxlc3Mgb2YgdmlzaWJpbGl0eSwgc28gYSB3aWRnZXQgdGhhdCBtb3VudHMgYnV0IG5ldmVyXG4gKiAgIGJlY29tZXMgdmlzaWJsZSAodGhlIHN1c3BlY3RlZCBpbmZpbml0ZS1sb2FkIGNydXgpIHNob3dzIHVwIGFzIGEgKm1vdW50ZWQgd2l0aCBubyByZW5kZXJlZCpcbiAqICAgZ2FwIGluc3RlYWQgb2YgYmVpbmcgaW52aXNpYmxlIHRvIGFuYWx5dGljcyBlbnRpcmVseS5cbiAqIC0gYHdpZGdldF9sb2FkX291dGNvbWVgIGZpcmVzIG9uY2UgdGhlIHdpZGdldCdzIG93biByZXF1ZXN0cyBzZXR0bGVcbiAqICAgKGNvbnRlbnRfbG9hZGVkIC8gc3RhdGljX2ZhbGxiYWNrIC8gZXJyb3IpLlxuICogLSBgd2lkZ2V0X2xvYWRfc3RhbGxlZGAgZmlyZXMgaWYgaXQncyBzdGlsbCBsb2FkaW5nIGF0IFdJREdFVF9MT0FEX1NUQUxMX01TIEFORCBzdGlsbCBtb3VudGVkLlxuICogICBUaGUgdGltZXIgaXMgY2xlYXJlZCBvbiB1bm1vdW50LCBzbyBhIHNob3BwZXIgd2hvIG5hdmlnYXRlcyBhd2F5IGZpcnN0IG5ldmVyIHRyaXBzIGl0IOKAlFxuICogICBcInN0YWxsZWQgd2l0aCBubyBsYXRlciBvdXRjb21lXCIgaXMgdGhlcmVmb3JlIGEgY2xlYW4gc3R1Y2sgc2lnbmFsLCB1bmRpbHV0ZWQgYnkgYWJhbmRvbm1lbnQuXG4gKlxuICogYGxvYWRfaWRgIGNvcnJlbGF0ZXMgYWxsIG9mIHRoZSBhYm92ZSAoYW5kIGlzIHRocmVhZGVkIG9udG8gYFtFbnZpdmVdIFdpZGdldCBSZW5kZXJlZGApIHNvXG4gKiB0aGUgZ2FwcyBhcmUgam9pbmFibGUgcGVyIGxvYWQuXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VXaWRnZXRMb2FkRGlhZ25vc3RpY3MgPSAoaW5wdXQ6IFdpZGdldExvYWREaWFnbm9zdGljc0lucHV0KTogdm9pZCA9PiB7XG4gIGNvbnN0IHtcbiAgICBlbmFibGVkLFxuICAgIGxvYWRJZCxcbiAgICB3aWRnZXRUeXBlLFxuICAgIHdpZGdldENvbmZpZ0lkLFxuICAgIHN0YXJ0TG9hZGluZyxcbiAgICBvd25SZXF1ZXN0c1NldHRsZWQsXG4gICAgaGFyZGNvcHlDb250ZW50LFxuICB9ID0gaW5wdXQ7XG5cbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcbiAgY29uc3QgdmFyaWFudEluZm8gPSB1c2VBdG9tVmFsdWUocGFnZVZhcmlhbnRJbmZvQXRvbSk7XG5cbiAgLy8gTGF0ZXN0IGlucHV0LCByZWFkIGluc2lkZSB0aGUgZGVmZXJyZWQgc3RhbGwvb3V0Y29tZSBjYWxsYmFja3MgKHBlbmRpbmdSZXF1ZXN0cyBhbmRcbiAgLy8gdmlzaWJpbGl0eVNvdXJjZSBjaHVybiBhcyByZXF1ZXN0cyBzZXR0bGUgLyB0aGUgZmFsbGJhY2sgZW5nYWdlcykuXG4gIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmKGlucHV0KTtcbiAgaW5wdXRSZWYuY3VycmVudCA9IGlucHV0O1xuXG4gIGNvbnN0IGVtaXQgPSAocHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG4gICAgdHJhY2tFdmVudCh7XG4gICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuRGlhZ25vc3RpY3MsXG4gICAgICBldmVudFByb3BzOiB7XG4gICAgICAgIGxvYWRfaWQ6IGxvYWRJZCxcbiAgICAgICAgd2lkZ2V0X3R5cGU6IHdpZGdldFR5cGUsXG4gICAgICAgIHdpZGdldF9jb25maWdfaWQ6IHdpZGdldENvbmZpZ0lkLFxuICAgICAgICBjb25uZWN0aW9uX3R5cGU6IGNvbm5lY3Rpb25UeXBlKCksXG4gICAgICAgIGNvbnRleHQ6IHZhcmlhbnRJbmZvID8gZXh0cmFjdFBhZ2VDb250ZXh0KHZhcmlhbnRJbmZvIGFzIFBhZ2VWYXJpYW50SW5mbykgOiBudWxsLFxuICAgICAgICAuLi5wcm9wcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgLy8gTGF5ZXIgMCDigJQgbW91bnQuIFVuZ2F0ZWQgYnkgdmlzaWJpbGl0eTogdGhlIGJhc2VsaW5lIHRoYXQgZmlyZXMgZXZlbiB3aGVuIHRoZSB3aWRnZXQgbmV2ZXJcbiAgLy8gYmVjb21lcyB2aXNpYmxlLCBzbyBuZXZlci12aXNpYmxlIGZhaWx1cmVzIGFyZSBhIG1lYXN1cmFibGUgZ2FwIHJhdGhlciB0aGFuIHNpbGVuY2UuXG4gIGNvbnN0IG1vdW50RmlyZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCB8fCBtb3VudEZpcmVkUmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBtb3VudEZpcmVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgIGVtaXQoeyB0eXBlOiAnd2lkZ2V0X21vdW50ZWQnIH0pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2VuYWJsZWRdKTtcblxuICAvLyB0MCDigJQgd2hlbiB0aGUgd2lkZ2V0IGJlY2FtZSB2aXNpYmxlIC8gc3RhcnRlZCBsb2FkaW5nLlxuICBjb25zdCB2aXNpYmxlQXRSZWYgPSB1c2VSZWY8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHN0YXJ0TG9hZGluZyAmJiB2aXNpYmxlQXRSZWYuY3VycmVudCA9PT0gbnVsbCkgdmlzaWJsZUF0UmVmLmN1cnJlbnQgPSBub3coKTtcbiAgfSwgW3N0YXJ0TG9hZGluZ10pO1xuXG4gIC8vIExheWVyIDIg4oCUIHRlcm1pbmFsIG91dGNvbWUsIG9uY2UsIHdoZW4gdGhpcyB3aWRnZXQncyBvd24gcmVxdWVzdHMgc2V0dGxlLlxuICBjb25zdCBvdXRjb21lRmlyZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCB8fCAhc3RhcnRMb2FkaW5nIHx8ICFvd25SZXF1ZXN0c1NldHRsZWQgfHwgb3V0Y29tZUZpcmVkUmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBvdXRjb21lRmlyZWRSZWYuY3VycmVudCA9IHRydWU7XG5cbiAgICBjb25zdCBlbGFwc2VkX21zID1cbiAgICAgIHZpc2libGVBdFJlZi5jdXJyZW50ICE9PSBudWxsID8gTWF0aC5yb3VuZChub3coKSAtIHZpc2libGVBdFJlZi5jdXJyZW50KSA6IHVuZGVmaW5lZDtcblxuICAgIGxldCBvdXRjb21lOiBzdHJpbmc7XG4gICAgbGV0IHJlYXNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICghaGFyZGNvcHlDb250ZW50KSB7XG4gICAgICBvdXRjb21lID0gJ2Vycm9yJztcbiAgICAgIHJlYXNvbiA9IGlucHV0UmVmLmN1cnJlbnQuaGFyZGNvcHlFcnJvclJlYXNvbiA/PyAnbm9fY29udGVudCc7XG4gICAgfSBlbHNlIGlmIChoYXJkY29weUNvbnRlbnQuc2VydmVkRnJvbSA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIG91dGNvbWUgPSAnc3RhdGljX2ZhbGxiYWNrJztcbiAgICAgIHJlYXNvbiA9IGhhcmRjb3B5Q29udGVudC5mYWxsYmFja1JlYXNvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0Y29tZSA9ICdjb250ZW50X2xvYWRlZCc7XG4gICAgfVxuXG4gICAgZW1pdCh7XG4gICAgICB0eXBlOiAnd2lkZ2V0X2xvYWRfb3V0Y29tZScsXG4gICAgICBvdXRjb21lLFxuICAgICAgcmVhc29uLFxuICAgICAgZWxhcHNlZF9tcyxcbiAgICAgIHZpc2liaWxpdHlfc291cmNlOiBpbnB1dFJlZi5jdXJyZW50LnZpc2liaWxpdHlTb3VyY2UsXG4gICAgfSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbZW5hYmxlZCwgc3RhcnRMb2FkaW5nLCBvd25SZXF1ZXN0c1NldHRsZWQsIGhhcmRjb3B5Q29udGVudF0pO1xuXG4gIC8vIExheWVyIDEuNSDigJQgc3RhbGwuIE9ubHkgYXJtcyB3aGlsZSBsb2FkaW5nOyBjbGVhcmVkIG9uIHVubW91bnQsIHNvIGFiYW5kb25tZW50IG5ldmVyIHRyaXBzIGl0LlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCB8fCAhc3RhcnRMb2FkaW5nIHx8IG93blJlcXVlc3RzU2V0dGxlZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgZWxhcHNlZF9tcyA9XG4gICAgICAgIHZpc2libGVBdFJlZi5jdXJyZW50ICE9PSBudWxsXG4gICAgICAgICAgPyBNYXRoLnJvdW5kKG5vdygpIC0gdmlzaWJsZUF0UmVmLmN1cnJlbnQpXG4gICAgICAgICAgOiBXSURHRVRfTE9BRF9TVEFMTF9NUztcbiAgICAgIGVtaXQoe1xuICAgICAgICB0eXBlOiAnd2lkZ2V0X2xvYWRfc3RhbGxlZCcsXG4gICAgICAgIGVsYXBzZWRfbXMsXG4gICAgICAgIHBlbmRpbmdfcmVxdWVzdHM6IGlucHV0UmVmLmN1cnJlbnQucGVuZGluZ1JlcXVlc3RzLFxuICAgICAgICB2aXNpYmlsaXR5X3NvdXJjZTogaW5wdXRSZWYuY3VycmVudC52aXNpYmlsaXR5U291cmNlLFxuICAgICAgfSk7XG4gICAgfSwgV0lER0VUX0xPQURfU1RBTExfTVMpO1xuICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2VuYWJsZWQsIHN0YXJ0TG9hZGluZywgb3duUmVxdWVzdHNTZXR0bGVkXSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQWNBLE1BQWEsdUJBQXVCO0FBMkJwQyxNQUFNLHVCQUEyQztBQUMvQyxLQUFJO0FBRUYsU0FBUSxVQUFzRSxZQUMxRTtTQUNFO0FBQ047OztBQUlKLE1BQU0sWUFBb0I7QUFDeEIsS0FBSTtBQUNGLFNBQU8sT0FBTyxXQUFXLGVBQWUsT0FBTyxhQUFhLE1BQ3hELE9BQU8sWUFBWSxLQUFLLEdBQ3hCLEtBQUssS0FBSztTQUNSO0FBQ04sU0FBTyxLQUFLLEtBQUs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXNCckIsTUFBYSw0QkFBNEIsVUFBNEM7Q0FDbkYsTUFBTSxFQUNKLFNBQ0EsUUFDQSxZQUNBLGdCQUNBLGNBQ0Esb0JBQ0Esb0JBQ0U7Q0FFSixNQUFNLEVBQUUsZUFBZUEsdUNBQWM7Q0FDckMsTUFBTSxzQ0FBMkJDLG9DQUFvQjtDQUlyRCxNQUFNLDZCQUFrQixNQUFNO0FBQzlCLFVBQVMsVUFBVTtDQUVuQixNQUFNLFFBQVEsVUFBbUM7QUFDL0MsYUFBVztHQUNULFdBQVdDLDBDQUF1QjtHQUNsQyxZQUFZO0lBQ1YsU0FBUztJQUNULGFBQWE7SUFDYixrQkFBa0I7SUFDbEIsaUJBQWlCLGdCQUFnQjtJQUNqQyxTQUFTLGNBQWNDLHlEQUFtQixZQUErQixHQUFHO0lBQzVFLEdBQUc7SUFDSjtHQUNGLENBQUM7O0NBS0osTUFBTSxrQ0FBdUIsTUFBTTtBQUNuQyw0QkFBZ0I7QUFDZCxNQUFJLENBQUMsV0FBVyxjQUFjLFFBQVM7QUFDdkMsZ0JBQWMsVUFBVTtBQUN4QixPQUFLLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztJQUUvQixDQUFDLFFBQVEsQ0FBQztDQUdiLE1BQU0saUNBQXFDLEtBQUs7QUFDaEQsNEJBQWdCO0FBQ2QsTUFBSSxnQkFBZ0IsYUFBYSxZQUFZLEtBQU0sY0FBYSxVQUFVLEtBQUs7SUFDOUUsQ0FBQyxhQUFhLENBQUM7Q0FHbEIsTUFBTSxvQ0FBeUIsTUFBTTtBQUNyQyw0QkFBZ0I7QUFDZCxNQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixDQUFDLHNCQUFzQixnQkFBZ0IsUUFBUztBQUNqRixrQkFBZ0IsVUFBVTtFQUUxQixNQUFNLGFBQ0osYUFBYSxZQUFZLE9BQU8sS0FBSyxNQUFNLEtBQUssR0FBRyxhQUFhLFFBQVEsR0FBRztFQUU3RSxJQUFJQztFQUNKLElBQUlDO0FBQ0osTUFBSSxDQUFDLGlCQUFpQjtBQUNwQixhQUFVO0FBQ1YsWUFBUyxTQUFTLFFBQVEsdUJBQXVCO2FBQ3hDLGdCQUFnQixlQUFlLFVBQVU7QUFDbEQsYUFBVTtBQUNWLFlBQVMsZ0JBQWdCO1FBRXpCLFdBQVU7QUFHWixPQUFLO0dBQ0gsTUFBTTtHQUNOO0dBQ0E7R0FDQTtHQUNBLG1CQUFtQixTQUFTLFFBQVE7R0FDckMsQ0FBQztJQUVEO0VBQUM7RUFBUztFQUFjO0VBQW9CO0VBQWdCLENBQUM7QUFHaEUsNEJBQWdCO0FBQ2QsTUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0IsbUJBQW9CLFFBQU87RUFDNUQsTUFBTSxRQUFRLGlCQUFpQjtBQUs3QixRQUFLO0lBQ0gsTUFBTTtJQUNOLFlBTEEsYUFBYSxZQUFZLE9BQ3JCLEtBQUssTUFBTSxLQUFLLEdBQUcsYUFBYSxRQUFRLEdBQ3hDO0lBSUosa0JBQWtCLFNBQVMsUUFBUTtJQUNuQyxtQkFBbUIsU0FBUyxRQUFRO0lBQ3JDLENBQUM7S0FDRCxxQkFBcUI7QUFDeEIsZUFBYSxhQUFhLE1BQU07SUFFL0I7RUFBQztFQUFTO0VBQWM7RUFBbUIsQ0FBQyJ9
@@ -0,0 +1,48 @@
1
+ import { WidgetTypeV3 } from "../../contexts/typesV3.cjs";
2
+ import { HardcopyResponse } from "../../services/hardcopyService/hardcopyService.cjs";
3
+
4
+ //#region src/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.d.ts
5
+ declare const WIDGET_LOAD_STALL_MS = 5000;
6
+ type WidgetVisibilitySource = 'observer' | 'fallback' | 'pending';
7
+ interface WidgetLoadDiagnosticsInput {
8
+ /** Gate. No events are emitted unless true. On by default; a Statsig kill switch can disable it. */
9
+ enabled: boolean;
10
+ /** Correlates this widget's mount / rendered / outcome / stall events for a single load. */
11
+ loadId: string;
12
+ widgetType: WidgetTypeV3;
13
+ widgetConfigId?: string;
14
+ /** The widget became visible and started loading its own requests. */
15
+ startLoading: boolean;
16
+ /** This widget's own hardcopy / widgetConfig / uiConfig requests have all settled. */
17
+ ownRequestsSettled: boolean;
18
+ /** Present once hardcopy resolves; carries `servedFrom` (content_loaded vs static_fallback). */
19
+ hardcopyContent?: HardcopyResponse;
20
+ /** Whether visibility came from the observer or the reconcile fallback. */
21
+ visibilitySource: WidgetVisibilitySource;
22
+ /** Names of this widget's still-unsettled requests, reported on a stall. */
23
+ pendingRequests: string[];
24
+ /** Set when this widget's own hardcopy request rejected (no content — not a static fallback). */
25
+ hardcopyErrorReason?: string;
26
+ }
27
+ /**
28
+ * Emits the layered `[Envive] Diagnostics` widget-load net so eng can measure not just what
29
+ * loads, but the negative space between layers — the failures that fire nothing today:
30
+ *
31
+ * widget_mounted (ungated) → [Envive] Widget Rendered (visible) → widget_load_outcome
32
+ *
33
+ * - `widget_mounted` fires on mount regardless of visibility, so a widget that mounts but never
34
+ * becomes visible (the suspected infinite-load crux) shows up as a *mounted with no rendered*
35
+ * gap instead of being invisible to analytics entirely.
36
+ * - `widget_load_outcome` fires once the widget's own requests settle
37
+ * (content_loaded / static_fallback / error).
38
+ * - `widget_load_stalled` fires if it's still loading at WIDGET_LOAD_STALL_MS AND still mounted.
39
+ * The timer is cleared on unmount, so a shopper who navigates away first never trips it —
40
+ * "stalled with no later outcome" is therefore a clean stuck signal, undiluted by abandonment.
41
+ *
42
+ * `load_id` correlates all of the above (and is threaded onto `[Envive] Widget Rendered`) so
43
+ * the gaps are joinable per load.
44
+ */
45
+ declare const useWidgetLoadDiagnostics: (input: WidgetLoadDiagnosticsInput) => void;
46
+ //#endregion
47
+ export { WIDGET_LOAD_STALL_MS, WidgetLoadDiagnosticsInput, WidgetVisibilitySource, useWidgetLoadDiagnostics };
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlV2lkZ2V0TG9hZERpYWdub3N0aWNzLmQuY3RzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ob29rcy9XaWRnZXRMb2FkRGlhZ25vc3RpY3MvdXNlV2lkZ2V0TG9hZERpYWdub3N0aWNzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSGFyZGNvcHlSZXNwb25zZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9oYXJkY29weUNvbnRleHQnO1xuaW1wb3J0IHsgV2lkZ2V0VHlwZVYzIH0gZnJvbSAnc3JjL2NvbnRleHRzL3R5cGVzVjMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgV0lER0VUX0xPQURfU1RBTExfTVMgPSA1MDAwO1xuZXhwb3J0IHR5cGUgV2lkZ2V0VmlzaWJpbGl0eVNvdXJjZSA9ICdvYnNlcnZlcicgfCAnZmFsbGJhY2snIHwgJ3BlbmRpbmcnO1xuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRMb2FkRGlhZ25vc3RpY3NJbnB1dCB7XG4gICAgLyoqIEdhdGUuIE5vIGV2ZW50cyBhcmUgZW1pdHRlZCB1bmxlc3MgdHJ1ZS4gT24gYnkgZGVmYXVsdDsgYSBTdGF0c2lnIGtpbGwgc3dpdGNoIGNhbiBkaXNhYmxlIGl0LiAqL1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqIENvcnJlbGF0ZXMgdGhpcyB3aWRnZXQncyBtb3VudCAvIHJlbmRlcmVkIC8gb3V0Y29tZSAvIHN0YWxsIGV2ZW50cyBmb3IgYSBzaW5nbGUgbG9hZC4gKi9cbiAgICBsb2FkSWQ6IHN0cmluZztcbiAgICB3aWRnZXRUeXBlOiBXaWRnZXRUeXBlVjM7XG4gICAgd2lkZ2V0Q29uZmlnSWQ/OiBzdHJpbmc7XG4gICAgLyoqIFRoZSB3aWRnZXQgYmVjYW1lIHZpc2libGUgYW5kIHN0YXJ0ZWQgbG9hZGluZyBpdHMgb3duIHJlcXVlc3RzLiAqL1xuICAgIHN0YXJ0TG9hZGluZzogYm9vbGVhbjtcbiAgICAvKiogVGhpcyB3aWRnZXQncyBvd24gaGFyZGNvcHkgLyB3aWRnZXRDb25maWcgLyB1aUNvbmZpZyByZXF1ZXN0cyBoYXZlIGFsbCBzZXR0bGVkLiAqL1xuICAgIG93blJlcXVlc3RzU2V0dGxlZDogYm9vbGVhbjtcbiAgICAvKiogUHJlc2VudCBvbmNlIGhhcmRjb3B5IHJlc29sdmVzOyBjYXJyaWVzIGBzZXJ2ZWRGcm9tYCAoY29udGVudF9sb2FkZWQgdnMgc3RhdGljX2ZhbGxiYWNrKS4gKi9cbiAgICBoYXJkY29weUNvbnRlbnQ/OiBIYXJkY29weVJlc3BvbnNlO1xuICAgIC8qKiBXaGV0aGVyIHZpc2liaWxpdHkgY2FtZSBmcm9tIHRoZSBvYnNlcnZlciBvciB0aGUgcmVjb25jaWxlIGZhbGxiYWNrLiAqL1xuICAgIHZpc2liaWxpdHlTb3VyY2U6IFdpZGdldFZpc2liaWxpdHlTb3VyY2U7XG4gICAgLyoqIE5hbWVzIG9mIHRoaXMgd2lkZ2V0J3Mgc3RpbGwtdW5zZXR0bGVkIHJlcXVlc3RzLCByZXBvcnRlZCBvbiBhIHN0YWxsLiAqL1xuICAgIHBlbmRpbmdSZXF1ZXN0czogc3RyaW5nW107XG4gICAgLyoqIFNldCB3aGVuIHRoaXMgd2lkZ2V0J3Mgb3duIGhhcmRjb3B5IHJlcXVlc3QgcmVqZWN0ZWQgKG5vIGNvbnRlbnQg4oCUIG5vdCBhIHN0YXRpYyBmYWxsYmFjaykuICovXG4gICAgaGFyZGNvcHlFcnJvclJlYXNvbj86IHN0cmluZztcbn1cbi8qKlxuICogRW1pdHMgdGhlIGxheWVyZWQgYFtFbnZpdmVdIERpYWdub3N0aWNzYCB3aWRnZXQtbG9hZCBuZXQgc28gZW5nIGNhbiBtZWFzdXJlIG5vdCBqdXN0IHdoYXRcbiAqIGxvYWRzLCBidXQgdGhlIG5lZ2F0aXZlIHNwYWNlIGJldHdlZW4gbGF5ZXJzIOKAlCB0aGUgZmFpbHVyZXMgdGhhdCBmaXJlIG5vdGhpbmcgdG9kYXk6XG4gKlxuICogICB3aWRnZXRfbW91bnRlZCAodW5nYXRlZCkg4oaSIFtFbnZpdmVdIFdpZGdldCBSZW5kZXJlZCAodmlzaWJsZSkg4oaSIHdpZGdldF9sb2FkX291dGNvbWVcbiAqXG4gKiAtIGB3aWRnZXRfbW91bnRlZGAgZmlyZXMgb24gbW91bnQgcmVnYXJkbGVzcyBvZiB2aXNpYmlsaXR5LCBzbyBhIHdpZGdldCB0aGF0IG1vdW50cyBidXQgbmV2ZXJcbiAqICAgYmVjb21lcyB2aXNpYmxlICh0aGUgc3VzcGVjdGVkIGluZmluaXRlLWxvYWQgY3J1eCkgc2hvd3MgdXAgYXMgYSAqbW91bnRlZCB3aXRoIG5vIHJlbmRlcmVkKlxuICogICBnYXAgaW5zdGVhZCBvZiBiZWluZyBpbnZpc2libGUgdG8gYW5hbHl0aWNzIGVudGlyZWx5LlxuICogLSBgd2lkZ2V0X2xvYWRfb3V0Y29tZWAgZmlyZXMgb25jZSB0aGUgd2lkZ2V0J3Mgb3duIHJlcXVlc3RzIHNldHRsZVxuICogICAoY29udGVudF9sb2FkZWQgLyBzdGF0aWNfZmFsbGJhY2sgLyBlcnJvcikuXG4gKiAtIGB3aWRnZXRfbG9hZF9zdGFsbGVkYCBmaXJlcyBpZiBpdCdzIHN0aWxsIGxvYWRpbmcgYXQgV0lER0VUX0xPQURfU1RBTExfTVMgQU5EIHN0aWxsIG1vdW50ZWQuXG4gKiAgIFRoZSB0aW1lciBpcyBjbGVhcmVkIG9uIHVubW91bnQsIHNvIGEgc2hvcHBlciB3aG8gbmF2aWdhdGVzIGF3YXkgZmlyc3QgbmV2ZXIgdHJpcHMgaXQg4oCUXG4gKiAgIFwic3RhbGxlZCB3aXRoIG5vIGxhdGVyIG91dGNvbWVcIiBpcyB0aGVyZWZvcmUgYSBjbGVhbiBzdHVjayBzaWduYWwsIHVuZGlsdXRlZCBieSBhYmFuZG9ubWVudC5cbiAqXG4gKiBgbG9hZF9pZGAgY29ycmVsYXRlcyBhbGwgb2YgdGhlIGFib3ZlIChhbmQgaXMgdGhyZWFkZWQgb250byBgW0Vudml2ZV0gV2lkZ2V0IFJlbmRlcmVkYCkgc29cbiAqIHRoZSBnYXBzIGFyZSBqb2luYWJsZSBwZXIgbG9hZC5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgdXNlV2lkZ2V0TG9hZERpYWdub3N0aWNzOiAoaW5wdXQ6IFdpZGdldExvYWREaWFnbm9zdGljc0lucHV0KSA9PiB2b2lkO1xuIl0sIm1hcHBpbmdzIjoiOzs7O0FBRUEsSUFBVyx1QkFBdUIsQ0FBQyxJQUFJO0FBQ3ZDLElBQVcseUJBQXlCLENBQUMsSUFBSTtBQUN6QyxJQUFXLDZCQUE2QjtDQUFDO09BQUc7T0FBQTtPQUFBO0NBQUE7QUFDNUMsSUFBVywyQkFBMkIsQ0FBQyxXQUFXLDJCQUEyQiJ9
@@ -0,0 +1,48 @@
1
+ import { WidgetTypeV3 } from "../../contexts/typesV3.js";
2
+ import { HardcopyResponse } from "../../services/hardcopyService/hardcopyService.js";
3
+
4
+ //#region src/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.d.ts
5
+ declare const WIDGET_LOAD_STALL_MS = 5000;
6
+ type WidgetVisibilitySource = 'observer' | 'fallback' | 'pending';
7
+ interface WidgetLoadDiagnosticsInput {
8
+ /** Gate. No events are emitted unless true. On by default; a Statsig kill switch can disable it. */
9
+ enabled: boolean;
10
+ /** Correlates this widget's mount / rendered / outcome / stall events for a single load. */
11
+ loadId: string;
12
+ widgetType: WidgetTypeV3;
13
+ widgetConfigId?: string;
14
+ /** The widget became visible and started loading its own requests. */
15
+ startLoading: boolean;
16
+ /** This widget's own hardcopy / widgetConfig / uiConfig requests have all settled. */
17
+ ownRequestsSettled: boolean;
18
+ /** Present once hardcopy resolves; carries `servedFrom` (content_loaded vs static_fallback). */
19
+ hardcopyContent?: HardcopyResponse;
20
+ /** Whether visibility came from the observer or the reconcile fallback. */
21
+ visibilitySource: WidgetVisibilitySource;
22
+ /** Names of this widget's still-unsettled requests, reported on a stall. */
23
+ pendingRequests: string[];
24
+ /** Set when this widget's own hardcopy request rejected (no content — not a static fallback). */
25
+ hardcopyErrorReason?: string;
26
+ }
27
+ /**
28
+ * Emits the layered `[Envive] Diagnostics` widget-load net so eng can measure not just what
29
+ * loads, but the negative space between layers — the failures that fire nothing today:
30
+ *
31
+ * widget_mounted (ungated) → [Envive] Widget Rendered (visible) → widget_load_outcome
32
+ *
33
+ * - `widget_mounted` fires on mount regardless of visibility, so a widget that mounts but never
34
+ * becomes visible (the suspected infinite-load crux) shows up as a *mounted with no rendered*
35
+ * gap instead of being invisible to analytics entirely.
36
+ * - `widget_load_outcome` fires once the widget's own requests settle
37
+ * (content_loaded / static_fallback / error).
38
+ * - `widget_load_stalled` fires if it's still loading at WIDGET_LOAD_STALL_MS AND still mounted.
39
+ * The timer is cleared on unmount, so a shopper who navigates away first never trips it —
40
+ * "stalled with no later outcome" is therefore a clean stuck signal, undiluted by abandonment.
41
+ *
42
+ * `load_id` correlates all of the above (and is threaded onto `[Envive] Widget Rendered`) so
43
+ * the gaps are joinable per load.
44
+ */
45
+ declare const useWidgetLoadDiagnostics: (input: WidgetLoadDiagnosticsInput) => void;
46
+ //#endregion
47
+ export { WIDGET_LOAD_STALL_MS, WidgetLoadDiagnosticsInput, WidgetVisibilitySource, useWidgetLoadDiagnostics };
48
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlV2lkZ2V0TG9hZERpYWdub3N0aWNzLmQudHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2hvb2tzL1dpZGdldExvYWREaWFnbm9zdGljcy91c2VXaWRnZXRMb2FkRGlhZ25vc3RpY3MuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIYXJkY29weVJlc3BvbnNlIH0gZnJvbSAnc3JjL2NvbnRleHRzL2hhcmRjb3B5Q29udGV4dCc7XG5pbXBvcnQgeyBXaWRnZXRUeXBlVjMgfSBmcm9tICdzcmMvY29udGV4dHMvdHlwZXNWMyc7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBXSURHRVRfTE9BRF9TVEFMTF9NUyA9IDUwMDA7XG5leHBvcnQgdHlwZSBXaWRnZXRWaXNpYmlsaXR5U291cmNlID0gJ29ic2VydmVyJyB8ICdmYWxsYmFjaycgfCAncGVuZGluZyc7XG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldExvYWREaWFnbm9zdGljc0lucHV0IHtcbiAgICAvKiogR2F0ZS4gTm8gZXZlbnRzIGFyZSBlbWl0dGVkIHVubGVzcyB0cnVlLiBPbiBieSBkZWZhdWx0OyBhIFN0YXRzaWcga2lsbCBzd2l0Y2ggY2FuIGRpc2FibGUgaXQuICovXG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAvKiogQ29ycmVsYXRlcyB0aGlzIHdpZGdldCdzIG1vdW50IC8gcmVuZGVyZWQgLyBvdXRjb21lIC8gc3RhbGwgZXZlbnRzIGZvciBhIHNpbmdsZSBsb2FkLiAqL1xuICAgIGxvYWRJZDogc3RyaW5nO1xuICAgIHdpZGdldFR5cGU6IFdpZGdldFR5cGVWMztcbiAgICB3aWRnZXRDb25maWdJZD86IHN0cmluZztcbiAgICAvKiogVGhlIHdpZGdldCBiZWNhbWUgdmlzaWJsZSBhbmQgc3RhcnRlZCBsb2FkaW5nIGl0cyBvd24gcmVxdWVzdHMuICovXG4gICAgc3RhcnRMb2FkaW5nOiBib29sZWFuO1xuICAgIC8qKiBUaGlzIHdpZGdldCdzIG93biBoYXJkY29weSAvIHdpZGdldENvbmZpZyAvIHVpQ29uZmlnIHJlcXVlc3RzIGhhdmUgYWxsIHNldHRsZWQuICovXG4gICAgb3duUmVxdWVzdHNTZXR0bGVkOiBib29sZWFuO1xuICAgIC8qKiBQcmVzZW50IG9uY2UgaGFyZGNvcHkgcmVzb2x2ZXM7IGNhcnJpZXMgYHNlcnZlZEZyb21gIChjb250ZW50X2xvYWRlZCB2cyBzdGF0aWNfZmFsbGJhY2spLiAqL1xuICAgIGhhcmRjb3B5Q29udGVudD86IEhhcmRjb3B5UmVzcG9uc2U7XG4gICAgLyoqIFdoZXRoZXIgdmlzaWJpbGl0eSBjYW1lIGZyb20gdGhlIG9ic2VydmVyIG9yIHRoZSByZWNvbmNpbGUgZmFsbGJhY2suICovXG4gICAgdmlzaWJpbGl0eVNvdXJjZTogV2lkZ2V0VmlzaWJpbGl0eVNvdXJjZTtcbiAgICAvKiogTmFtZXMgb2YgdGhpcyB3aWRnZXQncyBzdGlsbC11bnNldHRsZWQgcmVxdWVzdHMsIHJlcG9ydGVkIG9uIGEgc3RhbGwuICovXG4gICAgcGVuZGluZ1JlcXVlc3RzOiBzdHJpbmdbXTtcbiAgICAvKiogU2V0IHdoZW4gdGhpcyB3aWRnZXQncyBvd24gaGFyZGNvcHkgcmVxdWVzdCByZWplY3RlZCAobm8gY29udGVudCDigJQgbm90IGEgc3RhdGljIGZhbGxiYWNrKS4gKi9cbiAgICBoYXJkY29weUVycm9yUmVhc29uPzogc3RyaW5nO1xufVxuLyoqXG4gKiBFbWl0cyB0aGUgbGF5ZXJlZCBgW0Vudml2ZV0gRGlhZ25vc3RpY3NgIHdpZGdldC1sb2FkIG5ldCBzbyBlbmcgY2FuIG1lYXN1cmUgbm90IGp1c3Qgd2hhdFxuICogbG9hZHMsIGJ1dCB0aGUgbmVnYXRpdmUgc3BhY2UgYmV0d2VlbiBsYXllcnMg4oCUIHRoZSBmYWlsdXJlcyB0aGF0IGZpcmUgbm90aGluZyB0b2RheTpcbiAqXG4gKiAgIHdpZGdldF9tb3VudGVkICh1bmdhdGVkKSDihpIgW0Vudml2ZV0gV2lkZ2V0IFJlbmRlcmVkICh2aXNpYmxlKSDihpIgd2lkZ2V0X2xvYWRfb3V0Y29tZVxuICpcbiAqIC0gYHdpZGdldF9tb3VudGVkYCBmaXJlcyBvbiBtb3VudCByZWdhcmRsZXNzIG9mIHZpc2liaWxpdHksIHNvIGEgd2lkZ2V0IHRoYXQgbW91bnRzIGJ1dCBuZXZlclxuICogICBiZWNvbWVzIHZpc2libGUgKHRoZSBzdXNwZWN0ZWQgaW5maW5pdGUtbG9hZCBjcnV4KSBzaG93cyB1cCBhcyBhICptb3VudGVkIHdpdGggbm8gcmVuZGVyZWQqXG4gKiAgIGdhcCBpbnN0ZWFkIG9mIGJlaW5nIGludmlzaWJsZSB0byBhbmFseXRpY3MgZW50aXJlbHkuXG4gKiAtIGB3aWRnZXRfbG9hZF9vdXRjb21lYCBmaXJlcyBvbmNlIHRoZSB3aWRnZXQncyBvd24gcmVxdWVzdHMgc2V0dGxlXG4gKiAgIChjb250ZW50X2xvYWRlZCAvIHN0YXRpY19mYWxsYmFjayAvIGVycm9yKS5cbiAqIC0gYHdpZGdldF9sb2FkX3N0YWxsZWRgIGZpcmVzIGlmIGl0J3Mgc3RpbGwgbG9hZGluZyBhdCBXSURHRVRfTE9BRF9TVEFMTF9NUyBBTkQgc3RpbGwgbW91bnRlZC5cbiAqICAgVGhlIHRpbWVyIGlzIGNsZWFyZWQgb24gdW5tb3VudCwgc28gYSBzaG9wcGVyIHdobyBuYXZpZ2F0ZXMgYXdheSBmaXJzdCBuZXZlciB0cmlwcyBpdCDigJRcbiAqICAgXCJzdGFsbGVkIHdpdGggbm8gbGF0ZXIgb3V0Y29tZVwiIGlzIHRoZXJlZm9yZSBhIGNsZWFuIHN0dWNrIHNpZ25hbCwgdW5kaWx1dGVkIGJ5IGFiYW5kb25tZW50LlxuICpcbiAqIGBsb2FkX2lkYCBjb3JyZWxhdGVzIGFsbCBvZiB0aGUgYWJvdmUgKGFuZCBpcyB0aHJlYWRlZCBvbnRvIGBbRW52aXZlXSBXaWRnZXQgUmVuZGVyZWRgKSBzb1xuICogdGhlIGdhcHMgYXJlIGpvaW5hYmxlIHBlciBsb2FkLlxuICovXG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VXaWRnZXRMb2FkRGlhZ25vc3RpY3M6IChpbnB1dDogV2lkZ2V0TG9hZERpYWdub3N0aWNzSW5wdXQpID0+IHZvaWQ7XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFFQSxJQUFXLHVCQUF1QixDQUFDLElBQUk7QUFDdkMsSUFBVyx5QkFBeUIsQ0FBQyxJQUFJO0FBQ3pDLElBQVcsNkJBQTZCO0NBQUM7T0FBRztPQUFBO09BQUE7Q0FBQTtBQUM1QyxJQUFXLDJCQUEyQixDQUFDLFdBQVcsMkJBQTJCIn0=
@@ -0,0 +1,120 @@
1
+ import { EnviveMetricsEventName } from "../../services/amplitudeService/eventNames.js";
2
+ import "../../services/amplitudeService/amplitudeService.js";
3
+ import { pageVariantInfoAtom } from "../../atoms/app/variant.js";
4
+ import "../../atoms/app/index.js";
5
+ import { useAmplitude } from "../../contexts/amplitudeContext/amplitudeContext.js";
6
+ import { extractPageContext } from "../WidgetInteraction/utils.js";
7
+ import { useEffect, useRef } from "react";
8
+ import { useAtomValue } from "jotai";
9
+
10
+ //#region src/hooks/WidgetLoadDiagnostics/useWidgetLoadDiagnostics.ts
11
+ const WIDGET_LOAD_STALL_MS = 5e3;
12
+ const connectionType = () => {
13
+ try {
14
+ return navigator.connection?.effectiveType;
15
+ } catch {
16
+ return;
17
+ }
18
+ };
19
+ const now = () => {
20
+ try {
21
+ return typeof window !== "undefined" && window.performance?.now ? window.performance.now() : Date.now();
22
+ } catch {
23
+ return Date.now();
24
+ }
25
+ };
26
+ /**
27
+ * Emits the layered `[Envive] Diagnostics` widget-load net so eng can measure not just what
28
+ * loads, but the negative space between layers — the failures that fire nothing today:
29
+ *
30
+ * widget_mounted (ungated) → [Envive] Widget Rendered (visible) → widget_load_outcome
31
+ *
32
+ * - `widget_mounted` fires on mount regardless of visibility, so a widget that mounts but never
33
+ * becomes visible (the suspected infinite-load crux) shows up as a *mounted with no rendered*
34
+ * gap instead of being invisible to analytics entirely.
35
+ * - `widget_load_outcome` fires once the widget's own requests settle
36
+ * (content_loaded / static_fallback / error).
37
+ * - `widget_load_stalled` fires if it's still loading at WIDGET_LOAD_STALL_MS AND still mounted.
38
+ * The timer is cleared on unmount, so a shopper who navigates away first never trips it —
39
+ * "stalled with no later outcome" is therefore a clean stuck signal, undiluted by abandonment.
40
+ *
41
+ * `load_id` correlates all of the above (and is threaded onto `[Envive] Widget Rendered`) so
42
+ * the gaps are joinable per load.
43
+ */
44
+ const useWidgetLoadDiagnostics = (input) => {
45
+ const { enabled, loadId, widgetType, widgetConfigId, startLoading, ownRequestsSettled, hardcopyContent } = input;
46
+ const { trackEvent } = useAmplitude();
47
+ const variantInfo = useAtomValue(pageVariantInfoAtom);
48
+ const inputRef = useRef(input);
49
+ inputRef.current = input;
50
+ const emit = (props) => {
51
+ trackEvent({
52
+ eventName: EnviveMetricsEventName.Diagnostics,
53
+ eventProps: {
54
+ load_id: loadId,
55
+ widget_type: widgetType,
56
+ widget_config_id: widgetConfigId,
57
+ connection_type: connectionType(),
58
+ context: variantInfo ? extractPageContext(variantInfo) : null,
59
+ ...props
60
+ }
61
+ });
62
+ };
63
+ const mountFiredRef = useRef(false);
64
+ useEffect(() => {
65
+ if (!enabled || mountFiredRef.current) return;
66
+ mountFiredRef.current = true;
67
+ emit({ type: "widget_mounted" });
68
+ }, [enabled]);
69
+ const visibleAtRef = useRef(null);
70
+ useEffect(() => {
71
+ if (startLoading && visibleAtRef.current === null) visibleAtRef.current = now();
72
+ }, [startLoading]);
73
+ const outcomeFiredRef = useRef(false);
74
+ useEffect(() => {
75
+ if (!enabled || !startLoading || !ownRequestsSettled || outcomeFiredRef.current) return;
76
+ outcomeFiredRef.current = true;
77
+ const elapsed_ms = visibleAtRef.current !== null ? Math.round(now() - visibleAtRef.current) : void 0;
78
+ let outcome;
79
+ let reason;
80
+ if (!hardcopyContent) {
81
+ outcome = "error";
82
+ reason = inputRef.current.hardcopyErrorReason ?? "no_content";
83
+ } else if (hardcopyContent.servedFrom === "static") {
84
+ outcome = "static_fallback";
85
+ reason = hardcopyContent.fallbackReason;
86
+ } else outcome = "content_loaded";
87
+ emit({
88
+ type: "widget_load_outcome",
89
+ outcome,
90
+ reason,
91
+ elapsed_ms,
92
+ visibility_source: inputRef.current.visibilitySource
93
+ });
94
+ }, [
95
+ enabled,
96
+ startLoading,
97
+ ownRequestsSettled,
98
+ hardcopyContent
99
+ ]);
100
+ useEffect(() => {
101
+ if (!enabled || !startLoading || ownRequestsSettled) return void 0;
102
+ const timer = setTimeout(() => {
103
+ emit({
104
+ type: "widget_load_stalled",
105
+ elapsed_ms: visibleAtRef.current !== null ? Math.round(now() - visibleAtRef.current) : WIDGET_LOAD_STALL_MS,
106
+ pending_requests: inputRef.current.pendingRequests,
107
+ visibility_source: inputRef.current.visibilitySource
108
+ });
109
+ }, WIDGET_LOAD_STALL_MS);
110
+ return () => clearTimeout(timer);
111
+ }, [
112
+ enabled,
113
+ startLoading,
114
+ ownRequestsSettled
115
+ ]);
116
+ };
117
+
118
+ //#endregion
119
+ export { WIDGET_LOAD_STALL_MS, useWidgetLoadDiagnostics };
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlV2lkZ2V0TG9hZERpYWdub3N0aWNzLmpzIiwibmFtZXMiOlsib3V0Y29tZTogc3RyaW5nIiwicmVhc29uOiBzdHJpbmcgfCB1bmRlZmluZWQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvV2lkZ2V0TG9hZERpYWdub3N0aWNzL3VzZVdpZGdldExvYWREaWFnbm9zdGljcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VBdG9tVmFsdWUgfSBmcm9tICdqb3RhaSc7XG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZVJlZiB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IHBhZ2VWYXJpYW50SW5mb0F0b20gfSBmcm9tICdzcmMvYXRvbXMvYXBwJztcbmltcG9ydCB7IHVzZUFtcGxpdHVkZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9hbXBsaXR1ZGVDb250ZXh0L2FtcGxpdHVkZUNvbnRleHQnO1xuaW1wb3J0IHsgSGFyZGNvcHlSZXNwb25zZSB9IGZyb20gJ3NyYy9jb250ZXh0cy9oYXJkY29weUNvbnRleHQnO1xuaW1wb3J0IHsgUGFnZVZhcmlhbnRJbmZvIH0gZnJvbSAnc3JjL2NvbnRleHRzL3BhZ2VDb250ZXh0L3R5cGVzJztcbmltcG9ydCB7IFdpZGdldFR5cGVWMyB9IGZyb20gJ3NyYy9jb250ZXh0cy90eXBlc1YzJztcbmltcG9ydCB7IGV4dHJhY3RQYWdlQ29udGV4dCB9IGZyb20gJ3NyYy9ob29rcy9XaWRnZXRJbnRlcmFjdGlvbi91dGlscyc7XG5pbXBvcnQgeyBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIH0gZnJvbSAnc3JjL3NlcnZpY2VzL2FtcGxpdHVkZVNlcnZpY2UvYW1wbGl0dWRlU2VydmljZSc7XG5cbi8vIEZpcmVkIGlmIGEgd2lkZ2V0IGlzIHN0aWxsIGxvYWRpbmcgdGhpcyBsb25nIGFmdGVyIGl0IGJlY2FtZSB2aXNpYmxlLiBLZXB0IGF0L2p1c3QgYWJvdmVcbi8vIHRoZSBoYXJkY29weSB0aW1lb3V0IChIQVJEQ09QWV9USU1FT1VUX01TLCA0cykgc28gYSBub3JtYWwgdGltZW91dCDihpIgc3RhdGljLWZhbGxiYWNrIHNldHRsZXNcbi8vIGZpcnN0IGFuZCBkb2VzIE5PVCB0cmlwIGEgc3RhbGw7IGEgc3RhbGwgaGVyZSBpcyBhIGdlbnVpbmUgYW5vbWFseSAoZS5nLiBhIGNvbmZpZyBoYW5nKS5cbi8vIE1pcnJvcnMgV0lER0VUX0xPQURJTkdfV0FUQ0hET0dfTVMgKHRoZSBjb25zb2xlLW9ubHkgd2F0Y2hkb2cgaW4gd2l0aEJhc2VXaWRnZXQpLlxuZXhwb3J0IGNvbnN0IFdJREdFVF9MT0FEX1NUQUxMX01TID0gNTAwMDtcblxuLy8gJ3BlbmRpbmcnID0gdmlzaWJpbGl0eSBub3QgY29uZmlybWVkIGJ5IGVpdGhlciBwYXRoIHdoZW4gdGhlIGV2ZW50IGZpcmVkIChlLmcuIGFcbi8vIGRlZmVyTG9hZGluZzpmYWxzZSB3aWRnZXQgdGhhdCBsb2FkZWQgZWFnZXJseSwgYmVmb3JlIHRoZSBvYnNlcnZlciByZXBvcnRlZCkuXG5leHBvcnQgdHlwZSBXaWRnZXRWaXNpYmlsaXR5U291cmNlID0gJ29ic2VydmVyJyB8ICdmYWxsYmFjaycgfCAncGVuZGluZyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgV2lkZ2V0TG9hZERpYWdub3N0aWNzSW5wdXQge1xuICAvKiogR2F0ZS4gTm8gZXZlbnRzIGFyZSBlbWl0dGVkIHVubGVzcyB0cnVlLiBPbiBieSBkZWZhdWx0OyBhIFN0YXRzaWcga2lsbCBzd2l0Y2ggY2FuIGRpc2FibGUgaXQuICovXG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIC8qKiBDb3JyZWxhdGVzIHRoaXMgd2lkZ2V0J3MgbW91bnQgLyByZW5kZXJlZCAvIG91dGNvbWUgLyBzdGFsbCBldmVudHMgZm9yIGEgc2luZ2xlIGxvYWQuICovXG4gIGxvYWRJZDogc3RyaW5nO1xuICB3aWRnZXRUeXBlOiBXaWRnZXRUeXBlVjM7XG4gIHdpZGdldENvbmZpZ0lkPzogc3RyaW5nO1xuICAvKiogVGhlIHdpZGdldCBiZWNhbWUgdmlzaWJsZSBhbmQgc3RhcnRlZCBsb2FkaW5nIGl0cyBvd24gcmVxdWVzdHMuICovXG4gIHN0YXJ0TG9hZGluZzogYm9vbGVhbjtcbiAgLyoqIFRoaXMgd2lkZ2V0J3Mgb3duIGhhcmRjb3B5IC8gd2lkZ2V0Q29uZmlnIC8gdWlDb25maWcgcmVxdWVzdHMgaGF2ZSBhbGwgc2V0dGxlZC4gKi9cbiAgb3duUmVxdWVzdHNTZXR0bGVkOiBib29sZWFuO1xuICAvKiogUHJlc2VudCBvbmNlIGhhcmRjb3B5IHJlc29sdmVzOyBjYXJyaWVzIGBzZXJ2ZWRGcm9tYCAoY29udGVudF9sb2FkZWQgdnMgc3RhdGljX2ZhbGxiYWNrKS4gKi9cbiAgaGFyZGNvcHlDb250ZW50PzogSGFyZGNvcHlSZXNwb25zZTtcbiAgLyoqIFdoZXRoZXIgdmlzaWJpbGl0eSBjYW1lIGZyb20gdGhlIG9ic2VydmVyIG9yIHRoZSByZWNvbmNpbGUgZmFsbGJhY2suICovXG4gIHZpc2liaWxpdHlTb3VyY2U6IFdpZGdldFZpc2liaWxpdHlTb3VyY2U7XG4gIC8qKiBOYW1lcyBvZiB0aGlzIHdpZGdldCdzIHN0aWxsLXVuc2V0dGxlZCByZXF1ZXN0cywgcmVwb3J0ZWQgb24gYSBzdGFsbC4gKi9cbiAgcGVuZGluZ1JlcXVlc3RzOiBzdHJpbmdbXTtcbiAgLyoqIFNldCB3aGVuIHRoaXMgd2lkZ2V0J3Mgb3duIGhhcmRjb3B5IHJlcXVlc3QgcmVqZWN0ZWQgKG5vIGNvbnRlbnQg4oCUIG5vdCBhIHN0YXRpYyBmYWxsYmFjaykuICovXG4gIGhhcmRjb3B5RXJyb3JSZWFzb24/OiBzdHJpbmc7XG59XG5cbmNvbnN0IGNvbm5lY3Rpb25UeXBlID0gKCk6IHN0cmluZyB8IHVuZGVmaW5lZCA9PiB7XG4gIHRyeSB7XG4gICAgLy8gTmV0d29yayBJbmZvcm1hdGlvbiBBUEkg4oCUIENocm9taXVtL0FuZHJvaWQgb25seSwgdW5kZWZpbmVkIG9uIGlPUyBTYWZhcmkgKG91ciBrZXkgcG9wdWxhdGlvbikuXG4gICAgcmV0dXJuIChuYXZpZ2F0b3IgYXMgTmF2aWdhdG9yICYgeyBjb25uZWN0aW9uPzogeyBlZmZlY3RpdmVUeXBlPzogc3RyaW5nIH0gfSkuY29ubmVjdGlvblxuICAgICAgPy5lZmZlY3RpdmVUeXBlO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59O1xuXG5jb25zdCBub3cgPSAoKTogbnVtYmVyID0+IHtcbiAgdHJ5IHtcbiAgICByZXR1cm4gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCcgJiYgd2luZG93LnBlcmZvcm1hbmNlPy5ub3dcbiAgICAgID8gd2luZG93LnBlcmZvcm1hbmNlLm5vdygpXG4gICAgICA6IERhdGUubm93KCk7XG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBEYXRlLm5vdygpO1xuICB9XG59O1xuXG4vKipcbiAqIEVtaXRzIHRoZSBsYXllcmVkIGBbRW52aXZlXSBEaWFnbm9zdGljc2Agd2lkZ2V0LWxvYWQgbmV0IHNvIGVuZyBjYW4gbWVhc3VyZSBub3QganVzdCB3aGF0XG4gKiBsb2FkcywgYnV0IHRoZSBuZWdhdGl2ZSBzcGFjZSBiZXR3ZWVuIGxheWVycyDigJQgdGhlIGZhaWx1cmVzIHRoYXQgZmlyZSBub3RoaW5nIHRvZGF5OlxuICpcbiAqICAgd2lkZ2V0X21vdW50ZWQgKHVuZ2F0ZWQpIOKGkiBbRW52aXZlXSBXaWRnZXQgUmVuZGVyZWQgKHZpc2libGUpIOKGkiB3aWRnZXRfbG9hZF9vdXRjb21lXG4gKlxuICogLSBgd2lkZ2V0X21vdW50ZWRgIGZpcmVzIG9uIG1vdW50IHJlZ2FyZGxlc3Mgb2YgdmlzaWJpbGl0eSwgc28gYSB3aWRnZXQgdGhhdCBtb3VudHMgYnV0IG5ldmVyXG4gKiAgIGJlY29tZXMgdmlzaWJsZSAodGhlIHN1c3BlY3RlZCBpbmZpbml0ZS1sb2FkIGNydXgpIHNob3dzIHVwIGFzIGEgKm1vdW50ZWQgd2l0aCBubyByZW5kZXJlZCpcbiAqICAgZ2FwIGluc3RlYWQgb2YgYmVpbmcgaW52aXNpYmxlIHRvIGFuYWx5dGljcyBlbnRpcmVseS5cbiAqIC0gYHdpZGdldF9sb2FkX291dGNvbWVgIGZpcmVzIG9uY2UgdGhlIHdpZGdldCdzIG93biByZXF1ZXN0cyBzZXR0bGVcbiAqICAgKGNvbnRlbnRfbG9hZGVkIC8gc3RhdGljX2ZhbGxiYWNrIC8gZXJyb3IpLlxuICogLSBgd2lkZ2V0X2xvYWRfc3RhbGxlZGAgZmlyZXMgaWYgaXQncyBzdGlsbCBsb2FkaW5nIGF0IFdJREdFVF9MT0FEX1NUQUxMX01TIEFORCBzdGlsbCBtb3VudGVkLlxuICogICBUaGUgdGltZXIgaXMgY2xlYXJlZCBvbiB1bm1vdW50LCBzbyBhIHNob3BwZXIgd2hvIG5hdmlnYXRlcyBhd2F5IGZpcnN0IG5ldmVyIHRyaXBzIGl0IOKAlFxuICogICBcInN0YWxsZWQgd2l0aCBubyBsYXRlciBvdXRjb21lXCIgaXMgdGhlcmVmb3JlIGEgY2xlYW4gc3R1Y2sgc2lnbmFsLCB1bmRpbHV0ZWQgYnkgYWJhbmRvbm1lbnQuXG4gKlxuICogYGxvYWRfaWRgIGNvcnJlbGF0ZXMgYWxsIG9mIHRoZSBhYm92ZSAoYW5kIGlzIHRocmVhZGVkIG9udG8gYFtFbnZpdmVdIFdpZGdldCBSZW5kZXJlZGApIHNvXG4gKiB0aGUgZ2FwcyBhcmUgam9pbmFibGUgcGVyIGxvYWQuXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VXaWRnZXRMb2FkRGlhZ25vc3RpY3MgPSAoaW5wdXQ6IFdpZGdldExvYWREaWFnbm9zdGljc0lucHV0KTogdm9pZCA9PiB7XG4gIGNvbnN0IHtcbiAgICBlbmFibGVkLFxuICAgIGxvYWRJZCxcbiAgICB3aWRnZXRUeXBlLFxuICAgIHdpZGdldENvbmZpZ0lkLFxuICAgIHN0YXJ0TG9hZGluZyxcbiAgICBvd25SZXF1ZXN0c1NldHRsZWQsXG4gICAgaGFyZGNvcHlDb250ZW50LFxuICB9ID0gaW5wdXQ7XG5cbiAgY29uc3QgeyB0cmFja0V2ZW50IH0gPSB1c2VBbXBsaXR1ZGUoKTtcbiAgY29uc3QgdmFyaWFudEluZm8gPSB1c2VBdG9tVmFsdWUocGFnZVZhcmlhbnRJbmZvQXRvbSk7XG5cbiAgLy8gTGF0ZXN0IGlucHV0LCByZWFkIGluc2lkZSB0aGUgZGVmZXJyZWQgc3RhbGwvb3V0Y29tZSBjYWxsYmFja3MgKHBlbmRpbmdSZXF1ZXN0cyBhbmRcbiAgLy8gdmlzaWJpbGl0eVNvdXJjZSBjaHVybiBhcyByZXF1ZXN0cyBzZXR0bGUgLyB0aGUgZmFsbGJhY2sgZW5nYWdlcykuXG4gIGNvbnN0IGlucHV0UmVmID0gdXNlUmVmKGlucHV0KTtcbiAgaW5wdXRSZWYuY3VycmVudCA9IGlucHV0O1xuXG4gIGNvbnN0IGVtaXQgPSAocHJvcHM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiB7XG4gICAgdHJhY2tFdmVudCh7XG4gICAgICBldmVudE5hbWU6IEVudml2ZU1ldHJpY3NFdmVudE5hbWUuRGlhZ25vc3RpY3MsXG4gICAgICBldmVudFByb3BzOiB7XG4gICAgICAgIGxvYWRfaWQ6IGxvYWRJZCxcbiAgICAgICAgd2lkZ2V0X3R5cGU6IHdpZGdldFR5cGUsXG4gICAgICAgIHdpZGdldF9jb25maWdfaWQ6IHdpZGdldENvbmZpZ0lkLFxuICAgICAgICBjb25uZWN0aW9uX3R5cGU6IGNvbm5lY3Rpb25UeXBlKCksXG4gICAgICAgIGNvbnRleHQ6IHZhcmlhbnRJbmZvID8gZXh0cmFjdFBhZ2VDb250ZXh0KHZhcmlhbnRJbmZvIGFzIFBhZ2VWYXJpYW50SW5mbykgOiBudWxsLFxuICAgICAgICAuLi5wcm9wcyxcbiAgICAgIH0sXG4gICAgfSk7XG4gIH07XG5cbiAgLy8gTGF5ZXIgMCDigJQgbW91bnQuIFVuZ2F0ZWQgYnkgdmlzaWJpbGl0eTogdGhlIGJhc2VsaW5lIHRoYXQgZmlyZXMgZXZlbiB3aGVuIHRoZSB3aWRnZXQgbmV2ZXJcbiAgLy8gYmVjb21lcyB2aXNpYmxlLCBzbyBuZXZlci12aXNpYmxlIGZhaWx1cmVzIGFyZSBhIG1lYXN1cmFibGUgZ2FwIHJhdGhlciB0aGFuIHNpbGVuY2UuXG4gIGNvbnN0IG1vdW50RmlyZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCB8fCBtb3VudEZpcmVkUmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBtb3VudEZpcmVkUmVmLmN1cnJlbnQgPSB0cnVlO1xuICAgIGVtaXQoeyB0eXBlOiAnd2lkZ2V0X21vdW50ZWQnIH0pO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2VuYWJsZWRdKTtcblxuICAvLyB0MCDigJQgd2hlbiB0aGUgd2lkZ2V0IGJlY2FtZSB2aXNpYmxlIC8gc3RhcnRlZCBsb2FkaW5nLlxuICBjb25zdCB2aXNpYmxlQXRSZWYgPSB1c2VSZWY8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHN0YXJ0TG9hZGluZyAmJiB2aXNpYmxlQXRSZWYuY3VycmVudCA9PT0gbnVsbCkgdmlzaWJsZUF0UmVmLmN1cnJlbnQgPSBub3coKTtcbiAgfSwgW3N0YXJ0TG9hZGluZ10pO1xuXG4gIC8vIExheWVyIDIg4oCUIHRlcm1pbmFsIG91dGNvbWUsIG9uY2UsIHdoZW4gdGhpcyB3aWRnZXQncyBvd24gcmVxdWVzdHMgc2V0dGxlLlxuICBjb25zdCBvdXRjb21lRmlyZWRSZWYgPSB1c2VSZWYoZmFsc2UpO1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCB8fCAhc3RhcnRMb2FkaW5nIHx8ICFvd25SZXF1ZXN0c1NldHRsZWQgfHwgb3V0Y29tZUZpcmVkUmVmLmN1cnJlbnQpIHJldHVybjtcbiAgICBvdXRjb21lRmlyZWRSZWYuY3VycmVudCA9IHRydWU7XG5cbiAgICBjb25zdCBlbGFwc2VkX21zID1cbiAgICAgIHZpc2libGVBdFJlZi5jdXJyZW50ICE9PSBudWxsID8gTWF0aC5yb3VuZChub3coKSAtIHZpc2libGVBdFJlZi5jdXJyZW50KSA6IHVuZGVmaW5lZDtcblxuICAgIGxldCBvdXRjb21lOiBzdHJpbmc7XG4gICAgbGV0IHJlYXNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIGlmICghaGFyZGNvcHlDb250ZW50KSB7XG4gICAgICBvdXRjb21lID0gJ2Vycm9yJztcbiAgICAgIHJlYXNvbiA9IGlucHV0UmVmLmN1cnJlbnQuaGFyZGNvcHlFcnJvclJlYXNvbiA/PyAnbm9fY29udGVudCc7XG4gICAgfSBlbHNlIGlmIChoYXJkY29weUNvbnRlbnQuc2VydmVkRnJvbSA9PT0gJ3N0YXRpYycpIHtcbiAgICAgIG91dGNvbWUgPSAnc3RhdGljX2ZhbGxiYWNrJztcbiAgICAgIHJlYXNvbiA9IGhhcmRjb3B5Q29udGVudC5mYWxsYmFja1JlYXNvbjtcbiAgICB9IGVsc2Uge1xuICAgICAgb3V0Y29tZSA9ICdjb250ZW50X2xvYWRlZCc7XG4gICAgfVxuXG4gICAgZW1pdCh7XG4gICAgICB0eXBlOiAnd2lkZ2V0X2xvYWRfb3V0Y29tZScsXG4gICAgICBvdXRjb21lLFxuICAgICAgcmVhc29uLFxuICAgICAgZWxhcHNlZF9tcyxcbiAgICAgIHZpc2liaWxpdHlfc291cmNlOiBpbnB1dFJlZi5jdXJyZW50LnZpc2liaWxpdHlTb3VyY2UsXG4gICAgfSk7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0LWhvb2tzL2V4aGF1c3RpdmUtZGVwc1xuICB9LCBbZW5hYmxlZCwgc3RhcnRMb2FkaW5nLCBvd25SZXF1ZXN0c1NldHRsZWQsIGhhcmRjb3B5Q29udGVudF0pO1xuXG4gIC8vIExheWVyIDEuNSDigJQgc3RhbGwuIE9ubHkgYXJtcyB3aGlsZSBsb2FkaW5nOyBjbGVhcmVkIG9uIHVubW91bnQsIHNvIGFiYW5kb25tZW50IG5ldmVyIHRyaXBzIGl0LlxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghZW5hYmxlZCB8fCAhc3RhcnRMb2FkaW5nIHx8IG93blJlcXVlc3RzU2V0dGxlZCkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCB0aW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3QgZWxhcHNlZF9tcyA9XG4gICAgICAgIHZpc2libGVBdFJlZi5jdXJyZW50ICE9PSBudWxsXG4gICAgICAgICAgPyBNYXRoLnJvdW5kKG5vdygpIC0gdmlzaWJsZUF0UmVmLmN1cnJlbnQpXG4gICAgICAgICAgOiBXSURHRVRfTE9BRF9TVEFMTF9NUztcbiAgICAgIGVtaXQoe1xuICAgICAgICB0eXBlOiAnd2lkZ2V0X2xvYWRfc3RhbGxlZCcsXG4gICAgICAgIGVsYXBzZWRfbXMsXG4gICAgICAgIHBlbmRpbmdfcmVxdWVzdHM6IGlucHV0UmVmLmN1cnJlbnQucGVuZGluZ1JlcXVlc3RzLFxuICAgICAgICB2aXNpYmlsaXR5X3NvdXJjZTogaW5wdXRSZWYuY3VycmVudC52aXNpYmlsaXR5U291cmNlLFxuICAgICAgfSk7XG4gICAgfSwgV0lER0VUX0xPQURfU1RBTExfTVMpO1xuICAgIHJldHVybiAoKSA9PiBjbGVhclRpbWVvdXQodGltZXIpO1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC1ob29rcy9leGhhdXN0aXZlLWRlcHNcbiAgfSwgW2VuYWJsZWQsIHN0YXJ0TG9hZGluZywgb3duUmVxdWVzdHNTZXR0bGVkXSk7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBY0EsTUFBYSx1QkFBdUI7QUEyQnBDLE1BQU0sdUJBQTJDO0FBQy9DLEtBQUk7QUFFRixTQUFRLFVBQXNFLFlBQzFFO1NBQ0U7QUFDTjs7O0FBSUosTUFBTSxZQUFvQjtBQUN4QixLQUFJO0FBQ0YsU0FBTyxPQUFPLFdBQVcsZUFBZSxPQUFPLGFBQWEsTUFDeEQsT0FBTyxZQUFZLEtBQUssR0FDeEIsS0FBSyxLQUFLO1NBQ1I7QUFDTixTQUFPLEtBQUssS0FBSzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBc0JyQixNQUFhLDRCQUE0QixVQUE0QztDQUNuRixNQUFNLEVBQ0osU0FDQSxRQUNBLFlBQ0EsZ0JBQ0EsY0FDQSxvQkFDQSxvQkFDRTtDQUVKLE1BQU0sRUFBRSxlQUFlLGNBQWM7Q0FDckMsTUFBTSxjQUFjLGFBQWEsb0JBQW9CO0NBSXJELE1BQU0sV0FBVyxPQUFPLE1BQU07QUFDOUIsVUFBUyxVQUFVO0NBRW5CLE1BQU0sUUFBUSxVQUFtQztBQUMvQyxhQUFXO0dBQ1QsV0FBVyx1QkFBdUI7R0FDbEMsWUFBWTtJQUNWLFNBQVM7SUFDVCxhQUFhO0lBQ2Isa0JBQWtCO0lBQ2xCLGlCQUFpQixnQkFBZ0I7SUFDakMsU0FBUyxjQUFjLG1CQUFtQixZQUErQixHQUFHO0lBQzVFLEdBQUc7SUFDSjtHQUNGLENBQUM7O0NBS0osTUFBTSxnQkFBZ0IsT0FBTyxNQUFNO0FBQ25DLGlCQUFnQjtBQUNkLE1BQUksQ0FBQyxXQUFXLGNBQWMsUUFBUztBQUN2QyxnQkFBYyxVQUFVO0FBQ3hCLE9BQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0lBRS9CLENBQUMsUUFBUSxDQUFDO0NBR2IsTUFBTSxlQUFlLE9BQXNCLEtBQUs7QUFDaEQsaUJBQWdCO0FBQ2QsTUFBSSxnQkFBZ0IsYUFBYSxZQUFZLEtBQU0sY0FBYSxVQUFVLEtBQUs7SUFDOUUsQ0FBQyxhQUFhLENBQUM7Q0FHbEIsTUFBTSxrQkFBa0IsT0FBTyxNQUFNO0FBQ3JDLGlCQUFnQjtBQUNkLE1BQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLGdCQUFnQixRQUFTO0FBQ2pGLGtCQUFnQixVQUFVO0VBRTFCLE1BQU0sYUFDSixhQUFhLFlBQVksT0FBTyxLQUFLLE1BQU0sS0FBSyxHQUFHLGFBQWEsUUFBUSxHQUFHO0VBRTdFLElBQUlBO0VBQ0osSUFBSUM7QUFDSixNQUFJLENBQUMsaUJBQWlCO0FBQ3BCLGFBQVU7QUFDVixZQUFTLFNBQVMsUUFBUSx1QkFBdUI7YUFDeEMsZ0JBQWdCLGVBQWUsVUFBVTtBQUNsRCxhQUFVO0FBQ1YsWUFBUyxnQkFBZ0I7UUFFekIsV0FBVTtBQUdaLE9BQUs7R0FDSCxNQUFNO0dBQ047R0FDQTtHQUNBO0dBQ0EsbUJBQW1CLFNBQVMsUUFBUTtHQUNyQyxDQUFDO0lBRUQ7RUFBQztFQUFTO0VBQWM7RUFBb0I7RUFBZ0IsQ0FBQztBQUdoRSxpQkFBZ0I7QUFDZCxNQUFJLENBQUMsV0FBVyxDQUFDLGdCQUFnQixtQkFBb0IsUUFBTztFQUM1RCxNQUFNLFFBQVEsaUJBQWlCO0FBSzdCLFFBQUs7SUFDSCxNQUFNO0lBQ04sWUFMQSxhQUFhLFlBQVksT0FDckIsS0FBSyxNQUFNLEtBQUssR0FBRyxhQUFhLFFBQVEsR0FDeEM7SUFJSixrQkFBa0IsU0FBUyxRQUFRO0lBQ25DLG1CQUFtQixTQUFTLFFBQVE7SUFDckMsQ0FBQztLQUNELHFCQUFxQjtBQUN4QixlQUFhLGFBQWEsTUFBTTtJQUUvQjtFQUFDO0VBQVM7RUFBYztFQUFtQixDQUFDIn0=
@@ -19,4 +19,4 @@ declare enum SearchResultsState {
19
19
  declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
20
20
  //#endregion
21
21
  export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGU6IChlbD86IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUFwcExvYWRlZEV2ZW50OiAoKSA9PiBVc2VyRXZlbnQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVWaXNpdFVzZXJFdmVudDogKHsgdmFyaWFudEluZm8sIH06IHtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59KSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1dpdGhpbkJ1c2luZXNzSG91cnM6IChzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTZWFyY2hSZXN1bHRzU3RhdGUge1xuICAgIExvYWRpbmcgPSAwLFxuICAgIFJlc3VsdHMgPSAxLFxuICAgIE5vUmVzdWx0cyA9IDJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZTogKGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbiwgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbCkgPT4gU2VhcmNoUmVzdWx0c1N0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQVcsNEJBQTRCLENBQUMsVUFBVSxlQUFlO0FBQ2pFLElBQVcsdUJBQXVCLENBQUMsVUFBVSxVQUFVO0FBQ3ZELElBQVcsdUJBQXVCO0NBQUM7T0FBVTtPQUFpQjtPQUFBO0NBQUE7QUFDOUQsSUFBVyx3QkFBaUIsQ0FBQSxHQUFBO0FBQzVCLElBQVcscUJBQWdCLENBQUEsR0FBQTtBQUMzQixJQUFXLHdCQUF3QjtDQUFDO09BQVU7T0FBb0I7Q0FBbUIifQ==
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3V0aWxzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VhcmNoUmVzdWx0IH0gZnJvbSAnc3JjL2FwcGxpY2F0aW9uL21vZGVscy9hcGkvc2VhcmNoJztcbmltcG9ydCB7IFVzZXJFdmVudCwgVmFyaWFudEluZm8gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzJztcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzRWxlbWVudFBhcnRpYWxseVZpc2libGU6IChlbD86IEhUTUxEaXZFbGVtZW50IHwgbnVsbCkgPT4gYm9vbGVhbjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZUFwcExvYWRlZEV2ZW50OiAoKSA9PiBVc2VyRXZlbnQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBjcmVhdGVWaXNpdFVzZXJFdmVudDogKHsgdmFyaWFudEluZm8sIH06IHtcbiAgICB2YXJpYW50SW5mbzogVmFyaWFudEluZm87XG59KSA9PiBVc2VyRXZlbnQgfCB1bmRlZmluZWQ7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBpc1dpdGhpbkJ1c2luZXNzSG91cnM6IChzdGFydFRpbWU6IHN0cmluZywgZW5kVGltZTogc3RyaW5nLCB0aW1lWm9uZTogc3RyaW5nKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTZWFyY2hSZXN1bHRzU3RhdGUge1xuICAgIExvYWRpbmcgPSAwLFxuICAgIFJlc3VsdHMgPSAxLFxuICAgIE5vUmVzdWx0cyA9IDJcbn1cbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGdldFNlYXJjaFJlc3VsdHNTdGF0ZTogKGlzTG9hZGluZ1NlYXJjaDogYm9vbGVhbiwgc2VhcmNoRGF0YTogU2VhcmNoUmVzdWx0IHwgbnVsbCkgPT4gU2VhcmNoUmVzdWx0c1N0YXRlO1xuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUVBLElBQVcsNEJBQTRCLENBQUMsV0FBVyxlQUFlO0FBQ2xFLElBQVcsdUJBQXVCLENBQUMsV0FBVyxVQUFVO0FBQ3hELElBQVcsdUJBQXVCO0NBQUM7T0FBVztPQUFnQjtPQUFBO0NBQUE7QUFDOUQsSUFBVyx3QkFBaUIsQ0FBQSxJQUFBO0FBQzVCLElBQVcscUJBQWdCLENBQUEsSUFBQTtBQUMzQixJQUFXLHdCQUF3QjtDQUFDO09BQVc7T0FBb0I7Q0FBbUIifQ==
@@ -19,4 +19,4 @@ declare enum SearchResultsState {
19
19
  declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
20
20
  //#endregion
21
21
  export { SearchResultsState, createAppLoadedEvent, createVisitUserEvent, getSearchResultsState, isElementPartiallyVisible, isWithinBusinessHours };
22
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXRpbHMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNFbGVtZW50UGFydGlhbGx5VmlzaWJsZTogKGVsPzogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlQXBwTG9hZGVkRXZlbnQ6ICgpID0+IFVzZXJFdmVudDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZVZpc2l0VXNlckV2ZW50OiAoeyB2YXJpYW50SW5mbywgfToge1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn0pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzV2l0aGluQnVzaW5lc3NIb3VyczogKHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gICAgTG9hZGluZyA9IDAsXG4gICAgUmVzdWx0cyA9IDEsXG4gICAgTm9SZXN1bHRzID0gMlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlOiAoaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLCBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsKSA9PiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyw0QkFBNEIsQ0FBQyxXQUFXLGVBQWU7QUFDbEUsSUFBVyx1QkFBdUIsQ0FBQyxXQUFXLFVBQVU7QUFDeEQsSUFBVyx1QkFBdUI7Q0FBQztPQUFXO09BQWdCO09BQUE7Q0FBQTtBQUM5RCxJQUFXLHdCQUFpQixDQUFBLElBQUE7QUFDNUIsSUFBVyxxQkFBZ0IsQ0FBQSxJQUFBO0FBQzNCLElBQVcsd0JBQXdCO0NBQUM7T0FBVztPQUFvQjtDQUFtQiJ9
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXRpbHMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWFyY2hSZXN1bHQgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9zZWFyY2gnO1xuaW1wb3J0IHsgVXNlckV2ZW50LCBWYXJpYW50SW5mbyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMnO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgaXNFbGVtZW50UGFydGlhbGx5VmlzaWJsZTogKGVsPzogSFRNTERpdkVsZW1lbnQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgY3JlYXRlQXBwTG9hZGVkRXZlbnQ6ICgpID0+IFVzZXJFdmVudDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGNyZWF0ZVZpc2l0VXNlckV2ZW50OiAoeyB2YXJpYW50SW5mbywgfToge1xuICAgIHZhcmlhbnRJbmZvOiBWYXJpYW50SW5mbztcbn0pID0+IFVzZXJFdmVudCB8IHVuZGVmaW5lZDtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IGlzV2l0aGluQnVzaW5lc3NIb3VyczogKHN0YXJ0VGltZTogc3RyaW5nLCBlbmRUaW1lOiBzdHJpbmcsIHRpbWVab25lOiBzdHJpbmcpID0+IGJvb2xlYW47XG5leHBvcnQgZGVjbGFyZSBlbnVtIFNlYXJjaFJlc3VsdHNTdGF0ZSB7XG4gICAgTG9hZGluZyA9IDAsXG4gICAgUmVzdWx0cyA9IDEsXG4gICAgTm9SZXN1bHRzID0gMlxufVxuZXhwb3J0IGRlY2xhcmUgY29uc3QgZ2V0U2VhcmNoUmVzdWx0c1N0YXRlOiAoaXNMb2FkaW5nU2VhcmNoOiBib29sZWFuLCBzZWFyY2hEYXRhOiBTZWFyY2hSZXN1bHQgfCBudWxsKSA9PiBTZWFyY2hSZXN1bHRzU3RhdGU7XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBRUEsSUFBVyw0QkFBNEIsQ0FBQyxTQUFTLGVBQWU7QUFDaEUsSUFBVyx1QkFBdUIsQ0FBQyxTQUFTLFVBQVU7QUFDdEQsSUFBVyx1QkFBdUI7Q0FBQztPQUFTO09BQWtCO09BQUE7Q0FBQTtBQUM5RCxJQUFXLHdCQUFpQixDQUFBLEVBQUE7QUFDNUIsSUFBVyxxQkFBZ0IsQ0FBQSxFQUFBO0FBQzNCLElBQVcsd0JBQXdCO0NBQUM7T0FBUztPQUFvQjtDQUFtQiJ9
@@ -49,10 +49,11 @@ let EnviveMetricsEventName = /* @__PURE__ */ function(EnviveMetricsEventName$1)
49
49
  EnviveMetricsEventName$1["WidgetTextRequest"] = "Widget Text Request";
50
50
  EnviveMetricsEventName$1["WidgetTextResponse"] = "Widget Text Response";
51
51
  EnviveMetricsEventName$1["WidgetTextClicked"] = "Widget Text Clicked";
52
+ EnviveMetricsEventName$1["Diagnostics"] = "Diagnostics";
52
53
  return EnviveMetricsEventName$1;
53
54
  }({});
54
55
 
55
56
  //#endregion
56
57
  exports.EnviveMetricsEventName = EnviveMetricsEventName;
57
58
  exports.SpiffyMetricsEventName = SpiffyMetricsEventName;
58
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnROYW1lcy5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2FtcGxpdHVkZVNlcnZpY2UvZXZlbnROYW1lcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV2ZW50IG5hbWUgZW51bXMgZm9yIEFtcGxpdHVkZSB0cmFja2luZy5cbiAqXG4gKiBOT1RFOiBUaGlzIGZpbGUgZXhpc3RzIHNlcGFyYXRlbHkgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeSBpc3N1ZXMuXG4gKiBUaGUgYW1wbGl0dWRlU2VydmljZSBpbXBvcnRzIGZyb20gZ2E0UHJvamVjdGlvblNlcnZpY2UsIHdoaWNoIG5lZWRzIHRoZXNlIGVudW1zLlxuICogQnkga2VlcGluZyB0aGUgZW51bXMgaW4gYSBzZXBhcmF0ZSBmaWxlLCBnYTRQcm9qZWN0aW9uU2VydmljZSBjYW4gaW1wb3J0IHRoZW1cbiAqIHdpdGhvdXQgY3JlYXRpbmcgYSBjaXJjdWxhciBkZXBlbmRlbmN5IHdpdGggYW1wbGl0dWRlU2VydmljZS5cbiAqL1xuXG5leHBvcnQgZW51bSBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIHtcbiAgQnVuZGxlTG9hZGVkID0gJ0J1bmRsZSBMb2FkZWQnLFxuICBDaGF0TGl2ZUFnZW50QnRuQ2xpY2sgPSAnQ2hhdCBMaXZlIEFnZW50IEJ0biBDbGljaycsXG4gIENoYXRGbG9hdGluZ0J1dHRvblZpc2libGUgPSAnQ2hhdCBGbG9hdGluZyBCdXR0b24gVmlzaWJsZScsXG4gIENoYXRDb21wb25lbnRWaXNpYmxlID0gJ0NoYXQgQ29tcG9uZW50IFZpc2libGUnLFxuICBDaGF0Q29tcG9uZW50RXhwYW5kZWQgPSAnQ2hhdCBDb21wb25lbnQgRXhwYW5kZWQnLFxuICBDaGF0Q29tcG9uZW50Q29sbGFwc2VkID0gJ0NoYXQgQ29tcG9uZW50IENvbGxhcHNlZCcsXG4gIENoYXRVc2VyTWVzc2FnZUlucHV0ID0gJ0NoYXQgVXNlciBNZXNzYWdlIElucHV0JyxcbiAgQ2hhdFN1Z2dlc3Rpb25DbGlja2VkID0gJ0NoYXQgU3VnZ2VzdGlvbiBDbGlja2VkJyxcbiAgQ2hhdEFzc2lzdGFudFJlc3BvbnNlID0gJ0NoYXQgQXNzaXN0YW50IFJlc3BvbnNlJyxcbiAgUHJvZHVjdENhcmRDbGlja2VkID0gJ1Byb2R1Y3QgQ2FyZCBDbGlja2VkJyxcbiAgUHJvZHVjdFJldmlld0NhcmRDbGlja2VkID0gJ1Byb2R1Y3QgUmV2aWV3IENhcmQgQ2xpY2tlZCcsXG4gIEFkZFRvQ2FydENsaWNrZWQgPSAnQWRkIFRvIENhcnQgQ2xpY2tlZCcsXG4gIFByb21wdENhcmRDbGlja2VkID0gJ1Byb21wdCBDYXJkIENsaWNrZWQnLFxuICBTdXBwb3J0ZWRFdmVudCA9ICdTdXBwb3J0ZWQgRXZlbnQnLFxuICBTZWFyY2hCYWNrVG9SZXNwb25zZUNsaWNrZWQgPSAnU2VhcmNoIEJhY2sgdG8gUmVzcG9uc2UgQ2xpY2tlZCcsXG4gIFBlcmZvcm1hbmNlTWV0cmljcyA9ICdQZXJmb3JtYW5jZSBNZXRyaWNzJyxcbiAgU2VhcmNoQmFyQ2xpY2tlZCA9ICdTZWFyY2ggQmFyIENsaWNrZWQnLFxuICBPcmRlckxvb2t1cFN0YXJ0ZWQgPSAnT3JkZXIgTG9va3VwIFN0YXJ0ZWQnLFxuICBPcmRlckxvb2t1cEZvcm1TdWJtaXR0ZWQgPSAnT3JkZXIgTG9va3VwIEZvcm0gU3VibWl0dGVkJyxcbiAgU2VhcmNoQ29tcG9uZW50VmlzaWJsZSA9ICdTZWFyY2ggQ29tcG9uZW50IFZpc2libGUnLFxuICBTZWFyY2haZXJvU3RhdGVTdWdnZXN0aW9uQ2xpY2tlZCA9ICdTZWFyY2ggWmVybyBTdGF0ZSBTdWdnZXN0aW9uIENsaWNrZWQnLFxuICBTZWFyY2hJbnB1dFN0YXJ0ZWQgPSAnU2VhcmNoIElucHV0IFN0YXJ0ZWQnLFxuICBTZWFyY2hRdWVyeVN1Ym1pdHRlZCA9ICdTZWFyY2ggUXVlcnkgU3VibWl0dGVkJyxcbiAgU2VhcmNoUmVzdWx0c1ZpZXdlZCA9ICdTZWFyY2ggUmVzdWx0cyBWaWV3ZWQnLFxuICBTZWFyY2hUaW1lVG9GaXJzdENsaWNrID0gJ1NlYXJjaCBUaW1lIHRvIEZpcnN0IENsaWNrJyxcbiAgU2VhcmNoWmVyb1Jlc3VsdHNSYXRlID0gJ1NlYXJjaCBaZXJvIFJlc3VsdHMgUmF0ZScsXG4gIFNlYXJjaEZpbHRlckNsaWNrZWQgPSAnU2VhcmNoIEZpbHRlciBDbGlja2VkJyxcbiAgU2VhcmNoU29ydENsaWNrZWQgPSAnU2VhcmNoIFNvcnQgQ2xpY2tlZCcsXG59XG5cbmV4cG9ydCBlbnVtIEVudml2ZU1ldHJpY3NFdmVudE5hbWUge1xuICBXaWRnZXRSZW5kZXJlZCA9ICdXaWRnZXQgUmVuZGVyZWQnLFxuICBXaWRnZXRJbnRlcmFjdGlvbiA9ICdXaWRnZXQgSW50ZXJhY3Rpb24nLFxuICBDaGF0UmVxdWVzdCA9ICdDaGF0IFJlcXVlc3QnLFxuICBDaGF0UmVzcG9uc2UgPSAnQ2hhdCBSZXNwb25zZScsXG4gIEVudml2ZUluaXRpYWxpemVkID0gJ0Vudml2ZSBJbml0aWFsaXplZCcsXG4gIFBhZ2VWaWV3ZWQgPSAnUGFnZSBWaWV3ZWQnLFxuICBXaWRnZXRUZXh0UmVxdWVzdCA9ICdXaWRnZXQgVGV4dCBSZXF1ZXN0JyxcbiAgV2lkZ2V0VGV4dFJlc3BvbnNlID0gJ1dpZGdldCBUZXh0IFJlc3BvbnNlJyxcbiAgV2lkZ2V0VGV4dENsaWNrZWQgPSAnV2lkZ2V0IFRleHQgQ2xpY2tlZCcsXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFTQSxJQUFZLDRFQUFMO0FBQ0w7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7OztBQUdGLElBQVksNEVBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EifQ==
59
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnROYW1lcy5janMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3NlcnZpY2VzL2FtcGxpdHVkZVNlcnZpY2UvZXZlbnROYW1lcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV2ZW50IG5hbWUgZW51bXMgZm9yIEFtcGxpdHVkZSB0cmFja2luZy5cbiAqXG4gKiBOT1RFOiBUaGlzIGZpbGUgZXhpc3RzIHNlcGFyYXRlbHkgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeSBpc3N1ZXMuXG4gKiBUaGUgYW1wbGl0dWRlU2VydmljZSBpbXBvcnRzIGZyb20gZ2E0UHJvamVjdGlvblNlcnZpY2UsIHdoaWNoIG5lZWRzIHRoZXNlIGVudW1zLlxuICogQnkga2VlcGluZyB0aGUgZW51bXMgaW4gYSBzZXBhcmF0ZSBmaWxlLCBnYTRQcm9qZWN0aW9uU2VydmljZSBjYW4gaW1wb3J0IHRoZW1cbiAqIHdpdGhvdXQgY3JlYXRpbmcgYSBjaXJjdWxhciBkZXBlbmRlbmN5IHdpdGggYW1wbGl0dWRlU2VydmljZS5cbiAqL1xuXG5leHBvcnQgZW51bSBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIHtcbiAgQnVuZGxlTG9hZGVkID0gJ0J1bmRsZSBMb2FkZWQnLFxuICBDaGF0TGl2ZUFnZW50QnRuQ2xpY2sgPSAnQ2hhdCBMaXZlIEFnZW50IEJ0biBDbGljaycsXG4gIENoYXRGbG9hdGluZ0J1dHRvblZpc2libGUgPSAnQ2hhdCBGbG9hdGluZyBCdXR0b24gVmlzaWJsZScsXG4gIENoYXRDb21wb25lbnRWaXNpYmxlID0gJ0NoYXQgQ29tcG9uZW50IFZpc2libGUnLFxuICBDaGF0Q29tcG9uZW50RXhwYW5kZWQgPSAnQ2hhdCBDb21wb25lbnQgRXhwYW5kZWQnLFxuICBDaGF0Q29tcG9uZW50Q29sbGFwc2VkID0gJ0NoYXQgQ29tcG9uZW50IENvbGxhcHNlZCcsXG4gIENoYXRVc2VyTWVzc2FnZUlucHV0ID0gJ0NoYXQgVXNlciBNZXNzYWdlIElucHV0JyxcbiAgQ2hhdFN1Z2dlc3Rpb25DbGlja2VkID0gJ0NoYXQgU3VnZ2VzdGlvbiBDbGlja2VkJyxcbiAgQ2hhdEFzc2lzdGFudFJlc3BvbnNlID0gJ0NoYXQgQXNzaXN0YW50IFJlc3BvbnNlJyxcbiAgUHJvZHVjdENhcmRDbGlja2VkID0gJ1Byb2R1Y3QgQ2FyZCBDbGlja2VkJyxcbiAgUHJvZHVjdFJldmlld0NhcmRDbGlja2VkID0gJ1Byb2R1Y3QgUmV2aWV3IENhcmQgQ2xpY2tlZCcsXG4gIEFkZFRvQ2FydENsaWNrZWQgPSAnQWRkIFRvIENhcnQgQ2xpY2tlZCcsXG4gIFByb21wdENhcmRDbGlja2VkID0gJ1Byb21wdCBDYXJkIENsaWNrZWQnLFxuICBTdXBwb3J0ZWRFdmVudCA9ICdTdXBwb3J0ZWQgRXZlbnQnLFxuICBTZWFyY2hCYWNrVG9SZXNwb25zZUNsaWNrZWQgPSAnU2VhcmNoIEJhY2sgdG8gUmVzcG9uc2UgQ2xpY2tlZCcsXG4gIFBlcmZvcm1hbmNlTWV0cmljcyA9ICdQZXJmb3JtYW5jZSBNZXRyaWNzJyxcbiAgU2VhcmNoQmFyQ2xpY2tlZCA9ICdTZWFyY2ggQmFyIENsaWNrZWQnLFxuICBPcmRlckxvb2t1cFN0YXJ0ZWQgPSAnT3JkZXIgTG9va3VwIFN0YXJ0ZWQnLFxuICBPcmRlckxvb2t1cEZvcm1TdWJtaXR0ZWQgPSAnT3JkZXIgTG9va3VwIEZvcm0gU3VibWl0dGVkJyxcbiAgU2VhcmNoQ29tcG9uZW50VmlzaWJsZSA9ICdTZWFyY2ggQ29tcG9uZW50IFZpc2libGUnLFxuICBTZWFyY2haZXJvU3RhdGVTdWdnZXN0aW9uQ2xpY2tlZCA9ICdTZWFyY2ggWmVybyBTdGF0ZSBTdWdnZXN0aW9uIENsaWNrZWQnLFxuICBTZWFyY2hJbnB1dFN0YXJ0ZWQgPSAnU2VhcmNoIElucHV0IFN0YXJ0ZWQnLFxuICBTZWFyY2hRdWVyeVN1Ym1pdHRlZCA9ICdTZWFyY2ggUXVlcnkgU3VibWl0dGVkJyxcbiAgU2VhcmNoUmVzdWx0c1ZpZXdlZCA9ICdTZWFyY2ggUmVzdWx0cyBWaWV3ZWQnLFxuICBTZWFyY2hUaW1lVG9GaXJzdENsaWNrID0gJ1NlYXJjaCBUaW1lIHRvIEZpcnN0IENsaWNrJyxcbiAgU2VhcmNoWmVyb1Jlc3VsdHNSYXRlID0gJ1NlYXJjaCBaZXJvIFJlc3VsdHMgUmF0ZScsXG4gIFNlYXJjaEZpbHRlckNsaWNrZWQgPSAnU2VhcmNoIEZpbHRlciBDbGlja2VkJyxcbiAgU2VhcmNoU29ydENsaWNrZWQgPSAnU2VhcmNoIFNvcnQgQ2xpY2tlZCcsXG59XG5cbmV4cG9ydCBlbnVtIEVudml2ZU1ldHJpY3NFdmVudE5hbWUge1xuICBXaWRnZXRSZW5kZXJlZCA9ICdXaWRnZXQgUmVuZGVyZWQnLFxuICBXaWRnZXRJbnRlcmFjdGlvbiA9ICdXaWRnZXQgSW50ZXJhY3Rpb24nLFxuICBDaGF0UmVxdWVzdCA9ICdDaGF0IFJlcXVlc3QnLFxuICBDaGF0UmVzcG9uc2UgPSAnQ2hhdCBSZXNwb25zZScsXG4gIEVudml2ZUluaXRpYWxpemVkID0gJ0Vudml2ZSBJbml0aWFsaXplZCcsXG4gIFBhZ2VWaWV3ZWQgPSAnUGFnZSBWaWV3ZWQnLFxuICBXaWRnZXRUZXh0UmVxdWVzdCA9ICdXaWRnZXQgVGV4dCBSZXF1ZXN0JyxcbiAgV2lkZ2V0VGV4dFJlc3BvbnNlID0gJ1dpZGdldCBUZXh0IFJlc3BvbnNlJyxcbiAgV2lkZ2V0VGV4dENsaWNrZWQgPSAnV2lkZ2V0IFRleHQgQ2xpY2tlZCcsXG4gIC8vIE9wZXJhdGlvbmFsIGRpYWdub3N0aWNzIGZvciB3aWRnZXQgbG9hZGluZyAoc2VlIHVzZVdpZGdldExvYWREaWFnbm9zdGljcykuIEEgc2luZ2xlIGV2ZW50XG4gIC8vIHdpdGggYSBgdHlwZWAgZGlzY3JpbWluYXRvciAod2lkZ2V0X21vdW50ZWQgfCB3aWRnZXRfbG9hZF9vdXRjb21lIHwgd2lkZ2V0X2xvYWRfc3RhbGxlZClcbiAgLy8gc28gZW5nIGNhbiBtZWFzdXJlIHRoZSBsYXllcmVkIGxvYWQgbmV0IGFuZCwgY3J1Y2lhbGx5LCB0aGUgbmVnYXRpdmUgc3BhY2UgYmV0d2VlbiBsYXllcnMuXG4gIERpYWdub3N0aWNzID0gJ0RpYWdub3N0aWNzJyxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVNBLElBQVksNEVBQUw7QUFDTDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7O0FBR0YsSUFBWSw0RUFBTDtBQUNMO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUlBIn0=
@@ -47,7 +47,8 @@ declare enum EnviveMetricsEventName {
47
47
  WidgetTextRequest = "Widget Text Request",
48
48
  WidgetTextResponse = "Widget Text Response",
49
49
  WidgetTextClicked = "Widget Text Clicked",
50
+ Diagnostics = "Diagnostics",
50
51
  }
51
52
  //#endregion
52
53
  export { EnviveMetricsEventName, SpiffyMetricsEventName };
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnROYW1lcy5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9ldmVudE5hbWVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFdmVudCBuYW1lIGVudW1zIGZvciBBbXBsaXR1ZGUgdHJhY2tpbmcuXG4gKlxuICogTk9URTogVGhpcyBmaWxlIGV4aXN0cyBzZXBhcmF0ZWx5IHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY3kgaXNzdWVzLlxuICogVGhlIGFtcGxpdHVkZVNlcnZpY2UgaW1wb3J0cyBmcm9tIGdhNFByb2plY3Rpb25TZXJ2aWNlLCB3aGljaCBuZWVkcyB0aGVzZSBlbnVtcy5cbiAqIEJ5IGtlZXBpbmcgdGhlIGVudW1zIGluIGEgc2VwYXJhdGUgZmlsZSwgZ2E0UHJvamVjdGlvblNlcnZpY2UgY2FuIGltcG9ydCB0aGVtXG4gKiB3aXRob3V0IGNyZWF0aW5nIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSB3aXRoIGFtcGxpdHVkZVNlcnZpY2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGVudW0gU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB7XG4gICAgQnVuZGxlTG9hZGVkID0gXCJCdW5kbGUgTG9hZGVkXCIsXG4gICAgQ2hhdExpdmVBZ2VudEJ0bkNsaWNrID0gXCJDaGF0IExpdmUgQWdlbnQgQnRuIENsaWNrXCIsXG4gICAgQ2hhdEZsb2F0aW5nQnV0dG9uVmlzaWJsZSA9IFwiQ2hhdCBGbG9hdGluZyBCdXR0b24gVmlzaWJsZVwiLFxuICAgIENoYXRDb21wb25lbnRWaXNpYmxlID0gXCJDaGF0IENvbXBvbmVudCBWaXNpYmxlXCIsXG4gICAgQ2hhdENvbXBvbmVudEV4cGFuZGVkID0gXCJDaGF0IENvbXBvbmVudCBFeHBhbmRlZFwiLFxuICAgIENoYXRDb21wb25lbnRDb2xsYXBzZWQgPSBcIkNoYXQgQ29tcG9uZW50IENvbGxhcHNlZFwiLFxuICAgIENoYXRVc2VyTWVzc2FnZUlucHV0ID0gXCJDaGF0IFVzZXIgTWVzc2FnZSBJbnB1dFwiLFxuICAgIENoYXRTdWdnZXN0aW9uQ2xpY2tlZCA9IFwiQ2hhdCBTdWdnZXN0aW9uIENsaWNrZWRcIixcbiAgICBDaGF0QXNzaXN0YW50UmVzcG9uc2UgPSBcIkNoYXQgQXNzaXN0YW50IFJlc3BvbnNlXCIsXG4gICAgUHJvZHVjdENhcmRDbGlja2VkID0gXCJQcm9kdWN0IENhcmQgQ2xpY2tlZFwiLFxuICAgIFByb2R1Y3RSZXZpZXdDYXJkQ2xpY2tlZCA9IFwiUHJvZHVjdCBSZXZpZXcgQ2FyZCBDbGlja2VkXCIsXG4gICAgQWRkVG9DYXJ0Q2xpY2tlZCA9IFwiQWRkIFRvIENhcnQgQ2xpY2tlZFwiLFxuICAgIFByb21wdENhcmRDbGlja2VkID0gXCJQcm9tcHQgQ2FyZCBDbGlja2VkXCIsXG4gICAgU3VwcG9ydGVkRXZlbnQgPSBcIlN1cHBvcnRlZCBFdmVudFwiLFxuICAgIFNlYXJjaEJhY2tUb1Jlc3BvbnNlQ2xpY2tlZCA9IFwiU2VhcmNoIEJhY2sgdG8gUmVzcG9uc2UgQ2xpY2tlZFwiLFxuICAgIFBlcmZvcm1hbmNlTWV0cmljcyA9IFwiUGVyZm9ybWFuY2UgTWV0cmljc1wiLFxuICAgIFNlYXJjaEJhckNsaWNrZWQgPSBcIlNlYXJjaCBCYXIgQ2xpY2tlZFwiLFxuICAgIE9yZGVyTG9va3VwU3RhcnRlZCA9IFwiT3JkZXIgTG9va3VwIFN0YXJ0ZWRcIixcbiAgICBPcmRlckxvb2t1cEZvcm1TdWJtaXR0ZWQgPSBcIk9yZGVyIExvb2t1cCBGb3JtIFN1Ym1pdHRlZFwiLFxuICAgIFNlYXJjaENvbXBvbmVudFZpc2libGUgPSBcIlNlYXJjaCBDb21wb25lbnQgVmlzaWJsZVwiLFxuICAgIFNlYXJjaFplcm9TdGF0ZVN1Z2dlc3Rpb25DbGlja2VkID0gXCJTZWFyY2ggWmVybyBTdGF0ZSBTdWdnZXN0aW9uIENsaWNrZWRcIixcbiAgICBTZWFyY2hJbnB1dFN0YXJ0ZWQgPSBcIlNlYXJjaCBJbnB1dCBTdGFydGVkXCIsXG4gICAgU2VhcmNoUXVlcnlTdWJtaXR0ZWQgPSBcIlNlYXJjaCBRdWVyeSBTdWJtaXR0ZWRcIixcbiAgICBTZWFyY2hSZXN1bHRzVmlld2VkID0gXCJTZWFyY2ggUmVzdWx0cyBWaWV3ZWRcIixcbiAgICBTZWFyY2hUaW1lVG9GaXJzdENsaWNrID0gXCJTZWFyY2ggVGltZSB0byBGaXJzdCBDbGlja1wiLFxuICAgIFNlYXJjaFplcm9SZXN1bHRzUmF0ZSA9IFwiU2VhcmNoIFplcm8gUmVzdWx0cyBSYXRlXCIsXG4gICAgU2VhcmNoRmlsdGVyQ2xpY2tlZCA9IFwiU2VhcmNoIEZpbHRlciBDbGlja2VkXCIsXG4gICAgU2VhcmNoU29ydENsaWNrZWQgPSBcIlNlYXJjaCBTb3J0IENsaWNrZWRcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIHtcbiAgICBXaWRnZXRSZW5kZXJlZCA9IFwiV2lkZ2V0IFJlbmRlcmVkXCIsXG4gICAgV2lkZ2V0SW50ZXJhY3Rpb24gPSBcIldpZGdldCBJbnRlcmFjdGlvblwiLFxuICAgIENoYXRSZXF1ZXN0ID0gXCJDaGF0IFJlcXVlc3RcIixcbiAgICBDaGF0UmVzcG9uc2UgPSBcIkNoYXQgUmVzcG9uc2VcIixcbiAgICBFbnZpdmVJbml0aWFsaXplZCA9IFwiRW52aXZlIEluaXRpYWxpemVkXCIsXG4gICAgUGFnZVZpZXdlZCA9IFwiUGFnZSBWaWV3ZWRcIixcbiAgICBXaWRnZXRUZXh0UmVxdWVzdCA9IFwiV2lkZ2V0IFRleHQgUmVxdWVzdFwiLFxuICAgIFdpZGdldFRleHRSZXNwb25zZSA9IFwiV2lkZ2V0IFRleHQgUmVzcG9uc2VcIixcbiAgICBXaWRnZXRUZXh0Q2xpY2tlZCA9IFwiV2lkZ2V0IFRleHQgQ2xpY2tlZFwiXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFFLHlCQUFBLENBQUEsSUFBQTtBQUNGLElBQVcseUJBQXlCLENBQUMsSUFBSSJ9
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnROYW1lcy5kLmN0cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvc2VydmljZXMvYW1wbGl0dWRlU2VydmljZS9ldmVudE5hbWVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFdmVudCBuYW1lIGVudW1zIGZvciBBbXBsaXR1ZGUgdHJhY2tpbmcuXG4gKlxuICogTk9URTogVGhpcyBmaWxlIGV4aXN0cyBzZXBhcmF0ZWx5IHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY3kgaXNzdWVzLlxuICogVGhlIGFtcGxpdHVkZVNlcnZpY2UgaW1wb3J0cyBmcm9tIGdhNFByb2plY3Rpb25TZXJ2aWNlLCB3aGljaCBuZWVkcyB0aGVzZSBlbnVtcy5cbiAqIEJ5IGtlZXBpbmcgdGhlIGVudW1zIGluIGEgc2VwYXJhdGUgZmlsZSwgZ2E0UHJvamVjdGlvblNlcnZpY2UgY2FuIGltcG9ydCB0aGVtXG4gKiB3aXRob3V0IGNyZWF0aW5nIGEgY2lyY3VsYXIgZGVwZW5kZW5jeSB3aXRoIGFtcGxpdHVkZVNlcnZpY2UuXG4gKi9cbmV4cG9ydCBkZWNsYXJlIGVudW0gU3BpZmZ5TWV0cmljc0V2ZW50TmFtZSB7XG4gICAgQnVuZGxlTG9hZGVkID0gXCJCdW5kbGUgTG9hZGVkXCIsXG4gICAgQ2hhdExpdmVBZ2VudEJ0bkNsaWNrID0gXCJDaGF0IExpdmUgQWdlbnQgQnRuIENsaWNrXCIsXG4gICAgQ2hhdEZsb2F0aW5nQnV0dG9uVmlzaWJsZSA9IFwiQ2hhdCBGbG9hdGluZyBCdXR0b24gVmlzaWJsZVwiLFxuICAgIENoYXRDb21wb25lbnRWaXNpYmxlID0gXCJDaGF0IENvbXBvbmVudCBWaXNpYmxlXCIsXG4gICAgQ2hhdENvbXBvbmVudEV4cGFuZGVkID0gXCJDaGF0IENvbXBvbmVudCBFeHBhbmRlZFwiLFxuICAgIENoYXRDb21wb25lbnRDb2xsYXBzZWQgPSBcIkNoYXQgQ29tcG9uZW50IENvbGxhcHNlZFwiLFxuICAgIENoYXRVc2VyTWVzc2FnZUlucHV0ID0gXCJDaGF0IFVzZXIgTWVzc2FnZSBJbnB1dFwiLFxuICAgIENoYXRTdWdnZXN0aW9uQ2xpY2tlZCA9IFwiQ2hhdCBTdWdnZXN0aW9uIENsaWNrZWRcIixcbiAgICBDaGF0QXNzaXN0YW50UmVzcG9uc2UgPSBcIkNoYXQgQXNzaXN0YW50IFJlc3BvbnNlXCIsXG4gICAgUHJvZHVjdENhcmRDbGlja2VkID0gXCJQcm9kdWN0IENhcmQgQ2xpY2tlZFwiLFxuICAgIFByb2R1Y3RSZXZpZXdDYXJkQ2xpY2tlZCA9IFwiUHJvZHVjdCBSZXZpZXcgQ2FyZCBDbGlja2VkXCIsXG4gICAgQWRkVG9DYXJ0Q2xpY2tlZCA9IFwiQWRkIFRvIENhcnQgQ2xpY2tlZFwiLFxuICAgIFByb21wdENhcmRDbGlja2VkID0gXCJQcm9tcHQgQ2FyZCBDbGlja2VkXCIsXG4gICAgU3VwcG9ydGVkRXZlbnQgPSBcIlN1cHBvcnRlZCBFdmVudFwiLFxuICAgIFNlYXJjaEJhY2tUb1Jlc3BvbnNlQ2xpY2tlZCA9IFwiU2VhcmNoIEJhY2sgdG8gUmVzcG9uc2UgQ2xpY2tlZFwiLFxuICAgIFBlcmZvcm1hbmNlTWV0cmljcyA9IFwiUGVyZm9ybWFuY2UgTWV0cmljc1wiLFxuICAgIFNlYXJjaEJhckNsaWNrZWQgPSBcIlNlYXJjaCBCYXIgQ2xpY2tlZFwiLFxuICAgIE9yZGVyTG9va3VwU3RhcnRlZCA9IFwiT3JkZXIgTG9va3VwIFN0YXJ0ZWRcIixcbiAgICBPcmRlckxvb2t1cEZvcm1TdWJtaXR0ZWQgPSBcIk9yZGVyIExvb2t1cCBGb3JtIFN1Ym1pdHRlZFwiLFxuICAgIFNlYXJjaENvbXBvbmVudFZpc2libGUgPSBcIlNlYXJjaCBDb21wb25lbnQgVmlzaWJsZVwiLFxuICAgIFNlYXJjaFplcm9TdGF0ZVN1Z2dlc3Rpb25DbGlja2VkID0gXCJTZWFyY2ggWmVybyBTdGF0ZSBTdWdnZXN0aW9uIENsaWNrZWRcIixcbiAgICBTZWFyY2hJbnB1dFN0YXJ0ZWQgPSBcIlNlYXJjaCBJbnB1dCBTdGFydGVkXCIsXG4gICAgU2VhcmNoUXVlcnlTdWJtaXR0ZWQgPSBcIlNlYXJjaCBRdWVyeSBTdWJtaXR0ZWRcIixcbiAgICBTZWFyY2hSZXN1bHRzVmlld2VkID0gXCJTZWFyY2ggUmVzdWx0cyBWaWV3ZWRcIixcbiAgICBTZWFyY2hUaW1lVG9GaXJzdENsaWNrID0gXCJTZWFyY2ggVGltZSB0byBGaXJzdCBDbGlja1wiLFxuICAgIFNlYXJjaFplcm9SZXN1bHRzUmF0ZSA9IFwiU2VhcmNoIFplcm8gUmVzdWx0cyBSYXRlXCIsXG4gICAgU2VhcmNoRmlsdGVyQ2xpY2tlZCA9IFwiU2VhcmNoIEZpbHRlciBDbGlja2VkXCIsXG4gICAgU2VhcmNoU29ydENsaWNrZWQgPSBcIlNlYXJjaCBTb3J0IENsaWNrZWRcIlxufVxuZXhwb3J0IGRlY2xhcmUgZW51bSBFbnZpdmVNZXRyaWNzRXZlbnROYW1lIHtcbiAgICBXaWRnZXRSZW5kZXJlZCA9IFwiV2lkZ2V0IFJlbmRlcmVkXCIsXG4gICAgV2lkZ2V0SW50ZXJhY3Rpb24gPSBcIldpZGdldCBJbnRlcmFjdGlvblwiLFxuICAgIENoYXRSZXF1ZXN0ID0gXCJDaGF0IFJlcXVlc3RcIixcbiAgICBDaGF0UmVzcG9uc2UgPSBcIkNoYXQgUmVzcG9uc2VcIixcbiAgICBFbnZpdmVJbml0aWFsaXplZCA9IFwiRW52aXZlIEluaXRpYWxpemVkXCIsXG4gICAgUGFnZVZpZXdlZCA9IFwiUGFnZSBWaWV3ZWRcIixcbiAgICBXaWRnZXRUZXh0UmVxdWVzdCA9IFwiV2lkZ2V0IFRleHQgUmVxdWVzdFwiLFxuICAgIFdpZGdldFRleHRSZXNwb25zZSA9IFwiV2lkZ2V0IFRleHQgUmVzcG9uc2VcIixcbiAgICBXaWRnZXRUZXh0Q2xpY2tlZCA9IFwiV2lkZ2V0IFRleHQgQ2xpY2tlZFwiLFxuICAgIERpYWdub3N0aWNzID0gXCJEaWFnbm9zdGljc1wiXG59XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFFLHlCQUFBLENBQUEsSUFBQTtBQUNGLElBQVcseUJBQXlCLENBQUMsSUFBSSJ9
@@ -47,7 +47,8 @@ declare enum EnviveMetricsEventName {
47
47
  WidgetTextRequest = "Widget Text Request",
48
48
  WidgetTextResponse = "Widget Text Response",
49
49
  WidgetTextClicked = "Widget Text Clicked",
50
+ Diagnostics = "Diagnostics",
50
51
  }
51
52
  //#endregion
52
53
  export { EnviveMetricsEventName, SpiffyMetricsEventName };
53
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnROYW1lcy5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2V2ZW50TmFtZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV2ZW50IG5hbWUgZW51bXMgZm9yIEFtcGxpdHVkZSB0cmFja2luZy5cbiAqXG4gKiBOT1RFOiBUaGlzIGZpbGUgZXhpc3RzIHNlcGFyYXRlbHkgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeSBpc3N1ZXMuXG4gKiBUaGUgYW1wbGl0dWRlU2VydmljZSBpbXBvcnRzIGZyb20gZ2E0UHJvamVjdGlvblNlcnZpY2UsIHdoaWNoIG5lZWRzIHRoZXNlIGVudW1zLlxuICogQnkga2VlcGluZyB0aGUgZW51bXMgaW4gYSBzZXBhcmF0ZSBmaWxlLCBnYTRQcm9qZWN0aW9uU2VydmljZSBjYW4gaW1wb3J0IHRoZW1cbiAqIHdpdGhvdXQgY3JlYXRpbmcgYSBjaXJjdWxhciBkZXBlbmRlbmN5IHdpdGggYW1wbGl0dWRlU2VydmljZS5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIHtcbiAgICBCdW5kbGVMb2FkZWQgPSBcIkJ1bmRsZSBMb2FkZWRcIixcbiAgICBDaGF0TGl2ZUFnZW50QnRuQ2xpY2sgPSBcIkNoYXQgTGl2ZSBBZ2VudCBCdG4gQ2xpY2tcIixcbiAgICBDaGF0RmxvYXRpbmdCdXR0b25WaXNpYmxlID0gXCJDaGF0IEZsb2F0aW5nIEJ1dHRvbiBWaXNpYmxlXCIsXG4gICAgQ2hhdENvbXBvbmVudFZpc2libGUgPSBcIkNoYXQgQ29tcG9uZW50IFZpc2libGVcIixcbiAgICBDaGF0Q29tcG9uZW50RXhwYW5kZWQgPSBcIkNoYXQgQ29tcG9uZW50IEV4cGFuZGVkXCIsXG4gICAgQ2hhdENvbXBvbmVudENvbGxhcHNlZCA9IFwiQ2hhdCBDb21wb25lbnQgQ29sbGFwc2VkXCIsXG4gICAgQ2hhdFVzZXJNZXNzYWdlSW5wdXQgPSBcIkNoYXQgVXNlciBNZXNzYWdlIElucHV0XCIsXG4gICAgQ2hhdFN1Z2dlc3Rpb25DbGlja2VkID0gXCJDaGF0IFN1Z2dlc3Rpb24gQ2xpY2tlZFwiLFxuICAgIENoYXRBc3Npc3RhbnRSZXNwb25zZSA9IFwiQ2hhdCBBc3Npc3RhbnQgUmVzcG9uc2VcIixcbiAgICBQcm9kdWN0Q2FyZENsaWNrZWQgPSBcIlByb2R1Y3QgQ2FyZCBDbGlja2VkXCIsXG4gICAgUHJvZHVjdFJldmlld0NhcmRDbGlja2VkID0gXCJQcm9kdWN0IFJldmlldyBDYXJkIENsaWNrZWRcIixcbiAgICBBZGRUb0NhcnRDbGlja2VkID0gXCJBZGQgVG8gQ2FydCBDbGlja2VkXCIsXG4gICAgUHJvbXB0Q2FyZENsaWNrZWQgPSBcIlByb21wdCBDYXJkIENsaWNrZWRcIixcbiAgICBTdXBwb3J0ZWRFdmVudCA9IFwiU3VwcG9ydGVkIEV2ZW50XCIsXG4gICAgU2VhcmNoQmFja1RvUmVzcG9uc2VDbGlja2VkID0gXCJTZWFyY2ggQmFjayB0byBSZXNwb25zZSBDbGlja2VkXCIsXG4gICAgUGVyZm9ybWFuY2VNZXRyaWNzID0gXCJQZXJmb3JtYW5jZSBNZXRyaWNzXCIsXG4gICAgU2VhcmNoQmFyQ2xpY2tlZCA9IFwiU2VhcmNoIEJhciBDbGlja2VkXCIsXG4gICAgT3JkZXJMb29rdXBTdGFydGVkID0gXCJPcmRlciBMb29rdXAgU3RhcnRlZFwiLFxuICAgIE9yZGVyTG9va3VwRm9ybVN1Ym1pdHRlZCA9IFwiT3JkZXIgTG9va3VwIEZvcm0gU3VibWl0dGVkXCIsXG4gICAgU2VhcmNoQ29tcG9uZW50VmlzaWJsZSA9IFwiU2VhcmNoIENvbXBvbmVudCBWaXNpYmxlXCIsXG4gICAgU2VhcmNoWmVyb1N0YXRlU3VnZ2VzdGlvbkNsaWNrZWQgPSBcIlNlYXJjaCBaZXJvIFN0YXRlIFN1Z2dlc3Rpb24gQ2xpY2tlZFwiLFxuICAgIFNlYXJjaElucHV0U3RhcnRlZCA9IFwiU2VhcmNoIElucHV0IFN0YXJ0ZWRcIixcbiAgICBTZWFyY2hRdWVyeVN1Ym1pdHRlZCA9IFwiU2VhcmNoIFF1ZXJ5IFN1Ym1pdHRlZFwiLFxuICAgIFNlYXJjaFJlc3VsdHNWaWV3ZWQgPSBcIlNlYXJjaCBSZXN1bHRzIFZpZXdlZFwiLFxuICAgIFNlYXJjaFRpbWVUb0ZpcnN0Q2xpY2sgPSBcIlNlYXJjaCBUaW1lIHRvIEZpcnN0IENsaWNrXCIsXG4gICAgU2VhcmNoWmVyb1Jlc3VsdHNSYXRlID0gXCJTZWFyY2ggWmVybyBSZXN1bHRzIFJhdGVcIixcbiAgICBTZWFyY2hGaWx0ZXJDbGlja2VkID0gXCJTZWFyY2ggRmlsdGVyIENsaWNrZWRcIixcbiAgICBTZWFyY2hTb3J0Q2xpY2tlZCA9IFwiU2VhcmNoIFNvcnQgQ2xpY2tlZFwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEVudml2ZU1ldHJpY3NFdmVudE5hbWUge1xuICAgIFdpZGdldFJlbmRlcmVkID0gXCJXaWRnZXQgUmVuZGVyZWRcIixcbiAgICBXaWRnZXRJbnRlcmFjdGlvbiA9IFwiV2lkZ2V0IEludGVyYWN0aW9uXCIsXG4gICAgQ2hhdFJlcXVlc3QgPSBcIkNoYXQgUmVxdWVzdFwiLFxuICAgIENoYXRSZXNwb25zZSA9IFwiQ2hhdCBSZXNwb25zZVwiLFxuICAgIEVudml2ZUluaXRpYWxpemVkID0gXCJFbnZpdmUgSW5pdGlhbGl6ZWRcIixcbiAgICBQYWdlVmlld2VkID0gXCJQYWdlIFZpZXdlZFwiLFxuICAgIFdpZGdldFRleHRSZXF1ZXN0ID0gXCJXaWRnZXQgVGV4dCBSZXF1ZXN0XCIsXG4gICAgV2lkZ2V0VGV4dFJlc3BvbnNlID0gXCJXaWRnZXQgVGV4dCBSZXNwb25zZVwiLFxuICAgIFdpZGdldFRleHRDbGlja2VkID0gXCJXaWRnZXQgVGV4dCBDbGlja2VkXCJcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUUseUJBQUEsQ0FBQSxJQUFBO0FBQ0YsSUFBVyx5QkFBeUIsQ0FBQyxJQUFJIn0=
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnROYW1lcy5kLnRzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9hbXBsaXR1ZGVTZXJ2aWNlL2V2ZW50TmFtZXMuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV2ZW50IG5hbWUgZW51bXMgZm9yIEFtcGxpdHVkZSB0cmFja2luZy5cbiAqXG4gKiBOT1RFOiBUaGlzIGZpbGUgZXhpc3RzIHNlcGFyYXRlbHkgdG8gYXZvaWQgY2lyY3VsYXIgZGVwZW5kZW5jeSBpc3N1ZXMuXG4gKiBUaGUgYW1wbGl0dWRlU2VydmljZSBpbXBvcnRzIGZyb20gZ2E0UHJvamVjdGlvblNlcnZpY2UsIHdoaWNoIG5lZWRzIHRoZXNlIGVudW1zLlxuICogQnkga2VlcGluZyB0aGUgZW51bXMgaW4gYSBzZXBhcmF0ZSBmaWxlLCBnYTRQcm9qZWN0aW9uU2VydmljZSBjYW4gaW1wb3J0IHRoZW1cbiAqIHdpdGhvdXQgY3JlYXRpbmcgYSBjaXJjdWxhciBkZXBlbmRlbmN5IHdpdGggYW1wbGl0dWRlU2VydmljZS5cbiAqL1xuZXhwb3J0IGRlY2xhcmUgZW51bSBTcGlmZnlNZXRyaWNzRXZlbnROYW1lIHtcbiAgICBCdW5kbGVMb2FkZWQgPSBcIkJ1bmRsZSBMb2FkZWRcIixcbiAgICBDaGF0TGl2ZUFnZW50QnRuQ2xpY2sgPSBcIkNoYXQgTGl2ZSBBZ2VudCBCdG4gQ2xpY2tcIixcbiAgICBDaGF0RmxvYXRpbmdCdXR0b25WaXNpYmxlID0gXCJDaGF0IEZsb2F0aW5nIEJ1dHRvbiBWaXNpYmxlXCIsXG4gICAgQ2hhdENvbXBvbmVudFZpc2libGUgPSBcIkNoYXQgQ29tcG9uZW50IFZpc2libGVcIixcbiAgICBDaGF0Q29tcG9uZW50RXhwYW5kZWQgPSBcIkNoYXQgQ29tcG9uZW50IEV4cGFuZGVkXCIsXG4gICAgQ2hhdENvbXBvbmVudENvbGxhcHNlZCA9IFwiQ2hhdCBDb21wb25lbnQgQ29sbGFwc2VkXCIsXG4gICAgQ2hhdFVzZXJNZXNzYWdlSW5wdXQgPSBcIkNoYXQgVXNlciBNZXNzYWdlIElucHV0XCIsXG4gICAgQ2hhdFN1Z2dlc3Rpb25DbGlja2VkID0gXCJDaGF0IFN1Z2dlc3Rpb24gQ2xpY2tlZFwiLFxuICAgIENoYXRBc3Npc3RhbnRSZXNwb25zZSA9IFwiQ2hhdCBBc3Npc3RhbnQgUmVzcG9uc2VcIixcbiAgICBQcm9kdWN0Q2FyZENsaWNrZWQgPSBcIlByb2R1Y3QgQ2FyZCBDbGlja2VkXCIsXG4gICAgUHJvZHVjdFJldmlld0NhcmRDbGlja2VkID0gXCJQcm9kdWN0IFJldmlldyBDYXJkIENsaWNrZWRcIixcbiAgICBBZGRUb0NhcnRDbGlja2VkID0gXCJBZGQgVG8gQ2FydCBDbGlja2VkXCIsXG4gICAgUHJvbXB0Q2FyZENsaWNrZWQgPSBcIlByb21wdCBDYXJkIENsaWNrZWRcIixcbiAgICBTdXBwb3J0ZWRFdmVudCA9IFwiU3VwcG9ydGVkIEV2ZW50XCIsXG4gICAgU2VhcmNoQmFja1RvUmVzcG9uc2VDbGlja2VkID0gXCJTZWFyY2ggQmFjayB0byBSZXNwb25zZSBDbGlja2VkXCIsXG4gICAgUGVyZm9ybWFuY2VNZXRyaWNzID0gXCJQZXJmb3JtYW5jZSBNZXRyaWNzXCIsXG4gICAgU2VhcmNoQmFyQ2xpY2tlZCA9IFwiU2VhcmNoIEJhciBDbGlja2VkXCIsXG4gICAgT3JkZXJMb29rdXBTdGFydGVkID0gXCJPcmRlciBMb29rdXAgU3RhcnRlZFwiLFxuICAgIE9yZGVyTG9va3VwRm9ybVN1Ym1pdHRlZCA9IFwiT3JkZXIgTG9va3VwIEZvcm0gU3VibWl0dGVkXCIsXG4gICAgU2VhcmNoQ29tcG9uZW50VmlzaWJsZSA9IFwiU2VhcmNoIENvbXBvbmVudCBWaXNpYmxlXCIsXG4gICAgU2VhcmNoWmVyb1N0YXRlU3VnZ2VzdGlvbkNsaWNrZWQgPSBcIlNlYXJjaCBaZXJvIFN0YXRlIFN1Z2dlc3Rpb24gQ2xpY2tlZFwiLFxuICAgIFNlYXJjaElucHV0U3RhcnRlZCA9IFwiU2VhcmNoIElucHV0IFN0YXJ0ZWRcIixcbiAgICBTZWFyY2hRdWVyeVN1Ym1pdHRlZCA9IFwiU2VhcmNoIFF1ZXJ5IFN1Ym1pdHRlZFwiLFxuICAgIFNlYXJjaFJlc3VsdHNWaWV3ZWQgPSBcIlNlYXJjaCBSZXN1bHRzIFZpZXdlZFwiLFxuICAgIFNlYXJjaFRpbWVUb0ZpcnN0Q2xpY2sgPSBcIlNlYXJjaCBUaW1lIHRvIEZpcnN0IENsaWNrXCIsXG4gICAgU2VhcmNoWmVyb1Jlc3VsdHNSYXRlID0gXCJTZWFyY2ggWmVybyBSZXN1bHRzIFJhdGVcIixcbiAgICBTZWFyY2hGaWx0ZXJDbGlja2VkID0gXCJTZWFyY2ggRmlsdGVyIENsaWNrZWRcIixcbiAgICBTZWFyY2hTb3J0Q2xpY2tlZCA9IFwiU2VhcmNoIFNvcnQgQ2xpY2tlZFwiXG59XG5leHBvcnQgZGVjbGFyZSBlbnVtIEVudml2ZU1ldHJpY3NFdmVudE5hbWUge1xuICAgIFdpZGdldFJlbmRlcmVkID0gXCJXaWRnZXQgUmVuZGVyZWRcIixcbiAgICBXaWRnZXRJbnRlcmFjdGlvbiA9IFwiV2lkZ2V0IEludGVyYWN0aW9uXCIsXG4gICAgQ2hhdFJlcXVlc3QgPSBcIkNoYXQgUmVxdWVzdFwiLFxuICAgIENoYXRSZXNwb25zZSA9IFwiQ2hhdCBSZXNwb25zZVwiLFxuICAgIEVudml2ZUluaXRpYWxpemVkID0gXCJFbnZpdmUgSW5pdGlhbGl6ZWRcIixcbiAgICBQYWdlVmlld2VkID0gXCJQYWdlIFZpZXdlZFwiLFxuICAgIFdpZGdldFRleHRSZXF1ZXN0ID0gXCJXaWRnZXQgVGV4dCBSZXF1ZXN0XCIsXG4gICAgV2lkZ2V0VGV4dFJlc3BvbnNlID0gXCJXaWRnZXQgVGV4dCBSZXNwb25zZVwiLFxuICAgIFdpZGdldFRleHRDbGlja2VkID0gXCJXaWRnZXQgVGV4dCBDbGlja2VkXCIsXG4gICAgRGlhZ25vc3RpY3MgPSBcIkRpYWdub3N0aWNzXCJcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUUseUJBQUEsQ0FBQSxJQUFBO0FBQ0YsSUFBVyx5QkFBeUIsQ0FBQyxJQUFJIn0=