@masumdev/rn-ui 0.1.6 → 0.2.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 (316) hide show
  1. package/README.md +47 -1752
  2. package/lib/commonjs/components/Accordion.js +28 -13
  3. package/lib/commonjs/components/Accordion.js.map +1 -1
  4. package/lib/commonjs/components/Alert.js +229 -73
  5. package/lib/commonjs/components/Alert.js.map +1 -1
  6. package/lib/commonjs/components/AlertDialog.js +143 -87
  7. package/lib/commonjs/components/AlertDialog.js.map +1 -1
  8. package/lib/commonjs/components/AspectRatio.js.map +1 -1
  9. package/lib/commonjs/components/Avatar.js +31 -28
  10. package/lib/commonjs/components/Avatar.js.map +1 -1
  11. package/lib/commonjs/components/Badge.js +25 -9
  12. package/lib/commonjs/components/Badge.js.map +1 -1
  13. package/lib/commonjs/components/BottomSheet.js +63 -8
  14. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  15. package/lib/commonjs/components/Breadcrumb.js +31 -9
  16. package/lib/commonjs/components/Breadcrumb.js.map +1 -1
  17. package/lib/commonjs/components/Button.js +22 -6
  18. package/lib/commonjs/components/Button.js.map +1 -1
  19. package/lib/commonjs/components/ButtonGroup.js +2 -4
  20. package/lib/commonjs/components/ButtonGroup.js.map +1 -1
  21. package/lib/commonjs/components/Calendar.js +113 -31
  22. package/lib/commonjs/components/Calendar.js.map +1 -1
  23. package/lib/commonjs/components/Card.js +8 -3
  24. package/lib/commonjs/components/Card.js.map +1 -1
  25. package/lib/commonjs/components/Carousel.js +67 -21
  26. package/lib/commonjs/components/Carousel.js.map +1 -1
  27. package/lib/commonjs/components/Checkbox.js +12 -7
  28. package/lib/commonjs/components/Checkbox.js.map +1 -1
  29. package/lib/commonjs/components/Collapsible.js +47 -36
  30. package/lib/commonjs/components/Collapsible.js.map +1 -1
  31. package/lib/commonjs/components/Combobox.js +110 -48
  32. package/lib/commonjs/components/Combobox.js.map +1 -1
  33. package/lib/commonjs/components/Command.js +121 -77
  34. package/lib/commonjs/components/Command.js.map +1 -1
  35. package/lib/commonjs/components/DropdownMenu.js +78 -25
  36. package/lib/commonjs/components/DropdownMenu.js.map +1 -1
  37. package/lib/commonjs/components/Empty.js +24 -10
  38. package/lib/commonjs/components/Empty.js.map +1 -1
  39. package/lib/commonjs/components/FloatingActionButton.js.map +1 -1
  40. package/lib/commonjs/components/FormField.js +63 -13
  41. package/lib/commonjs/components/FormField.js.map +1 -1
  42. package/lib/commonjs/components/IconButton.js +22 -6
  43. package/lib/commonjs/components/IconButton.js.map +1 -1
  44. package/lib/commonjs/components/Input.js +11 -13
  45. package/lib/commonjs/components/Input.js.map +1 -1
  46. package/lib/commonjs/components/InputGroup.js +19 -10
  47. package/lib/commonjs/components/InputGroup.js.map +1 -1
  48. package/lib/commonjs/components/InputOTP.js +46 -15
  49. package/lib/commonjs/components/InputOTP.js.map +1 -1
  50. package/lib/commonjs/components/Popover.js +90 -23
  51. package/lib/commonjs/components/Popover.js.map +1 -1
  52. package/lib/commonjs/components/Progress.js +108 -7
  53. package/lib/commonjs/components/Progress.js.map +1 -1
  54. package/lib/commonjs/components/RadioGroup.js +109 -51
  55. package/lib/commonjs/components/RadioGroup.js.map +1 -1
  56. package/lib/commonjs/components/Rating.js +109 -95
  57. package/lib/commonjs/components/Rating.js.map +1 -1
  58. package/lib/commonjs/components/Select.js +109 -43
  59. package/lib/commonjs/components/Select.js.map +1 -1
  60. package/lib/commonjs/components/Sheet.js +217 -29
  61. package/lib/commonjs/components/Sheet.js.map +1 -1
  62. package/lib/commonjs/components/Stepper.js +119 -24
  63. package/lib/commonjs/components/Stepper.js.map +1 -1
  64. package/lib/commonjs/components/Switch.js +21 -11
  65. package/lib/commonjs/components/Switch.js.map +1 -1
  66. package/lib/commonjs/components/Tabs.js +159 -28
  67. package/lib/commonjs/components/Tabs.js.map +1 -1
  68. package/lib/commonjs/components/Timeline.js +35 -12
  69. package/lib/commonjs/components/Timeline.js.map +1 -1
  70. package/lib/commonjs/components/Toast.js +163 -38
  71. package/lib/commonjs/components/Toast.js.map +1 -1
  72. package/lib/commonjs/components/index.js +19 -0
  73. package/lib/commonjs/components/index.js.map +1 -1
  74. package/lib/commonjs/components/types.js +53 -0
  75. package/lib/commonjs/components/types.js.map +1 -1
  76. package/lib/commonjs/theme/tokens.js +7 -7
  77. package/lib/commonjs/theme/tokens.js.map +1 -1
  78. package/lib/commonjs/utils/haptics.js +42 -0
  79. package/lib/commonjs/utils/haptics.js.map +1 -0
  80. package/lib/commonjs/utils/index.js +7 -0
  81. package/lib/commonjs/utils/index.js.map +1 -1
  82. package/lib/module/components/Accordion.js +28 -13
  83. package/lib/module/components/Accordion.js.map +1 -1
  84. package/lib/module/components/Alert.js +229 -73
  85. package/lib/module/components/Alert.js.map +1 -1
  86. package/lib/module/components/AlertDialog.js +144 -88
  87. package/lib/module/components/AlertDialog.js.map +1 -1
  88. package/lib/module/components/AspectRatio.js.map +1 -1
  89. package/lib/module/components/Avatar.js +31 -28
  90. package/lib/module/components/Avatar.js.map +1 -1
  91. package/lib/module/components/Badge.js +25 -9
  92. package/lib/module/components/Badge.js.map +1 -1
  93. package/lib/module/components/BottomSheet.js +64 -4
  94. package/lib/module/components/BottomSheet.js.map +1 -1
  95. package/lib/module/components/Breadcrumb.js +31 -9
  96. package/lib/module/components/Breadcrumb.js.map +1 -1
  97. package/lib/module/components/Button.js +22 -6
  98. package/lib/module/components/Button.js.map +1 -1
  99. package/lib/module/components/ButtonGroup.js +3 -5
  100. package/lib/module/components/ButtonGroup.js.map +1 -1
  101. package/lib/module/components/Calendar.js +114 -32
  102. package/lib/module/components/Calendar.js.map +1 -1
  103. package/lib/module/components/Card.js +8 -3
  104. package/lib/module/components/Card.js.map +1 -1
  105. package/lib/module/components/Carousel.js +67 -21
  106. package/lib/module/components/Carousel.js.map +1 -1
  107. package/lib/module/components/Checkbox.js +12 -7
  108. package/lib/module/components/Checkbox.js.map +1 -1
  109. package/lib/module/components/Collapsible.js +49 -38
  110. package/lib/module/components/Collapsible.js.map +1 -1
  111. package/lib/module/components/Combobox.js +110 -48
  112. package/lib/module/components/Combobox.js.map +1 -1
  113. package/lib/module/components/Command.js +121 -77
  114. package/lib/module/components/Command.js.map +1 -1
  115. package/lib/module/components/DropdownMenu.js +79 -26
  116. package/lib/module/components/DropdownMenu.js.map +1 -1
  117. package/lib/module/components/Empty.js +24 -10
  118. package/lib/module/components/Empty.js.map +1 -1
  119. package/lib/module/components/FloatingActionButton.js.map +1 -1
  120. package/lib/module/components/FormField.js +63 -14
  121. package/lib/module/components/FormField.js.map +1 -1
  122. package/lib/module/components/IconButton.js +22 -6
  123. package/lib/module/components/IconButton.js.map +1 -1
  124. package/lib/module/components/Input.js +12 -14
  125. package/lib/module/components/Input.js.map +1 -1
  126. package/lib/module/components/InputGroup.js +19 -10
  127. package/lib/module/components/InputGroup.js.map +1 -1
  128. package/lib/module/components/InputOTP.js +46 -15
  129. package/lib/module/components/InputOTP.js.map +1 -1
  130. package/lib/module/components/Popover.js +90 -24
  131. package/lib/module/components/Popover.js.map +1 -1
  132. package/lib/module/components/Progress.js +109 -9
  133. package/lib/module/components/Progress.js.map +1 -1
  134. package/lib/module/components/RadioGroup.js +108 -51
  135. package/lib/module/components/RadioGroup.js.map +1 -1
  136. package/lib/module/components/Rating.js +109 -95
  137. package/lib/module/components/Rating.js.map +1 -1
  138. package/lib/module/components/Select.js +111 -45
  139. package/lib/module/components/Select.js.map +1 -1
  140. package/lib/module/components/Sheet.js +216 -24
  141. package/lib/module/components/Sheet.js.map +1 -1
  142. package/lib/module/components/Stepper.js +120 -25
  143. package/lib/module/components/Stepper.js.map +1 -1
  144. package/lib/module/components/Switch.js +21 -11
  145. package/lib/module/components/Switch.js.map +1 -1
  146. package/lib/module/components/Tabs.js +158 -29
  147. package/lib/module/components/Tabs.js.map +1 -1
  148. package/lib/module/components/Timeline.js +35 -12
  149. package/lib/module/components/Timeline.js.map +1 -1
  150. package/lib/module/components/Toast.js +164 -38
  151. package/lib/module/components/Toast.js.map +1 -1
  152. package/lib/module/components/index.js +3 -2
  153. package/lib/module/components/index.js.map +1 -1
  154. package/lib/module/components/types.js +53 -0
  155. package/lib/module/components/types.js.map +1 -1
  156. package/lib/module/theme/tokens.js +7 -7
  157. package/lib/module/theme/tokens.js.map +1 -1
  158. package/lib/module/utils/haptics.js +38 -0
  159. package/lib/module/utils/haptics.js.map +1 -0
  160. package/lib/module/utils/index.js +1 -0
  161. package/lib/module/utils/index.js.map +1 -1
  162. package/lib/typescript/commonjs/components/Accordion.d.ts +6 -3
  163. package/lib/typescript/commonjs/components/Accordion.d.ts.map +1 -1
  164. package/lib/typescript/commonjs/components/Alert.d.ts +4 -4
  165. package/lib/typescript/commonjs/components/Alert.d.ts.map +1 -1
  166. package/lib/typescript/commonjs/components/AlertDialog.d.ts +5 -4
  167. package/lib/typescript/commonjs/components/AlertDialog.d.ts.map +1 -1
  168. package/lib/typescript/commonjs/components/AspectRatio.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/components/Avatar.d.ts +9 -4
  170. package/lib/typescript/commonjs/components/Avatar.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/components/Badge.d.ts +5 -8
  172. package/lib/typescript/commonjs/components/Badge.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/components/BottomSheet.d.ts +13 -4
  174. package/lib/typescript/commonjs/components/BottomSheet.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/components/Breadcrumb.d.ts +6 -5
  176. package/lib/typescript/commonjs/components/Breadcrumb.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/components/Button.d.ts +6 -12
  178. package/lib/typescript/commonjs/components/Button.d.ts.map +1 -1
  179. package/lib/typescript/commonjs/components/ButtonGroup.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/components/Calendar.d.ts +9 -1
  181. package/lib/typescript/commonjs/components/Calendar.d.ts.map +1 -1
  182. package/lib/typescript/commonjs/components/Card.d.ts +3 -2
  183. package/lib/typescript/commonjs/components/Card.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/components/Carousel.d.ts +4 -1
  185. package/lib/typescript/commonjs/components/Carousel.d.ts.map +1 -1
  186. package/lib/typescript/commonjs/components/Checkbox.d.ts +3 -3
  187. package/lib/typescript/commonjs/components/Checkbox.d.ts.map +1 -1
  188. package/lib/typescript/commonjs/components/Collapsible.d.ts.map +1 -1
  189. package/lib/typescript/commonjs/components/Combobox.d.ts +11 -6
  190. package/lib/typescript/commonjs/components/Combobox.d.ts.map +1 -1
  191. package/lib/typescript/commonjs/components/Command.d.ts +3 -0
  192. package/lib/typescript/commonjs/components/Command.d.ts.map +1 -1
  193. package/lib/typescript/commonjs/components/DropdownMenu.d.ts +4 -2
  194. package/lib/typescript/commonjs/components/DropdownMenu.d.ts.map +1 -1
  195. package/lib/typescript/commonjs/components/Empty.d.ts +7 -4
  196. package/lib/typescript/commonjs/components/Empty.d.ts.map +1 -1
  197. package/lib/typescript/commonjs/components/FloatingActionButton.d.ts +2 -5
  198. package/lib/typescript/commonjs/components/FloatingActionButton.d.ts.map +1 -1
  199. package/lib/typescript/commonjs/components/FormField.d.ts +12 -4
  200. package/lib/typescript/commonjs/components/FormField.d.ts.map +1 -1
  201. package/lib/typescript/commonjs/components/IconButton.d.ts +4 -7
  202. package/lib/typescript/commonjs/components/IconButton.d.ts.map +1 -1
  203. package/lib/typescript/commonjs/components/Input.d.ts +2 -1
  204. package/lib/typescript/commonjs/components/Input.d.ts.map +1 -1
  205. package/lib/typescript/commonjs/components/InputGroup.d.ts +3 -2
  206. package/lib/typescript/commonjs/components/InputGroup.d.ts.map +1 -1
  207. package/lib/typescript/commonjs/components/InputOTP.d.ts +9 -4
  208. package/lib/typescript/commonjs/components/InputOTP.d.ts.map +1 -1
  209. package/lib/typescript/commonjs/components/Popover.d.ts +1 -1
  210. package/lib/typescript/commonjs/components/Popover.d.ts.map +1 -1
  211. package/lib/typescript/commonjs/components/Progress.d.ts +15 -2
  212. package/lib/typescript/commonjs/components/Progress.d.ts.map +1 -1
  213. package/lib/typescript/commonjs/components/RadioGroup.d.ts +3 -2
  214. package/lib/typescript/commonjs/components/RadioGroup.d.ts.map +1 -1
  215. package/lib/typescript/commonjs/components/Rating.d.ts +3 -23
  216. package/lib/typescript/commonjs/components/Rating.d.ts.map +1 -1
  217. package/lib/typescript/commonjs/components/Select.d.ts +5 -4
  218. package/lib/typescript/commonjs/components/Select.d.ts.map +1 -1
  219. package/lib/typescript/commonjs/components/Sheet.d.ts +25 -6
  220. package/lib/typescript/commonjs/components/Sheet.d.ts.map +1 -1
  221. package/lib/typescript/commonjs/components/Stepper.d.ts +5 -3
  222. package/lib/typescript/commonjs/components/Stepper.d.ts.map +1 -1
  223. package/lib/typescript/commonjs/components/Switch.d.ts +3 -3
  224. package/lib/typescript/commonjs/components/Switch.d.ts.map +1 -1
  225. package/lib/typescript/commonjs/components/Tabs.d.ts +21 -4
  226. package/lib/typescript/commonjs/components/Tabs.d.ts.map +1 -1
  227. package/lib/typescript/commonjs/components/Timeline.d.ts +9 -3
  228. package/lib/typescript/commonjs/components/Timeline.d.ts.map +1 -1
  229. package/lib/typescript/commonjs/components/Toast.d.ts +3 -0
  230. package/lib/typescript/commonjs/components/Toast.d.ts.map +1 -1
  231. package/lib/typescript/commonjs/components/index.d.ts +7 -6
  232. package/lib/typescript/commonjs/components/index.d.ts.map +1 -1
  233. package/lib/typescript/commonjs/components/types.d.ts +110 -0
  234. package/lib/typescript/commonjs/components/types.d.ts.map +1 -1
  235. package/lib/typescript/commonjs/utils/haptics.d.ts +6 -0
  236. package/lib/typescript/commonjs/utils/haptics.d.ts.map +1 -0
  237. package/lib/typescript/commonjs/utils/index.d.ts +1 -0
  238. package/lib/typescript/commonjs/utils/index.d.ts.map +1 -1
  239. package/lib/typescript/module/components/Accordion.d.ts +6 -3
  240. package/lib/typescript/module/components/Accordion.d.ts.map +1 -1
  241. package/lib/typescript/module/components/Alert.d.ts +4 -4
  242. package/lib/typescript/module/components/Alert.d.ts.map +1 -1
  243. package/lib/typescript/module/components/AlertDialog.d.ts +5 -4
  244. package/lib/typescript/module/components/AlertDialog.d.ts.map +1 -1
  245. package/lib/typescript/module/components/AspectRatio.d.ts.map +1 -1
  246. package/lib/typescript/module/components/Avatar.d.ts +9 -4
  247. package/lib/typescript/module/components/Avatar.d.ts.map +1 -1
  248. package/lib/typescript/module/components/Badge.d.ts +5 -8
  249. package/lib/typescript/module/components/Badge.d.ts.map +1 -1
  250. package/lib/typescript/module/components/BottomSheet.d.ts +13 -4
  251. package/lib/typescript/module/components/BottomSheet.d.ts.map +1 -1
  252. package/lib/typescript/module/components/Breadcrumb.d.ts +6 -5
  253. package/lib/typescript/module/components/Breadcrumb.d.ts.map +1 -1
  254. package/lib/typescript/module/components/Button.d.ts +6 -12
  255. package/lib/typescript/module/components/Button.d.ts.map +1 -1
  256. package/lib/typescript/module/components/ButtonGroup.d.ts.map +1 -1
  257. package/lib/typescript/module/components/Calendar.d.ts +9 -1
  258. package/lib/typescript/module/components/Calendar.d.ts.map +1 -1
  259. package/lib/typescript/module/components/Card.d.ts +3 -2
  260. package/lib/typescript/module/components/Card.d.ts.map +1 -1
  261. package/lib/typescript/module/components/Carousel.d.ts +4 -1
  262. package/lib/typescript/module/components/Carousel.d.ts.map +1 -1
  263. package/lib/typescript/module/components/Checkbox.d.ts +3 -3
  264. package/lib/typescript/module/components/Checkbox.d.ts.map +1 -1
  265. package/lib/typescript/module/components/Collapsible.d.ts.map +1 -1
  266. package/lib/typescript/module/components/Combobox.d.ts +11 -6
  267. package/lib/typescript/module/components/Combobox.d.ts.map +1 -1
  268. package/lib/typescript/module/components/Command.d.ts +3 -0
  269. package/lib/typescript/module/components/Command.d.ts.map +1 -1
  270. package/lib/typescript/module/components/DropdownMenu.d.ts +4 -2
  271. package/lib/typescript/module/components/DropdownMenu.d.ts.map +1 -1
  272. package/lib/typescript/module/components/Empty.d.ts +7 -4
  273. package/lib/typescript/module/components/Empty.d.ts.map +1 -1
  274. package/lib/typescript/module/components/FloatingActionButton.d.ts +2 -5
  275. package/lib/typescript/module/components/FloatingActionButton.d.ts.map +1 -1
  276. package/lib/typescript/module/components/FormField.d.ts +12 -4
  277. package/lib/typescript/module/components/FormField.d.ts.map +1 -1
  278. package/lib/typescript/module/components/IconButton.d.ts +4 -7
  279. package/lib/typescript/module/components/IconButton.d.ts.map +1 -1
  280. package/lib/typescript/module/components/Input.d.ts +2 -1
  281. package/lib/typescript/module/components/Input.d.ts.map +1 -1
  282. package/lib/typescript/module/components/InputGroup.d.ts +3 -2
  283. package/lib/typescript/module/components/InputGroup.d.ts.map +1 -1
  284. package/lib/typescript/module/components/InputOTP.d.ts +9 -4
  285. package/lib/typescript/module/components/InputOTP.d.ts.map +1 -1
  286. package/lib/typescript/module/components/Popover.d.ts +1 -1
  287. package/lib/typescript/module/components/Popover.d.ts.map +1 -1
  288. package/lib/typescript/module/components/Progress.d.ts +15 -2
  289. package/lib/typescript/module/components/Progress.d.ts.map +1 -1
  290. package/lib/typescript/module/components/RadioGroup.d.ts +3 -2
  291. package/lib/typescript/module/components/RadioGroup.d.ts.map +1 -1
  292. package/lib/typescript/module/components/Rating.d.ts +3 -23
  293. package/lib/typescript/module/components/Rating.d.ts.map +1 -1
  294. package/lib/typescript/module/components/Select.d.ts +5 -4
  295. package/lib/typescript/module/components/Select.d.ts.map +1 -1
  296. package/lib/typescript/module/components/Sheet.d.ts +25 -6
  297. package/lib/typescript/module/components/Sheet.d.ts.map +1 -1
  298. package/lib/typescript/module/components/Stepper.d.ts +5 -3
  299. package/lib/typescript/module/components/Stepper.d.ts.map +1 -1
  300. package/lib/typescript/module/components/Switch.d.ts +3 -3
  301. package/lib/typescript/module/components/Switch.d.ts.map +1 -1
  302. package/lib/typescript/module/components/Tabs.d.ts +21 -4
  303. package/lib/typescript/module/components/Tabs.d.ts.map +1 -1
  304. package/lib/typescript/module/components/Timeline.d.ts +9 -3
  305. package/lib/typescript/module/components/Timeline.d.ts.map +1 -1
  306. package/lib/typescript/module/components/Toast.d.ts +3 -0
  307. package/lib/typescript/module/components/Toast.d.ts.map +1 -1
  308. package/lib/typescript/module/components/index.d.ts +7 -6
  309. package/lib/typescript/module/components/index.d.ts.map +1 -1
  310. package/lib/typescript/module/components/types.d.ts +110 -0
  311. package/lib/typescript/module/components/types.d.ts.map +1 -1
  312. package/lib/typescript/module/utils/haptics.d.ts +6 -0
  313. package/lib/typescript/module/utils/haptics.d.ts.map +1 -0
  314. package/lib/typescript/module/utils/index.d.ts +1 -0
  315. package/lib/typescript/module/utils/index.d.ts.map +1 -1
  316. package/package.json +10 -1
@@ -2,7 +2,9 @@
2
2
 
3
3
  import React from "react";
4
4
  import { Pressable, View } from "react-native";
5
+ import Animated, { interpolateColor, useAnimatedStyle, useSharedValue, withSpring, withTiming } from "react-native-reanimated";
5
6
  import { useTheme } from "../theme/index.js";
7
+ import { triggerHaptic } from "../utils/haptics.js";
6
8
  import { Text } from "./Text.js";
7
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
10
  const RadioGroupContext = /*#__PURE__*/React.createContext(null);
@@ -45,7 +47,11 @@ export function RadioGroupItem({
45
47
  label,
46
48
  description,
47
49
  disabled = false,
50
+ glass = false,
51
+ haptic = true,
52
+ animated = true,
48
53
  style,
54
+ onPress,
49
55
  ...props
50
56
  }) {
51
57
  const context = React.useContext(RadioGroupContext);
@@ -54,68 +60,119 @@ export function RadioGroupItem({
54
60
  components,
55
61
  radii,
56
62
  spacing,
57
- typography
63
+ typography,
64
+ isDark
58
65
  } = useTheme();
59
66
  const checked = context?.value === value;
60
67
  const isDisabled = disabled || Boolean(context?.disabled);
61
- return /*#__PURE__*/_jsxs(Pressable, {
68
+ const checkedProgress = useSharedValue(checked ? 1 : 0);
69
+ const pressedProgress = useSharedValue(0);
70
+ React.useEffect(() => {
71
+ checkedProgress.value = withSpring(checked ? 1 : 0, {
72
+ damping: 15,
73
+ stiffness: 220,
74
+ mass: 0.7
75
+ });
76
+ }, [checked, checkedProgress]);
77
+ const glassBg = isDark ? "rgba(15, 27, 45, 0.60)" : "rgba(255, 255, 255, 0.75)";
78
+ const inactiveBg = glass ? glassBg : colors.surface;
79
+ const activeBg = colors.primarySoft;
80
+ const inactiveBorder = glass ? isDark ? "rgba(248, 250, 252, 0.20)" : "rgba(15, 23, 42, 0.14)" : colors.border;
81
+ const activeBorder = colors.primary;
82
+ const containerAnimatedStyle = useAnimatedStyle(() => ({
83
+ backgroundColor: interpolateColor(checkedProgress.value, [0, 1], [inactiveBg, activeBg]),
84
+ borderColor: interpolateColor(checkedProgress.value, [0, 1], [inactiveBorder, activeBorder]),
85
+ transform: [{
86
+ scale: animated ? 1 - pressedProgress.value * 0.02 : 1
87
+ }]
88
+ }));
89
+ const dotAnimatedStyle = useAnimatedStyle(() => ({
90
+ transform: [{
91
+ scale: checkedProgress.value
92
+ }],
93
+ opacity: checkedProgress.value
94
+ }));
95
+ const radioCircleAnimatedStyle = useAnimatedStyle(() => ({
96
+ borderColor: interpolateColor(checkedProgress.value, [0, 1], [colors.border, colors.primary])
97
+ }));
98
+ const handlePress = e => {
99
+ if (isDisabled) return;
100
+ if (haptic) triggerHaptic("selection");
101
+ context?.onValueChange?.(value);
102
+ onPress?.(e);
103
+ };
104
+ return /*#__PURE__*/_jsx(Pressable, {
62
105
  accessibilityRole: "radio",
63
106
  accessibilityState: {
64
107
  checked,
65
108
  disabled: isDisabled
66
109
  },
67
110
  disabled: isDisabled,
68
- onPress: () => context?.onValueChange?.(value),
69
- style: ({
70
- pressed
71
- }) => [{
72
- width: "100%",
73
- flexDirection: "row",
74
- alignItems: "flex-start",
75
- gap: spacing.md,
76
- padding: spacing.md,
77
- borderWidth: components.borderWidth.strong,
78
- borderColor: checked ? colors.primary : colors.border,
79
- borderRadius: radii.lg,
80
- backgroundColor: checked ? colors.primarySoft : colors.surface,
81
- opacity: isDisabled ? 0.5 : pressed ? 0.78 : 1
82
- }, style],
111
+ onPress: handlePress,
112
+ onPressIn: () => {
113
+ if (!isDisabled && animated) {
114
+ pressedProgress.value = withTiming(1, {
115
+ duration: 100
116
+ });
117
+ }
118
+ },
119
+ onPressOut: () => {
120
+ if (!isDisabled && animated) {
121
+ pressedProgress.value = withTiming(0, {
122
+ duration: 120
123
+ });
124
+ }
125
+ },
126
+ style: {
127
+ width: "100%"
128
+ },
83
129
  ...props,
84
- children: [/*#__PURE__*/_jsx(View, {
85
- style: {
86
- width: 18,
87
- height: 18,
88
- borderRadius: 9,
89
- borderWidth: components.borderWidth.focus,
90
- borderColor: checked ? colors.primary : colors.border,
91
- alignItems: "center",
92
- justifyContent: "center",
93
- marginTop: 1
94
- },
95
- children: checked ? /*#__PURE__*/_jsx(View, {
130
+ children: /*#__PURE__*/_jsxs(Animated.View, {
131
+ style: [{
132
+ width: "100%",
133
+ flexDirection: "row",
134
+ alignItems: "flex-start",
135
+ gap: spacing.md,
136
+ padding: spacing.md,
137
+ borderWidth: components.borderWidth.strong,
138
+ borderRadius: radii.xl,
139
+ opacity: isDisabled ? 0.5 : 1
140
+ }, containerAnimatedStyle, style],
141
+ children: [/*#__PURE__*/_jsx(Animated.View, {
142
+ style: [{
143
+ width: 20,
144
+ height: 20,
145
+ borderRadius: 10,
146
+ borderWidth: components.borderWidth.focus,
147
+ alignItems: "center",
148
+ justifyContent: "center",
149
+ marginTop: 2
150
+ }, radioCircleAnimatedStyle],
151
+ children: /*#__PURE__*/_jsx(Animated.View, {
152
+ style: [{
153
+ width: 10,
154
+ height: 10,
155
+ borderRadius: 5,
156
+ backgroundColor: colors.primary
157
+ }, dotAnimatedStyle]
158
+ })
159
+ }), /*#__PURE__*/_jsxs(View, {
96
160
  style: {
97
- width: 8,
98
- height: 8,
99
- borderRadius: 4,
100
- backgroundColor: colors.primary
101
- }
102
- }) : null
103
- }), /*#__PURE__*/_jsxs(View, {
104
- style: {
105
- flex: 1,
106
- gap: spacing.xs
107
- },
108
- children: [typeof label === "string" ? /*#__PURE__*/_jsx(Text, {
109
- variant: "label",
110
- color: "text",
111
- children: label
112
- }) : label, typeof description === "string" ? /*#__PURE__*/_jsx(Text, {
113
- style: [typography.bodySmall, {
114
- color: colors.textMuted
115
- }],
116
- children: description
117
- }) : description]
118
- })]
161
+ flex: 1,
162
+ gap: spacing.xs
163
+ },
164
+ children: [typeof label === "string" ? /*#__PURE__*/_jsx(Text, {
165
+ variant: "label",
166
+ color: "text",
167
+ children: label
168
+ }) : label, typeof description === "string" ? /*#__PURE__*/_jsx(Text, {
169
+ style: [typography.bodySmall, {
170
+ color: colors.textMuted
171
+ }],
172
+ children: description
173
+ }) : description]
174
+ })]
175
+ })
119
176
  });
120
177
  }
121
178
  //# sourceMappingURL=RadioGroup.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","View","useTheme","Text","jsx","_jsx","jsxs","_jsxs","RadioGroupContext","createContext","RadioGroup","value","defaultValue","disabled","onValueChange","style","props","spacing","internalValue","setInternalValue","useState","currentValue","handleValueChange","useCallback","next","undefined","context","useMemo","Provider","children","accessibilityRole","gap","sm","width","RadioGroupItem","label","description","useContext","colors","components","radii","typography","checked","isDisabled","Boolean","accessibilityState","onPress","pressed","flexDirection","alignItems","md","padding","borderWidth","strong","borderColor","primary","border","borderRadius","lg","backgroundColor","primarySoft","surface","opacity","height","focus","justifyContent","marginTop","flex","xs","variant","color","bodySmall","textMuted"],"sourceRoot":"../../../src","sources":["components/RadioGroup.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Pressable","View","Animated","interpolateColor","useAnimatedStyle","useSharedValue","withSpring","withTiming","useTheme","triggerHaptic","Text","jsx","_jsx","jsxs","_jsxs","RadioGroupContext","createContext","RadioGroup","value","defaultValue","disabled","onValueChange","style","props","spacing","internalValue","setInternalValue","useState","currentValue","handleValueChange","useCallback","next","undefined","context","useMemo","Provider","children","accessibilityRole","gap","sm","width","RadioGroupItem","label","description","glass","haptic","animated","onPress","useContext","colors","components","radii","typography","isDark","checked","isDisabled","Boolean","checkedProgress","pressedProgress","useEffect","damping","stiffness","mass","glassBg","inactiveBg","surface","activeBg","primarySoft","inactiveBorder","border","activeBorder","primary","containerAnimatedStyle","backgroundColor","borderColor","transform","scale","dotAnimatedStyle","opacity","radioCircleAnimatedStyle","handlePress","e","accessibilityState","onPressIn","duration","onPressOut","flexDirection","alignItems","md","padding","borderWidth","strong","borderRadius","xl","height","focus","justifyContent","marginTop","flex","xs","variant","color","bodySmall","textMuted"],"sourceRoot":"../../../src","sources":["components/RadioGroup.tsx"],"mappings":"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","ignoreList":[]}
@@ -6,24 +6,10 @@ import { Gesture, GestureDetector } from "react-native-gesture-handler";
6
6
  import Animated, { runOnJS, useAnimatedStyle, useSharedValue, withSequence, withSpring } from "react-native-reanimated";
7
7
  import Svg, { Path } from "react-native-svg";
8
8
  import { useTheme } from "../theme/index.js";
9
+ import { triggerHaptic } from "../utils/haptics.js";
9
10
  import { Text } from "./Text.js";
10
11
  import { renderIcon } from "./types.js";
11
12
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
- function getNumericSize(size) {
13
- if (typeof size === "number") return size;
14
- switch (size) {
15
- case "sm":
16
- return 16;
17
- case "md":
18
- return 24;
19
- case "lg":
20
- return 32;
21
- case "xl":
22
- return 40;
23
- default:
24
- return 24;
25
- }
26
- }
27
13
  function getDefaultTone(shape) {
28
14
  switch (shape) {
29
15
  case "heart":
@@ -138,6 +124,76 @@ function ShapeSvg({
138
124
  });
139
125
  }
140
126
  }
127
+ function RatingItemWrapper({
128
+ index,
129
+ itemSize,
130
+ ratingShared,
131
+ activeColor,
132
+ activeEmptyColor,
133
+ shape,
134
+ icon,
135
+ renderItem
136
+ }) {
137
+ const itemValue = index + 1;
138
+ const fillOverlayStyle = useAnimatedStyle(() => {
139
+ const currentVal = ratingShared.value;
140
+ let fillFraction = 0;
141
+ if (currentVal >= itemValue) {
142
+ fillFraction = 1;
143
+ } else if (currentVal > index) {
144
+ fillFraction = currentVal - index;
145
+ }
146
+ return {
147
+ width: `${fillFraction * 100}%`
148
+ };
149
+ });
150
+ if (renderItem) {
151
+ const currentVal = ratingShared.value;
152
+ let fillFraction = 0;
153
+ if (currentVal >= itemValue) fillFraction = 1;else if (currentVal > index) fillFraction = currentVal - index;
154
+ return /*#__PURE__*/_jsx(View, {
155
+ style: {
156
+ width: itemSize,
157
+ height: itemSize
158
+ },
159
+ children: renderItem({
160
+ index,
161
+ value: itemValue,
162
+ fillFraction,
163
+ isFilled: fillFraction > 0,
164
+ color: activeColor,
165
+ emptyColor: activeEmptyColor,
166
+ size: itemSize
167
+ })
168
+ });
169
+ }
170
+ return /*#__PURE__*/_jsxs(View, {
171
+ style: styles.iconCenter,
172
+ children: [/*#__PURE__*/_jsx(View, {
173
+ style: StyleSheet.absoluteFill,
174
+ children: icon ? renderIcon(icon, activeEmptyColor, itemSize) : /*#__PURE__*/_jsx(ShapeSvg, {
175
+ shape: shape,
176
+ color: activeEmptyColor,
177
+ size: itemSize
178
+ })
179
+ }), /*#__PURE__*/_jsx(Animated.View, {
180
+ style: [StyleSheet.absoluteFill, {
181
+ overflow: "hidden"
182
+ }, fillOverlayStyle],
183
+ children: /*#__PURE__*/_jsx(View, {
184
+ style: {
185
+ width: itemSize,
186
+ height: itemSize
187
+ },
188
+ children: icon ? renderIcon(icon, activeColor, itemSize) : /*#__PURE__*/_jsx(ShapeSvg, {
189
+ shape: shape,
190
+ color: activeColor,
191
+ size: itemSize
192
+ })
193
+ })
194
+ })]
195
+ });
196
+ }
141
197
  export function Rating({
142
198
  value,
143
199
  defaultValue = 0,
@@ -153,6 +209,7 @@ export function Rating({
153
209
  disabled = false,
154
210
  allowClear = true,
155
211
  showValue = false,
212
+ haptic = true,
156
213
  valueFormat,
157
214
  renderItem,
158
215
  icon,
@@ -180,11 +237,13 @@ export function Rating({
180
237
  const isInteracting = useSharedValue(false);
181
238
  const containerWidth = useSharedValue(max * itemSize + (max - 1) * gap);
182
239
  const scaleAnim = useSharedValue(1);
240
+ const [displayVal, setDisplayVal] = React.useState(currentValue);
183
241
  React.useEffect(() => {
184
242
  if (!isInteracting.value) {
185
243
  ratingShared.value = currentValue;
244
+ setDisplayVal(currentValue);
186
245
  }
187
- }, [currentValue, isInteracting]);
246
+ }, [currentValue, isInteracting, ratingShared]);
188
247
  const updateRatingFromX = React.useCallback((xPos, isFinal = false) => {
189
248
  "worklet";
190
249
 
@@ -192,24 +251,32 @@ export function Rating({
192
251
  if (totalW <= 0) return;
193
252
  const rawVal = xPos / totalW * max;
194
253
  let nextVal = roundToStep(rawVal, step, max, allowClear);
195
-
196
- // Handle tap on current value to toggle zero clear
197
254
  if (isFinal && allowClear && nextVal === ratingShared.value && xPos < itemSize) {
198
255
  nextVal = 0;
199
256
  }
200
257
  ratingShared.value = nextVal;
258
+ runOnJS(setDisplayVal)(nextVal);
201
259
  if (onValueChange) {
202
260
  runOnJS(onValueChange)(nextVal);
203
261
  }
204
- if (!isControlled) {
262
+ if (isFinal && !isControlled) {
205
263
  runOnJS(setInternalValue)(nextVal);
206
264
  }
207
- }, [max, step, allowClear, isControlled, onValueChange, ratingShared, containerWidth, itemSize]);
208
- const panGesture = Gesture.Pan().enabled(!disabled && !readOnly).minDistance(0).onBegin(e => {
265
+ }, [allowClear, containerWidth, isControlled, itemSize, max, onValueChange, ratingShared, step]);
266
+ const triggerHapticFeedback = React.useCallback(() => {
267
+ if (haptic) triggerHaptic("selection");
268
+ }, [haptic]);
269
+ const tapGesture = Gesture.Tap().enabled(!disabled && !readOnly).onEnd(e => {
270
+ "worklet";
271
+
272
+ updateRatingFromX(e.x, true);
273
+ runOnJS(triggerHapticFeedback)();
274
+ });
275
+ const panGesture = Gesture.Pan().enabled(!disabled && !readOnly).minDistance(2).onBegin(e => {
209
276
  "worklet";
210
277
 
211
278
  isInteracting.value = true;
212
- scaleAnim.value = withSpring(1.06, {
279
+ scaleAnim.value = withSpring(1.05, {
213
280
  damping: 15,
214
281
  stiffness: 200
215
282
  });
@@ -226,7 +293,7 @@ export function Rating({
226
293
 
227
294
  updateRatingFromX(e.x, true);
228
295
  const finalVal = ratingShared.value;
229
- scaleAnim.value = withSequence(withSpring(1.12, {
296
+ scaleAnim.value = withSequence(withSpring(1.08, {
230
297
  damping: 10
231
298
  }), withSpring(1, {
232
299
  damping: 15
@@ -234,6 +301,7 @@ export function Rating({
234
301
  if (onSlidingComplete) {
235
302
  runOnJS(onSlidingComplete)(finalVal);
236
303
  }
304
+ runOnJS(triggerHapticFeedback)();
237
305
  isInteracting.value = false;
238
306
  }).onFinalize(() => {
239
307
  "worklet";
@@ -241,7 +309,7 @@ export function Rating({
241
309
  isInteracting.value = false;
242
310
  scaleAnim.value = withSpring(1);
243
311
  });
244
- const composedGesture = panGesture;
312
+ const composedGesture = Gesture.Race(tapGesture, panGesture);
245
313
  const containerAnimatedStyle = useAnimatedStyle(() => ({
246
314
  transform: [{
247
315
  scale: scaleAnim.value
@@ -252,7 +320,7 @@ export function Rating({
252
320
  containerWidth.value = e.nativeEvent.layout.width;
253
321
  if (onLayout) onLayout(e);
254
322
  };
255
- const defaultFormattedValue = valueFormat ? valueFormat(currentValue, max) : `${currentValue.toFixed(step < 0.5 ? 1 : step === 0.5 ? 1 : 0)} / ${max}`;
323
+ const defaultFormattedValue = valueFormat ? valueFormat(displayVal, max) : `${displayVal.toFixed(step < 0.5 ? 1 : step === 0.5 ? 1 : 0)} / ${max}`;
256
324
  return /*#__PURE__*/_jsxs(View, {
257
325
  style: [styles.root, style],
258
326
  ...props,
@@ -265,76 +333,22 @@ export function Rating({
265
333
  }, containerAnimatedStyle],
266
334
  children: Array.from({
267
335
  length: max
268
- }).map((_, index) => {
269
- const itemValue = index + 1;
270
- let fillFraction = 0;
271
- if (currentValue >= itemValue) {
272
- fillFraction = 1;
273
- } else if (currentValue > index) {
274
- fillFraction = currentValue - index;
275
- }
276
- const isFilled = fillFraction > 0;
277
- const itemInfo = {
278
- index,
279
- value: itemValue,
280
- fillFraction,
281
- isFilled,
282
- color: activeColor,
283
- emptyColor: activeEmptyColor,
284
- size: itemSize
285
- };
286
- return /*#__PURE__*/_jsx(View, {
287
- style: [styles.itemWrapper, {
288
- width: itemSize,
289
- height: itemSize
290
- }, itemStyle],
291
- children: renderItem ? renderItem(itemInfo) : icon ? /*#__PURE__*/_jsxs(View, {
292
- style: styles.iconCenter,
293
- children: [/*#__PURE__*/_jsx(View, {
294
- style: StyleSheet.absoluteFill,
295
- children: renderIcon(icon, activeEmptyColor, itemSize)
296
- }), /*#__PURE__*/_jsx(View, {
297
- style: [StyleSheet.absoluteFill, {
298
- width: `${fillFraction * 100}%`,
299
- overflow: "hidden"
300
- }],
301
- children: /*#__PURE__*/_jsx(View, {
302
- style: {
303
- width: itemSize,
304
- height: itemSize
305
- },
306
- children: renderIcon(icon, activeColor, itemSize)
307
- })
308
- })]
309
- }) : /*#__PURE__*/_jsxs(View, {
310
- style: styles.iconCenter,
311
- children: [/*#__PURE__*/_jsx(View, {
312
- style: StyleSheet.absoluteFill,
313
- children: /*#__PURE__*/_jsx(ShapeSvg, {
314
- shape: shape,
315
- color: activeEmptyColor,
316
- size: itemSize
317
- })
318
- }), /*#__PURE__*/_jsx(View, {
319
- style: [StyleSheet.absoluteFill, {
320
- width: `${fillFraction * 100}%`,
321
- overflow: "hidden"
322
- }],
323
- children: /*#__PURE__*/_jsx(View, {
324
- style: {
325
- width: itemSize,
326
- height: itemSize
327
- },
328
- children: /*#__PURE__*/_jsx(ShapeSvg, {
329
- shape: shape,
330
- color: activeColor,
331
- size: itemSize
332
- })
333
- })
334
- })]
335
- })
336
- }, index);
337
- })
336
+ }).map((_, index) => /*#__PURE__*/_jsx(View, {
337
+ style: [styles.itemWrapper, {
338
+ width: itemSize,
339
+ height: itemSize
340
+ }, itemStyle],
341
+ children: /*#__PURE__*/_jsx(RatingItemWrapper, {
342
+ index: index,
343
+ itemSize: itemSize,
344
+ ratingShared: ratingShared,
345
+ activeColor: activeColor,
346
+ activeEmptyColor: activeEmptyColor,
347
+ shape: shape,
348
+ icon: icon,
349
+ renderItem: renderItem
350
+ })
351
+ }, index))
338
352
  })
339
353
  }), showValue && /*#__PURE__*/_jsx(Text, {
340
354
  variant: "labelSmall",
@@ -1 +1 @@
1
- {"version":3,"names":["React","StyleSheet","View","Gesture","GestureDetector","Animated","runOnJS","useAnimatedStyle","useSharedValue","withSequence","withSpring","Svg","Path","useTheme","Text","renderIcon","jsx","_jsx","jsxs","_jsxs","getNumericSize","size","getDefaultTone","shape","parsePrecisionStep","precision","Math","max","clamp","val","min","roundToStep","rawVal","step","allowZero","snapped","round","decimals","toString","split","length","Number","toFixed","ShapeSvg","color","viewBox","width","height","children","d","fill","Rating","value","defaultValue","gap","tone","emptyColor","readOnly","disabled","allowClear","showValue","valueFormat","renderItem","icon","onValueChange","onSlidingStart","onSlidingComplete","style","itemStyle","onLayout","props","colors","components","activeTone","activeColor","activeEmptyColor","textMuted","itemSize","rating","internalValue","setInternalValue","useState","isControlled","undefined","currentValue","ratingShared","isInteracting","containerWidth","scaleAnim","useEffect","updateRatingFromX","useCallback","xPos","isFinal","totalW","nextVal","panGesture","Pan","enabled","minDistance","onBegin","e","damping","stiffness","x","onUpdate","onEnd","finalVal","onFinalize","composedGesture","containerAnimatedStyle","transform","scale","opacity","handleLayout","nativeEvent","layout","defaultFormattedValue","styles","root","gesture","container","Array","from","map","_","index","itemValue","fillFraction","isFilled","itemInfo","itemWrapper","iconCenter","absoluteFill","overflow","variant","valueText","create","flexDirection","alignItems","justifyContent","marginLeft"],"sourceRoot":"../../../src","sources":["components/Rating.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","StyleSheet","View","Gesture","GestureDetector","Animated","runOnJS","useAnimatedStyle","useSharedValue","withSequence","withSpring","Svg","Path","useTheme","triggerHaptic","Text","renderIcon","jsx","_jsx","jsxs","_jsxs","getDefaultTone","shape","parsePrecisionStep","precision","Math","max","clamp","val","min","roundToStep","rawVal","step","allowZero","snapped","round","decimals","toString","split","length","Number","toFixed","ShapeSvg","color","size","viewBox","width","height","children","d","fill","RatingItemWrapper","index","itemSize","ratingShared","activeColor","activeEmptyColor","icon","renderItem","itemValue","fillOverlayStyle","currentVal","value","fillFraction","style","isFilled","emptyColor","styles","iconCenter","absoluteFill","overflow","Rating","defaultValue","gap","tone","readOnly","disabled","allowClear","showValue","haptic","valueFormat","onValueChange","onSlidingStart","onSlidingComplete","itemStyle","onLayout","props","colors","components","activeTone","textMuted","rating","internalValue","setInternalValue","useState","isControlled","undefined","currentValue","isInteracting","containerWidth","scaleAnim","displayVal","setDisplayVal","useEffect","updateRatingFromX","useCallback","xPos","isFinal","totalW","nextVal","triggerHapticFeedback","tapGesture","Tap","enabled","onEnd","e","x","panGesture","Pan","minDistance","onBegin","damping","stiffness","onUpdate","finalVal","onFinalize","composedGesture","Race","containerAnimatedStyle","transform","scale","opacity","handleLayout","nativeEvent","layout","defaultFormattedValue","root","gesture","container","Array","from","map","_","itemWrapper","variant","valueText","create","flexDirection","alignItems","justifyContent","marginLeft"],"sourceRoot":"../../../src","sources":["components/Rating.tsx"],"mappings":"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","ignoreList":[]}