react-native-platform-components 1.4.0 → 1.6.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 (600) hide show
  1. package/PlatformComponents.podspec +1 -1
  2. package/README.md +33 -31
  3. package/android/src/main/java/com/platformcomponents/PCButtonGroupView.kt +175 -9
  4. package/android/src/main/java/com/platformcomponents/PCButtonGroupViewManager.kt +52 -2
  5. package/android/src/main/java/com/platformcomponents/PCButtonSupport.kt +44 -12
  6. package/android/src/main/java/com/platformcomponents/PCButtonView.kt +187 -5
  7. package/android/src/main/java/com/platformcomponents/PCButtonViewManager.kt +85 -7
  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 +6 -1
  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 +132 -0
  16. package/android/src/main/java/com/platformcomponents/PCFloatingToolbarViewManager.kt +8 -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 +24 -14
  28. package/android/src/main/java/com/platformcomponents/PCSegmentedControlViewManager.kt +14 -2
  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 +415 -40
  34. package/android/src/main/java/com/platformcomponents/PCTextFieldViewManager.kt +109 -3
  35. package/android/src/main/java/com/platformcomponents/PCThemeSupport.kt +37 -0
  36. package/android/src/main/java/com/platformcomponents/PlatformComponentsPackage.kt +4 -0
  37. package/android/src/main/res/drawable/pc_ic_search.xml +12 -0
  38. package/android/src/main/res/values/ids.xml +5 -0
  39. package/android/src/main/res/values/styles.xml +24 -0
  40. package/ios/PCButton.mm +122 -7
  41. package/ios/PCButtonGroup.mm +68 -1
  42. package/ios/PCButtonGroupView.swift +225 -6
  43. package/ios/PCButtonSupport.swift +181 -10
  44. package/ios/PCButtonView.swift +297 -14
  45. package/ios/PCConstants.swift +23 -2
  46. package/ios/PCContextMenu.mm +28 -110
  47. package/ios/PCContextMenu.swift +106 -167
  48. package/ios/PCDatePicker.mm +21 -9
  49. package/ios/PCDatePickerView.swift +94 -20
  50. package/ios/PCFloatingActionButton.h +10 -0
  51. package/ios/PCFloatingActionButton.mm +177 -0
  52. package/ios/PCFloatingActionButtonView.swift +426 -0
  53. package/ios/PCFloatingToolbar.mm +27 -0
  54. package/ios/PCFloatingToolbarView.swift +241 -0
  55. package/ios/PCHaptics.swift +91 -0
  56. package/ios/PCImageLoader.swift +76 -12
  57. package/ios/PCLiquidGlass.mm +36 -0
  58. package/ios/PCLiquidGlass.swift +221 -114
  59. package/ios/PCLiquidGlassContainer.h +10 -0
  60. package/ios/PCLiquidGlassContainer.mm +84 -0
  61. package/ios/PCLiquidGlassContainer.swift +69 -0
  62. package/ios/PCMenuItems.h +76 -0
  63. package/ios/PCMenuSupport.swift +350 -0
  64. package/ios/PCNavigationRail.h +10 -0
  65. package/ios/PCNavigationRail.mm +270 -0
  66. package/ios/PCNavigationRailView.swift +415 -0
  67. package/ios/PCSegmentedControl.mm +17 -2
  68. package/ios/PCSegmentedControl.swift +57 -7
  69. package/ios/PCSelectionMenu.mm +36 -8
  70. package/ios/PCSelectionMenu.swift +224 -48
  71. package/ios/PCTabBar.h +10 -0
  72. package/ios/PCTabBar.mm +285 -0
  73. package/ios/PCTabBarAccessory.h +10 -0
  74. package/ios/PCTabBarAccessory.mm +93 -0
  75. package/ios/PCTabBarAccessoryView.swift +96 -0
  76. package/ios/PCTabBarView.swift +671 -0
  77. package/ios/PCTextField.mm +159 -4
  78. package/ios/PCTextFieldView.swift +603 -57
  79. package/lib/commonjs/Button.js +73 -1
  80. package/lib/commonjs/Button.js.map +1 -1
  81. package/lib/commonjs/ButtonGroup.js +13 -3
  82. package/lib/commonjs/ButtonGroup.js.map +1 -1
  83. package/lib/commonjs/ButtonGroupNativeComponent.ts +74 -4
  84. package/lib/commonjs/ButtonNativeComponent.ts +119 -3
  85. package/lib/commonjs/ContextMenu.js +9 -48
  86. package/lib/commonjs/ContextMenu.js.map +1 -1
  87. package/lib/commonjs/ContextMenuNativeComponent.ts +47 -49
  88. package/lib/commonjs/DatePicker.js +98 -2
  89. package/lib/commonjs/DatePicker.js.map +1 -1
  90. package/lib/commonjs/DatePickerNativeComponent.ts +19 -2
  91. package/lib/commonjs/FloatingActionButton.js +60 -0
  92. package/lib/commonjs/FloatingActionButton.js.map +1 -0
  93. package/lib/commonjs/FloatingActionButtonNativeComponent.ts +58 -0
  94. package/lib/commonjs/FloatingToolbar.js +9 -1
  95. package/lib/commonjs/FloatingToolbar.js.map +1 -1
  96. package/lib/commonjs/FloatingToolbarNativeComponent.ts +16 -0
  97. package/lib/commonjs/LiquidGlass.js +7 -1
  98. package/lib/commonjs/LiquidGlass.js.map +1 -1
  99. package/lib/commonjs/LiquidGlassContainer.js +32 -0
  100. package/lib/commonjs/LiquidGlassContainer.js.map +1 -0
  101. package/lib/commonjs/LiquidGlassContainerNativeComponent.ts +17 -0
  102. package/lib/commonjs/LiquidGlassNativeComponent.ts +8 -0
  103. package/lib/commonjs/NavigationRail.js +104 -0
  104. package/lib/commonjs/NavigationRail.js.map +1 -0
  105. package/lib/commonjs/NavigationRailNativeComponent.ts +107 -0
  106. package/lib/commonjs/PlatformComponentsProvider.js +18 -0
  107. package/lib/commonjs/PlatformComponentsProvider.js.map +1 -0
  108. package/lib/commonjs/SegmentedControl.js +7 -0
  109. package/lib/commonjs/SegmentedControl.js.map +1 -1
  110. package/lib/commonjs/SegmentedControlNativeComponent.ts +11 -0
  111. package/lib/commonjs/SelectionMenu.js +27 -3
  112. package/lib/commonjs/SelectionMenu.js.map +1 -1
  113. package/lib/commonjs/SelectionMenuNativeComponent.ts +26 -4
  114. package/lib/commonjs/SplitButton.js +98 -0
  115. package/lib/commonjs/SplitButton.js.map +1 -0
  116. package/lib/commonjs/TabBar.js +203 -0
  117. package/lib/commonjs/TabBar.js.map +1 -0
  118. package/lib/commonjs/TabBarAccessoryNativeComponent.ts +19 -0
  119. package/lib/commonjs/TabBarNativeComponent.ts +145 -0
  120. package/lib/commonjs/TextField.js +171 -8
  121. package/lib/commonjs/TextField.js.map +1 -1
  122. package/lib/commonjs/TextFieldNativeComponent.ts +110 -4
  123. package/lib/commonjs/focusRegistry.js +2 -1
  124. package/lib/commonjs/focusRegistry.js.map +1 -1
  125. package/lib/commonjs/haptics.js +2 -0
  126. package/lib/commonjs/haptics.js.map +1 -0
  127. package/lib/commonjs/icons.js +15 -1
  128. package/lib/commonjs/icons.js.map +1 -1
  129. package/lib/commonjs/index.js +77 -0
  130. package/lib/commonjs/index.js.map +1 -1
  131. package/lib/commonjs/index.web.js +156 -92
  132. package/lib/commonjs/index.web.js.map +1 -1
  133. package/lib/commonjs/jest.js +910 -0
  134. package/lib/commonjs/jest.js.map +1 -0
  135. package/lib/commonjs/menuItems.js +68 -0
  136. package/lib/commonjs/menuItems.js.map +1 -0
  137. package/lib/commonjs/selectionIdentifiers.js +18 -0
  138. package/lib/commonjs/selectionIdentifiers.js.map +1 -0
  139. package/lib/commonjs/submitBehavior.js +19 -0
  140. package/lib/commonjs/submitBehavior.js.map +1 -0
  141. package/lib/commonjs/tabItems.js +49 -0
  142. package/lib/commonjs/tabItems.js.map +1 -0
  143. package/lib/commonjs/web/Button.js +170 -0
  144. package/lib/commonjs/web/Button.js.map +1 -0
  145. package/lib/commonjs/web/ButtonGroup.js +119 -0
  146. package/lib/commonjs/web/ButtonGroup.js.map +1 -0
  147. package/lib/commonjs/web/DatePicker.js +168 -0
  148. package/lib/commonjs/web/DatePicker.js.map +1 -0
  149. package/lib/commonjs/web/DateRangePicker.js +137 -0
  150. package/lib/commonjs/web/DateRangePicker.js.map +1 -0
  151. package/lib/commonjs/web/Dialog.js +54 -0
  152. package/lib/commonjs/web/Dialog.js.map +1 -0
  153. package/lib/commonjs/web/FloatingActionButton.js +98 -0
  154. package/lib/commonjs/web/FloatingActionButton.js.map +1 -0
  155. package/lib/commonjs/web/Icon.js +34 -0
  156. package/lib/commonjs/web/Icon.js.map +1 -0
  157. package/lib/commonjs/web/NativeTheme.js +28 -0
  158. package/lib/commonjs/web/NativeTheme.js.map +1 -0
  159. package/lib/commonjs/web/NavigationRail.js +139 -0
  160. package/lib/commonjs/web/NavigationRail.js.map +1 -0
  161. package/lib/commonjs/web/PlatformComponentsProvider.js +51 -0
  162. package/lib/commonjs/web/PlatformComponentsProvider.js.map +1 -0
  163. package/lib/commonjs/web/SegmentedControl.js +117 -0
  164. package/lib/commonjs/web/SegmentedControl.js.map +1 -0
  165. package/lib/commonjs/web/SelectionMenu.js +142 -0
  166. package/lib/commonjs/web/SelectionMenu.js.map +1 -0
  167. package/lib/commonjs/web/SplitButton.js +35 -0
  168. package/lib/commonjs/web/SplitButton.js.map +1 -0
  169. package/lib/commonjs/web/TabBar.js +131 -0
  170. package/lib/commonjs/web/TabBar.js.map +1 -0
  171. package/lib/commonjs/web/TextField.js +322 -0
  172. package/lib/commonjs/web/TextField.js.map +1 -0
  173. package/lib/commonjs/web/components.js +36 -0
  174. package/lib/commonjs/web/components.js.map +1 -0
  175. package/lib/commonjs/web/containers.js +121 -0
  176. package/lib/commonjs/web/containers.js.map +1 -0
  177. package/lib/commonjs/web/dateInput.js +116 -0
  178. package/lib/commonjs/web/dateInput.js.map +1 -0
  179. package/lib/commonjs/web/shared.js +192 -0
  180. package/lib/commonjs/web/shared.js.map +1 -0
  181. package/lib/commonjs/webComponents.js +6 -0
  182. package/lib/commonjs/webComponents.js.map +1 -0
  183. package/lib/module/Button.js +74 -2
  184. package/lib/module/Button.js.map +1 -1
  185. package/lib/module/ButtonGroup.js +13 -3
  186. package/lib/module/ButtonGroup.js.map +1 -1
  187. package/lib/module/ButtonGroupNativeComponent.ts +74 -4
  188. package/lib/module/ButtonNativeComponent.ts +119 -3
  189. package/lib/module/ContextMenu.js +9 -48
  190. package/lib/module/ContextMenu.js.map +1 -1
  191. package/lib/module/ContextMenuNativeComponent.ts +47 -49
  192. package/lib/module/DatePicker.js +98 -4
  193. package/lib/module/DatePicker.js.map +1 -1
  194. package/lib/module/DatePickerNativeComponent.ts +19 -2
  195. package/lib/module/FloatingActionButton.js +53 -0
  196. package/lib/module/FloatingActionButton.js.map +1 -0
  197. package/lib/module/FloatingActionButtonNativeComponent.ts +58 -0
  198. package/lib/module/FloatingToolbar.js +9 -1
  199. package/lib/module/FloatingToolbar.js.map +1 -1
  200. package/lib/module/FloatingToolbarNativeComponent.ts +16 -0
  201. package/lib/module/LiquidGlass.js +7 -1
  202. package/lib/module/LiquidGlass.js.map +1 -1
  203. package/lib/module/LiquidGlassContainer.js +26 -0
  204. package/lib/module/LiquidGlassContainer.js.map +1 -0
  205. package/lib/module/LiquidGlassContainerNativeComponent.ts +17 -0
  206. package/lib/module/LiquidGlassNativeComponent.ts +8 -0
  207. package/lib/module/NavigationRail.js +99 -0
  208. package/lib/module/NavigationRail.js.map +1 -0
  209. package/lib/module/NavigationRailNativeComponent.ts +107 -0
  210. package/lib/module/PlatformComponentsProvider.js +13 -0
  211. package/lib/module/PlatformComponentsProvider.js.map +1 -0
  212. package/lib/module/SegmentedControl.js +9 -1
  213. package/lib/module/SegmentedControl.js.map +1 -1
  214. package/lib/module/SegmentedControlNativeComponent.ts +11 -0
  215. package/lib/module/SelectionMenu.js +27 -3
  216. package/lib/module/SelectionMenu.js.map +1 -1
  217. package/lib/module/SelectionMenuNativeComponent.ts +26 -4
  218. package/lib/module/SplitButton.js +91 -0
  219. package/lib/module/SplitButton.js.map +1 -0
  220. package/lib/module/TabBar.js +196 -0
  221. package/lib/module/TabBar.js.map +1 -0
  222. package/lib/module/TabBarAccessoryNativeComponent.ts +19 -0
  223. package/lib/module/TabBarNativeComponent.ts +145 -0
  224. package/lib/module/TextField.js +172 -9
  225. package/lib/module/TextField.js.map +1 -1
  226. package/lib/module/TextFieldNativeComponent.ts +110 -4
  227. package/lib/module/focusRegistry.js +1 -0
  228. package/lib/module/focusRegistry.js.map +1 -1
  229. package/lib/module/haptics.js +2 -0
  230. package/lib/module/haptics.js.map +1 -0
  231. package/lib/module/icons.js +15 -1
  232. package/lib/module/icons.js.map +1 -1
  233. package/lib/module/index.js +7 -0
  234. package/lib/module/index.js.map +1 -1
  235. package/lib/module/index.web.js +12 -87
  236. package/lib/module/index.web.js.map +1 -1
  237. package/lib/module/jest.js +840 -0
  238. package/lib/module/jest.js.map +1 -0
  239. package/lib/module/menuItems.js +65 -0
  240. package/lib/module/menuItems.js.map +1 -0
  241. package/lib/module/selectionIdentifiers.js +14 -0
  242. package/lib/module/selectionIdentifiers.js.map +1 -0
  243. package/lib/module/submitBehavior.js +15 -0
  244. package/lib/module/submitBehavior.js.map +1 -0
  245. package/lib/module/tabItems.js +45 -0
  246. package/lib/module/tabItems.js.map +1 -0
  247. package/lib/module/web/Button.js +164 -0
  248. package/lib/module/web/Button.js.map +1 -0
  249. package/lib/module/web/ButtonGroup.js +113 -0
  250. package/lib/module/web/ButtonGroup.js.map +1 -0
  251. package/lib/module/web/DatePicker.js +162 -0
  252. package/lib/module/web/DatePicker.js.map +1 -0
  253. package/lib/module/web/DateRangePicker.js +131 -0
  254. package/lib/module/web/DateRangePicker.js.map +1 -0
  255. package/lib/module/web/Dialog.js +48 -0
  256. package/lib/module/web/Dialog.js.map +1 -0
  257. package/lib/module/web/FloatingActionButton.js +94 -0
  258. package/lib/module/web/FloatingActionButton.js.map +1 -0
  259. package/lib/module/web/Icon.js +29 -0
  260. package/lib/module/web/Icon.js.map +1 -0
  261. package/lib/module/web/NativeTheme.js +23 -0
  262. package/lib/module/web/NativeTheme.js.map +1 -0
  263. package/lib/module/web/NavigationRail.js +133 -0
  264. package/lib/module/web/NavigationRail.js.map +1 -0
  265. package/lib/module/web/PlatformComponentsProvider.js +44 -0
  266. package/lib/module/web/PlatformComponentsProvider.js.map +1 -0
  267. package/lib/module/web/SegmentedControl.js +112 -0
  268. package/lib/module/web/SegmentedControl.js.map +1 -0
  269. package/lib/module/web/SelectionMenu.js +137 -0
  270. package/lib/module/web/SelectionMenu.js.map +1 -0
  271. package/lib/module/web/SplitButton.js +30 -0
  272. package/lib/module/web/SplitButton.js.map +1 -0
  273. package/lib/module/web/TabBar.js +126 -0
  274. package/lib/module/web/TabBar.js.map +1 -0
  275. package/lib/module/web/TextField.js +316 -0
  276. package/lib/module/web/TextField.js.map +1 -0
  277. package/lib/module/web/components.js +33 -0
  278. package/lib/module/web/components.js.map +1 -0
  279. package/lib/module/web/containers.js +112 -0
  280. package/lib/module/web/containers.js.map +1 -0
  281. package/lib/module/web/dateInput.js +109 -0
  282. package/lib/module/web/dateInput.js.map +1 -0
  283. package/lib/module/web/shared.js +179 -0
  284. package/lib/module/web/shared.js.map +1 -0
  285. package/lib/module/webComponents.js +4 -0
  286. package/lib/module/webComponents.js.map +1 -0
  287. package/lib/typescript/commonjs/docs/sidebars.d.ts.map +1 -1
  288. package/lib/typescript/commonjs/src/Button.d.ts +111 -3
  289. package/lib/typescript/commonjs/src/Button.d.ts.map +1 -1
  290. package/lib/typescript/commonjs/src/ButtonGroup.d.ts +21 -6
  291. package/lib/typescript/commonjs/src/ButtonGroup.d.ts.map +1 -1
  292. package/lib/typescript/commonjs/src/ButtonGroupNativeComponent.d.ts +64 -3
  293. package/lib/typescript/commonjs/src/ButtonGroupNativeComponent.d.ts.map +1 -1
  294. package/lib/typescript/commonjs/src/ButtonNativeComponent.d.ts +94 -3
  295. package/lib/typescript/commonjs/src/ButtonNativeComponent.d.ts.map +1 -1
  296. package/lib/typescript/commonjs/src/ContextMenu.d.ts +20 -33
  297. package/lib/typescript/commonjs/src/ContextMenu.d.ts.map +1 -1
  298. package/lib/typescript/commonjs/src/ContextMenuNativeComponent.d.ts +45 -47
  299. package/lib/typescript/commonjs/src/ContextMenuNativeComponent.d.ts.map +1 -1
  300. package/lib/typescript/commonjs/src/DatePicker.d.ts +74 -1
  301. package/lib/typescript/commonjs/src/DatePicker.d.ts.map +1 -1
  302. package/lib/typescript/commonjs/src/DatePickerNativeComponent.d.ts +16 -1
  303. package/lib/typescript/commonjs/src/DatePickerNativeComponent.d.ts.map +1 -1
  304. package/lib/typescript/commonjs/src/FloatingActionButton.d.ts +67 -0
  305. package/lib/typescript/commonjs/src/FloatingActionButton.d.ts.map +1 -0
  306. package/lib/typescript/commonjs/src/FloatingActionButtonNativeComponent.d.ts +43 -0
  307. package/lib/typescript/commonjs/src/FloatingActionButtonNativeComponent.d.ts.map +1 -0
  308. package/lib/typescript/commonjs/src/FloatingToolbar.d.ts +30 -0
  309. package/lib/typescript/commonjs/src/FloatingToolbar.d.ts.map +1 -1
  310. package/lib/typescript/commonjs/src/FloatingToolbarNativeComponent.d.ts +12 -0
  311. package/lib/typescript/commonjs/src/FloatingToolbarNativeComponent.d.ts.map +1 -1
  312. package/lib/typescript/commonjs/src/LiquidGlass.d.ts +17 -0
  313. package/lib/typescript/commonjs/src/LiquidGlass.d.ts.map +1 -1
  314. package/lib/typescript/commonjs/src/LiquidGlassContainer.d.ts +27 -0
  315. package/lib/typescript/commonjs/src/LiquidGlassContainer.d.ts.map +1 -0
  316. package/lib/typescript/commonjs/src/LiquidGlassContainerNativeComponent.d.ts +13 -0
  317. package/lib/typescript/commonjs/src/LiquidGlassContainerNativeComponent.d.ts.map +1 -0
  318. package/lib/typescript/commonjs/src/LiquidGlassNativeComponent.d.ts +7 -0
  319. package/lib/typescript/commonjs/src/LiquidGlassNativeComponent.d.ts.map +1 -1
  320. package/lib/typescript/commonjs/src/NavigationRail.d.ts +86 -0
  321. package/lib/typescript/commonjs/src/NavigationRail.d.ts.map +1 -0
  322. package/lib/typescript/commonjs/src/NavigationRailNativeComponent.d.ts +81 -0
  323. package/lib/typescript/commonjs/src/NavigationRailNativeComponent.d.ts.map +1 -0
  324. package/lib/typescript/commonjs/src/PlatformComponentsProvider.d.ts +6 -0
  325. package/lib/typescript/commonjs/src/PlatformComponentsProvider.d.ts.map +1 -0
  326. package/lib/typescript/commonjs/src/SegmentedControl.d.ts +18 -1
  327. package/lib/typescript/commonjs/src/SegmentedControl.d.ts.map +1 -1
  328. package/lib/typescript/commonjs/src/SegmentedControlNativeComponent.d.ts +9 -0
  329. package/lib/typescript/commonjs/src/SegmentedControlNativeComponent.d.ts.map +1 -1
  330. package/lib/typescript/commonjs/src/SelectionMenu.d.ts +44 -2
  331. package/lib/typescript/commonjs/src/SelectionMenu.d.ts.map +1 -1
  332. package/lib/typescript/commonjs/src/SelectionMenuNativeComponent.d.ts +20 -4
  333. package/lib/typescript/commonjs/src/SelectionMenuNativeComponent.d.ts.map +1 -1
  334. package/lib/typescript/commonjs/src/SplitButton.d.ts +83 -0
  335. package/lib/typescript/commonjs/src/SplitButton.d.ts.map +1 -0
  336. package/lib/typescript/commonjs/src/TabBar.d.ts +144 -0
  337. package/lib/typescript/commonjs/src/TabBar.d.ts.map +1 -0
  338. package/lib/typescript/commonjs/src/TabBarAccessoryNativeComponent.d.ts +13 -0
  339. package/lib/typescript/commonjs/src/TabBarAccessoryNativeComponent.d.ts.map +1 -0
  340. package/lib/typescript/commonjs/src/TabBarNativeComponent.d.ts +110 -0
  341. package/lib/typescript/commonjs/src/TabBarNativeComponent.d.ts.map +1 -0
  342. package/lib/typescript/commonjs/src/TextField.d.ts +166 -8
  343. package/lib/typescript/commonjs/src/TextField.d.ts.map +1 -1
  344. package/lib/typescript/commonjs/src/TextFieldNativeComponent.d.ts +81 -3
  345. package/lib/typescript/commonjs/src/TextFieldNativeComponent.d.ts.map +1 -1
  346. package/lib/typescript/commonjs/src/focusRegistry.d.ts.map +1 -1
  347. package/lib/typescript/commonjs/src/haptics.d.ts +20 -0
  348. package/lib/typescript/commonjs/src/haptics.d.ts.map +1 -0
  349. package/lib/typescript/commonjs/src/icons.d.ts +7 -1
  350. package/lib/typescript/commonjs/src/icons.d.ts.map +1 -1
  351. package/lib/typescript/commonjs/src/index.d.ts +7 -0
  352. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  353. package/lib/typescript/commonjs/src/index.web.d.ts +25 -254
  354. package/lib/typescript/commonjs/src/index.web.d.ts.map +1 -1
  355. package/lib/typescript/commonjs/src/jest.d.ts +139 -0
  356. package/lib/typescript/commonjs/src/jest.d.ts.map +1 -0
  357. package/lib/typescript/commonjs/src/menuItems.d.ts +100 -0
  358. package/lib/typescript/commonjs/src/menuItems.d.ts.map +1 -0
  359. package/lib/typescript/commonjs/src/selectionIdentifiers.d.ts +3 -0
  360. package/lib/typescript/commonjs/src/selectionIdentifiers.d.ts.map +1 -0
  361. package/lib/typescript/commonjs/src/submitBehavior.d.ts +9 -0
  362. package/lib/typescript/commonjs/src/submitBehavior.d.ts.map +1 -0
  363. package/lib/typescript/commonjs/src/tabItems.d.ts +55 -0
  364. package/lib/typescript/commonjs/src/tabItems.d.ts.map +1 -0
  365. package/lib/typescript/commonjs/src/web/Button.d.ts +9 -0
  366. package/lib/typescript/commonjs/src/web/Button.d.ts.map +1 -0
  367. package/lib/typescript/commonjs/src/web/ButtonGroup.d.ts +11 -0
  368. package/lib/typescript/commonjs/src/web/ButtonGroup.d.ts.map +1 -0
  369. package/lib/typescript/commonjs/src/web/DatePicker.d.ts +14 -0
  370. package/lib/typescript/commonjs/src/web/DatePicker.d.ts.map +1 -0
  371. package/lib/typescript/commonjs/src/web/DateRangePicker.d.ts +11 -0
  372. package/lib/typescript/commonjs/src/web/DateRangePicker.d.ts.map +1 -0
  373. package/lib/typescript/commonjs/src/web/Dialog.d.ts +12 -0
  374. package/lib/typescript/commonjs/src/web/Dialog.d.ts.map +1 -0
  375. package/lib/typescript/commonjs/src/web/FloatingActionButton.d.ts +8 -0
  376. package/lib/typescript/commonjs/src/web/FloatingActionButton.d.ts.map +1 -0
  377. package/lib/typescript/commonjs/src/web/Icon.d.ts +12 -0
  378. package/lib/typescript/commonjs/src/web/Icon.d.ts.map +1 -0
  379. package/lib/typescript/commonjs/src/web/NativeTheme.d.ts +10 -0
  380. package/lib/typescript/commonjs/src/web/NativeTheme.d.ts.map +1 -0
  381. package/lib/typescript/commonjs/src/web/NavigationRail.d.ts +8 -0
  382. package/lib/typescript/commonjs/src/web/NavigationRail.d.ts.map +1 -0
  383. package/lib/typescript/commonjs/src/web/PlatformComponentsProvider.d.ts +10 -0
  384. package/lib/typescript/commonjs/src/web/PlatformComponentsProvider.d.ts.map +1 -0
  385. package/lib/typescript/commonjs/src/web/SegmentedControl.d.ts +8 -0
  386. package/lib/typescript/commonjs/src/web/SegmentedControl.d.ts.map +1 -0
  387. package/lib/typescript/commonjs/src/web/SelectionMenu.d.ts +10 -0
  388. package/lib/typescript/commonjs/src/web/SelectionMenu.d.ts.map +1 -0
  389. package/lib/typescript/commonjs/src/web/SplitButton.d.ts +9 -0
  390. package/lib/typescript/commonjs/src/web/SplitButton.d.ts.map +1 -0
  391. package/lib/typescript/commonjs/src/web/TabBar.d.ts +9 -0
  392. package/lib/typescript/commonjs/src/web/TabBar.d.ts.map +1 -0
  393. package/lib/typescript/commonjs/src/web/TextField.d.ts +9 -0
  394. package/lib/typescript/commonjs/src/web/TextField.d.ts.map +1 -0
  395. package/lib/typescript/commonjs/src/web/components.d.ts +17 -0
  396. package/lib/typescript/commonjs/src/web/components.d.ts.map +1 -0
  397. package/lib/typescript/commonjs/src/web/containers.d.ts +24 -0
  398. package/lib/typescript/commonjs/src/web/containers.d.ts.map +1 -0
  399. package/lib/typescript/commonjs/src/web/dateInput.d.ts +20 -0
  400. package/lib/typescript/commonjs/src/web/dateInput.d.ts.map +1 -0
  401. package/lib/typescript/commonjs/src/web/shared.d.ts +43 -0
  402. package/lib/typescript/commonjs/src/web/shared.d.ts.map +1 -0
  403. package/lib/typescript/commonjs/src/webComponents.d.ts +43 -0
  404. package/lib/typescript/commonjs/src/webComponents.d.ts.map +1 -0
  405. package/lib/typescript/module/docs/sidebars.d.ts.map +1 -1
  406. package/lib/typescript/module/src/Button.d.ts +111 -3
  407. package/lib/typescript/module/src/Button.d.ts.map +1 -1
  408. package/lib/typescript/module/src/ButtonGroup.d.ts +21 -6
  409. package/lib/typescript/module/src/ButtonGroup.d.ts.map +1 -1
  410. package/lib/typescript/module/src/ButtonGroupNativeComponent.d.ts +64 -3
  411. package/lib/typescript/module/src/ButtonGroupNativeComponent.d.ts.map +1 -1
  412. package/lib/typescript/module/src/ButtonNativeComponent.d.ts +94 -3
  413. package/lib/typescript/module/src/ButtonNativeComponent.d.ts.map +1 -1
  414. package/lib/typescript/module/src/ContextMenu.d.ts +20 -33
  415. package/lib/typescript/module/src/ContextMenu.d.ts.map +1 -1
  416. package/lib/typescript/module/src/ContextMenuNativeComponent.d.ts +45 -47
  417. package/lib/typescript/module/src/ContextMenuNativeComponent.d.ts.map +1 -1
  418. package/lib/typescript/module/src/DatePicker.d.ts +74 -1
  419. package/lib/typescript/module/src/DatePicker.d.ts.map +1 -1
  420. package/lib/typescript/module/src/DatePickerNativeComponent.d.ts +16 -1
  421. package/lib/typescript/module/src/DatePickerNativeComponent.d.ts.map +1 -1
  422. package/lib/typescript/module/src/FloatingActionButton.d.ts +67 -0
  423. package/lib/typescript/module/src/FloatingActionButton.d.ts.map +1 -0
  424. package/lib/typescript/module/src/FloatingActionButtonNativeComponent.d.ts +43 -0
  425. package/lib/typescript/module/src/FloatingActionButtonNativeComponent.d.ts.map +1 -0
  426. package/lib/typescript/module/src/FloatingToolbar.d.ts +30 -0
  427. package/lib/typescript/module/src/FloatingToolbar.d.ts.map +1 -1
  428. package/lib/typescript/module/src/FloatingToolbarNativeComponent.d.ts +12 -0
  429. package/lib/typescript/module/src/FloatingToolbarNativeComponent.d.ts.map +1 -1
  430. package/lib/typescript/module/src/LiquidGlass.d.ts +17 -0
  431. package/lib/typescript/module/src/LiquidGlass.d.ts.map +1 -1
  432. package/lib/typescript/module/src/LiquidGlassContainer.d.ts +27 -0
  433. package/lib/typescript/module/src/LiquidGlassContainer.d.ts.map +1 -0
  434. package/lib/typescript/module/src/LiquidGlassContainerNativeComponent.d.ts +13 -0
  435. package/lib/typescript/module/src/LiquidGlassContainerNativeComponent.d.ts.map +1 -0
  436. package/lib/typescript/module/src/LiquidGlassNativeComponent.d.ts +7 -0
  437. package/lib/typescript/module/src/LiquidGlassNativeComponent.d.ts.map +1 -1
  438. package/lib/typescript/module/src/NavigationRail.d.ts +86 -0
  439. package/lib/typescript/module/src/NavigationRail.d.ts.map +1 -0
  440. package/lib/typescript/module/src/NavigationRailNativeComponent.d.ts +81 -0
  441. package/lib/typescript/module/src/NavigationRailNativeComponent.d.ts.map +1 -0
  442. package/lib/typescript/module/src/PlatformComponentsProvider.d.ts +6 -0
  443. package/lib/typescript/module/src/PlatformComponentsProvider.d.ts.map +1 -0
  444. package/lib/typescript/module/src/SegmentedControl.d.ts +18 -1
  445. package/lib/typescript/module/src/SegmentedControl.d.ts.map +1 -1
  446. package/lib/typescript/module/src/SegmentedControlNativeComponent.d.ts +9 -0
  447. package/lib/typescript/module/src/SegmentedControlNativeComponent.d.ts.map +1 -1
  448. package/lib/typescript/module/src/SelectionMenu.d.ts +44 -2
  449. package/lib/typescript/module/src/SelectionMenu.d.ts.map +1 -1
  450. package/lib/typescript/module/src/SelectionMenuNativeComponent.d.ts +20 -4
  451. package/lib/typescript/module/src/SelectionMenuNativeComponent.d.ts.map +1 -1
  452. package/lib/typescript/module/src/SplitButton.d.ts +83 -0
  453. package/lib/typescript/module/src/SplitButton.d.ts.map +1 -0
  454. package/lib/typescript/module/src/TabBar.d.ts +144 -0
  455. package/lib/typescript/module/src/TabBar.d.ts.map +1 -0
  456. package/lib/typescript/module/src/TabBarAccessoryNativeComponent.d.ts +13 -0
  457. package/lib/typescript/module/src/TabBarAccessoryNativeComponent.d.ts.map +1 -0
  458. package/lib/typescript/module/src/TabBarNativeComponent.d.ts +110 -0
  459. package/lib/typescript/module/src/TabBarNativeComponent.d.ts.map +1 -0
  460. package/lib/typescript/module/src/TextField.d.ts +166 -8
  461. package/lib/typescript/module/src/TextField.d.ts.map +1 -1
  462. package/lib/typescript/module/src/TextFieldNativeComponent.d.ts +81 -3
  463. package/lib/typescript/module/src/TextFieldNativeComponent.d.ts.map +1 -1
  464. package/lib/typescript/module/src/focusRegistry.d.ts.map +1 -1
  465. package/lib/typescript/module/src/haptics.d.ts +20 -0
  466. package/lib/typescript/module/src/haptics.d.ts.map +1 -0
  467. package/lib/typescript/module/src/icons.d.ts +7 -1
  468. package/lib/typescript/module/src/icons.d.ts.map +1 -1
  469. package/lib/typescript/module/src/index.d.ts +7 -0
  470. package/lib/typescript/module/src/index.d.ts.map +1 -1
  471. package/lib/typescript/module/src/index.web.d.ts +25 -254
  472. package/lib/typescript/module/src/index.web.d.ts.map +1 -1
  473. package/lib/typescript/module/src/jest.d.ts +139 -0
  474. package/lib/typescript/module/src/jest.d.ts.map +1 -0
  475. package/lib/typescript/module/src/menuItems.d.ts +100 -0
  476. package/lib/typescript/module/src/menuItems.d.ts.map +1 -0
  477. package/lib/typescript/module/src/selectionIdentifiers.d.ts +3 -0
  478. package/lib/typescript/module/src/selectionIdentifiers.d.ts.map +1 -0
  479. package/lib/typescript/module/src/submitBehavior.d.ts +9 -0
  480. package/lib/typescript/module/src/submitBehavior.d.ts.map +1 -0
  481. package/lib/typescript/module/src/tabItems.d.ts +55 -0
  482. package/lib/typescript/module/src/tabItems.d.ts.map +1 -0
  483. package/lib/typescript/module/src/web/Button.d.ts +9 -0
  484. package/lib/typescript/module/src/web/Button.d.ts.map +1 -0
  485. package/lib/typescript/module/src/web/ButtonGroup.d.ts +11 -0
  486. package/lib/typescript/module/src/web/ButtonGroup.d.ts.map +1 -0
  487. package/lib/typescript/module/src/web/DatePicker.d.ts +14 -0
  488. package/lib/typescript/module/src/web/DatePicker.d.ts.map +1 -0
  489. package/lib/typescript/module/src/web/DateRangePicker.d.ts +11 -0
  490. package/lib/typescript/module/src/web/DateRangePicker.d.ts.map +1 -0
  491. package/lib/typescript/module/src/web/Dialog.d.ts +12 -0
  492. package/lib/typescript/module/src/web/Dialog.d.ts.map +1 -0
  493. package/lib/typescript/module/src/web/FloatingActionButton.d.ts +8 -0
  494. package/lib/typescript/module/src/web/FloatingActionButton.d.ts.map +1 -0
  495. package/lib/typescript/module/src/web/Icon.d.ts +12 -0
  496. package/lib/typescript/module/src/web/Icon.d.ts.map +1 -0
  497. package/lib/typescript/module/src/web/NativeTheme.d.ts +10 -0
  498. package/lib/typescript/module/src/web/NativeTheme.d.ts.map +1 -0
  499. package/lib/typescript/module/src/web/NavigationRail.d.ts +8 -0
  500. package/lib/typescript/module/src/web/NavigationRail.d.ts.map +1 -0
  501. package/lib/typescript/module/src/web/PlatformComponentsProvider.d.ts +10 -0
  502. package/lib/typescript/module/src/web/PlatformComponentsProvider.d.ts.map +1 -0
  503. package/lib/typescript/module/src/web/SegmentedControl.d.ts +8 -0
  504. package/lib/typescript/module/src/web/SegmentedControl.d.ts.map +1 -0
  505. package/lib/typescript/module/src/web/SelectionMenu.d.ts +10 -0
  506. package/lib/typescript/module/src/web/SelectionMenu.d.ts.map +1 -0
  507. package/lib/typescript/module/src/web/SplitButton.d.ts +9 -0
  508. package/lib/typescript/module/src/web/SplitButton.d.ts.map +1 -0
  509. package/lib/typescript/module/src/web/TabBar.d.ts +9 -0
  510. package/lib/typescript/module/src/web/TabBar.d.ts.map +1 -0
  511. package/lib/typescript/module/src/web/TextField.d.ts +9 -0
  512. package/lib/typescript/module/src/web/TextField.d.ts.map +1 -0
  513. package/lib/typescript/module/src/web/components.d.ts +17 -0
  514. package/lib/typescript/module/src/web/components.d.ts.map +1 -0
  515. package/lib/typescript/module/src/web/containers.d.ts +24 -0
  516. package/lib/typescript/module/src/web/containers.d.ts.map +1 -0
  517. package/lib/typescript/module/src/web/dateInput.d.ts +20 -0
  518. package/lib/typescript/module/src/web/dateInput.d.ts.map +1 -0
  519. package/lib/typescript/module/src/web/shared.d.ts +43 -0
  520. package/lib/typescript/module/src/web/shared.d.ts.map +1 -0
  521. package/lib/typescript/module/src/webComponents.d.ts +43 -0
  522. package/lib/typescript/module/src/webComponents.d.ts.map +1 -0
  523. package/package.json +32 -2
  524. package/plugin/build/index.cjs +79 -6
  525. package/plugin/build/index.d.ts +27 -2
  526. package/plugin/build/index.d.ts.map +1 -1
  527. package/plugin/tsconfig.json +2 -1
  528. package/react-native.config.js +3 -0
  529. package/shared/PCFloatingActionButtonComponentDescriptors-custom.h +22 -0
  530. package/shared/PCFloatingActionButtonShadowNode-custom.cpp +48 -0
  531. package/shared/PCFloatingActionButtonShadowNode-custom.h +54 -0
  532. package/shared/PCFloatingActionButtonState-custom.h +61 -0
  533. package/shared/PCNavigationRailComponentDescriptors-custom.h +47 -0
  534. package/shared/PCNavigationRailShadowNode-custom.h +42 -0
  535. package/shared/PCNavigationRailState-custom.h +62 -0
  536. package/shared/PCTabBarComponentDescriptors-custom.h +22 -0
  537. package/shared/PCTabBarShadowNode-custom.cpp +54 -0
  538. package/shared/PCTabBarShadowNode-custom.h +54 -0
  539. package/shared/PCTabBarState-custom.h +62 -0
  540. package/shared/react/renderer/components/PlatformComponentsViewSpec/ComponentDescriptors.h +3 -0
  541. package/src/Button.tsx +222 -7
  542. package/src/ButtonGroup.tsx +29 -11
  543. package/src/ButtonGroupNativeComponent.ts +74 -4
  544. package/src/ButtonNativeComponent.ts +119 -3
  545. package/src/ContextMenu.tsx +34 -81
  546. package/src/ContextMenuNativeComponent.ts +47 -49
  547. package/src/DatePicker.tsx +182 -4
  548. package/src/DatePickerNativeComponent.ts +19 -2
  549. package/src/FloatingActionButton.tsx +121 -0
  550. package/src/FloatingActionButtonNativeComponent.ts +58 -0
  551. package/src/FloatingToolbar.tsx +54 -3
  552. package/src/FloatingToolbarNativeComponent.ts +16 -0
  553. package/src/LiquidGlass.tsx +24 -1
  554. package/src/LiquidGlassContainer.tsx +42 -0
  555. package/src/LiquidGlassContainerNativeComponent.ts +17 -0
  556. package/src/LiquidGlassNativeComponent.ts +8 -0
  557. package/src/NavigationRail.tsx +203 -0
  558. package/src/NavigationRailNativeComponent.ts +107 -0
  559. package/src/PlatformComponentsProvider.tsx +15 -0
  560. package/src/SegmentedControl.tsx +31 -1
  561. package/src/SegmentedControlNativeComponent.ts +11 -0
  562. package/src/SelectionMenu.tsx +81 -6
  563. package/src/SelectionMenuNativeComponent.ts +26 -4
  564. package/src/SplitButton.tsx +198 -0
  565. package/src/TabBar.tsx +373 -0
  566. package/src/TabBarAccessoryNativeComponent.ts +19 -0
  567. package/src/TabBarNativeComponent.ts +145 -0
  568. package/src/TextField.tsx +428 -14
  569. package/src/TextFieldNativeComponent.ts +110 -4
  570. package/src/focusRegistry.ts +1 -0
  571. package/src/haptics.ts +31 -0
  572. package/src/icons.ts +28 -1
  573. package/src/index.tsx +7 -0
  574. package/src/index.web.tsx +51 -391
  575. package/src/jest.tsx +958 -0
  576. package/src/menuItems.ts +152 -0
  577. package/src/selectionIdentifiers.ts +17 -0
  578. package/src/submitBehavior.ts +16 -0
  579. package/src/tabItems.ts +113 -0
  580. package/src/web/Button.tsx +201 -0
  581. package/src/web/ButtonGroup.tsx +154 -0
  582. package/src/web/DatePicker.tsx +204 -0
  583. package/src/web/DateRangePicker.tsx +135 -0
  584. package/src/web/Dialog.tsx +54 -0
  585. package/src/web/FloatingActionButton.tsx +76 -0
  586. package/src/web/Icon.tsx +33 -0
  587. package/src/web/NativeTheme.ts +23 -0
  588. package/src/web/NavigationRail.tsx +148 -0
  589. package/src/web/PlatformComponentsProvider.tsx +48 -0
  590. package/src/web/SegmentedControl.tsx +127 -0
  591. package/src/web/SelectionMenu.tsx +149 -0
  592. package/src/web/SplitButton.tsx +32 -0
  593. package/src/web/TabBar.tsx +150 -0
  594. package/src/web/TextField.tsx +361 -0
  595. package/src/web/components.tsx +71 -0
  596. package/src/web/containers.tsx +130 -0
  597. package/src/web/dateInput.ts +137 -0
  598. package/src/web/shared.ts +176 -0
  599. package/src/webComponents.ts +45 -0
  600. package/android/src/main/java/com/platformcomponents/DateConstraints.kt +0 -83
@@ -3,6 +3,7 @@ import type { ColorValue, ViewProps } from 'react-native';
3
3
  import type { ButtonShape, ButtonSize, ButtonVariant } from './Button.js';
4
4
  import { type PlatformIcon } from './icons.js';
5
5
  import { type LabelStyle } from './labelStyle.js';
6
+ import type { Haptics } from './haptics.js';
6
7
  import type { AndroidMaterialStyle } from './sharedTypes.js';
7
8
  /**
8
9
  * Selection behavior of the group.
@@ -12,7 +13,14 @@ import type { AndroidMaterialStyle } from './sharedTypes.js';
12
13
  * - `multiple`: any number of buttons can be selected.
13
14
  */
14
15
  export type ButtonGroupSelection = 'none' | 'single' | 'multiple';
15
- /** What happens to buttons that don't fit the group's width (Android). */
16
+ /**
17
+ * What happens to buttons that don't fit the group's width.
18
+ *
19
+ * - `none` (default): they are clipped.
20
+ * - `menu`: the trailing ones move into an overflow menu. Android: the
21
+ * `MaterialButtonGroup` overflow menu. iOS: a "…" button with a `UIMenu`.
22
+ * - `wrap`: they wrap onto more rows (Android only; iOS clips them).
23
+ */
16
24
  export type ButtonGroupOverflow = 'none' | 'menu' | 'wrap';
17
25
  export interface ButtonGroupButtonProps {
18
26
  /** Button text. Omit for an icon-only button. */
@@ -63,6 +71,17 @@ export interface ButtonGroupProps extends ViewProps {
63
71
  tintColor?: ColorValue;
64
72
  /** Label font. */
65
73
  labelStyle?: LabelStyle;
74
+ /**
75
+ * What happens to buttons that don't fit the group's width. Default:
76
+ * `'none'`. See {@link ButtonGroupOverflow}. A pick from the overflow menu
77
+ * counts as a press of its button (`onPress`, and the selection).
78
+ */
79
+ overflow?: ButtonGroupOverflow;
80
+ /**
81
+ * Haptic played when a button is pressed, in every selection mode.
82
+ * Default: none, like the native buttons. See {@link Haptics}.
83
+ */
84
+ haptics?: Haptics;
66
85
  /**
67
86
  * Called when a button is pressed, in every selection mode.
68
87
  * @param value - The button's value
@@ -78,11 +97,7 @@ export interface ButtonGroupProps extends ViewProps {
78
97
  * Android-specific configuration
79
98
  */
80
99
  android?: {
81
- /**
82
- * What happens to buttons that don't fit: `'none'` (clipped), `'menu'`
83
- * (moved into an overflow menu) or `'wrap'` (wrapped onto more rows).
84
- * Default: `'none'`.
85
- */
100
+ /** @deprecated Use the cross-platform `overflow` prop. */
86
101
  overflow?: ButtonGroupOverflow;
87
102
  /** Ripple color shown while pressing a button. */
88
103
  rippleColor?: ColorValue;
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../../src/ButtonGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAU,CAAC;AAMvE,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,YAAS,CAAC;AACzD,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,iBAAc,CAAC;AACpE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAe,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElE,0EAA0E;AAC1E,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,yBAAyB;IACzB,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAE3C,uDAAuD;IACvD,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,gDAAgD;IAChD,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,oBAAoB,CAAC;IAEjC;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mDAAmD;IACnD,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB,kBAAkB;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAE/C;;OAEG;IACH,OAAO,CAAC,EAAE;QACR;;;;WAIG;QACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;QAE/B,kDAAkD;QAClD,WAAW,CAAC,EAAE,UAAU,CAAC;QAEzB,wCAAwC;QACxC,WAAW,CAAC,EAAE,UAAU,CAAC;QAEzB;;;;WAIG;QACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;KACjC,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAiGvE"}
1
+ {"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../../src/ButtonGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAU,CAAC;AAMvE,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,YAAS,CAAC;AACzD,OAAO,EAAuB,KAAK,UAAU,EAAE,MAAM,iBAAc,CAAC;AACpE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAW,CAAC;AACzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAe,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,CAAC;AAElE;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE3D,MAAM,WAAW,sBAAsB;IACrC,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;IAEd,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,YAAY,CAAC;IAEpB,gDAAgD;IAChD,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,yBAAyB;IACzB,OAAO,EAAE,SAAS,sBAAsB,EAAE,CAAC;IAE3C,uDAAuD;IACvD,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,gDAAgD;IAChD,IAAI,CAAC,EAAE,UAAU,CAAC;IAElB,+DAA+D;IAC/D,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,oBAAoB,CAAC;IAEjC;;;OAGG;IACH,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAEnC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,mDAAmD;IACnD,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,2CAA2C;IAC3C,SAAS,CAAC,EAAE,UAAU,CAAC;IAEvB,kBAAkB;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAE/B;;;OAGG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;;OAIG;IACH,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAEjD;;;OAGG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAE/C;;OAEG;IACH,OAAO,CAAC,EAAE;QACR,0DAA0D;QAC1D,QAAQ,CAAC,EAAE,mBAAmB,CAAC;QAE/B,kDAAkD;QAClD,WAAW,CAAC,EAAE,UAAU,CAAC;QAEzB,wCAAwC;QACxC,WAAW,CAAC,EAAE,UAAU,CAAC;QAEzB;;;;WAIG;QACH,QAAQ,CAAC,EAAE,oBAAoB,CAAC;KACjC,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAkGvE"}
@@ -10,6 +10,7 @@ export type ButtonGroupButton = Readonly<{
10
10
  disabled: string;
11
11
  iconType: string;
12
12
  iconName: string;
13
+ iconRequest: string;
13
14
  iconUri: string;
14
15
  iconScale: Double;
15
16
  iconTinted: string;
@@ -38,19 +39,54 @@ export type ButtonGroupLabelStyleProps = Readonly<{
38
39
  fontWeight?: string;
39
40
  fontStyle?: string;
40
41
  }>;
42
+ /**
43
+ * One item of the split button's menu, the shape of `ContextMenuItem` (see
44
+ * menuItems.ts). Every field is set; empty strings mean "none" and flags are
45
+ * 'true' | 'false'.
46
+ */
47
+ export type ButtonGroupMenuItem = Readonly<{
48
+ id: string;
49
+ title: string;
50
+ subtitle: string;
51
+ /** Index of the parent submenu or section; -1 at the top level */
52
+ parent: Int32;
53
+ /** 'action' | 'menu' | 'section' */
54
+ kind: string;
55
+ /** '' | 'sfSymbol' | 'drawable' | 'image' */
56
+ iconType: string;
57
+ iconName: string;
58
+ iconRequest: string;
59
+ iconUri: string;
60
+ iconScale: Double;
61
+ iconTinted: string;
62
+ imageColor: string;
63
+ destructive: string;
64
+ disabled: string;
65
+ keepsMenuPresented: string;
66
+ /** '' | 'off' | 'on' | 'mixed' */
67
+ state: string;
68
+ /** The action's own haptics; '' = the component's */
69
+ haptics: string;
70
+ }>;
71
+ /** Event emitted when a split button menu item is picked. */
72
+ export type ButtonGroupMenuSelectEvent = Readonly<{
73
+ id: string;
74
+ title: string;
75
+ }>;
41
76
  /**
42
77
  * Android-specific configuration.
43
78
  */
44
79
  export type ButtonGroupAndroidProps = Readonly<{
45
- /** What happens to buttons that don't fit: 'none' | 'menu' | 'wrap' */
46
- overflow?: string;
47
80
  /** Material style: 'm3' | 'expressive' */
48
81
  material?: string;
49
82
  }>;
50
83
  export interface ButtonGroupNativeProps extends ViewProps {
51
84
  /** Buttons to display. */
52
85
  buttons: ReadonlyArray<ButtonGroupButton>;
53
- /** 'filled' | 'tonal' | 'outlined' | 'text' | 'elevated' */
86
+ /**
87
+ * 'filled' | 'tonal' | 'outlined' | 'text' | 'elevated' | 'glass' |
88
+ * 'prominentGlass' | 'clearGlass' | 'prominentClearGlass'
89
+ */
54
90
  variant?: string;
55
91
  /** 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' */
56
92
  size?: string;
@@ -78,6 +114,25 @@ export interface ButtonGroupNativeProps extends ViewProps {
78
114
  androidStrokeColor?: ColorValue;
79
115
  /** Label font. */
80
116
  labelStyle?: ButtonGroupLabelStyleProps;
117
+ /**
118
+ * What happens to buttons that don't fit: 'none' | 'menu' | 'wrap'
119
+ * ('wrap' is Android only)
120
+ */
121
+ overflow?: string;
122
+ /**
123
+ * 'true' | 'false': a split button, the first button joined to a trailing
124
+ * button that opens `menu` (SplitButton).
125
+ */
126
+ split?: string;
127
+ /** The split button's menu, flattened (see ButtonGroupMenuItem). */
128
+ menu?: ReadonlyArray<ButtonGroupMenuItem>;
129
+ /** Screen-reader label of the split button's menu button. */
130
+ menuAccessibilityLabel?: string;
131
+ /**
132
+ * Haptic played when a button is pressed: '' (none added) | 'none' | 'selection' |
133
+ * 'light' | 'medium' | 'heavy' | 'success' | 'warning' | 'error'
134
+ */
135
+ haptics?: string;
81
136
  /** Fired when a button is pressed. */
82
137
  onButtonPress?: BubblingEventHandler<ButtonGroupPressEvent>;
83
138
  /**
@@ -86,6 +141,12 @@ export interface ButtonGroupNativeProps extends ViewProps {
86
141
  * name can't be both direct and bubbling.
87
142
  */
88
143
  onGroupSelectionChange?: BubblingEventHandler<ButtonGroupSelectionEvent>;
144
+ /** Fired when a split button menu item is picked. */
145
+ onMenuSelect?: BubblingEventHandler<ButtonGroupMenuSelectEvent>;
146
+ /** Fired when the split button's menu opens. */
147
+ onMenuOpen?: BubblingEventHandler<Readonly<{}>>;
148
+ /** Fired when the split button's menu closes. */
149
+ onMenuClose?: BubblingEventHandler<Readonly<{}>>;
89
150
  android?: ButtonGroupAndroidProps;
90
151
  }
91
152
  declare const _default: HostComponent<ButtonGroupNativeProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonGroupNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/ButtonGroupNativeComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAgB,CAAC;AAE1E;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,KAAK,EAAE,KAAK,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,yBAAyB,GAAG,QAAQ,CAAC;IAC/C,uDAAuD;IAEvD,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,0BAA0B,GAAG,QAAQ,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC7C,uEAAuE;IACvE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,WAAW,sBAAuB,SAAQ,SAAS;IACvD,0BAA0B;IAC1B,OAAO,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAE1C,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8EAA8E;IAC9E,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,oEAAoE;IACpE,cAAc,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAEvC,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,mDAAmD;IACnD,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,UAAU,CAAC;IAE7B,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAEhC,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAEhC,kBAAkB;IAClB,UAAU,CAAC,EAAE,0BAA0B,CAAC;IAExC,sCAAsC;IACtC,aAAa,CAAC,EAAE,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAE5D;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IAEzE,OAAO,CAAC,EAAE,uBAAuB,CAAC;CACnC;wBAII,aAAa,CAAC,sBAAsB,CAAC;AAF1C,wBAE2C"}
1
+ {"version":3,"file":"ButtonGroupNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/ButtonGroupNativeComponent.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  import type { ColorValue, HostComponent, ViewProps } from 'react-native';
2
- import type { BubblingEventHandler, Double } from './codegenTypes.js';
2
+ import type { BubblingEventHandler, Double, Int32, WithDefault } from './codegenTypes.js';
3
3
  /**
4
4
  * Icon fields, pre-resolved on the JS side (see icons.ts).
5
5
  */
6
6
  export type ButtonIconProps = Readonly<{
7
7
  iconType: string;
8
8
  iconName: string;
9
+ iconRequest: string;
9
10
  iconUri: string;
10
11
  iconScale: Double;
11
12
  iconTinted: string;
@@ -19,23 +20,88 @@ export type ButtonLabelStyleProps = Readonly<{
19
20
  fontWeight?: string;
20
21
  fontStyle?: string;
21
22
  }>;
23
+ /**
24
+ * One menu item, the shape of `ContextMenuItem`: the JS action tree is
25
+ * flattened (see `menuItems.ts`) and each item points at its parent submenu
26
+ * or section by index. Every field is set; empty strings mean "none" and
27
+ * flags are 'true' | 'false'.
28
+ */
29
+ export type ButtonMenuItem = Readonly<{
30
+ id: string;
31
+ title: string;
32
+ subtitle: string;
33
+ /** Index of the parent submenu or section; -1 at the top level */
34
+ parent: Int32;
35
+ /** 'action' | 'menu' | 'section' */
36
+ kind: string;
37
+ /** '' | 'sfSymbol' | 'drawable' | 'image' */
38
+ iconType: string;
39
+ iconName: string;
40
+ iconRequest: string;
41
+ iconUri: string;
42
+ iconScale: Double;
43
+ iconTinted: string;
44
+ imageColor: string;
45
+ destructive: string;
46
+ disabled: string;
47
+ keepsMenuPresented: string;
48
+ /** '' | 'off' | 'on' | 'mixed' */
49
+ state: string;
50
+ /** The action's own haptics; '' = the component's */
51
+ haptics: string;
52
+ }>;
53
+ /** Event emitted when a toggle button is pressed. */
54
+ export type ButtonSelectedChangeEvent = Readonly<{
55
+ /** The selection the press asks for */
56
+ selected: boolean;
57
+ }>;
58
+ /** Event emitted when a menu item is picked. */
59
+ export type ButtonMenuSelectEvent = Readonly<{
60
+ id: string;
61
+ title: string;
62
+ }>;
63
+ /**
64
+ * iOS-specific configuration.
65
+ */
66
+ export type ButtonIOSProps = Readonly<{
67
+ /** '' | 'bounce' | 'pulse' | 'variableColor' | 'wiggle' | 'rotate' | 'breathe' */
68
+ symbolEffect?: string;
69
+ /**
70
+ * '' runs the effect indefinitely; otherwise it plays once each time this
71
+ * value changes.
72
+ */
73
+ symbolEffectTrigger?: string;
74
+ }>;
22
75
  export interface ButtonNativeProps extends ViewProps {
23
76
  /** Button text. Empty for an icon-only button. */
24
77
  label?: string;
25
- /** Icon shown before the label, or alone when there is no label. */
78
+ /** Icon shown next to the label, or alone when there is no label. */
26
79
  icon?: ButtonIconProps;
27
- /** 'filled' | 'tonal' | 'outlined' | 'text' | 'elevated' */
80
+ /** 'leading' | 'trailing' | 'top' | 'bottom' */
81
+ iconPosition?: string;
82
+ /**
83
+ * 'filled' | 'tonal' | 'outlined' | 'text' | 'elevated' | 'glass' |
84
+ * 'prominentGlass' | 'clearGlass' | 'prominentClearGlass'
85
+ */
28
86
  variant?: string;
29
87
  /** 'xsmall' | 'small' | 'medium' | 'large' | 'xlarge' */
30
88
  size?: string;
31
89
  /** '' (platform default) | 'round' | 'square' */
32
90
  shape?: string;
91
+ /** Corner radius in points; negative = use `shape`. */
92
+ cornerRadius?: WithDefault<Double, -1>;
33
93
  /** 'enabled' | 'disabled' */
34
94
  interactivity?: string;
95
+ /** 'true' | 'false': spinner in place of the label and icon, presses ignored. */
96
+ loading?: string;
35
97
  /** Container (background) color. */
36
98
  color?: ColorValue;
37
99
  /** Label and icon color. */
38
100
  foregroundColor?: ColorValue;
101
+ /** Container color while disabled; unset = platform disabled look. */
102
+ disabledColor?: ColorValue;
103
+ /** Label and icon color while disabled; unset = platform disabled look. */
104
+ disabledForegroundColor?: ColorValue;
39
105
  /** Android: ripple color shown while pressing. */
40
106
  androidRippleColor?: ColorValue;
41
107
  /** Android: outline color (outlined variant). */
@@ -44,13 +110,38 @@ export interface ButtonNativeProps extends ViewProps {
44
110
  androidMaterial?: string;
45
111
  /** Label font. */
46
112
  labelStyle?: ButtonLabelStyleProps;
113
+ /** Cap on the label's font scaling; 0 (or below 1) = no cap. */
114
+ maxFontSizeMultiplier?: Double;
47
115
  /**
48
116
  * Screen-reader label, applied to the native button rather than the host
49
117
  * view. Empty means "use the label".
50
118
  */
51
119
  spokenLabel?: string;
120
+ /** '' (not a toggle) | 'true' | 'false': the controlled toggle state. */
121
+ selected?: string;
122
+ /**
123
+ * Bumped by JS after every onSelectedChange, so native applies `selected`
124
+ * again: a toggle the parent didn't accept goes back.
125
+ */
126
+ selectedEventCount?: Int32;
127
+ /** Menu shown when the button is pressed, flattened (see ButtonMenuItem). */
128
+ menu?: ReadonlyArray<ButtonMenuItem>;
129
+ ios?: ButtonIOSProps;
130
+ /**
131
+ * Haptic played when the button is pressed: '' (none added) | 'none' | 'selection' |
132
+ * 'light' | 'medium' | 'heavy' | 'success' | 'warning' | 'error'
133
+ */
134
+ haptics?: string;
52
135
  /** Fired when the button is pressed. */
53
136
  onButtonPress?: BubblingEventHandler<Readonly<{}>>;
137
+ /** Fired when a toggle button is pressed, with the state it asks for. */
138
+ onSelectedChange?: BubblingEventHandler<ButtonSelectedChangeEvent>;
139
+ /** Fired when a menu item is picked. */
140
+ onMenuSelect?: BubblingEventHandler<ButtonMenuSelectEvent>;
141
+ /** Fired when the menu opens. */
142
+ onMenuOpen?: BubblingEventHandler<Readonly<{}>>;
143
+ /** Fired when the menu closes. */
144
+ onMenuClose?: BubblingEventHandler<Readonly<{}>>;
54
145
  }
55
146
  declare const _default: HostComponent<ButtonNativeProps>;
56
147
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/ButtonNativeComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,mBAAgB,CAAC;AAEnE;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC;IAC3C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC,CAAC;AAEH,MAAM,WAAW,iBAAkB,SAAQ,SAAS;IAClD,kDAAkD;IAClD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oEAAoE;IACpE,IAAI,CAAC,EAAE,eAAe,CAAC;IAEvB,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,iDAAiD;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6BAA6B;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,oCAAoC;IACpC,KAAK,CAAC,EAAE,UAAU,CAAC;IAEnB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,UAAU,CAAC;IAE7B,kDAAkD;IAClD,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAEhC,iDAAiD;IACjD,kBAAkB,CAAC,EAAE,UAAU,CAAC;IAEhC,mDAAmD;IACnD,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,kBAAkB;IAClB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IAEnC;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wCAAwC;IACxC,aAAa,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;CACpD;wBAII,aAAa,CAAC,iBAAiB,CAAC;AAFrC,wBAEsC"}
1
+ {"version":3,"file":"ButtonNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/ButtonNativeComponent.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,8 @@
1
1
  import React from 'react';
2
2
  import { type ViewProps } from 'react-native';
3
- /**
4
- * Attributes for a context menu action.
5
- */
6
- export interface ContextMenuActionAttributes {
7
- /** Whether the action is destructive (red styling) */
8
- destructive?: boolean;
9
- /** Whether the action is disabled (grayed out) */
10
- disabled?: boolean;
11
- /** Whether the action is hidden */
12
- hidden?: boolean;
13
- }
14
- /**
15
- * A single action in the context menu.
16
- */
17
- export interface ContextMenuAction {
18
- /** Unique identifier returned in callbacks */
19
- id: string;
20
- /** Display title */
21
- title: string;
22
- /** Secondary text (iOS only) */
23
- subtitle?: string;
24
- /** Icon name (SF Symbol on iOS, drawable resource on Android) */
25
- image?: string;
26
- /** Tint color for the icon (hex string or named color) */
27
- imageColor?: string;
28
- /** Action attributes */
29
- attributes?: ContextMenuActionAttributes;
30
- /** Checkmark state */
31
- state?: 'off' | 'on' | 'mixed';
32
- /** Nested actions for submenu */
33
- subactions?: readonly ContextMenuAction[];
34
- }
3
+ import { type ContextMenuAction } from './menuItems.js';
4
+ import type { Haptics } from './haptics.js';
5
+ export type { ContextMenuAction, ContextMenuActionAttributes, } from './menuItems.js';
35
6
  export interface ContextMenuProps extends ViewProps {
36
7
  /** Menu title (shown as header on iOS) */
37
8
  title?: string;
@@ -45,6 +16,12 @@ export interface ContextMenuProps extends ViewProps {
45
16
  * - 'tap': Single tap opens the menu
46
17
  */
47
18
  trigger?: 'longPress' | 'tap';
19
+ /**
20
+ * Haptic played when the user presses an action. Opening the menu keeps
21
+ * the platform's own long-press haptic; `'none'` also turns that off on
22
+ * Android (iOS offers no switch for it). See {@link Haptics}.
23
+ */
24
+ haptics?: Haptics;
48
25
  /**
49
26
  * Called when the user presses an action.
50
27
  * Receives the action's id and title.
@@ -54,6 +31,13 @@ export interface ContextMenuProps extends ViewProps {
54
31
  onMenuOpen?: () => void;
55
32
  /** Called when the menu closes */
56
33
  onMenuClose?: () => void;
34
+ /**
35
+ * iOS only: called when the user taps the menu's preview (with
36
+ * `ios.enablePreview`), after the menu has dismissed. Use it to open the
37
+ * item, like tapping a preview in Photos or Mail. Maps to
38
+ * `contextMenuInteraction(_:willPerformPreviewActionForMenuWith:animator:)`.
39
+ */
40
+ onPreviewPress?: () => void;
57
41
  /** The content to wrap */
58
42
  children: React.ReactNode;
59
43
  /** iOS-specific props */
@@ -63,7 +47,10 @@ export interface ContextMenuProps extends ViewProps {
63
47
  };
64
48
  /** Android-specific props */
65
49
  android?: {
66
- /** Anchor position for the popup menu */
50
+ /**
51
+ * Aligns the popup with the start ('left', default) or end ('right') edge
52
+ * of the wrapped content. Mirrored in RTL layouts.
53
+ */
67
54
  anchorPosition?: 'left' | 'right';
68
55
  /**
69
56
  * Programmatic visibility control (Android only).
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../../src/ContextMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAQ9C;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,sDAAsD;IACtD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,kDAAkD;IAClD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mCAAmC;IACnC,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wBAAwB;IACxB,UAAU,CAAC,EAAE,2BAA2B,CAAC;IACzC,sBAAsB;IACtB,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC;IAC/B,iCAAiC;IACjC,UAAU,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;CAC3C;AAED,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mBAAmB;IACnB,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAEtC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAE9B;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhE,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB,0BAA0B;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,yBAAyB;IACzB,GAAG,CAAC,EAAE;QACJ,wCAAwC;QACxC,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IAEF,6BAA6B;IAC7B,OAAO,CAAC,EAAE;QACR,yCAAyC;QACzC,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC;;;;WAIG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8CD,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CAkEvE"}
1
+ {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../../src/ContextMenu.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAK9C,OAAO,EAAsB,KAAK,iBAAiB,EAAE,MAAM,gBAAa,CAAC;AACzE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAW,CAAC;AAEzC,YAAY,EACV,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,gBAAa,CAAC;AAErB,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,mBAAmB;IACnB,OAAO,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAEtC,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;;;OAIG;IACH,OAAO,CAAC,EAAE,WAAW,GAAG,KAAK,CAAC;IAE9B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB;;;OAGG;IACH,aAAa,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;IAEhE,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IAExB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IAEzB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAE5B,0BAA0B;IAC1B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,yBAAyB;IACzB,GAAG,CAAC,EAAE;QACJ,wCAAwC;QACxC,aAAa,CAAC,EAAE,OAAO,CAAC;KACzB,CAAC;IAEF,6BAA6B;IAC7B,OAAO,CAAC,EAAE;QACR;;;WAGG;QACH,cAAc,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAClC;;;;WAIG;QACH,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAEF,sBAAsB;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,KAAK,CAAC,YAAY,CA0EvE"}
@@ -1,56 +1,45 @@
1
1
  import type { HostComponent, ViewProps } from 'react-native';
2
- import type { BubblingEventHandler } from './codegenTypes.js';
2
+ import type { BubblingEventHandler, Double, Int32 } from './codegenTypes.js';
3
3
  /**
4
- * Attributes for a context menu action.
4
+ * One menu item. The JS action tree is flattened (see `menuItems.ts`): each
5
+ * item points at its parent submenu or section by index, so menus nest to any
6
+ * depth without a recursive codegen type. Every field is set; empty strings
7
+ * mean "none" and flags are 'true' | 'false'.
5
8
  */
6
- export type ContextMenuActionAttributes = Readonly<{
7
- /** Whether the action is destructive (red styling) */
8
- destructive?: string;
9
- /** Whether the action is disabled (grayed out) */
10
- disabled?: string;
11
- /** Whether the action is hidden */
12
- hidden?: string;
13
- }>;
14
- /**
15
- * A leaf subaction (no further nesting to avoid codegen recursion issues).
16
- */
17
- export type ContextMenuSubaction = Readonly<{
9
+ export type ContextMenuItem = Readonly<{
18
10
  /** Unique identifier returned in callbacks */
19
11
  id: string;
20
- /** Display title */
12
+ /** Display title (a section's header on iOS) */
21
13
  title: string;
22
14
  /** Secondary text (iOS only) */
23
- subtitle?: string;
24
- /** Icon name (SF Symbol on iOS, drawable resource on Android) */
25
- image?: string;
15
+ subtitle: string;
16
+ /** Index of the parent submenu or section; -1 at the top level */
17
+ parent: Int32;
18
+ /** 'action' | 'menu' | 'section' */
19
+ kind: string;
20
+ /** '' | 'sfSymbol' | 'drawable' | 'image' */
21
+ iconType: string;
22
+ /** SF Symbol / asset name (iOS) or drawable resource name (Android) */
23
+ iconName: string;
24
+ /** Resolved image URI when iconType === 'image' */
25
+ iconRequest: string;
26
+ iconUri: string;
27
+ /** Resolved image scale when iconType === 'image' */
28
+ iconScale: Double;
29
+ /** 'true' | 'false': draw the image as a tinted template */
30
+ iconTinted: string;
26
31
  /** Tint color for the icon (hex string, e.g., "#FF0000") */
27
- imageColor?: string;
28
- /** Action attributes */
29
- attributes?: ContextMenuActionAttributes;
30
- /** Checkmark state: 'off' | 'on' | 'mixed' */
31
- state?: string;
32
- }>;
33
- /**
34
- * A single action in the context menu.
35
- * Actions can be nested one level via `subactions` for submenus.
36
- */
37
- export type ContextMenuAction = Readonly<{
38
- /** Unique identifier returned in callbacks */
39
- id: string;
40
- /** Display title */
41
- title: string;
42
- /** Secondary text (iOS only) */
43
- subtitle?: string;
44
- /** Icon name (SF Symbol on iOS, drawable resource on Android) */
45
- image?: string;
46
- /** Tint color for the icon (hex string, e.g., "#FF0000") */
47
- imageColor?: string;
48
- /** Action attributes */
49
- attributes?: ContextMenuActionAttributes;
50
- /** Checkmark state: 'off' | 'on' | 'mixed' */
51
- state?: string;
52
- /** Nested actions for submenu (one level deep) */
53
- subactions?: ReadonlyArray<ContextMenuSubaction>;
32
+ imageColor: string;
33
+ /** 'true' | 'false' */
34
+ destructive: string;
35
+ /** 'true' | 'false' */
36
+ disabled: string;
37
+ /** 'true' | 'false' (iOS 16+) */
38
+ keepsMenuPresented: string;
39
+ /** '' | 'off' | 'on' | 'mixed' */
40
+ state: string;
41
+ /** The action's own haptics; '' = the component's */
42
+ haptics: string;
54
43
  }>;
55
44
  /**
56
45
  * Event emitted when an action is pressed.
@@ -90,9 +79,9 @@ export interface ContextMenuProps extends ViewProps {
90
79
  */
91
80
  title?: string;
92
81
  /**
93
- * Menu actions.
82
+ * Menu items, flattened (see ContextMenuItem).
94
83
  */
95
- actions: ReadonlyArray<ContextMenuAction>;
84
+ actions: ReadonlyArray<ContextMenuItem>;
96
85
  /**
97
86
  * Enabled / disabled state.
98
87
  */
@@ -103,6 +92,11 @@ export interface ContextMenuProps extends ViewProps {
103
92
  * - 'tap': Single tap opens the menu
104
93
  */
105
94
  trigger?: string;
95
+ /**
96
+ * Haptic played when an action is pressed: '' (none added) | 'none' | 'selection' |
97
+ * 'light' | 'medium' | 'heavy' | 'success' | 'warning' | 'error'
98
+ */
99
+ haptics?: string;
106
100
  /**
107
101
  * Fired when user presses an action.
108
102
  */
@@ -115,6 +109,10 @@ export interface ContextMenuProps extends ViewProps {
115
109
  * Fired when menu closes.
116
110
  */
117
111
  onMenuClose?: BubblingEventHandler<Readonly<{}>>;
112
+ /**
113
+ * iOS: fired when the user taps the preview (with enablePreview).
114
+ */
115
+ onPreviewPress?: BubblingEventHandler<Readonly<{}>>;
118
116
  ios?: IOSProps;
119
117
  android?: AndroidProps;
120
118
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenuNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/ContextMenuNativeComponent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContextMenuNativeComponent.d.ts","sourceRoot":"","sources":["../../../../src/ContextMenuNativeComponent.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,mBAAgB,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC;IACrC,8CAA8C;IAC9C,EAAE,EAAE,MAAM,CAAC;IACX,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,MAAM,EAAE,KAAK,CAAC;IACd,oCAAoC;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IACjB,uEAAuE;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,UAAU,EAAE,MAAM,CAAC;IACnB,uBAAuB;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,iCAAiC;IACjC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,QAAQ,CAAC;IACjD,qCAAqC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC,CAAC;AAEH,qDAAqD;AACrD,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,UAAU,CAAC;AAE9D,yCAAyC;AACzC,MAAM,MAAM,kBAAkB,GAAG,WAAW,GAAG,KAAK,CAAC;AAErD;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAC9B,wCAAwC;IACxC,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,CAAC;IAClC,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,WAAW,gBAAiB,SAAQ,SAAS;IACjD;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,OAAO,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;IAExC;;OAEG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;OAIG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,aAAa,CAAC,EAAE,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;IAElE;;OAEG;IACH,UAAU,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhD;;OAEG;IACH,WAAW,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAEjD;;OAEG;IACH,cAAc,CAAC,EAAE,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC;IAEpD,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,OAAO,CAAC,EAAE,YAAY,CAAC;CACxB;wBAII,aAAa,CAAC,gBAAgB,CAAC;AAFpC,wBAEqC"}