@me1a/ui 2.2.0 → 2.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (376) hide show
  1. package/dist/atoms/accordion.d.mts +94 -0
  2. package/dist/atoms/accordion.d.ts +94 -0
  3. package/dist/atoms/accordion.js +2 -0
  4. package/dist/atoms/accordion.js.map +1 -0
  5. package/dist/atoms/accordion.mjs +2 -0
  6. package/dist/atoms/accordion.mjs.map +1 -0
  7. package/dist/atoms/avatar.d.mts +34 -0
  8. package/dist/atoms/avatar.d.ts +34 -0
  9. package/dist/atoms/avatar.js +2 -0
  10. package/dist/atoms/avatar.js.map +1 -0
  11. package/dist/atoms/avatar.mjs +2 -0
  12. package/dist/atoms/avatar.mjs.map +1 -0
  13. package/dist/atoms/badge.d.mts +40 -0
  14. package/dist/atoms/badge.d.ts +40 -0
  15. package/dist/atoms/badge.js +2 -0
  16. package/dist/atoms/badge.js.map +1 -0
  17. package/dist/atoms/badge.mjs +2 -0
  18. package/dist/atoms/badge.mjs.map +1 -0
  19. package/dist/atoms/box.d.mts +50 -0
  20. package/dist/atoms/box.d.ts +50 -0
  21. package/dist/atoms/box.js +2 -0
  22. package/dist/atoms/box.js.map +1 -0
  23. package/dist/atoms/box.mjs +2 -0
  24. package/dist/atoms/box.mjs.map +1 -0
  25. package/dist/atoms/breadcrumb.d.mts +35 -0
  26. package/dist/atoms/breadcrumb.d.ts +35 -0
  27. package/dist/atoms/breadcrumb.js +2 -0
  28. package/dist/atoms/breadcrumb.js.map +1 -0
  29. package/dist/atoms/breadcrumb.mjs +2 -0
  30. package/dist/atoms/breadcrumb.mjs.map +1 -0
  31. package/dist/{tooltip-B4jzaurK.d.mts → atoms/button.d.mts} +1 -23
  32. package/dist/{tooltip-B4jzaurK.d.ts → atoms/button.d.ts} +1 -23
  33. package/dist/atoms/button.js +2 -0
  34. package/dist/atoms/button.js.map +1 -0
  35. package/dist/atoms/button.mjs +2 -0
  36. package/dist/atoms/button.mjs.map +1 -0
  37. package/dist/atoms/checkbox.d.mts +21 -0
  38. package/dist/atoms/checkbox.d.ts +21 -0
  39. package/dist/atoms/checkbox.js +2 -0
  40. package/dist/atoms/checkbox.js.map +1 -0
  41. package/dist/atoms/checkbox.mjs +2 -0
  42. package/dist/atoms/checkbox.mjs.map +1 -0
  43. package/dist/atoms/collapsible.d.mts +26 -0
  44. package/dist/atoms/collapsible.d.ts +26 -0
  45. package/dist/atoms/collapsible.js +2 -0
  46. package/dist/atoms/collapsible.js.map +1 -0
  47. package/dist/atoms/collapsible.mjs +2 -0
  48. package/dist/atoms/collapsible.mjs.map +1 -0
  49. package/dist/atoms/command.d.mts +122 -0
  50. package/dist/atoms/command.d.ts +122 -0
  51. package/dist/atoms/command.js +2 -0
  52. package/dist/atoms/command.js.map +1 -0
  53. package/dist/atoms/command.mjs +2 -0
  54. package/dist/atoms/command.mjs.map +1 -0
  55. package/dist/atoms/container.js +2 -0
  56. package/dist/atoms/container.js.map +1 -0
  57. package/dist/atoms/container.mjs +2 -0
  58. package/dist/atoms/container.mjs.map +1 -0
  59. package/dist/atoms/dialog.d.mts +35 -0
  60. package/dist/atoms/dialog.d.ts +35 -0
  61. package/dist/atoms/dialog.js +2 -0
  62. package/dist/atoms/dialog.js.map +1 -0
  63. package/dist/atoms/dialog.mjs +2 -0
  64. package/dist/atoms/dialog.mjs.map +1 -0
  65. package/dist/atoms/input.d.mts +12 -0
  66. package/dist/atoms/input.d.ts +12 -0
  67. package/dist/atoms/input.js +2 -0
  68. package/dist/atoms/input.js.map +1 -0
  69. package/dist/atoms/input.mjs +2 -0
  70. package/dist/atoms/input.mjs.map +1 -0
  71. package/dist/atoms/label.d.mts +18 -0
  72. package/dist/atoms/label.d.ts +18 -0
  73. package/dist/atoms/label.js +2 -0
  74. package/dist/atoms/label.js.map +1 -0
  75. package/dist/atoms/label.mjs +2 -0
  76. package/dist/atoms/label.mjs.map +1 -0
  77. package/dist/atoms/page-loader.d.mts +29 -0
  78. package/dist/atoms/page-loader.d.ts +29 -0
  79. package/dist/atoms/page-loader.js +2 -0
  80. package/dist/atoms/page-loader.js.map +1 -0
  81. package/dist/atoms/page-loader.mjs +2 -0
  82. package/dist/atoms/page-loader.mjs.map +1 -0
  83. package/dist/atoms/pagination.d.mts +105 -0
  84. package/dist/atoms/pagination.d.ts +105 -0
  85. package/dist/atoms/pagination.js +2 -0
  86. package/dist/atoms/pagination.js.map +1 -0
  87. package/dist/atoms/pagination.mjs +2 -0
  88. package/dist/atoms/pagination.mjs.map +1 -0
  89. package/dist/atoms/popover.d.mts +30 -0
  90. package/dist/atoms/popover.d.ts +30 -0
  91. package/dist/atoms/popover.js +2 -0
  92. package/dist/atoms/popover.js.map +1 -0
  93. package/dist/atoms/popover.mjs +2 -0
  94. package/dist/atoms/popover.mjs.map +1 -0
  95. package/dist/{checkbox-DxgDKaHx.d.mts → atoms/radio-group.d.mts} +4 -50
  96. package/dist/{checkbox-DxgDKaHx.d.ts → atoms/radio-group.d.ts} +4 -50
  97. package/dist/atoms/radio-group.js +2 -0
  98. package/dist/atoms/radio-group.js.map +1 -0
  99. package/dist/atoms/radio-group.mjs +2 -0
  100. package/dist/atoms/radio-group.mjs.map +1 -0
  101. package/dist/atoms/resizable.d.mts +53 -0
  102. package/dist/atoms/resizable.d.ts +53 -0
  103. package/dist/atoms/resizable.js +2 -0
  104. package/dist/atoms/resizable.js.map +1 -0
  105. package/dist/atoms/resizable.mjs +2 -0
  106. package/dist/atoms/resizable.mjs.map +1 -0
  107. package/dist/atoms/separator.d.mts +13 -0
  108. package/dist/atoms/separator.d.ts +13 -0
  109. package/dist/atoms/separator.js +2 -0
  110. package/dist/atoms/separator.js.map +1 -0
  111. package/dist/atoms/separator.mjs +2 -0
  112. package/dist/atoms/separator.mjs.map +1 -0
  113. package/dist/atoms/sheet.d.mts +42 -0
  114. package/dist/atoms/sheet.d.ts +42 -0
  115. package/dist/atoms/sheet.js +2 -0
  116. package/dist/atoms/sheet.js.map +1 -0
  117. package/dist/atoms/sheet.mjs +2 -0
  118. package/dist/atoms/sheet.mjs.map +1 -0
  119. package/dist/atoms/skeleton.js +2 -0
  120. package/dist/atoms/skeleton.js.map +1 -0
  121. package/dist/atoms/skeleton.mjs +2 -0
  122. package/dist/atoms/skeleton.mjs.map +1 -0
  123. package/dist/atoms/stack.d.mts +121 -0
  124. package/dist/atoms/stack.d.ts +121 -0
  125. package/dist/atoms/stack.js +2 -0
  126. package/dist/atoms/stack.js.map +1 -0
  127. package/dist/atoms/stack.mjs +2 -0
  128. package/dist/atoms/stack.mjs.map +1 -0
  129. package/dist/atoms/switch.d.mts +21 -0
  130. package/dist/atoms/switch.d.ts +21 -0
  131. package/dist/atoms/switch.js +2 -0
  132. package/dist/atoms/switch.js.map +1 -0
  133. package/dist/atoms/switch.mjs +2 -0
  134. package/dist/atoms/switch.mjs.map +1 -0
  135. package/dist/atoms/table.d.mts +53 -0
  136. package/dist/atoms/table.d.ts +53 -0
  137. package/dist/atoms/table.js +2 -0
  138. package/dist/atoms/table.js.map +1 -0
  139. package/dist/atoms/table.mjs +2 -0
  140. package/dist/atoms/table.mjs.map +1 -0
  141. package/dist/atoms/text-field.d.mts +65 -0
  142. package/dist/atoms/text-field.d.ts +65 -0
  143. package/dist/atoms/text-field.js +2 -0
  144. package/dist/atoms/text-field.js.map +1 -0
  145. package/dist/atoms/text-field.mjs +2 -0
  146. package/dist/atoms/text-field.mjs.map +1 -0
  147. package/dist/atoms/textarea.js +2 -0
  148. package/dist/atoms/textarea.js.map +1 -0
  149. package/dist/atoms/textarea.mjs +2 -0
  150. package/dist/atoms/textarea.mjs.map +1 -0
  151. package/dist/{toast-2xT7L1tJ.d.mts → atoms/toast.d.mts} +1 -1
  152. package/dist/{toast-2xT7L1tJ.d.ts → atoms/toast.d.ts} +1 -1
  153. package/dist/atoms/toast.js +2 -0
  154. package/dist/atoms/toast.js.map +1 -0
  155. package/dist/atoms/toast.mjs +2 -0
  156. package/dist/atoms/toast.mjs.map +1 -0
  157. package/dist/atoms/toaster.d.mts +26 -0
  158. package/dist/atoms/toaster.d.ts +26 -0
  159. package/dist/atoms/toaster.js +2 -0
  160. package/dist/atoms/toaster.js.map +1 -0
  161. package/dist/atoms/toaster.mjs +2 -0
  162. package/dist/atoms/toaster.mjs.map +1 -0
  163. package/dist/atoms/tooltip.d.mts +25 -0
  164. package/dist/atoms/tooltip.d.ts +25 -0
  165. package/dist/atoms/tooltip.js +2 -0
  166. package/dist/atoms/tooltip.js.map +1 -0
  167. package/dist/atoms/tooltip.mjs +2 -0
  168. package/dist/atoms/tooltip.mjs.map +1 -0
  169. package/dist/atoms/typography.d.mts +24 -0
  170. package/dist/atoms/typography.d.ts +24 -0
  171. package/dist/atoms/typography.js +2 -0
  172. package/dist/atoms/typography.js.map +1 -0
  173. package/dist/atoms/typography.mjs +2 -0
  174. package/dist/atoms/typography.mjs.map +1 -0
  175. package/dist/atoms.d.mts +213 -27
  176. package/dist/atoms.d.ts +213 -27
  177. package/dist/atoms.js +2 -0
  178. package/dist/atoms.js.map +1 -0
  179. package/dist/atoms.mjs +2 -0
  180. package/dist/atoms.mjs.map +1 -0
  181. package/dist/hooks.d.mts +10 -4
  182. package/dist/hooks.d.ts +10 -4
  183. package/dist/hooks.js +2 -0
  184. package/dist/hooks.js.map +1 -0
  185. package/dist/hooks.mjs +2 -0
  186. package/dist/hooks.mjs.map +1 -0
  187. package/dist/index.d.mts +2619 -30
  188. package/dist/index.d.ts +2619 -30
  189. package/dist/index.js +2 -0
  190. package/dist/index.js.map +1 -0
  191. package/dist/index.mjs +2 -0
  192. package/dist/index.mjs.map +1 -0
  193. package/dist/molecules/card.d.mts +72 -0
  194. package/dist/molecules/card.d.ts +72 -0
  195. package/dist/molecules/card.js +2 -0
  196. package/dist/molecules/card.js.map +1 -0
  197. package/dist/molecules/card.mjs +2 -0
  198. package/dist/molecules/card.mjs.map +1 -0
  199. package/dist/molecules/navigation-menu.d.mts +103 -0
  200. package/dist/molecules/navigation-menu.d.ts +103 -0
  201. package/dist/molecules/navigation-menu.js +2 -0
  202. package/dist/molecules/navigation-menu.js.map +1 -0
  203. package/dist/molecules/navigation-menu.mjs +2 -0
  204. package/dist/molecules/navigation-menu.mjs.map +1 -0
  205. package/dist/molecules/tabs.d.mts +32 -0
  206. package/dist/molecules/tabs.d.ts +32 -0
  207. package/dist/molecules/tabs.js +2 -0
  208. package/dist/molecules/tabs.js.map +1 -0
  209. package/dist/molecules/tabs.mjs +2 -0
  210. package/dist/molecules/tabs.mjs.map +1 -0
  211. package/dist/molecules.d.mts +1 -1
  212. package/dist/molecules.d.ts +1 -1
  213. package/dist/molecules.js +2 -0
  214. package/dist/molecules.js.map +1 -0
  215. package/dist/molecules.mjs +2 -0
  216. package/dist/molecules.mjs.map +1 -0
  217. package/dist/organisms/drawer.d.mts +63 -0
  218. package/dist/organisms/drawer.d.ts +63 -0
  219. package/dist/organisms/drawer.js +2 -0
  220. package/dist/organisms/drawer.js.map +1 -0
  221. package/dist/organisms/drawer.mjs +2 -0
  222. package/dist/organisms/drawer.mjs.map +1 -0
  223. package/dist/organisms/dropdown-menu.d.mts +335 -0
  224. package/dist/organisms/dropdown-menu.d.ts +335 -0
  225. package/dist/organisms/dropdown-menu.js +2 -0
  226. package/dist/organisms/dropdown-menu.js.map +1 -0
  227. package/dist/organisms/dropdown-menu.mjs +2 -0
  228. package/dist/organisms/dropdown-menu.mjs.map +1 -0
  229. package/dist/organisms/sidebar.d.mts +328 -0
  230. package/dist/organisms/sidebar.d.ts +328 -0
  231. package/dist/organisms/sidebar.js +2 -0
  232. package/dist/organisms/sidebar.js.map +1 -0
  233. package/dist/organisms/sidebar.mjs +2 -0
  234. package/dist/organisms/sidebar.mjs.map +1 -0
  235. package/dist/organisms.d.mts +56 -12
  236. package/dist/organisms.d.ts +56 -12
  237. package/dist/organisms.js +2 -0
  238. package/dist/organisms.js.map +1 -0
  239. package/dist/organisms.mjs +2 -0
  240. package/dist/organisms.mjs.map +1 -0
  241. package/dist/rhf/form.d.mts +96 -0
  242. package/dist/rhf/form.d.ts +96 -0
  243. package/dist/rhf/form.js +2 -0
  244. package/dist/rhf/form.js.map +1 -0
  245. package/dist/rhf/form.mjs +2 -0
  246. package/dist/rhf/form.mjs.map +1 -0
  247. package/dist/rhf/rhf-checkbox.d.mts +57 -0
  248. package/dist/rhf/rhf-checkbox.d.ts +57 -0
  249. package/dist/rhf/rhf-checkbox.js +2 -0
  250. package/dist/rhf/rhf-checkbox.js.map +1 -0
  251. package/dist/rhf/rhf-checkbox.mjs +2 -0
  252. package/dist/rhf/rhf-checkbox.mjs.map +1 -0
  253. package/dist/rhf/rhf-multi-select.d.mts +84 -0
  254. package/dist/rhf/rhf-multi-select.d.ts +84 -0
  255. package/dist/rhf/rhf-multi-select.js +2 -0
  256. package/dist/rhf/rhf-multi-select.js.map +1 -0
  257. package/dist/rhf/rhf-multi-select.mjs +2 -0
  258. package/dist/rhf/rhf-multi-select.mjs.map +1 -0
  259. package/dist/rhf/rhf-radio-button-group.d.mts +73 -0
  260. package/dist/rhf/rhf-radio-button-group.d.ts +73 -0
  261. package/dist/rhf/rhf-radio-button-group.js +2 -0
  262. package/dist/rhf/rhf-radio-button-group.js.map +1 -0
  263. package/dist/rhf/rhf-radio-button-group.mjs +2 -0
  264. package/dist/rhf/rhf-radio-button-group.mjs.map +1 -0
  265. package/dist/rhf/rhf-radio-group.d.mts +103 -0
  266. package/dist/rhf/rhf-radio-group.d.ts +103 -0
  267. package/dist/rhf/rhf-radio-group.js +2 -0
  268. package/dist/rhf/rhf-radio-group.js.map +1 -0
  269. package/dist/rhf/rhf-radio-group.mjs +2 -0
  270. package/dist/rhf/rhf-radio-group.mjs.map +1 -0
  271. package/dist/rhf/rhf-select.d.mts +80 -0
  272. package/dist/rhf/rhf-select.d.ts +80 -0
  273. package/dist/rhf/rhf-select.js +2 -0
  274. package/dist/rhf/rhf-select.js.map +1 -0
  275. package/dist/rhf/rhf-select.mjs +2 -0
  276. package/dist/rhf/rhf-select.mjs.map +1 -0
  277. package/dist/rhf/rhf-switch.d.mts +57 -0
  278. package/dist/rhf/rhf-switch.d.ts +57 -0
  279. package/dist/rhf/rhf-switch.js +2 -0
  280. package/dist/rhf/rhf-switch.js.map +1 -0
  281. package/dist/rhf/rhf-switch.mjs +2 -0
  282. package/dist/rhf/rhf-switch.mjs.map +1 -0
  283. package/dist/rhf/rhf-textarea.d.mts +66 -0
  284. package/dist/rhf/rhf-textarea.d.ts +66 -0
  285. package/dist/rhf/rhf-textarea.js +2 -0
  286. package/dist/rhf/rhf-textarea.js.map +1 -0
  287. package/dist/rhf/rhf-textarea.mjs +2 -0
  288. package/dist/rhf/rhf-textarea.mjs.map +1 -0
  289. package/dist/rhf.d.mts +213 -7
  290. package/dist/rhf.d.ts +213 -7
  291. package/dist/rhf.js +2 -0
  292. package/dist/rhf.js.map +1 -0
  293. package/dist/rhf.mjs +2 -0
  294. package/dist/rhf.mjs.map +1 -0
  295. package/dist/types.js +2 -0
  296. package/dist/{types.cjs.js.map → types.js.map} +1 -1
  297. package/dist/types.mjs +2 -0
  298. package/dist/{types.esm.js.map → types.mjs.map} +1 -1
  299. package/dist/{chunk-SL2ZUI4G.cjs.js → utils.js} +2 -2
  300. package/dist/utils.js.map +1 -0
  301. package/dist/utils.mjs +2 -0
  302. package/dist/utils.mjs.map +1 -0
  303. package/package.json +241 -15
  304. package/dist/atoms.cjs.js +0 -2
  305. package/dist/atoms.cjs.js.map +0 -1
  306. package/dist/atoms.esm.js +0 -2
  307. package/dist/atoms.esm.js.map +0 -1
  308. package/dist/chunk-23T2PH5G.esm.js +0 -2
  309. package/dist/chunk-23T2PH5G.esm.js.map +0 -1
  310. package/dist/chunk-2QG3QTSW.cjs.js +0 -2
  311. package/dist/chunk-2QG3QTSW.cjs.js.map +0 -1
  312. package/dist/chunk-C26U3FL4.esm.js +0 -2
  313. package/dist/chunk-C26U3FL4.esm.js.map +0 -1
  314. package/dist/chunk-DTM5LZHM.cjs.js +0 -2
  315. package/dist/chunk-DTM5LZHM.cjs.js.map +0 -1
  316. package/dist/chunk-HW32JE75.cjs.js +0 -2
  317. package/dist/chunk-HW32JE75.cjs.js.map +0 -1
  318. package/dist/chunk-J5A6PILI.cjs.js +0 -2
  319. package/dist/chunk-J5A6PILI.cjs.js.map +0 -1
  320. package/dist/chunk-JIRS6MWF.cjs.js +0 -2
  321. package/dist/chunk-JIRS6MWF.cjs.js.map +0 -1
  322. package/dist/chunk-JKTYFZ5M.esm.js +0 -2
  323. package/dist/chunk-JKTYFZ5M.esm.js.map +0 -1
  324. package/dist/chunk-JUZG25DH.esm.js +0 -2
  325. package/dist/chunk-JUZG25DH.esm.js.map +0 -1
  326. package/dist/chunk-KOYJODOP.cjs.js +0 -2
  327. package/dist/chunk-KOYJODOP.cjs.js.map +0 -1
  328. package/dist/chunk-M4S5YZ56.esm.js +0 -2
  329. package/dist/chunk-M4S5YZ56.esm.js.map +0 -1
  330. package/dist/chunk-MOYOCJW6.esm.js +0 -2
  331. package/dist/chunk-MOYOCJW6.esm.js.map +0 -1
  332. package/dist/chunk-MVWMLXLL.cjs.js +0 -2
  333. package/dist/chunk-MVWMLXLL.cjs.js.map +0 -1
  334. package/dist/chunk-Q76IMLQ3.esm.js +0 -2
  335. package/dist/chunk-Q76IMLQ3.esm.js.map +0 -1
  336. package/dist/chunk-SL2ZUI4G.cjs.js.map +0 -1
  337. package/dist/chunk-STRDPP3B.esm.js +0 -2
  338. package/dist/chunk-STRDPP3B.esm.js.map +0 -1
  339. package/dist/chunk-U4NMIMU7.esm.js +0 -2
  340. package/dist/chunk-U4NMIMU7.esm.js.map +0 -1
  341. package/dist/chunk-UK47BFA3.cjs.js +0 -2
  342. package/dist/chunk-UK47BFA3.cjs.js.map +0 -1
  343. package/dist/chunk-WJNYKJP6.cjs.js +0 -2
  344. package/dist/chunk-WJNYKJP6.cjs.js.map +0 -1
  345. package/dist/chunk-YEZB7AOJ.esm.js +0 -2
  346. package/dist/chunk-YEZB7AOJ.esm.js.map +0 -1
  347. package/dist/hooks.cjs.js +0 -2
  348. package/dist/hooks.cjs.js.map +0 -1
  349. package/dist/hooks.esm.js +0 -2
  350. package/dist/hooks.esm.js.map +0 -1
  351. package/dist/index.cjs.js +0 -2
  352. package/dist/index.cjs.js.map +0 -1
  353. package/dist/index.esm.js +0 -2
  354. package/dist/index.esm.js.map +0 -1
  355. package/dist/molecules.cjs.js +0 -2
  356. package/dist/molecules.cjs.js.map +0 -1
  357. package/dist/molecules.esm.js +0 -2
  358. package/dist/molecules.esm.js.map +0 -1
  359. package/dist/organisms.cjs.js +0 -2
  360. package/dist/organisms.cjs.js.map +0 -1
  361. package/dist/organisms.esm.js +0 -2
  362. package/dist/organisms.esm.js.map +0 -1
  363. package/dist/rhf.cjs.js +0 -2
  364. package/dist/rhf.cjs.js.map +0 -1
  365. package/dist/rhf.esm.js +0 -2
  366. package/dist/rhf.esm.js.map +0 -1
  367. package/dist/types.cjs.js +0 -2
  368. package/dist/types.d.mts +0 -2
  369. package/dist/types.d.ts +0 -2
  370. package/dist/types.esm.js +0 -2
  371. package/dist/utils.cjs.js +0 -2
  372. package/dist/utils.cjs.js.map +0 -1
  373. package/dist/utils.d.mts +0 -5
  374. package/dist/utils.d.ts +0 -5
  375. package/dist/utils.esm.js +0 -2
  376. package/dist/utils.esm.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/textarea/textarea.tsx"],"names":["cn","inputs","twMerge","clsx","Textarea","e","className","autoResize","props","ref","internalRef","textarea","resizeTextarea","jsx"],"mappings":"+eAGO,SAASA,CAAAA,CAAAA,GAAMC,EAAsB,CAC1C,OAAOC,qBAAQC,CAAAA,SAAAA,CAAKF,CAAM,CAAC,CAC7B,CCUMG,IAAAA,CAAAA,CAAiBC,wBACrB,CAAC,CAAE,SAAAC,CAAAA,CAAAA,CAAW,UAAAC,CAAAA,CAAAA,CAAa,MAAO,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GAAQ,CACpD,IAAMC,EAAoBL,YAA4B,CAAA,MAAA,CAAA,IAAI,CAE1D,CAAA,OAAMA,YAAU,CAAA,SAAA,CAAA,IAAM,CACpB,GAAI,CAACE,CAAc,EAAA,CAACG,CAAY,CAAA,OAAA,CAAS,OAEzC,IAAMC,CAAAA,CAAWD,CAAY,CAAA,OAAA,CACvBE,CAAiB,CAAA,IAAM,CAC3BD,CAAS,CAAA,KAAA,CAAM,MAAS,CAAA,MAAA,CACxBA,CAAS,CAAA,KAAA,CAAM,OAAS,CAAGA,EAAAA,CAAAA,CAAS,YAAY,CAAA,EAAA,EAClD,CAEA,CAAA,OAAAA,EAAS,gBAAiB,CAAA,OAAA,CAASC,CAAc,CAAA,CACjDA,CAAe,EAAA,CAER,IAAMD,CAAS,CAAA,mBAAA,CAAoB,OAASC,CAAAA,CAAc,CACnE,CAAA,CAAG,CAACL,CAAU,CAAC,CAGbM,CAAAA,cAAAA,CAAC,UACC,CAAA,CAAA,SAAA,CAAWb,EACT,2QACAM,CAAAA,CACF,CACA,CAAA,GAAA,CAAKG,CACJ,CAAA,GAAGD,EACN,CAEJ,CACF,EAEAJ,CAAAA,CAAS,WAAc,CAAA,UAAA","file":"textarea.js","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 { cn } from \"@/utils/index\"\nimport { TextareaProps } from \"./textarea.types\"\n\n/**\n * Textarea component for creating accessible text areas.\n * Built on top of shadcn/ui's Textarea component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-textarea--docs\n *\n * @example\n * ```tsx\n * <Textarea placeholder=\"Enter text\" />\n * ```\n */\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, autoResize = false, ...props }, ref) => {\n const internalRef = React.useRef<HTMLTextAreaElement>(null)\n\n React.useEffect(() => {\n if (!autoResize || !internalRef.current) return\n\n const textarea = internalRef.current\n const resizeTextarea = () => {\n textarea.style.height = \"auto\"\n textarea.style.height = `${textarea.scrollHeight}px`\n }\n\n textarea.addEventListener(\"input\", resizeTextarea)\n resizeTextarea() // Initial resize\n\n return () => textarea.removeEventListener(\"input\", resizeTextarea)\n }, [autoResize])\n\n return (\n <textarea\n className={cn(\n \"flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\n\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea }\n"]}
@@ -0,0 +1,2 @@
1
+ import*as e 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 c=e.forwardRef(({className:r,autoResize:n=false,...i},l)=>{let s=e.useRef(null);return e.useEffect(()=>{if(!n||!s.current)return;let t=s.current,a=()=>{t.style.height="auto",t.style.height=`${t.scrollHeight}px`;};return t.addEventListener("input",a),a(),()=>t.removeEventListener("input",a)},[n]),jsx("textarea",{className:o("flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",r),ref:l,...i})});c.displayName="Textarea";export{c as Textarea};//# sourceMappingURL=textarea.mjs.map
2
+ //# sourceMappingURL=textarea.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/textarea/textarea.tsx"],"names":["cn","inputs","twMerge","clsx","Textarea","className","autoResize","props","ref","internalRef","textarea","resizeTextarea","jsx"],"mappings":"yHAGO,SAASA,CAAAA,CAAAA,GAAMC,EAAsB,CAC1C,OAAOC,OAAQC,CAAAA,IAAAA,CAAKF,CAAM,CAAC,CAC7B,CCUMG,IAAAA,CAAAA,CAAiB,aACrB,CAAC,CAAE,SAAAC,CAAAA,CAAAA,CAAW,UAAAC,CAAAA,CAAAA,CAAa,MAAO,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GAAQ,CACpD,IAAMC,EAAoB,CAA4B,CAAA,MAAA,CAAA,IAAI,CAE1D,CAAA,OAAM,CAAU,CAAA,SAAA,CAAA,IAAM,CACpB,GAAI,CAACH,CAAc,EAAA,CAACG,CAAY,CAAA,OAAA,CAAS,OAEzC,IAAMC,CAAAA,CAAWD,CAAY,CAAA,OAAA,CACvBE,CAAiB,CAAA,IAAM,CAC3BD,CAAS,CAAA,KAAA,CAAM,MAAS,CAAA,MAAA,CACxBA,CAAS,CAAA,KAAA,CAAM,OAAS,CAAGA,EAAAA,CAAAA,CAAS,YAAY,CAAA,EAAA,EAClD,CAEA,CAAA,OAAAA,EAAS,gBAAiB,CAAA,OAAA,CAASC,CAAc,CAAA,CACjDA,CAAe,EAAA,CAER,IAAMD,CAAS,CAAA,mBAAA,CAAoB,OAASC,CAAAA,CAAc,CACnE,CAAA,CAAG,CAACL,CAAU,CAAC,CAGbM,CAAAA,GAAAA,CAAC,UACC,CAAA,CAAA,SAAA,CAAWZ,EACT,2QACAK,CAAAA,CACF,CACA,CAAA,GAAA,CAAKG,CACJ,CAAA,GAAGD,EACN,CAEJ,CACF,EAEAH,CAAAA,CAAS,WAAc,CAAA,UAAA","file":"textarea.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 { cn } from \"@/utils/index\"\nimport { TextareaProps } from \"./textarea.types\"\n\n/**\n * Textarea component for creating accessible text areas.\n * Built on top of shadcn/ui's Textarea component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-textarea--docs\n *\n * @example\n * ```tsx\n * <Textarea placeholder=\"Enter text\" />\n * ```\n */\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, autoResize = false, ...props }, ref) => {\n const internalRef = React.useRef<HTMLTextAreaElement>(null)\n\n React.useEffect(() => {\n if (!autoResize || !internalRef.current) return\n\n const textarea = internalRef.current\n const resizeTextarea = () => {\n textarea.style.height = \"auto\"\n textarea.style.height = `${textarea.scrollHeight}px`\n }\n\n textarea.addEventListener(\"input\", resizeTextarea)\n resizeTextarea() // Initial resize\n\n return () => textarea.removeEventListener(\"input\", resizeTextarea)\n }, [autoResize])\n\n return (\n <textarea\n className={cn(\n \"flex min-h-[60px] w-full rounded-md border border-input bg-transparent px-3 py-2 text-base shadow-sm placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\n\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea }\n"]}
@@ -15,4 +15,4 @@ declare const ToastDescription: React.ForwardRefExoticComponent<Omit<ToastPrimit
15
15
  type ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;
16
16
  type ToastActionElement = React.ReactElement<typeof ToastAction>;
17
17
 
18
- export { type ToastProps as T, type ToastActionElement as a, ToastProvider as b, ToastViewport as c, Toast as d, ToastTitle as e, ToastDescription as f, ToastClose as g, ToastAction as h };
18
+ export { Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport };
@@ -15,4 +15,4 @@ declare const ToastDescription: React.ForwardRefExoticComponent<Omit<ToastPrimit
15
15
  type ToastProps = React.ComponentPropsWithoutRef<typeof Toast>;
16
16
  type ToastActionElement = React.ReactElement<typeof ToastAction>;
17
17
 
18
- export { type ToastProps as T, type ToastActionElement as a, ToastProvider as b, ToastViewport as c, Toast as d, ToastTitle as e, ToastDescription as f, ToastClose as g, ToastAction as h };
18
+ export { Toast, ToastAction, type ToastActionElement, ToastClose, ToastDescription, type ToastProps, ToastProvider, ToastTitle, ToastViewport };
@@ -0,0 +1,2 @@
1
+ 'use strict';var r=require('react'),t=require('@radix-ui/react-toast'),classVarianceAuthority=require('class-variance-authority'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var r__namespace=/*#__PURE__*/_interopNamespace(r);var t__namespace=/*#__PURE__*/_interopNamespace(t);function i(...e){return tailwindMerge.twMerge(clsx.clsx(e))}var y=t__namespace.Provider,n=r__namespace.forwardRef(({className:e,...o},s)=>jsxRuntime.jsx(t__namespace.Viewport,{ref:s,className:i("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...o}));n.displayName=t__namespace.Viewport.displayName;var P=classVarianceAuthority.cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),p=r__namespace.forwardRef(({className:e,variant:o,...s},l)=>jsxRuntime.jsx(t__namespace.Root,{ref:l,className:i(P({variant:o}),e),...s}));p.displayName=t__namespace.Root.displayName;var m=r__namespace.forwardRef(({className:e,...o},s)=>jsxRuntime.jsx(t__namespace.Action,{ref:s,className:i("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...o}));m.displayName=t__namespace.Action.displayName;var c=r__namespace.forwardRef(({className:e,...o},s)=>jsxRuntime.jsx(t__namespace.Close,{ref:s,className:i("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"","aria-label":"Close toast",...o,children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})}));c.displayName=t__namespace.Close.displayName;var d=r__namespace.forwardRef(({className:e,...o},s)=>jsxRuntime.jsx(t__namespace.Title,{ref:s,className:i("text-sm font-semibold [&+div]:text-xs",e),...o}));d.displayName=t__namespace.Title.displayName;var f=r__namespace.forwardRef(({className:e,...o},s)=>jsxRuntime.jsx(t__namespace.Description,{ref:s,className:i("text-sm opacity-90",e),...o}));f.displayName=t__namespace.Description.displayName;exports.Toast=p;exports.ToastAction=m;exports.ToastClose=c;exports.ToastDescription=f;exports.ToastProvider=y;exports.ToastTitle=d;exports.ToastViewport=n;//# sourceMappingURL=toast.js.map
2
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/toast/toast.tsx"],"names":["cn","inputs","twMerge","clsx","ToastProvider","t","ToastViewport","r","className","props","ref","jsx","toastVariants","cva","Toast","variant","ToastAction","ToastClose","X","ToastTitle","ToastDescription"],"mappings":"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","file":"toast.js","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 * Toast component for displaying temporary notifications.\n * Built on top of Radix UI's Toast primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toast--docs\n *\n * @example\n * ```tsx\n * <ToastProvider>\n * <Toast>\n * <ToastTitle>Title</ToastTitle>\n * <ToastDescription>Description</ToastDescription>\n * <ToastAction>Action</ToastAction>\n * <ToastClose />\n * </Toast>\n * <ToastViewport />\n * </ToastProvider>\n * ```\n */\n\nimport * as React from \"react\"\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n aria-label=\"Close toast\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-sm font-semibold [&+div]:text-xs\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-sm opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import*as r from'react';import*as t from'@radix-ui/react-toast';import {cva}from'class-variance-authority';import {X}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function i(...e){return twMerge(clsx(e))}var y=t.Provider,n=r.forwardRef(({className:e,...o},s)=>jsx(t.Viewport,{ref:s,className:i("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",e),...o}));n.displayName=t.Viewport.displayName;var P=cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),p=r.forwardRef(({className:e,variant:o,...s},l)=>jsx(t.Root,{ref:l,className:i(P({variant:o}),e),...s}));p.displayName=t.Root.displayName;var m=r.forwardRef(({className:e,...o},s)=>jsx(t.Action,{ref:s,className:i("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",e),...o}));m.displayName=t.Action.displayName;var c=r.forwardRef(({className:e,...o},s)=>jsx(t.Close,{ref:s,className:i("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",e),"toast-close":"","aria-label":"Close toast",...o,children:jsx(X,{className:"h-4 w-4"})}));c.displayName=t.Close.displayName;var d=r.forwardRef(({className:e,...o},s)=>jsx(t.Title,{ref:s,className:i("text-sm font-semibold [&+div]:text-xs",e),...o}));d.displayName=t.Title.displayName;var f=r.forwardRef(({className:e,...o},s)=>jsx(t.Description,{ref:s,className:i("text-sm opacity-90",e),...o}));f.displayName=t.Description.displayName;export{p as Toast,m as ToastAction,c as ToastClose,f as ToastDescription,y as ToastProvider,d as ToastTitle,n as ToastViewport};//# sourceMappingURL=toast.mjs.map
2
+ //# sourceMappingURL=toast.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/toast/toast.tsx"],"names":["cn","inputs","twMerge","clsx","ToastProvider","ToastViewport","className","props","ref","jsx","toastVariants","cva","Toast","variant","ToastAction","ToastClose","X","ToastTitle","ToastDescription"],"mappings":"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","file":"toast.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 * Toast component for displaying temporary notifications.\n * Built on top of Radix UI's Toast primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toast--docs\n *\n * @example\n * ```tsx\n * <ToastProvider>\n * <Toast>\n * <ToastTitle>Title</ToastTitle>\n * <ToastDescription>Description</ToastDescription>\n * <ToastAction>Action</ToastAction>\n * <ToastClose />\n * </Toast>\n * <ToastViewport />\n * </ToastProvider>\n * ```\n */\n\nimport * as React from \"react\"\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n aria-label=\"Close toast\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-sm font-semibold [&+div]:text-xs\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-sm opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction\n}\n"]}
@@ -0,0 +1,26 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ /**
4
+ * Toaster component for managing and displaying toast notifications.
5
+ * Built on top of the Toast primitive components.
6
+ *
7
+ * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toaster--docs
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * // Add Toaster to your app's root layout
12
+ * <Toaster />
13
+ *
14
+ * // Use the toast hook to show notifications
15
+ * const { toast } = useToast()
16
+ *
17
+ * toast({
18
+ * title: "Success",
19
+ * description: "Your changes have been saved.",
20
+ * action: <ToastAction altText="Undo">Undo</ToastAction>
21
+ * })
22
+ * ```
23
+ */
24
+ declare function Toaster(): react_jsx_runtime.JSX.Element;
25
+
26
+ export { Toaster };
@@ -0,0 +1,26 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+
3
+ /**
4
+ * Toaster component for managing and displaying toast notifications.
5
+ * Built on top of the Toast primitive components.
6
+ *
7
+ * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toaster--docs
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * // Add Toaster to your app's root layout
12
+ * <Toaster />
13
+ *
14
+ * // Use the toast hook to show notifications
15
+ * const { toast } = useToast()
16
+ *
17
+ * toast({
18
+ * title: "Success",
19
+ * description: "Your changes have been saved.",
20
+ * action: <ToastAction altText="Undo">Undo</ToastAction>
21
+ * })
22
+ * ```
23
+ */
24
+ declare function Toaster(): react_jsx_runtime.JSX.Element;
25
+
26
+ export { Toaster };
@@ -0,0 +1,2 @@
1
+ 'use strict';var n=require('react'),s=require('@radix-ui/react-toast'),classVarianceAuthority=require('class-variance-authority'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var n__namespace=/*#__PURE__*/_interopNamespace(n);var s__namespace=/*#__PURE__*/_interopNamespace(s);var w=1,D=1e6;var A=0;function _(){return A=(A+1)%Number.MAX_SAFE_INTEGER,A.toString()}var P=new Map,x=t=>{if(P.has(t))return;let e=setTimeout(()=>{P.delete(t),c({type:"REMOVE_TOAST",toastId:t});},D);P.set(t,e);},N=(t,e)=>{switch(e.type){case "ADD_TOAST":return {...t,toasts:[e.toast,...t.toasts].slice(0,w)};case "UPDATE_TOAST":return {...t,toasts:t.toasts.map(o=>o.id===e.toast.id?{...o,...e.toast}:o)};case "DISMISS_TOAST":{let{toastId:o}=e;return o?x(o):t.toasts.forEach(a=>{x(a.id);}),{...t,toasts:t.toasts.map(a=>a.id===o||o===void 0?{...a,open:false}:a)}}case "REMOVE_TOAST":return e.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(o=>o.id!==e.toastId)}}},T=[],d={toasts:[]};function c(t){d=N(d,t),T.forEach(e=>{e(d);});}function b({...t}){let e=_(),o=p=>c({type:"UPDATE_TOAST",toast:{...p,id:e}}),a=()=>c({type:"DISMISS_TOAST",toastId:e});return c({type:"ADD_TOAST",toast:{...t,id:e,open:true,onOpenChange:p=>{p||a();}}}),{id:e,dismiss:a,update:o}}function E(){let[t,e]=n__namespace.useState(d);return n__namespace.useEffect(()=>(T.push(e),()=>{let o=T.indexOf(e);o>-1&&T.splice(o,1);}),[t]),{...t,toast:b,dismiss:o=>c({type:"DISMISS_TOAST",toastId:o})}}function i(...t){return tailwindMerge.twMerge(clsx.clsx(t))}var S=s__namespace.Provider,f=n__namespace.forwardRef(({className:t,...e},o)=>jsxRuntime.jsx(s__namespace.Viewport,{ref:o,className:i("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",t),...e}));f.displayName=s__namespace.Viewport.displayName;var W=classVarianceAuthority.cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),u=n__namespace.forwardRef(({className:t,variant:e,...o},a)=>jsxRuntime.jsx(s__namespace.Root,{ref:a,className:i(W({variant:e}),t),...o}));u.displayName=s__namespace.Root.displayName;var O=n__namespace.forwardRef(({className:t,...e},o)=>jsxRuntime.jsx(s__namespace.Action,{ref:o,className:i("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",t),...e}));O.displayName=s__namespace.Action.displayName;var l=n__namespace.forwardRef(({className:t,...e},o)=>jsxRuntime.jsx(s__namespace.Close,{ref:o,className:i("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"","aria-label":"Close toast",...e,children:jsxRuntime.jsx(lucideReact.X,{className:"h-4 w-4"})}));l.displayName=s__namespace.Close.displayName;var v=n__namespace.forwardRef(({className:t,...e},o)=>jsxRuntime.jsx(s__namespace.Title,{ref:o,className:i("text-sm font-semibold [&+div]:text-xs",t),...e}));v.displayName=s__namespace.Title.displayName;var y=n__namespace.forwardRef(({className:t,...e},o)=>jsxRuntime.jsx(s__namespace.Description,{ref:o,className:i("text-sm opacity-90",t),...e}));y.displayName=s__namespace.Description.displayName;function U(){let{toasts:t}=E();return jsxRuntime.jsxs(S,{children:[t.map(function({id:e,title:o,description:a,action:p,...h}){return jsxRuntime.jsxs(u,{...h,children:[jsxRuntime.jsxs("div",{className:"grid gap-1",children:[o&&jsxRuntime.jsx(v,{children:o}),a&&jsxRuntime.jsx(y,{children:a})]}),p,jsxRuntime.jsx(l,{})]},e)}),jsxRuntime.jsx(f,{})]})}exports.Toaster=U;//# sourceMappingURL=toaster.js.map
2
+ //# sourceMappingURL=toaster.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/use-toast.ts","../../src/utils/cn.ts","../../src/components/atoms/toast/toast.tsx","../../src/components/atoms/toaster/toaster.tsx"],"names":["TOAST_LIMIT","TOAST_REMOVE_DELAY","count","genId","toastTimeouts","addToRemoveQueue","toastId","timeout","dispatch","reducer","state","action","t","toast","listeners","memoryState","listener","props","id","update","dismiss","open","useToast","setState","m","index","cn","inputs","twMerge","clsx","ToastProvider","s","ToastViewport","n","className","ref","jsx","toastVariants","cva","Toast","variant","ToastAction","ToastClose","X","ToastTitle","ToastDescription","Toaster","toasts","jsxs","title","description"],"mappings":"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","file":"toaster.js","sourcesContent":["\"use client\"\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\"\n\nimport type { ToastActionElement, ToastProps } from \"@/components/atoms/toast\"\n\nconst TOAST_LIMIT = 1\nconst TOAST_REMOVE_DELAY = 1000000\n\ntype ToasterToast = ToastProps & {\n id: string\n title?: React.ReactNode\n description?: React.ReactNode\n action?: ToastActionElement\n}\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\"\n} as const\n\nlet count = 0\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\ntype ActionType = typeof actionTypes\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"]\n toast: ToasterToast\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"]\n toast: Partial<ToasterToast>\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n }\n\ninterface State {\n toasts: ToasterToast[]\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>()\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId\n })\n }, TOAST_REMOVE_DELAY)\n\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)\n }\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t))\n }\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id)\n })\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false\n }\n : t\n )\n }\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: []\n }\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId)\n }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\n\nlet memoryState: State = { toasts: [] }\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((listener) => {\n listener(memoryState)\n })\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({ ...props }: Toast) {\n const id = genId()\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id }\n })\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id })\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss()\n }\n }\n })\n\n return {\n id: id,\n dismiss,\n update\n }\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState)\n\n React.useEffect(() => {\n listeners.push(setState)\n return () => {\n const index = listeners.indexOf(setState)\n if (index > -1) {\n listeners.splice(index, 1)\n }\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId })\n }\n}\n\nexport { useToast, toast }\n","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 * Toast component for displaying temporary notifications.\n * Built on top of Radix UI's Toast primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toast--docs\n *\n * @example\n * ```tsx\n * <ToastProvider>\n * <Toast>\n * <ToastTitle>Title</ToastTitle>\n * <ToastDescription>Description</ToastDescription>\n * <ToastAction>Action</ToastAction>\n * <ToastClose />\n * </Toast>\n * <ToastViewport />\n * </ToastProvider>\n * ```\n */\n\nimport * as React from \"react\"\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n aria-label=\"Close toast\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-sm font-semibold [&+div]:text-xs\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-sm opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction\n}\n","/**\n * Toaster component for managing and displaying toast notifications.\n * Built on top of the Toast primitive components.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toaster--docs\n *\n * @example\n * ```tsx\n * // Add Toaster to your app's root layout\n * <Toaster />\n *\n * // Use the toast hook to show notifications\n * const { toast } = useToast()\n *\n * toast({\n * title: \"Success\",\n * description: \"Your changes have been saved.\",\n * action: <ToastAction altText=\"Undo\">Undo</ToastAction>\n * })\n * ```\n */\n\nimport { useToast } from \"@/hooks/use-toast\"\nimport {\n Toast,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport\n} from \"@/components/atoms/toast\"\n\nexport function Toaster() {\n const { toasts } = useToast()\n\n return (\n <ToastProvider>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n )\n })}\n <ToastViewport />\n </ToastProvider>\n )\n}\n"]}
@@ -0,0 +1,2 @@
1
+ import*as n from'react';import*as s from'@radix-ui/react-toast';import {cva}from'class-variance-authority';import {X}from'lucide-react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx,jsxs}from'react/jsx-runtime';var w=1,D=1e6;var A=0;function _(){return A=(A+1)%Number.MAX_SAFE_INTEGER,A.toString()}var P=new Map,x=t=>{if(P.has(t))return;let e=setTimeout(()=>{P.delete(t),c({type:"REMOVE_TOAST",toastId:t});},D);P.set(t,e);},N=(t,e)=>{switch(e.type){case "ADD_TOAST":return {...t,toasts:[e.toast,...t.toasts].slice(0,w)};case "UPDATE_TOAST":return {...t,toasts:t.toasts.map(o=>o.id===e.toast.id?{...o,...e.toast}:o)};case "DISMISS_TOAST":{let{toastId:o}=e;return o?x(o):t.toasts.forEach(a=>{x(a.id);}),{...t,toasts:t.toasts.map(a=>a.id===o||o===void 0?{...a,open:false}:a)}}case "REMOVE_TOAST":return e.toastId===void 0?{...t,toasts:[]}:{...t,toasts:t.toasts.filter(o=>o.id!==e.toastId)}}},T=[],d={toasts:[]};function c(t){d=N(d,t),T.forEach(e=>{e(d);});}function b({...t}){let e=_(),o=p=>c({type:"UPDATE_TOAST",toast:{...p,id:e}}),a=()=>c({type:"DISMISS_TOAST",toastId:e});return c({type:"ADD_TOAST",toast:{...t,id:e,open:true,onOpenChange:p=>{p||a();}}}),{id:e,dismiss:a,update:o}}function E(){let[t,e]=n.useState(d);return n.useEffect(()=>(T.push(e),()=>{let o=T.indexOf(e);o>-1&&T.splice(o,1);}),[t]),{...t,toast:b,dismiss:o=>c({type:"DISMISS_TOAST",toastId:o})}}function i(...t){return twMerge(clsx(t))}var S=s.Provider,f=n.forwardRef(({className:t,...e},o)=>jsx(s.Viewport,{ref:o,className:i("fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]",t),...e}));f.displayName=s.Viewport.displayName;var W=cva("group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full",{variants:{variant:{default:"border bg-background text-foreground",destructive:"destructive group border-destructive bg-destructive text-destructive-foreground"}},defaultVariants:{variant:"default"}}),u=n.forwardRef(({className:t,variant:e,...o},a)=>jsx(s.Root,{ref:a,className:i(W({variant:e}),t),...o}));u.displayName=s.Root.displayName;var O=n.forwardRef(({className:t,...e},o)=>jsx(s.Action,{ref:o,className:i("inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive",t),...e}));O.displayName=s.Action.displayName;var l=n.forwardRef(({className:t,...e},o)=>jsx(s.Close,{ref:o,className:i("absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600",t),"toast-close":"","aria-label":"Close toast",...e,children:jsx(X,{className:"h-4 w-4"})}));l.displayName=s.Close.displayName;var v=n.forwardRef(({className:t,...e},o)=>jsx(s.Title,{ref:o,className:i("text-sm font-semibold [&+div]:text-xs",t),...e}));v.displayName=s.Title.displayName;var y=n.forwardRef(({className:t,...e},o)=>jsx(s.Description,{ref:o,className:i("text-sm opacity-90",t),...e}));y.displayName=s.Description.displayName;function U(){let{toasts:t}=E();return jsxs(S,{children:[t.map(function({id:e,title:o,description:a,action:p,...h}){return jsxs(u,{...h,children:[jsxs("div",{className:"grid gap-1",children:[o&&jsx(v,{children:o}),a&&jsx(y,{children:a})]}),p,jsx(l,{})]},e)}),jsx(f,{})]})}export{U as Toaster};//# sourceMappingURL=toaster.mjs.map
2
+ //# sourceMappingURL=toaster.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/hooks/use-toast.ts","../../src/utils/cn.ts","../../src/components/atoms/toast/toast.tsx","../../src/components/atoms/toaster/toaster.tsx"],"names":["TOAST_LIMIT","TOAST_REMOVE_DELAY","count","genId","toastTimeouts","addToRemoveQueue","toastId","timeout","dispatch","reducer","state","action","t","toast","listeners","memoryState","listener","props","id","update","dismiss","open","useToast","setState","m","index","cn","inputs","twMerge","clsx","ToastProvider","ToastViewport","className","ref","jsx","toastVariants","cva","Toast","variant","ToastAction","ToastClose","X","ToastTitle","ToastDescription","Toaster","toasts","jsxs","title","description"],"mappings":"8OAOA,IAAMA,CAAc,CAAA,CAAA,CACdC,EAAqB,GAgB3B,CAAA,IAAIC,CAAQ,CAAA,CAAA,CAEZ,SAASC,CAAQ,EAAA,CACf,OAAAD,CAASA,CAAAA,CAAAA,CAAAA,CAAQ,GAAK,MAAO,CAAA,gBAAA,CACtBA,CAAM,CAAA,QAAA,EACf,CA0BA,IAAME,CAAgB,CAAA,IAAI,IAEpBC,CAAoBC,CAAAA,CAAAA,EAAoB,CAC5C,GAAIF,EAAc,GAAIE,CAAAA,CAAO,EAC3B,OAGF,IAAMC,EAAU,UAAW,CAAA,IAAM,CAC/BH,CAAAA,CAAc,OAAOE,CAAO,CAAA,CAC5BE,CAAS,CAAA,CACP,KAAM,cACN,CAAA,OAAA,CAASF,CACX,CAAC,EACH,CAAGL,CAAAA,CAAkB,EAErBG,CAAc,CAAA,GAAA,CAAIE,EAASC,CAAO,EACpC,CAEaE,CAAAA,CAAAA,CAAU,CAACC,CAAcC,CAAAA,CAAAA,GAA0B,CAC9D,OAAQA,EAAO,IAAM,EACnB,KAAK,WAAA,CACH,OAAO,CACL,GAAGD,EACH,MAAQ,CAAA,CAACC,EAAO,KAAO,CAAA,GAAGD,CAAM,CAAA,MAAM,EAAE,KAAM,CAAA,CAAA,CAAGV,CAAW,CAC9D,EAEF,KAAK,cAAA,CACH,OAAO,CACL,GAAGU,CACH,CAAA,MAAA,CAAQA,EAAM,MAAO,CAAA,GAAA,CAAKE,GAAOA,CAAE,CAAA,EAAA,GAAOD,CAAO,CAAA,KAAA,CAAM,GAAK,CAAE,GAAGC,CAAG,CAAA,GAAGD,EAAO,KAAM,CAAA,CAAIC,CAAE,CAC5F,EAEF,KAAK,eAAA,CAAiB,CACpB,GAAM,CAAE,QAAAN,CAAQ,CAAA,CAAIK,CAIpB,CAAA,OAAIL,EACFD,CAAiBC,CAAAA,CAAO,CAExBI,CAAAA,CAAAA,CAAM,OAAO,OAASG,CAAAA,CAAAA,EAAU,CAC9BR,CAAAA,CAAiBQ,EAAM,EAAE,EAC3B,CAAC,CAGI,CAAA,CACL,GAAGH,CACH,CAAA,MAAA,CAAQA,CAAM,CAAA,MAAA,CAAO,IAAKE,CACxBA,EAAAA,CAAAA,CAAE,KAAON,CAAWA,EAAAA,CAAAA,GAAY,OAC5B,CACE,GAAGM,CACH,CAAA,IAAA,CAAM,KACR,CACAA,CAAAA,CACN,CACF,CACF,CACA,KAAK,cACH,CAAA,OAAID,CAAO,CAAA,OAAA,GAAY,OACd,CACL,GAAGD,CACH,CAAA,MAAA,CAAQ,EACV,CAAA,CAEK,CACL,GAAGA,EACH,MAAQA,CAAAA,CAAAA,CAAM,OAAO,MAAQE,CAAAA,CAAAA,EAAMA,EAAE,EAAOD,GAAAA,CAAAA,CAAO,OAAO,CAC5D,CACJ,CACF,CAAA,CAEMG,CAA2C,CAAA,GAE7CC,CAAqB,CAAA,CAAE,MAAQ,CAAA,EAAG,CAEtC,CAAA,SAASP,EAASG,CAAgB,CAAA,CAChCI,EAAcN,CAAQM,CAAAA,CAAAA,CAAaJ,CAAM,CAAA,CACzCG,EAAU,OAASE,CAAAA,CAAAA,EAAa,CAC9BA,CAAAA,CAASD,CAAW,EACtB,CAAC,EACH,CAIA,SAASF,CAAM,CAAA,CAAE,GAAGI,CAAM,CAAA,CAAU,CAClC,IAAMC,CAAAA,CAAKf,CAAM,EAAA,CAEXgB,EAAUF,CACdT,EAAAA,CAAAA,CAAS,CACP,IAAA,CAAM,eACN,KAAO,CAAA,CAAE,GAAGS,CAAAA,CAAO,GAAAC,CAAG,CACxB,CAAC,CACGE,CAAAA,CAAAA,CAAU,IAAMZ,CAAS,CAAA,CAAE,IAAM,CAAA,eAAA,CAAiB,QAASU,CAAG,CAAC,CAErE,CAAA,OAAAV,EAAS,CACP,IAAA,CAAM,WACN,CAAA,KAAA,CAAO,CACL,GAAGS,CAAAA,CACH,GAAAC,CACA,CAAA,IAAA,CAAM,KACN,YAAeG,CAAAA,CAAAA,EAAS,CACjBA,CAAAA,EAAMD,IACb,CACF,CACF,CAAC,EAEM,CACL,EAAA,CAAIF,CACJ,CAAA,OAAA,CAAAE,EACA,MAAAD,CAAAA,CACF,CACF,CAEA,SAASG,GAAW,CAClB,GAAM,CAACZ,CAAAA,CAAOa,CAAQ,CAAU,CAAAC,CAAA,CAAA,QAAA,CAAgBT,CAAW,CAAA,CAE3D,OAAMS,CAAU,CAAA,SAAA,CAAA,KACdV,CAAU,CAAA,IAAA,CAAKS,CAAQ,CAChB,CAAA,IAAM,CACX,IAAME,CAAAA,CAAQX,EAAU,OAAQS,CAAAA,CAAQ,CACpCE,CAAAA,CAAAA,CAAQ,IACVX,CAAU,CAAA,MAAA,CAAOW,EAAO,CAAC,EAE7B,GACC,CAACf,CAAK,CAAC,CAAA,CAEH,CACL,GAAGA,CAAAA,CACH,MAAAG,CACA,CAAA,OAAA,CAAUP,GAAqBE,CAAS,CAAA,CAAE,IAAM,CAAA,eAAA,CAAiB,QAAAF,CAAQ,CAAC,CAC5E,CACF,CCvLO,SAASoB,CAAMC,CAAAA,GAAAA,CAAAA,CAAsB,CAC1C,OAAOC,OAAAA,CAAQC,KAAKF,CAAM,CAAC,CAC7B,CCuBA,IAAMG,CAAgC,CAAA,CAAA,CAAA,QAAA,CAEhCC,CAAsB,CAAA,CAAA,CAAA,UAAA,CAG1B,CAAC,CAAE,SAAA,CAAAC,CAAW,CAAA,GAAGf,CAAM,CAAGgB,CAAAA,CAAAA,GAC1BC,IAAiB,CAAhB,CAAA,QAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWP,CACT,CAAA,mIAAA,CACAM,CACF,CACC,CAAA,GAAGf,CACN,CAAA,CACD,EACDc,CAAc,CAAA,WAAA,CAA8B,CAAS,CAAA,QAAA,CAAA,WAAA,CAErD,IAAMI,CAAgBC,CAAAA,GAAAA,CACpB,4lBACA,CACE,QAAA,CAAU,CACR,OAAS,CAAA,CACP,OAAS,CAAA,sCAAA,CACT,YACE,iFACJ,CACF,CACA,CAAA,eAAA,CAAiB,CACf,OAAS,CAAA,SACX,CACF,CACF,EAEMC,CAAc,CAAA,CAAA,CAAA,UAAA,CAGlB,CAAC,CAAE,SAAA,CAAAL,EAAW,OAAAM,CAAAA,CAAAA,CAAS,GAAGrB,CAAM,EAAGgB,CAEjCC,GAAAA,GAAAA,CAAiB,CAAhB,CAAA,IAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWP,CAAGS,CAAAA,CAAAA,CAAc,CAAE,OAAAG,CAAAA,CAAQ,CAAC,CAAGN,CAAAA,CAAS,EAClD,GAAGf,CAAAA,CACN,CAEH,CAAA,CACDoB,EAAM,WAA8B,CAAA,CAAA,CAAA,IAAA,CAAK,WAEzC,CAAA,IAAME,EAAoB,CAGxB,CAAA,UAAA,CAAA,CAAC,CAAE,SAAA,CAAAP,EAAW,GAAGf,CAAM,EAAGgB,CAC1BC,GAAAA,GAAAA,CAAiB,SAAhB,CACC,GAAA,CAAKD,CACL,CAAA,SAAA,CAAWP,EACT,ydACAM,CAAAA,CACF,EACC,GAAGf,CAAAA,CACN,CACD,CACDsB,CAAAA,CAAAA,CAAY,WAA8B,CAAA,CAAA,CAAA,MAAA,CAAO,YAEjD,IAAMC,CAAAA,CAAmB,aAGvB,CAAC,CAAE,UAAAR,CAAW,CAAA,GAAGf,CAAM,CAAA,CAAGgB,IAC1BC,GAAiB,CAAA,CAAA,CAAA,KAAA,CAAhB,CACC,GAAA,CAAKD,EACL,SAAWP,CAAAA,CAAAA,CACT,uVACAM,CAAAA,CACF,EACA,aAAY,CAAA,EAAA,CACZ,aAAW,aACV,CAAA,GAAGf,EAEJ,QAAAiB,CAAAA,GAAAA,CAACO,CAAA,CAAA,CAAE,UAAU,SAAU,CAAA,CAAA,CACzB,CACD,CAAA,CACDD,EAAW,WAA8B,CAAA,CAAA,CAAA,KAAA,CAAM,WAE/C,CAAA,IAAME,EAAmB,CAGvB,CAAA,UAAA,CAAA,CAAC,CAAE,SAAAV,CAAAA,CAAAA,CAAW,GAAGf,CAAM,CAAA,CAAGgB,CAC1BC,GAAAA,GAAAA,CAAiB,QAAhB,CACC,GAAA,CAAKD,CACL,CAAA,SAAA,CAAWP,EAAG,uCAAyCM,CAAAA,CAAS,CAC/D,CAAA,GAAGf,EACN,CACD,CAAA,CACDyB,EAAW,WAA8B,CAAA,CAAA,CAAA,KAAA,CAAM,YAE/C,IAAMC,CAAAA,CAAyB,CAG7B,CAAA,UAAA,CAAA,CAAC,CAAE,SAAAX,CAAAA,CAAAA,CAAW,GAAGf,CAAM,EAAGgB,CAC1BC,GAAAA,GAAAA,CAAiB,CAAhB,CAAA,WAAA,CAAA,CACC,IAAKD,CACL,CAAA,SAAA,CAAWP,EAAG,oBAAsBM,CAAAA,CAAS,EAC5C,GAAGf,CAAAA,CACN,CACD,CAAA,CACD0B,EAAiB,WAA8B,CAAA,CAAA,CAAA,WAAA,CAAY,WC3F/C,CARL,SAASC,CAAU,EAAA,CACxB,GAAM,CAAE,MAAA,CAAAC,CAAO,CAAIvB,CAAAA,CAAAA,EAEnB,CAAA,OACEwB,KAAChB,CAAA,CAAA,CACE,QAAAe,CAAAA,CAAAA,CAAAA,CAAO,IAAI,SAAU,CAAE,EAAA3B,CAAAA,CAAAA,CAAI,MAAA6B,CAAO,CAAA,WAAA,CAAAC,EAAa,MAAArC,CAAAA,CAAAA,CAAQ,GAAGM,CAAM,CAAA,CAAG,CAClE,OACE6B,KAACT,CAAA,CAAA,CAAgB,GAAGpB,CAAAA,CAClB,UAAA6B,IAAC,CAAA,KAAA,CAAA,CAAI,SAAU,CAAA,YAAA,CACZ,UAAAC,CAASb,EAAAA,GAAAA,CAACQ,EAAA,CAAY,QAAA,CAAAK,EAAM,CAC5BC,CAAAA,CAAAA,EAAed,GAACS,CAAAA,CAAAA,CAAA,CAAkB,QAAAK,CAAAA,CAAAA,CAAY,GACjD,CACCrC,CAAAA,CAAAA,CACDuB,IAACM,CAAA,CAAA,EAAW,CANFtB,CAAAA,CAAAA,CAAAA,CAOZ,CAEJ,CAAC,CAAA,CACDgB,IAACH,CAAA,CAAA,EAAc,GACjB,CAEJ","file":"toaster.mjs","sourcesContent":["\"use client\"\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\"\n\nimport type { ToastActionElement, ToastProps } from \"@/components/atoms/toast\"\n\nconst TOAST_LIMIT = 1\nconst TOAST_REMOVE_DELAY = 1000000\n\ntype ToasterToast = ToastProps & {\n id: string\n title?: React.ReactNode\n description?: React.ReactNode\n action?: ToastActionElement\n}\n\nconst actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\"\n} as const\n\nlet count = 0\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\ntype ActionType = typeof actionTypes\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"]\n toast: ToasterToast\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"]\n toast: Partial<ToasterToast>\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"]\n toastId?: ToasterToast[\"id\"]\n }\n\ninterface State {\n toasts: ToasterToast[]\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>()\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({\n type: \"REMOVE_TOAST\",\n toastId: toastId\n })\n }, TOAST_REMOVE_DELAY)\n\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT)\n }\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) => (t.id === action.toast.id ? { ...t, ...action.toast } : t))\n }\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id)\n })\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false\n }\n : t\n )\n }\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: []\n }\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId)\n }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\n\nlet memoryState: State = { toasts: [] }\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((listener) => {\n listener(memoryState)\n })\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({ ...props }: Toast) {\n const id = genId()\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id }\n })\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id })\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss()\n }\n }\n })\n\n return {\n id: id,\n dismiss,\n update\n }\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState)\n\n React.useEffect(() => {\n listeners.push(setState)\n return () => {\n const index = listeners.indexOf(setState)\n if (index > -1) {\n listeners.splice(index, 1)\n }\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId })\n }\n}\n\nexport { useToast, toast }\n","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 * Toast component for displaying temporary notifications.\n * Built on top of Radix UI's Toast primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toast--docs\n *\n * @example\n * ```tsx\n * <ToastProvider>\n * <Toast>\n * <ToastTitle>Title</ToastTitle>\n * <ToastDescription>Description</ToastDescription>\n * <ToastAction>Action</ToastAction>\n * <ToastClose />\n * </Toast>\n * <ToastViewport />\n * </ToastProvider>\n * ```\n */\n\nimport * as React from \"react\"\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { X } from \"lucide-react\"\n\nimport { cn } from \"@/utils/index\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-[100] flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-2 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\"\n }\n },\n defaultVariants: {\n variant: \"default\"\n }\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> & VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium transition-colors hover:bg-secondary focus:outline-none focus:ring-1 focus:ring-ring disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 group-[.destructive]:hover:border-destructive/30 group-[.destructive]:hover:bg-destructive group-[.destructive]:hover:text-destructive-foreground group-[.destructive]:focus:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-1 top-1 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-none focus:ring-1 group-hover:opacity-100 group-[.destructive]:text-red-300 group-[.destructive]:hover:text-red-50 group-[.destructive]:focus:ring-red-400 group-[.destructive]:focus:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n aria-label=\"Close toast\"\n {...props}\n >\n <X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-sm font-semibold [&+div]:text-xs\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-sm opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction\n}\n","/**\n * Toaster component for managing and displaying toast notifications.\n * Built on top of the Toast primitive components.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-toaster--docs\n *\n * @example\n * ```tsx\n * // Add Toaster to your app's root layout\n * <Toaster />\n *\n * // Use the toast hook to show notifications\n * const { toast } = useToast()\n *\n * toast({\n * title: \"Success\",\n * description: \"Your changes have been saved.\",\n * action: <ToastAction altText=\"Undo\">Undo</ToastAction>\n * })\n * ```\n */\n\nimport { useToast } from \"@/hooks/use-toast\"\nimport {\n Toast,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport\n} from \"@/components/atoms/toast\"\n\nexport function Toaster() {\n const { toasts } = useToast()\n\n return (\n <ToastProvider>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && <ToastDescription>{description}</ToastDescription>}\n </div>\n {action}\n <ToastClose />\n </Toast>\n )\n })}\n <ToastViewport />\n </ToastProvider>\n )\n}\n"]}
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
3
+
4
+ /**
5
+ * TooltipProvider component for creating accessible tooltips.
6
+ * Built on top of Radix UI's Tooltip primitive.
7
+ *
8
+ * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-tooltip--docs
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <TooltipProvider>
13
+ * <Tooltip>
14
+ * <TooltipTrigger>Hover me</TooltipTrigger>
15
+ * <TooltipContent>Tooltip content</TooltipContent>
16
+ * </Tooltip>
17
+ * </TooltipProvider>
18
+ * ```
19
+ */
20
+ declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
21
+ declare const Tooltip: React.FC<TooltipPrimitive.TooltipProps>;
22
+ declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
23
+ declare const TooltipContent: React.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
24
+
25
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
@@ -0,0 +1,25 @@
1
+ import * as React from 'react';
2
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
3
+
4
+ /**
5
+ * TooltipProvider component for creating accessible tooltips.
6
+ * Built on top of Radix UI's Tooltip primitive.
7
+ *
8
+ * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-tooltip--docs
9
+ *
10
+ * @example
11
+ * ```tsx
12
+ * <TooltipProvider>
13
+ * <Tooltip>
14
+ * <TooltipTrigger>Hover me</TooltipTrigger>
15
+ * <TooltipContent>Tooltip content</TooltipContent>
16
+ * </Tooltip>
17
+ * </TooltipProvider>
18
+ * ```
19
+ */
20
+ declare const TooltipProvider: React.FC<TooltipPrimitive.TooltipProviderProps>;
21
+ declare const Tooltip: React.FC<TooltipPrimitive.TooltipProps>;
22
+ declare const TooltipTrigger: React.ForwardRefExoticComponent<TooltipPrimitive.TooltipTriggerProps & React.RefAttributes<HTMLButtonElement>>;
23
+ declare const TooltipContent: React.ForwardRefExoticComponent<Omit<TooltipPrimitive.TooltipContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
24
+
25
+ export { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger };
@@ -0,0 +1,2 @@
1
+ 'use strict';var r=require('react'),t=require('@radix-ui/react-tooltip'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var r__namespace=/*#__PURE__*/_interopNamespace(r);var t__namespace=/*#__PURE__*/_interopNamespace(t);function i(...o){return tailwindMerge.twMerge(clsx.clsx(o))}var g=t__namespace.Provider,u=t__namespace.Root,x=t__namespace.Trigger,d=r__namespace.forwardRef(({className:o,sideOffset:a=4,...m},n)=>jsxRuntime.jsx(t__namespace.Portal,{children:jsxRuntime.jsx(t__namespace.Content,{ref:n,sideOffset:a,className:i("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",o),...m})}));d.displayName=t__namespace.Content.displayName;exports.Tooltip=u;exports.TooltipContent=d;exports.TooltipProvider=g;exports.TooltipTrigger=x;//# sourceMappingURL=tooltip.js.map
2
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/tooltip/tooltip.tsx"],"names":["cn","inputs","twMerge","clsx","TooltipProvider","t","Tooltip","TooltipTrigger","TooltipContent","r","className","sideOffset","props","ref","jsx"],"mappings":"ukBAGO,SAASA,CAAMC,CAAAA,GAAAA,CAAAA,CAAsB,CAC1C,OAAOC,qBAAQC,CAAAA,SAAAA,CAAKF,CAAM,CAAC,CAC7B,KCgBMG,CAAmC,CAAAC,YAAA,CAAA,QAAA,CAEnCC,CAA2B,CAAAD,YAAA,CAAA,IAAA,CAE3BE,EAAkCF,YAElCG,CAAAA,OAAAA,CAAAA,CAAAA,CAAuBC,YAG3B,CAAA,UAAA,CAAA,CAAC,CAAE,SAAA,CAAAC,CAAW,CAAA,UAAA,CAAAC,EAAa,CAAG,CAAA,GAAGC,CAAM,CAAA,CAAGC,CAC1CC,GAAAA,cAAAA,CAAkBT,YAAjB,CAAA,MAAA,CAAA,CACC,SAAAS,cAAkB,CAAAT,YAAA,CAAA,OAAA,CAAjB,CACC,GAAA,CAAKQ,CACL,CAAA,UAAA,CAAYF,CACZ,CAAA,SAAA,CAAWX,EACT,qaACAU,CAAAA,CACF,CACC,CAAA,GAAGE,EACN,CACF,CAAA,CACD,EACDJ,CAAAA,CAAe,YAA+BH,YAAQ,CAAA,OAAA,CAAA,WAAA","file":"tooltip.js","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 TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"@/utils/index\"\n\n/**\n * TooltipProvider component for creating accessible tooltips.\n * Built on top of Radix UI's Tooltip primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-tooltip--docs\n *\n * @example\n * ```tsx\n * <TooltipProvider>\n * <Tooltip>\n * <TooltipTrigger>Hover me</TooltipTrigger>\n * <TooltipContent>Tooltip content</TooltipContent>\n * </Tooltip>\n * </TooltipProvider>\n * ```\n */\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n"]}
@@ -0,0 +1,2 @@
1
+ import*as r from'react';import*as t from'@radix-ui/react-tooltip';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {jsx}from'react/jsx-runtime';function i(...o){return twMerge(clsx(o))}var g=t.Provider,u=t.Root,x=t.Trigger,d=r.forwardRef(({className:o,sideOffset:a=4,...m},n)=>jsx(t.Portal,{children:jsx(t.Content,{ref:n,sideOffset:a,className:i("z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]",o),...m})}));d.displayName=t.Content.displayName;export{u as Tooltip,d as TooltipContent,g as TooltipProvider,x as TooltipTrigger};//# sourceMappingURL=tooltip.mjs.map
2
+ //# sourceMappingURL=tooltip.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/tooltip/tooltip.tsx"],"names":["cn","inputs","twMerge","clsx","TooltipProvider","Tooltip","TooltipTrigger","TooltipContent","className","sideOffset","props","ref","jsx"],"mappings":"mKAGO,SAASA,CAAMC,CAAAA,GAAAA,CAAAA,CAAsB,CAC1C,OAAOC,OAAQC,CAAAA,IAAAA,CAAKF,CAAM,CAAC,CAC7B,KCgBMG,CAAmC,CAAA,CAAA,CAAA,QAAA,CAEnCC,CAA2B,CAAA,CAAA,CAAA,IAAA,CAE3BC,EAAkC,CAElCC,CAAAA,OAAAA,CAAAA,CAAAA,CAAuB,CAG3B,CAAA,UAAA,CAAA,CAAC,CAAE,SAAA,CAAAC,CAAW,CAAA,UAAA,CAAAC,EAAa,CAAG,CAAA,GAAGC,CAAM,CAAA,CAAGC,CAC1CC,GAAAA,GAAAA,CAAkB,CAAjB,CAAA,MAAA,CAAA,CACC,SAAAA,GAAkB,CAAA,CAAA,CAAA,OAAA,CAAjB,CACC,GAAA,CAAKD,CACL,CAAA,UAAA,CAAYF,CACZ,CAAA,SAAA,CAAWT,EACT,qaACAQ,CAAAA,CACF,CACC,CAAA,GAAGE,EACN,CACF,CAAA,CACD,EACDH,CAAAA,CAAe,YAA+B,CAAQ,CAAA,OAAA,CAAA,WAAA","file":"tooltip.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 TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"@/utils/index\"\n\n/**\n * TooltipProvider component for creating accessible tooltips.\n * Built on top of Radix UI's Tooltip primitive.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-tooltip--docs\n *\n * @example\n * ```tsx\n * <TooltipProvider>\n * <Tooltip>\n * <TooltipTrigger>Hover me</TooltipTrigger>\n * <TooltipContent>Tooltip content</TooltipContent>\n * </Tooltip>\n * </TooltipProvider>\n * ```\n */\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md bg-primary px-3 py-1.5 text-xs text-primary-foreground animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 origin-[--radix-tooltip-content-transform-origin]\",\n className\n )}\n {...props}\n />\n </TooltipPrimitive.Portal>\n))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n"]}
@@ -0,0 +1,24 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const typographyVariants: (props?: ({
6
+ variant?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "blockquote" | "list" | "lead" | "large" | "small" | "muted" | null | undefined;
7
+ align?: "left" | "center" | "right" | "justify" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ interface TypographyProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof typographyVariants> {
10
+ as?: React.ElementType;
11
+ }
12
+ /**
13
+ * Typography component for creating accessible text elements.
14
+ * Built on top of shadcn/ui's Typography component.
15
+ *
16
+ * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-typography--docs
17
+ *
18
+ */
19
+ declare const Typography: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLElement>>;
20
+
21
+ type TypographyVariant = NonNullable<VariantProps<typeof typographyVariants>["variant"]>;
22
+ type TypographyAlign = NonNullable<VariantProps<typeof typographyVariants>["align"]>;
23
+
24
+ export { Typography, type TypographyAlign, type TypographyProps, type TypographyVariant, typographyVariants };
@@ -0,0 +1,24 @@
1
+ import * as class_variance_authority_types from 'class-variance-authority/types';
2
+ import * as React from 'react';
3
+ import { VariantProps } from 'class-variance-authority';
4
+
5
+ declare const typographyVariants: (props?: ({
6
+ variant?: "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "p" | "blockquote" | "list" | "lead" | "large" | "small" | "muted" | null | undefined;
7
+ align?: "left" | "center" | "right" | "justify" | null | undefined;
8
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
9
+ interface TypographyProps extends React.HTMLAttributes<HTMLElement>, VariantProps<typeof typographyVariants> {
10
+ as?: React.ElementType;
11
+ }
12
+ /**
13
+ * Typography component for creating accessible text elements.
14
+ * Built on top of shadcn/ui's Typography component.
15
+ *
16
+ * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-typography--docs
17
+ *
18
+ */
19
+ declare const Typography: React.ForwardRefExoticComponent<TypographyProps & React.RefAttributes<HTMLElement>>;
20
+
21
+ type TypographyVariant = NonNullable<VariantProps<typeof typographyVariants>["variant"]>;
22
+ type TypographyAlign = NonNullable<VariantProps<typeof typographyVariants>["align"]>;
23
+
24
+ export { Typography, type TypographyAlign, type TypographyProps, type TypographyVariant, typographyVariants };
@@ -0,0 +1,2 @@
1
+ 'use strict';var r=require('react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var r__namespace=/*#__PURE__*/_interopNamespace(r);function e(...t){return tailwindMerge.twMerge(clsx.clsx(t))}var c=classVarianceAuthority.cva("",{variants:{variant:{h1:"scroll-m-5 text-4xl font-extrabold tracking-tight lg:text-5xl",h2:"scroll-m-5 text-3xl font-semibold tracking-tight",h3:"scroll-m-5 text-2xl font-semibold tracking-tight",h4:"scroll-m-5 text-xl font-semibold tracking-tight",h5:"scroll-m-5 text-lg font-semibold tracking-tight",h6:"scroll-m-5 text-base font-semibold tracking-tight",p:"leading-7 [&:not(:first-child)]:mt-6",blockquote:"mt-6 border-l-2 border-slate-300 pl-6 italic",list:"my-6 ml-6 list-disc [&>li]:mt-2",lead:"text-xl text-muted-foreground",large:"text-lg font-semibold",small:"text-sm font-medium leading-none",muted:"text-sm text-muted-foreground"},align:{left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"}},defaultVariants:{variant:"p",align:"left"}}),f=r__namespace.forwardRef(({className:t,variant:o,align:l,as:a="p",...i},n)=>jsxRuntime.jsx(a,{className:e(c({variant:o,align:l,className:t})),ref:n,...i}));f.displayName="Typography";exports.Typography=f;exports.typographyVariants=c;//# sourceMappingURL=typography.js.map
2
+ //# sourceMappingURL=typography.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/typography/typography.tsx"],"names":["cn","inputs","twMerge","clsx","typographyVariants","cva","Typography","r","className","variant","align","Component","props","ref","jsx"],"mappings":"0iBAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAsB,CAAA,CAC1C,OAAOC,qBAAAA,CAAQC,SAAKF,CAAAA,CAAM,CAAC,CAC7B,CCDMG,IAAAA,CAAAA,CAAqBC,0BAAI,CAAA,EAAA,CAAI,CACjC,QAAA,CAAU,CACR,OAAA,CAAS,CACP,EAAA,CAAI,+DACJ,CAAA,EAAA,CAAI,kDACJ,CAAA,EAAA,CAAI,kDACJ,CAAA,EAAA,CAAI,iDACJ,CAAA,EAAA,CAAI,iDACJ,CAAA,EAAA,CAAI,mDACJ,CAAA,CAAA,CAAG,sCACH,CAAA,UAAA,CAAY,8CACZ,CAAA,IAAA,CAAM,iCACN,CAAA,IAAA,CAAM,+BACN,CAAA,KAAA,CAAO,uBACP,CAAA,KAAA,CAAO,kCACP,CAAA,KAAA,CAAO,+BACT,CAAA,CACA,KAAO,CAAA,CACL,IAAM,CAAA,WAAA,CACN,MAAQ,CAAA,aAAA,CACR,KAAO,CAAA,YAAA,CACP,OAAS,CAAA,cACX,CACF,CAAA,CACA,eAAiB,CAAA,CACf,OAAS,CAAA,GAAA,CACT,KAAO,CAAA,MACT,CACF,CAAC,CAeKC,CAAAA,CAAAA,CAAmBC,YACvB,CAAA,UAAA,CAAA,CAAC,CAAE,SAAA,CAAAC,CAAW,CAAA,OAAA,CAAAC,CAAS,CAAA,KAAA,CAAAC,CAAO,CAAA,EAAA,CAAIC,CAAY,CAAA,GAAA,CAAK,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GAE3DC,cAACH,CAAAA,CAAAA,CAAA,CACC,SAAA,CAAWX,CAAGI,CAAAA,CAAAA,CAAmB,CAAE,OAAA,CAAAK,CAAS,CAAA,KAAA,CAAAC,CAAO,CAAA,SAAA,CAAAF,CAAU,CAAC,CAAC,CAAA,CAC/D,GAAKK,CAAAA,CAAAA,CACJ,GAAGD,CAAAA,CACN,CAGN,EAEAN,EAAW,WAAc,CAAA,YAAA","file":"typography.js","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 { cn } from \"@/utils\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nconst typographyVariants = cva(\"\", {\n variants: {\n variant: {\n h1: \"scroll-m-5 text-4xl font-extrabold tracking-tight lg:text-5xl\",\n h2: \"scroll-m-5 text-3xl font-semibold tracking-tight\",\n h3: \"scroll-m-5 text-2xl font-semibold tracking-tight\",\n h4: \"scroll-m-5 text-xl font-semibold tracking-tight\",\n h5: \"scroll-m-5 text-lg font-semibold tracking-tight\",\n h6: \"scroll-m-5 text-base font-semibold tracking-tight\",\n p: \"leading-7 [&:not(:first-child)]:mt-6\",\n blockquote: \"mt-6 border-l-2 border-slate-300 pl-6 italic\",\n list: \"my-6 ml-6 list-disc [&>li]:mt-2\",\n lead: \"text-xl text-muted-foreground\",\n large: \"text-lg font-semibold\",\n small: \"text-sm font-medium leading-none\",\n muted: \"text-sm text-muted-foreground\"\n },\n align: {\n left: \"text-left\",\n center: \"text-center\",\n right: \"text-right\",\n justify: \"text-justify\"\n }\n },\n defaultVariants: {\n variant: \"p\",\n align: \"left\"\n }\n})\n\nexport interface TypographyProps\n extends React.HTMLAttributes<HTMLElement>,\n VariantProps<typeof typographyVariants> {\n as?: React.ElementType\n}\n\n/**\n * Typography component for creating accessible text elements.\n * Built on top of shadcn/ui's Typography component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-typography--docs\n *\n */\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n ({ className, variant, align, as: Component = \"p\", ...props }, ref) => {\n return (\n <Component\n className={cn(typographyVariants({ variant, align, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\n\nTypography.displayName = \"Typography\"\n\nexport { Typography, typographyVariants }\n"]}
@@ -0,0 +1,2 @@
1
+ import*as r from'react';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx}from'react/jsx-runtime';function e(...t){return twMerge(clsx(t))}var c=cva("",{variants:{variant:{h1:"scroll-m-5 text-4xl font-extrabold tracking-tight lg:text-5xl",h2:"scroll-m-5 text-3xl font-semibold tracking-tight",h3:"scroll-m-5 text-2xl font-semibold tracking-tight",h4:"scroll-m-5 text-xl font-semibold tracking-tight",h5:"scroll-m-5 text-lg font-semibold tracking-tight",h6:"scroll-m-5 text-base font-semibold tracking-tight",p:"leading-7 [&:not(:first-child)]:mt-6",blockquote:"mt-6 border-l-2 border-slate-300 pl-6 italic",list:"my-6 ml-6 list-disc [&>li]:mt-2",lead:"text-xl text-muted-foreground",large:"text-lg font-semibold",small:"text-sm font-medium leading-none",muted:"text-sm text-muted-foreground"},align:{left:"text-left",center:"text-center",right:"text-right",justify:"text-justify"}},defaultVariants:{variant:"p",align:"left"}}),f=r.forwardRef(({className:t,variant:o,align:l,as:a="p",...i},n)=>jsx(a,{className:e(c({variant:o,align:l,className:t})),ref:n,...i}));f.displayName="Typography";export{f as Typography,c as typographyVariants};//# sourceMappingURL=typography.mjs.map
2
+ //# sourceMappingURL=typography.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils/cn.ts","../../src/components/atoms/typography/typography.tsx"],"names":["cn","inputs","twMerge","clsx","typographyVariants","cva","Typography","className","variant","align","Component","props","ref","jsx"],"mappings":"oKAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAsB,CAAA,CAC1C,OAAOC,OAAAA,CAAQC,IAAKF,CAAAA,CAAM,CAAC,CAC7B,CCDMG,IAAAA,CAAAA,CAAqBC,GAAI,CAAA,EAAA,CAAI,CACjC,QAAA,CAAU,CACR,OAAA,CAAS,CACP,EAAA,CAAI,+DACJ,CAAA,EAAA,CAAI,kDACJ,CAAA,EAAA,CAAI,kDACJ,CAAA,EAAA,CAAI,iDACJ,CAAA,EAAA,CAAI,iDACJ,CAAA,EAAA,CAAI,mDACJ,CAAA,CAAA,CAAG,sCACH,CAAA,UAAA,CAAY,8CACZ,CAAA,IAAA,CAAM,iCACN,CAAA,IAAA,CAAM,+BACN,CAAA,KAAA,CAAO,uBACP,CAAA,KAAA,CAAO,kCACP,CAAA,KAAA,CAAO,+BACT,CAAA,CACA,KAAO,CAAA,CACL,IAAM,CAAA,WAAA,CACN,MAAQ,CAAA,aAAA,CACR,KAAO,CAAA,YAAA,CACP,OAAS,CAAA,cACX,CACF,CAAA,CACA,eAAiB,CAAA,CACf,OAAS,CAAA,GAAA,CACT,KAAO,CAAA,MACT,CACF,CAAC,CAeKC,CAAAA,CAAAA,CAAmB,CACvB,CAAA,UAAA,CAAA,CAAC,CAAE,SAAA,CAAAC,CAAW,CAAA,OAAA,CAAAC,CAAS,CAAA,KAAA,CAAAC,CAAO,CAAA,EAAA,CAAIC,CAAY,CAAA,GAAA,CAAK,GAAGC,CAAM,CAAGC,CAAAA,CAAAA,GAE3DC,GAACH,CAAAA,CAAAA,CAAA,CACC,SAAA,CAAWV,CAAGI,CAAAA,CAAAA,CAAmB,CAAE,OAAA,CAAAI,CAAS,CAAA,KAAA,CAAAC,CAAO,CAAA,SAAA,CAAAF,CAAU,CAAC,CAAC,CAAA,CAC/D,GAAKK,CAAAA,CAAAA,CACJ,GAAGD,CAAAA,CACN,CAGN,EAEAL,EAAW,WAAc,CAAA,YAAA","file":"typography.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 { cn } from \"@/utils\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nconst typographyVariants = cva(\"\", {\n variants: {\n variant: {\n h1: \"scroll-m-5 text-4xl font-extrabold tracking-tight lg:text-5xl\",\n h2: \"scroll-m-5 text-3xl font-semibold tracking-tight\",\n h3: \"scroll-m-5 text-2xl font-semibold tracking-tight\",\n h4: \"scroll-m-5 text-xl font-semibold tracking-tight\",\n h5: \"scroll-m-5 text-lg font-semibold tracking-tight\",\n h6: \"scroll-m-5 text-base font-semibold tracking-tight\",\n p: \"leading-7 [&:not(:first-child)]:mt-6\",\n blockquote: \"mt-6 border-l-2 border-slate-300 pl-6 italic\",\n list: \"my-6 ml-6 list-disc [&>li]:mt-2\",\n lead: \"text-xl text-muted-foreground\",\n large: \"text-lg font-semibold\",\n small: \"text-sm font-medium leading-none\",\n muted: \"text-sm text-muted-foreground\"\n },\n align: {\n left: \"text-left\",\n center: \"text-center\",\n right: \"text-right\",\n justify: \"text-justify\"\n }\n },\n defaultVariants: {\n variant: \"p\",\n align: \"left\"\n }\n})\n\nexport interface TypographyProps\n extends React.HTMLAttributes<HTMLElement>,\n VariantProps<typeof typographyVariants> {\n as?: React.ElementType\n}\n\n/**\n * Typography component for creating accessible text elements.\n * Built on top of shadcn/ui's Typography component.\n *\n * @url https://sergii-melnykov.github.io/ui/?path=/docs/atoms-typography--docs\n *\n */\nconst Typography = React.forwardRef<HTMLElement, TypographyProps>(\n ({ className, variant, align, as: Component = \"p\", ...props }, ref) => {\n return (\n <Component\n className={cn(typographyVariants({ variant, align, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\n\nTypography.displayName = \"Typography\"\n\nexport { Typography, typographyVariants }\n"]}