@me1a/ui 2.2.2 → 2.2.4

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 (353) hide show
  1. package/dist/{atoms/accordion.mjs → accordion/index.mjs} +2 -2
  2. package/dist/accordion/index.mjs.map +1 -0
  3. package/dist/{atoms/avatar.mjs → avatar/index.mjs} +2 -2
  4. package/dist/avatar/index.mjs.map +1 -0
  5. package/dist/{atoms/badge.d.mts → badge/index.d.mts} +9 -8
  6. package/dist/{atoms/badge.mjs → badge/index.mjs} +2 -2
  7. package/dist/{atoms/badge.mjs.map → badge/index.mjs.map} +1 -1
  8. package/dist/{atoms/box.mjs → box/index.mjs} +2 -2
  9. package/dist/box/index.mjs.map +1 -0
  10. package/dist/{atoms/breadcrumb.mjs → breadcrumb/index.mjs} +2 -2
  11. package/dist/breadcrumb/index.mjs.map +1 -0
  12. package/dist/{atoms/button.d.mts → button/index.d.mts} +2 -2
  13. package/dist/{atoms/button.mjs → button/index.mjs} +2 -2
  14. package/dist/button/index.mjs.map +1 -0
  15. package/dist/card/index.d.mts +127 -0
  16. package/dist/card/index.mjs +2 -0
  17. package/dist/card/index.mjs.map +1 -0
  18. package/dist/{atoms/checkbox.mjs → checkbox/index.mjs} +2 -2
  19. package/dist/checkbox/index.mjs.map +1 -0
  20. package/dist/{atoms/collapsible.mjs → collapsible/index.mjs} +2 -2
  21. package/dist/collapsible/index.mjs.map +1 -0
  22. package/dist/{atoms/command.mjs → command/index.mjs} +2 -2
  23. package/dist/command/index.mjs.map +1 -0
  24. package/dist/container/index.d.mts +33 -0
  25. package/dist/{atoms/container.mjs → container/index.mjs} +2 -2
  26. package/dist/container/index.mjs.map +1 -0
  27. package/dist/{atoms/dialog.mjs → dialog/index.mjs} +2 -2
  28. package/dist/dialog/index.mjs.map +1 -0
  29. package/dist/{organisms/drawer.mjs → drawer/index.mjs} +2 -2
  30. package/dist/drawer/index.mjs.map +1 -0
  31. package/dist/{organisms/dropdown-menu.d.mts → dropdown-menu/index.d.mts} +2 -2
  32. package/dist/{organisms/dropdown-menu.mjs → dropdown-menu/index.mjs} +2 -2
  33. package/dist/dropdown-menu/index.mjs.map +1 -0
  34. package/dist/{rhf/form.mjs → form/index.mjs} +2 -2
  35. package/dist/form/index.mjs.map +1 -0
  36. package/dist/{hooks.d.mts → hooks/index.d.mts} +2 -2
  37. package/dist/{hooks.mjs → hooks/index.mjs} +2 -2
  38. package/dist/{hooks.js.map → hooks/index.mjs.map} +1 -1
  39. package/dist/index.d.mts +159 -39
  40. package/dist/index.mjs +47 -2
  41. package/dist/index.mjs.map +1 -1
  42. package/dist/{atoms/input.mjs → input/index.mjs} +2 -2
  43. package/dist/{atoms/input.mjs.map → input/index.mjs.map} +1 -1
  44. package/dist/{atoms/label.d.mts → label/index.d.mts} +2 -2
  45. package/dist/{atoms/label.mjs → label/index.mjs} +2 -2
  46. package/dist/{atoms/label.mjs.map → label/index.mjs.map} +1 -1
  47. package/dist/{molecules/navigation-menu.d.mts → navigation-menu/index.d.mts} +21 -20
  48. package/dist/{molecules/navigation-menu.mjs → navigation-menu/index.mjs} +2 -2
  49. package/dist/navigation-menu/index.mjs.map +1 -0
  50. package/dist/{atoms/page-loader.d.mts → page-loader/index.d.mts} +2 -2
  51. package/dist/{atoms/page-loader.mjs → page-loader/index.mjs} +2 -2
  52. package/dist/page-loader/index.mjs.map +1 -0
  53. package/dist/{atoms/pagination.d.mts → pagination/index.d.mts} +2 -2
  54. package/dist/{atoms/pagination.mjs → pagination/index.mjs} +2 -2
  55. package/dist/pagination/index.mjs.map +1 -0
  56. package/dist/{atoms/popover.mjs → popover/index.mjs} +2 -2
  57. package/dist/popover/index.mjs.map +1 -0
  58. package/dist/{atoms/radio-group.d.mts → radio-group/index.d.mts} +2 -2
  59. package/dist/{atoms/radio-group.mjs → radio-group/index.mjs} +2 -2
  60. package/dist/radio-group/index.mjs.map +1 -0
  61. package/dist/{atoms/resizable.mjs → resizable/index.mjs} +2 -2
  62. package/dist/resizable/index.mjs.map +1 -0
  63. package/dist/{rhf/rhf-checkbox.mjs → rhf-checkbox/index.mjs} +2 -2
  64. package/dist/rhf-checkbox/index.mjs.map +1 -0
  65. package/dist/{rhf/rhf-multi-select.mjs → rhf-multi-select/index.mjs} +2 -2
  66. package/dist/rhf-multi-select/index.mjs.map +1 -0
  67. package/dist/{rhf/rhf-radio-button-group.mjs → rhf-radio-button-group/index.mjs} +2 -2
  68. package/dist/rhf-radio-button-group/index.mjs.map +1 -0
  69. package/dist/{rhf/rhf-radio-group.mjs → rhf-radio-group/index.mjs} +2 -2
  70. package/dist/rhf-radio-group/index.mjs.map +1 -0
  71. package/dist/{rhf/rhf-select.mjs → rhf-select/index.mjs} +2 -2
  72. package/dist/rhf-select/index.mjs.map +1 -0
  73. package/dist/{rhf/rhf-switch.mjs → rhf-switch/index.mjs} +2 -2
  74. package/dist/rhf-switch/index.mjs.map +1 -0
  75. package/dist/{rhf/rhf-textarea.mjs → rhf-textarea/index.mjs} +2 -2
  76. package/dist/rhf-textarea/index.mjs.map +1 -0
  77. package/dist/{atoms/separator.mjs → separator/index.mjs} +2 -2
  78. package/dist/separator/index.mjs.map +1 -0
  79. package/dist/{atoms/sheet.d.mts → sheet/index.d.mts} +2 -2
  80. package/dist/{atoms/sheet.mjs → sheet/index.mjs} +2 -2
  81. package/dist/{atoms/sheet.mjs.map → sheet/index.mjs.map} +1 -1
  82. package/dist/{organisms/sidebar.d.mts → sidebar/index.d.mts} +4 -4
  83. package/dist/{organisms/sidebar.mjs → sidebar/index.mjs} +2 -2
  84. package/dist/sidebar/index.mjs.map +1 -0
  85. package/dist/skeleton/index.d.mts +17 -0
  86. package/dist/skeleton/index.mjs +2 -0
  87. package/dist/skeleton/index.mjs.map +1 -0
  88. package/dist/{atoms/stack.mjs → stack/index.mjs} +2 -2
  89. package/dist/{atoms/stack.mjs.map → stack/index.mjs.map} +1 -1
  90. package/dist/{atoms/switch.mjs → switch/index.mjs} +2 -2
  91. package/dist/switch/index.mjs.map +1 -0
  92. package/dist/{atoms/table.mjs → table/index.mjs} +2 -2
  93. package/dist/{atoms/table.mjs.map → table/index.mjs.map} +1 -1
  94. package/dist/tabs/index.d.mts +97 -0
  95. package/dist/tabs/index.mjs +2 -0
  96. package/dist/tabs/index.mjs.map +1 -0
  97. package/dist/{atoms/text-field.d.mts → text-field/index.d.mts} +2 -2
  98. package/dist/{atoms/text-field.mjs → text-field/index.mjs} +2 -2
  99. package/dist/text-field/index.mjs.map +1 -0
  100. package/dist/textarea/index.d.mts +24 -0
  101. package/dist/{atoms/textarea.mjs → textarea/index.mjs} +2 -2
  102. package/dist/textarea/index.mjs.map +1 -0
  103. package/dist/{atoms/toast.d.mts → toast/index.d.mts} +2 -2
  104. package/dist/{atoms/toast.mjs → toast/index.mjs} +2 -2
  105. package/dist/{atoms/toast.mjs.map → toast/index.mjs.map} +1 -1
  106. package/dist/{atoms/toaster.mjs → toaster/index.mjs} +2 -2
  107. package/dist/toaster/index.mjs.map +1 -0
  108. package/dist/{atoms/tooltip.mjs → tooltip/index.mjs} +2 -2
  109. package/dist/tooltip/index.mjs.map +1 -0
  110. package/dist/types/index.d.mts +2 -0
  111. package/dist/types/index.mjs +2 -0
  112. package/dist/types/index.mjs.map +1 -0
  113. package/dist/{atoms/typography.d.mts → typography/index.d.mts} +2 -2
  114. package/dist/{atoms/typography.mjs → typography/index.mjs} +2 -2
  115. package/dist/typography/index.mjs.map +1 -0
  116. package/dist/utils/index.d.mts +5 -0
  117. package/dist/{utils.mjs → utils/index.mjs} +2 -2
  118. package/dist/utils/index.mjs.map +1 -0
  119. package/package.json +197 -257
  120. package/dist/atoms/accordion.d.ts +0 -94
  121. package/dist/atoms/accordion.js +0 -2
  122. package/dist/atoms/accordion.js.map +0 -1
  123. package/dist/atoms/accordion.mjs.map +0 -1
  124. package/dist/atoms/avatar.d.ts +0 -34
  125. package/dist/atoms/avatar.js +0 -2
  126. package/dist/atoms/avatar.js.map +0 -1
  127. package/dist/atoms/avatar.mjs.map +0 -1
  128. package/dist/atoms/badge.d.ts +0 -40
  129. package/dist/atoms/badge.js +0 -2
  130. package/dist/atoms/badge.js.map +0 -1
  131. package/dist/atoms/box.d.ts +0 -50
  132. package/dist/atoms/box.js +0 -2
  133. package/dist/atoms/box.js.map +0 -1
  134. package/dist/atoms/box.mjs.map +0 -1
  135. package/dist/atoms/breadcrumb.d.ts +0 -35
  136. package/dist/atoms/breadcrumb.js +0 -2
  137. package/dist/atoms/breadcrumb.js.map +0 -1
  138. package/dist/atoms/breadcrumb.mjs.map +0 -1
  139. package/dist/atoms/button.d.ts +0 -82
  140. package/dist/atoms/button.js +0 -2
  141. package/dist/atoms/button.js.map +0 -1
  142. package/dist/atoms/button.mjs.map +0 -1
  143. package/dist/atoms/checkbox.d.ts +0 -21
  144. package/dist/atoms/checkbox.js +0 -2
  145. package/dist/atoms/checkbox.js.map +0 -1
  146. package/dist/atoms/checkbox.mjs.map +0 -1
  147. package/dist/atoms/collapsible.d.ts +0 -26
  148. package/dist/atoms/collapsible.js +0 -2
  149. package/dist/atoms/collapsible.js.map +0 -1
  150. package/dist/atoms/collapsible.mjs.map +0 -1
  151. package/dist/atoms/command.d.ts +0 -122
  152. package/dist/atoms/command.js +0 -2
  153. package/dist/atoms/command.js.map +0 -1
  154. package/dist/atoms/command.mjs.map +0 -1
  155. package/dist/atoms/container.js +0 -2
  156. package/dist/atoms/container.js.map +0 -1
  157. package/dist/atoms/container.mjs.map +0 -1
  158. package/dist/atoms/dialog.d.ts +0 -35
  159. package/dist/atoms/dialog.js +0 -2
  160. package/dist/atoms/dialog.js.map +0 -1
  161. package/dist/atoms/dialog.mjs.map +0 -1
  162. package/dist/atoms/input.d.ts +0 -12
  163. package/dist/atoms/input.js +0 -2
  164. package/dist/atoms/input.js.map +0 -1
  165. package/dist/atoms/label.d.ts +0 -18
  166. package/dist/atoms/label.js +0 -2
  167. package/dist/atoms/label.js.map +0 -1
  168. package/dist/atoms/page-loader.d.ts +0 -29
  169. package/dist/atoms/page-loader.js +0 -2
  170. package/dist/atoms/page-loader.js.map +0 -1
  171. package/dist/atoms/page-loader.mjs.map +0 -1
  172. package/dist/atoms/pagination.d.ts +0 -105
  173. package/dist/atoms/pagination.js +0 -2
  174. package/dist/atoms/pagination.js.map +0 -1
  175. package/dist/atoms/pagination.mjs.map +0 -1
  176. package/dist/atoms/popover.d.ts +0 -30
  177. package/dist/atoms/popover.js +0 -2
  178. package/dist/atoms/popover.js.map +0 -1
  179. package/dist/atoms/popover.mjs.map +0 -1
  180. package/dist/atoms/radio-group.d.ts +0 -62
  181. package/dist/atoms/radio-group.js +0 -2
  182. package/dist/atoms/radio-group.js.map +0 -1
  183. package/dist/atoms/radio-group.mjs.map +0 -1
  184. package/dist/atoms/resizable.d.ts +0 -53
  185. package/dist/atoms/resizable.js +0 -2
  186. package/dist/atoms/resizable.js.map +0 -1
  187. package/dist/atoms/resizable.mjs.map +0 -1
  188. package/dist/atoms/separator.d.ts +0 -13
  189. package/dist/atoms/separator.js +0 -2
  190. package/dist/atoms/separator.js.map +0 -1
  191. package/dist/atoms/separator.mjs.map +0 -1
  192. package/dist/atoms/sheet.d.ts +0 -42
  193. package/dist/atoms/sheet.js +0 -2
  194. package/dist/atoms/sheet.js.map +0 -1
  195. package/dist/atoms/skeleton.js +0 -2
  196. package/dist/atoms/skeleton.js.map +0 -1
  197. package/dist/atoms/skeleton.mjs +0 -2
  198. package/dist/atoms/skeleton.mjs.map +0 -1
  199. package/dist/atoms/stack.d.ts +0 -121
  200. package/dist/atoms/stack.js +0 -2
  201. package/dist/atoms/stack.js.map +0 -1
  202. package/dist/atoms/switch.d.ts +0 -21
  203. package/dist/atoms/switch.js +0 -2
  204. package/dist/atoms/switch.js.map +0 -1
  205. package/dist/atoms/switch.mjs.map +0 -1
  206. package/dist/atoms/table.d.ts +0 -53
  207. package/dist/atoms/table.js +0 -2
  208. package/dist/atoms/table.js.map +0 -1
  209. package/dist/atoms/text-field.d.ts +0 -65
  210. package/dist/atoms/text-field.js +0 -2
  211. package/dist/atoms/text-field.js.map +0 -1
  212. package/dist/atoms/text-field.mjs.map +0 -1
  213. package/dist/atoms/textarea.js +0 -2
  214. package/dist/atoms/textarea.js.map +0 -1
  215. package/dist/atoms/textarea.mjs.map +0 -1
  216. package/dist/atoms/toast.d.ts +0 -18
  217. package/dist/atoms/toast.js +0 -2
  218. package/dist/atoms/toast.js.map +0 -1
  219. package/dist/atoms/toaster.d.ts +0 -26
  220. package/dist/atoms/toaster.js +0 -2
  221. package/dist/atoms/toaster.js.map +0 -1
  222. package/dist/atoms/toaster.mjs.map +0 -1
  223. package/dist/atoms/tooltip.d.ts +0 -25
  224. package/dist/atoms/tooltip.js +0 -2
  225. package/dist/atoms/tooltip.js.map +0 -1
  226. package/dist/atoms/tooltip.mjs.map +0 -1
  227. package/dist/atoms/typography.d.ts +0 -24
  228. package/dist/atoms/typography.js +0 -2
  229. package/dist/atoms/typography.js.map +0 -1
  230. package/dist/atoms/typography.mjs.map +0 -1
  231. package/dist/atoms.d.mts +0 -1237
  232. package/dist/atoms.d.ts +0 -1237
  233. package/dist/atoms.js +0 -2
  234. package/dist/atoms.js.map +0 -1
  235. package/dist/atoms.mjs +0 -2
  236. package/dist/atoms.mjs.map +0 -1
  237. package/dist/hooks.d.ts +0 -57
  238. package/dist/hooks.js +0 -2
  239. package/dist/hooks.mjs.map +0 -1
  240. package/dist/index.d.ts +0 -2619
  241. package/dist/index.js +0 -2
  242. package/dist/index.js.map +0 -1
  243. package/dist/molecules/card.d.mts +0 -72
  244. package/dist/molecules/card.d.ts +0 -72
  245. package/dist/molecules/card.js +0 -2
  246. package/dist/molecules/card.js.map +0 -1
  247. package/dist/molecules/card.mjs +0 -2
  248. package/dist/molecules/card.mjs.map +0 -1
  249. package/dist/molecules/navigation-menu.d.ts +0 -103
  250. package/dist/molecules/navigation-menu.js +0 -2
  251. package/dist/molecules/navigation-menu.js.map +0 -1
  252. package/dist/molecules/navigation-menu.mjs.map +0 -1
  253. package/dist/molecules/tabs.d.mts +0 -32
  254. package/dist/molecules/tabs.d.ts +0 -32
  255. package/dist/molecules/tabs.js +0 -2
  256. package/dist/molecules/tabs.js.map +0 -1
  257. package/dist/molecules/tabs.mjs +0 -2
  258. package/dist/molecules/tabs.mjs.map +0 -1
  259. package/dist/molecules.d.mts +0 -201
  260. package/dist/molecules.d.ts +0 -201
  261. package/dist/molecules.js +0 -2
  262. package/dist/molecules.js.map +0 -1
  263. package/dist/molecules.mjs +0 -2
  264. package/dist/molecules.mjs.map +0 -1
  265. package/dist/organisms/drawer.d.ts +0 -63
  266. package/dist/organisms/drawer.js +0 -2
  267. package/dist/organisms/drawer.js.map +0 -1
  268. package/dist/organisms/drawer.mjs.map +0 -1
  269. package/dist/organisms/dropdown-menu.d.ts +0 -335
  270. package/dist/organisms/dropdown-menu.js +0 -2
  271. package/dist/organisms/dropdown-menu.js.map +0 -1
  272. package/dist/organisms/dropdown-menu.mjs.map +0 -1
  273. package/dist/organisms/sidebar.d.ts +0 -328
  274. package/dist/organisms/sidebar.js +0 -2
  275. package/dist/organisms/sidebar.js.map +0 -1
  276. package/dist/organisms/sidebar.mjs.map +0 -1
  277. package/dist/organisms.d.mts +0 -717
  278. package/dist/organisms.d.ts +0 -717
  279. package/dist/organisms.js +0 -2
  280. package/dist/organisms.js.map +0 -1
  281. package/dist/organisms.mjs +0 -2
  282. package/dist/organisms.mjs.map +0 -1
  283. package/dist/rhf/form.d.ts +0 -96
  284. package/dist/rhf/form.js +0 -2
  285. package/dist/rhf/form.js.map +0 -1
  286. package/dist/rhf/form.mjs.map +0 -1
  287. package/dist/rhf/rhf-checkbox.d.ts +0 -57
  288. package/dist/rhf/rhf-checkbox.js +0 -2
  289. package/dist/rhf/rhf-checkbox.js.map +0 -1
  290. package/dist/rhf/rhf-checkbox.mjs.map +0 -1
  291. package/dist/rhf/rhf-multi-select.d.ts +0 -84
  292. package/dist/rhf/rhf-multi-select.js +0 -2
  293. package/dist/rhf/rhf-multi-select.js.map +0 -1
  294. package/dist/rhf/rhf-multi-select.mjs.map +0 -1
  295. package/dist/rhf/rhf-radio-button-group.d.ts +0 -73
  296. package/dist/rhf/rhf-radio-button-group.js +0 -2
  297. package/dist/rhf/rhf-radio-button-group.js.map +0 -1
  298. package/dist/rhf/rhf-radio-button-group.mjs.map +0 -1
  299. package/dist/rhf/rhf-radio-group.d.ts +0 -103
  300. package/dist/rhf/rhf-radio-group.js +0 -2
  301. package/dist/rhf/rhf-radio-group.js.map +0 -1
  302. package/dist/rhf/rhf-radio-group.mjs.map +0 -1
  303. package/dist/rhf/rhf-select.d.ts +0 -80
  304. package/dist/rhf/rhf-select.js +0 -2
  305. package/dist/rhf/rhf-select.js.map +0 -1
  306. package/dist/rhf/rhf-select.mjs.map +0 -1
  307. package/dist/rhf/rhf-switch.d.ts +0 -57
  308. package/dist/rhf/rhf-switch.js +0 -2
  309. package/dist/rhf/rhf-switch.js.map +0 -1
  310. package/dist/rhf/rhf-switch.mjs.map +0 -1
  311. package/dist/rhf/rhf-textarea.d.ts +0 -66
  312. package/dist/rhf/rhf-textarea.js +0 -2
  313. package/dist/rhf/rhf-textarea.js.map +0 -1
  314. package/dist/rhf/rhf-textarea.mjs.map +0 -1
  315. package/dist/rhf.d.mts +0 -614
  316. package/dist/rhf.d.ts +0 -614
  317. package/dist/rhf.js +0 -2
  318. package/dist/rhf.js.map +0 -1
  319. package/dist/rhf.mjs +0 -2
  320. package/dist/rhf.mjs.map +0 -1
  321. package/dist/types.js +0 -2
  322. package/dist/types.js.map +0 -1
  323. package/dist/types.mjs +0 -2
  324. package/dist/types.mjs.map +0 -1
  325. package/dist/utils.js +0 -2
  326. package/dist/utils.js.map +0 -1
  327. package/dist/utils.mjs.map +0 -1
  328. /package/dist/{atoms/accordion.d.mts → accordion/index.d.mts} +0 -0
  329. /package/dist/{atoms/avatar.d.mts → avatar/index.d.mts} +0 -0
  330. /package/dist/{atoms/box.d.mts → box/index.d.mts} +0 -0
  331. /package/dist/{atoms/breadcrumb.d.mts → breadcrumb/index.d.mts} +0 -0
  332. /package/dist/{atoms/checkbox.d.mts → checkbox/index.d.mts} +0 -0
  333. /package/dist/{atoms/collapsible.d.mts → collapsible/index.d.mts} +0 -0
  334. /package/dist/{atoms/command.d.mts → command/index.d.mts} +0 -0
  335. /package/dist/{atoms/dialog.d.mts → dialog/index.d.mts} +0 -0
  336. /package/dist/{organisms/drawer.d.mts → drawer/index.d.mts} +0 -0
  337. /package/dist/{rhf/form.d.mts → form/index.d.mts} +0 -0
  338. /package/dist/{atoms/input.d.mts → input/index.d.mts} +0 -0
  339. /package/dist/{atoms/popover.d.mts → popover/index.d.mts} +0 -0
  340. /package/dist/{atoms/resizable.d.mts → resizable/index.d.mts} +0 -0
  341. /package/dist/{rhf/rhf-checkbox.d.mts → rhf-checkbox/index.d.mts} +0 -0
  342. /package/dist/{rhf/rhf-multi-select.d.mts → rhf-multi-select/index.d.mts} +0 -0
  343. /package/dist/{rhf/rhf-radio-button-group.d.mts → rhf-radio-button-group/index.d.mts} +0 -0
  344. /package/dist/{rhf/rhf-radio-group.d.mts → rhf-radio-group/index.d.mts} +0 -0
  345. /package/dist/{rhf/rhf-select.d.mts → rhf-select/index.d.mts} +0 -0
  346. /package/dist/{rhf/rhf-switch.d.mts → rhf-switch/index.d.mts} +0 -0
  347. /package/dist/{rhf/rhf-textarea.d.mts → rhf-textarea/index.d.mts} +0 -0
  348. /package/dist/{atoms/separator.d.mts → separator/index.d.mts} +0 -0
  349. /package/dist/{atoms/stack.d.mts → stack/index.d.mts} +0 -0
  350. /package/dist/{atoms/switch.d.mts → switch/index.d.mts} +0 -0
  351. /package/dist/{atoms/table.d.mts → table/index.d.mts} +0 -0
  352. /package/dist/{atoms/toaster.d.mts → toaster/index.d.mts} +0 -0
  353. /package/dist/{atoms/tooltip.d.mts → tooltip/index.d.mts} +0 -0
@@ -1,2 +1,2 @@
1
- import*as n from'react';import*as o from'@radix-ui/react-accordion';import {ChevronDown}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs}from'react/jsx-runtime';function t(...e){return twMerge(clsx(e))}var f=n.forwardRef(({className:e,...r},i)=>jsx(o.Root,{ref:i,className:t("w-full",e),...r}));f.displayName="Accordion";var p=n.forwardRef(({className:e,...r},i)=>jsx(o.Item,{ref:i,className:t("border-b",e),...r}));p.displayName="AccordionItem";var l=n.forwardRef(({className:e,children:r,...i},a)=>jsx(o.Header,{className:"flex",children:jsxs(o.Trigger,{ref:a,className:t("flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",e),...i,children:[r,jsx(ChevronDown,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200"})]})}));l.displayName=o.Trigger.displayName;var A=n.forwardRef(({className:e,children:r,...i},a)=>jsx(o.Content,{ref:a,className:t("overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",e),...i,children:jsx("div",{className:t("pb-4 pt-0",e),children:r})}));A.displayName=o.Content.displayName;export{f as Accordion,A as AccordionContent,p as AccordionItem,l as AccordionTrigger};//# sourceMappingURL=accordion.mjs.map
2
- //# sourceMappingURL=accordion.mjs.map
1
+ import*as n from'react';import*as o from'@radix-ui/react-accordion';import {ChevronDown}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs}from'react/jsx-runtime';function t(...e){return twMerge(clsx(e))}var f=n.forwardRef(({className:e,...r},i)=>jsx(o.Root,{ref:i,className:t("w-full",e),...r}));f.displayName="Accordion";var p=n.forwardRef(({className:e,...r},i)=>jsx(o.Item,{ref:i,className:t("border-b",e),...r}));p.displayName="AccordionItem";var l=n.forwardRef(({className:e,children:r,...i},a)=>jsx(o.Header,{className:"flex",children:jsxs(o.Trigger,{ref:a,className:t("flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180",e),...i,children:[r,jsx(ChevronDown,{className:"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200"})]})}));l.displayName=o.Trigger.displayName;var A=n.forwardRef(({className:e,children:r,...i},a)=>jsx(o.Content,{ref:a,className:t("overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",e),...i,children:jsx("div",{className:t("pb-4 pt-0",e),children:r})}));A.displayName=o.Content.displayName;export{f as Accordion,A as AccordionContent,p as AccordionItem,l as AccordionTrigger};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/accordion/accordion.tsx"],"names":["cn","inputs","twMerge","clsx","Accordion","className","props","ref","jsx","AccordionItem","AccordionTrigger","children","jsxs","ChevronDown","AccordionContent"],"mappings":"iNAGO,SAASA,CAAMC,CAAAA,GAAAA,CAAAA,CAAsB,CAC1C,OAAOC,QAAQC,IAAKF,CAAAA,CAAM,CAAC,CAC7B,KC2BMG,CAAkB,CAAA,CAAA,CAAA,UAAA,CAGtB,CAAC,CAAE,SAAA,CAAAC,EAAW,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GAC1BC,IAAoB,CAAnB,CAAA,IAAA,CAAA,CAAwB,IAAKD,CAAK,CAAA,SAAA,CAAWP,EAAG,QAAUK,CAAAA,CAAS,CAAI,CAAA,GAAGC,EAAO,CACnF,EACDF,EAAU,WAAc,CAAA,WAAA,KAElBK,CAAsB,CAAA,CAAA,CAAA,UAAA,CAG1B,CAAC,CAAE,UAAAJ,CAAW,CAAA,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GAC1BC,IAAoB,CAAnB,CAAA,IAAA,CAAA,CAAwB,IAAKD,CAAK,CAAA,SAAA,CAAWP,EAAG,UAAYK,CAAAA,CAAS,EAAI,GAAGC,CAAAA,CAAO,CACrF,EACDG,CAAAA,CAAc,WAAc,CAAA,eAAA,KAEtBC,CAAyB,CAAA,CAAA,CAAA,UAAA,CAG7B,CAAC,CAAE,SAAA,CAAAL,EAAW,QAAAM,CAAAA,CAAAA,CAAU,GAAGL,CAAM,EAAGC,CACpCC,GAAAA,GAAAA,CAAoB,SAAnB,CAA0B,SAAA,CAAU,OACnC,QAAAI,CAAAA,IAAAA,CAAoB,CAAnB,CAAA,OAAA,CAAA,CACC,IAAKL,CACL,CAAA,SAAA,CAAWP,EACT,gJACAK,CAAAA,CACF,EACC,GAAGC,CAAAA,CAEH,UAAAK,CACDH,CAAAA,GAAAA,CAACK,YAAA,CAAY,SAAA,CAAU,2EAA2E,CACpG,CAAA,CAAA,CAAA,CACF,CACD,EACDH,CAAAA,CAAiB,WAAiC,CAAA,CAAA,CAAA,OAAA,CAAQ,YAEpDI,IAAAA,CAAAA,CAAyB,aAG7B,CAAC,CAAE,UAAAT,CAAW,CAAA,QAAA,CAAAM,CAAU,CAAA,GAAGL,CAAM,CAAGC,CAAAA,CAAAA,GACpCC,IAAoB,CAAnB,CAAA,OAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWP,CACT,CAAA,2GAAA,CACAK,CACF,CACC,CAAA,GAAGC,EAEJ,QAAAE,CAAAA,GAAAA,CAAC,OAAI,SAAWR,CAAAA,CAAAA,CAAG,YAAaK,CAAS,CAAA,CAAI,SAAAM,CAAS,CAAA,CAAA,CACxD,CACD,EACDG,CAAAA,CAAiB,YAAiC,CAAQ,CAAA,OAAA,CAAA,WAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { ChevronDown } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\nimport type {\n AccordionProps,\n AccordionItemProps,\n AccordionTriggerProps,\n AccordionContentProps\n} from \"./accordion.types\"\n\n/**\n * Accordion component that displays a list of expandable/collapsible sections.\n * Built on top of Radix UI's Accordion primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-accordion--docs\n *\n * @example\n * ```tsx\n * <Accordion type=\"single\" collapsible>\n * <AccordionItem value=\"item-1\">\n * <AccordionTrigger>Section 1</AccordionTrigger>\n * <AccordionContent>Content 1</AccordionContent>\n * </AccordionItem>\n * <AccordionItem value=\"item-2\">\n * <AccordionTrigger>Section 2</AccordionTrigger>\n * <AccordionContent>Content 2</AccordionContent>\n * </AccordionItem>\n * </Accordion>\n * ```\n */\nconst Accordion = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Root>,\n AccordionProps\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Root ref={ref} className={cn(\"w-full\", className)} {...props} />\n))\nAccordion.displayName = \"Accordion\"\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n AccordionItemProps\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item ref={ref} className={cn(\"border-b\", className)} {...props} />\n))\nAccordionItem.displayName = \"AccordionItem\"\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n AccordionTriggerProps\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline text-left [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronDown className=\"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n AccordionContentProps\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className={cn(\n \"overflow-hidden text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\",\n className\n )}\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n"]}
@@ -1,2 +1,2 @@
1
- import*as o from'react';import*as a from'@radix-ui/react-avatar';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function l(...r){return twMerge(clsx(r))}var m=o.forwardRef(({className:r,...e},t)=>jsx(a.Root,{ref:t,className:l("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",r),...e}));m.displayName=a.Root.displayName;var v=o.forwardRef(({className:r,...e},t)=>jsx(a.Image,{ref:t,className:l("aspect-square h-full w-full",r),...e}));v.displayName=a.Image.displayName;var s=o.forwardRef(({className:r,...e},t)=>jsx(a.Fallback,{ref:t,className:l("flex h-full w-full items-center justify-center rounded-full bg-muted",r),...e}));s.displayName=a.Fallback.displayName;export{m as Avatar,s as AvatarFallback,v as AvatarImage};//# sourceMappingURL=avatar.mjs.map
2
- //# sourceMappingURL=avatar.mjs.map
1
+ import*as o from'react';import*as a from'@radix-ui/react-avatar';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function l(...r){return twMerge(clsx(r))}var m=o.forwardRef(({className:r,...e},t)=>jsx(a.Root,{ref:t,className:l("relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",r),...e}));m.displayName=a.Root.displayName;var v=o.forwardRef(({className:r,...e},t)=>jsx(a.Image,{ref:t,className:l("aspect-square h-full w-full",r),...e}));v.displayName=a.Image.displayName;var s=o.forwardRef(({className:r,...e},t)=>jsx(a.Fallback,{ref:t,className:l("flex h-full w-full items-center justify-center rounded-full bg-muted",r),...e}));s.displayName=a.Fallback.displayName;export{m as Avatar,s as AvatarFallback,v as AvatarImage};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/avatar/avatar.tsx"],"names":["cn","inputs","twMerge","clsx","Avatar","className","props","ref","jsx","AvatarImage","AvatarFallback"],"mappings":"kKAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAsB,CAAA,CAC1C,OAAOC,OAAAA,CAAQC,IAAKF,CAAAA,CAAM,CAAC,CAC7B,KCcMG,CAAe,CAAA,CAAA,CAAA,UAAA,CACnB,CAAC,CAAE,SAAAC,CAAAA,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CACxBC,GAAAA,GAAAA,CAAiB,CAAhB,CAAA,IAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWP,CAAG,CAAA,+DAAA,CAAiEK,CAAS,CAAA,CACvF,GAAGC,CAAAA,CACN,CAEJ,EACAF,CAAO,CAAA,WAAA,CAA8B,CAAK,CAAA,IAAA,CAAA,WAAA,KAMpCK,CAAoB,CAAA,CAAA,CAAA,UAAA,CAGxB,CAAC,CAAE,SAAAJ,CAAAA,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAC1BC,GAAAA,GAAAA,CAAiB,CAAhB,CAAA,KAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWP,CAAG,CAAA,6BAAA,CAA+BK,CAAS,CAAA,CACrD,GAAGC,CAAAA,CACN,CACD,EACDG,CAAY,CAAA,WAAA,CAA8B,CAAM,CAAA,KAAA,CAAA,WAAA,KAM1CC,CAAuB,CAAA,CAAA,CAAA,UAAA,CAG3B,CAAC,CAAE,SAAAL,CAAAA,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,CAC1BC,GAAAA,GAAAA,CAAiB,CAAhB,CAAA,QAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWP,CACT,CAAA,sEAAA,CACAK,CACF,CAAA,CACC,GAAGC,CAAAA,CACN,CACD,EACDI,CAAe,CAAA,WAAA,CAA8B,CAAS,CAAA,QAAA,CAAA,WAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\nimport { cn } from \"@/utils/index\"\nimport type { AvatarProps, AvatarImageProps, AvatarFallbackProps } from \"./avatar.types\"\n\n/**\n * Avatar component that displays a user's profile picture or fallback.\n * Built on top of Radix UI's Avatar primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-avatar--docs\n *\n * @example\n * ```tsx\n * <Avatar>\n * <AvatarImage src=\"/path/to/image.jpg\" alt=\"User avatar\" />\n * <AvatarFallback>JD</AvatarFallback>\n * </Avatar>\n * ```\n */\nconst Avatar = React.forwardRef<React.ElementRef<typeof AvatarPrimitive.Root>, AvatarProps>(\n ({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\", className)}\n {...props}\n />\n )\n)\nAvatar.displayName = AvatarPrimitive.Root.displayName\n\n/**\n * AvatarImage component that displays the user's profile picture.\n * Falls back to AvatarFallback if the image fails to load.\n */\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n AvatarImageProps\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full\", className)}\n {...props}\n />\n))\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\n\n/**\n * AvatarFallback component that displays when the image fails to load.\n * Typically shows the user's initials or a placeholder icon.\n */\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n AvatarFallbackProps\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\n className\n )}\n {...props}\n />\n))\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\n\nexport { Avatar, AvatarImage, AvatarFallback }\n"]}
@@ -1,25 +1,26 @@
1
- import * as React$1 from 'react';
1
+ import * as React from 'react';
2
+ import React__default from 'react';
2
3
  import { VariantProps } from 'class-variance-authority';
3
- import * as class_variance_authority_types from 'class-variance-authority/types';
4
+ import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
4
5
 
5
6
  declare const badgeVariants: (props?: ({
6
7
  variant?: "default" | "secondary" | "destructive" | "outline" | "success" | "warning" | "info" | null | undefined;
7
8
  size?: "default" | "sm" | "lg" | null | undefined;
8
- } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
9
10
 
10
- interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
11
+ interface BadgeProps extends React__default.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
11
12
  /**
12
13
  * The content to display inside the badge
13
14
  */
14
- children: React.ReactNode;
15
+ children: React__default.ReactNode;
15
16
  /**
16
17
  * Optional icon to display before the badge content
17
18
  */
18
- icon?: React.ReactNode;
19
+ icon?: React__default.ReactNode;
19
20
  /**
20
21
  * Optional icon to display after the badge content
21
22
  */
22
- iconAfter?: React.ReactNode;
23
+ iconAfter?: React__default.ReactNode;
23
24
  }
24
25
 
25
26
  /**
@@ -35,6 +36,6 @@ interface BadgeProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<
35
36
  * <Badge variant="info" size="lg" iconAfter={<ArrowIcon />}>New</Badge>
36
37
  * ```
37
38
  */
38
- declare const Badge: React$1.ForwardRefExoticComponent<BadgeProps & React$1.RefAttributes<HTMLDivElement>>;
39
+ declare const Badge: React.ForwardRefExoticComponent<BadgeProps & React.RefAttributes<HTMLDivElement>>;
39
40
 
40
41
  export { Badge, type BadgeProps, badgeVariants };
@@ -1,2 +1,2 @@
1
- import*as n from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsxs,jsx}from'react/jsx-runtime';function r(...e){return twMerge(clsx(e))}var t=cva("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground",success:"border-transparent bg-green-500 text-white hover:bg-green-500/80",warning:"border-transparent bg-yellow-500 text-white hover:bg-yellow-500/80",info:"border-transparent bg-blue-500 text-white hover:bg-blue-500/80"},size:{default:"h-5",sm:"h-4 text-[10px]",lg:"h-6 text-sm"}},defaultVariants:{variant:"default",size:"default"}});var d=n.forwardRef(({className:e,variant:i,size:p,icon:a,iconAfter:o,children:g,...f},l)=>jsxs("div",{ref:l,className:r(t({variant:i,size:p}),e),...f,children:[a&&jsx("span",{className:"mr-1",children:a}),g,o&&jsx("span",{className:"ml-1",children:o})]}));d.displayName="Badge";export{d as Badge,t as badgeVariants};//# sourceMappingURL=badge.mjs.map
2
- //# sourceMappingURL=badge.mjs.map
1
+ import*as s from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsxs,jsx}from'react/jsx-runtime';function r(...e){return twMerge(clsx(e))}var t=cva("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground",success:"border-transparent bg-green-500 text-white hover:bg-green-500/80",warning:"border-transparent bg-yellow-500 text-white hover:bg-yellow-500/80",info:"border-transparent bg-blue-500 text-white hover:bg-blue-500/80"},size:{default:"h-5",sm:"h-4 text-[10px]",lg:"h-6 text-sm"}},defaultVariants:{variant:"default",size:"default"}});var i=s.forwardRef(({className:e,variant:d,size:p,icon:a,iconAfter:o,children:g,...f},l)=>jsxs("div",{ref:l,className:r(t({variant:d,size:p}),e),...f,children:[a&&jsx("span",{className:"mr-1",children:a}),g,o&&jsx("span",{className:"ml-1",children:o})]}));i.displayName="Badge";export{i as Badge,t as badgeVariants};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/badge/badge.variants.ts","../../src/components/atoms/badge/badge.tsx"],"names":["cn","inputs","twMerge","clsx","badgeVariants","cva","Badge","className","variant","size","icon","iconAfter","children","props","ref","jsxs","jsx"],"mappings":"yKAGO,SAASA,CAAAA,CAAAA,GAAMC,EAAsB,CAC1C,OAAOC,OAAQC,CAAAA,IAAAA,CAAKF,CAAM,CAAC,CAC7B,CCHaG,IAAAA,CAAAA,CAAgBC,GAC3B,CAAA,wKAAA,CACA,CACE,QAAU,CAAA,CACR,OAAS,CAAA,CACP,OAAS,CAAA,2EAAA,CACT,SACE,CAAA,iFAAA,CACF,WACE,CAAA,uFAAA,CACF,OAAS,CAAA,iBAAA,CACT,OAAS,CAAA,kEAAA,CACT,OAAS,CAAA,oEAAA,CACT,KAAM,gEACR,CAAA,CACA,IAAM,CAAA,CACJ,OAAS,CAAA,KAAA,CACT,EAAI,CAAA,iBAAA,CACJ,GAAI,aACN,CACF,CACA,CAAA,eAAA,CAAiB,CACf,OAAA,CAAS,SACT,CAAA,IAAA,CAAM,SACR,CACF,CACF,ECVA,IAAMC,CAAc,CAAA,CAAA,CAAA,UAAA,CAClB,CAAC,CAAE,SAAAC,CAAAA,CAAAA,CAAW,QAAAC,CAAS,CAAA,IAAA,CAAAC,CAAM,CAAA,IAAA,CAAAC,CAAM,CAAA,SAAA,CAAAC,CAAW,CAAA,QAAA,CAAAC,CAAU,CAAA,GAAGC,CAAM,CAAA,CAAGC,CAEhEC,GAAAA,IAAAA,CAAC,KAAI,CAAA,CAAA,GAAA,CAAKD,EAAK,SAAWd,CAAAA,CAAAA,CAAGI,CAAc,CAAA,CAAE,OAAAI,CAAAA,CAAAA,CAAS,IAAAC,CAAAA,CAAK,CAAC,CAAA,CAAGF,CAAS,CAAA,CAAI,GAAGM,CAAAA,CAC5E,QAAAH,CAAAA,CAAAA,CAAAA,EAAQM,IAAC,MAAK,CAAA,CAAA,SAAA,CAAU,MAAQ,CAAA,QAAA,CAAAN,CAAK,CAAA,CAAA,CACrCE,CACAD,CAAAA,CAAAA,EAAaK,IAAC,MAAK,CAAA,CAAA,SAAA,CAAU,MAAQ,CAAA,QAAA,CAAAL,CAAU,CAAA,CAAA,CAAA,CAClD,CAGN,EAEAL,EAAM,WAAc,CAAA,OAAA","file":"badge.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default: \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n success: \"border-transparent bg-green-500 text-white hover:bg-green-500/80\",\n warning: \"border-transparent bg-yellow-500 text-white hover:bg-yellow-500/80\",\n info: \"border-transparent bg-blue-500 text-white hover:bg-blue-500/80\"\n },\n size: {\n default: \"h-5\",\n sm: \"h-4 text-[10px]\",\n lg: \"h-6 text-sm\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n)\n","import * as React from \"react\"\nimport { cn } from \"@/utils/index\"\nimport { badgeVariants } from \"./badge.variants\"\nimport type { BadgeProps } from \"./badge.types\"\n\n/**\n * Badge component for displaying status, counts, or labels.\n * Supports various variants, sizes, and optional icons.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-badge--docs\n *\n * @example\n * ```tsx\n * <Badge variant=\"success\">Active</Badge>\n * <Badge variant=\"warning\" icon={<AlertIcon />}>Warning</Badge>\n * <Badge variant=\"info\" size=\"lg\" iconAfter={<ArrowIcon />}>New</Badge>\n * ```\n */\nconst Badge = React.forwardRef<HTMLDivElement, BadgeProps>(\n ({ className, variant, size, icon, iconAfter, children, ...props }, ref) => {\n return (\n <div ref={ref} className={cn(badgeVariants({ variant, size }), className)} {...props}>\n {icon && <span className=\"mr-1\">{icon}</span>}\n {children}\n {iconAfter && <span className=\"ml-1\">{iconAfter}</span>}\n </div>\n )\n }\n)\n\nBadge.displayName = \"Badge\"\n\nexport { Badge, badgeVariants }\n"]}
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/badge/badge.variants.ts","../../src/components/atoms/badge/badge.tsx"],"names":["cn","inputs","twMerge","clsx","badgeVariants","cva","Badge","className","variant","size","icon","iconAfter","children","props","ref","jsxs","jsx"],"mappings":"yKAGO,SAASA,CAAAA,CAAAA,GAAMC,EAAsB,CAC1C,OAAOC,OAAQC,CAAAA,IAAAA,CAAKF,CAAM,CAAC,CAC7B,CCHaG,IAAAA,CAAAA,CAAgBC,GAC3B,CAAA,wKAAA,CACA,CACE,QAAU,CAAA,CACR,OAAS,CAAA,CACP,OAAS,CAAA,2EAAA,CACT,SACE,CAAA,iFAAA,CACF,WACE,CAAA,uFAAA,CACF,OAAS,CAAA,iBAAA,CACT,OAAS,CAAA,kEAAA,CACT,OAAS,CAAA,oEAAA,CACT,KAAM,gEACR,CAAA,CACA,IAAM,CAAA,CACJ,OAAS,CAAA,KAAA,CACT,EAAI,CAAA,iBAAA,CACJ,GAAI,aACN,CACF,CACA,CAAA,eAAA,CAAiB,CACf,OAAA,CAAS,SACT,CAAA,IAAA,CAAM,SACR,CACF,CACF,ECVA,IAAMC,CAAc,CAAA,CAAA,CAAA,UAAA,CAClB,CAAC,CAAE,SAAAC,CAAAA,CAAAA,CAAW,QAAAC,CAAS,CAAA,IAAA,CAAAC,CAAM,CAAA,IAAA,CAAAC,CAAM,CAAA,SAAA,CAAAC,CAAW,CAAA,QAAA,CAAAC,CAAU,CAAA,GAAGC,CAAM,CAAA,CAAGC,CAEhEC,GAAAA,IAAAA,CAAC,KAAI,CAAA,CAAA,GAAA,CAAKD,EAAK,SAAWd,CAAAA,CAAAA,CAAGI,CAAc,CAAA,CAAE,OAAAI,CAAAA,CAAAA,CAAS,IAAAC,CAAAA,CAAK,CAAC,CAAA,CAAGF,CAAS,CAAA,CAAI,GAAGM,CAAAA,CAC5E,QAAAH,CAAAA,CAAAA,CAAAA,EAAQM,IAAC,MAAK,CAAA,CAAA,SAAA,CAAU,MAAQ,CAAA,QAAA,CAAAN,CAAK,CAAA,CAAA,CACrCE,CACAD,CAAAA,CAAAA,EAAaK,IAAC,MAAK,CAAA,CAAA,SAAA,CAAU,MAAQ,CAAA,QAAA,CAAAL,CAAU,CAAA,CAAA,CAAA,CAClD,CAGN,EAEAL,EAAM,WAAc,CAAA,OAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { cva } from \"class-variance-authority\"\n\nexport const badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default: \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n success: \"border-transparent bg-green-500 text-white hover:bg-green-500/80\",\n warning: \"border-transparent bg-yellow-500 text-white hover:bg-yellow-500/80\",\n info: \"border-transparent bg-blue-500 text-white hover:bg-blue-500/80\"\n },\n size: {\n default: \"h-5\",\n sm: \"h-4 text-[10px]\",\n lg: \"h-6 text-sm\"\n }\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n)\n","import * as React from \"react\"\nimport { cn } from \"@/utils/index\"\nimport { badgeVariants } from \"./badge.variants\"\nimport type { BadgeProps } from \"./badge.types\"\n\n/**\n * Badge component for displaying status, counts, or labels.\n * Supports various variants, sizes, and optional icons.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-badge--docs\n *\n * @example\n * ```tsx\n * <Badge variant=\"success\">Active</Badge>\n * <Badge variant=\"warning\" icon={<AlertIcon />}>Warning</Badge>\n * <Badge variant=\"info\" size=\"lg\" iconAfter={<ArrowIcon />}>New</Badge>\n * ```\n */\nconst Badge = React.forwardRef<HTMLDivElement, BadgeProps>(\n ({ className, variant, size, icon, iconAfter, children, ...props }, ref) => {\n return (\n <div ref={ref} className={cn(badgeVariants({ variant, size }), className)} {...props}>\n {icon && <span className=\"mr-1\">{icon}</span>}\n {children}\n {iconAfter && <span className=\"ml-1\">{iconAfter}</span>}\n </div>\n )\n }\n)\n\nBadge.displayName = \"Badge\"\n\nexport { Badge, badgeVariants }\n"]}
@@ -1,2 +1,2 @@
1
- import*as r from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function n(...e){return twMerge(clsx(e))}var x=r.forwardRef(({as:e="div",className:s,width:o,height:t,style:a,...i},m)=>{let p={width:typeof o=="number"?`${o}px`:o,height:typeof t=="number"?`${t}px`:t,...a};return jsx(e,{ref:m,className:n(s),style:p,...i})});x.displayName="Box";export{x as Box};//# sourceMappingURL=box.mjs.map
2
- //# sourceMappingURL=box.mjs.map
1
+ import*as r from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function n(...e){return twMerge(clsx(e))}var x=r.forwardRef(({as:e="div",className:s,width:o,height:t,style:a,...i},m)=>{let p={width:typeof o=="number"?`${o}px`:o,height:typeof t=="number"?`${t}px`:t,...a};return jsx(e,{ref:m,className:n(s),style:p,...i})});x.displayName="Box";export{x as Box};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/box/box.tsx"],"names":["cn","inputs","twMerge","clsx","Box","Component","className","width","height","style","props","ref","dimensionStyles","jsx"],"mappings":"yHAGO,SAASA,KAAMC,CAAsB,CAAA,CAC1C,OAAOC,OAAQC,CAAAA,IAAAA,CAAKF,CAAM,CAAC,CAC7B,CCwDA,IAAMG,EAAY,CAChB,CAAA,UAAA,CAAA,CAAC,CAAE,EAAIC,CAAAA,CAAAA,CAAY,KAAO,CAAA,SAAA,CAAAC,EAAW,KAAAC,CAAAA,CAAAA,CAAO,OAAAC,CAAQ,CAAA,KAAA,CAAAC,EAAO,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GAAQ,CAC7E,IAAMC,CAAAA,CAAkB,CACtB,KAAO,CAAA,OAAOL,GAAU,QAAW,CAAA,CAAA,EAAGA,CAAK,CAAA,EAAA,CAAA,CAAOA,EAClD,MAAQ,CAAA,OAAOC,GAAW,QAAW,CAAA,CAAA,EAAGA,CAAM,CAAOA,EAAAA,CAAAA,CAAAA,CAAAA,CACrD,GAAGC,CACL,EAEA,OAAOI,GAAAA,CAACR,EAAA,CAAU,GAAA,CAAKM,EAAK,SAAWX,CAAAA,CAAAA,CAAGM,CAAS,CAAG,CAAA,KAAA,CAAOM,EAAkB,GAAGF,CAAAA,CAAO,CAC3F,CACF,EAEAN,EAAI,WAAc,CAAA,KAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","/**\n * Box is a fundamental layout component that serves as a building block for other components.\n * It's a polymorphic component that can render as different HTML elements while maintaining\n * consistent styling and behavior.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-box--docs\n *\n * @example\n * ```tsx\n * // Basic usage\n * <Box>Content</Box>\n *\n * // As a different element\n * <Box as=\"section\">Section content</Box>\n *\n * // With custom className\n * <Box className=\"bg-primary text-white p-4\">Styled content</Box>\n *\n * // With custom dimensions\n * <Box width=\"100px\" height=\"200px\">Fixed size content</Box>\n * <Box width=\"50%\" height=\"auto\">Responsive content</Box>\n * ```\n */\nimport * as React from \"react\"\nimport { cn } from \"@/utils\"\n\ntype BoxComponent =\n | \"div\"\n | \"span\"\n | \"section\"\n | \"article\"\n | \"main\"\n | \"aside\"\n | \"header\"\n | \"footer\"\n | \"nav\"\n\ntype DimensionValue = string | number\n\nexport interface BoxProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * The HTML element to render the Box as.\n * This allows for semantic HTML while maintaining consistent styling.\n *\n * @default \"div\"\n */\n as?: BoxComponent\n\n /**\n * The width of the Box component.\n * Can be a number (interpreted as pixels) or a string (e.g., \"100%\", \"50px\", \"10rem\").\n */\n width?: DimensionValue\n\n /**\n * The height of the Box component.\n * Can be a number (interpreted as pixels) or a string (e.g., \"100%\", \"50px\", \"10rem\").\n */\n height?: DimensionValue\n}\n\nconst Box = React.forwardRef<HTMLDivElement, BoxProps>(\n ({ as: Component = \"div\", className, width, height, style, ...props }, ref) => {\n const dimensionStyles = {\n width: typeof width === \"number\" ? `${width}px` : width,\n height: typeof height === \"number\" ? `${height}px` : height,\n ...style\n }\n\n return <Component ref={ref} className={cn(className)} style={dimensionStyles} {...props} />\n }\n)\n\nBox.displayName = \"Box\"\n\nexport { Box }\n"]}
@@ -1,2 +1,2 @@
1
- import*as o from'react';import {Slot}from'@radix-ui/react-slot';import {ChevronRight,MoreHorizontal}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs}from'react/jsx-runtime';function m(...r){return twMerge(clsx(r))}var t=o.forwardRef(({...r},e)=>jsx("nav",{ref:e,"aria-label":"breadcrumb",...r}));t.displayName="Breadcrumb";var c=o.forwardRef(({className:r,...e},a)=>jsx("ol",{ref:a,className:m("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",r),...e}));c.displayName="BreadcrumbList";var p=o.forwardRef(({className:r,...e},a)=>jsx("li",{ref:a,className:m("inline-flex items-center gap-1.5",r),...e}));p.displayName="BreadcrumbItem";var d=o.forwardRef(({asChild:r,className:e,...a},u)=>jsx(r?Slot:"a",{ref:u,className:m("transition-colors hover:text-foreground",e),...a}));d.displayName="BreadcrumbLink";var i=o.forwardRef(({className:r,...e},a)=>jsx("span",{ref:a,role:"link","aria-disabled":"true","aria-current":"page",className:m("font-normal text-foreground",r),...e}));i.displayName="BreadcrumbPage";var l=({children:r,className:e,...a})=>jsx("li",{role:"presentation","aria-hidden":"true",className:m("[&>svg]:w-3.5 [&>svg]:h-3.5",e),...a,children:r??jsx(ChevronRight,{})});l.displayName="BreadcrumbSeparator";var n=({className:r,...e})=>jsxs("span",{role:"presentation","aria-hidden":"true",className:m("flex h-9 w-9 items-center justify-center",r),...e,children:[jsx(MoreHorizontal,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"More"})]});n.displayName="BreadcrumbEllipsis";export{t as Breadcrumb,n as BreadcrumbEllipsis,p as BreadcrumbItem,d as BreadcrumbLink,c as BreadcrumbList,i as BreadcrumbPage,l as BreadcrumbSeparator};//# sourceMappingURL=breadcrumb.mjs.map
2
- //# sourceMappingURL=breadcrumb.mjs.map
1
+ import*as o from'react';import {Slot}from'@radix-ui/react-slot';import {ChevronRight,MoreHorizontal}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs}from'react/jsx-runtime';function m(...r){return twMerge(clsx(r))}var t=o.forwardRef(({...r},e)=>jsx("nav",{ref:e,"aria-label":"breadcrumb",...r}));t.displayName="Breadcrumb";var c=o.forwardRef(({className:r,...e},a)=>jsx("ol",{ref:a,className:m("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",r),...e}));c.displayName="BreadcrumbList";var p=o.forwardRef(({className:r,...e},a)=>jsx("li",{ref:a,className:m("inline-flex items-center gap-1.5",r),...e}));p.displayName="BreadcrumbItem";var d=o.forwardRef(({asChild:r,className:e,...a},u)=>jsx(r?Slot:"a",{ref:u,className:m("transition-colors hover:text-foreground",e),...a}));d.displayName="BreadcrumbLink";var i=o.forwardRef(({className:r,...e},a)=>jsx("span",{ref:a,role:"link","aria-disabled":"true","aria-current":"page",className:m("font-normal text-foreground",r),...e}));i.displayName="BreadcrumbPage";var l=({children:r,className:e,...a})=>jsx("li",{role:"presentation","aria-hidden":"true",className:m("[&>svg]:w-3.5 [&>svg]:h-3.5",e),...a,children:r??jsx(ChevronRight,{})});l.displayName="BreadcrumbSeparator";var n=({className:r,...e})=>jsxs("span",{role:"presentation","aria-hidden":"true",className:m("flex h-9 w-9 items-center justify-center",r),...e,children:[jsx(MoreHorizontal,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"More"})]});n.displayName="BreadcrumbEllipsis";export{t as Breadcrumb,n as BreadcrumbEllipsis,p as BreadcrumbItem,d as BreadcrumbLink,c as BreadcrumbList,i as BreadcrumbPage,l as BreadcrumbSeparator};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/breadcrumb/breadcrumb.tsx"],"names":["cn","inputs","twMerge","clsx","Breadcrumb","props","ref","jsx","BreadcrumbList","className","BreadcrumbItem","BreadcrumbLink","asChild","Slot","BreadcrumbPage","BreadcrumbSeparator","children","ChevronRight","BreadcrumbEllipsis","jsxs","MoreHorizontal"],"mappings":"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","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","/**\n * Breadcrumb component that displays the current page's location within a navigational hierarchy.\n * Built on top of Radix UI's Slot primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-breadcrumb--docs\n *\n * @example\n * ```tsx\n * <Breadcrumb>\n * <BreadcrumbList>\n * <BreadcrumbItem>\n * <BreadcrumbLink href=\"/\">Home</BreadcrumbLink>\n * </BreadcrumbItem>\n * <BreadcrumbSeparator />\n * <BreadcrumbItem>\n * <BreadcrumbPage>Current Page</BreadcrumbPage>\n * </BreadcrumbItem>\n * </BreadcrumbList>\n * </Breadcrumb>\n * ```\n */\n\nimport * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { ChevronRight, MoreHorizontal } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\nimport {\n BreadcrumbProps,\n BreadcrumbListProps,\n BreadcrumbItemProps,\n BreadcrumbLinkProps,\n BreadcrumbPageProps,\n BreadcrumbSeparatorProps,\n BreadcrumbEllipsisProps\n} from \"./breadcrumb.types\"\n\nconst Breadcrumb = React.forwardRef<HTMLElement, BreadcrumbProps>(({ ...props }, ref) => (\n <nav ref={ref} aria-label=\"breadcrumb\" {...props} />\n))\nBreadcrumb.displayName = \"Breadcrumb\"\n\nconst BreadcrumbList = React.forwardRef<HTMLOListElement, BreadcrumbListProps>(\n ({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\n className\n )}\n {...props}\n />\n )\n)\nBreadcrumbList.displayName = \"BreadcrumbList\"\n\nconst BreadcrumbItem = React.forwardRef<HTMLLIElement, BreadcrumbItemProps>(\n ({ className, ...props }, ref) => (\n <li ref={ref} className={cn(\"inline-flex items-center gap-1.5\", className)} {...props} />\n )\n)\nBreadcrumbItem.displayName = \"BreadcrumbItem\"\n\nconst BreadcrumbLink = React.forwardRef<HTMLAnchorElement, BreadcrumbLinkProps>(\n ({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? Slot : \"a\"\n\n return (\n <Comp\n ref={ref}\n className={cn(\"transition-colors hover:text-foreground\", className)}\n {...props}\n />\n )\n }\n)\nBreadcrumbLink.displayName = \"BreadcrumbLink\"\n\nconst BreadcrumbPage = React.forwardRef<HTMLSpanElement, BreadcrumbPageProps>(\n ({ className, ...props }, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n )\n)\nBreadcrumbPage.displayName = \"BreadcrumbPage\"\n\nconst BreadcrumbSeparator = ({ children, className, ...props }: BreadcrumbSeparatorProps) => (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:w-3.5 [&>svg]:h-3.5\", className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n)\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\"\n\nconst BreadcrumbEllipsis = ({ className, ...props }: BreadcrumbEllipsisProps) => (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n)\nBreadcrumbEllipsis.displayName = \"BreadcrumbEllipsis\"\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis\n}\n"]}
@@ -1,4 +1,4 @@
1
- import * as class_variance_authority_types from 'class-variance-authority/types';
1
+ import * as class_variance_authority_dist_types from 'class-variance-authority/dist/types';
2
2
  import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
 
@@ -43,7 +43,7 @@ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, Var
43
43
  declare const buttonVariants: (props?: ({
44
44
  variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
45
45
  size?: "default" | "sm" | "lg" | "icon" | null | undefined;
46
- } & class_variance_authority_types.ClassProp) | undefined) => string;
46
+ } & class_variance_authority_dist_types.ClassProp) | undefined) => string;
47
47
  /**
48
48
  * A versatile button component that supports multiple variants, sizes, and can be rendered as a child component.
49
49
  * Built on top of Radix UI's Slot primitive for maximum flexibility.
@@ -1,2 +1,2 @@
1
- import*as y from'react';import {Slot}from'@radix-ui/react-slot';import {cva}from'class-variance-authority';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {Loader2}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';function i(...t){return twMerge(clsx(t))}var v=cva("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),N=y.forwardRef(({className:t,variant:d,size:u,asChild:l=false,startIcon:m,endIcon:c,loading:r=false,disabled:h,children:o,type:f="button","aria-label":x,...a},b)=>{let p=l?Slot:"button",e=h||r,g=x||(typeof o=="string"?o:void 0),w=n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),!e&&a.onClick&&a.onClick(n));};return l?jsx(p,{className:i(v({variant:d,size:u,className:t})),ref:b,disabled:e,type:f,"aria-label":g,"aria-disabled":e,...a,children:o}):jsxs(p,{className:i(v({variant:d,size:u,className:t})),ref:b,disabled:e,type:f,"aria-label":g,"aria-disabled":e,onKeyDown:w,...a,children:[r&&jsx(Loader2,{className:"mr-2 h-4 w-4 animate-spin",role:"status","aria-label":"Loading","aria-hidden":"true"}),!r&&m&&jsx("span",{className:"mr-2","aria-hidden":"true",children:m}),o,!r&&c&&jsx("span",{className:"ml-2","aria-hidden":"true",children:c})]})});N.displayName="Button";export{N as Button,v as buttonVariants};//# sourceMappingURL=button.mjs.map
2
- //# sourceMappingURL=button.mjs.map
1
+ import*as y from'react';import {Slot}from'@radix-ui/react-slot';import {cva}from'class-variance-authority';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {Loader2}from'lucide-react';import {jsx,jsxs}from'react/jsx-runtime';function i(...t){return twMerge(clsx(t))}var v=cva("inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",{variants:{variant:{default:"bg-primary text-primary-foreground shadow hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",outline:"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2",sm:"h-8 rounded-md px-3 text-xs",lg:"h-10 rounded-md px-8",icon:"h-9 w-9"}},defaultVariants:{variant:"default",size:"default"}}),N=y.forwardRef(({className:t,variant:d,size:u,asChild:l=false,startIcon:m,endIcon:c,loading:r=false,disabled:h,children:o,type:f="button","aria-label":x,...a},b)=>{let p=l?Slot:"button",e=h||r,g=x||(typeof o=="string"?o:void 0),w=n=>{(n.key==="Enter"||n.key===" ")&&(n.preventDefault(),!e&&a.onClick&&a.onClick(n));};return l?jsx(p,{className:i(v({variant:d,size:u,className:t})),ref:b,disabled:e,type:f,"aria-label":g,"aria-disabled":e,...a,children:o}):jsxs(p,{className:i(v({variant:d,size:u,className:t})),ref:b,disabled:e,type:f,"aria-label":g,"aria-disabled":e,onKeyDown:w,...a,children:[r&&jsx(Loader2,{className:"mr-2 h-4 w-4 animate-spin",role:"status","aria-label":"Loading","aria-hidden":"true"}),!r&&m&&jsx("span",{className:"mr-2","aria-hidden":"true",children:m}),o,!r&&c&&jsx("span",{className:"ml-2","aria-hidden":"true",children:c})]})});N.displayName="Button";export{N as Button,v as buttonVariants};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/button/button.tsx"],"names":["cn","inputs","twMerge","clsx","buttonVariants","cva","Button","className","variant","size","asChild","startIcon","endIcon","loading","disabled","children","type","ariaLabel","props","ref","Comp","Slot","isDisabled","buttonAriaLabel","handleKeyDown","event","jsx","jsxs","Loader2"],"mappings":"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","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva } from \"class-variance-authority\"\nimport { cn } from \"@/utils/cn\"\nimport { Loader2 } from \"lucide-react\"\nimport { ButtonProps } from \"./button.types\"\n\n/**\n * Button variant styles using class-variance-authority.\n * Defines the visual styles for different button variants and sizes.\n * Follows WCAG 2.1 Level AA guidelines for accessibility.\n *\n * @example\n * ```tsx\n * <Button variant=\"primary\" size=\"lg\">Click me</Button>\n * ```\n */\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground shadow hover:bg-primary/90\",\n destructive: \"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground\",\n secondary: \"bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\"\n } as const,\n size: {\n default: \"h-9 px-4 py-2\",\n sm: \"h-8 rounded-md px-3 text-xs\",\n lg: \"h-10 rounded-md px-8\",\n icon: \"h-9 w-9\"\n } as const\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\"\n }\n }\n)\n\n/**\n * A versatile button component that supports multiple variants, sizes, and can be rendered as a child component.\n * Built on top of Radix UI's Slot primitive for maximum flexibility.\n * Implements proper accessibility features and follows WCAG 2.1 Level AA guidelines.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-button--docs\n *\n * @component\n * @example\n * ```tsx\n * // Default button\n * <Button>Click me</Button>\n *\n * // Destructive button with small size\n * <Button variant=\"destructive\" size=\"sm\">Delete</Button>\n *\n * // As a link\n * <Button variant=\"link\" asChild>\n * <a href=\"/about\">About</a>\n * </Button>\n *\n * // With icons\n * <Button startIcon={<Icon />}>With Start Icon</Button>\n * <Button endIcon={<Icon />}>With End Icon</Button>\n *\n * // Loading state\n * <Button loading>Loading</Button>\n * ```\n *\n * @param {ButtonProps} props - The component props\n * @param {React.Ref<HTMLButtonElement>} ref - Forwarded ref\n * @returns {JSX.Element} A button element\n */\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n startIcon,\n endIcon,\n loading = false,\n disabled,\n children,\n type = \"button\",\n \"aria-label\": ariaLabel,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\"\n const isDisabled = disabled || loading\n const buttonAriaLabel = ariaLabel || (typeof children === \"string\" ? children : undefined)\n\n // Handle keyboard interaction\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault()\n if (!isDisabled && props.onClick) {\n props.onClick(event as unknown as React.MouseEvent<HTMLButtonElement>)\n }\n }\n }\n\n if (asChild) {\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n disabled={isDisabled}\n type={type}\n aria-label={buttonAriaLabel}\n aria-disabled={isDisabled}\n {...props}\n >\n {children}\n </Comp>\n )\n }\n\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n disabled={isDisabled}\n type={type}\n aria-label={buttonAriaLabel}\n aria-disabled={isDisabled}\n onKeyDown={handleKeyDown}\n {...props}\n >\n {loading && (\n <Loader2\n className=\"mr-2 h-4 w-4 animate-spin\"\n role=\"status\"\n aria-label=\"Loading\"\n aria-hidden=\"true\"\n />\n )}\n {!loading && startIcon && (\n <span className=\"mr-2\" aria-hidden=\"true\">\n {startIcon}\n </span>\n )}\n {children}\n {!loading && endIcon && (\n <span className=\"ml-2\" aria-hidden=\"true\">\n {endIcon}\n </span>\n )}\n </Comp>\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n"]}
@@ -0,0 +1,127 @@
1
+ import * as React from 'react';
2
+
3
+ /**
4
+ * Props interface for the Card component.
5
+ * Extends the native div HTML attributes and adds support for custom styling.
6
+ *
7
+ * @interface CardProps
8
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
9
+ */
10
+ interface CardProps extends React.HTMLAttributes<HTMLDivElement> {
11
+ }
12
+ /**
13
+ * Props interface for the CardHeader component.
14
+ * Extends the native div HTML attributes and adds support for custom styling.
15
+ *
16
+ * @interface CardHeaderProps
17
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
18
+ */
19
+ interface CardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
20
+ }
21
+ /**
22
+ * Props interface for the CardTitle component.
23
+ * Extends the native heading HTML attributes and adds support for custom styling.
24
+ *
25
+ * @interface CardTitleProps
26
+ * @extends {React.HTMLAttributes<HTMLHeadingElement>}
27
+ */
28
+ interface CardTitleProps extends React.HTMLAttributes<HTMLHeadingElement> {
29
+ }
30
+ /**
31
+ * Props interface for the CardDescription component.
32
+ * Extends the native paragraph HTML attributes and adds support for custom styling.
33
+ *
34
+ * @interface CardDescriptionProps
35
+ * @extends {React.HTMLAttributes<HTMLParagraphElement>}
36
+ */
37
+ interface CardDescriptionProps extends React.HTMLAttributes<HTMLParagraphElement> {
38
+ }
39
+ /**
40
+ * Props interface for the CardContent component.
41
+ * Extends the native div HTML attributes and adds support for custom styling.
42
+ *
43
+ * @interface CardContentProps
44
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
45
+ */
46
+ interface CardContentProps extends React.HTMLAttributes<HTMLDivElement> {
47
+ }
48
+ /**
49
+ * Props interface for the CardFooter component.
50
+ * Extends the native div HTML attributes and adds support for custom styling.
51
+ *
52
+ * @interface CardFooterProps
53
+ * @extends {React.HTMLAttributes<HTMLDivElement>}
54
+ */
55
+ interface CardFooterProps extends React.HTMLAttributes<HTMLDivElement> {
56
+ }
57
+
58
+ /**
59
+ * Card is a flexible container component that can be used to group related content and actions.
60
+ * It provides a consistent visual style with a subtle border, shadow, and rounded corners.
61
+ *
62
+ */
63
+
64
+ /**
65
+ * The main card container component.
66
+ * Provides the base styling for the card including border, shadow, and rounded corners.
67
+ * * @url https://sergii-melnykov.github.io/ui/?path=/docs/molecules-card--docs
68
+ *
69
+ * @example
70
+ * ```tsx
71
+ * // Basic card
72
+ * <Card>
73
+ * <CardHeader>
74
+ * <CardTitle>Card Title</CardTitle>
75
+ * <CardDescription>Card Description</CardDescription>
76
+ * </CardHeader>
77
+ * <CardContent>
78
+ * <p>Card content goes here.</p>
79
+ * </CardContent>
80
+ * <CardFooter>
81
+ * <Button>Action</Button>
82
+ * </CardFooter>
83
+ * </Card>
84
+ *
85
+ * // Card with custom styling
86
+ * <Card className="bg-primary text-primary-foreground">
87
+ * <CardHeader>
88
+ * <CardTitle>Custom Styled Card</CardTitle>
89
+ * </CardHeader>
90
+ * <CardContent>
91
+ * <p>This card has custom background and text colors.</p>
92
+ * </CardContent>
93
+ * </Card>
94
+ * ```
95
+ */
96
+ declare const Card: React.ForwardRefExoticComponent<CardProps & React.RefAttributes<HTMLDivElement>>;
97
+ /**
98
+ * Header section of the card.
99
+ * Typically contains the card title and description.
100
+ * Includes padding and spacing for consistent layout.
101
+ */
102
+ declare const CardHeader: React.ForwardRefExoticComponent<CardHeaderProps & React.RefAttributes<HTMLDivElement>>;
103
+ /**
104
+ * Title component for the card.
105
+ * Should be used within CardHeader.
106
+ * Provides consistent typography styling for card titles.
107
+ */
108
+ declare const CardTitle: React.ForwardRefExoticComponent<CardTitleProps & React.RefAttributes<HTMLParagraphElement>>;
109
+ /**
110
+ * Description component for the card.
111
+ * Should be used within CardHeader.
112
+ * Provides consistent typography styling for card descriptions.
113
+ */
114
+ declare const CardDescription: React.ForwardRefExoticComponent<CardDescriptionProps & React.RefAttributes<HTMLParagraphElement>>;
115
+ /**
116
+ * Main content section of the card.
117
+ * Includes padding and removes top padding to maintain consistent spacing with the header.
118
+ */
119
+ declare const CardContent: React.ForwardRefExoticComponent<CardContentProps & React.RefAttributes<HTMLDivElement>>;
120
+ /**
121
+ * Footer section of the card.
122
+ * Typically contains action buttons or additional information.
123
+ * Includes padding and removes top padding to maintain consistent spacing with the content.
124
+ */
125
+ declare const CardFooter: React.ForwardRefExoticComponent<CardFooterProps & React.RefAttributes<HTMLDivElement>>;
126
+
127
+ export { Card, CardContent, type CardContentProps, CardDescription, type CardDescriptionProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, type CardProps, CardTitle, type CardTitleProps };
@@ -0,0 +1,2 @@
1
+ import*as t from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function o(...r){return twMerge(clsx(r))}var i=t.forwardRef(({className:r,...e},a)=>jsx("div",{ref:a,className:o("rounded-lg border bg-card text-card-foreground shadow-sm",r),...e}));i.displayName="Card";var l=t.forwardRef(({className:r,...e},a)=>jsx("div",{ref:a,className:o("flex flex-col space-y-1.5 p-6",r),...e}));l.displayName="CardHeader";var m=t.forwardRef(({className:r,children:e,...a},s)=>jsx("h3",{ref:s,className:o("text-2xl font-semibold leading-none tracking-tight",r),...a,children:e}));m.displayName="CardTitle";var c=t.forwardRef(({className:r,...e},a)=>jsx("p",{ref:a,className:o("text-sm text-muted-foreground",r),...e}));c.displayName="CardDescription";var f=t.forwardRef(({className:r,...e},a)=>jsx("div",{ref:a,className:o("p-6 pt-0",r),...e}));f.displayName="CardContent";var C=t.forwardRef(({className:r,...e},a)=>jsx("div",{ref:a,className:o("flex items-center p-6 pt-0",r),...e}));C.displayName="CardFooter";export{i as Card,f as CardContent,c as CardDescription,C as CardFooter,l as CardHeader,m as CardTitle};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/molecules/card/card.tsx"],"names":["cn","inputs","twMerge","clsx","Card","className","props","ref","jsx","CardHeader","CardTitle","children","CardDescription","CardContent","CardFooter"],"mappings":"yHAGO,SAASA,CAAMC,CAAAA,GAAAA,CAAAA,CAAsB,CAC1C,OAAOC,OAAAA,CAAQC,KAAKF,CAAM,CAAC,CAC7B,CC2CA,IAAMG,EAAa,CAAsC,CAAA,UAAA,CAAA,CAAC,CAAE,SAAAC,CAAAA,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,IACjFC,GAAC,CAAA,KAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWP,EAAG,0DAA4DK,CAAAA,CAAS,EAClF,GAAGC,CAAAA,CACN,CACD,EACDF,CAAAA,CAAK,YAAc,MAOnB,CAAA,IAAMK,EAAmB,CACvB,CAAA,UAAA,CAAA,CAAC,CAAE,SAAAJ,CAAAA,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAGC,IACxBC,GAAC,CAAA,KAAA,CAAA,CAAI,IAAKD,CAAK,CAAA,SAAA,CAAWP,EAAG,+BAAiCK,CAAAA,CAAS,EAAI,GAAGC,CAAAA,CAAO,CAEzF,EACAG,CAAAA,CAAW,YAAc,YAOzB,CAAA,IAAMC,EAAkB,CACtB,CAAA,UAAA,CAAA,CAAC,CAAE,SAAAL,CAAAA,CAAAA,CAAW,SAAAM,CAAU,CAAA,GAAGL,CAAM,CAAGC,CAAAA,CAAAA,GAClCC,IAAC,IACC,CAAA,CAAA,GAAA,CAAKD,EACL,SAAWP,CAAAA,CAAAA,CAAG,qDAAsDK,CAAS,CAAA,CAC5E,GAAGC,CAEH,CAAA,QAAA,CAAAK,EACH,CAEJ,EACAD,EAAU,WAAc,CAAA,WAAA,KAOlBE,CAAwB,CAAA,CAAA,CAAA,UAAA,CAC5B,CAAC,CAAE,SAAA,CAAAP,EAAW,GAAGC,CAAM,EAAGC,CACxBC,GAAAA,GAAAA,CAAC,KAAE,GAAKD,CAAAA,CAAAA,CAAK,UAAWP,CAAG,CAAA,+BAAA,CAAiCK,CAAS,CAAI,CAAA,GAAGC,EAAO,CAEvF,EACAM,EAAgB,WAAc,CAAA,iBAAA,KAMxBC,CAAoB,CAAA,CAAA,CAAA,UAAA,CACxB,CAAC,CAAE,SAAA,CAAAR,EAAW,GAAGC,CAAM,EAAGC,CACxBC,GAAAA,GAAAA,CAAC,OAAI,GAAKD,CAAAA,CAAAA,CAAK,UAAWP,CAAG,CAAA,UAAA,CAAYK,CAAS,CAAI,CAAA,GAAGC,EAAO,CAEpE,EACAO,EAAY,WAAc,CAAA,aAAA,KAOpBC,CAAmB,CAAA,CAAA,CAAA,UAAA,CACvB,CAAC,CAAE,SAAA,CAAAT,EAAW,GAAGC,CAAM,EAAGC,CACxBC,GAAAA,GAAAA,CAAC,OAAI,GAAKD,CAAAA,CAAAA,CAAK,UAAWP,CAAG,CAAA,4BAAA,CAA8BK,CAAS,CAAI,CAAA,GAAGC,EAAO,CAEtF,EACAQ,EAAW,WAAc,CAAA,YAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","/**\n * Card is a flexible container component that can be used to group related content and actions.\n * It provides a consistent visual style with a subtle border, shadow, and rounded corners.\n *\n */\nimport * as React from \"react\"\nimport { cn } from \"@/utils\"\nimport {\n CardProps,\n CardHeaderProps,\n CardTitleProps,\n CardDescriptionProps,\n CardContentProps,\n CardFooterProps\n} from \"./card.types\"\n\n/**\n * The main card container component.\n * Provides the base styling for the card including border, shadow, and rounded corners.\n * * @url https://sergii-melnykov.github.io/ui/?path=/docs/molecules-card--docs\n *\n * @example\n * ```tsx\n * // Basic card\n * <Card>\n * <CardHeader>\n * <CardTitle>Card Title</CardTitle>\n * <CardDescription>Card Description</CardDescription>\n * </CardHeader>\n * <CardContent>\n * <p>Card content goes here.</p>\n * </CardContent>\n * <CardFooter>\n * <Button>Action</Button>\n * </CardFooter>\n * </Card>\n *\n * // Card with custom styling\n * <Card className=\"bg-primary text-primary-foreground\">\n * <CardHeader>\n * <CardTitle>Custom Styled Card</CardTitle>\n * </CardHeader>\n * <CardContent>\n * <p>This card has custom background and text colors.</p>\n * </CardContent>\n * </Card>\n * ```\n */\nconst Card = React.forwardRef<HTMLDivElement, CardProps>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"rounded-lg border bg-card text-card-foreground shadow-sm\", className)}\n {...props}\n />\n))\nCard.displayName = \"Card\"\n\n/**\n * Header section of the card.\n * Typically contains the card title and description.\n * Includes padding and spacing for consistent layout.\n */\nconst CardHeader = React.forwardRef<HTMLDivElement, CardHeaderProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"flex flex-col space-y-1.5 p-6\", className)} {...props} />\n )\n)\nCardHeader.displayName = \"CardHeader\"\n\n/**\n * Title component for the card.\n * Should be used within CardHeader.\n * Provides consistent typography styling for card titles.\n */\nconst CardTitle = React.forwardRef<HTMLParagraphElement, CardTitleProps>(\n ({ className, children, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn(\"text-2xl font-semibold leading-none tracking-tight\", className)}\n {...props}\n >\n {children}\n </h3>\n )\n)\nCardTitle.displayName = \"CardTitle\"\n\n/**\n * Description component for the card.\n * Should be used within CardHeader.\n * Provides consistent typography styling for card descriptions.\n */\nconst CardDescription = React.forwardRef<HTMLParagraphElement, CardDescriptionProps>(\n ({ className, ...props }, ref) => (\n <p ref={ref} className={cn(\"text-sm text-muted-foreground\", className)} {...props} />\n )\n)\nCardDescription.displayName = \"CardDescription\"\n\n/**\n * Main content section of the card.\n * Includes padding and removes top padding to maintain consistent spacing with the header.\n */\nconst CardContent = React.forwardRef<HTMLDivElement, CardContentProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n )\n)\nCardContent.displayName = \"CardContent\"\n\n/**\n * Footer section of the card.\n * Typically contains action buttons or additional information.\n * Includes padding and removes top padding to maintain consistent spacing with the content.\n */\nconst CardFooter = React.forwardRef<HTMLDivElement, CardFooterProps>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"flex items-center p-6 pt-0\", className)} {...props} />\n )\n)\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n"]}
@@ -1,2 +1,2 @@
1
- import*as i from'react';import*as e from'@radix-ui/react-checkbox';import {Check}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function o(...r){return twMerge(clsx(r))}var c=i.forwardRef(({className:r,...a},s)=>jsx(e.Root,{ref:s,className:o("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",r),...a,children:jsx(e.Indicator,{className:o("flex items-center justify-center text-current"),"aria-hidden":"true",children:jsx(Check,{className:"h-4 w-4"})})}));c.displayName=e.Root.displayName;export{c as Checkbox};//# sourceMappingURL=checkbox.mjs.map
2
- //# sourceMappingURL=checkbox.mjs.map
1
+ import*as i from'react';import*as e from'@radix-ui/react-checkbox';import {Check}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function o(...r){return twMerge(clsx(r))}var c=i.forwardRef(({className:r,...a},s)=>jsx(e.Root,{ref:s,className:o("peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground",r),...a,children:jsx(e.Indicator,{className:o("flex items-center justify-center text-current"),"aria-hidden":"true",children:jsx(Check,{className:"h-4 w-4"})})}));c.displayName=e.Root.displayName;export{c as Checkbox};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/checkbox/checkbox.tsx"],"names":["cn","inputs","twMerge","clsx","Checkbox","className","props","ref","jsx","Check"],"mappings":"qMAGO,SAASA,CAAMC,CAAAA,GAAAA,CAAAA,CAAsB,CAC1C,OAAOC,OAAAA,CAAQC,IAAKF,CAAAA,CAAM,CAAC,CAC7B,CCcMG,IAAAA,CAAAA,CAAiB,CACrB,CAAA,UAAA,CAAA,CAAC,CAAE,SAAAC,CAAAA,CAAAA,CAAW,GAAGC,CAAM,EAAGC,CACxBC,GAAAA,GAAAA,CAAmB,CAAlB,CAAA,IAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWP,CACT,CAAA,oQAAA,CACAK,CACF,CACC,CAAA,GAAGC,CAEJ,CAAA,QAAA,CAAAE,IAAmB,CAAlB,CAAA,SAAA,CAAA,CACC,SAAWR,CAAAA,CAAAA,CAAG,+CAA+C,CAC7D,CAAA,aAAA,CAAY,MAEZ,CAAA,QAAA,CAAAQ,IAACC,KAAA,CAAA,CAAM,SAAU,CAAA,SAAA,CAAU,EAC7B,CACF,CAAA,CAEJ,EACAL,CAAAA,CAAS,YAAgC,CAAK,CAAA,IAAA,CAAA,WAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","/**\n * Checkbox component built on top of Radix UI's Checkbox primitive.\n * Provides a customizable checkbox input with proper accessibility and keyboard navigation.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-checkbox--docs\n *\n * @example\n * ```tsx\n * <Checkbox id=\"terms\" name=\"terms\" />\n * <label htmlFor=\"terms\">Accept terms and conditions</label>\n * ```\n */\nimport * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { Check } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\nimport type { CheckboxProps } from \"./checkbox.types\"\n\nconst Checkbox = React.forwardRef<React.ElementRef<typeof CheckboxPrimitive.Root>, CheckboxProps>(\n ({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-primary shadow focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n aria-hidden=\"true\"\n >\n <Check className=\"h-4 w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n )\n)\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n"]}
@@ -1,2 +1,2 @@
1
- import*as e from'@radix-ui/react-collapsible';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {forwardRef}from'react';import {jsx}from'react/jsx-runtime';function i(...o){return twMerge(clsx(o))}var v=e.Root,p=forwardRef(({className:o,...t},l)=>jsx(e.Trigger,{ref:l,className:i("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",o),...t}));p.displayName="CollapsibleTrigger";var m=forwardRef(({className:o,...t},l)=>jsx(e.Content,{ref:l,className:i("overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down",o),...t}));m.displayName="CollapsibleContent";export{v as Collapsible,m as CollapsibleContent,p as CollapsibleTrigger};//# sourceMappingURL=collapsible.mjs.map
2
- //# sourceMappingURL=collapsible.mjs.map
1
+ import*as e from'@radix-ui/react-collapsible';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {forwardRef}from'react';import {jsx}from'react/jsx-runtime';function i(...o){return twMerge(clsx(o))}var v=e.Root,p=forwardRef(({className:o,...t},l)=>jsx(e.Trigger,{ref:l,className:i("inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50",o),...t}));p.displayName="CollapsibleTrigger";var m=forwardRef(({className:o,...t},l)=>jsx(e.Content,{ref:l,className:i("overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down",o),...t}));m.displayName="CollapsibleContent";export{v as Collapsible,m as CollapsibleContent,p as CollapsibleTrigger};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/collapsible/collapsible.tsx"],"names":["cn","inputs","twMerge","clsx","Collapsible","CollapsibleTrigger","forwardRef","className","props","ref","jsx","CollapsibleContent"],"mappings":"8KAGO,SAASA,KAAMC,CAAsB,CAAA,CAC1C,OAAOC,OAAQC,CAAAA,IAAAA,CAAKF,CAAM,CAAC,CAC7B,KCcMG,CAAmC,CAAA,CAAA,CAAA,IAAA,CAEnCC,CAAqBC,CAAAA,UAAAA,CAGzB,CAAC,CAAE,SAAA,CAAAC,EAAW,GAAGC,CAAM,EAAGC,CAC1BC,GAAAA,GAAAA,CAAsB,CAArB,CAAA,OAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWT,EACT,mTACAO,CAAAA,CACF,EACC,GAAGC,CAAAA,CACN,CACD,EACDH,EAAmB,WAAc,CAAA,oBAAA,KAE3BM,CAAqBL,CAAAA,UAAAA,CAGzB,CAAC,CAAE,SAAA,CAAAC,CAAW,CAAA,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GAC1BC,IAAsB,CAArB,CAAA,OAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWT,CACT,CAAA,uGAAA,CACAO,CACF,CACC,CAAA,GAAGC,EACN,CACD,EACDG,EAAmB,WAAc,CAAA,oBAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\nimport { cn } from \"@/utils\"\nimport { forwardRef } from \"react\"\n\n/**\n * Collapsible component that allows content to be expanded and collapsed.\n * Built on top of Radix UI's Collapsible primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-collapsible--docs\n *\n * @example\n * ```tsx\n * <Collapsible>\n * <CollapsibleTrigger>Toggle</CollapsibleTrigger>\n * <CollapsibleContent>Content</CollapsibleContent>\n * </Collapsible>\n * ```\n */\nconst Collapsible = CollapsiblePrimitive.Root\n\nconst CollapsibleTrigger = forwardRef<\n React.ElementRef<typeof CollapsiblePrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <CollapsiblePrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\",\n className\n )}\n {...props}\n />\n))\nCollapsibleTrigger.displayName = \"CollapsibleTrigger\"\n\nconst CollapsibleContent = forwardRef<\n React.ElementRef<typeof CollapsiblePrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.Content>\n>(({ className, ...props }, ref) => (\n <CollapsiblePrimitive.Content\n ref={ref}\n className={cn(\n \"overflow-hidden data-[state=closed]:animate-collapsible-up data-[state=open]:animate-collapsible-down\",\n className\n )}\n {...props}\n />\n))\nCollapsibleContent.displayName = \"CollapsibleContent\"\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n"]}
@@ -1,2 +1,2 @@
1
- import*as d from'react';import {Command}from'cmdk';import {X,Search}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import*as a from'@radix-ui/react-dialog';import {jsx,jsxs}from'react/jsx-runtime';function m(...e){return twMerge(clsx(e))}var f=a.Root;var k=a.Portal;var g=d.forwardRef(({className:e,...t},o)=>jsx(a.Overlay,{ref:o,className:m("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));g.displayName=a.Overlay.displayName;var l=d.forwardRef(({className:e,children:t,...o},P)=>jsxs(k,{children:[jsx(g,{}),jsxs(a.Content,{ref:P,className:m("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...o,children:[t,jsxs(a.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[jsx(X,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Close"})]})]})]}));l.displayName=a.Content.displayName;var I=d.forwardRef(({className:e,...t},o)=>jsx(a.Title,{ref:o,className:m("text-lg font-semibold leading-none tracking-tight",e),...t}));I.displayName=a.Title.displayName;var E=d.forwardRef(({className:e,...t},o)=>jsx(a.Description,{ref:o,className:m("text-sm text-muted-foreground",e),...t}));E.displayName=a.Description.displayName;var c=d.forwardRef(({className:e,...t},o)=>jsx(Command,{ref:o,className:m("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));c.displayName=Command.displayName;var L=({children:e,...t})=>jsx(f,{...t,children:jsx(l,{className:"overflow-hidden p-0",children:jsx(c,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),u=d.forwardRef(({className:e,...t},o)=>jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[jsx(Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),jsx(Command.Input,{ref:o,className:m("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));u.displayName=Command.Input.displayName;var y=d.forwardRef(({className:e,...t},o)=>jsx(Command.List,{ref:o,className:m("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));y.displayName=Command.List.displayName;var C=d.forwardRef((e,t)=>jsx(Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));C.displayName=Command.Empty.displayName;var R=d.forwardRef(({className:e,...t},o)=>jsx(Command.Group,{ref:o,className:m("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));R.displayName=Command.Group.displayName;var v=d.forwardRef(({className:e,...t},o)=>jsx(Command.Separator,{ref:o,className:m("-mx-1 h-px bg-border",e),...t}));v.displayName=Command.Separator.displayName;var x=d.forwardRef(({className:e,...t},o)=>jsx(Command.Item,{ref:o,className:m("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));x.displayName=Command.Item.displayName;var D=({className:e,...t})=>jsx("span",{className:m("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});D.displayName="CommandShortcut";export{c as Command,L as CommandDialog,C as CommandEmpty,R as CommandGroup,u as CommandInput,x as CommandItem,y as CommandList,v as CommandSeparator,D as CommandShortcut};//# sourceMappingURL=command.mjs.map
2
- //# sourceMappingURL=command.mjs.map
1
+ import*as d from'react';import {Command}from'cmdk';import {X,Search}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import*as a from'@radix-ui/react-dialog';import {jsx,jsxs}from'react/jsx-runtime';function m(...e){return twMerge(clsx(e))}var f=a.Root;var k=a.Portal;var g=d.forwardRef(({className:e,...t},o)=>jsx(a.Overlay,{ref:o,className:m("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));g.displayName=a.Overlay.displayName;var l=d.forwardRef(({className:e,children:t,...o},P)=>jsxs(k,{children:[jsx(g,{}),jsxs(a.Content,{ref:P,className:m("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",e),...o,children:[t,jsxs(a.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[jsx(X,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Close"})]})]})]}));l.displayName=a.Content.displayName;var I=d.forwardRef(({className:e,...t},o)=>jsx(a.Title,{ref:o,className:m("text-lg font-semibold leading-none tracking-tight",e),...t}));I.displayName=a.Title.displayName;var E=d.forwardRef(({className:e,...t},o)=>jsx(a.Description,{ref:o,className:m("text-sm text-muted-foreground",e),...t}));E.displayName=a.Description.displayName;var c=d.forwardRef(({className:e,...t},o)=>jsx(Command,{ref:o,className:m("flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground",e),...t}));c.displayName=Command.displayName;var L=({children:e,...t})=>jsx(f,{...t,children:jsx(l,{className:"overflow-hidden p-0",children:jsx(c,{className:"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5",children:e})})}),u=d.forwardRef(({className:e,...t},o)=>jsxs("div",{className:"flex items-center border-b px-3","cmdk-input-wrapper":"",children:[jsx(Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),jsx(Command.Input,{ref:o,className:m("flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));u.displayName=Command.Input.displayName;var y=d.forwardRef(({className:e,...t},o)=>jsx(Command.List,{ref:o,className:m("max-h-[300px] overflow-y-auto overflow-x-hidden",e),...t}));y.displayName=Command.List.displayName;var C=d.forwardRef((e,t)=>jsx(Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));C.displayName=Command.Empty.displayName;var R=d.forwardRef(({className:e,...t},o)=>jsx(Command.Group,{ref:o,className:m("overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",e),...t}));R.displayName=Command.Group.displayName;var v=d.forwardRef(({className:e,...t},o)=>jsx(Command.Separator,{ref:o,className:m("-mx-1 h-px bg-border",e),...t}));v.displayName=Command.Separator.displayName;var x=d.forwardRef(({className:e,...t},o)=>jsx(Command.Item,{ref:o,className:m("relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",e),...t}));x.displayName=Command.Item.displayName;var D=({className:e,...t})=>jsx("span",{className:m("ml-auto text-xs tracking-widest text-muted-foreground",e),...t});D.displayName="CommandShortcut";export{c as Command,L as CommandDialog,C as CommandEmpty,R as CommandGroup,u as CommandInput,x as CommandItem,y as CommandList,v as CommandSeparator,D as CommandShortcut};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/dialog/dialog.tsx","../../src/components/atoms/command/command.tsx"],"names":["cn","inputs","twMerge","clsx","Dialog","DialogPortal","DialogOverlay","s","className","props","ref","jsx","DialogContent","children","jsxs","X","DialogTitle","DialogDescription","Command","CommandPrimitive","CommandDialog","CommandInput","Search","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut"],"mappings":"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","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { X } from \"lucide-react\"\nimport { cn } from \"@/utils\"\n\n/**\n * Dialog component for creating accessible dialogs with overlay and content.\n * Built on top of Radix UI's Dialog primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-dialog--docs\n *\n * @example\n * ```tsx\n * <Dialog>\n * <DialogTrigger>Open Dialog</DialogTrigger>\n * <DialogContent>Dialog Content</DialogContent>\n * </Dialog>\n */\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(\"flex flex-col space-y-1.5 text-center sm:text-left\", className)} {...props} />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\", className)}\n {...props}\n />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription\n}\n","import * as React from \"react\"\nimport { Command as CommandPrimitive } from \"cmdk\"\nimport { Search } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\nimport { Dialog, DialogContent } from \"@/components/atoms/dialog\"\nimport {\n type CommandProps,\n type CommandRef,\n type CommandDialogProps,\n type CommandInputProps,\n type CommandInputRef,\n type CommandListProps,\n type CommandListRef,\n type CommandEmptyProps,\n type CommandEmptyRef,\n type CommandGroupProps,\n type CommandGroupRef,\n type CommandSeparatorProps,\n type CommandSeparatorRef,\n type CommandItemProps,\n type CommandItemRef,\n type CommandShortcutProps\n} from \"./command.types\"\n\n/**\n * Command component that provides a command palette interface.\n * Built on top of cmdk and Radix UI's Dialog primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-command--docs\n *\n * @example\n * ```tsx\n * <Command>\n * <CommandInput placeholder=\"Search...\" />\n * <CommandList>\n * <CommandEmpty>No results found.</CommandEmpty>\n * <CommandGroup heading=\"Suggestions\">\n * <CommandItem>Calendar</CommandItem>\n * <CommandItem>Search</CommandItem>\n * </CommandGroup>\n * </CommandList>\n * </Command>\n * ```\n */\nconst Command = React.forwardRef<CommandRef, CommandProps>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className\n )}\n {...props}\n />\n))\nCommand.displayName = CommandPrimitive.displayName\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\nconst CommandInput = React.forwardRef<CommandInputRef, CommandInputProps>(\n ({ className, ...props }, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n </div>\n )\n)\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<CommandListRef, CommandListProps>(\n ({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n )\n)\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<CommandEmptyRef, CommandEmptyProps>((props, ref) => (\n <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-sm\" {...props} />\n))\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<CommandGroupRef, CommandGroupProps>(\n ({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n)\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<CommandSeparatorRef, CommandSeparatorProps>(\n ({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n )\n)\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<CommandItemRef, CommandItemProps>(\n ({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className\n )}\n {...props}\n />\n )\n)\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({ className, ...props }: CommandShortcutProps) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest text-muted-foreground\", className)}\n {...props}\n />\n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator\n}\n"]}
@@ -0,0 +1,33 @@
1
+ import * as React from 'react';
2
+
3
+ interface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {
4
+ /**
5
+ * The maximum width of the container.
6
+ * - "sm": 640px
7
+ * - "md": 768px
8
+ * - "lg": 1024px
9
+ * - "xl": 1280px
10
+ * - "full": 100%
11
+ * - false: No max-width (fluid)
12
+ *
13
+ * @default "lg"
14
+ */
15
+ maxWidth?: "sm" | "md" | "lg" | "xl" | "full" | false;
16
+ /**
17
+ * Whether to disable the default horizontal padding.
18
+ * When true, removes the default padding (px-4 sm:px-6 lg:px-8).
19
+ *
20
+ * @default false
21
+ */
22
+ disablePadding?: boolean;
23
+ /**
24
+ * Whether to make the container fluid (no max-width).
25
+ * When true, the container will expand to fill its parent's width.
26
+ *
27
+ * @default false
28
+ */
29
+ fluid?: boolean;
30
+ }
31
+ declare const Container: React.ForwardRefExoticComponent<ContainerProps & React.RefAttributes<HTMLDivElement>>;
32
+
33
+ export { Container, type ContainerProps };
@@ -1,2 +1,2 @@
1
- import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import*as o from'react';import {jsx}from'react/jsx-runtime';function l(...r){return twMerge(clsx(r))}var p=o.forwardRef(({className:r,maxWidth:e="lg",disablePadding:a=false,fluid:n=false,...s},t)=>jsx("div",{ref:t,className:l("mx-auto w-full",!a&&"px-4 sm:px-6 lg:px-8",!n&&{"max-w-screen-sm":e==="sm","max-w-screen-md":e==="md","max-w-screen-lg":e==="lg","max-w-screen-xl":e==="xl","max-w-full":e==="full"},r),...s}));p.displayName="Container";export{p as Container};//# sourceMappingURL=container.mjs.map
2
- //# sourceMappingURL=container.mjs.map
1
+ import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import*as o from'react';import {jsx}from'react/jsx-runtime';function l(...r){return twMerge(clsx(r))}var p=o.forwardRef(({className:r,maxWidth:e="lg",disablePadding:a=false,fluid:n=false,...s},t)=>jsx("div",{ref:t,className:l("mx-auto w-full",!a&&"px-4 sm:px-6 lg:px-8",!n&&{"max-w-screen-sm":e==="sm","max-w-screen-md":e==="md","max-w-screen-lg":e==="lg","max-w-screen-xl":e==="xl","max-w-full":e==="full"},r),...s}));p.displayName="Container";export{p as Container};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/container/container.tsx"],"names":["cn","inputs","twMerge","clsx","Container","className","maxWidth","disablePadding","fluid","props","ref","jsx"],"mappings":"yHAGO,SAASA,CAAMC,CAAAA,GAAAA,CAAAA,CAAsB,CAC1C,OAAOC,OAAAA,CAAQC,KAAKF,CAAM,CAAC,CAC7B,CCyDMG,IAAAA,CAAAA,CAAkB,aACtB,CAAC,CAAE,SAAAC,CAAAA,CAAAA,CAAW,SAAAC,CAAW,CAAA,IAAA,CAAM,eAAAC,CAAiB,CAAA,KAAA,CAAO,MAAAC,CAAQ,CAAA,KAAA,CAAO,GAAGC,CAAM,EAAGC,CAE9EC,GAAAA,GAAAA,CAAC,KACC,CAAA,CAAA,GAAA,CAAKD,EACL,SAAWV,CAAAA,CAAAA,CAET,gBAEA,CAAA,CAACO,GAAkB,sBAEnB,CAAA,CAACC,GAAS,CACR,iBAAA,CAAmBF,IAAa,IAChC,CAAA,iBAAA,CAAmBA,CAAa,GAAA,IAAA,CAChC,kBAAmBA,CAAa,GAAA,IAAA,CAChC,iBAAmBA,CAAAA,CAAAA,GAAa,KAChC,YAAcA,CAAAA,CAAAA,GAAa,MAC7B,CAAA,CACAD,CACF,CACC,CAAA,GAAGI,EACN,CAGN,EAEAL,EAAU,WAAc,CAAA,WAAA","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","/**\n * Container is a layout component that provides a centered, max-width wrapper for content.\n * It's designed to create consistent horizontal padding and maximum widths across different screen sizes.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-container--docs\n *\n * @example\n * ```tsx\n * // Basic usage\n * <Container>\n * <h1>Page Title</h1>\n * <p>Content goes here...</p>\n * </Container>\n *\n * // With custom max width\n * <Container maxWidth=\"xl\">\n * <h1>Wider Content</h1>\n * </Container>\n *\n * // Fluid container (no max-width)\n * <Container fluid>\n * <h1>Full Width Content</h1>\n * </Container>\n *\n * // Without padding\n * <Container disablePadding>\n * <h1>No Padding Content</h1>\n * </Container>\n * ```\n */\nimport { cn } from \"@/utils\"\nimport * as React from \"react\"\n\nexport interface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {\n /**\n * The maximum width of the container.\n * - \"sm\": 640px\n * - \"md\": 768px\n * - \"lg\": 1024px\n * - \"xl\": 1280px\n * - \"full\": 100%\n * - false: No max-width (fluid)\n *\n * @default \"lg\"\n */\n maxWidth?: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\" | false\n /**\n * Whether to disable the default horizontal padding.\n * When true, removes the default padding (px-4 sm:px-6 lg:px-8).\n *\n * @default false\n */\n disablePadding?: boolean\n /**\n * Whether to make the container fluid (no max-width).\n * When true, the container will expand to fill its parent's width.\n *\n * @default false\n */\n fluid?: boolean\n}\n\nconst Container = React.forwardRef<HTMLDivElement, ContainerProps>(\n ({ className, maxWidth = \"lg\", disablePadding = false, fluid = false, ...props }, ref) => {\n return (\n <div\n ref={ref}\n className={cn(\n // Base styles\n \"mx-auto w-full\",\n // Padding\n !disablePadding && \"px-4 sm:px-6 lg:px-8\",\n // Max width\n !fluid && {\n \"max-w-screen-sm\": maxWidth === \"sm\",\n \"max-w-screen-md\": maxWidth === \"md\",\n \"max-w-screen-lg\": maxWidth === \"lg\",\n \"max-w-screen-xl\": maxWidth === \"xl\",\n \"max-w-full\": maxWidth === \"full\"\n },\n className\n )}\n {...props}\n />\n )\n }\n)\n\nContainer.displayName = \"Container\"\n\nexport { Container }\n"]}
@@ -1,2 +1,2 @@
1
- import*as s from'react';import*as e from'@radix-ui/react-dialog';import {X}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs}from'react/jsx-runtime';function i(...t){return twMerge(clsx(t))}var w=e.Root,h=e.Trigger,p=e.Portal,E=e.Close,n=s.forwardRef(({className:t,...a},l)=>jsx(e.Overlay,{ref:l,className:i("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a}));n.displayName=e.Overlay.displayName;var g=s.forwardRef(({className:t,children:a,...l},m)=>jsxs(p,{children:[jsx(n,{}),jsxs(e.Content,{ref:m,className:i("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...l,children:[a,jsxs(e.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[jsx(X,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Close"})]})]})]}));g.displayName=e.Content.displayName;var D=({className:t,...a})=>jsx("div",{className:i("flex flex-col space-y-1.5 text-center sm:text-left",t),...a});D.displayName="DialogHeader";var v=({className:t,...a})=>jsx("div",{className:i("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a});v.displayName="DialogFooter";var u=s.forwardRef(({className:t,...a},l)=>jsx(e.Title,{ref:l,className:i("text-lg font-semibold leading-none tracking-tight",t),...a}));u.displayName=e.Title.displayName;var y=s.forwardRef(({className:t,...a},l)=>jsx(e.Description,{ref:l,className:i("text-sm text-muted-foreground",t),...a}));y.displayName=e.Description.displayName;export{w as Dialog,E as DialogClose,g as DialogContent,y as DialogDescription,v as DialogFooter,D as DialogHeader,n as DialogOverlay,p as DialogPortal,u as DialogTitle,h as DialogTrigger};//# sourceMappingURL=dialog.mjs.map
2
- //# sourceMappingURL=dialog.mjs.map
1
+ import*as s from'react';import*as e from'@radix-ui/react-dialog';import {X}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs}from'react/jsx-runtime';function i(...t){return twMerge(clsx(t))}var w=e.Root,h=e.Trigger,p=e.Portal,E=e.Close,n=s.forwardRef(({className:t,...a},l)=>jsx(e.Overlay,{ref:l,className:i("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",t),...a}));n.displayName=e.Overlay.displayName;var g=s.forwardRef(({className:t,children:a,...l},m)=>jsxs(p,{children:[jsx(n,{}),jsxs(e.Content,{ref:m,className:i("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg",t),...l,children:[a,jsxs(e.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground",children:[jsx(X,{className:"h-4 w-4"}),jsx("span",{className:"sr-only",children:"Close"})]})]})]}));g.displayName=e.Content.displayName;var D=({className:t,...a})=>jsx("div",{className:i("flex flex-col space-y-1.5 text-center sm:text-left",t),...a});D.displayName="DialogHeader";var v=({className:t,...a})=>jsx("div",{className:i("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",t),...a});v.displayName="DialogFooter";var u=s.forwardRef(({className:t,...a},l)=>jsx(e.Title,{ref:l,className:i("text-lg font-semibold leading-none tracking-tight",t),...a}));u.displayName=e.Title.displayName;var y=s.forwardRef(({className:t,...a},l)=>jsx(e.Description,{ref:l,className:i("text-sm text-muted-foreground",t),...a}));y.displayName=e.Description.displayName;export{w as Dialog,E as DialogClose,g as DialogContent,y as DialogDescription,v as DialogFooter,D as DialogHeader,n as DialogOverlay,p as DialogPortal,u as DialogTitle,h as DialogTrigger};//# sourceMappingURL=index.mjs.map
2
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/dialog/dialog.tsx"],"names":["cn","inputs","twMerge","clsx","Dialog","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","className","props","ref","jsx","DialogContent","children","jsxs","X","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":"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","file":"index.mjs","sourcesContent":["import { type ClassValue, clsx } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { X } from \"lucide-react\"\nimport { cn } from \"@/utils\"\n\n/**\n * Dialog component for creating accessible dialogs with overlay and content.\n * Built on top of Radix UI's Dialog primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-dialog--docs\n *\n * @example\n * ```tsx\n * <Dialog>\n * <DialogTrigger>Open Dialog</DialogTrigger>\n * <DialogContent>Dialog Content</DialogContent>\n * </Dialog>\n */\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn(\"flex flex-col space-y-1.5 text-center sm:text-left\", className)} {...props} />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\", className)}\n {...props}\n />\n)\nDialogFooter.displayName = \"DialogFooter\"\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold leading-none tracking-tight\", className)}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription\n}\n"]}