@psnext/design-system 1.5.1 → 2.0.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 (647) hide show
  1. package/DESIGN.md +639 -0
  2. package/README.md +39 -2
  3. package/SKILL.md +101 -0
  4. package/bin/install-agent-skill.mjs +54 -0
  5. package/dist/Header.cjs +25 -25
  6. package/dist/Header.cjs.map +1 -1
  7. package/dist/Header.js +25 -25
  8. package/dist/Header.js.map +1 -1
  9. package/dist/Icon.cjs +19 -19
  10. package/dist/Icon.cjs.map +1 -1
  11. package/dist/Icon.js +19 -19
  12. package/dist/Icon.js.map +1 -1
  13. package/dist/Logo.cjs +4 -14
  14. package/dist/Logo.cjs.map +1 -1
  15. package/dist/Logo.js +4 -14
  16. package/dist/Logo.js.map +1 -1
  17. package/dist/Sidebar.cjs +26 -20
  18. package/dist/Sidebar.cjs.map +1 -1
  19. package/dist/Sidebar.js +21 -21
  20. package/dist/Sidebar.js.map +1 -1
  21. package/dist/cn.cjs +14 -1
  22. package/dist/cn.cjs.map +1 -1
  23. package/dist/cn.js +14 -1
  24. package/dist/cn.js.map +1 -1
  25. package/dist/index.cjs +13 -10
  26. package/dist/index.d.cts +5 -5
  27. package/dist/index.d.cts.map +1 -1
  28. package/dist/index.d.ts +5 -5
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +5 -4
  31. package/dist/index10.d.cts +7 -7
  32. package/dist/index10.d.cts.map +1 -1
  33. package/dist/index10.d.ts +7 -7
  34. package/dist/index11.d.cts +3 -3
  35. package/dist/index11.d.cts.map +1 -1
  36. package/dist/index11.d.ts +3 -3
  37. package/dist/index11.d.ts.map +1 -1
  38. package/dist/index12.d.cts +18 -17
  39. package/dist/index12.d.cts.map +1 -1
  40. package/dist/index12.d.ts +18 -17
  41. package/dist/index12.d.ts.map +1 -1
  42. package/dist/index13.d.cts +6 -6
  43. package/dist/index13.d.cts.map +1 -1
  44. package/dist/index13.d.ts +6 -6
  45. package/dist/index14.d.cts +5 -5
  46. package/dist/index14.d.cts.map +1 -1
  47. package/dist/index14.d.ts +5 -5
  48. package/dist/index14.d.ts.map +1 -1
  49. package/dist/index15.d.cts +3 -3
  50. package/dist/index15.d.cts.map +1 -1
  51. package/dist/index15.d.ts +3 -3
  52. package/dist/index15.d.ts.map +1 -1
  53. package/dist/index16.d.cts +2 -2
  54. package/dist/index16.d.cts.map +1 -1
  55. package/dist/index16.d.ts +2 -2
  56. package/dist/index17.d.cts +4 -4
  57. package/dist/index17.d.cts.map +1 -1
  58. package/dist/index17.d.ts +4 -4
  59. package/dist/index17.d.ts.map +1 -1
  60. package/dist/index18.d.cts +11 -11
  61. package/dist/index18.d.cts.map +1 -1
  62. package/dist/index18.d.ts +11 -11
  63. package/dist/index19.d.cts +10 -10
  64. package/dist/index19.d.cts.map +1 -1
  65. package/dist/index19.d.ts +10 -10
  66. package/dist/index19.d.ts.map +1 -1
  67. package/dist/index2.d.cts +8 -8
  68. package/dist/index2.d.cts.map +1 -1
  69. package/dist/index2.d.ts +8 -8
  70. package/dist/index2.d.ts.map +1 -1
  71. package/dist/index20.d.cts +16 -16
  72. package/dist/index20.d.cts.map +1 -1
  73. package/dist/index20.d.ts +16 -16
  74. package/dist/index20.d.ts.map +1 -1
  75. package/dist/index21.d.cts +4 -4
  76. package/dist/index21.d.cts.map +1 -1
  77. package/dist/index21.d.ts +4 -4
  78. package/dist/index22.d.cts +11 -11
  79. package/dist/index22.d.cts.map +1 -1
  80. package/dist/index22.d.ts +11 -11
  81. package/dist/index22.d.ts.map +1 -1
  82. package/dist/index23.d.cts +16 -16
  83. package/dist/index23.d.cts.map +1 -1
  84. package/dist/index23.d.ts +16 -16
  85. package/dist/index23.d.ts.map +1 -1
  86. package/dist/index24.d.cts +10 -10
  87. package/dist/index24.d.cts.map +1 -1
  88. package/dist/index24.d.ts +10 -10
  89. package/dist/index25.d.cts +2 -2
  90. package/dist/index25.d.ts +2 -2
  91. package/dist/index25.d.ts.map +1 -1
  92. package/dist/index26.d.cts +14 -14
  93. package/dist/index26.d.cts.map +1 -1
  94. package/dist/index26.d.ts +14 -14
  95. package/dist/index26.d.ts.map +1 -1
  96. package/dist/index27.d.cts +7 -7
  97. package/dist/index27.d.ts +7 -7
  98. package/dist/index27.d.ts.map +1 -1
  99. package/dist/index28.d.cts +6 -6
  100. package/dist/index28.d.ts +5 -5
  101. package/dist/index28.d.ts.map +1 -1
  102. package/dist/index29.d.cts +4 -4
  103. package/dist/index29.d.ts +4 -4
  104. package/dist/index29.d.ts.map +1 -1
  105. package/dist/index3.d.cts +13 -13
  106. package/dist/index3.d.cts.map +1 -1
  107. package/dist/index3.d.ts +13 -13
  108. package/dist/index3.d.ts.map +1 -1
  109. package/dist/index30.d.cts +6 -6
  110. package/dist/index30.d.ts +4 -4
  111. package/dist/index31.d.cts +4 -4
  112. package/dist/index31.d.cts.map +1 -1
  113. package/dist/index31.d.ts +4 -4
  114. package/dist/index31.d.ts.map +1 -1
  115. package/dist/index32.d.cts +8 -5
  116. package/dist/index32.d.cts.map +1 -1
  117. package/dist/index32.d.ts +9 -6
  118. package/dist/index32.d.ts.map +1 -1
  119. package/dist/index33.d.cts +14 -10
  120. package/dist/index33.d.cts.map +1 -1
  121. package/dist/index33.d.ts +15 -11
  122. package/dist/index33.d.ts.map +1 -1
  123. package/dist/index34.d.cts +5 -5
  124. package/dist/index34.d.ts +5 -5
  125. package/dist/index34.d.ts.map +1 -1
  126. package/dist/index35.d.cts +14 -14
  127. package/dist/index35.d.ts +14 -14
  128. package/dist/index35.d.ts.map +1 -1
  129. package/dist/index36.d.cts +3 -3
  130. package/dist/index36.d.cts.map +1 -1
  131. package/dist/index36.d.ts +3 -3
  132. package/dist/index36.d.ts.map +1 -1
  133. package/dist/index37.d.cts +5 -5
  134. package/dist/index37.d.ts +4 -4
  135. package/dist/index37.d.ts.map +1 -1
  136. package/dist/index38.d.cts +2 -2
  137. package/dist/index38.d.ts +2 -2
  138. package/dist/index39.d.cts +17 -17
  139. package/dist/index39.d.cts.map +1 -1
  140. package/dist/index39.d.ts +17 -17
  141. package/dist/index39.d.ts.map +1 -1
  142. package/dist/index4.d.cts +2 -2
  143. package/dist/index4.d.cts.map +1 -1
  144. package/dist/index4.d.ts +2 -2
  145. package/dist/index4.d.ts.map +1 -1
  146. package/dist/index40.d.cts +4 -4
  147. package/dist/index40.d.cts.map +1 -1
  148. package/dist/index40.d.ts +5 -5
  149. package/dist/index40.d.ts.map +1 -1
  150. package/dist/index41.d.cts +11 -11
  151. package/dist/index41.d.cts.map +1 -1
  152. package/dist/index41.d.ts +11 -11
  153. package/dist/index41.d.ts.map +1 -1
  154. package/dist/index42.d.cts +8 -8
  155. package/dist/index42.d.cts.map +1 -1
  156. package/dist/index42.d.ts +8 -8
  157. package/dist/index42.d.ts.map +1 -1
  158. package/dist/index43.d.cts +10 -10
  159. package/dist/index43.d.cts.map +1 -1
  160. package/dist/index43.d.ts +10 -10
  161. package/dist/index43.d.ts.map +1 -1
  162. package/dist/index44.d.cts +1 -48
  163. package/dist/index44.d.ts +1 -48
  164. package/dist/index45.d.cts +42 -22
  165. package/dist/index45.d.cts.map +1 -1
  166. package/dist/index45.d.ts +42 -22
  167. package/dist/index45.d.ts.map +1 -1
  168. package/dist/index46.d.cts +21 -34
  169. package/dist/index46.d.cts.map +1 -1
  170. package/dist/index46.d.ts +21 -34
  171. package/dist/index46.d.ts.map +1 -1
  172. package/dist/index47.d.cts +33 -17
  173. package/dist/index47.d.cts.map +1 -1
  174. package/dist/index47.d.ts +33 -17
  175. package/dist/index47.d.ts.map +1 -1
  176. package/dist/index48.d.cts +18 -14
  177. package/dist/index48.d.cts.map +1 -1
  178. package/dist/index48.d.ts +18 -14
  179. package/dist/index48.d.ts.map +1 -1
  180. package/dist/index49.d.cts +12 -60
  181. package/dist/index49.d.cts.map +1 -1
  182. package/dist/index49.d.ts +12 -60
  183. package/dist/index49.d.ts.map +1 -1
  184. package/dist/index5.d.cts +7 -7
  185. package/dist/index5.d.cts.map +1 -1
  186. package/dist/index5.d.ts +7 -7
  187. package/dist/index5.d.ts.map +1 -1
  188. package/dist/index50.d.cts +55 -49
  189. package/dist/index50.d.cts.map +1 -1
  190. package/dist/index50.d.ts +55 -49
  191. package/dist/index50.d.ts.map +1 -1
  192. package/dist/index51.d.cts +56 -24
  193. package/dist/index51.d.cts.map +1 -1
  194. package/dist/index51.d.ts +56 -24
  195. package/dist/index51.d.ts.map +1 -1
  196. package/dist/index52.d.cts +25 -203
  197. package/dist/index52.d.cts.map +1 -1
  198. package/dist/index52.d.ts +25 -203
  199. package/dist/index52.d.ts.map +1 -1
  200. package/dist/index53.d.cts +198 -15
  201. package/dist/index53.d.cts.map +1 -1
  202. package/dist/index53.d.ts +198 -15
  203. package/dist/index53.d.ts.map +1 -1
  204. package/dist/index54.d.cts +21 -23
  205. package/dist/index54.d.cts.map +1 -1
  206. package/dist/index54.d.ts +21 -23
  207. package/dist/index54.d.ts.map +1 -1
  208. package/dist/index55.d.cts +21 -18
  209. package/dist/index55.d.cts.map +1 -1
  210. package/dist/index55.d.ts +21 -18
  211. package/dist/index55.d.ts.map +1 -1
  212. package/dist/index56.d.cts +21 -8
  213. package/dist/index56.d.cts.map +1 -1
  214. package/dist/index56.d.ts +21 -8
  215. package/dist/index56.d.ts.map +1 -1
  216. package/dist/index57.d.cts +6 -44
  217. package/dist/index57.d.cts.map +1 -1
  218. package/dist/index57.d.ts +6 -44
  219. package/dist/index57.d.ts.map +1 -1
  220. package/dist/index58.d.cts +46 -47
  221. package/dist/index58.d.cts.map +1 -1
  222. package/dist/index58.d.ts +46 -47
  223. package/dist/index58.d.ts.map +1 -1
  224. package/dist/index59.d.cts +47 -59
  225. package/dist/index59.d.cts.map +1 -1
  226. package/dist/index59.d.ts +47 -59
  227. package/dist/index59.d.ts.map +1 -1
  228. package/dist/index6.d.cts +7 -7
  229. package/dist/index6.d.cts.map +1 -1
  230. package/dist/index6.d.ts +7 -7
  231. package/dist/index6.d.ts.map +1 -1
  232. package/dist/index60.d.cts +56 -38
  233. package/dist/index60.d.cts.map +1 -1
  234. package/dist/index60.d.ts +56 -38
  235. package/dist/index60.d.ts.map +1 -1
  236. package/dist/index61.d.cts +38 -14
  237. package/dist/index61.d.cts.map +1 -1
  238. package/dist/index61.d.ts +38 -14
  239. package/dist/index61.d.ts.map +1 -1
  240. package/dist/index62.d.cts +20 -41
  241. package/dist/index62.d.cts.map +1 -1
  242. package/dist/index62.d.ts +20 -41
  243. package/dist/index62.d.ts.map +1 -1
  244. package/dist/index63.d.cts +41 -19
  245. package/dist/index63.d.cts.map +1 -1
  246. package/dist/index63.d.ts +41 -19
  247. package/dist/index63.d.ts.map +1 -1
  248. package/dist/index64.d.cts +14 -39
  249. package/dist/index64.d.cts.map +1 -1
  250. package/dist/index64.d.ts +14 -39
  251. package/dist/index64.d.ts.map +1 -1
  252. package/dist/index65.d.cts +39 -16
  253. package/dist/index65.d.cts.map +1 -1
  254. package/dist/index65.d.ts +39 -16
  255. package/dist/index65.d.ts.map +1 -1
  256. package/dist/index66.d.cts +18 -12
  257. package/dist/index66.d.cts.map +1 -1
  258. package/dist/index66.d.ts +18 -12
  259. package/dist/index66.d.ts.map +1 -1
  260. package/dist/index67.d.cts +12 -30
  261. package/dist/index67.d.cts.map +1 -1
  262. package/dist/index67.d.ts +12 -30
  263. package/dist/index67.d.ts.map +1 -1
  264. package/dist/index68.d.cts +28 -27
  265. package/dist/index68.d.cts.map +1 -1
  266. package/dist/index68.d.ts +28 -27
  267. package/dist/index68.d.ts.map +1 -1
  268. package/dist/index69.d.cts +36 -69
  269. package/dist/index69.d.cts.map +1 -0
  270. package/dist/index69.d.ts +36 -69
  271. package/dist/index69.d.ts.map +1 -0
  272. package/dist/index7.d.cts +8 -8
  273. package/dist/index7.d.cts.map +1 -1
  274. package/dist/index7.d.ts +8 -8
  275. package/dist/index70.d.cts +76 -237
  276. package/dist/index70.d.cts.map +1 -1
  277. package/dist/index70.d.ts +76 -237
  278. package/dist/index70.d.ts.map +1 -1
  279. package/dist/index71.d.cts +242 -0
  280. package/dist/index71.d.cts.map +1 -0
  281. package/dist/index71.d.ts +242 -0
  282. package/dist/index71.d.ts.map +1 -0
  283. package/dist/index8.d.cts +4 -4
  284. package/dist/index8.d.cts.map +1 -1
  285. package/dist/index8.d.ts +4 -4
  286. package/dist/index8.d.ts.map +1 -1
  287. package/dist/index9.d.cts +2 -2
  288. package/dist/index9.d.ts +2 -2
  289. package/dist/layouts/Container/index.cjs +4 -4
  290. package/dist/layouts/Container/index.cjs.map +1 -1
  291. package/dist/layouts/Container/index.d.cts +1 -1
  292. package/dist/layouts/Container/index.d.ts +1 -1
  293. package/dist/layouts/Container/index.js +4 -4
  294. package/dist/layouts/Container/index.js.map +1 -1
  295. package/dist/layouts/PageBackground/index.cjs +2 -2
  296. package/dist/layouts/PageBackground/index.cjs.map +1 -1
  297. package/dist/layouts/PageBackground/index.d.cts +1 -1
  298. package/dist/layouts/PageBackground/index.d.ts +1 -1
  299. package/dist/layouts/PageBackground/index.js +2 -2
  300. package/dist/layouts/PageBackground/index.js.map +1 -1
  301. package/dist/layouts/Stack/index.d.cts +1 -1
  302. package/dist/layouts/Stack/index.d.ts +1 -1
  303. package/dist/layouts/TwoColumn/index.d.cts +1 -1
  304. package/dist/layouts/TwoColumn/index.d.ts +1 -1
  305. package/dist/layouts/index.d.cts +4 -4
  306. package/dist/layouts/index.d.ts +4 -4
  307. package/dist/patterns/DataTable/index.cjs +12 -7
  308. package/dist/patterns/DataTable/index.cjs.map +1 -1
  309. package/dist/patterns/DataTable/index.d.cts +3 -3
  310. package/dist/patterns/DataTable/index.d.cts.map +1 -1
  311. package/dist/patterns/DataTable/index.d.ts +3 -3
  312. package/dist/patterns/DataTable/index.d.ts.map +1 -1
  313. package/dist/patterns/DataTable/index.js +12 -7
  314. package/dist/patterns/DataTable/index.js.map +1 -1
  315. package/dist/patterns/Footer/index.cjs +5 -5
  316. package/dist/patterns/Footer/index.cjs.map +1 -1
  317. package/dist/patterns/Footer/index.d.cts +9 -9
  318. package/dist/patterns/Footer/index.d.cts.map +1 -1
  319. package/dist/patterns/Footer/index.d.ts +9 -9
  320. package/dist/patterns/Footer/index.d.ts.map +1 -1
  321. package/dist/patterns/Footer/index.js +5 -5
  322. package/dist/patterns/Footer/index.js.map +1 -1
  323. package/dist/patterns/Header/index.d.cts +1 -1
  324. package/dist/patterns/Header/index.d.ts +1 -1
  325. package/dist/patterns/MediaObject/index.cjs +1 -1
  326. package/dist/patterns/MediaObject/index.cjs.map +1 -1
  327. package/dist/patterns/MediaObject/index.d.cts +12 -12
  328. package/dist/patterns/MediaObject/index.d.cts.map +1 -1
  329. package/dist/patterns/MediaObject/index.d.ts +13 -13
  330. package/dist/patterns/MediaObject/index.d.ts.map +1 -1
  331. package/dist/patterns/MediaObject/index.js +1 -1
  332. package/dist/patterns/MediaObject/index.js.map +1 -1
  333. package/dist/patterns/NavRail/index.cjs +195 -0
  334. package/dist/patterns/NavRail/index.cjs.map +1 -0
  335. package/dist/patterns/NavRail/index.d.cts +2 -0
  336. package/dist/patterns/NavRail/index.d.ts +2 -0
  337. package/dist/patterns/NavRail/index.js +185 -0
  338. package/dist/patterns/NavRail/index.js.map +1 -0
  339. package/dist/patterns/SectionCard/index.cjs +1 -1
  340. package/dist/patterns/SectionCard/index.cjs.map +1 -1
  341. package/dist/patterns/SectionCard/index.d.cts +2 -2
  342. package/dist/patterns/SectionCard/index.d.ts +2 -2
  343. package/dist/patterns/SectionCard/index.d.ts.map +1 -1
  344. package/dist/patterns/SectionCard/index.js +1 -1
  345. package/dist/patterns/SectionCard/index.js.map +1 -1
  346. package/dist/patterns/SectionHeading/index.d.cts +2 -2
  347. package/dist/patterns/SectionHeading/index.d.cts.map +1 -1
  348. package/dist/patterns/SectionHeading/index.d.ts +2 -2
  349. package/dist/patterns/SectionHeading/index.d.ts.map +1 -1
  350. package/dist/patterns/index.cjs +9 -0
  351. package/dist/patterns/index.d.cts +3 -2
  352. package/dist/patterns/index.d.ts +3 -2
  353. package/dist/patterns/index.js +2 -1
  354. package/dist/primitives/Accordion/index.cjs +6 -6
  355. package/dist/primitives/Accordion/index.cjs.map +1 -1
  356. package/dist/primitives/Accordion/index.js +6 -6
  357. package/dist/primitives/Accordion/index.js.map +1 -1
  358. package/dist/primitives/Alert/index.cjs +4 -4
  359. package/dist/primitives/Alert/index.cjs.map +1 -1
  360. package/dist/primitives/Alert/index.js +4 -4
  361. package/dist/primitives/Alert/index.js.map +1 -1
  362. package/dist/primitives/AlertDialog/index.cjs +4 -4
  363. package/dist/primitives/AlertDialog/index.cjs.map +1 -1
  364. package/dist/primitives/AlertDialog/index.js +4 -4
  365. package/dist/primitives/AlertDialog/index.js.map +1 -1
  366. package/dist/primitives/Avatar/index.cjs +5 -5
  367. package/dist/primitives/Avatar/index.cjs.map +1 -1
  368. package/dist/primitives/Avatar/index.js +5 -5
  369. package/dist/primitives/Avatar/index.js.map +1 -1
  370. package/dist/primitives/Badge/index.cjs +11 -10
  371. package/dist/primitives/Badge/index.cjs.map +1 -1
  372. package/dist/primitives/Badge/index.js +11 -10
  373. package/dist/primitives/Badge/index.js.map +1 -1
  374. package/dist/primitives/Breadcrumb/index.cjs +4 -4
  375. package/dist/primitives/Breadcrumb/index.cjs.map +1 -1
  376. package/dist/primitives/Breadcrumb/index.js +4 -4
  377. package/dist/primitives/Breadcrumb/index.js.map +1 -1
  378. package/dist/primitives/Button/index.cjs +20 -13
  379. package/dist/primitives/Button/index.cjs.map +1 -1
  380. package/dist/primitives/Button/index.js +20 -13
  381. package/dist/primitives/Button/index.js.map +1 -1
  382. package/dist/primitives/ButtonGroup/index.cjs +3 -3
  383. package/dist/primitives/ButtonGroup/index.cjs.map +1 -1
  384. package/dist/primitives/ButtonGroup/index.js +3 -3
  385. package/dist/primitives/ButtonGroup/index.js.map +1 -1
  386. package/dist/primitives/Calendar/index.cjs +22 -21
  387. package/dist/primitives/Calendar/index.cjs.map +1 -1
  388. package/dist/primitives/Calendar/index.js +22 -21
  389. package/dist/primitives/Calendar/index.js.map +1 -1
  390. package/dist/primitives/Card/index.cjs +18 -16
  391. package/dist/primitives/Card/index.cjs.map +1 -1
  392. package/dist/primitives/Card/index.js +18 -16
  393. package/dist/primitives/Card/index.js.map +1 -1
  394. package/dist/primitives/Carousel/index.cjs +2 -2
  395. package/dist/primitives/Carousel/index.cjs.map +1 -1
  396. package/dist/primitives/Carousel/index.js +2 -2
  397. package/dist/primitives/Carousel/index.js.map +1 -1
  398. package/dist/primitives/Chart/index.cjs +12 -12
  399. package/dist/primitives/Chart/index.cjs.map +1 -1
  400. package/dist/primitives/Chart/index.js +12 -12
  401. package/dist/primitives/Chart/index.js.map +1 -1
  402. package/dist/primitives/Checkbox/index.cjs +6 -6
  403. package/dist/primitives/Checkbox/index.cjs.map +1 -1
  404. package/dist/primitives/Checkbox/index.js +6 -6
  405. package/dist/primitives/Checkbox/index.js.map +1 -1
  406. package/dist/primitives/CheckboxTree/index.cjs +2 -2
  407. package/dist/primitives/CheckboxTree/index.cjs.map +1 -1
  408. package/dist/primitives/CheckboxTree/index.js +2 -2
  409. package/dist/primitives/CheckboxTree/index.js.map +1 -1
  410. package/dist/primitives/Command/index.cjs +9 -9
  411. package/dist/primitives/Command/index.cjs.map +1 -1
  412. package/dist/primitives/Command/index.js +9 -9
  413. package/dist/primitives/Command/index.js.map +1 -1
  414. package/dist/primitives/ContextMenu/index.cjs +10 -10
  415. package/dist/primitives/ContextMenu/index.cjs.map +1 -1
  416. package/dist/primitives/ContextMenu/index.js +10 -10
  417. package/dist/primitives/ContextMenu/index.js.map +1 -1
  418. package/dist/primitives/Credits/index.cjs +4 -4
  419. package/dist/primitives/Credits/index.cjs.map +1 -1
  420. package/dist/primitives/Credits/index.js +4 -4
  421. package/dist/primitives/Credits/index.js.map +1 -1
  422. package/dist/primitives/Dialog/index.cjs +5 -5
  423. package/dist/primitives/Dialog/index.cjs.map +1 -1
  424. package/dist/primitives/Dialog/index.js +5 -5
  425. package/dist/primitives/Dialog/index.js.map +1 -1
  426. package/dist/primitives/Drawer/index.cjs +5 -5
  427. package/dist/primitives/Drawer/index.cjs.map +1 -1
  428. package/dist/primitives/Drawer/index.js +5 -5
  429. package/dist/primitives/Drawer/index.js.map +1 -1
  430. package/dist/primitives/DropdownMenu/index.cjs +9 -9
  431. package/dist/primitives/DropdownMenu/index.cjs.map +1 -1
  432. package/dist/primitives/DropdownMenu/index.js +9 -9
  433. package/dist/primitives/DropdownMenu/index.js.map +1 -1
  434. package/dist/primitives/Empty/index.cjs +4 -4
  435. package/dist/primitives/Empty/index.cjs.map +1 -1
  436. package/dist/primitives/Empty/index.js +4 -4
  437. package/dist/primitives/Empty/index.js.map +1 -1
  438. package/dist/primitives/Field/index.cjs +5 -5
  439. package/dist/primitives/Field/index.cjs.map +1 -1
  440. package/dist/primitives/Field/index.js +5 -5
  441. package/dist/primitives/Field/index.js.map +1 -1
  442. package/dist/primitives/Form/index.cjs +1 -1
  443. package/dist/primitives/Form/index.cjs.map +1 -1
  444. package/dist/primitives/Form/index.js +1 -1
  445. package/dist/primitives/Form/index.js.map +1 -1
  446. package/dist/primitives/Heading/index.cjs +2 -2
  447. package/dist/primitives/Heading/index.cjs.map +1 -1
  448. package/dist/primitives/Heading/index.js +2 -2
  449. package/dist/primitives/Heading/index.js.map +1 -1
  450. package/dist/primitives/HoverCard/index.cjs +1 -1
  451. package/dist/primitives/HoverCard/index.cjs.map +1 -1
  452. package/dist/primitives/HoverCard/index.js +1 -1
  453. package/dist/primitives/HoverCard/index.js.map +1 -1
  454. package/dist/primitives/InfoBanner/index.cjs +12 -12
  455. package/dist/primitives/InfoBanner/index.cjs.map +1 -1
  456. package/dist/primitives/InfoBanner/index.js +12 -12
  457. package/dist/primitives/InfoBanner/index.js.map +1 -1
  458. package/dist/primitives/Input/index.cjs +13 -7
  459. package/dist/primitives/Input/index.cjs.map +1 -1
  460. package/dist/primitives/Input/index.js +13 -7
  461. package/dist/primitives/Input/index.js.map +1 -1
  462. package/dist/primitives/InputGroup/index.cjs +7 -7
  463. package/dist/primitives/InputGroup/index.cjs.map +1 -1
  464. package/dist/primitives/InputGroup/index.js +7 -7
  465. package/dist/primitives/InputGroup/index.js.map +1 -1
  466. package/dist/primitives/InputOtp/index.cjs +3 -3
  467. package/dist/primitives/InputOtp/index.cjs.map +1 -1
  468. package/dist/primitives/InputOtp/index.js +3 -3
  469. package/dist/primitives/InputOtp/index.js.map +1 -1
  470. package/dist/primitives/Item/index.cjs +6 -6
  471. package/dist/primitives/Item/index.cjs.map +1 -1
  472. package/dist/primitives/Item/index.js +6 -6
  473. package/dist/primitives/Item/index.js.map +1 -1
  474. package/dist/primitives/Kbd/index.cjs +1 -1
  475. package/dist/primitives/Kbd/index.cjs.map +1 -1
  476. package/dist/primitives/Kbd/index.js +1 -1
  477. package/dist/primitives/Kbd/index.js.map +1 -1
  478. package/dist/primitives/Link/index.cjs +4 -4
  479. package/dist/primitives/Link/index.cjs.map +1 -1
  480. package/dist/primitives/Link/index.js +4 -4
  481. package/dist/primitives/Link/index.js.map +1 -1
  482. package/dist/primitives/Menubar/index.cjs +12 -12
  483. package/dist/primitives/Menubar/index.cjs.map +1 -1
  484. package/dist/primitives/Menubar/index.js +12 -12
  485. package/dist/primitives/Menubar/index.js.map +1 -1
  486. package/dist/primitives/NativeSelect/index.cjs +5 -5
  487. package/dist/primitives/NativeSelect/index.cjs.map +1 -1
  488. package/dist/primitives/NativeSelect/index.js +5 -5
  489. package/dist/primitives/NativeSelect/index.js.map +1 -1
  490. package/dist/primitives/NavRail/index.cjs +9 -194
  491. package/dist/primitives/NavRail/index.d.cts +1 -0
  492. package/dist/primitives/NavRail/index.d.ts +1 -0
  493. package/dist/primitives/NavRail/index.js +1 -184
  494. package/dist/primitives/NavigationMenu/index.cjs +7 -7
  495. package/dist/primitives/NavigationMenu/index.cjs.map +1 -1
  496. package/dist/primitives/NavigationMenu/index.js +7 -7
  497. package/dist/primitives/NavigationMenu/index.js.map +1 -1
  498. package/dist/primitives/Pagination/index.cjs +7 -13
  499. package/dist/primitives/Pagination/index.cjs.map +1 -1
  500. package/dist/primitives/Pagination/index.d.cts +1 -1
  501. package/dist/primitives/Pagination/index.d.ts +1 -1
  502. package/dist/primitives/Pagination/index.js +8 -14
  503. package/dist/primitives/Pagination/index.js.map +1 -1
  504. package/dist/primitives/Popover/index.cjs +4 -4
  505. package/dist/primitives/Popover/index.cjs.map +1 -1
  506. package/dist/primitives/Popover/index.js +4 -4
  507. package/dist/primitives/Popover/index.js.map +1 -1
  508. package/dist/primitives/Progress/index.cjs +16 -16
  509. package/dist/primitives/Progress/index.cjs.map +1 -1
  510. package/dist/primitives/Progress/index.d.cts +1 -1
  511. package/dist/primitives/Progress/index.d.ts +1 -1
  512. package/dist/primitives/Progress/index.js +16 -16
  513. package/dist/primitives/Progress/index.js.map +1 -1
  514. package/dist/primitives/RadioGroup/index.cjs +7 -7
  515. package/dist/primitives/RadioGroup/index.cjs.map +1 -1
  516. package/dist/primitives/RadioGroup/index.d.cts +1 -1
  517. package/dist/primitives/RadioGroup/index.d.ts +1 -1
  518. package/dist/primitives/RadioGroup/index.js +7 -7
  519. package/dist/primitives/RadioGroup/index.js.map +1 -1
  520. package/dist/primitives/Resizable/index.cjs +2 -2
  521. package/dist/primitives/Resizable/index.cjs.map +1 -1
  522. package/dist/primitives/Resizable/index.d.cts +1 -1
  523. package/dist/primitives/Resizable/index.d.ts +1 -1
  524. package/dist/primitives/Resizable/index.js +2 -2
  525. package/dist/primitives/Resizable/index.js.map +1 -1
  526. package/dist/primitives/ScrollArea/index.cjs +2 -2
  527. package/dist/primitives/ScrollArea/index.cjs.map +1 -1
  528. package/dist/primitives/ScrollArea/index.d.cts +1 -1
  529. package/dist/primitives/ScrollArea/index.d.ts +1 -1
  530. package/dist/primitives/ScrollArea/index.js +2 -2
  531. package/dist/primitives/ScrollArea/index.js.map +1 -1
  532. package/dist/primitives/Select/index.cjs +8 -8
  533. package/dist/primitives/Select/index.cjs.map +1 -1
  534. package/dist/primitives/Select/index.d.cts +1 -1
  535. package/dist/primitives/Select/index.d.ts +1 -1
  536. package/dist/primitives/Select/index.js +8 -8
  537. package/dist/primitives/Select/index.js.map +1 -1
  538. package/dist/primitives/Separator/index.cjs +1 -1
  539. package/dist/primitives/Separator/index.cjs.map +1 -1
  540. package/dist/primitives/Separator/index.js +1 -1
  541. package/dist/primitives/Separator/index.js.map +1 -1
  542. package/dist/primitives/Sheet/index.cjs +8 -8
  543. package/dist/primitives/Sheet/index.cjs.map +1 -1
  544. package/dist/primitives/Sheet/index.d.cts +1 -1
  545. package/dist/primitives/Sheet/index.d.ts +1 -1
  546. package/dist/primitives/Sheet/index.js +8 -8
  547. package/dist/primitives/Sheet/index.js.map +1 -1
  548. package/dist/primitives/Sidebar/index.d.cts +1 -1
  549. package/dist/primitives/Sidebar/index.d.ts +1 -1
  550. package/dist/primitives/Skeleton/index.cjs +2 -2
  551. package/dist/primitives/Skeleton/index.cjs.map +1 -1
  552. package/dist/primitives/Skeleton/index.d.cts +1 -1
  553. package/dist/primitives/Skeleton/index.d.ts +1 -1
  554. package/dist/primitives/Skeleton/index.js +2 -2
  555. package/dist/primitives/Skeleton/index.js.map +1 -1
  556. package/dist/primitives/Slider/index.cjs +3 -3
  557. package/dist/primitives/Slider/index.cjs.map +1 -1
  558. package/dist/primitives/Slider/index.d.cts +1 -1
  559. package/dist/primitives/Slider/index.d.ts +1 -1
  560. package/dist/primitives/Slider/index.js +3 -3
  561. package/dist/primitives/Slider/index.js.map +1 -1
  562. package/dist/primitives/Sonner/index.cjs +13 -6
  563. package/dist/primitives/Sonner/index.cjs.map +1 -1
  564. package/dist/primitives/Sonner/index.d.cts +1 -1
  565. package/dist/primitives/Sonner/index.d.ts +1 -1
  566. package/dist/primitives/Sonner/index.js +13 -6
  567. package/dist/primitives/Sonner/index.js.map +1 -1
  568. package/dist/primitives/Spinner/index.d.cts +1 -1
  569. package/dist/primitives/Spinner/index.d.ts +1 -1
  570. package/dist/primitives/Switch/index.cjs +7 -7
  571. package/dist/primitives/Switch/index.cjs.map +1 -1
  572. package/dist/primitives/Switch/index.d.cts +1 -1
  573. package/dist/primitives/Switch/index.d.ts +1 -1
  574. package/dist/primitives/Switch/index.js +7 -7
  575. package/dist/primitives/Switch/index.js.map +1 -1
  576. package/dist/primitives/Table/index.cjs +7 -7
  577. package/dist/primitives/Table/index.cjs.map +1 -1
  578. package/dist/primitives/Table/index.d.cts +1 -1
  579. package/dist/primitives/Table/index.d.ts +1 -1
  580. package/dist/primitives/Table/index.js +7 -7
  581. package/dist/primitives/Table/index.js.map +1 -1
  582. package/dist/primitives/Tabs/index.cjs +21 -21
  583. package/dist/primitives/Tabs/index.cjs.map +1 -1
  584. package/dist/primitives/Tabs/index.d.cts +1 -1
  585. package/dist/primitives/Tabs/index.d.ts +1 -1
  586. package/dist/primitives/Tabs/index.js +21 -21
  587. package/dist/primitives/Tabs/index.js.map +1 -1
  588. package/dist/primitives/Text/index.cjs +5 -5
  589. package/dist/primitives/Text/index.cjs.map +1 -1
  590. package/dist/primitives/Text/index.d.cts +1 -1
  591. package/dist/primitives/Text/index.d.ts +1 -1
  592. package/dist/primitives/Text/index.js +5 -5
  593. package/dist/primitives/Text/index.js.map +1 -1
  594. package/dist/primitives/Textarea/index.cjs +20 -8
  595. package/dist/primitives/Textarea/index.cjs.map +1 -1
  596. package/dist/primitives/Textarea/index.d.cts +1 -1
  597. package/dist/primitives/Textarea/index.d.ts +1 -1
  598. package/dist/primitives/Textarea/index.js +20 -8
  599. package/dist/primitives/Textarea/index.js.map +1 -1
  600. package/dist/primitives/ThemeProvider/index.d.cts +1 -1
  601. package/dist/primitives/ThemeProvider/index.d.ts +1 -1
  602. package/dist/primitives/Toggle/index.cjs +11 -10
  603. package/dist/primitives/Toggle/index.cjs.map +1 -1
  604. package/dist/primitives/Toggle/index.d.cts +1 -1
  605. package/dist/primitives/Toggle/index.d.ts +1 -1
  606. package/dist/primitives/Toggle/index.js +11 -10
  607. package/dist/primitives/Toggle/index.js.map +1 -1
  608. package/dist/primitives/ToggleGroup/index.cjs +2 -2
  609. package/dist/primitives/ToggleGroup/index.cjs.map +1 -1
  610. package/dist/primitives/ToggleGroup/index.d.cts +1 -1
  611. package/dist/primitives/ToggleGroup/index.d.ts +1 -1
  612. package/dist/primitives/ToggleGroup/index.js +2 -2
  613. package/dist/primitives/ToggleGroup/index.js.map +1 -1
  614. package/dist/primitives/Tooltip/index.cjs +2 -2
  615. package/dist/primitives/Tooltip/index.cjs.map +1 -1
  616. package/dist/primitives/Tooltip/index.d.cts +1 -1
  617. package/dist/primitives/Tooltip/index.d.ts +1 -1
  618. package/dist/primitives/Tooltip/index.js +2 -2
  619. package/dist/primitives/Tooltip/index.js.map +1 -1
  620. package/dist/primitives/index.cjs +10 -10
  621. package/dist/primitives/index.d.cts +21 -21
  622. package/dist/primitives/index.d.ts +21 -21
  623. package/dist/primitives/index.js +2 -2
  624. package/dist/styles/base.css +23 -4
  625. package/dist/styles/brand-scopes.css +49 -0
  626. package/dist/styles/glass.css +13 -8
  627. package/dist/styles/index.css +8 -9
  628. package/dist/styles/theme.css +141 -90
  629. package/dist/styles/tokens/border-radius.css +8 -8
  630. package/dist/styles/tokens/mode-dark.css +71 -94
  631. package/dist/styles/tokens/mode-light.css +71 -94
  632. package/dist/styles/tokens/shadows.css +4 -7
  633. package/dist/styles/tokens/spacing.css +17 -37
  634. package/dist/styles/tokens/theme-bodhi.css +6 -28
  635. package/dist/styles/tokens/theme-slingshot.css +7 -28
  636. package/dist/styles/tokens/theme-sustain.css +6 -28
  637. package/dist/styles/typography.css +9 -9
  638. package/package.json +8 -2
  639. package/dist/index44.d.cts.map +0 -1
  640. package/dist/index44.d.ts.map +0 -1
  641. package/dist/primitives/NavRail/index.cjs.map +0 -1
  642. package/dist/primitives/NavRail/index.js.map +0 -1
  643. package/dist/styles/semantic.css +0 -178
  644. package/dist/styles/tokens/alpha.css +0 -39
  645. package/dist/styles/tokens/chart-colors-dark.css +0 -18
  646. package/dist/styles/tokens/chart-colors-light.css +0 -18
  647. package/dist/styles/tokens/colors.css +0 -251
@@ -1,7 +1,7 @@
1
1
  import { n as HeadingProps } from "../../index28.cjs";
2
- import { t as Text } from "../../index60.cjs";
3
- import * as react_jsx_runtime200 from "react/jsx-runtime";
4
- import * as class_variance_authority_types11 from "class-variance-authority/types";
2
+ import { t as Text } from "../../index61.cjs";
3
+ import * as react_jsx_runtime53 from "react/jsx-runtime";
4
+ import * as class_variance_authority_types4 from "class-variance-authority/types";
5
5
  import { VariantProps } from "class-variance-authority";
6
6
  import * as React from "react";
7
7
 
@@ -15,7 +15,7 @@ declare function MediaObject({
15
15
  className,
16
16
  interactive,
17
17
  ...props
18
- }: MediaObjectProps): react_jsx_runtime200.JSX.Element;
18
+ }: MediaObjectProps): react_jsx_runtime53.JSX.Element;
19
19
  type MediaObjectImageProps = React.ComponentProps<"img"> & {
20
20
  /** Required alt text describing the media (enforced for accessibility). */
21
21
  alt: string;
@@ -25,17 +25,17 @@ declare function MediaObjectImage({
25
25
  className,
26
26
  alt,
27
27
  ...props
28
- }: MediaObjectImageProps): react_jsx_runtime200.JSX.Element;
28
+ }: MediaObjectImageProps): react_jsx_runtime53.JSX.Element;
29
29
  /** Square container for the icon-top card variant; place an Icon inside it. */
30
30
  declare function MediaObjectIcon({
31
31
  className,
32
32
  ...props
33
- }: React.ComponentProps<"div">): react_jsx_runtime200.JSX.Element;
33
+ }: React.ComponentProps<"div">): react_jsx_runtime53.JSX.Element;
34
34
  /** Padded body region of a card that holds the title, text, and actions. */
35
35
  declare function MediaObjectContent({
36
36
  className,
37
37
  ...props
38
- }: React.ComponentProps<"div">): react_jsx_runtime200.JSX.Element;
38
+ }: React.ComponentProps<"div">): react_jsx_runtime53.JSX.Element;
39
39
  type MediaObjectTitleProps = Omit<HeadingProps, "as"> & {
40
40
  /** Heading size step passthrough (defaults to "4"). */
41
41
  size?: HeadingProps["size"];
@@ -44,20 +44,20 @@ type MediaObjectTitleProps = Omit<HeadingProps, "as"> & {
44
44
  declare function MediaObjectTitle({
45
45
  size,
46
46
  ...props
47
- }: MediaObjectTitleProps): react_jsx_runtime200.JSX.Element;
47
+ }: MediaObjectTitleProps): react_jsx_runtime53.JSX.Element;
48
48
  /** Supporting body copy; wraps the Text primitive (muted, small). */
49
49
  declare function MediaObjectText({
50
50
  ...props
51
- }: React.ComponentProps<typeof Text>): react_jsx_runtime200.JSX.Element;
51
+ }: React.ComponentProps<typeof Text>): react_jsx_runtime53.JSX.Element;
52
52
  /** Action row pinned to the bottom of the content; holds a Button or Link. */
53
53
  declare function MediaObjectActions({
54
54
  className,
55
55
  ...props
56
- }: React.ComponentProps<"div">): react_jsx_runtime200.JSX.Element;
56
+ }: React.ComponentProps<"div">): react_jsx_runtime53.JSX.Element;
57
57
  declare const mediaObjectGroupVariants: (props?: ({
58
58
  columns?: 1 | 2 | 3 | 4 | null | undefined;
59
59
  gap?: "sm" | "lg" | "md" | null | undefined;
60
- } & class_variance_authority_types11.ClassProp) | undefined) => string;
60
+ } & class_variance_authority_types4.ClassProp) | undefined) => string;
61
61
  type MediaObjectGroupProps = React.ComponentProps<"div"> & VariantProps<typeof mediaObjectGroupVariants>;
62
62
  /** Responsive grid wrapper that lays out a set of MediaObject cards. */
63
63
  declare function MediaObjectGroup({
@@ -65,7 +65,7 @@ declare function MediaObjectGroup({
65
65
  columns,
66
66
  gap,
67
67
  ...props
68
- }: MediaObjectGroupProps): react_jsx_runtime200.JSX.Element;
68
+ }: MediaObjectGroupProps): react_jsx_runtime53.JSX.Element;
69
69
  //#endregion
70
70
  export { MediaObject, MediaObjectActions, MediaObjectContent, MediaObjectGroup, type MediaObjectGroupProps, MediaObjectIcon, MediaObjectImage, type MediaObjectImageProps, type MediaObjectProps, MediaObjectText, MediaObjectTitle, type MediaObjectTitleProps, mediaObjectGroupVariants };
71
71
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/patterns/MediaObject/MediaObject.tsx"],"mappings":";;;;;;;;KAcK,gBAAA,GAAmB,KAAA,CAAM;;;;AAVW;AAUG,iBAMnC,WAAA,CAAW;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EAAuC,gBAAvC,CAAA,EAAuD,oBAAA,CAAA,GAAA,CAAA,OAAvD;KAef,qBAAA,GAAwB,KAAA,CAAM,cAff,CAAA,KAAA,CAAA,GAAA;;KAAc,EAAA,MAAA;;;AAAyC,iBAqBlE,gBAAA,CArBkE;EAAA,SAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAqBnB,qBArBmB,CAAA,EAqBE,oBAAA,CAAA,GAAA,CAAA,OArBF;AAAA;AAe1B,iBAuBxC,eAAA,CAjBgB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiByB,KAAA,CAAM,cAjB/B,CAAA,KAAA,CAAA,CAAA,EAiBoD,oBAAA,CAAA,GAAA,CAAA,OAjBpD;;iBA6BhB,kBAAA,CA7BmB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6ByB,KAAA,CAAM,cA7B/B,CAAA,KAAA,CAAA,CAAA,EA6BoD,oBAAA,CAAA,GAAA,CAAA,OA7BpD;KAwCvB,qBAAA,GAAwB,IAxCU,CAwCL,YAxCK,EAAA,IAAA,CAAA,GAAA;;MAAsC,CAAA,EA0CpE,YA1CoE,CAAA,MAAA,CAAA;AAAA,CAAA;AAAA;iBA8CpE,gBAAA,CA7Be;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EA6BsB,qBA7BtB,CAAA,EA6B2C,oBAAA,CAAA,GAAA,CAAA,OA7B3C;;iBAmCf,eAAA,CAnC+C;EAAA,GAAA;AAAA,CAAA,EAmCjB,KAAA,CAAM,cAnCW,CAAA,OAmCW,IAnCX,CAAA,CAAA,EAmCgB,oBAAA,CAAA,GAAA,CAAA,OAnChB;;AAAqB,iBAyCpE,kBAAA,CAzCoE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCxB,KAAA,CAAM,cAzCkB,CAAA,KAAA,CAAA,CAAA,EAyCG,oBAAA,CAAA,GAAA,CAAA,OAzCH;AAAA,cAqDvE,wBAzCqB,EAAA,CAAA,KAAgC,CAAhC,EAAA,CAAA;EAAA,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,IAAA,GAAA,SAAA;KAAG,CAAA,EAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,SAAA;IA2D5B,gCAAA,CAAA,SA3DyD,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;KA6DtD,qBAAA,GAAwB,KAAA,CAAM,cA7D6C,CAAA,KAAA,CAAA,GA8D9E,YA9D8E,CAAA,OA8D1D,wBA9D0D,CAAA;AAAA;AAAA,iBAiEvE,gBAAA,CAtDiB;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAsDuC,qBAtDvC,CAAA,EAsD4D,oBAAA,CAAA,GAAA,CAAA,OAtD5D"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/patterns/MediaObject/MediaObject.tsx"],"mappings":";;;;;;;;KAcK,gBAAA,GAAmB,KAAA,CAAM;;;;AAVW;AAUG,iBAMnC,WAAA,CAAW;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EAAuC,gBAAvC,CAAA,EAAuD,mBAAA,CAAA,GAAA,CAAA,OAAvD;KAef,qBAAA,GAAwB,KAAA,CAAM,cAff,CAAA,KAAA,CAAA,GAAA;;KAAc,EAAA,MAAA;;;AAAyC,iBAqBlE,gBAAA,CArBkE;EAAA,SAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAqBnB,qBArBmB,CAAA,EAqBE,mBAAA,CAAA,GAAA,CAAA,OArBF;AAAA;AAe1B,iBAuBxC,eAAA,CAjBgB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiByB,KAAA,CAAM,cAjB/B,CAAA,KAAA,CAAA,CAAA,EAiBoD,mBAAA,CAAA,GAAA,CAAA,OAjBpD;;iBA6BhB,kBAAA,CA7BmB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6ByB,KAAA,CAAM,cA7B/B,CAAA,KAAA,CAAA,CAAA,EA6BoD,mBAAA,CAAA,GAAA,CAAA,OA7BpD;KAwCvB,qBAAA,GAAwB,IAxCU,CAwCL,YAxCK,EAAA,IAAA,CAAA,GAAA;;MAAsC,CAAA,EA0CpE,YA1CoE,CAAA,MAAA,CAAA;AAAA,CAAA;AAAA;iBA8CpE,gBAAA,CA7Be;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EA6BsB,qBA7BtB,CAAA,EA6B2C,mBAAA,CAAA,GAAA,CAAA,OA7B3C;;iBAmCf,eAAA,CAnC+C;EAAA,GAAA;AAAA,CAAA,EAmCjB,KAAA,CAAM,cAnCW,CAAA,OAmCW,IAnCX,CAAA,CAAA,EAmCgB,mBAAA,CAAA,GAAA,CAAA,OAnChB;;AAAqB,iBAyCpE,kBAAA,CAzCoE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCxB,KAAA,CAAM,cAzCkB,CAAA,KAAA,CAAA,CAAA,EAyCG,mBAAA,CAAA,GAAA,CAAA,OAzCH;AAAA,cAqDvE,wBAzCqB,EAAA,CAAA,KAAgC,CAAhC,EAAA,CAAA;EAAA,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,IAAA,GAAA,SAAA;KAAG,CAAA,EAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,SAAA;IA2D5B,+BAAA,CAAA,SA3DyD,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;KA6DtD,qBAAA,GAAwB,KAAA,CAAM,cA7D6C,CAAA,KAAA,CAAA,GA8D9E,YA9D8E,CAAA,OA8D1D,wBA9D0D,CAAA;AAAA;AAAA,iBAiEvE,gBAAA,CAtDiB;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAsDuC,qBAtDvC,CAAA,EAsD4D,mBAAA,CAAA,GAAA,CAAA,OAtD5D"}
@@ -1,9 +1,9 @@
1
1
  import { n as HeadingProps } from "../../index28.js";
2
- import { t as Text } from "../../index60.js";
2
+ import { t as Text } from "../../index61.js";
3
3
  import * as React from "react";
4
- import * as react_jsx_runtime16 from "react/jsx-runtime";
4
+ import * as react_jsx_runtime205 from "react/jsx-runtime";
5
5
  import { VariantProps } from "class-variance-authority";
6
- import * as class_variance_authority_types3 from "class-variance-authority/types";
6
+ import * as class_variance_authority_types18 from "class-variance-authority/types";
7
7
 
8
8
  //#region src/patterns/MediaObject/MediaObject.d.ts
9
9
  type MediaObjectProps = React.ComponentProps<"article"> & {
@@ -15,7 +15,7 @@ declare function MediaObject({
15
15
  className,
16
16
  interactive,
17
17
  ...props
18
- }: MediaObjectProps): react_jsx_runtime16.JSX.Element;
18
+ }: MediaObjectProps): react_jsx_runtime205.JSX.Element;
19
19
  type MediaObjectImageProps = React.ComponentProps<"img"> & {
20
20
  /** Required alt text describing the media (enforced for accessibility). */
21
21
  alt: string;
@@ -25,17 +25,17 @@ declare function MediaObjectImage({
25
25
  className,
26
26
  alt,
27
27
  ...props
28
- }: MediaObjectImageProps): react_jsx_runtime16.JSX.Element;
28
+ }: MediaObjectImageProps): react_jsx_runtime205.JSX.Element;
29
29
  /** Square container for the icon-top card variant; place an Icon inside it. */
30
30
  declare function MediaObjectIcon({
31
31
  className,
32
32
  ...props
33
- }: React.ComponentProps<"div">): react_jsx_runtime16.JSX.Element;
33
+ }: React.ComponentProps<"div">): react_jsx_runtime205.JSX.Element;
34
34
  /** Padded body region of a card that holds the title, text, and actions. */
35
35
  declare function MediaObjectContent({
36
36
  className,
37
37
  ...props
38
- }: React.ComponentProps<"div">): react_jsx_runtime16.JSX.Element;
38
+ }: React.ComponentProps<"div">): react_jsx_runtime205.JSX.Element;
39
39
  type MediaObjectTitleProps = Omit<HeadingProps, "as"> & {
40
40
  /** Heading size step passthrough (defaults to "4"). */
41
41
  size?: HeadingProps["size"];
@@ -44,20 +44,20 @@ type MediaObjectTitleProps = Omit<HeadingProps, "as"> & {
44
44
  declare function MediaObjectTitle({
45
45
  size,
46
46
  ...props
47
- }: MediaObjectTitleProps): react_jsx_runtime16.JSX.Element;
47
+ }: MediaObjectTitleProps): react_jsx_runtime205.JSX.Element;
48
48
  /** Supporting body copy; wraps the Text primitive (muted, small). */
49
49
  declare function MediaObjectText({
50
50
  ...props
51
- }: React.ComponentProps<typeof Text>): react_jsx_runtime16.JSX.Element;
51
+ }: React.ComponentProps<typeof Text>): react_jsx_runtime205.JSX.Element;
52
52
  /** Action row pinned to the bottom of the content; holds a Button or Link. */
53
53
  declare function MediaObjectActions({
54
54
  className,
55
55
  ...props
56
- }: React.ComponentProps<"div">): react_jsx_runtime16.JSX.Element;
56
+ }: React.ComponentProps<"div">): react_jsx_runtime205.JSX.Element;
57
57
  declare const mediaObjectGroupVariants: (props?: ({
58
- columns?: 3 | 1 | 2 | 4 | null | undefined;
58
+ columns?: 1 | 2 | 3 | 4 | null | undefined;
59
59
  gap?: "sm" | "md" | "lg" | null | undefined;
60
- } & class_variance_authority_types3.ClassProp) | undefined) => string;
60
+ } & class_variance_authority_types18.ClassProp) | undefined) => string;
61
61
  type MediaObjectGroupProps = React.ComponentProps<"div"> & VariantProps<typeof mediaObjectGroupVariants>;
62
62
  /** Responsive grid wrapper that lays out a set of MediaObject cards. */
63
63
  declare function MediaObjectGroup({
@@ -65,7 +65,7 @@ declare function MediaObjectGroup({
65
65
  columns,
66
66
  gap,
67
67
  ...props
68
- }: MediaObjectGroupProps): react_jsx_runtime16.JSX.Element;
68
+ }: MediaObjectGroupProps): react_jsx_runtime205.JSX.Element;
69
69
  //#endregion
70
70
  export { MediaObject, MediaObjectActions, MediaObjectContent, MediaObjectGroup, type MediaObjectGroupProps, MediaObjectIcon, MediaObjectImage, type MediaObjectImageProps, type MediaObjectProps, MediaObjectText, MediaObjectTitle, type MediaObjectTitleProps, mediaObjectGroupVariants };
71
71
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/patterns/MediaObject/MediaObject.tsx"],"mappings":";;;;;;;;KAcK,gBAAA,GAAmB,KAAA,CAAM;;;;AAVW;AAUG,iBAMnC,WAAA,CAAW;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EAAuC,gBAAvC,CAAA,EAAuD,mBAAA,CAAA,GAAA,CAAA,OAAvD;KAef,qBAAA,GAAwB,KAAA,CAAM,cAff,CAAA,KAAA,CAAA,GAAA;;KAAc,EAAA,MAAA;;;AAAyC,iBAqBlE,gBAAA,CArBkE;EAAA,SAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAqBnB,qBArBmB,CAAA,EAqBE,mBAAA,CAAA,GAAA,CAAA,OArBF;AAAA;AAe1B,iBAuBxC,eAAA,CAjBgB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiByB,KAAA,CAAM,cAjB/B,CAAA,KAAA,CAAA,CAAA,EAiBoD,mBAAA,CAAA,GAAA,CAAA,OAjBpD;;iBA6BhB,kBAAA,CA7BmB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6ByB,KAAA,CAAM,cA7B/B,CAAA,KAAA,CAAA,CAAA,EA6BoD,mBAAA,CAAA,GAAA,CAAA,OA7BpD;KAwCvB,qBAAA,GAAwB,IAxCU,CAwCL,YAxCK,EAAA,IAAA,CAAA,GAAA;;MAAsC,CAAA,EA0CpE,YA1CoE,CAAA,MAAA,CAAA;AAAA,CAAA;AAAA;iBA8CpE,gBAAA,CA7Be;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EA6BsB,qBA7BtB,CAAA,EA6B2C,mBAAA,CAAA,GAAA,CAAA,OA7B3C;;iBAmCf,eAAA,CAnC+C;EAAA,GAAA;AAAA,CAAA,EAmCjB,KAAA,CAAM,cAnCW,CAAA,OAmCW,IAnCX,CAAA,CAAA,EAmCgB,mBAAA,CAAA,GAAA,CAAA,OAnChB;;AAAqB,iBAyCpE,kBAAA,CAzCoE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCxB,KAAA,CAAM,cAzCkB,CAAA,KAAA,CAAA,CAAA,EAyCG,mBAAA,CAAA,GAAA,CAAA,OAzCH;AAAA,cAqDvE,wBAzCqB,EAAA,CAAA,KAAgC,CAAhC,EAAA,CAAA;EAAA,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,IAAA,GAAA,SAAA;KAAG,CAAA,EAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,SAAA;IA2D5B,+BAAA,CAAA,SA3DyD,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;KA6DtD,qBAAA,GAAwB,KAAA,CAAM,cA7D6C,CAAA,KAAA,CAAA,GA8D9E,YA9D8E,CAAA,OA8D1D,wBA9D0D,CAAA;AAAA;AAAA,iBAiEvE,gBAAA,CAtDiB;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAsDuC,qBAtDvC,CAAA,EAsD4D,mBAAA,CAAA,GAAA,CAAA,OAtD5D"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/patterns/MediaObject/MediaObject.tsx"],"mappings":";;;;;;;;KAcK,gBAAA,GAAmB,KAAA,CAAM;;;;AAVW;AAUG,iBAMnC,WAAA,CAAW;EAAA,SAAA;EAAA,WAAA;EAAA,GAAA;AAAA,CAAA,EAAuC,gBAAvC,CAAA,EAAuD,oBAAA,CAAA,GAAA,CAAA,OAAvD;KAef,qBAAA,GAAwB,KAAA,CAAM,cAff,CAAA,KAAA,CAAA,GAAA;;KAAc,EAAA,MAAA;;;AAAyC,iBAqBlE,gBAAA,CArBkE;EAAA,SAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAqBnB,qBArBmB,CAAA,EAqBE,oBAAA,CAAA,GAAA,CAAA,OArBF;AAAA;AAe1B,iBAuBxC,eAAA,CAjBgB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiByB,KAAA,CAAM,cAjB/B,CAAA,KAAA,CAAA,CAAA,EAiBoD,oBAAA,CAAA,GAAA,CAAA,OAjBpD;;iBA6BhB,kBAAA,CA7BmB;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EA6ByB,KAAA,CAAM,cA7B/B,CAAA,KAAA,CAAA,CAAA,EA6BoD,oBAAA,CAAA,GAAA,CAAA,OA7BpD;KAwCvB,qBAAA,GAAwB,IAxCU,CAwCL,YAxCK,EAAA,IAAA,CAAA,GAAA;;MAAsC,CAAA,EA0CpE,YA1CoE,CAAA,MAAA,CAAA;AAAA,CAAA;AAAA;iBA8CpE,gBAAA,CA7Be;EAAA,IAAA;EAAA,GAAA;AAAA,CAAA,EA6BsB,qBA7BtB,CAAA,EA6B2C,oBAAA,CAAA,GAAA,CAAA,OA7B3C;;iBAmCf,eAAA,CAnC+C;EAAA,GAAA;AAAA,CAAA,EAmCjB,KAAA,CAAM,cAnCW,CAAA,OAmCW,IAnCX,CAAA,CAAA,EAmCgB,oBAAA,CAAA,GAAA,CAAA,OAnChB;;AAAqB,iBAyCpE,kBAAA,CAzCoE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyCxB,KAAA,CAAM,cAzCkB,CAAA,KAAA,CAAA,CAAA,EAyCG,oBAAA,CAAA,GAAA,CAAA,OAzCH;AAAA,cAqDvE,wBAzCqB,EAAA,CAAA,KAAgC,CAAhC,EAAA,CAAA;EAAA,OAAA,CAAA,EAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,CAAA,GAAA,IAAA,GAAA,SAAA;KAAG,CAAA,EAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,IAAA,GAAA,SAAA;IA2D5B,gCAAA,CAAA,SA3DyD,CAAA,GAAA,SAAA,EAAA,GAAA,MAAA;KA6DtD,qBAAA,GAAwB,KAAA,CAAM,cA7D6C,CAAA,KAAA,CAAA,GA8D9E,YA9D8E,CAAA,OA8D1D,wBA9D0D,CAAA;AAAA;AAAA,iBAiEvE,gBAAA,CAtDiB;EAAA,SAAA;EAAA,OAAA;EAAA,GAAA;EAAA,GAAA;AAAA,CAAA,EAsDuC,qBAtDvC,CAAA,EAsD4D,oBAAA,CAAA,GAAA,CAAA,OAtD5D"}
@@ -8,7 +8,7 @@ import { cva } from "class-variance-authority";
8
8
  function MediaObject({ className, interactive, ...props }) {
9
9
  return /* @__PURE__ */ jsx("article", {
10
10
  "data-slot": "media-object",
11
- className: cn("group/media flex flex-col overflow-hidden rounded-2xl border bg-card", interactive && "transition-all hover:-translate-y-0.5 hover:shadow-md", className),
11
+ className: cn("group/media flex flex-col overflow-hidden rounded-16 border bg-glass-none-bg", interactive && "transition-all hover:-translate-y-0.5 hover:shadow-md", className),
12
12
  ...props
13
13
  });
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/patterns/MediaObject/MediaObject.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { Heading, type HeadingProps } from \"@/primitives/Heading\";\nimport { Text } from \"@/primitives/Text\";\nimport { cn } from \"@/utils\";\n\n// MediaObject — a COMPOSITIONAL media card (Radix-style parts the consumer\n// assembles). Replaces the legacy landing \"media cards\" (image + title + text +\n// action) and slingshot \"feature cards\" (icon + title + description + action).\n// Each part is a thin styled wrapper carrying a data-slot; spacing and hover are\n// driven entirely by Tailwind tokens + CSS group-hover (no JS state).\n\n// MediaObject — root <article>. `interactive` opts into the CSS hover lift.\ntype MediaObjectProps = React.ComponentProps<\"article\"> & {\n /** Add a CSS hover lift + shadow on hover (pure CSS, no JS state). */\n interactive?: boolean;\n};\n\n/** Root <article> surface of a media card; consumers compose the parts inside it. */\nfunction MediaObject({ className, interactive, ...props }: MediaObjectProps) {\n return (\n <article\n data-slot=\"media-object\"\n className={cn(\n \"group/media flex flex-col overflow-hidden rounded-2xl border bg-card\",\n interactive && \"transition-all hover:-translate-y-0.5 hover:shadow-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\n// MediaObjectImage — the top media. `alt` is required for accessibility.\ntype MediaObjectImageProps = React.ComponentProps<\"img\"> & {\n /** Required alt text describing the media (enforced for accessibility). */\n alt: string;\n};\n\n/** Top media image of a card; renders a 16/9 cover image that scales on hover. */\nfunction MediaObjectImage({ className, alt, ...props }: MediaObjectImageProps) {\n return (\n // biome-ignore lint/a11y/useAltText: alt is required via props typing.\n <img\n data-slot=\"media-object-image\"\n alt={alt}\n className={cn(\n \"aspect-[16/9] w-full object-cover transition-transform group-hover/media:scale-[1.02]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n// MediaObjectIcon — the icon-top variant container; consumer renders an Icon inside.\n/** Square container for the icon-top card variant; place an Icon inside it. */\nfunction MediaObjectIcon({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-icon\"\n className={cn(\"flex size-10 shrink-0 items-center justify-center\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectContent — the body region holding title/text/actions.\n/** Padded body region of a card that holds the title, text, and actions. */\nfunction MediaObjectContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-content\"\n className={cn(\"flex flex-1 flex-col gap-3 p-5\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectTitle — reuses the Heading primitive (rendered as <h3>).\ntype MediaObjectTitleProps = Omit<HeadingProps, \"as\"> & {\n /** Heading size step passthrough (defaults to \"4\"). */\n size?: HeadingProps[\"size\"];\n};\n\n/** Card title; wraps the Heading primitive rendered as an <h3>. */\nfunction MediaObjectTitle({ size, ...props }: MediaObjectTitleProps) {\n return <Heading data-slot=\"media-object-title\" as=\"h3\" size={size ?? \"4\"} {...props} />;\n}\n\n// MediaObjectText — reuses the Text primitive (muted, small body).\n/** Supporting body copy; wraps the Text primitive (muted, small). */\nfunction MediaObjectText({ ...props }: React.ComponentProps<typeof Text>) {\n return <Text data-slot=\"media-object-text\" variant=\"muted\" size=\"small\" {...props} />;\n}\n\n// MediaObjectActions — pinned to the bottom of the content; holds a Button/Link.\n/** Action row pinned to the bottom of the content; holds a Button or Link. */\nfunction MediaObjectActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-actions\"\n className={cn(\"mt-auto flex items-center gap-2 pt-2\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectGroup — responsive grid container. `columns` gives equal-width,\n// aligned items; `gap` lets the enclosing section own its spacing rhythm.\nconst mediaObjectGroupVariants = cva(\"grid\", {\n variants: {\n columns: {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-1 sm:grid-cols-2\",\n 3: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3\",\n 4: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4\",\n },\n gap: {\n sm: \"gap-4\",\n md: \"gap-6\",\n lg: \"gap-8\",\n },\n },\n defaultVariants: {\n columns: 3,\n gap: \"lg\",\n },\n});\n\ntype MediaObjectGroupProps = React.ComponentProps<\"div\"> &\n VariantProps<typeof mediaObjectGroupVariants>;\n\n/** Responsive grid wrapper that lays out a set of MediaObject cards. */\nfunction MediaObjectGroup({ className, columns, gap, ...props }: MediaObjectGroupProps) {\n return (\n <div\n data-slot=\"media-object-group\"\n className={cn(mediaObjectGroupVariants({ columns, gap }), className)}\n {...props}\n />\n );\n}\n\nexport {\n MediaObject,\n MediaObjectImage,\n MediaObjectIcon,\n MediaObjectContent,\n MediaObjectTitle,\n MediaObjectText,\n MediaObjectActions,\n MediaObjectGroup,\n mediaObjectGroupVariants,\n type MediaObjectProps,\n type MediaObjectImageProps,\n type MediaObjectTitleProps,\n type MediaObjectGroupProps,\n};\n"],"mappings":";;;;;;;AAoBA,SAAS,YAAY,EAAE,WAAW,aAAa,GAAG,SAA2B;CAC3E,OACE,oBAAC,WAAD;EACE,aAAU;EACV,WAAW,GACT,wEACA,eAAe,yDACf,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AASA,SAAS,iBAAiB,EAAE,WAAW,KAAK,GAAG,SAAgC;CAC7E,OAEE,oBAAC,OAAD;EACE,aAAU;EACL;EACL,WAAW,GACT,yFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAIA,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAsC;CAC7E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,qDAAqD,SAAS;EAC5E,GAAI;CACL,CAAA;AAEL;;AAIA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAsC;CAChF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,kCAAkC,SAAS;EACzD,GAAI;CACL,CAAA;AAEL;;AASA,SAAS,iBAAiB,EAAE,MAAM,GAAG,SAAgC;CACnE,OAAO,oBAAC,SAAD;EAAS,aAAU;EAAqB,IAAG;EAAK,MAAM,QAAQ;EAAK,GAAI;CAAQ,CAAA;AACxF;;AAIA,SAAS,gBAAgB,EAAE,GAAG,SAA4C;CACxE,OAAO,oBAAC,MAAD;EAAM,aAAU;EAAoB,SAAQ;EAAQ,MAAK;EAAQ,GAAI;CAAQ,CAAA;AACtF;;AAIA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAsC;CAChF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,wCAAwC,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL;AAIA,MAAM,2BAA2B,IAAI,QAAQ;CAC3C,UAAU;EACR,SAAS;GACP,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;EACL;EACA,KAAK;GACH,IAAI;GACJ,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,KAAK;CACP;AACF,CAAC;;AAMD,SAAS,iBAAiB,EAAE,WAAW,SAAS,KAAK,GAAG,SAAgC;CACtF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,yBAAyB;GAAE;GAAS;EAAI,CAAC,GAAG,SAAS;EACnE,GAAI;CACL,CAAA;AAEL"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/patterns/MediaObject/MediaObject.tsx"],"sourcesContent":["import { type VariantProps, cva } from \"class-variance-authority\";\nimport type * as React from \"react\";\n\nimport { Heading, type HeadingProps } from \"@/primitives/Heading\";\nimport { Text } from \"@/primitives/Text\";\nimport { cn } from \"@/utils\";\n\n// MediaObject — a COMPOSITIONAL media card (Radix-style parts the consumer\n// assembles). Replaces the legacy landing \"media cards\" (image + title + text +\n// action) and slingshot \"feature cards\" (icon + title + description + action).\n// Each part is a thin styled wrapper carrying a data-slot; spacing and hover are\n// driven entirely by Tailwind tokens + CSS group-hover (no JS state).\n\n// MediaObject — root <article>. `interactive` opts into the CSS hover lift.\ntype MediaObjectProps = React.ComponentProps<\"article\"> & {\n /** Add a CSS hover lift + shadow on hover (pure CSS, no JS state). */\n interactive?: boolean;\n};\n\n/** Root <article> surface of a media card; consumers compose the parts inside it. */\nfunction MediaObject({ className, interactive, ...props }: MediaObjectProps) {\n return (\n <article\n data-slot=\"media-object\"\n className={cn(\n \"group/media flex flex-col overflow-hidden rounded-16 border bg-glass-none-bg\",\n interactive && \"transition-all hover:-translate-y-0.5 hover:shadow-md\",\n className,\n )}\n {...props}\n />\n );\n}\n\n// MediaObjectImage — the top media. `alt` is required for accessibility.\ntype MediaObjectImageProps = React.ComponentProps<\"img\"> & {\n /** Required alt text describing the media (enforced for accessibility). */\n alt: string;\n};\n\n/** Top media image of a card; renders a 16/9 cover image that scales on hover. */\nfunction MediaObjectImage({ className, alt, ...props }: MediaObjectImageProps) {\n return (\n // biome-ignore lint/a11y/useAltText: alt is required via props typing.\n <img\n data-slot=\"media-object-image\"\n alt={alt}\n className={cn(\n \"aspect-[16/9] w-full object-cover transition-transform group-hover/media:scale-[1.02]\",\n className,\n )}\n {...props}\n />\n );\n}\n\n// MediaObjectIcon — the icon-top variant container; consumer renders an Icon inside.\n/** Square container for the icon-top card variant; place an Icon inside it. */\nfunction MediaObjectIcon({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-icon\"\n className={cn(\"flex size-10 shrink-0 items-center justify-center\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectContent — the body region holding title/text/actions.\n/** Padded body region of a card that holds the title, text, and actions. */\nfunction MediaObjectContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-content\"\n className={cn(\"flex flex-1 flex-col gap-3 p-5\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectTitle — reuses the Heading primitive (rendered as <h3>).\ntype MediaObjectTitleProps = Omit<HeadingProps, \"as\"> & {\n /** Heading size step passthrough (defaults to \"4\"). */\n size?: HeadingProps[\"size\"];\n};\n\n/** Card title; wraps the Heading primitive rendered as an <h3>. */\nfunction MediaObjectTitle({ size, ...props }: MediaObjectTitleProps) {\n return <Heading data-slot=\"media-object-title\" as=\"h3\" size={size ?? \"4\"} {...props} />;\n}\n\n// MediaObjectText — reuses the Text primitive (muted, small body).\n/** Supporting body copy; wraps the Text primitive (muted, small). */\nfunction MediaObjectText({ ...props }: React.ComponentProps<typeof Text>) {\n return <Text data-slot=\"media-object-text\" variant=\"muted\" size=\"small\" {...props} />;\n}\n\n// MediaObjectActions — pinned to the bottom of the content; holds a Button/Link.\n/** Action row pinned to the bottom of the content; holds a Button or Link. */\nfunction MediaObjectActions({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"media-object-actions\"\n className={cn(\"mt-auto flex items-center gap-2 pt-2\", className)}\n {...props}\n />\n );\n}\n\n// MediaObjectGroup — responsive grid container. `columns` gives equal-width,\n// aligned items; `gap` lets the enclosing section own its spacing rhythm.\nconst mediaObjectGroupVariants = cva(\"grid\", {\n variants: {\n columns: {\n 1: \"grid-cols-1\",\n 2: \"grid-cols-1 sm:grid-cols-2\",\n 3: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-3\",\n 4: \"grid-cols-1 sm:grid-cols-2 lg:grid-cols-4\",\n },\n gap: {\n sm: \"gap-4\",\n md: \"gap-6\",\n lg: \"gap-8\",\n },\n },\n defaultVariants: {\n columns: 3,\n gap: \"lg\",\n },\n});\n\ntype MediaObjectGroupProps = React.ComponentProps<\"div\"> &\n VariantProps<typeof mediaObjectGroupVariants>;\n\n/** Responsive grid wrapper that lays out a set of MediaObject cards. */\nfunction MediaObjectGroup({ className, columns, gap, ...props }: MediaObjectGroupProps) {\n return (\n <div\n data-slot=\"media-object-group\"\n className={cn(mediaObjectGroupVariants({ columns, gap }), className)}\n {...props}\n />\n );\n}\n\nexport {\n MediaObject,\n MediaObjectImage,\n MediaObjectIcon,\n MediaObjectContent,\n MediaObjectTitle,\n MediaObjectText,\n MediaObjectActions,\n MediaObjectGroup,\n mediaObjectGroupVariants,\n type MediaObjectProps,\n type MediaObjectImageProps,\n type MediaObjectTitleProps,\n type MediaObjectGroupProps,\n};\n"],"mappings":";;;;;;;AAoBA,SAAS,YAAY,EAAE,WAAW,aAAa,GAAG,SAA2B;CAC3E,OACE,oBAAC,WAAD;EACE,aAAU;EACV,WAAW,GACT,gFACA,eAAe,yDACf,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AASA,SAAS,iBAAiB,EAAE,WAAW,KAAK,GAAG,SAAgC;CAC7E,OAEE,oBAAC,OAAD;EACE,aAAU;EACL;EACL,WAAW,GACT,yFACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAIA,SAAS,gBAAgB,EAAE,WAAW,GAAG,SAAsC;CAC7E,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,qDAAqD,SAAS;EAC5E,GAAI;CACL,CAAA;AAEL;;AAIA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAsC;CAChF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,kCAAkC,SAAS;EACzD,GAAI;CACL,CAAA;AAEL;;AASA,SAAS,iBAAiB,EAAE,MAAM,GAAG,SAAgC;CACnE,OAAO,oBAAC,SAAD;EAAS,aAAU;EAAqB,IAAG;EAAK,MAAM,QAAQ;EAAK,GAAI;CAAQ,CAAA;AACxF;;AAIA,SAAS,gBAAgB,EAAE,GAAG,SAA4C;CACxE,OAAO,oBAAC,MAAD;EAAM,aAAU;EAAoB,SAAQ;EAAQ,MAAK;EAAQ,GAAI;CAAQ,CAAA;AACtF;;AAIA,SAAS,mBAAmB,EAAE,WAAW,GAAG,SAAsC;CAChF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,wCAAwC,SAAS;EAC/D,GAAI;CACL,CAAA;AAEL;AAIA,MAAM,2BAA2B,IAAI,QAAQ;CAC3C,UAAU;EACR,SAAS;GACP,GAAG;GACH,GAAG;GACH,GAAG;GACH,GAAG;EACL;EACA,KAAK;GACH,IAAI;GACJ,IAAI;GACJ,IAAI;EACN;CACF;CACA,iBAAiB;EACf,SAAS;EACT,KAAK;CACP;AACF,CAAC;;AAMD,SAAS,iBAAiB,EAAE,WAAW,SAAS,KAAK,GAAG,SAAgC;CACtF,OACE,oBAAC,OAAD;EACE,aAAU;EACV,WAAW,GAAG,yBAAyB;GAAE;GAAS;EAAI,CAAC,GAAG,SAAS;EACnE,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,195 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_chunk = require("../../chunk.cjs");
3
+ const require_cn = require("../../cn.cjs");
4
+ const require_primitives_Popover_index = require("../../primitives/Popover/index.cjs");
5
+ const require_primitives_Tooltip_index = require("../../primitives/Tooltip/index.cjs");
6
+ let react = require("react");
7
+ react = require_chunk.__toESM(react);
8
+ let lucide_react = require("lucide-react");
9
+ let radix_ui = require("radix-ui");
10
+ let react_jsx_runtime = require("react/jsx-runtime");
11
+ //#region src/patterns/NavRail/NavRail.tsx
12
+ const NavRailContext = react.createContext("icon");
13
+ const RAIL_BY_MODE = {
14
+ icon: "w-14 items-center",
15
+ text: "w-56 items-stretch",
16
+ expanded: "w-56 items-stretch",
17
+ "expand-on-hover": "w-14 items-stretch transition-[width] duration-200 ease-out hover:w-56"
18
+ };
19
+ const ITEM_BASE = "relative flex h-10 cursor-pointer items-center text-primary-txt outline-none transition-colors hover:bg-primary-txt/10 focus-visible:ring-3 focus-visible:ring-focus disabled:pointer-events-none disabled:opacity-50 data-[active=true]:bg-primary-bg data-[active=true]:font-medium data-[active=true]:text-navbar-active-bg data-[active=true]:hover:bg-primary-bg [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4";
20
+ const ITEM_BY_MODE = {
21
+ icon: "w-10 justify-center rounded-full",
22
+ text: "w-full justify-start gap-3 rounded-full px-3",
23
+ expanded: "w-full justify-start gap-3 rounded-full px-3",
24
+ "expand-on-hover": "w-full justify-start gap-3 rounded-full px-3"
25
+ };
26
+ const ICON_BY_MODE = {
27
+ icon: "flex shrink-0 items-center justify-center",
28
+ text: "hidden",
29
+ expanded: "flex shrink-0 items-center justify-center",
30
+ "expand-on-hover": "flex shrink-0 items-center justify-center"
31
+ };
32
+ const LABEL_ROW = "min-w-0 flex-1 truncate text-left text-sm font-medium";
33
+ const LABEL_BY_MODE = {
34
+ icon: "sr-only",
35
+ text: LABEL_ROW,
36
+ expanded: LABEL_ROW,
37
+ "expand-on-hover": require_cn.cn(LABEL_ROW, "opacity-0 transition-opacity duration-200 group-hover/nav-rail:opacity-100")
38
+ };
39
+ const CHEVRON_BY_MODE = {
40
+ icon: "absolute top-1/2 right-[-4px] size-3 -translate-y-1/2 text-muted-txt",
41
+ text: "ml-auto size-4 shrink-0 text-muted-txt",
42
+ expanded: "ml-auto size-4 shrink-0 text-muted-txt",
43
+ "expand-on-hover": "ml-auto size-4 shrink-0 text-muted-txt opacity-0 transition-opacity duration-200 group-hover/nav-rail:opacity-100"
44
+ };
45
+ /** The vertical navigation rail container; sets the display `mode` for all items via context. */
46
+ function NavRail({ mode = "icon", className, ...props }) {
47
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(NavRailContext.Provider, {
48
+ value: mode,
49
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("nav", {
50
+ "data-slot": "nav-rail",
51
+ "data-mode": mode,
52
+ className: require_cn.cn("group/nav-rail flex flex-col gap-2 self-start overflow-hidden rounded-16 bg-glass-60-bg p-2 backdrop-blur-glass", RAIL_BY_MODE[mode], className),
53
+ ...props
54
+ })
55
+ });
56
+ }
57
+ /** A thin divider between groups of rail items. */
58
+ function NavRailSeparator({ className, ...props }) {
59
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
60
+ "data-slot": "nav-rail-separator",
61
+ role: "separator",
62
+ className: require_cn.cn("my-1 h-px w-6 shrink-0 self-center bg-primary-border", className),
63
+ ...props
64
+ });
65
+ }
66
+ /** A single navigation entry; an icon (as children) plus a `label`, with a tooltip in icon mode. */
67
+ function NavRailItem({ label, active, asChild = false, tooltipSide = "right", className, children, ...props }) {
68
+ const mode = react.useContext(NavRailContext);
69
+ const shared = {
70
+ "data-slot": "nav-rail-item",
71
+ "data-active": active || void 0,
72
+ "aria-label": label,
73
+ "aria-current": active ? "page" : void 0,
74
+ className: require_cn.cn(ITEM_BASE, ITEM_BY_MODE[mode], className),
75
+ ...props
76
+ };
77
+ const labelEl = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
78
+ "data-slot": "nav-rail-item-label",
79
+ className: LABEL_BY_MODE[mode],
80
+ children: label
81
+ });
82
+ const el = asChild ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(radix_ui.Slot.Root, {
83
+ ...shared,
84
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(radix_ui.Slot.Slottable, { children }), labelEl]
85
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
86
+ type: "button",
87
+ ...shared,
88
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
89
+ "data-slot": "nav-rail-item-icon",
90
+ className: ICON_BY_MODE[mode],
91
+ children
92
+ }), labelEl]
93
+ });
94
+ if (mode !== "icon") return el;
95
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_primitives_Tooltip_index.Tooltip, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Tooltip_index.TooltipTrigger, {
96
+ asChild: true,
97
+ children: el
98
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Tooltip_index.TooltipContent, {
99
+ side: tooltipSide,
100
+ children: label
101
+ })] });
102
+ }
103
+ /** The footer slot of the rail showing the signed-in user (avatar + name + email). */
104
+ function NavRailUser({ avatar, name, email, className, ...props }) {
105
+ const mode = react.useContext(NavRailContext);
106
+ const detailsHidden = mode === "icon";
107
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
108
+ "data-slot": "nav-rail-user",
109
+ className: require_cn.cn("mt-auto flex h-12 w-full shrink-0 items-center rounded-full", className),
110
+ ...props,
111
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
112
+ "data-slot": "nav-rail-user-avatar",
113
+ className: "flex w-10 shrink-0 items-center justify-center",
114
+ children: avatar
115
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
116
+ "data-slot": "nav-rail-user-details",
117
+ className: require_cn.cn("flex min-w-0 flex-1 flex-col justify-center text-left leading-tight", detailsHidden && "sr-only", mode === "expand-on-hover" && "opacity-0 transition-opacity duration-200 group-hover/nav-rail:opacity-100"),
118
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
119
+ className: "truncate text-sm font-medium",
120
+ children: name
121
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
122
+ className: "truncate text-xs text-muted-txt",
123
+ children: email
124
+ })]
125
+ })]
126
+ });
127
+ }
128
+ /** Root for a rail item that opens a flyout submenu (wraps Popover). */
129
+ function NavRailMenu(props) {
130
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Popover_index.Popover, { ...props });
131
+ }
132
+ /** The rail item that opens its flyout submenu; renders a chevron affordance. */
133
+ function NavRailMenuTrigger({ label, active, className, children, ...props }) {
134
+ const mode = react.useContext(NavRailContext);
135
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Popover_index.PopoverTrigger, {
136
+ asChild: true,
137
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
138
+ type: "button",
139
+ "data-slot": "nav-rail-menu-trigger",
140
+ "data-active": active || void 0,
141
+ "aria-label": label,
142
+ className: require_cn.cn(ITEM_BASE, ITEM_BY_MODE[mode], className),
143
+ ...props,
144
+ children: [
145
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
146
+ "data-slot": "nav-rail-item-icon",
147
+ className: ICON_BY_MODE[mode],
148
+ children
149
+ }),
150
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
151
+ "data-slot": "nav-rail-item-label",
152
+ className: LABEL_BY_MODE[mode],
153
+ children: label
154
+ }),
155
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRightIcon, {
156
+ "aria-hidden": true,
157
+ className: CHEVRON_BY_MODE[mode]
158
+ })
159
+ ]
160
+ })
161
+ });
162
+ }
163
+ /** The glass flyout panel that holds the submenu items (portalled Popover content). */
164
+ function NavRailMenuContent({ className, side = "right", align = "start", sideOffset = 8, ...props }) {
165
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_primitives_Popover_index.PopoverContent, {
166
+ "data-slot": "nav-rail-menu-content",
167
+ side,
168
+ align,
169
+ sideOffset,
170
+ className: require_cn.cn("flex w-45 flex-col gap-0.5 rounded-16 border border-primary-border bg-glass-60-bg p-1.5 text-primary-txt shadow-sm backdrop-blur-glass", className),
171
+ ...props
172
+ });
173
+ }
174
+ /** A single entry inside a NavRail flyout submenu. */
175
+ function NavRailMenuItem({ className, active, asChild = false, ...props }) {
176
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(asChild ? radix_ui.Slot.Root : "button", {
177
+ "data-slot": "nav-rail-menu-item",
178
+ "data-active": active || void 0,
179
+ "aria-current": active ? "page" : void 0,
180
+ className: require_cn.cn("flex w-full cursor-pointer items-center gap-2.5 rounded-8 px-3 py-2 text-left text-sm text-primary-txt outline-none transition-colors", "hover:bg-primary-txt/10 focus-visible:bg-primary-txt/10", "data-[active=true]:bg-primary-bg data-[active=true]:font-medium data-[active=true]:text-navbar-active-bg data-[active=true]:hover:bg-primary-bg", "[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", className),
181
+ ...asChild ? {} : { type: "button" },
182
+ ...props
183
+ });
184
+ }
185
+ //#endregion
186
+ exports.NavRail = NavRail;
187
+ exports.NavRailItem = NavRailItem;
188
+ exports.NavRailMenu = NavRailMenu;
189
+ exports.NavRailMenuContent = NavRailMenuContent;
190
+ exports.NavRailMenuItem = NavRailMenuItem;
191
+ exports.NavRailMenuTrigger = NavRailMenuTrigger;
192
+ exports.NavRailSeparator = NavRailSeparator;
193
+ exports.NavRailUser = NavRailUser;
194
+
195
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","names":["React","cn","Slot","Tooltip","TooltipTrigger","TooltipContent","Popover","PopoverTrigger","ChevronRightIcon","PopoverContent"],"sources":["../../../src/patterns/NavRail/NavRail.tsx"],"sourcesContent":["import { ChevronRightIcon } from \"lucide-react\";\nimport { Slot } from \"radix-ui\";\nimport * as React from \"react\";\n\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/primitives/Popover\";\nimport { Tooltip, TooltipContent, TooltipTrigger } from \"@/primitives/Tooltip\";\nimport { cn } from \"@/utils\";\n\n// NavRail — a vertical navigation rail (the app's side nav). Four display modes:\n// icon-only (tooltips), text-only, expanded (icon + text), and expand-on-hover\n// (icon-only that widens to reveal labels on hover). Items can open a flyout\n// submenu (NavRailMenu) and the rail can show a user footer (NavRailUser).\n//\n// All items share a constant height (h-10) with the icon pinned to the left, so\n// expanding the rail just REVEALS the labels to the right — the icon never moves\n// and the row height never changes.\n//\n// LAYOUT NOTE: `expand-on-hover` changes the rail's width. To make the content\n// give up space as the rail expands (rather than overlap it), put the rail in a\n// flex row as a `shrink-0` child (it keeps its own w-14/w-56 width) next to a\n// `flex-1 min-w-0` content column — the column shrinks as the rail widens.\n//\n// HEIGHT: the rail hugs its content (`self-start`, so a taller flex parent won't\n// stretch it). For a full-height app-shell rail, pass an explicit height —\n// e.g. `className=\"h-full\"`.\n\ntype NavRailMode = \"icon\" | \"text\" | \"expanded\" | \"expand-on-hover\";\n\nconst NavRailContext = React.createContext<NavRailMode>(\"icon\");\n\nconst RAIL_BY_MODE: Record<NavRailMode, string> = {\n icon: \"w-14 items-center\",\n text: \"w-56 items-stretch\",\n expanded: \"w-56 items-stretch\",\n \"expand-on-hover\": \"w-14 items-stretch transition-[width] duration-200 ease-out hover:w-56\",\n};\n\nconst ITEM_BASE =\n \"relative flex h-10 cursor-pointer items-center text-primary-txt outline-none transition-colors hover:bg-primary-txt/10 focus-visible:ring-3 focus-visible:ring-focus disabled:pointer-events-none disabled:opacity-50 data-[active=true]:bg-primary-bg data-[active=true]:font-medium data-[active=true]:text-navbar-active-bg data-[active=true]:hover:bg-primary-bg [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\";\n\nconst ITEM_BY_MODE: Record<NavRailMode, string> = {\n icon: \"w-10 justify-center rounded-full\",\n text: \"w-full justify-start gap-3 rounded-full px-3\",\n expanded: \"w-full justify-start gap-3 rounded-full px-3\",\n \"expand-on-hover\": \"w-full justify-start gap-3 rounded-full px-3\",\n};\n\nconst ICON_BY_MODE: Record<NavRailMode, string> = {\n icon: \"flex shrink-0 items-center justify-center\",\n text: \"hidden\", // text-only mode hides the icon\n expanded: \"flex shrink-0 items-center justify-center\",\n \"expand-on-hover\": \"flex shrink-0 items-center justify-center\",\n};\n\nconst LABEL_ROW = \"min-w-0 flex-1 truncate text-left text-sm font-medium\";\nconst LABEL_BY_MODE: Record<NavRailMode, string> = {\n icon: \"sr-only\",\n text: LABEL_ROW,\n expanded: LABEL_ROW,\n // Always laid out (so the icon never reflows); revealed via opacity on hover.\n \"expand-on-hover\": cn(\n LABEL_ROW,\n \"opacity-0 transition-opacity duration-200 group-hover/nav-rail:opacity-100\",\n ),\n};\n\nconst CHEVRON_BY_MODE: Record<NavRailMode, string> = {\n // Vertically centered, overhanging the right edge (clear of the centered icon).\n icon: \"absolute top-1/2 right-[-4px] size-3 -translate-y-1/2 text-muted-txt\",\n text: \"ml-auto size-4 shrink-0 text-muted-txt\",\n expanded: \"ml-auto size-4 shrink-0 text-muted-txt\",\n \"expand-on-hover\":\n \"ml-auto size-4 shrink-0 text-muted-txt opacity-0 transition-opacity duration-200 group-hover/nav-rail:opacity-100\",\n};\n\n/** The vertical navigation rail container; sets the display `mode` for all items via context. */\nfunction NavRail({\n mode = \"icon\",\n className,\n ...props\n}: React.ComponentProps<\"nav\"> & {\n /** Display mode for the rail and its items: icon-only (tooltips), text-only, expanded (icon + text), or expand-on-hover. */\n mode?: NavRailMode;\n}) {\n return (\n <NavRailContext.Provider value={mode}>\n <nav\n data-slot=\"nav-rail\"\n data-mode={mode}\n className={cn(\n \"group/nav-rail flex flex-col gap-2 self-start overflow-hidden rounded-16 bg-glass-60-bg p-2 backdrop-blur-glass\",\n RAIL_BY_MODE[mode],\n className,\n )}\n {...props}\n />\n </NavRailContext.Provider>\n );\n}\n\n/** A thin divider between groups of rail items. */\nfunction NavRailSeparator({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"nav-rail-separator\"\n role=\"separator\"\n className={cn(\"my-1 h-px w-6 shrink-0 self-center bg-primary-border\", className)}\n {...props}\n />\n );\n}\n\ntype NavRailItemProps = Omit<React.ComponentProps<\"button\">, \"aria-label\"> & {\n /** Tooltip text (icon mode) + accessible name + inline label (text/expanded). */\n label: string;\n /** Marks the item as the current page (active styling + `aria-current=\"page\"`). */\n active?: boolean;\n /** Render the child element instead of a <button> (e.g. a router link). */\n asChild?: boolean;\n /** Which side the tooltip opens on in icon mode. */\n tooltipSide?: \"top\" | \"right\" | \"bottom\" | \"left\";\n};\n\n/** A single navigation entry; an icon (as children) plus a `label`, with a tooltip in icon mode. */\nfunction NavRailItem({\n label,\n active,\n asChild = false,\n tooltipSide = \"right\",\n className,\n children,\n ...props\n}: NavRailItemProps) {\n const mode = React.useContext(NavRailContext);\n const shared = {\n \"data-slot\": \"nav-rail-item\",\n \"data-active\": active || undefined,\n \"aria-label\": label,\n \"aria-current\": active ? (\"page\" as const) : undefined,\n className: cn(ITEM_BASE, ITEM_BY_MODE[mode], className),\n ...props,\n };\n const labelEl = (\n <span data-slot=\"nav-rail-item-label\" className={LABEL_BY_MODE[mode]}>\n {label}\n </span>\n );\n\n const el = asChild ? (\n <Slot.Root {...shared}>\n <Slot.Slottable>{children}</Slot.Slottable>\n {labelEl}\n </Slot.Root>\n ) : (\n <button type=\"button\" {...shared}>\n <span data-slot=\"nav-rail-item-icon\" className={ICON_BY_MODE[mode]}>\n {children}\n </span>\n {labelEl}\n </button>\n );\n\n if (mode !== \"icon\") return el;\n return (\n <Tooltip>\n <TooltipTrigger asChild>{el}</TooltipTrigger>\n <TooltipContent side={tooltipSide}>{label}</TooltipContent>\n </Tooltip>\n );\n}\n\n// ── User footer ─────────────────────────────────────────────────────────────\n\ntype NavRailUserProps = React.ComponentProps<\"div\"> & {\n /** The avatar element (e.g. an <Avatar />). */\n avatar: React.ReactNode;\n /** The user's display name (hidden in icon mode). */\n name: React.ReactNode;\n /** The user's secondary line, e.g. email (hidden in icon mode). */\n email: React.ReactNode;\n};\n\n/** The footer slot of the rail showing the signed-in user (avatar + name + email). */\nfunction NavRailUser({ avatar, name, email, className, ...props }: NavRailUserProps) {\n const mode = React.useContext(NavRailContext);\n const detailsHidden = mode === \"icon\";\n return (\n <div\n data-slot=\"nav-rail-user\"\n className={cn(\"mt-auto flex h-12 w-full shrink-0 items-center rounded-full\", className)}\n {...props}\n >\n {/* Fixed w-10 slot centers any avatar on the same axis as the icon column,\n so it never shifts between modes regardless of avatar size. */}\n <span\n data-slot=\"nav-rail-user-avatar\"\n className=\"flex w-10 shrink-0 items-center justify-center\"\n >\n {avatar}\n </span>\n <div\n data-slot=\"nav-rail-user-details\"\n className={cn(\n \"flex min-w-0 flex-1 flex-col justify-center text-left leading-tight\",\n detailsHidden && \"sr-only\",\n mode === \"expand-on-hover\" &&\n \"opacity-0 transition-opacity duration-200 group-hover/nav-rail:opacity-100\",\n )}\n >\n <span className=\"truncate text-sm font-medium\">{name}</span>\n <span className=\"truncate text-xs text-muted-txt\">{email}</span>\n </div>\n </div>\n );\n}\n\n// ── Flyout submenu ──────────────────────────────────────────────────────────\n\n/** Root for a rail item that opens a flyout submenu (wraps Popover). */\nfunction NavRailMenu(props: React.ComponentProps<typeof Popover>) {\n return <Popover {...props} />;\n}\n\ntype NavRailMenuTriggerProps = Omit<React.ComponentProps<\"button\">, \"aria-label\"> & {\n /** Tooltip/accessible name + inline label for the trigger item. */\n label: string;\n /** Marks the trigger as active (current section) styling. */\n active?: boolean;\n};\n\n/** The rail item that opens its flyout submenu; renders a chevron affordance. */\nfunction NavRailMenuTrigger({\n label,\n active,\n className,\n children,\n ...props\n}: NavRailMenuTriggerProps) {\n const mode = React.useContext(NavRailContext);\n return (\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n data-slot=\"nav-rail-menu-trigger\"\n data-active={active || undefined}\n aria-label={label}\n className={cn(ITEM_BASE, ITEM_BY_MODE[mode], className)}\n {...props}\n >\n <span data-slot=\"nav-rail-item-icon\" className={ICON_BY_MODE[mode]}>\n {children}\n </span>\n <span data-slot=\"nav-rail-item-label\" className={LABEL_BY_MODE[mode]}>\n {label}\n </span>\n <ChevronRightIcon aria-hidden className={CHEVRON_BY_MODE[mode]} />\n </button>\n </PopoverTrigger>\n );\n}\n\n/** The glass flyout panel that holds the submenu items (portalled Popover content). */\nfunction NavRailMenuContent({\n className,\n side = \"right\",\n align = \"start\",\n sideOffset = 8,\n ...props\n}: React.ComponentProps<typeof PopoverContent>) {\n return (\n <PopoverContent\n data-slot=\"nav-rail-menu-content\"\n side={side}\n align={align}\n sideOffset={sideOffset}\n // Glass flyout (matches the prototype sub-nav): translucent + blurred,\n // 16px radius, hairline border, soft shadow. Tokens, not prototype code.\n className={cn(\n \"flex w-45 flex-col gap-0.5 rounded-16 border border-primary-border bg-glass-60-bg p-1.5 text-primary-txt shadow-sm backdrop-blur-glass\",\n className,\n )}\n {...props}\n />\n );\n}\n\ntype NavRailMenuItemProps = React.ComponentProps<\"button\"> & {\n /** Marks the entry as the current page (active styling + `aria-current=\"page\"`). */\n active?: boolean;\n /** Render the child element instead of a <button> (e.g. a router link). */\n asChild?: boolean;\n};\n\n/** A single entry inside a NavRail flyout submenu. */\nfunction NavRailMenuItem({ className, active, asChild = false, ...props }: NavRailMenuItemProps) {\n const Comp = asChild ? Slot.Root : \"button\";\n return (\n <Comp\n data-slot=\"nav-rail-menu-item\"\n data-active={active || undefined}\n aria-current={active ? \"page\" : undefined}\n className={cn(\n \"flex w-full cursor-pointer items-center gap-2.5 rounded-8 px-3 py-2 text-left text-sm text-primary-txt outline-none transition-colors\",\n \"hover:bg-primary-txt/10 focus-visible:bg-primary-txt/10\",\n \"data-[active=true]:bg-primary-bg data-[active=true]:font-medium data-[active=true]:text-navbar-active-bg data-[active=true]:hover:bg-primary-bg\",\n \"[&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...(asChild ? {} : { type: \"button\" as const })}\n {...props}\n />\n );\n}\n\nexport {\n NavRail,\n NavRailItem,\n NavRailUser,\n NavRailSeparator,\n NavRailMenu,\n NavRailMenuTrigger,\n NavRailMenuContent,\n NavRailMenuItem,\n type NavRailMode,\n type NavRailItemProps,\n type NavRailUserProps,\n type NavRailMenuTriggerProps,\n type NavRailMenuItemProps,\n};\n"],"mappings":";;;;;;;;;;;AA4BA,MAAM,iBAAiBA,MAAM,cAA2B,MAAM;AAE9D,MAAM,eAA4C;CAChD,MAAM;CACN,MAAM;CACN,UAAU;CACV,mBAAmB;AACrB;AAEA,MAAM,YACJ;AAEF,MAAM,eAA4C;CAChD,MAAM;CACN,MAAM;CACN,UAAU;CACV,mBAAmB;AACrB;AAEA,MAAM,eAA4C;CAChD,MAAM;CACN,MAAM;CACN,UAAU;CACV,mBAAmB;AACrB;AAEA,MAAM,YAAY;AAClB,MAAM,gBAA6C;CACjD,MAAM;CACN,MAAM;CACN,UAAU;CAEV,mBAAmBC,WAAAA,GACjB,WACA,4EACF;AACF;AAEA,MAAM,kBAA+C;CAEnD,MAAM;CACN,MAAM;CACN,UAAU;CACV,mBACE;AACJ;;AAGA,SAAS,QAAQ,EACf,OAAO,QACP,WACA,GAAG,SAIF;CACD,OACE,iBAAA,GAAA,kBAAA,KAAC,eAAe,UAAhB;EAAyB,OAAO;YAC9B,iBAAA,GAAA,kBAAA,KAAC,OAAD;GACE,aAAU;GACV,aAAW;GACX,WAAWA,WAAAA,GACT,mHACA,aAAa,OACb,SACF;GACA,GAAI;EACL,CAAA;CACsB,CAAA;AAE7B;;AAGA,SAAS,iBAAiB,EAAE,WAAW,GAAG,SAAsC;CAC9E,OACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,aAAU;EACV,MAAK;EACL,WAAWA,WAAAA,GAAG,wDAAwD,SAAS;EAC/E,GAAI;CACL,CAAA;AAEL;;AAcA,SAAS,YAAY,EACnB,OACA,QACA,UAAU,OACV,cAAc,SACd,WACA,UACA,GAAG,SACgB;CACnB,MAAM,OAAOD,MAAM,WAAW,cAAc;CAC5C,MAAM,SAAS;EACb,aAAa;EACb,eAAe,UAAU,KAAA;EACzB,cAAc;EACd,gBAAgB,SAAU,SAAmB,KAAA;EAC7C,WAAWC,WAAAA,GAAG,WAAW,aAAa,OAAO,SAAS;EACtD,GAAG;CACL;CACA,MAAM,UACJ,iBAAA,GAAA,kBAAA,KAAC,QAAD;EAAM,aAAU;EAAsB,WAAW,cAAc;YAC5D;CACG,CAAA;CAGR,MAAM,KAAK,UACT,iBAAA,GAAA,kBAAA,MAACC,SAAAA,KAAK,MAAN;EAAW,GAAI;YAAf,CACE,iBAAA,GAAA,kBAAA,KAACA,SAAAA,KAAK,WAAN,EAAiB,SAAyB,CAAA,GACzC,OACQ;MAEX,iBAAA,GAAA,kBAAA,MAAC,UAAD;EAAQ,MAAK;EAAS,GAAI;YAA1B,CACE,iBAAA,GAAA,kBAAA,KAAC,QAAD;GAAM,aAAU;GAAqB,WAAW,aAAa;GAC1D;EACG,CAAA,GACL,OACK;;CAGV,IAAI,SAAS,QAAQ,OAAO;CAC5B,OACE,iBAAA,GAAA,kBAAA,MAACC,iCAAAA,SAAD,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,gBAAD;EAAgB,SAAA;YAAS;CAAmB,CAAA,GAC5C,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,gBAAD;EAAgB,MAAM;YAAc;CAAsB,CAAA,CACnD,EAAA,CAAA;AAEb;;AAcA,SAAS,YAAY,EAAE,QAAQ,MAAM,OAAO,WAAW,GAAG,SAA2B;CACnF,MAAM,OAAOL,MAAM,WAAW,cAAc;CAC5C,MAAM,gBAAgB,SAAS;CAC/B,OACE,iBAAA,GAAA,kBAAA,MAAC,OAAD;EACE,aAAU;EACV,WAAWC,WAAAA,GAAG,+DAA+D,SAAS;EACtF,GAAI;YAHN,CAOE,iBAAA,GAAA,kBAAA,KAAC,QAAD;GACE,aAAU;GACV,WAAU;aAET;EACG,CAAA,GACN,iBAAA,GAAA,kBAAA,MAAC,OAAD;GACE,aAAU;GACV,WAAWA,WAAAA,GACT,uEACA,iBAAiB,WACjB,SAAS,qBACP,4EACJ;aAPF,CASE,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,WAAU;cAAgC;GAAW,CAAA,GAC3D,iBAAA,GAAA,kBAAA,KAAC,QAAD;IAAM,WAAU;cAAmC;GAAY,CAAA,CAC5D;IACF;;AAET;;AAKA,SAAS,YAAY,OAA6C;CAChE,OAAO,iBAAA,GAAA,kBAAA,KAACK,iCAAAA,SAAD,EAAS,GAAI,MAAQ,CAAA;AAC9B;;AAUA,SAAS,mBAAmB,EAC1B,OACA,QACA,WACA,UACA,GAAG,SACuB;CAC1B,MAAM,OAAON,MAAM,WAAW,cAAc;CAC5C,OACE,iBAAA,GAAA,kBAAA,KAACO,iCAAAA,gBAAD;EAAgB,SAAA;YACd,iBAAA,GAAA,kBAAA,MAAC,UAAD;GACE,MAAK;GACL,aAAU;GACV,eAAa,UAAU,KAAA;GACvB,cAAY;GACZ,WAAWN,WAAAA,GAAG,WAAW,aAAa,OAAO,SAAS;GACtD,GAAI;aANN;IAQE,iBAAA,GAAA,kBAAA,KAAC,QAAD;KAAM,aAAU;KAAqB,WAAW,aAAa;KAC1D;IACG,CAAA;IACN,iBAAA,GAAA,kBAAA,KAAC,QAAD;KAAM,aAAU;KAAsB,WAAW,cAAc;eAC5D;IACG,CAAA;IACN,iBAAA,GAAA,kBAAA,KAACO,aAAAA,kBAAD;KAAkB,eAAA;KAAY,WAAW,gBAAgB;IAAQ,CAAA;GAC3D;;CACM,CAAA;AAEpB;;AAGA,SAAS,mBAAmB,EAC1B,WACA,OAAO,SACP,QAAQ,SACR,aAAa,GACb,GAAG,SAC2C;CAC9C,OACE,iBAAA,GAAA,kBAAA,KAACC,iCAAAA,gBAAD;EACE,aAAU;EACJ;EACC;EACK;EAGZ,WAAWR,WAAAA,GACT,0IACA,SACF;EACA,GAAI;CACL,CAAA;AAEL;;AAUA,SAAS,gBAAgB,EAAE,WAAW,QAAQ,UAAU,OAAO,GAAG,SAA+B;CAE/F,OACE,iBAAA,GAAA,kBAAA,KAFW,UAAUC,SAAAA,KAAK,OAAO,UAEjC;EACE,aAAU;EACV,eAAa,UAAU,KAAA;EACvB,gBAAc,SAAS,SAAS,KAAA;EAChC,WAAWD,WAAAA,GACT,yIACA,2DACA,mJACA,qFACA,SACF;EACA,GAAK,UAAU,CAAC,IAAI,EAAE,MAAM,SAAkB;EAC9C,GAAI;CACL,CAAA;AAEL"}
@@ -0,0 +1,2 @@
1
+ import { a as NavRailMenuContent, c as NavRailMenuTrigger, d as NavRailSeparator, f as NavRailUser, i as NavRailMenu, l as NavRailMenuTriggerProps, n as NavRailItem, o as NavRailMenuItem, p as NavRailUserProps, r as NavRailItemProps, s as NavRailMenuItemProps, t as NavRail, u as NavRailMode } from "../../index43.cjs";
2
+ export { NavRail, NavRailItem, NavRailItemProps, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuItemProps, NavRailMenuTrigger, NavRailMenuTriggerProps, NavRailMode, NavRailSeparator, NavRailUser, NavRailUserProps };
@@ -0,0 +1,2 @@
1
+ import { a as NavRailMenuContent, c as NavRailMenuTrigger, d as NavRailSeparator, f as NavRailUser, i as NavRailMenu, l as NavRailMenuTriggerProps, n as NavRailItem, o as NavRailMenuItem, p as NavRailUserProps, r as NavRailItemProps, s as NavRailMenuItemProps, t as NavRail, u as NavRailMode } from "../../index43.js";
2
+ export { NavRail, NavRailItem, NavRailItemProps, NavRailMenu, NavRailMenuContent, NavRailMenuItem, NavRailMenuItemProps, NavRailMenuTrigger, NavRailMenuTriggerProps, NavRailMode, NavRailSeparator, NavRailUser, NavRailUserProps };