@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
@@ -1,18 +1,34 @@
1
1
  "use strict";
2
2
 
3
3
  import React from "react";
4
- import { Modal, Pressable, ScrollView, View } from "react-native";
4
+ import { Modal, Pressable, ScrollView, StyleSheet, View } from "react-native";
5
5
  import { useTheme } from "../theme/index.js";
6
+ import { withAlpha } from "../utils/index.js";
7
+ import { triggerHaptic } from "../utils/haptics.js";
6
8
  import { Text } from "./Text.js";
7
9
  import { renderIcon } from "./types.js";
8
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
10
+ const selectHeights = {
11
+ sm: 36,
12
+ md: 44,
13
+ lg: 52
14
+ };
15
+ const selectPaddingX = {
16
+ sm: 10,
17
+ md: 12,
18
+ lg: 14
19
+ };
20
+ import { useFormField } from "./FormField.js";
21
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
22
  export function Select({
10
23
  value,
11
24
  defaultValue,
12
25
  options,
13
26
  placeholder = "Select option",
27
+ variant = "outline",
28
+ size = "md",
14
29
  disabled = false,
15
- title = "Select",
30
+ glass = false,
31
+ haptic = true,
16
32
  onValueChange,
17
33
  chevronIcon,
18
34
  checkIcon,
@@ -22,45 +38,83 @@ export function Select({
22
38
  colors,
23
39
  components,
24
40
  radii,
25
- spacing
41
+ spacing,
42
+ isDark
26
43
  } = useTheme();
44
+ const field = useFormField();
27
45
  const [open, setOpen] = React.useState(false);
28
46
  const [internalValue, setInternalValue] = React.useState(defaultValue);
47
+ const triggerRef = React.useRef(null);
48
+ const [coords, setCoords] = React.useState({
49
+ x: 0,
50
+ y: 0,
51
+ width: 0
52
+ });
53
+ const isInvalid = Boolean(field?.invalid);
54
+ const isDisabled = disabled || Boolean(field?.disabled);
29
55
  const currentValue = value ?? internalValue;
30
56
  const selected = options.find(option => option.value === currentValue);
31
57
  const choose = next => {
58
+ if (haptic) triggerHaptic("selection");
32
59
  if (value === undefined) setInternalValue(next);
33
60
  onValueChange?.(next);
34
61
  setOpen(false);
35
62
  };
36
- return /*#__PURE__*/_jsxs(_Fragment, {
63
+ const handleOpen = () => {
64
+ if (isDisabled) return;
65
+ if (haptic) triggerHaptic("light");
66
+ triggerRef.current?.measureInWindow((x, y, width, height) => {
67
+ setCoords({
68
+ x,
69
+ y: y + height + 4,
70
+ width
71
+ });
72
+ setOpen(false);
73
+ setOpen(true);
74
+ });
75
+ };
76
+ const glassBg = isDark ? "rgba(15, 27, 45, 0.70)" : "rgba(255, 255, 255, 0.85)";
77
+ const triggerBg = isDisabled ? withAlpha(colors.input, 0.55) : glass ? glassBg : variant === "filled" ? colors.surface : variant === "soft" ? withAlpha(colors.primary, 0.08) : colors.input;
78
+ const borderColor = isInvalid ? colors.danger : isDisabled ? colors.border : invalidOrOpenBorder(open, glass, isDark, colors);
79
+ const containerHeight = selectHeights[size];
80
+ const paddingX = selectPaddingX[size];
81
+ return /*#__PURE__*/_jsxs(View, {
82
+ ref: triggerRef,
83
+ style: {
84
+ width: "100%"
85
+ },
37
86
  children: [/*#__PURE__*/_jsxs(Pressable, {
38
87
  accessibilityRole: "button",
39
88
  disabled: disabled,
40
- onPress: () => setOpen(true),
89
+ onPress: handleOpen,
41
90
  style: ({
42
91
  pressed
43
92
  }) => [{
44
- minHeight: 44,
93
+ minHeight: containerHeight,
94
+ height: containerHeight,
45
95
  width: "100%",
46
- borderWidth: components.borderWidth.strong,
47
- borderColor: colors.border,
96
+ borderWidth: open ? components.borderWidth.focus : components.borderWidth.strong,
97
+ borderColor,
48
98
  borderRadius: radii.lg,
49
- backgroundColor: colors.input,
50
- paddingHorizontal: spacing.md,
99
+ backgroundColor: triggerBg,
100
+ paddingHorizontal: paddingX,
51
101
  flexDirection: "row",
52
102
  alignItems: "center",
53
103
  gap: spacing.sm,
54
- opacity: disabled ? 0.5 : pressed ? 0.78 : 1
104
+ opacity: disabled ? 0.56 : pressed ? 0.82 : 1
55
105
  }, style],
56
106
  children: [/*#__PURE__*/_jsx(Text, {
107
+ variant: size === "sm" ? "bodySmall" : "body",
57
108
  color: selected ? "text" : "placeholder",
58
109
  style: {
59
110
  flex: 1
60
111
  },
61
112
  children: selected?.label ?? placeholder
62
- }), renderIcon(chevronIcon, colors.textMuted, 18) ?? /*#__PURE__*/_jsx(Text, {
113
+ }), renderIcon(chevronIcon, colors.textMuted, size === "sm" ? 14 : 18) ?? /*#__PURE__*/_jsx(Text, {
63
114
  color: "textMuted",
115
+ style: {
116
+ fontSize: size === "sm" ? 12 : 14
117
+ },
64
118
  children: "\u2304"
65
119
  })]
66
120
  }), /*#__PURE__*/_jsx(Modal, {
@@ -69,30 +123,35 @@ export function Select({
69
123
  animationType: "fade",
70
124
  onRequestClose: () => setOpen(false),
71
125
  children: /*#__PURE__*/_jsx(Pressable, {
72
- style: {
73
- flex: 1,
74
- backgroundColor: colors.overlay,
75
- justifyContent: "flex-end"
76
- },
126
+ style: StyleSheet.absoluteFill,
77
127
  onPress: () => setOpen(false),
78
- children: /*#__PURE__*/_jsxs(Pressable, {
79
- style: {
80
- backgroundColor: colors.surface,
81
- borderTopLeftRadius: radii.xxl,
82
- borderTopRightRadius: radii.xxl,
128
+ children: /*#__PURE__*/_jsx(View, {
129
+ style: [{
130
+ position: "absolute",
131
+ top: coords.y,
132
+ left: coords.x,
133
+ width: coords.width,
134
+ maxHeight: 260,
135
+ backgroundColor: glass ? glassBg : colors.surface,
136
+ borderRadius: radii.xl,
83
137
  borderWidth: components.borderWidth.strong,
84
- borderColor: colors.border,
85
- padding: spacing.lg,
86
- gap: spacing.md,
87
- maxHeight: "72%"
88
- },
89
- children: [/*#__PURE__*/_jsx(Text, {
90
- variant: "title",
91
- children: title
92
- }), /*#__PURE__*/_jsx(ScrollView, {
138
+ borderColor: glass ? isDark ? "rgba(248, 250, 252, 0.20)" : "rgba(15, 23, 42, 0.14)" : colors.border,
139
+ padding: spacing.xs,
140
+ elevation: 8,
141
+ shadowColor: "#000",
142
+ shadowOffset: {
143
+ width: 0,
144
+ height: 4
145
+ },
146
+ shadowOpacity: 0.18,
147
+ shadowRadius: 12
148
+ }],
149
+ children: /*#__PURE__*/_jsx(ScrollView, {
150
+ nestedScrollEnabled: true,
151
+ keyboardShouldPersistTaps: "handled",
93
152
  children: /*#__PURE__*/_jsx(View, {
94
153
  style: {
95
- gap: spacing.sm
154
+ gap: 2
96
155
  },
97
156
  children: options.map(option => {
98
157
  const active = option.value === currentValue;
@@ -102,41 +161,48 @@ export function Select({
102
161
  style: ({
103
162
  pressed
104
163
  }) => ({
105
- minHeight: 48,
164
+ minHeight: 40,
106
165
  borderRadius: radii.lg,
107
- borderWidth: components.borderWidth.strong,
108
- borderColor: active ? colors.primary : colors.border,
109
- backgroundColor: active ? colors.primarySoft : colors.surface,
110
- padding: spacing.md,
166
+ backgroundColor: active ? colors.primarySoft : pressed ? colors.backgroundMuted : colors.transparent,
167
+ paddingHorizontal: spacing.md,
168
+ paddingVertical: spacing.xs,
111
169
  flexDirection: "row",
112
170
  alignItems: "center",
113
- gap: spacing.md,
114
- opacity: option.disabled ? 0.5 : pressed ? 0.78 : 1
171
+ gap: spacing.sm,
172
+ opacity: option.disabled ? 0.5 : 1
115
173
  }),
116
174
  children: [/*#__PURE__*/_jsxs(View, {
117
175
  style: {
118
176
  flex: 1,
119
- gap: spacing.xs
177
+ gap: 2
120
178
  },
121
179
  children: [/*#__PURE__*/_jsx(Text, {
122
- variant: "label",
180
+ variant: "body",
181
+ color: active ? "primary" : "text",
182
+ weight: active ? "600" : "400",
123
183
  children: option.label
124
184
  }), option.description ? /*#__PURE__*/_jsx(Text, {
125
- variant: "bodySmall",
185
+ variant: "caption",
126
186
  color: "textMuted",
127
187
  children: option.description
128
188
  }) : null]
129
- }), active ? renderIcon(checkIcon, colors.primary, 18) ?? /*#__PURE__*/_jsx(Text, {
189
+ }), active ? renderIcon(checkIcon, colors.primary, 16) ?? /*#__PURE__*/_jsx(Text, {
130
190
  color: "primary",
191
+ weight: "700",
131
192
  children: "\u2713"
132
193
  }) : null]
133
194
  }, option.value);
134
195
  })
135
196
  })
136
- })]
197
+ })
137
198
  })
138
199
  })
139
200
  })]
140
201
  });
141
202
  }
203
+ function invalidOrOpenBorder(open, glass, isDark, colors) {
204
+ if (open) return colors.primary;
205
+ if (glass) return isDark ? "rgba(248, 250, 252, 0.20)" : "rgba(15, 23, 42, 0.14)";
206
+ return colors.border;
207
+ }
142
208
  //# sourceMappingURL=Select.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Modal","Pressable","ScrollView","View","useTheme","Text","renderIcon","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","Select","value","defaultValue","options","placeholder","disabled","title","onValueChange","chevronIcon","checkIcon","style","colors","components","radii","spacing","open","setOpen","useState","internalValue","setInternalValue","currentValue","selected","find","option","choose","next","undefined","children","accessibilityRole","onPress","pressed","minHeight","width","borderWidth","strong","borderColor","border","borderRadius","lg","backgroundColor","input","paddingHorizontal","md","flexDirection","alignItems","gap","sm","opacity","color","flex","label","textMuted","visible","transparent","animationType","onRequestClose","overlay","justifyContent","surface","borderTopLeftRadius","xxl","borderTopRightRadius","padding","maxHeight","variant","map","active","primary","primarySoft","xs","description"],"sourceRoot":"../../../src","sources":["components/Select.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Modal","Pressable","ScrollView","StyleSheet","View","useTheme","withAlpha","triggerHaptic","Text","renderIcon","selectHeights","sm","md","lg","selectPaddingX","useFormField","jsx","_jsx","jsxs","_jsxs","Select","value","defaultValue","options","placeholder","variant","size","disabled","glass","haptic","onValueChange","chevronIcon","checkIcon","style","colors","components","radii","spacing","isDark","field","open","setOpen","useState","internalValue","setInternalValue","triggerRef","useRef","coords","setCoords","x","y","width","isInvalid","Boolean","invalid","isDisabled","currentValue","selected","find","option","choose","next","undefined","handleOpen","current","measureInWindow","height","glassBg","triggerBg","input","surface","primary","borderColor","danger","border","invalidOrOpenBorder","containerHeight","paddingX","ref","children","accessibilityRole","onPress","pressed","minHeight","borderWidth","focus","strong","borderRadius","backgroundColor","paddingHorizontal","flexDirection","alignItems","gap","opacity","color","flex","label","textMuted","fontSize","visible","transparent","animationType","onRequestClose","absoluteFill","position","top","left","maxHeight","xl","padding","xs","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","nestedScrollEnabled","keyboardShouldPersistTaps","map","active","primarySoft","backgroundMuted","paddingVertical","weight","description"],"sourceRoot":"../../../src","sources":["components/Select.tsx"],"mappings":"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","ignoreList":[]}
@@ -1,28 +1,218 @@
1
1
  "use strict";
2
2
 
3
- import React from "react";
4
- import { View } from "react-native";
5
- import { BottomSheet, BottomSheetView } from "./BottomSheet.js";
6
- import { Text } from "./Text.js";
3
+ import React, { useEffect, useState } from "react";
4
+ import { Modal, Pressable, View } from "react-native";
5
+ import Animated, { Easing, runOnJS, useAnimatedStyle, useSharedValue, withTiming } from "react-native-reanimated";
6
+ import { useSafeAreaInsets } from "react-native-safe-area-context";
7
7
  import { useTheme } from "../theme/index.js";
8
- import { jsx as _jsx } from "react/jsx-runtime";
9
- export const Sheet = /*#__PURE__*/React.forwardRef(function Sheet({
10
- index = -1,
11
- animateOnMount = false,
12
- ...props
13
- }, ref) {
14
- return /*#__PURE__*/_jsx(BottomSheet, {
15
- ref: ref,
16
- index: index,
17
- animateOnMount: animateOnMount,
18
- enablePanDownToClose: true,
19
- ...props
8
+ import { triggerHaptic } from "../utils/haptics.js";
9
+ import { Text } from "./Text.js";
10
+ import { renderIcon } from "./types.js";
11
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
12
+ export function Sheet({
13
+ visible,
14
+ onClose,
15
+ title,
16
+ description,
17
+ children,
18
+ glass = false,
19
+ haptic = true,
20
+ closeIcon,
21
+ dismissOnBackdropPress = true,
22
+ animated = true,
23
+ animationDuration = 240,
24
+ modalProps,
25
+ overlayStyle,
26
+ style,
27
+ contentStyle,
28
+ titleStyle,
29
+ descriptionStyle
30
+ }) {
31
+ const {
32
+ colors,
33
+ components,
34
+ radii,
35
+ spacing,
36
+ isDark
37
+ } = useTheme();
38
+ const insets = useSafeAreaInsets();
39
+ const [mounted, setMounted] = useState(visible);
40
+ const progress = useSharedValue(0);
41
+ const bottomInset = Math.max(insets.bottom, spacing.md);
42
+ useEffect(() => {
43
+ if (visible) {
44
+ if (haptic) triggerHaptic("medium");
45
+ progress.value = 0; // Guarantee 0 offset on initial mount frame (no flicker/glitch)
46
+ setMounted(true);
47
+ if (animated) {
48
+ progress.value = withTiming(1, {
49
+ duration: animationDuration,
50
+ easing: Easing.out(Easing.quad)
51
+ });
52
+ } else {
53
+ progress.value = 1;
54
+ }
55
+ } else {
56
+ if (animated) {
57
+ progress.value = withTiming(0, {
58
+ duration: Math.max(140, animationDuration - 60),
59
+ easing: Easing.in(Easing.quad)
60
+ }, finished => {
61
+ if (finished) {
62
+ runOnJS(setMounted)(false);
63
+ }
64
+ });
65
+ } else {
66
+ progress.value = 0;
67
+ setMounted(false);
68
+ }
69
+ }
70
+ }, [animated, animationDuration, haptic, progress, visible]);
71
+ const backdropAnimatedStyle = useAnimatedStyle(() => ({
72
+ opacity: progress.value
73
+ }));
74
+ const sheetAnimatedStyle = useAnimatedStyle(() => ({
75
+ opacity: progress.value,
76
+ transform: [{
77
+ translateY: 500 * (1 - progress.value)
78
+ }]
79
+ }));
80
+ if (!mounted) return null;
81
+ const requestClose = () => {
82
+ if (haptic) triggerHaptic("selection");
83
+ onClose?.();
84
+ };
85
+ const handleBackdropPress = () => {
86
+ if (dismissOnBackdropPress) {
87
+ requestClose();
88
+ }
89
+ };
90
+ const glassBg = isDark ? "rgba(15, 27, 45, 0.94)" : "rgba(255, 255, 255, 0.96)";
91
+ const sheetBg = glass ? glassBg : colors.surface;
92
+ const borderColor = glass ? isDark ? "rgba(248, 250, 252, 0.20)" : "rgba(15, 23, 42, 0.14)" : colors.border;
93
+ return /*#__PURE__*/_jsx(Modal, {
94
+ visible: mounted,
95
+ transparent: true,
96
+ animationType: "none",
97
+ statusBarTranslucent: true,
98
+ navigationBarTranslucent: true,
99
+ hardwareAccelerated: true,
100
+ onRequestClose: requestClose,
101
+ ...modalProps,
102
+ children: /*#__PURE__*/_jsxs(Animated.View, {
103
+ style: [{
104
+ flex: 1,
105
+ backgroundColor: isDark ? "rgba(0, 0, 0, 0.78)" : "rgba(15, 23, 42, 0.65)",
106
+ justifyContent: "flex-end"
107
+ }, backdropAnimatedStyle, overlayStyle],
108
+ children: [/*#__PURE__*/_jsx(Pressable, {
109
+ accessibilityRole: "button",
110
+ style: {
111
+ position: "absolute",
112
+ top: 0,
113
+ right: 0,
114
+ bottom: 0,
115
+ left: 0
116
+ },
117
+ onPress: handleBackdropPress
118
+ }), /*#__PURE__*/_jsx(Animated.View, {
119
+ style: [{
120
+ width: "100%"
121
+ }, animated ? sheetAnimatedStyle : undefined],
122
+ children: /*#__PURE__*/_jsxs(View, {
123
+ style: [{
124
+ width: "100%",
125
+ backgroundColor: sheetBg,
126
+ borderTopLeftRadius: radii.xxl,
127
+ borderTopRightRadius: radii.xxl,
128
+ borderWidth: components.borderWidth.strong,
129
+ borderBottomWidth: 0,
130
+ borderColor,
131
+ paddingHorizontal: spacing.xl,
132
+ paddingTop: spacing.sm,
133
+ paddingBottom: spacing.lg + bottomInset,
134
+ gap: spacing.lg,
135
+ elevation: 0
136
+ }, style],
137
+ children: [/*#__PURE__*/_jsx(View, {
138
+ style: {
139
+ alignItems: "center",
140
+ width: "100%",
141
+ paddingVertical: spacing.xs
142
+ },
143
+ children: /*#__PURE__*/_jsx(View, {
144
+ style: {
145
+ width: 40,
146
+ height: 4,
147
+ borderRadius: radii.full,
148
+ backgroundColor: colors.border
149
+ }
150
+ })
151
+ }), title || description || onClose ? /*#__PURE__*/_jsxs(View, {
152
+ style: {
153
+ flexDirection: "row",
154
+ alignItems: "flex-start",
155
+ justifyContent: "space-between",
156
+ gap: spacing.md
157
+ },
158
+ children: [/*#__PURE__*/_jsxs(View, {
159
+ style: [{
160
+ flex: 1,
161
+ gap: spacing.xxs
162
+ }, contentStyle],
163
+ children: [title ? typeof title === "string" ? /*#__PURE__*/_jsx(Text, {
164
+ variant: "h3",
165
+ weight: "700",
166
+ style: titleStyle,
167
+ children: title
168
+ }) : title : null, description ? typeof description === "string" ? /*#__PURE__*/_jsx(Text, {
169
+ variant: "bodySmall",
170
+ color: "textMuted",
171
+ style: [{
172
+ lineHeight: 20
173
+ }, descriptionStyle],
174
+ children: description
175
+ }) : description : null]
176
+ }), onClose ? /*#__PURE__*/_jsx(Pressable, {
177
+ accessibilityRole: "button",
178
+ accessibilityLabel: "Close sheet",
179
+ onPress: requestClose,
180
+ hitSlop: 12,
181
+ style: ({
182
+ pressed
183
+ }) => ({
184
+ width: 32,
185
+ height: 32,
186
+ borderRadius: 16,
187
+ alignItems: "center",
188
+ justifyContent: "center",
189
+ backgroundColor: pressed ? colors.backgroundMuted : "transparent",
190
+ opacity: pressed ? 0.8 : 0.7
191
+ }),
192
+ children: closeIcon ? renderIcon(closeIcon, colors.textMuted, 16) : /*#__PURE__*/_jsx(Text, {
193
+ style: {
194
+ color: colors.textMuted,
195
+ fontSize: 16,
196
+ fontWeight: "600"
197
+ },
198
+ children: "\u2715"
199
+ })
200
+ }) : null]
201
+ }) : null, children ? /*#__PURE__*/_jsx(View, {
202
+ style: {
203
+ width: "100%"
204
+ },
205
+ children: children
206
+ }) : null]
207
+ })
208
+ })]
209
+ })
20
210
  });
21
- });
22
- export { BottomSheetView as SheetContent };
211
+ }
212
+ export const SheetContent = View;
23
213
  export function SheetHeader({
24
214
  style,
25
- ...props
215
+ children
26
216
  }) {
27
217
  const {
28
218
  spacing
@@ -31,7 +221,7 @@ export function SheetHeader({
31
221
  style: [{
32
222
  gap: spacing.xs
33
223
  }, style],
34
- ...props
224
+ children: children
35
225
  });
36
226
  }
37
227
  export function SheetTitle({
@@ -39,7 +229,8 @@ export function SheetTitle({
39
229
  style
40
230
  }) {
41
231
  return /*#__PURE__*/_jsx(Text, {
42
- variant: "title",
232
+ variant: "h3",
233
+ weight: "700",
43
234
  color: "text",
44
235
  style: style,
45
236
  children: children
@@ -58,7 +249,7 @@ export function SheetDescription({
58
249
  }
59
250
  export function SheetFooter({
60
251
  style,
61
- ...props
252
+ children
62
253
  }) {
63
254
  const {
64
255
  spacing
@@ -67,9 +258,10 @@ export function SheetFooter({
67
258
  style: [{
68
259
  flexDirection: "row",
69
260
  justifyContent: "flex-end",
70
- gap: spacing.sm
261
+ gap: spacing.sm,
262
+ marginTop: spacing.md
71
263
  }, style],
72
- ...props
264
+ children: children
73
265
  });
74
266
  }
75
267
  //# sourceMappingURL=Sheet.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","View","BottomSheet","BottomSheetView","Text","useTheme","jsx","_jsx","Sheet","forwardRef","index","animateOnMount","props","ref","enablePanDownToClose","SheetContent","SheetHeader","style","spacing","gap","xs","SheetTitle","children","variant","color","SheetDescription","SheetFooter","flexDirection","justifyContent","sm"],"sourceRoot":"../../../src","sources":["components/Sheet.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,IAAI,QAKC,cAAc;AAErB,SACEC,WAAW,EACXC,eAAe,QAGV,kBAAe;AACtB,SAASC,IAAI,QAAQ,WAAQ;AAC7B,SAASC,QAAQ,QAAQ,mBAAU;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAEpC,OAAO,MAAMC,KAAK,gBAAGR,KAAK,CAACS,UAAU,CACnC,SAASD,KAAKA,CAAC;EAAEE,KAAK,GAAG,CAAC,CAAC;EAAEC,cAAc,GAAG,KAAK;EAAE,GAAGC;AAAM,CAAC,EAAEC,GAAG,EAAE;EACpE,oBACEN,IAAA,CAACL,WAAW;IACVW,GAAG,EAAEA,GAAI;IACTH,KAAK,EAAEA,KAAM;IACbC,cAAc,EAAEA,cAAe;IAC/BG,oBAAoB;IAAA,GAChBF;EAAK,CACV,CAAC;AAEN,CACF,CAAC;AAED,SAAST,eAAe,IAAIY,YAAY;AAMxC,OAAO,SAASC,WAAWA,CAAC;EAAEC,KAAK;EAAE,GAAGL;AAAwB,CAAC,EAAE;EACjE,MAAM;IAAEM;EAAQ,CAAC,GAAGb,QAAQ,CAAC,CAAC;EAC9B,oBAAOE,IAAA,CAACN,IAAI;IAACgB,KAAK,EAAE,CAAC;MAAEE,GAAG,EAAED,OAAO,CAACE;IAAG,CAAC,EAAEH,KAAK,CAAE;IAAA,GAAKL;EAAK,CAAG,CAAC;AACjE;AAOA,OAAO,SAASS,UAAUA,CAAC;EAAEC,QAAQ;EAAEL;AAAuB,CAAC,EAAE;EAC/D,oBACEV,IAAA,CAACH,IAAI;IAACmB,OAAO,EAAC,OAAO;IAACC,KAAK,EAAC,MAAM;IAACP,KAAK,EAAEA,KAAM;IAAAK,QAAA,EAC7CA;EAAQ,CACL,CAAC;AAEX;AAOA,OAAO,SAASG,gBAAgBA,CAAC;EAAEH,QAAQ;EAAEL;AAA6B,CAAC,EAAE;EAC3E,oBACEV,IAAA,CAACH,IAAI;IAACmB,OAAO,EAAC,WAAW;IAACC,KAAK,EAAC,WAAW;IAACP,KAAK,EAAEA,KAAM;IAAAK,QAAA,EACtDA;EAAQ,CACL,CAAC;AAEX;AAMA,OAAO,SAASI,WAAWA,CAAC;EAAET,KAAK;EAAE,GAAGL;AAAwB,CAAC,EAAE;EACjE,MAAM;IAAEM;EAAQ,CAAC,GAAGb,QAAQ,CAAC,CAAC;EAC9B,oBACEE,IAAA,CAACN,IAAI;IACHgB,KAAK,EAAE,CACL;MACEU,aAAa,EAAE,KAAK;MACpBC,cAAc,EAAE,UAAU;MAC1BT,GAAG,EAAED,OAAO,CAACW;IACf,CAAC,EACDZ,KAAK,CACL;IAAA,GACEL;EAAK,CACV,CAAC;AAEN","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useState","Modal","Pressable","View","Animated","Easing","runOnJS","useAnimatedStyle","useSharedValue","withTiming","useSafeAreaInsets","useTheme","triggerHaptic","Text","renderIcon","jsx","_jsx","jsxs","_jsxs","Sheet","visible","onClose","title","description","children","glass","haptic","closeIcon","dismissOnBackdropPress","animated","animationDuration","modalProps","overlayStyle","style","contentStyle","titleStyle","descriptionStyle","colors","components","radii","spacing","isDark","insets","mounted","setMounted","progress","bottomInset","Math","max","bottom","md","value","duration","easing","out","quad","in","finished","backdropAnimatedStyle","opacity","sheetAnimatedStyle","transform","translateY","requestClose","handleBackdropPress","glassBg","sheetBg","surface","borderColor","border","transparent","animationType","statusBarTranslucent","navigationBarTranslucent","hardwareAccelerated","onRequestClose","flex","backgroundColor","justifyContent","accessibilityRole","position","top","right","left","onPress","width","undefined","borderTopLeftRadius","xxl","borderTopRightRadius","borderWidth","strong","borderBottomWidth","paddingHorizontal","xl","paddingTop","sm","paddingBottom","lg","gap","elevation","alignItems","paddingVertical","xs","height","borderRadius","full","flexDirection","xxs","variant","weight","color","lineHeight","accessibilityLabel","hitSlop","pressed","backgroundMuted","textMuted","fontSize","fontWeight","SheetContent","SheetHeader","SheetTitle","SheetDescription","SheetFooter","marginTop"],"sourceRoot":"../../../src","sources":["components/Sheet.tsx"],"mappings":"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","ignoreList":[]}