react-native-platform-components 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (636) hide show
  1. package/PlatformComponents.podspec +1 -1
  2. package/README.md +47 -51
  3. package/android/src/main/java/com/platformcomponents/PCButtonGroupView.kt +664 -0
  4. package/android/src/main/java/com/platformcomponents/PCButtonGroupViewManager.kt +241 -0
  5. package/android/src/main/java/com/platformcomponents/PCButtonSupport.kt +159 -0
  6. package/android/src/main/java/com/platformcomponents/PCButtonView.kt +527 -0
  7. package/android/src/main/java/com/platformcomponents/PCButtonViewManager.kt +204 -0
  8. package/android/src/main/java/com/platformcomponents/PCContextMenuView.kt +41 -151
  9. package/android/src/main/java/com/platformcomponents/PCContextMenuViewManager.kt +7 -63
  10. package/android/src/main/java/com/platformcomponents/PCDatePickerView.kt +310 -115
  11. package/android/src/main/java/com/platformcomponents/PCDatePickerViewManager.kt +23 -3
  12. package/android/src/main/java/com/platformcomponents/PCExpressive.kt +112 -0
  13. package/android/src/main/java/com/platformcomponents/PCFloatingActionButtonView.kt +485 -0
  14. package/android/src/main/java/com/platformcomponents/PCFloatingActionButtonViewManager.kt +109 -0
  15. package/android/src/main/java/com/platformcomponents/PCFloatingToolbarView.kt +247 -0
  16. package/android/src/main/java/com/platformcomponents/PCFloatingToolbarViewManager.kt +73 -0
  17. package/android/src/main/java/com/platformcomponents/PCHaptics.kt +46 -0
  18. package/android/src/main/java/com/platformcomponents/PCImageLoader.kt +42 -7
  19. package/android/src/main/java/com/platformcomponents/PCLiquidGlassContainerView.kt +32 -0
  20. package/android/src/main/java/com/platformcomponents/PCLiquidGlassContainerViewManager.kt +31 -0
  21. package/android/src/main/java/com/platformcomponents/PCLiquidGlassView.kt +32 -6
  22. package/android/src/main/java/com/platformcomponents/PCLiquidGlassViewManager.kt +4 -0
  23. package/android/src/main/java/com/platformcomponents/PCMenuSupport.kt +280 -0
  24. package/android/src/main/java/com/platformcomponents/PCNavigationBarSupport.kt +332 -0
  25. package/android/src/main/java/com/platformcomponents/PCNavigationRailView.kt +448 -0
  26. package/android/src/main/java/com/platformcomponents/PCNavigationRailViewManager.kt +176 -0
  27. package/android/src/main/java/com/platformcomponents/PCSegmentedControlView.kt +35 -17
  28. package/android/src/main/java/com/platformcomponents/PCSegmentedControlViewManager.kt +20 -3
  29. package/android/src/main/java/com/platformcomponents/PCSelectionMenuView.kt +371 -39
  30. package/android/src/main/java/com/platformcomponents/PCSelectionMenuViewManager.kt +18 -4
  31. package/android/src/main/java/com/platformcomponents/PCTabBarView.kt +397 -0
  32. package/android/src/main/java/com/platformcomponents/PCTabBarViewManager.kt +182 -0
  33. package/android/src/main/java/com/platformcomponents/PCTextFieldView.kt +1393 -0
  34. package/android/src/main/java/com/platformcomponents/PCTextFieldViewManager.kt +354 -0
  35. package/android/src/main/java/com/platformcomponents/PCThemeSupport.kt +37 -0
  36. package/android/src/main/java/com/platformcomponents/PlatformComponentsPackage.kt +8 -0
  37. package/android/src/main/res/drawable/pc_ic_search.xml +12 -0
  38. package/android/src/main/res/values/attrs.xml +13 -0
  39. package/android/src/main/res/values/ids.xml +5 -0
  40. package/android/src/main/res/values/styles.xml +207 -0
  41. package/ios/PCButton.h +10 -0
  42. package/ios/PCButton.mm +311 -0
  43. package/ios/PCButtonGroup.h +10 -0
  44. package/ios/PCButtonGroup.mm +323 -0
  45. package/ios/PCButtonGroupView.swift +473 -0
  46. package/ios/PCButtonSupport.swift +312 -0
  47. package/ios/PCButtonView.swift +438 -0
  48. package/ios/PCConstants.swift +23 -2
  49. package/ios/PCContextMenu.mm +28 -110
  50. package/ios/PCContextMenu.swift +106 -167
  51. package/ios/PCDatePicker.mm +21 -9
  52. package/ios/PCDatePickerView.swift +94 -20
  53. package/ios/PCFloatingActionButton.h +10 -0
  54. package/ios/PCFloatingActionButton.mm +177 -0
  55. package/ios/PCFloatingActionButtonView.swift +426 -0
  56. package/ios/PCFloatingToolbar.h +10 -0
  57. package/ios/PCFloatingToolbar.mm +103 -0
  58. package/ios/PCFloatingToolbarView.swift +336 -0
  59. package/ios/PCHaptics.swift +91 -0
  60. package/ios/PCImageLoader.swift +76 -12
  61. package/ios/PCLiquidGlass.mm +36 -0
  62. package/ios/PCLiquidGlass.swift +221 -114
  63. package/ios/PCLiquidGlassContainer.h +10 -0
  64. package/ios/PCLiquidGlassContainer.mm +84 -0
  65. package/ios/PCLiquidGlassContainer.swift +69 -0
  66. package/ios/PCMenuItems.h +76 -0
  67. package/ios/PCMenuSupport.swift +350 -0
  68. package/ios/PCNavigationRail.h +10 -0
  69. package/ios/PCNavigationRail.mm +270 -0
  70. package/ios/PCNavigationRailView.swift +415 -0
  71. package/ios/PCSegmentedControl.mm +17 -2
  72. package/ios/PCSegmentedControl.swift +57 -7
  73. package/ios/PCSelectionMenu.mm +36 -8
  74. package/ios/PCSelectionMenu.swift +224 -48
  75. package/ios/PCTabBar.h +10 -0
  76. package/ios/PCTabBar.mm +285 -0
  77. package/ios/PCTabBarAccessory.h +10 -0
  78. package/ios/PCTabBarAccessory.mm +93 -0
  79. package/ios/PCTabBarAccessoryView.swift +96 -0
  80. package/ios/PCTabBarView.swift +671 -0
  81. package/ios/PCTextField.h +10 -0
  82. package/ios/PCTextField.mm +546 -0
  83. package/ios/PCTextFieldView.swift +1558 -0
  84. package/lib/commonjs/Button.js +149 -0
  85. package/lib/commonjs/Button.js.map +1 -0
  86. package/lib/commonjs/ButtonGroup.js +109 -0
  87. package/lib/commonjs/ButtonGroup.js.map +1 -0
  88. package/lib/commonjs/ButtonGroupNativeComponent.ts +191 -0
  89. package/lib/commonjs/ButtonNativeComponent.ts +192 -0
  90. package/lib/commonjs/ContextMenu.js +9 -48
  91. package/lib/commonjs/ContextMenu.js.map +1 -1
  92. package/lib/commonjs/ContextMenuNativeComponent.ts +47 -49
  93. package/lib/commonjs/DatePicker.js +98 -2
  94. package/lib/commonjs/DatePicker.js.map +1 -1
  95. package/lib/commonjs/DatePickerNativeComponent.ts +19 -2
  96. package/lib/commonjs/FloatingActionButton.js +60 -0
  97. package/lib/commonjs/FloatingActionButton.js.map +1 -0
  98. package/lib/commonjs/FloatingActionButtonNativeComponent.ts +58 -0
  99. package/lib/commonjs/FloatingToolbar.js +77 -0
  100. package/lib/commonjs/FloatingToolbar.js.map +1 -0
  101. package/lib/commonjs/FloatingToolbarNativeComponent.ts +47 -0
  102. package/lib/commonjs/LiquidGlass.js +7 -1
  103. package/lib/commonjs/LiquidGlass.js.map +1 -1
  104. package/lib/commonjs/LiquidGlassContainer.js +32 -0
  105. package/lib/commonjs/LiquidGlassContainer.js.map +1 -0
  106. package/lib/commonjs/LiquidGlassContainerNativeComponent.ts +17 -0
  107. package/lib/commonjs/LiquidGlassNativeComponent.ts +8 -0
  108. package/lib/commonjs/NavigationRail.js +104 -0
  109. package/lib/commonjs/NavigationRail.js.map +1 -0
  110. package/lib/commonjs/NavigationRailNativeComponent.ts +107 -0
  111. package/lib/commonjs/PlatformComponentsProvider.js +18 -0
  112. package/lib/commonjs/PlatformComponentsProvider.js.map +1 -0
  113. package/lib/commonjs/SegmentedControl.js +18 -85
  114. package/lib/commonjs/SegmentedControl.js.map +1 -1
  115. package/lib/commonjs/SegmentedControlNativeComponent.ts +14 -0
  116. package/lib/commonjs/SelectionMenu.js +27 -3
  117. package/lib/commonjs/SelectionMenu.js.map +1 -1
  118. package/lib/commonjs/SelectionMenuNativeComponent.ts +26 -4
  119. package/lib/commonjs/SplitButton.js +98 -0
  120. package/lib/commonjs/SplitButton.js.map +1 -0
  121. package/lib/commonjs/TabBar.js +203 -0
  122. package/lib/commonjs/TabBar.js.map +1 -0
  123. package/lib/commonjs/TabBarAccessoryNativeComponent.ts +19 -0
  124. package/lib/commonjs/TabBarNativeComponent.ts +145 -0
  125. package/lib/commonjs/TextField.js +358 -0
  126. package/lib/commonjs/TextField.js.map +1 -0
  127. package/lib/commonjs/TextFieldNativeComponent.ts +324 -0
  128. package/lib/commonjs/focusRegistry.js +79 -0
  129. package/lib/commonjs/focusRegistry.js.map +1 -0
  130. package/lib/commonjs/haptics.js +2 -0
  131. package/lib/commonjs/haptics.js.map +1 -0
  132. package/lib/commonjs/icons.js +106 -0
  133. package/lib/commonjs/icons.js.map +1 -0
  134. package/lib/commonjs/index.js +143 -0
  135. package/lib/commonjs/index.js.map +1 -1
  136. package/lib/commonjs/index.web.js +157 -63
  137. package/lib/commonjs/index.web.js.map +1 -1
  138. package/lib/commonjs/jest.js +910 -0
  139. package/lib/commonjs/jest.js.map +1 -0
  140. package/lib/commonjs/labelStyle.js +27 -0
  141. package/lib/commonjs/labelStyle.js.map +1 -0
  142. package/lib/commonjs/menuItems.js +68 -0
  143. package/lib/commonjs/menuItems.js.map +1 -0
  144. package/lib/commonjs/reactNativeInternals.d.js +2 -0
  145. package/lib/commonjs/reactNativeInternals.d.js.map +1 -0
  146. package/lib/commonjs/selectionIdentifiers.js +18 -0
  147. package/lib/commonjs/selectionIdentifiers.js.map +1 -0
  148. package/lib/commonjs/submitBehavior.js +19 -0
  149. package/lib/commonjs/submitBehavior.js.map +1 -0
  150. package/lib/commonjs/tabItems.js +49 -0
  151. package/lib/commonjs/tabItems.js.map +1 -0
  152. package/lib/commonjs/web/Button.js +170 -0
  153. package/lib/commonjs/web/Button.js.map +1 -0
  154. package/lib/commonjs/web/ButtonGroup.js +119 -0
  155. package/lib/commonjs/web/ButtonGroup.js.map +1 -0
  156. package/lib/commonjs/web/DatePicker.js +168 -0
  157. package/lib/commonjs/web/DatePicker.js.map +1 -0
  158. package/lib/commonjs/web/DateRangePicker.js +137 -0
  159. package/lib/commonjs/web/DateRangePicker.js.map +1 -0
  160. package/lib/commonjs/web/Dialog.js +54 -0
  161. package/lib/commonjs/web/Dialog.js.map +1 -0
  162. package/lib/commonjs/web/FloatingActionButton.js +98 -0
  163. package/lib/commonjs/web/FloatingActionButton.js.map +1 -0
  164. package/lib/commonjs/web/Icon.js +34 -0
  165. package/lib/commonjs/web/Icon.js.map +1 -0
  166. package/lib/commonjs/web/NativeTheme.js +28 -0
  167. package/lib/commonjs/web/NativeTheme.js.map +1 -0
  168. package/lib/commonjs/web/NavigationRail.js +139 -0
  169. package/lib/commonjs/web/NavigationRail.js.map +1 -0
  170. package/lib/commonjs/web/PlatformComponentsProvider.js +51 -0
  171. package/lib/commonjs/web/PlatformComponentsProvider.js.map +1 -0
  172. package/lib/commonjs/web/SegmentedControl.js +117 -0
  173. package/lib/commonjs/web/SegmentedControl.js.map +1 -0
  174. package/lib/commonjs/web/SelectionMenu.js +142 -0
  175. package/lib/commonjs/web/SelectionMenu.js.map +1 -0
  176. package/lib/commonjs/web/SplitButton.js +35 -0
  177. package/lib/commonjs/web/SplitButton.js.map +1 -0
  178. package/lib/commonjs/web/TabBar.js +131 -0
  179. package/lib/commonjs/web/TabBar.js.map +1 -0
  180. package/lib/commonjs/web/TextField.js +322 -0
  181. package/lib/commonjs/web/TextField.js.map +1 -0
  182. package/lib/commonjs/web/components.js +36 -0
  183. package/lib/commonjs/web/components.js.map +1 -0
  184. package/lib/commonjs/web/containers.js +121 -0
  185. package/lib/commonjs/web/containers.js.map +1 -0
  186. package/lib/commonjs/web/dateInput.js +116 -0
  187. package/lib/commonjs/web/dateInput.js.map +1 -0
  188. package/lib/commonjs/web/shared.js +192 -0
  189. package/lib/commonjs/web/shared.js.map +1 -0
  190. package/lib/commonjs/webComponents.js +6 -0
  191. package/lib/commonjs/webComponents.js.map +1 -0
  192. package/lib/module/Button.js +142 -0
  193. package/lib/module/Button.js.map +1 -0
  194. package/lib/module/ButtonGroup.js +102 -0
  195. package/lib/module/ButtonGroup.js.map +1 -0
  196. package/lib/module/ButtonGroupNativeComponent.ts +191 -0
  197. package/lib/module/ButtonNativeComponent.ts +192 -0
  198. package/lib/module/ContextMenu.js +9 -48
  199. package/lib/module/ContextMenu.js.map +1 -1
  200. package/lib/module/ContextMenuNativeComponent.ts +47 -49
  201. package/lib/module/DatePicker.js +98 -4
  202. package/lib/module/DatePicker.js.map +1 -1
  203. package/lib/module/DatePickerNativeComponent.ts +19 -2
  204. package/lib/module/FloatingActionButton.js +53 -0
  205. package/lib/module/FloatingActionButton.js.map +1 -0
  206. package/lib/module/FloatingActionButtonNativeComponent.ts +58 -0
  207. package/lib/module/FloatingToolbar.js +70 -0
  208. package/lib/module/FloatingToolbar.js.map +1 -0
  209. package/lib/module/FloatingToolbarNativeComponent.ts +47 -0
  210. package/lib/module/LiquidGlass.js +7 -1
  211. package/lib/module/LiquidGlass.js.map +1 -1
  212. package/lib/module/LiquidGlassContainer.js +26 -0
  213. package/lib/module/LiquidGlassContainer.js.map +1 -0
  214. package/lib/module/LiquidGlassContainerNativeComponent.ts +17 -0
  215. package/lib/module/LiquidGlassNativeComponent.ts +8 -0
  216. package/lib/module/NavigationRail.js +99 -0
  217. package/lib/module/NavigationRail.js.map +1 -0
  218. package/lib/module/NavigationRailNativeComponent.ts +107 -0
  219. package/lib/module/PlatformComponentsProvider.js +13 -0
  220. package/lib/module/PlatformComponentsProvider.js.map +1 -0
  221. package/lib/module/SegmentedControl.js +18 -85
  222. package/lib/module/SegmentedControl.js.map +1 -1
  223. package/lib/module/SegmentedControlNativeComponent.ts +14 -0
  224. package/lib/module/SelectionMenu.js +27 -3
  225. package/lib/module/SelectionMenu.js.map +1 -1
  226. package/lib/module/SelectionMenuNativeComponent.ts +26 -4
  227. package/lib/module/SplitButton.js +91 -0
  228. package/lib/module/SplitButton.js.map +1 -0
  229. package/lib/module/TabBar.js +196 -0
  230. package/lib/module/TabBar.js.map +1 -0
  231. package/lib/module/TabBarAccessoryNativeComponent.ts +19 -0
  232. package/lib/module/TabBarNativeComponent.ts +145 -0
  233. package/lib/module/TextField.js +352 -0
  234. package/lib/module/TextField.js.map +1 -0
  235. package/lib/module/TextFieldNativeComponent.ts +324 -0
  236. package/lib/module/focusRegistry.js +75 -0
  237. package/lib/module/focusRegistry.js.map +1 -0
  238. package/lib/module/haptics.js +2 -0
  239. package/lib/module/haptics.js.map +1 -0
  240. package/lib/module/icons.js +101 -0
  241. package/lib/module/icons.js.map +1 -0
  242. package/lib/module/index.js +13 -0
  243. package/lib/module/index.js.map +1 -1
  244. package/lib/module/index.web.js +12 -59
  245. package/lib/module/index.web.js.map +1 -1
  246. package/lib/module/jest.js +840 -0
  247. package/lib/module/jest.js.map +1 -0
  248. package/lib/module/labelStyle.js +23 -0
  249. package/lib/module/labelStyle.js.map +1 -0
  250. package/lib/module/menuItems.js +65 -0
  251. package/lib/module/menuItems.js.map +1 -0
  252. package/lib/module/reactNativeInternals.d.js +2 -0
  253. package/lib/module/reactNativeInternals.d.js.map +1 -0
  254. package/lib/module/selectionIdentifiers.js +14 -0
  255. package/lib/module/selectionIdentifiers.js.map +1 -0
  256. package/lib/module/submitBehavior.js +15 -0
  257. package/lib/module/submitBehavior.js.map +1 -0
  258. package/lib/module/tabItems.js +45 -0
  259. package/lib/module/tabItems.js.map +1 -0
  260. package/lib/module/web/Button.js +164 -0
  261. package/lib/module/web/Button.js.map +1 -0
  262. package/lib/module/web/ButtonGroup.js +113 -0
  263. package/lib/module/web/ButtonGroup.js.map +1 -0
  264. package/lib/module/web/DatePicker.js +162 -0
  265. package/lib/module/web/DatePicker.js.map +1 -0
  266. package/lib/module/web/DateRangePicker.js +131 -0
  267. package/lib/module/web/DateRangePicker.js.map +1 -0
  268. package/lib/module/web/Dialog.js +48 -0
  269. package/lib/module/web/Dialog.js.map +1 -0
  270. package/lib/module/web/FloatingActionButton.js +94 -0
  271. package/lib/module/web/FloatingActionButton.js.map +1 -0
  272. package/lib/module/web/Icon.js +29 -0
  273. package/lib/module/web/Icon.js.map +1 -0
  274. package/lib/module/web/NativeTheme.js +23 -0
  275. package/lib/module/web/NativeTheme.js.map +1 -0
  276. package/lib/module/web/NavigationRail.js +133 -0
  277. package/lib/module/web/NavigationRail.js.map +1 -0
  278. package/lib/module/web/PlatformComponentsProvider.js +44 -0
  279. package/lib/module/web/PlatformComponentsProvider.js.map +1 -0
  280. package/lib/module/web/SegmentedControl.js +112 -0
  281. package/lib/module/web/SegmentedControl.js.map +1 -0
  282. package/lib/module/web/SelectionMenu.js +137 -0
  283. package/lib/module/web/SelectionMenu.js.map +1 -0
  284. package/lib/module/web/SplitButton.js +30 -0
  285. package/lib/module/web/SplitButton.js.map +1 -0
  286. package/lib/module/web/TabBar.js +126 -0
  287. package/lib/module/web/TabBar.js.map +1 -0
  288. package/lib/module/web/TextField.js +316 -0
  289. package/lib/module/web/TextField.js.map +1 -0
  290. package/lib/module/web/components.js +33 -0
  291. package/lib/module/web/components.js.map +1 -0
  292. package/lib/module/web/containers.js +112 -0
  293. package/lib/module/web/containers.js.map +1 -0
  294. package/lib/module/web/dateInput.js +109 -0
  295. package/lib/module/web/dateInput.js.map +1 -0
  296. package/lib/module/web/shared.js +179 -0
  297. package/lib/module/web/shared.js.map +1 -0
  298. package/lib/module/webComponents.js +4 -0
  299. package/lib/module/webComponents.js.map +1 -0
  300. package/lib/typescript/commonjs/docs/sidebars.d.ts.map +1 -1
  301. package/lib/typescript/commonjs/src/Button.d.ts +184 -0
  302. package/lib/typescript/commonjs/src/Button.d.ts.map +1 -0
  303. package/lib/typescript/commonjs/src/ButtonGroup.d.ts +117 -0
  304. package/lib/typescript/commonjs/src/ButtonGroup.d.ts.map +1 -0
  305. package/lib/typescript/commonjs/src/ButtonGroupNativeComponent.d.ts +154 -0
  306. package/lib/typescript/commonjs/src/ButtonGroupNativeComponent.d.ts.map +1 -0
  307. package/lib/typescript/commonjs/src/ButtonNativeComponent.d.ts +148 -0
  308. package/lib/typescript/commonjs/src/ButtonNativeComponent.d.ts.map +1 -0
  309. package/lib/typescript/commonjs/src/ContextMenu.d.ts +20 -33
  310. package/lib/typescript/commonjs/src/ContextMenu.d.ts.map +1 -1
  311. package/lib/typescript/commonjs/src/ContextMenuNativeComponent.d.ts +45 -47
  312. package/lib/typescript/commonjs/src/ContextMenuNativeComponent.d.ts.map +1 -1
  313. package/lib/typescript/commonjs/src/DatePicker.d.ts +74 -1
  314. package/lib/typescript/commonjs/src/DatePicker.d.ts.map +1 -1
  315. package/lib/typescript/commonjs/src/DatePickerNativeComponent.d.ts +16 -1
  316. package/lib/typescript/commonjs/src/DatePickerNativeComponent.d.ts.map +1 -1
  317. package/lib/typescript/commonjs/src/FloatingActionButton.d.ts +67 -0
  318. package/lib/typescript/commonjs/src/FloatingActionButton.d.ts.map +1 -0
  319. package/lib/typescript/commonjs/src/FloatingActionButtonNativeComponent.d.ts +43 -0
  320. package/lib/typescript/commonjs/src/FloatingActionButtonNativeComponent.d.ts.map +1 -0
  321. package/lib/typescript/commonjs/src/FloatingToolbar.d.ts +75 -0
  322. package/lib/typescript/commonjs/src/FloatingToolbar.d.ts.map +1 -0
  323. package/lib/typescript/commonjs/src/FloatingToolbarNativeComponent.d.ts +36 -0
  324. package/lib/typescript/commonjs/src/FloatingToolbarNativeComponent.d.ts.map +1 -0
  325. package/lib/typescript/commonjs/src/LiquidGlass.d.ts +17 -0
  326. package/lib/typescript/commonjs/src/LiquidGlass.d.ts.map +1 -1
  327. package/lib/typescript/commonjs/src/LiquidGlassContainer.d.ts +27 -0
  328. package/lib/typescript/commonjs/src/LiquidGlassContainer.d.ts.map +1 -0
  329. package/lib/typescript/commonjs/src/LiquidGlassContainerNativeComponent.d.ts +13 -0
  330. package/lib/typescript/commonjs/src/LiquidGlassContainerNativeComponent.d.ts.map +1 -0
  331. package/lib/typescript/commonjs/src/LiquidGlassNativeComponent.d.ts +7 -0
  332. package/lib/typescript/commonjs/src/LiquidGlassNativeComponent.d.ts.map +1 -1
  333. package/lib/typescript/commonjs/src/NavigationRail.d.ts +86 -0
  334. package/lib/typescript/commonjs/src/NavigationRail.d.ts.map +1 -0
  335. package/lib/typescript/commonjs/src/NavigationRailNativeComponent.d.ts +81 -0
  336. package/lib/typescript/commonjs/src/NavigationRailNativeComponent.d.ts.map +1 -0
  337. package/lib/typescript/commonjs/src/PlatformComponentsProvider.d.ts +6 -0
  338. package/lib/typescript/commonjs/src/PlatformComponentsProvider.d.ts.map +1 -0
  339. package/lib/typescript/commonjs/src/SegmentedControl.d.ts +35 -47
  340. package/lib/typescript/commonjs/src/SegmentedControl.d.ts.map +1 -1
  341. package/lib/typescript/commonjs/src/SegmentedControlNativeComponent.d.ts +11 -0
  342. package/lib/typescript/commonjs/src/SegmentedControlNativeComponent.d.ts.map +1 -1
  343. package/lib/typescript/commonjs/src/SelectionMenu.d.ts +44 -2
  344. package/lib/typescript/commonjs/src/SelectionMenu.d.ts.map +1 -1
  345. package/lib/typescript/commonjs/src/SelectionMenuNativeComponent.d.ts +20 -4
  346. package/lib/typescript/commonjs/src/SelectionMenuNativeComponent.d.ts.map +1 -1
  347. package/lib/typescript/commonjs/src/SplitButton.d.ts +83 -0
  348. package/lib/typescript/commonjs/src/SplitButton.d.ts.map +1 -0
  349. package/lib/typescript/commonjs/src/TabBar.d.ts +144 -0
  350. package/lib/typescript/commonjs/src/TabBar.d.ts.map +1 -0
  351. package/lib/typescript/commonjs/src/TabBarAccessoryNativeComponent.d.ts +13 -0
  352. package/lib/typescript/commonjs/src/TabBarAccessoryNativeComponent.d.ts.map +1 -0
  353. package/lib/typescript/commonjs/src/TabBarNativeComponent.d.ts +110 -0
  354. package/lib/typescript/commonjs/src/TabBarNativeComponent.d.ts.map +1 -0
  355. package/lib/typescript/commonjs/src/TextField.d.ts +332 -0
  356. package/lib/typescript/commonjs/src/TextField.d.ts.map +1 -0
  357. package/lib/typescript/commonjs/src/TextFieldNativeComponent.d.ts +240 -0
  358. package/lib/typescript/commonjs/src/TextFieldNativeComponent.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/src/focusRegistry.d.ts +13 -0
  360. package/lib/typescript/commonjs/src/focusRegistry.d.ts.map +1 -0
  361. package/lib/typescript/commonjs/src/haptics.d.ts +20 -0
  362. package/lib/typescript/commonjs/src/haptics.d.ts.map +1 -0
  363. package/lib/typescript/commonjs/src/icons.d.ts +58 -0
  364. package/lib/typescript/commonjs/src/icons.d.ts.map +1 -0
  365. package/lib/typescript/commonjs/src/index.d.ts +13 -0
  366. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  367. package/lib/typescript/commonjs/src/index.web.d.ts +25 -133
  368. package/lib/typescript/commonjs/src/index.web.d.ts.map +1 -1
  369. package/lib/typescript/commonjs/src/jest.d.ts +139 -0
  370. package/lib/typescript/commonjs/src/jest.d.ts.map +1 -0
  371. package/lib/typescript/commonjs/src/labelStyle.d.ts +20 -0
  372. package/lib/typescript/commonjs/src/labelStyle.d.ts.map +1 -0
  373. package/lib/typescript/commonjs/src/menuItems.d.ts +100 -0
  374. package/lib/typescript/commonjs/src/menuItems.d.ts.map +1 -0
  375. package/lib/typescript/commonjs/src/selectionIdentifiers.d.ts +3 -0
  376. package/lib/typescript/commonjs/src/selectionIdentifiers.d.ts.map +1 -0
  377. package/lib/typescript/commonjs/src/sharedTypes.d.ts +6 -1
  378. package/lib/typescript/commonjs/src/sharedTypes.d.ts.map +1 -1
  379. package/lib/typescript/commonjs/src/submitBehavior.d.ts +9 -0
  380. package/lib/typescript/commonjs/src/submitBehavior.d.ts.map +1 -0
  381. package/lib/typescript/commonjs/src/tabItems.d.ts +55 -0
  382. package/lib/typescript/commonjs/src/tabItems.d.ts.map +1 -0
  383. package/lib/typescript/commonjs/src/web/Button.d.ts +9 -0
  384. package/lib/typescript/commonjs/src/web/Button.d.ts.map +1 -0
  385. package/lib/typescript/commonjs/src/web/ButtonGroup.d.ts +11 -0
  386. package/lib/typescript/commonjs/src/web/ButtonGroup.d.ts.map +1 -0
  387. package/lib/typescript/commonjs/src/web/DatePicker.d.ts +14 -0
  388. package/lib/typescript/commonjs/src/web/DatePicker.d.ts.map +1 -0
  389. package/lib/typescript/commonjs/src/web/DateRangePicker.d.ts +11 -0
  390. package/lib/typescript/commonjs/src/web/DateRangePicker.d.ts.map +1 -0
  391. package/lib/typescript/commonjs/src/web/Dialog.d.ts +12 -0
  392. package/lib/typescript/commonjs/src/web/Dialog.d.ts.map +1 -0
  393. package/lib/typescript/commonjs/src/web/FloatingActionButton.d.ts +8 -0
  394. package/lib/typescript/commonjs/src/web/FloatingActionButton.d.ts.map +1 -0
  395. package/lib/typescript/commonjs/src/web/Icon.d.ts +12 -0
  396. package/lib/typescript/commonjs/src/web/Icon.d.ts.map +1 -0
  397. package/lib/typescript/commonjs/src/web/NativeTheme.d.ts +10 -0
  398. package/lib/typescript/commonjs/src/web/NativeTheme.d.ts.map +1 -0
  399. package/lib/typescript/commonjs/src/web/NavigationRail.d.ts +8 -0
  400. package/lib/typescript/commonjs/src/web/NavigationRail.d.ts.map +1 -0
  401. package/lib/typescript/commonjs/src/web/PlatformComponentsProvider.d.ts +10 -0
  402. package/lib/typescript/commonjs/src/web/PlatformComponentsProvider.d.ts.map +1 -0
  403. package/lib/typescript/commonjs/src/web/SegmentedControl.d.ts +8 -0
  404. package/lib/typescript/commonjs/src/web/SegmentedControl.d.ts.map +1 -0
  405. package/lib/typescript/commonjs/src/web/SelectionMenu.d.ts +10 -0
  406. package/lib/typescript/commonjs/src/web/SelectionMenu.d.ts.map +1 -0
  407. package/lib/typescript/commonjs/src/web/SplitButton.d.ts +9 -0
  408. package/lib/typescript/commonjs/src/web/SplitButton.d.ts.map +1 -0
  409. package/lib/typescript/commonjs/src/web/TabBar.d.ts +9 -0
  410. package/lib/typescript/commonjs/src/web/TabBar.d.ts.map +1 -0
  411. package/lib/typescript/commonjs/src/web/TextField.d.ts +9 -0
  412. package/lib/typescript/commonjs/src/web/TextField.d.ts.map +1 -0
  413. package/lib/typescript/commonjs/src/web/components.d.ts +17 -0
  414. package/lib/typescript/commonjs/src/web/components.d.ts.map +1 -0
  415. package/lib/typescript/commonjs/src/web/containers.d.ts +24 -0
  416. package/lib/typescript/commonjs/src/web/containers.d.ts.map +1 -0
  417. package/lib/typescript/commonjs/src/web/dateInput.d.ts +20 -0
  418. package/lib/typescript/commonjs/src/web/dateInput.d.ts.map +1 -0
  419. package/lib/typescript/commonjs/src/web/shared.d.ts +43 -0
  420. package/lib/typescript/commonjs/src/web/shared.d.ts.map +1 -0
  421. package/lib/typescript/commonjs/src/webComponents.d.ts +43 -0
  422. package/lib/typescript/commonjs/src/webComponents.d.ts.map +1 -0
  423. package/lib/typescript/module/docs/sidebars.d.ts.map +1 -1
  424. package/lib/typescript/module/src/Button.d.ts +184 -0
  425. package/lib/typescript/module/src/Button.d.ts.map +1 -0
  426. package/lib/typescript/module/src/ButtonGroup.d.ts +117 -0
  427. package/lib/typescript/module/src/ButtonGroup.d.ts.map +1 -0
  428. package/lib/typescript/module/src/ButtonGroupNativeComponent.d.ts +154 -0
  429. package/lib/typescript/module/src/ButtonGroupNativeComponent.d.ts.map +1 -0
  430. package/lib/typescript/module/src/ButtonNativeComponent.d.ts +148 -0
  431. package/lib/typescript/module/src/ButtonNativeComponent.d.ts.map +1 -0
  432. package/lib/typescript/module/src/ContextMenu.d.ts +20 -33
  433. package/lib/typescript/module/src/ContextMenu.d.ts.map +1 -1
  434. package/lib/typescript/module/src/ContextMenuNativeComponent.d.ts +45 -47
  435. package/lib/typescript/module/src/ContextMenuNativeComponent.d.ts.map +1 -1
  436. package/lib/typescript/module/src/DatePicker.d.ts +74 -1
  437. package/lib/typescript/module/src/DatePicker.d.ts.map +1 -1
  438. package/lib/typescript/module/src/DatePickerNativeComponent.d.ts +16 -1
  439. package/lib/typescript/module/src/DatePickerNativeComponent.d.ts.map +1 -1
  440. package/lib/typescript/module/src/FloatingActionButton.d.ts +67 -0
  441. package/lib/typescript/module/src/FloatingActionButton.d.ts.map +1 -0
  442. package/lib/typescript/module/src/FloatingActionButtonNativeComponent.d.ts +43 -0
  443. package/lib/typescript/module/src/FloatingActionButtonNativeComponent.d.ts.map +1 -0
  444. package/lib/typescript/module/src/FloatingToolbar.d.ts +75 -0
  445. package/lib/typescript/module/src/FloatingToolbar.d.ts.map +1 -0
  446. package/lib/typescript/module/src/FloatingToolbarNativeComponent.d.ts +36 -0
  447. package/lib/typescript/module/src/FloatingToolbarNativeComponent.d.ts.map +1 -0
  448. package/lib/typescript/module/src/LiquidGlass.d.ts +17 -0
  449. package/lib/typescript/module/src/LiquidGlass.d.ts.map +1 -1
  450. package/lib/typescript/module/src/LiquidGlassContainer.d.ts +27 -0
  451. package/lib/typescript/module/src/LiquidGlassContainer.d.ts.map +1 -0
  452. package/lib/typescript/module/src/LiquidGlassContainerNativeComponent.d.ts +13 -0
  453. package/lib/typescript/module/src/LiquidGlassContainerNativeComponent.d.ts.map +1 -0
  454. package/lib/typescript/module/src/LiquidGlassNativeComponent.d.ts +7 -0
  455. package/lib/typescript/module/src/LiquidGlassNativeComponent.d.ts.map +1 -1
  456. package/lib/typescript/module/src/NavigationRail.d.ts +86 -0
  457. package/lib/typescript/module/src/NavigationRail.d.ts.map +1 -0
  458. package/lib/typescript/module/src/NavigationRailNativeComponent.d.ts +81 -0
  459. package/lib/typescript/module/src/NavigationRailNativeComponent.d.ts.map +1 -0
  460. package/lib/typescript/module/src/PlatformComponentsProvider.d.ts +6 -0
  461. package/lib/typescript/module/src/PlatformComponentsProvider.d.ts.map +1 -0
  462. package/lib/typescript/module/src/SegmentedControl.d.ts +35 -47
  463. package/lib/typescript/module/src/SegmentedControl.d.ts.map +1 -1
  464. package/lib/typescript/module/src/SegmentedControlNativeComponent.d.ts +11 -0
  465. package/lib/typescript/module/src/SegmentedControlNativeComponent.d.ts.map +1 -1
  466. package/lib/typescript/module/src/SelectionMenu.d.ts +44 -2
  467. package/lib/typescript/module/src/SelectionMenu.d.ts.map +1 -1
  468. package/lib/typescript/module/src/SelectionMenuNativeComponent.d.ts +20 -4
  469. package/lib/typescript/module/src/SelectionMenuNativeComponent.d.ts.map +1 -1
  470. package/lib/typescript/module/src/SplitButton.d.ts +83 -0
  471. package/lib/typescript/module/src/SplitButton.d.ts.map +1 -0
  472. package/lib/typescript/module/src/TabBar.d.ts +144 -0
  473. package/lib/typescript/module/src/TabBar.d.ts.map +1 -0
  474. package/lib/typescript/module/src/TabBarAccessoryNativeComponent.d.ts +13 -0
  475. package/lib/typescript/module/src/TabBarAccessoryNativeComponent.d.ts.map +1 -0
  476. package/lib/typescript/module/src/TabBarNativeComponent.d.ts +110 -0
  477. package/lib/typescript/module/src/TabBarNativeComponent.d.ts.map +1 -0
  478. package/lib/typescript/module/src/TextField.d.ts +332 -0
  479. package/lib/typescript/module/src/TextField.d.ts.map +1 -0
  480. package/lib/typescript/module/src/TextFieldNativeComponent.d.ts +240 -0
  481. package/lib/typescript/module/src/TextFieldNativeComponent.d.ts.map +1 -0
  482. package/lib/typescript/module/src/focusRegistry.d.ts +13 -0
  483. package/lib/typescript/module/src/focusRegistry.d.ts.map +1 -0
  484. package/lib/typescript/module/src/haptics.d.ts +20 -0
  485. package/lib/typescript/module/src/haptics.d.ts.map +1 -0
  486. package/lib/typescript/module/src/icons.d.ts +58 -0
  487. package/lib/typescript/module/src/icons.d.ts.map +1 -0
  488. package/lib/typescript/module/src/index.d.ts +13 -0
  489. package/lib/typescript/module/src/index.d.ts.map +1 -1
  490. package/lib/typescript/module/src/index.web.d.ts +25 -133
  491. package/lib/typescript/module/src/index.web.d.ts.map +1 -1
  492. package/lib/typescript/module/src/jest.d.ts +139 -0
  493. package/lib/typescript/module/src/jest.d.ts.map +1 -0
  494. package/lib/typescript/module/src/labelStyle.d.ts +20 -0
  495. package/lib/typescript/module/src/labelStyle.d.ts.map +1 -0
  496. package/lib/typescript/module/src/menuItems.d.ts +100 -0
  497. package/lib/typescript/module/src/menuItems.d.ts.map +1 -0
  498. package/lib/typescript/module/src/selectionIdentifiers.d.ts +3 -0
  499. package/lib/typescript/module/src/selectionIdentifiers.d.ts.map +1 -0
  500. package/lib/typescript/module/src/sharedTypes.d.ts +6 -1
  501. package/lib/typescript/module/src/sharedTypes.d.ts.map +1 -1
  502. package/lib/typescript/module/src/submitBehavior.d.ts +9 -0
  503. package/lib/typescript/module/src/submitBehavior.d.ts.map +1 -0
  504. package/lib/typescript/module/src/tabItems.d.ts +55 -0
  505. package/lib/typescript/module/src/tabItems.d.ts.map +1 -0
  506. package/lib/typescript/module/src/web/Button.d.ts +9 -0
  507. package/lib/typescript/module/src/web/Button.d.ts.map +1 -0
  508. package/lib/typescript/module/src/web/ButtonGroup.d.ts +11 -0
  509. package/lib/typescript/module/src/web/ButtonGroup.d.ts.map +1 -0
  510. package/lib/typescript/module/src/web/DatePicker.d.ts +14 -0
  511. package/lib/typescript/module/src/web/DatePicker.d.ts.map +1 -0
  512. package/lib/typescript/module/src/web/DateRangePicker.d.ts +11 -0
  513. package/lib/typescript/module/src/web/DateRangePicker.d.ts.map +1 -0
  514. package/lib/typescript/module/src/web/Dialog.d.ts +12 -0
  515. package/lib/typescript/module/src/web/Dialog.d.ts.map +1 -0
  516. package/lib/typescript/module/src/web/FloatingActionButton.d.ts +8 -0
  517. package/lib/typescript/module/src/web/FloatingActionButton.d.ts.map +1 -0
  518. package/lib/typescript/module/src/web/Icon.d.ts +12 -0
  519. package/lib/typescript/module/src/web/Icon.d.ts.map +1 -0
  520. package/lib/typescript/module/src/web/NativeTheme.d.ts +10 -0
  521. package/lib/typescript/module/src/web/NativeTheme.d.ts.map +1 -0
  522. package/lib/typescript/module/src/web/NavigationRail.d.ts +8 -0
  523. package/lib/typescript/module/src/web/NavigationRail.d.ts.map +1 -0
  524. package/lib/typescript/module/src/web/PlatformComponentsProvider.d.ts +10 -0
  525. package/lib/typescript/module/src/web/PlatformComponentsProvider.d.ts.map +1 -0
  526. package/lib/typescript/module/src/web/SegmentedControl.d.ts +8 -0
  527. package/lib/typescript/module/src/web/SegmentedControl.d.ts.map +1 -0
  528. package/lib/typescript/module/src/web/SelectionMenu.d.ts +10 -0
  529. package/lib/typescript/module/src/web/SelectionMenu.d.ts.map +1 -0
  530. package/lib/typescript/module/src/web/SplitButton.d.ts +9 -0
  531. package/lib/typescript/module/src/web/SplitButton.d.ts.map +1 -0
  532. package/lib/typescript/module/src/web/TabBar.d.ts +9 -0
  533. package/lib/typescript/module/src/web/TabBar.d.ts.map +1 -0
  534. package/lib/typescript/module/src/web/TextField.d.ts +9 -0
  535. package/lib/typescript/module/src/web/TextField.d.ts.map +1 -0
  536. package/lib/typescript/module/src/web/components.d.ts +17 -0
  537. package/lib/typescript/module/src/web/components.d.ts.map +1 -0
  538. package/lib/typescript/module/src/web/containers.d.ts +24 -0
  539. package/lib/typescript/module/src/web/containers.d.ts.map +1 -0
  540. package/lib/typescript/module/src/web/dateInput.d.ts +20 -0
  541. package/lib/typescript/module/src/web/dateInput.d.ts.map +1 -0
  542. package/lib/typescript/module/src/web/shared.d.ts +43 -0
  543. package/lib/typescript/module/src/web/shared.d.ts.map +1 -0
  544. package/lib/typescript/module/src/webComponents.d.ts +43 -0
  545. package/lib/typescript/module/src/webComponents.d.ts.map +1 -0
  546. package/package.json +55 -4
  547. package/plugin/build/index.d.ts +3 -2
  548. package/plugin/build/index.d.ts.map +1 -1
  549. package/react-native.config.js +6 -0
  550. package/shared/PCButtonComponentDescriptors-custom.h +22 -0
  551. package/shared/PCButtonGroupComponentDescriptors-custom.h +22 -0
  552. package/shared/PCButtonGroupShadowNode-custom.cpp +48 -0
  553. package/shared/PCButtonGroupShadowNode-custom.h +55 -0
  554. package/shared/PCButtonGroupState-custom.h +61 -0
  555. package/shared/PCButtonShadowNode-custom.cpp +48 -0
  556. package/shared/PCButtonShadowNode-custom.h +55 -0
  557. package/shared/PCButtonState-custom.h +61 -0
  558. package/shared/PCFloatingActionButtonComponentDescriptors-custom.h +22 -0
  559. package/shared/PCFloatingActionButtonShadowNode-custom.cpp +48 -0
  560. package/shared/PCFloatingActionButtonShadowNode-custom.h +54 -0
  561. package/shared/PCFloatingActionButtonState-custom.h +61 -0
  562. package/shared/PCNavigationRailComponentDescriptors-custom.h +47 -0
  563. package/shared/PCNavigationRailShadowNode-custom.h +42 -0
  564. package/shared/PCNavigationRailState-custom.h +62 -0
  565. package/shared/PCTabBarComponentDescriptors-custom.h +22 -0
  566. package/shared/PCTabBarShadowNode-custom.cpp +54 -0
  567. package/shared/PCTabBarShadowNode-custom.h +54 -0
  568. package/shared/PCTabBarState-custom.h +62 -0
  569. package/shared/PCTextFieldComponentDescriptors-custom.h +22 -0
  570. package/shared/PCTextFieldShadowNode-custom.cpp +47 -0
  571. package/shared/PCTextFieldShadowNode-custom.h +55 -0
  572. package/shared/PCTextFieldState-custom.h +61 -0
  573. package/shared/react/renderer/components/PlatformComponentsViewSpec/ComponentDescriptors.h +6 -0
  574. package/src/Button.tsx +359 -0
  575. package/src/ButtonGroup.tsx +251 -0
  576. package/src/ButtonGroupNativeComponent.ts +191 -0
  577. package/src/ButtonNativeComponent.ts +192 -0
  578. package/src/ContextMenu.tsx +34 -81
  579. package/src/ContextMenuNativeComponent.ts +47 -49
  580. package/src/DatePicker.tsx +182 -4
  581. package/src/DatePickerNativeComponent.ts +19 -2
  582. package/src/FloatingActionButton.tsx +121 -0
  583. package/src/FloatingActionButtonNativeComponent.ts +58 -0
  584. package/src/FloatingToolbar.tsx +164 -0
  585. package/src/FloatingToolbarNativeComponent.ts +47 -0
  586. package/src/LiquidGlass.tsx +24 -1
  587. package/src/LiquidGlassContainer.tsx +42 -0
  588. package/src/LiquidGlassContainerNativeComponent.ts +17 -0
  589. package/src/LiquidGlassNativeComponent.ts +8 -0
  590. package/src/NavigationRail.tsx +203 -0
  591. package/src/NavigationRailNativeComponent.ts +107 -0
  592. package/src/PlatformComponentsProvider.tsx +15 -0
  593. package/src/SegmentedControl.tsx +57 -119
  594. package/src/SegmentedControlNativeComponent.ts +14 -0
  595. package/src/SelectionMenu.tsx +81 -6
  596. package/src/SelectionMenuNativeComponent.ts +26 -4
  597. package/src/SplitButton.tsx +198 -0
  598. package/src/TabBar.tsx +373 -0
  599. package/src/TabBarAccessoryNativeComponent.ts +19 -0
  600. package/src/TabBarNativeComponent.ts +145 -0
  601. package/src/TextField.tsx +908 -0
  602. package/src/TextFieldNativeComponent.ts +324 -0
  603. package/src/focusRegistry.ts +90 -0
  604. package/src/haptics.ts +31 -0
  605. package/src/icons.ts +143 -0
  606. package/src/index.tsx +13 -0
  607. package/src/index.web.tsx +53 -199
  608. package/src/jest.tsx +958 -0
  609. package/src/labelStyle.ts +36 -0
  610. package/src/menuItems.ts +152 -0
  611. package/src/reactNativeInternals.d.ts +22 -0
  612. package/src/selectionIdentifiers.ts +17 -0
  613. package/src/sharedTypes.ts +7 -1
  614. package/src/submitBehavior.ts +16 -0
  615. package/src/tabItems.ts +113 -0
  616. package/src/web/Button.tsx +201 -0
  617. package/src/web/ButtonGroup.tsx +154 -0
  618. package/src/web/DatePicker.tsx +204 -0
  619. package/src/web/DateRangePicker.tsx +135 -0
  620. package/src/web/Dialog.tsx +54 -0
  621. package/src/web/FloatingActionButton.tsx +76 -0
  622. package/src/web/Icon.tsx +33 -0
  623. package/src/web/NativeTheme.ts +23 -0
  624. package/src/web/NavigationRail.tsx +148 -0
  625. package/src/web/PlatformComponentsProvider.tsx +48 -0
  626. package/src/web/SegmentedControl.tsx +127 -0
  627. package/src/web/SelectionMenu.tsx +149 -0
  628. package/src/web/SplitButton.tsx +32 -0
  629. package/src/web/TabBar.tsx +150 -0
  630. package/src/web/TextField.tsx +361 -0
  631. package/src/web/components.tsx +71 -0
  632. package/src/web/containers.tsx +130 -0
  633. package/src/web/dateInput.ts +137 -0
  634. package/src/web/shared.ts +176 -0
  635. package/src/webComponents.ts +45 -0
  636. package/android/src/main/java/com/platformcomponents/DateConstraints.kt +0 -83
@@ -0,0 +1,910 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _exportNames = {
7
+ resolveSegmentIcon: true,
8
+ TextField: true,
9
+ Button: true,
10
+ FloatingActionButton: true,
11
+ ButtonGroup: true,
12
+ SplitButton: true,
13
+ TabBar: true,
14
+ NavigationRail: true,
15
+ SegmentedControl: true,
16
+ DatePicker: true,
17
+ DateRangePicker: true,
18
+ isDateRangePickerSupported: true,
19
+ SelectionMenu: true,
20
+ ContextMenu: true,
21
+ FloatingToolbar: true,
22
+ LiquidGlass: true,
23
+ LiquidGlassContainer: true,
24
+ isLiquidGlassSupported: true,
25
+ setNativeTheme: true,
26
+ useNativeTheme: true,
27
+ PlatformComponentsProvider: true
28
+ };
29
+ exports.Button = Button;
30
+ exports.ButtonGroup = ButtonGroup;
31
+ exports.ContextMenu = ContextMenu;
32
+ exports.DatePicker = DatePicker;
33
+ exports.DateRangePicker = DateRangePicker;
34
+ exports.FloatingActionButton = FloatingActionButton;
35
+ exports.FloatingToolbar = FloatingToolbar;
36
+ exports.LiquidGlass = LiquidGlass;
37
+ exports.LiquidGlassContainer = LiquidGlassContainer;
38
+ exports.NavigationRail = NavigationRail;
39
+ Object.defineProperty(exports, "PlatformComponentsProvider", {
40
+ enumerable: true,
41
+ get: function () {
42
+ return _PlatformComponentsProvider.PlatformComponentsProvider;
43
+ }
44
+ });
45
+ exports.SegmentedControl = SegmentedControl;
46
+ exports.SelectionMenu = SelectionMenu;
47
+ exports.SplitButton = SplitButton;
48
+ exports.TabBar = TabBar;
49
+ exports.resolveSegmentIcon = exports.isLiquidGlassSupported = exports.isDateRangePickerSupported = exports.TextField = void 0;
50
+ exports.setNativeTheme = setNativeTheme;
51
+ exports.useNativeTheme = useNativeTheme;
52
+ var _react = _interopRequireWildcard(require("react"));
53
+ var _reactNative = require("react-native");
54
+ var _icons = require("./icons");
55
+ Object.keys(_icons).forEach(function (key) {
56
+ if (key === "default" || key === "__esModule") return;
57
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
58
+ if (key in exports && exports[key] === _icons[key]) return;
59
+ Object.defineProperty(exports, key, {
60
+ enumerable: true,
61
+ get: function () {
62
+ return _icons[key];
63
+ }
64
+ });
65
+ });
66
+ var _submitBehavior = require("./submitBehavior");
67
+ var _ButtonGroup = require("./web/ButtonGroup");
68
+ var _jsxRuntime = require("react/jsx-runtime");
69
+ var _labelStyle = require("./labelStyle");
70
+ Object.keys(_labelStyle).forEach(function (key) {
71
+ if (key === "default" || key === "__esModule") return;
72
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
73
+ if (key in exports && exports[key] === _labelStyle[key]) return;
74
+ Object.defineProperty(exports, key, {
75
+ enumerable: true,
76
+ get: function () {
77
+ return _labelStyle[key];
78
+ }
79
+ });
80
+ });
81
+ var _PlatformComponentsProvider = require("./PlatformComponentsProvider");
82
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
83
+ // jest.tsx
84
+ //
85
+ // Jest mock of the library, published as `react-native-platform-components/jest`:
86
+ //
87
+ // jest.mock('react-native-platform-components', () =>
88
+ // require('react-native-platform-components/jest')
89
+ // );
90
+ //
91
+ // The native components can't render under Jest, so each one is rebuilt from
92
+ // React Native primitives (TextInput, Pressable, Text, View) that
93
+ // @testing-library/react-native can query and drive. Props are typed against
94
+ // the real components, and the pure helpers are the real ones.
95
+
96
+ /** Same as the real export: an alias of {@link resolveIcon}. */
97
+ const resolveSegmentIcon = exports.resolveSegmentIcon = _icons.resolveIcon;
98
+
99
+ /**
100
+ * Props that are handlers but not React Native view props, passed onto a
101
+ * host view so `fireEvent(element, 'select', ...)` can reach them.
102
+ */
103
+ function handlers(props) {
104
+ const out = {};
105
+ for (const [key, value] of Object.entries(props)) {
106
+ if (typeof value === 'function') out[key] = value;
107
+ }
108
+ return out;
109
+ }
110
+ function withText(event, extra) {
111
+ const base = event ?? {};
112
+ return {
113
+ ...base,
114
+ nativeEvent: {
115
+ ...base.nativeEvent,
116
+ ...extra
117
+ }
118
+ };
119
+ }
120
+
121
+ // ---------------------------------------------------------------------------
122
+ // TextField
123
+
124
+ /**
125
+ * A `TextInput` carrying `testID`, with the label, prefix, suffix, supporting
126
+ * or error text and character count as `Text`. A trailing icon renders as a
127
+ * button with the test ID `trailingIconTestID`, else
128
+ * `${testID}-trailing-icon`; a leading icon with `leadingIconTestID` renders
129
+ * as a view with that ID. A non-editable field with `onPress` calls it when
130
+ * the input is pressed. The iOS keyboard toolbar's buttons render as
131
+ * buttons with their `testID`, else `${testID}-toolbar-${id}`; Done
132
+ * (`doneTestID`, else `${testID}-toolbar-done`) calls `onBlur`.
133
+ */
134
+ const TextField = exports.TextField = /*#__PURE__*/(0, _react.forwardRef)(function TextFieldMock(props, ref) {
135
+ const {
136
+ value,
137
+ defaultValue,
138
+ onChangeText,
139
+ onChange,
140
+ onFocus,
141
+ onBlur,
142
+ onSubmitEditing,
143
+ submitBehavior,
144
+ onSelectionChange,
145
+ selection,
146
+ label,
147
+ placeholder,
148
+ supportingText,
149
+ error,
150
+ prefix,
151
+ suffix,
152
+ leadingIcon,
153
+ trailingIcon,
154
+ onTrailingIconPress,
155
+ leadingIconTestID,
156
+ leadingIconAccessibilityLabel,
157
+ trailingIconTestID,
158
+ trailingIconAccessibilityLabel,
159
+ onPress,
160
+ activeColor,
161
+ outlineColor,
162
+ errorColor,
163
+ containerColor,
164
+ textColor,
165
+ placeholderTextColor,
166
+ maxFontSizeMultiplier,
167
+ textAlign,
168
+ minLines,
169
+ maxLines,
170
+ clearButtonMode,
171
+ passwordToggle,
172
+ showCharacterCount,
173
+ maxLength,
174
+ keyboardType,
175
+ returnKeyType,
176
+ autoCapitalize,
177
+ autoCorrect,
178
+ secureTextEntry,
179
+ multiline,
180
+ editable,
181
+ autoFocus,
182
+ selectTextOnFocus,
183
+ autoComplete,
184
+ keyboardAppearance,
185
+ textStyle,
186
+ accessibilityLabel,
187
+ ios,
188
+ android,
189
+ testID,
190
+ ...viewProps
191
+ } = props;
192
+ const inputRef = (0, _react.useRef)(null);
193
+ const focused = (0, _react.useRef)(false);
194
+ const eventCount = (0, _react.useRef)(0);
195
+ const [uncontrolled, setUncontrolled] = (0, _react.useState)(defaultValue ?? '');
196
+ const text = value ?? uncontrolled;
197
+ const handleChangeText = (0, _react.useCallback)(next => {
198
+ eventCount.current += 1;
199
+ setUncontrolled(next);
200
+ onChange?.(withText(undefined, {
201
+ text: next,
202
+ eventCount: eventCount.current
203
+ }));
204
+ onChangeText?.(next);
205
+ }, [onChange, onChangeText]);
206
+ (0, _react.useImperativeHandle)(ref, () => ({
207
+ focus: () => {
208
+ focused.current = true;
209
+ inputRef.current?.focus?.();
210
+ },
211
+ blur: () => {
212
+ focused.current = false;
213
+ inputRef.current?.blur?.();
214
+ },
215
+ clear: () => handleChangeText(''),
216
+ isFocused: () => focused.current,
217
+ setSelection: (start, end) => {
218
+ inputRef.current?.setSelection?.(start, end ?? start);
219
+ }
220
+ }), [handleChangeText]);
221
+ const handleFocus = event => {
222
+ focused.current = true;
223
+ onFocus?.(withText(event, {
224
+ text
225
+ }));
226
+ };
227
+ const handleBlur = event => {
228
+ focused.current = false;
229
+ onBlur?.(withText(event, {
230
+ text
231
+ }));
232
+ };
233
+ const handleSubmit = event => {
234
+ onSubmitEditing?.(withText(event, {
235
+ text
236
+ }));
237
+ };
238
+ const helper = typeof error === 'string' && error ? error : supportingText;
239
+ const toolbar = ios?.keyboardToolbar;
240
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
241
+ ...viewProps,
242
+ children: [label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
243
+ children: label
244
+ }) : null, leadingIconTestID ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
245
+ testID: leadingIconTestID,
246
+ accessibilityLabel: leadingIconAccessibilityLabel
247
+ }) : null, prefix ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
248
+ children: prefix
249
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
250
+ ref: inputRef,
251
+ testID: testID,
252
+ value: text,
253
+ onChangeText: handleChangeText,
254
+ onFocus: handleFocus,
255
+ onBlur: handleBlur,
256
+ onSubmitEditing: handleSubmit,
257
+ submitBehavior: (0, _submitBehavior.resolveSubmitBehavior)(submitBehavior, multiline),
258
+ selection: selection ? {
259
+ start: selection.start,
260
+ end: selection.end ?? selection.start
261
+ } : undefined,
262
+ onSelectionChange: onSelectionChange,
263
+ placeholder: placeholder,
264
+ editable: editable,
265
+ onPress: editable === false ? onPress : undefined,
266
+ multiline: multiline,
267
+ secureTextEntry: secureTextEntry,
268
+ maxLength: maxLength,
269
+ keyboardType: keyboardType,
270
+ returnKeyType: returnKeyType,
271
+ autoCapitalize: autoCapitalize,
272
+ autoCorrect: autoCorrect,
273
+ autoFocus: autoFocus,
274
+ selectTextOnFocus: selectTextOnFocus,
275
+ autoComplete: autoComplete,
276
+ keyboardAppearance: keyboardAppearance,
277
+ accessibilityLabel: accessibilityLabel ?? label,
278
+ accessibilityState: {
279
+ disabled: editable === false
280
+ },
281
+ "aria-invalid": error ? true : undefined
282
+ }), suffix ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
283
+ children: suffix
284
+ }) : null, trailingIcon || onTrailingIconPress ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
285
+ testID: trailingIconTestID ?? (testID ? `${testID}-trailing-icon` : undefined),
286
+ accessibilityLabel: trailingIconAccessibilityLabel,
287
+ accessibilityRole: "button",
288
+ onPress: () => onTrailingIconPress?.()
289
+ }) : null, helper ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
290
+ children: helper
291
+ }) : null, toolbar?.items?.map((item, index) => item === 'flexibleSpace' ? null : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
292
+ testID: item.testID ?? (testID ? `${testID}-toolbar-${item.id}` : undefined),
293
+ accessibilityLabel: item.accessibilityLabel ?? item.title,
294
+ accessibilityRole: "button",
295
+ onPress: () => toolbar.onItemPress?.(item.id)
296
+ }, `${item.id}-${index}`)), toolbar?.done ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
297
+ testID: toolbar.doneTestID ?? (testID ? `${testID}-toolbar-done` : undefined),
298
+ accessibilityLabel: typeof toolbar.done === 'string' ? toolbar.done : 'Done',
299
+ accessibilityRole: "button",
300
+ onPress: () => {
301
+ focused.current = false;
302
+ onBlur?.(withText(undefined, {
303
+ text
304
+ }));
305
+ }
306
+ }) : null, showCharacterCount ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
307
+ children: maxLength ? `${text.length} / ${maxLength}` : `${text.length}`
308
+ }) : null]
309
+ });
310
+ });
311
+ TextField.displayName = 'TextField';
312
+
313
+ // ---------------------------------------------------------------------------
314
+ // Button, ButtonGroup, SegmentedControl
315
+
316
+ /**
317
+ * A `Pressable` with the button role and the label as `Text`. While
318
+ * `loading` it ignores presses and reports `busy`. With `selected` it is a
319
+ * `togglebutton` (`accessibilityState.checked`) and a press calls
320
+ * `onSelectedChange(!selected)`. A button with a `menu` doesn't call
321
+ * `onPress`; `fireEvent(button, 'menuSelect', id, title)`, `'menuOpen'` and
322
+ * `'menuClose'` reach the menu callbacks.
323
+ */
324
+ function Button(props) {
325
+ const {
326
+ label,
327
+ icon,
328
+ iconPosition,
329
+ variant,
330
+ size,
331
+ shape,
332
+ cornerRadius,
333
+ disabled,
334
+ loading,
335
+ color,
336
+ tintColor,
337
+ disabledColor,
338
+ disabledTintColor,
339
+ labelStyle,
340
+ maxFontSizeMultiplier,
341
+ accessibilityLabel,
342
+ accessibilityState,
343
+ haptics,
344
+ onPress,
345
+ selected,
346
+ onSelectedChange,
347
+ menu,
348
+ onMenuSelect,
349
+ onMenuOpen,
350
+ onMenuClose,
351
+ ios,
352
+ android,
353
+ ...viewProps
354
+ } = props;
355
+ const isToggle = selected !== undefined;
356
+ const hasMenu = !!menu && menu.length > 0;
357
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
358
+ ...viewProps,
359
+ ...handlers({
360
+ onMenuSelect,
361
+ onMenuOpen,
362
+ onMenuClose
363
+ }),
364
+ accessibilityRole: isToggle && !hasMenu ? 'togglebutton' : 'button',
365
+ accessibilityLabel: accessibilityLabel ?? label,
366
+ accessibilityState: {
367
+ ...accessibilityState,
368
+ disabled: !!disabled,
369
+ busy: loading ? true : accessibilityState?.busy,
370
+ ...(isToggle ? {
371
+ checked: selected
372
+ } : null)
373
+ },
374
+ disabled: disabled || loading,
375
+ onPress: () => {
376
+ if (hasMenu) return;
377
+ if (isToggle) onSelectedChange?.(!selected);
378
+ onPress?.();
379
+ },
380
+ children: label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
381
+ children: label
382
+ }) : null
383
+ });
384
+ }
385
+
386
+ /**
387
+ * A `Pressable` with the button role, labeled by `accessibilityLabel` or
388
+ * `label`, showing the label as `Text` while extended.
389
+ */
390
+ function FloatingActionButton(props) {
391
+ const {
392
+ icon,
393
+ label,
394
+ extended,
395
+ size,
396
+ color,
397
+ tintColor,
398
+ disabled,
399
+ accessibilityLabel,
400
+ haptics,
401
+ onPress,
402
+ scrollViewNativeID,
403
+ accessibilityState,
404
+ ...viewProps
405
+ } = props;
406
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
407
+ ...viewProps,
408
+ accessibilityRole: "button",
409
+ accessibilityLabel: accessibilityLabel ?? label,
410
+ accessibilityState: {
411
+ ...accessibilityState,
412
+ disabled: !!disabled
413
+ },
414
+ disabled: disabled,
415
+ onPress: () => onPress?.(),
416
+ children: label && extended !== false ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
417
+ children: label
418
+ }) : null
419
+ });
420
+ }
421
+
422
+ /**
423
+ * A view of `Pressable`s, one per button, with the test ID
424
+ * `${testID}-${value}`. Selection follows the native rules.
425
+ */
426
+ function ButtonGroup(props) {
427
+ const {
428
+ buttons,
429
+ selection = 'none',
430
+ selectedValues = [],
431
+ selectionRequired,
432
+ disabled,
433
+ onPress,
434
+ onSelectionChange,
435
+ testID,
436
+ variant,
437
+ size,
438
+ shape,
439
+ connected,
440
+ spacing,
441
+ color,
442
+ tintColor,
443
+ labelStyle,
444
+ overflow,
445
+ haptics,
446
+ android,
447
+ ...viewProps
448
+ } = props;
449
+ const selected = selection === 'single' ? selectedValues.slice(0, 1) : selectedValues;
450
+ const required = selectionRequired ?? selection === 'single';
451
+ const handlePress = (value, index) => {
452
+ onPress?.(value, index);
453
+ if (selection === 'none') return;
454
+ const next = (0, _ButtonGroup.nextSelection)(buttons.map(b => b.value), selected, value, selection, required);
455
+ if (next.join('\u0000') !== selected.join('\u0000')) {
456
+ onSelectionChange?.(next);
457
+ }
458
+ };
459
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
460
+ ...viewProps,
461
+ testID: testID,
462
+ accessibilityRole: "toolbar",
463
+ children: buttons.map((button, index) => {
464
+ const isDisabled = !!(disabled || button.disabled);
465
+ const isSelected = selected.includes(button.value);
466
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
467
+ testID: testID ? `${testID}-${button.value}` : undefined,
468
+ accessibilityRole: selection === 'none' ? 'button' : 'togglebutton',
469
+ accessibilityLabel: button.accessibilityLabel ?? button.label,
470
+ accessibilityState: {
471
+ disabled: isDisabled,
472
+ ...(selection === 'none' ? null : {
473
+ checked: isSelected
474
+ })
475
+ },
476
+ disabled: isDisabled,
477
+ onPress: () => handlePress(button.value, index),
478
+ children: button.label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
479
+ children: button.label
480
+ }) : null
481
+ }, button.value);
482
+ })
483
+ });
484
+ }
485
+
486
+ /**
487
+ * A `Pressable` with the button role, `testID` and the label as `Text`, for
488
+ * the main button. Pressing it calls `onPress`. The menu isn't rendered;
489
+ * `fireEvent(button, 'menuSelect', id, title)`, `'menuOpen'` and
490
+ * `'menuClose'` reach the menu callbacks.
491
+ */
492
+ function SplitButton(props) {
493
+ const {
494
+ label,
495
+ icon,
496
+ accessibilityLabel,
497
+ menu,
498
+ menuAccessibilityLabel,
499
+ variant,
500
+ size,
501
+ disabled,
502
+ color,
503
+ tintColor,
504
+ labelStyle,
505
+ haptics,
506
+ onPress,
507
+ onMenuSelect,
508
+ onMenuOpen,
509
+ onMenuClose,
510
+ android,
511
+ ...viewProps
512
+ } = props;
513
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
514
+ ...viewProps,
515
+ ...handlers({
516
+ onMenuSelect,
517
+ onMenuOpen,
518
+ onMenuClose
519
+ }),
520
+ accessibilityRole: "button",
521
+ accessibilityLabel: accessibilityLabel ?? label,
522
+ accessibilityState: {
523
+ disabled: !!disabled
524
+ },
525
+ disabled: disabled,
526
+ onPress: () => onPress?.(),
527
+ children: label ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
528
+ children: label
529
+ }) : null
530
+ });
531
+ }
532
+
533
+ /**
534
+ * A `tablist` view of `Pressable` tabs (at most five), each with its
535
+ * `testID`, else `${testID}-${value}`. Pressing a tab calls `onSelect`, or
536
+ * `onReselect` when it is the selected one. The `accessory` renders before
537
+ * the tab list.
538
+ */
539
+ function TabBar(props) {
540
+ const {
541
+ items,
542
+ selectedValue,
543
+ onSelect,
544
+ onReselect,
545
+ testID,
546
+ labelVisibility,
547
+ activeTintColor,
548
+ inactiveTintColor,
549
+ barColor,
550
+ badgeStyle,
551
+ labelStyle,
552
+ maxFontSizeMultiplier,
553
+ minimizeBehavior,
554
+ scrollViewNativeID,
555
+ accessory,
556
+ onAccessoryEnvironmentChange,
557
+ haptics,
558
+ android,
559
+ ...viewProps
560
+ } = props;
561
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
562
+ children: [accessory, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
563
+ ...viewProps,
564
+ testID: testID,
565
+ accessibilityRole: "tablist",
566
+ children: items.slice(0, 5).map((item, index) => {
567
+ const selected = item.value === selectedValue;
568
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
569
+ testID: item.testID ?? (testID ? `${testID}-${item.value}` : undefined),
570
+ accessibilityRole: "tab",
571
+ accessibilityLabel: item.accessibilityLabel ?? item.label,
572
+ accessibilityState: {
573
+ selected,
574
+ disabled: !!item.disabled
575
+ },
576
+ disabled: item.disabled,
577
+ onPress: () => selected ? onReselect?.(item.value, index) : onSelect?.(item.value, index),
578
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
579
+ children: item.label
580
+ }), item.badge != null && item.badge !== '' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
581
+ children: String(item.badge)
582
+ }) : null]
583
+ }, item.value);
584
+ })
585
+ })]
586
+ });
587
+ }
588
+
589
+ /**
590
+ * A vertical `tablist` view carrying `testID`: the header, then a
591
+ * `Pressable` per destination with its `testID`, else `${testID}-${value}`.
592
+ * Pressing a destination calls `onSelect`, or `onReselect` when it is the
593
+ * selected one.
594
+ */
595
+ function NavigationRail(props) {
596
+ const {
597
+ items,
598
+ selectedValue,
599
+ onSelect,
600
+ onReselect,
601
+ haptics,
602
+ header,
603
+ testID,
604
+ labelVisibility,
605
+ menuGravity,
606
+ expanded,
607
+ activeTintColor,
608
+ inactiveTintColor,
609
+ railColor,
610
+ badgeStyle,
611
+ labelStyle,
612
+ maxFontSizeMultiplier,
613
+ android,
614
+ ...viewProps
615
+ } = props;
616
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
617
+ ...viewProps,
618
+ testID: testID,
619
+ children: [header, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
620
+ accessibilityRole: "tablist",
621
+ children: items.map((item, index) => {
622
+ const selected = item.value === selectedValue;
623
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
624
+ testID: item.testID ?? (testID ? `${testID}-${item.value}` : undefined),
625
+ accessibilityRole: "tab",
626
+ accessibilityLabel: item.accessibilityLabel ?? item.label,
627
+ accessibilityState: {
628
+ selected,
629
+ disabled: !!item.disabled
630
+ },
631
+ disabled: item.disabled,
632
+ onPress: () => selected ? onReselect?.(item.value, index) : onSelect?.(item.value, index),
633
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
634
+ children: item.label
635
+ }), item.badge != null && item.badge !== '' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
636
+ children: String(item.badge)
637
+ }) : null]
638
+ }, item.value);
639
+ })
640
+ })]
641
+ });
642
+ }
643
+
644
+ /**
645
+ * A view of `Pressable` tabs, one per segment, with the test ID
646
+ * `${testID}-${value}`. Pressing an unselected segment calls `onSelect`;
647
+ * pressing the selected one calls `onDeselect` only when
648
+ * `android.selectionRequired` is `false`.
649
+ */
650
+ function SegmentedControl(props) {
651
+ const {
652
+ segments,
653
+ selectedValue,
654
+ onSelect,
655
+ onDeselect,
656
+ disabled,
657
+ testID,
658
+ haptics,
659
+ ios,
660
+ android,
661
+ labelVisibility,
662
+ selectedSegmentColor,
663
+ activeTintColor,
664
+ inactiveTintColor,
665
+ labelStyle,
666
+ maxFontSizeMultiplier,
667
+ badgeStyle,
668
+ ...viewProps
669
+ } = props;
670
+ const handlePress = (value, index) => {
671
+ if (value !== selectedValue || ios?.momentary) {
672
+ onSelect?.(value, index);
673
+ } else if (android?.selectionRequired === false) {
674
+ onDeselect?.();
675
+ }
676
+ };
677
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
678
+ ...viewProps,
679
+ testID: testID,
680
+ accessibilityRole: "tablist",
681
+ children: segments.map((segment, index) => {
682
+ const isDisabled = !!(disabled || segment.disabled);
683
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
684
+ testID: segment.testID ?? (testID ? `${testID}-${segment.value}` : undefined),
685
+ accessibilityRole: "tab",
686
+ accessibilityLabel: segment.accessibilityLabel ?? segment.label,
687
+ accessibilityState: {
688
+ selected: segment.value === selectedValue,
689
+ disabled: isDisabled
690
+ },
691
+ disabled: isDisabled,
692
+ onPress: () => handlePress(segment.value, index),
693
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
694
+ children: segment.label
695
+ }), segment.badge != null && segment.badge !== '' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
696
+ children: String(segment.badge)
697
+ }) : null]
698
+ }, segment.value);
699
+ })
700
+ });
701
+ }
702
+
703
+ // ---------------------------------------------------------------------------
704
+ // Pickers and menus
705
+
706
+ /**
707
+ * A view carrying `testID`. Its handlers are on the view, so
708
+ * `fireEvent(picker, 'confirm', date, true, 0)` and `fireEvent(picker, 'closed')`
709
+ * reach `onConfirm` and `onClosed` (the third `confirm` argument is
710
+ * `durationSeconds`: pass the duration for `countDownTimer`, 0 otherwise).
711
+ */
712
+ function DatePicker(props) {
713
+ const {
714
+ style,
715
+ testID,
716
+ onConfirm,
717
+ onClosed
718
+ } = props;
719
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
720
+ style: style,
721
+ testID: testID,
722
+ ...handlers({
723
+ onConfirm,
724
+ onClosed
725
+ })
726
+ });
727
+ }
728
+
729
+ /**
730
+ * A view with `testID` that takes `onConfirm` (with `{ startDate, endDate }`)
731
+ * and `onClosed` through `fireEvent`. The mock renders on every platform.
732
+ */
733
+ function DateRangePicker(props) {
734
+ const {
735
+ style,
736
+ testID,
737
+ onConfirm,
738
+ onClosed
739
+ } = props;
740
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
741
+ style: style,
742
+ testID: testID,
743
+ ...handlers({
744
+ onConfirm,
745
+ onClosed
746
+ })
747
+ });
748
+ }
749
+
750
+ /** The mock renders `DateRangePicker` everywhere. */
751
+ const isDateRangePickerSupported = exports.isDateRangePickerSupported = true;
752
+
753
+ /**
754
+ * A view carrying `testID` that shows the selected option's label (or the
755
+ * placeholder). While the menu is open (embedded, or modal with `visible`),
756
+ * each option is a `Pressable` with the test ID `${testID}-${data}` that calls
757
+ * `onSelect` and shows its label and subtitle. `fireEvent(menu, 'select',
758
+ * data, label, index)` and `fireEvent(menu, 'requestClose')` also work.
759
+ */
760
+ function SelectionMenu(props) {
761
+ const {
762
+ options,
763
+ selected,
764
+ disabled,
765
+ placeholder,
766
+ presentation,
767
+ visible,
768
+ haptics,
769
+ onSelect,
770
+ onRequestClose,
771
+ testID,
772
+ ios,
773
+ android,
774
+ ...viewProps
775
+ } = props;
776
+ const current = options.find(option => option.data === selected);
777
+ const open = presentation === 'embedded' || !!visible;
778
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
779
+ ...viewProps,
780
+ testID: testID,
781
+ accessibilityState: {
782
+ disabled: !!disabled,
783
+ expanded: open
784
+ },
785
+ ...handlers({
786
+ onSelect,
787
+ onRequestClose
788
+ }),
789
+ children: [current || placeholder ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
790
+ children: current ? current.label : placeholder
791
+ }) : null, open && !disabled ? options.map((option, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
792
+ testID: testID ? `${testID}-${option.data}` : undefined,
793
+ accessibilityRole: "menuitem",
794
+ accessibilityState: {
795
+ selected: option.data === selected
796
+ },
797
+ onPress: () => onSelect?.(option.data, option.label, index),
798
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
799
+ children: option.label
800
+ }), option.subtitle ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
801
+ children: option.subtitle
802
+ }) : null]
803
+ }, option.data)) : null]
804
+ });
805
+ }
806
+
807
+ /**
808
+ * Its children in a view carrying `testID`. The menu itself isn't rendered;
809
+ * `fireEvent(menu, 'pressAction', id, title)`, `'menuOpen'`, `'menuClose'`
810
+ * and `'previewPress'` reach the callbacks.
811
+ */
812
+ function ContextMenu(props) {
813
+ const {
814
+ children,
815
+ onPressAction,
816
+ onMenuOpen,
817
+ onMenuClose,
818
+ onPreviewPress,
819
+ title,
820
+ actions,
821
+ disabled,
822
+ trigger,
823
+ haptics,
824
+ ios,
825
+ android,
826
+ ...viewProps
827
+ } = props;
828
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
829
+ ...viewProps,
830
+ ...handlers({
831
+ onPressAction,
832
+ onMenuOpen,
833
+ onMenuClose,
834
+ onPreviewPress
835
+ }),
836
+ children: children
837
+ });
838
+ }
839
+
840
+ // ---------------------------------------------------------------------------
841
+ // Containers
842
+
843
+ /** A view with the toolbar's children. */
844
+ function FloatingToolbar(props) {
845
+ const {
846
+ orientation,
847
+ color,
848
+ scrollViewNativeID,
849
+ hideOnScroll,
850
+ ios,
851
+ android,
852
+ children,
853
+ ...viewProps
854
+ } = props;
855
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
856
+ ...viewProps,
857
+ children: children
858
+ });
859
+ }
860
+
861
+ /** A view with its children; a `Pressable` when `onPress` is set. */
862
+ function LiquidGlass(props) {
863
+ const {
864
+ cornerRadius,
865
+ cornerStyle,
866
+ ios,
867
+ android,
868
+ onPress,
869
+ children,
870
+ ...viewProps
871
+ } = props;
872
+ if (!onPress) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
873
+ ...viewProps,
874
+ children: children
875
+ });
876
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
877
+ ...viewProps,
878
+ onPress: event => onPress({
879
+ x: event?.nativeEvent?.locationX ?? 0,
880
+ y: event?.nativeEvent?.locationY ?? 0
881
+ }),
882
+ children: children
883
+ });
884
+ }
885
+
886
+ /** A view with its children. */
887
+ function LiquidGlassContainer(props) {
888
+ const {
889
+ spacing,
890
+ children,
891
+ ...viewProps
892
+ } = props;
893
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
894
+ ...viewProps,
895
+ children: children
896
+ });
897
+ }
898
+
899
+ /** Always `false` under Jest. */
900
+ const isLiquidGlassSupported = exports.isLiquidGlassSupported = false;
901
+
902
+ // ---------------------------------------------------------------------------
903
+ // Theme
904
+
905
+ /** No-op under Jest. */
906
+ function setNativeTheme(_theme) {}
907
+
908
+ /** No-op under Jest. */
909
+ function useNativeTheme(_theme) {}
910
+ //# sourceMappingURL=jest.js.map