react-native-acoustic-connect 19.0.9 → 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 (378) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/ConnectConfig.example.json +1 -1
  3. package/README.md +390 -1
  4. package/android/build.gradle +86 -3
  5. package/android/config.gradle +137 -13
  6. package/android/src/main/assets/ConnectAdvancedConfig.json +1 -1
  7. package/android/src/main/java/com/acousticconnectrn/HybridAcousticConnectRN.kt +407 -34
  8. package/app.plugin.js +2 -2
  9. package/ios/AcousticConnectRNConfig.json +2 -2
  10. package/ios/ConnectRNParsing.swift +229 -0
  11. package/ios/HybridAcousticConnectRN.swift +290 -30
  12. package/lib/commonjs/TLTRN.js +116 -3
  13. package/lib/commonjs/TLTRN.js.map +1 -1
  14. package/lib/commonjs/components/Connect.js +145 -27
  15. package/lib/commonjs/components/Connect.js.map +1 -1
  16. package/lib/commonjs/index.js +3 -0
  17. package/lib/commonjs/index.js.map +1 -1
  18. package/lib/module/TLTRN.js +116 -3
  19. package/lib/module/TLTRN.js.map +1 -1
  20. package/lib/module/components/Connect.js +146 -28
  21. package/lib/module/components/Connect.js.map +1 -1
  22. package/lib/module/index.js +5 -0
  23. package/lib/module/index.js.map +1 -1
  24. package/lib/typescript/src/TLTRN.d.ts +85 -1
  25. package/lib/typescript/src/TLTRN.d.ts.map +1 -1
  26. package/lib/typescript/src/components/Connect.d.ts.map +1 -1
  27. package/lib/typescript/src/index.d.ts +1 -0
  28. package/lib/typescript/src/index.d.ts.map +1 -1
  29. package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts +178 -10
  30. package/lib/typescript/src/specs/react-native-acoustic-connect.nitro.d.ts.map +1 -1
  31. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.cpp +5 -9
  32. package/nitrogen/generated/android/c++/JHybridAcousticConnectRNSpec.hpp +1 -1
  33. package/nitrogen/generated/android/kotlin/com/margelo/nitro/acousticconnectrn/HybridAcousticConnectRNSpec.kt +2 -1
  34. package/nitrogen/generated/ios/AcousticConnectRN-Swift-Cxx-Umbrella.hpp +1 -0
  35. package/nitrogen/generated/ios/c++/HybridAcousticConnectRNSpecSwift.hpp +2 -1
  36. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec.swift +1 -1
  37. package/nitrogen/generated/ios/swift/HybridAcousticConnectRNSpec_cxx.swift +2 -25
  38. package/nitrogen/generated/shared/c++/HybridAcousticConnectRNSpec.hpp +2 -1
  39. package/package.json +4 -7
  40. package/plugin/build/withConnectAndroidConfig.d.ts +2 -2
  41. package/plugin/build/withConnectAndroidConfig.js +2 -2
  42. package/plugin/build/withConnectIosSigning.d.ts +1 -1
  43. package/plugin/build/withConnectIosSigning.js +1 -1
  44. package/plugin/src/withConnectAndroidConfig.ts +2 -2
  45. package/plugin/src/withConnectIosSigning.ts +1 -1
  46. package/scripts/gradleParser.js +1 -1
  47. package/src/TLTRN.ts +125 -4
  48. package/src/components/Connect.tsx +150 -27
  49. package/src/index.ts +5 -0
  50. package/src/specs/react-native-acoustic-connect.nitro.ts +180 -10
  51. package/Examples/SampleUI/.bundle/config +0 -2
  52. package/Examples/SampleUI/.detoxrc.js +0 -83
  53. package/Examples/SampleUI/.eslintrc.js +0 -4
  54. package/Examples/SampleUI/.prettierrc.js +0 -7
  55. package/Examples/SampleUI/.watchmanconfig +0 -1
  56. package/Examples/SampleUI/App.js +0 -1
  57. package/Examples/SampleUI/Gemfile +0 -10
  58. package/Examples/SampleUI/Gemfile.lock +0 -121
  59. package/Examples/SampleUI/README.md +0 -79
  60. package/Examples/SampleUI/__tests__/App.test.tsx +0 -17
  61. package/Examples/SampleUI/android/app/build.gradle +0 -129
  62. package/Examples/SampleUI/android/app/debug.keystore +0 -0
  63. package/Examples/SampleUI/android/app/proguard-rules.pro +0 -10
  64. package/Examples/SampleUI/android/app/src/debug/AndroidManifest.xml +0 -9
  65. package/Examples/SampleUI/android/app/src/main/AndroidManifest.xml +0 -31
  66. package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainActivity.kt +0 -30
  67. package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainApplication.kt +0 -53
  68. package/Examples/SampleUI/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -37
  69. package/Examples/SampleUI/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  70. package/Examples/SampleUI/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  71. package/Examples/SampleUI/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  72. package/Examples/SampleUI/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  73. package/Examples/SampleUI/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  74. package/Examples/SampleUI/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  75. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  76. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  77. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  78. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  79. package/Examples/SampleUI/android/app/src/main/res/values/strings.xml +0 -3
  80. package/Examples/SampleUI/android/app/src/main/res/values/styles.xml +0 -9
  81. package/Examples/SampleUI/android/build.gradle +0 -21
  82. package/Examples/SampleUI/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  83. package/Examples/SampleUI/android/gradle/wrapper/gradle-wrapper.properties +0 -7
  84. package/Examples/SampleUI/android/gradle.properties +0 -39
  85. package/Examples/SampleUI/android/gradlew +0 -252
  86. package/Examples/SampleUI/android/gradlew.bat +0 -94
  87. package/Examples/SampleUI/android/settings.gradle +0 -21
  88. package/Examples/SampleUI/app.json +0 -51
  89. package/Examples/SampleUI/assets/fonts/Abel-Regular.ttf +0 -0
  90. package/Examples/SampleUI/assets/fonts/NotoSans-Regular.ttf +0 -0
  91. package/Examples/SampleUI/assets/images/android-icon.png +0 -0
  92. package/Examples/SampleUI/assets/images/artist-1.jpg +0 -0
  93. package/Examples/SampleUI/assets/images/artist-2.jpg +0 -0
  94. package/Examples/SampleUI/assets/images/avatar.png +0 -0
  95. package/Examples/SampleUI/assets/images/beach.jpg +0 -0
  96. package/Examples/SampleUI/assets/images/bridge.jpg +0 -0
  97. package/Examples/SampleUI/assets/images/chameleon.jpg +0 -0
  98. package/Examples/SampleUI/assets/images/city.jpg +0 -0
  99. package/Examples/SampleUI/assets/images/email-icon.png +0 -0
  100. package/Examples/SampleUI/assets/images/favorite.png +0 -0
  101. package/Examples/SampleUI/assets/images/forest.jpg +0 -0
  102. package/Examples/SampleUI/assets/images/paper-icon.png +0 -0
  103. package/Examples/SampleUI/assets/images/players-2.jpg +0 -0
  104. package/Examples/SampleUI/assets/images/players.jpg +0 -0
  105. package/Examples/SampleUI/assets/images/restaurant-1.jpg +0 -0
  106. package/Examples/SampleUI/assets/images/restaurant-2.jpg +0 -0
  107. package/Examples/SampleUI/assets/images/song-1.jpg +0 -0
  108. package/Examples/SampleUI/assets/images/song-2.jpg +0 -0
  109. package/Examples/SampleUI/assets/images/splash.png +0 -0
  110. package/Examples/SampleUI/assets/images/strawberries.jpg +0 -0
  111. package/Examples/SampleUI/assets/images/wrecked-ship.jpg +0 -0
  112. package/Examples/SampleUI/assets/styles/fonts.css +0 -47
  113. package/Examples/SampleUI/babel.config.js +0 -22
  114. package/Examples/SampleUI/index.js +0 -9
  115. package/Examples/SampleUI/ios/.xcode.env +0 -11
  116. package/Examples/SampleUI/ios/Podfile +0 -71
  117. package/Examples/SampleUI/ios/Podfile.lock +0 -2276
  118. package/Examples/SampleUI/ios/SampleUI/AppDelegate.h +0 -7
  119. package/Examples/SampleUI/ios/SampleUI/AppDelegate.mm +0 -31
  120. package/Examples/SampleUI/ios/SampleUI/Images.xcassets/AppIcon.appiconset/Contents.json +0 -53
  121. package/Examples/SampleUI/ios/SampleUI/Images.xcassets/Contents.json +0 -6
  122. package/Examples/SampleUI/ios/SampleUI/Info.plist +0 -52
  123. package/Examples/SampleUI/ios/SampleUI/LaunchScreen.storyboard +0 -47
  124. package/Examples/SampleUI/ios/SampleUI/PrivacyInfo.xcprivacy +0 -48
  125. package/Examples/SampleUI/ios/SampleUI/main.m +0 -10
  126. package/Examples/SampleUI/ios/SampleUI.xcodeproj/project.pbxproj +0 -785
  127. package/Examples/SampleUI/ios/SampleUI.xcodeproj/xcshareddata/xcschemes/SampleUI.xcscheme +0 -105
  128. package/Examples/SampleUI/ios/SampleUI.xcworkspace/contents.xcworkspacedata +0 -10
  129. package/Examples/SampleUI/ios/SampleUITests/Info.plist +0 -24
  130. package/Examples/SampleUI/ios/SampleUITests/SampleUITests.m +0 -66
  131. package/Examples/SampleUI/jest.config.js +0 -3
  132. package/Examples/SampleUI/metro.config.js +0 -54
  133. package/Examples/SampleUI/package.json +0 -65
  134. package/Examples/SampleUI/scripts/integration-test-android.sh +0 -292
  135. package/Examples/SampleUI/src/DrawerItems.tsx +0 -322
  136. package/Examples/SampleUI/src/ExampleList.tsx +0 -175
  137. package/Examples/SampleUI/src/Examples/ActivityIndicatorExample.tsx +0 -73
  138. package/Examples/SampleUI/src/Examples/AnimatedFABExample/AnimatedFABExample.tsx +0 -220
  139. package/Examples/SampleUI/src/Examples/AnimatedFABExample/CustomFAB.tsx +0 -70
  140. package/Examples/SampleUI/src/Examples/AnimatedFABExample/CustomFABControls.tsx +0 -146
  141. package/Examples/SampleUI/src/Examples/AnimatedFABExample/index.ts +0 -1
  142. package/Examples/SampleUI/src/Examples/AppbarExample.tsx +0 -263
  143. package/Examples/SampleUI/src/Examples/AvatarExample.tsx +0 -76
  144. package/Examples/SampleUI/src/Examples/BadgeExample.tsx +0 -97
  145. package/Examples/SampleUI/src/Examples/BannerExample.tsx +0 -152
  146. package/Examples/SampleUI/src/Examples/BottomNavigationBarExample.tsx +0 -94
  147. package/Examples/SampleUI/src/Examples/BottomNavigationExample.tsx +0 -205
  148. package/Examples/SampleUI/src/Examples/ButtonExample.tsx +0 -405
  149. package/Examples/SampleUI/src/Examples/CardExample.tsx +0 -245
  150. package/Examples/SampleUI/src/Examples/CheckboxExample.tsx +0 -87
  151. package/Examples/SampleUI/src/Examples/CheckboxItemExample.tsx +0 -72
  152. package/Examples/SampleUI/src/Examples/ChipExample.tsx +0 -432
  153. package/Examples/SampleUI/src/Examples/DataTableExample.tsx +0 -128
  154. package/Examples/SampleUI/src/Examples/DialogExample.tsx +0 -217
  155. package/Examples/SampleUI/src/Examples/Dialogs/DialogTextComponent.tsx +0 -31
  156. package/Examples/SampleUI/src/Examples/Dialogs/DialogTrackingTest.tsx +0 -307
  157. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithCustomColors.tsx +0 -57
  158. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithDismissableBackButton.tsx +0 -38
  159. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithIcon.tsx +0 -42
  160. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithLoadingIndicator.tsx +0 -48
  161. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithLongText.tsx +0 -81
  162. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithRadioBtns.tsx +0 -111
  163. package/Examples/SampleUI/src/Examples/Dialogs/UndismissableDialog.tsx +0 -30
  164. package/Examples/SampleUI/src/Examples/Dialogs/index.tsx +0 -44
  165. package/Examples/SampleUI/src/Examples/DividerExample.tsx +0 -30
  166. package/Examples/SampleUI/src/Examples/FABExample.tsx +0 -226
  167. package/Examples/SampleUI/src/Examples/IconButtonExample.tsx +0 -230
  168. package/Examples/SampleUI/src/Examples/IconExample.tsx +0 -50
  169. package/Examples/SampleUI/src/Examples/ListAccordionExample.tsx +0 -65
  170. package/Examples/SampleUI/src/Examples/ListAccordionGroupExample.tsx +0 -80
  171. package/Examples/SampleUI/src/Examples/ListItemExample.tsx +0 -310
  172. package/Examples/SampleUI/src/Examples/ListSectionExample.tsx +0 -159
  173. package/Examples/SampleUI/src/Examples/MaterialBottomTabNavigatorExample.tsx +0 -87
  174. package/Examples/SampleUI/src/Examples/MenuExample.tsx +0 -211
  175. package/Examples/SampleUI/src/Examples/ProgressBarExample.tsx +0 -142
  176. package/Examples/SampleUI/src/Examples/RadioButtonExample.tsx +0 -104
  177. package/Examples/SampleUI/src/Examples/RadioButtonGroupExample.tsx +0 -67
  178. package/Examples/SampleUI/src/Examples/RadioButtonItemExample.tsx +0 -77
  179. package/Examples/SampleUI/src/Examples/SearchbarExample.tsx +0 -249
  180. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonCustomColorCheck.tsx +0 -93
  181. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonDefault.tsx +0 -49
  182. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonDisabled.tsx +0 -47
  183. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselect.tsx +0 -50
  184. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselectIcons.tsx +0 -49
  185. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselectRealCase.tsx +0 -114
  186. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonOnlyIcons.tsx +0 -40
  187. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonOnlyIconsWithCheck.tsx +0 -43
  188. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonRealCase.tsx +0 -97
  189. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonWithDensity.tsx +0 -47
  190. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonWithSelectedCheck.tsx +0 -52
  191. package/Examples/SampleUI/src/Examples/SegmentedButtons/index.ts +0 -9
  192. package/Examples/SampleUI/src/Examples/SegmentedButtonsExample.tsx +0 -57
  193. package/Examples/SampleUI/src/Examples/SnackbarExample.tsx +0 -141
  194. package/Examples/SampleUI/src/Examples/SurfaceExample.tsx +0 -130
  195. package/Examples/SampleUI/src/Examples/SwitchExample.tsx +0 -105
  196. package/Examples/SampleUI/src/Examples/TeamDetails.tsx +0 -291
  197. package/Examples/SampleUI/src/Examples/TeamsList.tsx +0 -57
  198. package/Examples/SampleUI/src/Examples/TextExample.tsx +0 -132
  199. package/Examples/SampleUI/src/Examples/TextInputExample.tsx +0 -914
  200. package/Examples/SampleUI/src/Examples/ThemeExample.tsx +0 -41
  201. package/Examples/SampleUI/src/Examples/ThemingWithReactNavigation.tsx +0 -75
  202. package/Examples/SampleUI/src/Examples/ToggleButtonExample.tsx +0 -128
  203. package/Examples/SampleUI/src/Examples/TooltipExample.tsx +0 -191
  204. package/Examples/SampleUI/src/Examples/TouchableRippleExample.tsx +0 -37
  205. package/Examples/SampleUI/src/RootNavigator.tsx +0 -95
  206. package/Examples/SampleUI/src/ScreenWrapper.tsx +0 -67
  207. package/Examples/SampleUI/src/components/ActivityIndicator.tsx +0 -254
  208. package/Examples/SampleUI/src/components/Appbar/Appbar.tsx +0 -364
  209. package/Examples/SampleUI/src/components/Appbar/AppbarAction.tsx +0 -132
  210. package/Examples/SampleUI/src/components/Appbar/AppbarBackAction.tsx +0 -77
  211. package/Examples/SampleUI/src/components/Appbar/AppbarBackIcon.tsx +0 -52
  212. package/Examples/SampleUI/src/components/Appbar/AppbarContent.tsx +0 -249
  213. package/Examples/SampleUI/src/components/Appbar/AppbarHeader.tsx +0 -174
  214. package/Examples/SampleUI/src/components/Appbar/index.ts +0 -22
  215. package/Examples/SampleUI/src/components/Appbar/utils.ts +0 -188
  216. package/Examples/SampleUI/src/components/Avatar/Avatar.tsx +0 -8
  217. package/Examples/SampleUI/src/components/Avatar/AvatarIcon.tsx +0 -87
  218. package/Examples/SampleUI/src/components/Avatar/AvatarImage.tsx +0 -128
  219. package/Examples/SampleUI/src/components/Avatar/AvatarText.tsx +0 -127
  220. package/Examples/SampleUI/src/components/Badge.tsx +0 -138
  221. package/Examples/SampleUI/src/components/Banner.tsx +0 -302
  222. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigation.tsx +0 -643
  223. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigationBar.tsx +0 -1039
  224. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigationRouteScreen.tsx +0 -31
  225. package/Examples/SampleUI/src/components/BottomNavigation/utils.ts +0 -70
  226. package/Examples/SampleUI/src/components/Button/Button.tsx +0 -503
  227. package/Examples/SampleUI/src/components/Button/utils.tsx +0 -272
  228. package/Examples/SampleUI/src/components/Card/Card.tsx +0 -373
  229. package/Examples/SampleUI/src/components/Card/CardActions.tsx +0 -74
  230. package/Examples/SampleUI/src/components/Card/CardContent.tsx +0 -99
  231. package/Examples/SampleUI/src/components/Card/CardCover.tsx +0 -96
  232. package/Examples/SampleUI/src/components/Card/CardTitle.tsx +0 -236
  233. package/Examples/SampleUI/src/components/Card/utils.tsx +0 -110
  234. package/Examples/SampleUI/src/components/Checkbox/Checkbox.tsx +0 -78
  235. package/Examples/SampleUI/src/components/Checkbox/CheckboxAndroid.tsx +0 -180
  236. package/Examples/SampleUI/src/components/Checkbox/CheckboxIOS.tsx +0 -104
  237. package/Examples/SampleUI/src/components/Checkbox/CheckboxItem.tsx +0 -236
  238. package/Examples/SampleUI/src/components/Checkbox/index.ts +0 -19
  239. package/Examples/SampleUI/src/components/Checkbox/utils.ts +0 -183
  240. package/Examples/SampleUI/src/components/Chip/Chip.tsx +0 -513
  241. package/Examples/SampleUI/src/components/Chip/helpers.tsx +0 -322
  242. package/Examples/SampleUI/src/components/CrossFadeIcon.tsx +0 -140
  243. package/Examples/SampleUI/src/components/DataTable/DataTable.tsx +0 -138
  244. package/Examples/SampleUI/src/components/DataTable/DataTableCell.tsx +0 -132
  245. package/Examples/SampleUI/src/components/DataTable/DataTableHeader.tsx +0 -82
  246. package/Examples/SampleUI/src/components/DataTable/DataTablePagination.tsx +0 -407
  247. package/Examples/SampleUI/src/components/DataTable/DataTableRow.tsx +0 -107
  248. package/Examples/SampleUI/src/components/DataTable/DataTableTitle.tsx +0 -208
  249. package/Examples/SampleUI/src/components/Dialog/Dialog.tsx +0 -191
  250. package/Examples/SampleUI/src/components/Dialog/DialogActions.tsx +0 -94
  251. package/Examples/SampleUI/src/components/Dialog/DialogContent.tsx +0 -54
  252. package/Examples/SampleUI/src/components/Dialog/DialogIcon.tsx +0 -100
  253. package/Examples/SampleUI/src/components/Dialog/DialogScrollArea.tsx +0 -88
  254. package/Examples/SampleUI/src/components/Dialog/DialogTitle.tsx +0 -94
  255. package/Examples/SampleUI/src/components/Divider.tsx +0 -102
  256. package/Examples/SampleUI/src/components/Drawer/Drawer.tsx +0 -8
  257. package/Examples/SampleUI/src/components/Drawer/DrawerCollapsedItem.tsx +0 -282
  258. package/Examples/SampleUI/src/components/Drawer/DrawerItem.tsx +0 -209
  259. package/Examples/SampleUI/src/components/Drawer/DrawerSection.tsx +0 -138
  260. package/Examples/SampleUI/src/components/FAB/AnimatedFAB.tsx +0 -619
  261. package/Examples/SampleUI/src/components/FAB/FAB.tsx +0 -371
  262. package/Examples/SampleUI/src/components/FAB/FABGroup.tsx +0 -532
  263. package/Examples/SampleUI/src/components/FAB/index.ts +0 -13
  264. package/Examples/SampleUI/src/components/FAB/utils.ts +0 -474
  265. package/Examples/SampleUI/src/components/HelperText/HelperText.tsx +0 -168
  266. package/Examples/SampleUI/src/components/HelperText/utils.ts +0 -30
  267. package/Examples/SampleUI/src/components/Icon.tsx +0 -170
  268. package/Examples/SampleUI/src/components/IconButton/IconButton.tsx +0 -234
  269. package/Examples/SampleUI/src/components/IconButton/utils.ts +0 -190
  270. package/Examples/SampleUI/src/components/List/List.tsx +0 -20
  271. package/Examples/SampleUI/src/components/List/ListAccordion.tsx +0 -391
  272. package/Examples/SampleUI/src/components/List/ListAccordionGroup.tsx +0 -88
  273. package/Examples/SampleUI/src/components/List/ListIcon.tsx +0 -79
  274. package/Examples/SampleUI/src/components/List/ListImage.tsx +0 -89
  275. package/Examples/SampleUI/src/components/List/ListItem.tsx +0 -313
  276. package/Examples/SampleUI/src/components/List/ListSection.tsx +0 -87
  277. package/Examples/SampleUI/src/components/List/ListSubheader.tsx +0 -79
  278. package/Examples/SampleUI/src/components/List/utils.ts +0 -113
  279. package/Examples/SampleUI/src/components/MaterialCommunityIcon.tsx +0 -121
  280. package/Examples/SampleUI/src/components/Menu/Menu.tsx +0 -711
  281. package/Examples/SampleUI/src/components/Menu/MenuItem.tsx +0 -257
  282. package/Examples/SampleUI/src/components/Menu/utils.ts +0 -110
  283. package/Examples/SampleUI/src/components/Modal.tsx +0 -245
  284. package/Examples/SampleUI/src/components/Portal/Portal.tsx +0 -69
  285. package/Examples/SampleUI/src/components/Portal/PortalConsumer.tsx +0 -44
  286. package/Examples/SampleUI/src/components/Portal/PortalHost.tsx +0 -143
  287. package/Examples/SampleUI/src/components/Portal/PortalManager.tsx +0 -54
  288. package/Examples/SampleUI/src/components/ProgressBar.tsx +0 -292
  289. package/Examples/SampleUI/src/components/RadioButton/RadioButton.tsx +0 -86
  290. package/Examples/SampleUI/src/components/RadioButton/RadioButtonAndroid.tsx +0 -202
  291. package/Examples/SampleUI/src/components/RadioButton/RadioButtonGroup.tsx +0 -67
  292. package/Examples/SampleUI/src/components/RadioButton/RadioButtonIOS.tsx +0 -130
  293. package/Examples/SampleUI/src/components/RadioButton/RadioButtonItem.tsx +0 -268
  294. package/Examples/SampleUI/src/components/RadioButton/index.ts +0 -22
  295. package/Examples/SampleUI/src/components/RadioButton/utils.ts +0 -37
  296. package/Examples/SampleUI/src/components/Searchbar.tsx +0 -459
  297. package/Examples/SampleUI/src/components/SegmentedButtons/SegmentedButtonItem.tsx +0 -271
  298. package/Examples/SampleUI/src/components/SegmentedButtons/SegmentedButtons.tsx +0 -197
  299. package/Examples/SampleUI/src/components/SegmentedButtons/utils.ts +0 -179
  300. package/Examples/SampleUI/src/components/Snackbar.tsx +0 -430
  301. package/Examples/SampleUI/src/components/Surface.tsx +0 -376
  302. package/Examples/SampleUI/src/components/Switch/Switch.tsx +0 -108
  303. package/Examples/SampleUI/src/components/Switch/utils.ts +0 -113
  304. package/Examples/SampleUI/src/components/TextInput/Addons/Outline.tsx +0 -64
  305. package/Examples/SampleUI/src/components/TextInput/Addons/Underline.tsx +0 -78
  306. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputAdornment.tsx +0 -208
  307. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputAffix.tsx +0 -212
  308. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputIcon.tsx +0 -195
  309. package/Examples/SampleUI/src/components/TextInput/Adornment/enums.tsx +0 -12
  310. package/Examples/SampleUI/src/components/TextInput/Adornment/types.tsx +0 -11
  311. package/Examples/SampleUI/src/components/TextInput/Adornment/utils.ts +0 -48
  312. package/Examples/SampleUI/src/components/TextInput/Label/InputLabel.tsx +0 -217
  313. package/Examples/SampleUI/src/components/TextInput/Label/LabelBackground.tsx +0 -100
  314. package/Examples/SampleUI/src/components/TextInput/TextInput.tsx +0 -572
  315. package/Examples/SampleUI/src/components/TextInput/TextInputFlat.tsx +0 -475
  316. package/Examples/SampleUI/src/components/TextInput/TextInputOutlined.tsx +0 -450
  317. package/Examples/SampleUI/src/components/TextInput/constants.tsx +0 -48
  318. package/Examples/SampleUI/src/components/TextInput/helpers.tsx +0 -612
  319. package/Examples/SampleUI/src/components/TextInput/types.tsx +0 -155
  320. package/Examples/SampleUI/src/components/ToggleButton/ToggleButton.tsx +0 -187
  321. package/Examples/SampleUI/src/components/ToggleButton/ToggleButtonGroup.tsx +0 -72
  322. package/Examples/SampleUI/src/components/ToggleButton/ToggleButtonRow.tsx +0 -107
  323. package/Examples/SampleUI/src/components/ToggleButton/index.ts +0 -16
  324. package/Examples/SampleUI/src/components/ToggleButton/utils.ts +0 -26
  325. package/Examples/SampleUI/src/components/Tooltip/Tooltip.tsx +0 -249
  326. package/Examples/SampleUI/src/components/Tooltip/utils.ts +0 -129
  327. package/Examples/SampleUI/src/components/TouchableRipple/Pressable.tsx +0 -41
  328. package/Examples/SampleUI/src/components/TouchableRipple/TouchableRipple.native.tsx +0 -145
  329. package/Examples/SampleUI/src/components/TouchableRipple/TouchableRipple.tsx +0 -317
  330. package/Examples/SampleUI/src/components/TouchableRipple/utils.ts +0 -66
  331. package/Examples/SampleUI/src/components/Typography/AnimatedText.tsx +0 -107
  332. package/Examples/SampleUI/src/components/Typography/Text.tsx +0 -184
  333. package/Examples/SampleUI/src/components/Typography/types.tsx +0 -5
  334. package/Examples/SampleUI/src/components/Typography/v2/Caption.tsx +0 -50
  335. package/Examples/SampleUI/src/components/Typography/v2/Headline.tsx +0 -52
  336. package/Examples/SampleUI/src/components/Typography/v2/Paragraph.tsx +0 -49
  337. package/Examples/SampleUI/src/components/Typography/v2/StyledText.tsx +0 -56
  338. package/Examples/SampleUI/src/components/Typography/v2/Subheading.tsx +0 -50
  339. package/Examples/SampleUI/src/components/Typography/v2/Text.tsx +0 -62
  340. package/Examples/SampleUI/src/components/Typography/v2/Title.tsx +0 -49
  341. package/Examples/SampleUI/src/components/Typography/v2/index.ts +0 -5
  342. package/Examples/SampleUI/src/core/PaperProvider.tsx +0 -122
  343. package/Examples/SampleUI/src/core/SafeAreaProviderCompat.tsx +0 -65
  344. package/Examples/SampleUI/src/core/settings.tsx +0 -23
  345. package/Examples/SampleUI/src/core/theming.tsx +0 -170
  346. package/Examples/SampleUI/src/index.native.tsx +0 -285
  347. package/Examples/SampleUI/src/index.tsx +0 -226
  348. package/Examples/SampleUI/src/react-navigation/index.tsx +0 -19
  349. package/Examples/SampleUI/src/react-navigation/navigators/createMaterialBottomTabNavigator.tsx +0 -72
  350. package/Examples/SampleUI/src/react-navigation/types.tsx +0 -126
  351. package/Examples/SampleUI/src/react-navigation/views/MaterialBottomTabView.tsx +0 -140
  352. package/Examples/SampleUI/src/styles/__tests__/fonts.test.js +0 -290
  353. package/Examples/SampleUI/src/styles/fonts.tsx +0 -143
  354. package/Examples/SampleUI/src/styles/overlay.tsx +0 -70
  355. package/Examples/SampleUI/src/styles/shadow.tsx +0 -109
  356. package/Examples/SampleUI/src/styles/themes/index.ts +0 -4
  357. package/Examples/SampleUI/src/styles/themes/v2/DarkTheme.tsx +0 -30
  358. package/Examples/SampleUI/src/styles/themes/v2/LightTheme.tsx +0 -30
  359. package/Examples/SampleUI/src/styles/themes/v2/colors.tsx +0 -277
  360. package/Examples/SampleUI/src/styles/themes/v3/DarkTheme.tsx +0 -66
  361. package/Examples/SampleUI/src/styles/themes/v3/LightTheme.tsx +0 -69
  362. package/Examples/SampleUI/src/styles/themes/v3/tokens.tsx +0 -230
  363. package/Examples/SampleUI/src/utils/BackHandler/BackHandler.native.tsx +0 -3
  364. package/Examples/SampleUI/src/utils/BackHandler/BackHandler.tsx +0 -11
  365. package/Examples/SampleUI/src/utils/addEventListener.tsx +0 -56
  366. package/Examples/SampleUI/src/utils/forwardRef.tsx +0 -23
  367. package/Examples/SampleUI/src/utils/getContrastingColor.tsx +0 -15
  368. package/Examples/SampleUI/src/utils/hasTouchHandler.tsx +0 -23
  369. package/Examples/SampleUI/src/utils/roundLayoutSize.ts +0 -2
  370. package/Examples/SampleUI/src/utils/splitStyles.ts +0 -60
  371. package/Examples/SampleUI/src/utils/useAnimatedValue.tsx +0 -9
  372. package/Examples/SampleUI/src/utils/useAnimatedValueArray.tsx +0 -13
  373. package/Examples/SampleUI/src/utils/useIsKeyboardShown.tsx +0 -55
  374. package/Examples/SampleUI/src/utils/useLayout.tsx +0 -29
  375. package/Examples/SampleUI/src/utils/useLazyRef.tsx +0 -11
  376. package/Examples/SampleUI/tsconfig.json +0 -3
  377. package/Examples/SampleUI/utils/index.ts +0 -1426
  378. 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;