@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,888 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var reactNative = require('react-native');
5
+ var jsxRuntime = require('nativewind/jsx-runtime');
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+
10
+ // ../tokens/build/theme.ts
11
+ var theme = {
12
+ color: {
13
+ danger: "#ef4444",
14
+ info: "#3b82f6",
15
+ neutral: {
16
+ "100": "#f4f4f5",
17
+ "200": "#e4e4e7",
18
+ "300": "#d4d4d8",
19
+ "400": "#a1a1aa",
20
+ "50": "#fafafa",
21
+ "500": "#71717a",
22
+ "600": "#52525b",
23
+ "700": "#3f3f46",
24
+ "800": "#27272a",
25
+ "900": "#18181b"
26
+ },
27
+ primary: {
28
+ "100": "#ccfbf1",
29
+ "200": "#99f6e4",
30
+ "300": "#5eead4",
31
+ "400": "#2dd4bf",
32
+ "50": "#f0fdfa",
33
+ "500": "#14b8a6",
34
+ "600": "#0d9488",
35
+ "700": "#0f766e",
36
+ "800": "#115e59",
37
+ "900": "#134e4a"
38
+ },
39
+ success: "#22c55e",
40
+ warning: "#f59e0b"
41
+ },
42
+ fontFamily: {
43
+ body: "system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
44
+ display: "ui-serif, Georgia, 'Times New Roman', serif",
45
+ mono: "ui-monospace, 'SF Mono', Menlo, Consolas, 'DejaVu Sans Mono', monospace"
46
+ },
47
+ fontSize: {
48
+ "2xl": "24px",
49
+ "3xl": "30px",
50
+ "4xl": "36px",
51
+ lg: "18px",
52
+ md: "16px",
53
+ sm: "14px",
54
+ xl: "20px",
55
+ xs: "12px"
56
+ },
57
+ fontWeight: {
58
+ bold: "700",
59
+ medium: "500",
60
+ regular: "400",
61
+ semibold: "600"
62
+ },
63
+ lineHeight: {
64
+ normal: "1.4",
65
+ relaxed: "1.6",
66
+ tight: "1.2"
67
+ },
68
+ radius: {
69
+ "2xl": "16px",
70
+ full: "9999px",
71
+ lg: "8px",
72
+ md: "6px",
73
+ none: "0px",
74
+ sm: "4px",
75
+ xl: "12px"
76
+ },
77
+ semantic: {
78
+ background: {
79
+ default: "#fafafa",
80
+ elevated: "#ffffff",
81
+ subtle: "#f4f4f5"
82
+ },
83
+ border: {
84
+ default: "#e4e4e7",
85
+ strong: "#d4d4d8"
86
+ },
87
+ interactive: {
88
+ destructive: "#ef4444",
89
+ primary: "#0d9488",
90
+ primaryHover: "#0f766e",
91
+ primaryPressed: "#115e59"
92
+ },
93
+ text: {
94
+ default: "#18181b",
95
+ inverted: "#fafafa",
96
+ muted: "#52525b"
97
+ }
98
+ },
99
+ shadow: {
100
+ lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",
101
+ md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",
102
+ sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)"
103
+ },
104
+ spacing: {
105
+ "0": "0px",
106
+ "1": "4px",
107
+ "10": "40px",
108
+ "12": "48px",
109
+ "16": "64px",
110
+ "2": "8px",
111
+ "20": "80px",
112
+ "24": "96px",
113
+ "3": "12px",
114
+ "4": "16px",
115
+ "5": "20px",
116
+ "6": "24px",
117
+ "8": "32px"
118
+ }
119
+ };
120
+ var themeDark = {
121
+ color: {
122
+ danger: "#ef4444",
123
+ info: "#3b82f6",
124
+ neutral: {
125
+ "100": "#f4f4f5",
126
+ "200": "#e4e4e7",
127
+ "300": "#d4d4d8",
128
+ "400": "#a1a1aa",
129
+ "50": "#fafafa",
130
+ "500": "#71717a",
131
+ "600": "#52525b",
132
+ "700": "#3f3f46",
133
+ "800": "#27272a",
134
+ "900": "#18181b"
135
+ },
136
+ primary: {
137
+ "100": "#ccfbf1",
138
+ "200": "#99f6e4",
139
+ "300": "#5eead4",
140
+ "400": "#2dd4bf",
141
+ "50": "#f0fdfa",
142
+ "500": "#14b8a6",
143
+ "600": "#0d9488",
144
+ "700": "#0f766e",
145
+ "800": "#115e59",
146
+ "900": "#134e4a"
147
+ },
148
+ success: "#22c55e",
149
+ warning: "#f59e0b"
150
+ },
151
+ fontFamily: {
152
+ body: "system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif",
153
+ display: "ui-serif, Georgia, 'Times New Roman', serif",
154
+ mono: "ui-monospace, 'SF Mono', Menlo, Consolas, 'DejaVu Sans Mono', monospace"
155
+ },
156
+ fontSize: {
157
+ "2xl": "24px",
158
+ "3xl": "30px",
159
+ "4xl": "36px",
160
+ lg: "18px",
161
+ md: "16px",
162
+ sm: "14px",
163
+ xl: "20px",
164
+ xs: "12px"
165
+ },
166
+ fontWeight: {
167
+ bold: "700",
168
+ medium: "500",
169
+ regular: "400",
170
+ semibold: "600"
171
+ },
172
+ lineHeight: {
173
+ normal: "1.4",
174
+ relaxed: "1.6",
175
+ tight: "1.2"
176
+ },
177
+ radius: {
178
+ "2xl": "16px",
179
+ full: "9999px",
180
+ lg: "8px",
181
+ md: "6px",
182
+ none: "0px",
183
+ sm: "4px",
184
+ xl: "12px"
185
+ },
186
+ semantic: {
187
+ background: {
188
+ default: "#18181b",
189
+ elevated: "#3f3f46",
190
+ subtle: "#27272a"
191
+ },
192
+ border: {
193
+ default: "#3f3f46",
194
+ strong: "#52525b"
195
+ },
196
+ interactive: {
197
+ destructive: "#ef4444",
198
+ primary: "#2dd4bf",
199
+ primaryHover: "#5eead4",
200
+ primaryPressed: "#99f6e4"
201
+ },
202
+ text: {
203
+ default: "#fafafa",
204
+ inverted: "#18181b",
205
+ muted: "#a1a1aa"
206
+ }
207
+ },
208
+ shadow: {
209
+ lg: "0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1)",
210
+ md: "0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1)",
211
+ sm: "0 1px 2px 0 rgba(0, 0, 0, 0.05)"
212
+ },
213
+ spacing: {
214
+ "0": "0px",
215
+ "1": "4px",
216
+ "10": "40px",
217
+ "12": "48px",
218
+ "16": "64px",
219
+ "2": "8px",
220
+ "20": "80px",
221
+ "24": "96px",
222
+ "3": "12px",
223
+ "4": "16px",
224
+ "5": "20px",
225
+ "6": "24px",
226
+ "8": "32px"
227
+ }
228
+ };
229
+ var defaultTheme = {
230
+ light: theme,
231
+ dark: themeDark
232
+ };
233
+ var ThemeContext = react.createContext(defaultTheme);
234
+ ThemeContext.displayName = "ThemeContext";
235
+ var ColorSchemeOverrideContext = react.createContext(null);
236
+ ColorSchemeOverrideContext.displayName = "ColorSchemeOverrideContext";
237
+ var isWeb = reactNative.Platform.OS === "web";
238
+ function readWebScheme() {
239
+ if (typeof document === "undefined") {
240
+ return "light";
241
+ }
242
+ const root = document.documentElement;
243
+ if (root.classList.contains("dark")) {
244
+ return "dark";
245
+ }
246
+ if (root.getAttribute("data-theme") === "dark") {
247
+ return "dark";
248
+ }
249
+ return "light";
250
+ }
251
+ __name(readWebScheme, "readWebScheme");
252
+ function useColorScheme() {
253
+ const override = react.useContext(ColorSchemeOverrideContext);
254
+ const [scheme, setScheme] = react.useState(() => {
255
+ if (isWeb) {
256
+ return readWebScheme();
257
+ }
258
+ return reactNative.Appearance.getColorScheme() ?? "light";
259
+ });
260
+ react.useEffect(() => {
261
+ if (isWeb) {
262
+ const root = document.documentElement;
263
+ const update = /* @__PURE__ */ __name(() => setScheme(readWebScheme()), "update");
264
+ const observer = new MutationObserver(update);
265
+ observer.observe(root, { attributes: true, attributeFilter: ["class", "data-theme"] });
266
+ update();
267
+ return () => observer.disconnect();
268
+ }
269
+ const sub = reactNative.Appearance.addChangeListener(({ colorScheme }) => {
270
+ setScheme(colorScheme ?? "light");
271
+ });
272
+ return () => sub.remove();
273
+ }, []);
274
+ return override ?? scheme;
275
+ }
276
+ __name(useColorScheme, "useColorScheme");
277
+
278
+ // src/theme/use-theme-colors.ts
279
+ function useThemeColors() {
280
+ const scheme = useColorScheme();
281
+ const themePair = react.useContext(ThemeContext);
282
+ return scheme === "dark" ? themePair.dark : themePair.light;
283
+ }
284
+ __name(useThemeColors, "useThemeColors");
285
+ var isWeb2 = reactNative.Platform.OS === "web";
286
+ var make = /* @__PURE__ */ __name(({ path, glyph }) => /* @__PURE__ */ __name(function PlaceholderIcon({ size = 20, color = "currentColor" }) {
287
+ const colors = useThemeColors();
288
+ if (isWeb2) {
289
+ return /* @__PURE__ */ jsxRuntime.jsx(
290
+ "svg",
291
+ {
292
+ width: size,
293
+ height: size,
294
+ viewBox: "0 0 24 24",
295
+ fill: "none",
296
+ stroke: color,
297
+ strokeWidth: "2",
298
+ strokeLinecap: "round",
299
+ strokeLinejoin: "round",
300
+ "aria-hidden": "true",
301
+ children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: path })
302
+ }
303
+ );
304
+ }
305
+ const resolvedColor = color === "currentColor" ? colors.semantic.text.default : color;
306
+ return /* @__PURE__ */ jsxRuntime.jsx(
307
+ reactNative.Text,
308
+ {
309
+ accessibilityElementsHidden: true,
310
+ importantForAccessibility: "no-hide-descendants",
311
+ style: { fontSize: size, lineHeight: size, color: resolvedColor },
312
+ children: glyph
313
+ }
314
+ );
315
+ }, "PlaceholderIcon"), "make");
316
+ var defaultSemanticIcons = {
317
+ checkmark: make({ path: "M20 6 9 17l-5-5", glyph: "\u2713" }),
318
+ close: make({ path: "M18 6 6 18 M6 6l12 12", glyph: "\u2715" }),
319
+ eye: make({
320
+ 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",
321
+ glyph: "\u{1F441}"
322
+ }),
323
+ eyeOff: make({
324
+ 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",
325
+ glyph: "\u{1F648}"
326
+ }),
327
+ chevronDown: make({ path: "m6 9 6 6 6-6", glyph: "\u2304" }),
328
+ chevronUp: make({ path: "m18 15-6-6-6 6", glyph: "\u2303" }),
329
+ alertTriangle: make({
330
+ 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",
331
+ glyph: "\u26A0"
332
+ }),
333
+ info: make({
334
+ 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",
335
+ glyph: "\u24D8"
336
+ }),
337
+ check: make({ path: "M20 6 9 17l-5-5", glyph: "\u2713" }),
338
+ x: make({ path: "M18 6 6 18 M6 6l12 12", glyph: "\u2715" })
339
+ };
340
+
341
+ // src/slot/compose-refs.ts
342
+ function composeRefs(...refs) {
343
+ return (node) => {
344
+ for (const ref of refs) {
345
+ if (ref == null) {
346
+ continue;
347
+ }
348
+ if (typeof ref === "function") {
349
+ ref(node);
350
+ } else {
351
+ ref.current = node;
352
+ }
353
+ }
354
+ };
355
+ }
356
+ __name(composeRefs, "composeRefs");
357
+ var Slot = react.forwardRef(/* @__PURE__ */ __name(function Slot2(props, forwardedRef) {
358
+ const { children, ...slotProps } = props;
359
+ if (!react.isValidElement(children)) {
360
+ return null;
361
+ }
362
+ const child = react.Children.only(children);
363
+ const merged = mergeProps(slotProps, child.props);
364
+ const childRef = child.ref;
365
+ if (forwardedRef || childRef) {
366
+ merged.ref = composeRefs(forwardedRef, childRef);
367
+ }
368
+ return react.cloneElement(child, merged);
369
+ }, "Slot"));
370
+ Slot.displayName = "Slot";
371
+ function mergeProps(outer, inner) {
372
+ const merged = { ...outer };
373
+ for (const key of Object.keys(inner)) {
374
+ const outerValue = outer[key];
375
+ const innerValue = inner[key];
376
+ if (key === "className" || key === "class") {
377
+ merged[key] = joinClass(outerValue, innerValue);
378
+ continue;
379
+ }
380
+ if (key === "style") {
381
+ merged[key] = {
382
+ ...outerValue,
383
+ ...innerValue
384
+ };
385
+ continue;
386
+ }
387
+ if (isEventHandler(key, outerValue, innerValue)) {
388
+ merged[key] = composeHandlers(outerValue, innerValue);
389
+ continue;
390
+ }
391
+ merged[key] = innerValue;
392
+ }
393
+ return merged;
394
+ }
395
+ __name(mergeProps, "mergeProps");
396
+ function joinClass(outer, inner) {
397
+ const a = typeof outer === "string" ? outer : "";
398
+ const b = typeof inner === "string" ? inner : "";
399
+ const joined = [a, b].filter(Boolean).join(" ");
400
+ return joined.length > 0 ? joined : void 0;
401
+ }
402
+ __name(joinClass, "joinClass");
403
+ function isEventHandler(key, outer, inner) {
404
+ if (!key.startsWith("on") || key.length < 3) {
405
+ return false;
406
+ }
407
+ if (key[2] !== key[2]?.toUpperCase()) {
408
+ return false;
409
+ }
410
+ return typeof outer === "function" && typeof inner === "function";
411
+ }
412
+ __name(isEventHandler, "isEventHandler");
413
+ function composeHandlers(outer, inner) {
414
+ return (...args) => {
415
+ outer(...args);
416
+ inner(...args);
417
+ };
418
+ }
419
+ __name(composeHandlers, "composeHandlers");
420
+
421
+ // src/theme/px.ts
422
+ function px(value) {
423
+ if (typeof value === "number") {
424
+ return value;
425
+ }
426
+ const n = Number.parseFloat(value);
427
+ return Number.isFinite(n) ? n : 0;
428
+ }
429
+ __name(px, "px");
430
+
431
+ // src/utils/cn.ts
432
+ function cn(...inputs) {
433
+ const out = [];
434
+ for (const input of inputs) {
435
+ append(out, input);
436
+ }
437
+ return out.join(" ");
438
+ }
439
+ __name(cn, "cn");
440
+ function append(out, input) {
441
+ if (!input) {
442
+ return;
443
+ }
444
+ if (typeof input === "string") {
445
+ if (input.length > 0) {
446
+ out.push(input);
447
+ }
448
+ return;
449
+ }
450
+ if (typeof input === "number") {
451
+ return;
452
+ }
453
+ if (Array.isArray(input)) {
454
+ for (const inner of input) {
455
+ append(out, inner);
456
+ }
457
+ return;
458
+ }
459
+ if (typeof input === "object") {
460
+ for (const key of Object.keys(input)) {
461
+ if (input[key]) {
462
+ out.push(key);
463
+ }
464
+ }
465
+ }
466
+ }
467
+ __name(append, "append");
468
+
469
+ // src/components/Dialog/blur-backdrop.tsx
470
+ var BlurBackdrop = /* @__PURE__ */ __name((_props) => {
471
+ return null;
472
+ }, "BlurBackdrop");
473
+ var DialogContext = react.createContext(null);
474
+ var useDialogContext = /* @__PURE__ */ __name((label) => {
475
+ const ctx = react.useContext(DialogContext);
476
+ if (!ctx) {
477
+ throw new Error(`<${label}> must be rendered inside a <Dialog>.`);
478
+ }
479
+ return ctx;
480
+ }, "useDialogContext");
481
+ var DialogRoot = /* @__PURE__ */ __name(({ open, defaultOpen = false, onOpenChange, children }) => {
482
+ const [inner, setInner] = react.useState(defaultOpen);
483
+ const isControlled = open !== void 0;
484
+ const current = isControlled ? open : inner;
485
+ const setOpen = react.useCallback(
486
+ (next) => {
487
+ if (!isControlled) {
488
+ setInner(next);
489
+ }
490
+ onOpenChange?.(next);
491
+ },
492
+ [isControlled, onOpenChange]
493
+ );
494
+ const baseId = react.useId();
495
+ const triggerRef = react.useRef(null);
496
+ const ctxValue = {
497
+ open: current,
498
+ setOpen,
499
+ titleId: `${baseId}-title`,
500
+ descriptionId: `${baseId}-description`,
501
+ triggerRef
502
+ };
503
+ return /* @__PURE__ */ jsxRuntime.jsx(DialogContext.Provider, { value: ctxValue, children });
504
+ }, "DialogRoot");
505
+ var DialogTrigger = /* @__PURE__ */ __name(({ asChild = true, children, className, testID }) => {
506
+ const ctx = useDialogContext("DialogTrigger");
507
+ const onPress = react.useCallback(() => ctx.setOpen(true), [ctx]);
508
+ if (asChild && react.isValidElement(children)) {
509
+ const child = children;
510
+ const fire = /* @__PURE__ */ __name((existing) => (event) => {
511
+ existing?.(event);
512
+ ctx.setOpen(true);
513
+ }, "fire");
514
+ return /* @__PURE__ */ jsxRuntime.jsx(
515
+ Slot,
516
+ {
517
+ ref: (node) => {
518
+ ctx.triggerRef.current = node;
519
+ },
520
+ onClick: fire(child.props.onClick),
521
+ onPress: fire(child.props.onPress),
522
+ ...testID !== void 0 ? { "data-testid": testID } : {},
523
+ ...className !== void 0 ? { className } : {},
524
+ children: child
525
+ }
526
+ );
527
+ }
528
+ return /* @__PURE__ */ jsxRuntime.jsx(
529
+ reactNative.Pressable,
530
+ {
531
+ ref: (node) => {
532
+ ctx.triggerRef.current = node;
533
+ },
534
+ onPress,
535
+ ...testID !== void 0 ? { testID } : {},
536
+ ...className !== void 0 ? { className } : {},
537
+ children: wrapStringChildren(children)
538
+ }
539
+ );
540
+ }, "DialogTrigger");
541
+ function wrapStringChildren(children) {
542
+ if (typeof children === "string" || typeof children === "number") {
543
+ return /* @__PURE__ */ jsxRuntime.jsx(reactNative.Text, { children });
544
+ }
545
+ return children;
546
+ }
547
+ __name(wrapStringChildren, "wrapStringChildren");
548
+ var SCRIM_COLOR = "rgba(0, 0, 0, 0.24)";
549
+ var BLUR_AMOUNT = 4;
550
+ var OVERLAY_LAYOUT_BASE = {
551
+ position: reactNative.Platform.OS === "web" ? "fixed" : "absolute",
552
+ top: 0,
553
+ left: 0,
554
+ right: 0,
555
+ bottom: 0,
556
+ alignItems: "center",
557
+ justifyContent: "center",
558
+ // On native the BlurBackdrop sibling renders BEHIND this overlay and
559
+ // already provides dim + frosted-glass via expo-blur's `tint`/`intensity`.
560
+ // Painting SCRIM_COLOR on top would mask the blur entirely (the user
561
+ // sees only a flat tint), so the overlay stays transparent and the
562
+ // BlurView is the dominant visual on native.
563
+ ...reactNative.Platform.OS === "web" ? { zIndex: 50 } : { backgroundColor: "transparent" }
564
+ };
565
+ var CONTENT_LAYOUT_BASE = {
566
+ width: "100%",
567
+ maxWidth: 480,
568
+ // component-density literal — not from theme
569
+ ...reactNative.Platform.OS === "web" ? {
570
+ boxShadow: "0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1)"
571
+ } : { elevation: 24 }
572
+ };
573
+ var FOCUSABLE_SELECTOR = 'a[href], button:not([disabled]), textarea:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), [tabindex]:not([tabindex="-1"])';
574
+ var DialogContent = /* @__PURE__ */ __name(({ children, className, testID }) => {
575
+ const ctx = useDialogContext("DialogContent");
576
+ const colors = useThemeColors();
577
+ const scheme = useColorScheme();
578
+ const contentRef = react.useRef(null);
579
+ const overlayStyle = {
580
+ ...OVERLAY_LAYOUT_BASE,
581
+ padding: px(colors.spacing["4"])
582
+ };
583
+ const contentStyle = {
584
+ ...CONTENT_LAYOUT_BASE,
585
+ borderRadius: px(colors.radius.xl),
586
+ padding: px(colors.spacing["6"]),
587
+ gap: px(colors.spacing["3"])
588
+ };
589
+ const [entered, setEntered] = react.useState(false);
590
+ react.useEffect(() => {
591
+ if (reactNative.Platform.OS !== "web") {
592
+ setEntered(true);
593
+ return;
594
+ }
595
+ if (!ctx.open) {
596
+ setEntered(false);
597
+ return;
598
+ }
599
+ const id = requestAnimationFrame(() => setEntered(true));
600
+ return () => cancelAnimationFrame(id);
601
+ }, [ctx.open]);
602
+ const enterStyle = reactNative.Platform.OS === "web" ? {
603
+ opacity: entered ? 1 : 0,
604
+ transform: [{ scale: entered ? 1 : 0.96 }],
605
+ transitionProperty: "opacity, transform",
606
+ transitionDuration: "150ms",
607
+ transitionTimingFunction: "cubic-bezier(0.16, 1, 0.3, 1)"
608
+ } : {};
609
+ const overlayDomRef = react.useRef(null);
610
+ react.useEffect(() => {
611
+ if (reactNative.Platform.OS !== "web") {
612
+ return;
613
+ }
614
+ const node = overlayDomRef.current;
615
+ if (!node) {
616
+ return;
617
+ }
618
+ node.style.transitionProperty = "background-color, backdrop-filter, -webkit-backdrop-filter";
619
+ node.style.transitionDuration = "150ms, 200ms, 200ms";
620
+ node.style.transitionTimingFunction = "ease-out";
621
+ if (entered) {
622
+ node.style.backgroundColor = SCRIM_COLOR;
623
+ node.style.backdropFilter = `blur(${BLUR_AMOUNT}px)`;
624
+ node.style.setProperty("-webkit-backdrop-filter", `blur(${BLUR_AMOUNT}px)`);
625
+ } else {
626
+ node.style.backgroundColor = "rgba(0, 0, 0, 0)";
627
+ node.style.backdropFilter = "blur(0px)";
628
+ node.style.setProperty("-webkit-backdrop-filter", "blur(0px)");
629
+ }
630
+ }, [entered]);
631
+ react.useEffect(() => {
632
+ if (!ctx.open) {
633
+ return;
634
+ }
635
+ if (reactNative.Platform.OS !== "web") {
636
+ return;
637
+ }
638
+ if (typeof document === "undefined") {
639
+ return;
640
+ }
641
+ const previouslyFocused = document.activeElement;
642
+ const prevBodyOverflow = document.body.style.overflow;
643
+ document.body.style.overflow = "hidden";
644
+ const focusFirst = /* @__PURE__ */ __name(() => {
645
+ const node = contentRef.current;
646
+ if (!node) {
647
+ return;
648
+ }
649
+ const focusable = node.querySelectorAll(FOCUSABLE_SELECTOR);
650
+ const first = focusable[0];
651
+ if (first) {
652
+ first.focus();
653
+ } else {
654
+ node.setAttribute("tabindex", "-1");
655
+ node.focus();
656
+ }
657
+ }, "focusFirst");
658
+ focusFirst();
659
+ const onKeyDown = /* @__PURE__ */ __name((event) => {
660
+ if (event.key === "Escape") {
661
+ event.preventDefault();
662
+ ctx.setOpen(false);
663
+ return;
664
+ }
665
+ if (event.key !== "Tab") {
666
+ return;
667
+ }
668
+ const node = contentRef.current;
669
+ if (!node) {
670
+ return;
671
+ }
672
+ const focusable = Array.from(node.querySelectorAll(FOCUSABLE_SELECTOR)).filter(
673
+ (el) => el.offsetParent !== null || el === document.activeElement
674
+ );
675
+ if (focusable.length === 0) {
676
+ event.preventDefault();
677
+ return;
678
+ }
679
+ const first = focusable[0];
680
+ const last = focusable[focusable.length - 1];
681
+ if (!first || !last) {
682
+ return;
683
+ }
684
+ if (event.shiftKey) {
685
+ if (document.activeElement === first || !node.contains(document.activeElement)) {
686
+ event.preventDefault();
687
+ last.focus();
688
+ }
689
+ } else if (document.activeElement === last) {
690
+ event.preventDefault();
691
+ first.focus();
692
+ }
693
+ }, "onKeyDown");
694
+ document.addEventListener("keydown", onKeyDown);
695
+ return () => {
696
+ document.removeEventListener("keydown", onKeyDown);
697
+ document.body.style.overflow = prevBodyOverflow;
698
+ const restoreTo = ctx.triggerRef.current ?? previouslyFocused;
699
+ restoreTo?.focus?.();
700
+ };
701
+ }, [ctx.open, ctx.setOpen, ctx.triggerRef]);
702
+ const onOverlayPress = react.useCallback(() => ctx.setOpen(false), [ctx]);
703
+ return /* @__PURE__ */ jsxRuntime.jsxs(
704
+ reactNative.Modal,
705
+ {
706
+ visible: ctx.open,
707
+ transparent: true,
708
+ animationType: reactNative.Platform.OS === "web" ? "none" : "fade",
709
+ onRequestClose: () => ctx.setOpen(false),
710
+ children: [
711
+ /* @__PURE__ */ jsxRuntime.jsx(BlurBackdrop, { intensity: 60, tint: scheme === "dark" ? "dark" : "light", style: reactNative.StyleSheet.absoluteFill }),
712
+ /* @__PURE__ */ jsxRuntime.jsx(
713
+ reactNative.Pressable,
714
+ {
715
+ accessibilityRole: "none",
716
+ "aria-hidden": true,
717
+ ref: (node) => {
718
+ overlayDomRef.current = node;
719
+ },
720
+ style: overlayStyle,
721
+ onPress: onOverlayPress,
722
+ children: /* @__PURE__ */ jsxRuntime.jsx(
723
+ reactNative.Pressable,
724
+ {
725
+ onPress: (event) => event.stopPropagation?.(),
726
+ ref: (node) => {
727
+ contentRef.current = node;
728
+ },
729
+ role: "dialog",
730
+ accessibilityRole: "none",
731
+ "aria-modal": true,
732
+ "aria-labelledby": ctx.titleId,
733
+ "aria-describedby": ctx.descriptionId,
734
+ ...testID !== void 0 ? { testID } : {},
735
+ className: cn("w-full max-w-md rounded-xl bg-semantic-background-elevated p-6 gap-3", className),
736
+ style: [contentStyle, { backgroundColor: colors.semantic.background.elevated }, enterStyle],
737
+ children: /* @__PURE__ */ jsxRuntime.jsx(
738
+ reactNative.View,
739
+ {
740
+ className: "flex-col gap-1.5",
741
+ style: { flexDirection: "column", gap: px(colors.spacing["2"]) - 2 },
742
+ children
743
+ }
744
+ )
745
+ }
746
+ )
747
+ }
748
+ )
749
+ ]
750
+ }
751
+ );
752
+ }, "DialogContent");
753
+ var DialogTitle = /* @__PURE__ */ __name(({ children, className }) => {
754
+ const ctx = useDialogContext("DialogTitle");
755
+ const colors = useThemeColors();
756
+ return /* @__PURE__ */ jsxRuntime.jsx(
757
+ reactNative.Text,
758
+ {
759
+ nativeID: ctx.titleId,
760
+ id: ctx.titleId,
761
+ role: "heading",
762
+ "aria-level": 2,
763
+ className: cn("text-lg font-semibold text-semantic-text-default", className),
764
+ style: {
765
+ color: colors.semantic.text.default,
766
+ fontFamily: colors.fontFamily.display,
767
+ fontSize: px(colors.fontSize.lg),
768
+ fontWeight: colors.fontWeight.semibold
769
+ },
770
+ children
771
+ }
772
+ );
773
+ }, "DialogTitle");
774
+ var DialogDescription = /* @__PURE__ */ __name(({ children, className }) => {
775
+ const ctx = useDialogContext("DialogDescription");
776
+ const colors = useThemeColors();
777
+ return /* @__PURE__ */ jsxRuntime.jsx(
778
+ reactNative.Text,
779
+ {
780
+ nativeID: ctx.descriptionId,
781
+ id: ctx.descriptionId,
782
+ className: cn("text-sm text-semantic-text-muted", className),
783
+ style: {
784
+ color: colors.semantic.text.muted,
785
+ fontFamily: colors.fontFamily.body,
786
+ fontSize: px(colors.fontSize.sm),
787
+ lineHeight: px(colors.fontSize.sm) * Number(colors.lineHeight.normal)
788
+ },
789
+ children
790
+ }
791
+ );
792
+ }, "DialogDescription");
793
+ var DialogClose = /* @__PURE__ */ __name(({
794
+ asChild = true,
795
+ children,
796
+ className,
797
+ testID,
798
+ accessibilityLabel = "Close"
799
+ }) => {
800
+ const ctx = useDialogContext("DialogClose");
801
+ const colors = useThemeColors();
802
+ const onPress = react.useCallback(() => ctx.setOpen(false), [ctx]);
803
+ if (asChild && react.isValidElement(children)) {
804
+ const child = children;
805
+ const fire = /* @__PURE__ */ __name((existing) => (event) => {
806
+ existing?.(event);
807
+ ctx.setOpen(false);
808
+ }, "fire");
809
+ return /* @__PURE__ */ jsxRuntime.jsx(
810
+ Slot,
811
+ {
812
+ onClick: fire(child.props.onClick),
813
+ onPress: fire(child.props.onPress),
814
+ ...testID !== void 0 ? { "data-testid": testID } : {},
815
+ ...className !== void 0 ? { className } : {},
816
+ children: child
817
+ }
818
+ );
819
+ }
820
+ if (children !== void 0) {
821
+ return /* @__PURE__ */ jsxRuntime.jsx(
822
+ reactNative.Pressable,
823
+ {
824
+ onPress,
825
+ role: "button",
826
+ accessibilityRole: "button",
827
+ accessibilityLabel,
828
+ "aria-label": accessibilityLabel,
829
+ ...testID !== void 0 ? { testID } : {},
830
+ ...className !== void 0 ? { className } : {},
831
+ children: wrapStringChildren(children)
832
+ }
833
+ );
834
+ }
835
+ return /* @__PURE__ */ jsxRuntime.jsx(
836
+ reactNative.Pressable,
837
+ {
838
+ onPress,
839
+ role: "button",
840
+ accessibilityRole: "button",
841
+ accessibilityLabel,
842
+ "aria-label": accessibilityLabel,
843
+ ...testID !== void 0 ? { testID } : {},
844
+ className: cn("absolute right-3 top-3 w-8 h-8 items-center justify-center rounded-md", className),
845
+ style: {
846
+ position: "absolute",
847
+ right: px(colors.spacing["3"]),
848
+ top: px(colors.spacing["3"]),
849
+ // 32×32 close hit target — component-density literal — not from theme
850
+ width: 32,
851
+ height: 32,
852
+ alignItems: "center",
853
+ justifyContent: "center",
854
+ borderRadius: px(colors.radius.md)
855
+ },
856
+ children: /* @__PURE__ */ jsxRuntime.jsx(defaultSemanticIcons.close, { size: 18, color: colors.semantic.text.muted })
857
+ }
858
+ );
859
+ }, "DialogClose");
860
+ var DialogFooter = /* @__PURE__ */ __name(({ children, className }) => {
861
+ const colors = useThemeColors();
862
+ return /* @__PURE__ */ jsxRuntime.jsx(
863
+ reactNative.View,
864
+ {
865
+ className: cn("mt-4 flex-row items-center justify-end gap-2", className),
866
+ style: {
867
+ marginTop: px(colors.spacing["4"]),
868
+ flexDirection: "row",
869
+ alignItems: "center",
870
+ justifyContent: "flex-end",
871
+ gap: px(colors.spacing["2"])
872
+ },
873
+ children
874
+ }
875
+ );
876
+ }, "DialogFooter");
877
+ var Dialog = Object.assign(DialogRoot, {
878
+ Trigger: DialogTrigger,
879
+ Content: DialogContent,
880
+ Title: DialogTitle,
881
+ Description: DialogDescription,
882
+ Footer: DialogFooter,
883
+ Close: DialogClose
884
+ });
885
+
886
+ exports.Dialog = Dialog;
887
+ //# sourceMappingURL=index.cjs.map
888
+ //# sourceMappingURL=index.cjs.map