@masumdev/rn-ui 0.1.7 → 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 (299) hide show
  1. package/lib/commonjs/components/Accordion.js +28 -13
  2. package/lib/commonjs/components/Accordion.js.map +1 -1
  3. package/lib/commonjs/components/Alert.js +229 -73
  4. package/lib/commonjs/components/Alert.js.map +1 -1
  5. package/lib/commonjs/components/AlertDialog.js +143 -87
  6. package/lib/commonjs/components/AlertDialog.js.map +1 -1
  7. package/lib/commonjs/components/Avatar.js +31 -28
  8. package/lib/commonjs/components/Avatar.js.map +1 -1
  9. package/lib/commonjs/components/Badge.js +18 -7
  10. package/lib/commonjs/components/Badge.js.map +1 -1
  11. package/lib/commonjs/components/BottomSheet.js +63 -8
  12. package/lib/commonjs/components/BottomSheet.js.map +1 -1
  13. package/lib/commonjs/components/Breadcrumb.js +31 -9
  14. package/lib/commonjs/components/Breadcrumb.js.map +1 -1
  15. package/lib/commonjs/components/Button.js +22 -6
  16. package/lib/commonjs/components/Button.js.map +1 -1
  17. package/lib/commonjs/components/Calendar.js +113 -31
  18. package/lib/commonjs/components/Calendar.js.map +1 -1
  19. package/lib/commonjs/components/Card.js +8 -3
  20. package/lib/commonjs/components/Card.js.map +1 -1
  21. package/lib/commonjs/components/Carousel.js +67 -21
  22. package/lib/commonjs/components/Carousel.js.map +1 -1
  23. package/lib/commonjs/components/Checkbox.js +12 -7
  24. package/lib/commonjs/components/Checkbox.js.map +1 -1
  25. package/lib/commonjs/components/Collapsible.js +47 -36
  26. package/lib/commonjs/components/Collapsible.js.map +1 -1
  27. package/lib/commonjs/components/Combobox.js +110 -48
  28. package/lib/commonjs/components/Combobox.js.map +1 -1
  29. package/lib/commonjs/components/Command.js +121 -77
  30. package/lib/commonjs/components/Command.js.map +1 -1
  31. package/lib/commonjs/components/DropdownMenu.js +78 -25
  32. package/lib/commonjs/components/DropdownMenu.js.map +1 -1
  33. package/lib/commonjs/components/Empty.js +24 -10
  34. package/lib/commonjs/components/Empty.js.map +1 -1
  35. package/lib/commonjs/components/FormField.js +63 -13
  36. package/lib/commonjs/components/FormField.js.map +1 -1
  37. package/lib/commonjs/components/IconButton.js +22 -6
  38. package/lib/commonjs/components/IconButton.js.map +1 -1
  39. package/lib/commonjs/components/Input.js +11 -13
  40. package/lib/commonjs/components/Input.js.map +1 -1
  41. package/lib/commonjs/components/InputGroup.js +19 -10
  42. package/lib/commonjs/components/InputGroup.js.map +1 -1
  43. package/lib/commonjs/components/InputOTP.js +46 -15
  44. package/lib/commonjs/components/InputOTP.js.map +1 -1
  45. package/lib/commonjs/components/Popover.js +90 -23
  46. package/lib/commonjs/components/Popover.js.map +1 -1
  47. package/lib/commonjs/components/Progress.js +105 -6
  48. package/lib/commonjs/components/Progress.js.map +1 -1
  49. package/lib/commonjs/components/RadioGroup.js +109 -51
  50. package/lib/commonjs/components/RadioGroup.js.map +1 -1
  51. package/lib/commonjs/components/Rating.js +109 -95
  52. package/lib/commonjs/components/Rating.js.map +1 -1
  53. package/lib/commonjs/components/Select.js +109 -43
  54. package/lib/commonjs/components/Select.js.map +1 -1
  55. package/lib/commonjs/components/Sheet.js +217 -29
  56. package/lib/commonjs/components/Sheet.js.map +1 -1
  57. package/lib/commonjs/components/Stepper.js +119 -24
  58. package/lib/commonjs/components/Stepper.js.map +1 -1
  59. package/lib/commonjs/components/Switch.js +21 -11
  60. package/lib/commonjs/components/Switch.js.map +1 -1
  61. package/lib/commonjs/components/Tabs.js +159 -28
  62. package/lib/commonjs/components/Tabs.js.map +1 -1
  63. package/lib/commonjs/components/Timeline.js +35 -12
  64. package/lib/commonjs/components/Timeline.js.map +1 -1
  65. package/lib/commonjs/components/Toast.js +163 -38
  66. package/lib/commonjs/components/Toast.js.map +1 -1
  67. package/lib/commonjs/components/index.js +12 -0
  68. package/lib/commonjs/components/index.js.map +1 -1
  69. package/lib/commonjs/components/types.js +16 -0
  70. package/lib/commonjs/components/types.js.map +1 -1
  71. package/lib/commonjs/theme/tokens.js +7 -7
  72. package/lib/commonjs/theme/tokens.js.map +1 -1
  73. package/lib/commonjs/utils/haptics.js +42 -0
  74. package/lib/commonjs/utils/haptics.js.map +1 -0
  75. package/lib/commonjs/utils/index.js +7 -0
  76. package/lib/commonjs/utils/index.js.map +1 -1
  77. package/lib/module/components/Accordion.js +28 -13
  78. package/lib/module/components/Accordion.js.map +1 -1
  79. package/lib/module/components/Alert.js +229 -73
  80. package/lib/module/components/Alert.js.map +1 -1
  81. package/lib/module/components/AlertDialog.js +144 -88
  82. package/lib/module/components/AlertDialog.js.map +1 -1
  83. package/lib/module/components/Avatar.js +31 -28
  84. package/lib/module/components/Avatar.js.map +1 -1
  85. package/lib/module/components/Badge.js +18 -7
  86. package/lib/module/components/Badge.js.map +1 -1
  87. package/lib/module/components/BottomSheet.js +64 -4
  88. package/lib/module/components/BottomSheet.js.map +1 -1
  89. package/lib/module/components/Breadcrumb.js +31 -9
  90. package/lib/module/components/Breadcrumb.js.map +1 -1
  91. package/lib/module/components/Button.js +22 -6
  92. package/lib/module/components/Button.js.map +1 -1
  93. package/lib/module/components/Calendar.js +114 -32
  94. package/lib/module/components/Calendar.js.map +1 -1
  95. package/lib/module/components/Card.js +8 -3
  96. package/lib/module/components/Card.js.map +1 -1
  97. package/lib/module/components/Carousel.js +67 -21
  98. package/lib/module/components/Carousel.js.map +1 -1
  99. package/lib/module/components/Checkbox.js +12 -7
  100. package/lib/module/components/Checkbox.js.map +1 -1
  101. package/lib/module/components/Collapsible.js +49 -38
  102. package/lib/module/components/Collapsible.js.map +1 -1
  103. package/lib/module/components/Combobox.js +110 -48
  104. package/lib/module/components/Combobox.js.map +1 -1
  105. package/lib/module/components/Command.js +121 -77
  106. package/lib/module/components/Command.js.map +1 -1
  107. package/lib/module/components/DropdownMenu.js +79 -26
  108. package/lib/module/components/DropdownMenu.js.map +1 -1
  109. package/lib/module/components/Empty.js +24 -10
  110. package/lib/module/components/Empty.js.map +1 -1
  111. package/lib/module/components/FormField.js +63 -14
  112. package/lib/module/components/FormField.js.map +1 -1
  113. package/lib/module/components/IconButton.js +22 -6
  114. package/lib/module/components/IconButton.js.map +1 -1
  115. package/lib/module/components/Input.js +12 -14
  116. package/lib/module/components/Input.js.map +1 -1
  117. package/lib/module/components/InputGroup.js +19 -10
  118. package/lib/module/components/InputGroup.js.map +1 -1
  119. package/lib/module/components/InputOTP.js +46 -15
  120. package/lib/module/components/InputOTP.js.map +1 -1
  121. package/lib/module/components/Popover.js +90 -24
  122. package/lib/module/components/Popover.js.map +1 -1
  123. package/lib/module/components/Progress.js +106 -8
  124. package/lib/module/components/Progress.js.map +1 -1
  125. package/lib/module/components/RadioGroup.js +108 -51
  126. package/lib/module/components/RadioGroup.js.map +1 -1
  127. package/lib/module/components/Rating.js +109 -95
  128. package/lib/module/components/Rating.js.map +1 -1
  129. package/lib/module/components/Select.js +111 -45
  130. package/lib/module/components/Select.js.map +1 -1
  131. package/lib/module/components/Sheet.js +216 -24
  132. package/lib/module/components/Sheet.js.map +1 -1
  133. package/lib/module/components/Stepper.js +120 -25
  134. package/lib/module/components/Stepper.js.map +1 -1
  135. package/lib/module/components/Switch.js +21 -11
  136. package/lib/module/components/Switch.js.map +1 -1
  137. package/lib/module/components/Tabs.js +158 -29
  138. package/lib/module/components/Tabs.js.map +1 -1
  139. package/lib/module/components/Timeline.js +35 -12
  140. package/lib/module/components/Timeline.js.map +1 -1
  141. package/lib/module/components/Toast.js +164 -38
  142. package/lib/module/components/Toast.js.map +1 -1
  143. package/lib/module/components/index.js +2 -2
  144. package/lib/module/components/index.js.map +1 -1
  145. package/lib/module/components/types.js +16 -0
  146. package/lib/module/components/types.js.map +1 -1
  147. package/lib/module/theme/tokens.js +7 -7
  148. package/lib/module/theme/tokens.js.map +1 -1
  149. package/lib/module/utils/haptics.js +38 -0
  150. package/lib/module/utils/haptics.js.map +1 -0
  151. package/lib/module/utils/index.js +1 -0
  152. package/lib/module/utils/index.js.map +1 -1
  153. package/lib/typescript/commonjs/components/Accordion.d.ts +6 -3
  154. package/lib/typescript/commonjs/components/Accordion.d.ts.map +1 -1
  155. package/lib/typescript/commonjs/components/Alert.d.ts +4 -4
  156. package/lib/typescript/commonjs/components/Alert.d.ts.map +1 -1
  157. package/lib/typescript/commonjs/components/AlertDialog.d.ts +5 -3
  158. package/lib/typescript/commonjs/components/AlertDialog.d.ts.map +1 -1
  159. package/lib/typescript/commonjs/components/Avatar.d.ts +9 -4
  160. package/lib/typescript/commonjs/components/Avatar.d.ts.map +1 -1
  161. package/lib/typescript/commonjs/components/Badge.d.ts +4 -4
  162. package/lib/typescript/commonjs/components/Badge.d.ts.map +1 -1
  163. package/lib/typescript/commonjs/components/BottomSheet.d.ts +13 -4
  164. package/lib/typescript/commonjs/components/BottomSheet.d.ts.map +1 -1
  165. package/lib/typescript/commonjs/components/Breadcrumb.d.ts +6 -5
  166. package/lib/typescript/commonjs/components/Breadcrumb.d.ts.map +1 -1
  167. package/lib/typescript/commonjs/components/Button.d.ts +3 -3
  168. package/lib/typescript/commonjs/components/Button.d.ts.map +1 -1
  169. package/lib/typescript/commonjs/components/Calendar.d.ts +9 -1
  170. package/lib/typescript/commonjs/components/Calendar.d.ts.map +1 -1
  171. package/lib/typescript/commonjs/components/Card.d.ts +3 -2
  172. package/lib/typescript/commonjs/components/Card.d.ts.map +1 -1
  173. package/lib/typescript/commonjs/components/Carousel.d.ts +4 -1
  174. package/lib/typescript/commonjs/components/Carousel.d.ts.map +1 -1
  175. package/lib/typescript/commonjs/components/Checkbox.d.ts +3 -3
  176. package/lib/typescript/commonjs/components/Checkbox.d.ts.map +1 -1
  177. package/lib/typescript/commonjs/components/Collapsible.d.ts.map +1 -1
  178. package/lib/typescript/commonjs/components/Combobox.d.ts +11 -6
  179. package/lib/typescript/commonjs/components/Combobox.d.ts.map +1 -1
  180. package/lib/typescript/commonjs/components/Command.d.ts +3 -0
  181. package/lib/typescript/commonjs/components/Command.d.ts.map +1 -1
  182. package/lib/typescript/commonjs/components/DropdownMenu.d.ts +4 -2
  183. package/lib/typescript/commonjs/components/DropdownMenu.d.ts.map +1 -1
  184. package/lib/typescript/commonjs/components/Empty.d.ts +7 -4
  185. package/lib/typescript/commonjs/components/Empty.d.ts.map +1 -1
  186. package/lib/typescript/commonjs/components/FormField.d.ts +12 -4
  187. package/lib/typescript/commonjs/components/FormField.d.ts.map +1 -1
  188. package/lib/typescript/commonjs/components/IconButton.d.ts +3 -3
  189. package/lib/typescript/commonjs/components/IconButton.d.ts.map +1 -1
  190. package/lib/typescript/commonjs/components/Input.d.ts +2 -1
  191. package/lib/typescript/commonjs/components/Input.d.ts.map +1 -1
  192. package/lib/typescript/commonjs/components/InputGroup.d.ts +3 -2
  193. package/lib/typescript/commonjs/components/InputGroup.d.ts.map +1 -1
  194. package/lib/typescript/commonjs/components/InputOTP.d.ts +9 -4
  195. package/lib/typescript/commonjs/components/InputOTP.d.ts.map +1 -1
  196. package/lib/typescript/commonjs/components/Popover.d.ts +1 -1
  197. package/lib/typescript/commonjs/components/Popover.d.ts.map +1 -1
  198. package/lib/typescript/commonjs/components/Progress.d.ts +13 -1
  199. package/lib/typescript/commonjs/components/Progress.d.ts.map +1 -1
  200. package/lib/typescript/commonjs/components/RadioGroup.d.ts +3 -2
  201. package/lib/typescript/commonjs/components/RadioGroup.d.ts.map +1 -1
  202. package/lib/typescript/commonjs/components/Rating.d.ts +3 -23
  203. package/lib/typescript/commonjs/components/Rating.d.ts.map +1 -1
  204. package/lib/typescript/commonjs/components/Select.d.ts +5 -4
  205. package/lib/typescript/commonjs/components/Select.d.ts.map +1 -1
  206. package/lib/typescript/commonjs/components/Sheet.d.ts +25 -6
  207. package/lib/typescript/commonjs/components/Sheet.d.ts.map +1 -1
  208. package/lib/typescript/commonjs/components/Stepper.d.ts +5 -3
  209. package/lib/typescript/commonjs/components/Stepper.d.ts.map +1 -1
  210. package/lib/typescript/commonjs/components/Switch.d.ts +3 -3
  211. package/lib/typescript/commonjs/components/Switch.d.ts.map +1 -1
  212. package/lib/typescript/commonjs/components/Tabs.d.ts +21 -4
  213. package/lib/typescript/commonjs/components/Tabs.d.ts.map +1 -1
  214. package/lib/typescript/commonjs/components/Timeline.d.ts +9 -3
  215. package/lib/typescript/commonjs/components/Timeline.d.ts.map +1 -1
  216. package/lib/typescript/commonjs/components/Toast.d.ts +3 -0
  217. package/lib/typescript/commonjs/components/Toast.d.ts.map +1 -1
  218. package/lib/typescript/commonjs/components/index.d.ts +5 -5
  219. package/lib/typescript/commonjs/components/index.d.ts.map +1 -1
  220. package/lib/typescript/commonjs/components/types.d.ts +35 -0
  221. package/lib/typescript/commonjs/components/types.d.ts.map +1 -1
  222. package/lib/typescript/commonjs/utils/haptics.d.ts +6 -0
  223. package/lib/typescript/commonjs/utils/haptics.d.ts.map +1 -0
  224. package/lib/typescript/commonjs/utils/index.d.ts +1 -0
  225. package/lib/typescript/commonjs/utils/index.d.ts.map +1 -1
  226. package/lib/typescript/module/components/Accordion.d.ts +6 -3
  227. package/lib/typescript/module/components/Accordion.d.ts.map +1 -1
  228. package/lib/typescript/module/components/Alert.d.ts +4 -4
  229. package/lib/typescript/module/components/Alert.d.ts.map +1 -1
  230. package/lib/typescript/module/components/AlertDialog.d.ts +5 -3
  231. package/lib/typescript/module/components/AlertDialog.d.ts.map +1 -1
  232. package/lib/typescript/module/components/Avatar.d.ts +9 -4
  233. package/lib/typescript/module/components/Avatar.d.ts.map +1 -1
  234. package/lib/typescript/module/components/Badge.d.ts +4 -4
  235. package/lib/typescript/module/components/Badge.d.ts.map +1 -1
  236. package/lib/typescript/module/components/BottomSheet.d.ts +13 -4
  237. package/lib/typescript/module/components/BottomSheet.d.ts.map +1 -1
  238. package/lib/typescript/module/components/Breadcrumb.d.ts +6 -5
  239. package/lib/typescript/module/components/Breadcrumb.d.ts.map +1 -1
  240. package/lib/typescript/module/components/Button.d.ts +3 -3
  241. package/lib/typescript/module/components/Button.d.ts.map +1 -1
  242. package/lib/typescript/module/components/Calendar.d.ts +9 -1
  243. package/lib/typescript/module/components/Calendar.d.ts.map +1 -1
  244. package/lib/typescript/module/components/Card.d.ts +3 -2
  245. package/lib/typescript/module/components/Card.d.ts.map +1 -1
  246. package/lib/typescript/module/components/Carousel.d.ts +4 -1
  247. package/lib/typescript/module/components/Carousel.d.ts.map +1 -1
  248. package/lib/typescript/module/components/Checkbox.d.ts +3 -3
  249. package/lib/typescript/module/components/Checkbox.d.ts.map +1 -1
  250. package/lib/typescript/module/components/Collapsible.d.ts.map +1 -1
  251. package/lib/typescript/module/components/Combobox.d.ts +11 -6
  252. package/lib/typescript/module/components/Combobox.d.ts.map +1 -1
  253. package/lib/typescript/module/components/Command.d.ts +3 -0
  254. package/lib/typescript/module/components/Command.d.ts.map +1 -1
  255. package/lib/typescript/module/components/DropdownMenu.d.ts +4 -2
  256. package/lib/typescript/module/components/DropdownMenu.d.ts.map +1 -1
  257. package/lib/typescript/module/components/Empty.d.ts +7 -4
  258. package/lib/typescript/module/components/Empty.d.ts.map +1 -1
  259. package/lib/typescript/module/components/FormField.d.ts +12 -4
  260. package/lib/typescript/module/components/FormField.d.ts.map +1 -1
  261. package/lib/typescript/module/components/IconButton.d.ts +3 -3
  262. package/lib/typescript/module/components/IconButton.d.ts.map +1 -1
  263. package/lib/typescript/module/components/Input.d.ts +2 -1
  264. package/lib/typescript/module/components/Input.d.ts.map +1 -1
  265. package/lib/typescript/module/components/InputGroup.d.ts +3 -2
  266. package/lib/typescript/module/components/InputGroup.d.ts.map +1 -1
  267. package/lib/typescript/module/components/InputOTP.d.ts +9 -4
  268. package/lib/typescript/module/components/InputOTP.d.ts.map +1 -1
  269. package/lib/typescript/module/components/Popover.d.ts +1 -1
  270. package/lib/typescript/module/components/Popover.d.ts.map +1 -1
  271. package/lib/typescript/module/components/Progress.d.ts +13 -1
  272. package/lib/typescript/module/components/Progress.d.ts.map +1 -1
  273. package/lib/typescript/module/components/RadioGroup.d.ts +3 -2
  274. package/lib/typescript/module/components/RadioGroup.d.ts.map +1 -1
  275. package/lib/typescript/module/components/Rating.d.ts +3 -23
  276. package/lib/typescript/module/components/Rating.d.ts.map +1 -1
  277. package/lib/typescript/module/components/Select.d.ts +5 -4
  278. package/lib/typescript/module/components/Select.d.ts.map +1 -1
  279. package/lib/typescript/module/components/Sheet.d.ts +25 -6
  280. package/lib/typescript/module/components/Sheet.d.ts.map +1 -1
  281. package/lib/typescript/module/components/Stepper.d.ts +5 -3
  282. package/lib/typescript/module/components/Stepper.d.ts.map +1 -1
  283. package/lib/typescript/module/components/Switch.d.ts +3 -3
  284. package/lib/typescript/module/components/Switch.d.ts.map +1 -1
  285. package/lib/typescript/module/components/Tabs.d.ts +21 -4
  286. package/lib/typescript/module/components/Tabs.d.ts.map +1 -1
  287. package/lib/typescript/module/components/Timeline.d.ts +9 -3
  288. package/lib/typescript/module/components/Timeline.d.ts.map +1 -1
  289. package/lib/typescript/module/components/Toast.d.ts +3 -0
  290. package/lib/typescript/module/components/Toast.d.ts.map +1 -1
  291. package/lib/typescript/module/components/index.d.ts +5 -5
  292. package/lib/typescript/module/components/index.d.ts.map +1 -1
  293. package/lib/typescript/module/components/types.d.ts +35 -0
  294. package/lib/typescript/module/components/types.d.ts.map +1 -1
  295. package/lib/typescript/module/utils/haptics.d.ts +6 -0
  296. package/lib/typescript/module/utils/haptics.d.ts.map +1 -0
  297. package/lib/typescript/module/utils/index.d.ts +1 -0
  298. package/lib/typescript/module/utils/index.d.ts.map +1 -1
  299. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"names":["React","Pressable","Text","TextInput","View","Animated","cancelAnimation","useAnimatedStyle","useSharedValue","withRepeat","withSequence","withTiming","useTheme","jsx","_jsx","jsxs","_jsxs","InputOTPContext","createContext","normalizeValue","value","maxLength","replace","slice","InputOTP","children","defaultValue","onChangeText","disabled","invalid","autoFocus","textInputProps","style","onPress","props","colors","inputRef","useRef","focused","setFocused","useState","internalValue","setInternalValue","currentValue","activeIndex","Math","min","length","handleChangeText","nextValue","normalized","undefined","focus","current","slots","useMemo","Array","from","_","index","char","isActive","hasFakeCaret","context","Provider","accessibilityRole","accessibilityState","event","opacity","ref","editable","keyboardType","textContentType","autoComplete","caretHidden","spellCheck","onFocus","onBlur","position","width","height","color","transparent","InputOTPGroup","radii","spacing","flexDirection","alignItems","borderRadius","lg","gap","xs","InputOTPSlot","components","typography","useContext","slot","selected","justifyContent","borderWidth","strong","borderColor","danger","primary","border","backgroundColor","input","label","disabledText","text","fontVariant","InputOTPCaret","useEffect","duration","caretStyle","pointerEvents","InputOTPSeparator","textMuted"],"sourceRoot":"../../../src","sources":["components/InputOTP.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Pressable","Text","TextInput","View","Animated","cancelAnimation","useAnimatedStyle","useSharedValue","withRepeat","withSequence","withTiming","useTheme","jsx","_jsx","jsxs","_jsxs","InputOTPContext","createContext","normalizeValue","value","maxLength","replace","slice","InputOTP","children","defaultValue","onChangeText","size","disabled","invalid","glass","autoFocus","textInputProps","style","onPress","props","colors","inputRef","useRef","focused","setFocused","useState","internalValue","setInternalValue","currentValue","activeIndex","Math","min","length","handleChangeText","nextValue","normalized","undefined","focus","current","slots","useMemo","Array","from","_","index","char","isActive","hasFakeCaret","context","Provider","accessibilityRole","accessibilityState","event","alignSelf","alignItems","justifyContent","opacity","ref","editable","keyboardType","textContentType","autoComplete","caretHidden","spellCheck","onFocus","onBlur","position","width","height","color","transparent","InputOTPGroup","radii","spacing","flexDirection","borderRadius","lg","gap","sm","slotDimensions","fontSize","md","InputOTPSlot","components","isDark","useContext","slot","effectiveSize","dims","glassBg","selected","borderWidth","strong","borderColor","danger","primary","border","xl","backgroundColor","input","fontWeight","disabledText","text","fontVariant","InputOTPCaret","useEffect","duration","caretStyle","pointerEvents","InputOTPSeparator","textMuted"],"sourceRoot":"../../../src","sources":["components/InputOTP.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,SAAS,EACTC,IAAI,EACJC,SAAS,EACTC,IAAI,QAMC,cAAc;AACrB,OAAOC,QAAQ,IACbC,eAAe,EACfC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,EACVC,YAAY,EACZC,UAAU,QACL,yBAAyB;AAEhC,SAASC,QAAQ,QAAQ,mBAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAoBpC,OAAO,MAAMC,eAAe,gBAAGjB,KAAK,CAACkB,aAAa,CAChD,IACF,CAAC;AAqBD,SAASC,cAAcA,CAACC,KAAa,EAAEC,SAAiB,EAAE;EACxD,OAAOD,KAAK,CAACE,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAACC,KAAK,CAAC,CAAC,EAAEF,SAAS,CAAC;AACrD;AAEA,OAAO,SAASG,QAAQA,CAAC;EACvBC,QAAQ;EACRL,KAAK;EACLM,YAAY,GAAG,EAAE;EACjBC,YAAY;EACZN,SAAS,GAAG,CAAC;EACbO,IAAI,GAAG,IAAI;EACXC,QAAQ,GAAG,KAAK;EAChBC,OAAO,GAAG,KAAK;EACfC,KAAK,GAAG,KAAK;EACbC,SAAS;EACTC,cAAc;EACdC,KAAK;EACLC,OAAO;EACP,GAAGC;AACU,CAAC,EAAE;EAChB,MAAM;IAAEC;EAAO,CAAC,GAAGzB,QAAQ,CAAC,CAAC;EAC7B,MAAM0B,QAAQ,GAAGtC,KAAK,CAACuC,MAAM,CAAY,IAAI,CAAC;EAC9C,MAAM,CAACC,OAAO,EAAEC,UAAU,CAAC,GAAGzC,KAAK,CAAC0C,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG5C,KAAK,CAAC0C,QAAQ,CAAC,MACvDvB,cAAc,CAACO,YAAY,EAAEL,SAAS,CACxC,CAAC;EACD,MAAMwB,YAAY,GAAG1B,cAAc,CAACC,KAAK,IAAIuB,aAAa,EAAEtB,SAAS,CAAC;EACtE,MAAMyB,WAAW,GAAGC,IAAI,CAACC,GAAG,CAACH,YAAY,CAACI,MAAM,EAAE5B,SAAS,GAAG,CAAC,CAAC;EAEhE,MAAM6B,gBAAgB,GAAIC,SAAiB,IAAK;IAC9C,MAAMC,UAAU,GAAGjC,cAAc,CAACgC,SAAS,EAAE9B,SAAS,CAAC;IACvD,IAAID,KAAK,KAAKiC,SAAS,EAAE;MACvBT,gBAAgB,CAACQ,UAAU,CAAC;IAC9B;IACAzB,YAAY,GAAGyB,UAAU,CAAC;EAC5B,CAAC;EAED,MAAME,KAAK,GAAGA,CAAA,KAAM;IAClB,IAAI,CAACzB,QAAQ,EAAE;MACbS,QAAQ,CAACiB,OAAO,EAAED,KAAK,CAAC,CAAC;IAC3B;EACF,CAAC;EAED,MAAME,KAAK,GAAGxD,KAAK,CAACyD,OAAO,CACzB,MACEC,KAAK,CAACC,IAAI,CAAC;IAAEV,MAAM,EAAE5B;EAAU,CAAC,EAAE,CAACuC,CAAC,EAAEC,KAAK,KAAK;IAC9C,MAAMC,IAAI,GAAGjB,YAAY,CAACgB,KAAK,CAAC,IAAI,EAAE;IACtC,MAAME,QAAQ,GAAGvB,OAAO,IAAIqB,KAAK,KAAKf,WAAW;IAEjD,OAAO;MACLgB,IAAI;MACJC,QAAQ;MACRC,YAAY,EAAED,QAAQ,IAAI,CAACD;IAC7B,CAAC;EACH,CAAC,CAAC,EACJ,CAAChB,WAAW,EAAED,YAAY,EAAEL,OAAO,EAAEnB,SAAS,CAChD,CAAC;EAED,MAAM4C,OAAO,GAAGjE,KAAK,CAACyD,OAAO,CAC3B,OAAO;IACLD,KAAK;IACL5B,IAAI;IACJC,QAAQ;IACRC,OAAO;IACPU,OAAO;IACPc;EACF,CAAC,CAAC,EACF,CAACzB,QAAQ,EAAEW,OAAO,EAAEV,OAAO,EAAEF,IAAI,EAAE4B,KAAK,CAC1C,CAAC;EAED,oBACE1C,IAAA,CAACG,eAAe,CAACiD,QAAQ;IAAC9C,KAAK,EAAE6C,OAAQ;IAAAxC,QAAA,eACvCT,KAAA,CAACf,SAAS;MACRkE,iBAAiB,EAAC,MAAM;MACxBC,kBAAkB,EAAE;QAAEvC;MAAS,CAAE;MACjCA,QAAQ,EAAEA,QAAS;MACnBM,OAAO,EAAGkC,KAAK,IAAK;QAClBf,KAAK,CAAC,CAAC;QACPnB,OAAO,GAAGkC,KAAK,CAAC;MAClB,CAAE;MACFnC,KAAK,EAAE,CACL;QACEoC,SAAS,EAAE,QAAQ;QACnBC,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxBC,OAAO,EAAE5C,QAAQ,GAAG,GAAG,GAAG;MAC5B,CAAC,EACDK,KAAK,CACL;MAAA,GACEE,KAAK;MAAAX,QAAA,GAERA,QAAQ,eACTX,IAAA,CAACX,SAAS;QACRuE,GAAG,EAAEpC,QAAS;QACdlB,KAAK,EAAEyB,YAAa;QACpBxB,SAAS,EAAEA,SAAU;QACrBsD,QAAQ,EAAE,CAAC9C,QAAS;QACpBG,SAAS,EAAEA,SAAU;QACrB4C,YAAY,EAAC,YAAY;QACzBC,eAAe,EAAC,aAAa;QAC7BC,YAAY,EAAC,eAAe;QAC5BC,WAAW;QACXC,UAAU,EAAE,KAAM;QAClBrD,YAAY,EAAEuB,gBAAiB;QAC/B+B,OAAO,EAAGZ,KAAK,IAAK;UAClB5B,UAAU,CAAC,IAAI,CAAC;UAChBR,cAAc,EAAEgD,OAAO,GAAGZ,KAAK,CAAC;QAClC,CAAE;QACFa,MAAM,EAAGb,KAAK,IAAK;UACjB5B,UAAU,CAAC,KAAK,CAAC;UACjBR,cAAc,EAAEiD,MAAM,GAAGb,KAAK,CAAC;QACjC,CAAE;QACFnC,KAAK,EAAE,CACL;UACEiD,QAAQ,EAAE,UAAU;UACpBC,KAAK,EAAE,CAAC;UACRC,MAAM,EAAE,CAAC;UACTZ,OAAO,EAAE,CAAC;UACVa,KAAK,EAAEjD,MAAM,CAACkD;QAChB,CAAC,EACDtD,cAAc,EAAEC,KAAK,CACrB;QAAA,GACED;MAAc,CACnB,CAAC;IAAA,CACO;EAAC,CACY,CAAC;AAE/B;AAMA,OAAO,SAASuD,aAAaA,CAAC;EAAEtD,KAAK;EAAE,GAAGE;AAA0B,CAAC,EAAE;EACrE,MAAM;IAAEqD,KAAK;IAAEC;EAAQ,CAAC,GAAG9E,QAAQ,CAAC,CAAC;EAErC,oBACEE,IAAA,CAACV,IAAI;IACH8B,KAAK,EAAE,CACL;MACEyD,aAAa,EAAE,KAAK;MACpBpB,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE,QAAQ;MACxBoB,YAAY,EAAEH,KAAK,CAACI,EAAE;MACtBC,GAAG,EAAEJ,OAAO,CAACK;IACf,CAAC,EACD7D,KAAK,CACL;IAAA,GACEE;EAAK,CACV,CAAC;AAEN;AAQA,MAAM4D,cAGL,GAAG;EACFD,EAAE,EAAE;IAAEX,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAEY,QAAQ,EAAE;EAAG,CAAC;EAC3CC,EAAE,EAAE;IAAEd,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAEY,QAAQ,EAAE;EAAG,CAAC;EAC3CJ,EAAE,EAAE;IAAET,KAAK,EAAE,EAAE;IAAEC,MAAM,EAAE,EAAE;IAAEY,QAAQ,EAAE;EAAG;AAC5C,CAAC;AAED,OAAO,SAASE,YAAYA,CAAC;EAC3BtC,KAAK;EACLjC,IAAI;EACJG,KAAK,GAAG,KAAK;EACbG,KAAK;EACL,GAAGE;AACc,CAAC,EAAE;EACpB,MAAM;IAAEC,MAAM;IAAE+D,UAAU;IAAEX,KAAK;IAAEY;EAAO,CAAC,GAAGzF,QAAQ,CAAC,CAAC;EACxD,MAAMqD,OAAO,GAAGjE,KAAK,CAACsG,UAAU,CAACrF,eAAe,CAAC;EACjD,MAAMsF,IAAI,GAAGtC,OAAO,EAAET,KAAK,CAACK,KAAK,CAAC;EAClC,MAAM2C,aAAa,GAAG5E,IAAI,IAAIqC,OAAO,EAAErC,IAAI,IAAI,IAAI;EACnD,MAAM6E,IAAI,GAAGT,cAAc,CAACQ,aAAa,CAAC;EAE1C,MAAME,OAAO,GAAGL,MAAM,GAClB,wBAAwB,GACxB,2BAA2B;EAE/B,oBACErF,KAAA,CAACZ,IAAI;IACHgE,kBAAkB,EAAE;MAAEuC,QAAQ,EAAEJ,IAAI,EAAExC;IAAS,CAAE;IACjD7B,KAAK,EAAE,CACL;MACEiD,QAAQ,EAAE,UAAU;MACpBC,KAAK,EAAEqB,IAAI,CAACrB,KAAK;MACjBC,MAAM,EAAEoB,IAAI,CAACpB,MAAM;MACnBd,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE,QAAQ;MACxBoC,WAAW,EACTL,IAAI,EAAExC,QAAQ,IAAIE,OAAO,EAAEnC,OAAO,GAC9BsE,UAAU,CAACQ,WAAW,CAACtD,KAAK,GAC5B8C,UAAU,CAACQ,WAAW,CAACC,MAAM;MACnCC,WAAW,EAAE7C,OAAO,EAAEnC,OAAO,GACzBO,MAAM,CAAC0E,MAAM,GACbR,IAAI,EAAExC,QAAQ,GACZ1B,MAAM,CAAC2E,OAAO,GACdjF,KAAK,GACHsE,MAAM,GACJ,2BAA2B,GAC3B,wBAAwB,GAC1BhE,MAAM,CAAC4E,MAAM;MACrBrB,YAAY,EAAEH,KAAK,CAACyB,EAAE;MACtBC,eAAe,EAAEpF,KAAK,GAAG2E,OAAO,GAAGrE,MAAM,CAAC+E;IAC5C,CAAC,EACDlF,KAAK,CACL;IAAA,GACEE,KAAK;IAAAX,QAAA,gBAETX,IAAA,CAACZ,IAAI;MACHgC,KAAK,EAAE;QACL+D,QAAQ,EAAEQ,IAAI,CAACR,QAAQ;QACvBoB,UAAU,EAAE,KAAK;QACjB/B,KAAK,EAAErB,OAAO,EAAEpC,QAAQ,GAAGQ,MAAM,CAACiF,YAAY,GAAGjF,MAAM,CAACkF,IAAI;QAC5DC,WAAW,EAAE,CAAC,cAAc;MAC9B,CAAE;MAAA/F,QAAA,EAED8E,IAAI,EAAEzC;IAAI,CACP,CAAC,EACNyC,IAAI,EAAEvC,YAAY,gBAAGlD,IAAA,CAAC2G,aAAa,IAAE,CAAC,GAAG,IAAI;EAAA,CAC1C,CAAC;AAEX;AAEA,SAASA,aAAaA,CAAA,EAAG;EACvB,MAAM;IAAEpF;EAAO,CAAC,GAAGzB,QAAQ,CAAC,CAAC;EAC7B,MAAM6D,OAAO,GAAGjE,cAAc,CAAC,CAAC,CAAC;EAEjCR,KAAK,CAAC0H,SAAS,CAAC,MAAM;IACpBjD,OAAO,CAACrD,KAAK,GAAGX,UAAU,CACxBC,YAAY,CACVC,UAAU,CAAC,CAAC,EAAE;MAAEgH,QAAQ,EAAE;IAAI,CAAC,CAAC,EAChChH,UAAU,CAAC,CAAC,EAAE;MAAEgH,QAAQ,EAAE;IAAI,CAAC,CACjC,CAAC,EACD,CAAC,CAAC,EACF,IACF,CAAC;IACD,OAAO,MAAMrH,eAAe,CAACmE,OAAO,CAAC;EACvC,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,MAAMmD,UAAU,GAAGrH,gBAAgB,CAAC,OAAO;IACzCkE,OAAO,EAAEA,OAAO,CAACrD;EACnB,CAAC,CAAC,CAAC;EAEH,oBACEN,IAAA,CAACT,QAAQ,CAACD,IAAI;IACZyH,aAAa,EAAC,MAAM;IACpB3F,KAAK,EAAE,CACL;MACEiD,QAAQ,EAAE,UAAU;MACpBC,KAAK,EAAE,CAAC;MACRC,MAAM,EAAE,EAAE;MACVO,YAAY,EAAE,CAAC;MACfuB,eAAe,EAAE9E,MAAM,CAAC2E;IAC1B,CAAC,EACDY,UAAU;EACV,CACH,CAAC;AAEN;AAMA,OAAO,SAASE,iBAAiBA,CAAC;EAChC5F,KAAK;EACLT,QAAQ;EACR,GAAGW;AACmB,CAAC,EAAE;EACzB,MAAM;IAAEC;EAAO,CAAC,GAAGzB,QAAQ,CAAC,CAAC;EAE7B,oBACEE,IAAA,CAACV,IAAI;IACH+D,iBAAiB,EAAC,MAAM;IACxBjC,KAAK,EAAE,CACL;MACEkD,KAAK,EAAE,EAAE;MACTb,UAAU,EAAE,QAAQ;MACpBC,cAAc,EAAE;IAClB,CAAC,EACDtC,KAAK,CACL;IAAA,GACEE,KAAK;IAAAX,QAAA,EAERA,QAAQ,iBACPX,IAAA,CAACV,IAAI;MACH8B,KAAK,EAAE;QACLkD,KAAK,EAAE,EAAE;QACTC,MAAM,EAAE,CAAC;QACTO,YAAY,EAAE,CAAC;QACfuB,eAAe,EAAE9E,MAAM,CAAC0F;MAC1B;IAAE,CACH;EACF,CACG,CAAC;AAEX","ignoreList":[]}
@@ -2,8 +2,11 @@
2
2
 
3
3
  import React from "react";
4
4
  import { Modal, Pressable } from "react-native";
5
+ import Animated, { Easing, useAnimatedStyle, useSharedValue, withTiming } from "react-native-reanimated";
6
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
5
7
  import { useTheme } from "../theme/index.js";
6
- import { jsx as _jsx } from "react/jsx-runtime";
8
+ import { triggerHaptic } from "../utils/haptics.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
10
  const PopoverContext = /*#__PURE__*/React.createContext(null);
8
11
  export function Popover({
9
12
  open,
@@ -26,27 +29,47 @@ export function Popover({
26
29
  });
27
30
  }
28
31
  export function PopoverTrigger({
32
+ children,
29
33
  triggerMode = "press",
30
34
  onPress,
31
35
  onLongPress,
36
+ style,
32
37
  ...props
33
38
  }) {
34
39
  const context = React.useContext(PopoverContext);
40
+ const handlePress = event => {
41
+ triggerHaptic("selection");
42
+ context?.setOpen(!context.open);
43
+ onPress?.(event);
44
+ };
45
+ const handleLongPress = event => {
46
+ triggerHaptic("selection");
47
+ context?.setOpen(!context.open);
48
+ onLongPress?.(event);
49
+ };
50
+ if (/*#__PURE__*/React.isValidElement(children)) {
51
+ return /*#__PURE__*/React.cloneElement(children, {
52
+ onPress: e => {
53
+ handlePress(e);
54
+ children.props?.onPress?.(e);
55
+ },
56
+ onLongPress: e => {
57
+ handleLongPress(e);
58
+ children.props?.onLongPress?.(e);
59
+ }
60
+ });
61
+ }
35
62
  return /*#__PURE__*/_jsx(Pressable, {
36
- onPress: event => {
37
- if (triggerMode === "press") context?.setOpen(true);
38
- onPress?.(event);
39
- },
40
- onLongPress: event => {
41
- if (triggerMode === "longPress") context?.setOpen(true);
42
- onLongPress?.(event);
43
- },
44
- ...props
63
+ onPress: handlePress,
64
+ onLongPress: handleLongPress,
65
+ style: style,
66
+ ...props,
67
+ children: children
45
68
  });
46
69
  }
47
70
  export function PopoverContent({
48
71
  children,
49
- width = 280,
72
+ width = 300,
50
73
  style
51
74
  }) {
52
75
  const context = React.useContext(PopoverContext);
@@ -54,24 +77,66 @@ export function PopoverContent({
54
77
  colors,
55
78
  components,
56
79
  radii,
57
- spacing
80
+ spacing,
81
+ isDark
58
82
  } = useTheme();
59
- if (!context) return null;
83
+ const insets = useSafeAreaInsets();
84
+ const progress = useSharedValue(0);
85
+ React.useEffect(() => {
86
+ if (context?.open) {
87
+ triggerHaptic("medium");
88
+ progress.value = withTiming(1, {
89
+ duration: 180,
90
+ easing: Easing.out(Easing.quad)
91
+ });
92
+ } else {
93
+ progress.value = withTiming(0, {
94
+ duration: 140,
95
+ easing: Easing.in(Easing.quad)
96
+ });
97
+ }
98
+ }, [context?.open, progress]);
99
+ const animatedOverlayStyle = useAnimatedStyle(() => ({
100
+ opacity: progress.value
101
+ }));
102
+ const animatedCardStyle = useAnimatedStyle(() => ({
103
+ opacity: progress.value,
104
+ transform: [{
105
+ scale: 0.92 + 0.08 * progress.value
106
+ }]
107
+ }));
108
+ if (!context?.open) return null;
60
109
  return /*#__PURE__*/_jsx(Modal, {
61
110
  visible: context.open,
62
111
  transparent: true,
63
- animationType: "fade",
112
+ animationType: "none",
113
+ statusBarTranslucent: true,
114
+ navigationBarTranslucent: true,
115
+ hardwareAccelerated: true,
64
116
  onRequestClose: () => context.setOpen(false),
65
- children: /*#__PURE__*/_jsx(Pressable, {
66
- style: {
117
+ children: /*#__PURE__*/_jsxs(Animated.View, {
118
+ style: [{
67
119
  flex: 1,
68
- backgroundColor: colors.overlay,
120
+ backgroundColor: isDark ? "rgba(0,0,0,0.72)" : "rgba(15,23,42,0.55)",
69
121
  alignItems: "center",
70
122
  justifyContent: "center",
71
- padding: spacing.xl
72
- },
73
- onPress: () => context.setOpen(false),
74
- children: /*#__PURE__*/_jsx(Pressable, {
123
+ paddingHorizontal: spacing.xl,
124
+ paddingBottom: insets.bottom
125
+ }, animatedOverlayStyle],
126
+ children: [/*#__PURE__*/_jsx(Pressable, {
127
+ accessibilityRole: "button",
128
+ style: {
129
+ position: "absolute",
130
+ top: 0,
131
+ right: 0,
132
+ bottom: 0,
133
+ left: 0
134
+ },
135
+ onPress: () => {
136
+ triggerHaptic("selection");
137
+ context.setOpen(false);
138
+ }
139
+ }), /*#__PURE__*/_jsx(Animated.View, {
75
140
  style: [{
76
141
  width,
77
142
  maxWidth: "100%",
@@ -79,10 +144,11 @@ export function PopoverContent({
79
144
  borderWidth: components.borderWidth.strong,
80
145
  borderColor: colors.border,
81
146
  backgroundColor: colors.surface,
82
- padding: spacing.lg
83
- }, style],
147
+ padding: spacing.xl,
148
+ elevation: 0
149
+ }, animatedCardStyle, style],
84
150
  children: children
85
- })
151
+ })]
86
152
  })
87
153
  });
88
154
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","Modal","Pressable","useTheme","jsx","_jsx","PopoverContext","createContext","Popover","open","defaultOpen","onOpenChange","children","internalOpen","setInternalOpen","useState","currentOpen","setOpen","next","undefined","Provider","value","PopoverTrigger","triggerMode","onPress","onLongPress","props","context","useContext","event","PopoverContent","width","style","colors","components","radii","spacing","visible","transparent","animationType","onRequestClose","flex","backgroundColor","overlay","alignItems","justifyContent","padding","xl","maxWidth","borderRadius","borderWidth","strong","borderColor","border","surface","lg"],"sourceRoot":"../../../src","sources":["components/Popover.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Modal","Pressable","Animated","Easing","useAnimatedStyle","useSharedValue","withTiming","useSafeAreaInsets","useTheme","triggerHaptic","jsx","_jsx","jsxs","_jsxs","PopoverContext","createContext","Popover","open","defaultOpen","onOpenChange","children","internalOpen","setInternalOpen","useState","currentOpen","setOpen","next","undefined","Provider","value","PopoverTrigger","triggerMode","onPress","onLongPress","style","props","context","useContext","handlePress","event","handleLongPress","isValidElement","cloneElement","e","PopoverContent","width","colors","components","radii","spacing","isDark","insets","progress","useEffect","duration","easing","out","quad","in","animatedOverlayStyle","opacity","animatedCardStyle","transform","scale","visible","transparent","animationType","statusBarTranslucent","navigationBarTranslucent","hardwareAccelerated","onRequestClose","View","flex","backgroundColor","alignItems","justifyContent","paddingHorizontal","xl","paddingBottom","bottom","accessibilityRole","position","top","right","left","maxWidth","borderRadius","borderWidth","strong","borderColor","border","surface","padding","elevation"],"sourceRoot":"../../../src","sources":["components/Popover.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,KAAK,EACLC,SAAS,QAKJ,cAAc;AACrB,OAAOC,QAAQ,IAAIC,MAAM,EAAEC,gBAAgB,EAAEC,cAAc,EAAEC,UAAU,QAAQ,yBAAyB;AACxG,SAASC,iBAAiB,QAAQ,gCAAgC;AAElE,SAASC,QAAQ,QAAQ,mBAAU;AACnC,SAASC,aAAa,QAAQ,qBAAkB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAcjD,MAAMC,cAAc,gBAAGf,KAAK,CAACgB,aAAa,CAA6B,IAAI,CAAC;AAE5E,OAAO,SAASC,OAAOA,CAAC;EACtBC,IAAI;EACJC,WAAW,GAAG,KAAK;EACnBC,YAAY;EACZC;AACY,CAAC,EAAE;EACf,MAAM,CAACC,YAAY,EAAEC,eAAe,CAAC,GAAGvB,KAAK,CAACwB,QAAQ,CAACL,WAAW,CAAC;EACnE,MAAMM,WAAW,GAAGP,IAAI,IAAII,YAAY;EAExC,MAAMI,OAAO,GAAIC,IAAa,IAAK;IACjC,IAAIT,IAAI,KAAKU,SAAS,EAAEL,eAAe,CAACI,IAAI,CAAC;IAC7CP,YAAY,GAAGO,IAAI,CAAC;EACtB,CAAC;EAED,oBACEf,IAAA,CAACG,cAAc,CAACc,QAAQ;IAACC,KAAK,EAAE;MAAEZ,IAAI,EAAEO,WAAW;MAAEC;IAAQ,CAAE;IAAAL,QAAA,EAC5DA;EAAQ,CACc,CAAC;AAE9B;AAMA,OAAO,SAASU,cAAcA,CAAC;EAC7BV,QAAQ;EACRW,WAAW,GAAG,OAAO;EACrBC,OAAO;EACPC,WAAW;EACXC,KAAK;EACL,GAAGC;AACgB,CAAC,EAAE;EACtB,MAAMC,OAAO,GAAGrC,KAAK,CAACsC,UAAU,CAACvB,cAAc,CAAC;EAEhD,MAAMwB,WAAW,GAAIC,KAAU,IAAK;IAClC9B,aAAa,CAAC,WAAW,CAAC;IAC1B2B,OAAO,EAAEX,OAAO,CAAC,CAACW,OAAO,CAACnB,IAAI,CAAC;IAC/Be,OAAO,GAAGO,KAAK,CAAC;EAClB,CAAC;EAED,MAAMC,eAAe,GAAID,KAAU,IAAK;IACtC9B,aAAa,CAAC,WAAW,CAAC;IAC1B2B,OAAO,EAAEX,OAAO,CAAC,CAACW,OAAO,CAACnB,IAAI,CAAC;IAC/BgB,WAAW,GAAGM,KAAK,CAAC;EACtB,CAAC;EAED,iBAAIxC,KAAK,CAAC0C,cAAc,CAACrB,QAAQ,CAAC,EAAE;IAClC,oBAAOrB,KAAK,CAAC2C,YAAY,CAACtB,QAAQ,EAA6B;MAC7DY,OAAO,EAAGW,CAAM,IAAK;QACnBL,WAAW,CAACK,CAAC,CAAC;QACbvB,QAAQ,CAACe,KAAK,EAAUH,OAAO,GAAGW,CAAC,CAAC;MACvC,CAAC;MACDV,WAAW,EAAGU,CAAM,IAAK;QACvBH,eAAe,CAACG,CAAC,CAAC;QACjBvB,QAAQ,CAACe,KAAK,EAAUF,WAAW,GAAGU,CAAC,CAAC;MAC3C;IACF,CAAC,CAAC;EACJ;EAEA,oBACEhC,IAAA,CAACV,SAAS;IACR+B,OAAO,EAAEM,WAAY;IACrBL,WAAW,EAAEO,eAAgB;IAC7BN,KAAK,EAAEA,KAAM;IAAA,GACTC,KAAK;IAAAf,QAAA,EAERA;EAAQ,CACA,CAAC;AAEhB;AAQA,OAAO,SAASwB,cAAcA,CAAC;EAC7BxB,QAAQ;EACRyB,KAAK,GAAG,GAAG;EACXX;AACmB,CAAC,EAAE;EACtB,MAAME,OAAO,GAAGrC,KAAK,CAACsC,UAAU,CAACvB,cAAc,CAAC;EAChD,MAAM;IAAEgC,MAAM;IAAEC,UAAU;IAAEC,KAAK;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAG1C,QAAQ,CAAC,CAAC;EACjE,MAAM2C,MAAM,GAAG5C,iBAAiB,CAAC,CAAC;EAElC,MAAM6C,QAAQ,GAAG/C,cAAc,CAAC,CAAC,CAAC;EAElCN,KAAK,CAACsD,SAAS,CAAC,MAAM;IACpB,IAAIjB,OAAO,EAAEnB,IAAI,EAAE;MACjBR,aAAa,CAAC,QAAQ,CAAC;MACvB2C,QAAQ,CAACvB,KAAK,GAAGvB,UAAU,CAAC,CAAC,EAAE;QAAEgD,QAAQ,EAAE,GAAG;QAAEC,MAAM,EAAEpD,MAAM,CAACqD,GAAG,CAACrD,MAAM,CAACsD,IAAI;MAAE,CAAC,CAAC;IACpF,CAAC,MAAM;MACLL,QAAQ,CAACvB,KAAK,GAAGvB,UAAU,CAAC,CAAC,EAAE;QAAEgD,QAAQ,EAAE,GAAG;QAAEC,MAAM,EAAEpD,MAAM,CAACuD,EAAE,CAACvD,MAAM,CAACsD,IAAI;MAAE,CAAC,CAAC;IACnF;EACF,CAAC,EAAE,CAACrB,OAAO,EAAEnB,IAAI,EAAEmC,QAAQ,CAAC,CAAC;EAE7B,MAAMO,oBAAoB,GAAGvD,gBAAgB,CAAC,OAAO;IACnDwD,OAAO,EAAER,QAAQ,CAACvB;EACpB,CAAC,CAAC,CAAC;EAEH,MAAMgC,iBAAiB,GAAGzD,gBAAgB,CAAC,OAAO;IAChDwD,OAAO,EAAER,QAAQ,CAACvB,KAAK;IACvBiC,SAAS,EAAE,CAAC;MAAEC,KAAK,EAAE,IAAI,GAAG,IAAI,GAAGX,QAAQ,CAACvB;IAAM,CAAC;EACrD,CAAC,CAAC,CAAC;EAEH,IAAI,CAACO,OAAO,EAAEnB,IAAI,EAAE,OAAO,IAAI;EAE/B,oBACEN,IAAA,CAACX,KAAK;IACJgE,OAAO,EAAE5B,OAAO,CAACnB,IAAK;IACtBgD,WAAW;IACXC,aAAa,EAAC,MAAM;IACpBC,oBAAoB;IACpBC,wBAAwB;IACxBC,mBAAmB;IACnBC,cAAc,EAAEA,CAAA,KAAMlC,OAAO,CAACX,OAAO,CAAC,KAAK,CAAE;IAAAL,QAAA,eAE7CP,KAAA,CAACX,QAAQ,CAACqE,IAAI;MACZrC,KAAK,EAAE,CACL;QACEsC,IAAI,EAAE,CAAC;QACPC,eAAe,EAAEvB,MAAM,GAAG,kBAAkB,GAAG,qBAAqB;QACpEwB,UAAU,EAAE,QAAQ;QACpBC,cAAc,EAAE,QAAQ;QACxBC,iBAAiB,EAAE3B,OAAO,CAAC4B,EAAE;QAC7BC,aAAa,EAAE3B,MAAM,CAAC4B;MACxB,CAAC,EACDpB,oBAAoB,CACpB;MAAAvC,QAAA,gBAEFT,IAAA,CAACV,SAAS;QACR+E,iBAAiB,EAAC,QAAQ;QAC1B9C,KAAK,EAAE;UAAE+C,QAAQ,EAAE,UAAU;UAAEC,GAAG,EAAE,CAAC;UAAEC,KAAK,EAAE,CAAC;UAAEJ,MAAM,EAAE,CAAC;UAAEK,IAAI,EAAE;QAAE,CAAE;QACtEpD,OAAO,EAAEA,CAAA,KAAM;UACbvB,aAAa,CAAC,WAAW,CAAC;UAC1B2B,OAAO,CAACX,OAAO,CAAC,KAAK,CAAC;QACxB;MAAE,CACH,CAAC,eAEFd,IAAA,CAACT,QAAQ,CAACqE,IAAI;QACZrC,KAAK,EAAE,CACL;UACEW,KAAK;UACLwC,QAAQ,EAAE,MAAM;UAChBC,YAAY,EAAEtC,KAAK,CAAC6B,EAAE;UACtBU,WAAW,EAAExC,UAAU,CAACwC,WAAW,CAACC,MAAM;UAC1CC,WAAW,EAAE3C,MAAM,CAAC4C,MAAM;UAC1BjB,eAAe,EAAE3B,MAAM,CAAC6C,OAAO;UAC/BC,OAAO,EAAE3C,OAAO,CAAC4B,EAAE;UACnBgB,SAAS,EAAE;QACb,CAAC,EACDhC,iBAAiB,EACjB3B,KAAK,CACL;QAAAd,QAAA,EAEDA;MAAQ,CACI,CAAC;IAAA,CACH;EAAC,CACX,CAAC;AAEZ","ignoreList":[]}
@@ -2,14 +2,18 @@
2
2
 
3
3
  import React from "react";
4
4
  import { View } from "react-native";
5
- import Animated, { useAnimatedStyle, useSharedValue, withTiming } from "react-native-reanimated";
5
+ import Animated, { Easing, useAnimatedStyle, useSharedValue, withRepeat, withTiming } from "react-native-reanimated";
6
+ import Svg, { Circle } from "react-native-svg";
6
7
  import { useTheme } from "../theme/index.js";
7
- import { jsx as _jsx } from "react/jsx-runtime";
8
+ import { Text } from "./Text.js";
9
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
8
10
  export function Progress({
9
11
  value = 0,
10
12
  max = 100,
11
13
  tone = "primary",
14
+ size = "default",
12
15
  animated = true,
16
+ indeterminate = false,
13
17
  style,
14
18
  indicatorStyle,
15
19
  ...props
@@ -19,20 +23,41 @@ export function Progress({
19
23
  radii
20
24
  } = useTheme();
21
25
  const toneColor = tone === "success" ? colors.success : tone === "warning" ? colors.warning : tone === "danger" ? colors.danger : tone === "accent" ? colors.accent : colors.primary;
26
+ const height = size === "xs" ? 4 : size === "sm" ? 6 : size === "lg" ? 14 : size === "xl" ? 18 : 10;
22
27
  const progress = Math.max(0, Math.min(1, max <= 0 ? 0 : value / max));
23
28
  const width = useSharedValue(progress);
29
+ const indeterminateOffset = useSharedValue(-0.4);
24
30
  React.useEffect(() => {
31
+ if (indeterminate) {
32
+ indeterminateOffset.value = -0.4;
33
+ indeterminateOffset.value = withRepeat(withTiming(1, {
34
+ duration: 1200,
35
+ easing: Easing.bezier(0.4, 0, 0.6, 1)
36
+ }), -1, false);
37
+ return;
38
+ }
25
39
  if (!animated) {
26
40
  width.value = progress;
27
41
  return;
28
42
  }
29
43
  width.value = withTiming(progress, {
30
- duration: 180
44
+ duration: 220,
45
+ easing: Easing.out(Easing.quad)
31
46
  });
32
- }, [animated, progress, width]);
33
- const indicatorAnimatedStyle = useAnimatedStyle(() => ({
34
- width: `${width.value * 100}%`
35
- }));
47
+ }, [animated, indeterminate, progress, width, indeterminateOffset]);
48
+ const indicatorAnimatedStyle = useAnimatedStyle(() => {
49
+ if (indeterminate) {
50
+ return {
51
+ width: "40%",
52
+ transform: [{
53
+ translateX: indeterminateOffset.value * 280
54
+ }]
55
+ };
56
+ }
57
+ return {
58
+ width: `${width.value * 100}%`
59
+ };
60
+ });
36
61
  return /*#__PURE__*/_jsx(View, {
37
62
  accessibilityRole: "progressbar",
38
63
  accessibilityValue: {
@@ -42,7 +67,7 @@ export function Progress({
42
67
  },
43
68
  style: [{
44
69
  width: "100%",
45
- height: 10,
70
+ height,
46
71
  borderRadius: radii.full,
47
72
  overflow: "hidden",
48
73
  backgroundColor: colors.backgroundSubtle
@@ -57,4 +82,77 @@ export function Progress({
57
82
  })
58
83
  });
59
84
  }
85
+ export function CircularProgress({
86
+ value = 0,
87
+ size = 64,
88
+ strokeWidth = 6,
89
+ tone = "primary",
90
+ showValue = true,
91
+ strokeLinecap = "round",
92
+ style
93
+ }) {
94
+ const {
95
+ colors
96
+ } = useTheme();
97
+ const toneColor = tone === "success" ? colors.success : tone === "warning" ? colors.warning : tone === "danger" ? colors.danger : tone === "accent" ? colors.accent : colors.primary;
98
+ const clamped = Math.max(0, Math.min(100, value));
99
+ const radius = (size - strokeWidth) / 2;
100
+ const circumference = 2 * Math.PI * radius;
101
+ const strokeDashoffset = circumference - circumference * clamped / 100;
102
+ return /*#__PURE__*/_jsxs(View, {
103
+ style: [{
104
+ width: size,
105
+ height: size,
106
+ justifyContent: "center",
107
+ alignItems: "center",
108
+ position: "relative"
109
+ }, style],
110
+ children: [/*#__PURE__*/_jsxs(Svg, {
111
+ width: size,
112
+ height: size,
113
+ style: {
114
+ transform: [{
115
+ rotate: "-90deg"
116
+ }]
117
+ },
118
+ children: [/*#__PURE__*/_jsx(Circle, {
119
+ cx: size / 2,
120
+ cy: size / 2,
121
+ r: radius,
122
+ stroke: colors.backgroundSubtle,
123
+ strokeWidth: strokeWidth,
124
+ fill: "none"
125
+ }), clamped > 0 && /*#__PURE__*/_jsx(Circle, {
126
+ cx: size / 2,
127
+ cy: size / 2,
128
+ r: radius,
129
+ stroke: toneColor,
130
+ strokeWidth: strokeWidth,
131
+ strokeDasharray: circumference,
132
+ strokeDashoffset: strokeDashoffset,
133
+ strokeLinecap: strokeLinecap,
134
+ fill: "none"
135
+ })]
136
+ }), showValue && /*#__PURE__*/_jsx(View, {
137
+ pointerEvents: "none",
138
+ style: {
139
+ position: "absolute",
140
+ top: 0,
141
+ left: 0,
142
+ right: 0,
143
+ bottom: 0,
144
+ justifyContent: "center",
145
+ alignItems: "center"
146
+ },
147
+ children: /*#__PURE__*/_jsxs(Text, {
148
+ weight: "700",
149
+ color: "text",
150
+ style: {
151
+ fontSize: size * 0.22
152
+ },
153
+ children: [Math.round(clamped), "%"]
154
+ })
155
+ })]
156
+ });
157
+ }
60
158
  //# sourceMappingURL=Progress.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","Animated","useAnimatedStyle","useSharedValue","withTiming","useTheme","jsx","_jsx","Progress","value","max","tone","animated","style","indicatorStyle","props","colors","radii","toneColor","success","warning","danger","accent","primary","progress","Math","min","width","useEffect","duration","indicatorAnimatedStyle","accessibilityRole","accessibilityValue","now","height","borderRadius","full","overflow","backgroundColor","backgroundSubtle","children"],"sourceRoot":"../../../src","sources":["components/Progress.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,IAAI,QAIC,cAAc;AACrB,OAAOC,QAAQ,IACbC,gBAAgB,EAChBC,cAAc,EACdC,UAAU,QACL,yBAAyB;AAEhC,SAASC,QAAQ,QAAQ,mBAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAWpC,OAAO,SAASC,QAAQA,CAAC;EACvBC,KAAK,GAAG,CAAC;EACTC,GAAG,GAAG,GAAG;EACTC,IAAI,GAAG,SAAS;EAChBC,QAAQ,GAAG,IAAI;EACfC,KAAK;EACLC,cAAc;EACd,GAAGC;AACU,CAAC,EAAE;EAChB,MAAM;IAAEC,MAAM;IAAEC;EAAM,CAAC,GAAGZ,QAAQ,CAAC,CAAC;EACpC,MAAMa,SAAS,GACbP,IAAI,KAAK,SAAS,GACdK,MAAM,CAACG,OAAO,GACdR,IAAI,KAAK,SAAS,GAClBK,MAAM,CAACI,OAAO,GACdT,IAAI,KAAK,QAAQ,GACjBK,MAAM,CAACK,MAAM,GACbV,IAAI,KAAK,QAAQ,GACjBK,MAAM,CAACM,MAAM,GACbN,MAAM,CAACO,OAAO;EACpB,MAAMC,QAAQ,GAAGC,IAAI,CAACf,GAAG,CAAC,CAAC,EAAEe,IAAI,CAACC,GAAG,CAAC,CAAC,EAAEhB,GAAG,IAAI,CAAC,GAAG,CAAC,GAAGD,KAAK,GAAGC,GAAG,CAAC,CAAC;EACrE,MAAMiB,KAAK,GAAGxB,cAAc,CAACqB,QAAQ,CAAC;EAEtCzB,KAAK,CAAC6B,SAAS,CAAC,MAAM;IACpB,IAAI,CAAChB,QAAQ,EAAE;MACbe,KAAK,CAAClB,KAAK,GAAGe,QAAQ;MACtB;IACF;IACAG,KAAK,CAAClB,KAAK,GAAGL,UAAU,CAACoB,QAAQ,EAAE;MAAEK,QAAQ,EAAE;IAAI,CAAC,CAAC;EACvD,CAAC,EAAE,CAACjB,QAAQ,EAAEY,QAAQ,EAAEG,KAAK,CAAC,CAAC;EAE/B,MAAMG,sBAAsB,GAAG5B,gBAAgB,CAAC,OAAO;IACrDyB,KAAK,EAAE,GAAGA,KAAK,CAAClB,KAAK,GAAG,GAAG;EAC7B,CAAC,CAAC,CAAC;EAEH,oBACEF,IAAA,CAACP,IAAI;IACH+B,iBAAiB,EAAC,aAAa;IAC/BC,kBAAkB,EAAE;MAAEN,GAAG,EAAE,CAAC;MAAEhB,GAAG;MAAEuB,GAAG,EAAExB;IAAM,CAAE;IAChDI,KAAK,EAAE,CACL;MACEc,KAAK,EAAE,MAAM;MACbO,MAAM,EAAE,EAAE;MACVC,YAAY,EAAElB,KAAK,CAACmB,IAAI;MACxBC,QAAQ,EAAE,QAAQ;MAClBC,eAAe,EAAEtB,MAAM,CAACuB;IAC1B,CAAC,EACD1B,KAAK,CACL;IAAA,GACEE,KAAK;IAAAyB,QAAA,eAETjC,IAAA,CAACN,QAAQ,CAACD,IAAI;MACZa,KAAK,EAAE,CACL;QACEqB,MAAM,EAAE,MAAM;QACdC,YAAY,EAAElB,KAAK,CAACmB,IAAI;QACxBE,eAAe,EAAEpB;MACnB,CAAC,EACDY,sBAAsB,EACtBhB,cAAc;IACd,CACH;EAAC,CACE,CAAC;AAEX","ignoreList":[]}
1
+ {"version":3,"names":["React","View","Animated","Easing","useAnimatedStyle","useSharedValue","withRepeat","withTiming","Svg","Circle","useTheme","Text","jsx","_jsx","jsxs","_jsxs","Progress","value","max","tone","size","animated","indeterminate","style","indicatorStyle","props","colors","radii","toneColor","success","warning","danger","accent","primary","height","progress","Math","min","width","indeterminateOffset","useEffect","duration","easing","bezier","out","quad","indicatorAnimatedStyle","transform","translateX","accessibilityRole","accessibilityValue","now","borderRadius","full","overflow","backgroundColor","backgroundSubtle","children","CircularProgress","strokeWidth","showValue","strokeLinecap","clamped","radius","circumference","PI","strokeDashoffset","justifyContent","alignItems","position","rotate","cx","cy","r","stroke","fill","strokeDasharray","pointerEvents","top","left","right","bottom","weight","color","fontSize","round"],"sourceRoot":"../../../src","sources":["components/Progress.tsx"],"mappings":"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","ignoreList":[]}
@@ -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