@psnext/design-system 2.3.0 → 2.4.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 (488) hide show
  1. package/DESIGN.md +466 -4
  2. package/README.md +3 -3
  3. package/SKILL.md +83 -5
  4. package/bin/install-agent-skill.mjs +39 -7
  5. package/dist/Header.cjs +151 -20
  6. package/dist/Header.cjs.map +1 -1
  7. package/dist/Header.js +151 -20
  8. package/dist/Header.js.map +1 -1
  9. package/dist/Icon.cjs +40 -8
  10. package/dist/Icon.cjs.map +1 -1
  11. package/dist/Icon.js +40 -8
  12. package/dist/Icon.js.map +1 -1
  13. package/dist/MultiColumn.cjs +354 -0
  14. package/dist/MultiColumn.cjs.map +1 -0
  15. package/dist/MultiColumn.js +335 -0
  16. package/dist/MultiColumn.js.map +1 -0
  17. package/dist/Sidebar.cjs +4 -3
  18. package/dist/Sidebar.cjs.map +1 -1
  19. package/dist/Sidebar.js +4 -3
  20. package/dist/Sidebar.js.map +1 -1
  21. package/dist/index.cjs +5 -1
  22. package/dist/index.d.cts +5 -5
  23. package/dist/index.d.cts.map +1 -1
  24. package/dist/index.d.ts +5 -5
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +3 -2
  27. package/dist/index10.d.cts +6 -6
  28. package/dist/index10.d.ts +6 -6
  29. package/dist/index11.d.cts +3 -3
  30. package/dist/index11.d.cts.map +1 -1
  31. package/dist/index11.d.ts +3 -3
  32. package/dist/index11.d.ts.map +1 -1
  33. package/dist/index12.d.cts +12 -12
  34. package/dist/index12.d.cts.map +1 -1
  35. package/dist/index12.d.ts +13 -13
  36. package/dist/index13.d.cts +6 -6
  37. package/dist/index13.d.cts.map +1 -1
  38. package/dist/index13.d.ts +6 -6
  39. package/dist/index13.d.ts.map +1 -1
  40. package/dist/index14.d.cts +5 -5
  41. package/dist/index14.d.ts +5 -5
  42. package/dist/index15.d.cts +3 -3
  43. package/dist/index15.d.cts.map +1 -1
  44. package/dist/index15.d.ts +3 -3
  45. package/dist/index15.d.ts.map +1 -1
  46. package/dist/index16.d.cts +2 -2
  47. package/dist/index16.d.cts.map +1 -1
  48. package/dist/index16.d.ts +2 -2
  49. package/dist/index16.d.ts.map +1 -1
  50. package/dist/index17.d.cts +4 -4
  51. package/dist/index17.d.cts.map +1 -1
  52. package/dist/index17.d.ts +4 -4
  53. package/dist/index18.d.cts +11 -11
  54. package/dist/index18.d.cts.map +1 -1
  55. package/dist/index18.d.ts +11 -11
  56. package/dist/index18.d.ts.map +1 -1
  57. package/dist/index19.d.cts +10 -10
  58. package/dist/index19.d.cts.map +1 -1
  59. package/dist/index19.d.ts +10 -10
  60. package/dist/index19.d.ts.map +1 -1
  61. package/dist/index2.d.cts +8 -8
  62. package/dist/index2.d.cts.map +1 -1
  63. package/dist/index2.d.ts +9 -9
  64. package/dist/index2.d.ts.map +1 -1
  65. package/dist/index20.d.cts +16 -16
  66. package/dist/index20.d.cts.map +1 -1
  67. package/dist/index20.d.ts +16 -16
  68. package/dist/index20.d.ts.map +1 -1
  69. package/dist/index21.d.cts +4 -4
  70. package/dist/index21.d.cts.map +1 -1
  71. package/dist/index21.d.ts +4 -4
  72. package/dist/index21.d.ts.map +1 -1
  73. package/dist/index22.d.cts +11 -11
  74. package/dist/index22.d.ts +11 -11
  75. package/dist/index23.d.cts +16 -16
  76. package/dist/index23.d.cts.map +1 -1
  77. package/dist/index23.d.ts +16 -16
  78. package/dist/index23.d.ts.map +1 -1
  79. package/dist/index24.d.cts +10 -10
  80. package/dist/index24.d.cts.map +1 -1
  81. package/dist/index24.d.ts +11 -11
  82. package/dist/index24.d.ts.map +1 -1
  83. package/dist/index25.d.cts +2 -2
  84. package/dist/index25.d.ts +2 -2
  85. package/dist/index25.d.ts.map +1 -1
  86. package/dist/index26.d.cts +13 -13
  87. package/dist/index26.d.cts.map +1 -1
  88. package/dist/index26.d.ts +14 -14
  89. package/dist/index26.d.ts.map +1 -1
  90. package/dist/index27.d.cts +7 -7
  91. package/dist/index27.d.cts.map +1 -1
  92. package/dist/index27.d.ts +7 -7
  93. package/dist/index27.d.ts.map +1 -1
  94. package/dist/index28.d.cts +6 -6
  95. package/dist/index28.d.cts.map +1 -1
  96. package/dist/index28.d.ts +5 -5
  97. package/dist/index28.d.ts.map +1 -1
  98. package/dist/index29.d.cts +4 -4
  99. package/dist/index29.d.ts +4 -4
  100. package/dist/index29.d.ts.map +1 -1
  101. package/dist/index3.d.cts +13 -13
  102. package/dist/index3.d.cts.map +1 -1
  103. package/dist/index3.d.ts +13 -13
  104. package/dist/index30.d.cts +41 -12
  105. package/dist/index30.d.cts.map +1 -1
  106. package/dist/index30.d.ts +42 -13
  107. package/dist/index30.d.ts.map +1 -1
  108. package/dist/index31.d.cts +5 -5
  109. package/dist/index31.d.cts.map +1 -1
  110. package/dist/index31.d.ts +6 -6
  111. package/dist/index31.d.ts.map +1 -1
  112. package/dist/index32.d.cts +5 -5
  113. package/dist/index32.d.cts.map +1 -1
  114. package/dist/index32.d.ts +6 -6
  115. package/dist/index33.d.cts +10 -10
  116. package/dist/index33.d.cts.map +1 -1
  117. package/dist/index33.d.ts +11 -11
  118. package/dist/index33.d.ts.map +1 -1
  119. package/dist/index34.d.cts +5 -5
  120. package/dist/index34.d.cts.map +1 -1
  121. package/dist/index34.d.ts +5 -5
  122. package/dist/index34.d.ts.map +1 -1
  123. package/dist/index35.d.cts +16 -16
  124. package/dist/index35.d.cts.map +1 -1
  125. package/dist/index35.d.ts +17 -17
  126. package/dist/index35.d.ts.map +1 -1
  127. package/dist/index36.d.cts +3 -3
  128. package/dist/index36.d.cts.map +1 -1
  129. package/dist/index36.d.ts +3 -3
  130. package/dist/index36.d.ts.map +1 -1
  131. package/dist/index37.d.cts +5 -5
  132. package/dist/index37.d.ts +3 -3
  133. package/dist/index38.d.cts +2 -2
  134. package/dist/index38.d.cts.map +1 -1
  135. package/dist/index38.d.ts +2 -2
  136. package/dist/index39.d.cts +17 -17
  137. package/dist/index39.d.cts.map +1 -1
  138. package/dist/index39.d.ts +17 -17
  139. package/dist/index39.d.ts.map +1 -1
  140. package/dist/index4.d.cts +2 -2
  141. package/dist/index4.d.ts +2 -2
  142. package/dist/index4.d.ts.map +1 -1
  143. package/dist/index40.d.cts +5 -5
  144. package/dist/index40.d.cts.map +1 -1
  145. package/dist/index40.d.ts +6 -6
  146. package/dist/index40.d.ts.map +1 -1
  147. package/dist/index41.d.cts +11 -11
  148. package/dist/index41.d.cts.map +1 -1
  149. package/dist/index41.d.ts +11 -11
  150. package/dist/index41.d.ts.map +1 -1
  151. package/dist/index42.d.cts +8 -8
  152. package/dist/index42.d.cts.map +1 -1
  153. package/dist/index42.d.ts +8 -8
  154. package/dist/index43.d.cts +9 -9
  155. package/dist/index43.d.cts.map +1 -1
  156. package/dist/index43.d.ts +9 -9
  157. package/dist/index43.d.ts.map +1 -1
  158. package/dist/index45.d.cts +8 -8
  159. package/dist/index45.d.cts.map +1 -1
  160. package/dist/index45.d.ts +8 -8
  161. package/dist/index45.d.ts.map +1 -1
  162. package/dist/index46.d.cts +2 -2
  163. package/dist/index46.d.cts.map +1 -1
  164. package/dist/index46.d.ts +2 -2
  165. package/dist/index46.d.ts.map +1 -1
  166. package/dist/index47.d.cts +4 -4
  167. package/dist/index47.d.cts.map +1 -1
  168. package/dist/index47.d.ts +4 -4
  169. package/dist/index47.d.ts.map +1 -1
  170. package/dist/index48.d.cts +4 -4
  171. package/dist/index48.d.cts.map +1 -1
  172. package/dist/index48.d.ts +4 -4
  173. package/dist/index48.d.ts.map +1 -1
  174. package/dist/index49.d.cts +3 -3
  175. package/dist/index49.d.ts +3 -3
  176. package/dist/index5.d.cts +7 -7
  177. package/dist/index5.d.ts +7 -7
  178. package/dist/index50.d.cts +11 -11
  179. package/dist/index50.d.cts.map +1 -1
  180. package/dist/index50.d.ts +11 -11
  181. package/dist/index50.d.ts.map +1 -1
  182. package/dist/index51.d.cts +9 -9
  183. package/dist/index51.d.cts.map +1 -1
  184. package/dist/index51.d.ts +9 -9
  185. package/dist/index51.d.ts.map +1 -1
  186. package/dist/index52.d.cts +5 -5
  187. package/dist/index52.d.ts +5 -5
  188. package/dist/index53.d.cts +27 -27
  189. package/dist/index53.d.cts.map +1 -1
  190. package/dist/index53.d.ts +28 -28
  191. package/dist/index53.d.ts.map +1 -1
  192. package/dist/index54.d.cts +5 -5
  193. package/dist/index54.d.ts +5 -5
  194. package/dist/index54.d.ts.map +1 -1
  195. package/dist/index55.d.cts +2 -2
  196. package/dist/index55.d.cts.map +1 -1
  197. package/dist/index55.d.ts +2 -2
  198. package/dist/index55.d.ts.map +1 -1
  199. package/dist/index56.d.cts +2 -2
  200. package/dist/index56.d.cts.map +1 -1
  201. package/dist/index56.d.ts +2 -2
  202. package/dist/index56.d.ts.map +1 -1
  203. package/dist/index57.d.cts +2 -2
  204. package/dist/index57.d.cts.map +1 -1
  205. package/dist/index57.d.ts +2 -2
  206. package/dist/index57.d.ts.map +1 -1
  207. package/dist/index58.d.cts +4 -4
  208. package/dist/index58.d.cts.map +1 -1
  209. package/dist/index58.d.ts +4 -4
  210. package/dist/index58.d.ts.map +1 -1
  211. package/dist/index59.d.cts +9 -9
  212. package/dist/index59.d.ts +9 -9
  213. package/dist/index59.d.ts.map +1 -1
  214. package/dist/index6.d.cts +5 -5
  215. package/dist/index6.d.cts.map +1 -1
  216. package/dist/index6.d.ts +6 -6
  217. package/dist/index60.d.cts +9 -9
  218. package/dist/index60.d.ts +9 -9
  219. package/dist/index60.d.ts.map +1 -1
  220. package/dist/index61.d.cts +8 -8
  221. package/dist/index61.d.cts.map +1 -1
  222. package/dist/index61.d.ts +7 -7
  223. package/dist/index61.d.ts.map +1 -1
  224. package/dist/index62.d.cts +4 -4
  225. package/dist/index62.d.cts.map +1 -1
  226. package/dist/index62.d.ts +5 -5
  227. package/dist/index63.d.cts +2 -2
  228. package/dist/index63.d.ts +2 -2
  229. package/dist/index64.d.cts +4 -4
  230. package/dist/index64.d.ts +7 -7
  231. package/dist/index64.d.ts.map +1 -1
  232. package/dist/index65.d.cts +3 -3
  233. package/dist/index65.d.ts +4 -4
  234. package/dist/index66.d.cts +4 -4
  235. package/dist/index66.d.ts +5 -5
  236. package/dist/index67.d.cts +83 -11
  237. package/dist/index67.d.cts.map +1 -1
  238. package/dist/index67.d.ts +83 -11
  239. package/dist/index67.d.ts.map +1 -1
  240. package/dist/index68.d.cts +12 -30
  241. package/dist/index68.d.cts.map +1 -1
  242. package/dist/index68.d.ts +12 -30
  243. package/dist/index68.d.ts.map +1 -1
  244. package/dist/index69.d.cts +28 -27
  245. package/dist/index69.d.cts.map +1 -1
  246. package/dist/index69.d.ts +29 -28
  247. package/dist/index69.d.ts.map +1 -1
  248. package/dist/index7.d.cts +8 -8
  249. package/dist/index7.d.cts.map +1 -1
  250. package/dist/index7.d.ts +8 -8
  251. package/dist/index7.d.ts.map +1 -1
  252. package/dist/index70.d.cts +33 -78
  253. package/dist/index70.d.cts.map +1 -1
  254. package/dist/index70.d.ts +33 -78
  255. package/dist/index70.d.ts.map +1 -1
  256. package/dist/index71.d.cts +77 -260
  257. package/dist/index71.d.cts.map +1 -1
  258. package/dist/index71.d.ts +77 -260
  259. package/dist/index71.d.ts.map +1 -1
  260. package/dist/index72.d.cts +278 -0
  261. package/dist/index72.d.cts.map +1 -0
  262. package/dist/index72.d.ts +278 -0
  263. package/dist/index72.d.ts.map +1 -0
  264. package/dist/index8.d.cts +4 -4
  265. package/dist/index8.d.cts.map +1 -1
  266. package/dist/index8.d.ts +5 -5
  267. package/dist/index9.d.cts +2 -2
  268. package/dist/index9.d.cts.map +1 -1
  269. package/dist/index9.d.ts +2 -2
  270. package/dist/index9.d.ts.map +1 -1
  271. package/dist/layouts/Container/index.cjs +2 -1
  272. package/dist/layouts/Container/index.cjs.map +1 -1
  273. package/dist/layouts/Container/index.js +1 -1
  274. package/dist/layouts/MultiColumn/index.cjs +5 -0
  275. package/dist/layouts/MultiColumn/index.d.cts +2 -0
  276. package/dist/layouts/MultiColumn/index.d.ts +2 -0
  277. package/dist/layouts/MultiColumn/index.js +2 -0
  278. package/dist/layouts/PageBackground/index.d.cts +1 -1
  279. package/dist/layouts/PageBackground/index.d.ts +1 -1
  280. package/dist/layouts/Stack/index.cjs +2 -1
  281. package/dist/layouts/Stack/index.cjs.map +1 -1
  282. package/dist/layouts/Stack/index.d.cts +1 -1
  283. package/dist/layouts/Stack/index.d.ts +1 -1
  284. package/dist/layouts/Stack/index.js +1 -1
  285. package/dist/layouts/TwoColumn/index.cjs +2 -1
  286. package/dist/layouts/TwoColumn/index.cjs.map +1 -1
  287. package/dist/layouts/TwoColumn/index.d.cts +1 -1
  288. package/dist/layouts/TwoColumn/index.d.ts +1 -1
  289. package/dist/layouts/TwoColumn/index.js +1 -1
  290. package/dist/layouts/index.cjs +4 -0
  291. package/dist/layouts/index.d.cts +5 -4
  292. package/dist/layouts/index.d.ts +5 -4
  293. package/dist/layouts/index.js +2 -1
  294. package/dist/patterns/DataTable/index.cjs +6 -2
  295. package/dist/patterns/DataTable/index.cjs.map +1 -1
  296. package/dist/patterns/DataTable/index.d.cts +3 -3
  297. package/dist/patterns/DataTable/index.d.cts.map +1 -1
  298. package/dist/patterns/DataTable/index.d.ts +3 -3
  299. package/dist/patterns/DataTable/index.d.ts.map +1 -1
  300. package/dist/patterns/DataTable/index.js +6 -2
  301. package/dist/patterns/DataTable/index.js.map +1 -1
  302. package/dist/patterns/Footer/index.d.cts +7 -7
  303. package/dist/patterns/Footer/index.d.cts.map +1 -1
  304. package/dist/patterns/Footer/index.d.ts +7 -7
  305. package/dist/patterns/Footer/index.d.ts.map +1 -1
  306. package/dist/patterns/Header/index.d.cts +1 -1
  307. package/dist/patterns/Header/index.d.ts +1 -1
  308. package/dist/patterns/MediaObject/index.cjs +1 -1
  309. package/dist/patterns/MediaObject/index.d.cts +11 -11
  310. package/dist/patterns/MediaObject/index.d.ts +12 -12
  311. package/dist/patterns/MediaObject/index.js +1 -1
  312. package/dist/patterns/NavRail/index.cjs +4 -2
  313. package/dist/patterns/NavRail/index.cjs.map +1 -1
  314. package/dist/patterns/NavRail/index.js +4 -2
  315. package/dist/patterns/NavRail/index.js.map +1 -1
  316. package/dist/patterns/SectionCard/index.d.cts +2 -2
  317. package/dist/patterns/SectionCard/index.d.ts +2 -2
  318. package/dist/patterns/SectionHeading/index.d.cts +2 -2
  319. package/dist/patterns/index.d.cts +1 -1
  320. package/dist/patterns/index.d.ts +1 -1
  321. package/dist/primitives/Accordion/index.cjs +6 -2
  322. package/dist/primitives/Accordion/index.cjs.map +1 -1
  323. package/dist/primitives/Accordion/index.js +6 -2
  324. package/dist/primitives/Accordion/index.js.map +1 -1
  325. package/dist/primitives/Alert/index.cjs +2 -1
  326. package/dist/primitives/Alert/index.cjs.map +1 -1
  327. package/dist/primitives/Alert/index.js +1 -1
  328. package/dist/primitives/AlertDialog/index.cjs +1 -1
  329. package/dist/primitives/AlertDialog/index.js +1 -1
  330. package/dist/primitives/AspectRatio/index.cjs +1 -1
  331. package/dist/primitives/AspectRatio/index.js +1 -1
  332. package/dist/primitives/Avatar/index.cjs +1 -1
  333. package/dist/primitives/Avatar/index.js +1 -1
  334. package/dist/primitives/Badge/index.cjs +3 -2
  335. package/dist/primitives/Badge/index.cjs.map +1 -1
  336. package/dist/primitives/Badge/index.js +2 -2
  337. package/dist/primitives/Breadcrumb/index.cjs +7 -3
  338. package/dist/primitives/Breadcrumb/index.cjs.map +1 -1
  339. package/dist/primitives/Breadcrumb/index.js +7 -3
  340. package/dist/primitives/Breadcrumb/index.js.map +1 -1
  341. package/dist/primitives/Button/index.cjs +3 -2
  342. package/dist/primitives/Button/index.cjs.map +1 -1
  343. package/dist/primitives/Button/index.js +2 -2
  344. package/dist/primitives/ButtonGroup/index.cjs +3 -2
  345. package/dist/primitives/ButtonGroup/index.cjs.map +1 -1
  346. package/dist/primitives/ButtonGroup/index.js +2 -2
  347. package/dist/primitives/Calendar/index.cjs +12 -11
  348. package/dist/primitives/Calendar/index.cjs.map +1 -1
  349. package/dist/primitives/Calendar/index.js +12 -11
  350. package/dist/primitives/Calendar/index.js.map +1 -1
  351. package/dist/primitives/Card/index.cjs +2 -1
  352. package/dist/primitives/Card/index.cjs.map +1 -1
  353. package/dist/primitives/Card/index.js +1 -1
  354. package/dist/primitives/Carousel/index.cjs +4 -3
  355. package/dist/primitives/Carousel/index.cjs.map +1 -1
  356. package/dist/primitives/Carousel/index.js +4 -3
  357. package/dist/primitives/Carousel/index.js.map +1 -1
  358. package/dist/primitives/Checkbox/index.cjs +9 -2
  359. package/dist/primitives/Checkbox/index.cjs.map +1 -1
  360. package/dist/primitives/Checkbox/index.js +9 -2
  361. package/dist/primitives/Checkbox/index.js.map +1 -1
  362. package/dist/primitives/CheckboxTree/index.cjs +6 -2
  363. package/dist/primitives/CheckboxTree/index.cjs.map +1 -1
  364. package/dist/primitives/CheckboxTree/index.js +6 -2
  365. package/dist/primitives/CheckboxTree/index.js.map +1 -1
  366. package/dist/primitives/Collapsible/index.cjs +1 -1
  367. package/dist/primitives/Collapsible/index.js +1 -1
  368. package/dist/primitives/Command/index.cjs +6 -2
  369. package/dist/primitives/Command/index.cjs.map +1 -1
  370. package/dist/primitives/Command/index.js +6 -2
  371. package/dist/primitives/Command/index.js.map +1 -1
  372. package/dist/primitives/ContextMenu/index.cjs +14 -4
  373. package/dist/primitives/ContextMenu/index.cjs.map +1 -1
  374. package/dist/primitives/ContextMenu/index.js +14 -4
  375. package/dist/primitives/ContextMenu/index.js.map +1 -1
  376. package/dist/primitives/Credits/index.cjs +8 -3
  377. package/dist/primitives/Credits/index.cjs.map +1 -1
  378. package/dist/primitives/Credits/index.js +7 -3
  379. package/dist/primitives/Credits/index.js.map +1 -1
  380. package/dist/primitives/Dialog/index.cjs +3 -2
  381. package/dist/primitives/Dialog/index.cjs.map +1 -1
  382. package/dist/primitives/Dialog/index.js +3 -2
  383. package/dist/primitives/Dialog/index.js.map +1 -1
  384. package/dist/primitives/DropdownMenu/index.cjs +14 -4
  385. package/dist/primitives/DropdownMenu/index.cjs.map +1 -1
  386. package/dist/primitives/DropdownMenu/index.js +14 -4
  387. package/dist/primitives/DropdownMenu/index.js.map +1 -1
  388. package/dist/primitives/Empty/index.cjs +1 -1
  389. package/dist/primitives/Empty/index.js +1 -1
  390. package/dist/primitives/Field/index.cjs +1 -1
  391. package/dist/primitives/Field/index.js +1 -1
  392. package/dist/primitives/Form/index.cjs +1 -1
  393. package/dist/primitives/Form/index.js +1 -1
  394. package/dist/primitives/Heading/index.cjs +2 -1
  395. package/dist/primitives/Heading/index.cjs.map +1 -1
  396. package/dist/primitives/Heading/index.js +1 -1
  397. package/dist/primitives/HoverCard/index.cjs +1 -1
  398. package/dist/primitives/HoverCard/index.js +1 -1
  399. package/dist/primitives/InfoBanner/index.cjs +6 -3
  400. package/dist/primitives/InfoBanner/index.cjs.map +1 -1
  401. package/dist/primitives/InfoBanner/index.js +5 -3
  402. package/dist/primitives/InfoBanner/index.js.map +1 -1
  403. package/dist/primitives/Input/index.cjs +2 -1
  404. package/dist/primitives/Input/index.cjs.map +1 -1
  405. package/dist/primitives/Input/index.js +1 -1
  406. package/dist/primitives/InputGroup/index.cjs +1 -1
  407. package/dist/primitives/InputGroup/index.js +1 -1
  408. package/dist/primitives/InputOtp/index.cjs +3 -2
  409. package/dist/primitives/InputOtp/index.cjs.map +1 -1
  410. package/dist/primitives/InputOtp/index.js +3 -2
  411. package/dist/primitives/InputOtp/index.js.map +1 -1
  412. package/dist/primitives/Item/index.cjs +2 -2
  413. package/dist/primitives/Item/index.js +2 -2
  414. package/dist/primitives/Label/index.cjs +1 -1
  415. package/dist/primitives/Label/index.js +1 -1
  416. package/dist/primitives/Link/index.cjs +3 -2
  417. package/dist/primitives/Link/index.cjs.map +1 -1
  418. package/dist/primitives/Link/index.js +2 -2
  419. package/dist/primitives/Menubar/index.cjs +14 -4
  420. package/dist/primitives/Menubar/index.cjs.map +1 -1
  421. package/dist/primitives/Menubar/index.js +14 -4
  422. package/dist/primitives/Menubar/index.js.map +1 -1
  423. package/dist/primitives/NativeSelect/index.cjs +6 -3
  424. package/dist/primitives/NativeSelect/index.cjs.map +1 -1
  425. package/dist/primitives/NativeSelect/index.js +5 -3
  426. package/dist/primitives/NativeSelect/index.js.map +1 -1
  427. package/dist/primitives/NavigationMenu/index.cjs +5 -3
  428. package/dist/primitives/NavigationMenu/index.cjs.map +1 -1
  429. package/dist/primitives/NavigationMenu/index.js +5 -3
  430. package/dist/primitives/NavigationMenu/index.js.map +1 -1
  431. package/dist/primitives/Pagination/index.cjs +6 -2
  432. package/dist/primitives/Pagination/index.cjs.map +1 -1
  433. package/dist/primitives/Pagination/index.js +6 -2
  434. package/dist/primitives/Pagination/index.js.map +1 -1
  435. package/dist/primitives/Popover/index.cjs +1 -1
  436. package/dist/primitives/Popover/index.js +1 -1
  437. package/dist/primitives/Progress/index.cjs +1 -1
  438. package/dist/primitives/Progress/index.js +1 -1
  439. package/dist/primitives/RadioGroup/index.cjs +6 -2
  440. package/dist/primitives/RadioGroup/index.cjs.map +1 -1
  441. package/dist/primitives/RadioGroup/index.js +6 -2
  442. package/dist/primitives/RadioGroup/index.js.map +1 -1
  443. package/dist/primitives/Resizable/index.cjs +6 -2
  444. package/dist/primitives/Resizable/index.cjs.map +1 -1
  445. package/dist/primitives/Resizable/index.js +6 -2
  446. package/dist/primitives/Resizable/index.js.map +1 -1
  447. package/dist/primitives/ScrollArea/index.cjs +1 -1
  448. package/dist/primitives/ScrollArea/index.js +1 -1
  449. package/dist/primitives/Select/index.cjs +18 -5
  450. package/dist/primitives/Select/index.cjs.map +1 -1
  451. package/dist/primitives/Select/index.js +18 -5
  452. package/dist/primitives/Select/index.js.map +1 -1
  453. package/dist/primitives/Separator/index.cjs +1 -1
  454. package/dist/primitives/Separator/index.js +1 -1
  455. package/dist/primitives/Sheet/index.cjs +6 -2
  456. package/dist/primitives/Sheet/index.cjs.map +1 -1
  457. package/dist/primitives/Sheet/index.js +6 -2
  458. package/dist/primitives/Sheet/index.js.map +1 -1
  459. package/dist/primitives/Slider/index.cjs +1 -1
  460. package/dist/primitives/Slider/index.js +1 -1
  461. package/dist/primitives/Sonner/index.cjs +22 -6
  462. package/dist/primitives/Sonner/index.cjs.map +1 -1
  463. package/dist/primitives/Sonner/index.js +22 -6
  464. package/dist/primitives/Sonner/index.js.map +1 -1
  465. package/dist/primitives/Spinner/index.cjs +4 -2
  466. package/dist/primitives/Spinner/index.cjs.map +1 -1
  467. package/dist/primitives/Spinner/index.js +4 -2
  468. package/dist/primitives/Spinner/index.js.map +1 -1
  469. package/dist/primitives/Switch/index.cjs +1 -1
  470. package/dist/primitives/Switch/index.js +1 -1
  471. package/dist/primitives/Tabs/index.cjs +2 -2
  472. package/dist/primitives/Tabs/index.js +2 -2
  473. package/dist/primitives/Text/index.cjs +2 -1
  474. package/dist/primitives/Text/index.cjs.map +1 -1
  475. package/dist/primitives/Text/index.js +1 -1
  476. package/dist/primitives/Textarea/index.cjs +2 -1
  477. package/dist/primitives/Textarea/index.cjs.map +1 -1
  478. package/dist/primitives/Textarea/index.js +1 -1
  479. package/dist/primitives/Toggle/index.cjs +3 -2
  480. package/dist/primitives/Toggle/index.cjs.map +1 -1
  481. package/dist/primitives/Toggle/index.js +2 -2
  482. package/dist/primitives/ToggleGroup/index.cjs +1 -1
  483. package/dist/primitives/ToggleGroup/index.js +1 -1
  484. package/dist/primitives/Tooltip/index.cjs +1 -1
  485. package/dist/primitives/Tooltip/index.js +1 -1
  486. package/dist/primitives/index.cjs +1 -1
  487. package/dist/primitives/index.js +1 -1
  488. package/package.json +2 -1
package/dist/Sidebar.js CHANGED
@@ -1,15 +1,16 @@
1
1
  import { t as cn } from "./cn.js";
2
+ import { t as Icon } from "./Icon.js";
2
3
  import { Button } from "./primitives/Button/index.js";
3
4
  import { Separator as Separator$1 } from "./primitives/Separator/index.js";
4
5
  import { Input } from "./primitives/Input/index.js";
5
6
  import { Tooltip as Tooltip$1, TooltipContent, TooltipProvider, TooltipTrigger } from "./primitives/Tooltip/index.js";
6
7
  import { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from "./primitives/Sheet/index.js";
7
8
  import { Skeleton } from "./primitives/Skeleton/index.js";
9
+ import { cva } from "class-variance-authority";
8
10
  import * as React from "react";
11
+ import { jsx, jsxs } from "react/jsx-runtime";
9
12
  import { PanelLeftIcon } from "lucide-react";
10
13
  import { Slot } from "radix-ui";
11
- import { jsx, jsxs } from "react/jsx-runtime";
12
- import { cva } from "class-variance-authority";
13
14
  //#region src/utils/use-mobile.ts
14
15
  const MOBILE_BREAKPOINT = 768;
15
16
  function useIsMobile() {
@@ -171,7 +172,7 @@ function SidebarTrigger({ className, onClick, ...props }) {
171
172
  toggleSidebar();
172
173
  },
173
174
  ...props,
174
- children: [/* @__PURE__ */ jsx(PanelLeftIcon, {}), /* @__PURE__ */ jsx("span", {
175
+ children: [/* @__PURE__ */ jsx(Icon, { as: PanelLeftIcon }), /* @__PURE__ */ jsx("span", {
175
176
  className: "sr-only",
176
177
  children: "Toggle Sidebar"
177
178
  })]
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.js","names":["Separator","Tooltip"],"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-muted-bg 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-muted-bg text-primary-txt 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-muted-bg text-primary-txt 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-primary-txt 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-muted-bg group-data-[variant=floating]:border-primary-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-8 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-primary-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-1 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 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-muted-bg 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-primary-bg relative flex w-full flex-1 flex-col\",\n \"md:peer-data-[variant=inset]:m-0.5 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-12 md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-0.5\",\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-primary-bg 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-primary-border mx-0.5 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-primary-txt/70 ring-focus flex h-8 shrink-0 items-center rounded-6 px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-1 [&>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-primary-txt ring-focus hover:bg-secondary-bg hover:text-primary-txt absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-6 p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-1 [&>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-6 p-2 text-left text-sm outline-hidden ring-focus transition-[width,height,padding] hover:bg-secondary-bg/50 hover:text-primary-txt focus-visible:ring-2 active:bg-secondary-bg active:text-primary-txt disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-2 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-secondary-bg data-[active=true]:font-medium data-[active=true]:text-primary-txt data-[state=open]:hover:bg-secondary-bg/50 data-[state=open]:hover:text-primary-txt group-data-[collapsible=icon]:size-2! group-data-[collapsible=icon]:p-0.5! [&>span:last-child]:truncate [&>svg]:size-1 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-secondary-bg/50 hover:text-primary-txt\",\n outline:\n \"bg-primary-bg shadow-[0_0_0_1px_var(--primary-border)] hover:bg-secondary-bg/50 hover:text-primary-txt hover:shadow-[0_0_0_1px_var(--secondary-bg)]\",\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-primary-txt ring-focus hover:bg-secondary-bg hover:text-primary-txt peer-hover/menu-button:text-primary-txt absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-6 p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-1 [&>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-primary-txt 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-primary-txt pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-6 px-1 text-xs font-medium tabular-nums select-none\",\n \"peer-hover/menu-button:text-primary-txt peer-data-[active=true]/menu-button:text-primary-txt\",\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-6 px-2\", className)}\n {...props}\n >\n {showIcon && <Skeleton className=\"size-4 rounded-6\" 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-primary-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-primary-txt ring-focus hover:bg-secondary-bg/50 hover:text-primary-txt active:bg-secondary-bg active:text-primary-txt [&>svg]:text-primary-txt flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-6 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-1 [&>svg]:shrink-0\",\n \"data-[active=true]:bg-secondary-bg data-[active=true]:font-medium data-[active=true]:text-primary-txt\",\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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"}
1
+ {"version":3,"file":"Sidebar.js","names":["Separator","Tooltip"],"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 { Icon } from \"@/primitives/Icon\";\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-muted-bg 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-muted-bg text-primary-txt 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-muted-bg text-primary-txt 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-primary-txt 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-muted-bg group-data-[variant=floating]:border-primary-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-8 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 <Icon as={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-primary-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-1 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 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-muted-bg 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-primary-bg relative flex w-full flex-1 flex-col\",\n \"md:peer-data-[variant=inset]:m-0.5 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-12 md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-0.5\",\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-primary-bg 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-primary-border mx-0.5 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-primary-txt/70 ring-focus flex h-8 shrink-0 items-center rounded-6 px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-1 [&>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-primary-txt ring-focus hover:bg-secondary-bg hover:text-primary-txt absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-6 p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-1 [&>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-6 p-2 text-left text-sm outline-hidden ring-focus transition-[width,height,padding] hover:bg-secondary-bg/50 hover:text-primary-txt focus-visible:ring-2 active:bg-secondary-bg active:text-primary-txt disabled:pointer-events-none disabled:opacity-50 group-has-data-[sidebar=menu-action]/menu-item:pr-2 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-secondary-bg data-[active=true]:font-medium data-[active=true]:text-primary-txt data-[state=open]:hover:bg-secondary-bg/50 data-[state=open]:hover:text-primary-txt group-data-[collapsible=icon]:size-2! group-data-[collapsible=icon]:p-0.5! [&>span:last-child]:truncate [&>svg]:size-1 [&>svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"hover:bg-secondary-bg/50 hover:text-primary-txt\",\n outline:\n \"bg-primary-bg shadow-[0_0_0_1px_var(--primary-border)] hover:bg-secondary-bg/50 hover:text-primary-txt hover:shadow-[0_0_0_1px_var(--secondary-bg)]\",\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-primary-txt ring-focus hover:bg-secondary-bg hover:text-primary-txt peer-hover/menu-button:text-primary-txt absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-6 p-0 outline-hidden transition-transform focus-visible:ring-2 [&>svg]:size-1 [&>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-primary-txt 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-primary-txt pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-6 px-1 text-xs font-medium tabular-nums select-none\",\n \"peer-hover/menu-button:text-primary-txt peer-data-[active=true]/menu-button:text-primary-txt\",\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-6 px-2\", className)}\n {...props}\n >\n {showIcon && <Skeleton className=\"size-4 rounded-6\" 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-primary-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-primary-txt ring-focus hover:bg-secondary-bg/50 hover:text-primary-txt active:bg-secondary-bg active:text-primary-txt [&>svg]:text-primary-txt flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-6 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-1 [&>svg]:shrink-0\",\n \"data-[active=true]:bg-secondary-bg data-[active=true]:font-medium data-[active=true]:text-primary-txt\",\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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"}
package/dist/index.cjs CHANGED
@@ -1,6 +1,7 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_cn = require("./cn.cjs");
3
3
  const require_Sidebar = require("./Sidebar.cjs");
4
+ const require_Icon = require("./Icon.cjs");
4
5
  const require_primitives_Accordion_index = require("./primitives/Accordion/index.cjs");
5
6
  const require_primitives_Alert_index = require("./primitives/Alert/index.cjs");
6
7
  const require_primitives_Spinner_index = require("./primitives/Spinner/index.cjs");
@@ -31,7 +32,6 @@ const require_primitives_Field_index = require("./primitives/Field/index.cjs");
31
32
  const require_primitives_Form_index = require("./primitives/Form/index.cjs");
32
33
  const require_primitives_Heading_index = require("./primitives/Heading/index.cjs");
33
34
  const require_primitives_HoverCard_index = require("./primitives/HoverCard/index.cjs");
34
- const require_Icon = require("./Icon.cjs");
35
35
  const require_primitives_InfoBanner_index = require("./primitives/InfoBanner/index.cjs");
36
36
  const require_primitives_Input_index = require("./primitives/Input/index.cjs");
37
37
  const require_primitives_Textarea_index = require("./primitives/Textarea/index.cjs");
@@ -66,6 +66,7 @@ const require_primitives_Toggle_index = require("./primitives/Toggle/index.cjs")
66
66
  const require_primitives_ToggleGroup_index = require("./primitives/ToggleGroup/index.cjs");
67
67
  require("./primitives/index.cjs");
68
68
  const require_layouts_Container_index = require("./layouts/Container/index.cjs");
69
+ const require_MultiColumn = require("./MultiColumn.cjs");
69
70
  const require_layouts_PageBackground_index = require("./layouts/PageBackground/index.cjs");
70
71
  const require_layouts_Stack_index = require("./layouts/Stack/index.cjs");
71
72
  const require_layouts_TwoColumn_index = require("./layouts/TwoColumn/index.cjs");
@@ -269,6 +270,8 @@ exports.MenubarSub = require_primitives_Menubar_index.MenubarSub;
269
270
  exports.MenubarSubContent = require_primitives_Menubar_index.MenubarSubContent;
270
271
  exports.MenubarSubTrigger = require_primitives_Menubar_index.MenubarSubTrigger;
271
272
  exports.MenubarTrigger = require_primitives_Menubar_index.MenubarTrigger;
273
+ exports.MultiColumn = require_MultiColumn.MultiColumn;
274
+ exports.MultiColumnItem = require_MultiColumn.MultiColumnItem;
272
275
  exports.NativeSelect = require_primitives_NativeSelect_index.NativeSelect;
273
276
  exports.NavRail = require_patterns_NavRail_index.NavRail;
274
277
  exports.NavRailItem = require_patterns_NavRail_index.NavRailItem;
@@ -403,6 +406,7 @@ exports.headingVariants = require_primitives_Heading_index.headingVariants;
403
406
  exports.infoBannerVariants = require_primitives_InfoBanner_index.infoBannerVariants;
404
407
  exports.inputVariants = require_primitives_Input_index.inputVariants;
405
408
  exports.linkVariants = require_primitives_Link_index.linkVariants;
409
+ exports.multiColumnVariants = require_MultiColumn.multiColumnVariants;
406
410
  exports.nativeSelectVariants = require_primitives_NativeSelect_index.nativeSelectVariants;
407
411
  exports.navigationMenuTriggerStyle = require_primitives_NavigationMenu_index.navigationMenuTriggerStyle;
408
412
  exports.stackVariants = require_layouts_Stack_index.stackVariants;
package/dist/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime232 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime26 from "react/jsx-runtime";
2
2
  import { Accordion } from "radix-ui";
3
3
 
4
4
  //#region src/primitives/Accordion/Accordion.d.ts
@@ -10,24 +10,24 @@ declare function Accordion$1({
10
10
  }: React.ComponentProps<typeof Accordion.Root> & {
11
11
  /** Visual style: `line` (divider rows) or `bordered` (rounded border with inset rows). */
12
12
  variant?: "line" | "bordered";
13
- }): react_jsx_runtime232.JSX.Element;
13
+ }): react_jsx_runtime26.JSX.Element;
14
14
  /** A single collapsible section; identified by its required `value`. */
15
15
  declare function AccordionItem({
16
16
  className,
17
17
  ...props
18
- }: React.ComponentProps<typeof Accordion.Item>): react_jsx_runtime232.JSX.Element;
18
+ }: React.ComponentProps<typeof Accordion.Item>): react_jsx_runtime26.JSX.Element;
19
19
  /** The clickable header that toggles its section open or closed. */
20
20
  declare function AccordionTrigger({
21
21
  className,
22
22
  children,
23
23
  ...props
24
- }: React.ComponentProps<typeof Accordion.Trigger>): react_jsx_runtime232.JSX.Element;
24
+ }: React.ComponentProps<typeof Accordion.Trigger>): react_jsx_runtime26.JSX.Element;
25
25
  /** The animated collapsible panel revealed when its section is open. */
26
26
  declare function AccordionContent({
27
27
  className,
28
28
  children,
29
29
  ...props
30
- }: React.ComponentProps<typeof Accordion.Content>): react_jsx_runtime232.JSX.Element;
30
+ }: React.ComponentProps<typeof Accordion.Content>): react_jsx_runtime26.JSX.Element;
31
31
  //#endregion
32
32
  export { AccordionTrigger as i, AccordionContent as n, AccordionItem as r, Accordion$1 as t };
33
33
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/primitives/Accordion/Accordion.tsx"],"mappings":";;;;;iBAKS,WAAA;;;;GAIN,KAAA,CAAM,sBAAsB,SAAA,CAAmB;;EAJzC,OAAA,CAAA,EAAA,MAAS,GAAA,UAAA;CAAA,CAAA,EAOjB,oBAAA,CAAA,GAAA,CAAA,OAPiB;;iBAyBT,aAAA,CAvBP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0BC,KAAA,CAAM,cA1BP,CAAA,OA0B6B,SAAA,CAAmB,IA1BhD,CAAA,CAAA,EA0BqD,oBAAA,CAAA,GAAA,CAAA,OA1BrD;;iBAwCO,gBAAA,CAtCA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA0CN,KAAA,CAAM,cA1CA,CAAA,OA0CsB,SAAA,CAAmB,OA1CzC,CAAA,CAAA,EA0CiD,oBAAA,CAAA,GAAA,CAAA,OA1CjD;;AAGR,iBA2DQ,gBAAA,CA3DR;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA+DE,KAAA,CAAM,cA/DR,CAAA,OA+D8B,SAAA,CAAmB,OA/DjD,CAAA,CAAA,EA+DyD,oBAAA,CAAA,GAAA,CAAA,OA/DzD"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/primitives/Accordion/Accordion.tsx"],"mappings":";;;;;iBAMS,WAAA;;;;GAIN,KAAA,CAAM,sBAAsB,SAAA,CAAmB;;EAJzC,OAAA,CAAA,EAAA,MAAS,GAAA,UAAA;CAAA,CAAA,EAOjB,mBAAA,CAAA,GAAA,CAAA,OAPiB;;iBAyBT,aAAA,CAvBP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0BC,KAAA,CAAM,cA1BP,CAAA,OA0B6B,SAAA,CAAmB,IA1BhD,CAAA,CAAA,EA0BqD,mBAAA,CAAA,GAAA,CAAA,OA1BrD;;iBAwCO,gBAAA,CAtCA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA0CN,KAAA,CAAM,cA1CA,CAAA,OA0CsB,SAAA,CAAmB,OA1CzC,CAAA,CAAA,EA0CiD,mBAAA,CAAA,GAAA,CAAA,OA1CjD;;AAGR,iBA8DQ,gBAAA,CA9DR;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAkEE,KAAA,CAAM,cAlER,CAAA,OAkE8B,SAAA,CAAmB,OAlEjD,CAAA,CAAA,EAkEyD,mBAAA,CAAA,GAAA,CAAA,OAlEzD"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
+ import * as react_jsx_runtime196 from "react/jsx-runtime";
1
2
  import { Accordion } from "radix-ui";
2
- import * as react_jsx_runtime307 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/primitives/Accordion/Accordion.d.ts
5
5
  /** A vertically stacked set of collapsible sections built on Radix Accordion. */
@@ -10,24 +10,24 @@ declare function Accordion$1({
10
10
  }: React.ComponentProps<typeof Accordion.Root> & {
11
11
  /** Visual style: `line` (divider rows) or `bordered` (rounded border with inset rows). */
12
12
  variant?: "line" | "bordered";
13
- }): react_jsx_runtime307.JSX.Element;
13
+ }): react_jsx_runtime196.JSX.Element;
14
14
  /** A single collapsible section; identified by its required `value`. */
15
15
  declare function AccordionItem({
16
16
  className,
17
17
  ...props
18
- }: React.ComponentProps<typeof Accordion.Item>): react_jsx_runtime307.JSX.Element;
18
+ }: React.ComponentProps<typeof Accordion.Item>): react_jsx_runtime196.JSX.Element;
19
19
  /** The clickable header that toggles its section open or closed. */
20
20
  declare function AccordionTrigger({
21
21
  className,
22
22
  children,
23
23
  ...props
24
- }: React.ComponentProps<typeof Accordion.Trigger>): react_jsx_runtime307.JSX.Element;
24
+ }: React.ComponentProps<typeof Accordion.Trigger>): react_jsx_runtime196.JSX.Element;
25
25
  /** The animated collapsible panel revealed when its section is open. */
26
26
  declare function AccordionContent({
27
27
  className,
28
28
  children,
29
29
  ...props
30
- }: React.ComponentProps<typeof Accordion.Content>): react_jsx_runtime307.JSX.Element;
30
+ }: React.ComponentProps<typeof Accordion.Content>): react_jsx_runtime196.JSX.Element;
31
31
  //#endregion
32
32
  export { AccordionTrigger as i, AccordionContent as n, AccordionItem as r, Accordion$1 as t };
33
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/primitives/Accordion/Accordion.tsx"],"mappings":";;;;;iBAKS,WAAA;;;;GAIN,KAAA,CAAM,sBAAsB,SAAA,CAAmB;;EAJzC,OAAA,CAAA,EAAA,MAAS,GAAA,UAAA;CAAA,CAAA,EAOjB,oBAAA,CAAA,GAAA,CAAA,OAPiB;;iBAyBT,aAAA,CAvBP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0BC,KAAA,CAAM,cA1BP,CAAA,OA0B6B,SAAA,CAAmB,IA1BhD,CAAA,CAAA,EA0BqD,oBAAA,CAAA,GAAA,CAAA,OA1BrD;;iBAwCO,gBAAA,CAtCA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA0CN,KAAA,CAAM,cA1CA,CAAA,OA0CsB,SAAA,CAAmB,OA1CzC,CAAA,CAAA,EA0CiD,oBAAA,CAAA,GAAA,CAAA,OA1CjD;;AAGR,iBA2DQ,gBAAA,CA3DR;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA+DE,KAAA,CAAM,cA/DR,CAAA,OA+D8B,SAAA,CAAmB,OA/DjD,CAAA,CAAA,EA+DyD,oBAAA,CAAA,GAAA,CAAA,OA/DzD"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/primitives/Accordion/Accordion.tsx"],"mappings":";;;;;iBAMS,WAAA;;;;GAIN,KAAA,CAAM,sBAAsB,SAAA,CAAmB;;EAJzC,OAAA,CAAA,EAAA,MAAS,GAAA,UAAA;CAAA,CAAA,EAOjB,oBAAA,CAAA,GAAA,CAAA,OAPiB;;iBAyBT,aAAA,CAvBP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA0BC,KAAA,CAAM,cA1BP,CAAA,OA0B6B,SAAA,CAAmB,IA1BhD,CAAA,CAAA,EA0BqD,oBAAA,CAAA,GAAA,CAAA,OA1BrD;;iBAwCO,gBAAA,CAtCA;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EA0CN,KAAA,CAAM,cA1CA,CAAA,OA0CsB,SAAA,CAAmB,OA1CzC,CAAA,CAAA,EA0CiD,oBAAA,CAAA,GAAA,CAAA,OA1CjD;;AAGR,iBA8DQ,gBAAA,CA9DR;EAAA,SAAA;EAAA,QAAA;EAAA,GAAA;AAAA,CAAA,EAkEE,KAAA,CAAM,cAlER,CAAA,OAkE8B,SAAA,CAAmB,OAlEjD,CAAA,CAAA,EAkEyD,oBAAA,CAAA,GAAA,CAAA,OAlEzD"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { t as cn } from "./cn.js";
2
2
  import { C as SidebarTrigger, S as SidebarSeparator, T as useIsMobile, _ as SidebarMenuSub, a as SidebarGroupAction, b as SidebarProvider, c as SidebarHeader, d as SidebarMenu, f as SidebarMenuAction, g as SidebarMenuSkeleton, h as SidebarMenuItem, i as SidebarGroup, l as SidebarInput, m as SidebarMenuButton, n as SidebarContent, o as SidebarGroupContent, p as SidebarMenuBadge, r as SidebarFooter, s as SidebarGroupLabel, t as Sidebar, u as SidebarInset, v as SidebarMenuSubButton, w as useSidebar, x as SidebarRail, y as SidebarMenuSubItem } from "./Sidebar.js";
3
+ import { n as ICON_NAMES, t as Icon } from "./Icon.js";
3
4
  import { Accordion, AccordionContent, AccordionItem, AccordionTrigger } from "./primitives/Accordion/index.js";
4
5
  import { Alert, AlertAction, AlertContent, AlertDescription, AlertTitle } from "./primitives/Alert/index.js";
5
6
  import { Spinner } from "./primitives/Spinner/index.js";
@@ -30,7 +31,6 @@ import { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLab
30
31
  import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField } from "./primitives/Form/index.js";
31
32
  import { Heading, headingVariants } from "./primitives/Heading/index.js";
32
33
  import { HoverCard, HoverCardContent, HoverCardTrigger } from "./primitives/HoverCard/index.js";
33
- import { n as ICON_NAMES, t as Icon } from "./Icon.js";
34
34
  import { InfoBanner, infoBannerVariants } from "./primitives/InfoBanner/index.js";
35
35
  import { Input, inputVariants } from "./primitives/Input/index.js";
36
36
  import { Textarea, textareaVariants } from "./primitives/Textarea/index.js";
@@ -65,9 +65,10 @@ import { Toggle, toggleVariants } from "./primitives/Toggle/index.js";
65
65
  import { ToggleGroup, ToggleGroupItem } from "./primitives/ToggleGroup/index.js";
66
66
  import "./primitives/index.js";
67
67
  import { Container, containerVariants } from "./layouts/Container/index.js";
68
+ import { n as MultiColumnItem, r as multiColumnVariants, t as MultiColumn } from "./MultiColumn.js";
68
69
  import { PageBackground } from "./layouts/PageBackground/index.js";
69
70
  import { Stack, stackVariants } from "./layouts/Stack/index.js";
70
71
  import { TwoColumn, TwoColumnAside, TwoColumnMain, twoColumnVariants } from "./layouts/TwoColumn/index.js";
71
72
  import "./layouts/index.js";
72
73
  import "./contexts/index.js";
73
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertContent, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxTree, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Container, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Credits, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Heading, HoverCard, HoverCardContent, HoverCardTrigger, ICON_NAMES, Icon, InfoBanner, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, Logo, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, NativeSelect, NavRail, NavRailItem, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuTrigger, NavRailSeparator, NavRailUser, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, PageBackground, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichCheckbox, RichRadioItem, RichSwitchGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SkeletonAvatar, SkeletonLine, SkeletonObject, Slider, Spinner, Stack, Switch, SwitchGroup, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsCounter, TabsList, TabsTrigger, Text, Textarea, ThemeContext, ThemeProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TwoColumn, TwoColumnAside, TwoColumnMain, badgeVariants, buttonGroupVariants, buttonVariants, cardVariants, cn, containerVariants, creditsVariants, emptyVariants, headingVariants, infoBannerVariants, inputVariants, linkVariants, nativeSelectVariants, navigationMenuTriggerStyle, stackVariants, tabsListVariants, tabsTriggerVariants, textVariants, textareaVariants, toggleVariants, twoColumnVariants, useFormField, useIsMobile, useSidebar, useTheme };
74
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertAction, AlertContent, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AspectRatio, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupSeparator, ButtonGroupText, Calendar, CalendarDayButton, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, CheckboxTree, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, Container, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, Credits, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Heading, HoverCard, HoverCardContent, HoverCardTrigger, ICON_NAMES, Icon, InfoBanner, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, Kbd, KbdGroup, Label, Link, Logo, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MultiColumn, MultiColumnItem, NativeSelect, NavRail, NavRailItem, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuTrigger, NavRailSeparator, NavRailUser, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, PageBackground, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichCheckbox, RichRadioItem, RichSwitchGroup, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, SkeletonAvatar, SkeletonLine, SkeletonObject, Slider, Spinner, Stack, Switch, SwitchGroup, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsCounter, TabsList, TabsTrigger, Text, Textarea, ThemeContext, ThemeProvider, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TwoColumn, TwoColumnAside, TwoColumnMain, badgeVariants, buttonGroupVariants, buttonVariants, cardVariants, cn, containerVariants, creditsVariants, emptyVariants, headingVariants, infoBannerVariants, inputVariants, linkVariants, multiColumnVariants, nativeSelectVariants, navigationMenuTriggerStyle, stackVariants, tabsListVariants, tabsTriggerVariants, textVariants, textareaVariants, toggleVariants, twoColumnVariants, useFormField, useIsMobile, useSidebar, useTheme };
@@ -1,12 +1,12 @@
1
1
  import { t as Separator } from "./index9.cjs";
2
- import * as react_jsx_runtime174 from "react/jsx-runtime";
3
- import * as class_variance_authority_types21 from "class-variance-authority/types";
2
+ import * as react_jsx_runtime129 from "react/jsx-runtime";
3
+ import * as class_variance_authority_types12 from "class-variance-authority/types";
4
4
  import { VariantProps } from "class-variance-authority";
5
5
 
6
6
  //#region src/primitives/ButtonGroup/ButtonGroup.d.ts
7
7
  declare const buttonGroupVariants: (props?: ({
8
8
  orientation?: "horizontal" | "vertical" | null | undefined;
9
- } & class_variance_authority_types21.ClassProp) | undefined) => string;
9
+ } & class_variance_authority_types12.ClassProp) | undefined) => string;
10
10
  /** Props for the {@link ButtonGroup} container. */
11
11
  type ButtonGroupProps = React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>;
12
12
  /** Groups related buttons into a single attached unit with merged borders and shared corners. */
@@ -15,7 +15,7 @@ declare function ButtonGroup({
15
15
  /** Lays the group out left-to-right (`horizontal`, default) or stacked (`vertical`). */
16
16
  orientation,
17
17
  ...props
18
- }: ButtonGroupProps): react_jsx_runtime174.JSX.Element;
18
+ }: ButtonGroupProps): react_jsx_runtime129.JSX.Element;
19
19
  /** A non-interactive label/affix segment styled to sit inline with the grouped buttons. */
20
20
  declare function ButtonGroupText({
21
21
  className,
@@ -25,14 +25,14 @@ declare function ButtonGroupText({
25
25
  }: React.ComponentProps<"div"> & {
26
26
  /** Renders into the child element via Radix `Slot` instead of a wrapping `div`. */
27
27
  asChild?: boolean;
28
- }): react_jsx_runtime174.JSX.Element;
28
+ }): react_jsx_runtime129.JSX.Element;
29
29
  /** A divider between segments inside a {@link ButtonGroup}, defaulting to a vertical rule. */
30
30
  declare function ButtonGroupSeparator({
31
31
  className,
32
32
  /** Divider direction; defaults to `vertical` to split horizontally-laid buttons. */
33
33
  orientation,
34
34
  ...props
35
- }: React.ComponentProps<typeof Separator>): react_jsx_runtime174.JSX.Element;
35
+ }: React.ComponentProps<typeof Separator>): react_jsx_runtime129.JSX.Element;
36
36
  //#endregion
37
37
  export { buttonGroupVariants as i, ButtonGroupSeparator as n, ButtonGroupText as r, ButtonGroup as t };
38
38
  //# sourceMappingURL=index10.d.cts.map
package/dist/index10.d.ts CHANGED
@@ -1,12 +1,12 @@
1
1
  import { t as Separator } from "./index9.js";
2
- import * as react_jsx_runtime284 from "react/jsx-runtime";
3
2
  import { VariantProps } from "class-variance-authority";
4
- import * as class_variance_authority_types24 from "class-variance-authority/types";
3
+ import * as react_jsx_runtime181 from "react/jsx-runtime";
4
+ import * as class_variance_authority_types15 from "class-variance-authority/types";
5
5
 
6
6
  //#region src/primitives/ButtonGroup/ButtonGroup.d.ts
7
7
  declare const buttonGroupVariants: (props?: ({
8
8
  orientation?: "vertical" | "horizontal" | null | undefined;
9
- } & class_variance_authority_types24.ClassProp) | undefined) => string;
9
+ } & class_variance_authority_types15.ClassProp) | undefined) => string;
10
10
  /** Props for the {@link ButtonGroup} container. */
11
11
  type ButtonGroupProps = React.ComponentProps<"div"> & VariantProps<typeof buttonGroupVariants>;
12
12
  /** Groups related buttons into a single attached unit with merged borders and shared corners. */
@@ -15,7 +15,7 @@ declare function ButtonGroup({
15
15
  /** Lays the group out left-to-right (`horizontal`, default) or stacked (`vertical`). */
16
16
  orientation,
17
17
  ...props
18
- }: ButtonGroupProps): react_jsx_runtime284.JSX.Element;
18
+ }: ButtonGroupProps): react_jsx_runtime181.JSX.Element;
19
19
  /** A non-interactive label/affix segment styled to sit inline with the grouped buttons. */
20
20
  declare function ButtonGroupText({
21
21
  className,
@@ -25,14 +25,14 @@ declare function ButtonGroupText({
25
25
  }: React.ComponentProps<"div"> & {
26
26
  /** Renders into the child element via Radix `Slot` instead of a wrapping `div`. */
27
27
  asChild?: boolean;
28
- }): react_jsx_runtime284.JSX.Element;
28
+ }): react_jsx_runtime181.JSX.Element;
29
29
  /** A divider between segments inside a {@link ButtonGroup}, defaulting to a vertical rule. */
30
30
  declare function ButtonGroupSeparator({
31
31
  className,
32
32
  /** Divider direction; defaults to `vertical` to split horizontally-laid buttons. */
33
33
  orientation,
34
34
  ...props
35
- }: React.ComponentProps<typeof Separator>): react_jsx_runtime284.JSX.Element;
35
+ }: React.ComponentProps<typeof Separator>): react_jsx_runtime181.JSX.Element;
36
36
  //#endregion
37
37
  export { buttonGroupVariants as i, ButtonGroupSeparator as n, ButtonGroupText as r, ButtonGroup as t };
38
38
  //# sourceMappingURL=index10.d.ts.map
@@ -1,5 +1,5 @@
1
1
  import { t as Button } from "./index8.cjs";
2
- import * as react_jsx_runtime186 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime100 from "react/jsx-runtime";
3
3
  import * as React from "react";
4
4
  import { DayButton, DayPicker } from "react-day-picker";
5
5
 
@@ -17,14 +17,14 @@ declare function Calendar({
17
17
  }: React.ComponentProps<typeof DayPicker> & {
18
18
  /** Button variant used for the previous/next navigation controls. */
19
19
  buttonVariant?: React.ComponentProps<typeof Button>["variant"];
20
- }): react_jsx_runtime186.JSX.Element;
20
+ }): react_jsx_runtime100.JSX.Element;
21
21
  /** Single day cell button, applying selected/range styling from the day's modifiers. */
22
22
  declare function CalendarDayButton({
23
23
  className,
24
24
  day,
25
25
  modifiers,
26
26
  ...props
27
- }: React.ComponentProps<typeof DayButton>): react_jsx_runtime186.JSX.Element;
27
+ }: React.ComponentProps<typeof DayButton>): react_jsx_runtime100.JSX.Element;
28
28
  //#endregion
29
29
  export { CalendarDayButton as n, Calendar as t };
30
30
  //# sourceMappingURL=index11.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index11.d.cts","names":[],"sources":["../src/primitives/Calendar/Calendar.tsx"],"mappings":";;;;;;;iBAQS,QAAA;;;;;;;;;GASN,KAAA,CAAM,sBAAsB;;EATtB,aAAQ,CAAA,EAWC,KAAA,CAAM,cAXP,CAAA,OAW6B,MAX7B,CAAA,CAAA,SAAA,CAAA;CAAA,CAAA,EAYhB,oBAAA,CAAA,GAAA,CAAA,OAZgB;;iBAsIR,iBAAA,CApIP;EAAA,SAAA;EAAA,GAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyIC,KAAA,CAAM,cAzIP,CAAA,OAyI6B,SAzI7B,CAAA,CAAA,EAyIuC,oBAAA,CAAA,GAAA,CAAA,OAzIvC"}
1
+ {"version":3,"file":"index11.d.cts","names":[],"sources":["../src/primitives/Calendar/Calendar.tsx"],"mappings":";;;;;;;iBASS,QAAA;;;;;;;;;GASN,KAAA,CAAM,sBAAsB;;EATtB,aAAQ,CAAA,EAWC,KAAA,CAAM,cAXP,CAAA,OAW6B,MAX7B,CAAA,CAAA,SAAA,CAAA;CAAA,CAAA,EAYhB,oBAAA,CAAA,GAAA,CAAA,OAZgB;;iBAwIR,iBAAA,CAtIP;EAAA,SAAA;EAAA,GAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2IC,KAAA,CAAM,cA3IP,CAAA,OA2I6B,SA3I7B,CAAA,CAAA,EA2IuC,oBAAA,CAAA,GAAA,CAAA,OA3IvC"}
package/dist/index11.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { t as Button } from "./index8.js";
2
2
  import * as React from "react";
3
- import * as react_jsx_runtime294 from "react/jsx-runtime";
3
+ import * as react_jsx_runtime184 from "react/jsx-runtime";
4
4
  import { DayButton, DayPicker } from "react-day-picker";
5
5
 
6
6
  //#region src/primitives/Calendar/Calendar.d.ts
@@ -17,14 +17,14 @@ declare function Calendar({
17
17
  }: React.ComponentProps<typeof DayPicker> & {
18
18
  /** Button variant used for the previous/next navigation controls. */
19
19
  buttonVariant?: React.ComponentProps<typeof Button>["variant"];
20
- }): react_jsx_runtime294.JSX.Element;
20
+ }): react_jsx_runtime184.JSX.Element;
21
21
  /** Single day cell button, applying selected/range styling from the day's modifiers. */
22
22
  declare function CalendarDayButton({
23
23
  className,
24
24
  day,
25
25
  modifiers,
26
26
  ...props
27
- }: React.ComponentProps<typeof DayButton>): react_jsx_runtime294.JSX.Element;
27
+ }: React.ComponentProps<typeof DayButton>): react_jsx_runtime184.JSX.Element;
28
28
  //#endregion
29
29
  export { CalendarDayButton as n, Calendar as t };
30
30
  //# sourceMappingURL=index11.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index11.d.ts","names":[],"sources":["../src/primitives/Calendar/Calendar.tsx"],"mappings":";;;;;;;iBAQS,QAAA;;;;;;;;;GASN,KAAA,CAAM,sBAAsB;;EATtB,aAAQ,CAAA,EAWC,KAAA,CAAM,cAXP,CAAA,OAW6B,MAX7B,CAAA,CAAA,SAAA,CAAA;CAAA,CAAA,EAYhB,oBAAA,CAAA,GAAA,CAAA,OAZgB;;iBAsIR,iBAAA,CApIP;EAAA,SAAA;EAAA,GAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyIC,KAAA,CAAM,cAzIP,CAAA,OAyI6B,SAzI7B,CAAA,CAAA,EAyIuC,oBAAA,CAAA,GAAA,CAAA,OAzIvC"}
1
+ {"version":3,"file":"index11.d.ts","names":[],"sources":["../src/primitives/Calendar/Calendar.tsx"],"mappings":";;;;;;;iBASS,QAAA;;;;;;;;;GASN,KAAA,CAAM,sBAAsB;;EATtB,aAAQ,CAAA,EAWC,KAAA,CAAM,cAXP,CAAA,OAW6B,MAX7B,CAAA,CAAA,SAAA,CAAA;CAAA,CAAA,EAYhB,oBAAA,CAAA,GAAA,CAAA,OAZgB;;iBAwIR,iBAAA,CAtIP;EAAA,SAAA;EAAA,GAAA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA2IC,KAAA,CAAM,cA3IP,CAAA,OA2I6B,SA3I7B,CAAA,CAAA,EA2IuC,oBAAA,CAAA,GAAA,CAAA,OA3IvC"}
@@ -1,13 +1,13 @@
1
- import * as react_jsx_runtime158 from "react/jsx-runtime";
2
- import * as class_variance_authority_types20 from "class-variance-authority/types";
1
+ import * as react_jsx_runtime69 from "react/jsx-runtime";
2
+ import * as class_variance_authority_types4 from "class-variance-authority/types";
3
3
  import { VariantProps } from "class-variance-authority";
4
4
  import * as React from "react";
5
5
 
6
6
  //#region src/primitives/Card/Card.d.ts
7
7
  declare const cardVariants: (props?: ({
8
- variant?: "default" | "ai" | "inverted" | "glass" | "brand" | null | undefined;
9
- tint?: "medium" | "subtle" | "light" | "heavy" | null | undefined;
10
- } & class_variance_authority_types20.ClassProp) | undefined) => string;
8
+ variant?: "default" | "ai" | "glass" | "brand" | "inverted" | null | undefined;
9
+ tint?: "subtle" | "light" | "medium" | "heavy" | null | undefined;
10
+ } & class_variance_authority_types4.ClassProp) | undefined) => string;
11
11
  type CardProps = React.ComponentProps<"div"> & VariantProps<typeof cardVariants> & {
12
12
  /** Surface treatment of the card. Default `default` (solid surface). */
13
13
  variant?: VariantProps<typeof cardVariants>["variant"];
@@ -20,7 +20,7 @@ declare function Card({
20
20
  variant,
21
21
  tint,
22
22
  ...props
23
- }: CardProps): react_jsx_runtime158.JSX.Element;
23
+ }: CardProps): react_jsx_runtime69.JSX.Element;
24
24
  declare const cardHeaderAlign: {
25
25
  readonly start: "items-start";
26
26
  readonly center: "items-center";
@@ -34,28 +34,28 @@ declare function CardHeader({
34
34
  }: React.ComponentProps<"div"> & {
35
35
  /** Vertical alignment of the header items. Default `center`. */
36
36
  align?: keyof typeof cardHeaderAlign;
37
- }): react_jsx_runtime158.JSX.Element;
37
+ }): react_jsx_runtime69.JSX.Element;
38
38
  /** Card heading rendered as an `h4`. Figma binds the body font (Inter Semibold
39
39
  16/24), so we override the base heading styles explicitly. */
40
40
  declare function CardTitle({
41
41
  className,
42
42
  ...props
43
- }: React.ComponentProps<"div">): react_jsx_runtime158.JSX.Element;
43
+ }: React.ComponentProps<"div">): react_jsx_runtime69.JSX.Element;
44
44
  /** Muted supporting text shown beneath the title. */
45
45
  declare function CardDescription({
46
46
  className,
47
47
  ...props
48
- }: React.ComponentProps<"div">): react_jsx_runtime158.JSX.Element;
48
+ }: React.ComponentProps<"div">): react_jsx_runtime69.JSX.Element;
49
49
  /** Action slot in the header row, aligned to the end alongside the title. */
50
50
  declare function CardAction({
51
51
  className,
52
52
  ...props
53
- }: React.ComponentProps<"div">): react_jsx_runtime158.JSX.Element;
53
+ }: React.ComponentProps<"div">): react_jsx_runtime69.JSX.Element;
54
54
  /** Main body region of the card. */
55
55
  declare function CardContent({
56
56
  className,
57
57
  ...props
58
- }: React.ComponentProps<"div">): react_jsx_runtime158.JSX.Element;
58
+ }: React.ComponentProps<"div">): react_jsx_runtime69.JSX.Element;
59
59
  declare const cardFooterTone: {
60
60
  readonly default: "px-6 pb-6 [.border-t]:pt-6";
61
61
  readonly brand: "justify-center rounded-b-8 bg-brand-200 px-6 py-3 text-brand-800";
@@ -70,7 +70,7 @@ declare function CardFooter({
70
70
  }: React.ComponentProps<"div"> & {
71
71
  /** Footer fill. `brand`/`muted` render a full-width tinted band. */
72
72
  tone?: keyof typeof cardFooterTone;
73
- }): react_jsx_runtime158.JSX.Element;
73
+ }): react_jsx_runtime69.JSX.Element;
74
74
  //#endregion
75
75
  export { CardFooter as a, CardTitle as c, CardDescription as i, cardVariants as l, CardAction as n, CardHeader as o, CardContent as r, CardProps as s, Card as t };
76
76
  //# sourceMappingURL=index12.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index12.d.cts","names":[],"sources":["../src/primitives/Card/Card.tsx"],"mappings":";;;;;;cAOM;;;IAuCJ,gCAAA,CAAA;AA7CkC,KA+C/B,SAAA,GAAY,KAAA,CAAM,cAFrB,CAAA,KAAA,CAAA,GAGA,YAHA,CAAA,OAGoB,YAHpB,CAAA,GAAA;EAEG;EAAS,OAAA,CAAA,EAGA,YAHA,CAAA,OAGoB,YAHpB,CAAA,CAAA,SAAA,CAAA;;MACQ,CAAA,EAIX,YAJW,CAAA,OAIS,YAJT,CAAA,CAAA,MAAA,CAAA;;;iBAQb,IAAA,CANK;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAMwC,SANxC,CAAA,EAMiD,oBAAA,CAAA,GAAA,CAAA,OANjD;cAkBR,eAhByB,EAAA;WAApB,KAAA,EAAA,aAAA;EAAY,SAAA,MAAA,EAAA,cAAA;EAId,SAAI,GAAA,EAAA,WAAA;CAAA;;iBAmBJ,UAAA,CAnBkB;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;CAAA,EAuBxB,KAAA,CAAM,cAvBkB,CAAA,KAAA,CAAA,GAAA;;OAA2B,CAAA,EAAA,MAAA,OAyB/B,eAzB+B;IA0BrD,oBAAA,CAAA,GAAA,CAAA,OA1B8D;AAAA;AAAA;AAgBrD,iBA0BD,SAAA,CAvBU;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuByB,KAAA,CAAM,cAvB/B,CAAA,KAAA,CAAA,CAAA,EAuBoD,oBAAA,CAAA,GAAA,CAAA,OAvBpD;;iBAkCV,eAAA,CAjCP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiCgD,KAAA,CAAM,cAjCtD,CAAA,KAAA,CAAA,CAAA,EAiC2E,oBAAA,CAAA,GAAA,CAAA,OAjC3E;;iBA4CO,UAAA,CAzCA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCoC,KAAA,CAAM,cAzC1C,CAAA,KAAA,CAAA,CAAA,EAyC+D,oBAAA,CAAA,GAAA,CAAA,OAzC/D;;iBAuDA,WAAA,CApDR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAoD6C,KAAA,CAAM,cApDnD,CAAA,KAAA,CAAA,CAAA,EAoDwE,oBAAA,CAAA,GAAA,CAAA,OApDxE;AAAA,cAiEK,cAjEL,EAAA;EAgBQ,SAAA,OAAS,EAAA,4BAAA;EAAA,SAAA,KAAA,EAAA,kEAAA;WAAG,KAAA,EAAA,iEAAA;WAA6B,IAAA,EAAA,wEAAA;;AAAqB;AAAA,iBA0D9D,UAAA,CA/Ce;EAAA,SAAA;EAAA,IAAA;EAAA,GAAA;CAAA,EAmDrB,KAAA,CAAM,cAnDe,CAAA,KAAA,CAAA,GAAA;EAAA;MAAG,CAAA,EAAA,MAAA,OAqDL,cArDK;IAsD1B,oBAAA,CAAA,GAAA,CAAA,OAtDuD"}
1
+ {"version":3,"file":"index12.d.cts","names":[],"sources":["../src/primitives/Card/Card.tsx"],"mappings":";;;;;;cAOM;;;IAuCJ,+BAAA,CAAA;AA7CkC,KA+C/B,SAAA,GAAY,KAAA,CAAM,cAFrB,CAAA,KAAA,CAAA,GAGA,YAHA,CAAA,OAGoB,YAHpB,CAAA,GAAA;EAEG;EAAS,OAAA,CAAA,EAGA,YAHA,CAAA,OAGoB,YAHpB,CAAA,CAAA,SAAA,CAAA;;MACQ,CAAA,EAIX,YAJW,CAAA,OAIS,YAJT,CAAA,CAAA,MAAA,CAAA;;;iBAQb,IAAA,CANK;EAAA,SAAA;EAAA,OAAA;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EAMwC,SANxC,CAAA,EAMiD,mBAAA,CAAA,GAAA,CAAA,OANjD;cAkBR,eAhByB,EAAA;WAApB,KAAA,EAAA,aAAA;EAAY,SAAA,MAAA,EAAA,cAAA;EAId,SAAI,GAAA,EAAA,WAAA;CAAA;;iBAmBJ,UAAA,CAnBkB;EAAA,SAAA;EAAA,KAAA;EAAA,GAAA;CAAA,EAuBxB,KAAA,CAAM,cAvBkB,CAAA,KAAA,CAAA,GAAA;;OAA2B,CAAA,EAAA,MAAA,OAyB/B,eAzB+B;IA0BrD,mBAAA,CAAA,GAAA,CAAA,OA1B8D;AAAA;AAAA;AAgBrD,iBA0BD,SAAA,CAvBU;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAuByB,KAAA,CAAM,cAvB/B,CAAA,KAAA,CAAA,CAAA,EAuBoD,mBAAA,CAAA,GAAA,CAAA,OAvBpD;;iBAkCV,eAAA,CAjCP;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiCgD,KAAA,CAAM,cAjCtD,CAAA,KAAA,CAAA,CAAA,EAiC2E,mBAAA,CAAA,GAAA,CAAA,OAjC3E;;iBA4CO,UAAA,CAzCA;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCoC,KAAA,CAAM,cAzC1C,CAAA,KAAA,CAAA,CAAA,EAyC+D,mBAAA,CAAA,GAAA,CAAA,OAzC/D;;iBAuDA,WAAA,CApDR;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAoD6C,KAAA,CAAM,cApDnD,CAAA,KAAA,CAAA,CAAA,EAoDwE,mBAAA,CAAA,GAAA,CAAA,OApDxE;AAAA,cAiEK,cAjEL,EAAA;EAgBQ,SAAA,OAAS,EAAA,4BAAA;EAAA,SAAA,KAAA,EAAA,kEAAA;WAAG,KAAA,EAAA,iEAAA;WAA6B,IAAA,EAAA,wEAAA;;AAAqB;AAAA,iBA0D9D,UAAA,CA/Ce;EAAA,SAAA;EAAA,IAAA;EAAA,GAAA;CAAA,EAmDrB,KAAA,CAAM,cAnDe,CAAA,KAAA,CAAA,GAAA;EAAA;MAAG,CAAA,EAAA,MAAA,OAqDL,cArDK;IAsD1B,mBAAA,CAAA,GAAA,CAAA,OAtDuD"}