@stackframe/stack-ui 2.8.61 → 2.8.62

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 (386) hide show
  1. package/dist/components/action-dialog.js +130 -36
  2. package/dist/components/action-dialog.js.map +1 -0
  3. package/dist/components/brand-icons.js +413 -93
  4. package/dist/components/brand-icons.js.map +1 -0
  5. package/dist/components/browser-frame/index.js +63 -8
  6. package/dist/components/browser-frame/index.js.map +1 -0
  7. package/dist/components/copy-button.js +56 -17
  8. package/dist/components/copy-button.js.map +1 -0
  9. package/dist/components/copy-field.js +68 -12
  10. package/dist/components/copy-field.js.map +1 -0
  11. package/dist/components/data-table/cells.js +121 -50
  12. package/dist/components/data-table/cells.js.map +1 -0
  13. package/dist/components/data-table/column-header.js +62 -7
  14. package/dist/components/data-table/column-header.js.map +1 -0
  15. package/dist/components/data-table/data-table.js +263 -93
  16. package/dist/components/data-table/data-table.js.map +1 -0
  17. package/dist/components/data-table/faceted-filter.js +133 -25
  18. package/dist/components/data-table/faceted-filter.js.map +1 -0
  19. package/dist/components/data-table/index.js +41 -9
  20. package/dist/components/data-table/index.js.map +1 -0
  21. package/dist/components/data-table/pagination.js +89 -9
  22. package/dist/components/data-table/pagination.js.map +1 -0
  23. package/dist/components/data-table/toolbar-items.js +42 -4
  24. package/dist/components/data-table/toolbar-items.js.map +1 -0
  25. package/dist/components/data-table/toolbar.js +114 -44
  26. package/dist/components/data-table/toolbar.js.map +1 -0
  27. package/dist/components/data-table/utils.js +36 -4
  28. package/dist/components/data-table/utils.js.map +1 -0
  29. package/dist/components/data-table/view-options.js +70 -10
  30. package/dist/components/data-table/view-options.js.map +1 -0
  31. package/dist/components/simple-tooltip.js +45 -13
  32. package/dist/components/simple-tooltip.js.map +1 -0
  33. package/dist/components/ui/accordion.js +85 -10
  34. package/dist/components/ui/accordion.js.map +1 -0
  35. package/dist/components/ui/alert.js +75 -17
  36. package/dist/components/ui/alert.js.map +1 -0
  37. package/dist/components/ui/aspect-ratio.js +43 -3
  38. package/dist/components/ui/aspect-ratio.js.map +1 -0
  39. package/dist/components/ui/avatar.js +79 -8
  40. package/dist/components/ui/avatar.js.map +1 -0
  41. package/dist/components/ui/badge.js +51 -17
  42. package/dist/components/ui/badge.js.map +1 -0
  43. package/dist/components/ui/breadcrumb.js +118 -15
  44. package/dist/components/ui/breadcrumb.js.map +1 -0
  45. package/dist/components/ui/button.js +98 -39
  46. package/dist/components/ui/button.js.map +1 -0
  47. package/dist/components/ui/calendar.js +93 -39
  48. package/dist/components/ui/calendar.js.map +1 -0
  49. package/dist/components/ui/card.js +97 -11
  50. package/dist/components/ui/card.js.map +1 -0
  51. package/dist/components/ui/checkbox.js +64 -7
  52. package/dist/components/ui/checkbox.js.map +1 -0
  53. package/dist/components/ui/collapsible.js +49 -5
  54. package/dist/components/ui/collapsible.js.map +1 -0
  55. package/dist/components/ui/command.js +147 -25
  56. package/dist/components/ui/command.js.map +1 -0
  57. package/dist/components/ui/context-menu.js +196 -24
  58. package/dist/components/ui/context-menu.js.map +1 -0
  59. package/dist/components/ui/dialog.js +151 -17
  60. package/dist/components/ui/dialog.js.map +1 -0
  61. package/dist/components/ui/dropdown-menu.js +237 -55
  62. package/dist/components/ui/dropdown-menu.js.map +1 -0
  63. package/dist/components/ui/form.js +142 -53
  64. package/dist/components/ui/form.js.map +1 -0
  65. package/dist/components/ui/hover-card.js +64 -8
  66. package/dist/components/ui/hover-card.js.map +1 -0
  67. package/dist/components/ui/inline-code.js +62 -25
  68. package/dist/components/ui/inline-code.js.map +1 -0
  69. package/dist/components/ui/input-otp.js +87 -14
  70. package/dist/components/ui/input-otp.js.map +1 -0
  71. package/dist/components/ui/input.js +86 -22
  72. package/dist/components/ui/input.js.map +1 -0
  73. package/dist/components/ui/label.js +67 -9
  74. package/dist/components/ui/label.js.map +1 -0
  75. package/dist/components/ui/menubar.js +224 -24
  76. package/dist/components/ui/menubar.js.map +1 -0
  77. package/dist/components/ui/navigation-menu.js +149 -20
  78. package/dist/components/ui/navigation-menu.js.map +1 -0
  79. package/dist/components/ui/password-input.js +79 -11
  80. package/dist/components/ui/password-input.js.map +1 -0
  81. package/dist/components/ui/popover.js +67 -9
  82. package/dist/components/ui/popover.js.map +1 -0
  83. package/dist/components/ui/progress.js +63 -6
  84. package/dist/components/ui/progress.js.map +1 -0
  85. package/dist/components/ui/radio-group.js +70 -10
  86. package/dist/components/ui/radio-group.js.map +1 -0
  87. package/dist/components/ui/resizable.js +78 -8
  88. package/dist/components/ui/resizable.js.map +1 -0
  89. package/dist/components/ui/scroll-area.js +75 -9
  90. package/dist/components/ui/scroll-area.js.map +1 -0
  91. package/dist/components/ui/select.js +166 -20
  92. package/dist/components/ui/select.js.map +1 -0
  93. package/dist/components/ui/separator.js +61 -6
  94. package/dist/components/ui/separator.js.map +1 -0
  95. package/dist/components/ui/sheet.js +153 -27
  96. package/dist/components/ui/sheet.js.map +1 -0
  97. package/dist/components/ui/skeleton.js +46 -5
  98. package/dist/components/ui/skeleton.js.map +1 -0
  99. package/dist/components/ui/slider.js +60 -6
  100. package/dist/components/ui/slider.js.map +1 -0
  101. package/dist/components/ui/spinner.js +36 -6
  102. package/dist/components/ui/spinner.js.map +1 -0
  103. package/dist/components/ui/switch.js +92 -21
  104. package/dist/components/ui/switch.js.map +1 -0
  105. package/dist/components/ui/table.js +117 -12
  106. package/dist/components/ui/table.js.map +1 -0
  107. package/dist/components/ui/tabs.js +85 -9
  108. package/dist/components/ui/tabs.js.map +1 -0
  109. package/dist/components/ui/textarea.js +47 -6
  110. package/dist/components/ui/textarea.js.map +1 -0
  111. package/dist/components/ui/toast.js +135 -25
  112. package/dist/components/ui/toast.js.map +1 -0
  113. package/dist/components/ui/toaster.js +49 -8
  114. package/dist/components/ui/toaster.js.map +1 -0
  115. package/dist/components/ui/toggle-group.js +78 -17
  116. package/dist/components/ui/toggle-group.js.map +1 -0
  117. package/dist/components/ui/toggle.js +73 -21
  118. package/dist/components/ui/toggle.js.map +1 -0
  119. package/dist/components/ui/tooltip.js +72 -9
  120. package/dist/components/ui/tooltip.js.map +1 -0
  121. package/dist/components/ui/typography.js +69 -31
  122. package/dist/components/ui/typography.js.map +1 -0
  123. package/dist/components/ui/use-toast.js +151 -116
  124. package/dist/components/ui/use-toast.js.map +1 -0
  125. package/dist/esm/components/action-dialog.js +97 -0
  126. package/dist/esm/components/action-dialog.js.map +1 -0
  127. package/dist/esm/components/brand-icons.js +390 -0
  128. package/dist/esm/components/brand-icons.js.map +1 -0
  129. package/dist/esm/components/browser-frame/index.js +43 -0
  130. package/dist/esm/components/browser-frame/index.js.map +1 -0
  131. package/dist/esm/components/copy-button.js +35 -0
  132. package/dist/esm/components/copy-button.js.map +1 -0
  133. package/dist/esm/components/copy-field.js +44 -0
  134. package/dist/esm/components/copy-field.js.map +1 -0
  135. package/dist/esm/components/data-table/cells.js +88 -0
  136. package/dist/esm/components/data-table/cells.js.map +1 -0
  137. package/dist/esm/components/data-table/column-header.js +40 -0
  138. package/dist/esm/components/data-table/column-header.js.map +1 -0
  139. package/dist/esm/components/data-table/data-table.js +249 -0
  140. package/dist/esm/components/data-table/data-table.js.map +1 -0
  141. package/dist/esm/components/data-table/faceted-filter.js +117 -0
  142. package/dist/esm/components/data-table/faceted-filter.js.map +1 -0
  143. package/dist/esm/components/data-table/index.js +11 -0
  144. package/dist/esm/components/data-table/index.js.map +1 -0
  145. package/dist/esm/components/data-table/pagination.js +71 -0
  146. package/dist/esm/components/data-table/pagination.js.map +1 -0
  147. package/dist/esm/components/data-table/toolbar-items.js +18 -0
  148. package/dist/esm/components/data-table/toolbar-items.js.map +1 -0
  149. package/dist/esm/components/data-table/toolbar.js +92 -0
  150. package/dist/esm/components/data-table/toolbar.js.map +1 -0
  151. package/dist/esm/components/data-table/utils.js +12 -0
  152. package/dist/esm/components/data-table/utils.js.map +1 -0
  153. package/dist/esm/components/data-table/view-options.js +55 -0
  154. package/dist/esm/components/data-table/view-options.js.map +1 -0
  155. package/dist/esm/components/simple-tooltip.js +21 -0
  156. package/dist/esm/components/simple-tooltip.js.map +1 -0
  157. package/dist/esm/components/ui/accordion.js +52 -0
  158. package/dist/esm/components/ui/accordion.js.map +1 -0
  159. package/dist/esm/components/ui/alert.js +54 -0
  160. package/dist/esm/components/ui/alert.js.map +1 -0
  161. package/dist/esm/components/ui/aspect-ratio.js +10 -0
  162. package/dist/esm/components/ui/aspect-ratio.js.map +1 -0
  163. package/dist/esm/components/ui/avatar.js +47 -0
  164. package/dist/esm/components/ui/avatar.js.map +1 -0
  165. package/dist/esm/components/ui/badge.js +30 -0
  166. package/dist/esm/components/ui/badge.js.map +1 -0
  167. package/dist/esm/components/ui/breadcrumb.js +95 -0
  168. package/dist/esm/components/ui/breadcrumb.js.map +1 -0
  169. package/dist/esm/components/ui/button.js +79 -0
  170. package/dist/esm/components/ui/button.js.map +1 -0
  171. package/dist/esm/components/ui/calendar.js +72 -0
  172. package/dist/esm/components/ui/calendar.js.map +1 -0
  173. package/dist/esm/components/ui/card.js +72 -0
  174. package/dist/esm/components/ui/card.js.map +1 -0
  175. package/dist/esm/components/ui/checkbox.js +32 -0
  176. package/dist/esm/components/ui/checkbox.js.map +1 -0
  177. package/dist/esm/components/ui/collapsible.js +14 -0
  178. package/dist/esm/components/ui/collapsible.js.map +1 -0
  179. package/dist/esm/components/ui/command.js +119 -0
  180. package/dist/esm/components/ui/command.js.map +1 -0
  181. package/dist/esm/components/ui/context-menu.js +162 -0
  182. package/dist/esm/components/ui/context-menu.js.map +1 -0
  183. package/dist/esm/components/ui/dialog.js +114 -0
  184. package/dist/esm/components/ui/dialog.js.map +1 -0
  185. package/dist/esm/components/ui/dropdown-menu.js +200 -0
  186. package/dist/esm/components/ui/dropdown-menu.js.map +1 -0
  187. package/dist/esm/components/ui/form.js +118 -0
  188. package/dist/esm/components/ui/form.js.map +1 -0
  189. package/dist/esm/components/ui/hover-card.js +30 -0
  190. package/dist/esm/components/ui/hover-card.js.map +1 -0
  191. package/dist/esm/components/ui/inline-code.js +42 -0
  192. package/dist/esm/components/ui/inline-code.js.map +1 -0
  193. package/dist/esm/components/ui/input-otp.js +56 -0
  194. package/dist/esm/components/ui/input-otp.js.map +1 -0
  195. package/dist/esm/components/ui/input.js +57 -0
  196. package/dist/esm/components/ui/input.js.map +1 -0
  197. package/dist/esm/components/ui/label.js +35 -0
  198. package/dist/esm/components/ui/label.js.map +1 -0
  199. package/dist/esm/components/ui/menubar.js +192 -0
  200. package/dist/esm/components/ui/menubar.js.map +1 -0
  201. package/dist/esm/components/ui/navigation-menu.js +112 -0
  202. package/dist/esm/components/ui/navigation-menu.js.map +1 -0
  203. package/dist/esm/components/ui/password-input.js +58 -0
  204. package/dist/esm/components/ui/password-input.js.map +1 -0
  205. package/dist/esm/components/ui/popover.js +32 -0
  206. package/dist/esm/components/ui/popover.js.map +1 -0
  207. package/dist/esm/components/ui/progress.js +31 -0
  208. package/dist/esm/components/ui/progress.js.map +1 -0
  209. package/dist/esm/components/ui/radio-group.js +40 -0
  210. package/dist/esm/components/ui/radio-group.js.map +1 -0
  211. package/dist/esm/components/ui/resizable.js +43 -0
  212. package/dist/esm/components/ui/resizable.js.map +1 -0
  213. package/dist/esm/components/ui/scroll-area.js +43 -0
  214. package/dist/esm/components/ui/scroll-area.js.map +1 -0
  215. package/dist/esm/components/ui/select.js +135 -0
  216. package/dist/esm/components/ui/select.js.map +1 -0
  217. package/dist/esm/components/ui/separator.js +29 -0
  218. package/dist/esm/components/ui/separator.js.map +1 -0
  219. package/dist/esm/components/ui/sheet.js +120 -0
  220. package/dist/esm/components/ui/sheet.js.map +1 -0
  221. package/dist/esm/components/ui/skeleton.js +24 -0
  222. package/dist/esm/components/ui/skeleton.js.map +1 -0
  223. package/dist/esm/components/ui/slider.js +28 -0
  224. package/dist/esm/components/ui/slider.js.map +1 -0
  225. package/dist/esm/components/ui/spinner.js +13 -0
  226. package/dist/esm/components/ui/spinner.js.map +1 -0
  227. package/dist/esm/components/ui/switch.js +62 -0
  228. package/dist/esm/components/ui/switch.js.map +1 -0
  229. package/dist/esm/components/ui/table.js +93 -0
  230. package/dist/esm/components/ui/table.js.map +1 -0
  231. package/dist/esm/components/ui/tabs.js +52 -0
  232. package/dist/esm/components/ui/tabs.js.map +1 -0
  233. package/dist/esm/components/ui/textarea.js +24 -0
  234. package/dist/esm/components/ui/textarea.js.map +1 -0
  235. package/dist/esm/components/ui/toast.js +105 -0
  236. package/dist/esm/components/ui/toast.js.map +1 -0
  237. package/dist/esm/components/ui/toaster.js +34 -0
  238. package/dist/esm/components/ui/toaster.js.map +1 -0
  239. package/dist/esm/components/ui/toggle-group.js +48 -0
  240. package/dist/esm/components/ui/toggle-group.js.map +1 -0
  241. package/dist/esm/components/ui/toggle.js +43 -0
  242. package/dist/esm/components/ui/toggle.js.map +1 -0
  243. package/dist/esm/components/ui/tooltip.js +38 -0
  244. package/dist/esm/components/ui/tooltip.js.map +1 -0
  245. package/dist/esm/components/ui/typography.js +47 -0
  246. package/dist/esm/components/ui/typography.js.map +1 -0
  247. package/dist/esm/components/ui/use-toast.js +130 -0
  248. package/dist/esm/components/ui/use-toast.js.map +1 -0
  249. package/dist/esm/index.js +59 -0
  250. package/dist/esm/index.js.map +1 -0
  251. package/dist/esm/lib/utils.js +10 -0
  252. package/dist/esm/lib/utils.js.map +1 -0
  253. package/dist/index.d.mts +967 -0
  254. package/dist/index.d.ts +967 -54
  255. package/dist/index.js +147 -53
  256. package/dist/index.js.map +1 -0
  257. package/dist/lib/utils.js +34 -4
  258. package/dist/lib/utils.js.map +1 -0
  259. package/package.json +10 -5
  260. package/dist/components/action-dialog.d.ts +0 -28
  261. package/dist/components/action-dialog.d.ts.map +0 -1
  262. package/dist/components/brand-icons.d.ts +0 -43
  263. package/dist/components/brand-icons.d.ts.map +0 -1
  264. package/dist/components/browser-frame/index.d.ts +0 -10
  265. package/dist/components/browser-frame/index.d.ts.map +0 -1
  266. package/dist/components/copy-button.d.ts +0 -17
  267. package/dist/components/copy-button.d.ts.map +0 -1
  268. package/dist/components/copy-field.d.ts +0 -13
  269. package/dist/components/copy-field.d.ts.map +0 -1
  270. package/dist/components/data-table/cells.d.ts +0 -31
  271. package/dist/components/data-table/cells.d.ts.map +0 -1
  272. package/dist/components/data-table/column-header.d.ts +0 -8
  273. package/dist/components/data-table/column-header.d.ts.map +0 -1
  274. package/dist/components/data-table/data-table.d.ts +0 -36
  275. package/dist/components/data-table/data-table.d.ts.map +0 -1
  276. package/dist/components/data-table/faceted-filter.d.ts +0 -16
  277. package/dist/components/data-table/faceted-filter.d.ts.map +0 -1
  278. package/dist/components/data-table/index.d.ts +0 -10
  279. package/dist/components/data-table/index.d.ts.map +0 -1
  280. package/dist/components/data-table/pagination.d.ts +0 -7
  281. package/dist/components/data-table/pagination.d.ts.map +0 -1
  282. package/dist/components/data-table/toolbar-items.d.ts +0 -8
  283. package/dist/components/data-table/toolbar-items.d.ts.map +0 -1
  284. package/dist/components/data-table/toolbar.d.ts +0 -12
  285. package/dist/components/data-table/toolbar.d.ts.map +0 -1
  286. package/dist/components/data-table/utils.d.ts +0 -3
  287. package/dist/components/data-table/utils.d.ts.map +0 -1
  288. package/dist/components/data-table/view-options.d.ts +0 -7
  289. package/dist/components/data-table/view-options.d.ts.map +0 -1
  290. package/dist/components/simple-tooltip.d.ts +0 -9
  291. package/dist/components/simple-tooltip.d.ts.map +0 -1
  292. package/dist/components/ui/accordion.d.ts +0 -14
  293. package/dist/components/ui/accordion.d.ts.map +0 -1
  294. package/dist/components/ui/alert.d.ts +0 -15
  295. package/dist/components/ui/alert.d.ts.map +0 -1
  296. package/dist/components/ui/aspect-ratio.d.ts +0 -4
  297. package/dist/components/ui/aspect-ratio.d.ts.map +0 -1
  298. package/dist/components/ui/avatar.d.ts +0 -13
  299. package/dist/components/ui/avatar.d.ts.map +0 -1
  300. package/dist/components/ui/badge.d.ts +0 -13
  301. package/dist/components/ui/badge.d.ts.map +0 -1
  302. package/dist/components/ui/breadcrumb.d.ts +0 -30
  303. package/dist/components/ui/breadcrumb.d.ts.map +0 -1
  304. package/dist/components/ui/button.d.ts +0 -28
  305. package/dist/components/ui/button.d.ts.map +0 -1
  306. package/dist/components/ui/calendar.d.ts +0 -9
  307. package/dist/components/ui/calendar.d.ts.map +0 -1
  308. package/dist/components/ui/card.d.ts +0 -23
  309. package/dist/components/ui/card.d.ts.map +0 -1
  310. package/dist/components/ui/checkbox.d.ts +0 -7
  311. package/dist/components/ui/checkbox.d.ts.map +0 -1
  312. package/dist/components/ui/collapsible.d.ts +0 -6
  313. package/dist/components/ui/collapsible.d.ts.map +0 -1
  314. package/dist/components/ui/command.d.ts +0 -18
  315. package/dist/components/ui/command.d.ts.map +0 -1
  316. package/dist/components/ui/context-menu.d.ts +0 -44
  317. package/dist/components/ui/context-menu.d.ts.map +0 -1
  318. package/dist/components/ui/dialog.d.ts +0 -34
  319. package/dist/components/ui/dialog.d.ts.map +0 -1
  320. package/dist/components/ui/dropdown-menu.d.ts +0 -47
  321. package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
  322. package/dist/components/ui/form.d.ts +0 -34
  323. package/dist/components/ui/form.d.ts.map +0 -1
  324. package/dist/components/ui/hover-card.d.ts +0 -9
  325. package/dist/components/ui/hover-card.d.ts.map +0 -1
  326. package/dist/components/ui/inline-code.d.ts +0 -6
  327. package/dist/components/ui/inline-code.d.ts.map +0 -1
  328. package/dist/components/ui/input-otp.d.ts +0 -17
  329. package/dist/components/ui/input-otp.d.ts.map +0 -1
  330. package/dist/components/ui/input.d.ts +0 -20
  331. package/dist/components/ui/input.d.ts.map +0 -1
  332. package/dist/components/ui/label.d.ts +0 -11
  333. package/dist/components/ui/label.d.ts.map +0 -1
  334. package/dist/components/ui/menubar.d.ts +0 -31
  335. package/dist/components/ui/menubar.d.ts.map +0 -1
  336. package/dist/components/ui/navigation-menu.d.ts +0 -25
  337. package/dist/components/ui/navigation-menu.d.ts.map +0 -1
  338. package/dist/components/ui/password-input.d.ts +0 -7
  339. package/dist/components/ui/password-input.d.ts.map +0 -1
  340. package/dist/components/ui/popover.d.ts +0 -10
  341. package/dist/components/ui/popover.d.ts.map +0 -1
  342. package/dist/components/ui/progress.d.ts +0 -7
  343. package/dist/components/ui/progress.d.ts.map +0 -1
  344. package/dist/components/ui/radio-group.d.ts +0 -10
  345. package/dist/components/ui/radio-group.d.ts.map +0 -1
  346. package/dist/components/ui/resizable.d.ts +0 -37
  347. package/dist/components/ui/resizable.d.ts.map +0 -1
  348. package/dist/components/ui/scroll-area.d.ts +0 -10
  349. package/dist/components/ui/scroll-area.d.ts.map +0 -1
  350. package/dist/components/ui/select.d.ts +0 -30
  351. package/dist/components/ui/select.d.ts.map +0 -1
  352. package/dist/components/ui/separator.d.ts +0 -7
  353. package/dist/components/ui/separator.d.ts.map +0 -1
  354. package/dist/components/ui/sheet.d.ts +0 -33
  355. package/dist/components/ui/sheet.d.ts.map +0 -1
  356. package/dist/components/ui/skeleton.d.ts +0 -4
  357. package/dist/components/ui/skeleton.d.ts.map +0 -1
  358. package/dist/components/ui/slider.d.ts +0 -7
  359. package/dist/components/ui/slider.d.ts.map +0 -1
  360. package/dist/components/ui/spinner.d.ts +0 -7
  361. package/dist/components/ui/spinner.d.ts.map +0 -1
  362. package/dist/components/ui/switch.d.ts +0 -11
  363. package/dist/components/ui/switch.d.ts.map +0 -1
  364. package/dist/components/ui/table.d.ts +0 -27
  365. package/dist/components/ui/table.d.ts.map +0 -1
  366. package/dist/components/ui/tabs.d.ts +0 -14
  367. package/dist/components/ui/tabs.d.ts.map +0 -1
  368. package/dist/components/ui/textarea.d.ts +0 -7
  369. package/dist/components/ui/textarea.d.ts.map +0 -1
  370. package/dist/components/ui/toast.d.ts +0 -28
  371. package/dist/components/ui/toast.d.ts.map +0 -1
  372. package/dist/components/ui/toaster.d.ts +0 -2
  373. package/dist/components/ui/toaster.d.ts.map +0 -1
  374. package/dist/components/ui/toggle-group.d.ts +0 -17
  375. package/dist/components/ui/toggle-group.d.ts.map +0 -1
  376. package/dist/components/ui/toggle.d.ts +0 -15
  377. package/dist/components/ui/toggle.d.ts.map +0 -1
  378. package/dist/components/ui/tooltip.d.ts +0 -12
  379. package/dist/components/ui/tooltip.d.ts.map +0 -1
  380. package/dist/components/ui/typography.d.ts +0 -10
  381. package/dist/components/ui/typography.d.ts.map +0 -1
  382. package/dist/components/ui/use-toast.d.ts +0 -45
  383. package/dist/components/ui/use-toast.d.ts.map +0 -1
  384. package/dist/index.d.ts.map +0 -1
  385. package/dist/lib/utils.d.ts +0 -3
  386. package/dist/lib/utils.d.ts.map +0 -1
@@ -0,0 +1,71 @@
1
+ // src/components/data-table/pagination.tsx
2
+ import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons";
3
+ import { Button } from "../ui/button.js";
4
+ import {
5
+ Select,
6
+ SelectContent,
7
+ SelectItem,
8
+ SelectTrigger,
9
+ SelectValue
10
+ } from "../ui/select.js";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
12
+ function DataTablePagination({
13
+ table
14
+ }) {
15
+ return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-2 flex-col sm:flex-row gap-y-4 sm:gap-y-0", children: [
16
+ /* @__PURE__ */ jsx("div", { className: "flex-1 text-sm text-muted-foreground", children: table.getFilteredSelectedRowModel().rows.length !== 0 ? `${table.getFilteredSelectedRowModel().rows.length} of ${table.getFilteredRowModel().rows.length} row(s) selected` : void 0 }),
17
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-x-6 lg:gap-x-8 flex-col sm:flex-row gap-y-4 sm:gap-y-0", children: [
18
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [
19
+ /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: "Rows per page" }),
20
+ /* @__PURE__ */ jsxs(
21
+ Select,
22
+ {
23
+ value: `${table.getState().pagination.pageSize}`,
24
+ onValueChange: (value) => {
25
+ table.setPageSize(Number(value));
26
+ },
27
+ children: [
28
+ /* @__PURE__ */ jsx(SelectTrigger, { className: "h-8 w-[70px]", children: /* @__PURE__ */ jsx(SelectValue, { placeholder: table.getState().pagination.pageSize }) }),
29
+ /* @__PURE__ */ jsx(SelectContent, { side: "top", children: [10, 20, 30, 40, 50].map((pageSize) => /* @__PURE__ */ jsx(SelectItem, { value: `${pageSize}`, children: pageSize }, pageSize)) })
30
+ ]
31
+ }
32
+ )
33
+ ] }),
34
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-4", children: [
35
+ /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center text-sm font-medium", children: table.getState().pagination.pageIndex + 1 }),
36
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center space-x-2", children: [
37
+ /* @__PURE__ */ jsxs(
38
+ Button,
39
+ {
40
+ variant: "outline",
41
+ className: "h-8 w-8 p-0",
42
+ onClick: () => table.previousPage(),
43
+ disabled: !table.getCanPreviousPage(),
44
+ children: [
45
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Go to previous page" }),
46
+ /* @__PURE__ */ jsx(ChevronLeftIcon, { className: "h-4 w-4" })
47
+ ]
48
+ }
49
+ ),
50
+ /* @__PURE__ */ jsxs(
51
+ Button,
52
+ {
53
+ variant: "outline",
54
+ className: "h-8 w-8 p-0",
55
+ onClick: () => table.nextPage(),
56
+ disabled: !table.getCanNextPage(),
57
+ children: [
58
+ /* @__PURE__ */ jsx("span", { className: "sr-only", children: "Go to next page" }),
59
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "h-4 w-4" })
60
+ ]
61
+ }
62
+ )
63
+ ] })
64
+ ] })
65
+ ] })
66
+ ] });
67
+ }
68
+ export {
69
+ DataTablePagination
70
+ };
71
+ //# sourceMappingURL=pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/data-table/pagination.tsx"],"sourcesContent":["import { ChevronLeftIcon, ChevronRightIcon } from \"@radix-ui/react-icons\";\nimport { Button } from \"../ui/button\";\nimport {\n Select,\n SelectContent,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"../ui/select\";\nimport { Table } from \"@tanstack/react-table\";\n\ntype DataTablePaginationProps<TData> = {\n table: Table<TData>,\n}\n\nexport function DataTablePagination<TData>({\n table,\n}: DataTablePaginationProps<TData>) {\n return (\n <div className=\"flex items-center justify-between px-2 flex-col sm:flex-row gap-y-4 sm:gap-y-0\">\n <div className=\"flex-1 text-sm text-muted-foreground\">\n {table.getFilteredSelectedRowModel().rows.length !== 0 ?\n `${table.getFilteredSelectedRowModel().rows.length} of ${table.getFilteredRowModel().rows.length} row(s) selected` :\n undefined}\n </div>\n <div className=\"flex items-center gap-x-6 lg:gap-x-8 flex-col sm:flex-row gap-y-4 sm:gap-y-0\">\n <div className=\"flex items-center space-x-2\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={`${table.getState().pagination.pageSize}`}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"h-8 w-[70px]\">\n <SelectValue placeholder={table.getState().pagination.pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={`${pageSize}`}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex items-center gap-4\">\n <div className=\"flex items-center justify-center text-sm font-medium\">\n {table.getState().pagination.pageIndex + 1}\n {/* {\" / \"}{table.getPageCount()} */}\n </div>\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n className=\"h-8 w-8 p-0\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"h-4 w-4\" />\n </Button>\n <Button\n variant=\"outline\"\n className=\"h-8 w-8 p-0\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"h-4 w-4\" />\n </Button>\n </div>\n </div>\n </div>\n </div>\n );\n}\n"],"mappings":";AAAA,SAAS,iBAAiB,wBAAwB;AAClD,SAAS,cAAc;AACvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAYD,cAQI,YARJ;AALC,SAAS,oBAA2B;AAAA,EACzC;AACF,GAAoC;AAClC,SACE,qBAAC,SAAI,WAAU,kFACb;AAAA,wBAAC,SAAI,WAAU,wCACZ,gBAAM,4BAA4B,EAAE,KAAK,WAAW,IACnD,GAAG,MAAM,4BAA4B,EAAE,KAAK,MAAM,OAAO,MAAM,oBAAoB,EAAE,KAAK,MAAM,qBAChG,QACJ;AAAA,IACA,qBAAC,SAAI,WAAU,gFACb;AAAA,2BAAC,SAAI,WAAU,+BACb;AAAA,4BAAC,OAAE,WAAU,uBAAsB,2BAAa;AAAA,QAChD;AAAA,UAAC;AAAA;AAAA,YACC,OAAO,GAAG,MAAM,SAAS,EAAE,WAAW,QAAQ;AAAA,YAC9C,eAAe,CAAC,UAAU;AACxB,oBAAM,YAAY,OAAO,KAAK,CAAC;AAAA,YACjC;AAAA,YAEA;AAAA,kCAAC,iBAAc,WAAU,gBACvB,8BAAC,eAAY,aAAa,MAAM,SAAS,EAAE,WAAW,UAAU,GAClE;AAAA,cACA,oBAAC,iBAAc,MAAK,OACjB,WAAC,IAAI,IAAI,IAAI,IAAI,EAAE,EAAE,IAAI,CAAC,aACzB,oBAAC,cAA0B,OAAO,GAAG,QAAQ,IAC1C,sBADc,QAEjB,CACD,GACH;AAAA;AAAA;AAAA,QACF;AAAA,SACF;AAAA,MACA,qBAAC,SAAI,WAAU,2BACb;AAAA,4BAAC,SAAI,WAAU,wDACZ,gBAAM,SAAS,EAAE,WAAW,YAAY,GAE3C;AAAA,QACA,qBAAC,SAAI,WAAU,+BACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,WAAU;AAAA,cACV,SAAS,MAAM,MAAM,aAAa;AAAA,cAClC,UAAU,CAAC,MAAM,mBAAmB;AAAA,cAEpC;AAAA,oCAAC,UAAK,WAAU,WAAU,iCAAmB;AAAA,gBAC7C,oBAAC,mBAAgB,WAAU,WAAU;AAAA;AAAA;AAAA,UACvC;AAAA,UACA;AAAA,YAAC;AAAA;AAAA,cACC,SAAQ;AAAA,cACR,WAAU;AAAA,cACV,SAAS,MAAM,MAAM,SAAS;AAAA,cAC9B,UAAU,CAAC,MAAM,eAAe;AAAA,cAEhC;AAAA,oCAAC,UAAK,WAAU,WAAU,6BAAe;AAAA,gBACzC,oBAAC,oBAAiB,WAAU,WAAU;AAAA;AAAA;AAAA,UACxC;AAAA,WACF;AAAA,SACF;AAAA,OACF;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,18 @@
1
+ // src/components/data-table/toolbar-items.tsx
2
+ import { Input, cn } from "../../index.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ function SearchToolbarItem(props) {
5
+ return /* @__PURE__ */ jsx(
6
+ Input,
7
+ {
8
+ placeholder: props.placeholder,
9
+ value: props.keyName ? `${props.table.getColumn(props.keyName)?.getFilterValue() ?? ""}` : props.table.getState().globalFilter ?? "",
10
+ onChange: (event) => props.keyName ? props.table.getColumn(props.keyName)?.setFilterValue(event.target.value) : props.table.setGlobalFilter(event.target.value),
11
+ className: cn("h-8 w-[250px]", props.className)
12
+ }
13
+ );
14
+ }
15
+ export {
16
+ SearchToolbarItem
17
+ };
18
+ //# sourceMappingURL=toolbar-items.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/data-table/toolbar-items.tsx"],"sourcesContent":["import { Input, cn } from \"../..\";\nimport { Table } from \"@tanstack/react-table\";\n\nexport function SearchToolbarItem<TData>(props: { table: Table<TData>, keyName?: string | null, placeholder: string, className?: string }) {\n return (\n <Input\n placeholder={props.placeholder}\n value={props.keyName ? `${props.table.getColumn(props.keyName)?.getFilterValue() ?? \"\"}` : props.table.getState().globalFilter ?? \"\"}\n onChange={(event) => props.keyName ? props.table.getColumn(props.keyName)?.setFilterValue(event.target.value) : props.table.setGlobalFilter(event.target.value)}\n className={cn(\"h-8 w-[250px]\", props.className)}\n />\n );\n}\n"],"mappings":";AAAA,SAAS,OAAO,UAAU;AAKtB;AAFG,SAAS,kBAAyB,OAAkG;AACzI,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAa,MAAM;AAAA,MACnB,OAAO,MAAM,UAAU,GAAG,MAAM,MAAM,UAAU,MAAM,OAAO,GAAG,eAAe,KAAK,EAAE,KAAK,MAAM,MAAM,SAAS,EAAE,gBAAgB;AAAA,MAClI,UAAU,CAAC,UAAU,MAAM,UAAU,MAAM,MAAM,UAAU,MAAM,OAAO,GAAG,eAAe,MAAM,OAAO,KAAK,IAAI,MAAM,MAAM,gBAAgB,MAAM,OAAO,KAAK;AAAA,MAC9J,WAAW,GAAG,iBAAiB,MAAM,SAAS;AAAA;AAAA,EAChD;AAEJ;","names":[]}
@@ -0,0 +1,92 @@
1
+ "use client";
2
+ "use client";
3
+
4
+ // src/components/data-table/toolbar.tsx
5
+ import { Cross2Icon } from "@radix-ui/react-icons";
6
+ import { deepPlainEquals } from "@stackframe/stack-shared/dist/utils/objects";
7
+ import { Button } from "../ui/button.js";
8
+ import { download, generateCsv, mkConfig } from "export-to-csv";
9
+ import { DownloadIcon } from "lucide-react";
10
+ import { DataTableViewOptions } from "./view-options.js";
11
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
12
+ function DataTableToolbar({
13
+ table,
14
+ toolbarRender,
15
+ showDefaultToolbar,
16
+ defaultColumnFilters,
17
+ defaultSorting,
18
+ showResetFilters = true
19
+ }) {
20
+ const isFiltered = !deepPlainEquals(table.getState().columnFilters, defaultColumnFilters);
21
+ const isSorted = !deepPlainEquals(table.getState().sorting, defaultSorting);
22
+ return /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
23
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 flex-wrap flex-1 stack-scope", children: [
24
+ toolbarRender?.(table),
25
+ showResetFilters && (isFiltered || isSorted) && /* @__PURE__ */ jsxs(
26
+ Button,
27
+ {
28
+ variant: "ghost",
29
+ onClick: () => {
30
+ table.setColumnFilters(defaultColumnFilters);
31
+ table.setSorting(defaultSorting);
32
+ },
33
+ className: "h-8 px-2 lg:px-3",
34
+ children: [
35
+ "Reset filters",
36
+ /* @__PURE__ */ jsx(Cross2Icon, { className: "ml-2 h-4 w-4" })
37
+ ]
38
+ }
39
+ )
40
+ ] }),
41
+ showDefaultToolbar && /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 flex-wrap", children: [
42
+ /* @__PURE__ */ jsx(DataTableViewOptions, { table }),
43
+ /* @__PURE__ */ jsxs(
44
+ Button,
45
+ {
46
+ variant: "outline",
47
+ size: "sm",
48
+ className: "ml-auto hidden h-8 lg:flex",
49
+ onClick: () => {
50
+ const csvConfig = mkConfig({
51
+ fieldSeparator: ",",
52
+ filename: "data",
53
+ decimalSeparator: ".",
54
+ useKeysAsHeaders: true
55
+ });
56
+ const renderCellValue = (cell) => {
57
+ const rendered = cell.renderValue();
58
+ if (rendered === null) {
59
+ return void 0;
60
+ }
61
+ if (["string", "number", "boolean", "undefined"].includes(typeof rendered)) {
62
+ return rendered;
63
+ }
64
+ if (rendered instanceof Date) {
65
+ return rendered.toISOString();
66
+ }
67
+ if (typeof rendered === "object") {
68
+ return JSON.stringify(rendered);
69
+ }
70
+ };
71
+ const rowModel = table.getCoreRowModel();
72
+ const rows = rowModel.rows.map((row) => Object.fromEntries(row.getAllCells().map((c) => [c.column.id, renderCellValue(c)]).filter(([_, v]) => v !== void 0)));
73
+ if (rows.length === 0) {
74
+ alert("No data to export");
75
+ return;
76
+ }
77
+ const csv = generateCsv(csvConfig)(rows);
78
+ download(csvConfig)(csv);
79
+ },
80
+ children: [
81
+ /* @__PURE__ */ jsx(DownloadIcon, { className: "mr-2 h-4 w-4" }),
82
+ "Export CSV"
83
+ ]
84
+ }
85
+ )
86
+ ] }) })
87
+ ] });
88
+ }
89
+ export {
90
+ DataTableToolbar
91
+ };
92
+ //# sourceMappingURL=toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/data-table/toolbar.tsx"],"sourcesContent":["\"use client\";\n\nimport { Cross2Icon } from \"@radix-ui/react-icons\";\nimport { deepPlainEquals } from \"@stackframe/stack-shared/dist/utils/objects\";\nimport { Button } from \"../ui/button\";\nimport { Cell, ColumnFiltersState, SortingState, Table } from \"@tanstack/react-table\";\nimport { download, generateCsv, mkConfig } from 'export-to-csv';\nimport { DownloadIcon } from \"lucide-react\";\nimport { DataTableViewOptions } from \"./view-options\";\n\ntype DataTableToolbarProps<TData> = {\n table: Table<TData>,\n toolbarRender?: (table: Table<TData>) => React.ReactNode,\n showDefaultToolbar?: boolean,\n defaultColumnFilters: ColumnFiltersState,\n defaultSorting: SortingState,\n showResetFilters?: boolean,\n}\n\nexport function DataTableToolbar<TData>({\n table,\n toolbarRender,\n showDefaultToolbar,\n defaultColumnFilters,\n defaultSorting,\n showResetFilters = true,\n}: DataTableToolbarProps<TData>) {\n const isFiltered = !deepPlainEquals(table.getState().columnFilters, defaultColumnFilters);\n const isSorted = !deepPlainEquals(table.getState().sorting, defaultSorting);\n\n return (\n <div className=\"flex items-center justify-between\">\n <div className=\"flex items-center gap-2 flex-wrap flex-1 stack-scope\">\n {toolbarRender?.(table)}\n {showResetFilters && (isFiltered || isSorted) && (\n <Button\n variant=\"ghost\"\n onClick={() => {\n table.setColumnFilters(defaultColumnFilters);\n table.setSorting(defaultSorting);\n }}\n className=\"h-8 px-2 lg:px-3\"\n >\n Reset filters\n <Cross2Icon className=\"ml-2 h-4 w-4\" />\n </Button>\n )}\n </div>\n {showDefaultToolbar && (\n <>\n <div className=\"flex items-center gap-2 flex-wrap\">\n <DataTableViewOptions table={table} />\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"ml-auto hidden h-8 lg:flex\"\n onClick={() => {\n const csvConfig = mkConfig({\n fieldSeparator: ',',\n filename: 'data',\n decimalSeparator: '.',\n useKeysAsHeaders: true,\n });\n\n const renderCellValue = (cell: Cell<TData, unknown>) => {\n const rendered = cell.renderValue();\n if (rendered === null) {\n return undefined;\n }\n if (['string', 'number', 'boolean', 'undefined'].includes(typeof rendered)) {\n return rendered;\n }\n if (rendered instanceof Date) {\n return rendered.toISOString();\n }\n if (typeof rendered === 'object') {\n return JSON.stringify(rendered);\n }\n };\n\n\n const rowModel = table.getCoreRowModel();\n const rows = rowModel.rows.map(row => Object.fromEntries(row.getAllCells().map(c => [c.column.id, renderCellValue(c)]).filter(([_, v]) => v !== undefined)));\n if (rows.length === 0) {\n alert(\"No data to export\");\n return;\n }\n const csv = generateCsv(csvConfig)(rows as any);\n download(csvConfig)(csv);\n }}\n >\n <DownloadIcon className=\"mr-2 h-4 w-4\" />\n Export CSV\n </Button>\n </div>\n </>\n )}\n </div>\n );\n}\n"],"mappings":";;;AAEA,SAAS,kBAAkB;AAC3B,SAAS,uBAAuB;AAChC,SAAS,cAAc;AAEvB,SAAS,UAAU,aAAa,gBAAgB;AAChD,SAAS,oBAAoB;AAC7B,SAAS,4BAA4B;AA2B3B,SAcF,UALI,KATF;AAhBH,SAAS,iBAAwB;AAAA,EACtC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,mBAAmB;AACrB,GAAiC;AAC/B,QAAM,aAAa,CAAC,gBAAgB,MAAM,SAAS,EAAE,eAAe,oBAAoB;AACxF,QAAM,WAAW,CAAC,gBAAgB,MAAM,SAAS,EAAE,SAAS,cAAc;AAE1E,SACE,qBAAC,SAAI,WAAU,qCACb;AAAA,yBAAC,SAAI,WAAU,wDACZ;AAAA,sBAAgB,KAAK;AAAA,MACrB,qBAAqB,cAAc,aAClC;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,SAAS,MAAM;AACb,kBAAM,iBAAiB,oBAAoB;AAC3C,kBAAM,WAAW,cAAc;AAAA,UACjC;AAAA,UACA,WAAU;AAAA,UACX;AAAA;AAAA,YAEC,oBAAC,cAAW,WAAU,gBAAe;AAAA;AAAA;AAAA,MACvC;AAAA,OAEJ;AAAA,IACC,sBACC,gCACE,+BAAC,SAAI,WAAU,qCACb;AAAA,0BAAC,wBAAqB,OAAc;AAAA,MACpC;AAAA,QAAC;AAAA;AAAA,UACC,SAAQ;AAAA,UACR,MAAK;AAAA,UACL,WAAU;AAAA,UACV,SAAS,MAAM;AACb,kBAAM,YAAY,SAAS;AAAA,cACzB,gBAAgB;AAAA,cAChB,UAAU;AAAA,cACV,kBAAkB;AAAA,cAClB,kBAAkB;AAAA,YACpB,CAAC;AAED,kBAAM,kBAAkB,CAAC,SAA+B;AACtD,oBAAM,WAAW,KAAK,YAAY;AAClC,kBAAI,aAAa,MAAM;AACrB,uBAAO;AAAA,cACT;AACA,kBAAI,CAAC,UAAU,UAAU,WAAW,WAAW,EAAE,SAAS,OAAO,QAAQ,GAAG;AAC1E,uBAAO;AAAA,cACT;AACA,kBAAI,oBAAoB,MAAM;AAC5B,uBAAO,SAAS,YAAY;AAAA,cAC9B;AACA,kBAAI,OAAO,aAAa,UAAU;AAChC,uBAAO,KAAK,UAAU,QAAQ;AAAA,cAChC;AAAA,YACF;AAGA,kBAAM,WAAW,MAAM,gBAAgB;AACvC,kBAAM,OAAO,SAAS,KAAK,IAAI,SAAO,OAAO,YAAY,IAAI,YAAY,EAAE,IAAI,OAAK,CAAC,EAAE,OAAO,IAAI,gBAAgB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,GAAG,CAAC,MAAM,MAAM,MAAS,CAAC,CAAC;AAC3J,gBAAI,KAAK,WAAW,GAAG;AACrB,oBAAM,mBAAmB;AACzB;AAAA,YACF;AACA,kBAAM,MAAM,YAAY,SAAS,EAAE,IAAW;AAC9C,qBAAS,SAAS,EAAE,GAAG;AAAA,UACzB;AAAA,UAEA;AAAA,gCAAC,gBAAa,WAAU,gBAAe;AAAA,YAAE;AAAA;AAAA;AAAA,MAE3C;AAAA,OACF,GACF;AAAA,KAEJ;AAEJ;","names":[]}
@@ -0,0 +1,12 @@
1
+ // src/components/data-table/utils.tsx
2
+ function standardFilterFn(row, id, value) {
3
+ return value.includes(row.getValue(id));
4
+ }
5
+ function arrayFilterFn(row, id, value) {
6
+ return value.some((v) => row.getValue(id).includes(v));
7
+ }
8
+ export {
9
+ arrayFilterFn,
10
+ standardFilterFn
11
+ };
12
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/data-table/utils.tsx"],"sourcesContent":["export function standardFilterFn (row: any, id: string, value: any) {\n return value.includes(row.getValue(id));\n}\n\nexport function arrayFilterFn (row: any, id: string, value: any) {\n return value.some((v: any) => row.getValue(id).includes(v));\n}\n"],"mappings":";AAAO,SAAS,iBAAkB,KAAU,IAAY,OAAY;AAClE,SAAO,MAAM,SAAS,IAAI,SAAS,EAAE,CAAC;AACxC;AAEO,SAAS,cAAe,KAAU,IAAY,OAAY;AAC/D,SAAO,MAAM,KAAK,CAAC,MAAW,IAAI,SAAS,EAAE,EAAE,SAAS,CAAC,CAAC;AAC5D;","names":[]}
@@ -0,0 +1,55 @@
1
+ "use client";
2
+ "use client";
3
+
4
+ // src/components/data-table/view-options.tsx
5
+ import { MixerHorizontalIcon } from "@radix-ui/react-icons";
6
+ import { Button } from "../ui/button.js";
7
+ import {
8
+ DropdownMenu,
9
+ DropdownMenuCheckboxItem,
10
+ DropdownMenuContent,
11
+ DropdownMenuLabel,
12
+ DropdownMenuSeparator,
13
+ DropdownMenuTrigger
14
+ } from "../ui/dropdown-menu.js";
15
+ import { jsx, jsxs } from "react/jsx-runtime";
16
+ function DataTableViewOptions({
17
+ table
18
+ }) {
19
+ return /* @__PURE__ */ jsxs(DropdownMenu, { children: [
20
+ /* @__PURE__ */ jsx(DropdownMenuTrigger, { asChild: true, children: /* @__PURE__ */ jsxs(
21
+ Button,
22
+ {
23
+ variant: "outline",
24
+ size: "sm",
25
+ className: "ml-auto hidden h-8 lg:flex",
26
+ children: [
27
+ /* @__PURE__ */ jsx(MixerHorizontalIcon, { className: "mr-2 h-4 w-4" }),
28
+ "View"
29
+ ]
30
+ }
31
+ ) }),
32
+ /* @__PURE__ */ jsxs(DropdownMenuContent, { align: "end", children: [
33
+ /* @__PURE__ */ jsx(DropdownMenuLabel, { children: "Toggle columns" }),
34
+ /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
35
+ table.getAllColumns().filter(
36
+ (column) => typeof column.accessorFn !== "undefined" && column.getCanHide()
37
+ ).map((column) => {
38
+ return /* @__PURE__ */ jsx(
39
+ DropdownMenuCheckboxItem,
40
+ {
41
+ className: "capitalize",
42
+ checked: column.getIsVisible(),
43
+ onCheckedChange: (value) => column.toggleVisibility(!!value),
44
+ children: column.id
45
+ },
46
+ column.id
47
+ );
48
+ })
49
+ ] })
50
+ ] });
51
+ }
52
+ export {
53
+ DataTableViewOptions
54
+ };
55
+ //# sourceMappingURL=view-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/data-table/view-options.tsx"],"sourcesContent":["\"use client\";\n\nimport { MixerHorizontalIcon } from \"@radix-ui/react-icons\";\nimport { Button } from \"../ui/button\";\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from \"../ui/dropdown-menu\";\nimport { Table } from \"@tanstack/react-table\";\n\ntype DataTableViewOptionsProps<TData> = {\n table: Table<TData>,\n}\n\nexport function DataTableViewOptions<TData>({\n table,\n}: DataTableViewOptionsProps<TData>) {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className=\"ml-auto hidden h-8 lg:flex\"\n >\n <MixerHorizontalIcon className=\"mr-2 h-4 w-4\" />\n View\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter(\n (column) =>\n typeof column.accessorFn !== \"undefined\" && column.getCanHide()\n )\n .map((column) => {\n return (\n <DropdownMenuCheckboxItem\n key={column.id}\n className=\"capitalize\"\n checked={column.getIsVisible()}\n onCheckedChange={(value) => column.toggleVisibility(!!value)}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n"],"mappings":";;;AAEA,SAAS,2BAA2B;AACpC,SAAS,cAAc;AACvB;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAaC,SAKE,KALF;AAND,SAAS,qBAA4B;AAAA,EAC1C;AACF,GAAqC;AACnC,SACE,qBAAC,gBACC;AAAA,wBAAC,uBAAoB,SAAO,MAC1B;AAAA,MAAC;AAAA;AAAA,QACC,SAAQ;AAAA,QACR,MAAK;AAAA,QACL,WAAU;AAAA,QAEV;AAAA,8BAAC,uBAAoB,WAAU,gBAAe;AAAA,UAAE;AAAA;AAAA;AAAA,IAElD,GACF;AAAA,IACA,qBAAC,uBAAoB,OAAM,OACzB;AAAA,0BAAC,qBAAkB,4BAAc;AAAA,MACjC,oBAAC,yBAAsB;AAAA,MACtB,MACE,cAAc,EACd;AAAA,QACC,CAAC,WACC,OAAO,OAAO,eAAe,eAAe,OAAO,WAAW;AAAA,MAClE,EACC,IAAI,CAAC,WAAW;AACf,eACE;AAAA,UAAC;AAAA;AAAA,YAEC,WAAU;AAAA,YACV,SAAS,OAAO,aAAa;AAAA,YAC7B,iBAAiB,CAAC,UAAU,OAAO,iBAAiB,CAAC,CAAC,KAAK;AAAA,YAE1D,iBAAO;AAAA;AAAA,UALH,OAAO;AAAA,QAMd;AAAA,MAEJ,CAAC;AAAA,OACL;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,21 @@
1
+ // src/components/simple-tooltip.tsx
2
+ import { TooltipPortal } from "@radix-ui/react-tooltip";
3
+ import { CircleAlert, Info } from "lucide-react";
4
+ import { Tooltip, TooltipContent, TooltipTrigger, cn } from "../index.js";
5
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
6
+ function SimpleTooltip(props) {
7
+ const iconClassName = cn("w-4 h-4 text-muted-foreground", props.inline && "inline");
8
+ const icon = props.type === "warning" ? /* @__PURE__ */ jsx(CircleAlert, { className: iconClassName }) : props.type === "info" ? /* @__PURE__ */ jsx(Info, { className: iconClassName }) : null;
9
+ const trigger = /* @__PURE__ */ jsxs(Fragment, { children: [
10
+ icon,
11
+ props.children
12
+ ] });
13
+ return /* @__PURE__ */ jsxs(Tooltip, { open: props.disabled ? false : void 0, children: [
14
+ /* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: props.inline ? /* @__PURE__ */ jsx("span", { className: cn(props.className), children: trigger }) : /* @__PURE__ */ jsx("div", { className: cn("flex items-center gap-1", props.className), children: trigger }) }),
15
+ props.tooltip && /* @__PURE__ */ jsx(TooltipPortal, { children: /* @__PURE__ */ jsx(TooltipContent, { children: /* @__PURE__ */ jsx("div", { className: "max-w-60 text-center text-wrap whitespace-pre-wrap", children: props.tooltip }) }) })
16
+ ] });
17
+ }
18
+ export {
19
+ SimpleTooltip
20
+ };
21
+ //# sourceMappingURL=simple-tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/simple-tooltip.tsx"],"sourcesContent":["import { TooltipPortal } from \"@radix-ui/react-tooltip\";\nimport { CircleAlert, Info } from \"lucide-react\";\nimport { Tooltip, TooltipContent, TooltipTrigger, cn } from \"..\";\n\nexport function SimpleTooltip(props: {\n tooltip: React.ReactNode,\n children?: React.ReactNode,\n type?: 'info' | 'warning',\n inline?: boolean,\n className?: string,\n disabled?: boolean,\n}) {\n const iconClassName = cn(\"w-4 h-4 text-muted-foreground\", props.inline && \"inline\");\n const icon = props.type === 'warning' ?\n <CircleAlert className={iconClassName} /> :\n props.type === 'info' ?\n <Info className={iconClassName} /> :\n null;\n\n const trigger = (\n <>{icon}{props.children}</>\n );\n\n return (\n <Tooltip open={props.disabled ? false : undefined}>\n <TooltipTrigger asChild>\n {props.inline ? (\n <span className={cn(props.className)}>\n {trigger}\n </span>\n ) : (\n <div className={cn(\"flex items-center gap-1\", props.className)}>\n {trigger}\n </div>\n )}\n </TooltipTrigger>\n {props.tooltip && <TooltipPortal>\n <TooltipContent>\n <div className=\"max-w-60 text-center text-wrap whitespace-pre-wrap\">\n {props.tooltip}\n </div>\n </TooltipContent>\n </TooltipPortal>}\n </Tooltip>\n );\n}\n"],"mappings":";AAAA,SAAS,qBAAqB;AAC9B,SAAS,aAAa,YAAY;AAClC,SAAS,SAAS,gBAAgB,gBAAgB,UAAU;AAYxD,SAMA,UANA,KAMA,YANA;AAVG,SAAS,cAAc,OAO3B;AACD,QAAM,gBAAgB,GAAG,iCAAiC,MAAM,UAAU,QAAQ;AAClF,QAAM,OAAO,MAAM,SAAS,YAC1B,oBAAC,eAAY,WAAW,eAAe,IACvC,MAAM,SAAS,SACb,oBAAC,QAAK,WAAW,eAAe,IAChC;AAEJ,QAAM,UACJ,iCAAG;AAAA;AAAA,IAAM,MAAM;AAAA,KAAS;AAG1B,SACE,qBAAC,WAAQ,MAAM,MAAM,WAAW,QAAQ,QACtC;AAAA,wBAAC,kBAAe,SAAO,MACpB,gBAAM,SACL,oBAAC,UAAK,WAAW,GAAG,MAAM,SAAS,GAChC,mBACH,IAEA,oBAAC,SAAI,WAAW,GAAG,2BAA2B,MAAM,SAAS,GAC1D,mBACH,GAEJ;AAAA,IACC,MAAM,WAAW,oBAAC,iBACjB,8BAAC,kBACC,8BAAC,SAAI,WAAU,sDACZ,gBAAM,SACT,GACF,GACF;AAAA,KACF;AAEJ;","names":[]}
@@ -0,0 +1,52 @@
1
+ "use client";
2
+ "use client";
3
+
4
+ // src/components/ui/accordion.tsx
5
+ import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
6
+ import * as AccordionPrimitive from "@radix-ui/react-accordion";
7
+ import { ChevronDownIcon } from "@radix-ui/react-icons";
8
+ import { cn } from "../../lib/utils.js";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ var Accordion = AccordionPrimitive.Root;
11
+ var AccordionItem = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
12
+ AccordionPrimitive.Item,
13
+ {
14
+ ref,
15
+ className: cn("border-b", className),
16
+ ...props
17
+ }
18
+ ));
19
+ AccordionItem.displayName = "AccordionItem";
20
+ var AccordionTrigger = forwardRefIfNeeded(({ className, children, disabled, ...props }, ref) => /* @__PURE__ */ jsx(AccordionPrimitive.Header, { className: "stack-scope flex", children: /* @__PURE__ */ jsxs(
21
+ AccordionPrimitive.Trigger,
22
+ {
23
+ ref,
24
+ className: cn(
25
+ "flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180",
26
+ className
27
+ ),
28
+ ...props,
29
+ children: [
30
+ children,
31
+ !disabled && /* @__PURE__ */ jsx(ChevronDownIcon, { className: "h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200" })
32
+ ]
33
+ }
34
+ ) }));
35
+ AccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;
36
+ var AccordionContent = forwardRefIfNeeded(({ className, children, ...props }, ref) => /* @__PURE__ */ jsx(
37
+ AccordionPrimitive.Content,
38
+ {
39
+ ref,
40
+ className: "stack-scope text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down",
41
+ ...props,
42
+ children: /* @__PURE__ */ jsx("div", { className: cn("pb-4 pt-0", className), children })
43
+ }
44
+ ));
45
+ AccordionContent.displayName = AccordionPrimitive.Content.displayName;
46
+ export {
47
+ Accordion,
48
+ AccordionContent,
49
+ AccordionItem,
50
+ AccordionTrigger
51
+ };
52
+ //# sourceMappingURL=accordion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/accordion.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\";\nimport { ChevronDownIcon } from \"@radix-ui/react-icons\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Accordion = AccordionPrimitive.Root;\n\nconst AccordionItem = forwardRefIfNeeded<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b\", className)}\n {...props}\n />\n));\nAccordionItem.displayName = \"AccordionItem\";\n\nconst AccordionTrigger = forwardRefIfNeeded<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, disabled, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"stack-scope flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 text-sm font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n {!disabled && <ChevronDownIcon className=\"h-4 w-4 shrink-0 text-muted-foreground transition-transform duration-200\" />}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n));\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName;\n\nconst AccordionContent = forwardRefIfNeeded<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"stack-scope text-sm data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n));\nAccordionContent.displayName = AccordionPrimitive.Content.displayName;\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":";;;AAGA,SAAS,0BAA0B;AACnC,YAAY,wBAAwB;AACpC,SAAS,uBAAuB;AAEhC,SAAS,UAAU;AAQjB,cAaE,YAbF;AANF,IAAM,YAA+B;AAErC,IAAM,gBAAgB,mBAGpB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAoB;AAAA,EAAnB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,YAAY,SAAS;AAAA,IAClC,GAAG;AAAA;AACN,CACD;AACD,cAAc,cAAc;AAE5B,IAAM,mBAAmB,mBAGvB,CAAC,EAAE,WAAW,UAAU,UAAU,GAAG,MAAM,GAAG,QAC9C,oBAAoB,2BAAnB,EAA0B,WAAU,oBACnC;AAAA,EAAoB;AAAA,EAAnB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEH;AAAA;AAAA,MACA,CAAC,YAAY,oBAAC,mBAAgB,WAAU,4EAA2E;AAAA;AAAA;AACtH,GACF,CACD;AACD,iBAAiB,cAAiC,2BAAQ;AAE1D,IAAM,mBAAmB,mBAGvB,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAoB;AAAA,EAAnB;AAAA,IACC;AAAA,IACA,WAAU;AAAA,IACT,GAAG;AAAA,IAEJ,8BAAC,SAAI,WAAW,GAAG,aAAa,SAAS,GAAI,UAAS;AAAA;AACxD,CACD;AACD,iBAAiB,cAAiC,2BAAQ;","names":[]}
@@ -0,0 +1,54 @@
1
+ // src/components/ui/alert.tsx
2
+ import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
3
+ import { cva } from "class-variance-authority";
4
+ import { cn } from "../../lib/utils.js";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var alertVariants = cva(
7
+ "stack-scope relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7",
8
+ {
9
+ variants: {
10
+ variant: {
11
+ default: "bg-background text-foreground",
12
+ destructive: "border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive bg-destructive/5",
13
+ success: "border-success/50 text-success dark:border-success [&>svg]:text-success bg-success/5"
14
+ }
15
+ },
16
+ defaultVariants: {
17
+ variant: "default"
18
+ }
19
+ }
20
+ );
21
+ var Alert = forwardRefIfNeeded(({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx(
22
+ "div",
23
+ {
24
+ ref,
25
+ role: "alert",
26
+ className: cn(alertVariants({ variant }), className),
27
+ ...props
28
+ }
29
+ ));
30
+ Alert.displayName = "Alert";
31
+ var AlertTitle = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
32
+ "h5",
33
+ {
34
+ ref,
35
+ className: cn("mb-1 font-medium leading-none tracking-tight", className),
36
+ ...props
37
+ }
38
+ ));
39
+ AlertTitle.displayName = "AlertTitle";
40
+ var AlertDescription = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
41
+ "div",
42
+ {
43
+ ref,
44
+ className: cn("text-sm [&_p]:leading-relaxed", className),
45
+ ...props
46
+ }
47
+ ));
48
+ AlertDescription.displayName = "AlertDescription";
49
+ export {
50
+ Alert,
51
+ AlertDescription,
52
+ AlertTitle
53
+ };
54
+ //# sourceMappingURL=alert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/alert.tsx"],"sourcesContent":["import React from \"react\";\nimport { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst alertVariants = cva(\n \"stack-scope relative w-full rounded-lg border px-4 py-3 text-sm [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground [&>svg~*]:pl-7\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive: \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive bg-destructive/5\",\n success: \"border-success/50 text-success dark:border-success [&>svg]:text-success bg-success/5\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nconst Alert = forwardRefIfNeeded<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n));\nAlert.displayName = \"Alert\";\n\nconst AlertTitle = forwardRefIfNeeded<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n));\nAlertTitle.displayName = \"AlertTitle\";\n\nconst AlertDescription = forwardRefIfNeeded<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n));\nAlertDescription.displayName = \"AlertDescription\";\n\nexport { Alert, AlertTitle, AlertDescription };\n"],"mappings":";AACA,SAAS,0BAA0B;AACnC,SAAS,WAA8B;AAEvC,SAAS,UAAU;AAsBjB;AApBF,IAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SAAS;AAAA,QACT,aAAa;AAAA,QACb,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAEA,IAAM,QAAQ,mBAGZ,CAAC,EAAE,WAAW,SAAS,GAAG,MAAM,GAAG,QACnC;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,MAAK;AAAA,IACL,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS;AAAA,IAClD,GAAG;AAAA;AACN,CACD;AACD,MAAM,cAAc;AAEpB,IAAM,aAAa,mBAGjB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,gDAAgD,SAAS;AAAA,IACtE,GAAG;AAAA;AACN,CACD;AACD,WAAW,cAAc;AAEzB,IAAM,mBAAmB,mBAGvB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,iCAAiC,SAAS;AAAA,IACvD,GAAG;AAAA;AACN,CACD;AACD,iBAAiB,cAAc;","names":[]}
@@ -0,0 +1,10 @@
1
+ "use client";
2
+ "use client";
3
+
4
+ // src/components/ui/aspect-ratio.tsx
5
+ import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio";
6
+ var AspectRatio = AspectRatioPrimitive.Root;
7
+ export {
8
+ AspectRatio
9
+ };
10
+ //# sourceMappingURL=aspect-ratio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/aspect-ratio.tsx"],"sourcesContent":["\"use client\";\n\nimport * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\";\n\nconst AspectRatio = AspectRatioPrimitive.Root;\n\nexport { AspectRatio };\n"],"mappings":";;;AAEA,YAAY,0BAA0B;AAEtC,IAAM,cAAmC;","names":[]}
@@ -0,0 +1,47 @@
1
+ "use client";
2
+ "use client";
3
+
4
+ // src/components/ui/avatar.tsx
5
+ import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
6
+ import * as AvatarPrimitive from "@radix-ui/react-avatar";
7
+ import { cn } from "../../lib/utils.js";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var Avatar = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
10
+ AvatarPrimitive.Root,
11
+ {
12
+ ref,
13
+ className: cn(
14
+ "stack-scope relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full",
15
+ className
16
+ ),
17
+ ...props
18
+ }
19
+ ));
20
+ Avatar.displayName = AvatarPrimitive.Root.displayName;
21
+ var AvatarImage = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
22
+ AvatarPrimitive.Image,
23
+ {
24
+ ref,
25
+ className: cn("aspect-square h-full w-full", className),
26
+ ...props
27
+ }
28
+ ));
29
+ AvatarImage.displayName = AvatarPrimitive.Image.displayName;
30
+ var AvatarFallback = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
31
+ AvatarPrimitive.Fallback,
32
+ {
33
+ ref,
34
+ className: cn(
35
+ "flex h-full w-full items-center justify-center rounded-full bg-muted",
36
+ className
37
+ ),
38
+ ...props
39
+ }
40
+ ));
41
+ AvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;
42
+ export {
43
+ Avatar,
44
+ AvatarFallback,
45
+ AvatarImage
46
+ };
47
+ //# sourceMappingURL=avatar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/avatar.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst Avatar = forwardRefIfNeeded<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n \"stack-scope relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\n className\n )}\n {...props}\n />\n));\nAvatar.displayName = AvatarPrimitive.Root.displayName;\n\nconst AvatarImage = forwardRefIfNeeded<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full\", className)}\n {...props}\n />\n));\nAvatarImage.displayName = AvatarPrimitive.Image.displayName;\n\nconst AvatarFallback = forwardRefIfNeeded<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\n className\n )}\n {...props}\n />\n));\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName;\n\nexport { Avatar, AvatarImage, AvatarFallback };\n"],"mappings":";;;AAGA,SAAS,0BAA0B;AACnC,YAAY,qBAAqB;AAEjC,SAAS,UAAU;AAMjB;AAJF,IAAM,SAAS,mBAGb,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAiB;AAAA,EAAhB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,OAAO,cAA8B,qBAAK;AAE1C,IAAM,cAAc,mBAGlB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAiB;AAAA,EAAhB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,+BAA+B,SAAS;AAAA,IACrD,GAAG;AAAA;AACN,CACD;AACD,YAAY,cAA8B,sBAAM;AAEhD,IAAM,iBAAiB,mBAGrB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAiB;AAAA,EAAhB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,eAAe,cAA8B,yBAAS;","names":[]}
@@ -0,0 +1,30 @@
1
+ // src/components/ui/badge.tsx
2
+ import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
3
+ import { cva } from "class-variance-authority";
4
+ import { cn } from "../../lib/utils.js";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var badgeVariants = cva(
7
+ "stack-scope inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
8
+ {
9
+ variants: {
10
+ variant: {
11
+ default: "border-transparent bg-primary text-primary-foreground shadow",
12
+ secondary: "border-transparent bg-secondary text-secondary-foreground",
13
+ destructive: "border-transparent bg-destructive text-destructive-foreground shadow",
14
+ outline: "text-foreground"
15
+ }
16
+ },
17
+ defaultVariants: {
18
+ variant: "default"
19
+ }
20
+ }
21
+ );
22
+ var Badge = forwardRefIfNeeded(({ className, variant, ...props }, ref) => {
23
+ return /* @__PURE__ */ jsx("div", { ref, className: cn(badgeVariants({ variant }), className), ...props });
24
+ });
25
+ Badge.displayName = "Badge";
26
+ export {
27
+ Badge,
28
+ badgeVariants
29
+ };
30
+ //# sourceMappingURL=badge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/badge.tsx"],"sourcesContent":["import { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst badgeVariants = cva(\n \"stack-scope inline-flex items-center rounded-md border px-2.5 py-0.5 text-xs font-semibold focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground shadow\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground shadow\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nexport type BadgeProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof badgeVariants>;\n\nconst Badge = forwardRefIfNeeded<HTMLDivElement, BadgeProps>(({ className, variant, ...props }, ref) => {\n return (\n <div ref={ref} className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n});\nBadge.displayName = \"Badge\";\n\nexport { Badge, badgeVariants };\n"],"mappings":";AAAA,SAAS,0BAA0B;AACnC,SAAS,WAA8B;AAGvC,SAAS,UAAU;AA0Bf;AAxBJ,IAAM,gBAAgB;AAAA,EACpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA,QACP,SACE;AAAA,QACF,WACE;AAAA,QACF,aACE;AAAA,QACF,SAAS;AAAA,MACX;AAAA,IACF;AAAA,IACA,iBAAiB;AAAA,MACf,SAAS;AAAA,IACX;AAAA,EACF;AACF;AAIA,IAAM,QAAQ,mBAA+C,CAAC,EAAE,WAAW,SAAS,GAAG,MAAM,GAAG,QAAQ;AACtG,SACE,oBAAC,SAAI,KAAU,WAAW,GAAG,cAAc,EAAE,QAAQ,CAAC,GAAG,SAAS,GAAI,GAAG,OAAO;AAEpF,CAAC;AACD,MAAM,cAAc;","names":[]}