@stackframe/stack-ui 2.8.61 → 2.8.63

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 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/form.tsx"],"sourcesContent":["'use client';\n\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport React from \"react\";\nimport { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n} from \"react-hook-form\";\n\nimport { StackAssertionError } from \"@stackframe/stack-shared/dist/utils/errors\";\nimport { cn } from \"../../lib/utils\";\nimport { SpanLabel } from \"./label\";\n\nconst Form = FormProvider;\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName,\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue | null>(null);\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n }: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n );\n};\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext);\n const itemContext = React.useContext(FormItemContext);\n const { getFieldState, formState } = useFormContext();\n\n if (!fieldContext) {\n throw new StackAssertionError(\"useFormField should be used within <FormField>\");\n }\n\n const fieldState = getFieldState(fieldContext.name, formState);\n\n const { id } = itemContext;\n const formItemId = React.useId();\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${formItemId}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n };\n};\n\ntype FormItemContextValue = {\n id: string,\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n);\n\nconst FormItem = forwardRefIfNeeded<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId();\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n );\n});\nFormItem.displayName = \"FormItem\";\n\nconst FormLabel = forwardRefIfNeeded<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error } = useFormField();\n\n return (\n <SpanLabel\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n {...props}\n />\n );\n});\nFormLabel.displayName = \"FormLabel\";\n\nconst FormControl = forwardRefIfNeeded<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField();\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n );\n});\nFormControl.displayName = \"FormControl\";\n\nconst FormDescription = forwardRefIfNeeded<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField();\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-[0.8rem] text-muted-foreground\", className)}\n {...props}\n />\n );\n});\nFormDescription.displayName = \"FormDescription\";\n\nconst FormMessage = forwardRefIfNeeded<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField();\n const body = error ? String(error.message) : children;\n\n if (!body) {\n return null;\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-[0.8rem] font-medium text-destructive\", className)}\n {...props}\n >\n {body}\n </p>\n );\n});\nFormMessage.displayName = \"FormMessage\";\n\nexport {\n Form, FormControl,\n FormDescription, FormField, FormItem,\n FormLabel, FormMessage, useFormField\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,30 @@
1
+ "use client";
2
+ "use client";
3
+
4
+ // src/components/ui/hover-card.tsx
5
+ import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
6
+ import * as HoverCardPrimitive from "@radix-ui/react-hover-card";
7
+ import { cn } from "../../lib/utils.js";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var HoverCard = HoverCardPrimitive.Root;
10
+ var HoverCardTrigger = HoverCardPrimitive.Trigger;
11
+ var HoverCardContent = forwardRefIfNeeded(({ className, align = "center", sideOffset = 4, ...props }, ref) => /* @__PURE__ */ jsx(
12
+ HoverCardPrimitive.Content,
13
+ {
14
+ ref,
15
+ align,
16
+ sideOffset,
17
+ className: cn(
18
+ "stack-scope z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
19
+ className
20
+ ),
21
+ ...props
22
+ }
23
+ ));
24
+ HoverCardContent.displayName = HoverCardPrimitive.Content.displayName;
25
+ export {
26
+ HoverCard,
27
+ HoverCardContent,
28
+ HoverCardTrigger
29
+ };
30
+ //# sourceMappingURL=hover-card.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/hover-card.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst HoverCard = HoverCardPrimitive.Root;\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger;\n\nconst HoverCardContent = forwardRefIfNeeded<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"stack-scope z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n));\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName;\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent };\n"],"mappings":";;;AAGA,SAAS,0BAA0B;AACnC,YAAY,wBAAwB;AAEpC,SAAS,UAAU;AAUjB;AARF,IAAM,YAA+B;AAErC,IAAM,mBAAsC;AAE5C,IAAM,mBAAmB,mBAGvB,CAAC,EAAE,WAAW,QAAQ,UAAU,aAAa,GAAG,GAAG,MAAM,GAAG,QAC5D;AAAA,EAAoB;AAAA,EAAnB;AAAA,IACC;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,iBAAiB,cAAiC,2BAAQ;","names":[]}
@@ -0,0 +1,42 @@
1
+ "use client";
2
+ "use client";
3
+
4
+ // src/components/ui/inline-code.tsx
5
+ import { cn } from "../../lib/utils.js";
6
+ import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
7
+ import { hasClickableParent } from "@stackframe/stack-shared/dist/utils/dom";
8
+ import { getNodeText } from "@stackframe/stack-shared/dist/utils/react";
9
+ import { runAsynchronously } from "@stackframe/stack-shared/dist/utils/promises";
10
+ import { useToast } from "./use-toast.js";
11
+ import { jsx } from "react/jsx-runtime";
12
+ var InlineCode = forwardRefIfNeeded((props, ref) => {
13
+ const { toast } = useToast();
14
+ return /* @__PURE__ */ jsx(
15
+ "code",
16
+ {
17
+ ref,
18
+ ...props,
19
+ className: cn("stack-scope bg-zinc-200 text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300 rounded-sm px-1 cursor-pointer", props.className),
20
+ onClick: (e) => {
21
+ props.onClick?.(e);
22
+ if (!hasClickableParent(e.currentTarget)) {
23
+ e.stopPropagation();
24
+ e.preventDefault();
25
+ runAsynchronously(async () => {
26
+ try {
27
+ await navigator.clipboard.writeText(getNodeText(props.children));
28
+ toast({ description: "Copied to clipboard!", variant: "success" });
29
+ } catch (e2) {
30
+ toast({ description: "Failed to copy to clipboard", variant: "destructive" });
31
+ }
32
+ });
33
+ }
34
+ }
35
+ }
36
+ );
37
+ });
38
+ InlineCode.displayName = "Code";
39
+ export {
40
+ InlineCode
41
+ };
42
+ //# sourceMappingURL=inline-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/inline-code.tsx"],"sourcesContent":["\"use client\";\n\nimport { cn } from \"../../lib/utils\";\nimport React from \"react\";\nimport { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport { hasClickableParent } from \"@stackframe/stack-shared/dist/utils/dom\";\nimport { getNodeText } from \"@stackframe/stack-shared/dist/utils/react\";\nimport { runAsynchronously } from \"@stackframe/stack-shared/dist/utils/promises\";\nimport { useToast } from \"./use-toast\";\n\nconst InlineCode = forwardRefIfNeeded<\n React.ElementRef<\"code\">,\n React.ComponentPropsWithoutRef<\"code\">\n>((props, ref) => {\n const { toast } = useToast();\n\n return <code\n ref={ref}\n {...props}\n className={cn(\"stack-scope bg-zinc-200 text-zinc-700 dark:bg-zinc-800 dark:text-zinc-300 rounded-sm px-1 cursor-pointer\", props.className)}\n onClick={(e: React.MouseEvent<HTMLElement>) => {\n props.onClick?.(e);\n if (!hasClickableParent(e.currentTarget)) {\n e.stopPropagation();\n e.preventDefault();\n runAsynchronously(async () => {\n try {\n await navigator.clipboard.writeText(getNodeText(props.children));\n toast({ description: 'Copied to clipboard!', variant: 'success' });\n } catch (e) {\n toast({ description: 'Failed to copy to clipboard', variant: 'destructive' });\n }\n });\n }\n }}\n />;\n});\nInlineCode.displayName = \"Code\";\n\nexport { InlineCode };\n"],"mappings":";;;AAEA,SAAS,UAAU;AAEnB,SAAS,0BAA0B;AACnC,SAAS,0BAA0B;AACnC,SAAS,mBAAmB;AAC5B,SAAS,yBAAyB;AAClC,SAAS,gBAAgB;AAQhB;AANT,IAAM,aAAa,mBAGjB,CAAC,OAAO,QAAQ;AAChB,QAAM,EAAE,MAAM,IAAK,SAAS;AAE5B,SAAO;AAAA,IAAC;AAAA;AAAA,MACN;AAAA,MACC,GAAG;AAAA,MACJ,WAAW,GAAG,4GAA4G,MAAM,SAAS;AAAA,MACzI,SAAS,CAAC,MAAqC;AAC7C,cAAM,UAAU,CAAC;AACjB,YAAI,CAAC,mBAAmB,EAAE,aAAa,GAAG;AACxC,YAAE,gBAAgB;AAClB,YAAE,eAAe;AACjB,4BAAkB,YAAY;AAC5B,gBAAI;AACF,oBAAM,UAAU,UAAU,UAAU,YAAY,MAAM,QAAQ,CAAC;AAC/D,oBAAM,EAAE,aAAa,wBAAwB,SAAS,UAAU,CAAC;AAAA,YACnE,SAASA,IAAG;AACV,oBAAM,EAAE,aAAa,+BAA+B,SAAS,cAAc,CAAC;AAAA,YAC9E;AAAA,UACF,CAAC;AAAA,QACH;AAAA,MACF;AAAA;AAAA,EACF;AACF,CAAC;AACD,WAAW,cAAc;","names":["e"]}
@@ -0,0 +1,56 @@
1
+ "use client";
2
+ "use client";
3
+
4
+ // src/components/ui/input-otp.tsx
5
+ import React from "react";
6
+ import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
7
+ import { DashIcon } from "@radix-ui/react-icons";
8
+ import { OTPInput, OTPInputContext } from "input-otp";
9
+ import { cn } from "../../lib/utils.js";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ var InputOTP = forwardRefIfNeeded(({ className, containerClassName, ...props }, ref) => /* @__PURE__ */ jsx(
12
+ OTPInput,
13
+ {
14
+ ref,
15
+ containerClassName: cn(
16
+ "stack-scope flex items-center gap-2 has-[:disabled]:opacity-50",
17
+ containerClassName
18
+ ),
19
+ className: cn("disabled:cursor-not-allowed", className),
20
+ ...props
21
+ }
22
+ ));
23
+ InputOTP.displayName = "InputOTP";
24
+ var InputOTPGroup = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, className: cn("flex items-center gap-1", className), ...props }));
25
+ InputOTPGroup.displayName = "InputOTPGroup";
26
+ var InputOTPSlot = forwardRefIfNeeded(({ index, className, size = "default", ...props }, ref) => {
27
+ const inputOTPContext = React.useContext(OTPInputContext);
28
+ const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];
29
+ return /* @__PURE__ */ jsxs(
30
+ "div",
31
+ {
32
+ ref,
33
+ className: cn(
34
+ "relative flex h-9 w-9 items-center justify-center border border-input text-sm rounded-md",
35
+ size === "lg" ? "h-10 w-10 text-lg font-medium" : "",
36
+ isActive && "z-10 ring-1 ring-ring",
37
+ className
38
+ ),
39
+ ...props,
40
+ children: [
41
+ char,
42
+ hasFakeCaret && /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: /* @__PURE__ */ jsx("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) })
43
+ ]
44
+ }
45
+ );
46
+ });
47
+ InputOTPSlot.displayName = "InputOTPSlot";
48
+ var InputOTPSeparator = forwardRefIfNeeded(({ ...props }, ref) => /* @__PURE__ */ jsx("div", { ref, role: "separator", ...props, children: /* @__PURE__ */ jsx(DashIcon, {}) }));
49
+ InputOTPSeparator.displayName = "InputOTPSeparator";
50
+ export {
51
+ InputOTP,
52
+ InputOTPGroup,
53
+ InputOTPSeparator,
54
+ InputOTPSlot
55
+ };
56
+ //# sourceMappingURL=input-otp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/input-otp.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport { DashIcon } from \"@radix-ui/react-icons\";\nimport { OTPInput, OTPInputContext } from \"input-otp\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst InputOTP: React.FC<React.ComponentPropsWithoutRef<typeof OTPInput>> = forwardRefIfNeeded<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n \"stack-scope flex items-center gap-2 has-[:disabled]:opacity-50\",\n containerClassName\n )}\n className={cn(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n));\nInputOTP.displayName = \"InputOTP\";\n\nconst InputOTPGroup = forwardRefIfNeeded<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"flex items-center gap-1\", className)} {...props} />\n));\nInputOTPGroup.displayName = \"InputOTPGroup\";\n\nconst InputOTPSlot = forwardRefIfNeeded<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\"> & { index: number, size?: 'default' | 'lg' }\n>(({ index, className, size = 'default', ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext);\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index];\n\n return (\n <div\n ref={ref}\n className={cn(\n \"relative flex h-9 w-9 items-center justify-center border border-input text-sm rounded-md\",\n size === 'lg' ? 'h-10 w-10 text-lg font-medium' : '',\n isActive && \"z-10 ring-1 ring-ring\",\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n );\n});\nInputOTPSlot.displayName = \"InputOTPSlot\";\n\nconst InputOTPSeparator = forwardRefIfNeeded<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <DashIcon />\n </div>\n));\nInputOTPSeparator.displayName = \"InputOTPSeparator\";\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator };\n"],"mappings":";;;AAEA,OAAO,WAAW;AAClB,SAAS,0BAA0B;AACnC,SAAS,gBAAgB;AACzB,SAAS,UAAU,uBAAuB;AAE1C,SAAS,UAAU;AAMjB,cA4BE,YA5BF;AAJF,IAAM,WAAsE,mBAG1E,CAAC,EAAE,WAAW,oBAAoB,GAAG,MAAM,GAAG,QAC9C;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,oBAAoB;AAAA,MAClB;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,GAAG,+BAA+B,SAAS;AAAA,IACrD,GAAG;AAAA;AACN,CACD;AACD,SAAS,cAAc;AAEvB,IAAM,gBAAgB,mBAGpB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,SAAI,KAAU,WAAW,GAAG,2BAA2B,SAAS,GAAI,GAAG,OAAO,CAChF;AACD,cAAc,cAAc;AAE5B,IAAM,eAAe,mBAGnB,CAAC,EAAE,OAAO,WAAW,OAAO,WAAW,GAAG,MAAM,GAAG,QAAQ;AAC3D,QAAM,kBAAkB,MAAM,WAAW,eAAe;AACxD,QAAM,EAAE,MAAM,cAAc,SAAS,IAAI,gBAAgB,MAAM,KAAK;AAEpE,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA,SAAS,OAAO,kCAAkC;AAAA,QAClD,YAAY;AAAA,QACZ;AAAA,MACF;AAAA,MACC,GAAG;AAAA,MAEH;AAAA;AAAA,QACA,gBACC,oBAAC,SAAI,WAAU,yEACb,8BAAC,SAAI,WAAU,4DAA2D,GAC5E;AAAA;AAAA;AAAA,EAEJ;AAEJ,CAAC;AACD,aAAa,cAAc;AAE3B,IAAM,oBAAoB,mBAGxB,CAAC,EAAE,GAAG,MAAM,GAAG,QACf,oBAAC,SAAI,KAAU,MAAK,aAAa,GAAG,OAClC,8BAAC,YAAS,GACZ,CACD;AACD,kBAAkB,cAAc;","names":[]}
@@ -0,0 +1,57 @@
1
+ // src/components/ui/input.tsx
2
+ import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
3
+ import React from "react";
4
+ import { cn } from "../../lib/utils.js";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ var Input = forwardRefIfNeeded(
7
+ ({ className, type, prefixItem, ...props }, ref) => {
8
+ const baseClasses = "stack-scope flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50";
9
+ if (prefixItem) {
10
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-row items-center backdrop-blur-md bg-white/20 dark:bg-black/20 flex-1", children: [
11
+ /* @__PURE__ */ jsx("div", { className: "flex self-stretch justify-center items-center text-muted-foreground pl-3 select-none bg-muted/70 pr-3 border-r border-input rounded-l-md", children: prefixItem }),
12
+ /* @__PURE__ */ jsx(
13
+ "input",
14
+ {
15
+ type,
16
+ className: cn(baseClasses, "rounded-l-none", className),
17
+ ref,
18
+ ...props
19
+ }
20
+ )
21
+ ] });
22
+ } else {
23
+ return /* @__PURE__ */ jsx("div", { className: "flex flex-row items-center backdrop-blur-md bg-white/20 dark:bg-black/20 flex-1", children: /* @__PURE__ */ jsx(
24
+ "input",
25
+ {
26
+ type,
27
+ className: cn(baseClasses, className),
28
+ ref,
29
+ ...props
30
+ }
31
+ ) });
32
+ }
33
+ }
34
+ );
35
+ Input.displayName = "Input";
36
+ var DelayedInput = forwardRefIfNeeded(
37
+ ({ delay = 500, defaultValue, ...props }, ref) => {
38
+ const [value, setValue] = React.useState(defaultValue ?? "");
39
+ const timeout = React.useRef(null);
40
+ const onChange = (e) => {
41
+ setValue(e.target.value);
42
+ if (timeout.current) {
43
+ clearTimeout(timeout.current);
44
+ }
45
+ timeout.current = setTimeout(() => {
46
+ props.onChange?.(e);
47
+ }, delay);
48
+ };
49
+ return /* @__PURE__ */ jsx(Input, { ref, ...props, value, onChange });
50
+ }
51
+ );
52
+ DelayedInput.displayName = "DelayedInput";
53
+ export {
54
+ DelayedInput,
55
+ Input
56
+ };
57
+ //# sourceMappingURL=input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/input.tsx"],"sourcesContent":["import { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport React from \"react\";\n\nimport { cn } from \"../../lib/utils\";\n\nexport type InputProps = {\n prefixItem?: React.ReactNode,\n} & React.InputHTMLAttributes<HTMLInputElement>\n\nexport const Input = forwardRefIfNeeded<HTMLInputElement, InputProps>(\n ({ className, type, prefixItem, ...props }, ref) => {\n const baseClasses = \"stack-scope flex h-9 w-full rounded-md border border-input bg-transparent px-3 py-1 text-sm file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50\";\n\n if (prefixItem) {\n return (\n <div className=\"flex flex-row items-center backdrop-blur-md bg-white/20 dark:bg-black/20 flex-1\">\n <div className={'flex self-stretch justify-center items-center text-muted-foreground pl-3 select-none bg-muted/70 pr-3 border-r border-input rounded-l-md'}>\n {prefixItem}\n </div>\n <input\n type={type}\n className={cn(baseClasses, 'rounded-l-none', className)}\n ref={ref}\n {...props}\n />\n </div>\n );\n } else {\n return (\n <div className=\"flex flex-row items-center backdrop-blur-md bg-white/20 dark:bg-black/20 flex-1\">\n <input\n type={type}\n className={cn(baseClasses, className)}\n ref={ref}\n {...props}\n />\n </div>\n );\n }\n }\n);\nInput.displayName = \"Input\";\n\n\nexport type DelayedInputProps = {\n delay?: number,\n} & InputProps\n\nexport const DelayedInput = forwardRefIfNeeded<HTMLInputElement, DelayedInputProps>(\n ({ delay = 500, defaultValue, ...props }, ref) => {\n const [value, setValue] = React.useState(defaultValue ?? \"\");\n\n const timeout = React.useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const onChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n if (timeout.current) {\n clearTimeout(timeout.current);\n }\n timeout.current = setTimeout(() => {\n props.onChange?.(e);\n }, delay);\n };\n\n return <Input ref={ref} {...props} value={value} onChange={onChange} />;\n }\n);\nDelayedInput.displayName = \"DelayedInput\";\n"],"mappings":";AAAA,SAAS,0BAA0B;AACnC,OAAO,WAAW;AAElB,SAAS,UAAU;AAYX,SACE,KADF;AAND,IAAM,QAAQ;AAAA,EACnB,CAAC,EAAE,WAAW,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ;AAClD,UAAM,cAAe;AAErB,QAAI,YAAY;AACd,aACE,qBAAC,SAAI,WAAU,mFACb;AAAA,4BAAC,SAAI,WAAW,4IACb,sBACH;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC;AAAA,YACA,WAAW,GAAG,aAAa,kBAAkB,SAAS;AAAA,YACtD;AAAA,YACC,GAAG;AAAA;AAAA,QACN;AAAA,SACF;AAAA,IAEJ,OAAO;AACL,aACE,oBAAC,SAAI,WAAU,mFACb;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,WAAW,GAAG,aAAa,SAAS;AAAA,UACpC;AAAA,UACC,GAAG;AAAA;AAAA,MACN,GACF;AAAA,IAEJ;AAAA,EACF;AACF;AACA,MAAM,cAAc;AAOb,IAAM,eAAe;AAAA,EAC1B,CAAC,EAAE,QAAQ,KAAK,cAAc,GAAG,MAAM,GAAG,QAAQ;AAChD,UAAM,CAAC,OAAO,QAAQ,IAAI,MAAM,SAAS,gBAAgB,EAAE;AAE3D,UAAM,UAAU,MAAM,OAA6C,IAAI;AAEvE,UAAM,WAAW,CAAC,MAA2C;AAC3D,eAAS,EAAE,OAAO,KAAK;AACvB,UAAI,QAAQ,SAAS;AACnB,qBAAa,QAAQ,OAAO;AAAA,MAC9B;AACA,cAAQ,UAAU,WAAW,MAAM;AACjC,cAAM,WAAW,CAAC;AAAA,MACpB,GAAG,KAAK;AAAA,IACV;AAEA,WAAO,oBAAC,SAAM,KAAW,GAAG,OAAO,OAAc,UAAoB;AAAA,EACvE;AACF;AACA,aAAa,cAAc;","names":[]}
@@ -0,0 +1,35 @@
1
+ "use client";
2
+ "use client";
3
+
4
+ // src/components/ui/label.tsx
5
+ import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
6
+ import * as LabelPrimitive from "@radix-ui/react-label";
7
+ import { cva } from "class-variance-authority";
8
+ import { cn } from "../../lib/utils.js";
9
+ import { jsx } from "react/jsx-runtime";
10
+ var labelVariants = cva(
11
+ "stack-scope text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-600 dark:text-gray-400"
12
+ );
13
+ var Label = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
14
+ "label",
15
+ {
16
+ ref,
17
+ className: cn(labelVariants(), className),
18
+ ...props
19
+ }
20
+ ));
21
+ Label.displayName = LabelPrimitive.Root.displayName;
22
+ var SpanLabel = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
23
+ "span",
24
+ {
25
+ ref,
26
+ className: cn(labelVariants(), className),
27
+ ...props
28
+ }
29
+ ));
30
+ SpanLabel.displayName = LabelPrimitive.Root.displayName;
31
+ export {
32
+ Label,
33
+ SpanLabel
34
+ };
35
+ //# sourceMappingURL=label.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/label.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst labelVariants = cva(\n \"stack-scope text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70 text-gray-600 dark:text-gray-400\",\n);\n\nconst Label = forwardRefIfNeeded<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <label\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nLabel.displayName = LabelPrimitive.Root.displayName;\n\nconst SpanLabel = forwardRefIfNeeded<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n));\nSpanLabel.displayName = LabelPrimitive.Root.displayName;\n\nexport { Label, SpanLabel };\n"],"mappings":";;;AAGA,SAAS,0BAA0B;AACnC,YAAY,oBAAoB;AAChC,SAAS,WAA8B;AAEvC,SAAS,UAAU;AAWjB;AATF,IAAM,gBAAgB;AAAA,EACpB;AACF;AAEA,IAAM,QAAQ,mBAIZ,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,cAAc,GAAG,SAAS;AAAA,IACvC,GAAG;AAAA;AACN,CACD;AACD,MAAM,cAA6B,oBAAK;AAExC,IAAM,YAAY,mBAIhB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAC;AAAA;AAAA,IACC;AAAA,IACA,WAAW,GAAG,cAAc,GAAG,SAAS;AAAA,IACvC,GAAG;AAAA;AACN,CACD;AACD,UAAU,cAA6B,oBAAK;","names":[]}
@@ -0,0 +1,192 @@
1
+ "use client";
2
+ "use client";
3
+
4
+ // src/components/ui/menubar.tsx
5
+ import React from "react";
6
+ import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
7
+ import {
8
+ CheckIcon,
9
+ ChevronRightIcon,
10
+ DotFilledIcon
11
+ } from "@radix-ui/react-icons";
12
+ import * as MenubarPrimitive from "@radix-ui/react-menubar";
13
+ import { cn } from "../../lib/utils.js";
14
+ import { jsx, jsxs } from "react/jsx-runtime";
15
+ var MenubarMenu = MenubarPrimitive.Menu;
16
+ var MenubarGroup = MenubarPrimitive.Group;
17
+ var MenubarPortal = MenubarPrimitive.Portal;
18
+ var MenubarSub = MenubarPrimitive.Sub;
19
+ var MenubarRadioGroup = MenubarPrimitive.RadioGroup;
20
+ var Menubar = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
21
+ MenubarPrimitive.Root,
22
+ {
23
+ ref,
24
+ className: cn(
25
+ "stack-scope flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm",
26
+ className
27
+ ),
28
+ ...props
29
+ }
30
+ ));
31
+ Menubar.displayName = MenubarPrimitive.Root.displayName;
32
+ var MenubarTrigger = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
33
+ MenubarPrimitive.Trigger,
34
+ {
35
+ ref,
36
+ className: cn(
37
+ "flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
38
+ className
39
+ ),
40
+ ...props
41
+ }
42
+ ));
43
+ MenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;
44
+ var MenubarSubTrigger = React.forwardRef(({ className, inset, children, ...props }, ref) => /* @__PURE__ */ jsxs(
45
+ MenubarPrimitive.SubTrigger,
46
+ {
47
+ ref,
48
+ className: cn(
49
+ "flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
50
+ inset && "pl-8",
51
+ className
52
+ ),
53
+ ...props,
54
+ children: [
55
+ children,
56
+ /* @__PURE__ */ jsx(ChevronRightIcon, { className: "ml-auto h-4 w-4" })
57
+ ]
58
+ }
59
+ ));
60
+ MenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;
61
+ var MenubarSubContent = React.forwardRef(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
62
+ MenubarPrimitive.SubContent,
63
+ {
64
+ ref,
65
+ className: cn(
66
+ "z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
67
+ className
68
+ ),
69
+ ...props
70
+ }
71
+ ));
72
+ MenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;
73
+ var MenubarContent = React.forwardRef(
74
+ ({ className, align = "start", alignOffset = -4, sideOffset = 8, ...props }, ref) => /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { children: /* @__PURE__ */ jsx(
75
+ MenubarPrimitive.Content,
76
+ {
77
+ ref,
78
+ align,
79
+ alignOffset,
80
+ sideOffset,
81
+ className: cn(
82
+ "z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",
83
+ className
84
+ ),
85
+ ...props
86
+ }
87
+ ) })
88
+ );
89
+ MenubarContent.displayName = MenubarPrimitive.Content.displayName;
90
+ var MenubarItem = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
91
+ MenubarPrimitive.Item,
92
+ {
93
+ ref,
94
+ className: cn(
95
+ "relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
96
+ inset && "pl-8",
97
+ className
98
+ ),
99
+ ...props
100
+ }
101
+ ));
102
+ MenubarItem.displayName = MenubarPrimitive.Item.displayName;
103
+ var MenubarCheckboxItem = React.forwardRef(({ className, children, checked, ...props }, ref) => /* @__PURE__ */ jsxs(
104
+ MenubarPrimitive.CheckboxItem,
105
+ {
106
+ ref,
107
+ className: cn(
108
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
109
+ className
110
+ ),
111
+ checked,
112
+ ...props,
113
+ children: [
114
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(CheckIcon, { className: "h-4 w-4" }) }) }),
115
+ children
116
+ ]
117
+ }
118
+ ));
119
+ MenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;
120
+ var MenubarRadioItem = React.forwardRef(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
121
+ MenubarPrimitive.RadioItem,
122
+ {
123
+ ref,
124
+ className: cn(
125
+ "relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50",
126
+ className
127
+ ),
128
+ ...props,
129
+ children: [
130
+ /* @__PURE__ */ jsx("span", { className: "absolute left-2 flex h-3.5 w-3.5 items-center justify-center", children: /* @__PURE__ */ jsx(MenubarPrimitive.ItemIndicator, { children: /* @__PURE__ */ jsx(DotFilledIcon, { className: "h-4 w-4 fill-current" }) }) }),
131
+ children
132
+ ]
133
+ }
134
+ ));
135
+ MenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;
136
+ var MenubarLabel = React.forwardRef(({ className, inset, ...props }, ref) => /* @__PURE__ */ jsx(
137
+ MenubarPrimitive.Label,
138
+ {
139
+ ref,
140
+ className: cn(
141
+ "px-2 py-1.5 text-sm font-semibold",
142
+ inset && "pl-8",
143
+ className
144
+ ),
145
+ ...props
146
+ }
147
+ ));
148
+ MenubarLabel.displayName = MenubarPrimitive.Label.displayName;
149
+ var MenubarSeparator = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
150
+ MenubarPrimitive.Separator,
151
+ {
152
+ ref,
153
+ className: cn("-mx-1 my-1 h-px bg-muted", className),
154
+ ...props
155
+ }
156
+ ));
157
+ MenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;
158
+ var MenubarShortcut = ({
159
+ className,
160
+ ...props
161
+ }) => {
162
+ return /* @__PURE__ */ jsx(
163
+ "span",
164
+ {
165
+ className: cn(
166
+ "ml-auto text-xs tracking-widest text-muted-foreground",
167
+ className
168
+ ),
169
+ ...props
170
+ }
171
+ );
172
+ };
173
+ MenubarShortcut.displayname = "MenubarShortcut";
174
+ export {
175
+ Menubar,
176
+ MenubarCheckboxItem,
177
+ MenubarContent,
178
+ MenubarGroup,
179
+ MenubarItem,
180
+ MenubarLabel,
181
+ MenubarMenu,
182
+ MenubarPortal,
183
+ MenubarRadioGroup,
184
+ MenubarRadioItem,
185
+ MenubarSeparator,
186
+ MenubarShortcut,
187
+ MenubarSub,
188
+ MenubarSubContent,
189
+ MenubarSubTrigger,
190
+ MenubarTrigger
191
+ };
192
+ //# sourceMappingURL=menubar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/menubar.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport {\n CheckIcon,\n ChevronRightIcon,\n DotFilledIcon,\n} from \"@radix-ui/react-icons\";\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst MenubarMenu = MenubarPrimitive.Menu as any;\n\nconst MenubarGroup = MenubarPrimitive.Group;\n\nconst MenubarPortal = MenubarPrimitive.Portal;\n\nconst MenubarSub = MenubarPrimitive.Sub;\n\nconst MenubarRadioGroup = MenubarPrimitive.RadioGroup;\n\nconst Menubar = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Root\n ref={ref}\n className={cn(\n \"stack-scope flex h-9 items-center space-x-1 rounded-md border bg-background p-1 shadow-sm\",\n className\n )}\n {...props}\n />\n));\nMenubar.displayName = MenubarPrimitive.Root.displayName;\n\nconst MenubarTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-3 py-1 text-sm font-medium outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n className\n )}\n {...props}\n />\n));\nMenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName;\n\nconst MenubarSubTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean,\n }\n>(({ className, inset, children, ...props }, ref) => (\n <MenubarPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n));\nMenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName;\n\nconst MenubarSubContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.SubContent\n ref={ref}\n className={cn(\n \"z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n));\nMenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName;\n\nconst MenubarContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>\n>(\n (\n { className, align = \"start\", alignOffset = -4, sideOffset = 8, ...props },\n ref\n ) => (\n <MenubarPrimitive.Portal>\n <MenubarPrimitive.Content\n ref={ref}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </MenubarPrimitive.Portal>\n )\n);\nMenubarContent.displayName = MenubarPrimitive.Content.displayName;\n\nconst MenubarItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {\n inset?: boolean,\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nMenubarItem.displayName = MenubarPrimitive.Item.displayName;\n\nconst MenubarCheckboxItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <MenubarPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <CheckIcon className=\"h-4 w-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n));\nMenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName;\n\nconst MenubarRadioItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <MenubarPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <MenubarPrimitive.ItemIndicator>\n <DotFilledIcon className=\"h-4 w-4 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n));\nMenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName;\n\nconst MenubarLabel = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {\n inset?: boolean,\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nMenubarLabel.displayName = MenubarPrimitive.Label.displayName;\n\nconst MenubarSeparator = forwardRefIfNeeded<\n React.ElementRef<typeof MenubarPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nMenubarSeparator.displayName = MenubarPrimitive.Separator.displayName;\n\nconst MenubarShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n );\n};\nMenubarShortcut.displayname = \"MenubarShortcut\";\n\nexport {\n Menubar,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarItem,\n MenubarSeparator,\n MenubarLabel,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarPortal,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarGroup,\n MenubarSub,\n MenubarShortcut,\n};\n"],"mappings":"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","names":[]}
@@ -0,0 +1,112 @@
1
+ "use client";
2
+ "use client";
3
+
4
+ // src/components/ui/navigation-menu.tsx
5
+ import { forwardRefIfNeeded } from "@stackframe/stack-shared/dist/utils/react";
6
+ import { ChevronDownIcon } from "@radix-ui/react-icons";
7
+ import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu";
8
+ import { cva } from "class-variance-authority";
9
+ import { cn } from "../../lib/utils.js";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ var NavigationMenu = forwardRefIfNeeded(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
12
+ NavigationMenuPrimitive.Root,
13
+ {
14
+ ref,
15
+ className: cn(
16
+ "stack-scope relative z-10 flex max-w-max flex-1 items-center justify-center",
17
+ className
18
+ ),
19
+ ...props,
20
+ children: [
21
+ children,
22
+ /* @__PURE__ */ jsx(NavigationMenuViewport, {})
23
+ ]
24
+ }
25
+ ));
26
+ NavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;
27
+ var NavigationMenuList = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
28
+ NavigationMenuPrimitive.List,
29
+ {
30
+ ref,
31
+ className: cn(
32
+ "stack-scope group flex flex-1 list-none items-center justify-center space-x-1",
33
+ className
34
+ ),
35
+ ...props
36
+ }
37
+ ));
38
+ NavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;
39
+ var NavigationMenuItem = NavigationMenuPrimitive.Item;
40
+ var navigationMenuTriggerStyle = cva(
41
+ "stack-scope group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50"
42
+ );
43
+ var NavigationMenuTrigger = forwardRefIfNeeded(({ className, children, ...props }, ref) => /* @__PURE__ */ jsxs(
44
+ NavigationMenuPrimitive.Trigger,
45
+ {
46
+ ref,
47
+ className: cn(navigationMenuTriggerStyle(), "group", className),
48
+ ...props,
49
+ children: [
50
+ children,
51
+ " ",
52
+ /* @__PURE__ */ jsx(
53
+ ChevronDownIcon,
54
+ {
55
+ className: "relative top-[1px] ml-1 h-3 w-3 duration-300 group-data-[state=open]:rotate-180",
56
+ "aria-hidden": "true"
57
+ }
58
+ )
59
+ ]
60
+ }
61
+ ));
62
+ NavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;
63
+ var NavigationMenuContent = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
64
+ NavigationMenuPrimitive.Content,
65
+ {
66
+ ref,
67
+ className: cn(
68
+ "stack-scope left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto ",
69
+ className
70
+ ),
71
+ ...props
72
+ }
73
+ ));
74
+ NavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;
75
+ var NavigationMenuLink = NavigationMenuPrimitive.Link;
76
+ var NavigationMenuViewport = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx("div", { className: cn("absolute left-0 top-full flex justify-center"), children: /* @__PURE__ */ jsx(
77
+ NavigationMenuPrimitive.Viewport,
78
+ {
79
+ className: cn(
80
+ "stack-scope origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]",
81
+ className
82
+ ),
83
+ ref,
84
+ ...props
85
+ }
86
+ ) }));
87
+ NavigationMenuViewport.displayName = NavigationMenuPrimitive.Viewport.displayName;
88
+ var NavigationMenuIndicator = forwardRefIfNeeded(({ className, ...props }, ref) => /* @__PURE__ */ jsx(
89
+ NavigationMenuPrimitive.Indicator,
90
+ {
91
+ ref,
92
+ className: cn(
93
+ "stack-scope top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in",
94
+ className
95
+ ),
96
+ ...props,
97
+ children: /* @__PURE__ */ jsx("div", { className: "relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" })
98
+ }
99
+ ));
100
+ NavigationMenuIndicator.displayName = NavigationMenuPrimitive.Indicator.displayName;
101
+ export {
102
+ NavigationMenu,
103
+ NavigationMenuContent,
104
+ NavigationMenuIndicator,
105
+ NavigationMenuItem,
106
+ NavigationMenuLink,
107
+ NavigationMenuList,
108
+ NavigationMenuTrigger,
109
+ NavigationMenuViewport,
110
+ navigationMenuTriggerStyle
111
+ };
112
+ //# sourceMappingURL=navigation-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/components/ui/navigation-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { forwardRefIfNeeded } from \"@stackframe/stack-shared/dist/utils/react\";\nimport { ChevronDownIcon } from \"@radix-ui/react-icons\";\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\";\nimport { cva } from \"class-variance-authority\";\n\nimport { cn } from \"../../lib/utils\";\n\nconst NavigationMenu = forwardRefIfNeeded<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn(\n \"stack-scope relative z-10 flex max-w-max flex-1 items-center justify-center\",\n className\n )}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n));\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName;\n\nconst NavigationMenuList = forwardRefIfNeeded<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn(\n \"stack-scope group flex flex-1 list-none items-center justify-center space-x-1\",\n className\n )}\n {...props}\n />\n));\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName;\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item;\n\nconst navigationMenuTriggerStyle = cva(\n \"stack-scope group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-none disabled:pointer-events-none disabled:opacity-50 data-[active]:bg-accent/50 data-[state=open]:bg-accent/50\"\n);\n\nconst NavigationMenuTrigger = forwardRefIfNeeded<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <ChevronDownIcon\n className=\"relative top-[1px] ml-1 h-3 w-3 duration-300 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n));\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName;\n\nconst NavigationMenuContent = forwardRefIfNeeded<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"stack-scope left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto \",\n className\n )}\n {...props}\n />\n));\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName;\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link;\n\nconst NavigationMenuViewport = forwardRefIfNeeded<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <div className={cn(\"absolute left-0 top-full flex justify-center\")}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n \"stack-scope origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className\n )}\n ref={ref}\n {...props}\n />\n </div>\n));\nNavigationMenuViewport.displayName =\n NavigationMenuPrimitive.Viewport.displayName;\n\nconst NavigationMenuIndicator = forwardRefIfNeeded<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n \"stack-scope top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n className\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n));\nNavigationMenuIndicator.displayName =\n NavigationMenuPrimitive.Indicator.displayName;\n\nexport {\n navigationMenuTriggerStyle,\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n};\n"],"mappings":";;;AAGA,SAAS,0BAA0B;AACnC,SAAS,uBAAuB;AAChC,YAAY,6BAA6B;AACzC,SAAS,WAAW;AAEpB,SAAS,UAAU;AAMjB,SASE,KATF;AAJF,IAAM,iBAAiB,mBAGrB,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAyB;AAAA,EAAxB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEH;AAAA;AAAA,MACD,oBAAC,0BAAuB;AAAA;AAAA;AAC1B,CACD;AACD,eAAe,cAAsC,6BAAK;AAE1D,IAAM,qBAAqB,mBAGzB,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAyB;AAAA,EAAxB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,mBAAmB,cAAsC,6BAAK;AAE9D,IAAM,qBAA6C;AAEnD,IAAM,6BAA6B;AAAA,EACjC;AACF;AAEA,IAAM,wBAAwB,mBAG5B,CAAC,EAAE,WAAW,UAAU,GAAG,MAAM,GAAG,QACpC;AAAA,EAAyB;AAAA,EAAxB;AAAA,IACC;AAAA,IACA,WAAW,GAAG,2BAA2B,GAAG,SAAS,SAAS;AAAA,IAC7D,GAAG;AAAA,IAEH;AAAA;AAAA,MAAU;AAAA,MACX;AAAA,QAAC;AAAA;AAAA,UACC,WAAU;AAAA,UACV,eAAY;AAAA;AAAA,MACd;AAAA;AAAA;AACF,CACD;AACD,sBAAsB,cAAsC,gCAAQ;AAEpE,IAAM,wBAAwB,mBAG5B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAyB;AAAA,EAAxB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA;AACN,CACD;AACD,sBAAsB,cAAsC,gCAAQ;AAEpE,IAAM,qBAA6C;AAEnD,IAAM,yBAAyB,mBAG7B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B,oBAAC,SAAI,WAAW,GAAG,8CAA8C,GAC/D;AAAA,EAAyB;AAAA,EAAxB;AAAA,IACC,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACA;AAAA,IACC,GAAG;AAAA;AACN,GACF,CACD;AACD,uBAAuB,cACG,iCAAS;AAEnC,IAAM,0BAA0B,mBAG9B,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,QAC1B;AAAA,EAAyB;AAAA,EAAxB;AAAA,IACC;AAAA,IACA,WAAW;AAAA,MACT;AAAA,MACA;AAAA,IACF;AAAA,IACC,GAAG;AAAA,IAEJ,8BAAC,SAAI,WAAU,0EAAyE;AAAA;AAC1F,CACD;AACD,wBAAwB,cACE,kCAAU;","names":[]}