@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
@@ -8,6 +8,7 @@ var _react = _interopRequireDefault(require("react"));
8
8
  var _reactNative = require("react-native");
9
9
  var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
10
10
  var _index = require("../theme/index.js");
11
+ var _haptics = require("../utils/haptics.js");
11
12
  var _types = require("./types.js");
12
13
  var _jsxRuntime = require("react/jsx-runtime");
13
14
  function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
@@ -20,6 +21,8 @@ function Switch({
20
21
  invalid = false,
21
22
  size = "md",
22
23
  tone = "primary",
24
+ glass = false,
25
+ haptic = true,
23
26
  style,
24
27
  trackStyle,
25
28
  thumbStyle,
@@ -38,7 +41,8 @@ function Switch({
38
41
  const {
39
42
  colors,
40
43
  components,
41
- radii
44
+ radii,
45
+ isDark
42
46
  } = (0, _index.useTheme)();
43
47
  const isControlled = value !== undefined;
44
48
  const [uncontrolledValue, setUncontrolledValue] = _react.default.useState(defaultValue);
@@ -53,7 +57,6 @@ function Switch({
53
57
  });
54
58
  }, [checked, progress]);
55
59
  const activeColor = invalid ? colors.danger : colors[tone];
56
- const activeSoftColor = invalid ? colors.dangerSoft : tone === "primary" ? colors.primarySoft : tone === "secondary" ? colors.secondarySoft : tone === "accent" ? colors.accentSoft : tone === "success" ? colors.successSoft : tone === "warning" ? colors.warningSoft : tone === "danger" ? colors.dangerSoft : colors.infoSoft;
57
60
  const thumbIcon = checked ? activeIcon : inactiveIcon;
58
61
  const selectedThumbContent = (checked ? activeThumbContent : inactiveThumbContent) ?? thumbContent;
59
62
  const width = components.switch.width[size];
@@ -63,12 +66,19 @@ function Switch({
63
66
  const borderWidth = components.borderWidth.focus;
64
67
  const inset = (height - thumbSize) / 2;
65
68
  const travel = width - thumbSize - (inset + borderWidth) * 2;
66
- const thumbColor = disabled ? colors.disabledText : colors.surface;
67
- const inactiveTrackColor = disabled ? colors.disabled : colors.backgroundMuted;
68
- const inactiveBorderColor = invalid ? colors.danger : colors.border;
69
+ const glassBg = isDark ? "rgba(15, 27, 45, 0.60)" : "rgba(255, 255, 255, 0.70)";
70
+ const inactiveTrackColor = disabled ? colors.disabled : glass ? glassBg : isDark ? "rgba(30, 41, 59, 0.90)" : colors.backgroundMuted;
71
+ const activeTrackColor = disabled ? colors.disabled : activeColor;
72
+ const inactiveBorderColor = invalid ? colors.danger : glass ? isDark ? "rgba(248, 250, 252, 0.20)" : "rgba(15, 23, 42, 0.14)" : isDark ? "rgba(148, 163, 184, 0.30)" : colors.border;
73
+ const activeBorderColor = invalid ? colors.danger : activeColor;
74
+
75
+ // Crisp white/light-slate knob for OFF state in both dark & light mode
76
+ const inactiveThumbColor = disabled ? colors.disabledText : isDark ? "#e2e8f0" : "#ffffff";
77
+ const activeThumbColor = disabled ? colors.disabledText : "#ffffff";
69
78
  const handlePress = event => {
70
79
  onPress?.(event);
71
80
  if (disabled) return;
81
+ if (haptic) (0, _haptics.triggerHaptic)("selection");
72
82
  const nextValue = !checked;
73
83
  if (!isControlled) {
74
84
  setUncontrolledValue(nextValue);
@@ -88,8 +98,8 @@ function Switch({
88
98
  });
89
99
  };
90
100
  const trackAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
91
- backgroundColor: (0, _reactNativeReanimated.interpolateColor)(progress.value, [0, 1], [inactiveTrackColor, activeSoftColor]),
92
- borderColor: (0, _reactNativeReanimated.interpolateColor)(progress.value, [0, 1], [inactiveBorderColor, activeColor])
101
+ backgroundColor: (0, _reactNativeReanimated.interpolateColor)(progress.value, [0, 1], [inactiveTrackColor, activeTrackColor]),
102
+ borderColor: (0, _reactNativeReanimated.interpolateColor)(progress.value, [0, 1], [inactiveBorderColor, activeBorderColor])
93
103
  }));
94
104
  const thumbAnimatedStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
95
105
  transform: [{
@@ -97,9 +107,9 @@ function Switch({
97
107
  }, {
98
108
  scale: 1 + pressed.value * 0.06
99
109
  }],
100
- backgroundColor: (0, _reactNativeReanimated.interpolateColor)(progress.value, [0, 1], [thumbColor, activeColor])
110
+ backgroundColor: (0, _reactNativeReanimated.interpolateColor)(progress.value, [0, 1], [inactiveThumbColor, activeThumbColor])
101
111
  }));
102
- const iconColor = checked ? invalid ? colors.onDanger : tone === "primary" ? colors.onPrimary : tone === "secondary" ? colors.onSecondary : tone === "accent" ? colors.onAccent : tone === "success" ? colors.onSuccess : tone === "warning" ? colors.onWarning : tone === "danger" ? colors.onDanger : colors.onInfo : colors.textSubtle;
112
+ const iconColor = checked ? invalid ? colors.danger : activeColor : colors.textSubtle;
103
113
  const thumbContentParams = {
104
114
  checked,
105
115
  disabled,
@@ -122,7 +132,7 @@ function Switch({
122
132
  style: ({
123
133
  pressed: isPressed
124
134
  }) => [{
125
- opacity: disabled ? 0.56 : isPressed ? 0.9 : 1,
135
+ opacity: disabled ? 0.45 : isPressed ? 0.9 : 1,
126
136
  alignSelf: "flex-start"
127
137
  }, style],
128
138
  ...props,
@@ -143,7 +153,7 @@ function Switch({
143
153
  alignItems: "center",
144
154
  justifyContent: "center",
145
155
  borderWidth: components.borderWidth.default,
146
- borderColor: checked ? activeColor : colors.borderMuted
156
+ borderColor: checked ? activeColor : "transparent"
147
157
  }, thumbAnimatedStyle, thumbStyle],
148
158
  children: renderThumb ? renderThumb(thumbContentParams) : renderedThumbContent ? renderedThumbContent : thumbIcon ? (0, _types.renderIcon)(thumbIcon, iconColor, iconSize) : null
149
159
  })
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_index","_types","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Switch","value","defaultValue","onValueChange","disabled","invalid","size","tone","style","trackStyle","thumbStyle","activeIcon","inactiveIcon","thumbContent","activeThumbContent","inactiveThumbContent","renderThumb","onPress","onPressIn","onPressOut","accessibilityLabel","props","colors","components","radii","useTheme","isControlled","undefined","uncontrolledValue","setUncontrolledValue","React","useState","checked","progress","useSharedValue","pressed","useEffect","withSpring","damping","stiffness","mass","activeColor","danger","activeSoftColor","dangerSoft","primarySoft","secondarySoft","accentSoft","successSoft","warningSoft","infoSoft","thumbIcon","selectedThumbContent","width","switch","height","thumbSize","iconSize","borderWidth","focus","inset","travel","thumbColor","disabledText","surface","inactiveTrackColor","backgroundMuted","inactiveBorderColor","border","handlePress","event","nextValue","handlePressIn","withTiming","duration","handlePressOut","trackAnimatedStyle","useAnimatedStyle","backgroundColor","interpolateColor","borderColor","thumbAnimatedStyle","transform","translateX","scale","iconColor","onDanger","onPrimary","onSecondary","onAccent","onSuccess","onWarning","onInfo","textSubtle","thumbContentParams","color","renderedThumbContent","jsx","Pressable","accessibilityRole","accessibilityState","isPressed","opacity","alignSelf","children","View","borderRadius","full","padding","justifyContent","alignItems","borderMuted","renderIcon"],"sourceRoot":"../../../src","sources":["components/Switch.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_index","_haptics","_types","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Switch","value","defaultValue","onValueChange","disabled","invalid","size","tone","glass","haptic","style","trackStyle","thumbStyle","activeIcon","inactiveIcon","thumbContent","activeThumbContent","inactiveThumbContent","renderThumb","onPress","onPressIn","onPressOut","accessibilityLabel","props","colors","components","radii","isDark","useTheme","isControlled","undefined","uncontrolledValue","setUncontrolledValue","React","useState","checked","progress","useSharedValue","pressed","useEffect","withSpring","damping","stiffness","mass","activeColor","danger","thumbIcon","selectedThumbContent","width","switch","height","thumbSize","iconSize","borderWidth","focus","inset","travel","glassBg","inactiveTrackColor","backgroundMuted","activeTrackColor","inactiveBorderColor","border","activeBorderColor","inactiveThumbColor","disabledText","activeThumbColor","handlePress","event","triggerHaptic","nextValue","handlePressIn","withTiming","duration","handlePressOut","trackAnimatedStyle","useAnimatedStyle","backgroundColor","interpolateColor","borderColor","thumbAnimatedStyle","transform","translateX","scale","iconColor","textSubtle","thumbContentParams","color","renderedThumbContent","jsx","Pressable","accessibilityRole","accessibilityState","isPressed","opacity","alignSelf","children","View","borderRadius","full","padding","justifyContent","alignItems","renderIcon"],"sourceRoot":"../../../src","sources":["components/Switch.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,16 +7,33 @@ exports.Tabs = Tabs;
7
7
  exports.TabsContent = TabsContent;
8
8
  exports.TabsList = TabsList;
9
9
  exports.TabsTrigger = TabsTrigger;
10
+ exports.useTabsContext = useTabsContext;
10
11
  var _react = _interopRequireDefault(require("react"));
11
12
  var _reactNative = require("react-native");
13
+ var _reactNativeReanimated = _interopRequireWildcard(require("react-native-reanimated"));
12
14
  var _index = require("../theme/index.js");
15
+ var _haptics = require("../utils/haptics.js");
13
16
  var _Text = require("./Text.js");
17
+ var _types = require("./types.js");
14
18
  var _jsxRuntime = require("react/jsx-runtime");
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
15
20
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
21
  const TabsContext = /*#__PURE__*/_react.default.createContext(null);
22
+ function useTabsContext() {
23
+ const context = _react.default.useContext(TabsContext);
24
+ if (!context) {
25
+ throw new Error("Tabs compound components must be rendered inside <Tabs />");
26
+ }
27
+ return context;
28
+ }
17
29
  function Tabs({
18
30
  value,
19
31
  defaultValue,
32
+ variant = "segmented",
33
+ size = "md",
34
+ glass = false,
35
+ haptic = true,
36
+ animated = true,
20
37
  onValueChange,
21
38
  style,
22
39
  ...props
@@ -25,15 +42,35 @@ function Tabs({
25
42
  spacing
26
43
  } = (0, _index.useTheme)();
27
44
  const [internalValue, setInternalValue] = _react.default.useState(defaultValue);
45
+ const [tabNodes, setTabNodes] = _react.default.useState({});
28
46
  const currentValue = value ?? internalValue;
47
+ const registerTabNode = _react.default.useCallback((tabValue, layout) => {
48
+ setTabNodes(prev => {
49
+ if (prev[tabValue]?.x === layout.x && prev[tabValue]?.width === layout.width) {
50
+ return prev;
51
+ }
52
+ return {
53
+ ...prev,
54
+ [tabValue]: layout
55
+ };
56
+ });
57
+ }, []);
29
58
  const handleValueChange = _react.default.useCallback(next => {
59
+ if (haptic) (0, _haptics.triggerHaptic)("selection");
30
60
  if (value === undefined) setInternalValue(next);
31
61
  onValueChange?.(next);
32
- }, [onValueChange, value]);
62
+ }, [haptic, onValueChange, value]);
33
63
  const context = _react.default.useMemo(() => ({
34
64
  value: currentValue,
35
- onValueChange: handleValueChange
36
- }), [currentValue, handleValueChange]);
65
+ onValueChange: handleValueChange,
66
+ variant,
67
+ size,
68
+ glass,
69
+ haptic,
70
+ animated,
71
+ registerTabNode,
72
+ tabNodes
73
+ }), [currentValue, handleValueChange, variant, size, glass, haptic, animated, registerTabNode, tabNodes]);
37
74
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(TabsContext.Provider, {
38
75
  value: context,
39
76
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
@@ -45,73 +82,165 @@ function Tabs({
45
82
  })
46
83
  });
47
84
  }
85
+ const listHeights = {
86
+ sm: 36,
87
+ md: 44,
88
+ lg: 52
89
+ };
48
90
  function TabsList({
49
91
  style,
92
+ children,
50
93
  ...props
51
94
  }) {
52
95
  const {
53
96
  colors,
54
97
  components,
55
98
  radii,
56
- spacing
99
+ spacing,
100
+ isDark
57
101
  } = (0, _index.useTheme)();
58
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
102
+ const {
103
+ value,
104
+ variant,
105
+ size,
106
+ glass,
107
+ animated,
108
+ tabNodes
109
+ } = useTabsContext();
110
+ const activeNode = value ? tabNodes[value] : undefined;
111
+ const indicatorX = (0, _reactNativeReanimated.useSharedValue)(0);
112
+ const indicatorWidth = (0, _reactNativeReanimated.useSharedValue)(0);
113
+ const initialized = (0, _reactNativeReanimated.useSharedValue)(false);
114
+ _react.default.useEffect(() => {
115
+ if (activeNode && activeNode.width > 0) {
116
+ if (!animated || !initialized.value) {
117
+ indicatorX.value = activeNode.x;
118
+ indicatorWidth.value = activeNode.width;
119
+ initialized.value = true;
120
+ } else {
121
+ indicatorX.value = (0, _reactNativeReanimated.withTiming)(activeNode.x, {
122
+ duration: 180
123
+ });
124
+ indicatorWidth.value = (0, _reactNativeReanimated.withTiming)(activeNode.width, {
125
+ duration: 180
126
+ });
127
+ }
128
+ }
129
+ }, [activeNode, animated, indicatorX, indicatorWidth, initialized]);
130
+ const glassBg = isDark ? "rgba(15, 27, 45, 0.70)" : "rgba(255, 255, 255, 0.85)";
131
+ const isUnderline = variant === "underline";
132
+ const isPills = variant === "pills";
133
+ const height = listHeights[size];
134
+ const indicatorStyle = (0, _reactNativeReanimated.useAnimatedStyle)(() => ({
135
+ transform: [{
136
+ translateX: indicatorX.value
137
+ }],
138
+ width: indicatorWidth.value
139
+ }));
140
+ const activeBg = variant === "segmented" || variant === "pills" ? colors.primary : variant === "soft" ? colors.primarySoft : colors.transparent;
141
+ const padding = isUnderline ? 0 : 4;
142
+ // Concentric radius rule: InnerRadius = OuterRadius - Padding (16 - 4 = 12px)
143
+ const innerRadius = isPills ? radii.full : isUnderline ? 0 : radii.md;
144
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
59
145
  style: [{
60
146
  width: "100%",
61
- minHeight: 44,
62
- padding: 3,
63
- borderRadius: radii.lg,
64
- borderWidth: components.borderWidth.strong,
65
- borderColor: colors.border,
66
- backgroundColor: colors.surface,
147
+ minHeight: height,
148
+ height: isUnderline ? undefined : height,
149
+ padding,
150
+ borderRadius: isUnderline ? 0 : radii.lg,
151
+ borderWidth: isUnderline ? 0 : components.borderWidth.strong,
152
+ borderColor: glass ? isDark ? "rgba(248, 250, 252, 0.20)" : "rgba(15, 23, 42, 0.14)" : colors.border,
153
+ borderBottomWidth: isUnderline ? components.borderWidth.strong : undefined,
154
+ borderBottomColor: isUnderline ? colors.border : undefined,
155
+ backgroundColor: isUnderline ? colors.transparent : isPills ? colors.transparent : glass ? glassBg : colors.input,
67
156
  flexDirection: "row",
68
- gap: spacing.xs
157
+ alignItems: "stretch",
158
+ gap: isPills ? spacing.xs : isUnderline ? spacing.md : 4,
159
+ position: "relative"
69
160
  }, style],
70
- ...props
161
+ ...props,
162
+ children: [activeNode && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNativeReanimated.default.View, {
163
+ style: [{
164
+ position: "absolute",
165
+ top: isUnderline ? undefined : padding,
166
+ bottom: isUnderline ? 0 : padding,
167
+ height: isUnderline ? 2.5 : undefined,
168
+ borderRadius: innerRadius,
169
+ backgroundColor: isUnderline ? colors.primary : activeBg,
170
+ zIndex: 0
171
+ }, indicatorStyle]
172
+ }), children]
71
173
  });
72
174
  }
73
175
  function TabsTrigger({
74
176
  value,
177
+ icon,
75
178
  children,
76
179
  style,
77
180
  disabled,
78
181
  ...props
79
182
  }) {
80
- const context = _react.default.useContext(TabsContext);
183
+ const {
184
+ value: selectedValue,
185
+ onValueChange,
186
+ variant,
187
+ size,
188
+ registerTabNode
189
+ } = useTabsContext();
81
190
  const {
82
191
  colors,
83
192
  radii,
84
193
  spacing
85
194
  } = (0, _index.useTheme)();
86
- const active = context?.value === value;
87
- return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
195
+ const active = selectedValue === value;
196
+ const handleLayout = event => {
197
+ const {
198
+ x,
199
+ width,
200
+ height
201
+ } = event.nativeEvent.layout;
202
+ registerTabNode(value, {
203
+ x,
204
+ width,
205
+ height
206
+ });
207
+ };
208
+ const activeTextColor = variant === "segmented" || variant === "pills" ? colors.onPrimary : colors.primary;
209
+ const isPills = variant === "pills";
210
+ const isUnderline = variant === "underline";
211
+ const triggerRadius = isPills ? radii.full : isUnderline ? 0 : radii.md;
212
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
88
213
  accessibilityRole: "tab",
89
214
  accessibilityState: {
90
215
  selected: active,
91
216
  disabled: Boolean(disabled)
92
217
  },
93
218
  disabled: disabled,
94
- onPress: () => context?.onValueChange?.(value),
219
+ onLayout: handleLayout,
220
+ onPress: () => onValueChange?.(value),
95
221
  style: ({
96
222
  pressed
97
223
  }) => [{
98
224
  flex: 1,
99
- minHeight: 36,
100
- borderRadius: radii.md,
101
- backgroundColor: active ? colors.primary : colors.transparent,
225
+ height: isUnderline ? listHeights[size] : "100%",
226
+ borderRadius: triggerRadius,
102
227
  alignItems: "center",
103
228
  justifyContent: "center",
104
- paddingHorizontal: spacing.md,
105
- opacity: disabled ? 0.5 : pressed ? 0.78 : 1
229
+ flexDirection: "row",
230
+ gap: spacing.xs,
231
+ paddingHorizontal: spacing.sm,
232
+ zIndex: 1,
233
+ opacity: disabled ? 0.5 : pressed ? 0.82 : 1
106
234
  }, style],
107
235
  ...props,
108
- children: typeof children === "string" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
109
- variant: "label",
236
+ children: [icon ? (0, _types.renderIcon)(icon, active ? activeTextColor : colors.textMuted, size === "sm" ? 14 : 16) : null, typeof children === "string" ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Text.Text, {
237
+ variant: size === "sm" ? "bodySmall" : "label",
238
+ weight: active ? "600" : "400",
110
239
  style: {
111
- color: active ? colors.onPrimary : colors.textMuted
240
+ color: active ? activeTextColor : colors.textMuted
112
241
  },
113
242
  children: children
114
- }) : children
243
+ }) : children]
115
244
  });
116
245
  }
117
246
  function TabsContent({
@@ -120,8 +249,10 @@ function TabsContent({
120
249
  style,
121
250
  ...props
122
251
  }) {
123
- const context = _react.default.useContext(TabsContext);
124
- const active = context?.value === value;
252
+ const {
253
+ value: selectedValue
254
+ } = useTabsContext();
255
+ const active = selectedValue === value;
125
256
  if (!active && !forceMount) return null;
126
257
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
127
258
  style: [{
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_index","_Text","_jsxRuntime","e","__esModule","default","TabsContext","React","createContext","Tabs","value","defaultValue","onValueChange","style","props","spacing","useTheme","internalValue","setInternalValue","useState","currentValue","handleValueChange","useCallback","next","undefined","context","useMemo","jsx","Provider","children","View","width","gap","md","TabsList","colors","components","radii","minHeight","padding","borderRadius","lg","borderWidth","strong","borderColor","border","backgroundColor","surface","flexDirection","xs","TabsTrigger","disabled","useContext","active","Pressable","accessibilityRole","accessibilityState","selected","Boolean","onPress","pressed","flex","primary","transparent","alignItems","justifyContent","paddingHorizontal","opacity","Text","variant","color","onPrimary","textMuted","TabsContent","forceMount","display"],"sourceRoot":"../../../src","sources":["components/Tabs.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_reactNativeReanimated","_interopRequireWildcard","_index","_haptics","_Text","_types","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","TabsContext","React","createContext","useTabsContext","context","useContext","Error","Tabs","value","defaultValue","variant","size","glass","haptic","animated","onValueChange","style","props","spacing","useTheme","internalValue","setInternalValue","useState","tabNodes","setTabNodes","currentValue","registerTabNode","useCallback","tabValue","layout","prev","x","width","handleValueChange","next","triggerHaptic","undefined","useMemo","jsx","Provider","children","View","gap","md","listHeights","sm","lg","TabsList","colors","components","radii","isDark","activeNode","indicatorX","useSharedValue","indicatorWidth","initialized","useEffect","withTiming","duration","glassBg","isUnderline","isPills","height","indicatorStyle","useAnimatedStyle","transform","translateX","activeBg","primary","primarySoft","transparent","padding","innerRadius","full","jsxs","minHeight","borderRadius","borderWidth","strong","borderColor","border","borderBottomWidth","borderBottomColor","backgroundColor","input","flexDirection","alignItems","xs","position","top","bottom","zIndex","TabsTrigger","icon","disabled","selectedValue","active","handleLayout","event","nativeEvent","activeTextColor","onPrimary","triggerRadius","Pressable","accessibilityRole","accessibilityState","selected","Boolean","onLayout","onPress","pressed","flex","justifyContent","paddingHorizontal","opacity","renderIcon","textMuted","Text","weight","color","TabsContent","forceMount","display"],"sourceRoot":"../../../src","sources":["components/Tabs.tsx"],"mappings":"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","ignoreList":[]}
@@ -11,24 +11,39 @@ var _react = _interopRequireDefault(require("react"));
11
11
  var _reactNative = require("react-native");
12
12
  var _index = require("../theme/index.js");
13
13
  var _Text = require("./Text.js");
14
+ var _types = require("./types.js");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
16
17
  function Timeline({
17
18
  style,
19
+ children,
18
20
  ...props
19
21
  }) {
20
- const {
21
- spacing
22
- } = (0, _index.useTheme)();
22
+ const childrenArray = _react.default.Children.toArray(children).filter(Boolean);
23
+ const count = childrenArray.length;
23
24
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
24
25
  style: [{
25
- gap: spacing.md
26
+ gap: 0
26
27
  }, style],
27
- ...props
28
+ ...props,
29
+ children: childrenArray.map((child, index) => {
30
+ if (/*#__PURE__*/_react.default.isValidElement(child)) {
31
+ return /*#__PURE__*/_react.default.cloneElement(child, {
32
+ isLast: child.props.isLast ?? index === count - 1,
33
+ isFirst: child.props.isFirst ?? index === 0
34
+ });
35
+ }
36
+ return child;
37
+ })
28
38
  });
29
39
  }
30
40
  function TimelineItem({
31
41
  active = false,
42
+ isLast = false,
43
+ isFirst = false,
44
+ lineColor,
45
+ dotColor,
46
+ icon,
32
47
  style,
33
48
  children,
34
49
  ...props
@@ -39,6 +54,8 @@ function TimelineItem({
39
54
  spacing
40
55
  } = (0, _index.useTheme)();
41
56
  const indicatorSize = components.timeline.indicatorSize;
57
+ const resolvedDotColor = dotColor ?? (active ? colors.primary : colors.border);
58
+ const resolvedLineColor = lineColor ?? (active ? colors.primary : colors.borderMuted);
42
59
  return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
43
60
  style: [{
44
61
  flexDirection: "row",
@@ -47,26 +64,32 @@ function TimelineItem({
47
64
  ...props,
48
65
  children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
49
66
  style: {
50
- alignItems: "center"
67
+ alignItems: "center",
68
+ width: indicatorSize + 8
51
69
  },
52
70
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
53
71
  style: {
54
72
  width: indicatorSize,
55
73
  height: indicatorSize,
56
74
  borderRadius: indicatorSize / 2,
57
- backgroundColor: active ? colors.primary : colors.border
58
- }
59
- }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
75
+ backgroundColor: resolvedDotColor,
76
+ marginTop: 4,
77
+ alignItems: "center",
78
+ justifyContent: "center"
79
+ },
80
+ children: icon ? (0, _types.renderIcon)(icon, colors.onPrimary, 8) : null
81
+ }), !isLast && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
60
82
  style: {
61
- width: components.timeline.connectorWidth,
83
+ width: components.timeline.connectorWidth ?? 1.5,
62
84
  flex: 1,
63
- minHeight: components.timeline.connectorMinHeight,
64
- backgroundColor: colors.borderMuted
85
+ backgroundColor: resolvedLineColor,
86
+ marginTop: 4
65
87
  }
66
88
  })]
67
89
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
68
90
  style: {
69
91
  flex: 1,
92
+ paddingBottom: isLast ? 0 : spacing.lg,
70
93
  gap: spacing.xs
71
94
  },
72
95
  children: children
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_index","_Text","_jsxRuntime","e","__esModule","default","Timeline","style","props","spacing","useTheme","jsx","View","gap","md","TimelineItem","active","children","colors","components","indicatorSize","timeline","jsxs","flexDirection","alignItems","width","height","borderRadius","backgroundColor","primary","border","connectorWidth","flex","minHeight","connectorMinHeight","borderMuted","xs","TimelineTitle","Text","variant","Fragment","TimelineDescription","color"],"sourceRoot":"../../../src","sources":["components/Timeline.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_index","_Text","_types","_jsxRuntime","e","__esModule","default","Timeline","style","children","props","childrenArray","React","Children","toArray","filter","Boolean","count","length","jsx","View","gap","map","child","index","isValidElement","cloneElement","isLast","isFirst","TimelineItem","active","lineColor","dotColor","icon","colors","components","spacing","useTheme","indicatorSize","timeline","resolvedDotColor","primary","border","resolvedLineColor","borderMuted","jsxs","flexDirection","md","alignItems","width","height","borderRadius","backgroundColor","marginTop","justifyContent","renderIcon","onPrimary","connectorWidth","flex","paddingBottom","lg","xs","TimelineTitle","Text","variant","Fragment","TimelineDescription","color"],"sourceRoot":"../../../src","sources":["components/Timeline.tsx"],"mappings":"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","ignoreList":[]}