react-native-acoustic-connect-beta 18.0.13 → 18.0.15

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 (98) hide show
  1. package/Examples/SampleUI/.detoxrc.js +83 -0
  2. package/Examples/SampleUI/ConnectConfig.json +2 -2
  3. package/Examples/SampleUI/android/app/build.gradle +3 -0
  4. package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainActivity.kt +0 -35
  5. package/Examples/SampleUI/android/settings.gradle +1 -1
  6. package/Examples/SampleUI/package.json +8 -6
  7. package/Examples/SampleUI/scripts/integration-test-android.sh +292 -0
  8. package/Examples/SampleUI/src/Examples/DialogExample.tsx +88 -2
  9. package/Examples/SampleUI/src/Examples/Dialogs/DialogTrackingTest.tsx +307 -0
  10. package/Examples/SampleUI/src/Examples/Dialogs/index.tsx +37 -0
  11. package/Examples/SampleUI/src/index.native.tsx +5 -5
  12. package/android/build.gradle +2 -2
  13. package/android/src/main/assets/ConnectAdvancedConfig.json +1 -1
  14. package/android/src/main/assets/TealeafAdvancedConfig.json +1 -1
  15. package/android/src/main/java/com/acousticconnectrn/HybridAcousticConnectRN.kt +787 -490
  16. package/ios/HybridAcousticConnectRN.swift +79 -4
  17. package/lib/commonjs/TLTRN.js +69 -0
  18. package/lib/commonjs/TLTRN.js.map +1 -1
  19. package/lib/commonjs/components/Connect.js +31 -29
  20. package/lib/commonjs/components/Connect.js.map +1 -1
  21. package/lib/commonjs/docs/DialogTracking.md +252 -0
  22. package/lib/commonjs/docs/NativeImplementation.md +176 -0
  23. package/lib/commonjs/examples/DialogTrackingExample.js +175 -0
  24. package/lib/commonjs/examples/DialogTrackingExample.js.map +1 -0
  25. package/lib/commonjs/examples/HOCDialogExample.js +296 -0
  26. package/lib/commonjs/examples/HOCDialogExample.js.map +1 -0
  27. package/lib/commonjs/index.js +28 -0
  28. package/lib/commonjs/index.js.map +1 -1
  29. package/lib/commonjs/utils/DialogDebugger.js +216 -0
  30. package/lib/commonjs/utils/DialogDebugger.js.map +1 -0
  31. package/lib/commonjs/utils/DialogListener.js +203 -0
  32. package/lib/commonjs/utils/DialogListener.js.map +1 -0
  33. package/lib/commonjs/utils/useDialogTracking.js +107 -0
  34. package/lib/commonjs/utils/useDialogTracking.js.map +1 -0
  35. package/lib/commonjs/utils/withAcousticAutoDialog.js +282 -0
  36. package/lib/commonjs/utils/withAcousticAutoDialog.js.map +1 -0
  37. package/lib/module/TLTRN.js +69 -0
  38. package/lib/module/TLTRN.js.map +1 -1
  39. package/lib/module/components/Connect.js +32 -31
  40. package/lib/module/components/Connect.js.map +1 -1
  41. package/lib/module/docs/DialogTracking.md +252 -0
  42. package/lib/module/docs/NativeImplementation.md +176 -0
  43. package/lib/module/examples/DialogTrackingExample.js +172 -0
  44. package/lib/module/examples/DialogTrackingExample.js.map +1 -0
  45. package/lib/module/examples/HOCDialogExample.js +292 -0
  46. package/lib/module/examples/HOCDialogExample.js.map +1 -0
  47. package/lib/module/index.js +5 -1
  48. package/lib/module/index.js.map +1 -1
  49. package/lib/module/utils/DialogDebugger.js +211 -0
  50. package/lib/module/utils/DialogDebugger.js.map +1 -0
  51. package/lib/module/utils/DialogListener.js +199 -0
  52. package/lib/module/utils/DialogListener.js.map +1 -0
  53. package/lib/module/utils/useDialogTracking.js +102 -0
  54. package/lib/module/utils/useDialogTracking.js.map +1 -0
  55. package/lib/module/utils/withAcousticAutoDialog.js +275 -0
  56. package/lib/module/utils/withAcousticAutoDialog.js.map +1 -0
  57. package/lib/typescript/src/TLTRN.d.ts +7 -0
  58. package/lib/typescript/src/TLTRN.d.ts.map +1 -1
  59. package/lib/typescript/src/components/Connect.d.ts +2 -2
  60. package/lib/typescript/src/components/Connect.d.ts.map +1 -1
  61. package/lib/typescript/src/examples/DialogTrackingExample.d.ts +17 -0
  62. package/lib/typescript/src/examples/DialogTrackingExample.d.ts.map +1 -0
  63. package/lib/typescript/src/examples/HOCDialogExample.d.ts +21 -0
  64. package/lib/typescript/src/examples/HOCDialogExample.d.ts.map +1 -0
  65. package/lib/typescript/src/index.d.ts +5 -1
  66. package/lib/typescript/src/index.d.ts.map +1 -1
  67. package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts +4 -0
  68. package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts.map +1 -1
  69. package/lib/typescript/src/utils/DialogDebugger.d.ts +58 -0
  70. package/lib/typescript/src/utils/DialogDebugger.d.ts.map +1 -0
  71. package/lib/typescript/src/utils/DialogListener.d.ts +85 -0
  72. package/lib/typescript/src/utils/DialogListener.d.ts.map +1 -0
  73. package/lib/typescript/src/utils/useDialogTracking.d.ts +25 -0
  74. package/lib/typescript/src/utils/useDialogTracking.d.ts.map +1 -0
  75. package/lib/typescript/src/utils/withAcousticAutoDialog.d.ts +37 -0
  76. package/lib/typescript/src/utils/withAcousticAutoDialog.d.ts.map +1 -0
  77. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.cpp +26 -0
  78. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.hpp +4 -0
  79. package/nitrogen/generated/android/kotlin/com/margelo/nitro/acousticconnectrn/HybridAcousticConnectRNSpec.kt +16 -0
  80. package/nitrogen/generated/ios/c++/HybridAcousticConnectRNSpecSwift.hpp +32 -0
  81. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec.swift +4 -0
  82. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec_cxx.swift +71 -0
  83. package/nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.cpp +4 -0
  84. package/nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.hpp +4 -0
  85. package/package.json +1 -1
  86. package/scripts/ConnectConfig.json +1 -1
  87. package/src/TLTRN.ts +75 -0
  88. package/src/components/Connect.tsx +92 -101
  89. package/src/docs/DialogTracking.md +252 -0
  90. package/src/docs/NativeImplementation.md +176 -0
  91. package/src/examples/DialogTrackingExample.tsx +163 -0
  92. package/src/examples/HOCDialogExample.tsx +253 -0
  93. package/src/index.ts +5 -1
  94. package/src/specs/react-native-acoustic-connect.nitro.ts +5 -0
  95. package/src/utils/DialogDebugger.ts +224 -0
  96. package/src/utils/DialogListener.ts +238 -0
  97. package/src/utils/useDialogTracking.ts +102 -0
  98. package/src/utils/withAcousticAutoDialog.tsx +312 -0
@@ -0,0 +1,199 @@
1
+ "use strict";
2
+
3
+ /********************************************************************************************
4
+ * Copyright (C) 2025 Acoustic, L.P. All rights reserved.
5
+ *
6
+ * NOTICE: This file contains material that is confidential and proprietary to
7
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
8
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
9
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
10
+ * prohibited.
11
+ ********************************************************************************************/
12
+
13
+ import { Alert } from 'react-native';
14
+ // Simple ID generator
15
+ function generateId() {
16
+ return Math.random().toString(36).substr(2, 9) + Date.now().toString(36);
17
+ }
18
+ class DialogListener {
19
+ activeDialogs = new Map();
20
+ isIntercepting = false;
21
+ eventCallbacks = [];
22
+ constructor() {
23
+ this.originalAlert = Alert.alert;
24
+ this.interceptAlertAPI();
25
+ }
26
+ static getInstance() {
27
+ if (!DialogListener.instance) {
28
+ DialogListener.instance = new DialogListener();
29
+ }
30
+ return DialogListener.instance;
31
+ }
32
+
33
+ /**
34
+ * Start intercepting dialog events
35
+ */
36
+ startIntercepting() {
37
+ if (this.isIntercepting) return;
38
+ this.isIntercepting = true;
39
+ console.log('DialogListener: Started intercepting dialog events');
40
+ }
41
+
42
+ /**
43
+ * Stop intercepting dialog events
44
+ */
45
+ stopIntercepting() {
46
+ if (!this.isIntercepting) return;
47
+ this.isIntercepting = false;
48
+ console.log('DialogListener: Stopped intercepting dialog events');
49
+ }
50
+
51
+ /**
52
+ * Add event callback for dialog events
53
+ */
54
+ addEventListener(callback) {
55
+ this.eventCallbacks.push(callback);
56
+ return () => {
57
+ const index = this.eventCallbacks.indexOf(callback);
58
+ if (index > -1) {
59
+ this.eventCallbacks.splice(index, 1);
60
+ }
61
+ };
62
+ }
63
+
64
+ /**
65
+ * Intercept React Native's Alert.alert API
66
+ */
67
+ interceptAlertAPI() {
68
+ const self = this;
69
+ Alert.alert = function (title, message, buttons, options) {
70
+ if (self.isIntercepting) {
71
+ const dialogId = generateId();
72
+ const dialogEvent = {
73
+ dialogId,
74
+ dialogTitle: title,
75
+ dialogType: 'alert',
76
+ timestamp: Date.now(),
77
+ buttons: buttons || []
78
+ };
79
+ self.activeDialogs.set(dialogId, dialogEvent);
80
+ self.emitEvent(dialogEvent);
81
+
82
+ // Create wrapped buttons that log events
83
+ const wrappedButtons = buttons?.map((button, index) => ({
84
+ ...button,
85
+ onPress: () => {
86
+ const buttonClickEvent = {
87
+ dialogId,
88
+ buttonText: button.text || '',
89
+ buttonIndex: index,
90
+ timestamp: Date.now()
91
+ };
92
+ self.emitEvent(buttonClickEvent);
93
+ self.activeDialogs.delete(dialogId);
94
+
95
+ // Call original onPress if it exists
96
+ if (button.onPress) {
97
+ button.onPress();
98
+ }
99
+ }
100
+ }));
101
+
102
+ // Call original Alert.alert with wrapped buttons
103
+ self.originalAlert.call(Alert, title, message, wrappedButtons, options);
104
+ } else {
105
+ // Call original Alert.alert without interception
106
+ self.originalAlert.call(Alert, title, message, buttons, options);
107
+ }
108
+ };
109
+ }
110
+
111
+ /**
112
+ * Manually track custom dialog show event
113
+ */
114
+ trackCustomDialogShow(dialogId, title, buttons) {
115
+ if (!this.isIntercepting) return;
116
+ const dialogEvent = {
117
+ dialogId,
118
+ dialogTitle: title,
119
+ dialogType: 'custom',
120
+ timestamp: Date.now(),
121
+ buttons: buttons || []
122
+ };
123
+ this.activeDialogs.set(dialogId, dialogEvent);
124
+ this.emitEvent(dialogEvent);
125
+ }
126
+
127
+ /**
128
+ * Manually track custom dialog dismiss event
129
+ */
130
+ trackCustomDialogDismiss(dialogId, reason = 'manual') {
131
+ if (!this.isIntercepting) return;
132
+ const dialogEvent = this.activeDialogs.get(dialogId);
133
+ if (dialogEvent) {
134
+ this.activeDialogs.delete(dialogId);
135
+ // Emit proper dismiss event
136
+ const dismissEvent = {
137
+ dialogId,
138
+ dialogTitle: dialogEvent.dialogTitle,
139
+ dialogType: dialogEvent.dialogType,
140
+ dismissReason: reason,
141
+ timestamp: Date.now()
142
+ };
143
+ this.emitEvent(dismissEvent);
144
+
145
+ // Log the dismiss reason for debugging
146
+ console.log(`Dialog ${dialogId} dismissed with reason: ${reason}`);
147
+ }
148
+ }
149
+
150
+ /**
151
+ * Manually track custom dialog button click event
152
+ */
153
+ trackCustomDialogButtonClick(dialogId, buttonText, buttonIndex) {
154
+ if (!this.isIntercepting) return;
155
+ const buttonClickEvent = {
156
+ dialogId,
157
+ buttonText,
158
+ buttonIndex,
159
+ timestamp: Date.now()
160
+ };
161
+ this.emitEvent(buttonClickEvent);
162
+ }
163
+
164
+ /**
165
+ * Get currently active dialogs
166
+ */
167
+ getActiveDialogs() {
168
+ return Array.from(this.activeDialogs.values());
169
+ }
170
+
171
+ /**
172
+ * Clear all active dialogs
173
+ */
174
+ clearActiveDialogs() {
175
+ this.activeDialogs.clear();
176
+ }
177
+
178
+ /**
179
+ * Emit event to all registered callbacks
180
+ */
181
+ emitEvent(event) {
182
+ this.eventCallbacks.forEach(callback => {
183
+ try {
184
+ callback(event);
185
+ } catch (error) {
186
+ console.error('DialogListener: Error in event callback:', error);
187
+ }
188
+ });
189
+ }
190
+
191
+ /**
192
+ * Restore original Alert.alert API
193
+ */
194
+ restoreOriginalAlert() {
195
+ Alert.alert = this.originalAlert;
196
+ }
197
+ }
198
+ export default DialogListener;
199
+ //# sourceMappingURL=DialogListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Alert","generateId","Math","random","toString","substr","Date","now","DialogListener","activeDialogs","Map","isIntercepting","eventCallbacks","constructor","originalAlert","alert","interceptAlertAPI","getInstance","instance","startIntercepting","console","log","stopIntercepting","addEventListener","callback","push","index","indexOf","splice","self","title","message","buttons","options","dialogId","dialogEvent","dialogTitle","dialogType","timestamp","set","emitEvent","wrappedButtons","map","button","onPress","buttonClickEvent","buttonText","text","buttonIndex","delete","call","trackCustomDialogShow","trackCustomDialogDismiss","reason","get","dismissEvent","dismissReason","trackCustomDialogButtonClick","getActiveDialogs","Array","from","values","clearActiveDialogs","clear","event","forEach","error","restoreOriginalAlert"],"sourceRoot":"../../../src","sources":["utils/DialogListener.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+
3
+ /********************************************************************************************
4
+ * Copyright (C) 2025 Acoustic, L.P. All rights reserved.
5
+ *
6
+ * NOTICE: This file contains material that is confidential and proprietary to
7
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
8
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
9
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
10
+ * prohibited.
11
+ ********************************************************************************************/
12
+
13
+ import { useCallback, useRef } from 'react';
14
+ import DialogListener from './DialogListener';
15
+ import TLTRN from '../TLTRN';
16
+
17
+ /**
18
+ * React hook for tracking custom dialog events
19
+ * Provides utilities to track dialog show, dismiss, and button click events
20
+ */
21
+ export const useDialogTracking = () => {
22
+ const dialogIds = useRef(new Set());
23
+
24
+ /**
25
+ * Generate a unique dialog ID
26
+ */
27
+ const generateDialogId = useCallback(() => {
28
+ const id = Math.random().toString(36).substr(2, 9) + Date.now().toString(36);
29
+ dialogIds.current.add(id);
30
+ return id;
31
+ }, []);
32
+
33
+ /**
34
+ * Track a custom dialog show event
35
+ */
36
+ const trackDialogShow = useCallback((dialogId, title, buttons) => {
37
+ DialogListener.getInstance().trackCustomDialogShow(dialogId, title, buttons);
38
+ // Note: The actual native call is handled by the DialogListener event system
39
+ // No need to call TLTRN.logDialogShowEvent directly here
40
+ }, []);
41
+
42
+ /**
43
+ * Track a custom dialog dismiss event
44
+ */
45
+ const trackDialogDismiss = useCallback((dialogId, reason = 'manual') => {
46
+ DialogListener.getInstance().trackCustomDialogDismiss(dialogId, reason);
47
+ // Note: The actual native call is handled by the DialogListener event system
48
+ // No need to call TLTRN.logDialogDismissEvent directly here
49
+ }, []);
50
+
51
+ /**
52
+ * Track a custom dialog button click event
53
+ */
54
+ const trackDialogButtonClick = useCallback((dialogId, buttonText, buttonIndex) => {
55
+ DialogListener.getInstance().trackCustomDialogButtonClick(dialogId, buttonText, buttonIndex);
56
+ // Note: The actual native call is handled by the DialogListener event system
57
+ // No need to call TLTRN.logDialogButtonClickEvent directly here
58
+ }, []);
59
+
60
+ /**
61
+ * Track a custom dialog event
62
+ */
63
+ const trackDialogCustomEvent = useCallback((dialogId, eventName, values) => {
64
+ TLTRN.logDialogCustomEvent(dialogId, eventName, values);
65
+ }, []);
66
+
67
+ /**
68
+ * Create a wrapped button with automatic tracking
69
+ */
70
+ const createTrackedButton = useCallback((dialogId, button, buttonIndex) => {
71
+ return {
72
+ ...button,
73
+ onPress: () => {
74
+ // Track the button click
75
+ trackDialogButtonClick(dialogId, button.text || '', buttonIndex);
76
+
77
+ // Call the original onPress if it exists
78
+ if (button.onPress) {
79
+ button.onPress();
80
+ }
81
+ }
82
+ };
83
+ }, [trackDialogButtonClick]);
84
+
85
+ /**
86
+ * Clean up dialog tracking
87
+ */
88
+ const cleanup = useCallback(() => {
89
+ dialogIds.current.clear();
90
+ }, []);
91
+ return {
92
+ generateDialogId,
93
+ trackDialogShow,
94
+ trackDialogDismiss,
95
+ trackDialogButtonClick,
96
+ trackDialogCustomEvent,
97
+ createTrackedButton,
98
+ cleanup
99
+ };
100
+ };
101
+ export default useDialogTracking;
102
+ //# sourceMappingURL=useDialogTracking.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useRef","DialogListener","TLTRN","useDialogTracking","dialogIds","Set","generateDialogId","id","Math","random","toString","substr","Date","now","current","add","trackDialogShow","dialogId","title","buttons","getInstance","trackCustomDialogShow","trackDialogDismiss","reason","trackCustomDialogDismiss","trackDialogButtonClick","buttonText","buttonIndex","trackCustomDialogButtonClick","trackDialogCustomEvent","eventName","values","logDialogCustomEvent","createTrackedButton","button","onPress","text","cleanup","clear"],"sourceRoot":"../../../src","sources":["utils/useDialogTracking.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,275 @@
1
+ "use strict";
2
+
3
+ /********************************************************************************************
4
+ * Copyright (C) 2025 Acoustic, L.P. All rights reserved.
5
+ *
6
+ * NOTICE: This file contains material that is confidential and proprietary to
7
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
8
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
9
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
10
+ * prohibited.
11
+ *
12
+ * Created by Omar Hernandez on 5/9/25.
13
+ *
14
+ ********************************************************************************************/
15
+
16
+ import React, { forwardRef, useImperativeHandle, useRef, useEffect, useCallback } from 'react';
17
+ import { useDialogTracking } from './useDialogTracking';
18
+ import AcousticConnectRN from '../index';
19
+
20
+ /**
21
+ * HOC Wrapper that automatically tracks dialog show/dismiss events and button clicks
22
+ * Works with any dialog component that has 'visible' and 'onDismiss' props
23
+ *
24
+ * Supported Dialog Patterns:
25
+ * - react-native-paper Dialog components
26
+ * - Custom modal components with visible/onDismiss props
27
+ * - Components with different prop names (show/hide, open/close, etc.)
28
+ * - Components with custom button implementations
29
+ * - Components with nested dialog structures
30
+ */
31
+ import { jsx as _jsx } from "react/jsx-runtime";
32
+ export function withAcousticAutoDialog(DialogComponent) {
33
+ return /*#__PURE__*/forwardRef((props, ref) => {
34
+ const {
35
+ generateDialogId
36
+ } = useDialogTracking();
37
+ const dialogIdRef = useRef(null);
38
+ const isVisibleRef = useRef(false);
39
+
40
+ // Track button click event
41
+ const trackButtonClick = useCallback((buttonText, buttonIndex) => {
42
+ if (dialogIdRef.current) {
43
+ AcousticConnectRN.logDialogButtonClickEvent(dialogIdRef.current, buttonText, buttonIndex);
44
+ console.log(`🔍 withAcousticAutoDialog: Button clicked - ${buttonText} (${dialogIdRef.current})`);
45
+ }
46
+ }, []);
47
+
48
+ // Wrap button onPress handlers to track clicks
49
+ const wrapButtonOnPress = useCallback((originalOnPress, buttonText, buttonIndex) => {
50
+ return () => {
51
+ trackButtonClick(buttonText, buttonIndex);
52
+ if (originalOnPress) {
53
+ originalOnPress();
54
+ }
55
+ };
56
+ }, [trackButtonClick]);
57
+
58
+ // Recursively wrap buttons in children
59
+ const wrapButtonsInChildren = useCallback((children, buttonIndex = 0) => {
60
+ if (!children) return children;
61
+ if (Array.isArray(children)) {
62
+ return children.map((child, index) => wrapButtonsInChildren(child, buttonIndex + index));
63
+ }
64
+ if (/*#__PURE__*/React.isValidElement(children)) {
65
+ const childProps = children.props;
66
+
67
+ // Check if this is a button component (supports various button types)
68
+ const isButton = typeof children.type === 'function' && (children.type.displayName === 'Button' || children.type.name === 'Button' || children.type.displayName === 'DialogAction' || children.type.name === 'DialogAction' || children.type.displayName === 'TouchableOpacity' || children.type.name === 'TouchableOpacity' || children.type.displayName === 'Pressable' || children.type.name === 'Pressable') || childProps && (childProps.onPress || childProps.onPressIn || childProps.onPressOut || childProps.onTouchEnd);
69
+ if (isButton && childProps?.onPress) {
70
+ const buttonText = childProps.children || childProps.title || 'Button';
71
+ return /*#__PURE__*/React.cloneElement(children, {
72
+ ...childProps,
73
+ onPress: wrapButtonOnPress(childProps.onPress, buttonText, buttonIndex)
74
+ });
75
+ }
76
+
77
+ // Recursively wrap buttons in nested children
78
+ if (childProps?.children) {
79
+ return /*#__PURE__*/React.cloneElement(children, {
80
+ ...childProps,
81
+ children: wrapButtonsInChildren(childProps.children, buttonIndex)
82
+ });
83
+ }
84
+ }
85
+ return children;
86
+ }, [wrapButtonOnPress]);
87
+
88
+ // Track dialog show event when visible changes to true
89
+ // Supports various visibility prop names: visible, show, open, isOpen, isVisible
90
+ const isVisible = props.visible || props.show || props.open || props.isOpen || props.isVisible;
91
+ useEffect(() => {
92
+ if (isVisible && !isVisibleRef.current) {
93
+ const dialogId = generateDialogId();
94
+ dialogIdRef.current = dialogId;
95
+ isVisibleRef.current = true;
96
+
97
+ // Get dialog title from various possible sources
98
+ const getDialogTitle = () => {
99
+ // Try to get title from props (supports various prop names)
100
+ if (props.title) return props.title;
101
+ if (props.dialogTitle) return props.dialogTitle;
102
+ if (props.header) return props.header;
103
+ if (props.heading) return props.heading;
104
+ if (props.name) return props.name;
105
+
106
+ // Try to get title from children (for react-native-paper Dialog)
107
+ if (props.children) {
108
+ console.log(`🔍 withAcousticAutoDialog: Starting title extraction from children`);
109
+ console.log(`🔍 withAcousticAutoDialog: Initial children:`, props.children);
110
+ const extractTitleFromChildren = (children, depth = 0) => {
111
+ if (!children) return null;
112
+ if (Array.isArray(children)) {
113
+ for (const child of children) {
114
+ const title = extractTitleFromChildren(child, depth + 1);
115
+ if (title) return title;
116
+ }
117
+ return null;
118
+ }
119
+ if (/*#__PURE__*/React.isValidElement(children)) {
120
+ const childProps = children.props;
121
+
122
+ // Debug: Log component info for debugging
123
+ console.log(`🔍 withAcousticAutoDialog: Processing component at depth ${depth}:`, {
124
+ type: children.type,
125
+ displayName: children.type?.displayName,
126
+ name: children.type?.name,
127
+ hasChildren: !!childProps?.children,
128
+ childrenType: typeof childProps?.children
129
+ });
130
+
131
+ // Check if this is a Dialog component from react-native-paper
132
+ if (children.type && typeof children.type === 'function' && (children.type.displayName === 'Dialog' || children.type.name === 'Dialog')) {
133
+ console.log(`🔍 withAcousticAutoDialog: Found Dialog component at depth ${depth}`);
134
+ // Extract title from Dialog children
135
+ if (childProps?.children) {
136
+ return extractTitleFromChildren(childProps.children, depth + 1);
137
+ }
138
+ }
139
+
140
+ // Check if this is a Portal component (common wrapper for dialogs)
141
+ if (children.type && typeof children.type === 'function' && (children.type.displayName === 'Portal' || children.type.name === 'Portal')) {
142
+ console.log(`🔍 withAcousticAutoDialog: Found Portal component at depth ${depth}`);
143
+ // Extract title from Portal children
144
+ if (childProps?.children) {
145
+ return extractTitleFromChildren(childProps.children, depth + 1);
146
+ }
147
+ }
148
+
149
+ // Check if this is a DialogTitle component (supports various title component types)
150
+ if (children.type && typeof children.type === 'function' && (children.type.displayName === 'DialogTitle' || children.type.name === 'DialogTitle' || children.type.displayName === 'Title' || children.type.name === 'Title' || children.type.displayName === 'Header' || children.type.name === 'Header' || children.type.displayName === 'Heading' || children.type.name === 'Heading')) {
151
+ if (childProps?.children && typeof childProps.children === 'string') {
152
+ console.log(`🔍 withAcousticAutoDialog: Found title in title component: "${childProps.children}"`);
153
+ return childProps.children;
154
+ }
155
+ }
156
+
157
+ // Check if this component has title content
158
+ if (childProps?.title) {
159
+ return childProps.title;
160
+ }
161
+
162
+ // Recursively search in nested children
163
+ if (childProps?.children) {
164
+ return extractTitleFromChildren(childProps.children, depth + 1);
165
+ }
166
+ }
167
+ return null;
168
+ };
169
+ const title = extractTitleFromChildren(props.children);
170
+ if (title) {
171
+ console.log(`🔍 withAcousticAutoDialog: Found title from children: "${title}"`);
172
+ return title;
173
+ }
174
+ }
175
+ return 'Dialog';
176
+ };
177
+ const title = getDialogTitle();
178
+
179
+ // Log dialog show event
180
+ AcousticConnectRN.logDialogShowEvent(dialogId, title, 'custom');
181
+ console.log(`🔍 withAcousticAutoDialog: Dialog shown - ${title} (${dialogId})`);
182
+ } else if (!isVisible && isVisibleRef.current) {
183
+ // Track dialog dismiss event when visible changes to false
184
+ if (dialogIdRef.current) {
185
+ AcousticConnectRN.logDialogDismissEvent(dialogIdRef.current, 'user_action');
186
+ console.log(`🔍 withAcousticAutoDialog: Dialog dismissed - ${dialogIdRef.current}`);
187
+ dialogIdRef.current = null;
188
+ }
189
+ isVisibleRef.current = false;
190
+ }
191
+ }, [isVisible, generateDialogId]);
192
+
193
+ // Handle dismiss events (supports various dismiss prop names)
194
+ const handleDismiss = () => {
195
+ if (dialogIdRef.current) {
196
+ AcousticConnectRN.logDialogDismissEvent(dialogIdRef.current, 'user_action');
197
+ console.log(`🔍 withAcousticAutoDialog: Dialog dismissed via dismiss handler - ${dialogIdRef.current}`);
198
+ dialogIdRef.current = null;
199
+ }
200
+ isVisibleRef.current = false;
201
+
202
+ // Call original dismiss handler if it exists (supports various prop names)
203
+ if (props.onDismiss) {
204
+ props.onDismiss();
205
+ } else if (props.onClose) {
206
+ props.onClose();
207
+ } else if (props.onHide) {
208
+ props.onHide();
209
+ } else if (props.close) {
210
+ props.close();
211
+ } else if (props.hide) {
212
+ props.hide();
213
+ }
214
+ };
215
+
216
+ // Forward ref to the wrapped component
217
+ useImperativeHandle(ref, () => {
218
+ return {
219
+ ...ref
220
+ // Add any additional methods if needed
221
+ };
222
+ }, [ref]);
223
+
224
+ // Wrap buttons in children to track clicks
225
+ const wrappedChildren = wrapButtonsInChildren(props.children);
226
+
227
+ // Determine which dismiss prop to use based on what the original component expects
228
+ const dismissProps = {};
229
+ if (props.onDismiss) {
230
+ dismissProps.onDismiss = handleDismiss;
231
+ } else if (props.onClose) {
232
+ dismissProps.onClose = handleDismiss;
233
+ } else if (props.onHide) {
234
+ dismissProps.onHide = handleDismiss;
235
+ } else if (props.close) {
236
+ dismissProps.close = handleDismiss;
237
+ } else if (props.hide) {
238
+ dismissProps.hide = handleDismiss;
239
+ } else {
240
+ // Default to onDismiss if no dismiss prop is found
241
+ dismissProps.onDismiss = handleDismiss;
242
+ }
243
+ return /*#__PURE__*/_jsx(DialogComponent, {
244
+ ...props,
245
+ ...dismissProps,
246
+ ref: ref,
247
+ children: wrappedChildren
248
+ });
249
+ });
250
+ }
251
+
252
+ /**
253
+ * Convenience function to create tracked versions of common dialog components
254
+ */
255
+ export function createTrackedDialogComponents() {
256
+ // Note: These would need to be imported in the consuming app
257
+ // This is just a template for how to use the HOC
258
+
259
+ return {
260
+ // Example usage (uncomment when react-native-paper is available):
261
+ // TrackedDialog: withAcousticAutoDialog(require('react-native-paper').Dialog),
262
+ // TrackedPortal: withAcousticAutoDialog(require('react-native-paper').Portal),
263
+ };
264
+ }
265
+
266
+ /**
267
+ * Hook to get tracked dialog components
268
+ */
269
+ export function useTrackedDialogs() {
270
+ return {
271
+ withAcousticAutoDialog,
272
+ createTrackedDialogComponents
273
+ };
274
+ }
275
+ //# sourceMappingURL=withAcousticAutoDialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","forwardRef","useImperativeHandle","useRef","useEffect","useCallback","useDialogTracking","AcousticConnectRN","jsx","_jsx","withAcousticAutoDialog","DialogComponent","props","ref","generateDialogId","dialogIdRef","isVisibleRef","trackButtonClick","buttonText","buttonIndex","current","logDialogButtonClickEvent","console","log","wrapButtonOnPress","originalOnPress","wrapButtonsInChildren","children","Array","isArray","map","child","index","isValidElement","childProps","isButton","type","displayName","name","onPress","onPressIn","onPressOut","onTouchEnd","title","cloneElement","isVisible","visible","show","open","isOpen","dialogId","getDialogTitle","dialogTitle","header","heading","extractTitleFromChildren","depth","hasChildren","childrenType","logDialogShowEvent","logDialogDismissEvent","handleDismiss","onDismiss","onClose","onHide","close","hide","wrappedChildren","dismissProps","createTrackedDialogComponents","useTrackedDialogs"],"sourceRoot":"../../../src","sources":["utils/withAcousticAutoDialog.tsx"],"mappings":"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","ignoreList":[]}
@@ -39,6 +39,13 @@ declare class TLTRN {
39
39
  static logClickEvent: (event: any) => Promise<boolean>;
40
40
  static logTextChangeEvent: (target: number, controlId: string, text: string, _ariaLabel: string) => Promise<boolean>;
41
41
  static logCustomEvent: (eventName: string, values: Record<string, string | number | boolean>, level: number) => Promise<boolean>;
42
+ static logDialogShowEvent: (dialogId: string, dialogTitle: string, dialogType: string) => Promise<boolean>;
43
+ static logDialogDismissEvent: (dialogId: string, dismissReason: string) => Promise<boolean>;
44
+ static logDialogButtonClickEvent: (dialogId: string, buttonText: string, buttonIndex: number) => Promise<boolean>;
45
+ static logDialogCustomEvent: (dialogId: string, eventName: string, values: Record<string, string | number | boolean>) => Promise<boolean>;
46
+ static eventListenerRegistered: boolean;
47
+ static eventListenerUnsubscribe: (() => void) | null;
48
+ static interceptDialogEvents: (enable: boolean) => void;
42
49
  static listenToBridge: (message: any) => void;
43
50
  static checkTime: () => void;
44
51
  static logTeal: () => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"TLTRN.d.ts","sourceRoot":"","sources":["../../../src/TLTRN.ts"],"names":[],"mappings":"AAAA;;;;;;;;6FAQ6F;;AAiB7F,cAAM,KAAK;IACT,MAAM,CAAC,aAAa,SACgD;IACpE,MAAM,CAAC,uBAAuB,SAAK;IACnC,MAAM,CAAC,eAAe,SAAK;IAC3B,MAAM,CAAC,iBAAiB,SAAK;IAC7B,MAAM,CAAC,SAAS,SAAK;IACrB,MAAM,CAAC,cAAc,SAAK;IAC1B,MAAM,CAAC,kBAAkB,SAAK;IAC9B,MAAM,CAAC,aAAa,SAAK;IACzB,MAAM,CAAC,YAAY,UAAS;IAE5B,MAAM,CAAC,OAAO;;;;QAIZ;;WAEG;;QAKH;;WAEG;;MAQH;IAEF,MAAM,CAAC,IAAI,yBAA0B,MAAM,4BAA4B,OAAO,UAQ5E;IAEF,MAAM,CAAC,uBAAuB,WAAY,OAAO,UAE/C;IAEF,MAAM,CAAC,qBAAqB,SAAU,MAAM,GAAG,SAAS,aAQtD;IAEF,MAAM,CAAC,wBAAwB,SAAU,MAAM,YAAY,MAAM,aAQ/D;IAEF,MAAM,CAAC,eAAe,SAAU,MAAM,GAAG,SAAS,aAShD;IAEF,MAAM,CAAC,aAAa,UAAiB,GAAG,sBAwBtC;IAEF,MAAM,CAAC,kBAAkB,WAAkB,MAAM,aAAa,MAAM,QAAQ,MAAM,cAAc,MAAM,sBAYpG;IAEF,MAAM,CAAC,cAAc,cAAqB,MAAM,UAAU,OAAO,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,sBAQhH;IAEF,MAAM,CAAC,cAAc,YAAa,GAAG,UAiEnC;IAEF,MAAM,CAAC,SAAS,aA6Bd;IAEF,MAAM,CAAC,OAAO,sBAsBZ;CACH;AAGD,eAAe,KAAK,CAAC"}
1
+ {"version":3,"file":"TLTRN.d.ts","sourceRoot":"","sources":["../../../src/TLTRN.ts"],"names":[],"mappings":"AAAA;;;;;;;;6FAQ6F;;AAmB7F,cAAM,KAAK;IACT,MAAM,CAAC,aAAa,SACgD;IACpE,MAAM,CAAC,uBAAuB,SAAK;IACnC,MAAM,CAAC,eAAe,SAAK;IAC3B,MAAM,CAAC,iBAAiB,SAAK;IAC7B,MAAM,CAAC,SAAS,SAAK;IACrB,MAAM,CAAC,cAAc,SAAK;IAC1B,MAAM,CAAC,kBAAkB,SAAK;IAC9B,MAAM,CAAC,aAAa,SAAK;IACzB,MAAM,CAAC,YAAY,UAAS;IAE5B,MAAM,CAAC,OAAO;;;;QAIZ;;WAEG;;QAKH;;WAEG;;MAQH;IAEF,MAAM,CAAC,IAAI,yBAA0B,MAAM,4BAA4B,OAAO,UAQ5E;IAEF,MAAM,CAAC,uBAAuB,WAAY,OAAO,UAE/C;IAEF,MAAM,CAAC,qBAAqB,SAAU,MAAM,GAAG,SAAS,aAQtD;IAEF,MAAM,CAAC,wBAAwB,SAAU,MAAM,YAAY,MAAM,aAQ/D;IAEF,MAAM,CAAC,eAAe,SAAU,MAAM,GAAG,SAAS,aAShD;IAEF,MAAM,CAAC,aAAa,UAAiB,GAAG,sBAwBtC;IAEF,MAAM,CAAC,kBAAkB,WAAkB,MAAM,aAAa,MAAM,QAAQ,MAAM,cAAc,MAAM,sBAYpG;IAEF,MAAM,CAAC,cAAc,cAAqB,MAAM,UAAU,OAAO,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,SAAS,MAAM,sBAQhH;IAGF,MAAM,CAAC,kBAAkB,aAAoB,MAAM,eAAe,MAAM,cAAc,MAAM,sBAQ1F;IAEF,MAAM,CAAC,qBAAqB,aAAoB,MAAM,iBAAiB,MAAM,sBAQ3E;IAEF,MAAM,CAAC,yBAAyB,aAAoB,MAAM,cAAc,MAAM,eAAe,MAAM,sBAQjG;IAEF,MAAM,CAAC,oBAAoB,aAAoB,MAAM,aAAa,MAAM,UAAU,OAAO,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,sBAQzH;IAGF,MAAM,CAAC,uBAAuB,UAAS;IACvC,MAAM,CAAC,wBAAwB,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,CAAQ;IAE5D,MAAM,CAAC,qBAAqB,WAAY,OAAO,UA0B7C;IAEF,MAAM,CAAC,cAAc,YAAa,GAAG,UAiEnC;IAEF,MAAM,CAAC,SAAS,aA6Bd;IAEF,MAAM,CAAC,OAAO,sBAsBZ;CACH;AAGD,eAAe,KAAK,CAAC"}
@@ -11,8 +11,8 @@ import React from "react";
11
11
  interface ConnectProps {
12
12
  children: React.ReactNode;
13
13
  captureKeyboardEvents: boolean;
14
- navigationRef?: React.RefObject<any>;
14
+ captureDialogEvents?: boolean;
15
15
  }
16
- declare const Connect: React.ForwardRefExoticComponent<ConnectProps & React.RefAttributes<any>>;
16
+ declare const Connect: React.FC<ConnectProps>;
17
17
  export default Connect;
18
18
  //# sourceMappingURL=Connect.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Connect.d.ts","sourceRoot":"","sources":["../../../../src/components/Connect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;6FAQ6F;AAC7F,OAAO,KAAqD,MAAM,OAAO,CAAC;AAK1E,UAAU,YAAY;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;CACxC;AAED,QAAA,MAAM,OAAO,0EAwFX,CAAC;AAWH,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Connect.d.ts","sourceRoot":"","sources":["../../../../src/components/Connect.tsx"],"names":[],"mappings":"AAAA;;;;;;;;6FAQ6F;AAC7F,OAAO,KAAqD,MAAM,OAAO,CAAC;AAK1E,UAAU,YAAY;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,qBAAqB,EAAE,OAAO,CAAC;IAC/B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA+EnC,CAAC;AAWF,eAAe,OAAO,CAAC"}