@psnext/design-system 1.1.0 → 1.2.0

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 (787) hide show
  1. package/README.md +137 -30
  2. package/dist/Header.cjs +890 -0
  3. package/dist/Header.cjs.map +1 -0
  4. package/dist/Header.js +798 -0
  5. package/dist/Header.js.map +1 -0
  6. package/dist/Icon.cjs +1969 -0
  7. package/dist/Icon.cjs.map +1 -0
  8. package/dist/Icon.js +1956 -0
  9. package/dist/Icon.js.map +1 -0
  10. package/dist/{ThemeProvider.cjs → Logo.cjs} +2 -1075
  11. package/dist/Logo.cjs.map +1 -0
  12. package/dist/{ThemeProvider.js → Logo.js} +4 -704
  13. package/dist/Logo.js.map +1 -0
  14. package/dist/Sidebar.cjs +562 -0
  15. package/dist/Sidebar.cjs.map +1 -0
  16. package/dist/Sidebar.js +416 -0
  17. package/dist/Sidebar.js.map +1 -0
  18. package/dist/{utils.cjs → chunk.cjs} +0 -39
  19. package/dist/cn.cjs +15 -0
  20. package/dist/cn.cjs.map +1 -0
  21. package/dist/cn.js +10 -0
  22. package/dist/cn.js.map +1 -0
  23. package/dist/index.cjs +413 -346
  24. package/dist/index.d.cts +12 -1996
  25. package/dist/index.d.cts.map +1 -1
  26. package/dist/index.d.ts +12 -1996
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +71 -5
  29. package/dist/index10.d.cts +38 -0
  30. package/dist/index10.d.cts.map +1 -0
  31. package/dist/index10.d.ts +38 -0
  32. package/dist/index10.d.ts.map +1 -0
  33. package/dist/index11.d.cts +30 -0
  34. package/dist/index11.d.cts.map +1 -0
  35. package/dist/index11.d.ts +30 -0
  36. package/dist/index11.d.ts.map +1 -0
  37. package/dist/index12.d.cts +75 -0
  38. package/dist/index12.d.cts.map +1 -0
  39. package/dist/index12.d.ts +75 -0
  40. package/dist/index12.d.ts.map +1 -0
  41. package/dist/index13.d.cts +57 -0
  42. package/dist/index13.d.cts.map +1 -0
  43. package/dist/index13.d.ts +57 -0
  44. package/dist/index13.d.ts.map +1 -0
  45. package/dist/index14.d.cts +98 -0
  46. package/dist/index14.d.cts.map +1 -0
  47. package/dist/index14.d.ts +98 -0
  48. package/dist/index14.d.ts.map +1 -0
  49. package/dist/index15.d.cts +29 -0
  50. package/dist/index15.d.cts.map +1 -0
  51. package/dist/index15.d.ts +29 -0
  52. package/dist/index15.d.ts.map +1 -0
  53. package/dist/index16.d.cts +38 -0
  54. package/dist/index16.d.cts.map +1 -0
  55. package/dist/index16.d.ts +38 -0
  56. package/dist/index16.d.ts.map +1 -0
  57. package/dist/index17.d.cts +19 -0
  58. package/dist/index17.d.cts.map +1 -0
  59. package/dist/index17.d.ts +19 -0
  60. package/dist/index17.d.ts.map +1 -0
  61. package/dist/index18.d.cts +73 -0
  62. package/dist/index18.d.cts.map +1 -0
  63. package/dist/index18.d.ts +73 -0
  64. package/dist/index18.d.ts.map +1 -0
  65. package/dist/index19.d.cts +66 -0
  66. package/dist/index19.d.cts.map +1 -0
  67. package/dist/index19.d.ts +66 -0
  68. package/dist/index19.d.ts.map +1 -0
  69. package/dist/index2.d.cts +44 -4
  70. package/dist/index2.d.cts.map +1 -0
  71. package/dist/index2.d.ts +44 -4
  72. package/dist/index2.d.ts.map +1 -0
  73. package/dist/index20.d.cts +96 -0
  74. package/dist/index20.d.cts.map +1 -0
  75. package/dist/index20.d.ts +96 -0
  76. package/dist/index20.d.ts.map +1 -0
  77. package/dist/index21.d.cts +34 -0
  78. package/dist/index21.d.cts.map +1 -0
  79. package/dist/index21.d.ts +34 -0
  80. package/dist/index21.d.ts.map +1 -0
  81. package/dist/index22.d.cts +62 -0
  82. package/dist/index22.d.cts.map +1 -0
  83. package/dist/index22.d.ts +62 -0
  84. package/dist/index22.d.ts.map +1 -0
  85. package/dist/index23.d.cts +99 -0
  86. package/dist/index23.d.cts.map +1 -0
  87. package/dist/index23.d.ts +99 -0
  88. package/dist/index23.d.ts.map +1 -0
  89. package/dist/index24.d.cts +49 -0
  90. package/dist/index24.d.cts.map +1 -0
  91. package/dist/index24.d.ts +49 -0
  92. package/dist/index24.d.ts.map +1 -0
  93. package/dist/index25.d.cts +17 -0
  94. package/dist/index25.d.cts.map +1 -0
  95. package/dist/index25.d.ts +17 -0
  96. package/dist/index25.d.ts.map +1 -0
  97. package/dist/index26.d.cts +80 -0
  98. package/dist/index26.d.cts.map +1 -0
  99. package/dist/index26.d.ts +80 -0
  100. package/dist/index26.d.ts.map +1 -0
  101. package/dist/index27.d.cts +71 -0
  102. package/dist/index27.d.cts.map +1 -0
  103. package/dist/index27.d.ts +71 -0
  104. package/dist/index27.d.ts.map +1 -0
  105. package/dist/index28.d.cts +37 -0
  106. package/dist/index28.d.cts.map +1 -0
  107. package/dist/index28.d.ts +37 -0
  108. package/dist/index28.d.ts.map +1 -0
  109. package/dist/index29.d.cts +25 -0
  110. package/dist/index29.d.cts.map +1 -0
  111. package/dist/index29.d.ts +25 -0
  112. package/dist/index29.d.ts.map +1 -0
  113. package/dist/index3.d.cts +62 -0
  114. package/dist/index3.d.cts.map +1 -0
  115. package/dist/index3.d.ts +62 -0
  116. package/dist/index3.d.ts.map +1 -0
  117. package/dist/index30.d.cts +59 -0
  118. package/dist/index30.d.cts.map +1 -0
  119. package/dist/index30.d.ts +59 -0
  120. package/dist/index30.d.ts.map +1 -0
  121. package/dist/index31.d.cts +40 -0
  122. package/dist/index31.d.cts.map +1 -0
  123. package/dist/index31.d.ts +40 -0
  124. package/dist/index31.d.ts.map +1 -0
  125. package/dist/index32.d.cts +23 -0
  126. package/dist/index32.d.cts.map +1 -0
  127. package/dist/index32.d.ts +23 -0
  128. package/dist/index32.d.ts.map +1 -0
  129. package/dist/index33.d.cts +55 -0
  130. package/dist/index33.d.cts.map +1 -0
  131. package/dist/index33.d.ts +55 -0
  132. package/dist/index33.d.ts.map +1 -0
  133. package/dist/index34.d.cts +43 -0
  134. package/dist/index34.d.cts.map +1 -0
  135. package/dist/index34.d.ts +43 -0
  136. package/dist/index34.d.ts.map +1 -0
  137. package/dist/index35.d.cts +77 -0
  138. package/dist/index35.d.cts.map +1 -0
  139. package/dist/index35.d.ts +77 -0
  140. package/dist/index35.d.ts.map +1 -0
  141. package/dist/index36.d.cts +19 -0
  142. package/dist/index36.d.cts.map +1 -0
  143. package/dist/index36.d.ts +19 -0
  144. package/dist/index36.d.ts.map +1 -0
  145. package/dist/index37.d.cts +29 -0
  146. package/dist/index37.d.cts.map +1 -0
  147. package/dist/index37.d.ts +29 -0
  148. package/dist/index37.d.ts.map +1 -0
  149. package/dist/index38.d.cts +20 -0
  150. package/dist/index38.d.cts.map +1 -0
  151. package/dist/index38.d.ts +20 -0
  152. package/dist/index38.d.ts.map +1 -0
  153. package/dist/index39.d.cts +105 -0
  154. package/dist/index39.d.cts.map +1 -0
  155. package/dist/index39.d.ts +105 -0
  156. package/dist/index39.d.ts.map +1 -0
  157. package/dist/index4.d.cts +11 -0
  158. package/dist/index4.d.cts.map +1 -0
  159. package/dist/index4.d.ts +11 -0
  160. package/dist/index4.d.ts.map +1 -0
  161. package/dist/index40.d.cts +22 -0
  162. package/dist/index40.d.cts.map +1 -0
  163. package/dist/index40.d.ts +22 -0
  164. package/dist/index40.d.ts.map +1 -0
  165. package/dist/index41.d.cts +56 -0
  166. package/dist/index41.d.cts.map +1 -0
  167. package/dist/index41.d.ts +56 -0
  168. package/dist/index41.d.ts.map +1 -0
  169. package/dist/index42.d.cts +45 -0
  170. package/dist/index42.d.cts.map +1 -0
  171. package/dist/index42.d.ts +45 -0
  172. package/dist/index42.d.ts.map +1 -0
  173. package/dist/index43.d.cts +96 -0
  174. package/dist/index43.d.cts.map +1 -0
  175. package/dist/index43.d.ts +96 -0
  176. package/dist/index43.d.ts.map +1 -0
  177. package/dist/index44.d.cts +48 -0
  178. package/dist/index44.d.cts.map +1 -0
  179. package/dist/index44.d.ts +48 -0
  180. package/dist/index44.d.ts.map +1 -0
  181. package/dist/index45.d.cts +28 -0
  182. package/dist/index45.d.cts.map +1 -0
  183. package/dist/index45.d.ts +28 -0
  184. package/dist/index45.d.ts.map +1 -0
  185. package/dist/index46.d.cts +41 -0
  186. package/dist/index46.d.cts.map +1 -0
  187. package/dist/index46.d.ts +41 -0
  188. package/dist/index46.d.ts.map +1 -0
  189. package/dist/index47.d.cts +25 -0
  190. package/dist/index47.d.cts.map +1 -0
  191. package/dist/index47.d.ts +25 -0
  192. package/dist/index47.d.ts.map +1 -0
  193. package/dist/index48.d.cts +21 -0
  194. package/dist/index48.d.cts.map +1 -0
  195. package/dist/index48.d.ts +21 -0
  196. package/dist/index48.d.ts.map +1 -0
  197. package/dist/index49.d.cts +69 -0
  198. package/dist/index49.d.cts.map +1 -0
  199. package/dist/index49.d.ts +69 -0
  200. package/dist/index49.d.ts.map +1 -0
  201. package/dist/index5.d.cts +45 -0
  202. package/dist/index5.d.cts.map +1 -0
  203. package/dist/index5.d.ts +45 -0
  204. package/dist/index5.d.ts.map +1 -0
  205. package/dist/index50.d.cts +63 -0
  206. package/dist/index50.d.cts.map +1 -0
  207. package/dist/index50.d.ts +63 -0
  208. package/dist/index50.d.ts.map +1 -0
  209. package/dist/index51.d.cts +31 -0
  210. package/dist/index51.d.cts.map +1 -0
  211. package/dist/index51.d.ts +31 -0
  212. package/dist/index51.d.ts.map +1 -0
  213. package/dist/index52.d.cts +209 -0
  214. package/dist/index52.d.cts.map +1 -0
  215. package/dist/index52.d.ts +209 -0
  216. package/dist/index52.d.ts.map +1 -0
  217. package/dist/index53.d.cts +26 -0
  218. package/dist/index53.d.cts.map +1 -0
  219. package/dist/index53.d.ts +26 -0
  220. package/dist/index53.d.ts.map +1 -0
  221. package/dist/index54.d.cts +28 -0
  222. package/dist/index54.d.cts.map +1 -0
  223. package/dist/index54.d.ts +28 -0
  224. package/dist/index54.d.ts.map +1 -0
  225. package/dist/index55.d.cts +25 -0
  226. package/dist/index55.d.cts.map +1 -0
  227. package/dist/index55.d.ts +25 -0
  228. package/dist/index55.d.ts.map +1 -0
  229. package/dist/index56.d.cts +12 -0
  230. package/dist/index56.d.cts.map +1 -0
  231. package/dist/index56.d.ts +12 -0
  232. package/dist/index56.d.ts.map +1 -0
  233. package/dist/index57.d.cts +50 -0
  234. package/dist/index57.d.cts.map +1 -0
  235. package/dist/index57.d.ts +50 -0
  236. package/dist/index57.d.ts.map +1 -0
  237. package/dist/index58.d.cts +51 -0
  238. package/dist/index58.d.cts.map +1 -0
  239. package/dist/index58.d.ts +51 -0
  240. package/dist/index58.d.ts.map +1 -0
  241. package/dist/index59.d.cts +58 -0
  242. package/dist/index59.d.cts.map +1 -0
  243. package/dist/index59.d.ts +58 -0
  244. package/dist/index59.d.ts.map +1 -0
  245. package/dist/index6.d.cts +26 -0
  246. package/dist/index6.d.cts.map +1 -0
  247. package/dist/index6.d.ts +26 -0
  248. package/dist/index6.d.ts.map +1 -0
  249. package/dist/index60.d.cts +45 -0
  250. package/dist/index60.d.cts.map +1 -0
  251. package/dist/index60.d.ts +45 -0
  252. package/dist/index60.d.ts.map +1 -0
  253. package/dist/index61.d.cts +21 -0
  254. package/dist/index61.d.cts.map +1 -0
  255. package/dist/index61.d.ts +21 -0
  256. package/dist/index61.d.ts.map +1 -0
  257. package/dist/index62.d.cts +45 -0
  258. package/dist/index62.d.cts.map +1 -0
  259. package/dist/index62.d.ts +45 -0
  260. package/dist/index62.d.ts.map +1 -0
  261. package/dist/index63.d.cts +23 -0
  262. package/dist/index63.d.cts.map +1 -0
  263. package/dist/index63.d.ts +23 -0
  264. package/dist/index63.d.ts.map +1 -0
  265. package/dist/index64.d.cts +48 -0
  266. package/dist/index64.d.cts.map +1 -0
  267. package/dist/index64.d.ts +48 -0
  268. package/dist/index64.d.ts.map +1 -0
  269. package/dist/index65.d.cts +25 -0
  270. package/dist/index65.d.cts.map +1 -0
  271. package/dist/index65.d.ts +25 -0
  272. package/dist/index65.d.ts.map +1 -0
  273. package/dist/index66.d.cts +19 -0
  274. package/dist/index66.d.cts.map +1 -0
  275. package/dist/index66.d.ts +19 -0
  276. package/dist/index66.d.ts.map +1 -0
  277. package/dist/index67.d.cts +37 -0
  278. package/dist/index67.d.cts.map +1 -0
  279. package/dist/index67.d.ts +37 -0
  280. package/dist/index67.d.ts.map +1 -0
  281. package/dist/index68.d.cts +36 -0
  282. package/dist/index68.d.cts.map +1 -0
  283. package/dist/index68.d.ts +36 -0
  284. package/dist/index68.d.ts.map +1 -0
  285. package/dist/index69.d.cts +69 -0
  286. package/dist/index69.d.ts +69 -0
  287. package/dist/index7.d.cts +46 -0
  288. package/dist/index7.d.cts.map +1 -0
  289. package/dist/index7.d.ts +46 -0
  290. package/dist/index7.d.ts.map +1 -0
  291. package/dist/index70.d.cts +242 -0
  292. package/dist/index70.d.cts.map +1 -0
  293. package/dist/index70.d.ts +242 -0
  294. package/dist/index70.d.ts.map +1 -0
  295. package/dist/index8.d.cts +26 -0
  296. package/dist/index8.d.cts.map +1 -0
  297. package/dist/index8.d.ts +26 -0
  298. package/dist/index8.d.ts.map +1 -0
  299. package/dist/index9.d.cts +20 -0
  300. package/dist/index9.d.cts.map +1 -0
  301. package/dist/index9.d.ts +20 -0
  302. package/dist/index9.d.ts.map +1 -0
  303. package/dist/layouts/Container/index.cjs +39 -0
  304. package/dist/layouts/Container/index.cjs.map +1 -0
  305. package/dist/layouts/Container/index.d.cts +2 -0
  306. package/dist/layouts/Container/index.d.ts +2 -0
  307. package/dist/layouts/Container/index.js +38 -0
  308. package/dist/layouts/Container/index.js.map +1 -0
  309. package/dist/layouts/PageBackground/index.cjs +22 -0
  310. package/dist/layouts/PageBackground/index.cjs.map +1 -0
  311. package/dist/layouts/PageBackground/index.d.cts +2 -0
  312. package/dist/layouts/PageBackground/index.d.ts +2 -0
  313. package/dist/layouts/PageBackground/index.js +21 -0
  314. package/dist/layouts/PageBackground/index.js.map +1 -0
  315. package/dist/{Stack.cjs → layouts/Stack/index.cjs} +7 -15
  316. package/dist/layouts/Stack/index.cjs.map +1 -0
  317. package/dist/layouts/Stack/index.d.cts +2 -0
  318. package/dist/layouts/Stack/index.d.ts +2 -0
  319. package/dist/{Stack.js → layouts/Stack/index.js} +4 -3
  320. package/dist/layouts/Stack/index.js.map +1 -0
  321. package/dist/layouts/TwoColumn/index.cjs +51 -0
  322. package/dist/layouts/TwoColumn/index.cjs.map +1 -0
  323. package/dist/layouts/TwoColumn/index.d.cts +2 -0
  324. package/dist/layouts/TwoColumn/index.d.ts +2 -0
  325. package/dist/layouts/TwoColumn/index.js +48 -0
  326. package/dist/layouts/TwoColumn/index.js.map +1 -0
  327. package/dist/layouts/index.cjs +13 -100
  328. package/dist/layouts/index.d.cts +5 -76
  329. package/dist/layouts/index.d.ts +5 -76
  330. package/dist/layouts/index.js +4 -91
  331. package/dist/patterns/DataTable/index.cjs +114 -0
  332. package/dist/patterns/DataTable/index.cjs.map +1 -0
  333. package/dist/patterns/DataTable/index.d.cts +43 -0
  334. package/dist/patterns/DataTable/index.d.cts.map +1 -0
  335. package/dist/patterns/DataTable/index.d.ts +43 -0
  336. package/dist/patterns/DataTable/index.d.ts.map +1 -0
  337. package/dist/patterns/DataTable/index.js +110 -0
  338. package/dist/patterns/DataTable/index.js.map +1 -0
  339. package/dist/patterns/Footer/index.cjs +76 -0
  340. package/dist/patterns/Footer/index.cjs.map +1 -0
  341. package/dist/patterns/Footer/index.d.cts +54 -0
  342. package/dist/patterns/Footer/index.d.cts.map +1 -0
  343. package/dist/patterns/Footer/index.d.ts +54 -0
  344. package/dist/patterns/Footer/index.d.ts.map +1 -0
  345. package/dist/patterns/Footer/index.js +70 -0
  346. package/dist/patterns/Footer/index.js.map +1 -0
  347. package/dist/patterns/Header/index.cjs +17 -0
  348. package/dist/patterns/Header/index.d.cts +2 -0
  349. package/dist/patterns/Header/index.d.ts +2 -0
  350. package/dist/patterns/Header/index.js +2 -0
  351. package/dist/patterns/MediaObject/index.cjs +108 -0
  352. package/dist/patterns/MediaObject/index.cjs.map +1 -0
  353. package/dist/patterns/MediaObject/index.d.cts +71 -0
  354. package/dist/patterns/MediaObject/index.d.cts.map +1 -0
  355. package/dist/patterns/MediaObject/index.d.ts +71 -0
  356. package/dist/patterns/MediaObject/index.d.ts.map +1 -0
  357. package/dist/patterns/MediaObject/index.js +99 -0
  358. package/dist/patterns/MediaObject/index.js.map +1 -0
  359. package/dist/patterns/SectionCard/index.cjs +35 -0
  360. package/dist/patterns/SectionCard/index.cjs.map +1 -0
  361. package/dist/patterns/SectionCard/index.d.cts +21 -0
  362. package/dist/patterns/SectionCard/index.d.cts.map +1 -0
  363. package/dist/patterns/SectionCard/index.d.ts +21 -0
  364. package/dist/patterns/SectionCard/index.d.ts.map +1 -0
  365. package/dist/patterns/SectionCard/index.js +34 -0
  366. package/dist/patterns/SectionCard/index.js.map +1 -0
  367. package/dist/patterns/SectionHeading/index.cjs +44 -0
  368. package/dist/patterns/SectionHeading/index.cjs.map +1 -0
  369. package/dist/patterns/SectionHeading/index.d.cts +37 -0
  370. package/dist/patterns/SectionHeading/index.d.cts.map +1 -0
  371. package/dist/patterns/SectionHeading/index.d.ts +37 -0
  372. package/dist/patterns/SectionHeading/index.d.ts.map +1 -0
  373. package/dist/patterns/SectionHeading/index.js +43 -0
  374. package/dist/patterns/SectionHeading/index.js.map +1 -0
  375. package/dist/patterns/index.cjs +40 -1124
  376. package/dist/patterns/index.d.cts +7 -410
  377. package/dist/patterns/index.d.ts +7 -410
  378. package/dist/patterns/index.js +6 -1088
  379. package/dist/primitives/Accordion/index.cjs +54 -0
  380. package/dist/primitives/Accordion/index.cjs.map +1 -0
  381. package/dist/primitives/Accordion/index.d.cts +2 -0
  382. package/dist/primitives/Accordion/index.d.ts +2 -0
  383. package/dist/primitives/Accordion/index.js +50 -0
  384. package/dist/primitives/Accordion/index.js.map +1 -0
  385. package/dist/primitives/Alert/index.cjs +61 -0
  386. package/dist/primitives/Alert/index.cjs.map +1 -0
  387. package/dist/primitives/Alert/index.d.cts +2 -0
  388. package/dist/primitives/Alert/index.d.ts +2 -0
  389. package/dist/primitives/Alert/index.js +57 -0
  390. package/dist/primitives/Alert/index.js.map +1 -0
  391. package/dist/primitives/AlertDialog/index.cjs +102 -0
  392. package/dist/primitives/AlertDialog/index.cjs.map +1 -0
  393. package/dist/primitives/AlertDialog/index.d.cts +2 -0
  394. package/dist/primitives/AlertDialog/index.d.ts +2 -0
  395. package/dist/primitives/AlertDialog/index.js +90 -0
  396. package/dist/primitives/AlertDialog/index.js.map +1 -0
  397. package/dist/primitives/AspectRatio/index.cjs +15 -0
  398. package/dist/primitives/AspectRatio/index.cjs.map +1 -0
  399. package/dist/primitives/AspectRatio/index.d.cts +2 -0
  400. package/dist/primitives/AspectRatio/index.d.ts +2 -0
  401. package/dist/primitives/AspectRatio/index.js +14 -0
  402. package/dist/primitives/AspectRatio/index.js.map +1 -0
  403. package/dist/primitives/Avatar/index.cjs +64 -0
  404. package/dist/primitives/Avatar/index.cjs.map +1 -0
  405. package/dist/primitives/Avatar/index.d.cts +2 -0
  406. package/dist/primitives/Avatar/index.d.ts +2 -0
  407. package/dist/primitives/Avatar/index.js +58 -0
  408. package/dist/primitives/Avatar/index.js.map +1 -0
  409. package/dist/primitives/Badge/index.cjs +44 -0
  410. package/dist/primitives/Badge/index.cjs.map +1 -0
  411. package/dist/primitives/Badge/index.d.cts +2 -0
  412. package/dist/primitives/Badge/index.d.ts +2 -0
  413. package/dist/primitives/Badge/index.js +43 -0
  414. package/dist/primitives/Badge/index.js.map +1 -0
  415. package/dist/primitives/Breadcrumb/index.cjs +82 -0
  416. package/dist/primitives/Breadcrumb/index.cjs.map +1 -0
  417. package/dist/primitives/Breadcrumb/index.d.cts +2 -0
  418. package/dist/primitives/Breadcrumb/index.d.ts +2 -0
  419. package/dist/primitives/Breadcrumb/index.js +75 -0
  420. package/dist/primitives/Breadcrumb/index.js.map +1 -0
  421. package/dist/primitives/Button/index.cjs +61 -0
  422. package/dist/primitives/Button/index.cjs.map +1 -0
  423. package/dist/primitives/Button/index.d.cts +2 -0
  424. package/dist/primitives/Button/index.d.ts +2 -0
  425. package/dist/primitives/Button/index.js +60 -0
  426. package/dist/primitives/Button/index.js.map +1 -0
  427. package/dist/primitives/ButtonGroup/index.cjs +46 -0
  428. package/dist/primitives/ButtonGroup/index.cjs.map +1 -0
  429. package/dist/primitives/ButtonGroup/index.d.cts +2 -0
  430. package/dist/primitives/ButtonGroup/index.d.ts +2 -0
  431. package/dist/primitives/ButtonGroup/index.js +43 -0
  432. package/dist/primitives/ButtonGroup/index.js.map +1 -0
  433. package/dist/primitives/Calendar/index.cjs +112 -0
  434. package/dist/primitives/Calendar/index.cjs.map +1 -0
  435. package/dist/primitives/Calendar/index.d.cts +2 -0
  436. package/dist/primitives/Calendar/index.d.ts +2 -0
  437. package/dist/primitives/Calendar/index.js +108 -0
  438. package/dist/primitives/Calendar/index.js.map +1 -0
  439. package/dist/primitives/Card/index.cjs +128 -0
  440. package/dist/primitives/Card/index.cjs.map +1 -0
  441. package/dist/primitives/Card/index.d.cts +2 -0
  442. package/dist/primitives/Card/index.d.ts +2 -0
  443. package/dist/primitives/Card/index.js +121 -0
  444. package/dist/primitives/Card/index.js.map +1 -0
  445. package/dist/primitives/Carousel/index.cjs +146 -0
  446. package/dist/primitives/Carousel/index.cjs.map +1 -0
  447. package/dist/primitives/Carousel/index.d.cts +2 -0
  448. package/dist/primitives/Carousel/index.d.ts +2 -0
  449. package/dist/primitives/Carousel/index.js +138 -0
  450. package/dist/primitives/Carousel/index.js.map +1 -0
  451. package/dist/primitives/Chart/index.cjs +162 -0
  452. package/dist/primitives/Chart/index.cjs.map +1 -0
  453. package/dist/primitives/Chart/index.d.cts +2 -0
  454. package/dist/primitives/Chart/index.d.ts +2 -0
  455. package/dist/primitives/Chart/index.js +153 -0
  456. package/dist/primitives/Chart/index.js.map +1 -0
  457. package/dist/primitives/Checkbox/index.cjs +53 -0
  458. package/dist/primitives/Checkbox/index.cjs.map +1 -0
  459. package/dist/primitives/Checkbox/index.d.cts +2 -0
  460. package/dist/primitives/Checkbox/index.d.ts +2 -0
  461. package/dist/primitives/Checkbox/index.js +51 -0
  462. package/dist/primitives/Checkbox/index.js.map +1 -0
  463. package/dist/primitives/CheckboxTree/index.cjs +106 -0
  464. package/dist/primitives/CheckboxTree/index.cjs.map +1 -0
  465. package/dist/primitives/CheckboxTree/index.d.cts +2 -0
  466. package/dist/primitives/CheckboxTree/index.d.ts +2 -0
  467. package/dist/primitives/CheckboxTree/index.js +103 -0
  468. package/dist/primitives/CheckboxTree/index.js.map +1 -0
  469. package/dist/primitives/Collapsible/index.cjs +31 -0
  470. package/dist/primitives/Collapsible/index.cjs.map +1 -0
  471. package/dist/primitives/Collapsible/index.d.cts +2 -0
  472. package/dist/primitives/Collapsible/index.d.ts +2 -0
  473. package/dist/primitives/Collapsible/index.js +28 -0
  474. package/dist/primitives/Collapsible/index.js.map +1 -0
  475. package/dist/primitives/Command/index.cjs +104 -0
  476. package/dist/primitives/Command/index.cjs.map +1 -0
  477. package/dist/primitives/Command/index.d.cts +2 -0
  478. package/dist/primitives/Command/index.d.ts +2 -0
  479. package/dist/primitives/Command/index.js +95 -0
  480. package/dist/primitives/Command/index.js.map +1 -0
  481. package/dist/primitives/ContextMenu/index.cjs +152 -0
  482. package/dist/primitives/ContextMenu/index.cjs.map +1 -0
  483. package/dist/primitives/ContextMenu/index.d.cts +2 -0
  484. package/dist/primitives/ContextMenu/index.d.ts +2 -0
  485. package/dist/primitives/ContextMenu/index.js +137 -0
  486. package/dist/primitives/ContextMenu/index.js.map +1 -0
  487. package/dist/primitives/Credits/index.cjs +39 -0
  488. package/dist/primitives/Credits/index.cjs.map +1 -0
  489. package/dist/primitives/Credits/index.d.cts +2 -0
  490. package/dist/primitives/Credits/index.d.ts +2 -0
  491. package/dist/primitives/Credits/index.js +38 -0
  492. package/dist/primitives/Credits/index.js.map +1 -0
  493. package/dist/primitives/Dialog/index.cjs +121 -0
  494. package/dist/primitives/Dialog/index.cjs.map +1 -0
  495. package/dist/primitives/Dialog/index.d.cts +2 -0
  496. package/dist/primitives/Dialog/index.d.ts +2 -0
  497. package/dist/primitives/Dialog/index.js +111 -0
  498. package/dist/primitives/Dialog/index.js.map +1 -0
  499. package/dist/primitives/Drawer/index.cjs +98 -0
  500. package/dist/primitives/Drawer/index.cjs.map +1 -0
  501. package/dist/primitives/Drawer/index.d.cts +2 -0
  502. package/dist/primitives/Drawer/index.d.ts +2 -0
  503. package/dist/primitives/Drawer/index.js +88 -0
  504. package/dist/primitives/Drawer/index.js.map +1 -0
  505. package/dist/primitives/DropdownMenu/index.cjs +153 -0
  506. package/dist/primitives/DropdownMenu/index.cjs.map +1 -0
  507. package/dist/primitives/DropdownMenu/index.d.cts +2 -0
  508. package/dist/primitives/DropdownMenu/index.d.ts +2 -0
  509. package/dist/primitives/DropdownMenu/index.js +138 -0
  510. package/dist/primitives/DropdownMenu/index.js.map +1 -0
  511. package/dist/primitives/Empty/index.cjs +84 -0
  512. package/dist/primitives/Empty/index.cjs.map +1 -0
  513. package/dist/primitives/Empty/index.d.cts +2 -0
  514. package/dist/primitives/Empty/index.d.ts +2 -0
  515. package/dist/primitives/Empty/index.js +77 -0
  516. package/dist/primitives/Empty/index.js.map +1 -0
  517. package/dist/primitives/Field/index.cjs +139 -0
  518. package/dist/primitives/Field/index.cjs.map +1 -0
  519. package/dist/primitives/Field/index.d.cts +2 -0
  520. package/dist/primitives/Field/index.d.ts +2 -0
  521. package/dist/primitives/Field/index.js +129 -0
  522. package/dist/primitives/Field/index.js.map +1 -0
  523. package/dist/primitives/Form/index.cjs +104 -0
  524. package/dist/primitives/Form/index.cjs.map +1 -0
  525. package/dist/primitives/Form/index.d.cts +2 -0
  526. package/dist/primitives/Form/index.d.ts +2 -0
  527. package/dist/primitives/Form/index.js +94 -0
  528. package/dist/primitives/Form/index.js.map +1 -0
  529. package/dist/primitives/Heading/index.cjs +53 -0
  530. package/dist/primitives/Heading/index.cjs.map +1 -0
  531. package/dist/primitives/Heading/index.d.cts +2 -0
  532. package/dist/primitives/Heading/index.d.ts +2 -0
  533. package/dist/primitives/Heading/index.js +52 -0
  534. package/dist/primitives/Heading/index.js.map +1 -0
  535. package/dist/primitives/HoverCard/index.cjs +38 -0
  536. package/dist/primitives/HoverCard/index.cjs.map +1 -0
  537. package/dist/primitives/HoverCard/index.d.cts +2 -0
  538. package/dist/primitives/HoverCard/index.d.ts +2 -0
  539. package/dist/primitives/HoverCard/index.js +35 -0
  540. package/dist/primitives/HoverCard/index.js.map +1 -0
  541. package/dist/primitives/Icon/index.cjs +4 -0
  542. package/dist/primitives/Icon/index.d.cts +2 -0
  543. package/dist/primitives/Icon/index.d.ts +2 -0
  544. package/dist/primitives/Icon/index.js +2 -0
  545. package/dist/primitives/InfoBanner/index.cjs +79 -0
  546. package/dist/primitives/InfoBanner/index.cjs.map +1 -0
  547. package/dist/primitives/InfoBanner/index.d.cts +2 -0
  548. package/dist/primitives/InfoBanner/index.d.ts +2 -0
  549. package/dist/primitives/InfoBanner/index.js +78 -0
  550. package/dist/primitives/InfoBanner/index.js.map +1 -0
  551. package/dist/primitives/Input/index.cjs +39 -0
  552. package/dist/primitives/Input/index.cjs.map +1 -0
  553. package/dist/primitives/Input/index.d.cts +2 -0
  554. package/dist/primitives/Input/index.d.ts +2 -0
  555. package/dist/primitives/Input/index.js +38 -0
  556. package/dist/primitives/Input/index.js.map +1 -0
  557. package/dist/primitives/InputGroup/index.cjs +91 -0
  558. package/dist/primitives/InputGroup/index.cjs.map +1 -0
  559. package/dist/primitives/InputGroup/index.d.cts +2 -0
  560. package/dist/primitives/InputGroup/index.d.ts +2 -0
  561. package/dist/primitives/InputGroup/index.js +85 -0
  562. package/dist/primitives/InputGroup/index.js.map +1 -0
  563. package/dist/primitives/InputOtp/index.cjs +80 -0
  564. package/dist/primitives/InputOtp/index.cjs.map +1 -0
  565. package/dist/primitives/InputOtp/index.d.cts +2 -0
  566. package/dist/primitives/InputOtp/index.d.ts +2 -0
  567. package/dist/primitives/InputOtp/index.js +74 -0
  568. package/dist/primitives/InputOtp/index.js.map +1 -0
  569. package/dist/primitives/Item/index.cjs +137 -0
  570. package/dist/primitives/Item/index.cjs.map +1 -0
  571. package/dist/primitives/Item/index.d.cts +2 -0
  572. package/dist/primitives/Item/index.d.ts +2 -0
  573. package/dist/primitives/Item/index.js +127 -0
  574. package/dist/primitives/Item/index.js.map +1 -0
  575. package/dist/primitives/Kbd/index.cjs +25 -0
  576. package/dist/primitives/Kbd/index.cjs.map +1 -0
  577. package/dist/primitives/Kbd/index.d.cts +2 -0
  578. package/dist/primitives/Kbd/index.d.ts +2 -0
  579. package/dist/primitives/Kbd/index.js +23 -0
  580. package/dist/primitives/Kbd/index.js.map +1 -0
  581. package/dist/primitives/Label/index.cjs +18 -0
  582. package/dist/primitives/Label/index.cjs.map +1 -0
  583. package/dist/primitives/Label/index.d.cts +2 -0
  584. package/dist/primitives/Label/index.d.ts +2 -0
  585. package/dist/primitives/Label/index.js +17 -0
  586. package/dist/primitives/Label/index.js.map +1 -0
  587. package/dist/primitives/Link/index.cjs +38 -0
  588. package/dist/primitives/Link/index.cjs.map +1 -0
  589. package/dist/primitives/Link/index.d.cts +2 -0
  590. package/dist/primitives/Link/index.d.ts +2 -0
  591. package/dist/primitives/Link/index.js +37 -0
  592. package/dist/primitives/Link/index.js.map +1 -0
  593. package/dist/primitives/Logo/index.cjs +3 -0
  594. package/dist/primitives/Logo/index.d.cts +2 -0
  595. package/dist/primitives/Logo/index.d.ts +2 -0
  596. package/dist/primitives/Logo/index.js +2 -0
  597. package/dist/primitives/Menubar/index.cjs +165 -0
  598. package/dist/primitives/Menubar/index.cjs.map +1 -0
  599. package/dist/primitives/Menubar/index.d.cts +2 -0
  600. package/dist/primitives/Menubar/index.d.ts +2 -0
  601. package/dist/primitives/Menubar/index.js +149 -0
  602. package/dist/primitives/Menubar/index.js.map +1 -0
  603. package/dist/primitives/NativeSelect/index.cjs +40 -0
  604. package/dist/primitives/NativeSelect/index.cjs.map +1 -0
  605. package/dist/primitives/NativeSelect/index.d.cts +2 -0
  606. package/dist/primitives/NativeSelect/index.d.ts +2 -0
  607. package/dist/primitives/NativeSelect/index.js +39 -0
  608. package/dist/primitives/NativeSelect/index.js.map +1 -0
  609. package/dist/primitives/NavRail/index.cjs +195 -0
  610. package/dist/primitives/NavRail/index.cjs.map +1 -0
  611. package/dist/primitives/NavRail/index.d.cts +2 -0
  612. package/dist/primitives/NavRail/index.d.ts +2 -0
  613. package/dist/primitives/NavRail/index.js +185 -0
  614. package/dist/primitives/NavRail/index.js.map +1 -0
  615. package/dist/primitives/NavigationMenu/index.cjs +98 -0
  616. package/dist/primitives/NavigationMenu/index.cjs.map +1 -0
  617. package/dist/primitives/NavigationMenu/index.d.cts +2 -0
  618. package/dist/primitives/NavigationMenu/index.d.ts +2 -0
  619. package/dist/primitives/NavigationMenu/index.js +89 -0
  620. package/dist/primitives/NavigationMenu/index.js.map +1 -0
  621. package/dist/primitives/Pagination/index.cjs +93 -0
  622. package/dist/primitives/Pagination/index.cjs.map +1 -0
  623. package/dist/primitives/Pagination/index.d.cts +2 -0
  624. package/dist/primitives/Pagination/index.d.ts +2 -0
  625. package/dist/primitives/Pagination/index.js +86 -0
  626. package/dist/primitives/Pagination/index.js.map +1 -0
  627. package/dist/primitives/Popover/index.cjs +70 -0
  628. package/dist/primitives/Popover/index.cjs.map +1 -0
  629. package/dist/primitives/Popover/index.d.cts +2 -0
  630. package/dist/primitives/Popover/index.d.ts +2 -0
  631. package/dist/primitives/Popover/index.js +63 -0
  632. package/dist/primitives/Popover/index.js.map +1 -0
  633. package/dist/primitives/Progress/index.cjs +44 -0
  634. package/dist/primitives/Progress/index.cjs.map +1 -0
  635. package/dist/primitives/Progress/index.d.cts +2 -0
  636. package/dist/primitives/Progress/index.d.ts +2 -0
  637. package/dist/primitives/Progress/index.js +43 -0
  638. package/dist/primitives/Progress/index.js.map +1 -0
  639. package/dist/primitives/RadioGroup/index.cjs +65 -0
  640. package/dist/primitives/RadioGroup/index.cjs.map +1 -0
  641. package/dist/primitives/RadioGroup/index.d.cts +2 -0
  642. package/dist/primitives/RadioGroup/index.d.ts +2 -0
  643. package/dist/primitives/RadioGroup/index.js +62 -0
  644. package/dist/primitives/RadioGroup/index.js.map +1 -0
  645. package/dist/primitives/Resizable/index.cjs +41 -0
  646. package/dist/primitives/Resizable/index.cjs.map +1 -0
  647. package/dist/primitives/Resizable/index.d.cts +2 -0
  648. package/dist/primitives/Resizable/index.d.ts +2 -0
  649. package/dist/primitives/Resizable/index.js +36 -0
  650. package/dist/primitives/Resizable/index.js.map +1 -0
  651. package/dist/primitives/ScrollArea/index.cjs +40 -0
  652. package/dist/primitives/ScrollArea/index.cjs.map +1 -0
  653. package/dist/primitives/ScrollArea/index.d.cts +2 -0
  654. package/dist/primitives/ScrollArea/index.d.ts +2 -0
  655. package/dist/primitives/ScrollArea/index.js +38 -0
  656. package/dist/primitives/ScrollArea/index.js.map +1 -0
  657. package/dist/primitives/Select/index.cjs +126 -0
  658. package/dist/primitives/Select/index.cjs.map +1 -0
  659. package/dist/primitives/Select/index.d.cts +2 -0
  660. package/dist/primitives/Select/index.d.ts +2 -0
  661. package/dist/primitives/Select/index.js +116 -0
  662. package/dist/primitives/Select/index.js.map +1 -0
  663. package/dist/primitives/Separator/index.cjs +25 -0
  664. package/dist/primitives/Separator/index.cjs.map +1 -0
  665. package/dist/primitives/Separator/index.d.cts +2 -0
  666. package/dist/primitives/Separator/index.d.ts +2 -0
  667. package/dist/primitives/Separator/index.js +24 -0
  668. package/dist/primitives/Separator/index.js.map +1 -0
  669. package/dist/primitives/Sheet/index.cjs +107 -0
  670. package/dist/primitives/Sheet/index.cjs.map +1 -0
  671. package/dist/primitives/Sheet/index.d.cts +2 -0
  672. package/dist/primitives/Sheet/index.d.ts +2 -0
  673. package/dist/primitives/Sheet/index.js +99 -0
  674. package/dist/primitives/Sheet/index.js.map +1 -0
  675. package/dist/primitives/Sidebar/index.cjs +26 -0
  676. package/dist/primitives/Sidebar/index.d.cts +2 -0
  677. package/dist/primitives/Sidebar/index.d.ts +2 -0
  678. package/dist/primitives/Sidebar/index.js +2 -0
  679. package/dist/primitives/Skeleton/index.cjs +43 -0
  680. package/dist/primitives/Skeleton/index.cjs.map +1 -0
  681. package/dist/primitives/Skeleton/index.d.cts +2 -0
  682. package/dist/primitives/Skeleton/index.d.ts +2 -0
  683. package/dist/primitives/Skeleton/index.js +39 -0
  684. package/dist/primitives/Skeleton/index.js.map +1 -0
  685. package/dist/primitives/Slider/index.cjs +46 -0
  686. package/dist/primitives/Slider/index.cjs.map +1 -0
  687. package/dist/primitives/Slider/index.d.cts +2 -0
  688. package/dist/primitives/Slider/index.d.ts +2 -0
  689. package/dist/primitives/Slider/index.js +43 -0
  690. package/dist/primitives/Slider/index.js.map +1 -0
  691. package/dist/primitives/Sonner/index.cjs +42 -0
  692. package/dist/primitives/Sonner/index.cjs.map +1 -0
  693. package/dist/primitives/Sonner/index.d.cts +2 -0
  694. package/dist/primitives/Sonner/index.d.ts +2 -0
  695. package/dist/primitives/Sonner/index.js +41 -0
  696. package/dist/primitives/Sonner/index.js.map +1 -0
  697. package/dist/primitives/Spinner/index.cjs +19 -0
  698. package/dist/primitives/Spinner/index.cjs.map +1 -0
  699. package/dist/primitives/Spinner/index.d.cts +2 -0
  700. package/dist/primitives/Spinner/index.d.ts +2 -0
  701. package/dist/primitives/Spinner/index.js +18 -0
  702. package/dist/primitives/Spinner/index.js.map +1 -0
  703. package/dist/primitives/Switch/index.cjs +71 -0
  704. package/dist/primitives/Switch/index.cjs.map +1 -0
  705. package/dist/primitives/Switch/index.d.cts +2 -0
  706. package/dist/primitives/Switch/index.d.ts +2 -0
  707. package/dist/primitives/Switch/index.js +68 -0
  708. package/dist/primitives/Switch/index.js.map +1 -0
  709. package/dist/primitives/Table/index.cjs +84 -0
  710. package/dist/primitives/Table/index.cjs.map +1 -0
  711. package/dist/primitives/Table/index.d.cts +2 -0
  712. package/dist/primitives/Table/index.d.ts +2 -0
  713. package/dist/primitives/Table/index.js +76 -0
  714. package/dist/primitives/Table/index.js.map +1 -0
  715. package/dist/primitives/Tabs/index.cjs +267 -0
  716. package/dist/primitives/Tabs/index.cjs.map +1 -0
  717. package/dist/primitives/Tabs/index.d.cts +2 -0
  718. package/dist/primitives/Tabs/index.d.ts +2 -0
  719. package/dist/primitives/Tabs/index.js +258 -0
  720. package/dist/primitives/Tabs/index.js.map +1 -0
  721. package/dist/primitives/Text/index.cjs +64 -0
  722. package/dist/primitives/Text/index.cjs.map +1 -0
  723. package/dist/primitives/Text/index.d.cts +2 -0
  724. package/dist/primitives/Text/index.d.ts +2 -0
  725. package/dist/primitives/Text/index.js +63 -0
  726. package/dist/primitives/Text/index.js.map +1 -0
  727. package/dist/primitives/Textarea/index.cjs +24 -0
  728. package/dist/primitives/Textarea/index.cjs.map +1 -0
  729. package/dist/primitives/Textarea/index.d.cts +2 -0
  730. package/dist/primitives/Textarea/index.d.ts +2 -0
  731. package/dist/primitives/Textarea/index.js +23 -0
  732. package/dist/primitives/Textarea/index.js.map +1 -0
  733. package/dist/primitives/ThemeProvider/index.cjs +93 -0
  734. package/dist/primitives/ThemeProvider/index.cjs.map +1 -0
  735. package/dist/primitives/ThemeProvider/index.d.cts +2 -0
  736. package/dist/primitives/ThemeProvider/index.d.ts +2 -0
  737. package/dist/primitives/ThemeProvider/index.js +88 -0
  738. package/dist/primitives/ThemeProvider/index.js.map +1 -0
  739. package/dist/primitives/Toggle/index.cjs +59 -0
  740. package/dist/primitives/Toggle/index.cjs.map +1 -0
  741. package/dist/primitives/Toggle/index.d.cts +2 -0
  742. package/dist/primitives/Toggle/index.d.ts +2 -0
  743. package/dist/primitives/Toggle/index.js +58 -0
  744. package/dist/primitives/Toggle/index.js.map +1 -0
  745. package/dist/primitives/ToggleGroup/index.cjs +65 -0
  746. package/dist/primitives/ToggleGroup/index.cjs.map +1 -0
  747. package/dist/primitives/ToggleGroup/index.d.cts +2 -0
  748. package/dist/primitives/ToggleGroup/index.d.ts +2 -0
  749. package/dist/primitives/ToggleGroup/index.js +61 -0
  750. package/dist/primitives/ToggleGroup/index.js.map +1 -0
  751. package/dist/primitives/Tooltip/index.cjs +47 -0
  752. package/dist/primitives/Tooltip/index.cjs.map +1 -0
  753. package/dist/primitives/Tooltip/index.d.cts +2 -0
  754. package/dist/primitives/Tooltip/index.d.ts +2 -0
  755. package/dist/primitives/Tooltip/index.js +43 -0
  756. package/dist/primitives/Tooltip/index.js.map +1 -0
  757. package/dist/primitives/index.cjs +398 -335
  758. package/dist/primitives/index.d.cts +65 -3
  759. package/dist/primitives/index.d.ts +65 -3
  760. package/dist/primitives/index.js +65 -3
  761. package/dist/styles/base.css +70 -0
  762. package/dist/styles/semantic.css +62 -2
  763. package/dist/styles/theme.css +12 -0
  764. package/package.json +21 -2
  765. package/dist/Stack.cjs.map +0 -1
  766. package/dist/Stack.js.map +0 -1
  767. package/dist/ThemeProvider.cjs.map +0 -1
  768. package/dist/ThemeProvider.d.cts +0 -85
  769. package/dist/ThemeProvider.d.cts.map +0 -1
  770. package/dist/ThemeProvider.d.ts +0 -85
  771. package/dist/ThemeProvider.d.ts.map +0 -1
  772. package/dist/ThemeProvider.js.map +0 -1
  773. package/dist/layouts/index.cjs.map +0 -1
  774. package/dist/layouts/index.d.cts.map +0 -1
  775. package/dist/layouts/index.d.ts.map +0 -1
  776. package/dist/layouts/index.js.map +0 -1
  777. package/dist/patterns/index.cjs.map +0 -1
  778. package/dist/patterns/index.d.cts.map +0 -1
  779. package/dist/patterns/index.d.ts.map +0 -1
  780. package/dist/patterns/index.js.map +0 -1
  781. package/dist/primitives.cjs +0 -6979
  782. package/dist/primitives.cjs.map +0 -1
  783. package/dist/primitives.js +0 -5357
  784. package/dist/primitives.js.map +0 -1
  785. package/dist/utils.cjs.map +0 -1
  786. package/dist/utils.js +0 -27
  787. package/dist/utils.js.map +0 -1
@@ -0,0 +1,562 @@
1
+ const require_chunk = require("./chunk.cjs");
2
+ const require_cn = require("./cn.cjs");
3
+ const require_primitives_Button_index = require("./primitives/Button/index.cjs");
4
+ const require_primitives_Separator_index = require("./primitives/Separator/index.cjs");
5
+ const require_primitives_Input_index = require("./primitives/Input/index.cjs");
6
+ const require_primitives_Tooltip_index = require("./primitives/Tooltip/index.cjs");
7
+ const require_primitives_Sheet_index = require("./primitives/Sheet/index.cjs");
8
+ const require_primitives_Skeleton_index = require("./primitives/Skeleton/index.cjs");
9
+ let react = require("react");
10
+ let react$1 = require_chunk.__toESM(react, 1);
11
+ react = require_chunk.__toESM(react);
12
+ let lucide_react = require("lucide-react");
13
+ let radix_ui = require("radix-ui");
14
+ let react_jsx_runtime = require("react/jsx-runtime");
15
+ let class_variance_authority = require("class-variance-authority");
16
+ //#region src/utils/use-mobile.ts
17
+ const MOBILE_BREAKPOINT = 768;
18
+ function useIsMobile() {
19
+ const [isMobile, setIsMobile] = react$1.useState(void 0);
20
+ react$1.useEffect(() => {
21
+ const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
22
+ const onChange = () => {
23
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
24
+ };
25
+ mql.addEventListener("change", onChange);
26
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
27
+ return () => mql.removeEventListener("change", onChange);
28
+ }, []);
29
+ return !!isMobile;
30
+ }
31
+ //#endregion
32
+ //#region src/primitives/Sidebar/Sidebar.tsx
33
+ const SIDEBAR_COOKIE_NAME = "sidebar_state";
34
+ const SIDEBAR_COOKIE_MAX_AGE = 3600 * 24 * 7;
35
+ const SIDEBAR_WIDTH = "16rem";
36
+ const SIDEBAR_WIDTH_MOBILE = "18rem";
37
+ const SIDEBAR_WIDTH_ICON = "3rem";
38
+ const SIDEBAR_KEYBOARD_SHORTCUT = "b";
39
+ const SidebarContext = react.createContext(null);
40
+ /** Hook to read/control sidebar state (open, toggle, mobile); must be used inside `SidebarProvider`. */
41
+ function useSidebar() {
42
+ const context = react.useContext(SidebarContext);
43
+ if (!context) throw new Error("useSidebar must be used within a SidebarProvider.");
44
+ return context;
45
+ }
46
+ /** Context provider that owns the sidebar open/collapsed state and the toggle keyboard shortcut. Wrap your layout in this. */
47
+ function SidebarProvider({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }) {
48
+ const isMobile = useIsMobile();
49
+ const [openMobile, setOpenMobile] = react.useState(false);
50
+ const [_open, _setOpen] = react.useState(defaultOpen);
51
+ const open = openProp ?? _open;
52
+ const setOpen = react.useCallback((value) => {
53
+ const openState = typeof value === "function" ? value(open) : value;
54
+ if (setOpenProp) setOpenProp(openState);
55
+ else _setOpen(openState);
56
+ document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;
57
+ }, [setOpenProp, open]);
58
+ const toggleSidebar = react.useCallback(() => {
59
+ return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);
60
+ }, [
61
+ isMobile,
62
+ setOpen,
63
+ setOpenMobile
64
+ ]);
65
+ react.useEffect(() => {
66
+ const handleKeyDown = (event) => {
67
+ if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {
68
+ event.preventDefault();
69
+ toggleSidebar();
70
+ }
71
+ };
72
+ window.addEventListener("keydown", handleKeyDown);
73
+ return () => window.removeEventListener("keydown", handleKeyDown);
74
+ }, [toggleSidebar]);
75
+ const state = open ? "expanded" : "collapsed";
76
+ const contextValue = react.useMemo(() => ({
77
+ state,
78
+ open,
79
+ setOpen,
80
+ isMobile,
81
+ openMobile,
82
+ setOpenMobile,
83
+ toggleSidebar
84
+ }), [
85
+ state,
86
+ open,
87
+ setOpen,
88
+ isMobile,
89
+ openMobile,
90
+ setOpenMobile,
91
+ toggleSidebar
92
+ ]);
93
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SidebarContext.Provider, {
94
+ value: contextValue,
95
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Tooltip_index.TooltipProvider, {
96
+ delayDuration: 0,
97
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
98
+ "data-slot": "sidebar-wrapper",
99
+ style: {
100
+ "--sidebar-width": SIDEBAR_WIDTH,
101
+ "--sidebar-width-icon": SIDEBAR_WIDTH_ICON,
102
+ ...style
103
+ },
104
+ className: require_cn.cn("group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full", className),
105
+ ...props,
106
+ children
107
+ })
108
+ })
109
+ });
110
+ }
111
+ /** The sidebar panel itself: renders as a fixed desktop rail or a mobile Sheet, driven by `SidebarProvider` state. */
112
+ function Sidebar({ side = "left", variant = "sidebar", collapsible = "offcanvas", className, children, ...props }) {
113
+ const { isMobile, state, openMobile, setOpenMobile } = useSidebar();
114
+ if (collapsible === "none") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
115
+ "data-slot": "sidebar",
116
+ className: require_cn.cn("bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col", className),
117
+ ...props,
118
+ children
119
+ });
120
+ if (isMobile) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Sheet_index.Sheet, {
121
+ open: openMobile,
122
+ onOpenChange: setOpenMobile,
123
+ ...props,
124
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_primitives_Sheet_index.SheetContent, {
125
+ "data-sidebar": "sidebar",
126
+ "data-slot": "sidebar",
127
+ "data-mobile": "true",
128
+ className: "bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden",
129
+ style: { "--sidebar-width": SIDEBAR_WIDTH_MOBILE },
130
+ side,
131
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_primitives_Sheet_index.SheetHeader, {
132
+ className: "sr-only",
133
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Sheet_index.SheetTitle, { children: "Sidebar" }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Sheet_index.SheetDescription, { children: "Displays the mobile sidebar." })]
134
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
135
+ className: "flex h-full w-full flex-col",
136
+ children
137
+ })]
138
+ })
139
+ });
140
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
141
+ className: "group peer text-sidebar-foreground hidden md:block",
142
+ "data-state": state,
143
+ "data-collapsible": state === "collapsed" ? collapsible : "",
144
+ "data-variant": variant,
145
+ "data-side": side,
146
+ "data-slot": "sidebar",
147
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
148
+ "data-slot": "sidebar-gap",
149
+ className: require_cn.cn("relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear", "group-data-[collapsible=offcanvas]:w-0", "group-data-[side=right]:rotate-180", variant === "floating" || variant === "inset" ? "group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon)")
150
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
151
+ "data-slot": "sidebar-container",
152
+ className: require_cn.cn("fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex", side === "left" ? "left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]" : "right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]", variant === "floating" || variant === "inset" ? "p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]" : "group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l", className),
153
+ ...props,
154
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
155
+ "data-sidebar": "sidebar",
156
+ "data-slot": "sidebar-inner",
157
+ className: "bg-sidebar 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",
158
+ children
159
+ })
160
+ })]
161
+ });
162
+ }
163
+ /** Icon button that toggles the sidebar open/collapsed. */
164
+ function SidebarTrigger({ className, onClick, ...props }) {
165
+ const { toggleSidebar } = useSidebar();
166
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_primitives_Button_index.Button, {
167
+ "data-sidebar": "trigger",
168
+ "data-slot": "sidebar-trigger",
169
+ variant: "ghost",
170
+ size: "icon",
171
+ className: require_cn.cn("size-7", className),
172
+ onClick: (event) => {
173
+ onClick?.(event);
174
+ toggleSidebar();
175
+ },
176
+ ...props,
177
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.PanelLeftIcon, {}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
178
+ className: "sr-only",
179
+ children: "Toggle Sidebar"
180
+ })]
181
+ });
182
+ }
183
+ /** Thin draggable rail along the sidebar edge that toggles it on click. */
184
+ function SidebarRail({ className, ...props }) {
185
+ const { toggleSidebar } = useSidebar();
186
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
187
+ "data-sidebar": "rail",
188
+ "data-slot": "sidebar-rail",
189
+ "aria-label": "Toggle Sidebar",
190
+ tabIndex: -1,
191
+ onClick: toggleSidebar,
192
+ title: "Toggle Sidebar",
193
+ className: require_cn.cn("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", "in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize", "[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize", "hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full", "[[data-side=left][data-collapsible=offcanvas]_&]:-right-2", "[[data-side=right][data-collapsible=offcanvas]_&]:-left-2", className),
194
+ ...props
195
+ });
196
+ }
197
+ /** The main content region that sits beside the sidebar. */
198
+ function SidebarInset({ className, ...props }) {
199
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("main", {
200
+ "data-slot": "sidebar-inset",
201
+ className: require_cn.cn("bg-background relative flex w-full flex-1 flex-col", "md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2", className),
202
+ ...props
203
+ });
204
+ }
205
+ /** Sidebar-styled text input, e.g. for a search field in the header. */
206
+ function SidebarInput({ className, ...props }) {
207
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Input_index.Input, {
208
+ "data-slot": "sidebar-input",
209
+ "data-sidebar": "input",
210
+ className: require_cn.cn("bg-background h-8 w-full shadow-none", className),
211
+ ...props
212
+ });
213
+ }
214
+ /** Top region of the sidebar, typically a brand mark or workspace switcher. */
215
+ function SidebarHeader({ className, ...props }) {
216
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
217
+ "data-slot": "sidebar-header",
218
+ "data-sidebar": "header",
219
+ className: require_cn.cn("flex flex-col gap-2 p-2", className),
220
+ ...props
221
+ });
222
+ }
223
+ /** Bottom region of the sidebar, typically a user menu or settings link. */
224
+ function SidebarFooter({ className, ...props }) {
225
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
226
+ "data-slot": "sidebar-footer",
227
+ "data-sidebar": "footer",
228
+ className: require_cn.cn("flex flex-col gap-2 p-2", className),
229
+ ...props
230
+ });
231
+ }
232
+ /** Horizontal divider between sidebar sections, inset to match the sidebar padding. */
233
+ function SidebarSeparator({ className, ...props }) {
234
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Separator_index.Separator, {
235
+ "data-slot": "sidebar-separator",
236
+ "data-sidebar": "separator",
237
+ className: require_cn.cn("bg-sidebar-border mx-2 w-auto", className),
238
+ ...props
239
+ });
240
+ }
241
+ /** Scrollable middle region of the sidebar that holds the groups and menus. */
242
+ function SidebarContent({ className, ...props }) {
243
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
244
+ "data-slot": "sidebar-content",
245
+ "data-sidebar": "content",
246
+ className: require_cn.cn("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden", className),
247
+ ...props
248
+ });
249
+ }
250
+ /** A labelled section within the sidebar content. */
251
+ function SidebarGroup({ className, ...props }) {
252
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
253
+ "data-slot": "sidebar-group",
254
+ "data-sidebar": "group",
255
+ className: require_cn.cn("relative flex w-full min-w-0 flex-col p-2", className),
256
+ ...props
257
+ });
258
+ }
259
+ /** Heading for a `SidebarGroup`; hidden when the sidebar is collapsed to icons. */
260
+ function SidebarGroupLabel({ className, asChild = false, ...props }) {
261
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(asChild ? radix_ui.Slot.Root : "div", {
262
+ "data-slot": "sidebar-group-label",
263
+ "data-sidebar": "group-label",
264
+ className: require_cn.cn("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", "group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0", className),
265
+ ...props
266
+ });
267
+ }
268
+ /** Small action button anchored to the top-right of a `SidebarGroup` (e.g. an add button). */
269
+ function SidebarGroupAction({ className, asChild = false, ...props }) {
270
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(asChild ? radix_ui.Slot.Root : "button", {
271
+ "data-slot": "sidebar-group-action",
272
+ "data-sidebar": "group-action",
273
+ className: require_cn.cn("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", "after:absolute after:-inset-2 md:after:hidden", "group-data-[collapsible=icon]:hidden", className),
274
+ ...props
275
+ });
276
+ }
277
+ /** Wrapper for the body of a `SidebarGroup`, below its label. */
278
+ function SidebarGroupContent({ className, ...props }) {
279
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
280
+ "data-slot": "sidebar-group-content",
281
+ "data-sidebar": "group-content",
282
+ className: require_cn.cn("w-full text-sm", className),
283
+ ...props
284
+ });
285
+ }
286
+ /** `ul` list container for sidebar menu items. */
287
+ function SidebarMenu({ className, ...props }) {
288
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
289
+ "data-slot": "sidebar-menu",
290
+ "data-sidebar": "menu",
291
+ className: require_cn.cn("flex w-full min-w-0 flex-col gap-1", className),
292
+ ...props
293
+ });
294
+ }
295
+ /** `li` row within a `SidebarMenu`; holds a button plus optional action/badge. */
296
+ function SidebarMenuItem({ className, ...props }) {
297
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", {
298
+ "data-slot": "sidebar-menu-item",
299
+ "data-sidebar": "menu-item",
300
+ className: require_cn.cn("group/menu-item relative", className),
301
+ ...props
302
+ });
303
+ }
304
+ /** Style variants for `SidebarMenuButton` — `variant` (default | outline) and `size` (default | sm | lg). */
305
+ const sidebarMenuButtonVariants = (0, class_variance_authority.cva)("peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent/50 hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent/50 data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0", {
306
+ variants: {
307
+ variant: {
308
+ default: "hover:bg-sidebar-accent/50 hover:text-sidebar-accent-foreground",
309
+ outline: "bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent/50 hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]"
310
+ },
311
+ size: {
312
+ default: "h-8 text-sm",
313
+ sm: "h-7 text-xs",
314
+ lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!"
315
+ }
316
+ },
317
+ defaultVariants: {
318
+ variant: "default",
319
+ size: "default"
320
+ }
321
+ });
322
+ /** The primary clickable item in a sidebar menu; shows a tooltip when collapsed to icons. */
323
+ function SidebarMenuButton({ asChild = false, isActive = false, variant = "default", size = "default", tooltip, className, ...props }) {
324
+ const Comp = asChild ? radix_ui.Slot.Root : "button";
325
+ const { isMobile, state } = useSidebar();
326
+ const button = /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Comp, {
327
+ "data-slot": "sidebar-menu-button",
328
+ "data-sidebar": "menu-button",
329
+ "data-size": size,
330
+ "data-active": isActive,
331
+ className: require_cn.cn(sidebarMenuButtonVariants({
332
+ variant,
333
+ size
334
+ }), className),
335
+ ...props
336
+ });
337
+ if (!tooltip) return button;
338
+ if (typeof tooltip === "string") tooltip = { children: tooltip };
339
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_primitives_Tooltip_index.Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Tooltip_index.TooltipTrigger, {
340
+ asChild: true,
341
+ children: button
342
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Tooltip_index.TooltipContent, {
343
+ side: "right",
344
+ align: "center",
345
+ hidden: state !== "collapsed" || isMobile,
346
+ ...tooltip
347
+ })] });
348
+ }
349
+ /** Secondary action button anchored to the right of a menu item (e.g. a kebab menu). */
350
+ function SidebarMenuAction({ className, asChild = false, showOnHover = false, ...props }) {
351
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(asChild ? radix_ui.Slot.Root : "button", {
352
+ "data-slot": "sidebar-menu-action",
353
+ "data-sidebar": "menu-action",
354
+ className: require_cn.cn("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", "after:absolute after:-inset-2 md:after:hidden", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", showOnHover && "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", className),
355
+ ...props
356
+ });
357
+ }
358
+ /** Count/status badge anchored to the right of a menu item. */
359
+ function SidebarMenuBadge({ className, ...props }) {
360
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
361
+ "data-slot": "sidebar-menu-badge",
362
+ "data-sidebar": "menu-badge",
363
+ className: require_cn.cn("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", "peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground", "peer-data-[size=sm]/menu-button:top-1", "peer-data-[size=default]/menu-button:top-1.5", "peer-data-[size=lg]/menu-button:top-2.5", "group-data-[collapsible=icon]:hidden", className),
364
+ ...props
365
+ });
366
+ }
367
+ /** Loading placeholder for a menu item, with a random text width for a natural skeleton. */
368
+ function SidebarMenuSkeleton({ className, showIcon = false, ...props }) {
369
+ const width = react.useMemo(() => {
370
+ return `${Math.floor(Math.random() * 40) + 50}%`;
371
+ }, []);
372
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
373
+ "data-slot": "sidebar-menu-skeleton",
374
+ "data-sidebar": "menu-skeleton",
375
+ className: require_cn.cn("flex h-8 items-center gap-2 rounded-md px-2", className),
376
+ ...props,
377
+ children: [showIcon && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Skeleton_index.Skeleton, {
378
+ className: "size-4 rounded-md",
379
+ "data-sidebar": "menu-skeleton-icon"
380
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Skeleton_index.Skeleton, {
381
+ className: "h-4 max-w-(--skeleton-width) flex-1",
382
+ "data-sidebar": "menu-skeleton-text",
383
+ style: { "--skeleton-width": width }
384
+ })]
385
+ });
386
+ }
387
+ /** Nested `ul` list of sub-items under a menu item; hidden when collapsed to icons. */
388
+ function SidebarMenuSub({ className, ...props }) {
389
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
390
+ "data-slot": "sidebar-menu-sub",
391
+ "data-sidebar": "menu-sub",
392
+ className: require_cn.cn("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", "group-data-[collapsible=icon]:hidden", className),
393
+ ...props
394
+ });
395
+ }
396
+ /** `li` row within a `SidebarMenuSub`. */
397
+ function SidebarMenuSubItem({ className, ...props }) {
398
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", {
399
+ "data-slot": "sidebar-menu-sub-item",
400
+ "data-sidebar": "menu-sub-item",
401
+ className: require_cn.cn("group/menu-sub-item relative", className),
402
+ ...props
403
+ });
404
+ }
405
+ /** Clickable link for a sub-menu item (renders as an `a` by default). */
406
+ function SidebarMenuSubButton({ asChild = false, size = "md", isActive = false, className, ...props }) {
407
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(asChild ? radix_ui.Slot.Root : "a", {
408
+ "data-slot": "sidebar-menu-sub-button",
409
+ "data-sidebar": "menu-sub-button",
410
+ "data-size": size,
411
+ "data-active": isActive,
412
+ className: require_cn.cn("text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent/50 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", "data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground", size === "sm" && "text-xs", size === "md" && "text-sm", "group-data-[collapsible=icon]:hidden", className),
413
+ ...props
414
+ });
415
+ }
416
+ //#endregion
417
+ Object.defineProperty(exports, "Sidebar", {
418
+ enumerable: true,
419
+ get: function() {
420
+ return Sidebar;
421
+ }
422
+ });
423
+ Object.defineProperty(exports, "SidebarContent", {
424
+ enumerable: true,
425
+ get: function() {
426
+ return SidebarContent;
427
+ }
428
+ });
429
+ Object.defineProperty(exports, "SidebarFooter", {
430
+ enumerable: true,
431
+ get: function() {
432
+ return SidebarFooter;
433
+ }
434
+ });
435
+ Object.defineProperty(exports, "SidebarGroup", {
436
+ enumerable: true,
437
+ get: function() {
438
+ return SidebarGroup;
439
+ }
440
+ });
441
+ Object.defineProperty(exports, "SidebarGroupAction", {
442
+ enumerable: true,
443
+ get: function() {
444
+ return SidebarGroupAction;
445
+ }
446
+ });
447
+ Object.defineProperty(exports, "SidebarGroupContent", {
448
+ enumerable: true,
449
+ get: function() {
450
+ return SidebarGroupContent;
451
+ }
452
+ });
453
+ Object.defineProperty(exports, "SidebarGroupLabel", {
454
+ enumerable: true,
455
+ get: function() {
456
+ return SidebarGroupLabel;
457
+ }
458
+ });
459
+ Object.defineProperty(exports, "SidebarHeader", {
460
+ enumerable: true,
461
+ get: function() {
462
+ return SidebarHeader;
463
+ }
464
+ });
465
+ Object.defineProperty(exports, "SidebarInput", {
466
+ enumerable: true,
467
+ get: function() {
468
+ return SidebarInput;
469
+ }
470
+ });
471
+ Object.defineProperty(exports, "SidebarInset", {
472
+ enumerable: true,
473
+ get: function() {
474
+ return SidebarInset;
475
+ }
476
+ });
477
+ Object.defineProperty(exports, "SidebarMenu", {
478
+ enumerable: true,
479
+ get: function() {
480
+ return SidebarMenu;
481
+ }
482
+ });
483
+ Object.defineProperty(exports, "SidebarMenuAction", {
484
+ enumerable: true,
485
+ get: function() {
486
+ return SidebarMenuAction;
487
+ }
488
+ });
489
+ Object.defineProperty(exports, "SidebarMenuBadge", {
490
+ enumerable: true,
491
+ get: function() {
492
+ return SidebarMenuBadge;
493
+ }
494
+ });
495
+ Object.defineProperty(exports, "SidebarMenuButton", {
496
+ enumerable: true,
497
+ get: function() {
498
+ return SidebarMenuButton;
499
+ }
500
+ });
501
+ Object.defineProperty(exports, "SidebarMenuItem", {
502
+ enumerable: true,
503
+ get: function() {
504
+ return SidebarMenuItem;
505
+ }
506
+ });
507
+ Object.defineProperty(exports, "SidebarMenuSkeleton", {
508
+ enumerable: true,
509
+ get: function() {
510
+ return SidebarMenuSkeleton;
511
+ }
512
+ });
513
+ Object.defineProperty(exports, "SidebarMenuSub", {
514
+ enumerable: true,
515
+ get: function() {
516
+ return SidebarMenuSub;
517
+ }
518
+ });
519
+ Object.defineProperty(exports, "SidebarMenuSubButton", {
520
+ enumerable: true,
521
+ get: function() {
522
+ return SidebarMenuSubButton;
523
+ }
524
+ });
525
+ Object.defineProperty(exports, "SidebarMenuSubItem", {
526
+ enumerable: true,
527
+ get: function() {
528
+ return SidebarMenuSubItem;
529
+ }
530
+ });
531
+ Object.defineProperty(exports, "SidebarProvider", {
532
+ enumerable: true,
533
+ get: function() {
534
+ return SidebarProvider;
535
+ }
536
+ });
537
+ Object.defineProperty(exports, "SidebarRail", {
538
+ enumerable: true,
539
+ get: function() {
540
+ return SidebarRail;
541
+ }
542
+ });
543
+ Object.defineProperty(exports, "SidebarSeparator", {
544
+ enumerable: true,
545
+ get: function() {
546
+ return SidebarSeparator;
547
+ }
548
+ });
549
+ Object.defineProperty(exports, "SidebarTrigger", {
550
+ enumerable: true,
551
+ get: function() {
552
+ return SidebarTrigger;
553
+ }
554
+ });
555
+ Object.defineProperty(exports, "useSidebar", {
556
+ enumerable: true,
557
+ get: function() {
558
+ return useSidebar;
559
+ }
560
+ });
561
+
562
+ //# sourceMappingURL=Sidebar.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.cjs","names":["React","React","TooltipProvider","cn","Sheet","SheetContent","SheetHeader","SheetTitle","SheetDescription","Button","PanelLeftIcon","Input","Separator","Slot","Tooltip","TooltipTrigger","TooltipContent","Skeleton"],"sources":["../src/utils/use-mobile.ts","../src/primitives/Sidebar/Sidebar.tsx"],"sourcesContent":["import * as React from \"react\";\n\nconst MOBILE_BREAKPOINT = 768;\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined);\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n };\n mql.addEventListener(\"change\", onChange);\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);\n return () => mql.removeEventListener(\"change\", onChange);\n }, []);\n\n return !!isMobile;\n}\n","\"use client\";\n\nimport { type VariantProps, cva } from \"class-variance-authority\";\nimport { PanelLeftIcon } from \"lucide-react\";\nimport { Slot } from \"radix-ui\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/primitives/Button\";\nimport { Input } from \"@/primitives/Input\";\nimport { Separator } from \"@/primitives/Separator\";\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from \"@/primitives/Sheet\";\nimport { Skeleton } from \"@/primitives/Skeleton\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"@/primitives/Tooltip\";\nimport { useIsMobile } from \"@/utils\";\nimport { cn } from \"@/utils\";\n\nconst SIDEBAR_COOKIE_NAME = \"sidebar_state\";\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = \"16rem\";\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\nconst SIDEBAR_WIDTH_ICON = \"3rem\";\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\n\ntype SidebarContextProps = {\n state: \"expanded\" | \"collapsed\";\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContextProps | null>(null);\n\n/** Hook to read/control sidebar state (open, toggle, mobile); must be used inside `SidebarProvider`. */\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\n }\n\n return context;\n}\n\n/** Context provider that owns the sidebar open/collapsed state and the toggle keyboard shortcut. Wrap your layout in this. */\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Initial open state when uncontrolled. */\n defaultOpen?: boolean;\n /** Controlled open state; pair with `onOpenChange`. */\n open?: boolean;\n /** Called when the open state changes (controlled mode). */\n onOpenChange?: (open: boolean) => void;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\n const openState = typeof value === \"function\" ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener(\"keydown\", handleKeyDown);\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? \"expanded\" : \"collapsed\";\n\n const contextValue = React.useMemo<SidebarContextProps>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot=\"sidebar-wrapper\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH,\n \"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(\n \"group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\n/** The sidebar panel itself: renders as a fixed desktop rail or a mobile Sheet, driven by `SidebarProvider` state. */\nfunction Sidebar({\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Which edge the sidebar sits on. */\n side?: \"left\" | \"right\";\n /** Visual treatment: standard rail, a floating card, or an inset surface. */\n variant?: \"sidebar\" | \"floating\" | \"inset\";\n /** How the sidebar collapses: slide off-canvas, shrink to an icon rail, or never collapse. */\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === \"none\") {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n \"bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col\",\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n \"relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear\",\n \"group-data-[collapsible=offcanvas]:w-0\",\n \"group-data-[side=right]:rotate-180\",\n variant === \"floating\" || variant === \"inset\"\n ? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\",\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n \"fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n side === \"left\"\n ? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n : \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n // Adjust the padding for floating and inset variants.\n variant === \"floating\" || variant === \"inset\"\n ? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n data-slot=\"sidebar-inner\"\n className=\"bg-sidebar 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 >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/** Icon button that toggles the sidebar open/collapsed. */\nfunction SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn(\"size-7\", className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\n/** Thin draggable rail along the sidebar edge that toggles it on click. */\nfunction SidebarRail({ className, ...props }: React.ComponentProps<\"button\">) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n \"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 \"in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize\",\n \"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n \"hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full\",\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** The main content region that sits beside the sidebar. */\nfunction SidebarInset({ className, ...props }: React.ComponentProps<\"main\">) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n \"bg-background relative flex w-full flex-1 flex-col\",\n \"md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Sidebar-styled text input, e.g. for a search field in the header. */\nfunction SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn(\"bg-background h-8 w-full shadow-none\", className)}\n {...props}\n />\n );\n}\n\n/** Top region of the sidebar, typically a brand mark or workspace switcher. */\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\n/** Bottom region of the sidebar, typically a user menu or settings link. */\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n );\n}\n\n/** Horizontal divider between sidebar sections, inset to match the sidebar padding. */\nfunction SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn(\"bg-sidebar-border mx-2 w-auto\", className)}\n {...props}\n />\n );\n}\n\n/** Scrollable middle region of the sidebar that holds the groups and menus. */\nfunction SidebarContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-content\"\n data-sidebar=\"content\"\n className={cn(\n \"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** A labelled section within the sidebar content. */\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n {...props}\n />\n );\n}\n\n/** Heading for a `SidebarGroup`; hidden when the sidebar is collapsed to icons. */\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Render as the child element (Radix Slot) instead of a `div`. */\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"div\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n \"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 \"group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Small action button anchored to the top-right of a `SidebarGroup` (e.g. an add button). */\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n /** Render as the child element (Radix Slot) instead of a `button`. */\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n \"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 // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Wrapper for the body of a `SidebarGroup`, below its label. */\nfunction SidebarGroupContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n );\n}\n\n/** `ul` list container for sidebar menu items. */\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n );\n}\n\n/** `li` row within a `SidebarMenu`; holds a button plus optional action/badge. */\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\n );\n}\n\n/** Style variants for `SidebarMenuButton` — `variant` (default | outline) and `size` (default | sm | lg). */\nconst sidebarMenuButtonVariants = cva(\n \"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-hidden ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent/50 hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent/50 data-[state=open]:hover:text-sidebar-accent-foreground group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-sidebar-accent/50 hover:text-sidebar-accent-foreground\",\n outline:\n \"bg-background shadow-[0_0_0_1px_var(--sidebar-border)] hover:bg-sidebar-accent/50 hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_var(--sidebar-accent)]\",\n },\n size: {\n default: \"h-8 text-sm\",\n sm: \"h-7 text-xs\",\n lg: \"h-12 text-sm group-data-[collapsible=icon]:p-0!\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n },\n);\n\n/** The primary clickable item in a sidebar menu; shows a tooltip when collapsed to icons. */\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n}: React.ComponentProps<\"button\"> & {\n /** Render as the child element (Radix Slot), e.g. to wrap a link. */\n asChild?: boolean;\n /** Marks the item as the current/active route. */\n isActive?: boolean;\n /** Tooltip shown when the sidebar is collapsed to icons; string or `TooltipContent` props. */\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot.Root : \"button\";\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\n data-sidebar=\"menu-button\"\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === \"string\") {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n );\n}\n\n/** Secondary action button anchored to the right of a menu item (e.g. a kebab menu). */\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<\"button\"> & {\n /** Render as the child element (Radix Slot) instead of a `button`. */\n asChild?: boolean;\n /** Only reveal the action on row hover/focus instead of always showing it. */\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"button\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n \"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 // Increases the hit area of the button on mobile.\n \"after:absolute after:-inset-2 md:after:hidden\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n showOnHover &&\n \"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 className,\n )}\n {...props}\n />\n );\n}\n\n/** Count/status badge anchored to the right of a menu item. */\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n \"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 \"peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground\",\n \"peer-data-[size=sm]/menu-button:top-1\",\n \"peer-data-[size=default]/menu-button:top-1.5\",\n \"peer-data-[size=lg]/menu-button:top-2.5\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** Loading placeholder for a menu item, with a random text width for a natural skeleton. */\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<\"div\"> & {\n /** Also render a square icon placeholder before the text. */\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn(\"flex h-8 items-center gap-2 rounded-md px-2\", className)}\n {...props}\n >\n {showIcon && <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n \"--skeleton-width\": width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\n/** Nested `ul` list of sub-items under a menu item; hidden when collapsed to icons. */\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<\"ul\">) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n \"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 \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/** `li` row within a `SidebarMenuSub`. */\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<\"li\">) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn(\"group/menu-sub-item relative\", className)}\n {...props}\n />\n );\n}\n\n/** Clickable link for a sub-menu item (renders as an `a` by default). */\nfunction SidebarMenuSubButton({\n asChild = false,\n size = \"md\",\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<\"a\"> & {\n /** Render as the child element (Radix Slot) instead of an `a`. */\n asChild?: boolean;\n /** Text size of the sub-button. */\n size?: \"sm\" | \"md\";\n /** Marks the sub-item as the current/active route. */\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot.Root : \"a\";\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n \"text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent/50 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 \"data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground\",\n size === \"sm\" && \"text-xs\",\n size === \"md\" && \"text-sm\",\n \"group-data-[collapsible=icon]:hidden\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"],"mappings":"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"}