mokona-ui 0.0.1

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 (388) hide show
  1. package/README.md +273 -0
  2. package/dist/accordion.cjs +13 -0
  3. package/dist/accordion.cjs.map +1 -0
  4. package/dist/accordion.d.cts +21 -0
  5. package/dist/accordion.d.ts +21 -0
  6. package/dist/accordion.js +4 -0
  7. package/dist/accordion.js.map +1 -0
  8. package/dist/alert.cjs +13 -0
  9. package/dist/alert.cjs.map +1 -0
  10. package/dist/alert.d.cts +14 -0
  11. package/dist/alert.d.ts +14 -0
  12. package/dist/alert.js +4 -0
  13. package/dist/alert.js.map +1 -0
  14. package/dist/amount.cjs +18 -0
  15. package/dist/amount.cjs.map +1 -0
  16. package/dist/amount.d.cts +39 -0
  17. package/dist/amount.d.ts +39 -0
  18. package/dist/amount.js +5 -0
  19. package/dist/amount.js.map +1 -0
  20. package/dist/avatar.cjs +13 -0
  21. package/dist/avatar.cjs.map +1 -0
  22. package/dist/avatar.d.cts +16 -0
  23. package/dist/avatar.d.ts +16 -0
  24. package/dist/avatar.js +4 -0
  25. package/dist/avatar.js.map +1 -0
  26. package/dist/badge.cjs +17 -0
  27. package/dist/badge.cjs.map +1 -0
  28. package/dist/badge.d.cts +13 -0
  29. package/dist/badge.d.ts +13 -0
  30. package/dist/badge.js +4 -0
  31. package/dist/badge.js.map +1 -0
  32. package/dist/bottom-sheet.cjs +14 -0
  33. package/dist/bottom-sheet.cjs.map +1 -0
  34. package/dist/bottom-sheet.d.cts +14 -0
  35. package/dist/bottom-sheet.d.ts +14 -0
  36. package/dist/bottom-sheet.js +5 -0
  37. package/dist/bottom-sheet.js.map +1 -0
  38. package/dist/button.cjs +18 -0
  39. package/dist/button.cjs.map +1 -0
  40. package/dist/button.d.cts +16 -0
  41. package/dist/button.d.ts +16 -0
  42. package/dist/button.js +5 -0
  43. package/dist/button.js.map +1 -0
  44. package/dist/calendar.cjs +14 -0
  45. package/dist/calendar.cjs.map +1 -0
  46. package/dist/calendar.d.cts +13 -0
  47. package/dist/calendar.d.ts +13 -0
  48. package/dist/calendar.js +5 -0
  49. package/dist/calendar.js.map +1 -0
  50. package/dist/card.cjs +18 -0
  51. package/dist/card.cjs.map +1 -0
  52. package/dist/card.d.cts +14 -0
  53. package/dist/card.d.ts +14 -0
  54. package/dist/card.js +5 -0
  55. package/dist/card.js.map +1 -0
  56. package/dist/checkbox.cjs +14 -0
  57. package/dist/checkbox.cjs.map +1 -0
  58. package/dist/checkbox.d.cts +9 -0
  59. package/dist/checkbox.d.ts +9 -0
  60. package/dist/checkbox.js +5 -0
  61. package/dist/checkbox.js.map +1 -0
  62. package/dist/chip.cjs +14 -0
  63. package/dist/chip.cjs.map +1 -0
  64. package/dist/chip.d.cts +9 -0
  65. package/dist/chip.d.ts +9 -0
  66. package/dist/chip.js +5 -0
  67. package/dist/chip.js.map +1 -0
  68. package/dist/chunk-27EKI7CM.cjs +74 -0
  69. package/dist/chunk-27EKI7CM.cjs.map +1 -0
  70. package/dist/chunk-2AOEUASU.cjs +123 -0
  71. package/dist/chunk-2AOEUASU.cjs.map +1 -0
  72. package/dist/chunk-355VBEHS.js +51 -0
  73. package/dist/chunk-355VBEHS.js.map +1 -0
  74. package/dist/chunk-4C6E37KK.js +134 -0
  75. package/dist/chunk-4C6E37KK.js.map +1 -0
  76. package/dist/chunk-4S23TNFZ.cjs +115 -0
  77. package/dist/chunk-4S23TNFZ.cjs.map +1 -0
  78. package/dist/chunk-4V3IOZPC.cjs +61 -0
  79. package/dist/chunk-4V3IOZPC.cjs.map +1 -0
  80. package/dist/chunk-4YQPDHZP.cjs +69 -0
  81. package/dist/chunk-4YQPDHZP.cjs.map +1 -0
  82. package/dist/chunk-6CMR4MT4.js +101 -0
  83. package/dist/chunk-6CMR4MT4.js.map +1 -0
  84. package/dist/chunk-7B6U7GED.js +67 -0
  85. package/dist/chunk-7B6U7GED.js.map +1 -0
  86. package/dist/chunk-7GQ4YVJR.js +68 -0
  87. package/dist/chunk-7GQ4YVJR.js.map +1 -0
  88. package/dist/chunk-AFX7CBRR.cjs +97 -0
  89. package/dist/chunk-AFX7CBRR.cjs.map +1 -0
  90. package/dist/chunk-ARXXD2ZI.cjs +75 -0
  91. package/dist/chunk-ARXXD2ZI.cjs.map +1 -0
  92. package/dist/chunk-BCX5S6PO.js +41 -0
  93. package/dist/chunk-BCX5S6PO.js.map +1 -0
  94. package/dist/chunk-BJWRAJEH.cjs +61 -0
  95. package/dist/chunk-BJWRAJEH.cjs.map +1 -0
  96. package/dist/chunk-CX55SVMP.js +68 -0
  97. package/dist/chunk-CX55SVMP.js.map +1 -0
  98. package/dist/chunk-CZ4RHRM2.cjs +130 -0
  99. package/dist/chunk-CZ4RHRM2.cjs.map +1 -0
  100. package/dist/chunk-DDV6JQEW.js +57 -0
  101. package/dist/chunk-DDV6JQEW.js.map +1 -0
  102. package/dist/chunk-DR6JPBH7.js +126 -0
  103. package/dist/chunk-DR6JPBH7.js.map +1 -0
  104. package/dist/chunk-EVF7QZMA.cjs +46 -0
  105. package/dist/chunk-EVF7QZMA.cjs.map +1 -0
  106. package/dist/chunk-EXARWE5B.js +56 -0
  107. package/dist/chunk-EXARWE5B.js.map +1 -0
  108. package/dist/chunk-FUIIR7CU.js +32 -0
  109. package/dist/chunk-FUIIR7CU.js.map +1 -0
  110. package/dist/chunk-FXOOVZWB.js +39 -0
  111. package/dist/chunk-FXOOVZWB.js.map +1 -0
  112. package/dist/chunk-FYFPGECC.js +39 -0
  113. package/dist/chunk-FYFPGECC.js.map +1 -0
  114. package/dist/chunk-GFZKSV7F.cjs +73 -0
  115. package/dist/chunk-GFZKSV7F.cjs.map +1 -0
  116. package/dist/chunk-GGXFXP6U.js +130 -0
  117. package/dist/chunk-GGXFXP6U.js.map +1 -0
  118. package/dist/chunk-HLRY4SDE.js +43 -0
  119. package/dist/chunk-HLRY4SDE.js.map +1 -0
  120. package/dist/chunk-HYWJ73QZ.cjs +155 -0
  121. package/dist/chunk-HYWJ73QZ.cjs.map +1 -0
  122. package/dist/chunk-I2ANUQHL.js +81 -0
  123. package/dist/chunk-I2ANUQHL.js.map +1 -0
  124. package/dist/chunk-IDASIFTM.js +56 -0
  125. package/dist/chunk-IDASIFTM.js.map +1 -0
  126. package/dist/chunk-IH7OSDQI.js +70 -0
  127. package/dist/chunk-IH7OSDQI.js.map +1 -0
  128. package/dist/chunk-IOBAQ35P.js +42 -0
  129. package/dist/chunk-IOBAQ35P.js.map +1 -0
  130. package/dist/chunk-IVANXF6O.js +107 -0
  131. package/dist/chunk-IVANXF6O.js.map +1 -0
  132. package/dist/chunk-JGO5TBYB.cjs +58 -0
  133. package/dist/chunk-JGO5TBYB.cjs.map +1 -0
  134. package/dist/chunk-JQ55FV4C.js +75 -0
  135. package/dist/chunk-JQ55FV4C.js.map +1 -0
  136. package/dist/chunk-JQDD6AYM.js +52 -0
  137. package/dist/chunk-JQDD6AYM.js.map +1 -0
  138. package/dist/chunk-JWE5X3SW.cjs +80 -0
  139. package/dist/chunk-JWE5X3SW.cjs.map +1 -0
  140. package/dist/chunk-KFFQVTKW.cjs +91 -0
  141. package/dist/chunk-KFFQVTKW.cjs.map +1 -0
  142. package/dist/chunk-LC5SUZE5.cjs +80 -0
  143. package/dist/chunk-LC5SUZE5.cjs.map +1 -0
  144. package/dist/chunk-LCABZUFW.js +3 -0
  145. package/dist/chunk-LCABZUFW.js.map +1 -0
  146. package/dist/chunk-MFRGAZ4M.cjs +157 -0
  147. package/dist/chunk-MFRGAZ4M.cjs.map +1 -0
  148. package/dist/chunk-MIR34HKE.cjs +91 -0
  149. package/dist/chunk-MIR34HKE.cjs.map +1 -0
  150. package/dist/chunk-MP442EWS.cjs +152 -0
  151. package/dist/chunk-MP442EWS.cjs.map +1 -0
  152. package/dist/chunk-MTIJTTKO.cjs +75 -0
  153. package/dist/chunk-MTIJTTKO.cjs.map +1 -0
  154. package/dist/chunk-MVGUWG27.js +56 -0
  155. package/dist/chunk-MVGUWG27.js.map +1 -0
  156. package/dist/chunk-MWP6IFVJ.cjs +93 -0
  157. package/dist/chunk-MWP6IFVJ.cjs.map +1 -0
  158. package/dist/chunk-NF7D4E7V.js +52 -0
  159. package/dist/chunk-NF7D4E7V.js.map +1 -0
  160. package/dist/chunk-NRBDDNYV.cjs +107 -0
  161. package/dist/chunk-NRBDDNYV.cjs.map +1 -0
  162. package/dist/chunk-OBDN7ROH.cjs +490 -0
  163. package/dist/chunk-OBDN7ROH.cjs.map +1 -0
  164. package/dist/chunk-OE7M66OR.cjs +56 -0
  165. package/dist/chunk-OE7M66OR.cjs.map +1 -0
  166. package/dist/chunk-PGUGP5EL.cjs +135 -0
  167. package/dist/chunk-PGUGP5EL.cjs.map +1 -0
  168. package/dist/chunk-Q7764J2G.cjs +61 -0
  169. package/dist/chunk-Q7764J2G.cjs.map +1 -0
  170. package/dist/chunk-QYQDCGOD.js +82 -0
  171. package/dist/chunk-QYQDCGOD.js.map +1 -0
  172. package/dist/chunk-RDYETV4X.cjs +64 -0
  173. package/dist/chunk-RDYETV4X.cjs.map +1 -0
  174. package/dist/chunk-RIXU7XN6.cjs +90 -0
  175. package/dist/chunk-RIXU7XN6.cjs.map +1 -0
  176. package/dist/chunk-RKGIGQ5C.cjs +4 -0
  177. package/dist/chunk-RKGIGQ5C.cjs.map +1 -0
  178. package/dist/chunk-RS457SPB.js +464 -0
  179. package/dist/chunk-RS457SPB.js.map +1 -0
  180. package/dist/chunk-SG5Z3YFN.cjs +83 -0
  181. package/dist/chunk-SG5Z3YFN.cjs.map +1 -0
  182. package/dist/chunk-SHEMISNH.cjs +81 -0
  183. package/dist/chunk-SHEMISNH.cjs.map +1 -0
  184. package/dist/chunk-SPHRMXOV.js +85 -0
  185. package/dist/chunk-SPHRMXOV.js.map +1 -0
  186. package/dist/chunk-TIWBLISD.js +87 -0
  187. package/dist/chunk-TIWBLISD.js.map +1 -0
  188. package/dist/chunk-TMR56BBE.js +3 -0
  189. package/dist/chunk-TMR56BBE.js.map +1 -0
  190. package/dist/chunk-U5KHRCO4.cjs +105 -0
  191. package/dist/chunk-U5KHRCO4.cjs.map +1 -0
  192. package/dist/chunk-UPW5X46R.js +58 -0
  193. package/dist/chunk-UPW5X46R.js.map +1 -0
  194. package/dist/chunk-UXYAKGI2.cjs +24 -0
  195. package/dist/chunk-UXYAKGI2.cjs.map +1 -0
  196. package/dist/chunk-VBT7USXE.cjs +63 -0
  197. package/dist/chunk-VBT7USXE.cjs.map +1 -0
  198. package/dist/chunk-VIA2FAQY.js +46 -0
  199. package/dist/chunk-VIA2FAQY.js.map +1 -0
  200. package/dist/chunk-WEVRQAGZ.js +57 -0
  201. package/dist/chunk-WEVRQAGZ.js.map +1 -0
  202. package/dist/chunk-WWQNTWRL.js +107 -0
  203. package/dist/chunk-WWQNTWRL.js.map +1 -0
  204. package/dist/chunk-X4QHDEEJ.cjs +4 -0
  205. package/dist/chunk-X4QHDEEJ.cjs.map +1 -0
  206. package/dist/chunk-XJZNX76V.js +66 -0
  207. package/dist/chunk-XJZNX76V.js.map +1 -0
  208. package/dist/chunk-XRUGFKB3.js +34 -0
  209. package/dist/chunk-XRUGFKB3.js.map +1 -0
  210. package/dist/chunk-XURQVDCN.cjs +4 -0
  211. package/dist/chunk-XURQVDCN.cjs.map +1 -0
  212. package/dist/chunk-XVIQ4OUN.cjs +89 -0
  213. package/dist/chunk-XVIQ4OUN.cjs.map +1 -0
  214. package/dist/chunk-XWKZ72LI.cjs +80 -0
  215. package/dist/chunk-XWKZ72LI.cjs.map +1 -0
  216. package/dist/chunk-Y3CWICHE.js +3 -0
  217. package/dist/chunk-Y3CWICHE.js.map +1 -0
  218. package/dist/chunk-Z3U3EZRC.js +93 -0
  219. package/dist/chunk-Z3U3EZRC.js.map +1 -0
  220. package/dist/chunk-Z4JZDLTZ.cjs +109 -0
  221. package/dist/chunk-Z4JZDLTZ.cjs.map +1 -0
  222. package/dist/chunk-ZDARKNSQ.cjs +54 -0
  223. package/dist/chunk-ZDARKNSQ.cjs.map +1 -0
  224. package/dist/chunk-ZH3KC4ES.js +51 -0
  225. package/dist/chunk-ZH3KC4ES.js.map +1 -0
  226. package/dist/chunk-ZPUYNM37.js +3 -0
  227. package/dist/chunk-ZPUYNM37.js.map +1 -0
  228. package/dist/chunk-ZUODIL43.js +113 -0
  229. package/dist/chunk-ZUODIL43.js.map +1 -0
  230. package/dist/chunk-ZXL4IUJ4.cjs +129 -0
  231. package/dist/chunk-ZXL4IUJ4.cjs.map +1 -0
  232. package/dist/date-picker.cjs +15 -0
  233. package/dist/date-picker.cjs.map +1 -0
  234. package/dist/date-picker.d.cts +19 -0
  235. package/dist/date-picker.d.ts +19 -0
  236. package/dist/date-picker.js +6 -0
  237. package/dist/date-picker.js.map +1 -0
  238. package/dist/divider.cjs +13 -0
  239. package/dist/divider.cjs.map +1 -0
  240. package/dist/divider.d.cts +9 -0
  241. package/dist/divider.d.ts +9 -0
  242. package/dist/divider.js +4 -0
  243. package/dist/divider.js.map +1 -0
  244. package/dist/dropdown-menu.cjs +13 -0
  245. package/dist/dropdown-menu.cjs.map +1 -0
  246. package/dist/dropdown-menu.d.cts +23 -0
  247. package/dist/dropdown-menu.d.ts +23 -0
  248. package/dist/dropdown-menu.js +4 -0
  249. package/dist/dropdown-menu.js.map +1 -0
  250. package/dist/empty.cjs +13 -0
  251. package/dist/empty.cjs.map +1 -0
  252. package/dist/empty.d.cts +11 -0
  253. package/dist/empty.d.ts +11 -0
  254. package/dist/empty.js +4 -0
  255. package/dist/empty.js.map +1 -0
  256. package/dist/form.cjs +33 -0
  257. package/dist/form.cjs.map +1 -0
  258. package/dist/form.d.cts +18 -0
  259. package/dist/form.d.ts +18 -0
  260. package/dist/form.js +4 -0
  261. package/dist/form.js.map +1 -0
  262. package/dist/icon.cjs +13 -0
  263. package/dist/icon.cjs.map +1 -0
  264. package/dist/icon.d.cts +12 -0
  265. package/dist/icon.d.ts +12 -0
  266. package/dist/icon.js +4 -0
  267. package/dist/icon.js.map +1 -0
  268. package/dist/index.cjs +350 -0
  269. package/dist/index.cjs.map +1 -0
  270. package/dist/index.d.cts +167 -0
  271. package/dist/index.d.ts +167 -0
  272. package/dist/index.js +130 -0
  273. package/dist/index.js.map +1 -0
  274. package/dist/modal.cjs +13 -0
  275. package/dist/modal.cjs.map +1 -0
  276. package/dist/modal.d.cts +17 -0
  277. package/dist/modal.d.ts +17 -0
  278. package/dist/modal.js +4 -0
  279. package/dist/modal.js.map +1 -0
  280. package/dist/otp-input.cjs +13 -0
  281. package/dist/otp-input.cjs.map +1 -0
  282. package/dist/otp-input.d.cts +17 -0
  283. package/dist/otp-input.d.ts +17 -0
  284. package/dist/otp-input.js +4 -0
  285. package/dist/otp-input.js.map +1 -0
  286. package/dist/pagination.cjs +13 -0
  287. package/dist/pagination.cjs.map +1 -0
  288. package/dist/pagination.d.cts +12 -0
  289. package/dist/pagination.d.ts +12 -0
  290. package/dist/pagination.js +4 -0
  291. package/dist/pagination.js.map +1 -0
  292. package/dist/popover.cjs +14 -0
  293. package/dist/popover.cjs.map +1 -0
  294. package/dist/popover.d.cts +16 -0
  295. package/dist/popover.d.ts +16 -0
  296. package/dist/popover.js +5 -0
  297. package/dist/popover.js.map +1 -0
  298. package/dist/progress.cjs +13 -0
  299. package/dist/progress.cjs.map +1 -0
  300. package/dist/progress.d.cts +12 -0
  301. package/dist/progress.d.ts +12 -0
  302. package/dist/progress.js +4 -0
  303. package/dist/progress.js.map +1 -0
  304. package/dist/radio.cjs +13 -0
  305. package/dist/radio.cjs.map +1 -0
  306. package/dist/radio.d.cts +16 -0
  307. package/dist/radio.d.ts +16 -0
  308. package/dist/radio.js +4 -0
  309. package/dist/radio.js.map +1 -0
  310. package/dist/select.cjs +13 -0
  311. package/dist/select.cjs.map +1 -0
  312. package/dist/select.d.cts +23 -0
  313. package/dist/select.d.ts +23 -0
  314. package/dist/select.js +4 -0
  315. package/dist/select.js.map +1 -0
  316. package/dist/skeleton.cjs +13 -0
  317. package/dist/skeleton.cjs.map +1 -0
  318. package/dist/skeleton.d.cts +11 -0
  319. package/dist/skeleton.d.ts +11 -0
  320. package/dist/skeleton.js +4 -0
  321. package/dist/skeleton.js.map +1 -0
  322. package/dist/slider.cjs +13 -0
  323. package/dist/slider.cjs.map +1 -0
  324. package/dist/slider.d.cts +11 -0
  325. package/dist/slider.d.ts +11 -0
  326. package/dist/slider.js +4 -0
  327. package/dist/slider.js.map +1 -0
  328. package/dist/spinner.cjs +14 -0
  329. package/dist/spinner.cjs.map +1 -0
  330. package/dist/spinner.d.cts +18 -0
  331. package/dist/spinner.d.ts +18 -0
  332. package/dist/spinner.js +5 -0
  333. package/dist/spinner.js.map +1 -0
  334. package/dist/stepper.cjs +13 -0
  335. package/dist/stepper.cjs.map +1 -0
  336. package/dist/stepper.d.cts +15 -0
  337. package/dist/stepper.d.ts +15 -0
  338. package/dist/stepper.js +4 -0
  339. package/dist/stepper.js.map +1 -0
  340. package/dist/table.cjs +13 -0
  341. package/dist/table.cjs.map +1 -0
  342. package/dist/table.d.cts +23 -0
  343. package/dist/table.d.ts +23 -0
  344. package/dist/table.js +4 -0
  345. package/dist/table.js.map +1 -0
  346. package/dist/tabs.cjs +13 -0
  347. package/dist/tabs.cjs.map +1 -0
  348. package/dist/tabs.d.cts +16 -0
  349. package/dist/tabs.d.ts +16 -0
  350. package/dist/tabs.js +4 -0
  351. package/dist/tabs.js.map +1 -0
  352. package/dist/text.cjs +18 -0
  353. package/dist/text.cjs.map +1 -0
  354. package/dist/text.d.cts +18 -0
  355. package/dist/text.d.ts +18 -0
  356. package/dist/text.js +5 -0
  357. package/dist/text.js.map +1 -0
  358. package/dist/textarea.cjs +13 -0
  359. package/dist/textarea.cjs.map +1 -0
  360. package/dist/textarea.d.cts +13 -0
  361. package/dist/textarea.d.ts +13 -0
  362. package/dist/textarea.js +4 -0
  363. package/dist/textarea.js.map +1 -0
  364. package/dist/textfield.cjs +13 -0
  365. package/dist/textfield.cjs.map +1 -0
  366. package/dist/textfield.d.cts +11 -0
  367. package/dist/textfield.d.ts +11 -0
  368. package/dist/textfield.js +4 -0
  369. package/dist/textfield.js.map +1 -0
  370. package/dist/toast.cjs +37 -0
  371. package/dist/toast.cjs.map +1 -0
  372. package/dist/toast.d.cts +53 -0
  373. package/dist/toast.d.ts +53 -0
  374. package/dist/toast.js +4 -0
  375. package/dist/toast.js.map +1 -0
  376. package/dist/toggle.cjs +13 -0
  377. package/dist/toggle.cjs.map +1 -0
  378. package/dist/toggle.d.cts +10 -0
  379. package/dist/toggle.d.ts +10 -0
  380. package/dist/toggle.js +4 -0
  381. package/dist/toggle.js.map +1 -0
  382. package/dist/tooltip.cjs +13 -0
  383. package/dist/tooltip.cjs.map +1 -0
  384. package/dist/tooltip.d.cts +15 -0
  385. package/dist/tooltip.d.ts +15 -0
  386. package/dist/tooltip.js +4 -0
  387. package/dist/tooltip.js.map +1 -0
  388. package/package.json +276 -0
@@ -0,0 +1,57 @@
1
+ import { LazyMotion, domAnimation, m } from './chunk-Y3CWICHE.js';
2
+ import { cn } from './chunk-MVGUWG27.js';
3
+ import * as React from 'react';
4
+ import { cva } from 'class-variance-authority';
5
+ import { jsx } from 'react/jsx-runtime';
6
+
7
+ var cardVariants = cva(
8
+ "rounded-2xl bg-[var(--color-background)] overflow-hidden",
9
+ {
10
+ variants: {
11
+ variant: {
12
+ elevated: "shadow-[var(--shadow-md)]",
13
+ outlined: "border border-[var(--color-border)]",
14
+ filled: "bg-[var(--color-muted)]"
15
+ },
16
+ padding: {
17
+ none: "",
18
+ sm: "p-4",
19
+ md: "p-5",
20
+ lg: "p-6"
21
+ },
22
+ interactive: {
23
+ true: "cursor-pointer"
24
+ }
25
+ },
26
+ defaultVariants: {
27
+ variant: "elevated",
28
+ padding: "md"
29
+ }
30
+ }
31
+ );
32
+ var Card = React.forwardRef(
33
+ ({ className, variant, padding, interactive, onClick, children, style, id, "aria-label": ariaLabel }, ref) => {
34
+ const isInteractive = interactive || !!onClick;
35
+ return /* @__PURE__ */ jsx(LazyMotion, { features: domAnimation, children: /* @__PURE__ */ jsx(
36
+ m.div,
37
+ {
38
+ ref,
39
+ id,
40
+ "aria-label": ariaLabel,
41
+ style,
42
+ className: cn(cardVariants({ variant, padding, interactive: isInteractive || void 0 }), className),
43
+ whileTap: isInteractive ? { scale: 0.98 } : void 0,
44
+ transition: isInteractive ? { type: "spring", stiffness: 400, damping: 20 } : void 0,
45
+ onClick,
46
+ role: onClick ? "button" : void 0,
47
+ tabIndex: onClick ? 0 : void 0,
48
+ children
49
+ }
50
+ ) });
51
+ }
52
+ );
53
+ Card.displayName = "Card";
54
+
55
+ export { Card, cardVariants };
56
+ //# sourceMappingURL=chunk-DDV6JQEW.js.map
57
+ //# sourceMappingURL=chunk-DDV6JQEW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Card/Card.tsx"],"names":[],"mappings":";;;;;;AAKA,IAAM,YAAA,GAAe,GAAA;AAAA,EACnB,0DAAA;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,QAAA,EAAU,2BAAA;AAAA,QACV,QAAA,EAAU,qCAAA;AAAA,QACV,MAAA,EAAQ;AAAA,OACV;AAAA,MACA,OAAA,EAAS;AAAA,QACP,IAAA,EAAM,EAAA;AAAA,QACN,EAAA,EAAI,KAAA;AAAA,QACJ,EAAA,EAAI,KAAA;AAAA,QACJ,EAAA,EAAI;AAAA,OACN;AAAA,MACA,WAAA,EAAa;AAAA,QACX,IAAA,EAAM;AAAA;AACR,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,UAAA;AAAA,MACT,OAAA,EAAS;AAAA;AACX;AAEJ;AAMA,IAAM,IAAA,GAAa,KAAA,CAAA,UAAA;AAAA,EACjB,CAAC,EAAE,SAAA,EAAW,OAAA,EAAS,OAAA,EAAS,WAAA,EAAa,OAAA,EAAS,QAAA,EAAU,KAAA,EAAO,EAAA,EAAI,YAAA,EAAc,SAAA,IAAa,GAAA,KAAQ;AAC5G,IAAA,MAAM,aAAA,GAAgB,WAAA,IAAe,CAAC,CAAC,OAAA;AAEvC,IAAA,uBACE,GAAA,CAAC,UAAA,EAAA,EAAW,QAAA,EAAU,YAAA,EACpB,QAAA,kBAAA,GAAA;AAAA,MAAC,CAAA,CAAE,GAAA;AAAA,MAAF;AAAA,QACC,GAAA;AAAA,QACA,EAAA;AAAA,QACA,YAAA,EAAY,SAAA;AAAA,QACZ,KAAA;AAAA,QACA,SAAA,EAAW,EAAA,CAAG,YAAA,CAAa,EAAE,OAAA,EAAS,OAAA,EAAS,WAAA,EAAa,aAAA,IAAiB,MAAA,EAAW,CAAA,EAAG,SAAS,CAAA;AAAA,QACpG,QAAA,EAAU,aAAA,GAAgB,EAAE,KAAA,EAAO,MAAK,GAAI,MAAA;AAAA,QAC5C,UAAA,EAAY,gBAAgB,EAAE,IAAA,EAAM,UAAU,SAAA,EAAW,GAAA,EAAK,OAAA,EAAS,EAAA,EAAG,GAAI,MAAA;AAAA,QAC9E,OAAA;AAAA,QACA,IAAA,EAAM,UAAU,QAAA,GAAW,MAAA;AAAA,QAC3B,QAAA,EAAU,UAAU,CAAA,GAAI,MAAA;AAAA,QAEvB;AAAA;AAAA,KACH,EACF,CAAA;AAAA,EAEJ;AACF;AACA,IAAA,CAAK,WAAA,GAAc,MAAA","file":"chunk-DDV6JQEW.js","sourcesContent":["import * as React from \"react\";\nimport { m, LazyMotion, domAnimation } from \"../../utils/motion\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst cardVariants = cva(\n \"rounded-2xl bg-[var(--color-background)] overflow-hidden\",\n {\n variants: {\n variant: {\n elevated: \"shadow-[var(--shadow-md)]\",\n outlined: \"border border-[var(--color-border)]\",\n filled: \"bg-[var(--color-muted)]\",\n },\n padding: {\n none: \"\",\n sm: \"p-4\",\n md: \"p-5\",\n lg: \"p-6\",\n },\n interactive: {\n true: \"cursor-pointer\",\n },\n },\n defaultVariants: {\n variant: \"elevated\",\n padding: \"md\",\n },\n }\n);\n\nexport interface CardProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof cardVariants> {}\n\nconst Card = React.forwardRef<HTMLDivElement, CardProps>(\n ({ className, variant, padding, interactive, onClick, children, style, id, \"aria-label\": ariaLabel }, ref) => {\n const isInteractive = interactive || !!onClick;\n\n return (\n <LazyMotion features={domAnimation}>\n <m.div\n ref={ref}\n id={id}\n aria-label={ariaLabel}\n style={style}\n className={cn(cardVariants({ variant, padding, interactive: isInteractive || undefined }), className)}\n whileTap={isInteractive ? { scale: 0.98 } : undefined}\n transition={isInteractive ? { type: \"spring\", stiffness: 400, damping: 20 } : undefined}\n onClick={onClick as React.MouseEventHandler<HTMLDivElement>}\n role={onClick ? \"button\" : undefined}\n tabIndex={onClick ? 0 : undefined}\n >\n {children}\n </m.div>\n </LazyMotion>\n );\n }\n);\nCard.displayName = \"Card\";\n\nexport { Card, cardVariants };\n"]}
@@ -0,0 +1,126 @@
1
+ import { __objRest, __spreadValues, cn, __spreadProps } from './chunk-MVGUWG27.js';
2
+ import * as React from 'react';
3
+ import * as ToastPrimitive from '@radix-ui/react-toast';
4
+ import { cva } from 'class-variance-authority';
5
+ import { jsx, jsxs } from 'react/jsx-runtime';
6
+
7
+ var toastVariants = cva(
8
+ [
9
+ "flex items-center gap-3 w-full max-w-sm px-4 py-3.5 rounded-2xl shadow-lg",
10
+ "text-[14px] font-medium",
11
+ "data-[state=open]:animate-toast-in",
12
+ "data-[state=closed]:animate-toast-out"
13
+ ],
14
+ {
15
+ variants: {
16
+ variant: {
17
+ default: "bg-[var(--color-gray-800)] text-white",
18
+ positive: "bg-[var(--color-positive)] text-white",
19
+ negative: "bg-[var(--color-negative)] text-white",
20
+ warning: "bg-[var(--color-warning)] text-white"
21
+ }
22
+ },
23
+ defaultVariants: {
24
+ variant: "default"
25
+ }
26
+ }
27
+ );
28
+ var ToastProvider = ToastPrimitive.Provider;
29
+ var ToastViewport = React.forwardRef((_a, ref) => {
30
+ var _b = _a, { className } = _b, props = __objRest(_b, ["className"]);
31
+ return /* @__PURE__ */ jsx(
32
+ ToastPrimitive.Viewport,
33
+ __spreadValues({
34
+ ref,
35
+ className: cn(
36
+ "fixed bottom-0 left-1/2 -translate-x-1/2 z-[100]",
37
+ "flex flex-col gap-2 p-5 w-full max-w-sm",
38
+ className
39
+ )
40
+ }, props)
41
+ );
42
+ });
43
+ ToastViewport.displayName = "ToastViewport";
44
+ var Toast = React.forwardRef((_a, ref) => {
45
+ var _b = _a, { className, variant, description, action, children } = _b, props = __objRest(_b, ["className", "variant", "description", "action", "children"]);
46
+ return /* @__PURE__ */ jsxs(
47
+ ToastPrimitive.Root,
48
+ __spreadProps(__spreadValues({
49
+ ref,
50
+ className: cn(toastVariants({ variant }), className)
51
+ }, props), {
52
+ children: [
53
+ /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0", children: [
54
+ /* @__PURE__ */ jsx(ToastPrimitive.Title, { className: "leading-snug", children }),
55
+ description && /* @__PURE__ */ jsx(ToastPrimitive.Description, { className: "text-[12px] opacity-80 mt-0.5", children: description })
56
+ ] }),
57
+ action,
58
+ /* @__PURE__ */ jsx(ToastPrimitive.Close, { className: "shrink-0 opacity-70 hover:opacity-100 transition-opacity", children: /* @__PURE__ */ jsx("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ jsx("path", { d: "M4 4L12 12M12 4L4 12", stroke: "currentColor", strokeWidth: "1.6", strokeLinecap: "round" }) }) })
59
+ ]
60
+ })
61
+ );
62
+ });
63
+ Toast.displayName = "Toast";
64
+ var toasts = [];
65
+ var subscribers = /* @__PURE__ */ new Set();
66
+ function getSnapshot() {
67
+ return toasts;
68
+ }
69
+ function subscribe(callback) {
70
+ subscribers.add(callback);
71
+ return () => subscribers.delete(callback);
72
+ }
73
+ function notify() {
74
+ subscribers.forEach((cb) => cb());
75
+ }
76
+ function dispatch(toast2) {
77
+ toasts = [...toasts, toast2];
78
+ notify();
79
+ }
80
+ function dismiss(id) {
81
+ toasts = toasts.map((t) => t.id === id ? __spreadProps(__spreadValues({}, t), { open: false }) : t);
82
+ notify();
83
+ }
84
+ function remove(id) {
85
+ toasts = toasts.filter((t) => t.id !== id);
86
+ notify();
87
+ }
88
+ function toast(input) {
89
+ var _a;
90
+ const normalized = typeof input === "string" ? { children: input } : input;
91
+ const id = (_a = normalized.id) != null ? _a : Math.random().toString(36).slice(2);
92
+ dispatch(__spreadProps(__spreadValues({}, normalized), { id, open: true }));
93
+ return { id, dismiss: () => dismiss(id) };
94
+ }
95
+ toast.positive = (children, opts) => toast(__spreadProps(__spreadValues({}, opts), { children, variant: "positive" }));
96
+ toast.negative = (children, opts) => toast(__spreadProps(__spreadValues({}, opts), { children, variant: "negative" }));
97
+ toast.warning = (children, opts) => toast(__spreadProps(__spreadValues({}, opts), { children, variant: "warning" }));
98
+ function useToast() {
99
+ const state = React.useSyncExternalStore(subscribe, getSnapshot);
100
+ return { toasts: state, dismiss, remove };
101
+ }
102
+ function Toaster() {
103
+ const { toasts: toasts2, remove: remove2 } = useToast();
104
+ return /* @__PURE__ */ jsxs(ToastProvider, { swipeDirection: "down", children: [
105
+ toasts2.map((_a) => {
106
+ var _b = _a, { id, open, children } = _b, props = __objRest(_b, ["id", "open", "children"]);
107
+ return /* @__PURE__ */ jsx(
108
+ Toast,
109
+ __spreadProps(__spreadValues({
110
+ open,
111
+ onOpenChange: (o) => {
112
+ if (!o) remove2(id);
113
+ }
114
+ }, props), {
115
+ children
116
+ }),
117
+ id
118
+ );
119
+ }),
120
+ /* @__PURE__ */ jsx(ToastViewport, {})
121
+ ] });
122
+ }
123
+
124
+ export { Toast, ToastProvider, ToastViewport, Toaster, toast, toastVariants, useToast };
125
+ //# sourceMappingURL=chunk-DR6JPBH7.js.map
126
+ //# sourceMappingURL=chunk-DR6JPBH7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Toast/Toast.tsx","../src/components/Toast/useToast.ts","../src/components/Toast/Toaster.tsx"],"names":["toast","React2","toasts","remove","jsxs","jsx"],"mappings":";;;;;;AAKA,IAAM,aAAA,GAAgB,GAAA;AAAA,EACpB;AAAA,IACE,2EAAA;AAAA,IACA,yBAAA;AAAA,IACA,oCAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA;AAAA,IACE,QAAA,EAAU;AAAA,MACR,OAAA,EAAS;AAAA,QACP,OAAA,EAAS,uCAAA;AAAA,QACT,QAAA,EAAU,uCAAA;AAAA,QACV,QAAA,EAAU,uCAAA;AAAA,QACV,OAAA,EAAS;AAAA;AACX,KACF;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS;AAAA;AACX;AAEJ;AASA,IAAM,aAAA,GAA+B,cAAA,CAAA;AAErC,IAAM,aAAA,GAAsB,KAAA,CAAA,UAAA,CAG1B,CAAC,EAAA,EAAyB,GAAA,KAAK;AAA9B,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EAvCL,GAuCG,EAAA,EAAgB,KAAA,GAAA,SAAA,CAAhB,IAAgB,CAAd,WAAA,CAAA,CAAA;AACH,EAAA,uBAAA,GAAA;AAAA,IAAgB,cAAA,CAAA,QAAA;AAAA,IAAf,cAAA,CAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,kDAAA;AAAA,QACA,yCAAA;AAAA,QACA;AAAA;AACF,KAAA,EACI,KAAA;AAAA,GACN;AAAA,CACD;AACD,aAAA,CAAc,WAAA,GAAc,eAAA;AAE5B,IAAM,KAAA,GAAc,KAAA,CAAA,UAAA,CAGlB,CAAC,EAAA,EAAiE,GAAA,KAAK;AAAtE,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EAAW,OAAA,EAAS,WAAA,EAAa,MAAA,EAAQ,QAAA,EAvD9C,GAuDG,EAAA,EAAwD,KAAA,GAAA,SAAA,CAAxD,EAAA,EAAwD,CAAtD,WAAA,EAAW,SAAA,EAAS,eAAa,QAAA,EAAQ,UAAA,CAAA,CAAA;AAC5C,EAAA,uBAAA,IAAA;AAAA,IAAgB,cAAA,CAAA,IAAA;AAAA,IAAf,aAAA,CAAA,cAAA,CAAA;AAAA,MACC,GAAA;AAAA,MACA,WAAW,EAAA,CAAG,aAAA,CAAc,EAAE,OAAA,EAAS,GAAG,SAAS;AAAA,KAAA,EAC/C,KAAA,CAAA,EAHL;AAAA,MAKC,QAAA,EAAA;AAAA,wBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,WAAU,gBAAA,EACb,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAgB,cAAA,CAAA,KAAA,EAAf,EAAqB,SAAA,EAAU,cAAA,EAAgB,QAAA,EAAS,CAAA;AAAA,UACxD,+BACC,GAAA,CAAgB,cAAA,CAAA,WAAA,EAAf,EAA2B,SAAA,EAAU,iCACnC,QAAA,EAAA,WAAA,EACH;AAAA,SAAA,EAEJ,CAAA;AAAA,QACC,MAAA;AAAA,wBACD,GAAA,CAAgB,cAAA,CAAA,KAAA,EAAf,EAAqB,SAAA,EAAU,0DAAA,EAC9B,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAM,IAAA,EAAK,MAAA,EAAO,IAAA,EAAK,OAAA,EAAQ,WAAA,EAAY,IAAA,EAAK,MAAA,EAAO,aAAA,EAAW,IAAA,EACrE,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,sBAAA,EAAuB,MAAA,EAAO,cAAA,EAAe,WAAA,EAAY,KAAA,EAAM,aAAA,EAAc,OAAA,EAAQ,CAAA,EAC/F,CAAA,EACF;AAAA;AAAA,KAAA;AAAA,GACF;AAAA,CACD;AACD,KAAA,CAAM,WAAA,GAAc,OAAA;ACnEpB,IAAI,SAAuB,EAAC;AAC5B,IAAM,WAAA,uBAAkB,GAAA,EAAgB;AAExC,SAAS,WAAA,GAAc;AACrB,EAAA,OAAO,MAAA;AACT;AAEA,SAAS,UAAU,QAAA,EAAsB;AACvC,EAAA,WAAA,CAAY,IAAI,QAAQ,CAAA;AACxB,EAAA,OAAO,MAAM,WAAA,CAAY,MAAA,CAAO,QAAQ,CAAA;AAC1C;AAEA,SAAS,MAAA,GAAS;AAChB,EAAA,WAAA,CAAY,OAAA,CAAQ,CAAC,EAAA,KAAO,EAAA,EAAI,CAAA;AAClC;AAEA,SAAS,SAASA,MAAAA,EAAmB;AACnC,EAAA,MAAA,GAAS,CAAC,GAAG,MAAA,EAAQA,MAAK,CAAA;AAC1B,EAAA,MAAA,EAAO;AACT;AAEA,SAAS,QAAQ,EAAA,EAAY;AAC3B,EAAA,MAAA,GAAS,MAAA,CAAO,GAAA,CAAI,CAAC,CAAA,KAAO,CAAA,CAAE,EAAA,KAAO,EAAA,GAAK,aAAA,CAAA,cAAA,CAAA,EAAA,EAAK,CAAA,CAAA,EAAL,EAAQ,IAAA,EAAM,KAAA,MAAU,CAAE,CAAA;AACpE,EAAA,MAAA,EAAO;AACT;AAEA,SAAS,OAAO,EAAA,EAAY;AAC1B,EAAA,MAAA,GAAS,OAAO,MAAA,CAAO,CAAC,CAAA,KAAM,CAAA,CAAE,OAAO,EAAE,CAAA;AACzC,EAAA,MAAA,EAAO;AACT;AAEO,SAAS,MAAM,KAAA,EAA4B;AAzClD,EAAA,IAAA,EAAA;AA0CE,EAAA,MAAM,aAAyB,OAAO,KAAA,KAAU,WAAW,EAAE,QAAA,EAAU,OAAM,GAAI,KAAA;AACjF,EAAA,MAAM,EAAA,GAAA,CAAK,EAAA,GAAA,UAAA,CAAW,EAAA,KAAX,IAAA,GAAA,EAAA,GAAiB,IAAA,CAAK,MAAA,EAAO,CAAE,QAAA,CAAS,EAAE,CAAA,CAAE,KAAA,CAAM,CAAC,CAAA;AAC9D,EAAA,QAAA,CAAS,iCAAK,UAAA,CAAA,EAAL,EAAiB,EAAA,EAAI,IAAA,EAAM,MAAK,CAAC,CAAA;AAC1C,EAAA,OAAO,EAAE,EAAA,EAAI,OAAA,EAAS,MAAM,OAAA,CAAQ,EAAE,CAAA,EAAE;AAC1C;AAEA,KAAA,CAAM,QAAA,GAAW,CAAC,QAAA,EAA2B,IAAA,KAC3C,KAAA,CAAM,aAAA,CAAA,cAAA,CAAA,EAAA,EAAK,IAAA,CAAA,EAAL,EAAW,QAAA,EAAU,OAAA,EAAS,UAAA,EAAW,CAAC,CAAA;AAElD,KAAA,CAAM,QAAA,GAAW,CAAC,QAAA,EAA2B,IAAA,KAC3C,KAAA,CAAM,aAAA,CAAA,cAAA,CAAA,EAAA,EAAK,IAAA,CAAA,EAAL,EAAW,QAAA,EAAU,OAAA,EAAS,UAAA,EAAW,CAAC,CAAA;AAElD,KAAA,CAAM,OAAA,GAAU,CAAC,QAAA,EAA2B,IAAA,KAC1C,KAAA,CAAM,aAAA,CAAA,cAAA,CAAA,EAAA,EAAK,IAAA,CAAA,EAAL,EAAW,QAAA,EAAU,OAAA,EAAS,SAAA,EAAU,CAAC,CAAA;AAE1C,SAAS,QAAA,GAAW;AACzB,EAAA,MAAM,KAAA,GAAcC,KAAA,CAAA,oBAAA,CAAqB,SAAA,EAAW,WAAW,CAAA;AAC/D,EAAA,OAAO,EAAE,MAAA,EAAQ,KAAA,EAAO,OAAA,EAAS,MAAA,EAAO;AAC1C;ACzDO,SAAS,OAAA,GAAU;AACxB,EAAA,MAAM,EAAE,MAAA,EAAAC,OAAAA,EAAQ,MAAA,EAAAC,OAAAA,KAAW,QAAA,EAAS;AAEpC,EAAA,uBACEC,IAAAA,CAAC,aAAA,EAAA,EAAc,cAAA,EAAe,MAAA,EAC3B,QAAA,EAAA;AAAA,IAAAF,OAAAA,CAAO,GAAA,CAAI,CAAC,EAAA,KAAkC;AAAlC,MAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,EAAA,EAAI,MAAM,QAAA,EAR/B,GAQmB,IAAyB,KAAA,GAAA,SAAA,CAAzB,EAAA,EAAyB,CAAvB,IAAA,EAAI,MAAA,EAAM,UAAA,CAAA,CAAA;AACvB,MAAA,uBAAAG,GAAAA;AAAA,QAAC,KAAA;AAAA,QAAA,aAAA,CAAA,cAAA,CAAA;AAAA,UAEC,IAAA;AAAA,UACA,YAAA,EAAc,CAAC,CAAA,KAAM;AAAE,YAAA,IAAI,CAAC,CAAA,EAAGF,OAAAA,CAAO,EAAE,CAAA;AAAA,UAAG;AAAA,SAAA,EACvC,KAAA,CAAA,EAJL;AAAA,UAME;AAAA,SAAA,CAAA;AAAA,QALI;AAAA,OAMP;AAAA,IAAA,CACD,CAAA;AAAA,oBACDE,IAAC,aAAA,EAAA,EAAc;AAAA,GAAA,EACjB,CAAA;AAEJ","file":"chunk-DR6JPBH7.js","sourcesContent":["import * as React from \"react\";\nimport * as ToastPrimitive from \"@radix-ui/react-toast\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst toastVariants = cva(\n [\n \"flex items-center gap-3 w-full max-w-sm px-4 py-3.5 rounded-2xl shadow-lg\",\n \"text-[14px] font-medium\",\n \"data-[state=open]:animate-toast-in\",\n \"data-[state=closed]:animate-toast-out\",\n ],\n {\n variants: {\n variant: {\n default: \"bg-[var(--color-gray-800)] text-white\",\n positive: \"bg-[var(--color-positive)] text-white\",\n negative: \"bg-[var(--color-negative)] text-white\",\n warning: \"bg-[var(--color-warning)] text-white\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nexport interface ToastProps\n extends React.ComponentPropsWithoutRef<typeof ToastPrimitive.Root>,\n VariantProps<typeof toastVariants> {\n description?: string;\n action?: React.ReactNode;\n}\n\nconst ToastProvider = ToastPrimitive.Provider;\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitive.Viewport\n ref={ref}\n className={cn(\n \"fixed bottom-0 left-1/2 -translate-x-1/2 z-[100]\",\n \"flex flex-col gap-2 p-5 w-full max-w-sm\",\n className\n )}\n {...props}\n />\n));\nToastViewport.displayName = \"ToastViewport\";\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitive.Root>,\n ToastProps\n>(({ className, variant, description, action, children, ...props }, ref) => (\n <ToastPrimitive.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n >\n <div className=\"flex-1 min-w-0\">\n <ToastPrimitive.Title className=\"leading-snug\">{children}</ToastPrimitive.Title>\n {description && (\n <ToastPrimitive.Description className=\"text-[12px] opacity-80 mt-0.5\">\n {description}\n </ToastPrimitive.Description>\n )}\n </div>\n {action}\n <ToastPrimitive.Close className=\"shrink-0 opacity-70 hover:opacity-100 transition-opacity\">\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" aria-hidden>\n <path d=\"M4 4L12 12M12 4L4 12\" stroke=\"currentColor\" strokeWidth=\"1.6\" strokeLinecap=\"round\" />\n </svg>\n </ToastPrimitive.Close>\n </ToastPrimitive.Root>\n));\nToast.displayName = \"Toast\";\n\nexport { ToastProvider, ToastViewport, Toast, toastVariants };\n","import * as React from \"react\";\nimport type { ToastProps } from \"./Toast\";\n\ntype ToastInput = Omit<ToastProps, \"open\" | \"onOpenChange\"> & { id?: string };\n\ninterface ToastState extends ToastInput {\n id: string;\n open: boolean;\n}\n\nlet toasts: ToastState[] = [];\nconst subscribers = new Set<() => void>();\n\nfunction getSnapshot() {\n return toasts;\n}\n\nfunction subscribe(callback: () => void) {\n subscribers.add(callback);\n return () => subscribers.delete(callback);\n}\n\nfunction notify() {\n subscribers.forEach((cb) => cb());\n}\n\nfunction dispatch(toast: ToastState) {\n toasts = [...toasts, toast];\n notify();\n}\n\nfunction dismiss(id: string) {\n toasts = toasts.map((t) => (t.id === id ? { ...t, open: false } : t));\n notify();\n}\n\nfunction remove(id: string) {\n toasts = toasts.filter((t) => t.id !== id);\n notify();\n}\n\nexport function toast(input: ToastInput | string) {\n const normalized: ToastInput = typeof input === \"string\" ? { children: input } : input;\n const id = normalized.id ?? Math.random().toString(36).slice(2);\n dispatch({ ...normalized, id, open: true });\n return { id, dismiss: () => dismiss(id) };\n}\n\ntoast.positive = (children: React.ReactNode, opts?: Partial<ToastInput>) =>\n toast({ ...opts, children, variant: \"positive\" });\n\ntoast.negative = (children: React.ReactNode, opts?: Partial<ToastInput>) =>\n toast({ ...opts, children, variant: \"negative\" });\n\ntoast.warning = (children: React.ReactNode, opts?: Partial<ToastInput>) =>\n toast({ ...opts, children, variant: \"warning\" });\n\nexport function useToast() {\n const state = React.useSyncExternalStore(subscribe, getSnapshot);\n return { toasts: state, dismiss, remove };\n}\n","import { ToastProvider, ToastViewport, Toast } from \"./Toast\";\nimport { useToast } from \"./useToast\";\n\nexport function Toaster() {\n const { toasts, remove } = useToast();\n\n return (\n <ToastProvider swipeDirection=\"down\">\n {toasts.map(({ id, open, children, ...props }) => (\n <Toast\n key={id}\n open={open}\n onOpenChange={(o) => { if (!o) remove(id); }}\n {...props}\n >\n {children}\n </Toast>\n ))}\n <ToastViewport />\n </ToastProvider>\n );\n}\n"]}
@@ -0,0 +1,46 @@
1
+ 'use strict';
2
+
3
+ var chunk4V3IOZPC_cjs = require('./chunk-4V3IOZPC.cjs');
4
+ var classVarianceAuthority = require('class-variance-authority');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ var textVariants = classVarianceAuthority.cva("", {
8
+ variants: {
9
+ variant: {
10
+ display1: "text-[28px] leading-[1.3] font-bold",
11
+ title1: "text-[22px] leading-[1.4] font-bold",
12
+ title2: "text-[20px] leading-[1.4] font-bold",
13
+ title3: "text-[18px] leading-[1.4] font-semibold",
14
+ body1: "text-[16px] leading-[1.5] font-normal",
15
+ body2: "text-[14px] leading-[1.5] font-normal",
16
+ caption1: "text-[12px] leading-[1.4] font-normal"
17
+ },
18
+ color: {
19
+ default: "text-[var(--color-foreground)]",
20
+ muted: "text-[var(--color-muted-foreground)]",
21
+ primary: "text-[var(--color-primary)]",
22
+ positive: "text-[var(--color-positive)]",
23
+ negative: "text-[var(--color-negative)]",
24
+ warning: "text-[var(--color-warning)]"
25
+ }
26
+ },
27
+ defaultVariants: {
28
+ variant: "body1",
29
+ color: "default"
30
+ }
31
+ });
32
+ function Text(_a) {
33
+ var _b = _a, { className, variant, color, as } = _b, props = chunk4V3IOZPC_cjs.__objRest(_b, ["className", "variant", "color", "as"]);
34
+ const defaultTag = variant === "display1" ? "h1" : variant === "title1" ? "h2" : variant === "title2" ? "h3" : variant === "title3" ? "h4" : variant === "caption1" ? "span" : "p";
35
+ const Tag = as != null ? as : defaultTag;
36
+ return (
37
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
38
+ /* @__PURE__ */ jsxRuntime.jsx(Tag, chunk4V3IOZPC_cjs.__spreadValues({ className: chunk4V3IOZPC_cjs.cn(textVariants({ variant, color, className })) }, props))
39
+ );
40
+ }
41
+ Text.displayName = "Text";
42
+
43
+ exports.Text = Text;
44
+ exports.textVariants = textVariants;
45
+ //# sourceMappingURL=chunk-EVF7QZMA.cjs.map
46
+ //# sourceMappingURL=chunk-EVF7QZMA.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Text/Text.tsx"],"names":["cva","__objRest","jsx","__spreadValues","cn"],"mappings":";;;;;;AAIA,IAAM,YAAA,GAAeA,2BAAI,EAAA,EAAI;AAAA,EAC3B,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,QAAA,EAAU,qCAAA;AAAA,MACV,MAAA,EAAQ,qCAAA;AAAA,MACR,MAAA,EAAQ,qCAAA;AAAA,MACR,MAAA,EAAQ,yCAAA;AAAA,MACR,KAAA,EAAO,uCAAA;AAAA,MACP,KAAA,EAAO,uCAAA;AAAA,MACP,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,gCAAA;AAAA,MACT,KAAA,EAAO,sCAAA;AAAA,MACP,OAAA,EAAS,6BAAA;AAAA,MACT,QAAA,EAAU,8BAAA;AAAA,MACV,QAAA,EAAU,8BAAA;AAAA,MACV,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS,OAAA;AAAA,IACT,KAAA,EAAO;AAAA;AAEX,CAAC;AAOD,SAAS,KAAK,EAAA,EAAwD;AAAxD,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EAAW,OAAA,EAAS,KAAA,EAAO,EAAA,EAnC3C,GAmCc,EAAA,EAAoC,KAAA,GAAAC,2BAAA,CAApC,EAAA,EAAoC,CAAlC,WAAA,EAAW,SAAA,EAAS,OAAA,EAAO,IAAA,CAAA,CAAA;AACzC,EAAA,MAAM,UAAA,GACJ,OAAA,KAAY,UAAA,GAAa,IAAA,GACvB,YAAY,QAAA,GAAW,IAAA,GACvB,OAAA,KAAY,QAAA,GAAW,OACvB,OAAA,KAAY,QAAA,GAAW,IAAA,GACvB,OAAA,KAAY,aAAa,MAAA,GACzB,GAAA;AAEJ,EAAA,MAAM,MAAM,EAAA,IAAA,IAAA,GAAA,EAAA,GAAM,UAAA;AAElB,EAAA;AAAA;AAAA,oBAEEC,cAAA,CAAC,GAAA,EAAAC,gCAAA,CAAA,EAAI,SAAA,EAAWC,oBAAA,CAAG,YAAA,CAAa,EAAE,OAAA,EAAS,KAAA,EAAO,SAAA,EAAW,CAAC,CAAA,EAAA,EAAQ,KAAA,CAAe;AAAA;AAEzF;AACA,IAAA,CAAK,WAAA,GAAc,MAAA","file":"chunk-EVF7QZMA.cjs","sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst textVariants = cva(\"\", {\n variants: {\n variant: {\n display1: \"text-[28px] leading-[1.3] font-bold\",\n title1: \"text-[22px] leading-[1.4] font-bold\",\n title2: \"text-[20px] leading-[1.4] font-bold\",\n title3: \"text-[18px] leading-[1.4] font-semibold\",\n body1: \"text-[16px] leading-[1.5] font-normal\",\n body2: \"text-[14px] leading-[1.5] font-normal\",\n caption1: \"text-[12px] leading-[1.4] font-normal\",\n },\n color: {\n default: \"text-[var(--color-foreground)]\",\n muted: \"text-[var(--color-muted-foreground)]\",\n primary: \"text-[var(--color-primary)]\",\n positive: \"text-[var(--color-positive)]\",\n negative: \"text-[var(--color-negative)]\",\n warning: \"text-[var(--color-warning)]\",\n },\n },\n defaultVariants: {\n variant: \"body1\",\n color: \"default\",\n },\n});\n\nexport type TextProps = React.HTMLAttributes<HTMLElement> &\n VariantProps<typeof textVariants> & {\n as?: React.ElementType;\n };\n\nfunction Text({ className, variant, color, as, ...props }: TextProps) {\n const defaultTag: React.ElementType =\n variant === \"display1\" ? \"h1\"\n : variant === \"title1\" ? \"h2\"\n : variant === \"title2\" ? \"h3\"\n : variant === \"title3\" ? \"h4\"\n : variant === \"caption1\" ? \"span\"\n : \"p\";\n\n const Tag = as ?? defaultTag;\n\n return (\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n <Tag className={cn(textVariants({ variant, color, className }))} {...(props as any)} />\n );\n}\nText.displayName = \"Text\";\n\nexport { Text, textVariants };\n"]}
@@ -0,0 +1,56 @@
1
+ import { __objRest, __spreadProps, __spreadValues, cn } from './chunk-MVGUWG27.js';
2
+ import * as React from 'react';
3
+ import * as SwitchPrimitive from '@radix-ui/react-switch';
4
+ import * as Label from '@radix-ui/react-label';
5
+ import { jsxs, jsx } from 'react/jsx-runtime';
6
+
7
+ var Toggle = React.forwardRef((_a, ref) => {
8
+ var _b = _a, { className, label, description, id } = _b, props = __objRest(_b, ["className", "label", "description", "id"]);
9
+ const toggleId = id != null ? id : React.useId();
10
+ return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4 w-full", children: [
11
+ (label || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-0.5", children: [
12
+ label && /* @__PURE__ */ jsx(
13
+ Label.Root,
14
+ {
15
+ htmlFor: toggleId,
16
+ className: "text-[16px] font-medium text-[var(--color-foreground)] cursor-pointer select-none",
17
+ children: label
18
+ }
19
+ ),
20
+ description && /* @__PURE__ */ jsx("p", { className: "text-[13px] text-[var(--color-muted-foreground)]", children: description })
21
+ ] }),
22
+ /* @__PURE__ */ jsx(
23
+ SwitchPrimitive.Root,
24
+ __spreadProps(__spreadValues({
25
+ ref,
26
+ id: toggleId,
27
+ className: cn(
28
+ "relative inline-flex h-7 w-12 shrink-0 cursor-pointer rounded-full",
29
+ "bg-[var(--color-gray-300)]",
30
+ "transition-colors duration-200 ease-in-out",
31
+ "data-[state=checked]:bg-[var(--color-primary)]",
32
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] focus-visible:ring-offset-2",
33
+ "disabled:opacity-40 disabled:cursor-not-allowed",
34
+ className
35
+ )
36
+ }, props), {
37
+ children: /* @__PURE__ */ jsx(
38
+ SwitchPrimitive.Thumb,
39
+ {
40
+ className: cn(
41
+ "pointer-events-none block h-5 w-5 rounded-full bg-white shadow-md",
42
+ "transition-transform duration-200 ease-in-out",
43
+ "translate-x-1",
44
+ "data-[state=checked]:translate-x-6"
45
+ )
46
+ }
47
+ )
48
+ })
49
+ )
50
+ ] });
51
+ });
52
+ Toggle.displayName = "Toggle";
53
+
54
+ export { Toggle };
55
+ //# sourceMappingURL=chunk-EXARWE5B.js.map
56
+ //# sourceMappingURL=chunk-EXARWE5B.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Toggle/Toggle.tsx"],"names":[],"mappings":";;;;;;AAWA,IAAM,MAAA,GAAe,KAAA,CAAA,UAAA,CAGnB,CAAC,EAAA,EAAiD,GAAA,KAAQ;AAAzD,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EAAW,KAAA,EAAO,WAAA,EAAa,EAAA,EAdpC,GAcG,EAAA,EAAwC,KAAA,GAAA,SAAA,CAAxC,EAAA,EAAwC,CAAtC,WAAA,EAAW,OAAA,EAAO,aAAA,EAAa,IAAA,CAAA,CAAA;AAClC,EAAA,MAAM,QAAA,GAAW,kBAAY,KAAA,CAAA,KAAA,EAAM;AAEnC,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gDAAA,EACX,QAAA,EAAA;AAAA,IAAA,CAAA,KAAA,IAAS,WAAA,qBACT,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBAAA,EACZ,QAAA,EAAA;AAAA,MAAA,KAAA,oBACC,GAAA;AAAA,QAAO,KAAA,CAAA,IAAA;AAAA,QAAN;AAAA,UACC,OAAA,EAAS,QAAA;AAAA,UACT,SAAA,EAAU,mFAAA;AAAA,UAET,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,MAED,WAAA,oBACC,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oDAAoD,QAAA,EAAA,WAAA,EAAY;AAAA,KAAA,EAEjF,CAAA;AAAA,oBAEF,GAAA;AAAA,MAAiB,eAAA,CAAA,IAAA;AAAA,MAAhB,aAAA,CAAA,cAAA,CAAA;AAAA,QACC,GAAA;AAAA,QACA,EAAA,EAAI,QAAA;AAAA,QACJ,SAAA,EAAW,EAAA;AAAA,UACT,oEAAA;AAAA,UACA,4BAAA;AAAA,UACA,4CAAA;AAAA,UACA,gDAAA;AAAA,UACA,uHAAA;AAAA,UACA,iDAAA;AAAA,UACA;AAAA;AACF,OAAA,EACI,KAAA,CAAA,EAZL;AAAA,QAcC,QAAA,kBAAA,GAAA;AAAA,UAAiB,eAAA,CAAA,KAAA;AAAA,UAAhB;AAAA,YACC,SAAA,EAAW,EAAA;AAAA,cACT,mEAAA;AAAA,cACA,+CAAA;AAAA,cACA,eAAA;AAAA,cACA;AAAA;AACF;AAAA;AACF,OAAA;AAAA;AACF,GAAA,EACF,CAAA;AAEJ,CAAC;AACD,MAAA,CAAO,WAAA,GAAc,QAAA","file":"chunk-EXARWE5B.js","sourcesContent":["import * as React from \"react\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\nimport * as Label from \"@radix-ui/react-label\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface ToggleProps\n extends React.ComponentPropsWithoutRef<typeof SwitchPrimitive.Root> {\n label?: string;\n description?: string;\n}\n\nconst Toggle = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitive.Root>,\n ToggleProps\n>(({ className, label, description, id, ...props }, ref) => {\n const toggleId = id ?? React.useId();\n\n return (\n <div className=\"flex items-center justify-between gap-4 w-full\">\n {(label || description) && (\n <div className=\"flex flex-col gap-0.5\">\n {label && (\n <Label.Root\n htmlFor={toggleId}\n className=\"text-[16px] font-medium text-[var(--color-foreground)] cursor-pointer select-none\"\n >\n {label}\n </Label.Root>\n )}\n {description && (\n <p className=\"text-[13px] text-[var(--color-muted-foreground)]\">{description}</p>\n )}\n </div>\n )}\n <SwitchPrimitive.Root\n ref={ref}\n id={toggleId}\n className={cn(\n \"relative inline-flex h-7 w-12 shrink-0 cursor-pointer rounded-full\",\n \"bg-[var(--color-gray-300)]\",\n \"transition-colors duration-200 ease-in-out\",\n \"data-[state=checked]:bg-[var(--color-primary)]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] focus-visible:ring-offset-2\",\n \"disabled:opacity-40 disabled:cursor-not-allowed\",\n className\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-white shadow-md\",\n \"transition-transform duration-200 ease-in-out\",\n \"translate-x-1\",\n \"data-[state=checked]:translate-x-6\"\n )}\n />\n </SwitchPrimitive.Root>\n </div>\n );\n});\nToggle.displayName = \"Toggle\";\n\nexport { Toggle };\n"]}
@@ -0,0 +1,32 @@
1
+ import { __objRest, __spreadValues, cn } from './chunk-MVGUWG27.js';
2
+ import * as React from 'react';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ var sizeMap = {
6
+ xs: 12,
7
+ sm: 16,
8
+ md: 20,
9
+ lg: 24,
10
+ xl: 32
11
+ };
12
+ var Icon = React.forwardRef(
13
+ (_a, ref) => {
14
+ var _b = _a, { icon: LucideIconComponent, size = "md", label, className } = _b, props = __objRest(_b, ["icon", "size", "label", "className"]);
15
+ const px = typeof size === "number" ? size : sizeMap[size];
16
+ return /* @__PURE__ */ jsx(
17
+ LucideIconComponent,
18
+ __spreadValues({
19
+ ref,
20
+ size: px,
21
+ "aria-label": label,
22
+ "aria-hidden": !label,
23
+ className: cn("shrink-0", className)
24
+ }, props)
25
+ );
26
+ }
27
+ );
28
+ Icon.displayName = "Icon";
29
+
30
+ export { Icon };
31
+ //# sourceMappingURL=chunk-FUIIR7CU.js.map
32
+ //# sourceMappingURL=chunk-FUIIR7CU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Icon/Icon.tsx"],"names":[],"mappings":";;;;AAYA,IAAM,OAAA,GAAoC;AAAA,EACxC,EAAA,EAAI,EAAA;AAAA,EACJ,EAAA,EAAI,EAAA;AAAA,EACJ,EAAA,EAAI,EAAA;AAAA,EACJ,EAAA,EAAI,EAAA;AAAA,EACJ,EAAA,EAAI;AACN,CAAA;AAEA,IAAM,IAAA,GAAa,KAAA,CAAA,UAAA;AAAA,EACjB,CAAC,IAAwE,GAAA,KAAQ;AAAhF,IAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,IAAA,EAAM,mBAAA,EAAqB,IAAA,GAAO,IAAA,EAAM,KAAA,EAAO,SAAA,EArBpD,GAqBG,EAAA,EAA+D,KAAA,GAAA,SAAA,CAA/D,EAAA,EAA+D,CAA7D,MAAA,EAA2B,QAAa,OAAA,EAAO,WAAA,CAAA,CAAA;AAChD,IAAA,MAAM,KAAK,OAAO,IAAA,KAAS,QAAA,GAAW,IAAA,GAAO,QAAQ,IAAI,CAAA;AAEzD,IAAA,uBACE,GAAA;AAAA,MAAC,mBAAA;AAAA,MAAA,cAAA,CAAA;AAAA,QACC,GAAA;AAAA,QACA,IAAA,EAAM,EAAA;AAAA,QACN,YAAA,EAAY,KAAA;AAAA,QACZ,eAAa,CAAC,KAAA;AAAA,QACd,SAAA,EAAW,EAAA,CAAG,UAAA,EAAY,SAAS;AAAA,OAAA,EAC/B,KAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,IAAA,CAAK,WAAA,GAAc,MAAA","file":"chunk-FUIIR7CU.js","sourcesContent":["import * as React from \"react\";\nimport { type LucideIcon, type LucideProps } from \"lucide-react\";\nimport { cn } from \"../../utils/cn\";\n\nexport type IconSize = \"xs\" | \"sm\" | \"md\" | \"lg\" | \"xl\";\n\nexport interface IconProps extends Omit<LucideProps, \"size\"> {\n icon: LucideIcon;\n size?: IconSize | number;\n label?: string;\n}\n\nconst sizeMap: Record<IconSize, number> = {\n xs: 12,\n sm: 16,\n md: 20,\n lg: 24,\n xl: 32,\n};\n\nconst Icon = React.forwardRef<SVGSVGElement, IconProps>(\n ({ icon: LucideIconComponent, size = \"md\", label, className, ...props }, ref) => {\n const px = typeof size === \"number\" ? size : sizeMap[size];\n\n return (\n <LucideIconComponent\n ref={ref}\n size={px}\n aria-label={label}\n aria-hidden={!label}\n className={cn(\"shrink-0\", className)}\n {...props}\n />\n );\n }\n);\nIcon.displayName = \"Icon\";\n\nexport { Icon };\n"]}
@@ -0,0 +1,39 @@
1
+ import { __objRest, cn, __spreadProps, __spreadValues } from './chunk-MVGUWG27.js';
2
+ import * as React from 'react';
3
+ import { jsx } from 'react/jsx-runtime';
4
+
5
+ var baseClass = "animate-pulse bg-[var(--color-muted)] overflow-hidden relative will-change-transform before:absolute before:inset-0 before:bg-gradient-to-r before:from-transparent before:via-white/20 before:to-transparent before:animate-[shimmer_1.5s_infinite]";
6
+ var Skeleton = React.forwardRef(
7
+ (_a, ref) => {
8
+ var _b = _a, { className, variant = "rectangular", width, height, lines = 1, style } = _b, props = __objRest(_b, ["className", "variant", "width", "height", "lines", "style"]);
9
+ const variantClass = variant === "circular" ? "rounded-full" : variant === "text" ? "rounded-md" : "rounded-xl";
10
+ const computedClass = cn(baseClass, variantClass, className);
11
+ if (variant === "text" && lines > 1) {
12
+ return /* @__PURE__ */ jsx("div", __spreadProps(__spreadValues({ ref, className: "flex flex-col gap-2" }, props), { children: Array.from({ length: lines }).map((_, i) => /* @__PURE__ */ jsx(
13
+ "div",
14
+ {
15
+ className: computedClass,
16
+ style: {
17
+ width: i === lines - 1 ? "70%" : "100%",
18
+ height: height != null ? height : 16
19
+ }
20
+ },
21
+ i
22
+ )) }));
23
+ }
24
+ return /* @__PURE__ */ jsx(
25
+ "div",
26
+ __spreadValues({
27
+ ref,
28
+ className: computedClass,
29
+ style: __spreadValues({ width, height: height != null ? height : variant === "text" ? 16 : void 0 }, style),
30
+ "aria-hidden": "true"
31
+ }, props)
32
+ );
33
+ }
34
+ );
35
+ Skeleton.displayName = "Skeleton";
36
+
37
+ export { Skeleton };
38
+ //# sourceMappingURL=chunk-FXOOVZWB.js.map
39
+ //# sourceMappingURL=chunk-FXOOVZWB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Skeleton/Skeleton.tsx"],"names":[],"mappings":";;;;AAUA,IAAM,SAAA,GACJ,sPAAA;AAKF,IAAM,QAAA,GAAiB,KAAA,CAAA,UAAA;AAAA,EACrB,CAAC,IAAmF,GAAA,KAAQ;AAA3F,IAAA,IAAA,EAAA,GAAA,EAAA,EAAE,aAAW,OAAA,GAAU,aAAA,EAAe,KAAA,EAAO,MAAA,EAAQ,QAAQ,CAAA,EAAG,KAAA,EAjBnE,GAiBG,EAAA,EAA0E,kBAA1E,EAAA,EAA0E,CAAxE,aAAW,SAAA,EAAyB,OAAA,EAAO,UAAQ,OAAA,EAAW,OAAA,CAAA,CAAA;AAC/D,IAAA,MAAM,eACJ,OAAA,KAAY,UAAA,GAAa,cAAA,GACvB,OAAA,KAAY,SAAS,YAAA,GACrB,YAAA;AAEJ,IAAA,MAAM,aAAA,GAAgB,EAAA,CAAG,SAAA,EAAW,YAAA,EAAc,SAAS,CAAA;AAE3D,IAAA,IAAI,OAAA,KAAY,MAAA,IAAU,KAAA,GAAQ,CAAA,EAAG;AACnC,MAAA,2BACG,KAAA,EAAA,aAAA,CAAA,cAAA,CAAA,EAAI,GAAA,EAAU,SAAA,EAAU,qBAAA,EAAA,EAA0B,QAAlD,EACE,QAAA,EAAA,KAAA,CAAM,IAAA,CAAK,EAAE,QAAQ,KAAA,EAAO,EAAE,GAAA,CAAI,CAAC,GAAG,CAAA,qBACrC,GAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UAEC,SAAA,EAAW,aAAA;AAAA,UACX,KAAA,EAAO;AAAA,YACL,KAAA,EAAO,CAAA,KAAM,KAAA,GAAQ,CAAA,GAAI,KAAA,GAAQ,MAAA;AAAA,YACjC,QAAQ,MAAA,IAAA,IAAA,GAAA,MAAA,GAAU;AAAA;AACpB,SAAA;AAAA,QALK;AAAA,OAOR,CAAA,EAAA,CACH,CAAA;AAAA,IAEJ;AAEA,IAAA,uBACE,GAAA;AAAA,MAAC,KAAA;AAAA,MAAA,cAAA,CAAA;AAAA,QACC,GAAA;AAAA,QACA,SAAA,EAAW,aAAA;AAAA,QACX,KAAA,EAAO,iBAAE,KAAA,EAAO,MAAA,EAAQ,0BAAW,OAAA,KAAY,MAAA,GAAS,KAAK,MAAA,EAAA,EAAe,KAAA,CAAA;AAAA,QAC5E,aAAA,EAAY;AAAA,OAAA,EACR,KAAA;AAAA,KACN;AAAA,EAEJ;AACF;AACA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-FXOOVZWB.js","sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {\n variant?: \"text\" | \"circular\" | \"rectangular\";\n width?: string | number;\n height?: string | number;\n lines?: number;\n}\n\nconst baseClass =\n \"animate-pulse bg-[var(--color-muted)] overflow-hidden relative will-change-transform\" +\n \" before:absolute before:inset-0\" +\n \" before:bg-gradient-to-r before:from-transparent before:via-white/20 before:to-transparent\" +\n \" before:animate-[shimmer_1.5s_infinite]\";\n\nconst Skeleton = React.forwardRef<HTMLDivElement, SkeletonProps>(\n ({ className, variant = \"rectangular\", width, height, lines = 1, style, ...props }, ref) => {\n const variantClass =\n variant === \"circular\" ? \"rounded-full\"\n : variant === \"text\" ? \"rounded-md\"\n : \"rounded-xl\";\n\n const computedClass = cn(baseClass, variantClass, className);\n\n if (variant === \"text\" && lines > 1) {\n return (\n <div ref={ref} className=\"flex flex-col gap-2\" {...props}>\n {Array.from({ length: lines }).map((_, i) => (\n <div\n key={i}\n className={computedClass}\n style={{\n width: i === lines - 1 ? \"70%\" : \"100%\",\n height: height ?? 16,\n }}\n />\n ))}\n </div>\n );\n }\n\n return (\n <div\n ref={ref}\n className={computedClass}\n style={{ width, height: height ?? (variant === \"text\" ? 16 : undefined), ...style }}\n aria-hidden=\"true\"\n {...props}\n />\n );\n }\n);\nSkeleton.displayName = \"Skeleton\";\n\nexport { Skeleton };\n"]}
@@ -0,0 +1,39 @@
1
+ import { cn } from './chunk-MVGUWG27.js';
2
+ import * as PopoverPrimitive from '@radix-ui/react-popover';
3
+ import { jsxs, jsx } from 'react/jsx-runtime';
4
+
5
+ var Popover = ({
6
+ trigger,
7
+ children,
8
+ open,
9
+ onOpenChange,
10
+ side = "bottom",
11
+ align = "start",
12
+ sideOffset = 8,
13
+ className
14
+ }) => /* @__PURE__ */ jsxs(PopoverPrimitive.Root, { open, onOpenChange, children: [
15
+ /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { asChild: true, children: trigger }),
16
+ /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { children: /* @__PURE__ */ jsx(
17
+ PopoverPrimitive.Content,
18
+ {
19
+ side,
20
+ align,
21
+ sideOffset,
22
+ className: cn(
23
+ "z-50 rounded-2xl border border-[var(--color-border)] bg-[var(--color-background)] shadow-lg",
24
+ "outline-none",
25
+ "data-[state=open]:animate-in data-[state=closed]:animate-out",
26
+ "data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
27
+ "data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",
28
+ "data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2",
29
+ "data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2",
30
+ className
31
+ ),
32
+ children
33
+ }
34
+ ) })
35
+ ] });
36
+
37
+ export { Popover };
38
+ //# sourceMappingURL=chunk-FYFPGECC.js.map
39
+ //# sourceMappingURL=chunk-FYFPGECC.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Popover/Popover.tsx"],"names":[],"mappings":";;;;AAeA,IAAM,UAAU,CAAC;AAAA,EACf,OAAA;AAAA,EACA,QAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA,GAAO,QAAA;AAAA,EACP,KAAA,GAAQ,OAAA;AAAA,EACR,UAAA,GAAa,CAAA;AAAA,EACb;AACF,CAAA,qBACE,IAAA,CAAkB,gBAAA,CAAA,IAAA,EAAjB,EAAsB,IAAA,EAAY,YAAA,EACjC,QAAA,EAAA;AAAA,kBAAA,GAAA,CAAkB,gBAAA,CAAA,OAAA,EAAjB,EAAyB,OAAA,EAAO,IAAA,EAAE,QAAA,EAAA,OAAA,EAAQ,CAAA;AAAA,kBAC3C,GAAA,CAAkB,yBAAjB,EACC,QAAA,kBAAA,GAAA;AAAA,IAAkB,gBAAA,CAAA,OAAA;AAAA,IAAjB;AAAA,MACC,IAAA;AAAA,MACA,KAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,6FAAA;AAAA,QACA,cAAA;AAAA,QACA,8DAAA;AAAA,QACA,4DAAA;AAAA,QACA,8DAAA;AAAA,QACA,+EAAA;AAAA,QACA,+EAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEC;AAAA;AAAA,GACH,EACF;AAAA,CAAA,EACF","file":"chunk-FYFPGECC.js","sourcesContent":["import * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface PopoverProps {\n trigger: React.ReactNode;\n children: React.ReactNode;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n align?: \"start\" | \"center\" | \"end\";\n sideOffset?: number;\n className?: string;\n}\n\nconst Popover = ({\n trigger,\n children,\n open,\n onOpenChange,\n side = \"bottom\",\n align = \"start\",\n sideOffset = 8,\n className,\n}: PopoverProps) => (\n <PopoverPrimitive.Root open={open} onOpenChange={onOpenChange}>\n <PopoverPrimitive.Trigger asChild>{trigger}</PopoverPrimitive.Trigger>\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n side={side}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 rounded-2xl border border-[var(--color-border)] bg-[var(--color-background)] shadow-lg\",\n \"outline-none\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out\",\n \"data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n \"data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95\",\n \"data-[side=bottom]:slide-in-from-top-2 data-[side=top]:slide-in-from-bottom-2\",\n \"data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2\",\n className\n )}\n >\n {children}\n </PopoverPrimitive.Content>\n </PopoverPrimitive.Portal>\n </PopoverPrimitive.Root>\n);\n\nexport { Popover };\n"]}
@@ -0,0 +1,73 @@
1
+ 'use strict';
2
+
3
+ var chunkUXYAKGI2_cjs = require('./chunk-UXYAKGI2.cjs');
4
+ var chunk4V3IOZPC_cjs = require('./chunk-4V3IOZPC.cjs');
5
+ var React = require('react');
6
+ var jsxRuntime = require('react/jsx-runtime');
7
+
8
+ function _interopNamespace(e) {
9
+ if (e && e.__esModule) return e;
10
+ var n = Object.create(null);
11
+ if (e) {
12
+ Object.keys(e).forEach(function (k) {
13
+ if (k !== 'default') {
14
+ var d = Object.getOwnPropertyDescriptor(e, k);
15
+ Object.defineProperty(n, k, d.get ? d : {
16
+ enumerable: true,
17
+ get: function () { return e[k]; }
18
+ });
19
+ }
20
+ });
21
+ }
22
+ n.default = e;
23
+ return Object.freeze(n);
24
+ }
25
+
26
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
27
+
28
+ var Chip = React__namespace.forwardRef(
29
+ (_a, ref) => {
30
+ var _b = _a, { className, children, selected = false, onRemove, onClick } = _b, props = chunk4V3IOZPC_cjs.__objRest(_b, ["className", "children", "selected", "onRemove", "onClick"]);
31
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUXYAKGI2_cjs.LazyMotion, { features: chunkUXYAKGI2_cjs.domAnimation, children: /* @__PURE__ */ jsxRuntime.jsxs(
32
+ chunkUXYAKGI2_cjs.m.button,
33
+ chunk4V3IOZPC_cjs.__spreadProps(chunk4V3IOZPC_cjs.__spreadValues({
34
+ ref,
35
+ whileTap: { scale: 0.95 },
36
+ transition: { type: "spring", stiffness: 400, damping: 17 },
37
+ onClick,
38
+ className: chunk4V3IOZPC_cjs.cn(
39
+ "inline-flex items-center gap-1.5 h-8 px-3.5 rounded-full",
40
+ "text-[14px] font-medium select-none",
41
+ "border transition-colors duration-150",
42
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] focus-visible:ring-offset-2",
43
+ "disabled:opacity-40 disabled:cursor-not-allowed",
44
+ selected ? "bg-[var(--color-primary)] border-[var(--color-primary)] text-white" : "bg-[var(--color-background)] border-[var(--color-border)] text-[var(--color-foreground)] hover:bg-[var(--color-muted)]",
45
+ className
46
+ ),
47
+ "aria-pressed": selected
48
+ }, props), {
49
+ children: [
50
+ children,
51
+ onRemove && /* @__PURE__ */ jsxRuntime.jsx(
52
+ "button",
53
+ {
54
+ type: "button",
55
+ onClick: (e) => {
56
+ e.stopPropagation();
57
+ onRemove();
58
+ },
59
+ className: "flex items-center justify-center w-4 h-4 rounded-full opacity-70 hover:opacity-100 transition-opacity",
60
+ "aria-label": "\uC81C\uAC70",
61
+ children: /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", "aria-hidden": true, children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2 2L8 8M8 2L2 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) })
62
+ }
63
+ )
64
+ ]
65
+ })
66
+ ) });
67
+ }
68
+ );
69
+ Chip.displayName = "Chip";
70
+
71
+ exports.Chip = Chip;
72
+ //# sourceMappingURL=chunk-GFZKSV7F.cjs.map
73
+ //# sourceMappingURL=chunk-GFZKSV7F.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Chip/Chip.tsx"],"names":["React","__objRest","jsx","LazyMotion","domAnimation","jsxs","m","__spreadProps","__spreadValues","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AASA,IAAM,IAAA,GAAaA,gBAAA,CAAA,UAAA;AAAA,EACjB,CAAC,IAAwE,GAAA,KAAK;AAA7E,IAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EAAW,QAAA,EAAU,QAAA,GAAW,KAAA,EAAO,UAAU,OAAA,EAVtD,GAUG,EAAA,EAA+D,KAAA,GAAAC,2BAAA,CAA/D,EAAA,EAA+D,CAA7D,WAAA,EAAW,UAAA,EAAU,YAAkB,UAAA,EAAU,SAAA,CAAA,CAAA;AAClD,IAAA,uBAAAC,cAAA,CAACC,4BAAA,EAAA,EAAW,UAAUC,8BAAA,EACpB,QAAA,kBAAAC,eAAA;AAAA,MAACC,mBAAA,CAAE,MAAA;AAAA,MAAFC,+BAAA,CAAAC,gCAAA,CAAA;AAAA,QACC,GAAA;AAAA,QACA,QAAA,EAAU,EAAE,KAAA,EAAO,IAAA,EAAK;AAAA,QACxB,YAAY,EAAE,IAAA,EAAM,UAAU,SAAA,EAAW,GAAA,EAAK,SAAS,EAAA,EAAG;AAAA,QAC1D,OAAA;AAAA,QACA,SAAA,EAAWC,oBAAA;AAAA,UACT,0DAAA;AAAA,UACA,qCAAA;AAAA,UACA,uCAAA;AAAA,UACA,uHAAA;AAAA,UACA,iDAAA;AAAA,UACA,WACI,oEAAA,GACA,wHAAA;AAAA,UACJ;AAAA,SACF;AAAA,QACA,cAAA,EAAc;AAAA,OAAA,EACT,KAAA,CAAA,EAjBN;AAAA,QAmBE,QAAA,EAAA;AAAA,UAAA,QAAA;AAAA,UACA,QAAA,oBACCP,cAAA;AAAA,YAAC,QAAA;AAAA,YAAA;AAAA,cACC,IAAA,EAAK,QAAA;AAAA,cACL,OAAA,EAAS,CAAC,CAAA,KAAM;AACd,gBAAA,CAAA,CAAE,eAAA,EAAgB;AAClB,gBAAA,QAAA,EAAS;AAAA,cACX,CAAA;AAAA,cACA,SAAA,EAAU,uGAAA;AAAA,cACV,YAAA,EAAW,cAAA;AAAA,cAEX,QAAA,kBAAAA,cAAA,CAAC,SAAI,KAAA,EAAM,IAAA,EAAK,QAAO,IAAA,EAAK,OAAA,EAAQ,WAAA,EAAY,IAAA,EAAK,MAAA,EAAO,aAAA,EAAW,MACrE,QAAA,kBAAAA,cAAA,CAAC,MAAA,EAAA,EAAK,GAAE,kBAAA,EAAmB,MAAA,EAAO,gBAAe,WAAA,EAAY,KAAA,EAAM,aAAA,EAAc,OAAA,EAAQ,CAAA,EAC3F;AAAA;AAAA;AACF;AAAA,OAAA;AAAA,KAEJ,EACF,CAAA;AAAA,EAAA;AAEJ;AACA,IAAA,CAAK,WAAA,GAAc,MAAA","file":"chunk-GFZKSV7F.cjs","sourcesContent":["import * as React from \"react\";\nimport { m, LazyMotion, domAnimation } from \"../../utils/motion\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface ChipProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n selected?: boolean;\n onRemove?: () => void;\n}\n\nconst Chip = React.forwardRef<HTMLButtonElement, ChipProps>(\n ({ className, children, selected = false, onRemove, onClick, ...props }, ref) => (\n <LazyMotion features={domAnimation}>\n <m.button\n ref={ref}\n whileTap={{ scale: 0.95 }}\n transition={{ type: \"spring\", stiffness: 400, damping: 17 }}\n onClick={onClick}\n className={cn(\n \"inline-flex items-center gap-1.5 h-8 px-3.5 rounded-full\",\n \"text-[14px] font-medium select-none\",\n \"border transition-colors duration-150\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] focus-visible:ring-offset-2\",\n \"disabled:opacity-40 disabled:cursor-not-allowed\",\n selected\n ? \"bg-[var(--color-primary)] border-[var(--color-primary)] text-white\"\n : \"bg-[var(--color-background)] border-[var(--color-border)] text-[var(--color-foreground)] hover:bg-[var(--color-muted)]\",\n className\n )}\n aria-pressed={selected}\n {...(props as React.ComponentPropsWithoutRef<typeof m.button>)}\n >\n {children}\n {onRemove && (\n <button\n type=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onRemove();\n }}\n className=\"flex items-center justify-center w-4 h-4 rounded-full opacity-70 hover:opacity-100 transition-opacity\"\n aria-label=\"제거\"\n >\n <svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" aria-hidden>\n <path d=\"M2 2L8 8M8 2L2 8\" stroke=\"currentColor\" strokeWidth=\"1.5\" strokeLinecap=\"round\" />\n </svg>\n </button>\n )}\n </m.button>\n </LazyMotion>\n )\n);\nChip.displayName = \"Chip\";\n\nexport { Chip };\n"]}