@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
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/Box/Box.tsx","../../../tokens/build/theme.ts","../../src/slot/compose-refs.ts","../../src/slot/slot.tsx","../../src/components/Spinner/Spinner.tsx","../../src/components/Button/Button.tsx","../../src/icons/default-semantic-icons.tsx","../../src/icons/semantic-context.tsx","../../src/icons/use-semantic-icon.ts","../../src/components/Checkbox/Checkbox.tsx","../../src/components/HStack/HStack.tsx","../../src/components/Switch/Switch.tsx","../../src/components/Text/Text.tsx","../../src/components/TextInput/TextInput.tsx","../../src/components/TextArea/TextArea.tsx","../../src/components/VStack/VStack.tsx","../../src/stories/story-registry.tsx"],"names":["jsx","View","forwardRef","Slot","isValidElement","Children","cloneElement","ActivityIndicator","Button","jsxs","Pressable","RNText","createContext","useContext","useState","useCallback","ROW_STYLE","VARIANT_CLASSES","useId","RNTextInput","ALIGN_CLASS","JUSTIFY_CLASS"],"mappings":"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","file":"story-registry.cjs","sourcesContent":["// cn — class-name merger. clsx-compatible shape.\n//\n// Intentionally does NOT deduplicate Tailwind conflicts (e.g. \"text-sm text-lg\").\n// That's `tailwind-merge`'s job; we defer adding it until a component actually\n// needs it, to keep the core tree-shakable and the runtime zero-dep.\n\nexport type ClassInput =\n | string\n | number\n | boolean\n | null\n | undefined\n | ClassInput[]\n | Record<string, boolean | number | null | undefined>;\n\nexport function cn(...inputs: ClassInput[]): string {\n const out: string[] = [];\n for (const input of inputs) append(out, input);\n return out.join(' ');\n}\n\nfunction append(out: string[], input: ClassInput): void {\n if (!input) return;\n if (typeof input === 'string') {\n if (input.length > 0) out.push(input);\n return;\n }\n if (typeof input === 'number') return; // numbers are never class names\n if (Array.isArray(input)) {\n for (const inner of input) append(out, inner);\n return;\n }\n if (typeof input === 'object') {\n for (const key of Object.keys(input)) {\n if (input[key]) out.push(key);\n }\n }\n}\n","import type { ViewProps } from 'react-native';\nimport { View } from 'react-native';\nimport { cn } from '../../utils/cn';\n\nexport type BoxProps = ViewProps & {\n className?: string;\n testID?: string;\n};\n\n/**\n * Generic layout primitive. Wraps react-native's <View> with className support.\n * RSC-safe.\n */\nexport function Box({ className, children, ...rest }: BoxProps) {\n return (\n <View {...rest} className={cn(className)}>\n {children}\n </View>\n );\n}\n","// GENERATED by @nori-ui/tokens — DO NOT EDIT.\n// Run `yarn build:tokens` to regenerate.\n\n// Generated for light mode.\n// Do not edit — run `yarn build:tokens`.\n\nexport const theme = {\n color: {\n danger: \"#ef4444\",\n info: \"#3b82f6\",\n neutral: {\n \"100\": \"#f4f4f5\",\n \"200\": \"#e4e4e7\",\n \"300\": \"#d4d4d8\",\n \"400\": \"#a1a1aa\",\n \"50\": \"#fafafa\",\n \"500\": \"#71717a\",\n \"600\": \"#52525b\",\n \"700\": \"#3f3f46\",\n \"800\": \"#27272a\",\n \"900\": \"#18181b\",\n },\n primary: {\n \"100\": \"#dbeafe\",\n \"200\": \"#bfdbfe\",\n \"300\": \"#93c5fd\",\n \"400\": \"#60a5fa\",\n \"50\": \"#f0f7ff\",\n \"500\": \"#3b82f6\",\n \"600\": \"#2563eb\",\n \"700\": \"#1d4ed8\",\n \"800\": \"#1e40af\",\n \"900\": \"#1e3a8a\",\n },\n success: \"#22c55e\",\n warning: \"#f59e0b\",\n },\n fontSize: {\n \"2xl\": \"24px\",\n \"3xl\": \"30px\",\n \"4xl\": \"36px\",\n lg: \"18px\",\n md: \"16px\",\n sm: \"14px\",\n xl: \"20px\",\n xs: \"12px\",\n },\n fontWeight: {\n bold: \"700\",\n medium: \"500\",\n regular: \"400\",\n semibold: \"600\",\n },\n lineHeight: {\n normal: \"1.4\",\n relaxed: \"1.6\",\n tight: \"1.2\",\n },\n radius: {\n \"2xl\": \"16px\",\n full: \"9999px\",\n lg: \"8px\",\n md: \"6px\",\n none: \"0px\",\n sm: \"4px\",\n xl: \"12px\",\n },\n semantic: {\n background: {\n default: \"#fafafa\",\n elevated: \"#ffffff\",\n subtle: \"#f4f4f5\",\n },\n border: {\n default: \"#e4e4e7\",\n strong: \"#d4d4d8\",\n },\n interactive: {\n destructive: \"#ef4444\",\n primary: \"#2563eb\",\n primaryHover: \"#1d4ed8\",\n primaryPressed: \"#1e40af\",\n },\n text: {\n default: \"#18181b\",\n inverted: \"#fafafa\",\n muted: \"#52525b\",\n },\n },\n shadow: {\n lg: \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)\",\n md: \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\",\n sm: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n },\n spacing: {\n \"0\": \"0px\",\n \"1\": \"4px\",\n \"10\": \"40px\",\n \"12\": \"48px\",\n \"16\": \"64px\",\n \"2\": \"8px\",\n \"20\": \"80px\",\n \"24\": \"96px\",\n \"3\": \"12px\",\n \"4\": \"16px\",\n \"5\": \"20px\",\n \"6\": \"24px\",\n \"8\": \"32px\",\n },\n} as const;\n\nexport type Theme = typeof theme;\n\n\n// Dark mode overrides\n// Generated for dark mode.\n// Do not edit — run `yarn build:tokens`.\n\nexport const themeDark = {\n color: {\n danger: \"#ef4444\",\n info: \"#3b82f6\",\n neutral: {\n \"100\": \"#f4f4f5\",\n \"200\": \"#e4e4e7\",\n \"300\": \"#d4d4d8\",\n \"400\": \"#a1a1aa\",\n \"50\": \"#fafafa\",\n \"500\": \"#71717a\",\n \"600\": \"#52525b\",\n \"700\": \"#3f3f46\",\n \"800\": \"#27272a\",\n \"900\": \"#18181b\",\n },\n primary: {\n \"100\": \"#dbeafe\",\n \"200\": \"#bfdbfe\",\n \"300\": \"#93c5fd\",\n \"400\": \"#60a5fa\",\n \"50\": \"#f0f7ff\",\n \"500\": \"#3b82f6\",\n \"600\": \"#2563eb\",\n \"700\": \"#1d4ed8\",\n \"800\": \"#1e40af\",\n \"900\": \"#1e3a8a\",\n },\n success: \"#22c55e\",\n warning: \"#f59e0b\",\n },\n fontSize: {\n \"2xl\": \"24px\",\n \"3xl\": \"30px\",\n \"4xl\": \"36px\",\n lg: \"18px\",\n md: \"16px\",\n sm: \"14px\",\n xl: \"20px\",\n xs: \"12px\",\n },\n fontWeight: {\n bold: \"700\",\n medium: \"500\",\n regular: \"400\",\n semibold: \"600\",\n },\n lineHeight: {\n normal: \"1.4\",\n relaxed: \"1.6\",\n tight: \"1.2\",\n },\n radius: {\n \"2xl\": \"16px\",\n full: \"9999px\",\n lg: \"8px\",\n md: \"6px\",\n none: \"0px\",\n sm: \"4px\",\n xl: \"12px\",\n },\n semantic: {\n background: {\n default: \"#18181b\",\n elevated: \"#3f3f46\",\n subtle: \"#27272a\",\n },\n border: {\n default: \"#3f3f46\",\n strong: \"#52525b\",\n },\n interactive: {\n destructive: \"#ef4444\",\n primary: \"#60a5fa\",\n primaryHover: \"#93c5fd\",\n primaryPressed: \"#bfdbfe\",\n },\n text: {\n default: \"#fafafa\",\n inverted: \"#18181b\",\n muted: \"#a1a1aa\",\n },\n },\n shadow: {\n lg: \"0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)\",\n md: \"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)\",\n sm: \"0 1px 2px 0 rgba(0, 0, 0, 0.05)\",\n },\n spacing: {\n \"0\": \"0px\",\n \"1\": \"4px\",\n \"10\": \"40px\",\n \"12\": \"48px\",\n \"16\": \"64px\",\n \"2\": \"8px\",\n \"20\": \"80px\",\n \"24\": \"96px\",\n \"3\": \"12px\",\n \"4\": \"16px\",\n \"5\": \"20px\",\n \"6\": \"24px\",\n \"8\": \"32px\",\n },\n} as const;\n\n","// composeRefs — merges multiple React refs (callback or object) into a single callback.\n// Derived from Radix UI's approach; reimplemented here so we don't take a Radix dependency.\n\nimport type { MutableRefObject, Ref, RefCallback } from 'react';\n\ntype PossibleRef<T> = Ref<T> | undefined;\n\nexport function composeRefs<T>(...refs: Array<PossibleRef<T>>): RefCallback<T> {\n return (node: T | null) => {\n for (const ref of refs) {\n if (ref == null) continue;\n if (typeof ref === 'function') {\n ref(node);\n } else {\n // React's MutableRefObject typing — we assign .current directly.\n (ref as MutableRefObject<T | null>).current = node;\n }\n }\n };\n}\n","import type { CSSProperties, ReactElement, Ref } from 'react';\nimport { Children, cloneElement, forwardRef, isValidElement } from 'react';\nimport { composeRefs } from './compose-refs';\n\ntype AnyProps = Record<string, unknown>;\n\nexport type SlotProps = {\n children?: React.ReactNode;\n} & AnyProps;\n\nexport const Slot = forwardRef<unknown, SlotProps>(function Slot(props, forwardedRef) {\n const { children, ...slotProps } = props;\n\n if (!isValidElement(children)) {\n return null;\n }\n\n // Assert that children is a single React element with props — we've narrowed above.\n const child = Children.only(children) as ReactElement<AnyProps> & { ref?: Ref<unknown> };\n const merged = mergeProps(slotProps, child.props);\n\n // Merge refs: Slot's forwarded ref + the child's own ref (if any).\n const childRef = (child as unknown as { ref?: Ref<unknown> }).ref;\n if (forwardedRef || childRef) {\n (merged as AnyProps).ref = composeRefs(forwardedRef, childRef);\n }\n\n return cloneElement(child, merged);\n});\nSlot.displayName = 'Slot';\n\nfunction mergeProps(outer: AnyProps, inner: AnyProps): AnyProps {\n // Inner (child) wins for everything except: className (concatenated), style (merged), and\n // event handlers (composed — outer runs first, then inner).\n const merged: AnyProps = { ...outer };\n\n for (const key of Object.keys(inner)) {\n const outerValue = outer[key];\n const innerValue = inner[key];\n\n if (key === 'className' || key === 'class') {\n merged[key] = joinClass(outerValue, innerValue);\n continue;\n }\n\n if (key === 'style') {\n merged[key] = {\n ...(outerValue as CSSProperties | undefined),\n ...(innerValue as CSSProperties | undefined),\n };\n continue;\n }\n\n if (isEventHandler(key, outerValue, innerValue)) {\n merged[key] = composeHandlers(outerValue as Fn, innerValue as Fn);\n continue;\n }\n\n merged[key] = innerValue;\n }\n\n return merged;\n}\n\nfunction joinClass(outer: unknown, inner: unknown): string | undefined {\n const a = typeof outer === 'string' ? outer : '';\n const b = typeof inner === 'string' ? inner : '';\n const joined = [a, b].filter(Boolean).join(' ');\n return joined.length > 0 ? joined : undefined;\n}\n\ntype Fn = (...args: unknown[]) => unknown;\n\nfunction isEventHandler(key: string, outer: unknown, inner: unknown): boolean {\n if (!key.startsWith('on') || key.length < 3) return false;\n if (key[2] !== key[2]?.toUpperCase()) return false;\n return typeof outer === 'function' && typeof inner === 'function';\n}\n\nfunction composeHandlers(outer: Fn, inner: Fn): Fn {\n return (...args: unknown[]) => {\n outer(...args);\n inner(...args);\n };\n}\n","import type { ActivityIndicatorProps } from 'react-native';\nimport { ActivityIndicator } from 'react-native';\n\nexport type SpinnerSize = 'sm' | 'md' | 'lg' | 'xl' | number;\n\nexport type SpinnerProps = Omit<ActivityIndicatorProps, 'size'> & {\n /** Visible (a11y) label. Defaults to the i18n \"common.loading\" default (\"Loading\"). */\n label?: string;\n size?: SpinnerSize;\n testID?: string;\n className?: string;\n};\n\nconst SIZE_MAP: Record<Exclude<SpinnerSize, number>, number> = {\n sm: 12,\n md: 16,\n lg: 24,\n xl: 32,\n};\n\n/**\n * Loading indicator.\n *\n * a11y: rendered with `role=\"progressbar\"` and an `aria-label` so screen\n * readers announce it. Respects `prefers-reduced-motion` — on web, react-native-web's\n * ActivityIndicator will render without animation when the media query matches;\n * on native, React Native's ActivityIndicator honors the OS reduce-motion setting\n * automatically.\n *\n * RSC-safe: pure render, no hooks.\n */\nexport function Spinner({ label = 'Loading', size = 'md', testID, color, style, ...rest }: SpinnerProps) {\n const px = typeof size === 'number' ? size : SIZE_MAP[size];\n return (\n <ActivityIndicator\n {...rest}\n {...(testID !== undefined ? { testID } : {})}\n accessibilityRole=\"progressbar\"\n accessibilityLabel={label}\n {...(color !== undefined ? { color } : {})}\n size={px}\n style={[{ width: px, height: px }, style]}\n />\n );\n}\n","import { theme } from '@nori-ui/tokens';\nimport type { ComponentType, ReactNode } from 'react';\nimport { forwardRef } from 'react';\nimport type { PressableProps, StyleProp, ViewStyle } from 'react-native';\nimport { Pressable, Text as RNText } from 'react-native';\nimport { Slot } from '../../slot';\nimport { cn } from '../../utils/cn';\nimport { Spinner } from '../Spinner';\n\nexport type ButtonVariant = 'primary' | 'secondary' | 'ghost' | 'destructive';\nexport type ButtonSize = 'sm' | 'md' | 'lg';\n\ntype IconSlot = ComponentType<{ size?: number; color?: string }>;\n\nexport type ButtonProps = Omit<PressableProps, 'disabled' | 'children'> & {\n children?: ReactNode;\n variant?: ButtonVariant;\n size?: ButtonSize;\n disabled?: boolean;\n loading?: boolean;\n leadingIcon?: IconSlot;\n trailingIcon?: IconSlot;\n /** If true, the single child becomes the interactive element (Slot pattern). */\n asChild?: boolean;\n className?: string;\n testID?: string;\n};\n\nconst VARIANT_CLASSES: Record<ButtonVariant, string> = {\n primary:\n 'bg-semantic-interactive-primary hover:bg-semantic-interactive-primaryHover active:bg-semantic-interactive-primaryPressed',\n secondary: 'bg-neutral-100 hover:bg-neutral-200 active:bg-neutral-300',\n ghost: 'bg-transparent hover:bg-neutral-100 active:bg-neutral-200',\n destructive: 'bg-semantic-interactive-destructive hover:opacity-90 active:opacity-80',\n};\n\nconst SIZE_CLASSES: Record<ButtonSize, string> = {\n sm: 'h-8 px-3 text-sm',\n md: 'h-10 px-4 text-md',\n lg: 'h-12 px-5 text-lg',\n};\n\nconst ICON_SIZE: Record<ButtonSize, number> = { sm: 14, md: 16, lg: 20 };\n\nconst BASE_CLASSES = 'inline-flex flex-row items-center justify-center gap-2 rounded-md select-none';\n\n// Inline fallback styles mirror the NativeWind classes above. They ship so\n// the component renders correctly when NativeWind is NOT active (e.g. Expo\n// Snack's sandbox, or apps that don't configure NativeWind). When NativeWind\n// IS active, its compiled className styles merge with and (where intended)\n// override these defaults.\nconst VARIANT_STYLES: Record<ButtonVariant, ViewStyle> = {\n primary: { backgroundColor: theme.color.primary['600'] },\n secondary: { backgroundColor: theme.color.neutral['100'] },\n ghost: { backgroundColor: 'transparent' },\n destructive: { backgroundColor: theme.color.danger },\n};\n\nconst VARIANT_TEXT_COLOR: Record<ButtonVariant, string> = {\n primary: '#ffffff',\n secondary: theme.color.neutral['900'],\n ghost: theme.color.neutral['900'],\n destructive: '#ffffff',\n};\n\nconst SIZE_STYLES: Record<ButtonSize, { container: ViewStyle; text: { fontSize: number } }> = {\n sm: { container: { height: 32, paddingHorizontal: 12 }, text: { fontSize: 14 } },\n md: { container: { height: 40, paddingHorizontal: 16 }, text: { fontSize: 16 } },\n lg: { container: { height: 48, paddingHorizontal: 20 }, text: { fontSize: 18 } },\n};\n\nconst BASE_STYLE: ViewStyle = {\n flexDirection: 'row',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 8,\n borderRadius: 6,\n};\n\nexport const Button = forwardRef<unknown, ButtonProps>(function Button(\n {\n children,\n variant = 'primary',\n size = 'md',\n disabled,\n loading,\n leadingIcon: LeadingIcon,\n trailingIcon: TrailingIcon,\n asChild,\n className,\n onPress,\n testID,\n style,\n ...rest\n },\n forwardedRef\n) {\n const isInoperative = Boolean(disabled) || Boolean(loading);\n const classes = cn(\n BASE_CLASSES,\n VARIANT_CLASSES[variant],\n SIZE_CLASSES[size],\n isInoperative ? 'opacity-60' : undefined,\n className\n );\n\n const baseInlineStyle: StyleProp<ViewStyle> = [\n BASE_STYLE,\n VARIANT_STYLES[variant],\n SIZE_STYLES[size].container,\n isInoperative ? { opacity: 0.6 } : null,\n ];\n const pressableStyle: PressableProps['style'] =\n typeof style === 'function' ? (state) => [baseInlineStyle, style(state)] : [baseInlineStyle, style];\n const slotStyle: StyleProp<ViewStyle> = [baseInlineStyle, typeof style === 'function' ? null : style];\n\n const textColor = VARIANT_TEXT_COLOR[variant];\n const textStyle = { color: textColor, fontSize: SIZE_STYLES[size].text.fontSize, fontWeight: '500' as const };\n\n const handlePress: NonNullable<PressableProps['onPress']> = (ev) => {\n if (isInoperative) return;\n onPress?.(ev);\n };\n\n if (asChild) {\n const slotProps: Record<string, unknown> = {\n ref: forwardedRef,\n className: classes,\n style: slotStyle,\n onClick: handlePress as unknown as (...args: unknown[]) => unknown,\n ...rest,\n };\n if (isInoperative) slotProps['aria-disabled'] = true;\n if (loading) slotProps['aria-busy'] = true;\n if (testID !== undefined) slotProps['data-testid'] = testID;\n return <Slot {...slotProps}>{children}</Slot>;\n }\n\n const pressableExtra: Record<string, unknown> = {};\n if (isInoperative) pressableExtra['aria-disabled'] = true;\n if (loading) pressableExtra['aria-busy'] = true;\n\n return (\n <Pressable\n ref={forwardedRef as never}\n {...(testID !== undefined ? { testID } : {})}\n role=\"button\"\n accessibilityRole=\"button\"\n accessibilityState={{ disabled: isInoperative, busy: Boolean(loading) }}\n disabled={isInoperative}\n onPress={handlePress}\n className={classes}\n style={pressableStyle}\n {...pressableExtra}\n {...rest}\n >\n {loading ? (\n <Spinner size={ICON_SIZE[size]} label=\"Loading\" color={textColor} />\n ) : LeadingIcon ? (\n <LeadingIcon size={ICON_SIZE[size]} color={textColor} />\n ) : null}\n <RNText\n className={cn('font-medium', SIZE_CLASSES[size].includes('text-') ? undefined : 'text-md')}\n style={textStyle}\n >\n {children}\n </RNText>\n {TrailingIcon ? <TrailingIcon size={ICON_SIZE[size]} color={textColor} /> : null}\n </Pressable>\n );\n});\nButton.displayName = 'Button';\n","// default-semantic-icons — minimal built-in SVG placeholders for internal\n// library glyphs. Consumers can swap each one via the provider:\n//\n// <NoriProvider icons={{ checkmark: MyCheck, close: MyX }}>\n//\n// These defaults exist so the library renders usable UI out of the box even when\n// lucide-react(-native) is not installed. They are NOT intended to compete with\n// Lucide on style — override them to match your design system.\n\nimport type { ComponentType } from 'react';\nimport type { IconComponentProps } from './icon';\n\ntype SemanticIcon = ComponentType<IconComponentProps>;\n\nconst make = (path: string): SemanticIcon =>\n function PlaceholderIcon({ size = 20, color = 'currentColor' }) {\n return (\n <svg\n width={size}\n height={size}\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke={color}\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n >\n <path d={path} />\n </svg>\n );\n };\n\nexport type SemanticIcons = {\n checkmark: SemanticIcon;\n close: SemanticIcon;\n eye: SemanticIcon;\n eyeOff: SemanticIcon;\n chevronDown: SemanticIcon;\n chevronUp: SemanticIcon;\n alertTriangle: SemanticIcon;\n info: SemanticIcon;\n check: SemanticIcon;\n x: SemanticIcon;\n};\n\nexport const defaultSemanticIcons: SemanticIcons = {\n checkmark: make('M20 6 9 17l-5-5'),\n close: make('M18 6 6 18 M6 6l12 12'),\n eye: make('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'),\n eyeOff: make('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'),\n chevronDown: make('m6 9 6 6 6-6'),\n chevronUp: make('m18 15-6-6-6 6'),\n alertTriangle: make(\n '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'\n ),\n info: make(\n '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'\n ),\n check: make('M20 6 9 17l-5-5'),\n x: make('M18 6 6 18 M6 6l12 12'),\n};\n","'use client';\n\nimport type { ReactNode } from 'react';\nimport { createContext } from 'react';\nimport { defaultSemanticIcons, type SemanticIcons } from './default-semantic-icons';\n\nexport const SemanticIconsContext = createContext<SemanticIcons>(defaultSemanticIcons);\nSemanticIconsContext.displayName = 'SemanticIconsContext';\n\nexport type SemanticIconsProviderProps = {\n icons?: Partial<SemanticIcons>;\n children?: ReactNode;\n};\n\nexport function SemanticIconsProvider({ icons, children }: SemanticIconsProviderProps) {\n const merged: SemanticIcons = icons ? { ...defaultSemanticIcons, ...icons } : defaultSemanticIcons;\n return <SemanticIconsContext.Provider value={merged}>{children}</SemanticIconsContext.Provider>;\n}\n","'use client';\n\nimport { useContext } from 'react';\nimport type { SemanticIcons } from './default-semantic-icons';\nimport { SemanticIconsContext } from './semantic-context';\n\nexport function useSemanticIcon<K extends keyof SemanticIcons>(name: K): SemanticIcons[K] {\n const icons = useContext(SemanticIconsContext);\n return icons[name];\n}\n","'use client';\n\nimport { theme } from '@nori-ui/tokens';\nimport type { ReactNode } from 'react';\nimport { useCallback, useState } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport { Pressable, Text as RNText, View } from 'react-native';\nimport { useSemanticIcon } from '../../icons/use-semantic-icon';\nimport { Slot } from '../../slot';\nimport { cn } from '../../utils/cn';\n\nexport type CheckboxProps = {\n checked?: boolean;\n defaultChecked?: boolean;\n indeterminate?: boolean;\n disabled?: boolean;\n onChange?: (next: boolean) => void;\n label?: string;\n className?: string;\n testID?: string;\n asChild?: boolean;\n children?: ReactNode;\n};\n\n// Inline defaults so the checkbox renders correctly without NativeWind.\nconst ROW_STYLE: ViewStyle = { flexDirection: 'row', alignItems: 'center', gap: 8 };\nconst BOX_STYLE: ViewStyle = {\n width: 20,\n height: 20,\n borderRadius: 4,\n borderWidth: 1,\n borderColor: theme.color.neutral['300'],\n backgroundColor: '#ffffff',\n alignItems: 'center',\n justifyContent: 'center',\n};\nconst BOX_STYLE_CHECKED: ViewStyle = {\n backgroundColor: theme.color.primary['600'],\n borderColor: theme.color.primary['600'],\n};\n\n/**\n * Checkbox — supports controlled + uncontrolled state, indeterminate (aria-checked=\"mixed\"),\n * asChild (via Slot), and a visible label that doubles as the accessibility label.\n */\nexport function Checkbox({\n checked,\n defaultChecked = false,\n indeterminate,\n disabled,\n onChange,\n label,\n className,\n testID,\n asChild,\n children,\n}: CheckboxProps) {\n const [inner, setInner] = useState<boolean>(defaultChecked);\n const isControlled = checked !== undefined;\n const value = isControlled ? Boolean(checked) : inner;\n\n const ariaChecked: 'true' | 'false' | 'mixed' = indeterminate ? 'mixed' : value ? 'true' : 'false';\n const isMarked = value || Boolean(indeterminate);\n\n const toggle = useCallback(() => {\n if (disabled) return;\n const next = !value;\n if (!isControlled) setInner(next);\n onChange?.(next);\n }, [disabled, value, isControlled, onChange]);\n\n const Check = useSemanticIcon('checkmark');\n\n const commonProps: Record<string, unknown> = {\n role: 'checkbox',\n 'aria-checked': ariaChecked,\n accessibilityRole: 'checkbox' as const,\n accessibilityState: { checked: value, disabled: Boolean(disabled) },\n testID,\n };\n if (disabled) commonProps['aria-disabled'] = true;\n if (label !== undefined) {\n commonProps['aria-label'] = label;\n commonProps.accessibilityLabel = label;\n }\n\n if (asChild) {\n const slotProps: Record<string, unknown> = {\n role: 'checkbox',\n 'aria-checked': ariaChecked,\n onClick: toggle,\n };\n if (disabled) slotProps['aria-disabled'] = true;\n if (label !== undefined) slotProps['aria-label'] = label;\n if (testID !== undefined) slotProps['data-testid'] = testID;\n if (className !== undefined) slotProps.className = className;\n return <Slot {...slotProps}>{children}</Slot>;\n }\n\n const boxClasses = cn('w-5 h-5 rounded-sm border border-semantic-border-strong items-center justify-center');\n\n return (\n <View\n className={cn('flex-row items-center gap-2', disabled ? 'opacity-60' : undefined, className)}\n style={[ROW_STYLE, disabled ? { opacity: 0.6 } : null]}\n >\n <Pressable\n onPress={toggle}\n {...commonProps}\n className={boxClasses}\n style={[BOX_STYLE, isMarked && !disabled ? BOX_STYLE_CHECKED : null]}\n >\n {isMarked && !disabled ? <Check size={14} color=\"#ffffff\" /> : null}\n </Pressable>\n {children ??\n (label !== undefined ? (\n <RNText style={{ color: theme.color.neutral['900'], fontSize: 16 }}>{label}</RNText>\n ) : null)}\n </View>\n );\n}\n","import type { ViewProps } from 'react-native';\nimport { View } from 'react-native';\nimport { cn } from '../../utils/cn';\n\nexport type StackGap = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 8 | 10 | 12;\nexport type StackAlign = 'start' | 'center' | 'end' | 'stretch' | 'baseline';\nexport type StackJustify = 'start' | 'center' | 'end' | 'between' | 'around' | 'evenly';\n\nexport type HStackProps = ViewProps & {\n gap?: StackGap;\n align?: StackAlign;\n justify?: StackJustify;\n className?: string;\n testID?: string;\n};\n\nconst ALIGN_CLASS: Record<StackAlign, string> = {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n baseline: 'items-baseline',\n};\n\nconst JUSTIFY_CLASS: Record<StackJustify, string> = {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n};\n\n/**\n * Horizontal flex layout primitive. RSC-safe.\n */\nexport function HStack({ gap, align, justify, className, children, ...rest }: HStackProps) {\n return (\n <View\n {...rest}\n className={cn(\n 'flex-row',\n gap !== undefined && gap !== 0 ? `gap-${gap}` : undefined,\n align !== undefined ? ALIGN_CLASS[align] : undefined,\n justify !== undefined ? JUSTIFY_CLASS[justify] : undefined,\n className\n )}\n >\n {children}\n </View>\n );\n}\n","'use client';\n\nimport { theme } from '@nori-ui/tokens';\nimport type { ReactNode } from 'react';\nimport { useCallback, useState } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport { Pressable, Text as RNText, View } from 'react-native';\nimport { Slot } from '../../slot';\nimport { cn } from '../../utils/cn';\n\nexport type SwitchProps = {\n checked?: boolean;\n defaultChecked?: boolean;\n disabled?: boolean;\n onChange?: (next: boolean) => void;\n label?: string;\n className?: string;\n testID?: string;\n asChild?: boolean;\n children?: ReactNode;\n};\n\nconst ROW_STYLE: ViewStyle = { flexDirection: 'row', alignItems: 'center', gap: 8 };\nconst TRACK_BASE: ViewStyle = {\n width: 40,\n height: 24,\n borderRadius: 12,\n justifyContent: 'center',\n paddingHorizontal: 2,\n};\nconst THUMB_STYLE: ViewStyle = {\n width: 20,\n height: 20,\n borderRadius: 10,\n backgroundColor: '#ffffff',\n shadowColor: '#000',\n shadowOpacity: 0.15,\n shadowRadius: 2,\n shadowOffset: { width: 0, height: 1 },\n elevation: 2,\n};\n\n/**\n * Switch — a toggle control with role=\"switch\". Supports controlled + uncontrolled,\n * disabled state, asChild (via Slot), and a visible label that doubles as the\n * accessibility label.\n */\nexport function Switch({\n checked,\n defaultChecked = false,\n disabled,\n onChange,\n label,\n className,\n testID,\n asChild,\n children,\n}: SwitchProps) {\n const [inner, setInner] = useState<boolean>(defaultChecked);\n const isControlled = checked !== undefined;\n const value = isControlled ? Boolean(checked) : inner;\n\n const toggle = useCallback(() => {\n if (disabled) return;\n const next = !value;\n if (!isControlled) setInner(next);\n onChange?.(next);\n }, [disabled, value, isControlled, onChange]);\n\n const ariaChecked: 'true' | 'false' = value ? 'true' : 'false';\n\n const commonProps: Record<string, unknown> = {\n role: 'switch',\n 'aria-checked': ariaChecked,\n accessibilityRole: 'switch' as const,\n accessibilityState: { checked: value, disabled: Boolean(disabled) },\n testID,\n };\n if (disabled) commonProps['aria-disabled'] = true;\n if (label !== undefined) {\n commonProps['aria-label'] = label;\n commonProps.accessibilityLabel = label;\n }\n\n if (asChild) {\n const slotProps: Record<string, unknown> = {\n role: 'switch',\n 'aria-checked': ariaChecked,\n onClick: toggle,\n };\n if (disabled) slotProps['aria-disabled'] = true;\n if (label !== undefined) slotProps['aria-label'] = label;\n if (testID !== undefined) slotProps['data-testid'] = testID;\n if (className !== undefined) slotProps.className = className;\n return <Slot {...slotProps}>{children}</Slot>;\n }\n\n const trackClasses = cn(\n 'w-10 h-6 rounded-full justify-center px-0.5 transition-colors',\n value ? 'bg-semantic-interactive-primary' : 'bg-neutral-300',\n disabled ? 'opacity-60' : undefined\n );\n const thumbClasses = cn('w-5 h-5 rounded-full bg-white shadow-sm', value ? 'self-end' : 'self-start');\n\n const trackStyle = [\n TRACK_BASE,\n { backgroundColor: value ? theme.color.primary['600'] : theme.color.neutral['300'] },\n disabled ? { opacity: 0.6 } : null,\n ];\n const thumbStyle = [THUMB_STYLE, { alignSelf: value ? 'flex-end' : 'flex-start' } as ViewStyle];\n\n return (\n <View className={cn('flex-row items-center gap-2', className)} style={ROW_STYLE}>\n <Pressable onPress={toggle} {...commonProps} className={trackClasses} style={trackStyle}>\n <View className={thumbClasses} style={thumbStyle} />\n </Pressable>\n {label ? (\n <RNText\n className=\"text-md text-semantic-text-default\"\n style={{ color: theme.color.neutral['900'], fontSize: 16 }}\n >\n {label}\n </RNText>\n ) : null}\n {children}\n </View>\n );\n}\n","import type { TextProps as RNTextProps } from 'react-native';\nimport { Text as RNText } from 'react-native';\nimport { cn } from '../../utils/cn';\n\nexport type TextVariant = 'body-xs' | 'body-sm' | 'body-md' | 'body-lg' | 'heading-1' | 'heading-2' | 'heading-3';\n\nexport type TextProps = RNTextProps & {\n variant?: TextVariant;\n className?: string;\n testID?: string;\n};\n\nconst VARIANT_CLASSES: Record<TextVariant, string> = {\n 'body-xs': 'text-xs leading-normal',\n 'body-sm': 'text-sm leading-normal',\n 'body-md': 'text-md leading-normal',\n 'body-lg': 'text-lg leading-relaxed',\n 'heading-1': 'text-4xl leading-tight font-bold',\n 'heading-2': 'text-3xl leading-tight font-semibold',\n 'heading-3': 'text-2xl leading-tight font-semibold',\n};\n\nconst HEADING_VARIANTS: Readonly<Set<TextVariant>> = new Set(['heading-1', 'heading-2', 'heading-3']);\n\n/**\n * Typography primitive. Renders a react-native <Text>; on web via RN-Web\n * it becomes a <div role=\"...\"> with the appropriate className.\n *\n * RSC-safe: pure render, no hooks.\n */\nexport function Text({ variant = 'body-md', className, testID, children, ...rest }: TextProps) {\n const isHeading = HEADING_VARIANTS.has(variant);\n const role = isHeading ? 'header' : rest.accessibilityRole;\n return (\n <RNText\n testID={testID}\n {...rest}\n {...(role !== undefined ? { accessibilityRole: role } : {})}\n className={cn(VARIANT_CLASSES[variant], className)}\n >\n {children}\n </RNText>\n );\n}\n","import { theme } from '@nori-ui/tokens';\nimport type { ReactNode } from 'react';\nimport { useId } from 'react';\nimport type { TextInputProps as RNTextInputProps, TextStyle, ViewStyle } from 'react-native';\nimport { Text as RNText, TextInput as RNTextInput, View } from 'react-native';\nimport { cn } from '../../utils/cn';\n\nexport type TextInputProps = Omit<RNTextInputProps, 'editable'> & {\n label?: string;\n helperText?: string;\n error?: string;\n disabled?: boolean;\n leading?: ReactNode;\n trailing?: ReactNode;\n /** Pass through a custom wrapper className */\n containerClassName?: string;\n className?: string;\n testID?: string;\n /** Controlled text handler. Optional so uncontrolled usage works too. */\n onChangeText?: (text: string) => void;\n /** Multi-line mode — flipped by TextArea. Default false. */\n multiline?: boolean;\n numberOfLines?: number;\n};\n\nconst CONTAINER_STYLE: ViewStyle = { flexDirection: 'column', gap: 4 };\nconst LABEL_STYLE: TextStyle = { fontSize: 14, fontWeight: '500', color: theme.color.neutral['900'] };\nconst FIELD_BASE_STYLE: ViewStyle = {\n flexDirection: 'row',\n alignItems: 'center',\n borderRadius: 6,\n borderWidth: 1,\n paddingHorizontal: 12,\n};\nconst INPUT_STYLE: TextStyle = {\n flex: 1,\n paddingVertical: 8,\n fontSize: 16,\n color: theme.color.neutral['900'],\n};\nconst HELPER_STYLE: TextStyle = { fontSize: 14, color: theme.color.neutral['500'] };\nconst ERROR_STYLE: TextStyle = { fontSize: 14, color: theme.color.danger };\n\n/**\n * Single-line text input with label, helper, error, and leading/trailing slots.\n *\n * a11y: label is a <label for={id}>; the input is `aria-invalid=true` + labelled\n * by the error/helper text via aria-describedby when present.\n *\n * Notionally RSC-safe — uses only useId() which React 19 guarantees is safe on\n * the server. No \"use client\" required.\n */\nexport function TextInput({\n label,\n helperText,\n error,\n disabled,\n leading,\n trailing,\n containerClassName,\n className,\n testID,\n onChangeText,\n multiline,\n numberOfLines,\n ...rest\n}: TextInputProps) {\n const reactId = useId();\n const inputId = testID ?? `nori-ui-input-${reactId}`;\n const describeId = `${inputId}-describe`;\n const hasError = Boolean(error);\n const describedBy = error || helperText ? describeId : undefined;\n\n const inputExtras: Record<string, unknown> = {};\n if (testID !== undefined) inputExtras.testID = testID;\n if (label !== undefined) inputExtras.accessibilityLabel = label;\n if (hasError) inputExtras['aria-invalid'] = true;\n if (describedBy !== undefined) inputExtras['aria-describedby'] = describedBy;\n if (multiline !== undefined) inputExtras.multiline = multiline;\n if (numberOfLines !== undefined) inputExtras.numberOfLines = numberOfLines;\n if (onChangeText !== undefined) inputExtras.onChangeText = onChangeText;\n\n const fieldStyle = [\n FIELD_BASE_STYLE,\n { borderColor: hasError ? theme.color.danger : theme.color.neutral['200'] },\n disabled ? { opacity: 0.6 } : null,\n ];\n\n return (\n <View className={cn('flex flex-col gap-1', containerClassName)} style={CONTAINER_STYLE}>\n {label !== undefined ? (\n <label\n htmlFor={inputId}\n className=\"text-sm font-medium text-semantic-text-default\"\n style={LABEL_STYLE as object}\n >\n {label}\n </label>\n ) : null}\n <View\n className={cn(\n 'flex-row items-center rounded-md border px-3',\n hasError ? 'border-semantic-interactive-destructive' : 'border-semantic-border-default',\n disabled ? 'opacity-60' : undefined\n )}\n style={fieldStyle}\n >\n {leading ? (\n <View className=\"mr-2\" style={{ marginRight: 8 }}>\n {leading}\n </View>\n ) : null}\n <RNTextInput\n nativeID={inputId}\n editable={!disabled}\n className={cn('flex-1 py-2 text-md text-semantic-text-default outline-none', className)}\n style={INPUT_STYLE}\n placeholderTextColor={theme.color.neutral['400']}\n {...inputExtras}\n {...rest}\n />\n {trailing ? (\n <View className=\"ml-2\" style={{ marginLeft: 8 }}>\n {trailing}\n </View>\n ) : null}\n </View>\n {error ? (\n <RNText\n nativeID={describeId}\n className=\"text-sm text-semantic-interactive-destructive\"\n style={ERROR_STYLE}\n >\n {error}\n </RNText>\n ) : helperText ? (\n <RNText nativeID={describeId} className=\"text-sm text-semantic-text-muted\" style={HELPER_STYLE}>\n {helperText}\n </RNText>\n ) : null}\n </View>\n );\n}\n","import type { TextInputProps } from '../TextInput';\nimport { TextInput } from '../TextInput';\n\nexport type TextAreaProps = TextInputProps;\n\n/**\n * Multi-line text input. Thin wrapper over TextInput that fixes `multiline=true`\n * and provides a sensible default for `numberOfLines`.\n */\nexport function TextArea({ numberOfLines = 4, ...rest }: TextAreaProps) {\n return <TextInput multiline numberOfLines={numberOfLines} {...rest} />;\n}\n","import type { ViewProps } from 'react-native';\nimport { View } from 'react-native';\nimport { cn } from '../../utils/cn';\nimport type { StackAlign, StackGap, StackJustify } from '../HStack/HStack';\n\nexport type VStackProps = ViewProps & {\n gap?: StackGap;\n align?: StackAlign;\n justify?: StackJustify;\n className?: string;\n testID?: string;\n};\n\nconst ALIGN_CLASS: Record<StackAlign, string> = {\n start: 'items-start',\n center: 'items-center',\n end: 'items-end',\n stretch: 'items-stretch',\n baseline: 'items-baseline',\n};\n\nconst JUSTIFY_CLASS: Record<StackJustify, string> = {\n start: 'justify-start',\n center: 'justify-center',\n end: 'justify-end',\n between: 'justify-between',\n around: 'justify-around',\n evenly: 'justify-evenly',\n};\n\n/**\n * Vertical flex layout primitive. RSC-safe.\n */\nexport function VStack({ gap, align, justify, className, children, ...rest }: VStackProps) {\n return (\n <View\n {...rest}\n className={cn(\n 'flex-col',\n gap !== undefined && gap !== 0 ? `gap-${gap}` : undefined,\n align !== undefined ? ALIGN_CLASS[align] : undefined,\n justify !== undefined ? JUSTIFY_CLASS[justify] : undefined,\n className\n )}\n >\n {children}\n </View>\n );\n}\n","// Story registry — enumerated list of CSF stories in the library.\n// Used by playground-native (which can't auto-discover via Storybook) to\n// render the same set of variants.\n//\n// Each entry maps a display title to a render function. Plan 05 adds one\n// entry per component variant.\n\nimport type { ComponentType } from 'react';\nimport { View } from 'react-native';\nimport { Box } from '../components/Box';\nimport { Button } from '../components/Button';\nimport { Checkbox } from '../components/Checkbox';\nimport { HStack } from '../components/HStack';\nimport { Spinner } from '../components/Spinner';\nimport { Switch } from '../components/Switch';\nimport { Text } from '../components/Text';\nimport { TextArea } from '../components/TextArea';\nimport { TextInput } from '../components/TextInput';\nimport { VStack } from '../components/VStack';\n\nexport type StoryEntry = {\n /** Dot-separated story id, e.g. \"Button/Primary\" */\n id: string;\n /** Human title shown in Storybook + playground-native */\n title: string;\n /** Renderable component (already wrapped with its args) */\n render: ComponentType<Record<string, never>>;\n};\n\nexport const stories: StoryEntry[] = [\n {\n id: 'text.body-md',\n title: 'Text · body-md',\n render: () => <Text testID=\"story-text-body-md\">Hello world</Text>,\n },\n {\n id: 'text.heading-1',\n title: 'Text · heading-1',\n render: () => (\n <Text variant=\"heading-1\" testID=\"story-text-heading-1\">\n Heading\n </Text>\n ),\n },\n {\n id: 'box.default',\n title: 'Box · default',\n render: () => (\n <Box testID=\"story-box-default\" className=\"p-4 bg-primary-50 rounded-md\">\n <Text>Box content</Text>\n </Box>\n ),\n },\n {\n id: 'hstack.gap-4',\n title: 'HStack · gap 4',\n render: () => (\n <HStack testID=\"story-hstack-gap-4\" gap={4}>\n <View testID=\"story-hstack-a\" style={{ padding: 8, backgroundColor: '#dbeafe' }}>\n <Text>A</Text>\n </View>\n <View testID=\"story-hstack-b\" style={{ padding: 8, backgroundColor: '#bfdbfe' }}>\n <Text>B</Text>\n </View>\n </HStack>\n ),\n },\n {\n id: 'vstack.gap-4',\n title: 'VStack · gap 4',\n render: () => (\n <VStack testID=\"story-vstack-gap-4\" gap={4}>\n <View testID=\"story-vstack-a\" style={{ padding: 8, backgroundColor: '#dbeafe' }}>\n <Text>A</Text>\n </View>\n <View testID=\"story-vstack-b\" style={{ padding: 8, backgroundColor: '#bfdbfe' }}>\n <Text>B</Text>\n </View>\n </VStack>\n ),\n },\n {\n id: 'spinner.md',\n title: 'Spinner · md',\n render: () => <Spinner testID=\"story-spinner-md\" size=\"md\" />,\n },\n {\n id: 'spinner.lg',\n title: 'Spinner · lg',\n render: () => <Spinner testID=\"story-spinner-lg\" size=\"lg\" />,\n },\n {\n id: 'button.primary',\n title: 'Button · primary',\n render: () => <Button testID=\"story-button-primary\">Click me</Button>,\n },\n {\n id: 'button.destructive',\n title: 'Button · destructive',\n render: () => (\n <Button testID=\"story-button-destructive\" variant=\"destructive\">\n Delete\n </Button>\n ),\n },\n {\n id: 'button.loading',\n title: 'Button · loading',\n render: () => (\n <Button testID=\"story-button-loading\" loading>\n Saving\n </Button>\n ),\n },\n {\n id: 'text-input.default',\n title: 'TextInput · default',\n render: () => <TextInput testID=\"story-text-input-default\" label=\"Email\" placeholder=\"you@example.com\" />,\n },\n {\n id: 'text-input.error',\n title: 'TextInput · error',\n render: () => <TextInput testID=\"story-text-input-error\" label=\"Email\" error=\"Required\" />,\n },\n {\n id: 'text-area.default',\n title: 'TextArea · default',\n render: () => <TextArea testID=\"story-text-area-default\" label=\"Bio\" numberOfLines={3} />,\n },\n {\n id: 'checkbox.default',\n title: 'Checkbox · default',\n render: () => <Checkbox testID=\"story-checkbox-default\" label=\"Accept\" />,\n },\n {\n id: 'checkbox.checked',\n title: 'Checkbox · checked',\n render: () => <Checkbox testID=\"story-checkbox-checked\" label=\"Accept\" defaultChecked />,\n },\n {\n id: 'switch.default',\n title: 'Switch · default',\n render: () => <Switch testID=\"story-switch-default\" label=\"Dark mode\" />,\n },\n {\n id: 'switch.on',\n title: 'Switch · on',\n render: () => <Switch testID=\"story-switch-on\" label=\"Dark mode\" defaultChecked />,\n },\n];\n"]}
@@ -1,13 +0,0 @@
1
- import { ComponentType } from 'react';
2
-
3
- type StoryEntry = {
4
- /** Dot-separated story id, e.g. "Button/Primary" */
5
- id: string;
6
- /** Human title shown in Storybook + playground-native */
7
- title: string;
8
- /** Renderable component (already wrapped with its args) */
9
- render: ComponentType<Record<string, never>>;
10
- };
11
- declare const stories: StoryEntry[];
12
-
13
- export { type StoryEntry, stories };
@@ -1,13 +0,0 @@
1
- import { ComponentType } from 'react';
2
-
3
- type StoryEntry = {
4
- /** Dot-separated story id, e.g. "Button/Primary" */
5
- id: string;
6
- /** Human title shown in Storybook + playground-native */
7
- title: string;
8
- /** Renderable component (already wrapped with its args) */
9
- render: ComponentType<Record<string, never>>;
10
- };
11
- declare const stories: StoryEntry[];
12
-
13
- export { type StoryEntry, stories };
@@ -1,106 +0,0 @@
1
- import { Text, Box, HStack, VStack, Spinner, Button, TextInput, TextArea, Checkbox, Switch } from '../chunk-X3AJNNF6.js';
2
- import '../chunk-6OABNXBY.js';
3
- import '../chunk-NDEDMCHT.js';
4
- import '../chunk-FXKIWONG.js';
5
- import '../chunk-XGM2K4TT.js';
6
- import { __name } from '../chunk-7QVYU63E.js';
7
- import { View } from 'react-native';
8
- import { jsx, jsxs } from 'nativewind/jsx-runtime';
9
-
10
- var stories = [
11
- {
12
- id: "text.body-md",
13
- title: "Text \xB7 body-md",
14
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Text, { testID: "story-text-body-md", children: "Hello world" }), "render")
15
- },
16
- {
17
- id: "text.heading-1",
18
- title: "Text \xB7 heading-1",
19
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Text, { variant: "heading-1", testID: "story-text-heading-1", children: "Heading" }), "render")
20
- },
21
- {
22
- id: "box.default",
23
- title: "Box \xB7 default",
24
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Box, { testID: "story-box-default", className: "p-4 bg-primary-50 rounded-md", children: /* @__PURE__ */ jsx(Text, { children: "Box content" }) }), "render")
25
- },
26
- {
27
- id: "hstack.gap-4",
28
- title: "HStack \xB7 gap 4",
29
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsxs(HStack, { testID: "story-hstack-gap-4", gap: 4, children: [
30
- /* @__PURE__ */ jsx(View, { testID: "story-hstack-a", style: { padding: 8, backgroundColor: "#dbeafe" }, children: /* @__PURE__ */ jsx(Text, { children: "A" }) }),
31
- /* @__PURE__ */ jsx(View, { testID: "story-hstack-b", style: { padding: 8, backgroundColor: "#bfdbfe" }, children: /* @__PURE__ */ jsx(Text, { children: "B" }) })
32
- ] }), "render")
33
- },
34
- {
35
- id: "vstack.gap-4",
36
- title: "VStack \xB7 gap 4",
37
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsxs(VStack, { testID: "story-vstack-gap-4", gap: 4, children: [
38
- /* @__PURE__ */ jsx(View, { testID: "story-vstack-a", style: { padding: 8, backgroundColor: "#dbeafe" }, children: /* @__PURE__ */ jsx(Text, { children: "A" }) }),
39
- /* @__PURE__ */ jsx(View, { testID: "story-vstack-b", style: { padding: 8, backgroundColor: "#bfdbfe" }, children: /* @__PURE__ */ jsx(Text, { children: "B" }) })
40
- ] }), "render")
41
- },
42
- {
43
- id: "spinner.md",
44
- title: "Spinner \xB7 md",
45
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Spinner, { testID: "story-spinner-md", size: "md" }), "render")
46
- },
47
- {
48
- id: "spinner.lg",
49
- title: "Spinner \xB7 lg",
50
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Spinner, { testID: "story-spinner-lg", size: "lg" }), "render")
51
- },
52
- {
53
- id: "button.primary",
54
- title: "Button \xB7 primary",
55
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Button, { testID: "story-button-primary", children: "Click me" }), "render")
56
- },
57
- {
58
- id: "button.destructive",
59
- title: "Button \xB7 destructive",
60
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Button, { testID: "story-button-destructive", variant: "destructive", children: "Delete" }), "render")
61
- },
62
- {
63
- id: "button.loading",
64
- title: "Button \xB7 loading",
65
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Button, { testID: "story-button-loading", loading: true, children: "Saving" }), "render")
66
- },
67
- {
68
- id: "text-input.default",
69
- title: "TextInput \xB7 default",
70
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(TextInput, { testID: "story-text-input-default", label: "Email", placeholder: "you@example.com" }), "render")
71
- },
72
- {
73
- id: "text-input.error",
74
- title: "TextInput \xB7 error",
75
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(TextInput, { testID: "story-text-input-error", label: "Email", error: "Required" }), "render")
76
- },
77
- {
78
- id: "text-area.default",
79
- title: "TextArea \xB7 default",
80
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(TextArea, { testID: "story-text-area-default", label: "Bio", numberOfLines: 3 }), "render")
81
- },
82
- {
83
- id: "checkbox.default",
84
- title: "Checkbox \xB7 default",
85
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Checkbox, { testID: "story-checkbox-default", label: "Accept" }), "render")
86
- },
87
- {
88
- id: "checkbox.checked",
89
- title: "Checkbox \xB7 checked",
90
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Checkbox, { testID: "story-checkbox-checked", label: "Accept", defaultChecked: true }), "render")
91
- },
92
- {
93
- id: "switch.default",
94
- title: "Switch \xB7 default",
95
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Switch, { testID: "story-switch-default", label: "Dark mode" }), "render")
96
- },
97
- {
98
- id: "switch.on",
99
- title: "Switch \xB7 on",
100
- render: /* @__PURE__ */ __name(() => /* @__PURE__ */ jsx(Switch, { testID: "story-switch-on", label: "Dark mode", defaultChecked: true }), "render")
101
- }
102
- ];
103
-
104
- export { stories };
105
- //# sourceMappingURL=story-registry.js.map
106
- //# sourceMappingURL=story-registry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/stories/story-registry.tsx"],"names":[],"mappings":";;;;;;;;;AA6BO,IAAM,OAAA,GAAwB;AAAA,EACjC;AAAA,IACI,EAAA,EAAI,cAAA;AAAA,IACJ,KAAA,EAAO,mBAAA;AAAA,IACP,wBAAQ,MAAA,CAAA,sBAAM,GAAA,CAAC,QAAK,MAAA,EAAO,oBAAA,EAAqB,yBAAW,CAAA,EAAnD,QAAA;AAAA,GACZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,gBAAA;AAAA,IACJ,KAAA,EAAO,qBAAA;AAAA,IACP,MAAA,+CACI,GAAA,CAAC,IAAA,EAAA,EAAK,SAAQ,WAAA,EAAY,MAAA,EAAO,sBAAA,EAAuB,QAAA,EAAA,SAAA,EAExD,CAAA,EAHI,QAAA;AAAA,GAKZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,aAAA;AAAA,IACJ,KAAA,EAAO,kBAAA;AAAA,IACP,MAAA,kBAAQ,MAAA,CAAA,sBACJ,GAAA,CAAC,GAAA,EAAA,EAAI,MAAA,EAAO,mBAAA,EAAoB,SAAA,EAAU,8BAAA,EACtC,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,QAAA,EAAA,aAAA,EAAW,CAAA,EACrB,CAAA,EAHI,QAAA;AAAA,GAKZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,cAAA;AAAA,IACJ,KAAA,EAAO,mBAAA;AAAA,IACP,wBAAQ,MAAA,CAAA,sBACJ,IAAA,CAAC,UAAO,MAAA,EAAO,oBAAA,EAAqB,KAAK,CAAA,EACrC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,MAAA,EAAO,gBAAA,EAAiB,KAAA,EAAO,EAAE,OAAA,EAAS,CAAA,EAAG,eAAA,EAAiB,SAAA,EAAU,EAC1E,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,eAAC,CAAA,EACX,CAAA;AAAA,sBACA,GAAA,CAAC,IAAA,EAAA,EAAK,MAAA,EAAO,gBAAA,EAAiB,OAAO,EAAE,OAAA,EAAS,CAAA,EAAG,eAAA,EAAiB,SAAA,EAAU,EAC1E,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,eAAC,CAAA,EACX;AAAA,KAAA,EACJ,CAAA,EARI,QAAA;AAAA,GAUZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,cAAA;AAAA,IACJ,KAAA,EAAO,mBAAA;AAAA,IACP,wBAAQ,MAAA,CAAA,sBACJ,IAAA,CAAC,UAAO,MAAA,EAAO,oBAAA,EAAqB,KAAK,CAAA,EACrC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,MAAA,EAAO,gBAAA,EAAiB,KAAA,EAAO,EAAE,OAAA,EAAS,CAAA,EAAG,eAAA,EAAiB,SAAA,EAAU,EAC1E,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,eAAC,CAAA,EACX,CAAA;AAAA,sBACA,GAAA,CAAC,IAAA,EAAA,EAAK,MAAA,EAAO,gBAAA,EAAiB,OAAO,EAAE,OAAA,EAAS,CAAA,EAAG,eAAA,EAAiB,SAAA,EAAU,EAC1E,QAAA,kBAAA,GAAA,CAAC,IAAA,EAAA,EAAK,eAAC,CAAA,EACX;AAAA,KAAA,EACJ,CAAA,EARI,QAAA;AAAA,GAUZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,YAAA;AAAA,IACJ,KAAA,EAAO,iBAAA;AAAA,IACP,MAAA,+CAAc,GAAA,CAAC,OAAA,EAAA,EAAQ,QAAO,kBAAA,EAAmB,IAAA,EAAK,MAAK,CAAA,EAAnD,QAAA;AAAA,GACZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,YAAA;AAAA,IACJ,KAAA,EAAO,iBAAA;AAAA,IACP,MAAA,+CAAc,GAAA,CAAC,OAAA,EAAA,EAAQ,QAAO,kBAAA,EAAmB,IAAA,EAAK,MAAK,CAAA,EAAnD,QAAA;AAAA,GACZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,gBAAA;AAAA,IACJ,KAAA,EAAO,qBAAA;AAAA,IACP,wBAAQ,MAAA,CAAA,sBAAM,GAAA,CAAC,UAAO,MAAA,EAAO,sBAAA,EAAuB,sBAAQ,CAAA,EAApD,QAAA;AAAA,GACZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,oBAAA;AAAA,IACJ,KAAA,EAAO,yBAAA;AAAA,IACP,MAAA,+CACI,GAAA,CAAC,MAAA,EAAA,EAAO,QAAO,0BAAA,EAA2B,OAAA,EAAQ,aAAA,EAAc,QAAA,EAAA,QAAA,EAEhE,CAAA,EAHI,QAAA;AAAA,GAKZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,gBAAA;AAAA,IACJ,KAAA,EAAO,qBAAA;AAAA,IACP,MAAA,+CACI,GAAA,CAAC,MAAA,EAAA,EAAO,QAAO,sBAAA,EAAuB,OAAA,EAAO,IAAA,EAAC,QAAA,EAAA,QAAA,EAE9C,CAAA,EAHI,QAAA;AAAA,GAKZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,oBAAA;AAAA,IACJ,KAAA,EAAO,wBAAA;AAAA,IACP,MAAA,kBAAQ,MAAA,CAAA,sBAAM,GAAA,CAAC,SAAA,EAAA,EAAU,MAAA,EAAO,4BAA2B,KAAA,EAAM,OAAA,EAAQ,WAAA,EAAY,iBAAA,EAAkB,CAAA,EAA/F,QAAA;AAAA,GACZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,kBAAA;AAAA,IACJ,KAAA,EAAO,sBAAA;AAAA,IACP,MAAA,kBAAQ,MAAA,CAAA,sBAAM,GAAA,CAAC,SAAA,EAAA,EAAU,MAAA,EAAO,0BAAyB,KAAA,EAAM,OAAA,EAAQ,KAAA,EAAM,UAAA,EAAW,CAAA,EAAhF,QAAA;AAAA,GACZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,mBAAA;AAAA,IACJ,KAAA,EAAO,uBAAA;AAAA,IACP,MAAA,kBAAQ,MAAA,CAAA,sBAAM,GAAA,CAAC,QAAA,EAAA,EAAS,MAAA,EAAO,2BAA0B,KAAA,EAAM,KAAA,EAAM,aAAA,EAAe,CAAA,EAAG,CAAA,EAA/E,QAAA;AAAA,GACZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,kBAAA;AAAA,IACJ,KAAA,EAAO,uBAAA;AAAA,IACP,MAAA,+CAAc,GAAA,CAAC,QAAA,EAAA,EAAS,QAAO,wBAAA,EAAyB,KAAA,EAAM,UAAS,CAAA,EAA/D,QAAA;AAAA,GACZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,kBAAA;AAAA,IACJ,KAAA,EAAO,uBAAA;AAAA,IACP,MAAA,kBAAQ,MAAA,CAAA,sBAAM,GAAA,CAAC,QAAA,EAAA,EAAS,MAAA,EAAO,0BAAyB,KAAA,EAAM,QAAA,EAAS,cAAA,EAAc,IAAA,EAAC,CAAA,EAA9E,QAAA;AAAA,GACZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,gBAAA;AAAA,IACJ,KAAA,EAAO,qBAAA;AAAA,IACP,MAAA,+CAAc,GAAA,CAAC,MAAA,EAAA,EAAO,QAAO,sBAAA,EAAuB,KAAA,EAAM,aAAY,CAAA,EAA9D,QAAA;AAAA,GACZ;AAAA,EACA;AAAA,IACI,EAAA,EAAI,WAAA;AAAA,IACJ,KAAA,EAAO,gBAAA;AAAA,IACP,MAAA,kBAAQ,MAAA,CAAA,sBAAM,GAAA,CAAC,MAAA,EAAA,EAAO,MAAA,EAAO,mBAAkB,KAAA,EAAM,WAAA,EAAY,cAAA,EAAc,IAAA,EAAC,CAAA,EAAxE,QAAA;AAAA;AAEhB","file":"story-registry.js","sourcesContent":["// Story registry — enumerated list of CSF stories in the library.\n// Used by playground-native (which can't auto-discover via Storybook) to\n// render the same set of variants.\n//\n// Each entry maps a display title to a render function. Plan 05 adds one\n// entry per component variant.\n\nimport type { ComponentType } from 'react';\nimport { View } from 'react-native';\nimport { Box } from '../components/Box';\nimport { Button } from '../components/Button';\nimport { Checkbox } from '../components/Checkbox';\nimport { HStack } from '../components/HStack';\nimport { Spinner } from '../components/Spinner';\nimport { Switch } from '../components/Switch';\nimport { Text } from '../components/Text';\nimport { TextArea } from '../components/TextArea';\nimport { TextInput } from '../components/TextInput';\nimport { VStack } from '../components/VStack';\n\nexport type StoryEntry = {\n /** Dot-separated story id, e.g. \"Button/Primary\" */\n id: string;\n /** Human title shown in Storybook + playground-native */\n title: string;\n /** Renderable component (already wrapped with its args) */\n render: ComponentType<Record<string, never>>;\n};\n\nexport const stories: StoryEntry[] = [\n {\n id: 'text.body-md',\n title: 'Text · body-md',\n render: () => <Text testID=\"story-text-body-md\">Hello world</Text>,\n },\n {\n id: 'text.heading-1',\n title: 'Text · heading-1',\n render: () => (\n <Text variant=\"heading-1\" testID=\"story-text-heading-1\">\n Heading\n </Text>\n ),\n },\n {\n id: 'box.default',\n title: 'Box · default',\n render: () => (\n <Box testID=\"story-box-default\" className=\"p-4 bg-primary-50 rounded-md\">\n <Text>Box content</Text>\n </Box>\n ),\n },\n {\n id: 'hstack.gap-4',\n title: 'HStack · gap 4',\n render: () => (\n <HStack testID=\"story-hstack-gap-4\" gap={4}>\n <View testID=\"story-hstack-a\" style={{ padding: 8, backgroundColor: '#dbeafe' }}>\n <Text>A</Text>\n </View>\n <View testID=\"story-hstack-b\" style={{ padding: 8, backgroundColor: '#bfdbfe' }}>\n <Text>B</Text>\n </View>\n </HStack>\n ),\n },\n {\n id: 'vstack.gap-4',\n title: 'VStack · gap 4',\n render: () => (\n <VStack testID=\"story-vstack-gap-4\" gap={4}>\n <View testID=\"story-vstack-a\" style={{ padding: 8, backgroundColor: '#dbeafe' }}>\n <Text>A</Text>\n </View>\n <View testID=\"story-vstack-b\" style={{ padding: 8, backgroundColor: '#bfdbfe' }}>\n <Text>B</Text>\n </View>\n </VStack>\n ),\n },\n {\n id: 'spinner.md',\n title: 'Spinner · md',\n render: () => <Spinner testID=\"story-spinner-md\" size=\"md\" />,\n },\n {\n id: 'spinner.lg',\n title: 'Spinner · lg',\n render: () => <Spinner testID=\"story-spinner-lg\" size=\"lg\" />,\n },\n {\n id: 'button.primary',\n title: 'Button · primary',\n render: () => <Button testID=\"story-button-primary\">Click me</Button>,\n },\n {\n id: 'button.destructive',\n title: 'Button · destructive',\n render: () => (\n <Button testID=\"story-button-destructive\" variant=\"destructive\">\n Delete\n </Button>\n ),\n },\n {\n id: 'button.loading',\n title: 'Button · loading',\n render: () => (\n <Button testID=\"story-button-loading\" loading>\n Saving\n </Button>\n ),\n },\n {\n id: 'text-input.default',\n title: 'TextInput · default',\n render: () => <TextInput testID=\"story-text-input-default\" label=\"Email\" placeholder=\"you@example.com\" />,\n },\n {\n id: 'text-input.error',\n title: 'TextInput · error',\n render: () => <TextInput testID=\"story-text-input-error\" label=\"Email\" error=\"Required\" />,\n },\n {\n id: 'text-area.default',\n title: 'TextArea · default',\n render: () => <TextArea testID=\"story-text-area-default\" label=\"Bio\" numberOfLines={3} />,\n },\n {\n id: 'checkbox.default',\n title: 'Checkbox · default',\n render: () => <Checkbox testID=\"story-checkbox-default\" label=\"Accept\" />,\n },\n {\n id: 'checkbox.checked',\n title: 'Checkbox · checked',\n render: () => <Checkbox testID=\"story-checkbox-checked\" label=\"Accept\" defaultChecked />,\n },\n {\n id: 'switch.default',\n title: 'Switch · default',\n render: () => <Switch testID=\"story-switch-default\" label=\"Dark mode\" />,\n },\n {\n id: 'switch.on',\n title: 'Switch · on',\n render: () => <Switch testID=\"story-switch-on\" label=\"Dark mode\" defaultChecked />,\n },\n];\n"]}