@nori-ui/core 0.0.5 → 1.0.2

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 (387) hide show
  1. package/dist/animation/animated-view.cjs +13 -0
  2. package/dist/animation/animated-view.cjs.map +1 -0
  3. package/dist/animation/animated-view.d.cts +6 -0
  4. package/dist/animation/animated-view.d.ts +6 -0
  5. package/dist/animation/animated-view.js +4 -0
  6. package/dist/animation/animated-view.js.map +1 -0
  7. package/dist/animation/animated-view.web.cjs +9 -0
  8. package/dist/animation/animated-view.web.cjs.map +1 -0
  9. package/dist/animation/animated-view.web.d.cts +5 -0
  10. package/dist/animation/animated-view.web.d.ts +5 -0
  11. package/dist/animation/animated-view.web.js +8 -0
  12. package/dist/animation/animated-view.web.js.map +1 -0
  13. package/dist/animation/use-animated-number.cjs +80 -0
  14. package/dist/animation/use-animated-number.cjs.map +1 -0
  15. package/dist/animation/use-animated-number.d.cts +8 -0
  16. package/dist/animation/use-animated-number.d.ts +8 -0
  17. package/dist/animation/use-animated-number.js +4 -0
  18. package/dist/animation/use-animated-number.js.map +1 -0
  19. package/dist/animation/use-animated-number.web.cjs +28 -0
  20. package/dist/animation/use-animated-number.web.cjs.map +1 -0
  21. package/dist/animation/use-animated-number.web.d.cts +8 -0
  22. package/dist/animation/use-animated-number.web.d.ts +8 -0
  23. package/dist/animation/use-animated-number.web.js +25 -0
  24. package/dist/animation/use-animated-number.web.js.map +1 -0
  25. package/dist/{chunk-RX7UULY3.js → chunk-33S7ADWM.js} +3 -3
  26. package/dist/{chunk-RX7UULY3.js.map → chunk-33S7ADWM.js.map} +1 -1
  27. package/dist/chunk-3BDDPFCI.js +108 -0
  28. package/dist/chunk-3BDDPFCI.js.map +1 -0
  29. package/dist/chunk-3F4TXKDY.js +314 -0
  30. package/dist/chunk-3F4TXKDY.js.map +1 -0
  31. package/dist/chunk-5A2QOOVN.js +15 -0
  32. package/dist/chunk-5A2QOOVN.js.map +1 -0
  33. package/dist/chunk-5XEGZFG5.js +208 -0
  34. package/dist/chunk-5XEGZFG5.js.map +1 -0
  35. package/dist/chunk-6AD6KCVB.js +178 -0
  36. package/dist/chunk-6AD6KCVB.js.map +1 -0
  37. package/dist/chunk-7GPDNQSX.js +967 -0
  38. package/dist/chunk-7GPDNQSX.js.map +1 -0
  39. package/dist/chunk-7UKRN73P.js +42 -0
  40. package/dist/chunk-7UKRN73P.js.map +1 -0
  41. package/dist/chunk-7Z4NMNX6.js +64 -0
  42. package/dist/chunk-7Z4NMNX6.js.map +1 -0
  43. package/dist/chunk-ACLHDHX3.js +29 -0
  44. package/dist/chunk-ACLHDHX3.js.map +1 -0
  45. package/dist/chunk-BZLT6R62.js +80 -0
  46. package/dist/chunk-BZLT6R62.js.map +1 -0
  47. package/dist/chunk-CCUXO2HN.js +450 -0
  48. package/dist/chunk-CCUXO2HN.js.map +1 -0
  49. package/dist/chunk-CHXHRJNZ.js +43 -0
  50. package/dist/chunk-CHXHRJNZ.js.map +1 -0
  51. package/dist/chunk-DDGMLLS3.js +188 -0
  52. package/dist/chunk-DDGMLLS3.js.map +1 -0
  53. package/dist/chunk-EWWQQ5DB.js +654 -0
  54. package/dist/chunk-EWWQQ5DB.js.map +1 -0
  55. package/dist/chunk-FEPTH5RV.js +169 -0
  56. package/dist/chunk-FEPTH5RV.js.map +1 -0
  57. package/dist/{chunk-SSTXLK5I.js → chunk-FT2XBBQJ.js} +42 -6
  58. package/dist/chunk-FT2XBBQJ.js.map +1 -0
  59. package/dist/chunk-IKLA2CVQ.js +260 -0
  60. package/dist/chunk-IKLA2CVQ.js.map +1 -0
  61. package/dist/chunk-JQQ3FBN7.js +18 -0
  62. package/dist/chunk-JQQ3FBN7.js.map +1 -0
  63. package/dist/chunk-JSAG5YO7.js +69 -0
  64. package/dist/chunk-JSAG5YO7.js.map +1 -0
  65. package/dist/chunk-JZ774T7U.js +76 -0
  66. package/dist/chunk-JZ774T7U.js.map +1 -0
  67. package/dist/chunk-KWRDJPP3.js +10 -0
  68. package/dist/chunk-KWRDJPP3.js.map +1 -0
  69. package/dist/chunk-LVWNMQGR.js +1106 -0
  70. package/dist/chunk-LVWNMQGR.js.map +1 -0
  71. package/dist/chunk-LWLK6HSW.js +143 -0
  72. package/dist/chunk-LWLK6HSW.js.map +1 -0
  73. package/dist/chunk-MDOZGILD.js +134 -0
  74. package/dist/chunk-MDOZGILD.js.map +1 -0
  75. package/dist/chunk-MKSDYRWQ.js +446 -0
  76. package/dist/chunk-MKSDYRWQ.js.map +1 -0
  77. package/dist/chunk-MRJWPRCX.js +80 -0
  78. package/dist/chunk-MRJWPRCX.js.map +1 -0
  79. package/dist/chunk-NRYWNOG5.js +410 -0
  80. package/dist/chunk-NRYWNOG5.js.map +1 -0
  81. package/dist/chunk-OMU4R4Y5.js +144 -0
  82. package/dist/chunk-OMU4R4Y5.js.map +1 -0
  83. package/dist/chunk-PNP7L4TA.js +103 -0
  84. package/dist/chunk-PNP7L4TA.js.map +1 -0
  85. package/dist/chunk-QI6646JZ.js +3 -0
  86. package/dist/{chunk-UAKFCMWK.js.map → chunk-QI6646JZ.js.map} +1 -1
  87. package/dist/chunk-QJNV7YQP.js +138 -0
  88. package/dist/chunk-QJNV7YQP.js.map +1 -0
  89. package/dist/chunk-R5JMDDCB.js +292 -0
  90. package/dist/chunk-R5JMDDCB.js.map +1 -0
  91. package/dist/chunk-RB3YBWQ4.js +77 -0
  92. package/dist/chunk-RB3YBWQ4.js.map +1 -0
  93. package/dist/chunk-RFW5SRZA.js +23 -0
  94. package/dist/chunk-RFW5SRZA.js.map +1 -0
  95. package/dist/chunk-RGJ3NBKE.js +8 -0
  96. package/dist/chunk-RGJ3NBKE.js.map +1 -0
  97. package/dist/chunk-SFNDR6DI.js +485 -0
  98. package/dist/chunk-SFNDR6DI.js.map +1 -0
  99. package/dist/chunk-SWC5CNKE.js +13 -0
  100. package/dist/chunk-SWC5CNKE.js.map +1 -0
  101. package/dist/chunk-TLS54G6Y.js +15 -0
  102. package/dist/chunk-TLS54G6Y.js.map +1 -0
  103. package/dist/chunk-WCQVDF3K.js +12 -0
  104. package/dist/{chunk-7QVYU63E.js.map → chunk-WCQVDF3K.js.map} +1 -1
  105. package/dist/chunk-WGT345SV.js +427 -0
  106. package/dist/chunk-WGT345SV.js.map +1 -0
  107. package/dist/chunk-X7APG7G2.js +1566 -0
  108. package/dist/chunk-X7APG7G2.js.map +1 -0
  109. package/dist/chunk-XALU6LOT.js +306 -0
  110. package/dist/chunk-XALU6LOT.js.map +1 -0
  111. package/dist/chunk-YNKKEO2A.js +336 -0
  112. package/dist/chunk-YNKKEO2A.js.map +1 -0
  113. package/dist/chunk-ZBW3BA5R.js +148 -0
  114. package/dist/chunk-ZBW3BA5R.js.map +1 -0
  115. package/dist/{chunk-FXKIWONG.js → chunk-ZIBNLXIV.js} +12 -6
  116. package/dist/chunk-ZIBNLXIV.js.map +1 -0
  117. package/dist/chunk-ZMSIYLSI.js +563 -0
  118. package/dist/chunk-ZMSIYLSI.js.map +1 -0
  119. package/dist/chunk-ZQMNGPLE.js +981 -0
  120. package/dist/chunk-ZQMNGPLE.js.map +1 -0
  121. package/dist/chunk-ZRD4FQBT.js +153 -0
  122. package/dist/chunk-ZRD4FQBT.js.map +1 -0
  123. package/dist/client.cjs +11289 -439
  124. package/dist/client.cjs.map +1 -1
  125. package/dist/client.d.cts +68 -117
  126. package/dist/client.d.ts +68 -117
  127. package/dist/client.js +58 -40
  128. package/dist/client.js.map +1 -1
  129. package/dist/components/Accordion/index.cjs +900 -0
  130. package/dist/components/Accordion/index.cjs.map +1 -0
  131. package/dist/components/Accordion/index.d.cts +72 -0
  132. package/dist/components/Accordion/index.d.ts +72 -0
  133. package/dist/components/Accordion/index.js +10 -0
  134. package/dist/components/Accordion/index.js.map +1 -0
  135. package/dist/components/Alert/index.cjs +567 -0
  136. package/dist/components/Alert/index.cjs.map +1 -0
  137. package/dist/components/Alert/index.d.cts +41 -0
  138. package/dist/components/Alert/index.d.ts +41 -0
  139. package/dist/components/Alert/index.js +8 -0
  140. package/dist/components/Alert/index.js.map +1 -0
  141. package/dist/components/AlertDialog/index.cjs +892 -0
  142. package/dist/components/AlertDialog/index.cjs.map +1 -0
  143. package/dist/components/AlertDialog/index.d.cts +68 -0
  144. package/dist/components/AlertDialog/index.d.ts +68 -0
  145. package/dist/components/AlertDialog/index.js +9 -0
  146. package/dist/components/AlertDialog/index.js.map +1 -0
  147. package/dist/components/Avatar/index.cjs +427 -0
  148. package/dist/components/Avatar/index.cjs.map +1 -0
  149. package/dist/components/Avatar/index.d.cts +40 -0
  150. package/dist/components/Avatar/index.d.ts +40 -0
  151. package/dist/components/Avatar/index.js +7 -0
  152. package/dist/components/Avatar/index.js.map +1 -0
  153. package/dist/components/Badge/index.cjs +433 -0
  154. package/dist/components/Badge/index.cjs.map +1 -0
  155. package/dist/components/Badge/index.d.cts +35 -0
  156. package/dist/components/Badge/index.d.ts +35 -0
  157. package/dist/components/Badge/index.js +7 -0
  158. package/dist/components/Badge/index.js.map +1 -0
  159. package/dist/components/Box/index.cjs +415 -0
  160. package/dist/components/Box/index.cjs.map +1 -0
  161. package/dist/components/Box/index.d.cts +24 -0
  162. package/dist/components/Box/index.d.ts +24 -0
  163. package/dist/components/Box/index.js +9 -0
  164. package/dist/components/Box/index.js.map +1 -0
  165. package/dist/components/Breadcrumb/index.cjs +1939 -0
  166. package/dist/components/Breadcrumb/index.cjs.map +1 -0
  167. package/dist/components/Breadcrumb/index.d.cts +186 -0
  168. package/dist/components/Breadcrumb/index.d.ts +186 -0
  169. package/dist/components/Breadcrumb/index.js +11 -0
  170. package/dist/components/Breadcrumb/index.js.map +1 -0
  171. package/dist/components/Button/index.cjs +631 -0
  172. package/dist/components/Button/index.cjs.map +1 -0
  173. package/dist/components/Button/index.d.cts +27 -0
  174. package/dist/components/Button/index.d.ts +27 -0
  175. package/dist/components/Button/index.js +9 -0
  176. package/dist/components/Button/index.js.map +1 -0
  177. package/dist/components/Calendar/index.cjs +3017 -0
  178. package/dist/components/Calendar/index.cjs.map +1 -0
  179. package/dist/components/Calendar/index.d.cts +169 -0
  180. package/dist/components/Calendar/index.d.ts +169 -0
  181. package/dist/components/Calendar/index.js +11 -0
  182. package/dist/components/Calendar/index.js.map +1 -0
  183. package/dist/components/Card/index.cjs +469 -0
  184. package/dist/components/Card/index.cjs.map +1 -0
  185. package/dist/components/Card/index.d.cts +33 -0
  186. package/dist/components/Card/index.d.ts +33 -0
  187. package/dist/components/Card/index.js +7 -0
  188. package/dist/components/Card/index.js.map +1 -0
  189. package/dist/components/Checkbox/index.cjs +590 -0
  190. package/dist/components/Checkbox/index.cjs.map +1 -0
  191. package/dist/components/Checkbox/index.d.cts +22 -0
  192. package/dist/components/Checkbox/index.d.ts +22 -0
  193. package/dist/components/Checkbox/index.js +9 -0
  194. package/dist/components/Checkbox/index.js.map +1 -0
  195. package/dist/components/Dialog/index.cjs +888 -0
  196. package/dist/components/Dialog/index.cjs.map +1 -0
  197. package/dist/components/Dialog/index.d.cts +56 -0
  198. package/dist/components/Dialog/index.d.ts +56 -0
  199. package/dist/components/Dialog/index.js +10 -0
  200. package/dist/components/Dialog/index.js.map +1 -0
  201. package/dist/components/FloatButton/index.cjs +1254 -0
  202. package/dist/components/FloatButton/index.cjs.map +1 -0
  203. package/dist/components/FloatButton/index.d.cts +133 -0
  204. package/dist/components/FloatButton/index.d.ts +133 -0
  205. package/dist/components/FloatButton/index.js +11 -0
  206. package/dist/components/FloatButton/index.js.map +1 -0
  207. package/dist/components/HStack/index.cjs +480 -0
  208. package/dist/components/HStack/index.cjs.map +1 -0
  209. package/dist/components/HStack/index.d.cts +24 -0
  210. package/dist/components/HStack/index.d.ts +24 -0
  211. package/dist/components/HStack/index.js +9 -0
  212. package/dist/components/HStack/index.js.map +1 -0
  213. package/dist/components/InputGroup/index.cjs +638 -0
  214. package/dist/components/InputGroup/index.cjs.map +1 -0
  215. package/dist/components/InputGroup/index.d.cts +33 -0
  216. package/dist/components/InputGroup/index.d.ts +33 -0
  217. package/dist/components/InputGroup/index.js +7 -0
  218. package/dist/components/InputGroup/index.js.map +1 -0
  219. package/dist/components/Pagination/index.cjs +2501 -0
  220. package/dist/components/Pagination/index.cjs.map +1 -0
  221. package/dist/components/Pagination/index.d.cts +164 -0
  222. package/dist/components/Pagination/index.d.ts +164 -0
  223. package/dist/components/Pagination/index.js +12 -0
  224. package/dist/components/Pagination/index.js.map +1 -0
  225. package/dist/components/Popover/index.cjs +739 -0
  226. package/dist/components/Popover/index.cjs.map +1 -0
  227. package/dist/components/Popover/index.d.cts +44 -0
  228. package/dist/components/Popover/index.d.ts +44 -0
  229. package/dist/components/Popover/index.js +8 -0
  230. package/dist/components/Popover/index.js.map +1 -0
  231. package/dist/components/Progress/index.cjs +493 -0
  232. package/dist/components/Progress/index.cjs.map +1 -0
  233. package/dist/components/Progress/index.d.cts +63 -0
  234. package/dist/components/Progress/index.d.ts +63 -0
  235. package/dist/components/Progress/index.js +7 -0
  236. package/dist/components/Progress/index.js.map +1 -0
  237. package/dist/components/Radio/index.cjs +584 -0
  238. package/dist/components/Radio/index.cjs.map +1 -0
  239. package/dist/components/Radio/index.d.cts +51 -0
  240. package/dist/components/Radio/index.d.ts +51 -0
  241. package/dist/components/Radio/index.js +7 -0
  242. package/dist/components/Radio/index.js.map +1 -0
  243. package/dist/components/SegmentedControl/index.cjs +502 -0
  244. package/dist/components/SegmentedControl/index.cjs.map +1 -0
  245. package/dist/components/SegmentedControl/index.d.cts +45 -0
  246. package/dist/components/SegmentedControl/index.d.ts +45 -0
  247. package/dist/components/SegmentedControl/index.js +7 -0
  248. package/dist/components/SegmentedControl/index.js.map +1 -0
  249. package/dist/components/Select/index.cjs +1359 -0
  250. package/dist/components/Select/index.cjs.map +1 -0
  251. package/dist/components/Select/index.d.cts +140 -0
  252. package/dist/components/Select/index.d.ts +140 -0
  253. package/dist/components/Select/index.js +8 -0
  254. package/dist/components/Select/index.js.map +1 -0
  255. package/dist/components/Separator/index.cjs +358 -0
  256. package/dist/components/Separator/index.cjs.map +1 -0
  257. package/dist/components/Separator/index.d.cts +28 -0
  258. package/dist/components/Separator/index.d.ts +28 -0
  259. package/dist/components/Separator/index.js +6 -0
  260. package/dist/components/Separator/index.js.map +1 -0
  261. package/dist/components/Skeleton/index.cjs +384 -0
  262. package/dist/components/Skeleton/index.cjs.map +1 -0
  263. package/dist/components/Skeleton/index.d.cts +30 -0
  264. package/dist/components/Skeleton/index.d.ts +30 -0
  265. package/dist/components/Skeleton/index.js +6 -0
  266. package/dist/components/Skeleton/index.js.map +1 -0
  267. package/dist/components/Slider/index.cjs +880 -0
  268. package/dist/components/Slider/index.cjs.map +1 -0
  269. package/dist/components/Slider/index.d.cts +84 -0
  270. package/dist/components/Slider/index.d.ts +84 -0
  271. package/dist/components/Slider/index.js +6 -0
  272. package/dist/components/Slider/index.js.map +1 -0
  273. package/dist/components/Spinner/index.cjs +32 -0
  274. package/dist/components/Spinner/index.cjs.map +1 -0
  275. package/dist/components/Spinner/index.d.cts +25 -0
  276. package/dist/components/Spinner/index.d.ts +25 -0
  277. package/dist/components/Spinner/index.js +4 -0
  278. package/dist/components/Spinner/index.js.map +1 -0
  279. package/dist/components/Switch/index.cjs +623 -0
  280. package/dist/components/Switch/index.cjs.map +1 -0
  281. package/dist/components/Switch/index.d.cts +22 -0
  282. package/dist/components/Switch/index.d.ts +22 -0
  283. package/dist/components/Switch/index.js +10 -0
  284. package/dist/components/Switch/index.js.map +1 -0
  285. package/dist/components/Tabs/index.cjs +630 -0
  286. package/dist/components/Tabs/index.cjs.map +1 -0
  287. package/dist/components/Tabs/index.d.cts +63 -0
  288. package/dist/components/Tabs/index.d.ts +63 -0
  289. package/dist/components/Tabs/index.js +7 -0
  290. package/dist/components/Tabs/index.js.map +1 -0
  291. package/dist/components/Text/index.cjs +401 -0
  292. package/dist/components/Text/index.cjs.map +1 -0
  293. package/dist/components/Text/index.d.cts +24 -0
  294. package/dist/components/Text/index.d.ts +24 -0
  295. package/dist/components/Text/index.js +7 -0
  296. package/dist/components/Text/index.js.map +1 -0
  297. package/dist/components/TextArea/index.cjs +482 -0
  298. package/dist/components/TextArea/index.cjs.map +1 -0
  299. package/dist/components/TextArea/index.d.cts +25 -0
  300. package/dist/components/TextArea/index.d.ts +25 -0
  301. package/dist/components/TextArea/index.js +8 -0
  302. package/dist/components/TextArea/index.js.map +1 -0
  303. package/dist/components/TextInput/index.cjs +477 -0
  304. package/dist/components/TextInput/index.cjs.map +1 -0
  305. package/dist/components/TextInput/index.d.cts +33 -0
  306. package/dist/components/TextInput/index.d.ts +33 -0
  307. package/dist/components/TextInput/index.js +7 -0
  308. package/dist/components/TextInput/index.js.map +1 -0
  309. package/dist/components/Toast/index.cjs +167 -0
  310. package/dist/components/Toast/index.cjs.map +1 -0
  311. package/dist/components/Toast/index.d.cts +143 -0
  312. package/dist/components/Toast/index.d.ts +143 -0
  313. package/dist/components/Toast/index.js +4 -0
  314. package/dist/components/Toast/index.js.map +1 -0
  315. package/dist/components/Toggle/index.cjs +770 -0
  316. package/dist/components/Toggle/index.cjs.map +1 -0
  317. package/dist/components/Toggle/index.d.cts +83 -0
  318. package/dist/components/Toggle/index.d.ts +83 -0
  319. package/dist/components/Toggle/index.js +7 -0
  320. package/dist/components/Toggle/index.js.map +1 -0
  321. package/dist/components/Tooltip/index.cjs +813 -0
  322. package/dist/components/Tooltip/index.cjs.map +1 -0
  323. package/dist/components/Tooltip/index.d.cts +55 -0
  324. package/dist/components/Tooltip/index.d.ts +55 -0
  325. package/dist/components/Tooltip/index.js +8 -0
  326. package/dist/components/Tooltip/index.js.map +1 -0
  327. package/dist/components/VStack/index.cjs +480 -0
  328. package/dist/components/VStack/index.cjs.map +1 -0
  329. package/dist/components/VStack/index.d.cts +19 -0
  330. package/dist/components/VStack/index.d.ts +19 -0
  331. package/dist/components/VStack/index.js +9 -0
  332. package/dist/components/VStack/index.js.map +1 -0
  333. package/dist/i18n/index.cjs +39 -3
  334. package/dist/i18n/index.cjs.map +1 -1
  335. package/dist/i18n/index.d.cts +4 -60
  336. package/dist/i18n/index.d.ts +4 -60
  337. package/dist/i18n/index.js +3 -2
  338. package/dist/icons/index.cjs +326 -26
  339. package/dist/icons/index.cjs.map +1 -1
  340. package/dist/icons/index.js +4 -3
  341. package/dist/index-D3_M3G6U.d.ts +19 -0
  342. package/dist/index-uXPK_Rg8.d.cts +19 -0
  343. package/dist/index.cjs +11176 -463
  344. package/dist/index.cjs.map +1 -1
  345. package/dist/index.d.cts +39 -183
  346. package/dist/index.d.ts +39 -183
  347. package/dist/index.js +49 -9
  348. package/dist/resolve-D-GOaxZy.d.cts +60 -0
  349. package/dist/resolve-D-GOaxZy.d.ts +60 -0
  350. package/dist/slot/index.cjs +9 -3
  351. package/dist/slot/index.cjs.map +1 -1
  352. package/dist/slot/index.js +2 -2
  353. package/dist/stories/index.cjs +108 -0
  354. package/dist/stories/index.cjs.map +1 -0
  355. package/dist/stories/index.d.cts +46 -0
  356. package/dist/stories/index.d.ts +46 -0
  357. package/dist/stories/index.js +94 -0
  358. package/dist/stories/index.js.map +1 -0
  359. package/dist/theme/index.cjs +259 -26
  360. package/dist/theme/index.cjs.map +1 -1
  361. package/dist/theme/index.d.cts +26 -0
  362. package/dist/theme/index.d.ts +26 -0
  363. package/dist/theme/index.js +4 -3
  364. package/dist/use-theme-CoqfnvRs.d.cts +112 -0
  365. package/dist/use-theme-CoqfnvRs.d.ts +112 -0
  366. package/dist/utils/cn.cjs +18 -6
  367. package/dist/utils/cn.cjs.map +1 -1
  368. package/dist/utils/cn.js +2 -2
  369. package/package.json +41 -10
  370. package/dist/chunk-6OABNXBY.js +0 -213
  371. package/dist/chunk-6OABNXBY.js.map +0 -1
  372. package/dist/chunk-7QVYU63E.js +0 -6
  373. package/dist/chunk-FXKIWONG.js.map +0 -1
  374. package/dist/chunk-NDEDMCHT.js +0 -40
  375. package/dist/chunk-NDEDMCHT.js.map +0 -1
  376. package/dist/chunk-SSTXLK5I.js.map +0 -1
  377. package/dist/chunk-UAKFCMWK.js +0 -3
  378. package/dist/chunk-X3AJNNF6.js +0 -539
  379. package/dist/chunk-X3AJNNF6.js.map +0 -1
  380. package/dist/chunk-XGM2K4TT.js +0 -31
  381. package/dist/chunk-XGM2K4TT.js.map +0 -1
  382. package/dist/stories/story-registry.cjs +0 -776
  383. package/dist/stories/story-registry.cjs.map +0 -1
  384. package/dist/stories/story-registry.d.cts +0 -13
  385. package/dist/stories/story-registry.d.ts +0 -13
  386. package/dist/stories/story-registry.js +0 -106
  387. package/dist/stories/story-registry.js.map +0 -1
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var Animated = require('react-native-reanimated');
4
+
5
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
6
+
7
+ var Animated__default = /*#__PURE__*/_interopDefault(Animated);
8
+
9
+ var AnimatedView = Animated__default.default.View;
10
+
11
+ exports.AnimatedView = AnimatedView;
12
+ //# sourceMappingURL=animated-view.cjs.map
13
+ //# sourceMappingURL=animated-view.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/animation/animated-view.ts"],"names":["Animated"],"mappings":";;;;;;;;AAOO,IAAM,eAAeA,yBAAA,CAAS","file":"animated-view.cjs","sourcesContent":["'use client';\n\n// Native build: reanimated's `Animated.View` consumes the worklet\n// styles produced by `useAnimatedStyle`. A regular `View` would\n// render the shared values' default frame and never animate.\nimport Animated from 'react-native-reanimated';\n\nexport const AnimatedView = Animated.View;\n"]}
@@ -0,0 +1,6 @@
1
+ import * as react_native_reanimated_lib_typescript_createAnimatedComponent from 'react-native-reanimated/lib/typescript/createAnimatedComponent';
2
+ import * as react_native from 'react-native';
3
+
4
+ declare const AnimatedView: react_native_reanimated_lib_typescript_createAnimatedComponent.AnimatedComponentType<Readonly<react_native.ViewProps>, typeof react_native.View>;
5
+
6
+ export { AnimatedView };
@@ -0,0 +1,6 @@
1
+ import * as react_native_reanimated_lib_typescript_createAnimatedComponent from 'react-native-reanimated/lib/typescript/createAnimatedComponent';
2
+ import * as react_native from 'react-native';
3
+
4
+ declare const AnimatedView: react_native_reanimated_lib_typescript_createAnimatedComponent.AnimatedComponentType<Readonly<react_native.ViewProps>, typeof react_native.View>;
5
+
6
+ export { AnimatedView };
@@ -0,0 +1,4 @@
1
+ export { AnimatedView } from '../chunk-RGJ3NBKE.js';
2
+ import '../chunk-WCQVDF3K.js';
3
+ //# sourceMappingURL=animated-view.js.map
4
+ //# sourceMappingURL=animated-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"animated-view.js"}
@@ -0,0 +1,9 @@
1
+ 'use strict';
2
+
3
+ var reactNative = require('react-native');
4
+
5
+ var AnimatedView = reactNative.View;
6
+
7
+ exports.AnimatedView = AnimatedView;
8
+ //# sourceMappingURL=animated-view.web.cjs.map
9
+ //# sourceMappingURL=animated-view.web.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/animation/animated-view.web.ts"],"names":["View"],"mappings":";;;;AAQO,IAAM,YAAA,GAAeA","file":"animated-view.web.cjs","sourcesContent":["'use client';\n\n// Web build: a plain RN `View`. The web side of `useAnimatedNumber`\n// returns CSS transition styles directly on the style fragment, so\n// no animation-aware wrapper is needed — the browser handles easing.\n// Keeps reanimated out of the web bundle entirely.\nimport { View } from 'react-native';\n\nexport const AnimatedView = View;\n"]}
@@ -0,0 +1,5 @@
1
+ import { View } from 'react-native';
2
+
3
+ declare const AnimatedView: typeof View;
4
+
5
+ export { AnimatedView };
@@ -0,0 +1,5 @@
1
+ import { View } from 'react-native';
2
+
3
+ declare const AnimatedView: typeof View;
4
+
5
+ export { AnimatedView };
@@ -0,0 +1,8 @@
1
+ import '../chunk-WCQVDF3K.js';
2
+ import { View } from 'react-native';
3
+
4
+ var AnimatedView = View;
5
+
6
+ export { AnimatedView };
7
+ //# sourceMappingURL=animated-view.web.js.map
8
+ //# sourceMappingURL=animated-view.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/animation/animated-view.web.ts"],"names":[],"mappings":";;;AAQO,IAAM,YAAA,GAAe","file":"animated-view.web.js","sourcesContent":["'use client';\n\n// Web build: a plain RN `View`. The web side of `useAnimatedNumber`\n// returns CSS transition styles directly on the style fragment, so\n// no animation-aware wrapper is needed — the browser handles easing.\n// Keeps reanimated out of the web bundle entirely.\nimport { View } from 'react-native';\n\nexport const AnimatedView = View;\n"]}
@@ -0,0 +1,80 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var reactNative = require('react-native');
5
+ var reactNativeReanimated = require('react-native-reanimated');
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+ var IS_WEB = reactNative.Platform.OS === "web";
10
+ function useAnimatedNumber(property, target, options = {}) {
11
+ const { duration = 180 } = options;
12
+ if (IS_WEB) {
13
+ return webStyle(property, target, duration);
14
+ }
15
+ return useReanimatedTiming(property, target, duration);
16
+ }
17
+ __name(useAnimatedNumber, "useAnimatedNumber");
18
+ function webStyle(property, target, duration) {
19
+ if (property === "translateX" || property === "translateY") {
20
+ return {
21
+ transform: [{ [property]: target }],
22
+ transitionProperty: "transform",
23
+ transitionDuration: `${duration}ms`,
24
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)"
25
+ };
26
+ }
27
+ return {
28
+ [property]: target,
29
+ transitionProperty: property,
30
+ transitionDuration: `${duration}ms`,
31
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)"
32
+ };
33
+ }
34
+ __name(webStyle, "webStyle");
35
+ function useReanimatedTiming(property, target, duration) {
36
+ const easing = reactNativeReanimated.Easing.bezier(0.16, 1, 0.3, 1);
37
+ const shared = reactNativeReanimated.useSharedValue(target);
38
+ react.useEffect(() => {
39
+ shared.value = reactNativeReanimated.withTiming(target, { duration, easing });
40
+ }, [target, shared, duration, easing]);
41
+ const translateXStyle = reactNativeReanimated.useAnimatedStyle(() => ({
42
+ transform: [{ translateX: shared.value }]
43
+ }));
44
+ const translateYStyle = reactNativeReanimated.useAnimatedStyle(() => ({
45
+ transform: [{ translateY: shared.value }]
46
+ }));
47
+ const leftStyle = reactNativeReanimated.useAnimatedStyle(() => ({ left: shared.value }));
48
+ const topStyle = reactNativeReanimated.useAnimatedStyle(() => ({ top: shared.value }));
49
+ const rightStyle = reactNativeReanimated.useAnimatedStyle(() => ({ right: shared.value }));
50
+ const bottomStyle = reactNativeReanimated.useAnimatedStyle(() => ({ bottom: shared.value }));
51
+ const opacityStyle = reactNativeReanimated.useAnimatedStyle(() => ({ opacity: shared.value }));
52
+ const heightStyle = reactNativeReanimated.useAnimatedStyle(() => ({ height: shared.value }));
53
+ if (property === "translateX") {
54
+ return translateXStyle;
55
+ }
56
+ if (property === "translateY") {
57
+ return translateYStyle;
58
+ }
59
+ if (property === "left") {
60
+ return leftStyle;
61
+ }
62
+ if (property === "top") {
63
+ return topStyle;
64
+ }
65
+ if (property === "right") {
66
+ return rightStyle;
67
+ }
68
+ if (property === "bottom") {
69
+ return bottomStyle;
70
+ }
71
+ if (property === "opacity") {
72
+ return opacityStyle;
73
+ }
74
+ return heightStyle;
75
+ }
76
+ __name(useReanimatedTiming, "useReanimatedTiming");
77
+
78
+ exports.useAnimatedNumber = useAnimatedNumber;
79
+ //# sourceMappingURL=use-animated-number.cjs.map
80
+ //# sourceMappingURL=use-animated-number.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/animation/use-animated-number.ts"],"names":["Platform","Easing","useSharedValue","useEffect","withTiming","useAnimatedStyle"],"mappings":"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","file":"use-animated-number.cjs","sourcesContent":["'use client';\n\n// Native build (Metro picks this `.ts` over the `.web.ts` sibling\n// when present — for monorepo workspaces and any consumer that pre-\n// orders `.native.ts` / `.ts` / `.web.ts` resolution properly). Web\n// consumers (Next.js etc.) that don't honor the extension split\n// should alias `react-native-reanimated` to a noop in their bundler\n// config — the IS_WEB early-return below means we never call\n// reanimated APIs on web, so a stub satisfies the import.\n\nimport { useEffect } from 'react';\nimport { Platform } from 'react-native';\nimport { Easing, useAnimatedStyle, useSharedValue, withTiming } from 'react-native-reanimated';\n\nexport type AnimatedProperty = 'left' | 'top' | 'right' | 'bottom' | 'translateX' | 'translateY' | 'opacity' | 'height';\n\nexport type AnimatedNumberOptions = {\n /** Animation duration in ms. @defaultValue 180 */\n duration?: number;\n};\n\nconst IS_WEB = Platform.OS === 'web';\n\nexport function useAnimatedNumber(\n property: AnimatedProperty,\n target: number,\n options: AnimatedNumberOptions = {}\n): object {\n const { duration = 180 } = options;\n if (IS_WEB) {\n return webStyle(property, target, duration);\n }\n // biome-ignore lint/correctness/useHookAtTopLevel: IS_WEB is module-init constant; same path every render\n return useReanimatedTiming(property, target, duration);\n}\n\nfunction webStyle(property: AnimatedProperty, target: number, duration: number): object {\n if (property === 'translateX' || property === 'translateY') {\n return {\n transform: [{ [property]: target }],\n transitionProperty: 'transform',\n transitionDuration: `${duration}ms`,\n transitionTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n };\n }\n return {\n [property]: target,\n transitionProperty: property,\n transitionDuration: `${duration}ms`,\n transitionTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n };\n}\n\n// `opacity` and `height` aren't transforms or position props but follow\n// the exact same animated-shared-value pattern. Adding them here keeps\n// the cross-platform API consistent — Accordion content fades + slides\n// open with the same easing as a Switch thumb.\n\n// Reanimated worklets can't reliably serialize closures over computed\n// keys (`{ [property]: value }`). Static-key paths per property work\n// fine. Six tiny worklets — one per AnimatedProperty — give the plugin\n// the static AST it expects without losing the cross-platform API.\n// The bezier curve mirrors the web CSS transition exactly so a Switch\n// thumb feels identical on both platforms.\nfunction useReanimatedTiming(property: AnimatedProperty, target: number, duration: number): object {\n const easing = Easing.bezier(0.16, 1, 0.3, 1);\n // biome-ignore lint/correctness/useHookAtTopLevel: dispatcher branch is module-init constant; this function only runs when IS_WEB is false\n const shared = useSharedValue(target);\n // biome-ignore lint/correctness/useHookAtTopLevel: same\n useEffect(() => {\n shared.value = withTiming(target, { duration, easing });\n }, [target, shared, duration, easing]);\n // biome-ignore lint/correctness/useHookAtTopLevel: same\n const translateXStyle = useAnimatedStyle(() => ({\n transform: [{ translateX: shared.value }],\n }));\n // biome-ignore lint/correctness/useHookAtTopLevel: same\n const translateYStyle = useAnimatedStyle(() => ({\n transform: [{ translateY: shared.value }],\n }));\n // biome-ignore lint/correctness/useHookAtTopLevel: same\n const leftStyle = useAnimatedStyle(() => ({ left: shared.value }));\n // biome-ignore lint/correctness/useHookAtTopLevel: same\n const topStyle = useAnimatedStyle(() => ({ top: shared.value }));\n // biome-ignore lint/correctness/useHookAtTopLevel: same\n const rightStyle = useAnimatedStyle(() => ({ right: shared.value }));\n // biome-ignore lint/correctness/useHookAtTopLevel: same\n const bottomStyle = useAnimatedStyle(() => ({ bottom: shared.value }));\n // biome-ignore lint/correctness/useHookAtTopLevel: same\n const opacityStyle = useAnimatedStyle(() => ({ opacity: shared.value }));\n // biome-ignore lint/correctness/useHookAtTopLevel: same\n const heightStyle = useAnimatedStyle(() => ({ height: shared.value }));\n if (property === 'translateX') {\n return translateXStyle;\n }\n if (property === 'translateY') {\n return translateYStyle;\n }\n if (property === 'left') {\n return leftStyle;\n }\n if (property === 'top') {\n return topStyle;\n }\n if (property === 'right') {\n return rightStyle;\n }\n if (property === 'bottom') {\n return bottomStyle;\n }\n if (property === 'opacity') {\n return opacityStyle;\n }\n return heightStyle;\n}\n"]}
@@ -0,0 +1,8 @@
1
+ type AnimatedProperty = 'left' | 'top' | 'right' | 'bottom' | 'translateX' | 'translateY' | 'opacity' | 'height';
2
+ type AnimatedNumberOptions = {
3
+ /** Animation duration in ms. @defaultValue 180 */
4
+ duration?: number;
5
+ };
6
+ declare function useAnimatedNumber(property: AnimatedProperty, target: number, options?: AnimatedNumberOptions): object;
7
+
8
+ export { type AnimatedNumberOptions, type AnimatedProperty, useAnimatedNumber };
@@ -0,0 +1,8 @@
1
+ type AnimatedProperty = 'left' | 'top' | 'right' | 'bottom' | 'translateX' | 'translateY' | 'opacity' | 'height';
2
+ type AnimatedNumberOptions = {
3
+ /** Animation duration in ms. @defaultValue 180 */
4
+ duration?: number;
5
+ };
6
+ declare function useAnimatedNumber(property: AnimatedProperty, target: number, options?: AnimatedNumberOptions): object;
7
+
8
+ export { type AnimatedNumberOptions, type AnimatedProperty, useAnimatedNumber };
@@ -0,0 +1,4 @@
1
+ export { useAnimatedNumber } from '../chunk-RB3YBWQ4.js';
2
+ import '../chunk-WCQVDF3K.js';
3
+ //# sourceMappingURL=use-animated-number.js.map
4
+ //# sourceMappingURL=use-animated-number.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"use-animated-number.js"}
@@ -0,0 +1,28 @@
1
+ 'use strict';
2
+
3
+ var __defProp = Object.defineProperty;
4
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
5
+
6
+ // src/animation/use-animated-number.web.ts
7
+ function useAnimatedNumber(property, target, options = {}) {
8
+ const { duration = 180 } = options;
9
+ if (property === "translateX" || property === "translateY") {
10
+ return {
11
+ transform: [{ [property]: target }],
12
+ transitionProperty: "transform",
13
+ transitionDuration: `${duration}ms`,
14
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)"
15
+ };
16
+ }
17
+ return {
18
+ [property]: target,
19
+ transitionProperty: property,
20
+ transitionDuration: `${duration}ms`,
21
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)"
22
+ };
23
+ }
24
+ __name(useAnimatedNumber, "useAnimatedNumber");
25
+
26
+ exports.useAnimatedNumber = useAnimatedNumber;
27
+ //# sourceMappingURL=use-animated-number.web.cjs.map
28
+ //# sourceMappingURL=use-animated-number.web.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/animation/use-animated-number.web.ts"],"names":[],"mappings":";;;;;;AAwBO,SAAS,iBAAA,CACZ,QAAA,EACA,MAAA,EACA,OAAA,GAAiC,EAAC,EAC5B;AACN,EAAA,MAAM,EAAE,QAAA,GAAW,GAAA,EAAI,GAAI,OAAA;AAC3B,EAAA,IAAI,QAAA,KAAa,YAAA,IAAgB,QAAA,KAAa,YAAA,EAAc;AACxD,IAAA,OAAO;AAAA,MACH,WAAW,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAAA,MAClC,kBAAA,EAAoB,WAAA;AAAA,MACpB,kBAAA,EAAoB,GAAG,QAAQ,CAAA,EAAA,CAAA;AAAA,MAC/B,wBAAA,EAA0B;AAAA,KAC9B;AAAA,EACJ;AACA,EAAA,OAAO;AAAA,IACH,CAAC,QAAQ,GAAG,MAAA;AAAA,IACZ,kBAAA,EAAoB,QAAA;AAAA,IACpB,kBAAA,EAAoB,GAAG,QAAQ,CAAA,EAAA,CAAA;AAAA,IAC/B,wBAAA,EAA0B;AAAA,GAC9B;AACJ;AApBgB,MAAA,CAAA,iBAAA,EAAA,mBAAA,CAAA","file":"use-animated-number.web.cjs","sourcesContent":["'use client';\n\n// Web-only build of `useAnimatedNumber`. Webpack / Next.js / Vite\n// pick this file (over the default `.ts`) because of the `.web.ts`\n// extension — the same convention `react-native-web` uses.\n//\n// Crucially, this file does NOT import `react-native-reanimated`.\n// Reanimated 4 pulls in RN-internal native paths at module load time\n// (e.g. `react-native/Libraries/Renderer/shims/ReactFabric`) that web\n// bundlers can't resolve. Keeping reanimated out of the web bundle\n// avoids that whole class of resolution failure and shaves a few\n// hundred KB off the docs-site JS.\n//\n// Web animation is pure CSS transition — same easing curve and\n// duration the native side targets via `Easing.bezier(0.16, 1, 0.3, 1)`\n// + `withTiming(180)` so primitives feel identical across platforms.\n\nexport type AnimatedProperty = 'left' | 'top' | 'right' | 'bottom' | 'translateX' | 'translateY' | 'opacity' | 'height';\n\nexport type AnimatedNumberOptions = {\n /** Animation duration in ms. @defaultValue 180 */\n duration?: number;\n};\n\nexport function useAnimatedNumber(\n property: AnimatedProperty,\n target: number,\n options: AnimatedNumberOptions = {}\n): object {\n const { duration = 180 } = options;\n if (property === 'translateX' || property === 'translateY') {\n return {\n transform: [{ [property]: target }],\n transitionProperty: 'transform',\n transitionDuration: `${duration}ms`,\n transitionTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n };\n }\n return {\n [property]: target,\n transitionProperty: property,\n transitionDuration: `${duration}ms`,\n transitionTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n };\n}\n"]}
@@ -0,0 +1,8 @@
1
+ type AnimatedProperty = 'left' | 'top' | 'right' | 'bottom' | 'translateX' | 'translateY' | 'opacity' | 'height';
2
+ type AnimatedNumberOptions = {
3
+ /** Animation duration in ms. @defaultValue 180 */
4
+ duration?: number;
5
+ };
6
+ declare function useAnimatedNumber(property: AnimatedProperty, target: number, options?: AnimatedNumberOptions): object;
7
+
8
+ export { type AnimatedNumberOptions, type AnimatedProperty, useAnimatedNumber };
@@ -0,0 +1,8 @@
1
+ type AnimatedProperty = 'left' | 'top' | 'right' | 'bottom' | 'translateX' | 'translateY' | 'opacity' | 'height';
2
+ type AnimatedNumberOptions = {
3
+ /** Animation duration in ms. @defaultValue 180 */
4
+ duration?: number;
5
+ };
6
+ declare function useAnimatedNumber(property: AnimatedProperty, target: number, options?: AnimatedNumberOptions): object;
7
+
8
+ export { type AnimatedNumberOptions, type AnimatedProperty, useAnimatedNumber };
@@ -0,0 +1,25 @@
1
+ import { __name } from '../chunk-WCQVDF3K.js';
2
+
3
+ // src/animation/use-animated-number.web.ts
4
+ function useAnimatedNumber(property, target, options = {}) {
5
+ const { duration = 180 } = options;
6
+ if (property === "translateX" || property === "translateY") {
7
+ return {
8
+ transform: [{ [property]: target }],
9
+ transitionProperty: "transform",
10
+ transitionDuration: `${duration}ms`,
11
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)"
12
+ };
13
+ }
14
+ return {
15
+ [property]: target,
16
+ transitionProperty: property,
17
+ transitionDuration: `${duration}ms`,
18
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)"
19
+ };
20
+ }
21
+ __name(useAnimatedNumber, "useAnimatedNumber");
22
+
23
+ export { useAnimatedNumber };
24
+ //# sourceMappingURL=use-animated-number.web.js.map
25
+ //# sourceMappingURL=use-animated-number.web.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/animation/use-animated-number.web.ts"],"names":[],"mappings":";;;AAwBO,SAAS,iBAAA,CACZ,QAAA,EACA,MAAA,EACA,OAAA,GAAiC,EAAC,EAC5B;AACN,EAAA,MAAM,EAAE,QAAA,GAAW,GAAA,EAAI,GAAI,OAAA;AAC3B,EAAA,IAAI,QAAA,KAAa,YAAA,IAAgB,QAAA,KAAa,YAAA,EAAc;AACxD,IAAA,OAAO;AAAA,MACH,WAAW,CAAC,EAAE,CAAC,QAAQ,GAAG,QAAQ,CAAA;AAAA,MAClC,kBAAA,EAAoB,WAAA;AAAA,MACpB,kBAAA,EAAoB,GAAG,QAAQ,CAAA,EAAA,CAAA;AAAA,MAC/B,wBAAA,EAA0B;AAAA,KAC9B;AAAA,EACJ;AACA,EAAA,OAAO;AAAA,IACH,CAAC,QAAQ,GAAG,MAAA;AAAA,IACZ,kBAAA,EAAoB,QAAA;AAAA,IACpB,kBAAA,EAAoB,GAAG,QAAQ,CAAA,EAAA,CAAA;AAAA,IAC/B,wBAAA,EAA0B;AAAA,GAC9B;AACJ;AApBgB,MAAA,CAAA,iBAAA,EAAA,mBAAA,CAAA","file":"use-animated-number.web.js","sourcesContent":["'use client';\n\n// Web-only build of `useAnimatedNumber`. Webpack / Next.js / Vite\n// pick this file (over the default `.ts`) because of the `.web.ts`\n// extension — the same convention `react-native-web` uses.\n//\n// Crucially, this file does NOT import `react-native-reanimated`.\n// Reanimated 4 pulls in RN-internal native paths at module load time\n// (e.g. `react-native/Libraries/Renderer/shims/ReactFabric`) that web\n// bundlers can't resolve. Keeping reanimated out of the web bundle\n// avoids that whole class of resolution failure and shaves a few\n// hundred KB off the docs-site JS.\n//\n// Web animation is pure CSS transition — same easing curve and\n// duration the native side targets via `Easing.bezier(0.16, 1, 0.3, 1)`\n// + `withTiming(180)` so primitives feel identical across platforms.\n\nexport type AnimatedProperty = 'left' | 'top' | 'right' | 'bottom' | 'translateX' | 'translateY' | 'opacity' | 'height';\n\nexport type AnimatedNumberOptions = {\n /** Animation duration in ms. @defaultValue 180 */\n duration?: number;\n};\n\nexport function useAnimatedNumber(\n property: AnimatedProperty,\n target: number,\n options: AnimatedNumberOptions = {}\n): object {\n const { duration = 180 } = options;\n if (property === 'translateX' || property === 'translateY') {\n return {\n transform: [{ [property]: target }],\n transitionProperty: 'transform',\n transitionDuration: `${duration}ms`,\n transitionTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n };\n }\n return {\n [property]: target,\n transitionProperty: property,\n transitionDuration: `${duration}ms`,\n transitionTimingFunction: 'cubic-bezier(0.16, 1, 0.3, 1)',\n };\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { __name } from './chunk-7QVYU63E.js';
1
+ import { __name } from './chunk-WCQVDF3K.js';
2
2
  import { jsx } from 'nativewind/jsx-runtime';
3
3
 
4
4
  var SIZE_MAP = {
@@ -15,5 +15,5 @@ function Icon({ as: IconComponent, size = "md", color }) {
15
15
  __name(Icon, "Icon");
16
16
 
17
17
  export { Icon };
18
- //# sourceMappingURL=chunk-RX7UULY3.js.map
19
- //# sourceMappingURL=chunk-RX7UULY3.js.map
18
+ //# sourceMappingURL=chunk-33S7ADWM.js.map
19
+ //# sourceMappingURL=chunk-33S7ADWM.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/icons/icon.tsx"],"names":[],"mappings":";;;AAeA,IAAM,QAAA,GAAsD;AAAA,EACxD,EAAA,EAAI,EAAA;AAAA,EACJ,EAAA,EAAI,EAAA;AAAA,EACJ,EAAA,EAAI,EAAA;AAAA,EACJ,EAAA,EAAI;AACR,CAAA;AASO,SAAS,KAAK,EAAE,EAAA,EAAI,eAAe,IAAA,GAAO,IAAA,EAAM,OAAM,EAAc;AACvE,EAAA,MAAM,cAAc,OAAO,IAAA,KAAS,QAAA,GAAW,IAAA,GAAO,SAAS,IAAI,CAAA;AAGnE,EAAA,MAAM,aAAa,KAAA,KAAU,MAAA,GAAY,EAAC,GAAI,EAAE,KAAA,EAAM;AACtD,EAAA,uBAAO,GAAA,CAAC,aAAA,EAAA,EAAc,IAAA,EAAM,WAAA,EAAc,GAAG,UAAA,EAAY,CAAA;AAC7D;AANgB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA","file":"chunk-RX7UULY3.js","sourcesContent":["import type { ComponentType } from 'react';\n\nexport type IconSize = 'sm' | 'md' | 'lg' | 'xl' | number;\n\nexport type IconComponentProps = {\n size?: number;\n color?: string;\n};\n\nexport type IconProps = {\n as: ComponentType<IconComponentProps>;\n size?: IconSize;\n color?: string;\n};\n\nconst SIZE_MAP: Record<Exclude<IconSize, number>, number> = {\n sm: 16,\n md: 20,\n lg: 24,\n xl: 32,\n};\n\n/**\n * Thin wrapper around an icon component. Consumer imports the icon they want\n * from any library (e.g. lucide-react-native) and passes it as `as`. No registry,\n * no runtime lookup — tree-shaking is automatic.\n *\n * RSC-safe: pure render, no hooks, no refs.\n */\nexport function Icon({ as: IconComponent, size = 'md', color }: IconProps) {\n const numericSize = typeof size === 'number' ? size : SIZE_MAP[size];\n // Only spread color when defined — avoids passing `color: undefined` under\n // exactOptionalPropertyTypes.\n const colorProps = color === undefined ? {} : { color };\n return <IconComponent size={numericSize} {...colorProps} />;\n}\n"]}
1
+ {"version":3,"sources":["../src/icons/icon.tsx"],"names":[],"mappings":";;;AAeA,IAAM,QAAA,GAAsD;AAAA,EACxD,EAAA,EAAI,EAAA;AAAA,EACJ,EAAA,EAAI,EAAA;AAAA,EACJ,EAAA,EAAI,EAAA;AAAA,EACJ,EAAA,EAAI;AACR,CAAA;AASO,SAAS,KAAK,EAAE,EAAA,EAAI,eAAe,IAAA,GAAO,IAAA,EAAM,OAAM,EAAc;AACvE,EAAA,MAAM,cAAc,OAAO,IAAA,KAAS,QAAA,GAAW,IAAA,GAAO,SAAS,IAAI,CAAA;AAGnE,EAAA,MAAM,aAAa,KAAA,KAAU,MAAA,GAAY,EAAC,GAAI,EAAE,KAAA,EAAM;AACtD,EAAA,uBAAO,GAAA,CAAC,aAAA,EAAA,EAAc,IAAA,EAAM,WAAA,EAAc,GAAG,UAAA,EAAY,CAAA;AAC7D;AANgB,MAAA,CAAA,IAAA,EAAA,MAAA,CAAA","file":"chunk-33S7ADWM.js","sourcesContent":["import type { ComponentType } from 'react';\n\nexport type IconSize = 'sm' | 'md' | 'lg' | 'xl' | number;\n\nexport type IconComponentProps = {\n size?: number;\n color?: string;\n};\n\nexport type IconProps = {\n as: ComponentType<IconComponentProps>;\n size?: IconSize;\n color?: string;\n};\n\nconst SIZE_MAP: Record<Exclude<IconSize, number>, number> = {\n sm: 16,\n md: 20,\n lg: 24,\n xl: 32,\n};\n\n/**\n * Thin wrapper around an icon component. Consumer imports the icon they want\n * from any library (e.g. lucide-react-native) and passes it as `as`. No registry,\n * no runtime lookup — tree-shaking is automatic.\n *\n * RSC-safe: pure render, no hooks, no refs.\n */\nexport function Icon({ as: IconComponent, size = 'md', color }: IconProps) {\n const numericSize = typeof size === 'number' ? size : SIZE_MAP[size];\n // Only spread color when defined — avoids passing `color: undefined` under\n // exactOptionalPropertyTypes.\n const colorProps = color === undefined ? {} : { color };\n return <IconComponent size={numericSize} {...colorProps} />;\n}\n"]}
@@ -0,0 +1,108 @@
1
+ import { px } from './chunk-5A2QOOVN.js';
2
+ import { cn } from './chunk-CHXHRJNZ.js';
3
+ import { useThemeColors, useColorScheme } from './chunk-R5JMDDCB.js';
4
+ import { __name } from './chunk-WCQVDF3K.js';
5
+ import { View, Text } from 'react-native';
6
+ import { jsx } from 'nativewind/jsx-runtime';
7
+
8
+ var BASE_CONTAINER_LAYOUT = {
9
+ alignSelf: "flex-start",
10
+ flexDirection: "row",
11
+ alignItems: "center",
12
+ paddingVertical: 2,
13
+ // component-density literal — not from theme (no 2px spacing token)
14
+ borderWidth: 1,
15
+ borderColor: "transparent"
16
+ };
17
+ var Badge = /* @__PURE__ */ __name(({ tone = "neutral", appearance = "soft", children, className, testID }) => {
18
+ const colors = useThemeColors();
19
+ const isDark = useColorScheme() === "dark";
20
+ const invertedText = colors.semantic.text.inverted;
21
+ let palette;
22
+ if (tone === "neutral") {
23
+ palette = {
24
+ soft: isDark ? { bg: colors.color.neutral["800"], fg: colors.color.neutral["100"] } : { bg: colors.color.neutral["100"], fg: colors.color.neutral["700"] },
25
+ solid: {
26
+ bg: isDark ? colors.color.neutral["200"] : colors.color.neutral["700"],
27
+ fg: isDark ? colors.color.neutral["900"] : invertedText
28
+ },
29
+ outline: {
30
+ border: isDark ? colors.color.neutral["600"] : colors.color.neutral["300"],
31
+ fg: isDark ? colors.color.neutral["100"] : colors.color.neutral["700"]
32
+ }
33
+ };
34
+ } else if (tone === "primary") {
35
+ palette = {
36
+ soft: isDark ? { bg: colors.color.primary["900"], fg: colors.color.primary["200"] } : { bg: colors.color.primary["100"], fg: colors.color.primary["800"] },
37
+ solid: {
38
+ bg: isDark ? colors.color.primary["400"] : colors.color.primary["600"],
39
+ fg: isDark ? colors.color.primary["900"] : invertedText
40
+ },
41
+ outline: {
42
+ border: isDark ? colors.color.primary["400"] : colors.color.primary["300"],
43
+ fg: isDark ? colors.color.primary["200"] : colors.color.primary["700"]
44
+ }
45
+ };
46
+ } else if (tone === "success") {
47
+ palette = {
48
+ soft: isDark ? { bg: "#14532d", fg: "#bbf7d0" } : { bg: "#dcfce7", fg: "#166534" },
49
+ solid: { bg: colors.color.success, fg: invertedText },
50
+ outline: { border: colors.color.success, fg: isDark ? "#bbf7d0" : "#166534" }
51
+ };
52
+ } else if (tone === "warning") {
53
+ palette = {
54
+ soft: isDark ? { bg: "#78350f", fg: "#fde68a" } : { bg: "#fef3c7", fg: "#92400e" },
55
+ solid: { bg: colors.color.warning, fg: invertedText },
56
+ outline: { border: colors.color.warning, fg: isDark ? "#fde68a" : "#92400e" }
57
+ };
58
+ } else {
59
+ palette = {
60
+ soft: isDark ? { bg: "#7f1d1d", fg: "#fecaca" } : { bg: "#fee2e2", fg: "#991b1b" },
61
+ solid: { bg: colors.color.danger, fg: invertedText },
62
+ outline: { border: colors.color.danger, fg: isDark ? "#fecaca" : "#991b1b" }
63
+ };
64
+ }
65
+ const baseContainer = {
66
+ ...BASE_CONTAINER_LAYOUT,
67
+ gap: px(colors.spacing["1"]),
68
+ paddingHorizontal: px(colors.spacing["2"]),
69
+ borderRadius: px(colors.radius.full)
70
+ };
71
+ const containerStyle = (() => {
72
+ if (appearance === "solid") {
73
+ return { ...baseContainer, backgroundColor: palette.solid.bg };
74
+ }
75
+ if (appearance === "outline") {
76
+ return { ...baseContainer, backgroundColor: "transparent", borderColor: palette.outline.border };
77
+ }
78
+ return { ...baseContainer, backgroundColor: palette.soft.bg };
79
+ })();
80
+ const textColor = (() => {
81
+ if (appearance === "solid") {
82
+ return palette.solid.fg;
83
+ }
84
+ if (appearance === "outline") {
85
+ return palette.outline.fg;
86
+ }
87
+ return palette.soft.fg;
88
+ })();
89
+ const baseText = {
90
+ fontFamily: colors.fontFamily.body,
91
+ fontSize: px(colors.fontSize.xs),
92
+ fontWeight: colors.fontWeight.medium,
93
+ lineHeight: px(colors.fontSize.xs) * Number(colors.lineHeight.normal)
94
+ };
95
+ return /* @__PURE__ */ jsx(
96
+ View,
97
+ {
98
+ ...testID !== void 0 ? { testID } : {},
99
+ className: cn("inline-flex flex-row items-center gap-1 rounded-full px-2 py-0.5 border", className),
100
+ style: containerStyle,
101
+ children: /* @__PURE__ */ jsx(Text, { style: { ...baseText, color: textColor }, children })
102
+ }
103
+ );
104
+ }, "Badge");
105
+
106
+ export { Badge };
107
+ //# sourceMappingURL=chunk-3BDDPFCI.js.map
108
+ //# sourceMappingURL=chunk-3BDDPFCI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Badge/Badge.tsx"],"names":["RNText"],"mappings":"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","file":"chunk-3BDDPFCI.js","sourcesContent":["'use client';\n\nimport type { ReactNode } from 'react';\nimport type { TextStyle, ViewStyle } from 'react-native';\nimport { Text as RNText, View } from 'react-native';\nimport { px } from '../../theme/px';\nimport { useColorScheme } from '../../theme/use-color-scheme';\nimport { useThemeColors } from '../../theme/use-theme-colors';\nimport { cn } from '../../utils/cn';\n\nexport type BadgeTone = 'neutral' | 'primary' | 'success' | 'warning' | 'danger';\nexport type BadgeAppearance = 'solid' | 'outline' | 'soft';\n\nexport type BadgeProps = {\n /**\n * Semantic color of the badge.\n * @defaultValue 'neutral'\n */\n tone?: BadgeTone;\n /**\n * Visual treatment.\n * - `soft` (default) — tinted background with darker tone-colored text. Modern, calm.\n * - `solid` — filled tone background, white text. Loud, used sparingly.\n * - `outline` — border in tone, transparent background, tone-colored text.\n * @defaultValue 'soft'\n */\n appearance?: BadgeAppearance;\n children?: ReactNode;\n className?: string;\n testID?: string;\n};\n\n// Layout-only base; theme-driven dimensions are merged inside the\n// component so a custom theme reshapes the badge.\nconst BASE_CONTAINER_LAYOUT: ViewStyle = {\n alignSelf: 'flex-start',\n flexDirection: 'row',\n alignItems: 'center',\n paddingVertical: 2, // component-density literal — not from theme (no 2px spacing token)\n borderWidth: 1,\n borderColor: 'transparent',\n};\n\n/**\n * Compact pill for status, counts, or labels. Use sparingly — every badge\n * draws the eye, so a row of five is no longer a row of badges.\n *\n * Tone palettes flip with the active color scheme — light mode uses the\n * familiar pastel scale (Tailwind 50/200/800), dark mode uses the deep\n * 950/700/100 scale so a soft success badge reads as a calm tinted chip\n * on either surface, never as a glaring pastel on a dark page.\n */\nexport const Badge = ({ tone = 'neutral', appearance = 'soft', children, className, testID }: BadgeProps) => {\n const colors = useThemeColors();\n const isDark = useColorScheme() === 'dark';\n const invertedText = colors.semantic.text.inverted;\n\n let palette: {\n soft: { bg: string; fg: string };\n solid: { bg: string; fg: string };\n outline: { border: string; fg: string };\n };\n if (tone === 'neutral') {\n palette = {\n soft: isDark\n ? { bg: colors.color.neutral['800'], fg: colors.color.neutral['100'] }\n : { bg: colors.color.neutral['100'], fg: colors.color.neutral['700'] },\n solid: {\n bg: isDark ? colors.color.neutral['200'] : colors.color.neutral['700'],\n fg: isDark ? colors.color.neutral['900'] : invertedText,\n },\n outline: {\n border: isDark ? colors.color.neutral['600'] : colors.color.neutral['300'],\n fg: isDark ? colors.color.neutral['100'] : colors.color.neutral['700'],\n },\n };\n } else if (tone === 'primary') {\n palette = {\n soft: isDark\n ? { bg: colors.color.primary['900'], fg: colors.color.primary['200'] }\n : { bg: colors.color.primary['100'], fg: colors.color.primary['800'] },\n solid: {\n bg: isDark ? colors.color.primary['400'] : colors.color.primary['600'],\n fg: isDark ? colors.color.primary['900'] : invertedText,\n },\n outline: {\n border: isDark ? colors.color.primary['400'] : colors.color.primary['300'],\n fg: isDark ? colors.color.primary['200'] : colors.color.primary['700'],\n },\n };\n } else if (tone === 'success') {\n palette = {\n soft: isDark ? { bg: '#14532d', fg: '#bbf7d0' } : { bg: '#dcfce7', fg: '#166534' },\n solid: { bg: colors.color.success, fg: invertedText },\n outline: { border: colors.color.success, fg: isDark ? '#bbf7d0' : '#166534' },\n };\n } else if (tone === 'warning') {\n palette = {\n soft: isDark ? { bg: '#78350f', fg: '#fde68a' } : { bg: '#fef3c7', fg: '#92400e' },\n solid: { bg: colors.color.warning, fg: invertedText },\n outline: { border: colors.color.warning, fg: isDark ? '#fde68a' : '#92400e' },\n };\n } else {\n palette = {\n soft: isDark ? { bg: '#7f1d1d', fg: '#fecaca' } : { bg: '#fee2e2', fg: '#991b1b' },\n solid: { bg: colors.color.danger, fg: invertedText },\n outline: { border: colors.color.danger, fg: isDark ? '#fecaca' : '#991b1b' },\n };\n }\n\n const baseContainer: ViewStyle = {\n ...BASE_CONTAINER_LAYOUT,\n gap: px(colors.spacing['1']),\n paddingHorizontal: px(colors.spacing['2']),\n borderRadius: px(colors.radius.full),\n };\n const containerStyle: ViewStyle = (() => {\n if (appearance === 'solid') {\n return { ...baseContainer, backgroundColor: palette.solid.bg };\n }\n if (appearance === 'outline') {\n return { ...baseContainer, backgroundColor: 'transparent', borderColor: palette.outline.border };\n }\n return { ...baseContainer, backgroundColor: palette.soft.bg };\n })();\n const textColor = (() => {\n if (appearance === 'solid') {\n return palette.solid.fg;\n }\n if (appearance === 'outline') {\n return palette.outline.fg;\n }\n return palette.soft.fg;\n })();\n const baseText: TextStyle = {\n fontFamily: colors.fontFamily.body,\n fontSize: px(colors.fontSize.xs),\n fontWeight: colors.fontWeight.medium as '500',\n lineHeight: px(colors.fontSize.xs) * Number(colors.lineHeight.normal),\n };\n return (\n <View\n {...(testID !== undefined ? { testID } : {})}\n className={cn('inline-flex flex-row items-center gap-1 rounded-full px-2 py-0.5 border', className)}\n style={containerStyle}\n >\n <RNText style={{ ...baseText, color: textColor }}>{children}</RNText>\n </View>\n );\n};\n"]}