@definable/ui 0.1.0 → 0.1.8

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 (322) hide show
  1. package/README.md +6 -6
  2. package/dist/alert-dialog.d.ts +18 -0
  3. package/dist/alert.d.ts +18 -0
  4. package/dist/avatar.d.ts +9 -0
  5. package/dist/badge.d.ts +15 -0
  6. package/dist/button.d.ts +16 -0
  7. package/dist/calendar.d.ts +21 -0
  8. package/dist/card.d.ts +15 -0
  9. package/dist/carousel.d.ts +18 -0
  10. package/dist/charts.d.ts +26 -0
  11. package/dist/checkbox.d.ts +6 -0
  12. package/dist/collapse.d.ts +15 -0
  13. package/dist/command-menu.d.ts +12 -0
  14. package/dist/command.d.ts +89 -0
  15. package/dist/components/alert-dialog.d.ts +15 -0
  16. package/dist/components/alert-dialog.esm.js +59 -0
  17. package/dist/components/alert-dialog.esm.js.map +1 -0
  18. package/dist/components/alert-dialog.js +2 -0
  19. package/dist/components/alert-dialog.js.map +1 -0
  20. package/dist/components/alert.d.ts +11 -0
  21. package/dist/components/alert.esm.js +51 -0
  22. package/dist/components/alert.esm.js.map +1 -0
  23. package/dist/components/alert.js +2 -0
  24. package/dist/components/alert.js.map +1 -0
  25. package/dist/components/avatar.d.ts +5 -0
  26. package/dist/components/avatar.esm.js +42 -0
  27. package/dist/components/avatar.esm.js.map +1 -0
  28. package/dist/components/avatar.js +2 -0
  29. package/dist/components/avatar.js.map +1 -0
  30. package/dist/components/badge.d.ts +9 -0
  31. package/dist/components/badge.esm.js +27 -0
  32. package/dist/components/badge.esm.js.map +1 -0
  33. package/dist/components/badge.js +2 -0
  34. package/dist/components/badge.js.map +1 -0
  35. package/dist/components/button.d.ts +13 -0
  36. package/dist/components/button.esm.js +48 -0
  37. package/dist/components/button.esm.js.map +1 -0
  38. package/dist/components/button.js +2 -0
  39. package/dist/components/button.js.map +1 -0
  40. package/dist/components/calendar.d.ts +18 -0
  41. package/dist/components/calendar.esm.js +5562 -0
  42. package/dist/components/calendar.esm.js.map +1 -0
  43. package/dist/components/calendar.js +2 -0
  44. package/dist/components/calendar.js.map +1 -0
  45. package/dist/components/card.d.ts +8 -0
  46. package/dist/components/card.esm.js +62 -0
  47. package/dist/components/card.esm.js.map +1 -0
  48. package/dist/components/card.js +2 -0
  49. package/dist/components/card.js.map +1 -0
  50. package/dist/components/carousel.d.ts +13 -0
  51. package/dist/components/carousel.esm.js +101 -0
  52. package/dist/components/carousel.esm.js.map +1 -0
  53. package/dist/components/carousel.js +2 -0
  54. package/dist/components/carousel.js.map +1 -0
  55. package/dist/components/charts.d.ts +17 -0
  56. package/dist/components/charts.esm.js +48 -0
  57. package/dist/components/charts.esm.js.map +1 -0
  58. package/dist/components/charts.js +2 -0
  59. package/dist/components/charts.js.map +1 -0
  60. package/dist/components/checkbox.d.ts +4 -0
  61. package/dist/components/checkbox.esm.js +32 -0
  62. package/dist/components/checkbox.esm.js.map +1 -0
  63. package/dist/components/checkbox.js +2 -0
  64. package/dist/components/checkbox.js.map +1 -0
  65. package/dist/components/collapse.d.ts +11 -0
  66. package/dist/components/collapse.esm.js +50 -0
  67. package/dist/components/collapse.esm.js.map +1 -0
  68. package/dist/components/collapse.js +2 -0
  69. package/dist/components/collapse.js.map +1 -0
  70. package/dist/components/command-menu.d.ts +7 -0
  71. package/dist/components/command-menu.esm.js +90 -0
  72. package/dist/components/command-menu.esm.js.map +1 -0
  73. package/dist/components/command-menu.js +2 -0
  74. package/dist/components/command-menu.js.map +1 -0
  75. package/dist/components/command.d.ts +79 -0
  76. package/dist/components/command.esm.js +425 -0
  77. package/dist/components/command.esm.js.map +1 -0
  78. package/dist/components/command.js +2 -0
  79. package/dist/components/command.js.map +1 -0
  80. package/dist/components/confirmation-modal.d.ts +12 -0
  81. package/dist/components/confirmation-modal.esm.js +46 -0
  82. package/dist/components/confirmation-modal.esm.js.map +1 -0
  83. package/dist/components/confirmation-modal.js +2 -0
  84. package/dist/components/confirmation-modal.js.map +1 -0
  85. package/dist/components/context-menu.d.ts +26 -0
  86. package/dist/components/context-menu.esm.js +186 -0
  87. package/dist/components/context-menu.esm.js.map +1 -0
  88. package/dist/components/context-menu.js +2 -0
  89. package/dist/components/context-menu.js.map +1 -0
  90. package/dist/components/dialog.d.ts +21 -0
  91. package/dist/components/dialog.esm.js +122 -0
  92. package/dist/components/dialog.esm.js.map +1 -0
  93. package/dist/components/dialog.js +2 -0
  94. package/dist/components/dialog.js.map +1 -0
  95. package/dist/components/dropdown-menu.d.ts +9 -0
  96. package/dist/components/dropdown-menu.esm.js +49 -0
  97. package/dist/components/dropdown-menu.esm.js.map +1 -0
  98. package/dist/components/dropdown-menu.js +2 -0
  99. package/dist/components/dropdown-menu.js.map +1 -0
  100. package/dist/components/dropzone.d.ts +12 -0
  101. package/dist/components/dropzone.esm.js +45 -0
  102. package/dist/components/dropzone.esm.js.map +1 -0
  103. package/dist/components/dropzone.js +2 -0
  104. package/dist/components/dropzone.js.map +1 -0
  105. package/dist/components/image-cropper-modal.d.ts +10 -0
  106. package/dist/components/image-cropper-modal.esm.js +251 -0
  107. package/dist/components/image-cropper-modal.esm.js.map +1 -0
  108. package/dist/components/image-cropper-modal.js +2 -0
  109. package/dist/components/image-cropper-modal.js.map +1 -0
  110. package/dist/components/image-cropper.d.ts +11 -0
  111. package/dist/components/image-cropper.esm.js +131 -0
  112. package/dist/components/image-cropper.esm.js.map +1 -0
  113. package/dist/components/image-cropper.js +2 -0
  114. package/dist/components/image-cropper.js.map +1 -0
  115. package/dist/components/input.d.ts +5 -0
  116. package/dist/components/input.esm.js +22 -0
  117. package/dist/components/input.esm.js.map +1 -0
  118. package/dist/components/input.js +2 -0
  119. package/dist/components/input.js.map +1 -0
  120. package/dist/components/label.d.ts +4 -0
  121. package/dist/components/label.esm.js +20 -0
  122. package/dist/components/label.esm.js.map +1 -0
  123. package/dist/components/label.js +2 -0
  124. package/dist/components/label.js.map +1 -0
  125. package/dist/components/loader.d.ts +10 -0
  126. package/dist/components/loader.esm.js +70 -0
  127. package/dist/components/loader.esm.js.map +1 -0
  128. package/dist/components/loader.js +2 -0
  129. package/dist/components/loader.js.map +1 -0
  130. package/dist/components/loading-placeholder.d.ts +8 -0
  131. package/dist/components/loading-placeholder.esm.js +25 -0
  132. package/dist/components/loading-placeholder.esm.js.map +1 -0
  133. package/dist/components/loading-placeholder.js +2 -0
  134. package/dist/components/loading-placeholder.js.map +1 -0
  135. package/dist/components/markdown.d.ts +2 -0
  136. package/dist/components/markdown.esm.js +12066 -0
  137. package/dist/components/markdown.esm.js.map +1 -0
  138. package/dist/components/markdown.js +18 -0
  139. package/dist/components/markdown.js.map +1 -0
  140. package/dist/components/mention.d.ts +25 -0
  141. package/dist/components/mention.esm.js +154 -0
  142. package/dist/components/mention.esm.js.map +1 -0
  143. package/dist/components/mention.js +2 -0
  144. package/dist/components/mention.js.map +1 -0
  145. package/dist/components/modal.d.ts +19 -0
  146. package/dist/components/modal.esm.js +92 -0
  147. package/dist/components/modal.esm.js.map +1 -0
  148. package/dist/components/modal.js +2 -0
  149. package/dist/components/modal.js.map +1 -0
  150. package/dist/components/monaco-editor.d.ts +2 -0
  151. package/dist/components/monaco-editor.esm.js +295 -0
  152. package/dist/components/monaco-editor.esm.js.map +1 -0
  153. package/dist/components/monaco-editor.js +8 -0
  154. package/dist/components/monaco-editor.js.map +1 -0
  155. package/dist/components/notification.d.ts +5 -0
  156. package/dist/components/notification.esm.js +26 -0
  157. package/dist/components/notification.esm.js.map +1 -0
  158. package/dist/components/notification.js +2 -0
  159. package/dist/components/notification.js.map +1 -0
  160. package/dist/components/popover.d.ts +6 -0
  161. package/dist/components/popover.esm.js +24 -0
  162. package/dist/components/popover.esm.js.map +1 -0
  163. package/dist/components/popover.js +2 -0
  164. package/dist/components/popover.js.map +1 -0
  165. package/dist/components/progress.d.ts +4 -0
  166. package/dist/components/progress.esm.js +35 -0
  167. package/dist/components/progress.esm.js.map +1 -0
  168. package/dist/components/progress.js +2 -0
  169. package/dist/components/progress.js.map +1 -0
  170. package/dist/components/radio-group.d.ts +5 -0
  171. package/dist/components/radio-group.esm.js +48 -0
  172. package/dist/components/radio-group.esm.js.map +1 -0
  173. package/dist/components/radio-group.js +2 -0
  174. package/dist/components/radio-group.js.map +1 -0
  175. package/dist/components/scroll-area.d.ts +5 -0
  176. package/dist/components/scroll-area.esm.js +47 -0
  177. package/dist/components/scroll-area.esm.js.map +1 -0
  178. package/dist/components/scroll-area.js +2 -0
  179. package/dist/components/scroll-area.js.map +1 -0
  180. package/dist/components/select.d.ts +20 -0
  181. package/dist/components/select.esm.js +131 -0
  182. package/dist/components/select.esm.js.map +1 -0
  183. package/dist/components/select.js +2 -0
  184. package/dist/components/select.js.map +1 -0
  185. package/dist/components/selection-bar.d.ts +11 -0
  186. package/dist/components/selection-bar.esm.js +54 -0
  187. package/dist/components/selection-bar.esm.js.map +1 -0
  188. package/dist/components/selection-bar.js +2 -0
  189. package/dist/components/selection-bar.js.map +1 -0
  190. package/dist/components/separator.d.ts +4 -0
  191. package/dist/components/separator.esm.js +25 -0
  192. package/dist/components/separator.esm.js.map +1 -0
  193. package/dist/components/separator.js +2 -0
  194. package/dist/components/separator.js.map +1 -0
  195. package/dist/components/sheet.d.ts +13 -0
  196. package/dist/components/sheet.esm.js +129 -0
  197. package/dist/components/sheet.esm.js.map +1 -0
  198. package/dist/components/sheet.js +2 -0
  199. package/dist/components/sheet.js.map +1 -0
  200. package/dist/components/skeleton.d.ts +2 -0
  201. package/dist/components/skeleton.esm.js +18 -0
  202. package/dist/components/skeleton.esm.js.map +1 -0
  203. package/dist/components/skeleton.js +2 -0
  204. package/dist/components/skeleton.js.map +1 -0
  205. package/dist/components/slider.d.ts +4 -0
  206. package/dist/components/slider.esm.js +33 -0
  207. package/dist/components/slider.esm.js.map +1 -0
  208. package/dist/components/slider.js +2 -0
  209. package/dist/components/slider.js.map +1 -0
  210. package/dist/components/stepper.d.ts +2 -0
  211. package/dist/components/stepper.esm.js +214 -0
  212. package/dist/components/stepper.esm.js.map +1 -0
  213. package/dist/components/stepper.js +2 -0
  214. package/dist/components/stepper.js.map +1 -0
  215. package/dist/components/switch.d.ts +4 -0
  216. package/dist/components/switch.esm.js +36 -0
  217. package/dist/components/switch.esm.js.map +1 -0
  218. package/dist/components/switch.js +2 -0
  219. package/dist/components/switch.js.map +1 -0
  220. package/dist/components/table-empty.d.ts +9 -0
  221. package/dist/components/table-empty.esm.js +23 -0
  222. package/dist/components/table-empty.esm.js.map +1 -0
  223. package/dist/components/table-empty.js +2 -0
  224. package/dist/components/table-empty.js.map +1 -0
  225. package/dist/components/table-mobile.d.ts +4 -0
  226. package/dist/components/table-mobile.esm.js +92 -0
  227. package/dist/components/table-mobile.esm.js.map +1 -0
  228. package/dist/components/table-mobile.js +2 -0
  229. package/dist/components/table-mobile.js.map +1 -0
  230. package/dist/components/table.d.ts +31 -0
  231. package/dist/components/table.esm.js +143 -0
  232. package/dist/components/table.esm.js.map +1 -0
  233. package/dist/components/table.js +2 -0
  234. package/dist/components/table.js.map +1 -0
  235. package/dist/components/tabs.d.ts +7 -0
  236. package/dist/components/tabs.esm.js +47 -0
  237. package/dist/components/tabs.esm.js.map +1 -0
  238. package/dist/components/tabs.js +2 -0
  239. package/dist/components/tabs.js.map +1 -0
  240. package/dist/components/terminal.d.ts +43 -0
  241. package/dist/components/terminal.esm.js +50 -0
  242. package/dist/components/terminal.esm.js.map +1 -0
  243. package/dist/components/terminal.js +2 -0
  244. package/dist/components/terminal.js.map +1 -0
  245. package/dist/components/textarea.d.ts +5 -0
  246. package/dist/components/textarea.esm.js +21 -0
  247. package/dist/components/textarea.esm.js.map +1 -0
  248. package/dist/components/textarea.js +2 -0
  249. package/dist/components/textarea.js.map +1 -0
  250. package/dist/components/tooltip.d.ts +8 -0
  251. package/dist/components/tooltip.esm.js +100 -0
  252. package/dist/components/tooltip.esm.js.map +1 -0
  253. package/dist/components/tooltip.js +2 -0
  254. package/dist/components/tooltip.js.map +1 -0
  255. package/dist/components/use-toast.d.ts +21 -0
  256. package/dist/components/use-toast.esm.js +65 -0
  257. package/dist/components/use-toast.esm.js.map +1 -0
  258. package/dist/components/use-toast.js +2 -0
  259. package/dist/components/use-toast.js.map +1 -0
  260. package/dist/confirmation-modal.d.ts +16 -0
  261. package/dist/context-menu.d.ts +41 -0
  262. package/dist/dialog.d.ts +33 -0
  263. package/dist/dropdown-menu.d.ts +16 -0
  264. package/dist/dropzone.d.ts +16 -0
  265. package/dist/image-cropper-modal.d.ts +14 -0
  266. package/dist/image-cropper.d.ts +15 -0
  267. package/dist/index-DACAHwoB.js +35 -0
  268. package/dist/index-DACAHwoB.js.map +1 -0
  269. package/dist/index-Deooizx8.cjs +2 -0
  270. package/dist/index-Deooizx8.cjs.map +1 -0
  271. package/dist/index.d.ts +8 -2
  272. package/dist/index.esm.js +111 -75430
  273. package/dist/index.esm.js.map +1 -1
  274. package/dist/index.js +2 -0
  275. package/dist/index.js.map +1 -0
  276. package/dist/input.d.ts +8 -0
  277. package/dist/jsx-runtime-BYECrxsp.cjs +31 -0
  278. package/dist/jsx-runtime-BYECrxsp.cjs.map +1 -0
  279. package/dist/jsx-runtime-DGlMoOmv.js +631 -0
  280. package/dist/jsx-runtime-DGlMoOmv.js.map +1 -0
  281. package/dist/label.d.ts +6 -0
  282. package/dist/lib/utils.d.ts +2 -0
  283. package/dist/lib/utils.esm.js +5 -0
  284. package/dist/lib/utils.esm.js.map +1 -0
  285. package/dist/lib/utils.js +2 -0
  286. package/dist/lib/utils.js.map +1 -0
  287. package/dist/loader.d.ts +14 -0
  288. package/dist/loading-placeholder.d.ts +12 -0
  289. package/dist/markdown.d.ts +122 -0
  290. package/dist/mention.d.ts +29 -0
  291. package/dist/modal.d.ts +24 -0
  292. package/dist/monaco-editor.d.ts +76 -0
  293. package/dist/notification.d.ts +9 -0
  294. package/dist/popover.d.ts +10 -0
  295. package/dist/progress.d.ts +6 -0
  296. package/dist/radio-group.d.ts +8 -0
  297. package/dist/scroll-area.d.ts +8 -0
  298. package/dist/select.d.ts +31 -0
  299. package/dist/selection-bar.d.ts +15 -0
  300. package/dist/separator.d.ts +6 -0
  301. package/dist/sheet.d.ts +17 -0
  302. package/dist/skeleton.d.ts +5 -0
  303. package/dist/slider.d.ts +6 -0
  304. package/dist/stepper.d.ts +71 -0
  305. package/dist/styles.css +1 -1
  306. package/dist/switch.d.ts +6 -0
  307. package/dist/table-empty.d.ts +13 -0
  308. package/dist/table-mobile.d.ts +37 -0
  309. package/dist/table.d.ts +37 -0
  310. package/dist/tabs.d.ts +12 -0
  311. package/dist/terminal.d.ts +47 -0
  312. package/dist/textarea.d.ts +8 -0
  313. package/dist/tooltip.d.ts +12 -0
  314. package/dist/use-toast.d.ts +28 -0
  315. package/dist/utils-DSKoFOjv.cjs +2 -0
  316. package/dist/utils-DSKoFOjv.cjs.map +1 -0
  317. package/dist/utils-qaFjX9_3.js +2279 -0
  318. package/dist/utils-qaFjX9_3.js.map +1 -0
  319. package/dist/utils.d.ts +5 -0
  320. package/package.json +259 -1
  321. package/dist/index.cjs.js +0 -315
  322. package/dist/index.cjs.js.map +0 -1
@@ -0,0 +1,43 @@
1
+ export declare const ANSI: {
2
+ readonly RESET: "\u001B[0m";
3
+ readonly BOLD: "\u001B[1m";
4
+ readonly DIM: "\u001B[2m";
5
+ readonly ITALIC: "\u001B[3m";
6
+ readonly UNDERLINE: "\u001B[4m";
7
+ readonly BLINK: "\u001B[5m";
8
+ readonly REVERSE: "\u001B[7m";
9
+ readonly STRIKETHROUGH: "\u001B[9m";
10
+ readonly BLACK: "\u001B[30m";
11
+ readonly RED: "\u001B[31m";
12
+ readonly GREEN: "\u001B[32m";
13
+ readonly YELLOW: "\u001B[33m";
14
+ readonly BLUE: "\u001B[34m";
15
+ readonly MAGENTA: "\u001B[35m";
16
+ readonly CYAN: "\u001B[36m";
17
+ readonly WHITE: "\u001B[37m";
18
+ readonly GRAY: "\u001B[90m";
19
+ readonly BRIGHT_BLACK: "\u001B[90m";
20
+ readonly BRIGHT_RED: "\u001B[91m";
21
+ readonly BRIGHT_GREEN: "\u001B[92m";
22
+ readonly BRIGHT_YELLOW: "\u001B[93m";
23
+ readonly BRIGHT_BLUE: "\u001B[94m";
24
+ readonly BRIGHT_MAGENTA: "\u001B[95m";
25
+ readonly BRIGHT_CYAN: "\u001B[96m";
26
+ readonly BRIGHT_WHITE: "\u001B[97m";
27
+ readonly BG_BLACK: "\u001B[40m";
28
+ readonly BG_RED: "\u001B[41m";
29
+ readonly BG_GREEN: "\u001B[42m";
30
+ readonly BG_YELLOW: "\u001B[43m";
31
+ readonly BG_BLUE: "\u001B[44m";
32
+ readonly BG_MAGENTA: "\u001B[45m";
33
+ readonly BG_CYAN: "\u001B[46m";
34
+ readonly BG_WHITE: "\u001B[47m";
35
+ };
36
+ export declare const colorize: (text: string, color: string) => string;
37
+ export declare const LOG_COLORS: {
38
+ readonly error: "\u001B[31m";
39
+ readonly warning: "\u001B[33m";
40
+ readonly success: "\u001B[32m";
41
+ readonly info: "\u001B[34m";
42
+ readonly debug: "\u001B[90m";
43
+ };
@@ -0,0 +1,50 @@
1
+ const B = {
2
+ RESET: "\x1B[0m",
3
+ BOLD: "\x1B[1m",
4
+ DIM: "\x1B[2m",
5
+ ITALIC: "\x1B[3m",
6
+ UNDERLINE: "\x1B[4m",
7
+ BLINK: "\x1B[5m",
8
+ REVERSE: "\x1B[7m",
9
+ STRIKETHROUGH: "\x1B[9m",
10
+ // Regular colors
11
+ BLACK: "\x1B[30m",
12
+ RED: "\x1B[31m",
13
+ GREEN: "\x1B[32m",
14
+ YELLOW: "\x1B[33m",
15
+ BLUE: "\x1B[34m",
16
+ MAGENTA: "\x1B[35m",
17
+ CYAN: "\x1B[36m",
18
+ WHITE: "\x1B[37m",
19
+ GRAY: "\x1B[90m",
20
+ // Bright colors
21
+ BRIGHT_BLACK: "\x1B[90m",
22
+ BRIGHT_RED: "\x1B[91m",
23
+ BRIGHT_GREEN: "\x1B[92m",
24
+ BRIGHT_YELLOW: "\x1B[93m",
25
+ BRIGHT_BLUE: "\x1B[94m",
26
+ BRIGHT_MAGENTA: "\x1B[95m",
27
+ BRIGHT_CYAN: "\x1B[96m",
28
+ BRIGHT_WHITE: "\x1B[97m",
29
+ // Background colors
30
+ BG_BLACK: "\x1B[40m",
31
+ BG_RED: "\x1B[41m",
32
+ BG_GREEN: "\x1B[42m",
33
+ BG_YELLOW: "\x1B[43m",
34
+ BG_BLUE: "\x1B[44m",
35
+ BG_MAGENTA: "\x1B[45m",
36
+ BG_CYAN: "\x1B[46m",
37
+ BG_WHITE: "\x1B[47m"
38
+ }, m = (E, x) => `${x}${E}${B.RESET}`, G = {
39
+ error: B.RED,
40
+ warning: B.YELLOW,
41
+ success: B.GREEN,
42
+ info: B.BLUE,
43
+ debug: B.GRAY
44
+ };
45
+ export {
46
+ B as ANSI,
47
+ G as LOG_COLORS,
48
+ m as colorize
49
+ };
50
+ //# sourceMappingURL=terminal.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.esm.js","sources":["../../src/components/terminal.tsx"],"sourcesContent":["// This file now just exports ANSI constants for backward compatibility\n// The actual terminal functionality is handled by CodeBlock component\n\n// ANSI color constants for easy use (compatible with new React-based terminal)\nexport const ANSI = {\n RESET: '\\x1b[0m',\n BOLD: '\\x1b[1m',\n DIM: '\\x1b[2m',\n ITALIC: '\\x1b[3m',\n UNDERLINE: '\\x1b[4m',\n BLINK: '\\x1b[5m',\n REVERSE: '\\x1b[7m',\n STRIKETHROUGH: '\\x1b[9m',\n \n // Regular colors\n BLACK: '\\x1b[30m',\n RED: '\\x1b[31m',\n GREEN: '\\x1b[32m',\n YELLOW: '\\x1b[33m',\n BLUE: '\\x1b[34m',\n MAGENTA: '\\x1b[35m',\n CYAN: '\\x1b[36m',\n WHITE: '\\x1b[37m',\n GRAY: '\\x1b[90m',\n \n // Bright colors\n BRIGHT_BLACK: '\\x1b[90m',\n BRIGHT_RED: '\\x1b[91m',\n BRIGHT_GREEN: '\\x1b[92m',\n BRIGHT_YELLOW: '\\x1b[93m',\n BRIGHT_BLUE: '\\x1b[94m',\n BRIGHT_MAGENTA: '\\x1b[95m',\n BRIGHT_CYAN: '\\x1b[96m',\n BRIGHT_WHITE: '\\x1b[97m',\n \n // Background colors\n BG_BLACK: '\\x1b[40m',\n BG_RED: '\\x1b[41m',\n BG_GREEN: '\\x1b[42m',\n BG_YELLOW: '\\x1b[43m',\n BG_BLUE: '\\x1b[44m',\n BG_MAGENTA: '\\x1b[45m',\n BG_CYAN: '\\x1b[46m',\n BG_WHITE: '\\x1b[47m',\n} as const;\n\n// Helper function to colorize text\nexport const colorize = (text: string, color: string): string => {\n return `${color}${text}${ANSI.RESET}`;\n};\n\n// Log level color helpers\nexport const LOG_COLORS = {\n error: ANSI.RED,\n warning: ANSI.YELLOW,\n success: ANSI.GREEN,\n info: ANSI.BLUE,\n debug: ANSI.GRAY,\n} as const;"],"names":["ANSI","colorize","text","color","LOG_COLORS"],"mappings":"AAIO,MAAMA,IAAO;AAAA,EAClB,OAAO;AAAA,EACP,MAAM;AAAA,EACN,KAAK;AAAA,EACL,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,OAAO;AAAA,EACP,SAAS;AAAA,EACT,eAAe;AAAA;AAAA,EAGf,OAAO;AAAA,EACP,KAAK;AAAA,EACL,OAAO;AAAA,EACP,QAAQ;AAAA,EACR,MAAM;AAAA,EACN,SAAS;AAAA,EACT,MAAM;AAAA,EACN,OAAO;AAAA,EACP,MAAM;AAAA;AAAA,EAGN,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,eAAe;AAAA,EACf,aAAa;AAAA,EACb,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,cAAc;AAAA;AAAA,EAGd,UAAU;AAAA,EACV,QAAQ;AAAA,EACR,UAAU;AAAA,EACV,WAAW;AAAA,EACX,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,SAAS;AAAA,EACT,UAAU;AACZ,GAGaC,IAAW,CAACC,GAAcC,MAC9B,GAAGA,CAAK,GAAGD,CAAI,GAAGF,EAAK,KAAK,IAIxBI,IAAa;AAAA,EACxB,OAAOJ,EAAK;AAAA,EACZ,SAASA,EAAK;AAAA,EACd,SAASA,EAAK;AAAA,EACd,MAAMA,EAAK;AAAA,EACX,OAAOA,EAAK;AACd;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const B={RESET:"\x1B[0m",BOLD:"\x1B[1m",DIM:"\x1B[2m",ITALIC:"\x1B[3m",UNDERLINE:"\x1B[4m",BLINK:"\x1B[5m",REVERSE:"\x1B[7m",STRIKETHROUGH:"\x1B[9m",BLACK:"\x1B[30m",RED:"\x1B[31m",GREEN:"\x1B[32m",YELLOW:"\x1B[33m",BLUE:"\x1B[34m",MAGENTA:"\x1B[35m",CYAN:"\x1B[36m",WHITE:"\x1B[37m",GRAY:"\x1B[90m",BRIGHT_BLACK:"\x1B[90m",BRIGHT_RED:"\x1B[91m",BRIGHT_GREEN:"\x1B[92m",BRIGHT_YELLOW:"\x1B[93m",BRIGHT_BLUE:"\x1B[94m",BRIGHT_MAGENTA:"\x1B[95m",BRIGHT_CYAN:"\x1B[96m",BRIGHT_WHITE:"\x1B[97m",BG_BLACK:"\x1B[40m",BG_RED:"\x1B[41m",BG_GREEN:"\x1B[42m",BG_YELLOW:"\x1B[43m",BG_BLUE:"\x1B[44m",BG_MAGENTA:"\x1B[45m",BG_CYAN:"\x1B[46m",BG_WHITE:"\x1B[47m"},x=(E,m)=>`${m}${E}${B.RESET}`,G={error:B.RED,warning:B.YELLOW,success:B.GREEN,info:B.BLUE,debug:B.GRAY};exports.ANSI=B;exports.LOG_COLORS=G;exports.colorize=x;
2
+ //# sourceMappingURL=terminal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"terminal.js","sources":["../../src/components/terminal.tsx"],"sourcesContent":["// This file now just exports ANSI constants for backward compatibility\n// The actual terminal functionality is handled by CodeBlock component\n\n// ANSI color constants for easy use (compatible with new React-based terminal)\nexport const ANSI = {\n RESET: '\\x1b[0m',\n BOLD: '\\x1b[1m',\n DIM: '\\x1b[2m',\n ITALIC: '\\x1b[3m',\n UNDERLINE: '\\x1b[4m',\n BLINK: '\\x1b[5m',\n REVERSE: '\\x1b[7m',\n STRIKETHROUGH: '\\x1b[9m',\n \n // Regular colors\n BLACK: '\\x1b[30m',\n RED: '\\x1b[31m',\n GREEN: '\\x1b[32m',\n YELLOW: '\\x1b[33m',\n BLUE: '\\x1b[34m',\n MAGENTA: '\\x1b[35m',\n CYAN: '\\x1b[36m',\n WHITE: '\\x1b[37m',\n GRAY: '\\x1b[90m',\n \n // Bright colors\n BRIGHT_BLACK: '\\x1b[90m',\n BRIGHT_RED: '\\x1b[91m',\n BRIGHT_GREEN: '\\x1b[92m',\n BRIGHT_YELLOW: '\\x1b[93m',\n BRIGHT_BLUE: '\\x1b[94m',\n BRIGHT_MAGENTA: '\\x1b[95m',\n BRIGHT_CYAN: '\\x1b[96m',\n BRIGHT_WHITE: '\\x1b[97m',\n \n // Background colors\n BG_BLACK: '\\x1b[40m',\n BG_RED: '\\x1b[41m',\n BG_GREEN: '\\x1b[42m',\n BG_YELLOW: '\\x1b[43m',\n BG_BLUE: '\\x1b[44m',\n BG_MAGENTA: '\\x1b[45m',\n BG_CYAN: '\\x1b[46m',\n BG_WHITE: '\\x1b[47m',\n} as const;\n\n// Helper function to colorize text\nexport const colorize = (text: string, color: string): string => {\n return `${color}${text}${ANSI.RESET}`;\n};\n\n// Log level color helpers\nexport const LOG_COLORS = {\n error: ANSI.RED,\n warning: ANSI.YELLOW,\n success: ANSI.GREEN,\n info: ANSI.BLUE,\n debug: ANSI.GRAY,\n} as const;"],"names":["ANSI","colorize","text","color","LOG_COLORS"],"mappings":"gFAIO,MAAMA,EAAO,CAClB,MAAO,UACP,KAAM,UACN,IAAK,UACL,OAAQ,UACR,UAAW,UACX,MAAO,UACP,QAAS,UACT,cAAe,UAGf,MAAO,WACP,IAAK,WACL,MAAO,WACP,OAAQ,WACR,KAAM,WACN,QAAS,WACT,KAAM,WACN,MAAO,WACP,KAAM,WAGN,aAAc,WACd,WAAY,WACZ,aAAc,WACd,cAAe,WACf,YAAa,WACb,eAAgB,WAChB,YAAa,WACb,aAAc,WAGd,SAAU,WACV,OAAQ,WACR,SAAU,WACV,UAAW,WACX,QAAS,WACT,WAAY,WACZ,QAAS,WACT,SAAU,UACZ,EAGaC,EAAW,CAACC,EAAcC,IAC9B,GAAGA,CAAK,GAAGD,CAAI,GAAGF,EAAK,KAAK,GAIxBI,EAAa,CACxB,MAAOJ,EAAK,IACZ,QAASA,EAAK,OACd,QAASA,EAAK,MACd,KAAMA,EAAK,KACX,MAAOA,EAAK,IACd"}
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ export interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
3
+ }
4
+ declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
5
+ export { Textarea };
@@ -0,0 +1,21 @@
1
+ import { j as i } from "../jsx-runtime-DGlMoOmv.js";
2
+ import * as s from "react";
3
+ import { c as t } from "../utils-qaFjX9_3.js";
4
+ const a = s.forwardRef(
5
+ ({ className: e, ...r }, o) => /* @__PURE__ */ i.jsx(
6
+ "textarea",
7
+ {
8
+ className: t(
9
+ "flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
10
+ e
11
+ ),
12
+ ref: o,
13
+ ...r
14
+ }
15
+ )
16
+ );
17
+ a.displayName = "Textarea";
18
+ export {
19
+ a as Textarea
20
+ };
21
+ //# sourceMappingURL=textarea.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.esm.js","sources":["../../src/components/textarea.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea } "],"names":["Textarea","React","className","props","ref","jsx","cn"],"mappings":";;;AAMA,MAAMA,IAAWC,EAAM;AAAA,EACrB,CAAC,EAAE,WAAAC,GAAW,GAAGC,EAAA,GAASC,MAEtBC,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAEF,KAAAE;AAAA,MACC,GAAGD;AAAA,IAAA;AAAA,EAAA;AAIZ;AACAH,EAAS,cAAc;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("../jsx-runtime-BYECrxsp.cjs"),a=require("react"),s=require("../utils-DSKoFOjv.cjs");function u(e){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const t in e)if(t!=="default"){const o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:()=>e[t]})}}return r.default=e,Object.freeze(r)}const c=u(a),n=c.forwardRef(({className:e,...r},t)=>i.jsxRuntimeExports.jsx("textarea",{className:s.cn("flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",e),ref:t,...r}));n.displayName="Textarea";exports.Textarea=n;
2
+ //# sourceMappingURL=textarea.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.js","sources":["../../src/components/textarea.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { cn } from \"@/lib/utils\"\n\nexport interface TextareaProps\n extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {}\n\nconst Textarea = React.forwardRef<HTMLTextAreaElement, TextareaProps>(\n ({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea } "],"names":["Textarea","React","className","props","ref","jsx","cn"],"mappings":"+cAMMA,EAAWC,EAAM,WACrB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAA,EAASC,IAEtBC,EAAAA,kBAAAA,IAAC,WAAA,CACC,UAAWC,EAAAA,GACT,uSACAJ,CAAA,EAEF,IAAAE,EACC,GAAGD,CAAA,CAAA,CAIZ,EACAH,EAAS,YAAc"}
@@ -0,0 +1,8 @@
1
+ interface TooltipProps {
2
+ content: string | React.ReactNode;
3
+ side?: 'left' | 'right' | 'top' | 'bottom';
4
+ align?: 'start' | 'center' | 'end';
5
+ isVisible: boolean;
6
+ }
7
+ export declare function Tooltip({ content, side, align, isVisible }: TooltipProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,100 @@
1
+ import { j as o } from "../jsx-runtime-DGlMoOmv.js";
2
+ import { AnimatePresence as b, motion as a } from "framer-motion";
3
+ import { c as s } from "../utils-qaFjX9_3.js";
4
+ function h({ content: t, side: e = "right", align: r = "center", isVisible: l }) {
5
+ return /* @__PURE__ */ o.jsx(b, { children: l && /* @__PURE__ */ o.jsxs(
6
+ a.div,
7
+ {
8
+ initial: {
9
+ opacity: 0,
10
+ ...n(e)
11
+ },
12
+ animate: {
13
+ opacity: 1,
14
+ x: 0,
15
+ y: 0
16
+ },
17
+ exit: {
18
+ opacity: 0,
19
+ ...n(e)
20
+ },
21
+ transition: { duration: 0.15, ease: "easeOut" },
22
+ className: s(
23
+ "absolute z-[100] px-2.5 py-1.5 rounded-md text-xs font-medium whitespace-nowrap",
24
+ "bg-background border border-border shadow-lg",
25
+ c(e, r)
26
+ ),
27
+ children: [
28
+ t,
29
+ /* @__PURE__ */ o.jsx(
30
+ a.div,
31
+ {
32
+ className: s(
33
+ "absolute w-1.5 h-1.5 rotate-45 bg-background border border-border",
34
+ p(e)
35
+ )
36
+ }
37
+ )
38
+ ]
39
+ }
40
+ ) });
41
+ }
42
+ const n = (t) => {
43
+ switch (t) {
44
+ case "right":
45
+ return { x: -5 };
46
+ case "left":
47
+ return { x: 5 };
48
+ case "top":
49
+ return { y: 5 };
50
+ case "bottom":
51
+ return { y: -5 };
52
+ default:
53
+ return { x: 0, y: 0 };
54
+ }
55
+ }, c = (t, e) => {
56
+ const r = [];
57
+ switch (t) {
58
+ case "right":
59
+ r.push("left-full ml-2");
60
+ break;
61
+ case "left":
62
+ r.push("right-full mr-2");
63
+ break;
64
+ case "top":
65
+ r.push("bottom-full mb-2");
66
+ break;
67
+ case "bottom":
68
+ r.push("top-full mt-2");
69
+ break;
70
+ }
71
+ switch (e) {
72
+ case "start":
73
+ r.push(t === "top" || t === "bottom" ? "left-0" : "top-0");
74
+ break;
75
+ case "center":
76
+ r.push(t === "top" || t === "bottom" ? "left-1/2 -translate-x-1/2" : "top-1/2 -translate-y-1/2");
77
+ break;
78
+ case "end":
79
+ r.push(t === "top" || t === "bottom" ? "right-0" : "bottom-0");
80
+ break;
81
+ }
82
+ return r.join(" ");
83
+ }, p = (t) => {
84
+ switch (t) {
85
+ case "right":
86
+ return "-left-[4px] top-1/2 -translate-y-1/2 border-r-0 border-t-0";
87
+ case "left":
88
+ return "-right-[4px] top-1/2 -translate-y-1/2 border-l-0 border-b-0";
89
+ case "top":
90
+ return "-bottom-[4px] left-1/2 -translate-x-1/2 border-l-0 border-t-0";
91
+ case "bottom":
92
+ return "-top-[4px] left-1/2 -translate-x-1/2 border-r-0 border-b-0";
93
+ default:
94
+ return "";
95
+ }
96
+ };
97
+ export {
98
+ h as Tooltip
99
+ };
100
+ //# sourceMappingURL=tooltip.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.esm.js","sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import { motion, AnimatePresence } from 'framer-motion';\nimport { cn } from '@/lib/utils';\n\ninterface TooltipProps {\n content: string | React.ReactNode;\n side?: 'left' | 'right' | 'top' | 'bottom';\n align?: 'start' | 'center' | 'end';\n isVisible: boolean;\n}\n\nexport function Tooltip({ content, side = 'right', align = 'center', isVisible }: TooltipProps) {\n return (\n <AnimatePresence>\n {isVisible && (\n <motion.div\n initial={{ \n opacity: 0, \n ...getInitialPosition(side)\n }}\n animate={{ \n opacity: 1, \n x: 0,\n y: 0 \n }}\n exit={{ \n opacity: 0, \n ...getInitialPosition(side)\n }}\n transition={{ duration: 0.15, ease: 'easeOut' }}\n className={cn(\n 'absolute z-[100] px-2.5 py-1.5 rounded-md text-xs font-medium whitespace-nowrap',\n 'bg-background border border-border shadow-lg',\n getPositionClasses(side, align)\n )}\n >\n {content}\n <motion.div\n className={cn(\n 'absolute w-1.5 h-1.5 rotate-45 bg-background border border-border',\n getArrowClasses(side)\n )}\n />\n </motion.div>\n )}\n </AnimatePresence>\n );\n}\n\nconst getInitialPosition = (side: string) => {\n switch (side) {\n case 'right':\n return { x: -5 };\n case 'left':\n return { x: 5 };\n case 'top':\n return { y: 5 };\n case 'bottom':\n return { y: -5 };\n default:\n return { x: 0, y: 0 };\n }\n};\n\nconst getPositionClasses = (side: string, align: string) => {\n const baseClasses = [];\n\n switch (side) {\n case 'right':\n baseClasses.push('left-full ml-2');\n break;\n case 'left':\n baseClasses.push('right-full mr-2');\n break;\n case 'top':\n baseClasses.push('bottom-full mb-2');\n break;\n case 'bottom':\n baseClasses.push('top-full mt-2');\n break;\n }\n\n switch (align) {\n case 'start':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'left-0' : 'top-0');\n break;\n case 'center':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'left-1/2 -translate-x-1/2' : 'top-1/2 -translate-y-1/2');\n break;\n case 'end':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'right-0' : 'bottom-0');\n break;\n }\n\n return baseClasses.join(' ');\n};\n\nconst getArrowClasses = (side: string) => {\n switch (side) {\n case 'right':\n return '-left-[4px] top-1/2 -translate-y-1/2 border-r-0 border-t-0';\n case 'left':\n return '-right-[4px] top-1/2 -translate-y-1/2 border-l-0 border-b-0';\n case 'top':\n return '-bottom-[4px] left-1/2 -translate-x-1/2 border-l-0 border-t-0';\n case 'bottom':\n return '-top-[4px] left-1/2 -translate-x-1/2 border-r-0 border-b-0';\n default:\n return '';\n }\n};"],"names":["Tooltip","content","side","align","isVisible","jsx","AnimatePresence","jsxs","motion","getInitialPosition","cn","getPositionClasses","getArrowClasses","baseClasses"],"mappings":";;;AAUO,SAASA,EAAQ,EAAE,SAAAC,GAAS,MAAAC,IAAO,SAAS,OAAAC,IAAQ,UAAU,WAAAC,KAA2B;AAC9F,SACEC,gBAAAA,EAAAA,IAACC,KACE,UAAAF,KACCG,gBAAAA,EAAAA;AAAAA,IAACC,EAAO;AAAA,IAAP;AAAA,MACC,SAAS;AAAA,QACP,SAAS;AAAA,QACT,GAAGC,EAAmBP,CAAI;AAAA,MAAA;AAAA,MAE5B,SAAS;AAAA,QACP,SAAS;AAAA,QACT,GAAG;AAAA,QACH,GAAG;AAAA,MAAA;AAAA,MAEL,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,GAAGO,EAAmBP,CAAI;AAAA,MAAA;AAAA,MAE5B,YAAY,EAAE,UAAU,MAAM,MAAM,UAAA;AAAA,MACpC,WAAWQ;AAAA,QACT;AAAA,QACA;AAAA,QACAC,EAAmBT,GAAMC,CAAK;AAAA,MAAA;AAAA,MAG/B,UAAA;AAAA,QAAAF;AAAA,QACDI,gBAAAA,EAAAA;AAAAA,UAACG,EAAO;AAAA,UAAP;AAAA,YACC,WAAWE;AAAA,cACT;AAAA,cACAE,EAAgBV,CAAI;AAAA,YAAA;AAAA,UACtB;AAAA,QAAA;AAAA,MACF;AAAA,IAAA;AAAA,EAAA,GAGN;AAEJ;AAEA,MAAMO,IAAqB,CAACP,MAAiB;AAC3C,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO,EAAE,GAAG,GAAA;AAAA,IACd,KAAK;AACH,aAAO,EAAE,GAAG,EAAA;AAAA,IACd,KAAK;AACH,aAAO,EAAE,GAAG,EAAA;AAAA,IACd,KAAK;AACH,aAAO,EAAE,GAAG,GAAA;AAAA,IACd;AACE,aAAO,EAAE,GAAG,GAAG,GAAG,EAAA;AAAA,EAAE;AAE1B,GAEMS,IAAqB,CAACT,GAAcC,MAAkB;AAC1D,QAAMU,IAAc,CAAA;AAEpB,UAAQX,GAAA;AAAA,IACN,KAAK;AACH,MAAAW,EAAY,KAAK,gBAAgB;AACjC;AAAA,IACF,KAAK;AACH,MAAAA,EAAY,KAAK,iBAAiB;AAClC;AAAA,IACF,KAAK;AACH,MAAAA,EAAY,KAAK,kBAAkB;AACnC;AAAA,IACF,KAAK;AACH,MAAAA,EAAY,KAAK,eAAe;AAChC;AAAA,EAAA;AAGJ,UAAQV,GAAA;AAAA,IACN,KAAK;AACH,MAAAU,EAAY,KAAMX,MAAS,SAASA,MAAS,WAAY,WAAW,OAAO;AAC3E;AAAA,IACF,KAAK;AACH,MAAAW,EAAY,KAAMX,MAAS,SAASA,MAAS,WAAY,8BAA8B,0BAA0B;AACjH;AAAA,IACF,KAAK;AACH,MAAAW,EAAY,KAAMX,MAAS,SAASA,MAAS,WAAY,YAAY,UAAU;AAC/E;AAAA,EAAA;AAGJ,SAAOW,EAAY,KAAK,GAAG;AAC7B,GAEMD,IAAkB,CAACV,MAAiB;AACxC,UAAQA,GAAA;AAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EAAA;AAEb;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../jsx-runtime-BYECrxsp.cjs"),s=require("framer-motion"),a=require("../utils-DSKoFOjv.cjs");function i({content:t,side:r="right",align:e="center",isVisible:l}){return o.jsxRuntimeExports.jsx(s.AnimatePresence,{children:l&&o.jsxRuntimeExports.jsxs(s.motion.div,{initial:{opacity:0,...n(r)},animate:{opacity:1,x:0,y:0},exit:{opacity:0,...n(r)},transition:{duration:.15,ease:"easeOut"},className:a.cn("absolute z-[100] px-2.5 py-1.5 rounded-md text-xs font-medium whitespace-nowrap","bg-background border border-border shadow-lg",u(r,e)),children:[t,o.jsxRuntimeExports.jsx(s.motion.div,{className:a.cn("absolute w-1.5 h-1.5 rotate-45 bg-background border border-border",c(r))})]})})}const n=t=>{switch(t){case"right":return{x:-5};case"left":return{x:5};case"top":return{y:5};case"bottom":return{y:-5};default:return{x:0,y:0}}},u=(t,r)=>{const e=[];switch(t){case"right":e.push("left-full ml-2");break;case"left":e.push("right-full mr-2");break;case"top":e.push("bottom-full mb-2");break;case"bottom":e.push("top-full mt-2");break}switch(r){case"start":e.push(t==="top"||t==="bottom"?"left-0":"top-0");break;case"center":e.push(t==="top"||t==="bottom"?"left-1/2 -translate-x-1/2":"top-1/2 -translate-y-1/2");break;case"end":e.push(t==="top"||t==="bottom"?"right-0":"bottom-0");break}return e.join(" ")},c=t=>{switch(t){case"right":return"-left-[4px] top-1/2 -translate-y-1/2 border-r-0 border-t-0";case"left":return"-right-[4px] top-1/2 -translate-y-1/2 border-l-0 border-b-0";case"top":return"-bottom-[4px] left-1/2 -translate-x-1/2 border-l-0 border-t-0";case"bottom":return"-top-[4px] left-1/2 -translate-x-1/2 border-r-0 border-b-0";default:return""}};exports.Tooltip=i;
2
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.js","sources":["../../src/components/tooltip.tsx"],"sourcesContent":["import { motion, AnimatePresence } from 'framer-motion';\nimport { cn } from '@/lib/utils';\n\ninterface TooltipProps {\n content: string | React.ReactNode;\n side?: 'left' | 'right' | 'top' | 'bottom';\n align?: 'start' | 'center' | 'end';\n isVisible: boolean;\n}\n\nexport function Tooltip({ content, side = 'right', align = 'center', isVisible }: TooltipProps) {\n return (\n <AnimatePresence>\n {isVisible && (\n <motion.div\n initial={{ \n opacity: 0, \n ...getInitialPosition(side)\n }}\n animate={{ \n opacity: 1, \n x: 0,\n y: 0 \n }}\n exit={{ \n opacity: 0, \n ...getInitialPosition(side)\n }}\n transition={{ duration: 0.15, ease: 'easeOut' }}\n className={cn(\n 'absolute z-[100] px-2.5 py-1.5 rounded-md text-xs font-medium whitespace-nowrap',\n 'bg-background border border-border shadow-lg',\n getPositionClasses(side, align)\n )}\n >\n {content}\n <motion.div\n className={cn(\n 'absolute w-1.5 h-1.5 rotate-45 bg-background border border-border',\n getArrowClasses(side)\n )}\n />\n </motion.div>\n )}\n </AnimatePresence>\n );\n}\n\nconst getInitialPosition = (side: string) => {\n switch (side) {\n case 'right':\n return { x: -5 };\n case 'left':\n return { x: 5 };\n case 'top':\n return { y: 5 };\n case 'bottom':\n return { y: -5 };\n default:\n return { x: 0, y: 0 };\n }\n};\n\nconst getPositionClasses = (side: string, align: string) => {\n const baseClasses = [];\n\n switch (side) {\n case 'right':\n baseClasses.push('left-full ml-2');\n break;\n case 'left':\n baseClasses.push('right-full mr-2');\n break;\n case 'top':\n baseClasses.push('bottom-full mb-2');\n break;\n case 'bottom':\n baseClasses.push('top-full mt-2');\n break;\n }\n\n switch (align) {\n case 'start':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'left-0' : 'top-0');\n break;\n case 'center':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'left-1/2 -translate-x-1/2' : 'top-1/2 -translate-y-1/2');\n break;\n case 'end':\n baseClasses.push((side === 'top' || side === 'bottom') ? 'right-0' : 'bottom-0');\n break;\n }\n\n return baseClasses.join(' ');\n};\n\nconst getArrowClasses = (side: string) => {\n switch (side) {\n case 'right':\n return '-left-[4px] top-1/2 -translate-y-1/2 border-r-0 border-t-0';\n case 'left':\n return '-right-[4px] top-1/2 -translate-y-1/2 border-l-0 border-b-0';\n case 'top':\n return '-bottom-[4px] left-1/2 -translate-x-1/2 border-l-0 border-t-0';\n case 'bottom':\n return '-top-[4px] left-1/2 -translate-x-1/2 border-r-0 border-b-0';\n default:\n return '';\n }\n};"],"names":["Tooltip","content","side","align","isVisible","jsx","AnimatePresence","jsxs","motion","getInitialPosition","cn","getPositionClasses","getArrowClasses","baseClasses"],"mappings":"6LAUO,SAASA,EAAQ,CAAE,QAAAC,EAAS,KAAAC,EAAO,QAAS,MAAAC,EAAQ,SAAU,UAAAC,GAA2B,CAC9F,OACEC,EAAAA,kBAAAA,IAACC,EAAAA,iBACE,SAAAF,GACCG,EAAAA,kBAAAA,KAACC,EAAAA,OAAO,IAAP,CACC,QAAS,CACP,QAAS,EACT,GAAGC,EAAmBP,CAAI,CAAA,EAE5B,QAAS,CACP,QAAS,EACT,EAAG,EACH,EAAG,CAAA,EAEL,KAAM,CACJ,QAAS,EACT,GAAGO,EAAmBP,CAAI,CAAA,EAE5B,WAAY,CAAE,SAAU,IAAM,KAAM,SAAA,EACpC,UAAWQ,EAAAA,GACT,kFACA,+CACAC,EAAmBT,EAAMC,CAAK,CAAA,EAG/B,SAAA,CAAAF,EACDI,EAAAA,kBAAAA,IAACG,EAAAA,OAAO,IAAP,CACC,UAAWE,EAAAA,GACT,oEACAE,EAAgBV,CAAI,CAAA,CACtB,CAAA,CACF,CAAA,CAAA,EAGN,CAEJ,CAEA,MAAMO,EAAsBP,GAAiB,CAC3C,OAAQA,EAAA,CACN,IAAK,QACH,MAAO,CAAE,EAAG,EAAA,EACd,IAAK,OACH,MAAO,CAAE,EAAG,CAAA,EACd,IAAK,MACH,MAAO,CAAE,EAAG,CAAA,EACd,IAAK,SACH,MAAO,CAAE,EAAG,EAAA,EACd,QACE,MAAO,CAAE,EAAG,EAAG,EAAG,CAAA,CAAE,CAE1B,EAEMS,EAAqB,CAACT,EAAcC,IAAkB,CAC1D,MAAMU,EAAc,CAAA,EAEpB,OAAQX,EAAA,CACN,IAAK,QACHW,EAAY,KAAK,gBAAgB,EACjC,MACF,IAAK,OACHA,EAAY,KAAK,iBAAiB,EAClC,MACF,IAAK,MACHA,EAAY,KAAK,kBAAkB,EACnC,MACF,IAAK,SACHA,EAAY,KAAK,eAAe,EAChC,KAAA,CAGJ,OAAQV,EAAA,CACN,IAAK,QACHU,EAAY,KAAMX,IAAS,OAASA,IAAS,SAAY,SAAW,OAAO,EAC3E,MACF,IAAK,SACHW,EAAY,KAAMX,IAAS,OAASA,IAAS,SAAY,4BAA8B,0BAA0B,EACjH,MACF,IAAK,MACHW,EAAY,KAAMX,IAAS,OAASA,IAAS,SAAY,UAAY,UAAU,EAC/E,KAAA,CAGJ,OAAOW,EAAY,KAAK,GAAG,CAC7B,EAEMD,EAAmBV,GAAiB,CACxC,OAAQA,EAAA,CACN,IAAK,QACH,MAAO,6DACT,IAAK,OACH,MAAO,8DACT,IAAK,MACH,MAAO,gEACT,IAAK,SACH,MAAO,6DACT,QACE,MAAO,EAAA,CAEb"}
@@ -0,0 +1,21 @@
1
+ type ToastProps = {
2
+ title: string;
3
+ description?: string;
4
+ type?: 'default' | 'success' | 'error' | 'warning';
5
+ duration?: number;
6
+ };
7
+ type Toast = ToastProps & {
8
+ id: string;
9
+ };
10
+ export declare const toast: (props: ToastProps) => {
11
+ dismiss: () => void;
12
+ };
13
+ export declare const useToast: () => {
14
+ toast: (props: ToastProps) => {
15
+ dismiss: () => void;
16
+ };
17
+ toasts: Toast[];
18
+ dismiss: (id: string) => void;
19
+ };
20
+ export declare const ToastContainer: () => import("react/jsx-runtime").JSX.Element | null;
21
+ export {};
@@ -0,0 +1,65 @@
1
+ import { j as n } from "../jsx-runtime-DGlMoOmv.js";
2
+ import { useState as c, useCallback as l } from "react";
3
+ let r = [], a = [];
4
+ const d = () => {
5
+ a.forEach((t) => t([...r]));
6
+ }, u = (t) => {
7
+ const i = `toast-${Date.now()}`, e = {
8
+ id: i,
9
+ ...t,
10
+ duration: t.duration || 5e3,
11
+ type: t.type || "default"
12
+ };
13
+ return r.push(e), d(), setTimeout(() => {
14
+ r = r.filter((s) => s.id !== i), d();
15
+ }, e.duration), {
16
+ dismiss: () => {
17
+ r = r.filter((s) => s.id !== i), d();
18
+ }
19
+ };
20
+ }, m = () => {
21
+ const [t, i] = c(r), e = l(() => {
22
+ const s = (o) => {
23
+ i(o);
24
+ };
25
+ return a.push(s), () => {
26
+ a = a.filter((o) => o !== s);
27
+ };
28
+ }, []);
29
+ return c(() => e()), {
30
+ toast: u,
31
+ toasts: t,
32
+ dismiss: (s) => {
33
+ r = r.filter((o) => o.id !== s), d();
34
+ }
35
+ };
36
+ }, f = () => {
37
+ const { toasts: t, dismiss: i } = m();
38
+ return t.length === 0 ? null : /* @__PURE__ */ n.jsx("div", { className: "fixed top-4 right-4 z-50 flex flex-col gap-2 w-[350px]", children: t.map((e) => /* @__PURE__ */ n.jsxs(
39
+ "div",
40
+ {
41
+ className: `p-4 rounded-lg shadow-lg border border-border transition-all duration-300 ease-in-out ${e.type === "error" ? "bg-destructive text-destructive-foreground" : e.type === "success" ? "bg-green-50 text-green-800 border-green-200" : e.type === "warning" ? "bg-amber-50 text-amber-800 border-amber-200" : "bg-background text-foreground"}`,
42
+ children: [
43
+ /* @__PURE__ */ n.jsxs("div", { className: "flex justify-between items-start", children: [
44
+ /* @__PURE__ */ n.jsx("div", { className: "font-medium", children: e.title }),
45
+ /* @__PURE__ */ n.jsx(
46
+ "button",
47
+ {
48
+ onClick: () => i(e.id),
49
+ className: "text-sm opacity-70 hover:opacity-100",
50
+ children: "×"
51
+ }
52
+ )
53
+ ] }),
54
+ e.description && /* @__PURE__ */ n.jsx("div", { className: "mt-1 text-sm opacity-80", children: e.description })
55
+ ]
56
+ },
57
+ e.id
58
+ )) });
59
+ };
60
+ export {
61
+ f as ToastContainer,
62
+ u as toast,
63
+ m as useToast
64
+ };
65
+ //# sourceMappingURL=use-toast.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-toast.esm.js","sources":["../../src/components/use-toast.tsx"],"sourcesContent":["import { useState, useCallback } from 'react';\nimport { createRoot } from 'react-dom/client';\n\ntype ToastProps = {\n title: string;\n description?: string;\n type?: 'default' | 'success' | 'error' | 'warning';\n duration?: number;\n};\n\ntype Toast = ToastProps & {\n id: string;\n};\n\nlet toasts: Toast[] = [];\nlet listeners: ((toasts: Toast[]) => void)[] = [];\n\nconst notifyListeners = () => {\n listeners.forEach(listener => listener([...toasts]));\n};\n\nexport const toast = (props: ToastProps) => {\n const id = `toast-${Date.now()}`;\n const newToast = { \n id, \n ...props,\n duration: props.duration || 5000,\n type: props.type || 'default' \n };\n \n toasts.push(newToast);\n notifyListeners();\n\n // Auto-dismiss after duration\n setTimeout(() => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }, newToast.duration);\n\n return {\n dismiss: () => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }\n };\n};\n\nexport const useToast = () => {\n const [currentToasts, setCurrentToasts] = useState<Toast[]>(toasts);\n\n const registerListener = useCallback(() => {\n const listener = (updatedToasts: Toast[]) => {\n setCurrentToasts(updatedToasts);\n };\n \n listeners.push(listener);\n return () => {\n listeners = listeners.filter(l => l !== listener);\n };\n }, []);\n\n // Register listener on mount\n useState(() => {\n const unregister = registerListener();\n return unregister;\n });\n\n return { \n toast,\n toasts: currentToasts,\n dismiss: (id: string) => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }\n };\n};\n\n// Toast Container Component\nexport const ToastContainer = () => {\n const { toasts, dismiss } = useToast();\n\n if (toasts.length === 0) return null;\n\n return (\n <div className=\"fixed top-4 right-4 z-50 flex flex-col gap-2 w-[350px]\">\n {toasts.map(toast => (\n <div \n key={toast.id}\n className={`p-4 rounded-lg shadow-lg border border-border transition-all duration-300 ease-in-out ${\n toast.type === 'error' ? 'bg-destructive text-destructive-foreground' : \n toast.type === 'success' ? 'bg-green-50 text-green-800 border-green-200' : \n toast.type === 'warning' ? 'bg-amber-50 text-amber-800 border-amber-200' : \n 'bg-background text-foreground'\n }`}\n >\n <div className=\"flex justify-between items-start\">\n <div className=\"font-medium\">{toast.title}</div>\n <button \n onClick={() => dismiss(toast.id)}\n className=\"text-sm opacity-70 hover:opacity-100\"\n >\n ×\n </button>\n </div>\n {toast.description && (\n <div className=\"mt-1 text-sm opacity-80\">{toast.description}</div>\n )}\n </div>\n ))}\n </div>\n );\n}; "],"names":["toasts","listeners","notifyListeners","listener","toast","props","id","newToast","useToast","currentToasts","setCurrentToasts","useState","registerListener","useCallback","updatedToasts","l","ToastContainer","dismiss","jsx","jsxs"],"mappings":";;AAcA,IAAIA,IAAkB,CAAA,GAClBC,IAA2C,CAAA;AAE/C,MAAMC,IAAkB,MAAM;AAC5B,EAAAD,EAAU,QAAQ,CAAAE,MAAYA,EAAS,CAAC,GAAGH,CAAM,CAAC,CAAC;AACrD,GAEaI,IAAQ,CAACC,MAAsB;AAC1C,QAAMC,IAAK,SAAS,KAAK,IAAA,CAAK,IACxBC,IAAW;AAAA,IACf,IAAAD;AAAA,IACA,GAAGD;AAAA,IACH,UAAUA,EAAM,YAAY;AAAA,IAC5B,MAAMA,EAAM,QAAQ;AAAA,EAAA;AAGtB,SAAAL,EAAO,KAAKO,CAAQ,GACpBL,EAAA,GAGA,WAAW,MAAM;AACf,IAAAF,IAASA,EAAO,OAAO,CAAAI,MAASA,EAAM,OAAOE,CAAE,GAC/CJ,EAAA;AAAA,EACF,GAAGK,EAAS,QAAQ,GAEb;AAAA,IACL,SAAS,MAAM;AACb,MAAAP,IAASA,EAAO,OAAO,CAAAI,MAASA,EAAM,OAAOE,CAAE,GAC/CJ,EAAA;AAAA,IACF;AAAA,EAAA;AAEJ,GAEaM,IAAW,MAAM;AAC5B,QAAM,CAACC,GAAeC,CAAgB,IAAIC,EAAkBX,CAAM,GAE5DY,IAAmBC,EAAY,MAAM;AACzC,UAAMV,IAAW,CAACW,MAA2B;AAC3C,MAAAJ,EAAiBI,CAAa;AAAA,IAChC;AAEA,WAAAb,EAAU,KAAKE,CAAQ,GAChB,MAAM;AACX,MAAAF,IAAYA,EAAU,OAAO,CAAAc,MAAKA,MAAMZ,CAAQ;AAAA,IAClD;AAAA,EACF,GAAG,CAAA,CAAE;AAGL,SAAAQ,EAAS,MACYC,EAAA,CAEpB,GAEM;AAAA,IACL,OAAAR;AAAA,IACA,QAAQK;AAAA,IACR,SAAS,CAACH,MAAe;AACvB,MAAAN,IAASA,EAAO,OAAO,CAAAI,MAASA,EAAM,OAAOE,CAAE,GAC/CJ,EAAA;AAAA,IACF;AAAA,EAAA;AAEJ,GAGac,IAAiB,MAAM;AAClC,QAAM,EAAE,QAAAhB,GAAQ,SAAAiB,EAAA,IAAYT,EAAA;AAE5B,SAAIR,EAAO,WAAW,IAAU,OAG9BkB,gBAAAA,EAAAA,IAAC,SAAI,WAAU,0DACZ,UAAAlB,EAAO,IAAI,CAAAI,MACVe,gBAAAA,EAAAA;AAAAA,IAAC;AAAA,IAAA;AAAA,MAEC,WAAW,yFACTf,EAAM,SAAS,UAAU,+CACzBA,EAAM,SAAS,YAAY,gDAC3BA,EAAM,SAAS,YAAY,gDAC3B,+BACF;AAAA,MAEA,UAAA;AAAA,QAAAe,gBAAAA,EAAAA,KAAC,OAAA,EAAI,WAAU,oCACb,UAAA;AAAA,UAAAD,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,eAAe,UAAAd,EAAM,OAAM;AAAA,UAC1Cc,gBAAAA,EAAAA;AAAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAAS,MAAMD,EAAQb,EAAM,EAAE;AAAA,cAC/B,WAAU;AAAA,cACX,UAAA;AAAA,YAAA;AAAA,UAAA;AAAA,QAED,GACF;AAAA,QACCA,EAAM,eACLc,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,2BAA2B,UAAAd,EAAM,YAAA,CAAY;AAAA,MAAA;AAAA,IAAA;AAAA,IAlBzDA,EAAM;AAAA,EAAA,CAqBd,GACH;AAEJ;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("../jsx-runtime-BYECrxsp.cjs"),d=require("react");let r=[],a=[];const u=()=>{a.forEach(t=>t([...r]))},c=t=>{const i=`toast-${Date.now()}`,e={id:i,...t,duration:t.duration||5e3,type:t.type||"default"};return r.push(e),u(),setTimeout(()=>{r=r.filter(s=>s.id!==i),u()},e.duration),{dismiss:()=>{r=r.filter(s=>s.id!==i),u()}}},l=()=>{const[t,i]=d.useState(r),e=d.useCallback(()=>{const s=o=>{i(o)};return a.push(s),()=>{a=a.filter(o=>o!==s)}},[]);return d.useState(()=>e()),{toast:c,toasts:t,dismiss:s=>{r=r.filter(o=>o.id!==s),u()}}},x=()=>{const{toasts:t,dismiss:i}=l();return t.length===0?null:n.jsxRuntimeExports.jsx("div",{className:"fixed top-4 right-4 z-50 flex flex-col gap-2 w-[350px]",children:t.map(e=>n.jsxRuntimeExports.jsxs("div",{className:`p-4 rounded-lg shadow-lg border border-border transition-all duration-300 ease-in-out ${e.type==="error"?"bg-destructive text-destructive-foreground":e.type==="success"?"bg-green-50 text-green-800 border-green-200":e.type==="warning"?"bg-amber-50 text-amber-800 border-amber-200":"bg-background text-foreground"}`,children:[n.jsxRuntimeExports.jsxs("div",{className:"flex justify-between items-start",children:[n.jsxRuntimeExports.jsx("div",{className:"font-medium",children:e.title}),n.jsxRuntimeExports.jsx("button",{onClick:()=>i(e.id),className:"text-sm opacity-70 hover:opacity-100",children:"×"})]}),e.description&&n.jsxRuntimeExports.jsx("div",{className:"mt-1 text-sm opacity-80",children:e.description})]},e.id))})};exports.ToastContainer=x;exports.toast=c;exports.useToast=l;
2
+ //# sourceMappingURL=use-toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-toast.js","sources":["../../src/components/use-toast.tsx"],"sourcesContent":["import { useState, useCallback } from 'react';\nimport { createRoot } from 'react-dom/client';\n\ntype ToastProps = {\n title: string;\n description?: string;\n type?: 'default' | 'success' | 'error' | 'warning';\n duration?: number;\n};\n\ntype Toast = ToastProps & {\n id: string;\n};\n\nlet toasts: Toast[] = [];\nlet listeners: ((toasts: Toast[]) => void)[] = [];\n\nconst notifyListeners = () => {\n listeners.forEach(listener => listener([...toasts]));\n};\n\nexport const toast = (props: ToastProps) => {\n const id = `toast-${Date.now()}`;\n const newToast = { \n id, \n ...props,\n duration: props.duration || 5000,\n type: props.type || 'default' \n };\n \n toasts.push(newToast);\n notifyListeners();\n\n // Auto-dismiss after duration\n setTimeout(() => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }, newToast.duration);\n\n return {\n dismiss: () => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }\n };\n};\n\nexport const useToast = () => {\n const [currentToasts, setCurrentToasts] = useState<Toast[]>(toasts);\n\n const registerListener = useCallback(() => {\n const listener = (updatedToasts: Toast[]) => {\n setCurrentToasts(updatedToasts);\n };\n \n listeners.push(listener);\n return () => {\n listeners = listeners.filter(l => l !== listener);\n };\n }, []);\n\n // Register listener on mount\n useState(() => {\n const unregister = registerListener();\n return unregister;\n });\n\n return { \n toast,\n toasts: currentToasts,\n dismiss: (id: string) => {\n toasts = toasts.filter(toast => toast.id !== id);\n notifyListeners();\n }\n };\n};\n\n// Toast Container Component\nexport const ToastContainer = () => {\n const { toasts, dismiss } = useToast();\n\n if (toasts.length === 0) return null;\n\n return (\n <div className=\"fixed top-4 right-4 z-50 flex flex-col gap-2 w-[350px]\">\n {toasts.map(toast => (\n <div \n key={toast.id}\n className={`p-4 rounded-lg shadow-lg border border-border transition-all duration-300 ease-in-out ${\n toast.type === 'error' ? 'bg-destructive text-destructive-foreground' : \n toast.type === 'success' ? 'bg-green-50 text-green-800 border-green-200' : \n toast.type === 'warning' ? 'bg-amber-50 text-amber-800 border-amber-200' : \n 'bg-background text-foreground'\n }`}\n >\n <div className=\"flex justify-between items-start\">\n <div className=\"font-medium\">{toast.title}</div>\n <button \n onClick={() => dismiss(toast.id)}\n className=\"text-sm opacity-70 hover:opacity-100\"\n >\n ×\n </button>\n </div>\n {toast.description && (\n <div className=\"mt-1 text-sm opacity-80\">{toast.description}</div>\n )}\n </div>\n ))}\n </div>\n );\n}; "],"names":["toasts","listeners","notifyListeners","listener","toast","props","id","newToast","useToast","currentToasts","setCurrentToasts","useState","registerListener","useCallback","updatedToasts","l","ToastContainer","dismiss","jsx","jsxs"],"mappings":"kJAcA,IAAIA,EAAkB,CAAA,EAClBC,EAA2C,CAAA,EAE/C,MAAMC,EAAkB,IAAM,CAC5BD,EAAU,QAAQE,GAAYA,EAAS,CAAC,GAAGH,CAAM,CAAC,CAAC,CACrD,EAEaI,EAASC,GAAsB,CAC1C,MAAMC,EAAK,SAAS,KAAK,IAAA,CAAK,GACxBC,EAAW,CACf,GAAAD,EACA,GAAGD,EACH,SAAUA,EAAM,UAAY,IAC5B,KAAMA,EAAM,MAAQ,SAAA,EAGtB,OAAAL,EAAO,KAAKO,CAAQ,EACpBL,EAAA,EAGA,WAAW,IAAM,CACfF,EAASA,EAAO,OAAOI,GAASA,EAAM,KAAOE,CAAE,EAC/CJ,EAAA,CACF,EAAGK,EAAS,QAAQ,EAEb,CACL,QAAS,IAAM,CACbP,EAASA,EAAO,OAAOI,GAASA,EAAM,KAAOE,CAAE,EAC/CJ,EAAA,CACF,CAAA,CAEJ,EAEaM,EAAW,IAAM,CAC5B,KAAM,CAACC,EAAeC,CAAgB,EAAIC,EAAAA,SAAkBX,CAAM,EAE5DY,EAAmBC,EAAAA,YAAY,IAAM,CACzC,MAAMV,EAAYW,GAA2B,CAC3CJ,EAAiBI,CAAa,CAChC,EAEA,OAAAb,EAAU,KAAKE,CAAQ,EAChB,IAAM,CACXF,EAAYA,EAAU,OAAOc,GAAKA,IAAMZ,CAAQ,CAClD,CACF,EAAG,CAAA,CAAE,EAGLQ,OAAAA,EAAAA,SAAS,IACYC,EAAA,CAEpB,EAEM,CACL,MAAAR,EACA,OAAQK,EACR,QAAUH,GAAe,CACvBN,EAASA,EAAO,OAAOI,GAASA,EAAM,KAAOE,CAAE,EAC/CJ,EAAA,CACF,CAAA,CAEJ,EAGac,EAAiB,IAAM,CAClC,KAAM,CAAE,OAAAhB,EAAQ,QAAAiB,CAAA,EAAYT,EAAA,EAE5B,OAAIR,EAAO,SAAW,EAAU,KAG9BkB,EAAAA,kBAAAA,IAAC,OAAI,UAAU,yDACZ,SAAAlB,EAAO,IAAII,GACVe,EAAAA,kBAAAA,KAAC,MAAA,CAEC,UAAW,yFACTf,EAAM,OAAS,QAAU,6CACzBA,EAAM,OAAS,UAAY,8CAC3BA,EAAM,OAAS,UAAY,8CAC3B,+BACF,GAEA,SAAA,CAAAe,EAAAA,kBAAAA,KAAC,MAAA,CAAI,UAAU,mCACb,SAAA,CAAAD,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,cAAe,SAAAd,EAAM,MAAM,EAC1Cc,EAAAA,kBAAAA,IAAC,SAAA,CACC,QAAS,IAAMD,EAAQb,EAAM,EAAE,EAC/B,UAAU,uCACX,SAAA,GAAA,CAAA,CAED,EACF,EACCA,EAAM,aACLc,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,0BAA2B,SAAAd,EAAM,WAAA,CAAY,CAAA,CAAA,EAlBzDA,EAAM,EAAA,CAqBd,EACH,CAEJ"}
@@ -0,0 +1,16 @@
1
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
2
+
3
+ export declare function ConfirmationModal({ isOpen, onClose, onConfirm, title, description, confirmText, cancelText, type }: ConfirmationModalProps): JSX_2.Element;
4
+
5
+ declare interface ConfirmationModalProps {
6
+ isOpen: boolean;
7
+ onClose: () => void;
8
+ onConfirm: () => void;
9
+ title: string;
10
+ description: string;
11
+ confirmText?: string;
12
+ cancelText?: string;
13
+ type?: 'danger' | 'warning';
14
+ }
15
+
16
+ export { }
@@ -0,0 +1,41 @@
1
+ import { default as default_2 } from 'react';
2
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
3
+ import * as RadixContextMenu from '@radix-ui/react-context-menu';
4
+ import { ReactNode } from 'react';
5
+
6
+ export declare function ContextMenu({ children, menuContent, className, disabled, onContextMenuOpen, onContextMenuClose }: ContextMenuProps): JSX_2.Element;
7
+
8
+ export declare const ContextMenuCheckboxItem: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuCheckboxItemProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
9
+
10
+ export declare const ContextMenuGroup: default_2.ForwardRefExoticComponent<RadixContextMenu.ContextMenuGroupProps & default_2.RefAttributes<HTMLDivElement>>;
11
+
12
+ export declare const ContextMenuItem: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuItemProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
13
+
14
+ export declare const ContextMenuLabel: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuLabelProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & {
15
+ inset?: boolean;
16
+ } & default_2.RefAttributes<HTMLDivElement>>;
17
+
18
+ declare interface ContextMenuProps {
19
+ children: ReactNode;
20
+ menuContent: ReactNode;
21
+ className?: string;
22
+ disabled?: boolean;
23
+ onContextMenuOpen?: () => void;
24
+ onContextMenuClose?: () => void;
25
+ }
26
+
27
+ export declare const ContextMenuRadioGroup: default_2.ForwardRefExoticComponent<RadixContextMenu.ContextMenuRadioGroupProps & default_2.RefAttributes<HTMLDivElement>>;
28
+
29
+ export declare const ContextMenuRadioItem: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuRadioItemProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
30
+
31
+ export declare const ContextMenuSeparator: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuSeparatorProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
32
+
33
+ export declare const ContextMenuSub: default_2.FC<RadixContextMenu.ContextMenuSubProps>;
34
+
35
+ export declare const ContextMenuSubContent: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuSubContentProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & default_2.RefAttributes<HTMLDivElement>>;
36
+
37
+ export declare const ContextMenuSubTrigger: default_2.ForwardRefExoticComponent<Omit<RadixContextMenu.ContextMenuSubTriggerProps & default_2.RefAttributes<HTMLDivElement>, "ref"> & {
38
+ inset?: boolean;
39
+ } & default_2.RefAttributes<HTMLDivElement>>;
40
+
41
+ export { }
@@ -0,0 +1,33 @@
1
+ import * as DialogPrimitive from '@radix-ui/react-dialog';
2
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
3
+ import * as React_2 from 'react';
4
+
5
+ export declare const Dialog: ({ ...props }: {
6
+ [x: string]: any;
7
+ }) => JSX_2.Element;
8
+
9
+ export declare const DialogClose: React_2.ForwardRefExoticComponent<DialogPrimitive.DialogCloseProps & React_2.RefAttributes<HTMLButtonElement>>;
10
+
11
+ export declare const DialogContent: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogContentProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
12
+
13
+ export declare const DialogDescription: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React_2.RefAttributes<HTMLParagraphElement>, "ref"> & React_2.RefAttributes<HTMLParagraphElement>>;
14
+
15
+ export declare const DialogFooter: {
16
+ ({ className, ...props }: React_2.HTMLAttributes<HTMLDivElement>): JSX_2.Element;
17
+ displayName: string;
18
+ };
19
+
20
+ export declare const DialogHeader: {
21
+ ({ className, ...props }: React_2.HTMLAttributes<HTMLDivElement>): JSX_2.Element;
22
+ displayName: string;
23
+ };
24
+
25
+ export declare const DialogOverlay: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
26
+
27
+ export declare const DialogPortal: React_2.FC<DialogPrimitive.DialogPortalProps>;
28
+
29
+ export declare const DialogTitle: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React_2.RefAttributes<HTMLHeadingElement>, "ref"> & React_2.RefAttributes<HTMLHeadingElement>>;
30
+
31
+ export declare const DialogTrigger: React_2.ForwardRefExoticComponent<DialogPrimitive.DialogTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
32
+
33
+ export { }
@@ -0,0 +1,16 @@
1
+ import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
2
+ import * as React_2 from 'react';
3
+
4
+ export declare const DropdownMenu: React_2.FC<DropdownMenuPrimitive.DropdownMenuProps>;
5
+
6
+ export declare const DropdownMenuContent: React_2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
7
+
8
+ export declare const DropdownMenuGroup: React_2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React_2.RefAttributes<HTMLDivElement>>;
9
+
10
+ export declare const DropdownMenuItem: React_2.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuItemProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
11
+
12
+ export declare const DropdownMenuSeparator: React_2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React_2.RefAttributes<HTMLDivElement>>;
13
+
14
+ export declare const DropdownMenuTrigger: React_2.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React_2.RefAttributes<HTMLButtonElement>>;
15
+
16
+ export { }
@@ -0,0 +1,16 @@
1
+ import { DropzoneOptions } from 'react-dropzone';
2
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
3
+ import { ReactNode } from 'react';
4
+
5
+ export declare function Dropzone({ onDrop, children, className, overlayClassName, dropzoneOptions, showOverlay, }: DropzoneProps): JSX_2.Element;
6
+
7
+ declare interface DropzoneProps {
8
+ onDrop: (acceptedFiles: File[]) => void;
9
+ children: ReactNode;
10
+ className?: string;
11
+ overlayClassName?: string;
12
+ dropzoneOptions?: Omit<DropzoneOptions, 'onDrop'>;
13
+ showOverlay?: boolean;
14
+ }
15
+
16
+ export { }
@@ -0,0 +1,14 @@
1
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
2
+
3
+ export declare function ImageCropperModal({ isOpen, onClose, imageSrc, onCrop, title, outputSize }: ImageCropperModalProps): JSX_2.Element | null;
4
+
5
+ declare interface ImageCropperModalProps {
6
+ isOpen: boolean;
7
+ onClose: () => void;
8
+ imageSrc: string | null;
9
+ onCrop: (croppedImage: string) => void;
10
+ title?: string;
11
+ outputSize?: number;
12
+ }
13
+
14
+ export { }
@@ -0,0 +1,15 @@
1
+ import { JSX as JSX_2 } from 'react/jsx-runtime';
2
+
3
+ export declare function ImageCropper({ value, onChange, size, className, placeholder, title, outputSize }: ImageCropperProps): JSX_2.Element;
4
+
5
+ declare interface ImageCropperProps {
6
+ value?: string | null;
7
+ onChange: (croppedImage: string | null) => void;
8
+ size?: number;
9
+ className?: string;
10
+ placeholder?: string;
11
+ title?: string;
12
+ outputSize?: number;
13
+ }
14
+
15
+ export { }
@@ -0,0 +1,35 @@
1
+ import { a as O } from "./utils-qaFjX9_3.js";
2
+ const m = (e) => typeof e == "boolean" ? `${e}` : e === 0 ? "0" : e, y = O, j = (e, l) => (n) => {
3
+ var u;
4
+ if ((l == null ? void 0 : l.variants) == null) return y(e, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
5
+ const { variants: r, defaultVariants: d } = l, V = Object.keys(r).map((t) => {
6
+ const a = n == null ? void 0 : n[t], s = d == null ? void 0 : d[t];
7
+ if (a === null) return null;
8
+ const i = m(a) || m(s);
9
+ return r[t][i];
10
+ }), v = n && Object.entries(n).reduce((t, a) => {
11
+ let [s, i] = a;
12
+ return i === void 0 || (t[s] = i), t;
13
+ }, {}), N = l == null || (u = l.compoundVariants) === null || u === void 0 ? void 0 : u.reduce((t, a) => {
14
+ let { class: s, className: i, ...f } = a;
15
+ return Object.entries(f).every((C) => {
16
+ let [c, o] = C;
17
+ return Array.isArray(o) ? o.includes({
18
+ ...d,
19
+ ...v
20
+ }[c]) : {
21
+ ...d,
22
+ ...v
23
+ }[c] === o;
24
+ }) ? [
25
+ ...t,
26
+ s,
27
+ i
28
+ ] : t;
29
+ }, []);
30
+ return y(e, V, N, n == null ? void 0 : n.class, n == null ? void 0 : n.className);
31
+ };
32
+ export {
33
+ j as c
34
+ };
35
+ //# sourceMappingURL=index-DACAHwoB.js.map