@health-samurai/react-components 0.0.0-alpha.2 → 0.0.0-alpha.21

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 (571) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +102 -1
  3. package/dist/bundle.css +2349 -754
  4. package/dist/src/components/button-dropdown.d.ts +10 -0
  5. package/dist/src/components/button-dropdown.d.ts.map +1 -0
  6. package/dist/src/components/button-dropdown.js +70 -0
  7. package/dist/src/components/button-dropdown.js.map +1 -0
  8. package/dist/src/components/button-dropdown.stories.js +48 -0
  9. package/dist/src/components/button-dropdown.stories.js.map +1 -0
  10. package/dist/src/components/code-editor/fhir-autocomplete.d.ts +70 -0
  11. package/dist/src/components/code-editor/fhir-autocomplete.d.ts.map +1 -0
  12. package/dist/src/components/code-editor/fhir-autocomplete.js +1850 -0
  13. package/dist/src/components/code-editor/fhir-autocomplete.js.map +1 -0
  14. package/dist/src/components/code-editor/fhir-autocomplete.test.js +1099 -0
  15. package/dist/src/components/code-editor/fhir-autocomplete.test.js.map +1 -0
  16. package/dist/src/components/code-editor/http/grammar/http.d.ts +3 -0
  17. package/dist/src/components/code-editor/http/grammar/http.d.ts.map +1 -0
  18. package/dist/src/components/code-editor/http/grammar/http.grammar +74 -0
  19. package/dist/src/components/code-editor/http/grammar/http.js +38 -0
  20. package/dist/src/components/code-editor/http/grammar/http.js.map +1 -0
  21. package/dist/src/components/code-editor/http/grammar/http.terms.d.ts +2 -0
  22. package/dist/src/components/code-editor/http/grammar/http.terms.d.ts.map +1 -0
  23. package/dist/src/components/code-editor/http/grammar/http.terms.js +4 -0
  24. package/dist/src/components/code-editor/http/grammar/http.terms.js.map +1 -0
  25. package/dist/src/components/code-editor/http/grammar/http.test.js +80 -0
  26. package/dist/src/components/code-editor/http/grammar/http.test.js.map +1 -0
  27. package/dist/src/components/code-editor/http/index.d.ts +12 -0
  28. package/dist/src/components/code-editor/http/index.d.ts.map +1 -0
  29. package/dist/src/components/code-editor/http/index.js +486 -0
  30. package/dist/src/components/code-editor/http/index.js.map +1 -0
  31. package/dist/src/components/code-editor/index.d.ts +39 -1
  32. package/dist/src/components/code-editor/index.d.ts.map +1 -1
  33. package/dist/src/components/code-editor/index.js +1792 -45
  34. package/dist/src/components/code-editor/index.js.map +1 -1
  35. package/dist/src/components/code-editor/json-ast.d.ts +46 -0
  36. package/dist/src/components/code-editor/json-ast.d.ts.map +1 -0
  37. package/dist/src/components/code-editor/json-ast.js +465 -0
  38. package/dist/src/components/code-editor/json-ast.js.map +1 -0
  39. package/dist/src/components/code-editor/json-ast.test.js +206 -0
  40. package/dist/src/components/code-editor/json-ast.test.js.map +1 -0
  41. package/dist/src/components/code-editor/sql-completion.d.ts +22 -0
  42. package/dist/src/components/code-editor/sql-completion.d.ts.map +1 -0
  43. package/dist/src/components/code-editor/sql-completion.js +897 -0
  44. package/dist/src/components/code-editor/sql-completion.js.map +1 -0
  45. package/dist/src/components/code-editor.stories.js +280 -3
  46. package/dist/src/components/code-editor.stories.js.map +1 -1
  47. package/dist/src/components/copy-icon.d.ts +5 -1
  48. package/dist/src/components/copy-icon.d.ts.map +1 -1
  49. package/dist/src/components/copy-icon.js +41 -3
  50. package/dist/src/components/copy-icon.js.map +1 -1
  51. package/dist/src/components/data-table.d.ts +9 -0
  52. package/dist/src/components/data-table.d.ts.map +1 -0
  53. package/dist/src/components/data-table.js +66 -0
  54. package/dist/src/components/data-table.js.map +1 -0
  55. package/dist/src/components/data-table.stories.js +240 -0
  56. package/dist/src/components/data-table.stories.js.map +1 -0
  57. package/dist/src/components/date-picker-input.d.ts +10 -0
  58. package/dist/src/components/date-picker-input.d.ts.map +1 -0
  59. package/dist/src/components/date-picker-input.js +90 -0
  60. package/dist/src/components/date-picker-input.js.map +1 -0
  61. package/dist/src/components/date-picker-input.stories.js +76 -0
  62. package/dist/src/components/date-picker-input.stories.js.map +1 -0
  63. package/dist/src/components/fhir-structure-view.d.ts +34 -0
  64. package/dist/src/components/fhir-structure-view.d.ts.map +1 -0
  65. package/dist/src/components/fhir-structure-view.js +230 -0
  66. package/dist/src/components/fhir-structure-view.js.map +1 -0
  67. package/dist/src/components/fhir-structure-view.stories.js +447 -0
  68. package/dist/src/components/fhir-structure-view.stories.js.map +1 -0
  69. package/dist/src/components/icon-button.d.ts +12 -0
  70. package/dist/src/components/icon-button.d.ts.map +1 -0
  71. package/dist/src/components/icon-button.js +41 -0
  72. package/dist/src/components/icon-button.js.map +1 -0
  73. package/dist/src/components/icon-button.stories.js +157 -0
  74. package/dist/src/components/icon-button.stories.js.map +1 -0
  75. package/dist/src/components/operation-outcome-view.d.ts +27 -0
  76. package/dist/src/components/operation-outcome-view.d.ts.map +1 -0
  77. package/dist/src/components/operation-outcome-view.js +198 -0
  78. package/dist/src/components/operation-outcome-view.js.map +1 -0
  79. package/dist/src/components/operation-outcome-view.stories.js +207 -0
  80. package/dist/src/components/operation-outcome-view.stories.js.map +1 -0
  81. package/dist/src/components/request-line-editor.d.ts +13 -35
  82. package/dist/src/components/request-line-editor.d.ts.map +1 -1
  83. package/dist/src/components/request-line-editor.js +73 -49
  84. package/dist/src/components/request-line-editor.js.map +1 -1
  85. package/dist/src/components/request-line-editor.stories.js +17 -53
  86. package/dist/src/components/request-line-editor.stories.js.map +1 -1
  87. package/dist/src/components/sandbox.d.ts +13 -0
  88. package/dist/src/components/sandbox.d.ts.map +1 -0
  89. package/dist/src/components/sandbox.js +107 -0
  90. package/dist/src/components/sandbox.js.map +1 -0
  91. package/dist/src/components/sandbox.stories.js +126 -0
  92. package/dist/src/components/sandbox.stories.js.map +1 -0
  93. package/dist/src/components/segment-control.d.ts +13 -0
  94. package/dist/src/components/segment-control.d.ts.map +1 -0
  95. package/dist/src/components/segment-control.js +33 -0
  96. package/dist/src/components/segment-control.js.map +1 -0
  97. package/dist/src/components/segment-control.stories.js +68 -0
  98. package/dist/src/components/segment-control.stories.js.map +1 -0
  99. package/dist/src/components/split-button.d.ts +12 -0
  100. package/dist/src/components/split-button.d.ts.map +1 -0
  101. package/dist/src/components/split-button.js +33 -0
  102. package/dist/src/components/split-button.js.map +1 -0
  103. package/dist/src/components/split-button.stories.js +84 -0
  104. package/dist/src/components/split-button.stories.js.map +1 -0
  105. package/dist/src/components/tag.d.ts +16 -0
  106. package/dist/src/components/tag.d.ts.map +1 -0
  107. package/dist/src/components/tag.js +198 -0
  108. package/dist/src/components/tag.js.map +1 -0
  109. package/dist/src/components/tag.stories.js +459 -0
  110. package/dist/src/components/tag.stories.js.map +1 -0
  111. package/dist/src/components/tile.d.ts +15 -0
  112. package/dist/src/components/tile.d.ts.map +1 -0
  113. package/dist/src/components/tile.js +76 -0
  114. package/dist/src/components/tile.js.map +1 -0
  115. package/dist/src/components/tile.stories.js +167 -0
  116. package/dist/src/components/tile.stories.js.map +1 -0
  117. package/dist/src/components/toolbar.d.ts +18 -0
  118. package/dist/src/components/toolbar.d.ts.map +1 -0
  119. package/dist/src/components/toolbar.js +61 -0
  120. package/dist/src/components/toolbar.js.map +1 -0
  121. package/dist/src/components/toolbar.stories.js +69 -0
  122. package/dist/src/components/toolbar.stories.js.map +1 -0
  123. package/dist/src/components/tree-view.d.ts +47 -0
  124. package/dist/src/components/tree-view.d.ts.map +1 -0
  125. package/dist/src/components/tree-view.js +122 -0
  126. package/dist/src/components/tree-view.js.map +1 -0
  127. package/dist/src/components/tree-view.stories.js +283 -0
  128. package/dist/src/components/tree-view.stories.js.map +1 -0
  129. package/dist/src/icons.d.ts +11 -0
  130. package/dist/src/icons.d.ts.map +1 -0
  131. package/dist/src/icons.js +328 -0
  132. package/dist/src/icons.js.map +1 -0
  133. package/dist/src/index.css +358 -74
  134. package/dist/src/index.d.ts +17 -1
  135. package/dist/src/index.d.ts.map +1 -1
  136. package/dist/src/index.js +17 -1
  137. package/dist/src/index.js.map +1 -1
  138. package/dist/src/shadcn/components/ui/accordion.d.ts +2 -2
  139. package/dist/src/shadcn/components/ui/accordion.d.ts.map +1 -1
  140. package/dist/src/shadcn/components/ui/accordion.js +35 -9
  141. package/dist/src/shadcn/components/ui/accordion.js.map +1 -1
  142. package/dist/src/shadcn/components/ui/alert-dialog.d.ts +12 -4
  143. package/dist/src/shadcn/components/ui/alert-dialog.d.ts.map +1 -1
  144. package/dist/src/shadcn/components/ui/alert-dialog.js +128 -18
  145. package/dist/src/shadcn/components/ui/alert-dialog.js.map +1 -1
  146. package/dist/src/shadcn/components/ui/alert-dialog.stories.js +269 -19
  147. package/dist/src/shadcn/components/ui/alert-dialog.stories.js.map +1 -1
  148. package/dist/src/shadcn/components/ui/alert.d.ts +29 -6
  149. package/dist/src/shadcn/components/ui/alert.d.ts.map +1 -1
  150. package/dist/src/shadcn/components/ui/alert.js +50 -19
  151. package/dist/src/shadcn/components/ui/alert.js.map +1 -1
  152. package/dist/src/shadcn/components/ui/alert.stories.js +140 -36
  153. package/dist/src/shadcn/components/ui/alert.stories.js.map +1 -1
  154. package/dist/src/shadcn/components/ui/aspect-ratio.d.ts.map +1 -1
  155. package/dist/src/shadcn/components/ui/aspect-ratio.js +1 -0
  156. package/dist/src/shadcn/components/ui/aspect-ratio.js.map +1 -1
  157. package/dist/src/shadcn/components/ui/avatar.d.ts.map +1 -1
  158. package/dist/src/shadcn/components/ui/avatar.js +4 -3
  159. package/dist/src/shadcn/components/ui/avatar.js.map +1 -1
  160. package/dist/src/shadcn/components/ui/avatar.stories.js +68 -2
  161. package/dist/src/shadcn/components/ui/avatar.stories.js.map +1 -1
  162. package/dist/src/shadcn/components/ui/badge.d.ts +1 -1
  163. package/dist/src/shadcn/components/ui/badge.d.ts.map +1 -1
  164. package/dist/src/shadcn/components/ui/badge.js +16 -5
  165. package/dist/src/shadcn/components/ui/badge.js.map +1 -1
  166. package/dist/src/shadcn/components/ui/breadcrumb.d.ts +5 -2
  167. package/dist/src/shadcn/components/ui/breadcrumb.d.ts.map +1 -1
  168. package/dist/src/shadcn/components/ui/breadcrumb.js +98 -13
  169. package/dist/src/shadcn/components/ui/breadcrumb.js.map +1 -1
  170. package/dist/src/shadcn/components/ui/breadcrumb.stories.js +205 -45
  171. package/dist/src/shadcn/components/ui/breadcrumb.stories.js.map +1 -1
  172. package/dist/src/shadcn/components/ui/button.d.ts.map +1 -1
  173. package/dist/src/shadcn/components/ui/button.js +65 -11
  174. package/dist/src/shadcn/components/ui/button.js.map +1 -1
  175. package/dist/src/shadcn/components/ui/button.stories.js +99 -17
  176. package/dist/src/shadcn/components/ui/button.stories.js.map +1 -1
  177. package/dist/src/shadcn/components/ui/calendar.d.ts +1 -1
  178. package/dist/src/shadcn/components/ui/calendar.d.ts.map +1 -1
  179. package/dist/src/shadcn/components/ui/calendar.js +1 -0
  180. package/dist/src/shadcn/components/ui/calendar.js.map +1 -1
  181. package/dist/src/shadcn/components/ui/card.d.ts +5 -1
  182. package/dist/src/shadcn/components/ui/card.d.ts.map +1 -1
  183. package/dist/src/shadcn/components/ui/card.js +28 -7
  184. package/dist/src/shadcn/components/ui/card.js.map +1 -1
  185. package/dist/src/shadcn/components/ui/card.stories.js +23 -2
  186. package/dist/src/shadcn/components/ui/card.stories.js.map +1 -1
  187. package/dist/src/shadcn/components/ui/carousel.d.ts +1 -1
  188. package/dist/src/shadcn/components/ui/carousel.d.ts.map +1 -1
  189. package/dist/src/shadcn/components/ui/carousel.js +1 -0
  190. package/dist/src/shadcn/components/ui/carousel.js.map +1 -1
  191. package/dist/src/shadcn/components/ui/chart.d.ts +5 -5
  192. package/dist/src/shadcn/components/ui/chart.d.ts.map +1 -1
  193. package/dist/src/shadcn/components/ui/chart.js +4 -3
  194. package/dist/src/shadcn/components/ui/chart.js.map +1 -1
  195. package/dist/src/shadcn/components/ui/checkbox.d.ts +5 -1
  196. package/dist/src/shadcn/components/ui/checkbox.d.ts.map +1 -1
  197. package/dist/src/shadcn/components/ui/checkbox.js +46 -6
  198. package/dist/src/shadcn/components/ui/checkbox.js.map +1 -1
  199. package/dist/src/shadcn/components/ui/checkbox.stories.js +156 -46
  200. package/dist/src/shadcn/components/ui/checkbox.stories.js.map +1 -1
  201. package/dist/src/shadcn/components/ui/combobox.d.ts +29 -0
  202. package/dist/src/shadcn/components/ui/combobox.d.ts.map +1 -0
  203. package/dist/src/shadcn/components/ui/combobox.js +226 -0
  204. package/dist/src/shadcn/components/ui/combobox.js.map +1 -0
  205. package/dist/src/shadcn/components/ui/combobox.stories.js +167 -0
  206. package/dist/src/shadcn/components/ui/combobox.stories.js.map +1 -0
  207. package/dist/src/shadcn/components/ui/command.d.ts +4 -2
  208. package/dist/src/shadcn/components/ui/command.d.ts.map +1 -1
  209. package/dist/src/shadcn/components/ui/command.js +75 -13
  210. package/dist/src/shadcn/components/ui/command.js.map +1 -1
  211. package/dist/src/shadcn/components/ui/command.stories.js +277 -57
  212. package/dist/src/shadcn/components/ui/command.stories.js.map +1 -1
  213. package/dist/src/shadcn/components/ui/context-menu.d.ts +7 -3
  214. package/dist/src/shadcn/components/ui/context-menu.d.ts.map +1 -1
  215. package/dist/src/shadcn/components/ui/context-menu.js +120 -13
  216. package/dist/src/shadcn/components/ui/context-menu.js.map +1 -1
  217. package/dist/src/shadcn/components/ui/dialog.d.ts.map +1 -1
  218. package/dist/src/shadcn/components/ui/dialog.js +35 -7
  219. package/dist/src/shadcn/components/ui/dialog.js.map +1 -1
  220. package/dist/src/shadcn/components/ui/drawer.d.ts.map +1 -1
  221. package/dist/src/shadcn/components/ui/drawer.js +27 -5
  222. package/dist/src/shadcn/components/ui/drawer.js.map +1 -1
  223. package/dist/src/shadcn/components/ui/dropdown-menu.d.ts +7 -3
  224. package/dist/src/shadcn/components/ui/dropdown-menu.d.ts.map +1 -1
  225. package/dist/src/shadcn/components/ui/dropdown-menu.js +122 -14
  226. package/dist/src/shadcn/components/ui/dropdown-menu.js.map +1 -1
  227. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js +22 -5
  228. package/dist/src/shadcn/components/ui/dropdown-menu.stories.js.map +1 -1
  229. package/dist/src/shadcn/components/ui/form.d.ts +2 -2
  230. package/dist/src/shadcn/components/ui/form.d.ts.map +1 -1
  231. package/dist/src/shadcn/components/ui/form.js +17 -8
  232. package/dist/src/shadcn/components/ui/form.js.map +1 -1
  233. package/dist/src/shadcn/components/ui/hover-card.d.ts.map +1 -1
  234. package/dist/src/shadcn/components/ui/hover-card.js +2 -1
  235. package/dist/src/shadcn/components/ui/hover-card.js.map +1 -1
  236. package/dist/src/shadcn/components/ui/input-otp.d.ts.map +1 -1
  237. package/dist/src/shadcn/components/ui/input-otp.js +1 -0
  238. package/dist/src/shadcn/components/ui/input-otp.js.map +1 -1
  239. package/dist/src/shadcn/components/ui/input.d.ts +3 -1
  240. package/dist/src/shadcn/components/ui/input.d.ts.map +1 -1
  241. package/dist/src/shadcn/components/ui/input.js +126 -17
  242. package/dist/src/shadcn/components/ui/input.js.map +1 -1
  243. package/dist/src/shadcn/components/ui/input.stories.js +218 -29
  244. package/dist/src/shadcn/components/ui/input.stories.js.map +1 -1
  245. package/dist/src/shadcn/components/ui/label.d.ts.map +1 -1
  246. package/dist/src/shadcn/components/ui/label.js +9 -1
  247. package/dist/src/shadcn/components/ui/label.js.map +1 -1
  248. package/dist/src/shadcn/components/ui/menubar.d.ts.map +1 -1
  249. package/dist/src/shadcn/components/ui/menubar.js +35 -13
  250. package/dist/src/shadcn/components/ui/menubar.js.map +1 -1
  251. package/dist/src/shadcn/components/ui/pagination.d.ts +9 -2
  252. package/dist/src/shadcn/components/ui/pagination.d.ts.map +1 -1
  253. package/dist/src/shadcn/components/ui/pagination.js +41 -24
  254. package/dist/src/shadcn/components/ui/pagination.js.map +1 -1
  255. package/dist/src/shadcn/components/ui/pagination.stories.js +44 -37
  256. package/dist/src/shadcn/components/ui/pagination.stories.js.map +1 -1
  257. package/dist/src/shadcn/components/ui/popover.d.ts.map +1 -1
  258. package/dist/src/shadcn/components/ui/popover.js +13 -1
  259. package/dist/src/shadcn/components/ui/popover.js.map +1 -1
  260. package/dist/src/shadcn/components/ui/progress.d.ts.map +1 -1
  261. package/dist/src/shadcn/components/ui/progress.js +6 -2
  262. package/dist/src/shadcn/components/ui/progress.js.map +1 -1
  263. package/dist/src/shadcn/components/ui/radio-button-group.d.ts +21 -0
  264. package/dist/src/shadcn/components/ui/radio-button-group.d.ts.map +1 -0
  265. package/dist/src/shadcn/components/ui/radio-button-group.js +148 -0
  266. package/dist/src/shadcn/components/ui/radio-button-group.js.map +1 -0
  267. package/dist/src/shadcn/components/ui/radio-button-group.stories.js +283 -0
  268. package/dist/src/shadcn/components/ui/radio-button-group.stories.js.map +1 -0
  269. package/dist/src/shadcn/components/ui/radio-group.d.ts +5 -1
  270. package/dist/src/shadcn/components/ui/radio-group.d.ts.map +1 -1
  271. package/dist/src/shadcn/components/ui/radio-group.js +40 -7
  272. package/dist/src/shadcn/components/ui/radio-group.js.map +1 -1
  273. package/dist/src/shadcn/components/ui/radio-group.stories.js +107 -32
  274. package/dist/src/shadcn/components/ui/radio-group.stories.js.map +1 -1
  275. package/dist/src/shadcn/components/ui/resizable.d.ts.map +1 -1
  276. package/dist/src/shadcn/components/ui/resizable.js +2 -1
  277. package/dist/src/shadcn/components/ui/resizable.js.map +1 -1
  278. package/dist/src/shadcn/components/ui/resizable.stories.js +2 -2
  279. package/dist/src/shadcn/components/ui/resizable.stories.js.map +1 -1
  280. package/dist/src/shadcn/components/ui/scroll-area.d.ts.map +1 -1
  281. package/dist/src/shadcn/components/ui/scroll-area.js +10 -3
  282. package/dist/src/shadcn/components/ui/scroll-area.js.map +1 -1
  283. package/dist/src/shadcn/components/ui/select.d.ts +1 -2
  284. package/dist/src/shadcn/components/ui/select.d.ts.map +1 -1
  285. package/dist/src/shadcn/components/ui/select.js +49 -19
  286. package/dist/src/shadcn/components/ui/select.js.map +1 -1
  287. package/dist/src/shadcn/components/ui/select.stories.js +193 -70
  288. package/dist/src/shadcn/components/ui/select.stories.js.map +1 -1
  289. package/dist/src/shadcn/components/ui/separator.d.ts.map +1 -1
  290. package/dist/src/shadcn/components/ui/separator.js +8 -1
  291. package/dist/src/shadcn/components/ui/separator.js.map +1 -1
  292. package/dist/src/shadcn/components/ui/sheet.js +1 -1
  293. package/dist/src/shadcn/components/ui/sheet.js.map +1 -1
  294. package/dist/src/shadcn/components/ui/sidebar.d.ts +4 -4
  295. package/dist/src/shadcn/components/ui/sidebar.d.ts.map +1 -1
  296. package/dist/src/shadcn/components/ui/sidebar.js +21 -6
  297. package/dist/src/shadcn/components/ui/sidebar.js.map +1 -1
  298. package/dist/src/shadcn/components/ui/skeleton.d.ts.map +1 -1
  299. package/dist/src/shadcn/components/ui/skeleton.js +3 -1
  300. package/dist/src/shadcn/components/ui/skeleton.js.map +1 -1
  301. package/dist/src/shadcn/components/ui/slider.d.ts.map +1 -1
  302. package/dist/src/shadcn/components/ui/slider.js +35 -4
  303. package/dist/src/shadcn/components/ui/slider.js.map +1 -1
  304. package/dist/src/shadcn/components/ui/sonner.d.ts +24 -2
  305. package/dist/src/shadcn/components/ui/sonner.d.ts.map +1 -1
  306. package/dist/src/shadcn/components/ui/sonner.js +127 -9
  307. package/dist/src/shadcn/components/ui/sonner.js.map +1 -1
  308. package/dist/src/shadcn/components/ui/sonner.stories.js +251 -12
  309. package/dist/src/shadcn/components/ui/sonner.stories.js.map +1 -1
  310. package/dist/src/shadcn/components/ui/switch.d.ts +7 -1
  311. package/dist/src/shadcn/components/ui/switch.d.ts.map +1 -1
  312. package/dist/src/shadcn/components/ui/switch.js +55 -3
  313. package/dist/src/shadcn/components/ui/switch.js.map +1 -1
  314. package/dist/src/shadcn/components/ui/switch.stories.js +84 -9
  315. package/dist/src/shadcn/components/ui/switch.stories.js.map +1 -1
  316. package/dist/src/shadcn/components/ui/table.d.ts +23 -6
  317. package/dist/src/shadcn/components/ui/table.d.ts.map +1 -1
  318. package/dist/src/shadcn/components/ui/table.js +65 -20
  319. package/dist/src/shadcn/components/ui/table.js.map +1 -1
  320. package/dist/src/shadcn/components/ui/table.stories.js +217 -97
  321. package/dist/src/shadcn/components/ui/table.stories.js.map +1 -1
  322. package/dist/src/shadcn/components/ui/tabs.d.ts +30 -5
  323. package/dist/src/shadcn/components/ui/tabs.d.ts.map +1 -1
  324. package/dist/src/shadcn/components/ui/tabs.js +470 -23
  325. package/dist/src/shadcn/components/ui/tabs.js.map +1 -1
  326. package/dist/src/shadcn/components/ui/tabs.stories.js +405 -181
  327. package/dist/src/shadcn/components/ui/tabs.stories.js.map +1 -1
  328. package/dist/src/shadcn/components/ui/textarea.d.ts +8 -1
  329. package/dist/src/shadcn/components/ui/textarea.d.ts.map +1 -1
  330. package/dist/src/shadcn/components/ui/textarea.js +30 -2
  331. package/dist/src/shadcn/components/ui/textarea.js.map +1 -1
  332. package/dist/src/shadcn/components/ui/textarea.stories.js +85 -4
  333. package/dist/src/shadcn/components/ui/textarea.stories.js.map +1 -1
  334. package/dist/src/shadcn/components/ui/toggle-group.d.ts +3 -3
  335. package/dist/src/shadcn/components/ui/toggle-group.d.ts.map +1 -1
  336. package/dist/src/shadcn/components/ui/toggle-group.js +14 -12
  337. package/dist/src/shadcn/components/ui/toggle-group.js.map +1 -1
  338. package/dist/src/shadcn/components/ui/toggle.d.ts +3 -4
  339. package/dist/src/shadcn/components/ui/toggle.d.ts.map +1 -1
  340. package/dist/src/shadcn/components/ui/toggle.js +44 -16
  341. package/dist/src/shadcn/components/ui/toggle.js.map +1 -1
  342. package/dist/src/shadcn/components/ui/toggle.stories.js +130 -7
  343. package/dist/src/shadcn/components/ui/toggle.stories.js.map +1 -1
  344. package/dist/src/shadcn/components/ui/tooltip.d.ts.map +1 -1
  345. package/dist/src/shadcn/components/ui/tooltip.js +12 -1
  346. package/dist/src/shadcn/components/ui/tooltip.js.map +1 -1
  347. package/dist/src/shadcn/components/ui/tree.d.ts +29 -0
  348. package/dist/src/shadcn/components/ui/tree.d.ts.map +1 -0
  349. package/dist/src/shadcn/components/ui/tree.js +135 -0
  350. package/dist/src/shadcn/components/ui/tree.js.map +1 -0
  351. package/dist/src/shadcn/shadcn.css +4 -4
  352. package/dist/src/tokens.css +50 -20
  353. package/dist/src/typography.css +78 -15
  354. package/package.json +84 -64
  355. package/src/components/button-dropdown.stories.tsx +41 -0
  356. package/src/components/button-dropdown.tsx +97 -0
  357. package/src/components/code-editor/fhir-autocomplete.test.ts +993 -0
  358. package/src/components/code-editor/fhir-autocomplete.ts +2322 -0
  359. package/src/components/code-editor/http/grammar/http.grammar +74 -0
  360. package/src/components/code-editor/http/grammar/http.terms.ts +9 -0
  361. package/src/components/code-editor/http/grammar/http.test.ts +110 -0
  362. package/src/components/code-editor/http/grammar/http.ts +21 -0
  363. package/src/components/code-editor/http/index.ts +424 -0
  364. package/src/components/code-editor/index.tsx +1944 -42
  365. package/src/components/code-editor/json-ast.test.ts +230 -0
  366. package/src/components/code-editor/json-ast.ts +590 -0
  367. package/src/components/code-editor/sql-completion.ts +1112 -0
  368. package/src/components/code-editor.stories.tsx +325 -2
  369. package/src/components/copy-icon.tsx +57 -3
  370. package/src/components/data-table.stories.tsx +91 -0
  371. package/src/components/data-table.tsx +126 -0
  372. package/src/components/date-picker-input.stories.tsx +79 -0
  373. package/src/components/date-picker-input.tsx +104 -0
  374. package/src/components/fhir-structure-view.stories.tsx +439 -0
  375. package/src/components/fhir-structure-view.tsx +233 -0
  376. package/src/components/icon-button.stories.tsx +86 -0
  377. package/src/components/icon-button.tsx +57 -0
  378. package/src/components/operation-outcome-view.stories.tsx +163 -0
  379. package/src/components/operation-outcome-view.tsx +254 -0
  380. package/src/components/request-line-editor.stories.tsx +17 -27
  381. package/src/components/request-line-editor.tsx +103 -61
  382. package/src/components/sandbox.stories.tsx +131 -0
  383. package/src/components/sandbox.tsx +191 -0
  384. package/src/components/segment-control.stories.tsx +61 -0
  385. package/src/components/segment-control.tsx +83 -0
  386. package/src/components/split-button.stories.tsx +68 -0
  387. package/src/components/split-button.tsx +74 -0
  388. package/src/components/tag.stories.tsx +371 -0
  389. package/src/components/tag.tsx +236 -0
  390. package/src/components/tile.stories.tsx +149 -0
  391. package/src/components/tile.tsx +105 -0
  392. package/src/components/toolbar.stories.tsx +64 -0
  393. package/src/components/toolbar.tsx +98 -0
  394. package/src/components/tree-view.stories.tsx +265 -0
  395. package/src/components/tree-view.tsx +246 -0
  396. package/src/icons.tsx +331 -0
  397. package/src/index.css +358 -74
  398. package/src/index.tsx +17 -3
  399. package/src/shadcn/components/ui/accordion.tsx +91 -10
  400. package/src/shadcn/components/ui/alert-dialog.stories.tsx +209 -15
  401. package/src/shadcn/components/ui/alert-dialog.tsx +236 -26
  402. package/src/shadcn/components/ui/alert.stories.tsx +120 -21
  403. package/src/shadcn/components/ui/alert.tsx +125 -28
  404. package/src/shadcn/components/ui/aspect-ratio.tsx +1 -0
  405. package/src/shadcn/components/ui/avatar.stories.tsx +74 -1
  406. package/src/shadcn/components/ui/avatar.tsx +22 -6
  407. package/src/shadcn/components/ui/badge.tsx +67 -18
  408. package/src/shadcn/components/ui/breadcrumb.stories.tsx +161 -41
  409. package/src/shadcn/components/ui/breadcrumb.tsx +172 -23
  410. package/src/shadcn/components/ui/button.stories.tsx +106 -18
  411. package/src/shadcn/components/ui/button.tsx +151 -55
  412. package/src/shadcn/components/ui/calendar.tsx +1 -0
  413. package/src/shadcn/components/ui/card.stories.tsx +17 -3
  414. package/src/shadcn/components/ui/card.tsx +89 -14
  415. package/src/shadcn/components/ui/carousel.tsx +1 -0
  416. package/src/shadcn/components/ui/chart.tsx +9 -5
  417. package/src/shadcn/components/ui/checkbox.stories.tsx +78 -30
  418. package/src/shadcn/components/ui/checkbox.tsx +91 -8
  419. package/src/shadcn/components/ui/combobox.stories.tsx +148 -0
  420. package/src/shadcn/components/ui/combobox.tsx +324 -0
  421. package/src/shadcn/components/ui/command.stories.tsx +184 -39
  422. package/src/shadcn/components/ui/command.tsx +218 -37
  423. package/src/shadcn/components/ui/context-menu.tsx +333 -40
  424. package/src/shadcn/components/ui/dialog.tsx +101 -13
  425. package/src/shadcn/components/ui/drawer.tsx +94 -18
  426. package/src/shadcn/components/ui/dropdown-menu.stories.tsx +18 -2
  427. package/src/shadcn/components/ui/dropdown-menu.tsx +334 -68
  428. package/src/shadcn/components/ui/form.tsx +22 -11
  429. package/src/shadcn/components/ui/hover-card.tsx +2 -1
  430. package/src/shadcn/components/ui/input-otp.tsx +1 -0
  431. package/src/shadcn/components/ui/input.stories.tsx +235 -27
  432. package/src/shadcn/components/ui/input.tsx +400 -29
  433. package/src/shadcn/components/ui/label.tsx +22 -4
  434. package/src/shadcn/components/ui/menubar.tsx +188 -43
  435. package/src/shadcn/components/ui/pagination.stories.tsx +8 -2
  436. package/src/shadcn/components/ui/pagination.tsx +65 -8
  437. package/src/shadcn/components/ui/popover.tsx +36 -4
  438. package/src/shadcn/components/ui/progress.tsx +21 -5
  439. package/src/shadcn/components/ui/radio-button-group.stories.tsx +247 -0
  440. package/src/shadcn/components/ui/radio-button-group.tsx +188 -0
  441. package/src/shadcn/components/ui/radio-group.stories.tsx +70 -14
  442. package/src/shadcn/components/ui/radio-group.tsx +85 -9
  443. package/src/shadcn/components/ui/resizable.stories.tsx +2 -2
  444. package/src/shadcn/components/ui/resizable.tsx +2 -1
  445. package/src/shadcn/components/ui/scroll-area.tsx +34 -5
  446. package/src/shadcn/components/ui/select.stories.tsx +108 -32
  447. package/src/shadcn/components/ui/select.tsx +182 -36
  448. package/src/shadcn/components/ui/separator.tsx +16 -5
  449. package/src/shadcn/components/ui/sheet.tsx +1 -1
  450. package/src/shadcn/components/ui/sidebar.tsx +69 -26
  451. package/src/shadcn/components/ui/skeleton.tsx +4 -1
  452. package/src/shadcn/components/ui/slider.tsx +83 -11
  453. package/src/shadcn/components/ui/sonner.stories.tsx +238 -17
  454. package/src/shadcn/components/ui/sonner.tsx +254 -11
  455. package/src/shadcn/components/ui/switch.stories.tsx +52 -5
  456. package/src/shadcn/components/ui/switch.tsx +92 -7
  457. package/src/shadcn/components/ui/table.stories.tsx +252 -72
  458. package/src/shadcn/components/ui/table.tsx +204 -26
  459. package/src/shadcn/components/ui/tabs.stories.tsx +235 -123
  460. package/src/shadcn/components/ui/tabs.tsx +694 -36
  461. package/src/shadcn/components/ui/textarea.stories.tsx +94 -2
  462. package/src/shadcn/components/ui/textarea.tsx +70 -5
  463. package/src/shadcn/components/ui/toggle-group.tsx +35 -13
  464. package/src/shadcn/components/ui/toggle.stories.tsx +92 -5
  465. package/src/shadcn/components/ui/toggle.tsx +96 -23
  466. package/src/shadcn/components/ui/tooltip.tsx +34 -8
  467. package/src/shadcn/components/ui/tree.tsx +257 -0
  468. package/src/shadcn/shadcn.css +4 -4
  469. package/src/tokens.css +50 -20
  470. package/src/typography.css +78 -15
  471. package/dist/src/components/code-editor.stories.d.ts +0 -7
  472. package/dist/src/components/code-editor.stories.d.ts.map +0 -1
  473. package/dist/src/components/request-line-editor.stories.d.ts +0 -11
  474. package/dist/src/components/request-line-editor.stories.d.ts.map +0 -1
  475. package/dist/src/index.stories.d.ts +0 -14
  476. package/dist/src/index.stories.d.ts.map +0 -1
  477. package/dist/src/index.stories.js +0 -19
  478. package/dist/src/index.stories.js.map +0 -1
  479. package/dist/src/shadcn/components/ui/accordion.stories.d.ts +0 -8
  480. package/dist/src/shadcn/components/ui/accordion.stories.d.ts.map +0 -1
  481. package/dist/src/shadcn/components/ui/alert-dialog.stories.d.ts +0 -8
  482. package/dist/src/shadcn/components/ui/alert-dialog.stories.d.ts.map +0 -1
  483. package/dist/src/shadcn/components/ui/alert.stories.d.ts +0 -8
  484. package/dist/src/shadcn/components/ui/alert.stories.d.ts.map +0 -1
  485. package/dist/src/shadcn/components/ui/aspect-ratio.stories.d.ts +0 -8
  486. package/dist/src/shadcn/components/ui/aspect-ratio.stories.d.ts.map +0 -1
  487. package/dist/src/shadcn/components/ui/avatar.stories.d.ts +0 -8
  488. package/dist/src/shadcn/components/ui/avatar.stories.d.ts.map +0 -1
  489. package/dist/src/shadcn/components/ui/badge.stories.d.ts +0 -8
  490. package/dist/src/shadcn/components/ui/badge.stories.d.ts.map +0 -1
  491. package/dist/src/shadcn/components/ui/breadcrumb.stories.d.ts +0 -8
  492. package/dist/src/shadcn/components/ui/breadcrumb.stories.d.ts.map +0 -1
  493. package/dist/src/shadcn/components/ui/button.stories.d.ts +0 -23
  494. package/dist/src/shadcn/components/ui/button.stories.d.ts.map +0 -1
  495. package/dist/src/shadcn/components/ui/calendar.stories.d.ts +0 -8
  496. package/dist/src/shadcn/components/ui/calendar.stories.d.ts.map +0 -1
  497. package/dist/src/shadcn/components/ui/card.stories.d.ts +0 -8
  498. package/dist/src/shadcn/components/ui/card.stories.d.ts.map +0 -1
  499. package/dist/src/shadcn/components/ui/carousel.stories.d.ts +0 -8
  500. package/dist/src/shadcn/components/ui/carousel.stories.d.ts.map +0 -1
  501. package/dist/src/shadcn/components/ui/chart.stories.d.ts +0 -8
  502. package/dist/src/shadcn/components/ui/chart.stories.d.ts.map +0 -1
  503. package/dist/src/shadcn/components/ui/checkbox.stories.d.ts +0 -8
  504. package/dist/src/shadcn/components/ui/checkbox.stories.d.ts.map +0 -1
  505. package/dist/src/shadcn/components/ui/collapsible.stories.d.ts +0 -8
  506. package/dist/src/shadcn/components/ui/collapsible.stories.d.ts.map +0 -1
  507. package/dist/src/shadcn/components/ui/command.stories.d.ts +0 -8
  508. package/dist/src/shadcn/components/ui/command.stories.d.ts.map +0 -1
  509. package/dist/src/shadcn/components/ui/context-menu.stories.d.ts +0 -8
  510. package/dist/src/shadcn/components/ui/context-menu.stories.d.ts.map +0 -1
  511. package/dist/src/shadcn/components/ui/dialog.stories.d.ts +0 -8
  512. package/dist/src/shadcn/components/ui/dialog.stories.d.ts.map +0 -1
  513. package/dist/src/shadcn/components/ui/drawer.stories.d.ts +0 -8
  514. package/dist/src/shadcn/components/ui/drawer.stories.d.ts.map +0 -1
  515. package/dist/src/shadcn/components/ui/dropdown-menu.stories.d.ts +0 -8
  516. package/dist/src/shadcn/components/ui/dropdown-menu.stories.d.ts.map +0 -1
  517. package/dist/src/shadcn/components/ui/form.stories.d.ts +0 -8
  518. package/dist/src/shadcn/components/ui/form.stories.d.ts.map +0 -1
  519. package/dist/src/shadcn/components/ui/hover-card.stories.d.ts +0 -8
  520. package/dist/src/shadcn/components/ui/hover-card.stories.d.ts.map +0 -1
  521. package/dist/src/shadcn/components/ui/input-otp.stories.d.ts +0 -8
  522. package/dist/src/shadcn/components/ui/input-otp.stories.d.ts.map +0 -1
  523. package/dist/src/shadcn/components/ui/input.stories.d.ts +0 -18
  524. package/dist/src/shadcn/components/ui/input.stories.d.ts.map +0 -1
  525. package/dist/src/shadcn/components/ui/label.stories.d.ts +0 -8
  526. package/dist/src/shadcn/components/ui/label.stories.d.ts.map +0 -1
  527. package/dist/src/shadcn/components/ui/menubar.stories.d.ts +0 -8
  528. package/dist/src/shadcn/components/ui/menubar.stories.d.ts.map +0 -1
  529. package/dist/src/shadcn/components/ui/navigation-menu.stories.d.ts +0 -8
  530. package/dist/src/shadcn/components/ui/navigation-menu.stories.d.ts.map +0 -1
  531. package/dist/src/shadcn/components/ui/pagination.stories.d.ts +0 -8
  532. package/dist/src/shadcn/components/ui/pagination.stories.d.ts.map +0 -1
  533. package/dist/src/shadcn/components/ui/popover.stories.d.ts +0 -8
  534. package/dist/src/shadcn/components/ui/popover.stories.d.ts.map +0 -1
  535. package/dist/src/shadcn/components/ui/progress.stories.d.ts +0 -8
  536. package/dist/src/shadcn/components/ui/progress.stories.d.ts.map +0 -1
  537. package/dist/src/shadcn/components/ui/radio-group.stories.d.ts +0 -8
  538. package/dist/src/shadcn/components/ui/radio-group.stories.d.ts.map +0 -1
  539. package/dist/src/shadcn/components/ui/resizable.stories.d.ts +0 -8
  540. package/dist/src/shadcn/components/ui/resizable.stories.d.ts.map +0 -1
  541. package/dist/src/shadcn/components/ui/scroll-area.stories.d.ts +0 -8
  542. package/dist/src/shadcn/components/ui/scroll-area.stories.d.ts.map +0 -1
  543. package/dist/src/shadcn/components/ui/select.stories.d.ts +0 -11
  544. package/dist/src/shadcn/components/ui/select.stories.d.ts.map +0 -1
  545. package/dist/src/shadcn/components/ui/separator.stories.d.ts +0 -8
  546. package/dist/src/shadcn/components/ui/separator.stories.d.ts.map +0 -1
  547. package/dist/src/shadcn/components/ui/sheet.stories.d.ts +0 -8
  548. package/dist/src/shadcn/components/ui/sheet.stories.d.ts.map +0 -1
  549. package/dist/src/shadcn/components/ui/sidebar.stories.d.ts +0 -11
  550. package/dist/src/shadcn/components/ui/sidebar.stories.d.ts.map +0 -1
  551. package/dist/src/shadcn/components/ui/skeleton.stories.d.ts +0 -8
  552. package/dist/src/shadcn/components/ui/skeleton.stories.d.ts.map +0 -1
  553. package/dist/src/shadcn/components/ui/slider.stories.d.ts +0 -8
  554. package/dist/src/shadcn/components/ui/slider.stories.d.ts.map +0 -1
  555. package/dist/src/shadcn/components/ui/sonner.stories.d.ts +0 -8
  556. package/dist/src/shadcn/components/ui/sonner.stories.d.ts.map +0 -1
  557. package/dist/src/shadcn/components/ui/switch.stories.d.ts +0 -8
  558. package/dist/src/shadcn/components/ui/switch.stories.d.ts.map +0 -1
  559. package/dist/src/shadcn/components/ui/table.stories.d.ts +0 -8
  560. package/dist/src/shadcn/components/ui/table.stories.d.ts.map +0 -1
  561. package/dist/src/shadcn/components/ui/tabs.stories.d.ts +0 -32
  562. package/dist/src/shadcn/components/ui/tabs.stories.d.ts.map +0 -1
  563. package/dist/src/shadcn/components/ui/textarea.stories.d.ts +0 -8
  564. package/dist/src/shadcn/components/ui/textarea.stories.d.ts.map +0 -1
  565. package/dist/src/shadcn/components/ui/toggle-group.stories.d.ts +0 -8
  566. package/dist/src/shadcn/components/ui/toggle-group.stories.d.ts.map +0 -1
  567. package/dist/src/shadcn/components/ui/toggle.stories.d.ts +0 -8
  568. package/dist/src/shadcn/components/ui/toggle.stories.d.ts.map +0 -1
  569. package/dist/src/shadcn/components/ui/tooltip.stories.d.ts +0 -8
  570. package/dist/src/shadcn/components/ui/tooltip.stories.d.ts.map +0 -1
  571. package/src/index.stories.tsx +0 -21
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shadcn/components/ui/sidebar.tsx"],"sourcesContent":["import { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { PanelLeftIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Button } from \"#shadcn/components/ui/button\";\nimport { Input } from \"#shadcn/components/ui/input\";\nimport { Separator } from \"#shadcn/components/ui/separator\";\nimport {\n\tSheet,\n\tSheetContent,\n\tSheetDescription,\n\tSheetHeader,\n\tSheetTitle,\n} from \"#shadcn/components/ui/sheet\";\nimport { Skeleton } from \"#shadcn/components/ui/skeleton\";\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipProvider,\n\tTooltipTrigger,\n} from \"#shadcn/components/ui/tooltip\";\nimport { useIsMobile } from \"#shadcn/hooks/use-mobile\";\nimport { cn } from \"#shadcn/lib/utils\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = \"13.75rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3.125rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\ntype SidebarContextProps = {\n\tstate: \"expanded\" | \"collapsed\";\n\topen: boolean;\n\tsetOpen: (open: boolean) => void;\n\topenMobile: boolean;\n\tsetOpenMobile: (open: boolean) => void;\n\tisMobile: boolean;\n\ttoggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n\tconst context = React.useContext(SidebarContext);\n\tif (!context) {\n\t\tthrow new Error(\"useSidebar must be used within a SidebarProvider.\");\n\t}\n\n\treturn context;\n}\n\nfunction SidebarProvider({\n\tdefaultOpen = true,\n\topen: openProp,\n\tonOpenChange: setOpenProp,\n\tclassName,\n\tstyle,\n\tchildren,\n\t...props\n}: React.ComponentProps<\"div\"> & {\n\tdefaultOpen?: boolean;\n\topen?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n}) {\n\tconst isMobile = useIsMobile();\n\tconst [openMobile, setOpenMobile] = React.useState(false);\n\n\t// This is the internal state of the sidebar.\n\t// We use openProp and setOpenProp for control from outside the component.\n\tconst [_open, _setOpen] = React.useState(defaultOpen);\n\tconst open = openProp ?? _open;\n\tconst setOpen = React.useCallback(\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\n\t\t\tconst openState = typeof value === \"function\" ? value(open) : value;\n\t\t\tif (setOpenProp) {\n\t\t\t\tsetOpenProp(openState);\n\t\t\t} else {\n\t\t\t\t_setOpen(openState);\n\t\t\t}\n\n\t\t\t// This sets the cookie to keep the sidebar state.\n\t\t\t// biome-ignore lint/suspicious/noDocumentCookie: FIXME: unchanged shadcn\n\t\t\tdocument.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n\t\t},\n\t\t[setOpenProp, open],\n\t);\n\n\t// Helper to toggle the sidebar.\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: FIXME: unchanged shadcn\n\tconst toggleSidebar = React.useCallback(() => {\n\t\treturn isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n\t}, [isMobile, setOpen, setOpenMobile]);\n\n\t// Adds a keyboard shortcut to toggle the sidebar.\n\tReact.useEffect(() => {\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (\n\t\t\t\tevent.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n\t\t\t\t(event.metaKey || event.ctrlKey)\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleSidebar();\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener(\"keydown\", handleKeyDown);\n\t\treturn () => window.removeEventListener(\"keydown\", handleKeyDown);\n\t}, [toggleSidebar]);\n\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n\t// This makes it easier to style the sidebar with Tailwind classes.\n\tconst state = open ? \"expanded\" : \"collapsed\";\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: FIXME: unchanged shadcn\n\tconst contextValue = React.useMemo<SidebarContextProps>(\n\t\t() => ({\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar,\n\t\t}),\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n\t);\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<TooltipProvider delayDuration={0}>\n\t\t\t\t<div\n\t\t\t\t\tdata-slot=\"sidebar-wrapper\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\n\t\t\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full box-content\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</TooltipProvider>\n\t\t</SidebarContext.Provider>\n\t);\n}\n\nfunction Sidebar({\n\tside = \"left\",\n\tvariant = \"sidebar\",\n\tcollapsible = \"offcanvas\",\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<\"div\"> & {\n\tside?: \"left\" | \"right\";\n\tvariant?: \"sidebar\" | \"floating\" | \"inset\";\n\tcollapsible?: \"offcanvas\" | \"icon\" | \"none\";\n}) {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n\tif (collapsible === \"none\") {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (isMobile) {\n\t\treturn (\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t<SheetContent\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tdata-slot=\"sidebar\"\n\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\tclassName=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t<SheetHeader className=\"sr-only\">\n\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\n\t\t\t\t\t\t<SheetDescription>Displays the mobile sidebar.</SheetDescription>\n\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">{children}</div>\n\t\t\t\t</SheetContent>\n\t\t\t</Sheet>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"group peer text-sidebar-foreground hidden md:block\"\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t\tdata-slot=\"sidebar\"\n\t\t>\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar-gap\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative w-(--sidebar-width) bg-transparent transition-[width] duration-120 ease-linear\",\n\t\t\t\t\t\"group-data-[collapsible=offcanvas]:w-0\",\n\t\t\t\t\t\"group-data-[side=right]:rotate-180\",\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\",\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar-container\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-120 ease-linear md:flex box-content\",\n\t\t\t\t\tside === \"left\"\n\t\t\t\t\t\t? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n\t\t\t\t\t\t: \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tdata-slot=\"sidebar-inner\"\n\t\t\t\t\tclassName=\"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\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction SidebarTrigger({\n\tclassName,\n\tonClick,\n\t...props\n}: React.ComponentProps<typeof Button>) {\n\tconst { toggleSidebar } = useSidebar();\n\n\treturn (\n\t\t<Button\n\t\t\tdata-sidebar=\"trigger\"\n\t\t\tdata-slot=\"sidebar-trigger\"\n\t\t\tvariant=\"ghost\"\n\t\t\tsize=\"small\"\n\t\t\tclassName={cn(\"size-7\", className)}\n\t\t\tonClick={(event) => {\n\t\t\t\tonClick?.(event);\n\t\t\t\ttoggleSidebar();\n\t\t\t}}\n\t\t\t{...props}\n\t\t>\n\t\t\t<PanelLeftIcon />\n\t\t\t<span className=\"sr-only\">Toggle Sidebar</span>\n\t\t</Button>\n\t);\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n\tconst { toggleSidebar } = useSidebar();\n\n\treturn (\n\t\t<button\n\t\t\tdata-sidebar=\"rail\"\n\t\t\tdata-slot=\"sidebar-rail\"\n\t\t\taria-label=\"Toggle Sidebar\"\n\t\t\ttabIndex={-1}\n\t\t\tonClick={toggleSidebar}\n\t\t\ttitle=\"Toggle Sidebar\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t\"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n\t\t\t\t\"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n\t\t\t\t\"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\",\n\t\t\t\t\"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n\t\t\t\t\"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n\treturn (\n\t\t<main\n\t\t\tdata-slot=\"sidebar-inset\"\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-background relative flex w-full flex-1 flex-col\",\n\t\t\t\t\"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl\",\n\t\t\t\t\"md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n\t\t\t\t\"peer-has-data-[sidebar-mode=hover]:fixed peer-has-data-[sidebar-mode=hover]:h-full peer-has-data-[sidebar-mode=hover]:grow\",\n\t\t\t\t\"peer-has-data-[sidebar-mode=hover]:left-(--sidebar-width-icon)\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarInput({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof Input>) {\n\treturn (\n\t\t<Input\n\t\t\tdata-slot=\"sidebar-input\"\n\t\t\tdata-sidebar=\"input\"\n\t\t\tclassName={cn(\"bg-background h-8 w-full shadow-none\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-header\"\n\t\t\tdata-sidebar=\"header\"\n\t\t\tclassName={cn(\"flex flex-col gap-2 p-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-footer\"\n\t\t\tdata-sidebar=\"footer\"\n\t\t\tclassName={cn(\"flex flex-col gap-2 p-2 pb-3\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarSeparator({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof Separator>) {\n\treturn (\n\t\t<Separator\n\t\t\tdata-slot=\"sidebar-separator\"\n\t\t\tdata-sidebar=\"separator\"\n\t\t\tclassName={cn(\"border-border-secondary w-auto\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-content\"\n\t\t\tdata-sidebar=\"content\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex min-h-0 flex-1 flex-col gap-1 p-2 pt-3 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-group\"\n\t\t\tdata-sidebar=\"group\"\n\t\t\tclassName={cn(\"relative flex w-full min-w-0 flex-col\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarGroupLabel({\n\tclassName,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : \"div\";\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-group-label\"\n\t\t\tdata-sidebar=\"group-label\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t\"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarGroupAction({\n\tclassName,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : \"button\";\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-group-action\"\n\t\t\tdata-sidebar=\"group-action\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\"after:absolute after:-inset-2 md:after:hidden\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarGroupContent({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-group-content\"\n\t\t\tdata-sidebar=\"group-content\"\n\t\t\tclassName={cn(\"w-full text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n\treturn (\n\t\t<ul\n\t\t\tdata-slot=\"sidebar-menu\"\n\t\t\tdata-sidebar=\"menu\"\n\t\t\tclassName={cn(\"flex w-full min-w-0 flex-col gap-0.5\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n\treturn (\n\t\t<li\n\t\t\tdata-slot=\"sidebar-menu-item\"\n\t\t\tdata-sidebar=\"menu-item\"\n\t\t\tclassName={cn(\"group/menu-item relative\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nconst sidebarMenuButtonVariants = cva(\n\tcn(\n\t\t\"typo-body text-text-secondary flex items-center gap-2 overflow-hidden rounded-lg py-2 px-[0.44rem] outline-hidden \",\n\t\t\"ring-sidebar-ring transition-all focus-visible:ring-2 active:bg-bg-quaternary disabled:pointer-events-none\",\n\t\t\"disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50\",\n\t\t\"data-[active=true]:bg-bg-brand-secondary data-[active=true]:text-text-primary data-[state=open]:hover:bg-sidebar-accent\",\n\t\t\"data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:py-2! group-data-[collapsible=icon]:px-[0.44rem]!\",\n\t\t\"[&>span:last-child]:truncate [&>svg]:size-5 [&>svg]:shrink-0 hover:bg-bg-secondary hover:text-text-primary\",\n\t\t\"data-[active=true]:[&>svg]:text-text-brand-primary w-full\",\n\t),\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tdefault: \"\",\n\t\t\t\toutline:\n\t\t\t\t\t\"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))]\",\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: \"\",\n\t\t\t\tsm: \"\",\n\t\t\t\tlg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"default\",\n\t\t\tsize: \"default\",\n\t\t},\n\t},\n);\n\nfunction SidebarMenuButton({\n\tasChild = false,\n\tisActive = false,\n\tvariant = \"default\",\n\tsize = \"default\",\n\ttooltip,\n\tclassName,\n\t...props\n}: React.ComponentProps<\"button\"> & {\n\tasChild?: boolean;\n\tisActive?: boolean;\n\ttooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n\tconst Comp = asChild ? Slot : \"button\";\n\tconst { isMobile, state } = useSidebar();\n\n\tconst button = (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-button\"\n\t\t\tdata-sidebar=\"menu-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n\n\tif (!tooltip) {\n\t\treturn button;\n\t}\n\n\tif (typeof tooltip === \"string\") {\n\t\ttooltip = {\n\t\t\tchildren: tooltip,\n\t\t};\n\t}\n\n\treturn (\n\t\t<Tooltip>\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\n\t\t\t<TooltipContent\n\t\t\t\tside=\"right\"\n\t\t\t\talign=\"center\"\n\t\t\t\thidden={state !== \"collapsed\" || isMobile}\n\t\t\t\t{...tooltip}\n\t\t\t/>\n\t\t</Tooltip>\n\t);\n}\n\nfunction SidebarMenuAction({\n\tclassName,\n\tasChild = false,\n\tshowOnHover = false,\n\t...props\n}: React.ComponentProps<\"button\"> & {\n\tasChild?: boolean;\n\tshowOnHover?: boolean;\n}) {\n\tconst Comp = asChild ? Slot : \"button\";\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-action\"\n\t\t\tdata-sidebar=\"menu-action\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\"after:absolute after:-inset-2 md:after:hidden\",\n\t\t\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tshowOnHover &&\n\t\t\t\t\t\"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\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenuBadge({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-menu-badge\"\n\t\t\tdata-sidebar=\"menu-badge\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t\"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n\t\t\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenuSkeleton({\n\tclassName,\n\tshowIcon = false,\n\t...props\n}: React.ComponentProps<\"div\"> & {\n\tshowIcon?: boolean;\n}) {\n\t// Random width between 50 to 90%.\n\tconst width = React.useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`;\n\t}, []);\n\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-menu-skeleton\"\n\t\t\tdata-sidebar=\"menu-skeleton\"\n\t\t\tclassName={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{showIcon && (\n\t\t\t\t<Skeleton\n\t\t\t\t\tclassName=\"size-4 rounded-md\"\n\t\t\t\t\tdata-sidebar=\"menu-skeleton-icon\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<Skeleton\n\t\t\t\tclassName=\"h-4 max-w-(--skeleton-width) flex-1\"\n\t\t\t\tdata-sidebar=\"menu-skeleton-text\"\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t\"--skeleton-width\": width,\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n\treturn (\n\t\t<ul\n\t\t\tdata-slot=\"sidebar-menu-sub\"\n\t\t\tdata-sidebar=\"menu-sub\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenuSubItem({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"li\">) {\n\treturn (\n\t\t<li\n\t\t\tdata-slot=\"sidebar-menu-sub-item\"\n\t\t\tdata-sidebar=\"menu-sub-item\"\n\t\t\tclassName={cn(\"group/menu-sub-item relative\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenuSubButton({\n\tasChild = false,\n\tsize = \"md\",\n\tisActive = false,\n\tclassName,\n\t...props\n}: React.ComponentProps<\"a\"> & {\n\tasChild?: boolean;\n\tsize?: \"sm\" | \"md\";\n\tisActive?: boolean;\n}) {\n\tconst Comp = asChild ? Slot : \"a\";\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-sub-button\"\n\t\t\tdata-sidebar=\"menu-sub-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t\"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n\t\t\t\tsize === \"sm\" && \"text-xs\",\n\t\t\t\tsize === \"md\" && \"text-sm\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tSidebar,\n\tSidebarContent,\n\tSidebarFooter,\n\tSidebarGroup,\n\tSidebarGroupAction,\n\tSidebarGroupContent,\n\tSidebarGroupLabel,\n\tSidebarHeader,\n\tSidebarInput,\n\tSidebarInset,\n\tSidebarMenu,\n\tSidebarMenuAction,\n\tSidebarMenuBadge,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n\tSidebarMenuSkeleton,\n\tSidebarMenuSub,\n\tSidebarMenuSubButton,\n\tSidebarMenuSubItem,\n\tSidebarProvider,\n\tSidebarRail,\n\tSidebarSeparator,\n\tSidebarTrigger,\n\tuseSidebar,\n};\n"],"names":["Slot","cva","PanelLeftIcon","React","Button","Input","Separator","Sheet","SheetContent","SheetDescription","SheetHeader","SheetTitle","Skeleton","Tooltip","TooltipContent","TooltipProvider","TooltipTrigger","useIsMobile","cn","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","createContext","useSidebar","context","useContext","Error","SidebarProvider","defaultOpen","open","openProp","onOpenChange","setOpenProp","className","style","children","props","isMobile","openMobile","setOpenMobile","useState","_open","_setOpen","setOpen","useCallback","value","openState","document","cookie","toggleSidebar","useEffect","handleKeyDown","event","key","metaKey","ctrlKey","preventDefault","window","addEventListener","removeEventListener","state","contextValue","useMemo","Provider","delayDuration","div","data-slot","Sidebar","side","variant","collapsible","data-sidebar","data-mobile","data-state","data-collapsible","data-variant","data-side","SidebarTrigger","onClick","size","span","SidebarRail","button","aria-label","tabIndex","title","SidebarInset","main","SidebarInput","SidebarHeader","SidebarFooter","SidebarSeparator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Comp","SidebarGroupAction","SidebarGroupContent","SidebarMenu","ul","SidebarMenuItem","li","sidebarMenuButtonVariants","variants","default","outline","sm","lg","defaultVariants","SidebarMenuButton","isActive","tooltip","data-size","data-active","align","hidden","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Math","floor","random","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/sidebar.tsx"],"sourcesContent":["\"use client\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { PanelLeftIcon } from \"lucide-react\";\nimport * as React from \"react\";\nimport { Button } from \"#shadcn/components/ui/button\";\nimport { Input } from \"#shadcn/components/ui/input\";\nimport { Separator } from \"#shadcn/components/ui/separator\";\nimport {\n\tSheet,\n\tSheetContent,\n\tSheetDescription,\n\tSheetHeader,\n\tSheetTitle,\n} from \"#shadcn/components/ui/sheet\";\nimport { Skeleton } from \"#shadcn/components/ui/skeleton\";\nimport {\n\tTooltip,\n\tTooltipContent,\n\tTooltipProvider,\n\tTooltipTrigger,\n} from \"#shadcn/components/ui/tooltip\";\nimport { useIsMobile } from \"#shadcn/hooks/use-mobile\";\nimport { cn } from \"#shadcn/lib/utils\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = \"13.75rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3.125rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\ntype SidebarContextProps = {\n\tstate: \"expanded\" | \"collapsed\";\n\topen: boolean;\n\tsetOpen: (open: boolean) => void;\n\topenMobile: boolean;\n\tsetOpenMobile: (open: boolean) => void;\n\tisMobile: boolean;\n\ttoggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\nfunction useSidebar() {\n\tconst context = React.useContext(SidebarContext);\n\tif (!context) {\n\t\tthrow new Error(\"useSidebar must be used within a SidebarProvider.\");\n\t}\n\n\treturn context;\n}\n\nfunction SidebarProvider({\n\tdefaultOpen = true,\n\topen: openProp,\n\tonOpenChange: setOpenProp,\n\tclassName,\n\tstyle,\n\tchildren,\n\t...props\n}: React.ComponentProps<\"div\"> & {\n\tdefaultOpen?: boolean;\n\topen?: boolean;\n\tonOpenChange?: (open: boolean) => void;\n}) {\n\tconst isMobile = useIsMobile();\n\tconst [openMobile, setOpenMobile] = React.useState(false);\n\n\t// This is the internal state of the sidebar.\n\t// We use openProp and setOpenProp for control from outside the component.\n\tconst [_open, _setOpen] = React.useState(defaultOpen);\n\tconst open = openProp ?? _open;\n\tconst setOpen = React.useCallback(\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\n\t\t\tconst openState = typeof value === \"function\" ? value(open) : value;\n\t\t\tif (setOpenProp) {\n\t\t\t\tsetOpenProp(openState);\n\t\t\t} else {\n\t\t\t\t_setOpen(openState);\n\t\t\t}\n\n\t\t\t// This sets the cookie to keep the sidebar state.\n\t\t\t// biome-ignore lint/suspicious/noDocumentCookie: FIXME: unchanged shadcn\n\t\t\tdocument.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n\t\t},\n\t\t[setOpenProp, open],\n\t);\n\n\t// Helper to toggle the sidebar.\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: FIXME: unchanged shadcn\n\tconst toggleSidebar = React.useCallback(() => {\n\t\treturn isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n\t}, [isMobile, setOpen, setOpenMobile]);\n\n\t// Adds a keyboard shortcut to toggle the sidebar.\n\tReact.useEffect(() => {\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (\n\t\t\t\tevent.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n\t\t\t\t(event.metaKey || event.ctrlKey)\n\t\t\t) {\n\t\t\t\tevent.preventDefault();\n\t\t\t\ttoggleSidebar();\n\t\t\t}\n\t\t};\n\n\t\twindow.addEventListener(\"keydown\", handleKeyDown);\n\t\treturn () => window.removeEventListener(\"keydown\", handleKeyDown);\n\t}, [toggleSidebar]);\n\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n\t// This makes it easier to style the sidebar with Tailwind classes.\n\tconst state = open ? \"expanded\" : \"collapsed\";\n\n\t// biome-ignore lint/correctness/useExhaustiveDependencies: FIXME: unchanged shadcn\n\tconst contextValue = React.useMemo<SidebarContextProps>(\n\t\t() => ({\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar,\n\t\t}),\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n\t);\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<TooltipProvider delayDuration={0}>\n\t\t\t\t<div\n\t\t\t\t\tdata-slot=\"sidebar-wrapper\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\n\t\t\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t\t...style,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full box-content\",\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t)}\n\t\t\t\t\t{...props}\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</TooltipProvider>\n\t\t</SidebarContext.Provider>\n\t);\n}\n\nfunction Sidebar({\n\tside = \"left\",\n\tvariant = \"sidebar\",\n\tcollapsible = \"offcanvas\",\n\tclassName,\n\tchildren,\n\t...props\n}: React.ComponentProps<\"div\"> & {\n\tside?: \"left\" | \"right\";\n\tvariant?: \"sidebar\" | \"floating\" | \"inset\";\n\tcollapsible?: \"offcanvas\" | \"icon\" | \"none\";\n}) {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n\tif (collapsible === \"none\") {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t);\n\t}\n\n\tif (isMobile) {\n\t\treturn (\n\t\t\t<Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n\t\t\t\t<SheetContent\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tdata-slot=\"sidebar\"\n\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\tclassName=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n\t\t\t\t\tstyle={\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n\t\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t\t}\n\t\t\t\t\tside={side}\n\t\t\t\t>\n\t\t\t\t\t<SheetHeader className=\"sr-only\">\n\t\t\t\t\t\t<SheetTitle>Sidebar</SheetTitle>\n\t\t\t\t\t\t<SheetDescription>Displays the mobile sidebar.</SheetDescription>\n\t\t\t\t\t</SheetHeader>\n\t\t\t\t\t<div className=\"flex h-full w-full flex-col\">{children}</div>\n\t\t\t\t</SheetContent>\n\t\t\t</Sheet>\n\t\t);\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"group peer text-sidebar-foreground hidden md:block\"\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t\tdata-slot=\"sidebar\"\n\t\t>\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar-gap\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"relative w-(--sidebar-width) bg-transparent transition-[width] duration-120 ease-linear\",\n\t\t\t\t\t\"group-data-[collapsible=offcanvas]:w-0\",\n\t\t\t\t\t\"group-data-[side=right]:rotate-180\",\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\",\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tdata-slot=\"sidebar-container\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-120 ease-linear md:flex box-content\",\n\t\t\t\t\tside === \"left\"\n\t\t\t\t\t\t? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n\t\t\t\t\t\t: \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n\t\t\t\t\tclassName,\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tdata-slot=\"sidebar-inner\"\n\t\t\t\t\tclassName=\"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\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t);\n}\n\nfunction SidebarTrigger({\n\tclassName,\n\tonClick,\n\t...props\n}: React.ComponentProps<typeof Button>) {\n\tconst { toggleSidebar } = useSidebar();\n\n\treturn (\n\t\t<Button\n\t\t\tdata-sidebar=\"trigger\"\n\t\t\tdata-slot=\"sidebar-trigger\"\n\t\t\tvariant=\"ghost\"\n\t\t\tsize=\"small\"\n\t\t\tclassName={cn(\"size-7\", className)}\n\t\t\tonClick={(event) => {\n\t\t\t\tonClick?.(event);\n\t\t\t\ttoggleSidebar();\n\t\t\t}}\n\t\t\t{...props}\n\t\t>\n\t\t\t<PanelLeftIcon />\n\t\t\t<span className=\"sr-only\">Toggle Sidebar</span>\n\t\t</Button>\n\t);\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n\tconst { toggleSidebar } = useSidebar();\n\n\treturn (\n\t\t<button\n\t\t\tdata-sidebar=\"rail\"\n\t\t\tdata-slot=\"sidebar-rail\"\n\t\t\taria-label=\"Toggle Sidebar\"\n\t\t\ttabIndex={-1}\n\t\t\tonClick={toggleSidebar}\n\t\t\ttitle=\"Toggle Sidebar\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t\"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n\t\t\t\t\"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n\t\t\t\t\"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\",\n\t\t\t\t\"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n\t\t\t\t\"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n\treturn (\n\t\t<main\n\t\t\tdata-slot=\"sidebar-inset\"\n\t\t\tclassName={cn(\n\t\t\t\t\"bg-background relative flex w-full flex-1 flex-col\",\n\t\t\t\t\"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl\",\n\t\t\t\t\"md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n\t\t\t\t\"peer-has-data-[sidebar-mode=hover]:fixed peer-has-data-[sidebar-mode=hover]:h-full peer-has-data-[sidebar-mode=hover]:grow\",\n\t\t\t\t\"peer-has-data-[sidebar-mode=hover]:left-(--sidebar-width-icon)\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarInput({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof Input>) {\n\treturn (\n\t\t<Input\n\t\t\tdata-slot=\"sidebar-input\"\n\t\t\tdata-sidebar=\"input\"\n\t\t\tclassName={cn(\"bg-background h-8 w-full shadow-none\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-header\"\n\t\t\tdata-sidebar=\"header\"\n\t\t\tclassName={cn(\"flex flex-col gap-2 p-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-footer\"\n\t\t\tdata-sidebar=\"footer\"\n\t\t\tclassName={cn(\"flex flex-col gap-2 p-2 pb-3\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarSeparator({\n\tclassName,\n\t...props\n}: React.ComponentProps<typeof Separator>) {\n\treturn (\n\t\t<Separator\n\t\t\tdata-slot=\"sidebar-separator\"\n\t\t\tdata-sidebar=\"separator\"\n\t\t\tclassName={cn(\"border-border-secondary w-auto\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-content\"\n\t\t\tdata-sidebar=\"content\"\n\t\t\tclassName={cn(\n\t\t\t\t\"flex min-h-0 flex-1 flex-col gap-1 p-2 pt-3 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-group\"\n\t\t\tdata-sidebar=\"group\"\n\t\t\tclassName={cn(\"relative flex w-full min-w-0 flex-col\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarGroupLabel({\n\tclassName,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<\"div\"> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : \"div\";\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-group-label\"\n\t\t\tdata-sidebar=\"group-label\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t\"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarGroupAction({\n\tclassName,\n\tasChild = false,\n\t...props\n}: React.ComponentProps<\"button\"> & { asChild?: boolean }) {\n\tconst Comp = asChild ? Slot : \"button\";\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-group-action\"\n\t\t\tdata-sidebar=\"group-action\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\"after:absolute after:-inset-2 md:after:hidden\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarGroupContent({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-group-content\"\n\t\t\tdata-sidebar=\"group-content\"\n\t\t\tclassName={cn(\"w-full text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n\treturn (\n\t\t<ul\n\t\t\tdata-slot=\"sidebar-menu\"\n\t\t\tdata-sidebar=\"menu\"\n\t\t\tclassName={cn(\"flex w-full min-w-0 flex-col gap-0.5\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n\treturn (\n\t\t<li\n\t\t\tdata-slot=\"sidebar-menu-item\"\n\t\t\tdata-sidebar=\"menu-item\"\n\t\t\tclassName={cn(\"group/menu-item relative\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\n// Base sidebar menu button styles\nconst baseSidebarMenuButtonStyles = cn(\n\t// Layout\n\t\"flex\",\n\t\"items-center\",\n\t\"gap-2\",\n\t\"w-full\",\n\t\"overflow-hidden\",\n\t// Shape\n\t\"rounded-lg\",\n\t// Spacing\n\t\"py-2\",\n\t\"px-[0.44rem]\",\n\t// Typography\n\t\"typo-body\",\n\t\"text-fg-secondary\",\n\t// Interaction\n\t\"outline-hidden\",\n\t\"transition-all\",\n\t\"cursor-pointer\",\n\t// Focus\n\t\"focus-visible:ring-2\",\n\t\"focus-visible:ring-utility-blue/70\",\n\t// Hover\n\t\"hover:bg-bg-secondary\",\n\t\"hover:text-text-primary\",\n\t// Active\n\t\"active:bg-bg-quaternary\",\n\t\"data-[active=true]:bg-bg-brand-primary\",\n\t\"data-[active=true]:text-text-primary\",\n\t\"data-[active=true]:[&>svg]:text-fg-brand-primary\",\n\t// Open state\n\t\"data-[state=open]:hover:bg-bg-secondary\",\n\t\"data-[state=open]:hover:text-text-primary\",\n\t// Disabled\n\t\"disabled:pointer-events-none\",\n\t\"disabled:opacity-50\",\n\t\"aria-disabled:pointer-events-none\",\n\t\"aria-disabled:opacity-50\",\n\t// Group styles\n\t\"group-has-data-[sidebar=menu-action]/menu-item:pr-8\",\n\t\"group-data-[collapsible=icon]:py-2!\",\n\t\"group-data-[collapsible=icon]:px-[0.44rem]!\",\n\t// Content styles\n\t\"[&>span:last-child]:truncate\",\n\t\"[&>svg]:size-5\",\n\t\"[&>svg]:shrink-0\",\n);\n\nconst sidebarMenuButtonVariants = cva(baseSidebarMenuButtonStyles, {\n\tvariants: {\n\t\tvariant: {\n\t\t\tdefault: cn(\"\"),\n\t\t\toutline: cn(\n\t\t\t\t\"shadow-[0_0_0_1px_hsl(var(--sidebar-border))]\",\n\t\t\t\t\"hover:bg-bg-secondary\",\n\t\t\t\t\"hover:text-text-primary\",\n\t\t\t\t\"hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]\",\n\t\t\t),\n\t\t},\n\t\tsize: {\n\t\t\tdefault: cn(\"\"),\n\t\t\tsm: cn(\"\"),\n\t\t\tlg: cn(\"h-12\", \"text-sm\", \"group-data-[collapsible=icon]:p-0!\"),\n\t\t},\n\t},\n\tdefaultVariants: {\n\t\tvariant: \"default\",\n\t\tsize: \"default\",\n\t},\n});\n\nfunction SidebarMenuButton({\n\tasChild = false,\n\tisActive = false,\n\tvariant = \"default\",\n\tsize = \"default\",\n\ttooltip,\n\tclassName,\n\t...props\n}: React.ComponentProps<\"button\"> & {\n\tasChild?: boolean;\n\tisActive?: boolean;\n\ttooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n\tconst Comp = asChild ? Slot : \"button\";\n\tconst { isMobile, state } = useSidebar();\n\n\tconst button = (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-button\"\n\t\t\tdata-sidebar=\"menu-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n\n\tif (!tooltip) {\n\t\treturn button;\n\t}\n\n\tif (typeof tooltip === \"string\") {\n\t\ttooltip = {\n\t\t\tchildren: tooltip,\n\t\t};\n\t}\n\n\treturn (\n\t\t<Tooltip>\n\t\t\t<TooltipTrigger asChild>{button}</TooltipTrigger>\n\t\t\t<TooltipContent\n\t\t\t\tside=\"right\"\n\t\t\t\talign=\"center\"\n\t\t\t\thidden={state !== \"collapsed\" || isMobile}\n\t\t\t\t{...tooltip}\n\t\t\t/>\n\t\t</Tooltip>\n\t);\n}\n\nfunction SidebarMenuAction({\n\tclassName,\n\tasChild = false,\n\tshowOnHover = false,\n\t...props\n}: React.ComponentProps<\"button\"> & {\n\tasChild?: boolean;\n\tshowOnHover?: boolean;\n}) {\n\tconst Comp = asChild ? Slot : \"button\";\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-action\"\n\t\t\tdata-sidebar=\"menu-action\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\"after:absolute after:-inset-2 md:after:hidden\",\n\t\t\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tshowOnHover &&\n\t\t\t\t\t\"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\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenuBadge({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-menu-badge\"\n\t\t\tdata-sidebar=\"menu-badge\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t\"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n\t\t\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenuSkeleton({\n\tclassName,\n\tshowIcon = false,\n\t...props\n}: React.ComponentProps<\"div\"> & {\n\tshowIcon?: boolean;\n}) {\n\t// Random width between 50 to 90%.\n\tconst width = React.useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`;\n\t}, []);\n\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"sidebar-menu-skeleton\"\n\t\t\tdata-sidebar=\"menu-skeleton\"\n\t\t\tclassName={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{showIcon && (\n\t\t\t\t<Skeleton\n\t\t\t\t\tclassName=\"size-4 rounded-md\"\n\t\t\t\t\tdata-sidebar=\"menu-skeleton-icon\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<Skeleton\n\t\t\t\tclassName=\"h-4 max-w-(--skeleton-width) flex-1\"\n\t\t\t\tdata-sidebar=\"menu-skeleton-text\"\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t\"--skeleton-width\": width,\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n\treturn (\n\t\t<ul\n\t\t\tdata-slot=\"sidebar-menu-sub\"\n\t\t\tdata-sidebar=\"menu-sub\"\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenuSubItem({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"li\">) {\n\treturn (\n\t\t<li\n\t\t\tdata-slot=\"sidebar-menu-sub-item\"\n\t\t\tdata-sidebar=\"menu-sub-item\"\n\t\t\tclassName={cn(\"group/menu-sub-item relative\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nfunction SidebarMenuSubButton({\n\tasChild = false,\n\tsize = \"md\",\n\tisActive = false,\n\tclassName,\n\t...props\n}: React.ComponentProps<\"a\"> & {\n\tasChild?: boolean;\n\tsize?: \"sm\" | \"md\";\n\tisActive?: boolean;\n}) {\n\tconst Comp = asChild ? Slot : \"a\";\n\n\treturn (\n\t\t<Comp\n\t\t\tdata-slot=\"sidebar-menu-sub-button\"\n\t\t\tdata-sidebar=\"menu-sub-button\"\n\t\t\tdata-size={size}\n\t\t\tdata-active={isActive}\n\t\t\tclassName={cn(\n\t\t\t\t\"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\",\n\t\t\t\t\"data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground\",\n\t\t\t\tsize === \"sm\" && \"text-xs\",\n\t\t\t\tsize === \"md\" && \"text-sm\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport {\n\tSidebar,\n\tSidebarContent,\n\tSidebarFooter,\n\tSidebarGroup,\n\tSidebarGroupAction,\n\tSidebarGroupContent,\n\tSidebarGroupLabel,\n\tSidebarHeader,\n\tSidebarInput,\n\tSidebarInset,\n\tSidebarMenu,\n\tSidebarMenuAction,\n\tSidebarMenuBadge,\n\tSidebarMenuButton,\n\tSidebarMenuItem,\n\tSidebarMenuSkeleton,\n\tSidebarMenuSub,\n\tSidebarMenuSubButton,\n\tSidebarMenuSubItem,\n\tSidebarProvider,\n\tSidebarRail,\n\tSidebarSeparator,\n\tSidebarTrigger,\n\tuseSidebar,\n};\n"],"names":["Slot","cva","PanelLeftIcon","React","Button","Input","Separator","Sheet","SheetContent","SheetDescription","SheetHeader","SheetTitle","Skeleton","Tooltip","TooltipContent","TooltipProvider","TooltipTrigger","useIsMobile","cn","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","createContext","useSidebar","context","useContext","Error","SidebarProvider","defaultOpen","open","openProp","onOpenChange","setOpenProp","className","style","children","props","isMobile","openMobile","setOpenMobile","useState","_open","_setOpen","setOpen","useCallback","value","openState","document","cookie","toggleSidebar","useEffect","handleKeyDown","event","key","metaKey","ctrlKey","preventDefault","window","addEventListener","removeEventListener","state","contextValue","useMemo","Provider","delayDuration","div","data-slot","Sidebar","side","variant","collapsible","data-sidebar","data-mobile","data-state","data-collapsible","data-variant","data-side","SidebarTrigger","onClick","size","span","SidebarRail","button","aria-label","tabIndex","title","SidebarInset","main","SidebarInput","SidebarHeader","SidebarFooter","SidebarSeparator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Comp","SidebarGroupAction","SidebarGroupContent","SidebarMenu","ul","SidebarMenuItem","li","baseSidebarMenuButtonStyles","sidebarMenuButtonVariants","variants","default","outline","sm","lg","defaultVariants","SidebarMenuButton","isActive","tooltip","data-size","data-active","align","hidden","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Math","floor","random","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/skeleton.tsx"],"names":[],"mappings":"AAEA,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQrE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"skeleton.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/skeleton.tsx"],"names":[],"mappings":"AAKA,iBAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,2CAQrE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC"}
@@ -1,9 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { cn } from "../../lib/utils.js";
3
+ // Skeleton styles
4
+ const skeletonStyles = cn("bg-bg-tertiary", "animate-pulse", "rounded-md");
3
5
  function Skeleton({ className, ...props }) {
4
6
  return /*#__PURE__*/ _jsx("div", {
5
7
  "data-slot": "skeleton",
6
- className: cn("bg-accent animate-pulse rounded-md", className),
8
+ className: cn(skeletonStyles, className),
7
9
  ...props
8
10
  });
9
11
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shadcn/components/ui/skeleton.tsx"],"sourcesContent":["import { cn } from \"#shadcn/lib/utils\";\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"skeleton\"\n\t\t\tclassName={cn(\"bg-accent animate-pulse rounded-md\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Skeleton };\n"],"names":["cn","Skeleton","className","props","div","data-slot"],"mappings":";AAAA,SAASA,EAAE,QAAQ,qBAAoB;AAEvC,SAASC,SAAS,EAAEC,SAAS,EAAE,GAAGC,OAAoC;IACrE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWF,GAAG,sCAAsCE;QACnD,GAAGC,KAAK;;AAGZ;AAEA,SAASF,QAAQ,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/skeleton.tsx"],"sourcesContent":["import { cn } from \"#shadcn/lib/utils\";\n\n// Skeleton styles\nconst skeletonStyles = cn(\"bg-bg-tertiary\", \"animate-pulse\", \"rounded-md\");\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-slot=\"skeleton\"\n\t\t\tclassName={cn(skeletonStyles, className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport { Skeleton };\n"],"names":["cn","skeletonStyles","Skeleton","className","props","div","data-slot"],"mappings":";AAAA,SAASA,EAAE,QAAQ,qBAAoB;AAEvC,kBAAkB;AAClB,MAAMC,iBAAiBD,GAAG,kBAAkB,iBAAiB;AAE7D,SAASE,SAAS,EAAEC,SAAS,EAAE,GAAGC,OAAoC;IACrE,qBACC,KAACC;QACAC,aAAU;QACVH,WAAWH,GAAGC,gBAAgBE;QAC7B,GAAGC,KAAK;;AAGZ;AAEA,SAASF,QAAQ,GAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/slider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,iBAAS,MAAM,CAAC,EACf,SAAS,EACT,YAAY,EACZ,KAAK,EACL,GAAO,EACP,GAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CA+CnD;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"slider.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/slider.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,eAAe,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkF/B,iBAAS,MAAM,CAAC,EACf,SAAS,EACT,YAAY,EACZ,KAAK,EACL,GAAO,EACP,GAAS,EACT,GAAG,KAAK,EACR,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,eAAe,CAAC,IAAI,CAAC,2CAwCnD;AAED,OAAO,EAAE,MAAM,EAAE,CAAC"}
@@ -1,7 +1,38 @@
1
+ "use client";
1
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import * as SliderPrimitive from "@radix-ui/react-slider";
3
4
  import * as React from "react";
4
5
  import { cn } from "../../lib/utils.js";
6
+ // Slider root styles
7
+ const sliderRootStyles = cn(// Layout
8
+ "relative", "flex", "w-full", "items-center", // Interaction
9
+ "touch-none", "select-none", // Disabled
10
+ "data-[disabled]:opacity-50", // Vertical orientation
11
+ "data-[orientation=vertical]:h-full", "data-[orientation=vertical]:min-h-44", "data-[orientation=vertical]:w-auto", "data-[orientation=vertical]:flex-col");
12
+ // Slider track styles
13
+ const sliderTrackStyles = cn(// Background
14
+ "bg-bg-quaternary", // Layout
15
+ "relative", "grow", "overflow-hidden", // Shape
16
+ "rounded-full", // Horizontal orientation
17
+ "data-[orientation=horizontal]:h-1.5", "data-[orientation=horizontal]:w-full", // Vertical orientation
18
+ "data-[orientation=vertical]:h-full", "data-[orientation=vertical]:w-1.5");
19
+ // Slider range styles
20
+ const sliderRangeStyles = cn(// Background
21
+ "bg-bg-link", // Layout
22
+ "absolute", // Horizontal orientation
23
+ "data-[orientation=horizontal]:h-full", // Vertical orientation
24
+ "data-[orientation=vertical]:w-full");
25
+ // Slider thumb styles
26
+ const sliderThumbStyles = cn(// Layout
27
+ "block", "size-4", "shrink-0", // Shape
28
+ "rounded-full", // Borders
29
+ "border", "border-border-link", // Background
30
+ "bg-bg-primary", // Shadow
31
+ "shadow-sm", // Transitions
32
+ "transition-[color,box-shadow]", // Hover
33
+ "hover:ring-4", "hover:ring-utility-blue/70", // Focus
34
+ "focus-visible:ring-4", "focus-visible:ring-utility-blue/70", "focus-visible:outline-hidden", // Disabled
35
+ "disabled:pointer-events-none", "disabled:opacity-50");
5
36
  function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }) {
6
37
  const _values = React.useMemo(()=>Array.isArray(value) ? value : Array.isArray(defaultValue) ? defaultValue : [
7
38
  min,
@@ -22,22 +53,22 @@ function Slider({ className, defaultValue, value, min = 0, max = 100, ...props }
22
53
  } : {},
23
54
  min: min,
24
55
  max: max,
25
- className: cn("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col", className),
56
+ className: cn(sliderRootStyles, className),
26
57
  ...props,
27
58
  children: [
28
59
  /*#__PURE__*/ _jsx(SliderPrimitive.Track, {
29
60
  "data-slot": "slider-track",
30
- className: cn("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),
61
+ className: sliderTrackStyles,
31
62
  children: /*#__PURE__*/ _jsx(SliderPrimitive.Range, {
32
63
  "data-slot": "slider-range",
33
- className: cn("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")
64
+ className: sliderRangeStyles
34
65
  })
35
66
  }),
36
67
  Array.from({
37
68
  length: _values.length
38
69
  }, (_, index)=>/*#__PURE__*/ _jsx(SliderPrimitive.Thumb, {
39
70
  "data-slot": "slider-thumb",
40
- className: "border-primary bg-background ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"
71
+ className: sliderThumbStyles
41
72
  }, index))
42
73
  ]
43
74
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shadcn/components/ui/slider.tsx"],"sourcesContent":["import * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\nfunction Slider({\n\tclassName,\n\tdefaultValue,\n\tvalue,\n\tmin = 0,\n\tmax = 100,\n\t...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n\tconst _values = React.useMemo(\n\t\t() =>\n\t\t\tArray.isArray(value)\n\t\t\t\t? value\n\t\t\t\t: Array.isArray(defaultValue)\n\t\t\t\t\t? defaultValue\n\t\t\t\t\t: [min, max],\n\t\t[value, defaultValue, min, max],\n\t);\n\n\treturn (\n\t\t<SliderPrimitive.Root\n\t\t\tdata-slot=\"slider\"\n\t\t\t{...(defaultValue !== undefined ? { defaultValue } : {})}\n\t\t\t{...(value !== undefined ? { value } : {})}\n\t\t\tmin={min}\n\t\t\tmax={max}\n\t\t\tclassName={cn(\n\t\t\t\t\"relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<SliderPrimitive.Track\n\t\t\t\tdata-slot=\"slider-track\"\n\t\t\t\tclassName={cn(\n\t\t\t\t\t\"bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5\",\n\t\t\t\t)}\n\t\t\t>\n\t\t\t\t<SliderPrimitive.Range\n\t\t\t\t\tdata-slot=\"slider-range\"\n\t\t\t\t\tclassName={cn(\n\t\t\t\t\t\t\"bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full\",\n\t\t\t\t\t)}\n\t\t\t\t/>\n\t\t\t</SliderPrimitive.Track>\n\t\t\t{Array.from({ length: _values.length }, (_, index) => (\n\t\t\t\t<SliderPrimitive.Thumb\n\t\t\t\t\tdata-slot=\"slider-thumb\"\n\t\t\t\t\t// biome-ignore lint/suspicious/noArrayIndexKey: FIXME: unchanged shadcn\n\t\t\t\t\tkey={index}\n\t\t\t\t\tclassName=\"border-primary bg-background ring-ring/50 block size-4 shrink-0 rounded-full border shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50\"\n\t\t\t\t/>\n\t\t\t))}\n\t\t</SliderPrimitive.Root>\n\t);\n}\n\nexport { Slider };\n"],"names":["SliderPrimitive","React","cn","Slider","className","defaultValue","value","min","max","props","_values","useMemo","Array","isArray","Root","data-slot","undefined","Track","Range","from","length","_","index","Thumb"],"mappings":";AAAA,YAAYA,qBAAqB,yBAAyB;AAC1D,YAAYC,WAAW,QAAQ;AAE/B,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,SAASC,OAAO,EACfC,SAAS,EACTC,YAAY,EACZC,KAAK,EACLC,MAAM,CAAC,EACPC,MAAM,GAAG,EACT,GAAGC,OACgD;IACnD,MAAMC,UAAUT,MAAMU,OAAO,CAC5B,IACCC,MAAMC,OAAO,CAACP,SACXA,QACAM,MAAMC,OAAO,CAACR,gBACbA,eACA;YAACE;YAAKC;SAAI,EACf;QAACF;QAAOD;QAAcE;QAAKC;KAAI;IAGhC,qBACC,MAACR,gBAAgBc,IAAI;QACpBC,aAAU;QACT,GAAIV,iBAAiBW,YAAY;YAAEX;QAAa,IAAI,CAAC,CAAC;QACtD,GAAIC,UAAUU,YAAY;YAAEV;QAAM,IAAI,CAAC,CAAC;QACzCC,KAAKA;QACLC,KAAKA;QACLJ,WAAWF,GACV,uOACAE;QAEA,GAAGK,KAAK;;0BAET,KAACT,gBAAgBiB,KAAK;gBACrBF,aAAU;gBACVX,WAAWF,GACV;0BAGD,cAAA,KAACF,gBAAgBkB,KAAK;oBACrBH,aAAU;oBACVX,WAAWF,GACV;;;YAIFU,MAAMO,IAAI,CAAC;gBAAEC,QAAQV,QAAQU,MAAM;YAAC,GAAG,CAACC,GAAGC,sBAC3C,KAACtB,gBAAgBuB,KAAK;oBACrBR,aAAU;oBAGVX,WAAU;mBADLkB;;;AAMV;AAEA,SAASnB,MAAM,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/slider.tsx"],"sourcesContent":["\"use client\";\nimport * as SliderPrimitive from \"@radix-ui/react-slider\";\nimport * as React from \"react\";\n\nimport { cn } from \"#shadcn/lib/utils\";\n\n// Slider root styles\nconst sliderRootStyles = cn(\n\t// Layout\n\t\"relative\",\n\t\"flex\",\n\t\"w-full\",\n\t\"items-center\",\n\t// Interaction\n\t\"touch-none\",\n\t\"select-none\",\n\t// Disabled\n\t\"data-[disabled]:opacity-50\",\n\t// Vertical orientation\n\t\"data-[orientation=vertical]:h-full\",\n\t\"data-[orientation=vertical]:min-h-44\",\n\t\"data-[orientation=vertical]:w-auto\",\n\t\"data-[orientation=vertical]:flex-col\",\n);\n\n// Slider track styles\nconst sliderTrackStyles = cn(\n\t// Background\n\t\"bg-bg-quaternary\",\n\t// Layout\n\t\"relative\",\n\t\"grow\",\n\t\"overflow-hidden\",\n\t// Shape\n\t\"rounded-full\",\n\t// Horizontal orientation\n\t\"data-[orientation=horizontal]:h-1.5\",\n\t\"data-[orientation=horizontal]:w-full\",\n\t// Vertical orientation\n\t\"data-[orientation=vertical]:h-full\",\n\t\"data-[orientation=vertical]:w-1.5\",\n);\n\n// Slider range styles\nconst sliderRangeStyles = cn(\n\t// Background\n\t\"bg-bg-link\",\n\t// Layout\n\t\"absolute\",\n\t// Horizontal orientation\n\t\"data-[orientation=horizontal]:h-full\",\n\t// Vertical orientation\n\t\"data-[orientation=vertical]:w-full\",\n);\n\n// Slider thumb styles\nconst sliderThumbStyles = cn(\n\t// Layout\n\t\"block\",\n\t\"size-4\",\n\t\"shrink-0\",\n\t// Shape\n\t\"rounded-full\",\n\t// Borders\n\t\"border\",\n\t\"border-border-link\",\n\t// Background\n\t\"bg-bg-primary\",\n\t// Shadow\n\t\"shadow-sm\",\n\t// Transitions\n\t\"transition-[color,box-shadow]\",\n\t// Hover\n\t\"hover:ring-4\",\n\t\"hover:ring-utility-blue/70\",\n\t// Focus\n\t\"focus-visible:ring-4\",\n\t\"focus-visible:ring-utility-blue/70\",\n\t\"focus-visible:outline-hidden\",\n\t// Disabled\n\t\"disabled:pointer-events-none\",\n\t\"disabled:opacity-50\",\n);\n\nfunction Slider({\n\tclassName,\n\tdefaultValue,\n\tvalue,\n\tmin = 0,\n\tmax = 100,\n\t...props\n}: React.ComponentProps<typeof SliderPrimitive.Root>) {\n\tconst _values = React.useMemo(\n\t\t() =>\n\t\t\tArray.isArray(value)\n\t\t\t\t? value\n\t\t\t\t: Array.isArray(defaultValue)\n\t\t\t\t\t? defaultValue\n\t\t\t\t\t: [min, max],\n\t\t[value, defaultValue, min, max],\n\t);\n\n\treturn (\n\t\t<SliderPrimitive.Root\n\t\t\tdata-slot=\"slider\"\n\t\t\t{...(defaultValue !== undefined ? { defaultValue } : {})}\n\t\t\t{...(value !== undefined ? { value } : {})}\n\t\t\tmin={min}\n\t\t\tmax={max}\n\t\t\tclassName={cn(sliderRootStyles, className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t<SliderPrimitive.Track\n\t\t\t\tdata-slot=\"slider-track\"\n\t\t\t\tclassName={sliderTrackStyles}\n\t\t\t>\n\t\t\t\t<SliderPrimitive.Range\n\t\t\t\t\tdata-slot=\"slider-range\"\n\t\t\t\t\tclassName={sliderRangeStyles}\n\t\t\t\t/>\n\t\t\t</SliderPrimitive.Track>\n\t\t\t{Array.from({ length: _values.length }, (_, index) => (\n\t\t\t\t<SliderPrimitive.Thumb\n\t\t\t\t\tdata-slot=\"slider-thumb\"\n\t\t\t\t\t// biome-ignore lint/suspicious/noArrayIndexKey: FIXME: unchanged shadcn\n\t\t\t\t\tkey={index}\n\t\t\t\t\tclassName={sliderThumbStyles}\n\t\t\t\t/>\n\t\t\t))}\n\t\t</SliderPrimitive.Root>\n\t);\n}\n\nexport { Slider };\n"],"names":["SliderPrimitive","React","cn","sliderRootStyles","sliderTrackStyles","sliderRangeStyles","sliderThumbStyles","Slider","className","defaultValue","value","min","max","props","_values","useMemo","Array","isArray","Root","data-slot","undefined","Track","Range","from","length","_","index","Thumb"],"mappings":"AAAA;;AACA,YAAYA,qBAAqB,yBAAyB;AAC1D,YAAYC,WAAW,QAAQ;AAE/B,SAASC,EAAE,QAAQ,qBAAoB;AAEvC,qBAAqB;AACrB,MAAMC,mBAAmBD,GACxB,SAAS;AACT,YACA,QACA,UACA,gBACA,cAAc;AACd,cACA,eACA,WAAW;AACX,8BACA,uBAAuB;AACvB,sCACA,wCACA,sCACA;AAGD,sBAAsB;AACtB,MAAME,oBAAoBF,GACzB,aAAa;AACb,oBACA,SAAS;AACT,YACA,QACA,mBACA,QAAQ;AACR,gBACA,yBAAyB;AACzB,uCACA,wCACA,uBAAuB;AACvB,sCACA;AAGD,sBAAsB;AACtB,MAAMG,oBAAoBH,GACzB,aAAa;AACb,cACA,SAAS;AACT,YACA,yBAAyB;AACzB,wCACA,uBAAuB;AACvB;AAGD,sBAAsB;AACtB,MAAMI,oBAAoBJ,GACzB,SAAS;AACT,SACA,UACA,YACA,QAAQ;AACR,gBACA,UAAU;AACV,UACA,sBACA,aAAa;AACb,iBACA,SAAS;AACT,aACA,cAAc;AACd,iCACA,QAAQ;AACR,gBACA,8BACA,QAAQ;AACR,wBACA,sCACA,gCACA,WAAW;AACX,gCACA;AAGD,SAASK,OAAO,EACfC,SAAS,EACTC,YAAY,EACZC,KAAK,EACLC,MAAM,CAAC,EACPC,MAAM,GAAG,EACT,GAAGC,OACgD;IACnD,MAAMC,UAAUb,MAAMc,OAAO,CAC5B,IACCC,MAAMC,OAAO,CAACP,SACXA,QACAM,MAAMC,OAAO,CAACR,gBACbA,eACA;YAACE;YAAKC;SAAI,EACf;QAACF;QAAOD;QAAcE;QAAKC;KAAI;IAGhC,qBACC,MAACZ,gBAAgBkB,IAAI;QACpBC,aAAU;QACT,GAAIV,iBAAiBW,YAAY;YAAEX;QAAa,IAAI,CAAC,CAAC;QACtD,GAAIC,UAAUU,YAAY;YAAEV;QAAM,IAAI,CAAC,CAAC;QACzCC,KAAKA;QACLC,KAAKA;QACLJ,WAAWN,GAAGC,kBAAkBK;QAC/B,GAAGK,KAAK;;0BAET,KAACb,gBAAgBqB,KAAK;gBACrBF,aAAU;gBACVX,WAAWJ;0BAEX,cAAA,KAACJ,gBAAgBsB,KAAK;oBACrBH,aAAU;oBACVX,WAAWH;;;YAGZW,MAAMO,IAAI,CAAC;gBAAEC,QAAQV,QAAQU,MAAM;YAAC,GAAG,CAACC,GAAGC,sBAC3C,KAAC1B,gBAAgB2B,KAAK;oBACrBR,aAAU;oBAGVX,WAAWF;mBADNoB;;;AAMV;AAEA,SAASnB,MAAM,GAAG"}
@@ -1,4 +1,26 @@
1
+ import type * as React from "react";
1
2
  import { type ToasterProps } from "sonner";
2
- declare const Toaster: ({ ...props }: ToasterProps) => import("react/jsx-runtime").JSX.Element;
3
- export { Toaster };
3
+ declare function Toaster({ ...props }: ToasterProps): import("react/jsx-runtime").JSX.Element;
4
+ interface ToastOptions {
5
+ description?: string;
6
+ actionSlot?: React.ReactNode;
7
+ secondaryActionSlot?: React.ReactNode;
8
+ closeButton?: boolean;
9
+ duration?: number;
10
+ }
11
+ declare const toast: {
12
+ /**
13
+ * Default info toast
14
+ */
15
+ info: (title: string, options?: ToastOptions) => string | number;
16
+ /**
17
+ * Error/alert toast
18
+ */
19
+ error: (title: string, options?: ToastOptions) => string | number;
20
+ /**
21
+ * Dismiss a toast by id
22
+ */
23
+ dismiss: (id?: number | string) => string | number;
24
+ };
25
+ export { Toaster, toast };
4
26
  //# sourceMappingURL=sonner.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sonner.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/sonner.tsx"],"names":[],"mappings":"AACA,OAAO,EAAqB,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAC;AAE9D,QAAA,MAAM,OAAO,GAAI,cAAc,YAAY,4CAiB1C,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,CAAC"}
1
+ {"version":3,"file":"sonner.d.ts","sourceRoot":"","sources":["../../../../../src/shadcn/components/ui/sonner.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,EAGN,KAAK,YAAY,EACjB,MAAM,QAAQ,CAAC;AAmLhB,iBAAS,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAkB1C;AAMD,UAAU,YAAY;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AA4BD,QAAA,MAAM,KAAK;IACV;;OAEG;kBACW,MAAM,YAAY,YAAY;IAG5C;;OAEG;mBACY,MAAM,YAAY,YAAY;IAG7C;;OAEG;;CAEH,CAAC;AAEF,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC"}
@@ -1,19 +1,137 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { Info, TriangleAlert, X } from "lucide-react";
2
4
  import { useTheme } from "next-themes";
3
- import { Toaster as Sonner } from "sonner";
4
- const Toaster = ({ ...props })=>{
5
+ import { Toaster as Sonner, toast as sonnerToast } from "sonner";
6
+ import { cn } from "../../lib/utils.js";
7
+ /* ==========================================================================
8
+ Styles
9
+ ========================================================================== */ const toastBaseStyles = cn(// Layout
10
+ "flex", "items-start", "gap-[var(--spacing-x1point5,12px)]", // Shape
11
+ "rounded-[var(--corner-corner-m,6px)]", // Spacing
12
+ "p-[var(--spacing-x2,16px)]", // Border
13
+ "border");
14
+ const toastDefaultStyles = cn(toastBaseStyles, // Background
15
+ "bg-bg-primary", // Border
16
+ "border-border-separator");
17
+ const toastErrorStyles = cn(toastBaseStyles, // Background
18
+ "bg-bg-error-secondary", // Border
19
+ "border-border-error_inverse");
20
+ const iconContainerStyles = cn(// Layout
21
+ "shrink-0", "size-5");
22
+ const contentContainerStyles = cn(// Layout
23
+ "flex", "flex-col", "gap-[var(--spacing-x1,8px)]", "flex-1", "min-w-0");
24
+ const titleDefaultStyles = cn(// Typography
25
+ "body14bold", "text-text-primary");
26
+ const titleErrorStyles = cn(// Typography
27
+ "body14bold", "text-text-error-primary");
28
+ const descriptionDefaultStyles = cn(// Typography
29
+ "body14", "text-text-secondary_hover");
30
+ const descriptionErrorStyles = cn(// Typography
31
+ "body14", "text-[var(--color-red-800)]");
32
+ const closeButtonStyles = cn(// Layout
33
+ "shrink-0", "size-5", // Interaction
34
+ "cursor-pointer", "hover:opacity-70", "transition-opacity");
35
+ const closeButtonDefaultStyles = cn(closeButtonStyles, // Typography
36
+ "text-text-primary");
37
+ const closeButtonErrorStyles = cn(closeButtonStyles, // Typography
38
+ "text-[var(--color-red-800)]");
39
+ function ToastContent({ id, title, description, variant = "default", showCloseButton = false, actionSlot, secondaryActionSlot }) {
40
+ const isError = variant === "error";
41
+ const Icon = isError ? TriangleAlert : Info;
42
+ const iconColor = isError ? "text-text-error-primary" : "text-text-primary";
43
+ const hasActions = actionSlot || secondaryActionSlot;
44
+ return /*#__PURE__*/ _jsxs("div", {
45
+ className: isError ? toastErrorStyles : toastDefaultStyles,
46
+ children: [
47
+ /*#__PURE__*/ _jsx("div", {
48
+ className: cn(iconContainerStyles, iconColor),
49
+ children: /*#__PURE__*/ _jsx(Icon, {
50
+ className: "size-5"
51
+ })
52
+ }),
53
+ /*#__PURE__*/ _jsxs("div", {
54
+ className: contentContainerStyles,
55
+ children: [
56
+ /*#__PURE__*/ _jsx("div", {
57
+ className: isError ? titleErrorStyles : titleDefaultStyles,
58
+ children: title
59
+ }),
60
+ description && /*#__PURE__*/ _jsx("div", {
61
+ className: isError ? descriptionErrorStyles : descriptionDefaultStyles,
62
+ children: description
63
+ }),
64
+ hasActions && /*#__PURE__*/ _jsxs("div", {
65
+ className: "mt-1 flex items-center gap-2 flex-wrap",
66
+ children: [
67
+ actionSlot && /*#__PURE__*/ _jsx("div", {
68
+ children: actionSlot
69
+ }),
70
+ secondaryActionSlot && /*#__PURE__*/ _jsx("div", {
71
+ children: secondaryActionSlot
72
+ })
73
+ ]
74
+ })
75
+ ]
76
+ }),
77
+ showCloseButton && /*#__PURE__*/ _jsx("button", {
78
+ type: "button",
79
+ onClick: ()=>sonnerToast.dismiss(id),
80
+ className: isError ? closeButtonErrorStyles : closeButtonDefaultStyles,
81
+ "aria-label": "Close",
82
+ children: /*#__PURE__*/ _jsx(X, {
83
+ className: "size-5"
84
+ })
85
+ })
86
+ ]
87
+ });
88
+ }
89
+ /* ==========================================================================
90
+ Toaster
91
+ ========================================================================== */ function Toaster({ ...props }) {
5
92
  const { theme = "system" } = useTheme();
6
93
  return /*#__PURE__*/ _jsx(Sonner, {
7
- theme: theme,
94
+ theme: theme === "system" ? "system" : theme === "dark" ? "dark" : "light",
8
95
  className: "toaster group",
9
- style: {
10
- "--normal-bg": "var(--popover)",
11
- "--normal-text": "var(--popover-foreground)",
12
- "--normal-border": "var(--border)"
96
+ toastOptions: {
97
+ unstyled: true,
98
+ classNames: {
99
+ toast: "w-full max-w-[588px]"
100
+ }
13
101
  },
14
102
  ...props
15
103
  });
104
+ }
105
+ function createToast(title, variant, options) {
106
+ const showCloseButton = options?.closeButton ?? false;
107
+ return sonnerToast.custom((id)=>{
108
+ const contentProps = {
109
+ title,
110
+ description: options?.description,
111
+ variant,
112
+ showCloseButton,
113
+ actionSlot: options?.actionSlot,
114
+ secondaryActionSlot: options?.secondaryActionSlot
115
+ };
116
+ return /*#__PURE__*/ _jsx(ToastContent, {
117
+ id: id,
118
+ ...contentProps
119
+ });
120
+ }, options?.duration !== undefined ? {
121
+ duration: options.duration
122
+ } : undefined);
123
+ }
124
+ const toast = {
125
+ /**
126
+ * Default info toast
127
+ */ info: (title, options)=>createToast(title, "default", options),
128
+ /**
129
+ * Error/alert toast
130
+ */ error: (title, options)=>createToast(title, "error", options),
131
+ /**
132
+ * Dismiss a toast by id
133
+ */ dismiss: sonnerToast.dismiss
16
134
  };
17
- export { Toaster };
135
+ export { Toaster, toast };
18
136
 
19
137
  //# sourceMappingURL=sonner.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/shadcn/components/ui/sonner.tsx"],"sourcesContent":["import { useTheme } from \"next-themes\";\nimport { Toaster as Sonner, type ToasterProps } from \"sonner\";\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n\tconst { theme = \"system\" } = useTheme();\n\n\treturn (\n\t\t<Sonner\n\t\t\ttheme={theme as ToasterProps[\"theme\"] & {}}\n\t\t\tclassName=\"toaster group\"\n\t\t\tstyle={\n\t\t\t\t{\n\t\t\t\t\t\"--normal-bg\": \"var(--popover)\",\n\t\t\t\t\t\"--normal-text\": \"var(--popover-foreground)\",\n\t\t\t\t\t\"--normal-border\": \"var(--border)\",\n\t\t\t\t} as React.CSSProperties\n\t\t\t}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\nexport { Toaster };\n"],"names":["useTheme","Toaster","Sonner","props","theme","className","style"],"mappings":";AAAA,SAASA,QAAQ,QAAQ,cAAc;AACvC,SAASC,WAAWC,MAAM,QAA2B,SAAS;AAE9D,MAAMD,UAAU,CAAC,EAAE,GAAGE,OAAqB;IAC1C,MAAM,EAAEC,QAAQ,QAAQ,EAAE,GAAGJ;IAE7B,qBACC,KAACE;QACAE,OAAOA;QACPC,WAAU;QACVC,OACC;YACC,eAAe;YACf,iBAAiB;YACjB,mBAAmB;QACpB;QAEA,GAAGH,KAAK;;AAGZ;AAEA,SAASF,OAAO,GAAG"}
1
+ {"version":3,"sources":["../../../../../src/shadcn/components/ui/sonner.tsx"],"sourcesContent":["\"use client\";\n\nimport { Info, TriangleAlert, X } from \"lucide-react\";\nimport { useTheme } from \"next-themes\";\nimport type * as React from \"react\";\nimport {\n\tToaster as Sonner,\n\ttoast as sonnerToast,\n\ttype ToasterProps,\n} from \"sonner\";\nimport { cn } from \"#shadcn/lib/utils\";\n\n/* ==========================================================================\n Styles\n ========================================================================== */\n\nconst toastBaseStyles = cn(\n\t// Layout\n\t\"flex\",\n\t\"items-start\",\n\t\"gap-[var(--spacing-x1point5,12px)]\",\n\t// Shape\n\t\"rounded-[var(--corner-corner-m,6px)]\",\n\t// Spacing\n\t\"p-[var(--spacing-x2,16px)]\",\n\t// Border\n\t\"border\",\n);\n\nconst toastDefaultStyles = cn(\n\ttoastBaseStyles,\n\t// Background\n\t\"bg-bg-primary\",\n\t// Border\n\t\"border-border-separator\",\n);\n\nconst toastErrorStyles = cn(\n\ttoastBaseStyles,\n\t// Background\n\t\"bg-bg-error-secondary\",\n\t// Border\n\t\"border-border-error_inverse\",\n);\n\nconst iconContainerStyles = cn(\n\t// Layout\n\t\"shrink-0\",\n\t\"size-5\",\n);\n\nconst contentContainerStyles = cn(\n\t// Layout\n\t\"flex\",\n\t\"flex-col\",\n\t\"gap-[var(--spacing-x1,8px)]\",\n\t\"flex-1\",\n\t\"min-w-0\",\n);\n\nconst titleDefaultStyles = cn(\n\t// Typography\n\t\"body14bold\",\n\t\"text-text-primary\",\n);\n\nconst titleErrorStyles = cn(\n\t// Typography\n\t\"body14bold\",\n\t\"text-text-error-primary\",\n);\n\nconst descriptionDefaultStyles = cn(\n\t// Typography\n\t\"body14\",\n\t\"text-text-secondary_hover\",\n);\n\nconst descriptionErrorStyles = cn(\n\t// Typography\n\t\"body14\",\n\t\"text-[var(--color-red-800)]\",\n);\n\nconst closeButtonStyles = cn(\n\t// Layout\n\t\"shrink-0\",\n\t\"size-5\",\n\t// Interaction\n\t\"cursor-pointer\",\n\t\"hover:opacity-70\",\n\t\"transition-opacity\",\n);\n\nconst closeButtonDefaultStyles = cn(\n\tcloseButtonStyles,\n\t// Typography\n\t\"text-text-primary\",\n);\n\nconst closeButtonErrorStyles = cn(\n\tcloseButtonStyles,\n\t// Typography\n\t\"text-[var(--color-red-800)]\",\n);\n\n/* ==========================================================================\n Components\n ========================================================================== */\n\ntype ToastVariant = \"default\" | \"error\";\n\ninterface ToastContentProps {\n\tid: string | number;\n\ttitle: string;\n\tdescription?: string | undefined;\n\tvariant?: ToastVariant;\n\tshowCloseButton?: boolean;\n\tactionSlot?: React.ReactNode;\n\tsecondaryActionSlot?: React.ReactNode;\n}\n\nfunction ToastContent({\n\tid,\n\ttitle,\n\tdescription,\n\tvariant = \"default\",\n\tshowCloseButton = false,\n\tactionSlot,\n\tsecondaryActionSlot,\n}: ToastContentProps) {\n\tconst isError = variant === \"error\";\n\n\tconst Icon = isError ? TriangleAlert : Info;\n\tconst iconColor = isError ? \"text-text-error-primary\" : \"text-text-primary\";\n\n\tconst hasActions = actionSlot || secondaryActionSlot;\n\n\treturn (\n\t\t<div className={isError ? toastErrorStyles : toastDefaultStyles}>\n\t\t\t{/* Icon */}\n\t\t\t<div className={cn(iconContainerStyles, iconColor)}>\n\t\t\t\t<Icon className=\"size-5\" />\n\t\t\t</div>\n\n\t\t\t{/* Content */}\n\t\t\t<div className={contentContainerStyles}>\n\t\t\t\t<div className={isError ? titleErrorStyles : titleDefaultStyles}>\n\t\t\t\t\t{title}\n\t\t\t\t</div>\n\t\t\t\t{description && (\n\t\t\t\t\t<div\n\t\t\t\t\t\tclassName={\n\t\t\t\t\t\t\tisError ? descriptionErrorStyles : descriptionDefaultStyles\n\t\t\t\t\t\t}\n\t\t\t\t\t>\n\t\t\t\t\t\t{description}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t\t{hasActions && (\n\t\t\t\t\t<div className=\"mt-1 flex items-center gap-2 flex-wrap\">\n\t\t\t\t\t\t{actionSlot && <div>{actionSlot}</div>}\n\t\t\t\t\t\t{secondaryActionSlot && <div>{secondaryActionSlot}</div>}\n\t\t\t\t\t</div>\n\t\t\t\t)}\n\t\t\t</div>\n\n\t\t\t{/* Close button - always shown if showCloseButton is true */}\n\t\t\t{showCloseButton && (\n\t\t\t\t<button\n\t\t\t\t\ttype=\"button\"\n\t\t\t\t\tonClick={() => sonnerToast.dismiss(id)}\n\t\t\t\t\tclassName={\n\t\t\t\t\t\tisError ? closeButtonErrorStyles : closeButtonDefaultStyles\n\t\t\t\t\t}\n\t\t\t\t\taria-label=\"Close\"\n\t\t\t\t>\n\t\t\t\t\t<X className=\"size-5\" />\n\t\t\t\t</button>\n\t\t\t)}\n\t\t</div>\n\t);\n}\n\n/* ==========================================================================\n Toaster\n ========================================================================== */\n\nfunction Toaster({ ...props }: ToasterProps) {\n\tconst { theme = \"system\" } = useTheme();\n\n\treturn (\n\t\t<Sonner\n\t\t\ttheme={\n\t\t\t\ttheme === \"system\" ? \"system\" : theme === \"dark\" ? \"dark\" : \"light\"\n\t\t\t}\n\t\t\tclassName=\"toaster group\"\n\t\t\ttoastOptions={{\n\t\t\t\tunstyled: true,\n\t\t\t\tclassNames: {\n\t\t\t\t\ttoast: \"w-full max-w-[588px]\",\n\t\t\t\t},\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\n/* ==========================================================================\n Toast API\n ========================================================================== */\n\ninterface ToastOptions {\n\tdescription?: string;\n\tactionSlot?: React.ReactNode;\n\tsecondaryActionSlot?: React.ReactNode;\n\tcloseButton?: boolean;\n\tduration?: number;\n}\n\nfunction createToast(\n\ttitle: string,\n\tvariant: ToastVariant,\n\toptions?: ToastOptions,\n) {\n\tconst showCloseButton = options?.closeButton ?? false;\n\n\treturn sonnerToast.custom(\n\t\t(id) => {\n\t\t\tconst contentProps: Omit<ToastContentProps, \"id\"> = {\n\t\t\t\ttitle,\n\t\t\t\tdescription: options?.description,\n\t\t\t\tvariant,\n\t\t\t\tshowCloseButton,\n\t\t\t\tactionSlot: options?.actionSlot,\n\t\t\t\tsecondaryActionSlot: options?.secondaryActionSlot,\n\t\t\t};\n\n\t\t\treturn <ToastContent id={id} {...contentProps} />;\n\t\t},\n\t\toptions?.duration !== undefined\n\t\t\t? { duration: options.duration }\n\t\t\t: undefined,\n\t);\n}\n\nconst toast = {\n\t/**\n\t * Default info toast\n\t */\n\tinfo: (title: string, options?: ToastOptions) =>\n\t\tcreateToast(title, \"default\", options),\n\n\t/**\n\t * Error/alert toast\n\t */\n\terror: (title: string, options?: ToastOptions) =>\n\t\tcreateToast(title, \"error\", options),\n\n\t/**\n\t * Dismiss a toast by id\n\t */\n\tdismiss: sonnerToast.dismiss,\n};\n\nexport { Toaster, toast };\n"],"names":["Info","TriangleAlert","X","useTheme","Toaster","Sonner","toast","sonnerToast","cn","toastBaseStyles","toastDefaultStyles","toastErrorStyles","iconContainerStyles","contentContainerStyles","titleDefaultStyles","titleErrorStyles","descriptionDefaultStyles","descriptionErrorStyles","closeButtonStyles","closeButtonDefaultStyles","closeButtonErrorStyles","ToastContent","id","title","description","variant","showCloseButton","actionSlot","secondaryActionSlot","isError","Icon","iconColor","hasActions","div","className","button","type","onClick","dismiss","aria-label","props","theme","toastOptions","unstyled","classNames","createToast","options","closeButton","custom","contentProps","duration","undefined","info","error"],"mappings":"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"}