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,211 +0,0 @@
1
- import * as React from 'react';
2
- import {
3
- GestureResponderEvent,
4
- Platform,
5
- StyleSheet,
6
- View,
7
- } from 'react-native';
8
-
9
- import type { StackNavigationProp } from '@react-navigation/stack';
10
- import {
11
- Appbar,
12
- Button,
13
- Divider,
14
- List,
15
- Menu,
16
- TouchableRipple,
17
- } from 'react-native-paper';
18
-
19
- import { useExampleTheme } from '..';
20
- import ScreenWrapper from '../ScreenWrapper';
21
-
22
- type ContextualMenuCoord = { x: number; y: number };
23
-
24
- type Props = {
25
- navigation: StackNavigationProp<{}>;
26
- };
27
-
28
- type MenuVisibility = {
29
- [key: string]: boolean | undefined;
30
- };
31
-
32
- const MORE_ICON = Platform.OS === 'ios' ? 'dots-horizontal' : 'dots-vertical';
33
-
34
- const MenuExample = ({ navigation }: Props) => {
35
- const [visible, setVisible] = React.useState<MenuVisibility>({});
36
- const [contextualMenuCoord, setContextualMenuCoor] =
37
- React.useState<ContextualMenuCoord>({ x: 0, y: 0 });
38
- const { isV3 } = useExampleTheme();
39
-
40
- const _toggleMenu = (name: string) => () =>
41
- setVisible({ ...visible, [name]: !visible[name] });
42
-
43
- const _getVisible = (name: string) => !!visible[name];
44
-
45
- const _handleLongPress = (event: GestureResponderEvent) => {
46
- const { nativeEvent } = event;
47
- setContextualMenuCoor({
48
- x: nativeEvent.pageX,
49
- y: nativeEvent.pageY,
50
- });
51
- setVisible({ menu3: true });
52
- };
53
-
54
- React.useLayoutEffect(() => {
55
- navigation.setOptions({
56
- headerShown: false,
57
- });
58
- }, [navigation]);
59
-
60
- return (
61
- <View style={styles.screen}>
62
- <Appbar.Header elevated>
63
- <Appbar.BackAction onPress={() => navigation.goBack()} />
64
- <Appbar.Content title="Menu" />
65
- <Menu
66
- visible={_getVisible('menu1')}
67
- onDismiss={_toggleMenu('menu1')}
68
- anchor={
69
- <Appbar.Action
70
- icon={MORE_ICON}
71
- onPress={_toggleMenu('menu1')}
72
- {...(!isV3 && { color: 'white' })}
73
- />
74
- }
75
- >
76
- <Menu.Item onPress={() => {}} title="Undo" />
77
- <Menu.Item onPress={() => {}} title="Redo" />
78
- <Divider style={isV3 && styles.md3Divider} />
79
- <Menu.Item onPress={() => {}} title="Cut" disabled />
80
- <Menu.Item onPress={() => {}} title="Copy" disabled />
81
- <Menu.Item onPress={() => {}} title="Paste" />
82
- </Menu>
83
- </Appbar.Header>
84
- <ScreenWrapper
85
- contentContainerStyle={styles.contentContainer}
86
- style={styles.container}
87
- >
88
- <View>
89
- <View style={styles.alignCenter}>
90
- <Menu
91
- visible={_getVisible('menu2')}
92
- onDismiss={_toggleMenu('menu2')}
93
- anchor={
94
- <Button mode="outlined" onPress={_toggleMenu('menu2')}>
95
- Menu with icons
96
- </Button>
97
- }
98
- >
99
- <Menu.Item leadingIcon="undo" onPress={() => {}} title="Undo" />
100
- <Menu.Item leadingIcon="redo" onPress={() => {}} title="Redo" />
101
-
102
- <Divider style={isV3 && styles.md3Divider} />
103
-
104
- <Menu.Item
105
- leadingIcon="content-cut"
106
- onPress={() => {}}
107
- title="Cut"
108
- disabled
109
- />
110
- <Menu.Item
111
- leadingIcon="content-copy"
112
- onPress={() => {}}
113
- title="Copy"
114
- disabled
115
- />
116
- <Menu.Item
117
- leadingIcon="content-paste"
118
- onPress={() => {}}
119
- title="Paste"
120
- />
121
- {isV3 && (
122
- <Menu.Item
123
- trailingIcon="share-variant"
124
- onPress={() => {}}
125
- title="Share"
126
- />
127
- )}
128
- </Menu>
129
- </View>
130
- <Menu
131
- visible={_getVisible('menu3')}
132
- onDismiss={_toggleMenu('menu3')}
133
- anchor={contextualMenuCoord}
134
- >
135
- <Menu.Item onPress={() => {}} title="Item 1" />
136
- <Menu.Item onPress={() => {}} title="Item 2" />
137
- <Divider style={isV3 && styles.md3Divider} />
138
- <Menu.Item onPress={() => {}} title="Item 3" disabled />
139
- </Menu>
140
- <List.Section style={styles.list} title="Contextual menu">
141
- <TouchableRipple onPress={() => {}} onLongPress={_handleLongPress}>
142
- <List.Item
143
- title="List item"
144
- description="Long press me to open contextual menu"
145
- />
146
- </TouchableRipple>
147
- </List.Section>
148
- </View>
149
- <View style={styles.alignCenter}>
150
- <Menu
151
- visible={_getVisible('menu5')}
152
- onDismiss={_toggleMenu('menu5')}
153
- anchorPosition="bottom"
154
- anchor={
155
- <Button mode="outlined" onPress={_toggleMenu('menu5')}>
156
- Menu with anchor position bottom
157
- </Button>
158
- }
159
- >
160
- <Menu.Item onPress={() => {}} title="Item 1" />
161
- <Menu.Item onPress={() => {}} title="Item 2" />
162
- <Menu.Item onPress={() => {}} title="Item 3" />
163
- </Menu>
164
- </View>
165
-
166
- <View style={styles.bottomMenu}>
167
- <Menu
168
- visible={_getVisible('menu4')}
169
- onDismiss={_toggleMenu('menu4')}
170
- anchor={
171
- <Button mode="outlined" onPress={_toggleMenu('menu4')}>
172
- Menu at bottom
173
- </Button>
174
- }
175
- >
176
- <Menu.Item onPress={() => {}} title="Bottom Item 1" />
177
- <Menu.Item onPress={() => {}} title="Bottom Item 2" />
178
- <Menu.Item onPress={() => {}} title="Bottom Item 3" />
179
- </Menu>
180
- </View>
181
- </ScreenWrapper>
182
- </View>
183
- );
184
- };
185
-
186
- MenuExample.title = 'Menu';
187
-
188
- const styles = StyleSheet.create({
189
- screen: {
190
- flex: 1,
191
- },
192
- container: {
193
- paddingTop: 48,
194
- },
195
- list: {
196
- marginTop: 48,
197
- },
198
- alignCenter: {
199
- alignItems: 'center',
200
- },
201
- md3Divider: {
202
- marginVertical: 8,
203
- },
204
- bottomMenu: { width: '40%' },
205
- contentContainer: {
206
- justifyContent: 'space-between',
207
- flex: 1,
208
- },
209
- });
210
-
211
- export default MenuExample;
@@ -1,142 +0,0 @@
1
- import * as React from 'react';
2
- import { View, StyleSheet, Animated } from 'react-native';
3
-
4
- import {
5
- Button,
6
- ProgressBar,
7
- MD2Colors,
8
- MD3Colors,
9
- ProgressBarProps,
10
- Text,
11
- } from 'react-native-paper';
12
-
13
- import { useExampleTheme } from '..';
14
- import ScreenWrapper from '../ScreenWrapper';
15
-
16
- class ClassProgressBar extends React.Component {
17
- constructor(props: ProgressBarProps) {
18
- super(props);
19
- }
20
-
21
- render() {
22
- return <ProgressBar {...this.props} />;
23
- }
24
- }
25
-
26
- const AnimatedProgressBar = Animated.createAnimatedComponent(ClassProgressBar);
27
-
28
- const ProgressBarExample = () => {
29
- const [visible, setVisible] = React.useState<boolean>(true);
30
- const [progress, setProgress] = React.useState<number>(0.3);
31
- const theme = useExampleTheme();
32
- const { isV3 } = theme;
33
- const { current: progressBarValue } = React.useRef(new Animated.Value(0));
34
-
35
- const runCustomAnimation = () => {
36
- progressBarValue.setValue(0);
37
- Animated.timing(progressBarValue, {
38
- toValue: 1,
39
- duration: 2000,
40
- useNativeDriver: false,
41
- }).start();
42
- };
43
-
44
- return (
45
- <ScreenWrapper contentContainerStyle={styles.container}>
46
- <Button onPress={() => setVisible(!visible)}>Toggle visibility</Button>
47
- <Button onPress={() => setProgress(Math.random())}>
48
- Random progress
49
- </Button>
50
- <Button onPress={runCustomAnimation}>Toggle animation</Button>
51
-
52
- <View style={styles.row}>
53
- <Text variant="bodyMedium">Default ProgressBar</Text>
54
- <ProgressBar progress={progress} visible={visible} />
55
- </View>
56
-
57
- <View style={styles.row}>
58
- <Text variant="bodyMedium">Indeterminate ProgressBar</Text>
59
- <ProgressBar indeterminate visible={visible} />
60
- </View>
61
-
62
- <View style={styles.row}>
63
- <Text variant="bodyMedium">ProgressBar with custom color</Text>
64
- <ProgressBar
65
- progress={progress}
66
- visible={visible}
67
- color={isV3 ? MD3Colors.error50 : MD2Colors.red800}
68
- />
69
- </View>
70
-
71
- <View style={styles.row}>
72
- <Text variant="bodyMedium">
73
- ProgressBar with custom background color
74
- </Text>
75
- <ProgressBar
76
- progress={progress}
77
- visible={visible}
78
- color={MD2Colors.red800}
79
- style={{
80
- backgroundColor: isV3 ? MD3Colors.secondary50 : MD2Colors.teal500,
81
- }}
82
- />
83
- </View>
84
-
85
- <View style={styles.row}>
86
- <Text variant="bodyMedium">ProgressBar with custom height</Text>
87
- <ProgressBar
88
- progress={progress}
89
- visible={visible}
90
- style={styles.customHeight}
91
- />
92
- </View>
93
-
94
- <View style={styles.row}>
95
- <Text variant="bodyMedium">ProgressBar with animated value</Text>
96
- <AnimatedProgressBar
97
- visible={visible}
98
- style={styles.progressBar}
99
- animatedValue={progressBarValue}
100
- theme={theme}
101
- />
102
- </View>
103
-
104
- <View style={[styles.row, styles.fullRow]}>
105
- <Text variant="bodyMedium">
106
- ProgressBar with custom percentage height
107
- </Text>
108
- <ProgressBar
109
- style={styles.customPercentageHeight}
110
- indeterminate
111
- visible={visible}
112
- />
113
- </View>
114
- </ScreenWrapper>
115
- );
116
- };
117
-
118
- ProgressBarExample.title = 'Progress Bar';
119
-
120
- const styles = StyleSheet.create({
121
- container: {
122
- padding: 16,
123
- },
124
- row: {
125
- marginVertical: 10,
126
- },
127
- fullRow: {
128
- height: '100%',
129
- width: '100%',
130
- },
131
- customHeight: {
132
- height: 20,
133
- },
134
- customPercentageHeight: {
135
- height: '50%',
136
- },
137
- progressBar: {
138
- height: 15,
139
- },
140
- });
141
-
142
- export default ProgressBarExample;
@@ -1,104 +0,0 @@
1
- import * as React from 'react';
2
- import { StyleSheet, View } from 'react-native';
3
-
4
- import {
5
- MD2Colors,
6
- MD3Colors,
7
- Paragraph,
8
- RadioButton,
9
- Text,
10
- TouchableRipple,
11
- } from 'react-native-paper';
12
-
13
- import { useExampleTheme } from '..';
14
- import ScreenWrapper from '../ScreenWrapper';
15
-
16
- type State = 'normal' | 'normal-ios' | 'normal-item' | 'custom';
17
-
18
- const RadioButtonExample = () => {
19
- const [checked, setChecked] = React.useState<State>('normal');
20
- const { isV3 } = useExampleTheme();
21
- const TextComponent = isV3 ? Text : Paragraph;
22
-
23
- return (
24
- <ScreenWrapper style={styles.container}>
25
- <TouchableRipple onPress={() => setChecked('normal')}>
26
- <View style={styles.row}>
27
- <TextComponent>Normal - Material Design</TextComponent>
28
- <View pointerEvents="none">
29
- <RadioButton.Android
30
- value="normal"
31
- status={checked === 'normal' ? 'checked' : 'unchecked'}
32
- />
33
- </View>
34
- </View>
35
- </TouchableRipple>
36
- <TouchableRipple onPress={() => setChecked('normal-ios')}>
37
- <View style={styles.row}>
38
- <TextComponent>Normal 2 - IOS</TextComponent>
39
- <View pointerEvents="none">
40
- <RadioButton.IOS
41
- value="normal-ios"
42
- status={checked === 'normal-ios' ? 'checked' : 'unchecked'}
43
- />
44
- </View>
45
- </View>
46
- </TouchableRipple>
47
- <TouchableRipple onPress={() => setChecked('custom')}>
48
- <View style={styles.row}>
49
- <TextComponent>Custom</TextComponent>
50
- <View pointerEvents="none">
51
- <RadioButton
52
- value="custom"
53
- color={isV3 ? MD3Colors.error70 : MD2Colors.blue500}
54
- status={checked === 'custom' ? 'checked' : 'unchecked'}
55
- />
56
- </View>
57
- </View>
58
- </TouchableRipple>
59
- <RadioButton.Item
60
- label="Normal 3 - Item"
61
- value="normal-item"
62
- status={checked === 'normal-item' ? 'checked' : 'unchecked'}
63
- onPress={() => setChecked('normal-item')}
64
- />
65
- <View style={styles.row}>
66
- <TextComponent>Checked (Disabled)</TextComponent>
67
- <RadioButton value="first" status="checked" disabled />
68
- </View>
69
- <View style={styles.row}>
70
- <TextComponent>Unchecked (Disabled)</TextComponent>
71
- <RadioButton value="second" status="unchecked" disabled />
72
- </View>
73
- <RadioButton.Item
74
- label="Checked - Item (Disabled)"
75
- value="third"
76
- status="checked"
77
- disabled
78
- />
79
- <RadioButton.Item
80
- label="Unchecked - Item (Disabled)"
81
- value="fourth"
82
- status="unchecked"
83
- disabled
84
- />
85
- </ScreenWrapper>
86
- );
87
- };
88
-
89
- RadioButtonExample.title = 'Radio Button';
90
-
91
- const styles = StyleSheet.create({
92
- container: {
93
- paddingVertical: 8,
94
- },
95
- row: {
96
- flexDirection: 'row',
97
- alignItems: 'center',
98
- justifyContent: 'space-between',
99
- paddingVertical: 8,
100
- paddingHorizontal: 16,
101
- },
102
- });
103
-
104
- export default RadioButtonExample;
@@ -1,67 +0,0 @@
1
- import * as React from 'react';
2
- import { StyleSheet, View } from 'react-native';
3
-
4
- import { List, Paragraph, RadioButton, Text } from 'react-native-paper';
5
-
6
- import { useExampleTheme } from '..';
7
- import ScreenWrapper from '../ScreenWrapper';
8
-
9
- const RadioButtonGroupExample = () => {
10
- const [value, setValue] = React.useState('first');
11
- const [value2, setValue2] = React.useState('first');
12
-
13
- const { colors, isV3 } = useExampleTheme();
14
- const TextComponent = isV3 ? Text : Paragraph;
15
-
16
- return (
17
- <ScreenWrapper>
18
- <List.Section title="With RadioButton">
19
- <RadioButton.Group
20
- value={value}
21
- onValueChange={(value: string) => setValue(value)}
22
- >
23
- <View style={styles.row}>
24
- <TextComponent>First</TextComponent>
25
- <RadioButton value="first" />
26
- </View>
27
- <View style={styles.row}>
28
- <TextComponent>Second</TextComponent>
29
- <RadioButton.Android value="second" />
30
- </View>
31
- <View style={styles.row}>
32
- <TextComponent>Third</TextComponent>
33
- <RadioButton.IOS value="third" />
34
- </View>
35
- </RadioButton.Group>
36
- </List.Section>
37
- <List.Section title="With RadioButton.Item">
38
- <RadioButton.Group
39
- value={value2}
40
- onValueChange={(value: string) => setValue2(value)}
41
- >
42
- <RadioButton.Item label="First item" value="first" />
43
- <RadioButton.Item label="Second item" value="second" />
44
- <RadioButton.Item
45
- label="Third item"
46
- value="third"
47
- labelStyle={{ color: colors?.primary }}
48
- />
49
- </RadioButton.Group>
50
- </List.Section>
51
- </ScreenWrapper>
52
- );
53
- };
54
-
55
- RadioButtonGroupExample.title = 'Radio Button Group';
56
-
57
- const styles = StyleSheet.create({
58
- row: {
59
- flexDirection: 'row',
60
- alignItems: 'center',
61
- justifyContent: 'space-between',
62
- paddingVertical: 8,
63
- paddingHorizontal: 16,
64
- },
65
- });
66
-
67
- export default RadioButtonGroupExample;
@@ -1,77 +0,0 @@
1
- import * as React from 'react';
2
- import { StyleSheet } from 'react-native';
3
-
4
- import { RadioButton } from 'react-native-paper';
5
-
6
- import { useExampleTheme } from '..';
7
- import ScreenWrapper from '../ScreenWrapper';
8
-
9
- const RadioButtonItemExample = () => {
10
- const [checkedDefault, setCheckedDefault] = React.useState(true);
11
- const [checkedAndroid, setCheckedAndroid] = React.useState(true);
12
- const [checkedIOS, setCheckedIOS] = React.useState(true);
13
- const [checkedLeadingControl, setCheckedLeadingControl] =
14
- React.useState(true);
15
- const [checkedDisabled, setCheckedDisabled] = React.useState<boolean>(true);
16
- const [checkedLabelVariant, setCheckedLabelVariant] = React.useState(true);
17
-
18
- const { isV3 } = useExampleTheme();
19
-
20
- return (
21
- <ScreenWrapper style={styles.container}>
22
- <RadioButton.Item
23
- label="Default (will look like whatever system this is running on)"
24
- status={checkedDefault ? 'checked' : 'unchecked'}
25
- onPress={() => setCheckedDefault(!checkedDefault)}
26
- value="default"
27
- />
28
- <RadioButton.Item
29
- label="Material Design"
30
- mode="android"
31
- status={checkedAndroid ? 'checked' : 'unchecked'}
32
- onPress={() => setCheckedAndroid(!checkedAndroid)}
33
- value="android"
34
- />
35
- <RadioButton.Item
36
- label="iOS"
37
- mode="ios"
38
- status={checkedIOS ? 'checked' : 'unchecked'}
39
- onPress={() => setCheckedIOS(!checkedIOS)}
40
- value="iOS"
41
- />
42
- <RadioButton.Item
43
- label="Default with leading control"
44
- status={checkedLeadingControl ? 'checked' : 'unchecked'}
45
- onPress={() => setCheckedLeadingControl(!checkedLeadingControl)}
46
- value="iOS"
47
- position="leading"
48
- />
49
- <RadioButton.Item
50
- label="Disabled checkbox"
51
- status={checkedDisabled ? 'checked' : 'unchecked'}
52
- onPress={() => setCheckedDisabled(!checkedDisabled)}
53
- value="iOS"
54
- disabled
55
- />
56
- {isV3 && (
57
- <RadioButton.Item
58
- label="Default with titleLarge title variant"
59
- labelVariant="titleLarge"
60
- status={checkedLabelVariant ? 'checked' : 'unchecked'}
61
- onPress={() => setCheckedLabelVariant(!checkedLabelVariant)}
62
- value="default"
63
- />
64
- )}
65
- </ScreenWrapper>
66
- );
67
- };
68
-
69
- RadioButtonItemExample.title = 'Radio Button Item';
70
-
71
- const styles = StyleSheet.create({
72
- container: {
73
- paddingVertical: 8,
74
- },
75
- });
76
-
77
- export default RadioButtonItemExample;