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,80 @@
1
+ 'use strict';
2
+
3
+ var chunk4V3IOZPC_cjs = require('./chunk-4V3IOZPC.cjs');
4
+ var React = require('react');
5
+ var SwitchPrimitive = require('@radix-ui/react-switch');
6
+ var Label = require('@radix-ui/react-label');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
+ var SwitchPrimitive__namespace = /*#__PURE__*/_interopNamespace(SwitchPrimitive);
29
+ var Label__namespace = /*#__PURE__*/_interopNamespace(Label);
30
+
31
+ var Toggle = React__namespace.forwardRef((_a, ref) => {
32
+ var _b = _a, { className, label, description, id } = _b, props = chunk4V3IOZPC_cjs.__objRest(_b, ["className", "label", "description", "id"]);
33
+ const toggleId = id != null ? id : React__namespace.useId();
34
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between gap-4 w-full", children: [
35
+ (label || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-0.5", children: [
36
+ label && /* @__PURE__ */ jsxRuntime.jsx(
37
+ Label__namespace.Root,
38
+ {
39
+ htmlFor: toggleId,
40
+ className: "text-[16px] font-medium text-[var(--color-foreground)] cursor-pointer select-none",
41
+ children: label
42
+ }
43
+ ),
44
+ description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-[13px] text-[var(--color-muted-foreground)]", children: description })
45
+ ] }),
46
+ /* @__PURE__ */ jsxRuntime.jsx(
47
+ SwitchPrimitive__namespace.Root,
48
+ chunk4V3IOZPC_cjs.__spreadProps(chunk4V3IOZPC_cjs.__spreadValues({
49
+ ref,
50
+ id: toggleId,
51
+ className: chunk4V3IOZPC_cjs.cn(
52
+ "relative inline-flex h-7 w-12 shrink-0 cursor-pointer rounded-full",
53
+ "bg-[var(--color-gray-300)]",
54
+ "transition-colors duration-200 ease-in-out",
55
+ "data-[state=checked]:bg-[var(--color-primary)]",
56
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] focus-visible:ring-offset-2",
57
+ "disabled:opacity-40 disabled:cursor-not-allowed",
58
+ className
59
+ )
60
+ }, props), {
61
+ children: /* @__PURE__ */ jsxRuntime.jsx(
62
+ SwitchPrimitive__namespace.Thumb,
63
+ {
64
+ className: chunk4V3IOZPC_cjs.cn(
65
+ "pointer-events-none block h-5 w-5 rounded-full bg-white shadow-md",
66
+ "transition-transform duration-200 ease-in-out",
67
+ "translate-x-1",
68
+ "data-[state=checked]:translate-x-6"
69
+ )
70
+ }
71
+ )
72
+ })
73
+ )
74
+ ] });
75
+ });
76
+ Toggle.displayName = "Toggle";
77
+
78
+ exports.Toggle = Toggle;
79
+ //# sourceMappingURL=chunk-LC5SUZE5.cjs.map
80
+ //# sourceMappingURL=chunk-LC5SUZE5.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Toggle/Toggle.tsx"],"names":["React","__objRest","jsxs","jsx","Label","SwitchPrimitive","__spreadProps","__spreadValues","cn"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAWA,IAAM,MAAA,GAAeA,gBAAA,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,GAAAC,2BAAA,CAAxC,EAAA,EAAwC,CAAtC,WAAA,EAAW,OAAA,EAAO,aAAA,EAAa,IAAA,CAAA,CAAA;AAClC,EAAA,MAAM,QAAA,GAAW,kBAAYD,gBAAA,CAAA,KAAA,EAAM;AAEnC,EAAA,uBACEE,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gDAAA,EACX,QAAA,EAAA;AAAA,IAAA,CAAA,KAAA,IAAS,WAAA,qBACTA,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uBAAA,EACZ,QAAA,EAAA;AAAA,MAAA,KAAA,oBACCC,cAAA;AAAA,QAAOC,gBAAA,CAAA,IAAA;AAAA,QAAN;AAAA,UACC,OAAA,EAAS,QAAA;AAAA,UACT,SAAA,EAAU,mFAAA;AAAA,UAET,QAAA,EAAA;AAAA;AAAA,OACH;AAAA,MAED,WAAA,oBACCD,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,oDAAoD,QAAA,EAAA,WAAA,EAAY;AAAA,KAAA,EAEjF,CAAA;AAAA,oBAEFA,cAAA;AAAA,MAAiBE,0BAAA,CAAA,IAAA;AAAA,MAAhBC,+BAAA,CAAAC,gCAAA,CAAA;AAAA,QACC,GAAA;AAAA,QACA,EAAA,EAAI,QAAA;AAAA,QACJ,SAAA,EAAWC,oBAAA;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,kBAAAL,cAAA;AAAA,UAAiBE,0BAAA,CAAA,KAAA;AAAA,UAAhB;AAAA,YACC,SAAA,EAAWG,oBAAA;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-LC5SUZE5.cjs","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,3 @@
1
+
2
+ //# sourceMappingURL=chunk-LCABZUFW.js.map
3
+ //# sourceMappingURL=chunk-LCABZUFW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-LCABZUFW.js"}
@@ -0,0 +1,157 @@
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 reactSlot = require('@radix-ui/react-slot');
7
+ var classVarianceAuthority = require('class-variance-authority');
8
+ var jsxRuntime = require('react/jsx-runtime');
9
+
10
+ function _interopNamespace(e) {
11
+ if (e && e.__esModule) return e;
12
+ var n = Object.create(null);
13
+ if (e) {
14
+ Object.keys(e).forEach(function (k) {
15
+ if (k !== 'default') {
16
+ var d = Object.getOwnPropertyDescriptor(e, k);
17
+ Object.defineProperty(n, k, d.get ? d : {
18
+ enumerable: true,
19
+ get: function () { return e[k]; }
20
+ });
21
+ }
22
+ });
23
+ }
24
+ n.default = e;
25
+ return Object.freeze(n);
26
+ }
27
+
28
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
29
+
30
+ var buttonVariants = classVarianceAuthority.cva(
31
+ [
32
+ "inline-flex items-center justify-center",
33
+ "font-semibold rounded-xl",
34
+ "transition-colors duration-150",
35
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2",
36
+ "disabled:pointer-events-none disabled:opacity-40",
37
+ "select-none cursor-pointer"
38
+ ],
39
+ {
40
+ variants: {
41
+ variant: {
42
+ primary: [
43
+ "bg-[var(--color-primary)] text-white",
44
+ "hover:bg-[var(--color-primary-hover)]",
45
+ "focus-visible:ring-[var(--color-primary)]"
46
+ ],
47
+ secondary: [
48
+ "bg-[var(--color-muted)] text-[var(--color-foreground)]",
49
+ "hover:bg-[var(--color-gray-200)]"
50
+ ],
51
+ outline: [
52
+ "border border-[var(--color-border)] bg-transparent text-[var(--color-foreground)]",
53
+ "hover:bg-[var(--color-muted)]"
54
+ ],
55
+ ghost: [
56
+ "bg-transparent text-[var(--color-foreground)]",
57
+ "hover:bg-[var(--color-muted)]"
58
+ ],
59
+ danger: [
60
+ "bg-[var(--color-negative)] text-white",
61
+ "hover:opacity-90"
62
+ ]
63
+ },
64
+ size: {
65
+ sm: "h-9 px-4 text-sm gap-1.5",
66
+ md: "h-11 px-5 text-body1 gap-2",
67
+ lg: "h-14 px-6 text-body1 gap-2"
68
+ },
69
+ fullWidth: {
70
+ true: "w-full"
71
+ }
72
+ },
73
+ defaultVariants: {
74
+ variant: "primary",
75
+ size: "md"
76
+ }
77
+ }
78
+ );
79
+ var Button = React__namespace.forwardRef(
80
+ (_a, ref) => {
81
+ var _b = _a, {
82
+ className,
83
+ variant,
84
+ size,
85
+ fullWidth,
86
+ asChild = false,
87
+ loading = false,
88
+ disabled,
89
+ children
90
+ } = _b, props = chunk4V3IOZPC_cjs.__objRest(_b, [
91
+ "className",
92
+ "variant",
93
+ "size",
94
+ "fullWidth",
95
+ "asChild",
96
+ "loading",
97
+ "disabled",
98
+ "children"
99
+ ]);
100
+ const Comp = asChild ? reactSlot.Slot : "button";
101
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUXYAKGI2_cjs.LazyMotion, { features: chunkUXYAKGI2_cjs.domAnimation, children: /* @__PURE__ */ jsxRuntime.jsx(
102
+ chunkUXYAKGI2_cjs.m.div,
103
+ {
104
+ whileTap: { scale: disabled || loading ? 1 : 0.96 },
105
+ transition: { type: "spring", stiffness: 400, damping: 17 },
106
+ style: { display: "inline-flex", width: fullWidth ? "100%" : void 0 },
107
+ children: /* @__PURE__ */ jsxRuntime.jsx(
108
+ Comp,
109
+ chunk4V3IOZPC_cjs.__spreadProps(chunk4V3IOZPC_cjs.__spreadValues({
110
+ ref,
111
+ className: chunk4V3IOZPC_cjs.cn(buttonVariants({ variant, size, fullWidth, className })),
112
+ disabled: disabled || loading,
113
+ "aria-disabled": disabled || loading
114
+ }, props), {
115
+ children: loading ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
116
+ /* @__PURE__ */ jsxRuntime.jsx(Spinner, { size: size === "sm" ? 14 : 16 }),
117
+ children
118
+ ] }) : children
119
+ })
120
+ )
121
+ }
122
+ ) });
123
+ }
124
+ );
125
+ Button.displayName = "Button";
126
+ function Spinner({ size = 16 }) {
127
+ return /* @__PURE__ */ jsxRuntime.jsx(
128
+ chunkUXYAKGI2_cjs.m.svg,
129
+ {
130
+ width: size,
131
+ height: size,
132
+ viewBox: "0 0 16 16",
133
+ fill: "none",
134
+ animate: { rotate: 360 },
135
+ transition: { duration: 0.8, repeat: Infinity, ease: "linear" },
136
+ "aria-hidden": "true",
137
+ children: /* @__PURE__ */ jsxRuntime.jsx(
138
+ "circle",
139
+ {
140
+ cx: "8",
141
+ cy: "8",
142
+ r: "6",
143
+ stroke: "currentColor",
144
+ strokeWidth: "2",
145
+ strokeLinecap: "round",
146
+ strokeDasharray: "25 13",
147
+ opacity: "0.8"
148
+ }
149
+ )
150
+ }
151
+ );
152
+ }
153
+
154
+ exports.Button = Button;
155
+ exports.buttonVariants = buttonVariants;
156
+ //# sourceMappingURL=chunk-MFRGAZ4M.cjs.map
157
+ //# sourceMappingURL=chunk-MFRGAZ4M.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Button/Button.tsx"],"names":["cva","React","__objRest","Slot","jsx","LazyMotion","domAnimation","m","__spreadProps","__spreadValues","cn","jsxs","Fragment"],"mappings":"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","file":"chunk-MFRGAZ4M.cjs","sourcesContent":["import * as React from \"react\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { m, LazyMotion, domAnimation } from \"../../utils/motion\";\nimport { cn } from \"../../utils/cn\";\n\nconst buttonVariants = cva(\n [\n \"inline-flex items-center justify-center\",\n \"font-semibold rounded-xl\",\n \"transition-colors duration-150\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-offset-2\",\n \"disabled:pointer-events-none disabled:opacity-40\",\n \"select-none cursor-pointer\",\n ],\n {\n variants: {\n variant: {\n primary: [\n \"bg-[var(--color-primary)] text-white\",\n \"hover:bg-[var(--color-primary-hover)]\",\n \"focus-visible:ring-[var(--color-primary)]\",\n ],\n secondary: [\n \"bg-[var(--color-muted)] text-[var(--color-foreground)]\",\n \"hover:bg-[var(--color-gray-200)]\",\n ],\n outline: [\n \"border border-[var(--color-border)] bg-transparent text-[var(--color-foreground)]\",\n \"hover:bg-[var(--color-muted)]\",\n ],\n ghost: [\n \"bg-transparent text-[var(--color-foreground)]\",\n \"hover:bg-[var(--color-muted)]\",\n ],\n danger: [\n \"bg-[var(--color-negative)] text-white\",\n \"hover:opacity-90\",\n ],\n },\n size: {\n sm: \"h-9 px-4 text-sm gap-1.5\",\n md: \"h-11 px-5 text-body1 gap-2\",\n lg: \"h-14 px-6 text-body1 gap-2\",\n },\n fullWidth: {\n true: \"w-full\",\n },\n },\n defaultVariants: {\n variant: \"primary\",\n size: \"md\",\n },\n }\n);\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n loading?: boolean;\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n fullWidth,\n asChild = false,\n loading = false,\n disabled,\n children,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\";\n\n return (\n <LazyMotion features={domAnimation}>\n <m.div\n whileTap={{ scale: disabled || loading ? 1 : 0.96 }}\n transition={{ type: \"spring\", stiffness: 400, damping: 17 }}\n style={{ display: \"inline-flex\", width: fullWidth ? \"100%\" : undefined }}\n >\n <Comp\n ref={ref}\n className={cn(buttonVariants({ variant, size, fullWidth, className }))}\n disabled={disabled || loading}\n aria-disabled={disabled || loading}\n {...props}\n >\n {loading ? (\n <>\n <Spinner size={size === \"sm\" ? 14 : 16} />\n {children}\n </>\n ) : (\n children\n )}\n </Comp>\n </m.div>\n </LazyMotion>\n );\n }\n);\nButton.displayName = \"Button\";\n\nfunction Spinner({ size = 16 }: { size?: number }) {\n return (\n <m.svg\n width={size}\n height={size}\n viewBox=\"0 0 16 16\"\n fill=\"none\"\n animate={{ rotate: 360 }}\n transition={{ duration: 0.8, repeat: Infinity, ease: \"linear\" }}\n aria-hidden=\"true\"\n >\n <circle\n cx=\"8\"\n cy=\"8\"\n r=\"6\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeDasharray=\"25 13\"\n opacity=\"0.8\"\n />\n </m.svg>\n );\n}\n\nexport { Button, buttonVariants };\n"]}
@@ -0,0 +1,91 @@
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 DialogPrimitive = require('@radix-ui/react-dialog');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
+ var DialogPrimitive__namespace = /*#__PURE__*/_interopNamespace(DialogPrimitive);
29
+
30
+ function BottomSheet({
31
+ open: openProp,
32
+ onOpenChange,
33
+ title,
34
+ description,
35
+ children,
36
+ trigger
37
+ }) {
38
+ const [internalOpen, setInternalOpen] = React__namespace.useState(false);
39
+ const isControlled = openProp !== void 0;
40
+ const open = isControlled ? openProp : internalOpen;
41
+ const handleOpenChange = (value) => {
42
+ if (!isControlled) setInternalOpen(value);
43
+ onOpenChange == null ? void 0 : onOpenChange(value);
44
+ };
45
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkUXYAKGI2_cjs.LazyMotion, { features: chunkUXYAKGI2_cjs.domAnimation, children: /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Root, { open, onOpenChange: handleOpenChange, children: [
46
+ trigger && /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Trigger, { asChild: true, children: trigger }),
47
+ /* @__PURE__ */ jsxRuntime.jsx(chunkUXYAKGI2_cjs.AnimatePresence, { children: open && /* @__PURE__ */ jsxRuntime.jsxs(DialogPrimitive__namespace.Portal, { children: [
48
+ /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Overlay, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx(
49
+ chunkUXYAKGI2_cjs.m.div,
50
+ {
51
+ className: "fixed inset-0 z-50 bg-[var(--color-overlay)]",
52
+ initial: { opacity: 0 },
53
+ animate: { opacity: 1 },
54
+ exit: { opacity: 0 },
55
+ transition: { duration: 0.2 }
56
+ }
57
+ ) }),
58
+ /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Content, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsxs(
59
+ chunkUXYAKGI2_cjs.m.div,
60
+ {
61
+ className: chunk4V3IOZPC_cjs.cn(
62
+ "fixed bottom-0 left-0 right-0 z-50",
63
+ "bg-[var(--color-background)] rounded-t-3xl",
64
+ "shadow-[var(--shadow-overlay)]",
65
+ "px-5 pb-safe"
66
+ ),
67
+ initial: { y: "100%" },
68
+ animate: { y: 0 },
69
+ exit: { y: "100%" },
70
+ transition: { type: "spring", stiffness: 300, damping: 30 },
71
+ drag: "y",
72
+ dragConstraints: { top: 0 },
73
+ dragElastic: { top: 0, bottom: 0.3 },
74
+ onDragEnd: (_, info) => {
75
+ if (info.offset.y > 80) handleOpenChange(false);
76
+ },
77
+ children: [
78
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center pt-3 pb-4", children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-9 h-1 rounded-full bg-[var(--color-gray-300)]" }) }),
79
+ title && /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Title, { className: "text-[18px] font-bold text-[var(--color-foreground)] mb-1", children: title }),
80
+ description && /* @__PURE__ */ jsxRuntime.jsx(DialogPrimitive__namespace.Description, { className: "text-[14px] text-[var(--color-muted-foreground)] mb-4", children: description }),
81
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "pb-8", children })
82
+ ]
83
+ }
84
+ ) })
85
+ ] }) })
86
+ ] }) });
87
+ }
88
+
89
+ exports.BottomSheet = BottomSheet;
90
+ //# sourceMappingURL=chunk-MIR34HKE.cjs.map
91
+ //# sourceMappingURL=chunk-MIR34HKE.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/BottomSheet/BottomSheet.tsx"],"names":["React","jsx","LazyMotion","domAnimation","DialogPrimitive","AnimatePresence","jsxs","m","cn"],"mappings":"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","file":"chunk-MIR34HKE.cjs","sourcesContent":["import * as React from \"react\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { m, LazyMotion, domAnimation, AnimatePresence } from \"../../utils/motion\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface BottomSheetProps {\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n title?: string;\n description?: string;\n children?: React.ReactNode;\n trigger?: React.ReactNode;\n}\n\nfunction BottomSheet({\n open: openProp,\n onOpenChange,\n title,\n description,\n children,\n trigger,\n}: BottomSheetProps) {\n const [internalOpen, setInternalOpen] = React.useState(false);\n const isControlled = openProp !== undefined;\n const open = isControlled ? openProp : internalOpen;\n\n const handleOpenChange = (value: boolean) => {\n if (!isControlled) setInternalOpen(value);\n onOpenChange?.(value);\n };\n\n return (\n <LazyMotion features={domAnimation}>\n <DialogPrimitive.Root open={open} onOpenChange={handleOpenChange}>\n {trigger && (\n <DialogPrimitive.Trigger asChild>{trigger}</DialogPrimitive.Trigger>\n )}\n <AnimatePresence>\n {open && (\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay asChild>\n <m.div\n className=\"fixed inset-0 z-50 bg-[var(--color-overlay)]\"\n initial={{ opacity: 0 }}\n animate={{ opacity: 1 }}\n exit={{ opacity: 0 }}\n transition={{ duration: 0.2 }}\n />\n </DialogPrimitive.Overlay>\n <DialogPrimitive.Content asChild>\n <m.div\n className={cn(\n \"fixed bottom-0 left-0 right-0 z-50\",\n \"bg-[var(--color-background)] rounded-t-3xl\",\n \"shadow-[var(--shadow-overlay)]\",\n \"px-5 pb-safe\"\n )}\n initial={{ y: \"100%\" }}\n animate={{ y: 0 }}\n exit={{ y: \"100%\" }}\n transition={{ type: \"spring\", stiffness: 300, damping: 30 }}\n drag=\"y\"\n dragConstraints={{ top: 0 }}\n dragElastic={{ top: 0, bottom: 0.3 }}\n onDragEnd={(_, info) => {\n if (info.offset.y > 80) handleOpenChange(false);\n }}\n >\n {/* 드래그 핸들 */}\n <div className=\"flex justify-center pt-3 pb-4\">\n <div className=\"w-9 h-1 rounded-full bg-[var(--color-gray-300)]\" />\n </div>\n\n {title && (\n <DialogPrimitive.Title className=\"text-[18px] font-bold text-[var(--color-foreground)] mb-1\">\n {title}\n </DialogPrimitive.Title>\n )}\n {description && (\n <DialogPrimitive.Description className=\"text-[14px] text-[var(--color-muted-foreground)] mb-4\">\n {description}\n </DialogPrimitive.Description>\n )}\n <div className=\"pb-8\">{children}</div>\n </m.div>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n )}\n </AnimatePresence>\n </DialogPrimitive.Root>\n </LazyMotion>\n );\n}\n\nexport { BottomSheet };\n"]}
@@ -0,0 +1,152 @@
1
+ 'use strict';
2
+
3
+ var chunk4V3IOZPC_cjs = require('./chunk-4V3IOZPC.cjs');
4
+ var React = require('react');
5
+ var jsxRuntime = require('react/jsx-runtime');
6
+
7
+ function _interopNamespace(e) {
8
+ if (e && e.__esModule) return e;
9
+ var n = Object.create(null);
10
+ if (e) {
11
+ Object.keys(e).forEach(function (k) {
12
+ if (k !== 'default') {
13
+ var d = Object.getOwnPropertyDescriptor(e, k);
14
+ Object.defineProperty(n, k, d.get ? d : {
15
+ enumerable: true,
16
+ get: function () { return e[k]; }
17
+ });
18
+ }
19
+ });
20
+ }
21
+ n.default = e;
22
+ return Object.freeze(n);
23
+ }
24
+
25
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
26
+
27
+ var DAYS = ["\uC77C", "\uC6D4", "\uD654", "\uC218", "\uBAA9", "\uAE08", "\uD1A0"];
28
+ var MONTHS = ["1\uC6D4", "2\uC6D4", "3\uC6D4", "4\uC6D4", "5\uC6D4", "6\uC6D4", "7\uC6D4", "8\uC6D4", "9\uC6D4", "10\uC6D4", "11\uC6D4", "12\uC6D4"];
29
+ function isSameDay(a, b) {
30
+ return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
31
+ }
32
+ function isDisabled(date, min, max) {
33
+ if (min && date < new Date(min.getFullYear(), min.getMonth(), min.getDate())) return true;
34
+ if (max && date > new Date(max.getFullYear(), max.getMonth(), max.getDate())) return true;
35
+ return false;
36
+ }
37
+ var Calendar = ({ value, defaultValue, onChange, minDate, maxDate, className }) => {
38
+ const [selectedDate, setSelectedDate] = React__namespace.useState(value != null ? value : defaultValue);
39
+ const [viewDate, setViewDate] = React__namespace.useState(() => {
40
+ var _a;
41
+ const d = (_a = value != null ? value : defaultValue) != null ? _a : /* @__PURE__ */ new Date();
42
+ return new Date(d.getFullYear(), d.getMonth(), 1);
43
+ });
44
+ React__namespace.useEffect(() => {
45
+ if (value !== void 0) setSelectedDate(value);
46
+ }, [value]);
47
+ const year = viewDate.getFullYear();
48
+ const month = viewDate.getMonth();
49
+ const firstDay = new Date(year, month, 1).getDay();
50
+ const daysInMonth = new Date(year, month + 1, 0).getDate();
51
+ const cells = [
52
+ ...Array(firstDay).fill(null),
53
+ ...Array.from({ length: daysInMonth }, (_, i) => new Date(year, month, i + 1))
54
+ ];
55
+ while (cells.length % 7 !== 0) cells.push(null);
56
+ const today = /* @__PURE__ */ new Date();
57
+ function handleSelect(date) {
58
+ if (isDisabled(date, minDate, maxDate)) return;
59
+ setSelectedDate(date);
60
+ onChange == null ? void 0 : onChange(date);
61
+ }
62
+ function prevMonth() {
63
+ setViewDate(new Date(year, month - 1, 1));
64
+ }
65
+ function nextMonth() {
66
+ setViewDate(new Date(year, month + 1, 1));
67
+ }
68
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: chunk4V3IOZPC_cjs.cn("w-fit rounded-2xl border border-[var(--color-border)] bg-[var(--color-surface)] p-4 shadow-sm", className), children: [
69
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between mb-4", children: [
70
+ /* @__PURE__ */ jsxRuntime.jsx(
71
+ "button",
72
+ {
73
+ type: "button",
74
+ onClick: prevMonth,
75
+ "aria-label": "\uC774\uC804 \uB2EC",
76
+ className: chunk4V3IOZPC_cjs.cn(
77
+ "flex h-8 w-8 items-center justify-center rounded-lg",
78
+ "text-[var(--color-muted-foreground)] hover:bg-[var(--color-muted)] hover:text-[var(--color-foreground)]",
79
+ "transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]"
80
+ ),
81
+ children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, {})
82
+ }
83
+ ),
84
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "text-[15px] font-semibold text-[var(--color-foreground)]", children: [
85
+ year,
86
+ "\uB144 ",
87
+ MONTHS[month]
88
+ ] }),
89
+ /* @__PURE__ */ jsxRuntime.jsx(
90
+ "button",
91
+ {
92
+ type: "button",
93
+ onClick: nextMonth,
94
+ "aria-label": "\uB2E4\uC74C \uB2EC",
95
+ className: chunk4V3IOZPC_cjs.cn(
96
+ "flex h-8 w-8 items-center justify-center rounded-lg",
97
+ "text-[var(--color-muted-foreground)] hover:bg-[var(--color-muted)] hover:text-[var(--color-foreground)]",
98
+ "transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]"
99
+ ),
100
+ children: /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon, {})
101
+ }
102
+ )
103
+ ] }),
104
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-7 mb-1", children: DAYS.map((day, i) => /* @__PURE__ */ jsxRuntime.jsx(
105
+ "div",
106
+ {
107
+ className: chunk4V3IOZPC_cjs.cn(
108
+ "flex h-8 items-center justify-center text-[12px] font-medium",
109
+ i === 0 ? "text-[var(--color-negative)]" : i === 6 ? "text-[var(--color-primary)]" : "text-[var(--color-muted-foreground)]"
110
+ ),
111
+ children: day
112
+ },
113
+ day
114
+ )) }),
115
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "grid grid-cols-7 gap-y-1", children: cells.map((date, i) => {
116
+ if (!date) return /* @__PURE__ */ jsxRuntime.jsx("div", {}, `empty-${i}`);
117
+ const disabled = isDisabled(date, minDate, maxDate);
118
+ const selected = selectedDate ? isSameDay(date, selectedDate) : false;
119
+ const isToday = isSameDay(date, today);
120
+ const dayOfWeek = date.getDay();
121
+ return /* @__PURE__ */ jsxRuntime.jsx(
122
+ "button",
123
+ {
124
+ type: "button",
125
+ onClick: () => handleSelect(date),
126
+ disabled,
127
+ "aria-label": `${year}\uB144 ${month + 1}\uC6D4 ${date.getDate()}\uC77C`,
128
+ "aria-pressed": selected,
129
+ className: chunk4V3IOZPC_cjs.cn(
130
+ "flex h-9 w-9 items-center justify-center rounded-xl text-[14px] font-medium mx-auto",
131
+ "transition-colors duration-100 select-none",
132
+ "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] focus-visible:ring-offset-1",
133
+ "disabled:opacity-30 disabled:cursor-not-allowed",
134
+ selected ? "bg-[var(--color-primary)] text-white" : isToday ? "border border-[var(--color-primary)] text-[var(--color-primary)]" : dayOfWeek === 0 ? "text-[var(--color-negative)] hover:bg-[var(--color-muted)]" : dayOfWeek === 6 ? "text-[var(--color-primary)] hover:bg-[var(--color-muted)]" : "text-[var(--color-foreground)] hover:bg-[var(--color-muted)]"
135
+ ),
136
+ children: date.getDate()
137
+ },
138
+ date.toISOString()
139
+ );
140
+ }) })
141
+ ] });
142
+ };
143
+ function ChevronLeftIcon() {
144
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m15 18-6-6 6-6" }) });
145
+ }
146
+ function ChevronRightIcon() {
147
+ return /* @__PURE__ */ jsxRuntime.jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "m9 18 6-6-6-6" }) });
148
+ }
149
+
150
+ exports.Calendar = Calendar;
151
+ //# sourceMappingURL=chunk-MP442EWS.cjs.map
152
+ //# sourceMappingURL=chunk-MP442EWS.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Calendar/Calendar.tsx"],"names":["React","cn","jsxs","jsx"],"mappings":"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","file":"chunk-MP442EWS.cjs","sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\n\nexport interface CalendarProps {\n value?: Date;\n defaultValue?: Date;\n onChange?: (date: Date) => void;\n minDate?: Date;\n maxDate?: Date;\n className?: string;\n}\n\nconst DAYS = [\"일\", \"월\", \"화\", \"수\", \"목\", \"금\", \"토\"];\nconst MONTHS = [\"1월\", \"2월\", \"3월\", \"4월\", \"5월\", \"6월\", \"7월\", \"8월\", \"9월\", \"10월\", \"11월\", \"12월\"];\n\nfunction isSameDay(a: Date, b: Date) {\n return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();\n}\n\nfunction isDisabled(date: Date, min?: Date, max?: Date) {\n if (min && date < new Date(min.getFullYear(), min.getMonth(), min.getDate())) return true;\n if (max && date > new Date(max.getFullYear(), max.getMonth(), max.getDate())) return true;\n return false;\n}\n\nconst Calendar = ({ value, defaultValue, onChange, minDate, maxDate, className }: CalendarProps) => {\n const [selectedDate, setSelectedDate] = React.useState<Date | undefined>(value ?? defaultValue);\n const [viewDate, setViewDate] = React.useState(() => {\n const d = value ?? defaultValue ?? new Date();\n return new Date(d.getFullYear(), d.getMonth(), 1);\n });\n\n React.useEffect(() => {\n if (value !== undefined) setSelectedDate(value);\n }, [value]);\n\n const year = viewDate.getFullYear();\n const month = viewDate.getMonth();\n\n const firstDay = new Date(year, month, 1).getDay();\n const daysInMonth = new Date(year, month + 1, 0).getDate();\n\n const cells: (Date | null)[] = [\n ...Array<null>(firstDay).fill(null),\n ...Array.from({ length: daysInMonth }, (_, i) => new Date(year, month, i + 1)),\n ];\n\n // Pad to complete last row\n while (cells.length % 7 !== 0) cells.push(null);\n\n const today = new Date();\n\n function handleSelect(date: Date) {\n if (isDisabled(date, minDate, maxDate)) return;\n setSelectedDate(date);\n onChange?.(date);\n }\n\n function prevMonth() {\n setViewDate(new Date(year, month - 1, 1));\n }\n\n function nextMonth() {\n setViewDate(new Date(year, month + 1, 1));\n }\n\n return (\n <div className={cn(\"w-fit rounded-2xl border border-[var(--color-border)] bg-[var(--color-surface)] p-4 shadow-sm\", className)}>\n {/* Header */}\n <div className=\"flex items-center justify-between mb-4\">\n <button\n type=\"button\"\n onClick={prevMonth}\n aria-label=\"이전 달\"\n className={cn(\n \"flex h-8 w-8 items-center justify-center rounded-lg\",\n \"text-[var(--color-muted-foreground)] hover:bg-[var(--color-muted)] hover:text-[var(--color-foreground)]\",\n \"transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]\"\n )}\n >\n <ChevronLeftIcon />\n </button>\n <span className=\"text-[15px] font-semibold text-[var(--color-foreground)]\">\n {year}년 {MONTHS[month]}\n </span>\n <button\n type=\"button\"\n onClick={nextMonth}\n aria-label=\"다음 달\"\n className={cn(\n \"flex h-8 w-8 items-center justify-center rounded-lg\",\n \"text-[var(--color-muted-foreground)] hover:bg-[var(--color-muted)] hover:text-[var(--color-foreground)]\",\n \"transition-colors duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)]\"\n )}\n >\n <ChevronRightIcon />\n </button>\n </div>\n\n {/* Day headers */}\n <div className=\"grid grid-cols-7 mb-1\">\n {DAYS.map((day, i) => (\n <div\n key={day}\n className={cn(\n \"flex h-8 items-center justify-center text-[12px] font-medium\",\n i === 0 ? \"text-[var(--color-negative)]\" : i === 6 ? \"text-[var(--color-primary)]\" : \"text-[var(--color-muted-foreground)]\"\n )}\n >\n {day}\n </div>\n ))}\n </div>\n\n {/* Date cells */}\n <div className=\"grid grid-cols-7 gap-y-1\">\n {cells.map((date, i) => {\n if (!date) return <div key={`empty-${i}`} />;\n\n const disabled = isDisabled(date, minDate, maxDate);\n const selected = selectedDate ? isSameDay(date, selectedDate) : false;\n const isToday = isSameDay(date, today);\n const dayOfWeek = date.getDay();\n\n return (\n <button\n key={date.toISOString()}\n type=\"button\"\n onClick={() => handleSelect(date)}\n disabled={disabled}\n aria-label={`${year}년 ${month + 1}월 ${date.getDate()}일`}\n aria-pressed={selected}\n className={cn(\n \"flex h-9 w-9 items-center justify-center rounded-xl text-[14px] font-medium mx-auto\",\n \"transition-colors duration-100 select-none\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[var(--color-primary)] focus-visible:ring-offset-1\",\n \"disabled:opacity-30 disabled:cursor-not-allowed\",\n selected\n ? \"bg-[var(--color-primary)] text-white\"\n : isToday\n ? \"border border-[var(--color-primary)] text-[var(--color-primary)]\"\n : dayOfWeek === 0\n ? \"text-[var(--color-negative)] hover:bg-[var(--color-muted)]\"\n : dayOfWeek === 6\n ? \"text-[var(--color-primary)] hover:bg-[var(--color-muted)]\"\n : \"text-[var(--color-foreground)] hover:bg-[var(--color-muted)]\"\n )}\n >\n {date.getDate()}\n </button>\n );\n })}\n </div>\n </div>\n );\n};\n\nfunction ChevronLeftIcon() {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"m15 18-6-6 6-6\" />\n </svg>\n );\n}\n\nfunction ChevronRightIcon() {\n return (\n <svg width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\">\n <path d=\"m9 18 6-6-6-6\" />\n </svg>\n );\n}\n\nexport { Calendar };\n"]}
@@ -0,0 +1,75 @@
1
+ 'use strict';
2
+
3
+ var chunk4V3IOZPC_cjs = require('./chunk-4V3IOZPC.cjs');
4
+ var React = require('react');
5
+ var AvatarPrimitive = require('@radix-ui/react-avatar');
6
+ var classVarianceAuthority = require('class-variance-authority');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ function _interopNamespace(e) {
10
+ if (e && e.__esModule) return e;
11
+ var n = Object.create(null);
12
+ if (e) {
13
+ Object.keys(e).forEach(function (k) {
14
+ if (k !== 'default') {
15
+ var d = Object.getOwnPropertyDescriptor(e, k);
16
+ Object.defineProperty(n, k, d.get ? d : {
17
+ enumerable: true,
18
+ get: function () { return e[k]; }
19
+ });
20
+ }
21
+ });
22
+ }
23
+ n.default = e;
24
+ return Object.freeze(n);
25
+ }
26
+
27
+ var React__namespace = /*#__PURE__*/_interopNamespace(React);
28
+ var AvatarPrimitive__namespace = /*#__PURE__*/_interopNamespace(AvatarPrimitive);
29
+
30
+ var avatarVariants = classVarianceAuthority.cva("relative inline-flex shrink-0 overflow-hidden rounded-full", {
31
+ variants: {
32
+ size: {
33
+ xs: "w-6 h-6 text-[10px]",
34
+ sm: "w-8 h-8 text-[12px]",
35
+ md: "w-10 h-10 text-[14px]",
36
+ lg: "w-12 h-12 text-[16px]",
37
+ xl: "w-16 h-16 text-[20px]"
38
+ }
39
+ },
40
+ defaultVariants: { size: "md" }
41
+ });
42
+ var Avatar = React__namespace.forwardRef((_a, ref) => {
43
+ var _b = _a, { className, size, src, alt, fallback } = _b, props = chunk4V3IOZPC_cjs.__objRest(_b, ["className", "size", "src", "alt", "fallback"]);
44
+ var _a2;
45
+ return /* @__PURE__ */ jsxRuntime.jsxs(
46
+ AvatarPrimitive__namespace.Root,
47
+ chunk4V3IOZPC_cjs.__spreadProps(chunk4V3IOZPC_cjs.__spreadValues({
48
+ ref,
49
+ className: chunk4V3IOZPC_cjs.cn(avatarVariants({ size }), className)
50
+ }, props), {
51
+ children: [
52
+ /* @__PURE__ */ jsxRuntime.jsx(
53
+ AvatarPrimitive__namespace.Image,
54
+ {
55
+ src,
56
+ alt,
57
+ className: "w-full h-full object-cover"
58
+ }
59
+ ),
60
+ /* @__PURE__ */ jsxRuntime.jsx(
61
+ AvatarPrimitive__namespace.Fallback,
62
+ {
63
+ className: "w-full h-full flex items-center justify-center bg-[var(--color-muted)] text-[var(--color-muted-foreground)] font-semibold",
64
+ children: (_a2 = fallback != null ? fallback : alt == null ? void 0 : alt.slice(0, 1).toUpperCase()) != null ? _a2 : "?"
65
+ }
66
+ )
67
+ ]
68
+ })
69
+ );
70
+ });
71
+ Avatar.displayName = "Avatar";
72
+
73
+ exports.Avatar = Avatar;
74
+ //# sourceMappingURL=chunk-MTIJTTKO.cjs.map
75
+ //# sourceMappingURL=chunk-MTIJTTKO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Avatar/Avatar.tsx"],"names":["cva","React","__objRest","_a","jsxs","AvatarPrimitive","__spreadProps","__spreadValues","cn","jsx"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAM,cAAA,GAAiBA,2BAAI,4DAAA,EAA8D;AAAA,EACvF,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,qBAAA;AAAA,MACJ,EAAA,EAAI,qBAAA;AAAA,MACJ,EAAA,EAAI,uBAAA;AAAA,MACJ,EAAA,EAAI,uBAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB,EAAE,IAAA,EAAM,IAAA;AAC3B,CAAC,CAAA;AAUD,IAAM,MAAA,GAAeC,gBAAA,CAAA,UAAA,CAGnB,CAAC,EAAA,EAAmD,GAAA,KAAK;AAAxD,EAAA,IAAA,EAAA,GAAA,EAAA,EAAE,EAAA,SAAA,EAAW,IAAA,EAAM,GAAA,EAAK,GAAA,EAAK,QAAA,EA7BhC,GA6BG,EAAA,EAA0C,KAAA,GAAAC,2BAAA,CAA1C,EAAA,EAA0C,CAAxC,WAAA,EAAW,MAAA,EAAM,OAAK,KAAA,EAAK,UAAA,CAAA,CAAA;AA7BhC,EAAA,IAAAC,GAAAA;AA8BE,EAAA,uBAAAC,eAAA;AAAA,IAAiBC,0BAAA,CAAA,IAAA;AAAA,IAAhBC,+BAAA,CAAAC,gCAAA,CAAA;AAAA,MACC,GAAA;AAAA,MACA,WAAWC,oBAAA,CAAG,cAAA,CAAe,EAAE,IAAA,EAAM,GAAG,SAAS;AAAA,KAAA,EAC7C,KAAA,CAAA,EAHL;AAAA,MAKC,QAAA,EAAA;AAAA,wBAAAC,cAAA;AAAA,UAAiBJ,0BAAA,CAAA,KAAA;AAAA,UAAhB;AAAA,YACC,GAAA;AAAA,YACA,GAAA;AAAA,YACA,SAAA,EAAU;AAAA;AAAA,SACZ;AAAA,wBACAI,cAAA;AAAA,UAAiBJ,0BAAA,CAAA,QAAA;AAAA,UAAhB;AAAA,YACC,SAAA,EAAU,2HAAA;AAAA,YAET,QAAA,EAAA,CAAAF,MAAA,QAAA,IAAA,IAAA,GAAA,QAAA,GAAY,GAAA,IAAA,IAAA,GAAA,MAAA,GAAA,GAAA,CAAK,MAAM,CAAA,EAAG,CAAA,CAAA,CAAG,WAAA,EAAA,KAA7B,IAAA,GAAAA,GAAAA,GAA8C;AAAA;AAAA;AACjD;AAAA,KAAA;AAAA,GACF;AAAA,CACD;AACD,MAAA,CAAO,WAAA,GAAc,QAAA","file":"chunk-MTIJTTKO.cjs","sourcesContent":["import * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../utils/cn\";\n\nconst avatarVariants = cva(\"relative inline-flex shrink-0 overflow-hidden rounded-full\", {\n variants: {\n size: {\n xs: \"w-6 h-6 text-[10px]\",\n sm: \"w-8 h-8 text-[12px]\",\n md: \"w-10 h-10 text-[14px]\",\n lg: \"w-12 h-12 text-[16px]\",\n xl: \"w-16 h-16 text-[20px]\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n\nexport interface AvatarProps\n extends React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>,\n VariantProps<typeof avatarVariants> {\n src?: string;\n alt?: string;\n fallback?: string;\n}\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n AvatarProps\n>(({ className, size, src, alt, fallback, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(avatarVariants({ size }), className)}\n {...props}\n >\n <AvatarPrimitive.Image\n src={src}\n alt={alt}\n className=\"w-full h-full object-cover\"\n />\n <AvatarPrimitive.Fallback\n className=\"w-full h-full flex items-center justify-center bg-[var(--color-muted)] text-[var(--color-muted-foreground)] font-semibold\"\n >\n {fallback ?? alt?.slice(0, 1).toUpperCase() ?? \"?\"}\n </AvatarPrimitive.Fallback>\n </AvatarPrimitive.Root>\n));\nAvatar.displayName = \"Avatar\";\n\nexport { Avatar };\n"]}