@revrag-ai/embed-react-native 1.0.26 → 1.0.28

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 (111) hide show
  1. package/README.md +5 -0
  2. package/android/build.gradle +1 -0
  3. package/dist/commonjs/api/api.js.map +1 -1
  4. package/dist/commonjs/assets/fonts/PlaywriteNZBasic-ExtraLight.ttf +0 -0
  5. package/dist/commonjs/assets/fonts/PlaywriteNZBasic-Light.ttf +0 -0
  6. package/dist/commonjs/assets/fonts/PlaywriteNZBasic-Regular.ttf +0 -0
  7. package/dist/commonjs/assets/fonts/PlaywriteNZBasic-Thin.ttf +0 -0
  8. package/dist/commonjs/components/DynamicComponent/Typewriter.js +124 -0
  9. package/dist/commonjs/components/DynamicComponent/Typewriter.js.map +1 -0
  10. package/dist/commonjs/components/Embed/EmbedButton.js +362 -113
  11. package/dist/commonjs/components/Embed/EmbedButton.js.map +1 -1
  12. package/dist/commonjs/components/styles/EmbedButton.style.js +112 -158
  13. package/dist/commonjs/components/styles/EmbedButton.style.js.map +1 -1
  14. package/dist/commonjs/context/EmbedProvider.js +187 -14
  15. package/dist/commonjs/context/EmbedProvider.js.map +1 -1
  16. package/dist/commonjs/events/clickEventTracker.js +210 -0
  17. package/dist/commonjs/events/clickEventTracker.js.map +1 -0
  18. package/dist/commonjs/events/embed.event.js +11 -3
  19. package/dist/commonjs/events/embed.event.js.map +1 -1
  20. package/dist/commonjs/hooks/EmbedButton.animations.js +115 -15
  21. package/dist/commonjs/hooks/EmbedButton.animations.js.map +1 -1
  22. package/dist/commonjs/hooks/EmbedButton.helpers.js +11 -3
  23. package/dist/commonjs/hooks/EmbedButton.helpers.js.map +1 -1
  24. package/dist/commonjs/hooks/EmbedButton.hooks.js +17 -11
  25. package/dist/commonjs/hooks/EmbedButton.hooks.js.map +1 -1
  26. package/dist/commonjs/hooks/voiceagent.js +34 -12
  27. package/dist/commonjs/hooks/voiceagent.js.map +1 -1
  28. package/dist/commonjs/index.js +6 -2
  29. package/dist/commonjs/index.js.map +1 -1
  30. package/dist/commonjs/utils/constant.js +6 -1
  31. package/dist/commonjs/utils/constant.js.map +1 -1
  32. package/dist/commonjs/utils/permision.js +42 -1
  33. package/dist/commonjs/utils/permision.js.map +1 -1
  34. package/dist/commonjs/utils/reanimated.helper.js +4 -0
  35. package/dist/commonjs/utils/reanimated.helper.js.map +1 -1
  36. package/dist/module/api/api.js.map +1 -1
  37. package/dist/module/assets/fonts/PlaywriteNZBasic-ExtraLight.ttf +0 -0
  38. package/dist/module/assets/fonts/PlaywriteNZBasic-Light.ttf +0 -0
  39. package/dist/module/assets/fonts/PlaywriteNZBasic-Regular.ttf +0 -0
  40. package/dist/module/assets/fonts/PlaywriteNZBasic-Thin.ttf +0 -0
  41. package/dist/module/components/DynamicComponent/Typewriter.js +122 -0
  42. package/dist/module/components/DynamicComponent/Typewriter.js.map +1 -0
  43. package/dist/module/components/Embed/EmbedButton.js +367 -118
  44. package/dist/module/components/Embed/EmbedButton.js.map +1 -1
  45. package/dist/module/components/styles/EmbedButton.style.js +111 -157
  46. package/dist/module/components/styles/EmbedButton.style.js.map +1 -1
  47. package/dist/module/context/EmbedProvider.js +187 -14
  48. package/dist/module/context/EmbedProvider.js.map +1 -1
  49. package/dist/module/events/clickEventTracker.js +199 -0
  50. package/dist/module/events/clickEventTracker.js.map +1 -0
  51. package/dist/module/events/embed.event.js +11 -3
  52. package/dist/module/events/embed.event.js.map +1 -1
  53. package/dist/module/hooks/EmbedButton.animations.js +109 -13
  54. package/dist/module/hooks/EmbedButton.animations.js.map +1 -1
  55. package/dist/module/hooks/EmbedButton.helpers.js +10 -2
  56. package/dist/module/hooks/EmbedButton.helpers.js.map +1 -1
  57. package/dist/module/hooks/EmbedButton.hooks.js +17 -11
  58. package/dist/module/hooks/EmbedButton.hooks.js.map +1 -1
  59. package/dist/module/hooks/voiceagent.js +34 -12
  60. package/dist/module/hooks/voiceagent.js.map +1 -1
  61. package/dist/module/index.js +8 -3
  62. package/dist/module/index.js.map +1 -1
  63. package/dist/module/utils/constant.js +6 -1
  64. package/dist/module/utils/constant.js.map +1 -1
  65. package/dist/module/utils/permision.js +42 -1
  66. package/dist/module/utils/permision.js.map +1 -1
  67. package/dist/module/utils/reanimated.helper.js +4 -0
  68. package/dist/module/utils/reanimated.helper.js.map +1 -1
  69. package/dist/typescript/src/api/api.d.ts.map +1 -1
  70. package/dist/typescript/src/components/DynamicComponent/Typewriter.d.ts +15 -0
  71. package/dist/typescript/src/components/DynamicComponent/Typewriter.d.ts.map +1 -0
  72. package/dist/typescript/src/components/Embed/EmbedButton.d.ts +7 -1
  73. package/dist/typescript/src/components/Embed/EmbedButton.d.ts.map +1 -1
  74. package/dist/typescript/src/components/styles/EmbedButton.style.d.ts +22 -114
  75. package/dist/typescript/src/components/styles/EmbedButton.style.d.ts.map +1 -1
  76. package/dist/typescript/src/context/EmbedProvider.d.ts +30 -0
  77. package/dist/typescript/src/context/EmbedProvider.d.ts.map +1 -1
  78. package/dist/typescript/src/events/__tests__/agent-event-emitter.test.d.ts +5 -0
  79. package/dist/typescript/src/events/__tests__/agent-event-emitter.test.d.ts.map +1 -0
  80. package/dist/typescript/src/events/__tests__/clickEventTracker.test.d.ts +5 -0
  81. package/dist/typescript/src/events/__tests__/clickEventTracker.test.d.ts.map +1 -0
  82. package/dist/typescript/src/events/__tests__/embed.event.test.d.ts +5 -0
  83. package/dist/typescript/src/events/__tests__/embed.event.test.d.ts.map +1 -0
  84. package/dist/typescript/src/events/__tests__/embed.validators.test.d.ts +5 -0
  85. package/dist/typescript/src/events/__tests__/embed.validators.test.d.ts.map +1 -0
  86. package/dist/typescript/src/events/clickEventTracker.d.ts +70 -0
  87. package/dist/typescript/src/events/clickEventTracker.d.ts.map +1 -0
  88. package/dist/typescript/src/events/embed.event.d.ts.map +1 -1
  89. package/dist/typescript/src/hooks/EmbedButton.animations.d.ts +29 -6
  90. package/dist/typescript/src/hooks/EmbedButton.animations.d.ts.map +1 -1
  91. package/dist/typescript/src/hooks/EmbedButton.helpers.d.ts +60 -8
  92. package/dist/typescript/src/hooks/EmbedButton.helpers.d.ts.map +1 -1
  93. package/dist/typescript/src/hooks/EmbedButton.hooks.d.ts +4 -2
  94. package/dist/typescript/src/hooks/EmbedButton.hooks.d.ts.map +1 -1
  95. package/dist/typescript/src/hooks/types/voiceAgent.types.d.ts +2 -0
  96. package/dist/typescript/src/hooks/types/voiceAgent.types.d.ts.map +1 -1
  97. package/dist/typescript/src/hooks/voiceagent.d.ts.map +1 -1
  98. package/dist/typescript/src/index.d.ts +8 -9
  99. package/dist/typescript/src/index.d.ts.map +1 -1
  100. package/dist/typescript/src/utils/constant.d.ts +1 -1
  101. package/dist/typescript/src/utils/constant.d.ts.map +1 -1
  102. package/dist/typescript/src/utils/permision.d.ts.map +1 -1
  103. package/dist/typescript/src/utils/reanimated.helper.d.ts +2 -0
  104. package/dist/typescript/src/utils/reanimated.helper.d.ts.map +1 -1
  105. package/package.json +3 -8
  106. package/react-native.config.js +1 -0
  107. package/revrag-ai-embed-react-native.podspec +1 -0
  108. package/src/assets/fonts/PlaywriteNZBasic-ExtraLight.ttf +0 -0
  109. package/src/assets/fonts/PlaywriteNZBasic-Light.ttf +0 -0
  110. package/src/assets/fonts/PlaywriteNZBasic-Regular.ttf +0 -0
  111. package/src/assets/fonts/PlaywriteNZBasic-Thin.ttf +0 -0
@@ -14,9 +14,11 @@
14
14
  */
15
15
 
16
16
  import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
17
+ import { Animated, Easing, StyleSheet } from 'react-native';
17
18
  import { EmbedButton } from "../components/Embed/EmbedButton.js";
18
19
  import Embed, { EventKeys } from "../events/embed.event.js";
19
20
  import { setAgentData } from "../store/store.key.js";
21
+ import { install as installClickEventTracker, setWidgetVisible as setClickTrackerWidgetVisible } from "../events/clickEventTracker.js";
20
22
 
21
23
  /* ============================================================================
22
24
  * TYPE DEFINITIONS
@@ -27,6 +29,10 @@ import { setAgentData } from "../store/store.key.js";
27
29
  * @interface EmbedProviderProps
28
30
  */
29
31
 
32
+ /**
33
+ * Controls when the delay is applied within a group
34
+ */
35
+
30
36
  /**
31
37
  * Represents the complete hierarchical structure of the current navigation state
32
38
  * @interface RouteHierarchy
@@ -54,6 +60,24 @@ const DEFAULT_INCLUDED_SCREENS = [];
54
60
  */
55
61
  const NAVIGATION_LISTENER_DELAY = 1000;
56
62
 
63
+ /** Animation duration for EmbedButton show/hide (ms) */
64
+ const EMBED_BUTTON_ANIMATION_DURATION = 250;
65
+
66
+ /** Default inset for EmbedButton when no group or config provides one */
67
+ const DEFAULT_EMBED_BUTTON_INSET = {
68
+ right: 16,
69
+ bottom: 20
70
+ };
71
+ const styles = StyleSheet.create({
72
+ embedButtonWrapper: {
73
+ position: 'absolute',
74
+ top: 0,
75
+ left: 0,
76
+ right: 0,
77
+ bottom: 0
78
+ }
79
+ });
80
+
57
81
  /* ============================================================================
58
82
  * UTILITY FUNCTIONS - NAVIGATION HIERARCHY
59
83
  * ========================================================================== */
@@ -467,8 +491,14 @@ export const EmbedProvider = ({
467
491
  children,
468
492
  navigationRef,
469
493
  includeScreens = DEFAULT_INCLUDED_SCREENS,
470
- appVersion: _appVersion
494
+ appVersion: _appVersion,
495
+ embedButtonDelayMs = 0,
496
+ embedButtonVisibilityConfig
471
497
  }) => {
498
+ // Patch touchables as early as possible (before children render) so all screens
499
+ // use the patched components. Handling is gated by setWidgetVisible in useEffect.
500
+ installClickEventTracker();
501
+
472
502
  // ========== Refs ==========
473
503
 
474
504
  /**
@@ -484,20 +514,40 @@ export const EmbedProvider = ({
484
514
  */
485
515
  const isMountedRef = useRef(true);
486
516
 
517
+ /** Pending EmbedButton delay timer; cleared on screen change when needed */
518
+ const embedButtonTimerRef = useRef(null);
519
+ const embedButtonDelayContextRef = useRef(null);
520
+ const currentGroupIdRef = useRef(undefined);
521
+ const sessionShownGroupsRef = useRef(new Set());
522
+ const showEmbedButtonRef = useRef(false);
523
+
487
524
  // ========== State ==========
488
525
 
489
526
  /** Whether the EmbedButton should be visible on the current screen */
490
527
  const [showEmbedButton, setShowEmbedButton] = useState(false);
528
+ /** Whether the EmbedButton is mounted (for animation in/out) */
529
+ const [isEmbedButtonMounted, setIsEmbedButtonMounted] = useState(false);
530
+ /** Optional inset for EmbedButton position (from group or default) */
531
+ const [embedButtonInset, setEmbedButtonInset] = useState();
532
+
533
+ // ========== Animation ==========
534
+ const embedButtonAnim = useRef(new Animated.Value(0)).current;
535
+ const embedButtonAnimationRef = useRef(null);
536
+ useEffect(() => {
537
+ showEmbedButtonRef.current = showEmbedButton;
538
+ }, [showEmbedButton]);
491
539
 
492
540
  // ========== Memoized Values ==========
493
541
 
494
542
  /**
495
- * Included screens (from prop)
496
- * Memoized to prevent recalculation on every render and filter falsy values
543
+ * Included screens: union of includeScreens and all screens from groups.
544
+ * When groups are provided, screens in any group are considered included.
497
545
  */
498
546
  const allIncludedScreens = useMemo(() => {
499
- return Array.from(new Set(includeScreens.filter(Boolean)));
500
- }, [includeScreens]);
547
+ const set = new Set(includeScreens.filter(Boolean));
548
+ embedButtonVisibilityConfig?.groups?.forEach(g => g.screens.forEach(s => set.add(s)));
549
+ return Array.from(set);
550
+ }, [includeScreens, embedButtonVisibilityConfig?.groups]);
501
551
 
502
552
  // ========== Effects ==========
503
553
 
@@ -516,17 +566,62 @@ export const EmbedProvider = ({
516
566
  return;
517
567
  }
518
568
  const routeInfo = getRouteHierarchy(state);
519
- // Extract current screen name from navigation state
520
569
  const screenName = routeInfo?.currentScreen || navRef.current.getCurrentRoute()?.name || '';
521
-
522
- // Determine if EmbedButton should be visible
523
- // Show button only on screens specified in includeScreens (prop + backend)
570
+ const clearEmbedButtonTimer = () => {
571
+ if (embedButtonTimerRef.current) {
572
+ clearTimeout(embedButtonTimerRef.current);
573
+ embedButtonTimerRef.current = null;
574
+ }
575
+ embedButtonDelayContextRef.current = null;
576
+ };
524
577
  const hasIncludeFilter = allIncludedScreens.length > 0;
525
578
  const isIncluded = allIncludedScreens.includes(screenName);
526
- const shouldShowButton = screenName !== '' && (!hasIncludeFilter || isIncluded);
527
- // Only update state if component is still mounted
579
+ const shouldIncludeButton = screenName !== '' && (!hasIncludeFilter || isIncluded);
528
580
  if (isMountedRef.current) {
529
- setShowEmbedButton(shouldShowButton);
581
+ if (!shouldIncludeButton) {
582
+ clearEmbedButtonTimer();
583
+ currentGroupIdRef.current = undefined;
584
+ setEmbedButtonInset(undefined);
585
+ setShowEmbedButton(false);
586
+ } else {
587
+ const groupMatch = embedButtonVisibilityConfig?.groups?.find(g => g.screens.includes(screenName));
588
+ const delayMs = groupMatch?.delayMs ?? embedButtonVisibilityConfig?.defaultDelayMs ?? embedButtonDelayMs;
589
+ const delayPolicy = groupMatch?.delayPolicy ?? 'perScreen';
590
+ const continuity = groupMatch?.continuity ?? 'perScreen';
591
+ const groupId = groupMatch?.id;
592
+ const resolvedInset = groupMatch?.inset ?? embedButtonVisibilityConfig?.defaultInset ?? DEFAULT_EMBED_BUTTON_INSET;
593
+ setEmbedButtonInset(resolvedInset);
594
+ const isSameGroup = groupId !== undefined && groupId === currentGroupIdRef.current;
595
+ if (groupId !== currentGroupIdRef.current) {
596
+ currentGroupIdRef.current = groupId;
597
+ }
598
+ if (continuity === 'continuous' && isSameGroup) {
599
+ const isWaitingForDelay = embedButtonTimerRef.current && embedButtonDelayContextRef.current?.groupId === groupId;
600
+ if (!isWaitingForDelay && !showEmbedButtonRef.current) {
601
+ setShowEmbedButton(true);
602
+ }
603
+ } else {
604
+ const shouldDelay = delayMs > 0 && (delayPolicy === 'perScreen' || delayPolicy === 'oncePerGroupEntry' && !isSameGroup || delayPolicy === 'oncePerAppSession' && (!groupId || !sessionShownGroupsRef.current.has(groupId)));
605
+ if (shouldDelay) {
606
+ clearEmbedButtonTimer();
607
+ setShowEmbedButton(false);
608
+ embedButtonDelayContextRef.current = {
609
+ groupId
610
+ };
611
+ embedButtonTimerRef.current = setTimeout(() => {
612
+ if (isMountedRef.current) {
613
+ setShowEmbedButton(true);
614
+ if (groupId && delayPolicy === 'oncePerAppSession') {
615
+ sessionShownGroupsRef.current.add(groupId);
616
+ }
617
+ }
618
+ }, delayMs);
619
+ } else {
620
+ clearEmbedButtonTimer();
621
+ setShowEmbedButton(true);
622
+ }
623
+ }
624
+ }
530
625
  }
531
626
 
532
627
  // Persist screen context locally for later event enrichment
@@ -548,7 +643,7 @@ export const EmbedProvider = ({
548
643
  } catch (error) {
549
644
  // Catch-all error handler to prevent any tracking errors from breaking the app
550
645
  }
551
- }, [navRef, allIncludedScreens, _appVersion]);
646
+ }, [navRef, allIncludedScreens, _appVersion, embedButtonDelayMs, embedButtonVisibilityConfig]);
552
647
 
553
648
  /**
554
649
  * Effect: Navigation State Tracking
@@ -599,9 +694,48 @@ export const EmbedProvider = ({
599
694
  unsubscribe();
600
695
  isListenerActive = false;
601
696
  }
697
+ if (embedButtonTimerRef.current) {
698
+ clearTimeout(embedButtonTimerRef.current);
699
+ embedButtonTimerRef.current = null;
700
+ }
701
+ embedButtonDelayContextRef.current = null;
602
702
  };
603
703
  }, [navRef, trackScreen]);
604
704
 
705
+ /**
706
+ * Effect: EmbedButton appearance animation
707
+ */
708
+ useEffect(() => {
709
+ if (embedButtonAnimationRef.current) {
710
+ embedButtonAnimationRef.current.stop();
711
+ embedButtonAnimationRef.current = null;
712
+ }
713
+ if (showEmbedButton) {
714
+ setIsEmbedButtonMounted(true);
715
+ embedButtonAnimationRef.current = Animated.timing(embedButtonAnim, {
716
+ toValue: 1,
717
+ duration: EMBED_BUTTON_ANIMATION_DURATION,
718
+ easing: Easing.out(Easing.ease),
719
+ useNativeDriver: true
720
+ });
721
+ embedButtonAnimationRef.current.start();
722
+ } else {
723
+ embedButtonAnimationRef.current = Animated.timing(embedButtonAnim, {
724
+ toValue: 0,
725
+ duration: EMBED_BUTTON_ANIMATION_DURATION,
726
+ easing: Easing.in(Easing.ease),
727
+ useNativeDriver: true
728
+ });
729
+ embedButtonAnimationRef.current.start(({
730
+ finished
731
+ }) => {
732
+ if (finished) {
733
+ setIsEmbedButtonMounted(false);
734
+ }
735
+ });
736
+ }
737
+ }, [showEmbedButton, embedButtonAnim]);
738
+
605
739
  /**
606
740
  * Effect: Component Lifecycle Management
607
741
  *
@@ -611,13 +745,52 @@ export const EmbedProvider = ({
611
745
  isMountedRef.current = true;
612
746
  return () => {
613
747
  isMountedRef.current = false;
748
+ if (embedButtonTimerRef.current) {
749
+ clearTimeout(embedButtonTimerRef.current);
750
+ embedButtonTimerRef.current = null;
751
+ }
752
+ embedButtonDelayContextRef.current = null;
753
+ if (embedButtonAnimationRef.current) {
754
+ embedButtonAnimationRef.current.stop();
755
+ embedButtonAnimationRef.current = null;
756
+ }
614
757
  };
615
758
  }, []);
616
759
 
760
+ /**
761
+ * Effect: Click event tracker on widget-visible screens only
762
+ *
763
+ * When user lands on a screen where the widget is visible, install the touchable
764
+ * patch (if not already) and enable handling. When they leave, disable handling
765
+ * so only clicks on widget-visible screens are tracked.
766
+ */
767
+ useEffect(() => {
768
+ if (showEmbedButton) {
769
+ installClickEventTracker();
770
+ setClickTrackerWidgetVisible(true);
771
+ } else {
772
+ setClickTrackerWidgetVisible(false);
773
+ }
774
+ }, [showEmbedButton]);
775
+
617
776
  // ========== Render ==========
618
777
 
619
778
  return /*#__PURE__*/_jsxs(_Fragment, {
620
- children: [children, showEmbedButton && /*#__PURE__*/_jsx(EmbedButton, {})]
779
+ children: [children, isEmbedButtonMounted && /*#__PURE__*/_jsx(Animated.View, {
780
+ pointerEvents: showEmbedButton ? 'box-none' : 'none',
781
+ style: [styles.embedButtonWrapper, {
782
+ opacity: embedButtonAnim,
783
+ transform: [{
784
+ scale: embedButtonAnim.interpolate({
785
+ inputRange: [0, 1],
786
+ outputRange: [0.96, 1]
787
+ })
788
+ }]
789
+ }],
790
+ children: /*#__PURE__*/_jsx(EmbedButton, {
791
+ containerInset: embedButtonInset
792
+ })
793
+ })]
621
794
  });
622
795
  };
623
796
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","EmbedButton","Embed","EventKeys","setAgentData","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_INCLUDED_SCREENS","NAVIGATION_LISTENER_DELAY","getRouteHierarchy","state","allRoutes","routesByLevel","currentRouteParams","traverse","currentState","level","index","route","routes","name","routeName","push","params","length","currentScreen","parentRoute","undefined","depth","fullPath","join","routeParams","error","getAllRoutes","allRouteNamesSet","Set","collectRoutes","routeNames","Array","isArray","forEach","add","from","getNavigationTree","buildTree","filter","map","node","children","getAllDefinedRoutes","trackEmbedEvent","eventName","properties","Event","FORM_STATE","type","timestamp","Date","toISOString","trackRageClick","elementId","elementType","coordinates","clickCount","eventData","trackFormEvent","formId","eventType","formData","EmbedProvider","navigationRef","includeScreens","appVersion","_appVersion","defaultNavRef","navRef","isMountedRef","showEmbedButton","setShowEmbedButton","allIncludedScreens","Boolean","trackScreen","current","getRootState","routeInfo","screenName","getCurrentRoute","hasIncludeFilter","isIncluded","includes","shouldShowButton","screen","app_version","SCREEN_STATE","unsubscribe","delayTimer","isListenerActive","setupListener","addListener","setTimeout","clearTimeout"],"sourceRoot":"../../../src","sources":["context/EmbedProvider.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","Animated","Easing","StyleSheet","EmbedButton","Embed","EventKeys","setAgentData","install","installClickEventTracker","setWidgetVisible","setClickTrackerWidgetVisible","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_INCLUDED_SCREENS","NAVIGATION_LISTENER_DELAY","EMBED_BUTTON_ANIMATION_DURATION","DEFAULT_EMBED_BUTTON_INSET","right","bottom","styles","create","embedButtonWrapper","position","top","left","getRouteHierarchy","state","allRoutes","routesByLevel","currentRouteParams","traverse","currentState","level","index","route","routes","name","routeName","push","params","length","currentScreen","parentRoute","undefined","depth","fullPath","join","routeParams","error","getAllRoutes","allRouteNamesSet","Set","collectRoutes","routeNames","Array","isArray","forEach","add","from","getNavigationTree","buildTree","filter","map","node","children","getAllDefinedRoutes","trackEmbedEvent","eventName","properties","Event","FORM_STATE","type","timestamp","Date","toISOString","trackRageClick","elementId","elementType","coordinates","clickCount","eventData","trackFormEvent","formId","eventType","formData","EmbedProvider","navigationRef","includeScreens","appVersion","_appVersion","embedButtonDelayMs","embedButtonVisibilityConfig","defaultNavRef","navRef","isMountedRef","embedButtonTimerRef","embedButtonDelayContextRef","currentGroupIdRef","sessionShownGroupsRef","showEmbedButtonRef","showEmbedButton","setShowEmbedButton","isEmbedButtonMounted","setIsEmbedButtonMounted","embedButtonInset","setEmbedButtonInset","embedButtonAnim","Value","current","embedButtonAnimationRef","allIncludedScreens","set","Boolean","groups","g","screens","s","trackScreen","getRootState","routeInfo","screenName","getCurrentRoute","clearEmbedButtonTimer","clearTimeout","hasIncludeFilter","isIncluded","includes","shouldIncludeButton","groupMatch","find","delayMs","defaultDelayMs","delayPolicy","continuity","groupId","id","resolvedInset","inset","defaultInset","isSameGroup","isWaitingForDelay","shouldDelay","has","setTimeout","screen","app_version","SCREEN_STATE","unsubscribe","delayTimer","isListenerActive","setupListener","addListener","stop","timing","toValue","duration","easing","out","ease","useNativeDriver","start","in","finished","View","pointerEvents","style","opacity","transform","scale","interpolate","inputRange","outputRange","containerInset"],"sourceRoot":"../../../src","sources":["context/EmbedProvider.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Click Event Tracker
5
+ * Patches click/press events when the widget is visible. Only handles (logs/sends) events
6
+ * on screens where the Embed widget is visible. Triggered internally from EmbedProvider.
7
+ */
8
+
9
+ import React from 'react';
10
+ import { Pressable, TouchableOpacity, TouchableHighlight, TouchableWithoutFeedback, TouchableNativeFeedback, Platform } from 'react-native';
11
+ import Embed from "./embed.event.js";
12
+ import { EventKeys } from "./embed.types.js";
13
+ /** Minimal in-memory registry for patched elements (mount/unmount). */
14
+ const ElementRegistry = {
15
+ _map: new Map(),
16
+ register(id, data) {
17
+ this._map.set(id, data);
18
+ },
19
+ unregister(id) {
20
+ this._map.delete(id);
21
+ },
22
+ update(id, updates) {
23
+ const entry = this._map.get(id);
24
+ if (entry) Object.assign(entry, updates);
25
+ },
26
+ get(id) {
27
+ return this._map.get(id);
28
+ }
29
+ };
30
+ export let clickCounter = 0;
31
+
32
+ /** When false, handleTrackedClick no-ops. Set by EmbedProvider based on widget visibility. */
33
+ const widgetVisibleRef = {
34
+ current: false
35
+ };
36
+
37
+ /**
38
+ * Called by EmbedProvider when the widget is shown or hidden on the current screen.
39
+ * Only click events on screens where the widget is visible are handled (logged/sent).
40
+ */
41
+ export function setWidgetVisible(visible) {
42
+ widgetVisibleRef.current = visible;
43
+ }
44
+
45
+ /**
46
+ * Handles a tracked click: only when widget is visible; only when elementId is present.
47
+ * Sends the event to the main flow via ANALYTICS_DATA.
48
+ */
49
+ function handleTrackedClick(data) {
50
+ if (!widgetVisibleRef.current) return;
51
+ const elementId = data?.elementId != null ? String(data.elementId).trim() : '';
52
+ if (!elementId) return;
53
+ Embed.Event(EventKeys.ANALYTICS_DATA, {
54
+ event_name: `${elementId}_pressed`,
55
+ timestamp: data.timestamp,
56
+ type: data.type,
57
+ component: data.component,
58
+ clickSequence: data.clickSequence
59
+ }).catch(error => {
60
+ console.warn('[ClickEventTracker] Failed to send click event:', error);
61
+ });
62
+ }
63
+
64
+ /**
65
+ * Test-only: invokes handleTrackedClick with given data. Used by tests to assert
66
+ * widget visibility and elementId gating without rendering touchables.
67
+ */
68
+ export function __testHandleTrackedClick(data) {
69
+ handleTrackedClick(data);
70
+ }
71
+
72
+ /**
73
+ * Generic touchable component patcher. Wraps the original component with ref forwarding,
74
+ * element registration, and click tracking.
75
+ */
76
+ const createTouchablePatcher = (componentName, OriginalComponent) => {
77
+ const Patched = /*#__PURE__*/React.forwardRef((props, ref) => {
78
+ const id = props.id || props.name || `${componentName.toLowerCase()}-${clickCounter++}`;
79
+ const originalOnPress = props.onPress;
80
+ const originalOnPressIn = props.onPressIn;
81
+ const internalRef = React.useRef(null);
82
+ React.useImperativeHandle(ref, () => internalRef.current);
83
+
84
+ // Register element on mount, unregister on unmount
85
+ React.useEffect(() => {
86
+ ElementRegistry.register(id, {
87
+ id,
88
+ ref: internalRef,
89
+ type: componentName,
90
+ props
91
+ });
92
+ return () => {
93
+ ElementRegistry.unregister(id);
94
+ };
95
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- only register/unregister on mount
96
+ }, [id]);
97
+ React.useEffect(() => {
98
+ ElementRegistry.update(id, {
99
+ props,
100
+ label: props.accessibilityLabel || props.label,
101
+ testID: props.testID,
102
+ name: props.name || props.id
103
+ });
104
+ // eslint-disable-next-line react-hooks/exhaustive-deps -- update only when identity props change
105
+ }, [id, props.accessibilityLabel, props.label, props.testID, props.name, props.id]);
106
+ const enhancedProps = {
107
+ ...props,
108
+ onPress: event => {
109
+ const clickSequence = clickCounter++;
110
+ const data = {
111
+ elementId: id,
112
+ timestamp: new Date().toISOString(),
113
+ type: 'press',
114
+ component: componentName,
115
+ clickSequence
116
+ };
117
+ handleTrackedClick(data);
118
+ if (originalOnPress) {
119
+ originalOnPress(event);
120
+ }
121
+ },
122
+ onPressIn: event => {
123
+ if (originalOnPressIn) {
124
+ originalOnPressIn(event);
125
+ }
126
+ },
127
+ ref: internalRef
128
+ };
129
+ return /*#__PURE__*/React.createElement(OriginalComponent, enhancedProps);
130
+ });
131
+ Patched.displayName = `Patched${componentName}`;
132
+ return Patched;
133
+ };
134
+ let isInstalled = false;
135
+
136
+ /**
137
+ * Installs the click event tracker by patching React Native touchable components.
138
+ * Call once early in the application (e.g. in your root component or index).
139
+ * Safe to call multiple times; skips components already patched.
140
+ */
141
+ export function install() {
142
+ const reactNativeModule = require('react-native');
143
+ const touchableComponents = [{
144
+ name: 'TouchableOpacity',
145
+ component: TouchableOpacity
146
+ }, {
147
+ name: 'TouchableHighlight',
148
+ component: TouchableHighlight
149
+ }, {
150
+ name: 'TouchableWithoutFeedback',
151
+ component: TouchableWithoutFeedback
152
+ }, {
153
+ name: 'Pressable',
154
+ component: Pressable
155
+ }];
156
+ if (Platform.OS === 'android') {
157
+ touchableComponents.push({
158
+ name: 'TouchableNativeFeedback',
159
+ component: TouchableNativeFeedback
160
+ });
161
+ }
162
+ touchableComponents.forEach(({
163
+ name,
164
+ component
165
+ }) => {
166
+ if (component.__CLICK_TRACKING_PATCHED__) {
167
+ return;
168
+ }
169
+ const EnhancedComponent = createTouchablePatcher(name, component);
170
+ EnhancedComponent.__CLICK_TRACKING_PATCHED__ = true;
171
+ try {
172
+ Object.defineProperty(reactNativeModule, name, {
173
+ value: EnhancedComponent,
174
+ writable: true,
175
+ enumerable: true,
176
+ configurable: true
177
+ });
178
+ } catch (error) {
179
+ console.warn(`[ClickEventTracker] Failed to patch ${name}:`, error);
180
+ }
181
+ component.__CLICK_TRACKING_PATCHED__ = true;
182
+ });
183
+ isInstalled = true;
184
+ }
185
+
186
+ /**
187
+ * Returns whether the click event tracker is currently installed.
188
+ */
189
+ export function isClickTrackerInstalled() {
190
+ return isInstalled;
191
+ }
192
+
193
+ /**
194
+ * Returns the element registry (for tests or downstream use).
195
+ */
196
+ export function getElementRegistry() {
197
+ return ElementRegistry;
198
+ }
199
+ //# sourceMappingURL=clickEventTracker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Pressable","TouchableOpacity","TouchableHighlight","TouchableWithoutFeedback","TouchableNativeFeedback","Platform","Embed","EventKeys","ElementRegistry","_map","Map","register","id","data","set","unregister","delete","update","updates","entry","get","Object","assign","clickCounter","widgetVisibleRef","current","setWidgetVisible","visible","handleTrackedClick","elementId","String","trim","Event","ANALYTICS_DATA","event_name","timestamp","type","component","clickSequence","catch","error","console","warn","__testHandleTrackedClick","createTouchablePatcher","componentName","OriginalComponent","Patched","forwardRef","props","ref","name","toLowerCase","originalOnPress","onPress","originalOnPressIn","onPressIn","internalRef","useRef","useImperativeHandle","useEffect","label","accessibilityLabel","testID","enhancedProps","event","Date","toISOString","createElement","displayName","isInstalled","install","reactNativeModule","require","touchableComponents","OS","push","forEach","__CLICK_TRACKING_PATCHED__","EnhancedComponent","defineProperty","value","writable","enumerable","configurable","isClickTrackerInstalled","getElementRegistry"],"sourceRoot":"../../../src","sources":["events/clickEventTracker.ts"],"mappings":"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","ignoreList":[]}
@@ -105,9 +105,17 @@ class Embed {
105
105
 
106
106
  // Ensure a default listener is registered
107
107
  this.ensureDefaultListener(key);
108
-
109
- // Send event to backend API
110
- await this.sendEventToAPI(eventKey, data, key);
108
+ try {
109
+ // Send event to backend API
110
+ await this.sendEventToAPI(eventKey, data, key);
111
+ } catch (apiError) {
112
+ // Analytics events (e.g. click, popup_visible) fail silently when server is down (502, etc.)
113
+ // so the app keeps working; critical flows (e.g. init) still throw.
114
+ if (key === EventKeys.ANALYTICS_DATA) {
115
+ return;
116
+ }
117
+ throw apiError;
118
+ }
111
119
 
112
120
  // Trigger local event listeners
113
121
  this.triggerEventListeners(key, data);
@@ -1 +1 @@
1
- {"version":3,"names":["APIService","getAgentData","setAgentData","buildEventPayload","AgentEventEmitter","EventKeys","validateAnalyticsEvent","validateEventKey","Embed","events","constructor","event","ensureDefaultListener","eventKey","_data","enrichEventData","data","userIdentity","app_user_id","Error","sendEventToAPI","key","apiService","getInstance","screenData","SCREEN_STATE","userData","USER_DATA","currentScreen","screen","appVersion","app_version","paramsData","response","updateUserData","success","error","triggerEventListeners","forEach","callback","Event","on","push","embed","AgentEvent"],"sourceRoot":"../../../src","sources":["events/embed.event.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["APIService","getAgentData","setAgentData","buildEventPayload","AgentEventEmitter","EventKeys","validateAnalyticsEvent","validateEventKey","Embed","events","constructor","event","ensureDefaultListener","eventKey","_data","enrichEventData","data","userIdentity","app_user_id","Error","sendEventToAPI","key","apiService","getInstance","screenData","SCREEN_STATE","userData","USER_DATA","currentScreen","screen","appVersion","app_version","paramsData","response","updateUserData","success","error","triggerEventListeners","forEach","callback","Event","apiError","ANALYTICS_DATA","on","push","embed","AgentEvent"],"sourceRoot":"../../../src","sources":["events/embed.event.ts"],"mappings":"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","ignoreList":[]}