@cxpinsight/react-native 0.2.0

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 (253) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +131 -0
  3. package/babel.js +101 -0
  4. package/instrumented/Pressable.d.ts +2 -0
  5. package/instrumented/Pressable.js +2 -0
  6. package/instrumented/ScrollView.d.ts +2 -0
  7. package/instrumented/ScrollView.js +2 -0
  8. package/instrumented/TextInput.d.ts +2 -0
  9. package/instrumented/TextInput.js +2 -0
  10. package/instrumented/TouchableOpacity.d.ts +2 -0
  11. package/instrumented/TouchableOpacity.js +2 -0
  12. package/lib/CXPinsight.d.ts +113 -0
  13. package/lib/CXPinsight.d.ts.map +1 -0
  14. package/lib/CXPinsight.js +831 -0
  15. package/lib/CXPinsight.js.map +1 -0
  16. package/lib/CXPinsightProvider.d.ts +19 -0
  17. package/lib/CXPinsightProvider.d.ts.map +1 -0
  18. package/lib/CXPinsightProvider.js +382 -0
  19. package/lib/CXPinsightProvider.js.map +1 -0
  20. package/lib/core/autoScreenTracker.d.ts +20 -0
  21. package/lib/core/autoScreenTracker.d.ts.map +1 -0
  22. package/lib/core/autoScreenTracker.js +66 -0
  23. package/lib/core/autoScreenTracker.js.map +1 -0
  24. package/lib/core/deepLinkTracker.d.ts +17 -0
  25. package/lib/core/deepLinkTracker.d.ts.map +1 -0
  26. package/lib/core/deepLinkTracker.js +81 -0
  27. package/lib/core/deepLinkTracker.js.map +1 -0
  28. package/lib/core/deviceInfo.d.ts +14 -0
  29. package/lib/core/deviceInfo.d.ts.map +1 -0
  30. package/lib/core/deviceInfo.js +166 -0
  31. package/lib/core/deviceInfo.js.map +1 -0
  32. package/lib/core/eventQueue.d.ts +23 -0
  33. package/lib/core/eventQueue.d.ts.map +1 -0
  34. package/lib/core/eventQueue.js +240 -0
  35. package/lib/core/eventQueue.js.map +1 -0
  36. package/lib/core/lifecycle.d.ts +18 -0
  37. package/lib/core/lifecycle.d.ts.map +1 -0
  38. package/lib/core/lifecycle.js +127 -0
  39. package/lib/core/lifecycle.js.map +1 -0
  40. package/lib/core/mobileRecorder.d.ts +15 -0
  41. package/lib/core/mobileRecorder.d.ts.map +1 -0
  42. package/lib/core/mobileRecorder.js +231 -0
  43. package/lib/core/mobileRecorder.js.map +1 -0
  44. package/lib/core/network.d.ts +10 -0
  45. package/lib/core/network.d.ts.map +1 -0
  46. package/lib/core/network.js +74 -0
  47. package/lib/core/network.js.map +1 -0
  48. package/lib/core/networkCapture.d.ts +22 -0
  49. package/lib/core/networkCapture.d.ts.map +1 -0
  50. package/lib/core/networkCapture.js +100 -0
  51. package/lib/core/networkCapture.js.map +1 -0
  52. package/lib/core/scrollCapture.d.ts +48 -0
  53. package/lib/core/scrollCapture.d.ts.map +1 -0
  54. package/lib/core/scrollCapture.js +221 -0
  55. package/lib/core/scrollCapture.js.map +1 -0
  56. package/lib/core/session.d.ts +15 -0
  57. package/lib/core/session.d.ts.map +1 -0
  58. package/lib/core/session.js +157 -0
  59. package/lib/core/session.js.map +1 -0
  60. package/lib/core/storage.d.ts +11 -0
  61. package/lib/core/storage.d.ts.map +1 -0
  62. package/lib/core/storage.js +59 -0
  63. package/lib/core/storage.js.map +1 -0
  64. package/lib/core/triggerEngine.d.ts +56 -0
  65. package/lib/core/triggerEngine.d.ts.map +1 -0
  66. package/lib/core/triggerEngine.js +432 -0
  67. package/lib/core/triggerEngine.js.map +1 -0
  68. package/lib/index.d.ts +7 -0
  69. package/lib/index.d.ts.map +1 -0
  70. package/lib/index.js +11 -0
  71. package/lib/index.js.map +1 -0
  72. package/lib/instrumented/Pressable.d.ts +9 -0
  73. package/lib/instrumented/Pressable.d.ts.map +1 -0
  74. package/lib/instrumented/Pressable.js +96 -0
  75. package/lib/instrumented/Pressable.js.map +1 -0
  76. package/lib/instrumented/ScrollView.d.ts +6 -0
  77. package/lib/instrumented/ScrollView.d.ts.map +1 -0
  78. package/lib/instrumented/ScrollView.js +101 -0
  79. package/lib/instrumented/ScrollView.js.map +1 -0
  80. package/lib/instrumented/TextInput.d.ts +9 -0
  81. package/lib/instrumented/TextInput.d.ts.map +1 -0
  82. package/lib/instrumented/TextInput.js +75 -0
  83. package/lib/instrumented/TextInput.js.map +1 -0
  84. package/lib/instrumented/TouchableOpacity.d.ts +11 -0
  85. package/lib/instrumented/TouchableOpacity.d.ts.map +1 -0
  86. package/lib/instrumented/TouchableOpacity.js +96 -0
  87. package/lib/instrumented/TouchableOpacity.js.map +1 -0
  88. package/lib/instrumented/index.d.ts +19 -0
  89. package/lib/instrumented/index.d.ts.map +1 -0
  90. package/lib/instrumented/index.js +28 -0
  91. package/lib/instrumented/index.js.map +1 -0
  92. package/lib/instrumented/interactionObserver.d.ts +29 -0
  93. package/lib/instrumented/interactionObserver.d.ts.map +1 -0
  94. package/lib/instrumented/interactionObserver.js +38 -0
  95. package/lib/instrumented/interactionObserver.js.map +1 -0
  96. package/lib/setup/AccessibilityScanner.d.ts +32 -0
  97. package/lib/setup/AccessibilityScanner.d.ts.map +1 -0
  98. package/lib/setup/AccessibilityScanner.js +127 -0
  99. package/lib/setup/AccessibilityScanner.js.map +1 -0
  100. package/lib/setup/ElementIdentifier.d.ts +65 -0
  101. package/lib/setup/ElementIdentifier.d.ts.map +1 -0
  102. package/lib/setup/ElementIdentifier.js +114 -0
  103. package/lib/setup/ElementIdentifier.js.map +1 -0
  104. package/lib/setup/ElementRegistry.d.ts +22 -0
  105. package/lib/setup/ElementRegistry.d.ts.map +1 -0
  106. package/lib/setup/ElementRegistry.js +47 -0
  107. package/lib/setup/ElementRegistry.js.map +1 -0
  108. package/lib/setup/SetupCodeEntry.d.ts +15 -0
  109. package/lib/setup/SetupCodeEntry.d.ts.map +1 -0
  110. package/lib/setup/SetupCodeEntry.js +198 -0
  111. package/lib/setup/SetupCodeEntry.js.map +1 -0
  112. package/lib/setup/SetupController.d.ts +29 -0
  113. package/lib/setup/SetupController.d.ts.map +1 -0
  114. package/lib/setup/SetupController.js +189 -0
  115. package/lib/setup/SetupController.js.map +1 -0
  116. package/lib/setup/SetupOverlay.d.ts +10 -0
  117. package/lib/setup/SetupOverlay.d.ts.map +1 -0
  118. package/lib/setup/SetupOverlay.js +408 -0
  119. package/lib/setup/SetupOverlay.js.map +1 -0
  120. package/lib/setup/TapInterceptor.d.ts +19 -0
  121. package/lib/setup/TapInterceptor.d.ts.map +1 -0
  122. package/lib/setup/TapInterceptor.js +98 -0
  123. package/lib/setup/TapInterceptor.js.map +1 -0
  124. package/lib/setup/TouchObserver.d.ts +25 -0
  125. package/lib/setup/TouchObserver.d.ts.map +1 -0
  126. package/lib/setup/TouchObserver.js +88 -0
  127. package/lib/setup/TouchObserver.js.map +1 -0
  128. package/lib/setup/TouchPatcher.d.ts +27 -0
  129. package/lib/setup/TouchPatcher.d.ts.map +1 -0
  130. package/lib/setup/TouchPatcher.js +182 -0
  131. package/lib/setup/TouchPatcher.js.map +1 -0
  132. package/lib/setup/index.d.ts +13 -0
  133. package/lib/setup/index.d.ts.map +1 -0
  134. package/lib/setup/index.js +45 -0
  135. package/lib/setup/index.js.map +1 -0
  136. package/lib/setup/useCXPElement.d.ts +25 -0
  137. package/lib/setup/useCXPElement.d.ts.map +1 -0
  138. package/lib/setup/useCXPElement.js +33 -0
  139. package/lib/setup/useCXPElement.js.map +1 -0
  140. package/lib/survey/SurveyModal.d.ts +10 -0
  141. package/lib/survey/SurveyModal.d.ts.map +1 -0
  142. package/lib/survey/SurveyModal.js +1650 -0
  143. package/lib/survey/SurveyModal.js.map +1 -0
  144. package/lib/survey/expressionEval.d.ts +10 -0
  145. package/lib/survey/expressionEval.d.ts.map +1 -0
  146. package/lib/survey/expressionEval.js +287 -0
  147. package/lib/survey/expressionEval.js.map +1 -0
  148. package/lib/survey/frequencyCap.d.ts +15 -0
  149. package/lib/survey/frequencyCap.d.ts.map +1 -0
  150. package/lib/survey/frequencyCap.js +116 -0
  151. package/lib/survey/frequencyCap.js.map +1 -0
  152. package/lib/survey/handsFreeVoice.d.ts +30 -0
  153. package/lib/survey/handsFreeVoice.d.ts.map +1 -0
  154. package/lib/survey/handsFreeVoice.js +312 -0
  155. package/lib/survey/handsFreeVoice.js.map +1 -0
  156. package/lib/survey/interpolate.d.ts +6 -0
  157. package/lib/survey/interpolate.d.ts.map +1 -0
  158. package/lib/survey/interpolate.js +61 -0
  159. package/lib/survey/interpolate.js.map +1 -0
  160. package/lib/survey/pagesFromV1.d.ts +6 -0
  161. package/lib/survey/pagesFromV1.d.ts.map +1 -0
  162. package/lib/survey/pagesFromV1.js +83 -0
  163. package/lib/survey/pagesFromV1.js.map +1 -0
  164. package/lib/survey/questions/CSATQuestion.d.ts +16 -0
  165. package/lib/survey/questions/CSATQuestion.d.ts.map +1 -0
  166. package/lib/survey/questions/CSATQuestion.js +37 -0
  167. package/lib/survey/questions/CSATQuestion.js.map +1 -0
  168. package/lib/survey/questions/DateQuestion.d.ts +20 -0
  169. package/lib/survey/questions/DateQuestion.d.ts.map +1 -0
  170. package/lib/survey/questions/DateQuestion.js +103 -0
  171. package/lib/survey/questions/DateQuestion.js.map +1 -0
  172. package/lib/survey/questions/ImagePickerQuestion.d.ts +33 -0
  173. package/lib/survey/questions/ImagePickerQuestion.d.ts.map +1 -0
  174. package/lib/survey/questions/ImagePickerQuestion.js +68 -0
  175. package/lib/survey/questions/ImagePickerQuestion.js.map +1 -0
  176. package/lib/survey/questions/ImageQuestion.d.ts +26 -0
  177. package/lib/survey/questions/ImageQuestion.d.ts.map +1 -0
  178. package/lib/survey/questions/ImageQuestion.js +24 -0
  179. package/lib/survey/questions/ImageQuestion.js.map +1 -0
  180. package/lib/survey/questions/MatrixCell.d.ts +45 -0
  181. package/lib/survey/questions/MatrixCell.d.ts.map +1 -0
  182. package/lib/survey/questions/MatrixCell.js +54 -0
  183. package/lib/survey/questions/MatrixCell.js.map +1 -0
  184. package/lib/survey/questions/MatrixDropdownQuestion.d.ts +29 -0
  185. package/lib/survey/questions/MatrixDropdownQuestion.d.ts.map +1 -0
  186. package/lib/survey/questions/MatrixDropdownQuestion.js +42 -0
  187. package/lib/survey/questions/MatrixDropdownQuestion.js.map +1 -0
  188. package/lib/survey/questions/MatrixDynamicQuestion.d.ts +26 -0
  189. package/lib/survey/questions/MatrixDynamicQuestion.d.ts.map +1 -0
  190. package/lib/survey/questions/MatrixDynamicQuestion.js +52 -0
  191. package/lib/survey/questions/MatrixDynamicQuestion.js.map +1 -0
  192. package/lib/survey/questions/MatrixQuestion.d.ts +38 -0
  193. package/lib/survey/questions/MatrixQuestion.d.ts.map +1 -0
  194. package/lib/survey/questions/MatrixQuestion.js +64 -0
  195. package/lib/survey/questions/MatrixQuestion.js.map +1 -0
  196. package/lib/survey/questions/MultiTextQuestion.d.ts +19 -0
  197. package/lib/survey/questions/MultiTextQuestion.d.ts.map +1 -0
  198. package/lib/survey/questions/MultiTextQuestion.js +64 -0
  199. package/lib/survey/questions/MultiTextQuestion.js.map +1 -0
  200. package/lib/survey/questions/MultipleChoiceQuestion.d.ts +25 -0
  201. package/lib/survey/questions/MultipleChoiceQuestion.d.ts.map +1 -0
  202. package/lib/survey/questions/MultipleChoiceQuestion.js +111 -0
  203. package/lib/survey/questions/MultipleChoiceQuestion.js.map +1 -0
  204. package/lib/survey/questions/NPSQuestion.d.ts +18 -0
  205. package/lib/survey/questions/NPSQuestion.d.ts.map +1 -0
  206. package/lib/survey/questions/NPSQuestion.js +62 -0
  207. package/lib/survey/questions/NPSQuestion.js.map +1 -0
  208. package/lib/survey/questions/PanelDynamicQuestion.d.ts +50 -0
  209. package/lib/survey/questions/PanelDynamicQuestion.d.ts.map +1 -0
  210. package/lib/survey/questions/PanelDynamicQuestion.js +62 -0
  211. package/lib/survey/questions/PanelDynamicQuestion.js.map +1 -0
  212. package/lib/survey/questions/RankingQuestion.d.ts +34 -0
  213. package/lib/survey/questions/RankingQuestion.d.ts.map +1 -0
  214. package/lib/survey/questions/RankingQuestion.js +85 -0
  215. package/lib/survey/questions/RankingQuestion.js.map +1 -0
  216. package/lib/survey/questions/RatingQuestion.d.ts +20 -0
  217. package/lib/survey/questions/RatingQuestion.d.ts.map +1 -0
  218. package/lib/survey/questions/RatingQuestion.js +53 -0
  219. package/lib/survey/questions/RatingQuestion.js.map +1 -0
  220. package/lib/survey/questions/TextQuestion.d.ts +17 -0
  221. package/lib/survey/questions/TextQuestion.d.ts.map +1 -0
  222. package/lib/survey/questions/TextQuestion.js +46 -0
  223. package/lib/survey/questions/TextQuestion.js.map +1 -0
  224. package/lib/survey/styleContract.d.ts +230 -0
  225. package/lib/survey/styleContract.d.ts.map +1 -0
  226. package/lib/survey/styleContract.js +365 -0
  227. package/lib/survey/styleContract.js.map +1 -0
  228. package/lib/survey/themePalette.d.ts +56 -0
  229. package/lib/survey/themePalette.d.ts.map +1 -0
  230. package/lib/survey/themePalette.js +63 -0
  231. package/lib/survey/themePalette.js.map +1 -0
  232. package/lib/survey/translationLookup.d.ts +4 -0
  233. package/lib/survey/translationLookup.d.ts.map +1 -0
  234. package/lib/survey/translationLookup.js +62 -0
  235. package/lib/survey/translationLookup.js.map +1 -0
  236. package/lib/survey/validate.d.ts +3 -0
  237. package/lib/survey/validate.d.ts.map +1 -0
  238. package/lib/survey/validate.js +159 -0
  239. package/lib/survey/validate.js.map +1 -0
  240. package/lib/survey/variablesResolver.d.ts +10 -0
  241. package/lib/survey/variablesResolver.d.ts.map +1 -0
  242. package/lib/survey/variablesResolver.js +107 -0
  243. package/lib/survey/variablesResolver.js.map +1 -0
  244. package/lib/survey/voiceParsers.d.ts +47 -0
  245. package/lib/survey/voiceParsers.d.ts.map +1 -0
  246. package/lib/survey/voiceParsers.js +310 -0
  247. package/lib/survey/voiceParsers.js.map +1 -0
  248. package/lib/types.d.ts +349 -0
  249. package/lib/types.d.ts.map +1 -0
  250. package/lib/types.js +20 -0
  251. package/lib/types.js.map +1 -0
  252. package/metro.js +55 -0
  253. package/package.json +78 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SetupOverlay.js","sourceRoot":"","sources":["../../src/setup/SetupOverlay.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import { View } from 'react-native';
3
+ import type { ElementInfo } from './ElementIdentifier';
4
+ interface TapInterceptorProps {
5
+ active: boolean;
6
+ onElementTapped: (element: ElementInfo) => void;
7
+ onCancel: () => void;
8
+ rootRef?: React.RefObject<View>;
9
+ }
10
+ /**
11
+ * TapInterceptor — captures taps for setup mode "tap to pick."
12
+ *
13
+ * Uses a transparent Modal to guarantee its own native window layer,
14
+ * which avoids all the touch-stealing issues with sibling overlays.
15
+ * TouchableWithoutFeedback reliably captures taps inside the Modal.
16
+ */
17
+ export declare function TapInterceptor({ active, onElementTapped, onCancel }: TapInterceptorProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
19
+ //# sourceMappingURL=TapInterceptor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TapInterceptor.d.ts","sourceRoot":"","sources":["../../src/setup/TapInterceptor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAgC,MAAM,OAAO,CAAC;AACrD,OAAO,EACL,IAAI,EASL,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAEvD,UAAU,mBAAmB;IAC3B,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAChD,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,mBAAmB,2CA6DxF"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TapInterceptor = TapInterceptor;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const react_native_1 = require("react-native");
7
+ /**
8
+ * TapInterceptor — captures taps for setup mode "tap to pick."
9
+ *
10
+ * Uses a transparent Modal to guarantee its own native window layer,
11
+ * which avoids all the touch-stealing issues with sibling overlays.
12
+ * TouchableWithoutFeedback reliably captures taps inside the Modal.
13
+ */
14
+ function TapInterceptor({ active, onElementTapped, onCancel }) {
15
+ const [highlight, setHighlight] = (0, react_1.useState)(null);
16
+ const [busy, setBusy] = (0, react_1.useState)(false);
17
+ const handlePress = (0, react_1.useCallback)((evt) => {
18
+ if (busy)
19
+ return;
20
+ setBusy(true);
21
+ const { pageX, pageY } = evt.nativeEvent;
22
+ const bounds = { x: pageX - 25, y: pageY - 25, width: 50, height: 50 };
23
+ setHighlight(bounds);
24
+ const element = {
25
+ elementType: 'button',
26
+ text: `Element at (${Math.round(pageX)}, ${Math.round(pageY)})`,
27
+ bounds,
28
+ interactive: true,
29
+ hierarchyPath: `tap_${Math.round(pageX)}_${Math.round(pageY)}`,
30
+ };
31
+ setTimeout(() => {
32
+ setHighlight(null);
33
+ setBusy(false);
34
+ onElementTapped(element);
35
+ }, 350);
36
+ }, [busy, onElementTapped]);
37
+ return ((0, jsx_runtime_1.jsx)(react_native_1.Modal, { visible: active, transparent: true, animationType: "fade", statusBarTranslucent: true, children: (0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.root, children: [(0, jsx_runtime_1.jsxs)(react_native_1.View, { style: styles.topBar, children: [(0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.instructionPill, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.instructionText, children: "Tap any element" }) }), (0, jsx_runtime_1.jsx)(react_native_1.TouchableOpacity, { onPress: onCancel, style: styles.cancelBtn, activeOpacity: 0.7, children: (0, jsx_runtime_1.jsx)(react_native_1.Text, { style: styles.cancelText, children: "Cancel" }) })] }), (0, jsx_runtime_1.jsx)(react_native_1.TouchableWithoutFeedback, { onPress: handlePress, children: (0, jsx_runtime_1.jsx)(react_native_1.View, { style: styles.touchArea }) }), highlight && ((0, jsx_runtime_1.jsx)(react_native_1.View, { pointerEvents: "none", style: [styles.highlight, {
38
+ left: highlight.x,
39
+ top: highlight.y,
40
+ width: highlight.width,
41
+ height: highlight.height,
42
+ }] }))] }) }));
43
+ }
44
+ const TOP_BAR_HEIGHT = react_native_1.Platform.OS === 'ios' ? 100 : 80;
45
+ const styles = react_native_1.StyleSheet.create({
46
+ root: {
47
+ flex: 1,
48
+ },
49
+ topBar: {
50
+ height: TOP_BAR_HEIGHT,
51
+ paddingTop: react_native_1.Platform.OS === 'ios' ? 54 : 34,
52
+ paddingHorizontal: 16,
53
+ flexDirection: 'row',
54
+ alignItems: 'center',
55
+ gap: 8,
56
+ backgroundColor: 'rgba(3, 7, 18, 0.85)',
57
+ },
58
+ instructionPill: {
59
+ flex: 1,
60
+ flexDirection: 'row',
61
+ alignItems: 'center',
62
+ gap: 8,
63
+ backgroundColor: 'rgba(214, 245, 81, 0.1)',
64
+ paddingHorizontal: 14,
65
+ paddingVertical: 8,
66
+ borderRadius: 10,
67
+ borderWidth: 1,
68
+ borderColor: 'rgba(214, 245, 81, 0.3)',
69
+ },
70
+ instructionText: {
71
+ color: '#D6F551',
72
+ fontSize: 13,
73
+ fontWeight: '600',
74
+ },
75
+ cancelBtn: {
76
+ backgroundColor: 'rgba(239, 68, 68, 0.9)',
77
+ paddingHorizontal: 16,
78
+ paddingVertical: 8,
79
+ borderRadius: 10,
80
+ },
81
+ cancelText: {
82
+ color: '#fff',
83
+ fontSize: 13,
84
+ fontWeight: '600',
85
+ },
86
+ touchArea: {
87
+ flex: 1,
88
+ backgroundColor: 'rgba(214, 245, 81, 0.04)',
89
+ },
90
+ highlight: {
91
+ position: 'absolute',
92
+ borderWidth: 2,
93
+ borderColor: '#D6F551',
94
+ borderRadius: 6,
95
+ backgroundColor: 'rgba(214, 245, 81, 0.2)',
96
+ },
97
+ });
98
+ //# sourceMappingURL=TapInterceptor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TapInterceptor.js","sourceRoot":"","sources":["../../src/setup/TapInterceptor.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import React from 'react';
2
+ import type { ElementInfo } from './ElementIdentifier';
3
+ interface TouchObserverProps {
4
+ /** Whether setup mode is active */
5
+ active: boolean;
6
+ /** Whether tap-to-pick mode is active (shows highlight on tap) */
7
+ pickMode: boolean;
8
+ /** Called with element info when a touch is observed in pick mode */
9
+ onElementPicked: (element: ElementInfo) => void;
10
+ /** Children (the entire app) */
11
+ children: React.ReactNode;
12
+ }
13
+ /**
14
+ * TouchObserver — wraps the app content and passively observes all touches
15
+ * WITHOUT blocking them. The app works normally — users can navigate, scroll,
16
+ * tap buttons. When pick mode is active, it additionally identifies what was
17
+ * tapped and reports it back.
18
+ *
19
+ * Key insight: onStartShouldSetResponderCapture returning false means we
20
+ * SEE the touch but don't steal it from the actual target element.
21
+ * We then use the nativeEvent.target to identify what was touched.
22
+ */
23
+ export declare function TouchObserver({ active, pickMode, onElementPicked, children }: TouchObserverProps): import("react/jsx-runtime").JSX.Element;
24
+ export {};
25
+ //# sourceMappingURL=TouchObserver.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TouchObserver.d.ts","sourceRoot":"","sources":["../../src/setup/TouchObserver.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAWnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,UAAU,kBAAkB;IAC1B,mCAAmC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,kEAAkE;IAClE,QAAQ,EAAE,OAAO,CAAC;IAClB,qEAAqE;IACrE,eAAe,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;IAChD,gCAAgC;IAChC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,EAAE,kBAAkB,2CA+EhG"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TouchObserver = TouchObserver;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const react_1 = require("react");
6
+ const react_native_1 = require("react-native");
7
+ /**
8
+ * TouchObserver — wraps the app content and passively observes all touches
9
+ * WITHOUT blocking them. The app works normally — users can navigate, scroll,
10
+ * tap buttons. When pick mode is active, it additionally identifies what was
11
+ * tapped and reports it back.
12
+ *
13
+ * Key insight: onStartShouldSetResponderCapture returning false means we
14
+ * SEE the touch but don't steal it from the actual target element.
15
+ * We then use the nativeEvent.target to identify what was touched.
16
+ */
17
+ function TouchObserver({ active, pickMode, onElementPicked, children }) {
18
+ const rootRef = (0, react_1.useRef)(null);
19
+ const lastPickTime = (0, react_1.useRef)(0);
20
+ // This fires on EVERY touch in the capture phase, before the target element handles it
21
+ const handleTouchCapture = (0, react_1.useCallback)((event) => {
22
+ if (!active || !pickMode)
23
+ return false; // Don't observe when inactive
24
+ const { pageX, pageY, target } = event.nativeEvent;
25
+ const now = Date.now();
26
+ // Debounce — don't fire more than once per 500ms
27
+ if (now - lastPickTime.current < 500)
28
+ return false;
29
+ lastPickTime.current = now;
30
+ // target is the native view tag of the element that was touched
31
+ if (target && typeof target === 'number') {
32
+ // Try to measure the target view to get its bounds
33
+ try {
34
+ react_native_1.UIManager.measure(target, (x, y, width, height, pageXView, pageYView) => {
35
+ if (width > 0 && height > 0) {
36
+ const element = {
37
+ elementType: 'button', // Will be refined if we get more info
38
+ text: '', // Will be filled by the user in the form
39
+ bounds: {
40
+ x: pageXView,
41
+ y: pageYView,
42
+ width,
43
+ height,
44
+ },
45
+ interactive: true,
46
+ nativeID: `native_${target}`,
47
+ hierarchyPath: `screen_tap_${Math.round(pageX)}_${Math.round(pageY)}`,
48
+ };
49
+ // On Android, try to get view properties
50
+ if (react_native_1.Platform.OS === 'android') {
51
+ try {
52
+ const viewConfig = react_native_1.UIManager.getViewManagerConfig?.('RCTView');
53
+ // We can't easily get testID from the native tag,
54
+ // but the coordinates + bounds are enough for the user
55
+ // to identify the element in the setup form
56
+ }
57
+ catch { /* ignore */ }
58
+ }
59
+ onElementPicked(element);
60
+ }
61
+ });
62
+ }
63
+ catch {
64
+ // Fallback: use tap coordinates
65
+ onElementPicked({
66
+ elementType: 'button',
67
+ text: '',
68
+ bounds: { x: pageX - 20, y: pageY - 20, width: 40, height: 40 },
69
+ interactive: true,
70
+ hierarchyPath: `tap_${Math.round(pageX)}_${Math.round(pageY)}`,
71
+ });
72
+ }
73
+ }
74
+ // CRITICAL: return false so the touch passes through to the actual element
75
+ return false;
76
+ }, [active, pickMode, onElementPicked]);
77
+ if (!active) {
78
+ // When not in setup mode, render children directly without any wrapper overhead
79
+ return (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: children });
80
+ }
81
+ return ((0, jsx_runtime_1.jsx)(react_native_1.View, { ref: rootRef, style: styles.root, collapsable: false, onStartShouldSetResponderCapture: handleTouchCapture, children: children }));
82
+ }
83
+ const styles = react_native_1.StyleSheet.create({
84
+ root: {
85
+ flex: 1,
86
+ },
87
+ });
88
+ //# sourceMappingURL=TouchObserver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TouchObserver.js","sourceRoot":"","sources":["../../src/setup/TouchObserver.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { ElementInfo } from './ElementIdentifier';
2
+ /**
3
+ * TouchPatcher — monkey-patches React Native touch components to observe
4
+ * every user interaction while setup mode is active.
5
+ *
6
+ * How it works:
7
+ * - Wraps the `render` method of TouchableOpacity, Pressable, etc.
8
+ * - Intercepts props to wrap `onPress`, `onLongPress`, `onFocus` callbacks
9
+ * - When the user taps anything, the SDK sees it without blocking the tap
10
+ * - The original callback still fires — the app works 100% normally
11
+ *
12
+ * This is the same technique used by Heap, FullStory, and Datadog RUM SDKs.
13
+ */
14
+ type TapListener = (element: ElementInfo) => void;
15
+ /**
16
+ * Start observing all touches. Call when setup mode activates.
17
+ */
18
+ export declare function startObserving(listener: TapListener): void;
19
+ /**
20
+ * Stop observing. Call when setup mode ends.
21
+ */
22
+ export declare function stopObserving(): void;
23
+ export declare function isObserving(): boolean;
24
+ export declare function patchCreateElement(): void;
25
+ export declare function unpatchCreateElement(): void;
26
+ export {};
27
+ //# sourceMappingURL=TouchPatcher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TouchPatcher.d.ts","sourceRoot":"","sources":["../../src/setup/TouchPatcher.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD;;;;;;;;;;;GAWG;AAEH,KAAK,WAAW,GAAG,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,CAAC;AAQlD;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,CAa1D;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,IAAI,CAapC;AAED,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAgCD,wBAAgB,kBAAkB,IAAI,IAAI,CAwCzC;AAED,wBAAgB,oBAAoB,IAAI,IAAI,CAK3C"}
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.startObserving = startObserving;
7
+ exports.stopObserving = stopObserving;
8
+ exports.isObserving = isObserving;
9
+ exports.patchCreateElement = patchCreateElement;
10
+ exports.unpatchCreateElement = unpatchCreateElement;
11
+ const react_1 = __importDefault(require("react"));
12
+ const react_native_1 = require("react-native");
13
+ const ElementIdentifier_1 = require("./ElementIdentifier");
14
+ let tapListener = null;
15
+ let patched = false;
16
+ // Store originals so we can unpatch
17
+ const originals = new Map();
18
+ /**
19
+ * Start observing all touches. Call when setup mode activates.
20
+ */
21
+ function startObserving(listener) {
22
+ if (patched)
23
+ return;
24
+ tapListener = listener;
25
+ patchComponent(react_native_1.TouchableOpacity, 'TouchableOpacity', 'button');
26
+ patchComponent(react_native_1.TouchableHighlight, 'TouchableHighlight', 'button');
27
+ patchComponent(react_native_1.TouchableWithoutFeedback, 'TouchableWithoutFeedback', 'button');
28
+ patchComponent(react_native_1.Pressable, 'Pressable', 'button');
29
+ patchComponent(react_native_1.Button, 'Button', 'button');
30
+ patchComponent(react_native_1.TextInput, 'TextInput', 'text_input');
31
+ patched = true;
32
+ console.log('[CXPinsight:TouchPatcher] Started observing touches');
33
+ }
34
+ /**
35
+ * Stop observing. Call when setup mode ends.
36
+ */
37
+ function stopObserving() {
38
+ if (!patched)
39
+ return;
40
+ for (const [component, original] of originals.entries()) {
41
+ if (original.type === 'render') {
42
+ component.render = original.fn;
43
+ }
44
+ }
45
+ originals.clear();
46
+ tapListener = null;
47
+ patched = false;
48
+ console.log('[CXPinsight:TouchPatcher] Stopped observing touches');
49
+ }
50
+ function isObserving() {
51
+ return patched;
52
+ }
53
+ function patchComponent(Component, componentName, elementType) {
54
+ if (!Component)
55
+ return;
56
+ // For function components (Pressable, etc.), we need to wrap differently
57
+ // than class components (TouchableOpacity, etc.)
58
+ // Strategy: wrap the component itself using React.createElement interception
59
+ // This works for both class and function components
60
+ const originalCreateElement = react_1.default.createElement;
61
+ // We track which components to intercept
62
+ if (!originals.has(Component)) {
63
+ originals.set(Component, { type: 'component', name: componentName });
64
+ }
65
+ }
66
+ /**
67
+ * Alternative approach: Use a global createElement wrapper.
68
+ * This intercepts ALL React element creation and wraps touch handlers.
69
+ *
70
+ * Called once when setup starts, removed when setup ends.
71
+ */
72
+ let originalCreateElement = null;
73
+ function patchCreateElement() {
74
+ if (originalCreateElement)
75
+ return; // Already patched
76
+ originalCreateElement = react_1.default.createElement;
77
+ const touchComponents = new Set([
78
+ react_native_1.TouchableOpacity,
79
+ react_native_1.TouchableHighlight,
80
+ react_native_1.TouchableWithoutFeedback,
81
+ react_native_1.Pressable,
82
+ react_native_1.Button,
83
+ react_native_1.TextInput,
84
+ ]);
85
+ // Also match by displayName/name for cases where imports differ
86
+ const touchNames = new Set([
87
+ 'TouchableOpacity',
88
+ 'TouchableHighlight',
89
+ 'TouchableWithoutFeedback',
90
+ 'Pressable',
91
+ 'Button',
92
+ 'TextInput',
93
+ 'ForwardRef(Pressable)',
94
+ ]);
95
+ react_1.default.createElement = function (type, props, ...children) {
96
+ // Only intercept touch components
97
+ const isTouch = touchComponents.has(type) ||
98
+ touchNames.has(type?.displayName) ||
99
+ touchNames.has(type?.name) ||
100
+ touchNames.has(type?.render?.displayName) ||
101
+ touchNames.has(type?.render?.name);
102
+ if (isTouch && props && tapListener) {
103
+ const wrappedProps = wrapTouchProps(props, type, children);
104
+ return originalCreateElement.call(react_1.default, type, wrappedProps, ...children);
105
+ }
106
+ return originalCreateElement.call(react_1.default, type, props, ...children);
107
+ };
108
+ }
109
+ function unpatchCreateElement() {
110
+ if (originalCreateElement) {
111
+ react_1.default.createElement = originalCreateElement;
112
+ originalCreateElement = null;
113
+ }
114
+ }
115
+ function wrapTouchProps(props, componentType, children) {
116
+ const wrapped = { ...props };
117
+ const componentName = componentType?.displayName || componentType?.name ||
118
+ componentType?.render?.displayName || componentType?.render?.name || 'Unknown';
119
+ // Extract element info from props
120
+ const elementInfo = {
121
+ testID: props.testID || undefined,
122
+ accessibilityLabel: props.accessibilityLabel || undefined,
123
+ nativeID: props.nativeID || undefined,
124
+ accessibilityRole: props.accessibilityRole || undefined,
125
+ elementType: (0, ElementIdentifier_1.inferElementType)(props.accessibilityRole, componentName),
126
+ text: extractTextFromChildren(children) || props.title || props.placeholder || props.accessibilityLabel || '',
127
+ interactive: true,
128
+ };
129
+ // Wrap onPress
130
+ if (props.onPress) {
131
+ const originalOnPress = props.onPress;
132
+ wrapped.onPress = (...args) => {
133
+ tapListener?.({ ...elementInfo, text: elementInfo.text || 'Tapped' });
134
+ return originalOnPress(...args);
135
+ };
136
+ }
137
+ // Wrap onLongPress
138
+ if (props.onLongPress) {
139
+ const originalOnLongPress = props.onLongPress;
140
+ wrapped.onLongPress = (...args) => {
141
+ tapListener?.({ ...elementInfo, elementType: elementInfo.elementType, text: elementInfo.text || 'Long Pressed' });
142
+ return originalOnLongPress(...args);
143
+ };
144
+ }
145
+ // Wrap onFocus (for TextInput)
146
+ if (props.onFocus) {
147
+ const originalOnFocus = props.onFocus;
148
+ wrapped.onFocus = (...args) => {
149
+ tapListener?.({ ...elementInfo, elementType: 'text_input', text: elementInfo.text || props.placeholder || 'Input focused' });
150
+ return originalOnFocus(...args);
151
+ };
152
+ }
153
+ // For elements without explicit handlers but that are touchable,
154
+ // add a wrapper that still captures the interaction
155
+ if (!props.onPress && !props.onLongPress && componentName !== 'TextInput') {
156
+ // Don't add handlers where there were none — this could change behavior
157
+ // Just skip these elements
158
+ }
159
+ return wrapped;
160
+ }
161
+ function extractTextFromChildren(children) {
162
+ for (const child of children) {
163
+ if (typeof child === 'string')
164
+ return child.slice(0, 80);
165
+ if (typeof child === 'number')
166
+ return String(child);
167
+ if (child && typeof child === 'object') {
168
+ // Check for nested Text components
169
+ if (child.props?.children && typeof child.props.children === 'string') {
170
+ return child.props.children.slice(0, 80);
171
+ }
172
+ // Recurse one level
173
+ if (Array.isArray(child.props?.children)) {
174
+ const text = extractTextFromChildren(child.props.children);
175
+ if (text)
176
+ return text;
177
+ }
178
+ }
179
+ }
180
+ return '';
181
+ }
182
+ //# sourceMappingURL=TouchPatcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TouchPatcher.js","sourceRoot":"","sources":["../../src/setup/TouchPatcher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export { SetupOverlay } from './SetupOverlay';
2
+ export { SetupCodeEntry } from './SetupCodeEntry';
3
+ export { TapInterceptor } from './TapInterceptor';
4
+ export { TouchObserver } from './TouchObserver';
5
+ export { startObserving, stopObserving, patchCreateElement, unpatchCreateElement } from './TouchPatcher';
6
+ export { useCXPElement } from './useCXPElement';
7
+ export { registerElement, getRegisteredElements, onRegistryChange, clearRegistry } from './ElementRegistry';
8
+ export { claimSetup, endSetup, getSetupState, isSetupActive, onSetupStateChange, getDeviceId, restoreSetupState, clearSetupState, } from './SetupController';
9
+ export type { SetupSessionState } from './SetupController';
10
+ export { scanNativeViewHierarchy, scanReactTree, uploadScreenSnapshot, buildElementsFromTestIDs, setDebugMode as setScannerDebugMode, } from './AccessibilityScanner';
11
+ export { buildIdentifier, extractLabel, identifierQuality, matchesIdentifier, inferElementType, } from './ElementIdentifier';
12
+ export type { ElementInfo, StoredElementIdentifier } from './ElementIdentifier';
13
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/setup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAC;AACzG,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAC5G,OAAO,EACL,UAAU,EACV,QAAQ,EACR,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,iBAAiB,EACjB,eAAe,GAChB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EACL,uBAAuB,EACvB,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,YAAY,IAAI,mBAAmB,GACpC,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.inferElementType = exports.matchesIdentifier = exports.identifierQuality = exports.extractLabel = exports.buildIdentifier = exports.setScannerDebugMode = exports.buildElementsFromTestIDs = exports.uploadScreenSnapshot = exports.scanReactTree = exports.scanNativeViewHierarchy = exports.clearSetupState = exports.restoreSetupState = exports.getDeviceId = exports.onSetupStateChange = exports.isSetupActive = exports.getSetupState = exports.endSetup = exports.claimSetup = exports.clearRegistry = exports.onRegistryChange = exports.getRegisteredElements = exports.registerElement = exports.useCXPElement = exports.unpatchCreateElement = exports.patchCreateElement = exports.stopObserving = exports.startObserving = exports.TouchObserver = exports.TapInterceptor = exports.SetupCodeEntry = exports.SetupOverlay = void 0;
4
+ var SetupOverlay_1 = require("./SetupOverlay");
5
+ Object.defineProperty(exports, "SetupOverlay", { enumerable: true, get: function () { return SetupOverlay_1.SetupOverlay; } });
6
+ var SetupCodeEntry_1 = require("./SetupCodeEntry");
7
+ Object.defineProperty(exports, "SetupCodeEntry", { enumerable: true, get: function () { return SetupCodeEntry_1.SetupCodeEntry; } });
8
+ var TapInterceptor_1 = require("./TapInterceptor");
9
+ Object.defineProperty(exports, "TapInterceptor", { enumerable: true, get: function () { return TapInterceptor_1.TapInterceptor; } });
10
+ var TouchObserver_1 = require("./TouchObserver");
11
+ Object.defineProperty(exports, "TouchObserver", { enumerable: true, get: function () { return TouchObserver_1.TouchObserver; } });
12
+ var TouchPatcher_1 = require("./TouchPatcher");
13
+ Object.defineProperty(exports, "startObserving", { enumerable: true, get: function () { return TouchPatcher_1.startObserving; } });
14
+ Object.defineProperty(exports, "stopObserving", { enumerable: true, get: function () { return TouchPatcher_1.stopObserving; } });
15
+ Object.defineProperty(exports, "patchCreateElement", { enumerable: true, get: function () { return TouchPatcher_1.patchCreateElement; } });
16
+ Object.defineProperty(exports, "unpatchCreateElement", { enumerable: true, get: function () { return TouchPatcher_1.unpatchCreateElement; } });
17
+ var useCXPElement_1 = require("./useCXPElement");
18
+ Object.defineProperty(exports, "useCXPElement", { enumerable: true, get: function () { return useCXPElement_1.useCXPElement; } });
19
+ var ElementRegistry_1 = require("./ElementRegistry");
20
+ Object.defineProperty(exports, "registerElement", { enumerable: true, get: function () { return ElementRegistry_1.registerElement; } });
21
+ Object.defineProperty(exports, "getRegisteredElements", { enumerable: true, get: function () { return ElementRegistry_1.getRegisteredElements; } });
22
+ Object.defineProperty(exports, "onRegistryChange", { enumerable: true, get: function () { return ElementRegistry_1.onRegistryChange; } });
23
+ Object.defineProperty(exports, "clearRegistry", { enumerable: true, get: function () { return ElementRegistry_1.clearRegistry; } });
24
+ var SetupController_1 = require("./SetupController");
25
+ Object.defineProperty(exports, "claimSetup", { enumerable: true, get: function () { return SetupController_1.claimSetup; } });
26
+ Object.defineProperty(exports, "endSetup", { enumerable: true, get: function () { return SetupController_1.endSetup; } });
27
+ Object.defineProperty(exports, "getSetupState", { enumerable: true, get: function () { return SetupController_1.getSetupState; } });
28
+ Object.defineProperty(exports, "isSetupActive", { enumerable: true, get: function () { return SetupController_1.isSetupActive; } });
29
+ Object.defineProperty(exports, "onSetupStateChange", { enumerable: true, get: function () { return SetupController_1.onSetupStateChange; } });
30
+ Object.defineProperty(exports, "getDeviceId", { enumerable: true, get: function () { return SetupController_1.getDeviceId; } });
31
+ Object.defineProperty(exports, "restoreSetupState", { enumerable: true, get: function () { return SetupController_1.restoreSetupState; } });
32
+ Object.defineProperty(exports, "clearSetupState", { enumerable: true, get: function () { return SetupController_1.clearSetupState; } });
33
+ var AccessibilityScanner_1 = require("./AccessibilityScanner");
34
+ Object.defineProperty(exports, "scanNativeViewHierarchy", { enumerable: true, get: function () { return AccessibilityScanner_1.scanNativeViewHierarchy; } });
35
+ Object.defineProperty(exports, "scanReactTree", { enumerable: true, get: function () { return AccessibilityScanner_1.scanReactTree; } });
36
+ Object.defineProperty(exports, "uploadScreenSnapshot", { enumerable: true, get: function () { return AccessibilityScanner_1.uploadScreenSnapshot; } });
37
+ Object.defineProperty(exports, "buildElementsFromTestIDs", { enumerable: true, get: function () { return AccessibilityScanner_1.buildElementsFromTestIDs; } });
38
+ Object.defineProperty(exports, "setScannerDebugMode", { enumerable: true, get: function () { return AccessibilityScanner_1.setDebugMode; } });
39
+ var ElementIdentifier_1 = require("./ElementIdentifier");
40
+ Object.defineProperty(exports, "buildIdentifier", { enumerable: true, get: function () { return ElementIdentifier_1.buildIdentifier; } });
41
+ Object.defineProperty(exports, "extractLabel", { enumerable: true, get: function () { return ElementIdentifier_1.extractLabel; } });
42
+ Object.defineProperty(exports, "identifierQuality", { enumerable: true, get: function () { return ElementIdentifier_1.identifierQuality; } });
43
+ Object.defineProperty(exports, "matchesIdentifier", { enumerable: true, get: function () { return ElementIdentifier_1.matchesIdentifier; } });
44
+ Object.defineProperty(exports, "inferElementType", { enumerable: true, get: function () { return ElementIdentifier_1.inferElementType; } });
45
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/setup/index.ts"],"names":[],"mappings":";;;AAAA,+CAA8C;AAArC,4GAAA,YAAY,OAAA;AACrB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,mDAAkD;AAAzC,gHAAA,cAAc,OAAA;AACvB,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,+CAAyG;AAAhG,8GAAA,cAAc,OAAA;AAAE,6GAAA,aAAa,OAAA;AAAE,kHAAA,kBAAkB,OAAA;AAAE,oHAAA,oBAAoB,OAAA;AAChF,iDAAgD;AAAvC,8GAAA,aAAa,OAAA;AACtB,qDAA4G;AAAnG,kHAAA,eAAe,OAAA;AAAE,wHAAA,qBAAqB,OAAA;AAAE,mHAAA,gBAAgB,OAAA;AAAE,gHAAA,aAAa,OAAA;AAChF,qDAS2B;AARzB,6GAAA,UAAU,OAAA;AACV,2GAAA,QAAQ,OAAA;AACR,gHAAA,aAAa,OAAA;AACb,gHAAA,aAAa,OAAA;AACb,qHAAA,kBAAkB,OAAA;AAClB,8GAAA,WAAW,OAAA;AACX,oHAAA,iBAAiB,OAAA;AACjB,kHAAA,eAAe,OAAA;AAGjB,+DAMgC;AAL9B,+HAAA,uBAAuB,OAAA;AACvB,qHAAA,aAAa,OAAA;AACb,4HAAA,oBAAoB,OAAA;AACpB,gIAAA,wBAAwB,OAAA;AACxB,2HAAA,YAAY,OAAuB;AAErC,yDAM6B;AAL3B,oHAAA,eAAe,OAAA;AACf,iHAAA,YAAY,OAAA;AACZ,sHAAA,iBAAiB,OAAA;AACjB,sHAAA,iBAAiB,OAAA;AACjB,qHAAA,gBAAgB,OAAA"}
@@ -0,0 +1,25 @@
1
+ import type { ElementInfo } from './ElementIdentifier';
2
+ interface UseCXPElementOptions {
3
+ /** testID prop on the element (most reliable identifier) */
4
+ testID?: string;
5
+ /** Accessibility label */
6
+ accessibilityLabel?: string;
7
+ /** Human-readable label for the setup UI */
8
+ label?: string;
9
+ /** Element type override */
10
+ type?: ElementInfo['elementType'];
11
+ /** Whether the element is interactive (default: true) */
12
+ interactive?: boolean;
13
+ }
14
+ /**
15
+ * Hook to register an interactive element with the CXP setup system.
16
+ *
17
+ * Usage:
18
+ * useCXPElement({ testID: 'checkout-btn', label: 'Checkout' });
19
+ *
20
+ * Elements registered this way appear in the setup mode element picker
21
+ * without needing to scan the React tree.
22
+ */
23
+ export declare function useCXPElement(options: UseCXPElementOptions): void;
24
+ export {};
25
+ //# sourceMappingURL=useCXPElement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCXPElement.d.ts","sourceRoot":"","sources":["../../src/setup/useCXPElement.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,UAAU,oBAAoB;IAC5B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,4CAA4C;IAC5C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,IAAI,CAAC,EAAE,WAAW,CAAC,aAAa,CAAC,CAAC;IAClC,yDAAyD;IACzD,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI,CAmBjE"}