@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,900 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var reactNative = require('react-native');
5
+ var Animated = require('react-native-reanimated');
6
+ var jsxRuntime = require('nativewind/jsx-runtime');
7
+
8
+ function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
9
+
10
+ var Animated__default = /*#__PURE__*/_interopDefault(Animated);
11
+
12
+ var __defProp = Object.defineProperty;
13
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
+ var AnimatedView = Animated__default.default.View;
15
+ var IS_WEB = reactNative.Platform.OS === "web";
16
+ function useAnimatedNumber(property, target, options = {}) {
17
+ const { duration = 180 } = options;
18
+ if (IS_WEB) {
19
+ return webStyle(property, target, duration);
20
+ }
21
+ return useReanimatedTiming(property, target, duration);
22
+ }
23
+ __name(useAnimatedNumber, "useAnimatedNumber");
24
+ function webStyle(property, target, duration) {
25
+ if (property === "translateX" || property === "translateY") {
26
+ return {
27
+ transform: [{ [property]: target }],
28
+ transitionProperty: "transform",
29
+ transitionDuration: `${duration}ms`,
30
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)"
31
+ };
32
+ }
33
+ return {
34
+ [property]: target,
35
+ transitionProperty: property,
36
+ transitionDuration: `${duration}ms`,
37
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)"
38
+ };
39
+ }
40
+ __name(webStyle, "webStyle");
41
+ function useReanimatedTiming(property, target, duration) {
42
+ const easing = Animated.Easing.bezier(0.16, 1, 0.3, 1);
43
+ const shared = Animated.useSharedValue(target);
44
+ react.useEffect(() => {
45
+ shared.value = Animated.withTiming(target, { duration, easing });
46
+ }, [target, shared, duration, easing]);
47
+ const translateXStyle = Animated.useAnimatedStyle(() => ({
48
+ transform: [{ translateX: shared.value }]
49
+ }));
50
+ const translateYStyle = Animated.useAnimatedStyle(() => ({
51
+ transform: [{ translateY: shared.value }]
52
+ }));
53
+ const leftStyle = Animated.useAnimatedStyle(() => ({ left: shared.value }));
54
+ const topStyle = Animated.useAnimatedStyle(() => ({ top: shared.value }));
55
+ const rightStyle = Animated.useAnimatedStyle(() => ({ right: shared.value }));
56
+ const bottomStyle = Animated.useAnimatedStyle(() => ({ bottom: shared.value }));
57
+ const opacityStyle = Animated.useAnimatedStyle(() => ({ opacity: shared.value }));
58
+ const heightStyle = Animated.useAnimatedStyle(() => ({ height: shared.value }));
59
+ if (property === "translateX") {
60
+ return translateXStyle;
61
+ }
62
+ if (property === "translateY") {
63
+ return translateYStyle;
64
+ }
65
+ if (property === "left") {
66
+ return leftStyle;
67
+ }
68
+ if (property === "top") {
69
+ return topStyle;
70
+ }
71
+ if (property === "right") {
72
+ return rightStyle;
73
+ }
74
+ if (property === "bottom") {
75
+ return bottomStyle;
76
+ }
77
+ if (property === "opacity") {
78
+ return opacityStyle;
79
+ }
80
+ return heightStyle;
81
+ }
82
+ __name(useReanimatedTiming, "useReanimatedTiming");
83
+
84
+ // ../tokens/build/theme.ts
85
+ var theme = {
86
+ color: {
87
+ danger: "#ef4444",
88
+ info: "#3b82f6",
89
+ neutral: {
90
+ "100": "#f4f4f5",
91
+ "200": "#e4e4e7",
92
+ "300": "#d4d4d8",
93
+ "400": "#a1a1aa",
94
+ "50": "#fafafa",
95
+ "500": "#71717a",
96
+ "600": "#52525b",
97
+ "700": "#3f3f46",
98
+ "800": "#27272a",
99
+ "900": "#18181b"
100
+ },
101
+ primary: {
102
+ "100": "#ccfbf1",
103
+ "200": "#99f6e4",
104
+ "300": "#5eead4",
105
+ "400": "#2dd4bf",
106
+ "50": "#f0fdfa",
107
+ "500": "#14b8a6",
108
+ "600": "#0d9488",
109
+ "700": "#0f766e",
110
+ "800": "#115e59",
111
+ "900": "#134e4a"
112
+ },
113
+ success: "#22c55e",
114
+ warning: "#f59e0b"
115
+ },
116
+ fontFamily: {
117
+ body: "system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
118
+ display: "ui-serif, Georgia, 'Times New Roman', serif",
119
+ mono: "ui-monospace, 'SF Mono', Menlo, Consolas, 'DejaVu Sans Mono', monospace"
120
+ },
121
+ fontSize: {
122
+ "2xl": "24px",
123
+ "3xl": "30px",
124
+ "4xl": "36px",
125
+ lg: "18px",
126
+ md: "16px",
127
+ sm: "14px",
128
+ xl: "20px",
129
+ xs: "12px"
130
+ },
131
+ fontWeight: {
132
+ bold: "700",
133
+ medium: "500",
134
+ regular: "400",
135
+ semibold: "600"
136
+ },
137
+ lineHeight: {
138
+ normal: "1.4",
139
+ relaxed: "1.6",
140
+ tight: "1.2"
141
+ },
142
+ radius: {
143
+ "2xl": "16px",
144
+ full: "9999px",
145
+ lg: "8px",
146
+ md: "6px",
147
+ none: "0px",
148
+ sm: "4px",
149
+ xl: "12px"
150
+ },
151
+ semantic: {
152
+ background: {
153
+ default: "#fafafa",
154
+ elevated: "#ffffff",
155
+ subtle: "#f4f4f5"
156
+ },
157
+ border: {
158
+ default: "#e4e4e7",
159
+ strong: "#d4d4d8"
160
+ },
161
+ interactive: {
162
+ destructive: "#ef4444",
163
+ primary: "#0d9488",
164
+ primaryHover: "#0f766e",
165
+ primaryPressed: "#115e59"
166
+ },
167
+ text: {
168
+ default: "#18181b",
169
+ inverted: "#fafafa",
170
+ muted: "#52525b"
171
+ }
172
+ },
173
+ shadow: {
174
+ lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",
175
+ md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",
176
+ sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)"
177
+ },
178
+ spacing: {
179
+ "0": "0px",
180
+ "1": "4px",
181
+ "10": "40px",
182
+ "12": "48px",
183
+ "16": "64px",
184
+ "2": "8px",
185
+ "20": "80px",
186
+ "24": "96px",
187
+ "3": "12px",
188
+ "4": "16px",
189
+ "5": "20px",
190
+ "6": "24px",
191
+ "8": "32px"
192
+ }
193
+ };
194
+ var themeDark = {
195
+ color: {
196
+ danger: "#ef4444",
197
+ info: "#3b82f6",
198
+ neutral: {
199
+ "100": "#f4f4f5",
200
+ "200": "#e4e4e7",
201
+ "300": "#d4d4d8",
202
+ "400": "#a1a1aa",
203
+ "50": "#fafafa",
204
+ "500": "#71717a",
205
+ "600": "#52525b",
206
+ "700": "#3f3f46",
207
+ "800": "#27272a",
208
+ "900": "#18181b"
209
+ },
210
+ primary: {
211
+ "100": "#ccfbf1",
212
+ "200": "#99f6e4",
213
+ "300": "#5eead4",
214
+ "400": "#2dd4bf",
215
+ "50": "#f0fdfa",
216
+ "500": "#14b8a6",
217
+ "600": "#0d9488",
218
+ "700": "#0f766e",
219
+ "800": "#115e59",
220
+ "900": "#134e4a"
221
+ },
222
+ success: "#22c55e",
223
+ warning: "#f59e0b"
224
+ },
225
+ fontFamily: {
226
+ body: "system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
227
+ display: "ui-serif, Georgia, 'Times New Roman', serif",
228
+ mono: "ui-monospace, 'SF Mono', Menlo, Consolas, 'DejaVu Sans Mono', monospace"
229
+ },
230
+ fontSize: {
231
+ "2xl": "24px",
232
+ "3xl": "30px",
233
+ "4xl": "36px",
234
+ lg: "18px",
235
+ md: "16px",
236
+ sm: "14px",
237
+ xl: "20px",
238
+ xs: "12px"
239
+ },
240
+ fontWeight: {
241
+ bold: "700",
242
+ medium: "500",
243
+ regular: "400",
244
+ semibold: "600"
245
+ },
246
+ lineHeight: {
247
+ normal: "1.4",
248
+ relaxed: "1.6",
249
+ tight: "1.2"
250
+ },
251
+ radius: {
252
+ "2xl": "16px",
253
+ full: "9999px",
254
+ lg: "8px",
255
+ md: "6px",
256
+ none: "0px",
257
+ sm: "4px",
258
+ xl: "12px"
259
+ },
260
+ semantic: {
261
+ background: {
262
+ default: "#18181b",
263
+ elevated: "#3f3f46",
264
+ subtle: "#27272a"
265
+ },
266
+ border: {
267
+ default: "#3f3f46",
268
+ strong: "#52525b"
269
+ },
270
+ interactive: {
271
+ destructive: "#ef4444",
272
+ primary: "#2dd4bf",
273
+ primaryHover: "#5eead4",
274
+ primaryPressed: "#99f6e4"
275
+ },
276
+ text: {
277
+ default: "#fafafa",
278
+ inverted: "#18181b",
279
+ muted: "#a1a1aa"
280
+ }
281
+ },
282
+ shadow: {
283
+ lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",
284
+ md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",
285
+ sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)"
286
+ },
287
+ spacing: {
288
+ "0": "0px",
289
+ "1": "4px",
290
+ "10": "40px",
291
+ "12": "48px",
292
+ "16": "64px",
293
+ "2": "8px",
294
+ "20": "80px",
295
+ "24": "96px",
296
+ "3": "12px",
297
+ "4": "16px",
298
+ "5": "20px",
299
+ "6": "24px",
300
+ "8": "32px"
301
+ }
302
+ };
303
+ var defaultTheme = {
304
+ light: theme,
305
+ dark: themeDark
306
+ };
307
+ var ThemeContext = react.createContext(defaultTheme);
308
+ ThemeContext.displayName = "ThemeContext";
309
+ var ColorSchemeOverrideContext = react.createContext(null);
310
+ ColorSchemeOverrideContext.displayName = "ColorSchemeOverrideContext";
311
+ var isWeb = reactNative.Platform.OS === "web";
312
+ function readWebScheme() {
313
+ if (typeof document === "undefined") {
314
+ return "light";
315
+ }
316
+ const root = document.documentElement;
317
+ if (root.classList.contains("dark")) {
318
+ return "dark";
319
+ }
320
+ if (root.getAttribute("data-theme") === "dark") {
321
+ return "dark";
322
+ }
323
+ return "light";
324
+ }
325
+ __name(readWebScheme, "readWebScheme");
326
+ function useColorScheme() {
327
+ const override = react.useContext(ColorSchemeOverrideContext);
328
+ const [scheme, setScheme] = react.useState(() => {
329
+ if (isWeb) {
330
+ return readWebScheme();
331
+ }
332
+ return reactNative.Appearance.getColorScheme() ?? "light";
333
+ });
334
+ react.useEffect(() => {
335
+ if (isWeb) {
336
+ const root = document.documentElement;
337
+ const update = /* @__PURE__ */ __name(() => setScheme(readWebScheme()), "update");
338
+ const observer = new MutationObserver(update);
339
+ observer.observe(root, { attributes: true, attributeFilter: ["class", "data-theme"] });
340
+ update();
341
+ return () => observer.disconnect();
342
+ }
343
+ const sub = reactNative.Appearance.addChangeListener(({ colorScheme }) => {
344
+ setScheme(colorScheme ?? "light");
345
+ });
346
+ return () => sub.remove();
347
+ }, []);
348
+ return override ?? scheme;
349
+ }
350
+ __name(useColorScheme, "useColorScheme");
351
+
352
+ // src/theme/use-theme-colors.ts
353
+ function useThemeColors() {
354
+ const scheme = useColorScheme();
355
+ const themePair = react.useContext(ThemeContext);
356
+ return scheme === "dark" ? themePair.dark : themePair.light;
357
+ }
358
+ __name(useThemeColors, "useThemeColors");
359
+ var isWeb2 = reactNative.Platform.OS === "web";
360
+ var make = /* @__PURE__ */ __name(({ path, glyph }) => /* @__PURE__ */ __name(function PlaceholderIcon({ size = 20, color = "currentColor" }) {
361
+ const colors = useThemeColors();
362
+ if (isWeb2) {
363
+ return /* @__PURE__ */ jsxRuntime.jsx(
364
+ "svg",
365
+ {
366
+ width: size,
367
+ height: size,
368
+ viewBox: "0 0 24 24",
369
+ fill: "none",
370
+ stroke: color,
371
+ strokeWidth: "2",
372
+ strokeLinecap: "round",
373
+ strokeLinejoin: "round",
374
+ "aria-hidden": "true",
375
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: path })
376
+ }
377
+ );
378
+ }
379
+ const resolvedColor = color === "currentColor" ? colors.semantic.text.default : color;
380
+ return /* @__PURE__ */ jsxRuntime.jsx(
381
+ reactNative.Text,
382
+ {
383
+ accessibilityElementsHidden: true,
384
+ importantForAccessibility: "no-hide-descendants",
385
+ style: { fontSize: size, lineHeight: size, color: resolvedColor },
386
+ children: glyph
387
+ }
388
+ );
389
+ }, "PlaceholderIcon"), "make");
390
+ var defaultSemanticIcons = {
391
+ checkmark: make({ path: "M20 6 9 17l-5-5", glyph: "\u2713" }),
392
+ close: make({ path: "M18 6 6 18 M6 6l12 12", glyph: "\u2715" }),
393
+ eye: make({
394
+ path: "M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z M12 9a3 3 0 1 0 0 6 3 3 0 0 0 0-6z",
395
+ glyph: "\u{1F441}"
396
+ }),
397
+ eyeOff: make({
398
+ path: "M17.94 17.94A10 10 0 0 1 2 12s3.5-7 10-7c2 0 3.8.6 5.4 1.5 M1 1l22 22",
399
+ glyph: "\u{1F648}"
400
+ }),
401
+ chevronDown: make({ path: "m6 9 6 6 6-6", glyph: "\u2304" }),
402
+ chevronUp: make({ path: "m18 15-6-6-6 6", glyph: "\u2303" }),
403
+ alertTriangle: make({
404
+ path: "M12 9v4 M12 17h.01 M10.29 3.86 1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z",
405
+ glyph: "\u26A0"
406
+ }),
407
+ info: make({
408
+ path: "M12 8h.01 M11 12h1v4h1 M12 22C6.48 22 2 17.52 2 12 2 6.48 6.48 2 12 2c5.52 0 10 4.48 10 10 0 5.52-4.48 10-10 10z",
409
+ glyph: "\u24D8"
410
+ }),
411
+ check: make({ path: "M20 6 9 17l-5-5", glyph: "\u2713" }),
412
+ x: make({ path: "M18 6 6 18 M6 6l12 12", glyph: "\u2715" })
413
+ };
414
+
415
+ // src/theme/px.ts
416
+ function px(value) {
417
+ if (typeof value === "number") {
418
+ return value;
419
+ }
420
+ const n = Number.parseFloat(value);
421
+ return Number.isFinite(n) ? n : 0;
422
+ }
423
+ __name(px, "px");
424
+
425
+ // src/utils/cn.ts
426
+ function cn(...inputs) {
427
+ const out = [];
428
+ for (const input of inputs) {
429
+ append(out, input);
430
+ }
431
+ return out.join(" ");
432
+ }
433
+ __name(cn, "cn");
434
+ function append(out, input) {
435
+ if (!input) {
436
+ return;
437
+ }
438
+ if (typeof input === "string") {
439
+ if (input.length > 0) {
440
+ out.push(input);
441
+ }
442
+ return;
443
+ }
444
+ if (typeof input === "number") {
445
+ return;
446
+ }
447
+ if (Array.isArray(input)) {
448
+ for (const inner of input) {
449
+ append(out, inner);
450
+ }
451
+ return;
452
+ }
453
+ if (typeof input === "object") {
454
+ for (const key of Object.keys(input)) {
455
+ if (input[key]) {
456
+ out.push(key);
457
+ }
458
+ }
459
+ }
460
+ }
461
+ __name(append, "append");
462
+ var AccordionContext = react.createContext(null);
463
+ var useAccordionContext = /* @__PURE__ */ __name((label) => {
464
+ const ctx = react.useContext(AccordionContext);
465
+ if (!ctx) {
466
+ throw new Error(`<${label}> must be rendered inside an <Accordion>.`);
467
+ }
468
+ return ctx;
469
+ }, "useAccordionContext");
470
+ var AccordionItemContext = react.createContext(null);
471
+ var useAccordionItemContext = /* @__PURE__ */ __name((label) => {
472
+ const ctx = react.useContext(AccordionItemContext);
473
+ if (!ctx) {
474
+ throw new Error(`<${label}> must be rendered inside an <Accordion.Item>.`);
475
+ }
476
+ return ctx;
477
+ }, "useAccordionItemContext");
478
+ var AccordionRoot = /* @__PURE__ */ __name((props) => {
479
+ const baseId = react.useId();
480
+ const refs = react.useRef(/* @__PURE__ */ new Map());
481
+ const orderRef = react.useRef([]);
482
+ const { type, children, className, testID } = props;
483
+ const [singleInner, setSingleInner] = react.useState(
484
+ type === "single" ? props.defaultValue ?? null : null
485
+ );
486
+ const [multipleInner, setMultipleInner] = react.useState(type === "multiple" ? props.defaultValue ?? [] : []);
487
+ const singleControlled = type === "single" && props.value !== void 0;
488
+ const multipleControlled = type === "multiple" && props.value !== void 0;
489
+ const singleCurrent = type === "single" ? singleControlled ? props.value ?? null : singleInner : null;
490
+ const multipleCurrent = type === "multiple" ? multipleControlled ? props.value ?? [] : multipleInner : [];
491
+ const isOpen = react.useCallback(
492
+ (v) => {
493
+ if (type === "single") {
494
+ return singleCurrent === v;
495
+ }
496
+ return multipleCurrent.includes(v);
497
+ },
498
+ [type, singleCurrent, multipleCurrent]
499
+ );
500
+ const toggle = react.useCallback(
501
+ (v) => {
502
+ if (type === "single") {
503
+ const next = singleCurrent === v ? props.collapsible ? null : singleCurrent : v;
504
+ if (next === singleCurrent) {
505
+ return;
506
+ }
507
+ if (!singleControlled) {
508
+ setSingleInner(next);
509
+ }
510
+ props.onChange?.(next);
511
+ } else {
512
+ const has = multipleCurrent.includes(v);
513
+ const next = has ? multipleCurrent.filter((x) => x !== v) : [...multipleCurrent, v];
514
+ if (!multipleControlled) {
515
+ setMultipleInner(next);
516
+ }
517
+ props.onChange?.(next);
518
+ }
519
+ },
520
+ // The handler needs the latest snapshot of every prop — `props` is a
521
+ // discriminated union so spreading it into the deps is the cleanest
522
+ // way to keep both branches honest.
523
+ [type, singleCurrent, multipleCurrent, singleControlled, multipleControlled, props]
524
+ );
525
+ const register = react.useCallback((v, ref) => {
526
+ refs.current.set(v, ref);
527
+ if (!orderRef.current.includes(v)) {
528
+ orderRef.current.push(v);
529
+ }
530
+ }, []);
531
+ const unregister = react.useCallback((v) => {
532
+ refs.current.delete(v);
533
+ orderRef.current = orderRef.current.filter((x) => x !== v);
534
+ }, []);
535
+ const moveFocus = react.useCallback((offset, fromValue) => {
536
+ const order = orderRef.current;
537
+ if (order.length === 0) {
538
+ return;
539
+ }
540
+ const idx = order.indexOf(fromValue);
541
+ const start = idx === -1 ? 0 : idx;
542
+ const len = order.length;
543
+ const next = order[(start + offset + len) % len];
544
+ if (!next) {
545
+ return;
546
+ }
547
+ refs.current.get(next)?.current?.focus?.();
548
+ }, []);
549
+ const focusEdge = react.useCallback((edge) => {
550
+ const order = orderRef.current;
551
+ if (order.length === 0) {
552
+ return;
553
+ }
554
+ const target = edge === "first" ? order[0] : order[order.length - 1];
555
+ if (!target) {
556
+ return;
557
+ }
558
+ refs.current.get(target)?.current?.focus?.();
559
+ }, []);
560
+ const ctxValue = react.useMemo(
561
+ () => ({ baseId, isOpen, toggle, register, unregister, moveFocus, focusEdge }),
562
+ [baseId, isOpen, toggle, register, unregister, moveFocus, focusEdge]
563
+ );
564
+ return /* @__PURE__ */ jsxRuntime.jsx(AccordionContext.Provider, { value: ctxValue, children: /* @__PURE__ */ jsxRuntime.jsx(
565
+ reactNative.View,
566
+ {
567
+ ...testID !== void 0 ? { testID } : {},
568
+ className: cn("flex-col w-full", className),
569
+ style: { flexDirection: "column", width: "100%" },
570
+ children
571
+ }
572
+ ) });
573
+ }, "AccordionRoot");
574
+ var ITEM_BASE = {
575
+ borderBottomWidth: 1,
576
+ flexDirection: "column"
577
+ };
578
+ var TRIGGER_LAYOUT_BASE = {
579
+ minHeight: 44,
580
+ // component-density literal — not from theme
581
+ flexDirection: "row",
582
+ alignItems: "center",
583
+ justifyContent: "space-between"
584
+ };
585
+ var CONTENT_INNER_LAYOUT_BASE = {
586
+ // Padding values come from theme inside AccordionContent.
587
+ };
588
+ var AccordionItem = /* @__PURE__ */ __name(({ value, disabled = false, children, className, testID }) => {
589
+ const ctx = useAccordionContext("Accordion.Item");
590
+ const colors = useThemeColors();
591
+ const open = ctx.isOpen(value);
592
+ const itemCtx = react.useMemo(
593
+ () => ({
594
+ value,
595
+ open,
596
+ disabled,
597
+ triggerId: `${ctx.baseId}-trigger-${value}`,
598
+ contentId: `${ctx.baseId}-content-${value}`
599
+ }),
600
+ [value, open, disabled, ctx.baseId]
601
+ );
602
+ return /* @__PURE__ */ jsxRuntime.jsx(AccordionItemContext.Provider, { value: itemCtx, children: /* @__PURE__ */ jsxRuntime.jsx(
603
+ reactNative.View,
604
+ {
605
+ ...testID !== void 0 ? { testID } : {},
606
+ className: cn("flex-col border-b border-semantic-border-default", className),
607
+ style: [ITEM_BASE, { borderBottomColor: colors.semantic.border.default }],
608
+ children
609
+ }
610
+ ) });
611
+ }, "AccordionItem");
612
+ var AccordionTrigger = /* @__PURE__ */ __name(({ children, className, testID }) => {
613
+ const ctx = useAccordionContext("Accordion.Trigger");
614
+ const item = useAccordionItemContext("Accordion.Trigger");
615
+ const colors = useThemeColors();
616
+ const ownRef = react.useRef(null);
617
+ const triggerStyle = {
618
+ ...TRIGGER_LAYOUT_BASE,
619
+ paddingHorizontal: px(colors.spacing["4"]),
620
+ paddingVertical: px(colors.spacing["3"]),
621
+ gap: px(colors.spacing["3"])
622
+ };
623
+ react.useEffect(() => {
624
+ ctx.register(item.value, ownRef);
625
+ return () => ctx.unregister(item.value);
626
+ }, [ctx, item.value]);
627
+ const onPress = react.useCallback(() => {
628
+ if (item.disabled) {
629
+ return;
630
+ }
631
+ ctx.toggle(item.value);
632
+ }, [ctx, item.value, item.disabled]);
633
+ const handleKeyDown = react.useCallback(
634
+ (event) => {
635
+ switch (event.key) {
636
+ case "ArrowDown":
637
+ event.preventDefault();
638
+ ctx.moveFocus(1, item.value);
639
+ return;
640
+ case "ArrowUp":
641
+ event.preventDefault();
642
+ ctx.moveFocus(-1, item.value);
643
+ return;
644
+ case "Home":
645
+ event.preventDefault();
646
+ ctx.focusEdge("first");
647
+ return;
648
+ case "End":
649
+ event.preventDefault();
650
+ ctx.focusEdge("last");
651
+ return;
652
+ case "Enter":
653
+ case " ": {
654
+ event.preventDefault();
655
+ if (!item.disabled) {
656
+ ctx.toggle(item.value);
657
+ }
658
+ return;
659
+ }
660
+ }
661
+ },
662
+ [ctx, item.value, item.disabled]
663
+ );
664
+ const chevronStyle = reactNative.Platform.OS === "web" ? {
665
+ transition: "transform 200ms ease",
666
+ transform: `rotate(${item.open ? 180 : 0}deg)`
667
+ } : { transform: [{ rotate: item.open ? "180deg" : "0deg" }] };
668
+ const triggerProps = {
669
+ ref: /* @__PURE__ */ __name((node) => {
670
+ ownRef.current = node;
671
+ }, "ref"),
672
+ role: "button",
673
+ accessibilityRole: "button",
674
+ "aria-expanded": item.open,
675
+ "aria-controls": item.contentId,
676
+ "aria-disabled": item.disabled || void 0,
677
+ id: item.triggerId,
678
+ // Every trigger sits in the tab order — pressing Tab moves through
679
+ // the accordion sequentially, then arrow keys take over once focused.
680
+ tabIndex: 0,
681
+ onPress,
682
+ onKeyDown: handleKeyDown,
683
+ ...item.disabled ? { disabled: true } : {},
684
+ ...testID !== void 0 ? { testID } : {}
685
+ };
686
+ return /* @__PURE__ */ jsxRuntime.jsxs(
687
+ reactNative.Pressable,
688
+ {
689
+ ...triggerProps,
690
+ className: cn(
691
+ "flex-row items-center justify-between gap-3 px-4 py-3 min-h-[44px] hover:bg-semantic-background-subtle",
692
+ item.disabled ? "opacity-50" : "opacity-100",
693
+ className
694
+ ),
695
+ style: [triggerStyle, item.disabled ? { opacity: 0.5 } : null],
696
+ children: [
697
+ typeof children === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
698
+ reactNative.Text,
699
+ {
700
+ style: {
701
+ color: colors.semantic.text.default,
702
+ fontFamily: colors.fontFamily.body,
703
+ fontSize: px(colors.fontSize.sm),
704
+ fontWeight: colors.fontWeight.medium,
705
+ flexShrink: 1
706
+ },
707
+ children
708
+ }
709
+ ) : children,
710
+ /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { "aria-hidden": true, style: chevronStyle, children: /* @__PURE__ */ jsxRuntime.jsx(defaultSemanticIcons.chevronDown, { size: 18, color: colors.semantic.text.muted }) })
711
+ ]
712
+ }
713
+ );
714
+ }, "AccordionTrigger");
715
+ var ACCORDION_ANIM_DURATION_MS = 200;
716
+ var AccordionContent = /* @__PURE__ */ __name(({
717
+ children,
718
+ className,
719
+ testID,
720
+ forceMount: _forceMount = false
721
+ }) => {
722
+ const item = useAccordionItemContext("Accordion.Content");
723
+ const colors = useThemeColors();
724
+ const wrapperRef = react.useRef(null);
725
+ const innerRef = react.useRef(null);
726
+ const [measuredHeight, setMeasuredHeight] = react.useState(null);
727
+ const innerStyle = {
728
+ ...CONTENT_INNER_LAYOUT_BASE,
729
+ paddingHorizontal: px(colors.spacing["4"]),
730
+ paddingTop: px(colors.spacing["1"]),
731
+ paddingBottom: px(colors.spacing["3"])
732
+ };
733
+ react.useEffect(() => {
734
+ if (reactNative.Platform.OS !== "web") {
735
+ return;
736
+ }
737
+ const wrapper = wrapperRef.current;
738
+ const inner = innerRef.current;
739
+ if (!wrapper || !inner) {
740
+ return;
741
+ }
742
+ const isFirstPaint = wrapper.dataset.noriPainted !== "1";
743
+ wrapper.dataset.noriPainted = "1";
744
+ wrapper.style.overflow = "hidden";
745
+ wrapper.style.transitionProperty = "max-height, opacity";
746
+ wrapper.style.transitionDuration = `${ACCORDION_ANIM_DURATION_MS}ms`;
747
+ wrapper.style.transitionTimingFunction = "cubic-bezier(0.16, 1, 0.3, 1)";
748
+ if (item.open) {
749
+ const target = inner.scrollHeight;
750
+ if (isFirstPaint) {
751
+ wrapper.style.maxHeight = `${target}px`;
752
+ wrapper.style.opacity = "1";
753
+ return;
754
+ }
755
+ wrapper.style.maxHeight = "0px";
756
+ wrapper.style.opacity = "0";
757
+ void wrapper.offsetHeight;
758
+ requestAnimationFrame(() => {
759
+ wrapper.style.maxHeight = `${target}px`;
760
+ wrapper.style.opacity = "1";
761
+ });
762
+ } else {
763
+ const current = inner.scrollHeight;
764
+ wrapper.style.maxHeight = `${current}px`;
765
+ wrapper.style.opacity = "1";
766
+ void wrapper.offsetHeight;
767
+ requestAnimationFrame(() => {
768
+ wrapper.style.maxHeight = "0px";
769
+ wrapper.style.opacity = "0";
770
+ });
771
+ }
772
+ }, [item.open]);
773
+ const targetHeight = item.open ? measuredHeight ?? 0 : 0;
774
+ const targetOpacity = item.open ? 1 : 0;
775
+ const heightAnim = useAnimatedNumber("height", targetHeight, {
776
+ duration: ACCORDION_ANIM_DURATION_MS
777
+ });
778
+ const opacityAnim = useAnimatedNumber("opacity", targetOpacity, {
779
+ duration: ACCORDION_ANIM_DURATION_MS
780
+ });
781
+ const onInnerLayout = react.useCallback(
782
+ (e) => {
783
+ if (reactNative.Platform.OS === "web") {
784
+ return;
785
+ }
786
+ const next = e.nativeEvent.layout.height;
787
+ if (next > 0 && next !== measuredHeight) {
788
+ setMeasuredHeight(next);
789
+ }
790
+ },
791
+ [measuredHeight]
792
+ );
793
+ if (reactNative.Platform.OS !== "web") {
794
+ const animatedWrapperStyle = {
795
+ overflow: "hidden"
796
+ };
797
+ if (measuredHeight === null) {
798
+ return /* @__PURE__ */ jsxRuntime.jsx(
799
+ AnimatedView,
800
+ {
801
+ ...testID !== void 0 ? { testID } : {},
802
+ accessibilityRole: "none",
803
+ "aria-labelledby": item.triggerId,
804
+ "aria-hidden": !item.open,
805
+ style: [animatedWrapperStyle, { height: 0 }],
806
+ className: cn("overflow-hidden", className),
807
+ children: /* @__PURE__ */ jsxRuntime.jsx(
808
+ reactNative.View,
809
+ {
810
+ onLayout: onInnerLayout,
811
+ className: cn("px-4 pt-1 pb-3"),
812
+ style: [innerStyle, { position: "absolute", left: 0, right: 0, opacity: 0 }],
813
+ children: typeof children === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
814
+ reactNative.Text,
815
+ {
816
+ style: {
817
+ color: colors.semantic.text.muted,
818
+ fontFamily: colors.fontFamily.body,
819
+ fontSize: px(colors.fontSize.sm),
820
+ lineHeight: px(colors.fontSize.sm) * Number(colors.lineHeight.normal)
821
+ },
822
+ children
823
+ }
824
+ ) : children
825
+ }
826
+ )
827
+ }
828
+ );
829
+ }
830
+ return /* @__PURE__ */ jsxRuntime.jsx(
831
+ AnimatedView,
832
+ {
833
+ ...testID !== void 0 ? { testID } : {},
834
+ accessibilityRole: "none",
835
+ "aria-labelledby": item.triggerId,
836
+ "aria-hidden": !item.open,
837
+ style: [animatedWrapperStyle, heightAnim],
838
+ className: cn("overflow-hidden", className),
839
+ children: /* @__PURE__ */ jsxRuntime.jsx(AnimatedView, { style: opacityAnim, children: /* @__PURE__ */ jsxRuntime.jsx(reactNative.View, { className: cn("px-4 pt-1 pb-3"), style: innerStyle, children: typeof children === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
840
+ reactNative.Text,
841
+ {
842
+ style: {
843
+ color: colors.semantic.text.muted,
844
+ fontFamily: colors.fontFamily.body,
845
+ fontSize: px(colors.fontSize.sm),
846
+ lineHeight: px(colors.fontSize.sm) * Number(colors.lineHeight.normal)
847
+ },
848
+ children
849
+ }
850
+ ) : children }) })
851
+ }
852
+ );
853
+ }
854
+ return /* @__PURE__ */ jsxRuntime.jsx(
855
+ reactNative.View,
856
+ {
857
+ ref: (node) => {
858
+ wrapperRef.current = node;
859
+ },
860
+ ...testID !== void 0 ? { testID } : {},
861
+ role: "region",
862
+ accessibilityRole: "none",
863
+ id: item.contentId,
864
+ "aria-labelledby": item.triggerId,
865
+ "aria-hidden": !item.open,
866
+ className: cn("overflow-hidden", className),
867
+ children: /* @__PURE__ */ jsxRuntime.jsx(
868
+ reactNative.View,
869
+ {
870
+ ref: (node) => {
871
+ innerRef.current = node;
872
+ },
873
+ className: cn("px-4 pt-1 pb-3"),
874
+ style: innerStyle,
875
+ children: typeof children === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
876
+ reactNative.Text,
877
+ {
878
+ style: {
879
+ color: colors.semantic.text.muted,
880
+ fontFamily: colors.fontFamily.body,
881
+ fontSize: px(colors.fontSize.sm),
882
+ lineHeight: px(colors.fontSize.sm) * Number(colors.lineHeight.normal)
883
+ },
884
+ children
885
+ }
886
+ ) : children
887
+ }
888
+ )
889
+ }
890
+ );
891
+ }, "AccordionContent");
892
+ var Accordion = Object.assign(AccordionRoot, {
893
+ Item: AccordionItem,
894
+ Trigger: AccordionTrigger,
895
+ Content: AccordionContent
896
+ });
897
+
898
+ exports.Accordion = Accordion;
899
+ //# sourceMappingURL=index.cjs.map
900
+ //# sourceMappingURL=index.cjs.map