react-native-acoustic-connect-beta 19.0.26 → 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 (331) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/ConnectConfig.example.json +1 -1
  3. package/android/src/main/assets/ConnectAdvancedConfig.json +1 -1
  4. package/android/src/main/assets/ConnectBasicConfig.properties +1 -1
  5. package/package.json +2 -9
  6. package/Examples/SampleUI/.bundle/config +0 -2
  7. package/Examples/SampleUI/.detoxrc.js +0 -83
  8. package/Examples/SampleUI/.eslintrc.js +0 -4
  9. package/Examples/SampleUI/.prettierrc.js +0 -7
  10. package/Examples/SampleUI/.watchmanconfig +0 -1
  11. package/Examples/SampleUI/App.js +0 -1
  12. package/Examples/SampleUI/ConnectConfig.json +0 -180
  13. package/Examples/SampleUI/Gemfile +0 -10
  14. package/Examples/SampleUI/Gemfile.lock +0 -121
  15. package/Examples/SampleUI/README.md +0 -79
  16. package/Examples/SampleUI/android/app/build.gradle +0 -129
  17. package/Examples/SampleUI/android/app/debug.keystore +0 -0
  18. package/Examples/SampleUI/android/app/proguard-rules.pro +0 -10
  19. package/Examples/SampleUI/android/app/src/debug/AndroidManifest.xml +0 -9
  20. package/Examples/SampleUI/android/app/src/main/AndroidManifest.xml +0 -31
  21. package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainActivity.kt +0 -30
  22. package/Examples/SampleUI/android/app/src/main/java/com/sampleui/MainApplication.kt +0 -53
  23. package/Examples/SampleUI/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -37
  24. package/Examples/SampleUI/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  25. package/Examples/SampleUI/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  26. package/Examples/SampleUI/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  27. package/Examples/SampleUI/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  28. package/Examples/SampleUI/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  29. package/Examples/SampleUI/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  30. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  31. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  32. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  33. package/Examples/SampleUI/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  34. package/Examples/SampleUI/android/app/src/main/res/values/strings.xml +0 -3
  35. package/Examples/SampleUI/android/app/src/main/res/values/styles.xml +0 -9
  36. package/Examples/SampleUI/android/build.gradle +0 -21
  37. package/Examples/SampleUI/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  38. package/Examples/SampleUI/android/gradle/wrapper/gradle-wrapper.properties +0 -7
  39. package/Examples/SampleUI/android/gradle.properties +0 -39
  40. package/Examples/SampleUI/android/gradlew +0 -252
  41. package/Examples/SampleUI/android/gradlew.bat +0 -94
  42. package/Examples/SampleUI/android/settings.gradle +0 -21
  43. package/Examples/SampleUI/app.json +0 -51
  44. package/Examples/SampleUI/assets/fonts/Abel-Regular.ttf +0 -0
  45. package/Examples/SampleUI/assets/fonts/NotoSans-Regular.ttf +0 -0
  46. package/Examples/SampleUI/assets/images/android-icon.png +0 -0
  47. package/Examples/SampleUI/assets/images/artist-1.jpg +0 -0
  48. package/Examples/SampleUI/assets/images/artist-2.jpg +0 -0
  49. package/Examples/SampleUI/assets/images/avatar.png +0 -0
  50. package/Examples/SampleUI/assets/images/beach.jpg +0 -0
  51. package/Examples/SampleUI/assets/images/bridge.jpg +0 -0
  52. package/Examples/SampleUI/assets/images/chameleon.jpg +0 -0
  53. package/Examples/SampleUI/assets/images/city.jpg +0 -0
  54. package/Examples/SampleUI/assets/images/email-icon.png +0 -0
  55. package/Examples/SampleUI/assets/images/favorite.png +0 -0
  56. package/Examples/SampleUI/assets/images/forest.jpg +0 -0
  57. package/Examples/SampleUI/assets/images/paper-icon.png +0 -0
  58. package/Examples/SampleUI/assets/images/players-2.jpg +0 -0
  59. package/Examples/SampleUI/assets/images/players.jpg +0 -0
  60. package/Examples/SampleUI/assets/images/restaurant-1.jpg +0 -0
  61. package/Examples/SampleUI/assets/images/restaurant-2.jpg +0 -0
  62. package/Examples/SampleUI/assets/images/song-1.jpg +0 -0
  63. package/Examples/SampleUI/assets/images/song-2.jpg +0 -0
  64. package/Examples/SampleUI/assets/images/splash.png +0 -0
  65. package/Examples/SampleUI/assets/images/strawberries.jpg +0 -0
  66. package/Examples/SampleUI/assets/images/wrecked-ship.jpg +0 -0
  67. package/Examples/SampleUI/assets/styles/fonts.css +0 -47
  68. package/Examples/SampleUI/babel.config.js +0 -22
  69. package/Examples/SampleUI/index.js +0 -9
  70. package/Examples/SampleUI/ios/.xcode.env +0 -11
  71. package/Examples/SampleUI/ios/Podfile +0 -71
  72. package/Examples/SampleUI/ios/Podfile.lock +0 -2276
  73. package/Examples/SampleUI/ios/SampleUI/AppDelegate.h +0 -7
  74. package/Examples/SampleUI/ios/SampleUI/AppDelegate.mm +0 -31
  75. package/Examples/SampleUI/ios/SampleUI/Images.xcassets/AppIcon.appiconset/Contents.json +0 -53
  76. package/Examples/SampleUI/ios/SampleUI/Images.xcassets/Contents.json +0 -6
  77. package/Examples/SampleUI/ios/SampleUI/Info.plist +0 -52
  78. package/Examples/SampleUI/ios/SampleUI/LaunchScreen.storyboard +0 -47
  79. package/Examples/SampleUI/ios/SampleUI/PrivacyInfo.xcprivacy +0 -48
  80. package/Examples/SampleUI/ios/SampleUI/main.m +0 -10
  81. package/Examples/SampleUI/ios/SampleUI.xcodeproj/project.pbxproj +0 -785
  82. package/Examples/SampleUI/ios/SampleUI.xcodeproj/xcshareddata/xcschemes/SampleUI.xcscheme +0 -105
  83. package/Examples/SampleUI/ios/SampleUI.xcworkspace/contents.xcworkspacedata +0 -10
  84. package/Examples/SampleUI/ios/SampleUITests/Info.plist +0 -24
  85. package/Examples/SampleUI/ios/SampleUITests/SampleUITests.m +0 -66
  86. package/Examples/SampleUI/jest.config.js +0 -3
  87. package/Examples/SampleUI/metro.config.js +0 -54
  88. package/Examples/SampleUI/package.json +0 -65
  89. package/Examples/SampleUI/scripts/integration-test-android.sh +0 -292
  90. package/Examples/SampleUI/src/DrawerItems.tsx +0 -322
  91. package/Examples/SampleUI/src/ExampleList.tsx +0 -175
  92. package/Examples/SampleUI/src/Examples/ActivityIndicatorExample.tsx +0 -73
  93. package/Examples/SampleUI/src/Examples/AnimatedFABExample/AnimatedFABExample.tsx +0 -220
  94. package/Examples/SampleUI/src/Examples/AnimatedFABExample/CustomFAB.tsx +0 -70
  95. package/Examples/SampleUI/src/Examples/AnimatedFABExample/CustomFABControls.tsx +0 -146
  96. package/Examples/SampleUI/src/Examples/AnimatedFABExample/index.ts +0 -1
  97. package/Examples/SampleUI/src/Examples/AppbarExample.tsx +0 -263
  98. package/Examples/SampleUI/src/Examples/AvatarExample.tsx +0 -76
  99. package/Examples/SampleUI/src/Examples/BadgeExample.tsx +0 -97
  100. package/Examples/SampleUI/src/Examples/BannerExample.tsx +0 -152
  101. package/Examples/SampleUI/src/Examples/BottomNavigationBarExample.tsx +0 -94
  102. package/Examples/SampleUI/src/Examples/BottomNavigationExample.tsx +0 -205
  103. package/Examples/SampleUI/src/Examples/ButtonExample.tsx +0 -405
  104. package/Examples/SampleUI/src/Examples/CardExample.tsx +0 -245
  105. package/Examples/SampleUI/src/Examples/CheckboxExample.tsx +0 -87
  106. package/Examples/SampleUI/src/Examples/CheckboxItemExample.tsx +0 -72
  107. package/Examples/SampleUI/src/Examples/ChipExample.tsx +0 -432
  108. package/Examples/SampleUI/src/Examples/DataTableExample.tsx +0 -128
  109. package/Examples/SampleUI/src/Examples/DialogExample.tsx +0 -217
  110. package/Examples/SampleUI/src/Examples/Dialogs/DialogTextComponent.tsx +0 -31
  111. package/Examples/SampleUI/src/Examples/Dialogs/DialogTrackingTest.tsx +0 -307
  112. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithCustomColors.tsx +0 -57
  113. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithDismissableBackButton.tsx +0 -38
  114. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithIcon.tsx +0 -42
  115. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithLoadingIndicator.tsx +0 -48
  116. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithLongText.tsx +0 -81
  117. package/Examples/SampleUI/src/Examples/Dialogs/DialogWithRadioBtns.tsx +0 -111
  118. package/Examples/SampleUI/src/Examples/Dialogs/UndismissableDialog.tsx +0 -30
  119. package/Examples/SampleUI/src/Examples/Dialogs/index.tsx +0 -44
  120. package/Examples/SampleUI/src/Examples/DividerExample.tsx +0 -30
  121. package/Examples/SampleUI/src/Examples/FABExample.tsx +0 -226
  122. package/Examples/SampleUI/src/Examples/IconButtonExample.tsx +0 -230
  123. package/Examples/SampleUI/src/Examples/IconExample.tsx +0 -50
  124. package/Examples/SampleUI/src/Examples/ListAccordionExample.tsx +0 -65
  125. package/Examples/SampleUI/src/Examples/ListAccordionGroupExample.tsx +0 -80
  126. package/Examples/SampleUI/src/Examples/ListItemExample.tsx +0 -310
  127. package/Examples/SampleUI/src/Examples/ListSectionExample.tsx +0 -159
  128. package/Examples/SampleUI/src/Examples/MaterialBottomTabNavigatorExample.tsx +0 -87
  129. package/Examples/SampleUI/src/Examples/MenuExample.tsx +0 -211
  130. package/Examples/SampleUI/src/Examples/ProgressBarExample.tsx +0 -142
  131. package/Examples/SampleUI/src/Examples/RadioButtonExample.tsx +0 -104
  132. package/Examples/SampleUI/src/Examples/RadioButtonGroupExample.tsx +0 -67
  133. package/Examples/SampleUI/src/Examples/RadioButtonItemExample.tsx +0 -77
  134. package/Examples/SampleUI/src/Examples/SearchbarExample.tsx +0 -249
  135. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonCustomColorCheck.tsx +0 -93
  136. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonDefault.tsx +0 -49
  137. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonDisabled.tsx +0 -47
  138. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselect.tsx +0 -50
  139. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselectIcons.tsx +0 -49
  140. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonMultiselectRealCase.tsx +0 -114
  141. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonOnlyIcons.tsx +0 -40
  142. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonOnlyIconsWithCheck.tsx +0 -43
  143. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonRealCase.tsx +0 -97
  144. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonWithDensity.tsx +0 -47
  145. package/Examples/SampleUI/src/Examples/SegmentedButtons/SegmentedButtonWithSelectedCheck.tsx +0 -52
  146. package/Examples/SampleUI/src/Examples/SegmentedButtons/index.ts +0 -9
  147. package/Examples/SampleUI/src/Examples/SegmentedButtonsExample.tsx +0 -57
  148. package/Examples/SampleUI/src/Examples/SnackbarExample.tsx +0 -141
  149. package/Examples/SampleUI/src/Examples/SurfaceExample.tsx +0 -130
  150. package/Examples/SampleUI/src/Examples/SwitchExample.tsx +0 -105
  151. package/Examples/SampleUI/src/Examples/TeamDetails.tsx +0 -291
  152. package/Examples/SampleUI/src/Examples/TeamsList.tsx +0 -57
  153. package/Examples/SampleUI/src/Examples/TextExample.tsx +0 -132
  154. package/Examples/SampleUI/src/Examples/TextInputExample.tsx +0 -914
  155. package/Examples/SampleUI/src/Examples/ThemeExample.tsx +0 -41
  156. package/Examples/SampleUI/src/Examples/ThemingWithReactNavigation.tsx +0 -75
  157. package/Examples/SampleUI/src/Examples/ToggleButtonExample.tsx +0 -128
  158. package/Examples/SampleUI/src/Examples/TooltipExample.tsx +0 -191
  159. package/Examples/SampleUI/src/Examples/TouchableRippleExample.tsx +0 -37
  160. package/Examples/SampleUI/src/RootNavigator.tsx +0 -95
  161. package/Examples/SampleUI/src/ScreenWrapper.tsx +0 -67
  162. package/Examples/SampleUI/src/components/ActivityIndicator.tsx +0 -254
  163. package/Examples/SampleUI/src/components/Appbar/Appbar.tsx +0 -364
  164. package/Examples/SampleUI/src/components/Appbar/AppbarAction.tsx +0 -132
  165. package/Examples/SampleUI/src/components/Appbar/AppbarBackAction.tsx +0 -77
  166. package/Examples/SampleUI/src/components/Appbar/AppbarBackIcon.tsx +0 -52
  167. package/Examples/SampleUI/src/components/Appbar/AppbarContent.tsx +0 -249
  168. package/Examples/SampleUI/src/components/Appbar/AppbarHeader.tsx +0 -174
  169. package/Examples/SampleUI/src/components/Appbar/index.ts +0 -22
  170. package/Examples/SampleUI/src/components/Appbar/utils.ts +0 -188
  171. package/Examples/SampleUI/src/components/Avatar/Avatar.tsx +0 -8
  172. package/Examples/SampleUI/src/components/Avatar/AvatarIcon.tsx +0 -87
  173. package/Examples/SampleUI/src/components/Avatar/AvatarImage.tsx +0 -128
  174. package/Examples/SampleUI/src/components/Avatar/AvatarText.tsx +0 -127
  175. package/Examples/SampleUI/src/components/Badge.tsx +0 -138
  176. package/Examples/SampleUI/src/components/Banner.tsx +0 -302
  177. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigation.tsx +0 -643
  178. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigationBar.tsx +0 -1039
  179. package/Examples/SampleUI/src/components/BottomNavigation/BottomNavigationRouteScreen.tsx +0 -31
  180. package/Examples/SampleUI/src/components/BottomNavigation/utils.ts +0 -70
  181. package/Examples/SampleUI/src/components/Button/Button.tsx +0 -503
  182. package/Examples/SampleUI/src/components/Button/utils.tsx +0 -272
  183. package/Examples/SampleUI/src/components/Card/Card.tsx +0 -373
  184. package/Examples/SampleUI/src/components/Card/CardActions.tsx +0 -74
  185. package/Examples/SampleUI/src/components/Card/CardContent.tsx +0 -99
  186. package/Examples/SampleUI/src/components/Card/CardCover.tsx +0 -96
  187. package/Examples/SampleUI/src/components/Card/CardTitle.tsx +0 -236
  188. package/Examples/SampleUI/src/components/Card/utils.tsx +0 -110
  189. package/Examples/SampleUI/src/components/Checkbox/Checkbox.tsx +0 -78
  190. package/Examples/SampleUI/src/components/Checkbox/CheckboxAndroid.tsx +0 -180
  191. package/Examples/SampleUI/src/components/Checkbox/CheckboxIOS.tsx +0 -104
  192. package/Examples/SampleUI/src/components/Checkbox/CheckboxItem.tsx +0 -236
  193. package/Examples/SampleUI/src/components/Checkbox/index.ts +0 -19
  194. package/Examples/SampleUI/src/components/Checkbox/utils.ts +0 -183
  195. package/Examples/SampleUI/src/components/Chip/Chip.tsx +0 -513
  196. package/Examples/SampleUI/src/components/Chip/helpers.tsx +0 -322
  197. package/Examples/SampleUI/src/components/CrossFadeIcon.tsx +0 -140
  198. package/Examples/SampleUI/src/components/DataTable/DataTable.tsx +0 -138
  199. package/Examples/SampleUI/src/components/DataTable/DataTableCell.tsx +0 -132
  200. package/Examples/SampleUI/src/components/DataTable/DataTableHeader.tsx +0 -82
  201. package/Examples/SampleUI/src/components/DataTable/DataTablePagination.tsx +0 -407
  202. package/Examples/SampleUI/src/components/DataTable/DataTableRow.tsx +0 -107
  203. package/Examples/SampleUI/src/components/DataTable/DataTableTitle.tsx +0 -208
  204. package/Examples/SampleUI/src/components/Dialog/Dialog.tsx +0 -191
  205. package/Examples/SampleUI/src/components/Dialog/DialogActions.tsx +0 -94
  206. package/Examples/SampleUI/src/components/Dialog/DialogContent.tsx +0 -54
  207. package/Examples/SampleUI/src/components/Dialog/DialogIcon.tsx +0 -100
  208. package/Examples/SampleUI/src/components/Dialog/DialogScrollArea.tsx +0 -88
  209. package/Examples/SampleUI/src/components/Dialog/DialogTitle.tsx +0 -94
  210. package/Examples/SampleUI/src/components/Divider.tsx +0 -102
  211. package/Examples/SampleUI/src/components/Drawer/Drawer.tsx +0 -8
  212. package/Examples/SampleUI/src/components/Drawer/DrawerCollapsedItem.tsx +0 -282
  213. package/Examples/SampleUI/src/components/Drawer/DrawerItem.tsx +0 -209
  214. package/Examples/SampleUI/src/components/Drawer/DrawerSection.tsx +0 -138
  215. package/Examples/SampleUI/src/components/FAB/AnimatedFAB.tsx +0 -619
  216. package/Examples/SampleUI/src/components/FAB/FAB.tsx +0 -371
  217. package/Examples/SampleUI/src/components/FAB/FABGroup.tsx +0 -532
  218. package/Examples/SampleUI/src/components/FAB/index.ts +0 -13
  219. package/Examples/SampleUI/src/components/FAB/utils.ts +0 -474
  220. package/Examples/SampleUI/src/components/HelperText/HelperText.tsx +0 -168
  221. package/Examples/SampleUI/src/components/HelperText/utils.ts +0 -30
  222. package/Examples/SampleUI/src/components/Icon.tsx +0 -170
  223. package/Examples/SampleUI/src/components/IconButton/IconButton.tsx +0 -234
  224. package/Examples/SampleUI/src/components/IconButton/utils.ts +0 -190
  225. package/Examples/SampleUI/src/components/List/List.tsx +0 -20
  226. package/Examples/SampleUI/src/components/List/ListAccordion.tsx +0 -391
  227. package/Examples/SampleUI/src/components/List/ListAccordionGroup.tsx +0 -88
  228. package/Examples/SampleUI/src/components/List/ListIcon.tsx +0 -79
  229. package/Examples/SampleUI/src/components/List/ListImage.tsx +0 -89
  230. package/Examples/SampleUI/src/components/List/ListItem.tsx +0 -313
  231. package/Examples/SampleUI/src/components/List/ListSection.tsx +0 -87
  232. package/Examples/SampleUI/src/components/List/ListSubheader.tsx +0 -79
  233. package/Examples/SampleUI/src/components/List/utils.ts +0 -113
  234. package/Examples/SampleUI/src/components/MaterialCommunityIcon.tsx +0 -121
  235. package/Examples/SampleUI/src/components/Menu/Menu.tsx +0 -711
  236. package/Examples/SampleUI/src/components/Menu/MenuItem.tsx +0 -257
  237. package/Examples/SampleUI/src/components/Menu/utils.ts +0 -110
  238. package/Examples/SampleUI/src/components/Modal.tsx +0 -245
  239. package/Examples/SampleUI/src/components/Portal/Portal.tsx +0 -69
  240. package/Examples/SampleUI/src/components/Portal/PortalConsumer.tsx +0 -44
  241. package/Examples/SampleUI/src/components/Portal/PortalHost.tsx +0 -143
  242. package/Examples/SampleUI/src/components/Portal/PortalManager.tsx +0 -54
  243. package/Examples/SampleUI/src/components/ProgressBar.tsx +0 -292
  244. package/Examples/SampleUI/src/components/RadioButton/RadioButton.tsx +0 -86
  245. package/Examples/SampleUI/src/components/RadioButton/RadioButtonAndroid.tsx +0 -202
  246. package/Examples/SampleUI/src/components/RadioButton/RadioButtonGroup.tsx +0 -67
  247. package/Examples/SampleUI/src/components/RadioButton/RadioButtonIOS.tsx +0 -130
  248. package/Examples/SampleUI/src/components/RadioButton/RadioButtonItem.tsx +0 -268
  249. package/Examples/SampleUI/src/components/RadioButton/index.ts +0 -22
  250. package/Examples/SampleUI/src/components/RadioButton/utils.ts +0 -37
  251. package/Examples/SampleUI/src/components/Searchbar.tsx +0 -459
  252. package/Examples/SampleUI/src/components/SegmentedButtons/SegmentedButtonItem.tsx +0 -271
  253. package/Examples/SampleUI/src/components/SegmentedButtons/SegmentedButtons.tsx +0 -197
  254. package/Examples/SampleUI/src/components/SegmentedButtons/utils.ts +0 -179
  255. package/Examples/SampleUI/src/components/Snackbar.tsx +0 -430
  256. package/Examples/SampleUI/src/components/Surface.tsx +0 -376
  257. package/Examples/SampleUI/src/components/Switch/Switch.tsx +0 -108
  258. package/Examples/SampleUI/src/components/Switch/utils.ts +0 -113
  259. package/Examples/SampleUI/src/components/TextInput/Addons/Outline.tsx +0 -64
  260. package/Examples/SampleUI/src/components/TextInput/Addons/Underline.tsx +0 -78
  261. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputAdornment.tsx +0 -208
  262. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputAffix.tsx +0 -212
  263. package/Examples/SampleUI/src/components/TextInput/Adornment/TextInputIcon.tsx +0 -195
  264. package/Examples/SampleUI/src/components/TextInput/Adornment/enums.tsx +0 -12
  265. package/Examples/SampleUI/src/components/TextInput/Adornment/types.tsx +0 -11
  266. package/Examples/SampleUI/src/components/TextInput/Adornment/utils.ts +0 -48
  267. package/Examples/SampleUI/src/components/TextInput/Label/InputLabel.tsx +0 -217
  268. package/Examples/SampleUI/src/components/TextInput/Label/LabelBackground.tsx +0 -100
  269. package/Examples/SampleUI/src/components/TextInput/TextInput.tsx +0 -572
  270. package/Examples/SampleUI/src/components/TextInput/TextInputFlat.tsx +0 -475
  271. package/Examples/SampleUI/src/components/TextInput/TextInputOutlined.tsx +0 -450
  272. package/Examples/SampleUI/src/components/TextInput/constants.tsx +0 -48
  273. package/Examples/SampleUI/src/components/TextInput/helpers.tsx +0 -612
  274. package/Examples/SampleUI/src/components/TextInput/types.tsx +0 -155
  275. package/Examples/SampleUI/src/components/ToggleButton/ToggleButton.tsx +0 -187
  276. package/Examples/SampleUI/src/components/ToggleButton/ToggleButtonGroup.tsx +0 -72
  277. package/Examples/SampleUI/src/components/ToggleButton/ToggleButtonRow.tsx +0 -107
  278. package/Examples/SampleUI/src/components/ToggleButton/index.ts +0 -16
  279. package/Examples/SampleUI/src/components/ToggleButton/utils.ts +0 -26
  280. package/Examples/SampleUI/src/components/Tooltip/Tooltip.tsx +0 -249
  281. package/Examples/SampleUI/src/components/Tooltip/utils.ts +0 -129
  282. package/Examples/SampleUI/src/components/TouchableRipple/Pressable.tsx +0 -41
  283. package/Examples/SampleUI/src/components/TouchableRipple/TouchableRipple.native.tsx +0 -145
  284. package/Examples/SampleUI/src/components/TouchableRipple/TouchableRipple.tsx +0 -317
  285. package/Examples/SampleUI/src/components/TouchableRipple/utils.ts +0 -66
  286. package/Examples/SampleUI/src/components/Typography/AnimatedText.tsx +0 -107
  287. package/Examples/SampleUI/src/components/Typography/Text.tsx +0 -184
  288. package/Examples/SampleUI/src/components/Typography/types.tsx +0 -5
  289. package/Examples/SampleUI/src/components/Typography/v2/Caption.tsx +0 -50
  290. package/Examples/SampleUI/src/components/Typography/v2/Headline.tsx +0 -52
  291. package/Examples/SampleUI/src/components/Typography/v2/Paragraph.tsx +0 -49
  292. package/Examples/SampleUI/src/components/Typography/v2/StyledText.tsx +0 -56
  293. package/Examples/SampleUI/src/components/Typography/v2/Subheading.tsx +0 -50
  294. package/Examples/SampleUI/src/components/Typography/v2/Text.tsx +0 -62
  295. package/Examples/SampleUI/src/components/Typography/v2/Title.tsx +0 -49
  296. package/Examples/SampleUI/src/components/Typography/v2/index.ts +0 -5
  297. package/Examples/SampleUI/src/core/PaperProvider.tsx +0 -122
  298. package/Examples/SampleUI/src/core/SafeAreaProviderCompat.tsx +0 -65
  299. package/Examples/SampleUI/src/core/settings.tsx +0 -23
  300. package/Examples/SampleUI/src/core/theming.tsx +0 -170
  301. package/Examples/SampleUI/src/index.native.tsx +0 -285
  302. package/Examples/SampleUI/src/index.tsx +0 -226
  303. package/Examples/SampleUI/src/react-navigation/index.tsx +0 -19
  304. package/Examples/SampleUI/src/react-navigation/navigators/createMaterialBottomTabNavigator.tsx +0 -72
  305. package/Examples/SampleUI/src/react-navigation/types.tsx +0 -126
  306. package/Examples/SampleUI/src/react-navigation/views/MaterialBottomTabView.tsx +0 -140
  307. package/Examples/SampleUI/src/styles/fonts.tsx +0 -143
  308. package/Examples/SampleUI/src/styles/overlay.tsx +0 -70
  309. package/Examples/SampleUI/src/styles/shadow.tsx +0 -109
  310. package/Examples/SampleUI/src/styles/themes/index.ts +0 -4
  311. package/Examples/SampleUI/src/styles/themes/v2/DarkTheme.tsx +0 -30
  312. package/Examples/SampleUI/src/styles/themes/v2/LightTheme.tsx +0 -30
  313. package/Examples/SampleUI/src/styles/themes/v2/colors.tsx +0 -277
  314. package/Examples/SampleUI/src/styles/themes/v3/DarkTheme.tsx +0 -66
  315. package/Examples/SampleUI/src/styles/themes/v3/LightTheme.tsx +0 -69
  316. package/Examples/SampleUI/src/styles/themes/v3/tokens.tsx +0 -230
  317. package/Examples/SampleUI/src/utils/BackHandler/BackHandler.native.tsx +0 -3
  318. package/Examples/SampleUI/src/utils/BackHandler/BackHandler.tsx +0 -11
  319. package/Examples/SampleUI/src/utils/addEventListener.tsx +0 -56
  320. package/Examples/SampleUI/src/utils/forwardRef.tsx +0 -23
  321. package/Examples/SampleUI/src/utils/getContrastingColor.tsx +0 -15
  322. package/Examples/SampleUI/src/utils/hasTouchHandler.tsx +0 -23
  323. package/Examples/SampleUI/src/utils/roundLayoutSize.ts +0 -2
  324. package/Examples/SampleUI/src/utils/splitStyles.ts +0 -60
  325. package/Examples/SampleUI/src/utils/useAnimatedValue.tsx +0 -9
  326. package/Examples/SampleUI/src/utils/useAnimatedValueArray.tsx +0 -13
  327. package/Examples/SampleUI/src/utils/useIsKeyboardShown.tsx +0 -55
  328. package/Examples/SampleUI/src/utils/useLayout.tsx +0 -29
  329. package/Examples/SampleUI/src/utils/useLazyRef.tsx +0 -11
  330. package/Examples/SampleUI/tsconfig.json +0 -3
  331. package/Examples/SampleUI/utils/index.ts +0 -1426
@@ -1,170 +0,0 @@
1
- import type { ComponentType } from 'react';
2
-
3
- import { $DeepPartial, createTheming } from '@callstack/react-theme-provider';
4
- import color from 'color';
5
-
6
- import {
7
- MD2DarkTheme,
8
- MD2LightTheme,
9
- MD3DarkTheme,
10
- MD3LightTheme,
11
- } from '../styles/themes';
12
- import type {
13
- InternalTheme,
14
- MD3Theme,
15
- MD3AndroidColors,
16
- NavigationTheme,
17
- } from '../types';
18
-
19
- export const DefaultTheme = MD3LightTheme;
20
-
21
- export const {
22
- ThemeProvider,
23
- withTheme,
24
- useTheme: useAppTheme,
25
- } = createTheming<unknown>(MD3LightTheme);
26
-
27
- export function useTheme<T = MD3Theme>(overrides?: $DeepPartial<T>) {
28
- return useAppTheme<T>(overrides);
29
- }
30
-
31
- export const useInternalTheme = (
32
- themeOverrides: $DeepPartial<InternalTheme> | undefined
33
- ) => useAppTheme<InternalTheme>(themeOverrides);
34
-
35
- export const withInternalTheme = <Props extends { theme: InternalTheme }, C>(
36
- WrappedComponent: ComponentType<Props & { theme: InternalTheme }> & C
37
- ) => withTheme<Props, C>(WrappedComponent);
38
-
39
- export const defaultThemesByVersion = {
40
- 2: {
41
- light: MD2LightTheme,
42
- dark: MD2DarkTheme,
43
- },
44
- 3: {
45
- light: MD3LightTheme,
46
- dark: MD3DarkTheme,
47
- },
48
- };
49
-
50
- export const getTheme = <
51
- Scheme extends boolean = false,
52
- IsVersion3 extends boolean = true
53
- >(
54
- isDark: Scheme = false as Scheme,
55
- isV3: IsVersion3 = true as IsVersion3
56
- ): (typeof defaultThemesByVersion)[IsVersion3 extends true
57
- ? 3
58
- : 2][Scheme extends true ? 'dark' : 'light'] => {
59
- const themeVersion = isV3 ? 3 : 2;
60
- const scheme = isDark ? 'dark' : 'light';
61
-
62
- return defaultThemesByVersion[themeVersion][scheme];
63
- };
64
-
65
- // eslint-disable-next-line no-redeclare
66
- export function adaptNavigationTheme(themes: {
67
- reactNavigationLight: NavigationTheme;
68
- materialLight?: MD3Theme;
69
- }): {
70
- LightTheme: NavigationTheme;
71
- };
72
- // eslint-disable-next-line no-redeclare
73
- export function adaptNavigationTheme(themes: {
74
- reactNavigationDark: NavigationTheme;
75
- materialDark?: MD3Theme;
76
- }): {
77
- DarkTheme: NavigationTheme;
78
- };
79
- // eslint-disable-next-line no-redeclare
80
- export function adaptNavigationTheme(themes: {
81
- reactNavigationLight: NavigationTheme;
82
- reactNavigationDark: NavigationTheme;
83
- materialLight?: MD3Theme;
84
- materialDark?: MD3Theme;
85
- }): { LightTheme: NavigationTheme; DarkTheme: NavigationTheme };
86
- // eslint-disable-next-line no-redeclare
87
- export function adaptNavigationTheme(themes: any) {
88
- const {
89
- reactNavigationLight,
90
- reactNavigationDark,
91
- materialLight,
92
- materialDark,
93
- } = themes;
94
-
95
- const getAdaptedTheme = (
96
- navigationTheme: NavigationTheme,
97
- MD3Theme: MD3Theme
98
- ) => {
99
- return {
100
- ...navigationTheme,
101
- colors: {
102
- ...navigationTheme.colors,
103
- primary: MD3Theme.colors.primary,
104
- background: MD3Theme.colors.background,
105
- card: MD3Theme.colors.elevation.level2,
106
- text: MD3Theme.colors.onSurface,
107
- border: MD3Theme.colors.outline,
108
- notification: MD3Theme.colors.error,
109
- },
110
- };
111
- };
112
-
113
- const MD3Themes = {
114
- light: materialLight || MD3LightTheme,
115
- dark: materialDark || MD3DarkTheme,
116
- };
117
-
118
- if (reactNavigationLight && reactNavigationDark) {
119
- const modes = ['light', 'dark'] as const;
120
-
121
- const NavigationThemes = {
122
- light: reactNavigationLight,
123
- dark: reactNavigationDark,
124
- };
125
-
126
- const { light: adaptedLight, dark: adaptedDark } = modes.reduce(
127
- (prev, curr) => {
128
- return {
129
- ...prev,
130
- [curr]: getAdaptedTheme(NavigationThemes[curr], MD3Themes[curr]),
131
- };
132
- },
133
- {
134
- light: reactNavigationLight,
135
- dark: reactNavigationDark,
136
- }
137
- );
138
-
139
- return {
140
- LightTheme: adaptedLight,
141
- DarkTheme: adaptedDark,
142
- };
143
- }
144
-
145
- if (reactNavigationDark) {
146
- return {
147
- DarkTheme: getAdaptedTheme(reactNavigationDark, MD3Themes.dark),
148
- };
149
- }
150
-
151
- return {
152
- LightTheme: getAdaptedTheme(reactNavigationLight, MD3Themes.light),
153
- };
154
- }
155
-
156
- export const getDynamicThemeElevations = (scheme: MD3AndroidColors) => {
157
- const elevationValues = ['transparent', 0.05, 0.08, 0.11, 0.12, 0.14];
158
- return elevationValues.reduce((elevations, elevationValue, index) => {
159
- return {
160
- ...elevations,
161
- [`level${index}`]:
162
- index === 0
163
- ? elevationValue
164
- : color(scheme.surface)
165
- .mix(color(scheme.primary), elevationValue as number)
166
- .rgb()
167
- .string(),
168
- };
169
- }, {});
170
- };
@@ -1,285 +0,0 @@
1
- import * as React from 'react';
2
- import { I18nManager } from 'react-native';
3
-
4
- import { useMaterial3Theme } from '@pchmn/expo-material3-theme';
5
- import AsyncStorage from '@react-native-async-storage/async-storage';
6
- import { createDrawerNavigator } from '@react-navigation/drawer';
7
- import {
8
- InitialState,
9
- NavigationContainer,
10
- DarkTheme as NavigationDarkTheme,
11
- DefaultTheme as NavigationDefaultTheme,
12
- } from '@react-navigation/native';
13
- import { useFonts } from 'expo-font';
14
- import { useKeepAwake } from 'expo-keep-awake';
15
- import { StatusBar } from 'expo-status-bar';
16
- import {
17
- Provider as PaperProvider,
18
- MD3DarkTheme,
19
- MD3LightTheme,
20
- MD2DarkTheme,
21
- MD2LightTheme,
22
- MD2Theme,
23
- MD3Theme,
24
- useTheme,
25
- adaptNavigationTheme,
26
- configureFonts,
27
- } from 'react-native-paper';
28
- import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
29
-
30
- import DrawerItems from './DrawerItems';
31
- import App from './RootNavigator';
32
- import { deviceColorsSupported } from '../utils';
33
-
34
- import * as AcousticConnectBeta from 'react-native-acoustic-connect-beta';
35
- console.log('index.native.tsx:Exported items from react-native-acoustic-connect-beta:', AcousticConnectBeta);
36
- import { NavigationContainerRef } from '@react-navigation/native';
37
- import { useRef } from 'react';
38
-
39
-
40
- const PERSISTENCE_KEY = 'NAVIGATION_STATE';
41
- const PREFERENCES_KEY = 'APP_PREFERENCES';
42
-
43
- export const PreferencesContext = React.createContext<{
44
- toggleShouldUseDeviceColors?: () => void;
45
- toggleTheme: () => void;
46
- toggleRtl: () => void;
47
- toggleThemeVersion: () => void;
48
- toggleCollapsed: () => void;
49
- toggleCustomFont: () => void;
50
- toggleRippleEffect: () => void;
51
- customFontLoaded: boolean;
52
- rippleEffectEnabled: boolean;
53
- collapsed: boolean;
54
- rtl: boolean;
55
- theme: MD2Theme | MD3Theme;
56
- shouldUseDeviceColors?: boolean;
57
- } | null>(null);
58
-
59
- export const useExampleTheme = () => useTheme<MD2Theme | MD3Theme>();
60
-
61
- const Drawer = createDrawerNavigator<{ Home: undefined }>();
62
-
63
- export default function PaperExample() {
64
- useKeepAwake();
65
-
66
- // Add for Acoustic Connect SDK
67
- const navigationRef = useRef<NavigationContainerRef<any>>(null);
68
-
69
- const [fontsLoaded] = useFonts({
70
- Abel: require('../assets/fonts/Abel-Regular.ttf'),
71
- });
72
-
73
- const [isReady, setIsReady] = React.useState(false);
74
- const [initialState, setInitialState] = React.useState<
75
- InitialState | undefined
76
- >();
77
-
78
- const [shouldUseDeviceColors, setShouldUseDeviceColors] =
79
- React.useState(true);
80
- const [isDarkMode, setIsDarkMode] = React.useState(false);
81
- const [themeVersion, setThemeVersion] = React.useState<2 | 3>(3);
82
- const [rtl, setRtl] = React.useState<boolean>(
83
- I18nManager.getConstants().isRTL
84
- );
85
- const [collapsed, setCollapsed] = React.useState(false);
86
- const [customFontLoaded, setCustomFont] = React.useState(false);
87
- const [rippleEffectEnabled, setRippleEffectEnabled] = React.useState(true);
88
-
89
- const { theme: mdTheme } = useMaterial3Theme();
90
- const theme = React.useMemo(() => {
91
- if (themeVersion === 2) {
92
- return isDarkMode ? MD2DarkTheme : MD2LightTheme;
93
- }
94
-
95
- if (!deviceColorsSupported || !shouldUseDeviceColors) {
96
- return isDarkMode ? MD3DarkTheme : MD3LightTheme;
97
- }
98
-
99
- return isDarkMode
100
- ? { ...MD3DarkTheme, colors: mdTheme.dark }
101
- : { ...MD3LightTheme, colors: mdTheme.light };
102
- }, [isDarkMode, mdTheme, shouldUseDeviceColors, themeVersion]);
103
-
104
- React.useEffect(() => {
105
- const restoreState = async () => {
106
- try {
107
- const savedStateString = await AsyncStorage.getItem(PERSISTENCE_KEY);
108
- const state = JSON.parse(savedStateString || '');
109
-
110
- setInitialState(state);
111
- } catch (e) {
112
- // ignore error
113
- } finally {
114
- setIsReady(true);
115
- }
116
- };
117
-
118
- if (!isReady) {
119
- restoreState();
120
- }
121
- }, [isReady]);
122
-
123
- React.useEffect(() => {
124
- const restorePrefs = async () => {
125
- try {
126
- const prefString = await AsyncStorage.getItem(PREFERENCES_KEY);
127
- const preferences = JSON.parse(prefString || '');
128
-
129
- if (preferences) {
130
- setIsDarkMode(preferences.theme === 'dark');
131
-
132
- if (typeof preferences.rtl === 'boolean') {
133
- setRtl(preferences.rtl);
134
- }
135
- }
136
- } catch (e) {
137
- // ignore error
138
- }
139
- };
140
-
141
- restorePrefs();
142
- }, []);
143
-
144
- React.useEffect(() => {
145
- const savePrefs = async () => {
146
- try {
147
- await AsyncStorage.setItem(
148
- PREFERENCES_KEY,
149
- JSON.stringify({
150
- theme: isDarkMode ? 'dark' : 'light',
151
- rtl,
152
- })
153
- );
154
- } catch (e) {
155
- // ignore error
156
- }
157
-
158
- if (I18nManager.getConstants().isRTL !== rtl) {
159
- I18nManager.forceRTL(rtl);
160
- // Updates.reloadAsync(); // Removed as expo-updates is not available
161
- }
162
- };
163
-
164
- savePrefs();
165
- }, [rtl, isDarkMode]);
166
-
167
- const preferences = React.useMemo(
168
- () => ({
169
- toggleShouldUseDeviceColors: () =>
170
- setShouldUseDeviceColors((oldValue) => !oldValue),
171
- toggleTheme: () => setIsDarkMode((oldValue) => !oldValue),
172
- toggleRtl: () => setRtl((rtl) => !rtl),
173
- toggleCollapsed: () => setCollapsed(!collapsed),
174
- toggleCustomFont: () => setCustomFont(!customFontLoaded),
175
- toggleRippleEffect: () => setRippleEffectEnabled(!rippleEffectEnabled),
176
- toggleThemeVersion: () => {
177
- setCustomFont(false);
178
- setCollapsed(false);
179
- setThemeVersion((oldThemeVersion) => (oldThemeVersion === 2 ? 3 : 2));
180
- setRippleEffectEnabled(true);
181
- },
182
- customFontLoaded,
183
- rippleEffectEnabled,
184
- collapsed,
185
- rtl,
186
- theme,
187
- shouldUseDeviceColors,
188
- }),
189
- [
190
- rtl,
191
- theme,
192
- collapsed,
193
- customFontLoaded,
194
- shouldUseDeviceColors,
195
- rippleEffectEnabled,
196
- ]
197
- );
198
-
199
- if (!isReady && !fontsLoaded) {
200
- return null;
201
- }
202
-
203
- const { LightTheme, DarkTheme } = adaptNavigationTheme({
204
- reactNavigationLight: NavigationDefaultTheme,
205
- reactNavigationDark: NavigationDarkTheme,
206
- });
207
-
208
- const CombinedDefaultTheme = {
209
- ...MD3LightTheme,
210
- ...LightTheme,
211
- colors: {
212
- ...MD3LightTheme.colors,
213
- ...LightTheme.colors,
214
- },
215
- };
216
-
217
- const CombinedDarkTheme = {
218
- ...MD3DarkTheme,
219
- ...DarkTheme,
220
- colors: {
221
- ...MD3DarkTheme.colors,
222
- ...DarkTheme.colors,
223
- },
224
- };
225
-
226
- const combinedTheme = isDarkMode ? CombinedDarkTheme : CombinedDefaultTheme;
227
- const configuredFontTheme = {
228
- ...combinedTheme,
229
- fonts: configureFonts({
230
- config: {
231
- fontFamily: 'Abel',
232
- },
233
- }),
234
- };
235
-
236
- return (
237
- <PaperProvider
238
- settings={{ rippleEffectEnabled: preferences.rippleEffectEnabled }}
239
- theme={customFontLoaded ? configuredFontTheme : theme}
240
- >
241
- <PreferencesContext.Provider value={preferences}>
242
- <React.Fragment>
243
- <AcousticConnectBeta.Connect
244
- captureKeyboardEvents={true}
245
- captureDialogEvents={true}
246
- >
247
- <NavigationContainer
248
- ref={navigationRef} // Pass the ref to NavigationContainer
249
- theme={combinedTheme}
250
- initialState={initialState}
251
- onStateChange={(state) =>
252
- AsyncStorage.setItem(PERSISTENCE_KEY, JSON.stringify(state))
253
- }
254
- onReady={() => console.log('NavigationContainer is ready!')}
255
- >
256
- <SafeAreaInsetsContext.Consumer>
257
- {(insets) => {
258
- const { left, right } = insets || { left: 0, right: 0 };
259
- const collapsedDrawerWidth = 80 + Math.max(left, right);
260
- return (
261
- <Drawer.Navigator
262
- screenOptions={{
263
- drawerStyle: collapsed && {
264
- width: collapsedDrawerWidth,
265
- },
266
- }}
267
- drawerContent={() => <DrawerItems />}
268
- >
269
- <Drawer.Screen
270
- name="Home"
271
- component={App}
272
- options={{ headerShown: false }}
273
- />
274
- </Drawer.Navigator>
275
- );
276
- }}
277
- </SafeAreaInsetsContext.Consumer>
278
- <StatusBar style={!theme.isV3 || theme.dark ? 'light' : 'dark'} />
279
- </NavigationContainer>
280
- </AcousticConnectBeta.Connect>
281
- </React.Fragment>
282
- </PreferencesContext.Provider>
283
- </PaperProvider>
284
- );
285
- }
@@ -1,226 +0,0 @@
1
- import * as React from 'react';
2
-
3
- import AsyncStorage from '@react-native-async-storage/async-storage';
4
- import { createDrawerNavigator } from '@react-navigation/drawer';
5
- import {
6
- InitialState,
7
- NavigationContainer,
8
- DarkTheme as NavigationDarkTheme,
9
- DefaultTheme as NavigationDefaultTheme,
10
- } from '@react-navigation/native';
11
- import { useFonts } from 'expo-font';
12
- import { useKeepAwake } from 'expo-keep-awake';
13
- import {
14
- PaperProvider,
15
- MD3DarkTheme,
16
- MD3LightTheme,
17
- MD2DarkTheme,
18
- MD2LightTheme,
19
- MD2Theme,
20
- MD3Theme,
21
- useTheme,
22
- adaptNavigationTheme,
23
- configureFonts,
24
- } from 'react-native-paper';
25
- import { SafeAreaInsetsContext } from 'react-native-safe-area-context';
26
-
27
- import DrawerItems from './DrawerItems';
28
- import App from './RootNavigator';
29
-
30
- const PERSISTENCE_KEY = 'NAVIGATION_STATE';
31
- const PREFERENCES_KEY = 'APP_PREFERENCES';
32
-
33
- export const PreferencesContext = React.createContext<{
34
- toggleTheme: () => void;
35
- toggleThemeVersion: () => void;
36
- toggleCollapsed: () => void;
37
- toggleCustomFont: () => void;
38
- toggleRippleEffect: () => void;
39
- customFontLoaded: boolean;
40
- rippleEffectEnabled: boolean;
41
- collapsed: boolean;
42
- theme: MD2Theme | MD3Theme;
43
- } | null>(null);
44
-
45
- export const useExampleTheme = () => useTheme<MD2Theme | MD3Theme>();
46
-
47
- const Drawer = createDrawerNavigator<{ Home: undefined }>();
48
-
49
- export default function PaperExample() {
50
- useKeepAwake();
51
-
52
- const [fontsLoaded] = useFonts({
53
- Abel: require('../assets/fonts/Abel-Regular.ttf'),
54
- });
55
-
56
- const [isReady, setIsReady] = React.useState(false);
57
- const [initialState, setInitialState] = React.useState<
58
- InitialState | undefined
59
- >();
60
-
61
- const [isDarkMode, setIsDarkMode] = React.useState(false);
62
- const [themeVersion, setThemeVersion] = React.useState<2 | 3>(3);
63
- const [collapsed, setCollapsed] = React.useState(false);
64
- const [customFontLoaded, setCustomFont] = React.useState(false);
65
- const [rippleEffectEnabled, setRippleEffectEnabled] = React.useState(true);
66
-
67
- const theme = React.useMemo(() => {
68
- if (themeVersion === 2) {
69
- return isDarkMode ? MD2DarkTheme : MD2LightTheme;
70
- }
71
-
72
- return isDarkMode ? MD3DarkTheme : MD3LightTheme;
73
- }, [isDarkMode, themeVersion]);
74
-
75
- React.useEffect(() => {
76
- const restoreState = async () => {
77
- try {
78
- const savedStateString = await AsyncStorage.getItem(PERSISTENCE_KEY);
79
- const state = JSON.parse(savedStateString || '');
80
-
81
- setInitialState(state);
82
- } catch (e) {
83
- // ignore error
84
- } finally {
85
- setIsReady(true);
86
- }
87
- };
88
-
89
- if (!isReady) {
90
- restoreState();
91
- }
92
- }, [isReady]);
93
-
94
- React.useEffect(() => {
95
- const restorePrefs = async () => {
96
- try {
97
- const prefString = await AsyncStorage.getItem(PREFERENCES_KEY);
98
- const preferences = JSON.parse(prefString || '');
99
-
100
- if (preferences) {
101
- setIsDarkMode(preferences.theme === 'dark');
102
- }
103
- } catch (e) {
104
- // ignore error
105
- }
106
- };
107
-
108
- restorePrefs();
109
- }, []);
110
-
111
- React.useEffect(() => {
112
- const savePrefs = async () => {
113
- try {
114
- await AsyncStorage.setItem(
115
- PREFERENCES_KEY,
116
- JSON.stringify({
117
- theme: isDarkMode ? 'dark' : 'light',
118
- })
119
- );
120
- } catch (e) {
121
- // ignore error
122
- }
123
- };
124
-
125
- savePrefs();
126
- }, [isDarkMode]);
127
-
128
- const preferences = React.useMemo(
129
- () => ({
130
- toggleTheme: () => setIsDarkMode((oldValue) => !oldValue),
131
- toggleCollapsed: () => setCollapsed(!collapsed),
132
- toggleCustomFont: () => setCustomFont(!customFontLoaded),
133
- toggleRippleEffect: () => setRippleEffectEnabled(!rippleEffectEnabled),
134
- toggleThemeVersion: () => {
135
- setCustomFont(false);
136
- setCollapsed(false);
137
- setThemeVersion((oldThemeVersion) => (oldThemeVersion === 2 ? 3 : 2));
138
- setRippleEffectEnabled(true);
139
- },
140
- customFontLoaded,
141
- rippleEffectEnabled,
142
- collapsed,
143
- theme,
144
- }),
145
- [theme, collapsed, customFontLoaded, rippleEffectEnabled]
146
- );
147
-
148
- if (!isReady && !fontsLoaded) {
149
- return null;
150
- }
151
-
152
- const { LightTheme, DarkTheme } = adaptNavigationTheme({
153
- reactNavigationLight: NavigationDefaultTheme,
154
- reactNavigationDark: NavigationDarkTheme,
155
- });
156
-
157
- const CombinedDefaultTheme = {
158
- ...MD3LightTheme,
159
- ...LightTheme,
160
- colors: {
161
- ...MD3LightTheme.colors,
162
- ...LightTheme.colors,
163
- },
164
- };
165
-
166
- const CombinedDarkTheme = {
167
- ...MD3DarkTheme,
168
- ...DarkTheme,
169
- colors: {
170
- ...MD3DarkTheme.colors,
171
- ...DarkTheme.colors,
172
- },
173
- };
174
-
175
- const combinedTheme = isDarkMode ? CombinedDarkTheme : CombinedDefaultTheme;
176
- const configuredFontTheme = {
177
- ...combinedTheme,
178
- fonts: configureFonts({
179
- config: {
180
- fontFamily: 'Abel',
181
- },
182
- }),
183
- };
184
-
185
- return (
186
- <PaperProvider
187
- settings={{ rippleEffectEnabled: preferences.rippleEffectEnabled }}
188
- theme={customFontLoaded ? configuredFontTheme : theme}
189
- >
190
- <PreferencesContext.Provider value={preferences}>
191
- <React.Fragment>
192
- <NavigationContainer
193
- theme={combinedTheme}
194
- initialState={initialState}
195
- onStateChange={(state) =>
196
- AsyncStorage.setItem(PERSISTENCE_KEY, JSON.stringify(state))
197
- }
198
- >
199
- <SafeAreaInsetsContext.Consumer>
200
- {(insets) => {
201
- const { left, right } = insets || { left: 0, right: 0 };
202
- const collapsedDrawerWidth = 80 + Math.max(left, right);
203
- return (
204
- <Drawer.Navigator
205
- screenOptions={{
206
- drawerStyle: collapsed && {
207
- width: collapsedDrawerWidth,
208
- },
209
- }}
210
- drawerContent={() => <DrawerItems />}
211
- >
212
- <Drawer.Screen
213
- name="Home"
214
- component={App}
215
- options={{ headerShown: false }}
216
- />
217
- </Drawer.Navigator>
218
- );
219
- }}
220
- </SafeAreaInsetsContext.Consumer>
221
- </NavigationContainer>
222
- </React.Fragment>
223
- </PreferencesContext.Provider>
224
- </PaperProvider>
225
- );
226
- }
@@ -1,19 +0,0 @@
1
- /**
2
- * Navigators
3
- */
4
- export { default as createMaterialBottomTabNavigator } from './navigators/createMaterialBottomTabNavigator';
5
-
6
- /**
7
- * Views
8
- */
9
- export { default as MaterialBottomTabView } from './views/MaterialBottomTabView';
10
-
11
- /**
12
- * Types
13
- */
14
- export type {
15
- MaterialBottomTabNavigationEventMap,
16
- MaterialBottomTabNavigationOptions,
17
- MaterialBottomTabNavigationProp,
18
- MaterialBottomTabScreenProps,
19
- } from './types';