@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
@@ -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":[]}