@health-samurai/react-components 0.0.0-alpha.1

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 (521) hide show
  1. package/README.md +1 -0
  2. package/dist/bundle.css +5525 -0
  3. package/dist/src/components/code-editor/index.d.ts +5 -0
  4. package/dist/src/components/code-editor/index.d.ts.map +1 -0
  5. package/dist/src/components/code-editor/index.js +109 -0
  6. package/dist/src/components/code-editor/index.js.map +1 -0
  7. package/dist/src/components/code-editor.stories.d.ts +7 -0
  8. package/dist/src/components/code-editor.stories.d.ts.map +1 -0
  9. package/dist/src/components/code-editor.stories.js +23 -0
  10. package/dist/src/components/code-editor.stories.js.map +1 -0
  11. package/dist/src/components/copy-icon.d.ts +6 -0
  12. package/dist/src/components/copy-icon.d.ts.map +1 -0
  13. package/dist/src/components/copy-icon.js +21 -0
  14. package/dist/src/components/copy-icon.js.map +1 -0
  15. package/dist/src/components/request-line-editor.d.ts +38 -0
  16. package/dist/src/components/request-line-editor.d.ts.map +1 -0
  17. package/dist/src/components/request-line-editor.js +40 -0
  18. package/dist/src/components/request-line-editor.js.map +1 -0
  19. package/dist/src/components/request-line-editor.stories.d.ts +11 -0
  20. package/dist/src/components/request-line-editor.stories.d.ts.map +1 -0
  21. package/dist/src/components/request-line-editor.stories.js +67 -0
  22. package/dist/src/components/request-line-editor.stories.js.map +1 -0
  23. package/dist/src/deps.css +3 -0
  24. package/dist/src/full.css +2 -0
  25. package/dist/src/index.css +98 -0
  26. package/dist/src/index.d.ts +51 -0
  27. package/dist/src/index.d.ts.map +1 -0
  28. package/dist/src/index.js +53 -0
  29. package/dist/src/index.js.map +1 -0
  30. package/dist/src/index.stories.d.ts +14 -0
  31. package/dist/src/index.stories.d.ts.map +1 -0
  32. package/dist/src/index.stories.js +16 -0
  33. package/dist/src/index.stories.js.map +1 -0
  34. package/dist/src/shadcn/components/ui/accordion.d.ts +8 -0
  35. package/dist/src/shadcn/components/ui/accordion.d.ts.map +1 -0
  36. package/dist/src/shadcn/components/ui/accordion.js +18 -0
  37. package/dist/src/shadcn/components/ui/accordion.js.map +1 -0
  38. package/dist/src/shadcn/components/ui/accordion.stories.d.ts +8 -0
  39. package/dist/src/shadcn/components/ui/accordion.stories.d.ts.map +1 -0
  40. package/dist/src/shadcn/components/ui/accordion.stories.js +10 -0
  41. package/dist/src/shadcn/components/ui/accordion.stories.js.map +1 -0
  42. package/dist/src/shadcn/components/ui/alert-dialog.d.ts +15 -0
  43. package/dist/src/shadcn/components/ui/alert-dialog.d.ts.map +1 -0
  44. package/dist/src/shadcn/components/ui/alert-dialog.js +39 -0
  45. package/dist/src/shadcn/components/ui/alert-dialog.js.map +1 -0
  46. package/dist/src/shadcn/components/ui/alert-dialog.stories.d.ts +8 -0
  47. package/dist/src/shadcn/components/ui/alert-dialog.stories.d.ts.map +1 -0
  48. package/dist/src/shadcn/components/ui/alert-dialog.stories.js +11 -0
  49. package/dist/src/shadcn/components/ui/alert-dialog.stories.js.map +1 -0
  50. package/dist/src/shadcn/components/ui/alert.d.ts +10 -0
  51. package/dist/src/shadcn/components/ui/alert.d.ts.map +1 -0
  52. package/dist/src/shadcn/components/ui/alert.js +25 -0
  53. package/dist/src/shadcn/components/ui/alert.js.map +1 -0
  54. package/dist/src/shadcn/components/ui/alert.stories.d.ts +8 -0
  55. package/dist/src/shadcn/components/ui/alert.stories.d.ts.map +1 -0
  56. package/dist/src/shadcn/components/ui/alert.stories.js +11 -0
  57. package/dist/src/shadcn/components/ui/alert.stories.js.map +1 -0
  58. package/dist/src/shadcn/components/ui/aspect-ratio.d.ts +4 -0
  59. package/dist/src/shadcn/components/ui/aspect-ratio.d.ts.map +1 -0
  60. package/dist/src/shadcn/components/ui/aspect-ratio.js +7 -0
  61. package/dist/src/shadcn/components/ui/aspect-ratio.js.map +1 -0
  62. package/dist/src/shadcn/components/ui/aspect-ratio.stories.d.ts +8 -0
  63. package/dist/src/shadcn/components/ui/aspect-ratio.stories.d.ts.map +1 -0
  64. package/dist/src/shadcn/components/ui/aspect-ratio.stories.js +10 -0
  65. package/dist/src/shadcn/components/ui/aspect-ratio.stories.js.map +1 -0
  66. package/dist/src/shadcn/components/ui/avatar.d.ts +7 -0
  67. package/dist/src/shadcn/components/ui/avatar.d.ts.map +1 -0
  68. package/dist/src/shadcn/components/ui/avatar.js +14 -0
  69. package/dist/src/shadcn/components/ui/avatar.js.map +1 -0
  70. package/dist/src/shadcn/components/ui/avatar.stories.d.ts +8 -0
  71. package/dist/src/shadcn/components/ui/avatar.stories.d.ts.map +1 -0
  72. package/dist/src/shadcn/components/ui/avatar.stories.js +10 -0
  73. package/dist/src/shadcn/components/ui/avatar.stories.js.map +1 -0
  74. package/dist/src/shadcn/components/ui/badge.d.ts +10 -0
  75. package/dist/src/shadcn/components/ui/badge.d.ts.map +1 -0
  76. package/dist/src/shadcn/components/ui/badge.js +23 -0
  77. package/dist/src/shadcn/components/ui/badge.js.map +1 -0
  78. package/dist/src/shadcn/components/ui/badge.stories.d.ts +8 -0
  79. package/dist/src/shadcn/components/ui/badge.stories.d.ts.map +1 -0
  80. package/dist/src/shadcn/components/ui/badge.stories.js +11 -0
  81. package/dist/src/shadcn/components/ui/badge.stories.js.map +1 -0
  82. package/dist/src/shadcn/components/ui/breadcrumb.d.ts +12 -0
  83. package/dist/src/shadcn/components/ui/breadcrumb.d.ts.map +1 -0
  84. package/dist/src/shadcn/components/ui/breadcrumb.js +31 -0
  85. package/dist/src/shadcn/components/ui/breadcrumb.js.map +1 -0
  86. package/dist/src/shadcn/components/ui/breadcrumb.stories.d.ts +8 -0
  87. package/dist/src/shadcn/components/ui/breadcrumb.stories.d.ts.map +1 -0
  88. package/dist/src/shadcn/components/ui/breadcrumb.stories.js +11 -0
  89. package/dist/src/shadcn/components/ui/breadcrumb.stories.js.map +1 -0
  90. package/dist/src/shadcn/components/ui/button.d.ts +13 -0
  91. package/dist/src/shadcn/components/ui/button.d.ts.map +1 -0
  92. package/dist/src/shadcn/components/ui/button.js +55 -0
  93. package/dist/src/shadcn/components/ui/button.js.map +1 -0
  94. package/dist/src/shadcn/components/ui/button.stories.d.ts +23 -0
  95. package/dist/src/shadcn/components/ui/button.stories.d.ts.map +1 -0
  96. package/dist/src/shadcn/components/ui/button.stories.js +26 -0
  97. package/dist/src/shadcn/components/ui/button.stories.js.map +1 -0
  98. package/dist/src/shadcn/components/ui/calendar.d.ts +9 -0
  99. package/dist/src/shadcn/components/ui/calendar.d.ts.map +1 -0
  100. package/dist/src/shadcn/components/ui/calendar.js +74 -0
  101. package/dist/src/shadcn/components/ui/calendar.js.map +1 -0
  102. package/dist/src/shadcn/components/ui/calendar.stories.d.ts +8 -0
  103. package/dist/src/shadcn/components/ui/calendar.stories.d.ts.map +1 -0
  104. package/dist/src/shadcn/components/ui/calendar.stories.js +14 -0
  105. package/dist/src/shadcn/components/ui/calendar.stories.js.map +1 -0
  106. package/dist/src/shadcn/components/ui/card.d.ts +10 -0
  107. package/dist/src/shadcn/components/ui/card.d.ts.map +1 -0
  108. package/dist/src/shadcn/components/ui/card.js +25 -0
  109. package/dist/src/shadcn/components/ui/card.js.map +1 -0
  110. package/dist/src/shadcn/components/ui/card.stories.d.ts +8 -0
  111. package/dist/src/shadcn/components/ui/card.stories.d.ts.map +1 -0
  112. package/dist/src/shadcn/components/ui/card.stories.js +13 -0
  113. package/dist/src/shadcn/components/ui/card.stories.js.map +1 -0
  114. package/dist/src/shadcn/components/ui/carousel.d.ts +20 -0
  115. package/dist/src/shadcn/components/ui/carousel.d.ts.map +1 -0
  116. package/dist/src/shadcn/components/ui/carousel.js +93 -0
  117. package/dist/src/shadcn/components/ui/carousel.js.map +1 -0
  118. package/dist/src/shadcn/components/ui/carousel.stories.d.ts +8 -0
  119. package/dist/src/shadcn/components/ui/carousel.stories.d.ts.map +1 -0
  120. package/dist/src/shadcn/components/ui/carousel.stories.js +13 -0
  121. package/dist/src/shadcn/components/ui/carousel.stories.js.map +1 -0
  122. package/dist/src/shadcn/components/ui/chart.d.ts +41 -0
  123. package/dist/src/shadcn/components/ui/chart.d.ts.map +1 -0
  124. package/dist/src/shadcn/components/ui/chart.js +130 -0
  125. package/dist/src/shadcn/components/ui/chart.js.map +1 -0
  126. package/dist/src/shadcn/components/ui/chart.stories.d.ts +8 -0
  127. package/dist/src/shadcn/components/ui/chart.stories.d.ts.map +1 -0
  128. package/dist/src/shadcn/components/ui/chart.stories.js +29 -0
  129. package/dist/src/shadcn/components/ui/chart.stories.js.map +1 -0
  130. package/dist/src/shadcn/components/ui/checkbox.d.ts +5 -0
  131. package/dist/src/shadcn/components/ui/checkbox.d.ts.map +1 -0
  132. package/dist/src/shadcn/components/ui/checkbox.js +9 -0
  133. package/dist/src/shadcn/components/ui/checkbox.js.map +1 -0
  134. package/dist/src/shadcn/components/ui/checkbox.stories.d.ts +8 -0
  135. package/dist/src/shadcn/components/ui/checkbox.stories.d.ts.map +1 -0
  136. package/dist/src/shadcn/components/ui/checkbox.stories.js +11 -0
  137. package/dist/src/shadcn/components/ui/checkbox.stories.js.map +1 -0
  138. package/dist/src/shadcn/components/ui/collapsible.d.ts +6 -0
  139. package/dist/src/shadcn/components/ui/collapsible.d.ts.map +1 -0
  140. package/dist/src/shadcn/components/ui/collapsible.js +13 -0
  141. package/dist/src/shadcn/components/ui/collapsible.js.map +1 -0
  142. package/dist/src/shadcn/components/ui/collapsible.stories.d.ts +8 -0
  143. package/dist/src/shadcn/components/ui/collapsible.stories.d.ts.map +1 -0
  144. package/dist/src/shadcn/components/ui/collapsible.stories.js +16 -0
  145. package/dist/src/shadcn/components/ui/collapsible.stories.js.map +1 -0
  146. package/dist/src/shadcn/components/ui/command.d.ts +19 -0
  147. package/dist/src/shadcn/components/ui/command.d.ts.map +1 -0
  148. package/dist/src/shadcn/components/ui/command.js +34 -0
  149. package/dist/src/shadcn/components/ui/command.js.map +1 -0
  150. package/dist/src/shadcn/components/ui/command.stories.d.ts +8 -0
  151. package/dist/src/shadcn/components/ui/command.stories.d.ts.map +1 -0
  152. package/dist/src/shadcn/components/ui/command.stories.js +11 -0
  153. package/dist/src/shadcn/components/ui/command.stories.js.map +1 -0
  154. package/dist/src/shadcn/components/ui/context-menu.d.ts +26 -0
  155. package/dist/src/shadcn/components/ui/context-menu.d.ts.map +1 -0
  156. package/dist/src/shadcn/components/ui/context-menu.js +51 -0
  157. package/dist/src/shadcn/components/ui/context-menu.js.map +1 -0
  158. package/dist/src/shadcn/components/ui/context-menu.stories.d.ts +8 -0
  159. package/dist/src/shadcn/components/ui/context-menu.stories.d.ts.map +1 -0
  160. package/dist/src/shadcn/components/ui/context-menu.stories.js +10 -0
  161. package/dist/src/shadcn/components/ui/context-menu.stories.js.map +1 -0
  162. package/dist/src/shadcn/components/ui/dialog.d.ts +16 -0
  163. package/dist/src/shadcn/components/ui/dialog.d.ts.map +1 -0
  164. package/dist/src/shadcn/components/ui/dialog.js +36 -0
  165. package/dist/src/shadcn/components/ui/dialog.js.map +1 -0
  166. package/dist/src/shadcn/components/ui/dialog.stories.d.ts +8 -0
  167. package/dist/src/shadcn/components/ui/dialog.stories.d.ts.map +1 -0
  168. package/dist/src/shadcn/components/ui/dialog.stories.js +13 -0
  169. package/dist/src/shadcn/components/ui/dialog.stories.js.map +1 -0
  170. package/dist/src/shadcn/components/ui/drawer.d.ts +14 -0
  171. package/dist/src/shadcn/components/ui/drawer.d.ts.map +1 -0
  172. package/dist/src/shadcn/components/ui/drawer.js +35 -0
  173. package/dist/src/shadcn/components/ui/drawer.js.map +1 -0
  174. package/dist/src/shadcn/components/ui/drawer.stories.d.ts +8 -0
  175. package/dist/src/shadcn/components/ui/drawer.stories.d.ts.map +1 -0
  176. package/dist/src/shadcn/components/ui/drawer.stories.js +38 -0
  177. package/dist/src/shadcn/components/ui/drawer.stories.js.map +1 -0
  178. package/dist/src/shadcn/components/ui/dropdown-menu.d.ts +26 -0
  179. package/dist/src/shadcn/components/ui/dropdown-menu.d.ts.map +1 -0
  180. package/dist/src/shadcn/components/ui/dropdown-menu.js +51 -0
  181. package/dist/src/shadcn/components/ui/dropdown-menu.js.map +1 -0
  182. package/dist/src/shadcn/components/ui/dropdown-menu.stories.d.ts +8 -0
  183. package/dist/src/shadcn/components/ui/dropdown-menu.stories.d.ts.map +1 -0
  184. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js +11 -0
  185. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js.map +1 -0
  186. package/dist/src/shadcn/components/ui/form.d.ts +25 -0
  187. package/dist/src/shadcn/components/ui/form.d.ts.map +1 -0
  188. package/dist/src/shadcn/components/ui/form.js +59 -0
  189. package/dist/src/shadcn/components/ui/form.js.map +1 -0
  190. package/dist/src/shadcn/components/ui/form.stories.d.ts +8 -0
  191. package/dist/src/shadcn/components/ui/form.stories.d.ts.map +1 -0
  192. package/dist/src/shadcn/components/ui/form.stories.js +31 -0
  193. package/dist/src/shadcn/components/ui/form.stories.js.map +1 -0
  194. package/dist/src/shadcn/components/ui/hover-card.d.ts +7 -0
  195. package/dist/src/shadcn/components/ui/hover-card.d.ts.map +1 -0
  196. package/dist/src/shadcn/components/ui/hover-card.js +14 -0
  197. package/dist/src/shadcn/components/ui/hover-card.js.map +1 -0
  198. package/dist/src/shadcn/components/ui/hover-card.stories.d.ts +8 -0
  199. package/dist/src/shadcn/components/ui/hover-card.stories.d.ts.map +1 -0
  200. package/dist/src/shadcn/components/ui/hover-card.stories.js +12 -0
  201. package/dist/src/shadcn/components/ui/hover-card.stories.js.map +1 -0
  202. package/dist/src/shadcn/components/ui/input-otp.d.ts +12 -0
  203. package/dist/src/shadcn/components/ui/input-otp.d.ts.map +1 -0
  204. package/dist/src/shadcn/components/ui/input-otp.js +25 -0
  205. package/dist/src/shadcn/components/ui/input-otp.js.map +1 -0
  206. package/dist/src/shadcn/components/ui/input-otp.stories.d.ts +8 -0
  207. package/dist/src/shadcn/components/ui/input-otp.stories.d.ts.map +1 -0
  208. package/dist/src/shadcn/components/ui/input-otp.stories.js +10 -0
  209. package/dist/src/shadcn/components/ui/input-otp.stories.js.map +1 -0
  210. package/dist/src/shadcn/components/ui/input.d.ts +18 -0
  211. package/dist/src/shadcn/components/ui/input.d.ts.map +1 -0
  212. package/dist/src/shadcn/components/ui/input.js +79 -0
  213. package/dist/src/shadcn/components/ui/input.js.map +1 -0
  214. package/dist/src/shadcn/components/ui/input.stories.d.ts +18 -0
  215. package/dist/src/shadcn/components/ui/input.stories.d.ts.map +1 -0
  216. package/dist/src/shadcn/components/ui/input.stories.js +39 -0
  217. package/dist/src/shadcn/components/ui/input.stories.js.map +1 -0
  218. package/dist/src/shadcn/components/ui/label.d.ts +5 -0
  219. package/dist/src/shadcn/components/ui/label.d.ts.map +1 -0
  220. package/dist/src/shadcn/components/ui/label.js +8 -0
  221. package/dist/src/shadcn/components/ui/label.js.map +1 -0
  222. package/dist/src/shadcn/components/ui/label.stories.d.ts +8 -0
  223. package/dist/src/shadcn/components/ui/label.stories.d.ts.map +1 -0
  224. package/dist/src/shadcn/components/ui/label.stories.js +11 -0
  225. package/dist/src/shadcn/components/ui/label.stories.js.map +1 -0
  226. package/dist/src/shadcn/components/ui/menubar.d.ts +27 -0
  227. package/dist/src/shadcn/components/ui/menubar.d.ts.map +1 -0
  228. package/dist/src/shadcn/components/ui/menubar.js +54 -0
  229. package/dist/src/shadcn/components/ui/menubar.js.map +1 -0
  230. package/dist/src/shadcn/components/ui/menubar.stories.d.ts +8 -0
  231. package/dist/src/shadcn/components/ui/menubar.stories.d.ts.map +1 -0
  232. package/dist/src/shadcn/components/ui/menubar.stories.js +10 -0
  233. package/dist/src/shadcn/components/ui/menubar.stories.js.map +1 -0
  234. package/dist/src/shadcn/components/ui/navigation-menu.d.ts +15 -0
  235. package/dist/src/shadcn/components/ui/navigation-menu.d.ts.map +1 -0
  236. package/dist/src/shadcn/components/ui/navigation-menu.js +32 -0
  237. package/dist/src/shadcn/components/ui/navigation-menu.js.map +1 -0
  238. package/dist/src/shadcn/components/ui/navigation-menu.stories.d.ts +8 -0
  239. package/dist/src/shadcn/components/ui/navigation-menu.stories.d.ts.map +1 -0
  240. package/dist/src/shadcn/components/ui/navigation-menu.stories.js +46 -0
  241. package/dist/src/shadcn/components/ui/navigation-menu.stories.js.map +1 -0
  242. package/dist/src/shadcn/components/ui/pagination.d.ts +14 -0
  243. package/dist/src/shadcn/components/ui/pagination.d.ts.map +1 -0
  244. package/dist/src/shadcn/components/ui/pagination.js +34 -0
  245. package/dist/src/shadcn/components/ui/pagination.js.map +1 -0
  246. package/dist/src/shadcn/components/ui/pagination.stories.d.ts +8 -0
  247. package/dist/src/shadcn/components/ui/pagination.stories.d.ts.map +1 -0
  248. package/dist/src/shadcn/components/ui/pagination.stories.js +10 -0
  249. package/dist/src/shadcn/components/ui/pagination.stories.js.map +1 -0
  250. package/dist/src/shadcn/components/ui/popover.d.ts +8 -0
  251. package/dist/src/shadcn/components/ui/popover.d.ts.map +1 -0
  252. package/dist/src/shadcn/components/ui/popover.js +17 -0
  253. package/dist/src/shadcn/components/ui/popover.js.map +1 -0
  254. package/dist/src/shadcn/components/ui/popover.stories.d.ts +8 -0
  255. package/dist/src/shadcn/components/ui/popover.stories.d.ts.map +1 -0
  256. package/dist/src/shadcn/components/ui/popover.stories.js +13 -0
  257. package/dist/src/shadcn/components/ui/popover.stories.js.map +1 -0
  258. package/dist/src/shadcn/components/ui/progress.d.ts +5 -0
  259. package/dist/src/shadcn/components/ui/progress.d.ts.map +1 -0
  260. package/dist/src/shadcn/components/ui/progress.js +8 -0
  261. package/dist/src/shadcn/components/ui/progress.js.map +1 -0
  262. package/dist/src/shadcn/components/ui/progress.stories.d.ts +8 -0
  263. package/dist/src/shadcn/components/ui/progress.stories.d.ts.map +1 -0
  264. package/dist/src/shadcn/components/ui/progress.stories.js +18 -0
  265. package/dist/src/shadcn/components/ui/progress.stories.js.map +1 -0
  266. package/dist/src/shadcn/components/ui/radio-group.d.ts +6 -0
  267. package/dist/src/shadcn/components/ui/radio-group.d.ts.map +1 -0
  268. package/dist/src/shadcn/components/ui/radio-group.js +12 -0
  269. package/dist/src/shadcn/components/ui/radio-group.js.map +1 -0
  270. package/dist/src/shadcn/components/ui/radio-group.stories.d.ts +8 -0
  271. package/dist/src/shadcn/components/ui/radio-group.stories.d.ts.map +1 -0
  272. package/dist/src/shadcn/components/ui/radio-group.stories.js +11 -0
  273. package/dist/src/shadcn/components/ui/radio-group.stories.js.map +1 -0
  274. package/dist/src/shadcn/components/ui/resizable.d.ts +9 -0
  275. package/dist/src/shadcn/components/ui/resizable.d.ts.map +1 -0
  276. package/dist/src/shadcn/components/ui/resizable.js +15 -0
  277. package/dist/src/shadcn/components/ui/resizable.js.map +1 -0
  278. package/dist/src/shadcn/components/ui/resizable.stories.d.ts +8 -0
  279. package/dist/src/shadcn/components/ui/resizable.stories.d.ts.map +1 -0
  280. package/dist/src/shadcn/components/ui/resizable.stories.js +10 -0
  281. package/dist/src/shadcn/components/ui/resizable.stories.js.map +1 -0
  282. package/dist/src/shadcn/components/ui/scroll-area.d.ts +6 -0
  283. package/dist/src/shadcn/components/ui/scroll-area.d.ts.map +1 -0
  284. package/dist/src/shadcn/components/ui/scroll-area.js +13 -0
  285. package/dist/src/shadcn/components/ui/scroll-area.js.map +1 -0
  286. package/dist/src/shadcn/components/ui/scroll-area.stories.d.ts +8 -0
  287. package/dist/src/shadcn/components/ui/scroll-area.stories.d.ts.map +1 -0
  288. package/dist/src/shadcn/components/ui/scroll-area.stories.js +13 -0
  289. package/dist/src/shadcn/components/ui/scroll-area.stories.js.map +1 -0
  290. package/dist/src/shadcn/components/ui/select.d.ts +19 -0
  291. package/dist/src/shadcn/components/ui/select.d.ts.map +1 -0
  292. package/dist/src/shadcn/components/ui/select.js +55 -0
  293. package/dist/src/shadcn/components/ui/select.js.map +1 -0
  294. package/dist/src/shadcn/components/ui/select.stories.d.ts +11 -0
  295. package/dist/src/shadcn/components/ui/select.stories.d.ts.map +1 -0
  296. package/dist/src/shadcn/components/ui/select.stories.js +14 -0
  297. package/dist/src/shadcn/components/ui/select.stories.js.map +1 -0
  298. package/dist/src/shadcn/components/ui/separator.d.ts +5 -0
  299. package/dist/src/shadcn/components/ui/separator.d.ts.map +1 -0
  300. package/dist/src/shadcn/components/ui/separator.js +8 -0
  301. package/dist/src/shadcn/components/ui/separator.js.map +1 -0
  302. package/dist/src/shadcn/components/ui/separator.stories.d.ts +8 -0
  303. package/dist/src/shadcn/components/ui/separator.stories.d.ts.map +1 -0
  304. package/dist/src/shadcn/components/ui/separator.stories.js +10 -0
  305. package/dist/src/shadcn/components/ui/separator.stories.js.map +1 -0
  306. package/dist/src/shadcn/components/ui/sheet.d.ts +14 -0
  307. package/dist/src/shadcn/components/ui/sheet.d.ts.map +1 -0
  308. package/dist/src/shadcn/components/ui/sheet.js +40 -0
  309. package/dist/src/shadcn/components/ui/sheet.js.map +1 -0
  310. package/dist/src/shadcn/components/ui/sheet.stories.d.ts +8 -0
  311. package/dist/src/shadcn/components/ui/sheet.stories.d.ts.map +1 -0
  312. package/dist/src/shadcn/components/ui/sheet.stories.js +13 -0
  313. package/dist/src/shadcn/components/ui/sheet.stories.js.map +1 -0
  314. package/dist/src/shadcn/components/ui/sidebar.d.ts +70 -0
  315. package/dist/src/shadcn/components/ui/sidebar.d.ts.map +1 -0
  316. package/dist/src/shadcn/components/ui/sidebar.js +215 -0
  317. package/dist/src/shadcn/components/ui/sidebar.js.map +1 -0
  318. package/dist/src/shadcn/components/ui/sidebar.stories.d.ts +11 -0
  319. package/dist/src/shadcn/components/ui/sidebar.stories.d.ts.map +1 -0
  320. package/dist/src/shadcn/components/ui/sidebar.stories.js +178 -0
  321. package/dist/src/shadcn/components/ui/sidebar.stories.js.map +1 -0
  322. package/dist/src/shadcn/components/ui/skeleton.d.ts +3 -0
  323. package/dist/src/shadcn/components/ui/skeleton.d.ts.map +1 -0
  324. package/dist/src/shadcn/components/ui/skeleton.js +7 -0
  325. package/dist/src/shadcn/components/ui/skeleton.js.map +1 -0
  326. package/dist/src/shadcn/components/ui/skeleton.stories.d.ts +8 -0
  327. package/dist/src/shadcn/components/ui/skeleton.stories.d.ts.map +1 -0
  328. package/dist/src/shadcn/components/ui/skeleton.stories.js +10 -0
  329. package/dist/src/shadcn/components/ui/skeleton.stories.js.map +1 -0
  330. package/dist/src/shadcn/components/ui/slider.d.ts +5 -0
  331. package/dist/src/shadcn/components/ui/slider.d.ts.map +1 -0
  332. package/dist/src/shadcn/components/ui/slider.js +14 -0
  333. package/dist/src/shadcn/components/ui/slider.js.map +1 -0
  334. package/dist/src/shadcn/components/ui/slider.stories.d.ts +8 -0
  335. package/dist/src/shadcn/components/ui/slider.stories.d.ts.map +1 -0
  336. package/dist/src/shadcn/components/ui/slider.stories.js +10 -0
  337. package/dist/src/shadcn/components/ui/slider.stories.js.map +1 -0
  338. package/dist/src/shadcn/components/ui/sonner.d.ts +4 -0
  339. package/dist/src/shadcn/components/ui/sonner.d.ts.map +1 -0
  340. package/dist/src/shadcn/components/ui/sonner.js +13 -0
  341. package/dist/src/shadcn/components/ui/sonner.js.map +1 -0
  342. package/dist/src/shadcn/components/ui/sonner.stories.d.ts +8 -0
  343. package/dist/src/shadcn/components/ui/sonner.stories.d.ts.map +1 -0
  344. package/dist/src/shadcn/components/ui/sonner.stories.js +17 -0
  345. package/dist/src/shadcn/components/ui/sonner.stories.js.map +1 -0
  346. package/dist/src/shadcn/components/ui/switch.d.ts +5 -0
  347. package/dist/src/shadcn/components/ui/switch.d.ts.map +1 -0
  348. package/dist/src/shadcn/components/ui/switch.js +8 -0
  349. package/dist/src/shadcn/components/ui/switch.js.map +1 -0
  350. package/dist/src/shadcn/components/ui/switch.stories.d.ts +8 -0
  351. package/dist/src/shadcn/components/ui/switch.stories.d.ts.map +1 -0
  352. package/dist/src/shadcn/components/ui/switch.stories.js +11 -0
  353. package/dist/src/shadcn/components/ui/switch.stories.js.map +1 -0
  354. package/dist/src/shadcn/components/ui/table.d.ts +11 -0
  355. package/dist/src/shadcn/components/ui/table.d.ts.map +1 -0
  356. package/dist/src/shadcn/components/ui/table.js +28 -0
  357. package/dist/src/shadcn/components/ui/table.js.map +1 -0
  358. package/dist/src/shadcn/components/ui/table.stories.d.ts +8 -0
  359. package/dist/src/shadcn/components/ui/table.stories.d.ts.map +1 -0
  360. package/dist/src/shadcn/components/ui/table.stories.js +54 -0
  361. package/dist/src/shadcn/components/ui/table.stories.js.map +1 -0
  362. package/dist/src/shadcn/components/ui/tabs.d.ts +12 -0
  363. package/dist/src/shadcn/components/ui/tabs.d.ts.map +1 -0
  364. package/dist/src/shadcn/components/ui/tabs.js +29 -0
  365. package/dist/src/shadcn/components/ui/tabs.js.map +1 -0
  366. package/dist/src/shadcn/components/ui/tabs.stories.d.ts +26 -0
  367. package/dist/src/shadcn/components/ui/tabs.stories.d.ts.map +1 -0
  368. package/dist/src/shadcn/components/ui/tabs.stories.js +20 -0
  369. package/dist/src/shadcn/components/ui/tabs.stories.js.map +1 -0
  370. package/dist/src/shadcn/components/ui/textarea.d.ts +4 -0
  371. package/dist/src/shadcn/components/ui/textarea.d.ts.map +1 -0
  372. package/dist/src/shadcn/components/ui/textarea.js +7 -0
  373. package/dist/src/shadcn/components/ui/textarea.js.map +1 -0
  374. package/dist/src/shadcn/components/ui/textarea.stories.d.ts +8 -0
  375. package/dist/src/shadcn/components/ui/textarea.stories.d.ts.map +1 -0
  376. package/dist/src/shadcn/components/ui/textarea.stories.js +10 -0
  377. package/dist/src/shadcn/components/ui/textarea.stories.js.map +1 -0
  378. package/dist/src/shadcn/components/ui/toggle-group.d.ts +8 -0
  379. package/dist/src/shadcn/components/ui/toggle-group.d.ts.map +1 -0
  380. package/dist/src/shadcn/components/ui/toggle-group.js +21 -0
  381. package/dist/src/shadcn/components/ui/toggle-group.js.map +1 -0
  382. package/dist/src/shadcn/components/ui/toggle-group.stories.d.ts +8 -0
  383. package/dist/src/shadcn/components/ui/toggle-group.stories.d.ts.map +1 -0
  384. package/dist/src/shadcn/components/ui/toggle-group.stories.js +11 -0
  385. package/dist/src/shadcn/components/ui/toggle-group.stories.js.map +1 -0
  386. package/dist/src/shadcn/components/ui/toggle.d.ts +10 -0
  387. package/dist/src/shadcn/components/ui/toggle.d.ts.map +1 -0
  388. package/dist/src/shadcn/components/ui/toggle.js +26 -0
  389. package/dist/src/shadcn/components/ui/toggle.js.map +1 -0
  390. package/dist/src/shadcn/components/ui/toggle.stories.d.ts +8 -0
  391. package/dist/src/shadcn/components/ui/toggle.stories.d.ts.map +1 -0
  392. package/dist/src/shadcn/components/ui/toggle.stories.js +11 -0
  393. package/dist/src/shadcn/components/ui/toggle.stories.js.map +1 -0
  394. package/dist/src/shadcn/components/ui/tooltip.d.ts +8 -0
  395. package/dist/src/shadcn/components/ui/tooltip.d.ts.map +1 -0
  396. package/dist/src/shadcn/components/ui/tooltip.js +17 -0
  397. package/dist/src/shadcn/components/ui/tooltip.js.map +1 -0
  398. package/dist/src/shadcn/components/ui/tooltip.stories.d.ts +8 -0
  399. package/dist/src/shadcn/components/ui/tooltip.stories.d.ts.map +1 -0
  400. package/dist/src/shadcn/components/ui/tooltip.stories.js +11 -0
  401. package/dist/src/shadcn/components/ui/tooltip.stories.js.map +1 -0
  402. package/dist/src/shadcn/hooks/use-mobile.d.ts +2 -0
  403. package/dist/src/shadcn/hooks/use-mobile.d.ts.map +1 -0
  404. package/dist/src/shadcn/hooks/use-mobile.js +16 -0
  405. package/dist/src/shadcn/hooks/use-mobile.js.map +1 -0
  406. package/dist/src/shadcn/lib/utils.d.ts +3 -0
  407. package/dist/src/shadcn/lib/utils.d.ts.map +1 -0
  408. package/dist/src/shadcn/lib/utils.js +6 -0
  409. package/dist/src/shadcn/lib/utils.js.map +1 -0
  410. package/dist/src/shadcn/shadcn.css +122 -0
  411. package/dist/src/tokens.css +179 -0
  412. package/dist/src/typography.css +98 -0
  413. package/package.json +109 -0
  414. package/src/components/code-editor/index.tsx +143 -0
  415. package/src/components/code-editor.stories.tsx +34 -0
  416. package/src/components/copy-icon.tsx +30 -0
  417. package/src/components/request-line-editor.stories.tsx +90 -0
  418. package/src/components/request-line-editor.tsx +103 -0
  419. package/src/deps.css +3 -0
  420. package/src/full.css +2 -0
  421. package/src/global.d.ts +1 -0
  422. package/src/index.css +98 -0
  423. package/src/index.stories.tsx +21 -0
  424. package/src/index.tsx +54 -0
  425. package/src/shadcn/components/ui/accordion.stories.tsx +69 -0
  426. package/src/shadcn/components/ui/accordion.tsx +64 -0
  427. package/src/shadcn/components/ui/alert-dialog.stories.tsx +43 -0
  428. package/src/shadcn/components/ui/alert-dialog.tsx +154 -0
  429. package/src/shadcn/components/ui/alert.stories.tsx +46 -0
  430. package/src/shadcn/components/ui/alert.tsx +66 -0
  431. package/src/shadcn/components/ui/aspect-ratio.stories.tsx +21 -0
  432. package/src/shadcn/components/ui/aspect-ratio.tsx +9 -0
  433. package/src/shadcn/components/ui/avatar.stories.tsx +48 -0
  434. package/src/shadcn/components/ui/avatar.tsx +51 -0
  435. package/src/shadcn/components/ui/badge.stories.tsx +47 -0
  436. package/src/shadcn/components/ui/badge.tsx +46 -0
  437. package/src/shadcn/components/ui/breadcrumb.stories.tsx +62 -0
  438. package/src/shadcn/components/ui/breadcrumb.tsx +119 -0
  439. package/src/shadcn/components/ui/button.stories.tsx +125 -0
  440. package/src/shadcn/components/ui/button.tsx +92 -0
  441. package/src/shadcn/components/ui/calendar.stories.tsx +26 -0
  442. package/src/shadcn/components/ui/calendar.tsx +214 -0
  443. package/src/shadcn/components/ui/card.stories.tsx +67 -0
  444. package/src/shadcn/components/ui/card.tsx +92 -0
  445. package/src/shadcn/components/ui/carousel.stories.tsx +39 -0
  446. package/src/shadcn/components/ui/carousel.tsx +240 -0
  447. package/src/shadcn/components/ui/chart.stories.tsx +58 -0
  448. package/src/shadcn/components/ui/chart.tsx +352 -0
  449. package/src/shadcn/components/ui/checkbox.stories.tsx +49 -0
  450. package/src/shadcn/components/ui/checkbox.tsx +30 -0
  451. package/src/shadcn/components/ui/collapsible.stories.tsx +53 -0
  452. package/src/shadcn/components/ui/collapsible.tsx +31 -0
  453. package/src/shadcn/components/ui/command.stories.tsx +69 -0
  454. package/src/shadcn/components/ui/command.tsx +185 -0
  455. package/src/shadcn/components/ui/context-menu.stories.tsx +72 -0
  456. package/src/shadcn/components/ui/context-menu.tsx +248 -0
  457. package/src/shadcn/components/ui/dialog.stories.tsx +58 -0
  458. package/src/shadcn/components/ui/dialog.tsx +141 -0
  459. package/src/shadcn/components/ui/drawer.stories.tsx +119 -0
  460. package/src/shadcn/components/ui/drawer.tsx +133 -0
  461. package/src/shadcn/components/ui/dropdown-menu.stories.tsx +82 -0
  462. package/src/shadcn/components/ui/dropdown-menu.tsx +281 -0
  463. package/src/shadcn/components/ui/form.stories.tsx +67 -0
  464. package/src/shadcn/components/ui/form.tsx +165 -0
  465. package/src/shadcn/components/ui/hover-card.stories.tsx +46 -0
  466. package/src/shadcn/components/ui/hover-card.tsx +42 -0
  467. package/src/shadcn/components/ui/input-otp.stories.tsx +32 -0
  468. package/src/shadcn/components/ui/input-otp.tsx +78 -0
  469. package/src/shadcn/components/ui/input.stories.tsx +393 -0
  470. package/src/shadcn/components/ui/input.tsx +173 -0
  471. package/src/shadcn/components/ui/label.stories.tsx +21 -0
  472. package/src/shadcn/components/ui/label.tsx +22 -0
  473. package/src/shadcn/components/ui/menubar.stories.tsx +115 -0
  474. package/src/shadcn/components/ui/menubar.tsx +272 -0
  475. package/src/shadcn/components/ui/navigation-menu.stories.tsx +217 -0
  476. package/src/shadcn/components/ui/navigation-menu.tsx +168 -0
  477. package/src/shadcn/components/ui/pagination.stories.tsx +47 -0
  478. package/src/shadcn/components/ui/pagination.tsx +134 -0
  479. package/src/shadcn/components/ui/popover.stories.tsx +70 -0
  480. package/src/shadcn/components/ui/popover.tsx +46 -0
  481. package/src/shadcn/components/ui/progress.stories.tsx +23 -0
  482. package/src/shadcn/components/ui/progress.tsx +29 -0
  483. package/src/shadcn/components/ui/radio-group.stories.tsx +29 -0
  484. package/src/shadcn/components/ui/radio-group.tsx +43 -0
  485. package/src/shadcn/components/ui/resizable.stories.tsx +44 -0
  486. package/src/shadcn/components/ui/resizable.tsx +54 -0
  487. package/src/shadcn/components/ui/scroll-area.stories.tsx +31 -0
  488. package/src/shadcn/components/ui/scroll-area.tsx +56 -0
  489. package/src/shadcn/components/ui/select.stories.tsx +61 -0
  490. package/src/shadcn/components/ui/select.tsx +208 -0
  491. package/src/shadcn/components/ui/separator.stories.tsx +30 -0
  492. package/src/shadcn/components/ui/separator.tsx +27 -0
  493. package/src/shadcn/components/ui/sheet.stories.tsx +55 -0
  494. package/src/shadcn/components/ui/sheet.tsx +137 -0
  495. package/src/shadcn/components/ui/sidebar.stories.tsx +384 -0
  496. package/src/shadcn/components/ui/sidebar.tsx +737 -0
  497. package/src/shadcn/components/ui/skeleton.stories.tsx +21 -0
  498. package/src/shadcn/components/ui/skeleton.tsx +13 -0
  499. package/src/shadcn/components/ui/slider.stories.tsx +15 -0
  500. package/src/shadcn/components/ui/slider.tsx +62 -0
  501. package/src/shadcn/components/ui/sonner.stories.tsx +29 -0
  502. package/src/shadcn/components/ui/sonner.tsx +23 -0
  503. package/src/shadcn/components/ui/switch.stories.tsx +19 -0
  504. package/src/shadcn/components/ui/switch.tsx +29 -0
  505. package/src/shadcn/components/ui/table.stories.tsx +95 -0
  506. package/src/shadcn/components/ui/table.tsx +114 -0
  507. package/src/shadcn/components/ui/tabs.stories.tsx +92 -0
  508. package/src/shadcn/components/ui/tabs.tsx +84 -0
  509. package/src/shadcn/components/ui/textarea.stories.tsx +13 -0
  510. package/src/shadcn/components/ui/textarea.tsx +18 -0
  511. package/src/shadcn/components/ui/toggle-group.stories.tsx +29 -0
  512. package/src/shadcn/components/ui/toggle-group.tsx +70 -0
  513. package/src/shadcn/components/ui/toggle.stories.tsx +18 -0
  514. package/src/shadcn/components/ui/toggle.tsx +45 -0
  515. package/src/shadcn/components/ui/tooltip.stories.tsx +27 -0
  516. package/src/shadcn/components/ui/tooltip.tsx +62 -0
  517. package/src/shadcn/hooks/use-mobile.ts +21 -0
  518. package/src/shadcn/lib/utils.ts +6 -0
  519. package/src/shadcn/shadcn.css +122 -0
  520. package/src/tokens.css +179 -0
  521. package/src/typography.css +98 -0
@@ -0,0 +1,737 @@
1
+ import { Slot } from "@radix-ui/react-slot";
2
+ import { cva, type VariantProps } from "class-variance-authority";
3
+ import { PanelLeftIcon } from "lucide-react";
4
+ import * as React from "react";
5
+ import { Button } from "#shadcn/components/ui/button";
6
+ import { Input } from "#shadcn/components/ui/input";
7
+ import { Separator } from "#shadcn/components/ui/separator";
8
+ import {
9
+ Sheet,
10
+ SheetContent,
11
+ SheetDescription,
12
+ SheetHeader,
13
+ SheetTitle,
14
+ } from "#shadcn/components/ui/sheet";
15
+ import { Skeleton } from "#shadcn/components/ui/skeleton";
16
+ import {
17
+ Tooltip,
18
+ TooltipContent,
19
+ TooltipProvider,
20
+ TooltipTrigger,
21
+ } from "#shadcn/components/ui/tooltip";
22
+ import { useIsMobile } from "#shadcn/hooks/use-mobile";
23
+ import { cn } from "#shadcn/lib/utils";
24
+
25
+ const SIDEBAR_COOKIE_NAME = "sidebar_state";
26
+ const SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;
27
+ const SIDEBAR_WIDTH = "13.75rem";
28
+ const SIDEBAR_WIDTH_MOBILE = "18rem";
29
+ const SIDEBAR_WIDTH_ICON = "3.125rem";
30
+ const SIDEBAR_KEYBOARD_SHORTCUT = "b";
31
+
32
+ type SidebarContextProps = {
33
+ state: "expanded" | "collapsed";
34
+ open: boolean;
35
+ setOpen: (open: boolean) => void;
36
+ openMobile: boolean;
37
+ setOpenMobile: (open: boolean) => void;
38
+ isMobile: boolean;
39
+ toggleSidebar: () => void;
40
+ };
41
+
42
+ const SidebarContext = React.createContext<SidebarContextProps | null>(null);
43
+
44
+ function useSidebar() {
45
+ const context = React.useContext(SidebarContext);
46
+ if (!context) {
47
+ throw new Error("useSidebar must be used within a SidebarProvider.");
48
+ }
49
+
50
+ return context;
51
+ }
52
+
53
+ function SidebarProvider({
54
+ defaultOpen = true,
55
+ open: openProp,
56
+ onOpenChange: setOpenProp,
57
+ className,
58
+ style,
59
+ children,
60
+ ...props
61
+ }: React.ComponentProps<"div"> & {
62
+ defaultOpen?: boolean;
63
+ open?: boolean;
64
+ onOpenChange?: (open: boolean) => void;
65
+ }) {
66
+ const isMobile = useIsMobile();
67
+ const [openMobile, setOpenMobile] = React.useState(false);
68
+
69
+ // This is the internal state of the sidebar.
70
+ // We use openProp and setOpenProp for control from outside the component.
71
+ const [_open, _setOpen] = React.useState(defaultOpen);
72
+ const open = openProp ?? _open;
73
+ const setOpen = React.useCallback(
74
+ (value: boolean | ((value: boolean) => boolean)) => {
75
+ const openState = typeof value === "function" ? value(open) : value;
76
+ if (setOpenProp) {
77
+ setOpenProp(openState);
78
+ } else {
79
+ _setOpen(openState);
80
+ }
81
+
82
+ // This sets the cookie to keep the sidebar state.
83
+ // biome-ignore lint/suspicious/noDocumentCookie: FIXME: unchanged shadcn
84
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
85
+ },
86
+ [setOpenProp, open],
87
+ );
88
+
89
+ // Helper to toggle the sidebar.
90
+ // biome-ignore lint/correctness/useExhaustiveDependencies: FIXME: unchanged shadcn
91
+ const toggleSidebar = React.useCallback(() => {
92
+ return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);
93
+ }, [isMobile, setOpen, setOpenMobile]);
94
+
95
+ // Adds a keyboard shortcut to toggle the sidebar.
96
+ React.useEffect(() => {
97
+ const handleKeyDown = (event: KeyboardEvent) => {
98
+ if (
99
+ event.key === SIDEBAR_KEYBOARD_SHORTCUT &&
100
+ (event.metaKey || event.ctrlKey)
101
+ ) {
102
+ event.preventDefault();
103
+ toggleSidebar();
104
+ }
105
+ };
106
+
107
+ window.addEventListener("keydown", handleKeyDown);
108
+ return () => window.removeEventListener("keydown", handleKeyDown);
109
+ }, [toggleSidebar]);
110
+
111
+ // We add a state so that we can do data-state="expanded" or "collapsed".
112
+ // This makes it easier to style the sidebar with Tailwind classes.
113
+ const state = open ? "expanded" : "collapsed";
114
+
115
+ // biome-ignore lint/correctness/useExhaustiveDependencies: FIXME: unchanged shadcn
116
+ const contextValue = React.useMemo<SidebarContextProps>(
117
+ () => ({
118
+ state,
119
+ open,
120
+ setOpen,
121
+ isMobile,
122
+ openMobile,
123
+ setOpenMobile,
124
+ toggleSidebar,
125
+ }),
126
+ [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],
127
+ );
128
+
129
+ return (
130
+ <SidebarContext.Provider value={contextValue}>
131
+ <TooltipProvider delayDuration={0}>
132
+ <div
133
+ data-slot="sidebar-wrapper"
134
+ style={
135
+ {
136
+ "--sidebar-width": SIDEBAR_WIDTH,
137
+ "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
138
+ ...style,
139
+ } as React.CSSProperties
140
+ }
141
+ className={cn(
142
+ "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full box-content",
143
+ className,
144
+ )}
145
+ {...props}
146
+ >
147
+ {children}
148
+ </div>
149
+ </TooltipProvider>
150
+ </SidebarContext.Provider>
151
+ );
152
+ }
153
+
154
+ function Sidebar({
155
+ side = "left",
156
+ variant = "sidebar",
157
+ collapsible = "offcanvas",
158
+ className,
159
+ children,
160
+ ...props
161
+ }: React.ComponentProps<"div"> & {
162
+ side?: "left" | "right";
163
+ variant?: "sidebar" | "floating" | "inset";
164
+ collapsible?: "offcanvas" | "icon" | "none";
165
+ }) {
166
+ const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
167
+
168
+ if (collapsible === "none") {
169
+ return (
170
+ <div
171
+ data-slot="sidebar"
172
+ className={cn(
173
+ "bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col",
174
+ className,
175
+ )}
176
+ {...props}
177
+ >
178
+ {children}
179
+ </div>
180
+ );
181
+ }
182
+
183
+ if (isMobile) {
184
+ return (
185
+ <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>
186
+ <SheetContent
187
+ data-sidebar="sidebar"
188
+ data-slot="sidebar"
189
+ data-mobile="true"
190
+ className="bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden"
191
+ style={
192
+ {
193
+ "--sidebar-width": SIDEBAR_WIDTH_MOBILE,
194
+ } as React.CSSProperties
195
+ }
196
+ side={side}
197
+ >
198
+ <SheetHeader className="sr-only">
199
+ <SheetTitle>Sidebar</SheetTitle>
200
+ <SheetDescription>Displays the mobile sidebar.</SheetDescription>
201
+ </SheetHeader>
202
+ <div className="flex h-full w-full flex-col">{children}</div>
203
+ </SheetContent>
204
+ </Sheet>
205
+ );
206
+ }
207
+
208
+ return (
209
+ <div
210
+ className="group peer text-sidebar-foreground hidden md:block"
211
+ data-state={state}
212
+ data-collapsible={state === "collapsed" ? collapsible : ""}
213
+ data-variant={variant}
214
+ data-side={side}
215
+ data-slot="sidebar"
216
+ >
217
+ {/* This is what handles the sidebar gap on desktop */}
218
+ <div
219
+ data-slot="sidebar-gap"
220
+ className={cn(
221
+ "relative w-(--sidebar-width) bg-transparent transition-[width] duration-120 ease-linear",
222
+ "group-data-[collapsible=offcanvas]:w-0",
223
+ "group-data-[side=right]:rotate-180",
224
+ variant === "floating" || variant === "inset"
225
+ ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]"
226
+ : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)",
227
+ )}
228
+ />
229
+ <div
230
+ data-slot="sidebar-container"
231
+ className={cn(
232
+ "fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-120 ease-linear md:flex box-content",
233
+ side === "left"
234
+ ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]"
235
+ : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",
236
+ // Adjust the padding for floating and inset variants.
237
+ variant === "floating" || variant === "inset"
238
+ ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]"
239
+ : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",
240
+ className,
241
+ )}
242
+ {...props}
243
+ >
244
+ <div
245
+ data-sidebar="sidebar"
246
+ data-slot="sidebar-inner"
247
+ className="bg-bg-primary group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm"
248
+ >
249
+ {children}
250
+ </div>
251
+ </div>
252
+ </div>
253
+ );
254
+ }
255
+
256
+ function SidebarTrigger({
257
+ className,
258
+ onClick,
259
+ ...props
260
+ }: React.ComponentProps<typeof Button>) {
261
+ const { toggleSidebar } = useSidebar();
262
+
263
+ return (
264
+ <Button
265
+ data-sidebar="trigger"
266
+ data-slot="sidebar-trigger"
267
+ variant="ghost"
268
+ size="small"
269
+ className={cn("size-7", className)}
270
+ onClick={(event) => {
271
+ onClick?.(event);
272
+ toggleSidebar();
273
+ }}
274
+ {...props}
275
+ >
276
+ <PanelLeftIcon />
277
+ <span className="sr-only">Toggle Sidebar</span>
278
+ </Button>
279
+ );
280
+ }
281
+
282
+ function SidebarRail({ className, ...props }: React.ComponentProps<"button">) {
283
+ const { toggleSidebar } = useSidebar();
284
+
285
+ return (
286
+ <button
287
+ data-sidebar="rail"
288
+ data-slot="sidebar-rail"
289
+ aria-label="Toggle Sidebar"
290
+ tabIndex={-1}
291
+ onClick={toggleSidebar}
292
+ title="Toggle Sidebar"
293
+ className={cn(
294
+ "hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] sm:flex",
295
+ "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize",
296
+ "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize",
297
+ "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full",
298
+ "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2",
299
+ "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",
300
+ className,
301
+ )}
302
+ {...props}
303
+ />
304
+ );
305
+ }
306
+
307
+ function SidebarInset({ className, ...props }: React.ComponentProps<"main">) {
308
+ return (
309
+ <main
310
+ data-slot="sidebar-inset"
311
+ className={cn(
312
+ "bg-background relative flex w-full flex-1 flex-col",
313
+ "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl",
314
+ "md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2",
315
+ "peer-has-data-[sidebar-mode=hover]:fixed peer-has-data-[sidebar-mode=hover]:h-full peer-has-data-[sidebar-mode=hover]:grow",
316
+ "peer-has-data-[sidebar-mode=hover]:left-(--sidebar-width-icon)",
317
+ className,
318
+ )}
319
+ {...props}
320
+ />
321
+ );
322
+ }
323
+
324
+ function SidebarInput({
325
+ className,
326
+ ...props
327
+ }: React.ComponentProps<typeof Input>) {
328
+ return (
329
+ <Input
330
+ data-slot="sidebar-input"
331
+ data-sidebar="input"
332
+ className={cn("bg-background h-8 w-full shadow-none", className)}
333
+ {...props}
334
+ />
335
+ );
336
+ }
337
+
338
+ function SidebarHeader({ className, ...props }: React.ComponentProps<"div">) {
339
+ return (
340
+ <div
341
+ data-slot="sidebar-header"
342
+ data-sidebar="header"
343
+ className={cn("flex flex-col gap-2 p-2", className)}
344
+ {...props}
345
+ />
346
+ );
347
+ }
348
+
349
+ function SidebarFooter({ className, ...props }: React.ComponentProps<"div">) {
350
+ return (
351
+ <div
352
+ data-slot="sidebar-footer"
353
+ data-sidebar="footer"
354
+ className={cn("flex flex-col gap-2 p-2 pb-3", className)}
355
+ {...props}
356
+ />
357
+ );
358
+ }
359
+
360
+ function SidebarSeparator({
361
+ className,
362
+ ...props
363
+ }: React.ComponentProps<typeof Separator>) {
364
+ return (
365
+ <Separator
366
+ data-slot="sidebar-separator"
367
+ data-sidebar="separator"
368
+ className={cn("border-border-secondary w-auto", className)}
369
+ {...props}
370
+ />
371
+ );
372
+ }
373
+
374
+ function SidebarContent({ className, ...props }: React.ComponentProps<"div">) {
375
+ return (
376
+ <div
377
+ data-slot="sidebar-content"
378
+ data-sidebar="content"
379
+ className={cn(
380
+ "flex min-h-0 flex-1 flex-col gap-1 p-2 pt-3 overflow-auto group-data-[collapsible=icon]:overflow-hidden",
381
+ className,
382
+ )}
383
+ {...props}
384
+ />
385
+ );
386
+ }
387
+
388
+ function SidebarGroup({ className, ...props }: React.ComponentProps<"div">) {
389
+ return (
390
+ <div
391
+ data-slot="sidebar-group"
392
+ data-sidebar="group"
393
+ className={cn("relative flex w-full min-w-0 flex-col", className)}
394
+ {...props}
395
+ />
396
+ );
397
+ }
398
+
399
+ function SidebarGroupLabel({
400
+ className,
401
+ asChild = false,
402
+ ...props
403
+ }: React.ComponentProps<"div"> & { asChild?: boolean }) {
404
+ const Comp = asChild ? Slot : "div";
405
+
406
+ return (
407
+ <Comp
408
+ data-slot="sidebar-group-label"
409
+ data-sidebar="group-label"
410
+ className={cn(
411
+ "text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
412
+ "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0",
413
+ className,
414
+ )}
415
+ {...props}
416
+ />
417
+ );
418
+ }
419
+
420
+ function SidebarGroupAction({
421
+ className,
422
+ asChild = false,
423
+ ...props
424
+ }: React.ComponentProps<"button"> & { asChild?: boolean }) {
425
+ const Comp = asChild ? Slot : "button";
426
+
427
+ return (
428
+ <Comp
429
+ data-slot="sidebar-group-action"
430
+ data-sidebar="group-action"
431
+ className={cn(
432
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
433
+ // Increases the hit area of the button on mobile.
434
+ "after:absolute after:-inset-2 md:after:hidden",
435
+ "group-data-[collapsible=icon]:hidden",
436
+ className,
437
+ )}
438
+ {...props}
439
+ />
440
+ );
441
+ }
442
+
443
+ function SidebarGroupContent({
444
+ className,
445
+ ...props
446
+ }: React.ComponentProps<"div">) {
447
+ return (
448
+ <div
449
+ data-slot="sidebar-group-content"
450
+ data-sidebar="group-content"
451
+ className={cn("w-full text-sm", className)}
452
+ {...props}
453
+ />
454
+ );
455
+ }
456
+
457
+ function SidebarMenu({ className, ...props }: React.ComponentProps<"ul">) {
458
+ return (
459
+ <ul
460
+ data-slot="sidebar-menu"
461
+ data-sidebar="menu"
462
+ className={cn("flex w-full min-w-0 flex-col gap-0.5", className)}
463
+ {...props}
464
+ />
465
+ );
466
+ }
467
+
468
+ function SidebarMenuItem({ className, ...props }: React.ComponentProps<"li">) {
469
+ return (
470
+ <li
471
+ data-slot="sidebar-menu-item"
472
+ data-sidebar="menu-item"
473
+ className={cn("group/menu-item relative", className)}
474
+ {...props}
475
+ />
476
+ );
477
+ }
478
+
479
+ const sidebarMenuButtonVariants = cva(
480
+ cn(
481
+ "typo-body text-text-secondary flex items-center gap-2 overflow-hidden rounded-lg py-2 px-[0.44rem] outline-hidden ",
482
+ "ring-sidebar-ring transition-all focus-visible:ring-2 active:bg-bg-quaternary disabled:pointer-events-none",
483
+ "disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50",
484
+ "data-[active=true]:bg-bg-brand-secondary data-[active=true]:text-text-primary data-[state=open]:hover:bg-sidebar-accent",
485
+ "data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:py-2! group-data-[collapsible=icon]:px-[0.44rem]!",
486
+ "[&>span:last-child]:truncate [&>svg]:size-5 [&>svg]:shrink-0 hover:bg-bg-secondary hover:text-text-primary",
487
+ "data-[active=true]:[&>svg]:text-text-brand-primary w-full",
488
+ ),
489
+ {
490
+ variants: {
491
+ variant: {
492
+ default: "",
493
+ outline:
494
+ "shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]",
495
+ },
496
+ size: {
497
+ default: "",
498
+ sm: "",
499
+ lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!",
500
+ },
501
+ },
502
+ defaultVariants: {
503
+ variant: "default",
504
+ size: "default",
505
+ },
506
+ },
507
+ );
508
+
509
+ function SidebarMenuButton({
510
+ asChild = false,
511
+ isActive = false,
512
+ variant = "default",
513
+ size = "default",
514
+ tooltip,
515
+ className,
516
+ ...props
517
+ }: React.ComponentProps<"button"> & {
518
+ asChild?: boolean;
519
+ isActive?: boolean;
520
+ tooltip?: string | React.ComponentProps<typeof TooltipContent>;
521
+ } & VariantProps<typeof sidebarMenuButtonVariants>) {
522
+ const Comp = asChild ? Slot : "button";
523
+ const { isMobile, state } = useSidebar();
524
+
525
+ const button = (
526
+ <Comp
527
+ data-slot="sidebar-menu-button"
528
+ data-sidebar="menu-button"
529
+ data-size={size}
530
+ data-active={isActive}
531
+ className={cn(sidebarMenuButtonVariants({ variant, size }), className)}
532
+ {...props}
533
+ />
534
+ );
535
+
536
+ if (!tooltip) {
537
+ return button;
538
+ }
539
+
540
+ if (typeof tooltip === "string") {
541
+ tooltip = {
542
+ children: tooltip,
543
+ };
544
+ }
545
+
546
+ return (
547
+ <Tooltip>
548
+ <TooltipTrigger asChild>{button}</TooltipTrigger>
549
+ <TooltipContent
550
+ side="right"
551
+ align="center"
552
+ hidden={state !== "collapsed" || isMobile}
553
+ {...tooltip}
554
+ />
555
+ </Tooltip>
556
+ );
557
+ }
558
+
559
+ function SidebarMenuAction({
560
+ className,
561
+ asChild = false,
562
+ showOnHover = false,
563
+ ...props
564
+ }: React.ComponentProps<"button"> & {
565
+ asChild?: boolean;
566
+ showOnHover?: boolean;
567
+ }) {
568
+ const Comp = asChild ? Slot : "button";
569
+
570
+ return (
571
+ <Comp
572
+ data-slot="sidebar-menu-action"
573
+ data-sidebar="menu-action"
574
+ className={cn(
575
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0",
576
+ // Increases the hit area of the button on mobile.
577
+ "after:absolute after:-inset-2 md:after:hidden",
578
+ "peer-data-[size=sm]/menu-button:top-1",
579
+ "peer-data-[size=default]/menu-button:top-1.5",
580
+ "peer-data-[size=lg]/menu-button:top-2.5",
581
+ "group-data-[collapsible=icon]:hidden",
582
+ showOnHover &&
583
+ "peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",
584
+ className,
585
+ )}
586
+ {...props}
587
+ />
588
+ );
589
+ }
590
+
591
+ function SidebarMenuBadge({
592
+ className,
593
+ ...props
594
+ }: React.ComponentProps<"div">) {
595
+ return (
596
+ <div
597
+ data-slot="sidebar-menu-badge"
598
+ data-sidebar="menu-badge"
599
+ className={cn(
600
+ "text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-none",
601
+ "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground",
602
+ "peer-data-[size=sm]/menu-button:top-1",
603
+ "peer-data-[size=default]/menu-button:top-1.5",
604
+ "peer-data-[size=lg]/menu-button:top-2.5",
605
+ "group-data-[collapsible=icon]:hidden",
606
+ className,
607
+ )}
608
+ {...props}
609
+ />
610
+ );
611
+ }
612
+
613
+ function SidebarMenuSkeleton({
614
+ className,
615
+ showIcon = false,
616
+ ...props
617
+ }: React.ComponentProps<"div"> & {
618
+ showIcon?: boolean;
619
+ }) {
620
+ // Random width between 50 to 90%.
621
+ const width = React.useMemo(() => {
622
+ return `${Math.floor(Math.random() * 40) + 50}%`;
623
+ }, []);
624
+
625
+ return (
626
+ <div
627
+ data-slot="sidebar-menu-skeleton"
628
+ data-sidebar="menu-skeleton"
629
+ className={cn("flex h-8 items-center gap-2 rounded-md px-2", className)}
630
+ {...props}
631
+ >
632
+ {showIcon && (
633
+ <Skeleton
634
+ className="size-4 rounded-md"
635
+ data-sidebar="menu-skeleton-icon"
636
+ />
637
+ )}
638
+ <Skeleton
639
+ className="h-4 max-w-(--skeleton-width) flex-1"
640
+ data-sidebar="menu-skeleton-text"
641
+ style={
642
+ {
643
+ "--skeleton-width": width,
644
+ } as React.CSSProperties
645
+ }
646
+ />
647
+ </div>
648
+ );
649
+ }
650
+
651
+ function SidebarMenuSub({ className, ...props }: React.ComponentProps<"ul">) {
652
+ return (
653
+ <ul
654
+ data-slot="sidebar-menu-sub"
655
+ data-sidebar="menu-sub"
656
+ className={cn(
657
+ "border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5",
658
+ "group-data-[collapsible=icon]:hidden",
659
+ className,
660
+ )}
661
+ {...props}
662
+ />
663
+ );
664
+ }
665
+
666
+ function SidebarMenuSubItem({
667
+ className,
668
+ ...props
669
+ }: React.ComponentProps<"li">) {
670
+ return (
671
+ <li
672
+ data-slot="sidebar-menu-sub-item"
673
+ data-sidebar="menu-sub-item"
674
+ className={cn("group/menu-sub-item relative", className)}
675
+ {...props}
676
+ />
677
+ );
678
+ }
679
+
680
+ function SidebarMenuSubButton({
681
+ asChild = false,
682
+ size = "md",
683
+ isActive = false,
684
+ className,
685
+ ...props
686
+ }: React.ComponentProps<"a"> & {
687
+ asChild?: boolean;
688
+ size?: "sm" | "md";
689
+ isActive?: boolean;
690
+ }) {
691
+ const Comp = asChild ? Slot : "a";
692
+
693
+ return (
694
+ <Comp
695
+ data-slot="sidebar-menu-sub-button"
696
+ data-sidebar="menu-sub-button"
697
+ data-size={size}
698
+ data-active={isActive}
699
+ className={cn(
700
+ "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",
701
+ "data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground",
702
+ size === "sm" && "text-xs",
703
+ size === "md" && "text-sm",
704
+ "group-data-[collapsible=icon]:hidden",
705
+ className,
706
+ )}
707
+ {...props}
708
+ />
709
+ );
710
+ }
711
+
712
+ export {
713
+ Sidebar,
714
+ SidebarContent,
715
+ SidebarFooter,
716
+ SidebarGroup,
717
+ SidebarGroupAction,
718
+ SidebarGroupContent,
719
+ SidebarGroupLabel,
720
+ SidebarHeader,
721
+ SidebarInput,
722
+ SidebarInset,
723
+ SidebarMenu,
724
+ SidebarMenuAction,
725
+ SidebarMenuBadge,
726
+ SidebarMenuButton,
727
+ SidebarMenuItem,
728
+ SidebarMenuSkeleton,
729
+ SidebarMenuSub,
730
+ SidebarMenuSubButton,
731
+ SidebarMenuSubItem,
732
+ SidebarProvider,
733
+ SidebarRail,
734
+ SidebarSeparator,
735
+ SidebarTrigger,
736
+ useSidebar,
737
+ };