react-native-acoustic-connect 19.0.11 → 19.0.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/CHANGELOG.md +81 -0
  2. package/README.md +390 -1
  3. package/android/build.gradle +86 -3
  4. package/android/config.gradle +123 -13
  5. package/android/src/main/java/com/acousticconnectrn/HybridAcousticConnectRN.kt +407 -34
  6. package/app.plugin.js +2 -2
  7. package/ios/AcousticConnectRNConfig.json +2 -2
  8. package/ios/ConnectRNParsing.swift +229 -0
  9. package/ios/HybridAcousticConnectRN.swift +290 -30
  10. package/lib/commonjs/TLTRN.js +116 -3
  11. package/lib/commonjs/TLTRN.js.map +1 -1
  12. package/lib/commonjs/components/Connect.js +145 -27
  13. package/lib/commonjs/components/Connect.js.map +1 -1
  14. package/lib/commonjs/index.js +3 -0
  15. package/lib/commonjs/index.js.map +1 -1
  16. package/lib/module/TLTRN.js +116 -3
  17. package/lib/module/TLTRN.js.map +1 -1
  18. package/lib/module/components/Connect.js +146 -28
  19. package/lib/module/components/Connect.js.map +1 -1
  20. package/lib/module/index.js +5 -0
  21. package/lib/module/index.js.map +1 -1
  22. package/lib/typescript/src/TLTRN.d.ts +85 -1
  23. package/lib/typescript/src/TLTRN.d.ts.map +1 -1
  24. package/lib/typescript/src/components/Connect.d.ts.map +1 -1
  25. package/lib/typescript/src/index.d.ts +1 -0
  26. package/lib/typescript/src/index.d.ts.map +1 -1
  27. package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts +178 -10
  28. package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts.map +1 -1
  29. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.cpp +5 -9
  30. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.hpp +1 -1
  31. package/nitrogen/generated/android/kotlin/com/margelo/nitro/acousticconnectrn/HybridAcousticConnectRNSpec.kt +2 -1
  32. package/nitrogen/generated/ios/AcousticConnectRN-Swift-Cxx-Umbrella.hpp +1 -0
  33. package/nitrogen/generated/ios/c++/HybridAcousticConnectRNSpecSwift.hpp +2 -1
  34. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec.swift +1 -1
  35. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec_cxx.swift +2 -25
  36. package/nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.hpp +2 -1
  37. package/package.json +4 -7
  38. package/plugin/build/withConnectAndroidConfig.d.ts +2 -2
  39. package/plugin/build/withConnectAndroidConfig.js +2 -2
  40. package/plugin/build/withConnectIosSigning.d.ts +1 -1
  41. package/plugin/build/withConnectIosSigning.js +1 -1
  42. package/plugin/src/withConnectAndroidConfig.ts +2 -2
  43. package/plugin/src/withConnectIosSigning.ts +1 -1
  44. package/scripts/gradleParser.js +1 -1
  45. package/src/TLTRN.ts +125 -4
  46. package/src/components/Connect.tsx +150 -27
  47. package/src/index.ts +5 -0
  48. package/src/specs/react-native-acoustic-connect.nitro.ts +180 -10
  49. package/Examples/SampleUI/.bundle/config +0 -2
  50. package/Examples/SampleUI/.detoxrc.js +0 -83
  51. package/Examples/SampleUI/.eslintrc.js +0 -4
  52. package/Examples/SampleUI/.prettierrc.js +0 -7
  53. package/Examples/SampleUI/.watchmanconfig +0 -1
  54. package/Examples/SampleUI/App.js +0 -1
  55. package/Examples/SampleUI/Gemfile +0 -10
  56. package/Examples/SampleUI/Gemfile.lock +0 -121
  57. package/Examples/SampleUI/README.md +0 -79
  58. package/Examples/SampleUI/__tests__/App.test.tsx +0 -17
  59. package/Examples/SampleUI/android/app/build.gradle +0 -129
  60. package/Examples/SampleUI/android/app/debug.keystore +0 -0
  61. package/Examples/SampleUI/android/app/proguard-rules.pro +0 -10
  62. package/Examples/SampleUI/android/app/src/debug/AndroidManifest.xml +0 -9
  63. package/Examples/SampleUI/android/app/src/main/AndroidManifest.xml +0 -31
  64. package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainActivity.kt +0 -30
  65. package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainApplication.kt +0 -53
  66. package/Examples/SampleUI/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -37
  67. package/Examples/SampleUI/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  68. package/Examples/SampleUI/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  69. package/Examples/SampleUI/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  70. package/Examples/SampleUI/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  71. package/Examples/SampleUI/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  72. package/Examples/SampleUI/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  73. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  74. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  75. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  76. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  77. package/Examples/SampleUI/android/app/src/main/res/values/strings.xml +0 -3
  78. package/Examples/SampleUI/android/app/src/main/res/values/styles.xml +0 -9
  79. package/Examples/SampleUI/android/build.gradle +0 -21
  80. package/Examples/SampleUI/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  81. package/Examples/SampleUI/android/gradle/wrapper/gradle-wrapper.properties +0 -7
  82. package/Examples/SampleUI/android/gradle.properties +0 -39
  83. package/Examples/SampleUI/android/gradlew +0 -252
  84. package/Examples/SampleUI/android/gradlew.bat +0 -94
  85. package/Examples/SampleUI/android/settings.gradle +0 -21
  86. package/Examples/SampleUI/app.json +0 -51
  87. package/Examples/SampleUI/assets/fonts/Abel-Regular.ttf +0 -0
  88. package/Examples/SampleUI/assets/fonts/NotoSans-Regular.ttf +0 -0
  89. package/Examples/SampleUI/assets/images/android-icon.png +0 -0
  90. package/Examples/SampleUI/assets/images/artist-1.jpg +0 -0
  91. package/Examples/SampleUI/assets/images/artist-2.jpg +0 -0
  92. package/Examples/SampleUI/assets/images/avatar.png +0 -0
  93. package/Examples/SampleUI/assets/images/beach.jpg +0 -0
  94. package/Examples/SampleUI/assets/images/bridge.jpg +0 -0
  95. package/Examples/SampleUI/assets/images/chameleon.jpg +0 -0
  96. package/Examples/SampleUI/assets/images/city.jpg +0 -0
  97. package/Examples/SampleUI/assets/images/email-icon.png +0 -0
  98. package/Examples/SampleUI/assets/images/favorite.png +0 -0
  99. package/Examples/SampleUI/assets/images/forest.jpg +0 -0
  100. package/Examples/SampleUI/assets/images/paper-icon.png +0 -0
  101. package/Examples/SampleUI/assets/images/players-2.jpg +0 -0
  102. package/Examples/SampleUI/assets/images/players.jpg +0 -0
  103. package/Examples/SampleUI/assets/images/restaurant-1.jpg +0 -0
  104. package/Examples/SampleUI/assets/images/restaurant-2.jpg +0 -0
  105. package/Examples/SampleUI/assets/images/song-1.jpg +0 -0
  106. package/Examples/SampleUI/assets/images/song-2.jpg +0 -0
  107. package/Examples/SampleUI/assets/images/splash.png +0 -0
  108. package/Examples/SampleUI/assets/images/strawberries.jpg +0 -0
  109. package/Examples/SampleUI/assets/images/wrecked-ship.jpg +0 -0
  110. package/Examples/SampleUI/assets/styles/fonts.css +0 -47
  111. package/Examples/SampleUI/babel.config.js +0 -22
  112. package/Examples/SampleUI/index.js +0 -9
  113. package/Examples/SampleUI/ios/.xcode.env +0 -11
  114. package/Examples/SampleUI/ios/Podfile +0 -71
  115. package/Examples/SampleUI/ios/Podfile.lock +0 -2276
  116. package/Examples/SampleUI/ios/SampleUI/AppDelegate.h +0 -7
  117. package/Examples/SampleUI/ios/SampleUI/AppDelegate.mm +0 -31
  118. package/Examples/SampleUI/ios/SampleUI/Images.xcassets/AppIcon.appiconset/Contents.json +0 -53
  119. package/Examples/SampleUI/ios/SampleUI/Images.xcassets/Contents.json +0 -6
  120. package/Examples/SampleUI/ios/SampleUI/Info.plist +0 -52
  121. package/Examples/SampleUI/ios/SampleUI/LaunchScreen.storyboard +0 -47
  122. package/Examples/SampleUI/ios/SampleUI/PrivacyInfo.xcprivacy +0 -48
  123. package/Examples/SampleUI/ios/SampleUI/main.m +0 -10
  124. package/Examples/SampleUI/ios/SampleUI.xcodeproj/project.pbxproj +0 -785
  125. package/Examples/SampleUI/ios/SampleUI.xcodeproj/xcshareddata/xcschemes/SampleUI.xcscheme +0 -105
  126. package/Examples/SampleUI/ios/SampleUI.xcworkspace/contents.xcworkspacedata +0 -10
  127. package/Examples/SampleUI/ios/SampleUITests/Info.plist +0 -24
  128. package/Examples/SampleUI/ios/SampleUITests/SampleUITests.m +0 -66
  129. package/Examples/SampleUI/jest.config.js +0 -3
  130. package/Examples/SampleUI/metro.config.js +0 -54
  131. package/Examples/SampleUI/package.json +0 -65
  132. package/Examples/SampleUI/scripts/integration-test-android.sh +0 -292
  133. package/Examples/SampleUI/src/DrawerItems.tsx +0 -322
  134. package/Examples/SampleUI/src/ExampleList.tsx +0 -175
  135. package/Examples/SampleUI/src/Examples/ActivityIndicatorExample.tsx +0 -73
  136. package/Examples/SampleUI/src/Examples/AnimatedFABExample/AnimatedFABExample.tsx +0 -220
  137. package/Examples/SampleUI/src/Examples/AnimatedFABExample/CustomFAB.tsx +0 -70
  138. package/Examples/SampleUI/src/Examples/AnimatedFABExample/CustomFABControls.tsx +0 -146
  139. package/Examples/SampleUI/src/Examples/AnimatedFABExample/index.ts +0 -1
  140. package/Examples/SampleUI/src/Examples/AppbarExample.tsx +0 -263
  141. package/Examples/SampleUI/src/Examples/AvatarExample.tsx +0 -76
  142. package/Examples/SampleUI/src/Examples/BadgeExample.tsx +0 -97
  143. package/Examples/SampleUI/src/Examples/BannerExample.tsx +0 -152
  144. package/Examples/SampleUI/src/Examples/BottomNavigationBarExample.tsx +0 -94
  145. package/Examples/SampleUI/src/Examples/BottomNavigationExample.tsx +0 -205
  146. package/Examples/SampleUI/src/Examples/ButtonExample.tsx +0 -405
  147. package/Examples/SampleUI/src/Examples/CardExample.tsx +0 -245
  148. package/Examples/SampleUI/src/Examples/CheckboxExample.tsx +0 -87
  149. package/Examples/SampleUI/src/Examples/CheckboxItemExample.tsx +0 -72
  150. package/Examples/SampleUI/src/Examples/ChipExample.tsx +0 -432
  151. package/Examples/SampleUI/src/Examples/DataTableExample.tsx +0 -128
  152. package/Examples/SampleUI/src/Examples/DialogExample.tsx +0 -217
  153. package/Examples/SampleUI/src/Examples/Dialogs/DialogTextComponent.tsx +0 -31
  154. package/Examples/SampleUI/src/Examples/Dialogs/DialogTrackingTest.tsx +0 -307
  155. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithCustomColors.tsx +0 -57
  156. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithDismissableBackButton.tsx +0 -38
  157. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithIcon.tsx +0 -42
  158. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithLoadingIndicator.tsx +0 -48
  159. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithLongText.tsx +0 -81
  160. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithRadioBtns.tsx +0 -111
  161. package/Examples/SampleUI/src/Examples/Dialogs/UndismissableDialog.tsx +0 -30
  162. package/Examples/SampleUI/src/Examples/Dialogs/index.tsx +0 -44
  163. package/Examples/SampleUI/src/Examples/DividerExample.tsx +0 -30
  164. package/Examples/SampleUI/src/Examples/FABExample.tsx +0 -226
  165. package/Examples/SampleUI/src/Examples/IconButtonExample.tsx +0 -230
  166. package/Examples/SampleUI/src/Examples/IconExample.tsx +0 -50
  167. package/Examples/SampleUI/src/Examples/ListAccordionExample.tsx +0 -65
  168. package/Examples/SampleUI/src/Examples/ListAccordionGroupExample.tsx +0 -80
  169. package/Examples/SampleUI/src/Examples/ListItemExample.tsx +0 -310
  170. package/Examples/SampleUI/src/Examples/ListSectionExample.tsx +0 -159
  171. package/Examples/SampleUI/src/Examples/MaterialBottomTabNavigatorExample.tsx +0 -87
  172. package/Examples/SampleUI/src/Examples/MenuExample.tsx +0 -211
  173. package/Examples/SampleUI/src/Examples/ProgressBarExample.tsx +0 -142
  174. package/Examples/SampleUI/src/Examples/RadioButtonExample.tsx +0 -104
  175. package/Examples/SampleUI/src/Examples/RadioButtonGroupExample.tsx +0 -67
  176. package/Examples/SampleUI/src/Examples/RadioButtonItemExample.tsx +0 -77
  177. package/Examples/SampleUI/src/Examples/SearchbarExample.tsx +0 -249
  178. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonCustomColorCheck.tsx +0 -93
  179. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonDefault.tsx +0 -49
  180. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonDisabled.tsx +0 -47
  181. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselect.tsx +0 -50
  182. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselectIcons.tsx +0 -49
  183. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselectRealCase.tsx +0 -114
  184. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonOnlyIcons.tsx +0 -40
  185. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonOnlyIconsWithCheck.tsx +0 -43
  186. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonRealCase.tsx +0 -97
  187. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonWithDensity.tsx +0 -47
  188. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonWithSelectedCheck.tsx +0 -52
  189. package/Examples/SampleUI/src/Examples/SegmentedButtons/index.ts +0 -9
  190. package/Examples/SampleUI/src/Examples/SegmentedButtonsExample.tsx +0 -57
  191. package/Examples/SampleUI/src/Examples/SnackbarExample.tsx +0 -141
  192. package/Examples/SampleUI/src/Examples/SurfaceExample.tsx +0 -130
  193. package/Examples/SampleUI/src/Examples/SwitchExample.tsx +0 -105
  194. package/Examples/SampleUI/src/Examples/TeamDetails.tsx +0 -291
  195. package/Examples/SampleUI/src/Examples/TeamsList.tsx +0 -57
  196. package/Examples/SampleUI/src/Examples/TextExample.tsx +0 -132
  197. package/Examples/SampleUI/src/Examples/TextInputExample.tsx +0 -914
  198. package/Examples/SampleUI/src/Examples/ThemeExample.tsx +0 -41
  199. package/Examples/SampleUI/src/Examples/ThemingWithReactNavigation.tsx +0 -75
  200. package/Examples/SampleUI/src/Examples/ToggleButtonExample.tsx +0 -128
  201. package/Examples/SampleUI/src/Examples/TooltipExample.tsx +0 -191
  202. package/Examples/SampleUI/src/Examples/TouchableRippleExample.tsx +0 -37
  203. package/Examples/SampleUI/src/RootNavigator.tsx +0 -95
  204. package/Examples/SampleUI/src/ScreenWrapper.tsx +0 -67
  205. package/Examples/SampleUI/src/components/ActivityIndicator.tsx +0 -254
  206. package/Examples/SampleUI/src/components/Appbar/Appbar.tsx +0 -364
  207. package/Examples/SampleUI/src/components/Appbar/AppbarAction.tsx +0 -132
  208. package/Examples/SampleUI/src/components/Appbar/AppbarBackAction.tsx +0 -77
  209. package/Examples/SampleUI/src/components/Appbar/AppbarBackIcon.tsx +0 -52
  210. package/Examples/SampleUI/src/components/Appbar/AppbarContent.tsx +0 -249
  211. package/Examples/SampleUI/src/components/Appbar/AppbarHeader.tsx +0 -174
  212. package/Examples/SampleUI/src/components/Appbar/index.ts +0 -22
  213. package/Examples/SampleUI/src/components/Appbar/utils.ts +0 -188
  214. package/Examples/SampleUI/src/components/Avatar/Avatar.tsx +0 -8
  215. package/Examples/SampleUI/src/components/Avatar/AvatarIcon.tsx +0 -87
  216. package/Examples/SampleUI/src/components/Avatar/AvatarImage.tsx +0 -128
  217. package/Examples/SampleUI/src/components/Avatar/AvatarText.tsx +0 -127
  218. package/Examples/SampleUI/src/components/Badge.tsx +0 -138
  219. package/Examples/SampleUI/src/components/Banner.tsx +0 -302
  220. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigation.tsx +0 -643
  221. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigationBar.tsx +0 -1039
  222. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigationRouteScreen.tsx +0 -31
  223. package/Examples/SampleUI/src/components/BottomNavigation/utils.ts +0 -70
  224. package/Examples/SampleUI/src/components/Button/Button.tsx +0 -503
  225. package/Examples/SampleUI/src/components/Button/utils.tsx +0 -272
  226. package/Examples/SampleUI/src/components/Card/Card.tsx +0 -373
  227. package/Examples/SampleUI/src/components/Card/CardActions.tsx +0 -74
  228. package/Examples/SampleUI/src/components/Card/CardContent.tsx +0 -99
  229. package/Examples/SampleUI/src/components/Card/CardCover.tsx +0 -96
  230. package/Examples/SampleUI/src/components/Card/CardTitle.tsx +0 -236
  231. package/Examples/SampleUI/src/components/Card/utils.tsx +0 -110
  232. package/Examples/SampleUI/src/components/Checkbox/Checkbox.tsx +0 -78
  233. package/Examples/SampleUI/src/components/Checkbox/CheckboxAndroid.tsx +0 -180
  234. package/Examples/SampleUI/src/components/Checkbox/CheckboxIOS.tsx +0 -104
  235. package/Examples/SampleUI/src/components/Checkbox/CheckboxItem.tsx +0 -236
  236. package/Examples/SampleUI/src/components/Checkbox/index.ts +0 -19
  237. package/Examples/SampleUI/src/components/Checkbox/utils.ts +0 -183
  238. package/Examples/SampleUI/src/components/Chip/Chip.tsx +0 -513
  239. package/Examples/SampleUI/src/components/Chip/helpers.tsx +0 -322
  240. package/Examples/SampleUI/src/components/CrossFadeIcon.tsx +0 -140
  241. package/Examples/SampleUI/src/components/DataTable/DataTable.tsx +0 -138
  242. package/Examples/SampleUI/src/components/DataTable/DataTableCell.tsx +0 -132
  243. package/Examples/SampleUI/src/components/DataTable/DataTableHeader.tsx +0 -82
  244. package/Examples/SampleUI/src/components/DataTable/DataTablePagination.tsx +0 -407
  245. package/Examples/SampleUI/src/components/DataTable/DataTableRow.tsx +0 -107
  246. package/Examples/SampleUI/src/components/DataTable/DataTableTitle.tsx +0 -208
  247. package/Examples/SampleUI/src/components/Dialog/Dialog.tsx +0 -191
  248. package/Examples/SampleUI/src/components/Dialog/DialogActions.tsx +0 -94
  249. package/Examples/SampleUI/src/components/Dialog/DialogContent.tsx +0 -54
  250. package/Examples/SampleUI/src/components/Dialog/DialogIcon.tsx +0 -100
  251. package/Examples/SampleUI/src/components/Dialog/DialogScrollArea.tsx +0 -88
  252. package/Examples/SampleUI/src/components/Dialog/DialogTitle.tsx +0 -94
  253. package/Examples/SampleUI/src/components/Divider.tsx +0 -102
  254. package/Examples/SampleUI/src/components/Drawer/Drawer.tsx +0 -8
  255. package/Examples/SampleUI/src/components/Drawer/DrawerCollapsedItem.tsx +0 -282
  256. package/Examples/SampleUI/src/components/Drawer/DrawerItem.tsx +0 -209
  257. package/Examples/SampleUI/src/components/Drawer/DrawerSection.tsx +0 -138
  258. package/Examples/SampleUI/src/components/FAB/AnimatedFAB.tsx +0 -619
  259. package/Examples/SampleUI/src/components/FAB/FAB.tsx +0 -371
  260. package/Examples/SampleUI/src/components/FAB/FABGroup.tsx +0 -532
  261. package/Examples/SampleUI/src/components/FAB/index.ts +0 -13
  262. package/Examples/SampleUI/src/components/FAB/utils.ts +0 -474
  263. package/Examples/SampleUI/src/components/HelperText/HelperText.tsx +0 -168
  264. package/Examples/SampleUI/src/components/HelperText/utils.ts +0 -30
  265. package/Examples/SampleUI/src/components/Icon.tsx +0 -170
  266. package/Examples/SampleUI/src/components/IconButton/IconButton.tsx +0 -234
  267. package/Examples/SampleUI/src/components/IconButton/utils.ts +0 -190
  268. package/Examples/SampleUI/src/components/List/List.tsx +0 -20
  269. package/Examples/SampleUI/src/components/List/ListAccordion.tsx +0 -391
  270. package/Examples/SampleUI/src/components/List/ListAccordionGroup.tsx +0 -88
  271. package/Examples/SampleUI/src/components/List/ListIcon.tsx +0 -79
  272. package/Examples/SampleUI/src/components/List/ListImage.tsx +0 -89
  273. package/Examples/SampleUI/src/components/List/ListItem.tsx +0 -313
  274. package/Examples/SampleUI/src/components/List/ListSection.tsx +0 -87
  275. package/Examples/SampleUI/src/components/List/ListSubheader.tsx +0 -79
  276. package/Examples/SampleUI/src/components/List/utils.ts +0 -113
  277. package/Examples/SampleUI/src/components/MaterialCommunityIcon.tsx +0 -121
  278. package/Examples/SampleUI/src/components/Menu/Menu.tsx +0 -711
  279. package/Examples/SampleUI/src/components/Menu/MenuItem.tsx +0 -257
  280. package/Examples/SampleUI/src/components/Menu/utils.ts +0 -110
  281. package/Examples/SampleUI/src/components/Modal.tsx +0 -245
  282. package/Examples/SampleUI/src/components/Portal/Portal.tsx +0 -69
  283. package/Examples/SampleUI/src/components/Portal/PortalConsumer.tsx +0 -44
  284. package/Examples/SampleUI/src/components/Portal/PortalHost.tsx +0 -143
  285. package/Examples/SampleUI/src/components/Portal/PortalManager.tsx +0 -54
  286. package/Examples/SampleUI/src/components/ProgressBar.tsx +0 -292
  287. package/Examples/SampleUI/src/components/RadioButton/RadioButton.tsx +0 -86
  288. package/Examples/SampleUI/src/components/RadioButton/RadioButtonAndroid.tsx +0 -202
  289. package/Examples/SampleUI/src/components/RadioButton/RadioButtonGroup.tsx +0 -67
  290. package/Examples/SampleUI/src/components/RadioButton/RadioButtonIOS.tsx +0 -130
  291. package/Examples/SampleUI/src/components/RadioButton/RadioButtonItem.tsx +0 -268
  292. package/Examples/SampleUI/src/components/RadioButton/index.ts +0 -22
  293. package/Examples/SampleUI/src/components/RadioButton/utils.ts +0 -37
  294. package/Examples/SampleUI/src/components/Searchbar.tsx +0 -459
  295. package/Examples/SampleUI/src/components/SegmentedButtons/SegmentedButtonItem.tsx +0 -271
  296. package/Examples/SampleUI/src/components/SegmentedButtons/SegmentedButtons.tsx +0 -197
  297. package/Examples/SampleUI/src/components/SegmentedButtons/utils.ts +0 -179
  298. package/Examples/SampleUI/src/components/Snackbar.tsx +0 -430
  299. package/Examples/SampleUI/src/components/Surface.tsx +0 -376
  300. package/Examples/SampleUI/src/components/Switch/Switch.tsx +0 -108
  301. package/Examples/SampleUI/src/components/Switch/utils.ts +0 -113
  302. package/Examples/SampleUI/src/components/TextInput/Addons/Outline.tsx +0 -64
  303. package/Examples/SampleUI/src/components/TextInput/Addons/Underline.tsx +0 -78
  304. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputAdornment.tsx +0 -208
  305. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputAffix.tsx +0 -212
  306. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputIcon.tsx +0 -195
  307. package/Examples/SampleUI/src/components/TextInput/Adornment/enums.tsx +0 -12
  308. package/Examples/SampleUI/src/components/TextInput/Adornment/types.tsx +0 -11
  309. package/Examples/SampleUI/src/components/TextInput/Adornment/utils.ts +0 -48
  310. package/Examples/SampleUI/src/components/TextInput/Label/InputLabel.tsx +0 -217
  311. package/Examples/SampleUI/src/components/TextInput/Label/LabelBackground.tsx +0 -100
  312. package/Examples/SampleUI/src/components/TextInput/TextInput.tsx +0 -572
  313. package/Examples/SampleUI/src/components/TextInput/TextInputFlat.tsx +0 -475
  314. package/Examples/SampleUI/src/components/TextInput/TextInputOutlined.tsx +0 -450
  315. package/Examples/SampleUI/src/components/TextInput/constants.tsx +0 -48
  316. package/Examples/SampleUI/src/components/TextInput/helpers.tsx +0 -612
  317. package/Examples/SampleUI/src/components/TextInput/types.tsx +0 -155
  318. package/Examples/SampleUI/src/components/ToggleButton/ToggleButton.tsx +0 -187
  319. package/Examples/SampleUI/src/components/ToggleButton/ToggleButtonGroup.tsx +0 -72
  320. package/Examples/SampleUI/src/components/ToggleButton/ToggleButtonRow.tsx +0 -107
  321. package/Examples/SampleUI/src/components/ToggleButton/index.ts +0 -16
  322. package/Examples/SampleUI/src/components/ToggleButton/utils.ts +0 -26
  323. package/Examples/SampleUI/src/components/Tooltip/Tooltip.tsx +0 -249
  324. package/Examples/SampleUI/src/components/Tooltip/utils.ts +0 -129
  325. package/Examples/SampleUI/src/components/TouchableRipple/Pressable.tsx +0 -41
  326. package/Examples/SampleUI/src/components/TouchableRipple/TouchableRipple.native.tsx +0 -145
  327. package/Examples/SampleUI/src/components/TouchableRipple/TouchableRipple.tsx +0 -317
  328. package/Examples/SampleUI/src/components/TouchableRipple/utils.ts +0 -66
  329. package/Examples/SampleUI/src/components/Typography/AnimatedText.tsx +0 -107
  330. package/Examples/SampleUI/src/components/Typography/Text.tsx +0 -184
  331. package/Examples/SampleUI/src/components/Typography/types.tsx +0 -5
  332. package/Examples/SampleUI/src/components/Typography/v2/Caption.tsx +0 -50
  333. package/Examples/SampleUI/src/components/Typography/v2/Headline.tsx +0 -52
  334. package/Examples/SampleUI/src/components/Typography/v2/Paragraph.tsx +0 -49
  335. package/Examples/SampleUI/src/components/Typography/v2/StyledText.tsx +0 -56
  336. package/Examples/SampleUI/src/components/Typography/v2/Subheading.tsx +0 -50
  337. package/Examples/SampleUI/src/components/Typography/v2/Text.tsx +0 -62
  338. package/Examples/SampleUI/src/components/Typography/v2/Title.tsx +0 -49
  339. package/Examples/SampleUI/src/components/Typography/v2/index.ts +0 -5
  340. package/Examples/SampleUI/src/core/PaperProvider.tsx +0 -122
  341. package/Examples/SampleUI/src/core/SafeAreaProviderCompat.tsx +0 -65
  342. package/Examples/SampleUI/src/core/settings.tsx +0 -23
  343. package/Examples/SampleUI/src/core/theming.tsx +0 -170
  344. package/Examples/SampleUI/src/index.native.tsx +0 -285
  345. package/Examples/SampleUI/src/index.tsx +0 -226
  346. package/Examples/SampleUI/src/react-navigation/index.tsx +0 -19
  347. package/Examples/SampleUI/src/react-navigation/navigators/createMaterialBottomTabNavigator.tsx +0 -72
  348. package/Examples/SampleUI/src/react-navigation/types.tsx +0 -126
  349. package/Examples/SampleUI/src/react-navigation/views/MaterialBottomTabView.tsx +0 -140
  350. package/Examples/SampleUI/src/styles/__tests__/fonts.test.js +0 -290
  351. package/Examples/SampleUI/src/styles/fonts.tsx +0 -143
  352. package/Examples/SampleUI/src/styles/overlay.tsx +0 -70
  353. package/Examples/SampleUI/src/styles/shadow.tsx +0 -109
  354. package/Examples/SampleUI/src/styles/themes/index.ts +0 -4
  355. package/Examples/SampleUI/src/styles/themes/v2/DarkTheme.tsx +0 -30
  356. package/Examples/SampleUI/src/styles/themes/v2/LightTheme.tsx +0 -30
  357. package/Examples/SampleUI/src/styles/themes/v2/colors.tsx +0 -277
  358. package/Examples/SampleUI/src/styles/themes/v3/DarkTheme.tsx +0 -66
  359. package/Examples/SampleUI/src/styles/themes/v3/LightTheme.tsx +0 -69
  360. package/Examples/SampleUI/src/styles/themes/v3/tokens.tsx +0 -230
  361. package/Examples/SampleUI/src/utils/BackHandler/BackHandler.native.tsx +0 -3
  362. package/Examples/SampleUI/src/utils/BackHandler/BackHandler.tsx +0 -11
  363. package/Examples/SampleUI/src/utils/addEventListener.tsx +0 -56
  364. package/Examples/SampleUI/src/utils/forwardRef.tsx +0 -23
  365. package/Examples/SampleUI/src/utils/getContrastingColor.tsx +0 -15
  366. package/Examples/SampleUI/src/utils/hasTouchHandler.tsx +0 -23
  367. package/Examples/SampleUI/src/utils/roundLayoutSize.ts +0 -2
  368. package/Examples/SampleUI/src/utils/splitStyles.ts +0 -60
  369. package/Examples/SampleUI/src/utils/useAnimatedValue.tsx +0 -9
  370. package/Examples/SampleUI/src/utils/useAnimatedValueArray.tsx +0 -13
  371. package/Examples/SampleUI/src/utils/useIsKeyboardShown.tsx +0 -55
  372. package/Examples/SampleUI/src/utils/useLayout.tsx +0 -29
  373. package/Examples/SampleUI/src/utils/useLazyRef.tsx +0 -11
  374. package/Examples/SampleUI/tsconfig.json +0 -3
  375. package/Examples/SampleUI/utils/index.ts +0 -1426
  376. package/cli/__tests__/doctor.test.mjs +0 -88
@@ -1,128 +0,0 @@
1
- import * as React from 'react';
2
- import { StyleSheet } from 'react-native';
3
-
4
- import { DataTable, Card } from 'react-native-paper';
5
-
6
- import ScreenWrapper from '../ScreenWrapper';
7
-
8
- type ItemsState = Array<{
9
- key: number;
10
- name: string;
11
- calories: number;
12
- fat: number;
13
- }>;
14
-
15
- const DataTableExample = () => {
16
- const [sortAscending, setSortAscending] = React.useState<boolean>(true);
17
- const [page, setPage] = React.useState<number>(0);
18
- const [items] = React.useState<ItemsState>([
19
- {
20
- key: 1,
21
- name: 'Cupcake',
22
- calories: 356,
23
- fat: 16,
24
- },
25
- {
26
- key: 2,
27
- name: 'Eclair',
28
- calories: 262,
29
- fat: 16,
30
- },
31
- {
32
- key: 3,
33
- name: 'Frozen yogurt',
34
- calories: 159,
35
- fat: 6,
36
- },
37
- {
38
- key: 4,
39
- name: 'Gingerbread',
40
- calories: 305,
41
- fat: 3.7,
42
- },
43
- {
44
- key: 5,
45
- name: 'Ice cream sandwich',
46
- calories: 237,
47
- fat: 9,
48
- },
49
- {
50
- key: 6,
51
- name: 'Jelly Bean',
52
- calories: 375,
53
- fat: 0,
54
- },
55
- ]);
56
- const [numberOfItemsPerPageList] = React.useState([2, 3, 4, 200]);
57
- const [itemsPerPage, onItemsPerPageChange] = React.useState(
58
- numberOfItemsPerPageList[0]
59
- );
60
- const sortedItems = items
61
- .slice()
62
- .sort((item1, item2) =>
63
- sortAscending
64
- ? item1.name.localeCompare(item2.name)
65
- : item2.name.localeCompare(item1.name)
66
- );
67
- const from = page * itemsPerPage;
68
- const to = Math.min((page + 1) * itemsPerPage, items.length);
69
-
70
- React.useEffect(() => {
71
- setPage(0);
72
- }, [itemsPerPage]);
73
-
74
- return (
75
- <ScreenWrapper contentContainerStyle={styles.content}>
76
- <Card>
77
- <DataTable>
78
- <DataTable.Header>
79
- <DataTable.Title
80
- sortDirection={sortAscending ? 'ascending' : 'descending'}
81
- onPress={() => setSortAscending(!sortAscending)}
82
- style={styles.first}
83
- >
84
- Dessert
85
- </DataTable.Title>
86
- <DataTable.Title numberOfLines={2} numeric>
87
- Calories per piece
88
- </DataTable.Title>
89
- <DataTable.Title numeric>Fat (g)</DataTable.Title>
90
- </DataTable.Header>
91
-
92
- {sortedItems.slice(from, to).map((item) => (
93
- <DataTable.Row key={item.key}>
94
- <DataTable.Cell style={styles.first}>{item.name}</DataTable.Cell>
95
- <DataTable.Cell numeric>{item.calories}</DataTable.Cell>
96
- <DataTable.Cell numeric>{item.fat}</DataTable.Cell>
97
- </DataTable.Row>
98
- ))}
99
-
100
- <DataTable.Pagination
101
- page={page}
102
- numberOfPages={Math.ceil(sortedItems.length / itemsPerPage)}
103
- onPageChange={(page) => setPage(page)}
104
- label={`${from + 1}-${to} of ${sortedItems.length}`}
105
- numberOfItemsPerPageList={numberOfItemsPerPageList}
106
- numberOfItemsPerPage={itemsPerPage}
107
- onItemsPerPageChange={onItemsPerPageChange}
108
- showFastPaginationControls
109
- selectPageDropdownLabel={'Rows per page'}
110
- />
111
- </DataTable>
112
- </Card>
113
- </ScreenWrapper>
114
- );
115
- };
116
-
117
- DataTableExample.title = 'Data Table';
118
-
119
- const styles = StyleSheet.create({
120
- content: {
121
- padding: 8,
122
- },
123
- first: {
124
- flex: 2,
125
- },
126
- });
127
-
128
- export default DataTableExample;
@@ -1,217 +0,0 @@
1
- import * as React from 'react';
2
- import { Platform, StyleSheet, Alert } from 'react-native';
3
-
4
- import { Button } from 'react-native-paper';
5
-
6
- import {
7
- DialogWithCustomColors,
8
- DialogWithDismissableBackButton,
9
- DialogWithIcon,
10
- DialogWithLoadingIndicator,
11
- DialogWithLongText,
12
- DialogWithRadioBtns,
13
- UndismissableDialog,
14
- DialogTrackingTest,
15
- } from './Dialogs';
16
- import { useExampleTheme } from '..';
17
- import ScreenWrapper from '../ScreenWrapper';
18
- import { useDialogTracking } from 'react-native-acoustic-connect';
19
-
20
- type ButtonVisibility = {
21
- [key: string]: boolean | undefined;
22
- };
23
-
24
- const DialogExample = () => {
25
- const [visible, setVisible] = React.useState<ButtonVisibility>({});
26
- const { isV3 } = useExampleTheme();
27
-
28
- // Add dialog tracking
29
- const { generateDialogId, trackDialogShow, trackDialogDismiss } = useDialogTracking();
30
- const [dialogIds, setDialogIds] = React.useState<Record<string, string>>({});
31
-
32
- const _toggleDialog = (name: string) => () => {
33
- const isCurrentlyVisible = !!visible[name];
34
-
35
- if (!isCurrentlyVisible) {
36
- // Dialog is being shown - track it
37
- const dialogId = generateDialogId();
38
- setDialogIds(prev => ({ ...prev, [name]: dialogId }));
39
-
40
- // Get dialog title based on the dialog type
41
- const getDialogTitle = (dialogName: string): string => {
42
- switch (dialogName) {
43
- case 'dialog1': return 'Long Text Dialog';
44
- case 'dialog2': return 'Radio Buttons Dialog';
45
- case 'dialog3': return 'Progress Indicator Dialog';
46
- case 'dialog4': return 'Undismissable Dialog';
47
- case 'dialog5': return 'Custom Colors Dialog';
48
- case 'dialog6': return 'Dialog with Icon';
49
- case 'dialog7': return 'Dismissable Back Button Dialog';
50
- case 'dialogTracking': return 'Dialog Tracking Test';
51
- default: return 'Dialog';
52
- }
53
- };
54
-
55
- const title = getDialogTitle(name);
56
- trackDialogShow(dialogId, title, []);
57
-
58
- console.log(`🔍 DialogExample: Showing dialog - ${title} (${dialogId})`);
59
- } else {
60
- // Dialog is being hidden - track dismiss
61
- const dialogId = dialogIds[name];
62
- if (dialogId) {
63
- trackDialogDismiss(dialogId, 'user_action');
64
- console.log(`🔍 DialogExample: Dismissing dialog - ${dialogIds[name]} (${dialogId})`);
65
- setDialogIds(prev => {
66
- const newIds = { ...prev };
67
- delete newIds[name];
68
- return newIds;
69
- });
70
- }
71
- }
72
-
73
- setVisible({ ...visible, [name]: !visible[name] });
74
- };
75
-
76
- const _getVisible = (name: string) => !!visible[name];
77
-
78
- return (
79
- <ScreenWrapper style={styles.container}>
80
- <Button
81
- mode="outlined"
82
- onPress={_toggleDialog('dialog1')}
83
- style={styles.button}
84
- testID="dialog-long-text-button"
85
- >
86
- Long text
87
- </Button>
88
- <Button
89
- mode="outlined"
90
- onPress={_toggleDialog('dialog2')}
91
- style={styles.button}
92
- testID="dialog-radio-buttons-button"
93
- >
94
- Radio buttons
95
- </Button>
96
- <Button
97
- mode="outlined"
98
- onPress={_toggleDialog('dialog3')}
99
- style={styles.button}
100
- testID="dialog-progress-indicator-button"
101
- >
102
- Progress indicator
103
- </Button>
104
- <Button
105
- mode="outlined"
106
- onPress={_toggleDialog('dialog4')}
107
- style={styles.button}
108
- testID="dialog-undismissable-button"
109
- >
110
- Undismissable Dialog
111
- </Button>
112
- <Button
113
- mode="outlined"
114
- onPress={_toggleDialog('dialog5')}
115
- style={styles.button}
116
- testID="dialog-custom-colors-button"
117
- >
118
- Custom colors
119
- </Button>
120
- {isV3 && (
121
- <Button
122
- mode="outlined"
123
- onPress={_toggleDialog('dialog6')}
124
- style={styles.button}
125
- testID="dialog-with-icon-button"
126
- >
127
- With icon
128
- </Button>
129
- )}
130
- {Platform.OS === 'android' && (
131
- <Button
132
- mode="outlined"
133
- onPress={_toggleDialog('dialog7')}
134
- style={styles.button}
135
- testID="dialog-dismissable-back-button"
136
- >
137
- Dismissable back button
138
- </Button>
139
- )}
140
- <Button
141
- mode="outlined"
142
- onPress={_toggleDialog('dialogTracking')}
143
- style={styles.button}
144
- testID="dialog-tracking-test-button"
145
- >
146
- Dialog Tracking Test
147
- </Button>
148
- <Button
149
- mode="outlined"
150
- onPress={() => {
151
- console.log('🧪 Testing Alert.alert tracking...');
152
- Alert.alert(
153
- 'Test Alert',
154
- 'This is a test alert for dialog tracking',
155
- [
156
- { text: 'Cancel', style: 'cancel' },
157
- { text: 'OK', onPress: () => console.log('✅ OK pressed') }
158
- ]
159
- );
160
- }}
161
- style={styles.button}
162
- testID="test-alert-button"
163
- >
164
- Test Alert
165
- </Button>
166
- <DialogWithLongText
167
- visible={_getVisible('dialog1')}
168
- close={_toggleDialog('dialog1')}
169
- />
170
- <DialogWithRadioBtns
171
- visible={_getVisible('dialog2')}
172
- close={_toggleDialog('dialog2')}
173
- />
174
- <DialogWithLoadingIndicator
175
- visible={_getVisible('dialog3')}
176
- close={_toggleDialog('dialog3')}
177
- />
178
- <UndismissableDialog
179
- visible={_getVisible('dialog4')}
180
- close={_toggleDialog('dialog4')}
181
- />
182
- <DialogWithCustomColors
183
- visible={_getVisible('dialog5')}
184
- close={_toggleDialog('dialog5')}
185
- />
186
- {isV3 && (
187
- <DialogWithIcon
188
- visible={_getVisible('dialog6')}
189
- close={_toggleDialog('dialog6')}
190
- />
191
- )}
192
- <DialogWithDismissableBackButton
193
- visible={_getVisible('dialog7')}
194
- close={_toggleDialog('dialog7')}
195
- />
196
-
197
- {/* Dialog Tracking Test Component */}
198
- <DialogTrackingTest
199
- visible={_getVisible('dialogTracking')}
200
- close={_toggleDialog('dialogTracking')}
201
- />
202
- </ScreenWrapper>
203
- );
204
- };
205
-
206
- DialogExample.title = 'Dialog';
207
-
208
- const styles = StyleSheet.create({
209
- container: {
210
- padding: 12,
211
- },
212
- button: {
213
- margin: 4,
214
- },
215
- });
216
-
217
- export default DialogExample;
@@ -1,31 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import {
4
- Paragraph,
5
- Subheading,
6
- Text as NativeText,
7
- Text,
8
- } from 'react-native-paper';
9
-
10
- import { useExampleTheme } from '../..';
11
-
12
- type Props = React.ComponentProps<typeof NativeText> & {
13
- isSubheading?: boolean;
14
- };
15
-
16
- export const TextComponent = ({ isSubheading = false, ...props }: Props) => {
17
- const theme = useExampleTheme();
18
-
19
- if (theme.isV3) {
20
- return (
21
- <Text
22
- variant={isSubheading ? 'bodyLarge' : 'bodyMedium'}
23
- style={{ color: theme.colors.onSurfaceVariant }}
24
- {...props}
25
- />
26
- );
27
- } else if (isSubheading) {
28
- return <Subheading {...props} />;
29
- }
30
- return <Paragraph {...props} />;
31
- };
@@ -1,307 +0,0 @@
1
- import * as React from 'react';
2
- import { View, Text, TouchableOpacity, StyleSheet, Alert, ScrollView } from 'react-native';
3
-
4
- interface DialogTrackingTestProps {
5
- visible: boolean;
6
- close: () => void;
7
- }
8
-
9
- const DialogTrackingTest: React.FC<DialogTrackingTestProps> = ({ visible, close }) => {
10
- // Test Alert.alert tracking (this should work automatically)
11
- const testAlertTracking = () => {
12
- console.log('🧪 Testing Alert.alert tracking...');
13
- Alert.alert(
14
- 'Test Alert',
15
- 'This is a test alert for dialog tracking',
16
- [
17
- { text: 'Cancel', style: 'cancel' },
18
- { text: 'OK', onPress: () => console.log('✅ OK pressed') }
19
- ]
20
- );
21
- };
22
-
23
- // Test direct native API call
24
- const testNativeDialogAPI = async () => {
25
- console.log('🧪 Testing direct native dialog API...');
26
- try {
27
- const AcousticConnectRN = require('react-native-acoustic-connect').default;
28
- console.log('🔍 AcousticConnectRN methods available:', Object.keys(AcousticConnectRN));
29
-
30
- if (typeof AcousticConnectRN.logDialogShowEvent === 'function') {
31
- const result = await AcousticConnectRN.logDialogShowEvent('test-dialog', 'Test Dialog', 'test');
32
- console.log('Native dialog API result:', result);
33
- if (result) {
34
- console.log('✅ Native dialog API call successful');
35
- } else {
36
- console.log('❌ Native dialog API call returned false - method may not be implemented on native side');
37
- }
38
- } else {
39
- console.log('❌ logDialogShowEvent method not found on AcousticConnectRN');
40
- }
41
- } catch (error) {
42
- console.error('❌ Native dialog API error:', error);
43
- }
44
- };
45
-
46
- // Test TLTRN dialog tracking
47
- const testTLTRNDialogTracking = async () => {
48
- console.log('🧪 Testing TLTRN dialog tracking...');
49
- try {
50
- const { TLTRN } = require('react-native-acoustic-connect');
51
- console.log('🔍 TLTRN methods available:', Object.keys(TLTRN));
52
-
53
- if (typeof TLTRN.logDialogShowEvent === 'function') {
54
- const result = await TLTRN.logDialogShowEvent('tltrn-test', 'TLTRN Test Dialog', 'test');
55
- console.log('TLTRN dialog tracking result:', result);
56
- if (result) {
57
- console.log('✅ TLTRN dialog tracking successful');
58
- } else {
59
- console.log('❌ TLTRN dialog tracking returned false - native method may not be implemented');
60
- }
61
- } else {
62
- console.log('❌ TLTRN.logDialogShowEvent method not found');
63
- }
64
- } catch (error) {
65
- console.error('❌ TLTRN dialog tracking error:', error);
66
- }
67
- };
68
-
69
- // Test DialogListener functionality
70
- const testDialogListener = () => {
71
- console.log('🧪 Testing DialogListener...');
72
- try {
73
- const { DialogListener } = require('react-native-acoustic-connect');
74
- const dialogListener = DialogListener.getInstance();
75
- console.log('✅ DialogListener instance:', dialogListener);
76
- console.log('🔍 DialogListener isIntercepting:', (dialogListener as any).isIntercepting);
77
- console.log('🔍 DialogListener active dialogs:', dialogListener.getActiveDialogs());
78
- } catch (error) {
79
- console.error('❌ DialogListener test error:', error);
80
- }
81
- };
82
-
83
- // Test useDialogTracking hook
84
- const testUseDialogTracking = () => {
85
- console.log('🧪 Testing useDialogTracking hook...');
86
- try {
87
- const { useDialogTracking } = require('react-native-acoustic-connect');
88
- console.log('✅ useDialogTracking hook available');
89
-
90
- // Note: This can only be tested within a React component
91
- console.log('ℹ️ useDialogTracking hook can only be used within React components');
92
- } catch (error) {
93
- console.error('❌ useDialogTracking test error:', error);
94
- }
95
- };
96
-
97
- // Test dialog dismiss event
98
- const testDialogDismiss = async () => {
99
- console.log('🧪 Testing dialog dismiss event...');
100
- try {
101
- const { TLTRN } = require('react-native-acoustic-connect');
102
- const result = await TLTRN.logDialogDismissEvent('test-dialog', 'user_action');
103
- console.log('Dialog dismiss result:', result);
104
- if (result) {
105
- console.log('✅ Dialog dismiss event successful');
106
- } else {
107
- console.log('❌ Dialog dismiss event returned false');
108
- }
109
- } catch (error) {
110
- console.error('❌ Dialog dismiss error:', error);
111
- }
112
- };
113
-
114
- // Test dialog button click event
115
- const testDialogButtonClick = async () => {
116
- console.log('🧪 Testing dialog button click event...');
117
- try {
118
- const { TLTRN } = require('react-native-acoustic-connect');
119
- const result = await TLTRN.logDialogButtonClickEvent('test-dialog', 'Test Button', 0);
120
- console.log('Dialog button click result:', result);
121
- if (result) {
122
- console.log('✅ Dialog button click event successful');
123
- } else {
124
- console.log('❌ Dialog button click event returned false');
125
- }
126
- } catch (error) {
127
- console.error('❌ Dialog button click error:', error);
128
- }
129
- };
130
-
131
- // Test dialog custom event
132
- const testDialogCustomEvent = async () => {
133
- console.log('🧪 Testing dialog custom event...');
134
- try {
135
- const { TLTRN } = require('react-native-acoustic-connect');
136
- const result = await TLTRN.logDialogCustomEvent('test-dialog', 'custom_action', { action: 'test' });
137
- console.log('Dialog custom event result:', result);
138
- if (result) {
139
- console.log('✅ Dialog custom event successful');
140
- } else {
141
- console.log('❌ Dialog custom event returned false');
142
- }
143
- } catch (error) {
144
- console.error('❌ Dialog custom event error:', error);
145
- }
146
- };
147
-
148
- // Test manual dialog tracking
149
- const testManualDialogTracking = () => {
150
- console.log('🧪 Testing manual dialog tracking...');
151
- try {
152
- const { useDialogTracking } = require('react-native-acoustic-connect');
153
- console.log('✅ Manual dialog tracking available via useDialogTracking hook');
154
- console.log('ℹ️ This is the recommended approach for custom dialogs');
155
- } catch (error) {
156
- console.error('❌ Manual dialog tracking error:', error);
157
- }
158
- };
159
-
160
- if (!visible) return null;
161
-
162
- return (
163
- <View style={styles.overlay}>
164
- <View style={styles.container}>
165
- <Text style={styles.title}>Dialog Tracking Test</Text>
166
-
167
- <ScrollView style={styles.scrollView} showsVerticalScrollIndicator={false}>
168
- <TouchableOpacity style={styles.button} onPress={testAlertTracking}>
169
- <Text style={styles.buttonText}>✅ Test Alert.alert (Auto)</Text>
170
- </TouchableOpacity>
171
-
172
- <TouchableOpacity style={styles.button} onPress={testDialogListener}>
173
- <Text style={styles.buttonText}>🔍 Test DialogListener</Text>
174
- </TouchableOpacity>
175
-
176
- <TouchableOpacity style={styles.button} onPress={testUseDialogTracking}>
177
- <Text style={styles.buttonText}>🔧 Test useDialogTracking Hook</Text>
178
- </TouchableOpacity>
179
-
180
- <TouchableOpacity style={styles.button} onPress={testManualDialogTracking}>
181
- <Text style={styles.buttonText}>📝 Test Manual Tracking</Text>
182
- </TouchableOpacity>
183
-
184
- <TouchableOpacity style={styles.button} onPress={testNativeDialogAPI}>
185
- <Text style={styles.buttonText}>🔌 Test Native Dialog API</Text>
186
- </TouchableOpacity>
187
-
188
- <TouchableOpacity style={styles.button} onPress={testTLTRNDialogTracking}>
189
- <Text style={styles.buttonText}>🔌 Test TLTRN Dialog Tracking</Text>
190
- </TouchableOpacity>
191
-
192
- <TouchableOpacity style={styles.button} onPress={testDialogDismiss}>
193
- <Text style={styles.buttonText}>🔌 Test Dialog Dismiss</Text>
194
- </TouchableOpacity>
195
-
196
- <TouchableOpacity style={styles.button} onPress={testDialogButtonClick}>
197
- <Text style={styles.buttonText}>🔌 Test Dialog Button Click</Text>
198
- </TouchableOpacity>
199
-
200
- <TouchableOpacity style={styles.button} onPress={testDialogCustomEvent}>
201
- <Text style={styles.buttonText}>🔌 Test Dialog Custom Event</Text>
202
- </TouchableOpacity>
203
- </ScrollView>
204
-
205
- <TouchableOpacity style={styles.closeButton} onPress={close}>
206
- <Text style={styles.closeButtonText}>Close</Text>
207
- </TouchableOpacity>
208
-
209
- <Text style={styles.info}>
210
- Check console for tracking logs. Look for 🔍, 🧪, ✅, and ❌ emojis.
211
- </Text>
212
-
213
- <Text style={styles.warning}>
214
- ⚠️ Native API tests may fail if methods aren't implemented on native side.
215
- </Text>
216
- </View>
217
- </View>
218
- );
219
- };
220
-
221
- const styles = StyleSheet.create({
222
- overlay: {
223
- position: 'absolute',
224
- top: 0,
225
- left: 0,
226
- right: 0,
227
- bottom: 0,
228
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
229
- justifyContent: 'center',
230
- alignItems: 'center',
231
- zIndex: 1000,
232
- },
233
- container: {
234
- backgroundColor: 'white',
235
- borderRadius: 12,
236
- padding: 20,
237
- margin: 20,
238
- maxWidth: 400,
239
- maxHeight: '80%',
240
- shadowColor: '#000',
241
- shadowOffset: { width: 0, height: 2 },
242
- shadowOpacity: 0.25,
243
- shadowRadius: 3.84,
244
- elevation: 5,
245
- },
246
- title: {
247
- fontSize: 18,
248
- fontWeight: 'bold',
249
- marginBottom: 15,
250
- textAlign: 'center',
251
- color: '#333',
252
- },
253
- scrollView: {
254
- maxHeight: 400,
255
- },
256
- button: {
257
- backgroundColor: '#007AFF',
258
- padding: 12,
259
- borderRadius: 8,
260
- marginBottom: 8,
261
- shadowColor: '#000',
262
- shadowOffset: { width: 0, height: 1 },
263
- shadowOpacity: 0.22,
264
- shadowRadius: 2.22,
265
- elevation: 3,
266
- },
267
- buttonText: {
268
- color: 'white',
269
- textAlign: 'center',
270
- fontWeight: '600',
271
- fontSize: 14,
272
- },
273
- closeButton: {
274
- backgroundColor: '#FF3B30',
275
- padding: 12,
276
- borderRadius: 8,
277
- marginTop: 10,
278
- marginBottom: 10,
279
- shadowColor: '#000',
280
- shadowOffset: { width: 0, height: 1 },
281
- shadowOpacity: 0.22,
282
- shadowRadius: 2.22,
283
- elevation: 3,
284
- },
285
- closeButtonText: {
286
- color: 'white',
287
- textAlign: 'center',
288
- fontWeight: '600',
289
- fontSize: 14,
290
- },
291
- info: {
292
- fontSize: 12,
293
- color: '#666',
294
- textAlign: 'center',
295
- fontStyle: 'italic',
296
- marginTop: 5,
297
- },
298
- warning: {
299
- fontSize: 11,
300
- color: '#FF9500',
301
- textAlign: 'center',
302
- marginTop: 5,
303
- fontWeight: '500',
304
- },
305
- });
306
-
307
- export default DialogTrackingTest;