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

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 (70) hide show
  1. package/Examples/SampleUI/ConnectConfig.json +180 -0
  2. package/Examples/SampleUI/android/app/build.gradle +2 -0
  3. package/Examples/SampleUI/android/app/src/main/AndroidManifest.xml +18 -13
  4. package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainActivity.kt +47 -5
  5. package/Examples/SampleUI/ios/SampleUI.xcodeproj/xcshareddata/xcschemes/SampleUI.xcscheme +17 -0
  6. package/Examples/SampleUI/metro.config.js +2 -1
  7. package/Examples/SampleUI/package.json +3 -2
  8. package/Examples/SampleUI/src/RootNavigator.tsx +10 -1
  9. package/Examples/SampleUI/src/index.native.tsx +46 -31
  10. package/README.md +4 -0
  11. package/android/src/main/assets/ConnectAdvancedConfig.json +1 -1
  12. package/android/src/main/assets/TealeafAdvancedConfig.json +1 -1
  13. package/lib/commonjs/TLTRN.js +219 -0
  14. package/lib/commonjs/TLTRN.js.map +1 -0
  15. package/lib/commonjs/components/Connect.js +105 -0
  16. package/lib/commonjs/components/Connect.js.map +1 -0
  17. package/lib/commonjs/components/ConnectProfiler.js +45 -0
  18. package/lib/commonjs/components/ConnectProfiler.js.map +1 -0
  19. package/lib/commonjs/index.js +22 -2
  20. package/lib/commonjs/index.js.map +1 -1
  21. package/lib/commonjs/utils/KeyboardListener.js +110 -0
  22. package/lib/commonjs/utils/KeyboardListener.js.map +1 -0
  23. package/lib/module/TLTRN.js +214 -0
  24. package/lib/module/TLTRN.js.map +1 -0
  25. package/lib/module/components/Connect.js +98 -0
  26. package/lib/module/components/Connect.js.map +1 -0
  27. package/lib/module/components/ConnectProfiler.js +40 -0
  28. package/lib/module/components/ConnectProfiler.js.map +1 -0
  29. package/lib/module/index.js +4 -2
  30. package/lib/module/index.js.map +1 -1
  31. package/lib/module/utils/KeyboardListener.js +105 -0
  32. package/lib/module/utils/KeyboardListener.js.map +1 -0
  33. package/lib/typescript/src/TLTRN.d.ts +47 -0
  34. package/lib/typescript/src/TLTRN.d.ts.map +1 -0
  35. package/lib/typescript/src/components/Connect.d.ts +18 -0
  36. package/lib/typescript/src/components/Connect.d.ts.map +1 -0
  37. package/lib/typescript/src/components/ConnectProfiler.d.ts +23 -0
  38. package/lib/typescript/src/components/ConnectProfiler.d.ts.map +1 -0
  39. package/lib/typescript/src/index.d.ts +4 -0
  40. package/lib/typescript/src/index.d.ts.map +1 -1
  41. package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts.map +1 -1
  42. package/{jslib/components/ConnectProfiler.js → lib/typescript/src/utils/KeyboardListener.d.ts} +9 -29
  43. package/lib/typescript/src/utils/KeyboardListener.d.ts.map +1 -0
  44. package/package.json +1 -2
  45. package/scripts/ConnectConfig.json +1 -1
  46. package/scripts/javaParser.js +1 -1
  47. package/{jslib/TLTRN.js → src/TLTRN.ts} +54 -39
  48. package/src/components/Connect.tsx +126 -0
  49. package/src/components/ConnectProfiler.ts +43 -0
  50. package/src/index.ts +5 -3
  51. package/src/specs/react-native-acoustic-connect.nitro.ts +1 -15
  52. package/src/utils/KeyboardListener.ts +113 -0
  53. package/Examples/SampleUI/package-lock.json +0 -17033
  54. package/jslib/components/Connect.js +0 -85
  55. package/jslib/utils/KeyboardListener.js +0 -100
  56. package/lib/commonjs/types.js +0 -24
  57. package/lib/commonjs/types.js.map +0 -1
  58. package/lib/module/types.js +0 -24
  59. package/lib/module/types.js.map +0 -1
  60. package/lib/typescript/jslib/TLTRN.d.ts +0 -37
  61. package/lib/typescript/jslib/TLTRN.d.ts.map +0 -1
  62. package/lib/typescript/jslib/components/Connect.d.ts +0 -4
  63. package/lib/typescript/jslib/components/Connect.d.ts.map +0 -1
  64. package/lib/typescript/jslib/components/ConnectProfiler.d.ts +0 -10
  65. package/lib/typescript/jslib/components/ConnectProfiler.d.ts.map +0 -1
  66. package/lib/typescript/jslib/utils/KeyboardListener.d.ts +0 -10
  67. package/lib/typescript/jslib/utils/KeyboardListener.d.ts.map +0 -1
  68. package/lib/typescript/src/types.d.ts +0 -1
  69. package/lib/typescript/src/types.d.ts.map +0 -1
  70. package/src/types.ts +0 -23
@@ -0,0 +1,214 @@
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
+ // @ts-ignore
14
+ import MessageQueue from "react-native/Libraries/BatchedBridge/MessageQueue.js";
15
+ import { Platform } from "react-native";
16
+ import KeyboardListener from "./utils/KeyboardListener";
17
+ import AcousticConnectRN from './index';
18
+
19
+ // @ts-ignore
20
+ global.ErrorUtils.setGlobalHandler((e, _isFatal) => {
21
+ AcousticConnectRN.logExceptionEvent(JSON.stringify(e), JSON.stringify(e), true);
22
+ });
23
+ class TLTRN {
24
+ static currentScreen = "***initialCurrentScreen not set in ConnectLogger constructor***";
25
+ static lastJSBridgeMessageTime = 0;
26
+ static totalRenderTime = 0;
27
+ static messageRenderTime = 0;
28
+ static countMsgs = 0;
29
+ static messageConsole = 0;
30
+ static lastMessageConsole = 0;
31
+ static isLoggingData = 0;
32
+ static displayDebug = false;
33
+ static myTimer = {
34
+ handle: null,
35
+ started: 0,
36
+ time: 1000,
37
+ /**
38
+ * @type Class
39
+ */
40
+ startTimer: function () {
41
+ this.started = 1;
42
+ this.handle = setInterval(TLTRN.checkTime, this.time);
43
+ },
44
+ /**
45
+ * @type Class
46
+ */
47
+ stopTimer: function () {
48
+ if (this.handle) {
49
+ clearInterval(this.handle);
50
+ this.handle = null;
51
+ this.started = 0;
52
+ }
53
+ }
54
+ };
55
+ static init = (initialCurrentScreen, showDebugConsoleMessages) => {
56
+ TLTRN.currentScreen = initialCurrentScreen === undefined
57
+ // @ts-ignore:
58
+ ? currentScreenMsg : initialCurrentScreen;
59
+ MessageQueue.spy(TLTRN.listenToBridge);
60
+ TLTRN.displayDebug = showDebugConsoleMessages === undefined ? false : showDebugConsoleMessages;
61
+ };
62
+ static interceptKeyboardEvents = enable => {
63
+ keyListener.interceptKeyboardEvents(enable);
64
+ };
65
+ static logScreenViewPageName = name => {
66
+ let result = false;
67
+ try {
68
+ result = AcousticConnectRN.setCurrentScreenName(name || '');
69
+ } catch (error) {
70
+ console.log('LogScreenViewPageName error: ', error.message);
71
+ }
72
+ return result;
73
+ };
74
+ static logScreenViewContextLoad = (name, prevName) => {
75
+ let result = false;
76
+ try {
77
+ result = AcousticConnectRN.logScreenViewContextLoad(name, prevName);
78
+ } catch (error) {
79
+ console.log('LogScreenViewContextLoad error: ', error.message);
80
+ }
81
+ return result;
82
+ };
83
+ static logScreenLayout = name => {
84
+ TLTRN.currentScreen = name || '';
85
+ let result = false;
86
+ try {
87
+ result = AcousticConnectRN.logScreenLayout(TLTRN.currentScreen, 0);
88
+ } catch (error) {
89
+ console.log('LogScreenLayout error: ', error.message);
90
+ }
91
+ return result;
92
+ };
93
+ static logClickEvent = async event => {
94
+ let result = false;
95
+ if (!event.target || !event.target._nativeTag || typeof event.target._nativeTag === 'undefined') {
96
+ return result;
97
+ }
98
+ const events = event._dispatchInstances.filter(node => {
99
+ return node.memoizedProps && node.memoizedProps.id;
100
+ });
101
+ const id = events.length ? events[0].memoizedProps.id : '';
102
+ let target = event.target._nativeTag;
103
+ let controlId = event._targetInst.memoizedProps.id !== undefined ? event._targetInst.memoizedProps.id : id;
104
+ let ariaLabel = event._targetInst.memoizedProps.accessible !== undefined ? event._targetInst.memoizedProps.accessibilityLabel : '';
105
+ try {
106
+ if (Platform.OS === 'ios') {
107
+ result = AcousticConnectRN.logClickEvent(target, controlId);
108
+ } else if (Platform.OS === 'android') {
109
+ result = AcousticConnectRN.logClickEvent(target, controlId);
110
+ }
111
+ } catch (error) {
112
+ console.log('LogClickEvent error: ', error.message);
113
+ }
114
+ return result;
115
+ };
116
+ static logTextChangeEvent = async (target, controlId, text, _ariaLabel) => {
117
+ let result = false;
118
+ try {
119
+ if (Platform.OS === 'ios') {
120
+ result = AcousticConnectRN.logTextChangeEvent(target, controlId, text);
121
+ } else if (Platform.OS === 'android') {
122
+ AcousticConnectRN.logTextChangeEvent(target, controlId, text);
123
+ }
124
+ } catch (error) {
125
+ console.log('LogTextChangeEvent error: ', error.message);
126
+ }
127
+ return result;
128
+ };
129
+ static logCustomEvent = async (eventName, values, level) => {
130
+ let result = false;
131
+ try {
132
+ result = AcousticConnectRN.logCustomEvent(eventName, values, level);
133
+ } catch (error) {
134
+ console.log('LogCustomEvent error: ', error.message);
135
+ }
136
+ return result;
137
+ };
138
+ static listenToBridge = message => {
139
+ if (TLTRN.displayDebug) {
140
+ console.log("&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&:isLoggingData:" + TLTRN.isLoggingData);
141
+ }
142
+ if (TLTRN.isLoggingData == 1) {
143
+ return;
144
+ }
145
+ var now = new Date().getTime();
146
+ if (TLTRN.lastJSBridgeMessageTime === 0) {
147
+ TLTRN.lastJSBridgeMessageTime = now;
148
+ }
149
+ if (TLTRN.messageConsole > 0) {
150
+ TLTRN.lastMessageConsole = TLTRN.messageConsole;
151
+ }
152
+ TLTRN.messageConsole = now;
153
+ TLTRN.countMsgs++;
154
+ if (TLTRN.myTimer.started === 0) {
155
+ TLTRN.myTimer.startTimer();
156
+ }
157
+ TLTRN.messageRenderTime = now - TLTRN.lastJSBridgeMessageTime;
158
+ TLTRN.totalRenderTime = TLTRN.totalRenderTime + TLTRN.messageRenderTime;
159
+ if (TLTRN.displayDebug) {
160
+ console.log("*after:countMsgs: " + TLTRN.countMsgs + ":tTotal:" + TLTRN.totalRenderTime + ":messageDuration:" + TLTRN.messageRenderTime);
161
+ }
162
+ TLTRN.lastJSBridgeMessageTime = now;
163
+ const from = message.type === 0 ? "N->JS" : "JS->N";
164
+ const data = from + " : " + message.module + "." + message.method + "(" + JSON.stringify(message.args) + ")";
165
+ if (TLTRN.displayDebug) {
166
+ if (message.module !== "UIManager") {
167
+ console.log("Message", message);
168
+ }
169
+ console.log("Message data:", data);
170
+ }
171
+ if (message.module === "ExceptionsManager") {
172
+ AcousticConnectRN.logExceptionEvent(message.args[0], JSON.stringify(message.args[1]), true);
173
+ }
174
+ };
175
+ static checkTime = () => {
176
+ var now = new Date().getTime();
177
+ if (TLTRN.displayDebug) {
178
+ console.log("======>Done compare total:" + TLTRN.totalRenderTime + " :lastMessageConsole:" + TLTRN.lastMessageConsole + ":now:" + now + ":diff:" + (now - TLTRN.lastMessageConsole) + ":" + (now - TLTRN.lastMessageConsole > 50));
179
+ }
180
+ if (TLTRN.lastMessageConsole == 0) {
181
+ return;
182
+ }
183
+ if (now - TLTRN.lastMessageConsole > 20) {
184
+ if (TLTRN.displayDebug) {
185
+ console.log("======>Done capture:" + new Date().getTime());
186
+ }
187
+ TLTRN.messageConsole = 0;
188
+ TLTRN.lastMessageConsole = 0;
189
+ TLTRN.myTimer.stopTimer();
190
+ this.logTeal();
191
+ }
192
+ };
193
+ static logTeal = async () => {
194
+ try {
195
+ TLTRN.isLoggingData = 1;
196
+ var res = await AcousticConnectRN.logScreenLayout(TLTRN.currentScreen, -1);
197
+ var dict = {
198
+ ReactLayoutTime: TLTRN.totalRenderTime
199
+ };
200
+ var result = await AcousticConnectRN.logCustomEvent("ReactPlugin", dict, 1);
201
+ if (TLTRN.displayDebug) {
202
+ console.log("======>logTeal:" + TLTRN.currentScreen + ":" + res + ":time:" + TLTRN.totalRenderTime);
203
+ }
204
+ TLTRN.isLoggingData = 0;
205
+ TLTRN.lastJSBridgeMessageTime = 0;
206
+ TLTRN.totalRenderTime = 0;
207
+ } catch (e) {
208
+ console.error(e);
209
+ }
210
+ };
211
+ }
212
+ const keyListener = KeyboardListener._instance(TLTRN);
213
+ export default TLTRN;
214
+ //# sourceMappingURL=TLTRN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MessageQueue","Platform","KeyboardListener","AcousticConnectRN","global","ErrorUtils","setGlobalHandler","e","_isFatal","logExceptionEvent","JSON","stringify","TLTRN","currentScreen","lastJSBridgeMessageTime","totalRenderTime","messageRenderTime","countMsgs","messageConsole","lastMessageConsole","isLoggingData","displayDebug","myTimer","handle","started","time","startTimer","setInterval","checkTime","stopTimer","clearInterval","init","initialCurrentScreen","showDebugConsoleMessages","undefined","currentScreenMsg","spy","listenToBridge","interceptKeyboardEvents","enable","keyListener","logScreenViewPageName","name","result","setCurrentScreenName","error","console","log","message","logScreenViewContextLoad","prevName","logScreenLayout","logClickEvent","event","target","_nativeTag","events","_dispatchInstances","filter","node","memoizedProps","id","length","controlId","_targetInst","ariaLabel","accessible","accessibilityLabel","OS","logTextChangeEvent","text","_ariaLabel","logCustomEvent","eventName","values","level","now","Date","getTime","from","type","data","module","method","args","logTeal","res","dict","ReactLayoutTime","_instance"],"sourceRoot":"../../src","sources":["TLTRN.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,98 @@
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
+ import React, { useCallback, useEffect, useRef, forwardRef } from "react";
13
+ import { View, StyleSheet, Platform } from "react-native";
14
+ import TLTRN from "../TLTRN";
15
+ import { jsx as _jsx } from "react/jsx-runtime";
16
+ const Connect = /*#__PURE__*/forwardRef(({
17
+ children,
18
+ captureKeyboardEvents,
19
+ navigationRef
20
+ }, ref) => {
21
+ const navigation = navigationRef || useRef(null);
22
+
23
+ // Handle forwarded ref
24
+ useEffect(() => {
25
+ if (ref && typeof ref === "object" && ref !== null) {
26
+ navigation.current = ref.current;
27
+ } else if (typeof ref === "function") {
28
+ ref(navigation.current);
29
+ }
30
+ }, [ref]);
31
+ const currentRoute = useRef(undefined);
32
+ const initial = useRef(false);
33
+ useEffect(() => {
34
+ TLTRN.interceptKeyboardEvents(captureKeyboardEvents);
35
+ }, [captureKeyboardEvents]);
36
+ useEffect(() => {
37
+ if (!navigation.current || typeof navigation.current.addListener !== "function" || typeof navigation.current.getCurrentRoute !== "function") {
38
+ console.warn("Connect: The Connect component's ref must be a NavigationContainer with a ref.");
39
+ return;
40
+ }
41
+ const unsubscribe = navigation.current.addListener("state", () => {
42
+ currentRoute.current = extractName(navigation);
43
+ console.log("State change - ", currentRoute.current);
44
+ if (Platform.OS === "ios" && currentRoute.current) {
45
+ TLTRN.logScreenViewPageName(currentRoute.current);
46
+ } else if (Platform.OS === "android") {
47
+ TLTRN.logScreenViewPageName(currentRoute.current);
48
+ TLTRN.logScreenLayout(currentRoute.current);
49
+ }
50
+ });
51
+ return unsubscribe;
52
+ }, [navigation]);
53
+ const onStartShouldSetResponderCapture = useCallback(event => {
54
+ currentRoute.current = extractName(navigation);
55
+ if (currentRoute.current) {
56
+ TLTRN.logScreenViewPageName(currentRoute.current);
57
+ }
58
+ TLTRN.logClickEvent(event);
59
+ return false;
60
+ }, [navigation]);
61
+ const onLayout = useCallback(event => {
62
+ if (initial.current) {
63
+ return false;
64
+ }
65
+ initial.current = true;
66
+ console.log("event - ", event.nativeEvent);
67
+ currentRoute.current = navigation.current?.getCurrentRoute()?.name;
68
+ if (Platform.OS === "ios" && currentRoute.current) {
69
+ TLTRN.logScreenViewPageName(currentRoute.current);
70
+ } else if (Platform.OS === "android") {
71
+ TLTRN.logScreenLayout(currentRoute.current);
72
+ }
73
+ return true;
74
+ }, [navigation]);
75
+ return /*#__PURE__*/_jsx(View, {
76
+ style: styles.connect_main,
77
+ onLayout: onLayout,
78
+ onStartShouldSetResponderCapture: onStartShouldSetResponderCapture,
79
+ children: children
80
+ });
81
+ });
82
+ function extractName(navigation) {
83
+ const routeParams = navigation.current?.getCurrentRoute()?.params;
84
+ if (routeParams) {
85
+ const {
86
+ name
87
+ } = routeParams;
88
+ return name || "";
89
+ }
90
+ return navigation.current?.getCurrentRoute()?.name || "";
91
+ }
92
+ export default Connect;
93
+ const styles = StyleSheet.create({
94
+ connect_main: {
95
+ flex: 1
96
+ }
97
+ });
98
+ //# sourceMappingURL=Connect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","useCallback","useEffect","useRef","forwardRef","View","StyleSheet","Platform","TLTRN","jsx","_jsx","Connect","children","captureKeyboardEvents","navigationRef","ref","navigation","current","currentRoute","undefined","initial","interceptKeyboardEvents","addListener","getCurrentRoute","console","warn","unsubscribe","extractName","log","OS","logScreenViewPageName","logScreenLayout","onStartShouldSetResponderCapture","event","logClickEvent","onLayout","nativeEvent","name","style","styles","connect_main","routeParams","params","create","flex"],"sourceRoot":"../../../src","sources":["components/Connect.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,40 @@
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 { Component } from "react";
14
+ import TLTRN from "../TLTRN";
15
+ class ConnectProfiler extends Component {
16
+ startTime = 0;
17
+ endTime = 0;
18
+ constructor(props) {
19
+ super(props);
20
+ this.startTime = new Date().getTime();
21
+ }
22
+ componentDidMount() {
23
+ this.endTime = new Date().getTime();
24
+ const pageLoadTime = this.endTime - this.startTime;
25
+ const {
26
+ profileName
27
+ } = this.props;
28
+ if (profileName) {
29
+ TLTRN.logCustomEvent("Load Time", {
30
+ profileName,
31
+ pageLoadTime
32
+ }, 1);
33
+ }
34
+ }
35
+ render() {
36
+ return this.props.children;
37
+ }
38
+ }
39
+ export default ConnectProfiler;
40
+ //# sourceMappingURL=ConnectProfiler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Component","TLTRN","ConnectProfiler","startTime","endTime","constructor","props","Date","getTime","componentDidMount","pageLoadTime","profileName","logCustomEvent","render","children"],"sourceRoot":"../../../src","sources":["components/ConnectProfiler.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAAgBA,SAAS,QAAQ,OAAO;AACxC,OAAOC,KAAK,MAAM,UAAU;AAO5B,MAAMC,eAAe,SAASF,SAAS,CAAuB;EAC5DG,SAAS,GAAG,CAAC;EACbC,OAAO,GAAG,CAAC;EAEXC,WAAWA,CAACC,KAA2B,EAAE;IACvC,KAAK,CAACA,KAAK,CAAC;IACZ,IAAI,CAACH,SAAS,GAAG,IAAII,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;EACvC;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,IAAI,CAACL,OAAO,GAAG,IAAIG,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;IACnC,MAAME,YAAY,GAAG,IAAI,CAACN,OAAO,GAAG,IAAI,CAACD,SAAS;IAClD,MAAM;MAAEQ;IAAY,CAAC,GAAG,IAAI,CAACL,KAAK;IAElC,IAAIK,WAAW,EAAE;MACfV,KAAK,CAACW,cAAc,CAAC,WAAW,EAAE;QAAED,WAAW;QAAED;MAAa,CAAC,EAAE,CAAC,CAAC;IACrE;EACF;EAEAG,MAAMA,CAAA,EAAG;IACP,OAAO,IAAI,CAACP,KAAK,CAACQ,QAAQ;EAC5B;AACF;AAEA,eAAeZ,eAAe","ignoreList":[]}
@@ -14,8 +14,10 @@
14
14
  ********************************************************************************************/
15
15
 
16
16
  import { NitroModules } from 'react-native-nitro-modules';
17
- // export type * from './types'
18
-
17
+ import Connect from './components/Connect';
18
+ import KeyboardListener from './utils/KeyboardListener';
19
+ import TLTRN from './TLTRN';
19
20
  const AcousticConnectRN = NitroModules.createHybridObject('AcousticConnectRN');
21
+ export { Connect, TLTRN, KeyboardListener };
20
22
  export default AcousticConnectRN;
21
23
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["NitroModules","AcousticConnectRN","createHybridObject"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,YAAY,QAAQ,4BAA4B;AAEzD;;AAEA,MAAMC,iBAAiB,GACnBD,YAAY,CAACE,kBAAkB,CAAwB,mBAAmB,CAAC;AAE/E,eAAeD,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["NitroModules","Connect","KeyboardListener","TLTRN","AcousticConnectRN","createHybridObject"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,YAAY,QAAQ,4BAA4B;AAEzD,OAAOC,OAAO,MAAM,sBAAsB;AAC1C,OAAOC,gBAAgB,MAAM,0BAA0B;AACvD,OAAOC,KAAK,MAAM,SAAS;AAE3B,MAAMC,iBAAiB,GAAGJ,YAAY,CAACK,kBAAkB,CAAwB,mBAAmB,CAAC;AAErG,SAASJ,OAAO,EAAEE,KAAK,EAAED,gBAAgB;AACzC,eAAeE,iBAAiB","ignoreList":[]}
@@ -0,0 +1,105 @@
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 { Keyboard, TextInput } from "react-native";
14
+ import TLTRN from '../TLTRN';
15
+ class KeyboardListener {
16
+ static TLTRN = null;
17
+ static listener = null;
18
+ static _instance(_TLTRN) {
19
+ if (!KeyboardListener.listener) {
20
+ KeyboardListener.listener = new KeyboardListener(_TLTRN);
21
+ }
22
+ return KeyboardListener.listener;
23
+ }
24
+ constructor(_TLTRN) {
25
+ KeyboardListener.TLTRN = _TLTRN;
26
+ this.enabled = false;
27
+ let _x = {};
28
+ let _i = {};
29
+ const sanitize = (target, text) => {
30
+ if (!_x[target].secureTextEntry || typeof _x[target].secureTextEntry === "undefined") {
31
+ return text;
32
+ }
33
+ return new Array(text.length).fill("*").join("");
34
+ };
35
+ const flushData = () => {
36
+ _i = {};
37
+ _x = {};
38
+ };
39
+ const keyListener = (evt, bubbledEvent) => {
40
+ let _nativeTag = evt?.target?._nativeTag;
41
+ let valid = this.enabled && (!_i[_nativeTag] || _i[_nativeTag] === bubbledEvent);
42
+ if (!valid) {
43
+ return;
44
+ }
45
+ _i[_nativeTag] = bubbledEvent;
46
+ if (!_x[_nativeTag]) {
47
+ _x[_nativeTag] = {
48
+ text: ""
49
+ };
50
+ }
51
+ _x[_nativeTag].target = evt?.target?._nativeTag;
52
+ _x[_nativeTag].controlId = evt?._targetInst?.memoizedProps?.id;
53
+ _x[_nativeTag].ariaLabel = evt?._targetInst?.memoizedProps?.accessible?.accessibilityLabel;
54
+ _x[_nativeTag].secureTextEntry = evt?._targetInst?.memoizedProps?.secureTextEntry;
55
+ const anon = _k => {
56
+ if (_k !== "Backspace" && _k.length === 1) {
57
+ return _x[_nativeTag].text += sanitize(_nativeTag, _k);
58
+ } else if (_k !== "Backspace" && _k.length > 1) {
59
+ return sanitize(_nativeTag, _k);
60
+ } else {
61
+ return _x[_nativeTag].text.slice(0, -1);
62
+ }
63
+ };
64
+ let text = null;
65
+ switch (bubbledEvent) {
66
+ case "onTextInput":
67
+ text = evt?.nativeEvent?.text;
68
+ _x[_nativeTag].text = sanitize(_nativeTag, text || "");
69
+ break;
70
+ case "onKeyPress":
71
+ text = evt?.nativeEvent?.key;
72
+ _x[_nativeTag].text = anon(text || "");
73
+ break;
74
+ case "onChange":
75
+ text = evt?.nativeEvent?.text;
76
+ _x[_nativeTag].text = sanitize(_nativeTag, text || "");
77
+ break;
78
+ }
79
+ };
80
+ const keyboardDidHide = async () => {
81
+ let values = Object.values(_x);
82
+ for (let value of values) {
83
+ let {
84
+ text,
85
+ controlId,
86
+ ariaLabel,
87
+ target
88
+ } = value;
89
+ TLTRN.logTextChangeEvent(target, controlId, text, ariaLabel);
90
+ }
91
+ flushData();
92
+ };
93
+
94
+ // @ts-ignore: Ignore TypeScript error for defaultProps
95
+ TextInput.defaultProps = TextInput.defaultProps || {};
96
+ // @ts-ignore: Ignore TypeScript error for defaultProps
97
+ TextInput.defaultProps.onChange = evt => keyListener(evt, "onChange");
98
+ Keyboard.addListener("keyboardDidHide", keyboardDidHide);
99
+ }
100
+ interceptKeyboardEvents(enable) {
101
+ this.enabled = enable;
102
+ }
103
+ }
104
+ export default KeyboardListener;
105
+ //# sourceMappingURL=KeyboardListener.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Keyboard","TextInput","TLTRN","KeyboardListener","listener","_instance","_TLTRN","constructor","enabled","_x","_i","sanitize","target","text","secureTextEntry","Array","length","fill","join","flushData","keyListener","evt","bubbledEvent","_nativeTag","valid","controlId","_targetInst","memoizedProps","id","ariaLabel","accessible","accessibilityLabel","anon","_k","slice","nativeEvent","key","keyboardDidHide","values","Object","value","logTextChangeEvent","defaultProps","onChange","addListener","interceptKeyboardEvents","enable"],"sourceRoot":"../../../src","sources":["utils/KeyboardListener.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,47 @@
1
+ /********************************************************************************************
2
+ * Copyright (C) 2025 Acoustic, L.P. All rights reserved.
3
+ *
4
+ * NOTICE: This file contains material that is confidential and proprietary to
5
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
6
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
7
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
8
+ * prohibited.
9
+ ********************************************************************************************/
10
+ /// <reference types="node" />
11
+ declare class TLTRN {
12
+ static currentScreen: string;
13
+ static lastJSBridgeMessageTime: number;
14
+ static totalRenderTime: number;
15
+ static messageRenderTime: number;
16
+ static countMsgs: number;
17
+ static messageConsole: number;
18
+ static lastMessageConsole: number;
19
+ static isLoggingData: number;
20
+ static displayDebug: boolean;
21
+ static myTimer: {
22
+ handle: NodeJS.Timeout | null;
23
+ started: number;
24
+ time: number;
25
+ /**
26
+ * @type Class
27
+ */
28
+ startTimer: () => void;
29
+ /**
30
+ * @type Class
31
+ */
32
+ stopTimer: () => void;
33
+ };
34
+ static init: (initialCurrentScreen: String, showDebugConsoleMessages: boolean) => void;
35
+ static interceptKeyboardEvents: (enable: boolean) => void;
36
+ static logScreenViewPageName: (name: string | undefined) => boolean;
37
+ static logScreenViewContextLoad: (name: string, prevName: string) => boolean;
38
+ static logScreenLayout: (name: string | undefined) => boolean;
39
+ static logClickEvent: (event: any) => Promise<boolean>;
40
+ static logTextChangeEvent: (target: number, controlId: string, text: string, _ariaLabel: string) => Promise<boolean>;
41
+ static logCustomEvent: (eventName: string, values: Record<string, string | number | boolean>, level: number) => Promise<boolean>;
42
+ static listenToBridge: (message: any) => void;
43
+ static checkTime: () => void;
44
+ static logTeal: () => Promise<void>;
45
+ }
46
+ export default TLTRN;
47
+ //# sourceMappingURL=TLTRN.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,18 @@
1
+ /********************************************************************************************
2
+ * Copyright (C) 2025 Acoustic, L.P. All rights reserved.
3
+ *
4
+ * NOTICE: This file contains material that is confidential and proprietary to
5
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
6
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
7
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
8
+ * prohibited.
9
+ ********************************************************************************************/
10
+ import React from "react";
11
+ interface ConnectProps {
12
+ children: React.ReactNode;
13
+ captureKeyboardEvents: boolean;
14
+ navigationRef?: React.RefObject<any>;
15
+ }
16
+ declare const Connect: React.ForwardRefExoticComponent<ConnectProps & React.RefAttributes<any>>;
17
+ export default Connect;
18
+ //# sourceMappingURL=Connect.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,23 @@
1
+ /********************************************************************************************
2
+ * Copyright (C) 2025 Acoustic, L.P. All rights reserved.
3
+ *
4
+ * NOTICE: This file contains material that is confidential and proprietary to
5
+ * Acoustic, L.P. and/or other developers. No license is granted under any intellectual or
6
+ * industrial property rights of Acoustic, L.P. except as may be provided in an agreement with
7
+ * Acoustic, L.P. Any unauthorized copying or distribution of content from this file is
8
+ * prohibited.
9
+ ********************************************************************************************/
10
+ import React, { Component } from "react";
11
+ interface ConnectProfilerProps {
12
+ profileName?: string;
13
+ children?: React.ReactNode;
14
+ }
15
+ declare class ConnectProfiler extends Component<ConnectProfilerProps> {
16
+ startTime: number;
17
+ endTime: number;
18
+ constructor(props: ConnectProfilerProps);
19
+ componentDidMount(): void;
20
+ render(): React.ReactNode;
21
+ }
22
+ export default ConnectProfiler;
23
+ //# sourceMappingURL=ConnectProfiler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConnectProfiler.d.ts","sourceRoot":"","sources":["../../../../src/components/ConnectProfiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;6FAQ6F;AAE7F,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGzC,UAAU,oBAAoB;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,cAAM,eAAgB,SAAQ,SAAS,CAAC,oBAAoB,CAAC;IAC3D,SAAS,SAAK;IACd,OAAO,SAAK;gBAEA,KAAK,EAAE,oBAAoB;IAKvC,iBAAiB;IAUjB,MAAM;CAGP;AAED,eAAe,eAAe,CAAC"}
@@ -11,6 +11,10 @@
11
11
  *
12
12
  ********************************************************************************************/
13
13
  import type { AcousticConnectRN as AcousticConnectRNSpec } from './specs/react-native-acoustic-connect.nitro';
14
+ import Connect from './components/Connect';
15
+ import KeyboardListener from './utils/KeyboardListener';
16
+ import TLTRN from './TLTRN';
14
17
  declare const AcousticConnectRN: AcousticConnectRNSpec;
18
+ export { Connect, TLTRN, KeyboardListener };
15
19
  export default AcousticConnectRN;
16
20
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;6FAW6F;AAG7F,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAG7G,QAAA,MAAM,iBAAiB,uBACwD,CAAA;AAE/E,eAAe,iBAAiB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;6FAW6F;AAG7F,OAAO,KAAK,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,6CAA6C,CAAA;AAC7G,OAAO,OAAO,MAAM,sBAAsB,CAAA;AAC1C,OAAO,gBAAgB,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,MAAM,SAAS,CAAA;AAE3B,QAAA,MAAM,iBAAiB,uBAA8E,CAAA;AAErG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAC,CAAA;AAC1C,eAAe,iBAAiB,CAAA"}