@psnext/design-system 2.2.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 (491) 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 +214 -108
  6. package/dist/Header.cjs.map +1 -1
  7. package/dist/Header.js +214 -108
  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 +7 -7
  29. package/dist/index10.d.ts.map +1 -1
  30. package/dist/index11.d.cts +3 -3
  31. package/dist/index11.d.cts.map +1 -1
  32. package/dist/index11.d.ts +3 -3
  33. package/dist/index11.d.ts.map +1 -1
  34. package/dist/index12.d.cts +11 -11
  35. package/dist/index12.d.ts +13 -13
  36. package/dist/index12.d.ts.map +1 -1
  37. package/dist/index13.d.cts +6 -6
  38. package/dist/index13.d.cts.map +1 -1
  39. package/dist/index13.d.ts +6 -6
  40. package/dist/index13.d.ts.map +1 -1
  41. package/dist/index14.d.cts +5 -5
  42. package/dist/index14.d.cts.map +1 -1
  43. package/dist/index14.d.ts +5 -5
  44. package/dist/index15.d.cts +3 -3
  45. package/dist/index15.d.cts.map +1 -1
  46. package/dist/index15.d.ts +3 -3
  47. package/dist/index15.d.ts.map +1 -1
  48. package/dist/index16.d.cts +2 -2
  49. package/dist/index16.d.cts.map +1 -1
  50. package/dist/index16.d.ts +2 -2
  51. package/dist/index16.d.ts.map +1 -1
  52. package/dist/index17.d.cts +4 -4
  53. package/dist/index17.d.cts.map +1 -1
  54. package/dist/index17.d.ts +4 -4
  55. package/dist/index18.d.cts +11 -11
  56. package/dist/index18.d.cts.map +1 -1
  57. package/dist/index18.d.ts +11 -11
  58. package/dist/index18.d.ts.map +1 -1
  59. package/dist/index19.d.cts +10 -10
  60. package/dist/index19.d.cts.map +1 -1
  61. package/dist/index19.d.ts +10 -10
  62. package/dist/index19.d.ts.map +1 -1
  63. package/dist/index2.d.cts +8 -8
  64. package/dist/index2.d.cts.map +1 -1
  65. package/dist/index2.d.ts +7 -7
  66. package/dist/index20.d.cts +16 -16
  67. package/dist/index20.d.cts.map +1 -1
  68. package/dist/index20.d.ts +16 -16
  69. package/dist/index20.d.ts.map +1 -1
  70. package/dist/index21.d.cts +4 -4
  71. package/dist/index21.d.cts.map +1 -1
  72. package/dist/index21.d.ts +4 -4
  73. package/dist/index21.d.ts.map +1 -1
  74. package/dist/index22.d.cts +11 -11
  75. package/dist/index22.d.ts +11 -11
  76. package/dist/index23.d.cts +16 -16
  77. package/dist/index23.d.cts.map +1 -1
  78. package/dist/index23.d.ts +16 -16
  79. package/dist/index23.d.ts.map +1 -1
  80. package/dist/index24.d.cts +10 -10
  81. package/dist/index24.d.cts.map +1 -1
  82. package/dist/index24.d.ts +11 -11
  83. package/dist/index24.d.ts.map +1 -1
  84. package/dist/index25.d.cts +2 -2
  85. package/dist/index25.d.cts.map +1 -1
  86. package/dist/index25.d.ts +2 -2
  87. package/dist/index25.d.ts.map +1 -1
  88. package/dist/index26.d.cts +13 -13
  89. package/dist/index26.d.cts.map +1 -1
  90. package/dist/index26.d.ts +15 -15
  91. package/dist/index26.d.ts.map +1 -1
  92. package/dist/index27.d.cts +7 -7
  93. package/dist/index27.d.cts.map +1 -1
  94. package/dist/index27.d.ts +7 -7
  95. package/dist/index27.d.ts.map +1 -1
  96. package/dist/index28.d.cts +4 -4
  97. package/dist/index28.d.ts +6 -6
  98. package/dist/index28.d.ts.map +1 -1
  99. package/dist/index29.d.cts +4 -4
  100. package/dist/index29.d.cts.map +1 -1
  101. package/dist/index29.d.ts +4 -4
  102. package/dist/index29.d.ts.map +1 -1
  103. package/dist/index3.d.cts +13 -13
  104. package/dist/index3.d.ts +13 -13
  105. package/dist/index30.d.cts +42 -13
  106. package/dist/index30.d.cts.map +1 -1
  107. package/dist/index30.d.ts +43 -14
  108. package/dist/index30.d.ts.map +1 -1
  109. package/dist/index31.d.cts +5 -5
  110. package/dist/index31.d.cts.map +1 -1
  111. package/dist/index31.d.ts +6 -6
  112. package/dist/index31.d.ts.map +1 -1
  113. package/dist/index32.d.cts +6 -6
  114. package/dist/index32.d.cts.map +1 -1
  115. package/dist/index32.d.ts +6 -6
  116. package/dist/index33.d.cts +11 -11
  117. package/dist/index33.d.cts.map +1 -1
  118. package/dist/index33.d.ts +12 -12
  119. package/dist/index33.d.ts.map +1 -1
  120. package/dist/index34.d.cts +5 -5
  121. package/dist/index34.d.cts.map +1 -1
  122. package/dist/index34.d.ts +5 -5
  123. package/dist/index34.d.ts.map +1 -1
  124. package/dist/index35.d.cts +15 -15
  125. package/dist/index35.d.cts.map +1 -1
  126. package/dist/index35.d.ts +16 -16
  127. package/dist/index35.d.ts.map +1 -1
  128. package/dist/index36.d.cts +3 -3
  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 +6 -6
  133. package/dist/index38.d.cts +2 -2
  134. package/dist/index38.d.ts +2 -2
  135. package/dist/index39.d.cts +17 -17
  136. package/dist/index39.d.cts.map +1 -1
  137. package/dist/index39.d.ts +17 -17
  138. package/dist/index39.d.ts.map +1 -1
  139. package/dist/index4.d.cts +2 -2
  140. package/dist/index4.d.ts +2 -2
  141. package/dist/index40.d.cts +5 -5
  142. package/dist/index40.d.cts.map +1 -1
  143. package/dist/index40.d.ts +6 -6
  144. package/dist/index40.d.ts.map +1 -1
  145. package/dist/index41.d.cts +11 -11
  146. package/dist/index41.d.cts.map +1 -1
  147. package/dist/index41.d.ts +11 -11
  148. package/dist/index41.d.ts.map +1 -1
  149. package/dist/index42.d.cts +8 -8
  150. package/dist/index42.d.cts.map +1 -1
  151. package/dist/index42.d.ts +8 -8
  152. package/dist/index42.d.ts.map +1 -1
  153. package/dist/index43.d.cts +9 -9
  154. package/dist/index43.d.cts.map +1 -1
  155. package/dist/index43.d.ts +9 -9
  156. package/dist/index43.d.ts.map +1 -1
  157. package/dist/index45.d.cts +8 -8
  158. package/dist/index45.d.cts.map +1 -1
  159. package/dist/index45.d.ts +8 -8
  160. package/dist/index45.d.ts.map +1 -1
  161. package/dist/index46.d.cts +2 -2
  162. package/dist/index46.d.cts.map +1 -1
  163. package/dist/index46.d.ts +2 -2
  164. package/dist/index46.d.ts.map +1 -1
  165. package/dist/index47.d.cts +4 -4
  166. package/dist/index47.d.cts.map +1 -1
  167. package/dist/index47.d.ts +4 -4
  168. package/dist/index47.d.ts.map +1 -1
  169. package/dist/index48.d.cts +4 -4
  170. package/dist/index48.d.cts.map +1 -1
  171. package/dist/index48.d.ts +4 -4
  172. package/dist/index48.d.ts.map +1 -1
  173. package/dist/index49.d.cts +3 -3
  174. package/dist/index49.d.ts +3 -3
  175. package/dist/index5.d.cts +7 -7
  176. package/dist/index5.d.ts +7 -7
  177. package/dist/index5.d.ts.map +1 -1
  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 +26 -26
  189. package/dist/index53.d.cts.map +1 -1
  190. package/dist/index53.d.ts +27 -27
  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/index56.d.cts +2 -2
  199. package/dist/index56.d.cts.map +1 -1
  200. package/dist/index56.d.ts +2 -2
  201. package/dist/index56.d.ts.map +1 -1
  202. package/dist/index57.d.cts +2 -2
  203. package/dist/index57.d.cts.map +1 -1
  204. package/dist/index57.d.ts +2 -2
  205. package/dist/index57.d.ts.map +1 -1
  206. package/dist/index58.d.cts +4 -4
  207. package/dist/index58.d.ts +4 -4
  208. package/dist/index58.d.ts.map +1 -1
  209. package/dist/index59.d.cts +9 -9
  210. package/dist/index59.d.ts +9 -9
  211. package/dist/index6.d.cts +6 -6
  212. package/dist/index6.d.cts.map +1 -1
  213. package/dist/index6.d.ts +6 -6
  214. package/dist/index6.d.ts.map +1 -1
  215. package/dist/index60.d.cts +9 -9
  216. package/dist/index60.d.cts.map +1 -1
  217. package/dist/index60.d.ts +13 -13
  218. package/dist/index60.d.ts.map +1 -1
  219. package/dist/index61.d.cts +5 -5
  220. package/dist/index61.d.ts +6 -6
  221. package/dist/index62.d.cts +5 -5
  222. package/dist/index62.d.ts +5 -5
  223. package/dist/index62.d.ts.map +1 -1
  224. package/dist/index63.d.cts +2 -2
  225. package/dist/index63.d.cts.map +1 -1
  226. package/dist/index63.d.ts +2 -2
  227. package/dist/index63.d.ts.map +1 -1
  228. package/dist/index64.d.cts +6 -6
  229. package/dist/index64.d.cts.map +1 -1
  230. package/dist/index64.d.ts +7 -7
  231. package/dist/index65.d.cts +3 -3
  232. package/dist/index65.d.ts +4 -4
  233. package/dist/index65.d.ts.map +1 -1
  234. package/dist/index66.d.cts +4 -4
  235. package/dist/index66.d.cts.map +1 -1
  236. package/dist/index66.d.ts +6 -6
  237. package/dist/index66.d.ts.map +1 -1
  238. package/dist/index67.d.cts +83 -11
  239. package/dist/index67.d.cts.map +1 -1
  240. package/dist/index67.d.ts +83 -11
  241. package/dist/index67.d.ts.map +1 -1
  242. package/dist/index68.d.cts +12 -30
  243. package/dist/index68.d.cts.map +1 -1
  244. package/dist/index68.d.ts +12 -30
  245. package/dist/index68.d.ts.map +1 -1
  246. package/dist/index69.d.cts +28 -27
  247. package/dist/index69.d.cts.map +1 -1
  248. package/dist/index69.d.ts +29 -28
  249. package/dist/index69.d.ts.map +1 -1
  250. package/dist/index7.d.cts +8 -8
  251. package/dist/index7.d.cts.map +1 -1
  252. package/dist/index7.d.ts +8 -8
  253. package/dist/index7.d.ts.map +1 -1
  254. package/dist/index70.d.cts +33 -78
  255. package/dist/index70.d.cts.map +1 -1
  256. package/dist/index70.d.ts +33 -78
  257. package/dist/index70.d.ts.map +1 -1
  258. package/dist/index71.d.cts +77 -258
  259. package/dist/index71.d.cts.map +1 -1
  260. package/dist/index71.d.ts +77 -258
  261. package/dist/index71.d.ts.map +1 -1
  262. package/dist/index72.d.cts +278 -0
  263. package/dist/index72.d.cts.map +1 -0
  264. package/dist/index72.d.ts +278 -0
  265. package/dist/index72.d.ts.map +1 -0
  266. package/dist/index8.d.cts +5 -5
  267. package/dist/index8.d.ts +5 -5
  268. package/dist/index8.d.ts.map +1 -1
  269. package/dist/index9.d.cts +2 -2
  270. package/dist/index9.d.cts.map +1 -1
  271. package/dist/index9.d.ts +2 -2
  272. package/dist/layouts/Container/index.cjs +2 -1
  273. package/dist/layouts/Container/index.cjs.map +1 -1
  274. package/dist/layouts/Container/index.js +1 -1
  275. package/dist/layouts/MultiColumn/index.cjs +5 -0
  276. package/dist/layouts/MultiColumn/index.d.cts +2 -0
  277. package/dist/layouts/MultiColumn/index.d.ts +2 -0
  278. package/dist/layouts/MultiColumn/index.js +2 -0
  279. package/dist/layouts/PageBackground/index.d.cts +1 -1
  280. package/dist/layouts/PageBackground/index.d.ts +1 -1
  281. package/dist/layouts/Stack/index.cjs +2 -1
  282. package/dist/layouts/Stack/index.cjs.map +1 -1
  283. package/dist/layouts/Stack/index.d.cts +1 -1
  284. package/dist/layouts/Stack/index.d.ts +1 -1
  285. package/dist/layouts/Stack/index.js +1 -1
  286. package/dist/layouts/TwoColumn/index.cjs +2 -1
  287. package/dist/layouts/TwoColumn/index.cjs.map +1 -1
  288. package/dist/layouts/TwoColumn/index.d.cts +1 -1
  289. package/dist/layouts/TwoColumn/index.d.ts +1 -1
  290. package/dist/layouts/TwoColumn/index.js +1 -1
  291. package/dist/layouts/index.cjs +4 -0
  292. package/dist/layouts/index.d.cts +5 -4
  293. package/dist/layouts/index.d.ts +5 -4
  294. package/dist/layouts/index.js +2 -1
  295. package/dist/patterns/DataTable/index.cjs +6 -2
  296. package/dist/patterns/DataTable/index.cjs.map +1 -1
  297. package/dist/patterns/DataTable/index.d.cts +3 -3
  298. package/dist/patterns/DataTable/index.d.cts.map +1 -1
  299. package/dist/patterns/DataTable/index.d.ts +3 -3
  300. package/dist/patterns/DataTable/index.d.ts.map +1 -1
  301. package/dist/patterns/DataTable/index.js +6 -2
  302. package/dist/patterns/DataTable/index.js.map +1 -1
  303. package/dist/patterns/Footer/index.d.cts +7 -7
  304. package/dist/patterns/Footer/index.d.cts.map +1 -1
  305. package/dist/patterns/Footer/index.d.ts +7 -7
  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 +14 -14
  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/SectionCard/index.d.ts.map +1 -1
  319. package/dist/patterns/SectionHeading/index.d.cts +2 -2
  320. package/dist/patterns/SectionHeading/index.d.ts +2 -2
  321. package/dist/patterns/SectionHeading/index.d.ts.map +1 -1
  322. package/dist/patterns/index.d.cts +1 -1
  323. package/dist/patterns/index.d.ts +1 -1
  324. package/dist/primitives/Accordion/index.cjs +6 -2
  325. package/dist/primitives/Accordion/index.cjs.map +1 -1
  326. package/dist/primitives/Accordion/index.js +6 -2
  327. package/dist/primitives/Accordion/index.js.map +1 -1
  328. package/dist/primitives/Alert/index.cjs +2 -1
  329. package/dist/primitives/Alert/index.cjs.map +1 -1
  330. package/dist/primitives/Alert/index.js +1 -1
  331. package/dist/primitives/AlertDialog/index.cjs +1 -1
  332. package/dist/primitives/AlertDialog/index.js +1 -1
  333. package/dist/primitives/AspectRatio/index.cjs +1 -1
  334. package/dist/primitives/AspectRatio/index.js +1 -1
  335. package/dist/primitives/Avatar/index.cjs +1 -1
  336. package/dist/primitives/Avatar/index.js +1 -1
  337. package/dist/primitives/Badge/index.cjs +3 -2
  338. package/dist/primitives/Badge/index.cjs.map +1 -1
  339. package/dist/primitives/Badge/index.js +2 -2
  340. package/dist/primitives/Breadcrumb/index.cjs +7 -3
  341. package/dist/primitives/Breadcrumb/index.cjs.map +1 -1
  342. package/dist/primitives/Breadcrumb/index.js +7 -3
  343. package/dist/primitives/Breadcrumb/index.js.map +1 -1
  344. package/dist/primitives/Button/index.cjs +3 -2
  345. package/dist/primitives/Button/index.cjs.map +1 -1
  346. package/dist/primitives/Button/index.js +2 -2
  347. package/dist/primitives/ButtonGroup/index.cjs +3 -2
  348. package/dist/primitives/ButtonGroup/index.cjs.map +1 -1
  349. package/dist/primitives/ButtonGroup/index.js +2 -2
  350. package/dist/primitives/Calendar/index.cjs +12 -11
  351. package/dist/primitives/Calendar/index.cjs.map +1 -1
  352. package/dist/primitives/Calendar/index.js +12 -11
  353. package/dist/primitives/Calendar/index.js.map +1 -1
  354. package/dist/primitives/Card/index.cjs +2 -1
  355. package/dist/primitives/Card/index.cjs.map +1 -1
  356. package/dist/primitives/Card/index.js +1 -1
  357. package/dist/primitives/Carousel/index.cjs +4 -3
  358. package/dist/primitives/Carousel/index.cjs.map +1 -1
  359. package/dist/primitives/Carousel/index.js +4 -3
  360. package/dist/primitives/Carousel/index.js.map +1 -1
  361. package/dist/primitives/Checkbox/index.cjs +9 -2
  362. package/dist/primitives/Checkbox/index.cjs.map +1 -1
  363. package/dist/primitives/Checkbox/index.js +9 -2
  364. package/dist/primitives/Checkbox/index.js.map +1 -1
  365. package/dist/primitives/CheckboxTree/index.cjs +6 -2
  366. package/dist/primitives/CheckboxTree/index.cjs.map +1 -1
  367. package/dist/primitives/CheckboxTree/index.js +6 -2
  368. package/dist/primitives/CheckboxTree/index.js.map +1 -1
  369. package/dist/primitives/Collapsible/index.cjs +1 -1
  370. package/dist/primitives/Collapsible/index.js +1 -1
  371. package/dist/primitives/Command/index.cjs +6 -2
  372. package/dist/primitives/Command/index.cjs.map +1 -1
  373. package/dist/primitives/Command/index.js +6 -2
  374. package/dist/primitives/Command/index.js.map +1 -1
  375. package/dist/primitives/ContextMenu/index.cjs +14 -4
  376. package/dist/primitives/ContextMenu/index.cjs.map +1 -1
  377. package/dist/primitives/ContextMenu/index.js +14 -4
  378. package/dist/primitives/ContextMenu/index.js.map +1 -1
  379. package/dist/primitives/Credits/index.cjs +8 -3
  380. package/dist/primitives/Credits/index.cjs.map +1 -1
  381. package/dist/primitives/Credits/index.js +7 -3
  382. package/dist/primitives/Credits/index.js.map +1 -1
  383. package/dist/primitives/Dialog/index.cjs +3 -2
  384. package/dist/primitives/Dialog/index.cjs.map +1 -1
  385. package/dist/primitives/Dialog/index.js +3 -2
  386. package/dist/primitives/Dialog/index.js.map +1 -1
  387. package/dist/primitives/DropdownMenu/index.cjs +14 -4
  388. package/dist/primitives/DropdownMenu/index.cjs.map +1 -1
  389. package/dist/primitives/DropdownMenu/index.js +14 -4
  390. package/dist/primitives/DropdownMenu/index.js.map +1 -1
  391. package/dist/primitives/Empty/index.cjs +1 -1
  392. package/dist/primitives/Empty/index.js +1 -1
  393. package/dist/primitives/Field/index.cjs +1 -1
  394. package/dist/primitives/Field/index.js +1 -1
  395. package/dist/primitives/Form/index.cjs +1 -1
  396. package/dist/primitives/Form/index.js +1 -1
  397. package/dist/primitives/Heading/index.cjs +2 -1
  398. package/dist/primitives/Heading/index.cjs.map +1 -1
  399. package/dist/primitives/Heading/index.js +1 -1
  400. package/dist/primitives/HoverCard/index.cjs +1 -1
  401. package/dist/primitives/HoverCard/index.js +1 -1
  402. package/dist/primitives/InfoBanner/index.cjs +6 -3
  403. package/dist/primitives/InfoBanner/index.cjs.map +1 -1
  404. package/dist/primitives/InfoBanner/index.js +5 -3
  405. package/dist/primitives/InfoBanner/index.js.map +1 -1
  406. package/dist/primitives/Input/index.cjs +2 -1
  407. package/dist/primitives/Input/index.cjs.map +1 -1
  408. package/dist/primitives/Input/index.js +1 -1
  409. package/dist/primitives/InputGroup/index.cjs +1 -1
  410. package/dist/primitives/InputGroup/index.js +1 -1
  411. package/dist/primitives/InputOtp/index.cjs +3 -2
  412. package/dist/primitives/InputOtp/index.cjs.map +1 -1
  413. package/dist/primitives/InputOtp/index.js +3 -2
  414. package/dist/primitives/InputOtp/index.js.map +1 -1
  415. package/dist/primitives/Item/index.cjs +2 -2
  416. package/dist/primitives/Item/index.js +2 -2
  417. package/dist/primitives/Label/index.cjs +1 -1
  418. package/dist/primitives/Label/index.js +1 -1
  419. package/dist/primitives/Link/index.cjs +3 -2
  420. package/dist/primitives/Link/index.cjs.map +1 -1
  421. package/dist/primitives/Link/index.js +2 -2
  422. package/dist/primitives/Menubar/index.cjs +14 -4
  423. package/dist/primitives/Menubar/index.cjs.map +1 -1
  424. package/dist/primitives/Menubar/index.js +14 -4
  425. package/dist/primitives/Menubar/index.js.map +1 -1
  426. package/dist/primitives/NativeSelect/index.cjs +6 -3
  427. package/dist/primitives/NativeSelect/index.cjs.map +1 -1
  428. package/dist/primitives/NativeSelect/index.js +5 -3
  429. package/dist/primitives/NativeSelect/index.js.map +1 -1
  430. package/dist/primitives/NavigationMenu/index.cjs +5 -3
  431. package/dist/primitives/NavigationMenu/index.cjs.map +1 -1
  432. package/dist/primitives/NavigationMenu/index.js +5 -3
  433. package/dist/primitives/NavigationMenu/index.js.map +1 -1
  434. package/dist/primitives/Pagination/index.cjs +6 -2
  435. package/dist/primitives/Pagination/index.cjs.map +1 -1
  436. package/dist/primitives/Pagination/index.js +6 -2
  437. package/dist/primitives/Pagination/index.js.map +1 -1
  438. package/dist/primitives/Popover/index.cjs +1 -1
  439. package/dist/primitives/Popover/index.js +1 -1
  440. package/dist/primitives/Progress/index.cjs +1 -1
  441. package/dist/primitives/Progress/index.js +1 -1
  442. package/dist/primitives/RadioGroup/index.cjs +6 -2
  443. package/dist/primitives/RadioGroup/index.cjs.map +1 -1
  444. package/dist/primitives/RadioGroup/index.js +6 -2
  445. package/dist/primitives/RadioGroup/index.js.map +1 -1
  446. package/dist/primitives/Resizable/index.cjs +6 -2
  447. package/dist/primitives/Resizable/index.cjs.map +1 -1
  448. package/dist/primitives/Resizable/index.js +6 -2
  449. package/dist/primitives/Resizable/index.js.map +1 -1
  450. package/dist/primitives/ScrollArea/index.cjs +1 -1
  451. package/dist/primitives/ScrollArea/index.js +1 -1
  452. package/dist/primitives/Select/index.cjs +18 -5
  453. package/dist/primitives/Select/index.cjs.map +1 -1
  454. package/dist/primitives/Select/index.js +18 -5
  455. package/dist/primitives/Select/index.js.map +1 -1
  456. package/dist/primitives/Separator/index.cjs +1 -1
  457. package/dist/primitives/Separator/index.js +1 -1
  458. package/dist/primitives/Sheet/index.cjs +6 -2
  459. package/dist/primitives/Sheet/index.cjs.map +1 -1
  460. package/dist/primitives/Sheet/index.js +6 -2
  461. package/dist/primitives/Sheet/index.js.map +1 -1
  462. package/dist/primitives/Slider/index.cjs +1 -1
  463. package/dist/primitives/Slider/index.js +1 -1
  464. package/dist/primitives/Sonner/index.cjs +22 -6
  465. package/dist/primitives/Sonner/index.cjs.map +1 -1
  466. package/dist/primitives/Sonner/index.js +22 -6
  467. package/dist/primitives/Sonner/index.js.map +1 -1
  468. package/dist/primitives/Spinner/index.cjs +4 -2
  469. package/dist/primitives/Spinner/index.cjs.map +1 -1
  470. package/dist/primitives/Spinner/index.js +4 -2
  471. package/dist/primitives/Spinner/index.js.map +1 -1
  472. package/dist/primitives/Switch/index.cjs +1 -1
  473. package/dist/primitives/Switch/index.js +1 -1
  474. package/dist/primitives/Tabs/index.cjs +2 -2
  475. package/dist/primitives/Tabs/index.js +2 -2
  476. package/dist/primitives/Text/index.cjs +2 -1
  477. package/dist/primitives/Text/index.cjs.map +1 -1
  478. package/dist/primitives/Text/index.js +1 -1
  479. package/dist/primitives/Textarea/index.cjs +2 -1
  480. package/dist/primitives/Textarea/index.cjs.map +1 -1
  481. package/dist/primitives/Textarea/index.js +1 -1
  482. package/dist/primitives/Toggle/index.cjs +3 -2
  483. package/dist/primitives/Toggle/index.cjs.map +1 -1
  484. package/dist/primitives/Toggle/index.js +2 -2
  485. package/dist/primitives/ToggleGroup/index.cjs +1 -1
  486. package/dist/primitives/ToggleGroup/index.js +1 -1
  487. package/dist/primitives/Tooltip/index.cjs +1 -1
  488. package/dist/primitives/Tooltip/index.js +1 -1
  489. package/dist/primitives/index.cjs +1 -1
  490. package/dist/primitives/index.js +1 -1
  491. package/package.json +2 -1
@@ -1,12 +1,13 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../../chunk.cjs");
3
3
  const require_cn = require("../../cn.cjs");
4
+ const require_Icon = require("../../Icon.cjs");
4
5
  const require_primitives_Button_index = require("../../primitives/Button/index.cjs");
5
6
  const require_primitives_Table_index = require("../../primitives/Table/index.cjs");
6
7
  let react = require("react");
7
8
  react = require_chunk.__toESM(react);
8
- let lucide_react = require("lucide-react");
9
9
  let react_jsx_runtime = require("react/jsx-runtime");
10
+ let lucide_react = require("lucide-react");
10
11
  let _tanstack_react_table = require("@tanstack/react-table");
11
12
  //#region src/patterns/DataTable/DataTable.tsx
12
13
  /**
@@ -109,7 +110,10 @@ function DataTableColumnHeader({ column, title, className }) {
109
110
  size: "sm",
110
111
  className: require_cn.cn("-ml-2 h-8 text-xs leading-4 font-medium", className),
111
112
  onClick: () => column.toggleSorting(sorted === "asc"),
112
- children: [title, sorted === "asc" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowUpIcon, {}) : sorted === "desc" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ArrowDownIcon, {}) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronsUpDownIcon, { className: "opacity-50" })]
113
+ children: [title, sorted === "asc" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, { as: lucide_react.ArrowUpIcon }) : sorted === "desc" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, { as: lucide_react.ArrowDownIcon }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
114
+ as: lucide_react.ChevronsUpDownIcon,
115
+ className: "opacity-50"
116
+ })]
113
117
  });
114
118
  }
115
119
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","names":["React","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","Button","cn","ArrowUpIcon","ArrowDownIcon","ChevronsUpDownIcon"],"sources":["../../../src/patterns/DataTable/DataTable.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type Column,\n type ColumnDef,\n type RowSelectionState,\n type SortingState,\n flexRender,\n getCoreRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon, ChevronsUpDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/primitives/Button\";\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from \"@/primitives/Table\";\nimport { cn } from \"@/utils\";\n\ntype DataTableProps<TData, TValue> = {\n /** TanStack Table column definitions describing each column's header and cell. */\n columns: ColumnDef<TData, TValue>[];\n /** The row objects to render in the table body. */\n data: TData[];\n /** Zebra-stripe the rows (default true). */\n striped?: boolean;\n /** Client-side pagination + page size (default true, 10). */\n enablePagination?: boolean;\n /** Rows per page when pagination is enabled (default 10). */\n pageSize?: number;\n};\n\n/**\n * TanStack-Table-backed data table with sorting, row selection, and optional\n * client-side pagination, rendered through the Table primitives.\n */\nfunction DataTable<TData, TValue>({\n columns,\n data,\n striped = true,\n enablePagination = true,\n pageSize = 10,\n}: DataTableProps<TData, TValue>) {\n const [sorting, setSorting] = React.useState<SortingState>([]);\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>({});\n\n const table = useReactTable({\n data,\n columns,\n state: { sorting, rowSelection },\n onSortingChange: setSorting,\n onRowSelectionChange: setRowSelection,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getPaginationRowModel: enablePagination ? getPaginationRowModel() : undefined,\n initialState: { pagination: { pageSize } },\n });\n\n return (\n <div data-slot=\"data-table\" className=\"space-y-4\">\n <div className=\"overflow-x-auto\">\n <Table striped={striped}>\n <TableHeader>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n colSpan={header.colSpan}\n // Data Table header spec: glass-60 band, mini/medium 12/16.\n className=\"h-auto bg-glass-60-bg backdrop-blur-glass px-2 py-2 text-xs leading-4 font-medium\"\n >\n {header.isPlaceholder\n ? null\n : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {table.getRowModel().rows.length ? (\n table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() ? \"selected\" : undefined}\n className=\"hover:bg-muted-bg data-[state=selected]:bg-secondary-bg\"\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id} className=\"px-2 py-2 text-xs leading-4\">\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n ))}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell colSpan={columns.length} className=\"h-24 text-center text-muted-txt\">\n No results.\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n\n {enablePagination ? (\n <div className=\"flex items-center justify-between gap-4\">\n <p className=\"text-sm text-muted-txt\" data-slot=\"data-table-selection\">\n {table.getFilteredSelectedRowModel().rows.length} of{\" \"}\n {table.getFilteredRowModel().rows.length} row(s) selected.\n </p>\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm text-muted-txt\">\n Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount() || 1}\n </span>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n Previous\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n Next\n </Button>\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n\n/** Sortable column header — drop into a column's `header` to get click-to-sort. */\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n}: {\n /** The TanStack Table column instance this header controls. */\n column: Column<TData, TValue>;\n /** Visible label for the column. */\n title: string;\n /** Optional class applied to the header button (or span when unsortable). */\n className?: string;\n}) {\n if (!column.getCanSort()) {\n return <span className={className}>{title}</span>;\n }\n\n const sorted = column.getIsSorted();\n\n return (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className={cn(\"-ml-2 h-8 text-xs leading-4 font-medium\", className)}\n onClick={() => column.toggleSorting(sorted === \"asc\")}\n >\n {title}\n {sorted === \"asc\" ? (\n <ArrowUpIcon />\n ) : sorted === \"desc\" ? (\n <ArrowDownIcon />\n ) : (\n <ChevronsUpDownIcon className=\"opacity-50\" />\n )}\n </Button>\n );\n}\n\nexport { DataTable, DataTableColumnHeader };\nexport type { ColumnDef };\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.cjs","names":["React","Table","TableHeader","TableRow","TableHead","TableBody","TableCell","Button","cn","Icon","ArrowUpIcon","ArrowDownIcon","ChevronsUpDownIcon"],"sources":["../../../src/patterns/DataTable/DataTable.tsx"],"sourcesContent":["\"use client\";\n\nimport { Icon } from \"@/primitives/Icon\";\nimport {\n type Column,\n type ColumnDef,\n type RowSelectionState,\n type SortingState,\n flexRender,\n getCoreRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon, ChevronsUpDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/primitives/Button\";\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from \"@/primitives/Table\";\nimport { cn } from \"@/utils\";\n\ntype DataTableProps<TData, TValue> = {\n /** TanStack Table column definitions describing each column's header and cell. */\n columns: ColumnDef<TData, TValue>[];\n /** The row objects to render in the table body. */\n data: TData[];\n /** Zebra-stripe the rows (default true). */\n striped?: boolean;\n /** Client-side pagination + page size (default true, 10). */\n enablePagination?: boolean;\n /** Rows per page when pagination is enabled (default 10). */\n pageSize?: number;\n};\n\n/**\n * TanStack-Table-backed data table with sorting, row selection, and optional\n * client-side pagination, rendered through the Table primitives.\n */\nfunction DataTable<TData, TValue>({\n columns,\n data,\n striped = true,\n enablePagination = true,\n pageSize = 10,\n}: DataTableProps<TData, TValue>) {\n const [sorting, setSorting] = React.useState<SortingState>([]);\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>({});\n\n const table = useReactTable({\n data,\n columns,\n state: { sorting, rowSelection },\n onSortingChange: setSorting,\n onRowSelectionChange: setRowSelection,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getPaginationRowModel: enablePagination ? getPaginationRowModel() : undefined,\n initialState: { pagination: { pageSize } },\n });\n\n return (\n <div data-slot=\"data-table\" className=\"space-y-4\">\n <div className=\"overflow-x-auto\">\n <Table striped={striped}>\n <TableHeader>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n colSpan={header.colSpan}\n // Data Table header spec: glass-60 band, mini/medium 12/16.\n className=\"h-auto bg-glass-60-bg backdrop-blur-glass px-2 py-2 text-xs leading-4 font-medium\"\n >\n {header.isPlaceholder\n ? null\n : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {table.getRowModel().rows.length ? (\n table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() ? \"selected\" : undefined}\n className=\"hover:bg-muted-bg data-[state=selected]:bg-secondary-bg\"\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id} className=\"px-2 py-2 text-xs leading-4\">\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n ))}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell colSpan={columns.length} className=\"h-24 text-center text-muted-txt\">\n No results.\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n\n {enablePagination ? (\n <div className=\"flex items-center justify-between gap-4\">\n <p className=\"text-sm text-muted-txt\" data-slot=\"data-table-selection\">\n {table.getFilteredSelectedRowModel().rows.length} of{\" \"}\n {table.getFilteredRowModel().rows.length} row(s) selected.\n </p>\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm text-muted-txt\">\n Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount() || 1}\n </span>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n Previous\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n Next\n </Button>\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n\n/** Sortable column header — drop into a column's `header` to get click-to-sort. */\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n}: {\n /** The TanStack Table column instance this header controls. */\n column: Column<TData, TValue>;\n /** Visible label for the column. */\n title: string;\n /** Optional class applied to the header button (or span when unsortable). */\n className?: string;\n}) {\n if (!column.getCanSort()) {\n return <span className={className}>{title}</span>;\n }\n\n const sorted = column.getIsSorted();\n\n return (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className={cn(\"-ml-2 h-8 text-xs leading-4 font-medium\", className)}\n onClick={() => column.toggleSorting(sorted === \"asc\")}\n >\n {title}\n {sorted === \"asc\" ? (\n <Icon as={ArrowUpIcon} />\n ) : sorted === \"desc\" ? (\n <Icon as={ArrowDownIcon} />\n ) : (\n <Icon as={ChevronsUpDownIcon} className=\"opacity-50\" />\n )}\n </Button>\n );\n}\n\nexport { DataTable, DataTableColumnHeader };\nexport type { ColumnDef };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime149 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime161 from "react/jsx-runtime";
2
2
  import { Column, ColumnDef } from "@tanstack/react-table";
3
3
 
4
4
  //#region src/patterns/DataTable/DataTable.d.ts
@@ -24,7 +24,7 @@ declare function DataTable<TData, TValue>({
24
24
  striped,
25
25
  enablePagination,
26
26
  pageSize
27
- }: DataTableProps<TData, TValue>): react_jsx_runtime149.JSX.Element;
27
+ }: DataTableProps<TData, TValue>): react_jsx_runtime161.JSX.Element;
28
28
  /** Sortable column header — drop into a column's `header` to get click-to-sort. */
29
29
  declare function DataTableColumnHeader<TData, TValue>({
30
30
  column,
@@ -37,7 +37,7 @@ declare function DataTableColumnHeader<TData, TValue>({
37
37
  title: string;
38
38
  /** Optional class applied to the header button (or span when unsortable). */
39
39
  className?: string;
40
- }): react_jsx_runtime149.JSX.Element;
40
+ }): react_jsx_runtime161.JSX.Element;
41
41
  //#endregion
42
42
  export { type ColumnDef, DataTable, DataTableColumnHeader };
43
43
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/patterns/DataTable/DataTable.tsx"],"mappings":";;;;KAoBK;;WAEM,UAAU,OAAO;EAFvB;EAAc,IAAA,EAIX,KAJW,EAAA;;SAES,CAAA,EAAA,OAAA;;kBAEpB,CAAA,EAAA,OAAA;EAAK;EAaJ,QAAA,CAAA,EAAA,MAAS;CAAA;;;;;iBAAT,SAKP,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;EAAA,OAAA;EAAA,IAAA;EAAA,OAAA;EAAA,gBAAA;EAAA;AAAA,CAAA,EACC,cADD,CACgB,KADhB,EACuB,MADvB,CAAA,CAAA,EAC8B,oBAAA,CAAA,GAAA,CAAA,OAD9B;;iBAmGO,qBAlGgB,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;EAAA,MAAA;EAAA,KAAA;EAAA;CAAA,EAAA;;QAAO,EAwGtB,MAxGsB,CAwGf,KAxGe,EAwGR,MAxGQ,CAAA;EAAA;EAkGvB,KAAA,EAAA,MAAA;EAAqB;WAC5B,CAAA,EAAA,MAAA;IAUD,oBAAA,CAAA,GAAA,CAAA,OATC"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/patterns/DataTable/DataTable.tsx"],"mappings":";;;;KAqBK;;WAEM,UAAU,OAAO;EAFvB;EAAc,IAAA,EAIX,KAJW,EAAA;;SAES,CAAA,EAAA,OAAA;;kBAEpB,CAAA,EAAA,OAAA;EAAK;EAaJ,QAAA,CAAA,EAAA,MAAS;CAAA;;;;;iBAAT,SAKP,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;EAAA,OAAA;EAAA,IAAA;EAAA,OAAA;EAAA,gBAAA;EAAA;AAAA,CAAA,EACC,cADD,CACgB,KADhB,EACuB,MADvB,CAAA,CAAA,EAC8B,oBAAA,CAAA,GAAA,CAAA,OAD9B;;iBAmGO,qBAlGgB,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;EAAA,MAAA;EAAA,KAAA;EAAA;CAAA,EAAA;;QAAO,EAwGtB,MAxGsB,CAwGf,KAxGe,EAwGR,MAxGQ,CAAA;EAAA;EAkGvB,KAAA,EAAA,MAAA;EAAqB;WAC5B,CAAA,EAAA,MAAA;IAUD,oBAAA,CAAA,GAAA,CAAA,OATC"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime121 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime24 from "react/jsx-runtime";
2
2
  import { Column, ColumnDef } from "@tanstack/react-table";
3
3
 
4
4
  //#region src/patterns/DataTable/DataTable.d.ts
@@ -24,7 +24,7 @@ declare function DataTable<TData, TValue>({
24
24
  striped,
25
25
  enablePagination,
26
26
  pageSize
27
- }: DataTableProps<TData, TValue>): react_jsx_runtime121.JSX.Element;
27
+ }: DataTableProps<TData, TValue>): react_jsx_runtime24.JSX.Element;
28
28
  /** Sortable column header — drop into a column's `header` to get click-to-sort. */
29
29
  declare function DataTableColumnHeader<TData, TValue>({
30
30
  column,
@@ -37,7 +37,7 @@ declare function DataTableColumnHeader<TData, TValue>({
37
37
  title: string;
38
38
  /** Optional class applied to the header button (or span when unsortable). */
39
39
  className?: string;
40
- }): react_jsx_runtime121.JSX.Element;
40
+ }): react_jsx_runtime24.JSX.Element;
41
41
  //#endregion
42
42
  export { type ColumnDef, DataTable, DataTableColumnHeader };
43
43
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/patterns/DataTable/DataTable.tsx"],"mappings":";;;;KAoBK;;WAEM,UAAU,OAAO;EAFvB;EAAc,IAAA,EAIX,KAJW,EAAA;;SAES,CAAA,EAAA,OAAA;;kBAEpB,CAAA,EAAA,OAAA;EAAK;EAaJ,QAAA,CAAA,EAAA,MAAS;CAAA;;;;;iBAAT,SAKP,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;EAAA,OAAA;EAAA,IAAA;EAAA,OAAA;EAAA,gBAAA;EAAA;AAAA,CAAA,EACC,cADD,CACgB,KADhB,EACuB,MADvB,CAAA,CAAA,EAC8B,oBAAA,CAAA,GAAA,CAAA,OAD9B;;iBAmGO,qBAlGgB,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;EAAA,MAAA;EAAA,KAAA;EAAA;CAAA,EAAA;;QAAO,EAwGtB,MAxGsB,CAwGf,KAxGe,EAwGR,MAxGQ,CAAA;EAAA;EAkGvB,KAAA,EAAA,MAAA;EAAqB;WAC5B,CAAA,EAAA,MAAA;IAUD,oBAAA,CAAA,GAAA,CAAA,OATC"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../../../src/patterns/DataTable/DataTable.tsx"],"mappings":";;;;KAqBK;;WAEM,UAAU,OAAO;EAFvB;EAAc,IAAA,EAIX,KAJW,EAAA;;SAES,CAAA,EAAA,OAAA;;kBAEpB,CAAA,EAAA,OAAA;EAAK;EAaJ,QAAA,CAAA,EAAA,MAAS;CAAA;;;;;iBAAT,SAKP,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;EAAA,OAAA;EAAA,IAAA;EAAA,OAAA;EAAA,gBAAA;EAAA;AAAA,CAAA,EACC,cADD,CACgB,KADhB,EACuB,MADvB,CAAA,CAAA,EAC8B,mBAAA,CAAA,GAAA,CAAA,OAD9B;;iBAmGO,qBAlGgB,CAAA,KAAA,EAAA,MAAA,CAAA,CAAA;EAAA,MAAA;EAAA,KAAA;EAAA;CAAA,EAAA;;QAAO,EAwGtB,MAxGsB,CAwGf,KAxGe,EAwGR,MAxGQ,CAAA;EAAA;EAkGvB,KAAA,EAAA,MAAA;EAAqB;WAC5B,CAAA,EAAA,MAAA;IAUD,mBAAA,CAAA,GAAA,CAAA,OATC"}
@@ -1,9 +1,10 @@
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 { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "../../primitives/Table/index.js";
4
5
  import * as React from "react";
5
- import { ArrowDownIcon, ArrowUpIcon, ChevronsUpDownIcon } from "lucide-react";
6
6
  import { jsx, jsxs } from "react/jsx-runtime";
7
+ import { ArrowDownIcon, ArrowUpIcon, ChevronsUpDownIcon } from "lucide-react";
7
8
  import { flexRender, getCoreRowModel, getPaginationRowModel, getSortedRowModel, useReactTable } from "@tanstack/react-table";
8
9
  //#region src/patterns/DataTable/DataTable.tsx
9
10
  /**
@@ -106,7 +107,10 @@ function DataTableColumnHeader({ column, title, className }) {
106
107
  size: "sm",
107
108
  className: cn("-ml-2 h-8 text-xs leading-4 font-medium", className),
108
109
  onClick: () => column.toggleSorting(sorted === "asc"),
109
- children: [title, sorted === "asc" ? /* @__PURE__ */ jsx(ArrowUpIcon, {}) : sorted === "desc" ? /* @__PURE__ */ jsx(ArrowDownIcon, {}) : /* @__PURE__ */ jsx(ChevronsUpDownIcon, { className: "opacity-50" })]
110
+ children: [title, sorted === "asc" ? /* @__PURE__ */ jsx(Icon, { as: ArrowUpIcon }) : sorted === "desc" ? /* @__PURE__ */ jsx(Icon, { as: ArrowDownIcon }) : /* @__PURE__ */ jsx(Icon, {
111
+ as: ChevronsUpDownIcon,
112
+ className: "opacity-50"
113
+ })]
110
114
  });
111
115
  }
112
116
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../src/patterns/DataTable/DataTable.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n type Column,\n type ColumnDef,\n type RowSelectionState,\n type SortingState,\n flexRender,\n getCoreRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon, ChevronsUpDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/primitives/Button\";\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from \"@/primitives/Table\";\nimport { cn } from \"@/utils\";\n\ntype DataTableProps<TData, TValue> = {\n /** TanStack Table column definitions describing each column's header and cell. */\n columns: ColumnDef<TData, TValue>[];\n /** The row objects to render in the table body. */\n data: TData[];\n /** Zebra-stripe the rows (default true). */\n striped?: boolean;\n /** Client-side pagination + page size (default true, 10). */\n enablePagination?: boolean;\n /** Rows per page when pagination is enabled (default 10). */\n pageSize?: number;\n};\n\n/**\n * TanStack-Table-backed data table with sorting, row selection, and optional\n * client-side pagination, rendered through the Table primitives.\n */\nfunction DataTable<TData, TValue>({\n columns,\n data,\n striped = true,\n enablePagination = true,\n pageSize = 10,\n}: DataTableProps<TData, TValue>) {\n const [sorting, setSorting] = React.useState<SortingState>([]);\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>({});\n\n const table = useReactTable({\n data,\n columns,\n state: { sorting, rowSelection },\n onSortingChange: setSorting,\n onRowSelectionChange: setRowSelection,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getPaginationRowModel: enablePagination ? getPaginationRowModel() : undefined,\n initialState: { pagination: { pageSize } },\n });\n\n return (\n <div data-slot=\"data-table\" className=\"space-y-4\">\n <div className=\"overflow-x-auto\">\n <Table striped={striped}>\n <TableHeader>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n colSpan={header.colSpan}\n // Data Table header spec: glass-60 band, mini/medium 12/16.\n className=\"h-auto bg-glass-60-bg backdrop-blur-glass px-2 py-2 text-xs leading-4 font-medium\"\n >\n {header.isPlaceholder\n ? null\n : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {table.getRowModel().rows.length ? (\n table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() ? \"selected\" : undefined}\n className=\"hover:bg-muted-bg data-[state=selected]:bg-secondary-bg\"\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id} className=\"px-2 py-2 text-xs leading-4\">\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n ))}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell colSpan={columns.length} className=\"h-24 text-center text-muted-txt\">\n No results.\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n\n {enablePagination ? (\n <div className=\"flex items-center justify-between gap-4\">\n <p className=\"text-sm text-muted-txt\" data-slot=\"data-table-selection\">\n {table.getFilteredSelectedRowModel().rows.length} of{\" \"}\n {table.getFilteredRowModel().rows.length} row(s) selected.\n </p>\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm text-muted-txt\">\n Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount() || 1}\n </span>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n Previous\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n Next\n </Button>\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n\n/** Sortable column header — drop into a column's `header` to get click-to-sort. */\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n}: {\n /** The TanStack Table column instance this header controls. */\n column: Column<TData, TValue>;\n /** Visible label for the column. */\n title: string;\n /** Optional class applied to the header button (or span when unsortable). */\n className?: string;\n}) {\n if (!column.getCanSort()) {\n return <span className={className}>{title}</span>;\n }\n\n const sorted = column.getIsSorted();\n\n return (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className={cn(\"-ml-2 h-8 text-xs leading-4 font-medium\", className)}\n onClick={() => column.toggleSorting(sorted === \"asc\")}\n >\n {title}\n {sorted === \"asc\" ? (\n <ArrowUpIcon />\n ) : sorted === \"desc\" ? (\n <ArrowDownIcon />\n ) : (\n <ChevronsUpDownIcon className=\"opacity-50\" />\n )}\n </Button>\n );\n}\n\nexport { DataTable, DataTableColumnHeader };\nexport type { ColumnDef };\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../src/patterns/DataTable/DataTable.tsx"],"sourcesContent":["\"use client\";\n\nimport { Icon } from \"@/primitives/Icon\";\nimport {\n type Column,\n type ColumnDef,\n type RowSelectionState,\n type SortingState,\n flexRender,\n getCoreRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable,\n} from \"@tanstack/react-table\";\nimport { ArrowDownIcon, ArrowUpIcon, ChevronsUpDownIcon } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Button } from \"@/primitives/Button\";\nimport { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from \"@/primitives/Table\";\nimport { cn } from \"@/utils\";\n\ntype DataTableProps<TData, TValue> = {\n /** TanStack Table column definitions describing each column's header and cell. */\n columns: ColumnDef<TData, TValue>[];\n /** The row objects to render in the table body. */\n data: TData[];\n /** Zebra-stripe the rows (default true). */\n striped?: boolean;\n /** Client-side pagination + page size (default true, 10). */\n enablePagination?: boolean;\n /** Rows per page when pagination is enabled (default 10). */\n pageSize?: number;\n};\n\n/**\n * TanStack-Table-backed data table with sorting, row selection, and optional\n * client-side pagination, rendered through the Table primitives.\n */\nfunction DataTable<TData, TValue>({\n columns,\n data,\n striped = true,\n enablePagination = true,\n pageSize = 10,\n}: DataTableProps<TData, TValue>) {\n const [sorting, setSorting] = React.useState<SortingState>([]);\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>({});\n\n const table = useReactTable({\n data,\n columns,\n state: { sorting, rowSelection },\n onSortingChange: setSorting,\n onRowSelectionChange: setRowSelection,\n getCoreRowModel: getCoreRowModel(),\n getSortedRowModel: getSortedRowModel(),\n getPaginationRowModel: enablePagination ? getPaginationRowModel() : undefined,\n initialState: { pagination: { pageSize } },\n });\n\n return (\n <div data-slot=\"data-table\" className=\"space-y-4\">\n <div className=\"overflow-x-auto\">\n <Table striped={striped}>\n <TableHeader>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => (\n <TableHead\n key={header.id}\n colSpan={header.colSpan}\n // Data Table header spec: glass-60 band, mini/medium 12/16.\n className=\"h-auto bg-glass-60-bg backdrop-blur-glass px-2 py-2 text-xs leading-4 font-medium\"\n >\n {header.isPlaceholder\n ? null\n : flexRender(header.column.columnDef.header, header.getContext())}\n </TableHead>\n ))}\n </TableRow>\n ))}\n </TableHeader>\n <TableBody>\n {table.getRowModel().rows.length ? (\n table.getRowModel().rows.map((row) => (\n <TableRow\n key={row.id}\n data-state={row.getIsSelected() ? \"selected\" : undefined}\n className=\"hover:bg-muted-bg data-[state=selected]:bg-secondary-bg\"\n >\n {row.getVisibleCells().map((cell) => (\n <TableCell key={cell.id} className=\"px-2 py-2 text-xs leading-4\">\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n ))}\n </TableRow>\n ))\n ) : (\n <TableRow>\n <TableCell colSpan={columns.length} className=\"h-24 text-center text-muted-txt\">\n No results.\n </TableCell>\n </TableRow>\n )}\n </TableBody>\n </Table>\n </div>\n\n {enablePagination ? (\n <div className=\"flex items-center justify-between gap-4\">\n <p className=\"text-sm text-muted-txt\" data-slot=\"data-table-selection\">\n {table.getFilteredSelectedRowModel().rows.length} of{\" \"}\n {table.getFilteredRowModel().rows.length} row(s) selected.\n </p>\n <div className=\"flex items-center gap-2\">\n <span className=\"text-sm text-muted-txt\">\n Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount() || 1}\n </span>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => table.previousPage()}\n disabled={!table.getCanPreviousPage()}\n >\n Previous\n </Button>\n <Button\n variant=\"outline\"\n size=\"sm\"\n onClick={() => table.nextPage()}\n disabled={!table.getCanNextPage()}\n >\n Next\n </Button>\n </div>\n </div>\n ) : null}\n </div>\n );\n}\n\n/** Sortable column header — drop into a column's `header` to get click-to-sort. */\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n className,\n}: {\n /** The TanStack Table column instance this header controls. */\n column: Column<TData, TValue>;\n /** Visible label for the column. */\n title: string;\n /** Optional class applied to the header button (or span when unsortable). */\n className?: string;\n}) {\n if (!column.getCanSort()) {\n return <span className={className}>{title}</span>;\n }\n\n const sorted = column.getIsSorted();\n\n return (\n <Button\n variant=\"ghost\"\n size=\"sm\"\n className={cn(\"-ml-2 h-8 text-xs leading-4 font-medium\", className)}\n onClick={() => column.toggleSorting(sorted === \"asc\")}\n >\n {title}\n {sorted === \"asc\" ? (\n <Icon as={ArrowUpIcon} />\n ) : sorted === \"desc\" ? (\n <Icon as={ArrowDownIcon} />\n ) : (\n <Icon as={ChevronsUpDownIcon} className=\"opacity-50\" />\n )}\n </Button>\n );\n}\n\nexport { DataTable, DataTableColumnHeader };\nexport type { ColumnDef };\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import * as react_jsx_runtime151 from "react/jsx-runtime";
1
+ import * as react_jsx_runtime77 from "react/jsx-runtime";
2
2
  import * as React from "react";
3
3
 
4
4
  //#region src/patterns/Footer/Footer.d.ts
@@ -18,22 +18,22 @@ declare function Footer({
18
18
  bordered?: boolean;
19
19
  /** Surface fill. `glass` is a translucent, blurred panel over the page background. */
20
20
  background?: keyof typeof footerBackgrounds;
21
- }): react_jsx_runtime151.JSX.Element;
21
+ }): react_jsx_runtime77.JSX.Element;
22
22
  /** Leading region — left-aligned on md+ (e.g. an app version). */
23
23
  declare function FooterStart({
24
24
  className,
25
25
  ...props
26
- }: React.ComponentProps<"div">): react_jsx_runtime151.JSX.Element;
26
+ }: React.ComponentProps<"div">): react_jsx_runtime77.JSX.Element;
27
27
  /** Centre region — always centred (e.g. a "Powered by" lockup). */
28
28
  declare function FooterCenter({
29
29
  className,
30
30
  ...props
31
- }: React.ComponentProps<"div">): react_jsx_runtime151.JSX.Element;
31
+ }: React.ComponentProps<"div">): react_jsx_runtime77.JSX.Element;
32
32
  /** Trailing region — right-aligned on md+ (e.g. legal links). Wraps on small screens. */
33
33
  declare function FooterEnd({
34
34
  className,
35
35
  ...props
36
- }: React.ComponentProps<"div">): react_jsx_runtime151.JSX.Element;
36
+ }: React.ComponentProps<"div">): react_jsx_runtime77.JSX.Element;
37
37
  /** "Powered by" lockup — the label plus a slot for the brand mark (a <Logo />). */
38
38
  declare function FooterPoweredBy({
39
39
  className,
@@ -43,12 +43,12 @@ declare function FooterPoweredBy({
43
43
  }: React.ComponentProps<"div"> & {
44
44
  /** Override the default "Powered by" label. */
45
45
  label?: React.ReactNode;
46
- }): react_jsx_runtime151.JSX.Element;
46
+ }): react_jsx_runtime77.JSX.Element;
47
47
  /** Visual divider between trailing links. */
48
48
  declare function FooterSeparator({
49
49
  className,
50
50
  ...props
51
- }: React.ComponentProps<"span">): react_jsx_runtime151.JSX.Element;
51
+ }: React.ComponentProps<"span">): react_jsx_runtime77.JSX.Element;
52
52
  //#endregion
53
53
  export { Footer, FooterCenter, FooterEnd, FooterPoweredBy, FooterSeparator, FooterStart };
54
54
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/patterns/Footer/Footer.tsx"],"mappings":";;;;cAyBM;;;EAAA,SAAA,KAAA,EAAA,oCAII;AAAA,CAAA;;iBAGD,MAAA,CACP;EAAA,SAAA;EAAA,QAAA;EAAA,UAAA;EAAA,GAAA;CAAA,EAIC,KAAA,CAAM,cAJP,CAAA,QAAA,CAAA,GAAA;;UAEA,CAAA,EAAA,OAAA;;YAM0B,CAAA,EAAA,MAAA,OAAA,iBAAA;IAC3B,oBAAA,CAAA,GAAA,CAAA,OAAA;AAAA;AAAA,iBAoBQ,WAAA,CAAW;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAA0B,KAAA,CAAM,cAAhC,CAAA,KAAA,CAAA,CAAA,EAAqD,oBAAA,CAAA,GAAA,CAAA,OAArD;;iBAcX,YAAA,CAdc;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAcwB,KAAA,CAAM,cAd9B,CAAA,KAAA,CAAA,CAAA,EAcmD,oBAAA,CAAA,GAAA,CAAA,OAdnD;;iBAyBd,SAAA,CAzBgE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyB7B,KAAA,CAAM,cAzBuB,CAAA,KAAA,CAAA,CAAA,EAyBF,oBAAA,CAAA,GAAA,CAAA,OAzBE;AAAA;AAAA,iBAuChE,eAAA,CAzBY;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EA8BlB,KAAA,CAAM,cA9BY,CAAA,KAAA,CAAA,GAAA;EAAA;OAAG,CAAA,EAgCd,KAAA,CAAM,SAhCQ;IAiCvB,oBAAA,CAAA,GAAA,CAAA,OAjCoD;;AAAqB,iBAiDjE,eAAA,CAjDiE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiDxB,KAAA,CAAM,cAjDkB,CAAA,MAAA,CAAA,CAAA,EAiDI,oBAAA,CAAA,GAAA,CAAA,OAjDJ"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../../src/patterns/Footer/Footer.tsx"],"mappings":";;;;cAyBM;;;EAAA,SAAA,KAAA,EAAA,oCAII;AAAA,CAAA;;iBAGD,MAAA,CACP;EAAA,SAAA;EAAA,QAAA;EAAA,UAAA;EAAA,GAAA;CAAA,EAIC,KAAA,CAAM,cAJP,CAAA,QAAA,CAAA,GAAA;;UAEA,CAAA,EAAA,OAAA;;YAM0B,CAAA,EAAA,MAAA,OAAA,iBAAA;IAC3B,mBAAA,CAAA,GAAA,CAAA,OAAA;AAAA;AAAA,iBAoBQ,WAAA,CAAW;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAA0B,KAAA,CAAM,cAAhC,CAAA,KAAA,CAAA,CAAA,EAAqD,mBAAA,CAAA,GAAA,CAAA,OAArD;;iBAcX,YAAA,CAdc;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAcwB,KAAA,CAAM,cAd9B,CAAA,KAAA,CAAA,CAAA,EAcmD,mBAAA,CAAA,GAAA,CAAA,OAdnD;;iBAyBd,SAAA,CAzBgE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAyB7B,KAAA,CAAM,cAzBuB,CAAA,KAAA,CAAA,CAAA,EAyBF,mBAAA,CAAA,GAAA,CAAA,OAzBE;AAAA;AAAA,iBAuChE,eAAA,CAzBY;EAAA,SAAA;EAAA,KAAA;EAAA,QAAA;EAAA,GAAA;CAAA,EA8BlB,KAAA,CAAM,cA9BY,CAAA,KAAA,CAAA,GAAA;EAAA;OAAG,CAAA,EAgCd,KAAA,CAAM,SAhCQ;IAiCvB,mBAAA,CAAA,GAAA,CAAA,OAjCoD;;AAAqB,iBAiDjE,eAAA,CAjDiE;EAAA,SAAA;EAAA,GAAA;AAAA,CAAA,EAiDxB,KAAA,CAAM,cAjDkB,CAAA,MAAA,CAAA,CAAA,EAiDI,mBAAA,CAAA,GAAA,CAAA,OAjDJ"}
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import * as react_jsx_runtime63 from "react/jsx-runtime";
2
+ import * as react_jsx_runtime18 from "react/jsx-runtime";
3
3
 
4
4
  //#region src/patterns/Footer/Footer.d.ts
5
5
  declare const footerBackgrounds: {
@@ -18,22 +18,22 @@ declare function Footer({
18
18
  bordered?: boolean;
19
19
  /** Surface fill. `glass` is a translucent, blurred panel over the page background. */
20
20
  background?: keyof typeof footerBackgrounds;
21
- }): react_jsx_runtime63.JSX.Element;
21
+ }): react_jsx_runtime18.JSX.Element;
22
22
  /** Leading region — left-aligned on md+ (e.g. an app version). */
23
23
  declare function FooterStart({
24
24
  className,
25
25
  ...props
26
- }: React.ComponentProps<"div">): react_jsx_runtime63.JSX.Element;
26
+ }: React.ComponentProps<"div">): react_jsx_runtime18.JSX.Element;
27
27
  /** Centre region — always centred (e.g. a "Powered by" lockup). */
28
28
  declare function FooterCenter({
29
29
  className,
30
30
  ...props
31
- }: React.ComponentProps<"div">): react_jsx_runtime63.JSX.Element;
31
+ }: React.ComponentProps<"div">): react_jsx_runtime18.JSX.Element;
32
32
  /** Trailing region — right-aligned on md+ (e.g. legal links). Wraps on small screens. */
33
33
  declare function FooterEnd({
34
34
  className,
35
35
  ...props
36
- }: React.ComponentProps<"div">): react_jsx_runtime63.JSX.Element;
36
+ }: React.ComponentProps<"div">): react_jsx_runtime18.JSX.Element;
37
37
  /** "Powered by" lockup — the label plus a slot for the brand mark (a <Logo />). */
38
38
  declare function FooterPoweredBy({
39
39
  className,
@@ -43,12 +43,12 @@ declare function FooterPoweredBy({
43
43
  }: React.ComponentProps<"div"> & {
44
44
  /** Override the default "Powered by" label. */
45
45
  label?: React.ReactNode;
46
- }): react_jsx_runtime63.JSX.Element;
46
+ }): react_jsx_runtime18.JSX.Element;
47
47
  /** Visual divider between trailing links. */
48
48
  declare function FooterSeparator({
49
49
  className,
50
50
  ...props
51
- }: React.ComponentProps<"span">): react_jsx_runtime63.JSX.Element;
51
+ }: React.ComponentProps<"span">): react_jsx_runtime18.JSX.Element;
52
52
  //#endregion
53
53
  export { Footer, FooterCenter, FooterEnd, FooterPoweredBy, FooterSeparator, FooterStart };
54
54
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
- import { C as Fetcher, E as ProjectNode, S as ThemeToggle, T as HeaderProps, _ as Header, a as getSessionClaims, b as OrgPill, c as HeaderSelection, d as useHeaderProject, f as GlobalHeaderState, g as ProjectPicker, h as useGlobalHeader, i as SessionClaims, l as UseHeaderProjectResult, m as ToggleProjectDropdownDetail, n as Labels, o as getSessionToken, p as TOGGLE_PROJECT_DROPDOWN_EVENT, r as buildEndpoints, s as isSessionValid, t as DEFAULT_LABELS, u as useHeaderCredits, v as HeaderBar, w as HeaderEndpoints, x as ProfileMenu, y as HeaderLogo } from "../../index71.cjs";
1
+ import { C as Fetcher, E as ProjectNode, S as ThemeToggle, T as HeaderProps, _ as Header, a as getSessionClaims, b as OrgPill, c as HeaderSelection, d as useHeaderProject, f as GlobalHeaderState, g as ProjectPicker, h as useGlobalHeader, i as SessionClaims, l as UseHeaderProjectResult, m as ToggleProjectDropdownDetail, n as Labels, o as getSessionToken, p as TOGGLE_PROJECT_DROPDOWN_EVENT, r as buildEndpoints, s as isSessionValid, t as DEFAULT_LABELS, u as useHeaderCredits, v as HeaderBar, w as HeaderEndpoints, x as ProfileMenu, y as HeaderLogo } from "../../index72.cjs";
2
2
  export { DEFAULT_LABELS, Fetcher, GlobalHeaderState, Header, HeaderBar, HeaderEndpoints, HeaderLogo, HeaderProps, HeaderSelection, Labels, OrgPill, ProfileMenu, ProjectNode, ProjectPicker, SessionClaims, TOGGLE_PROJECT_DROPDOWN_EVENT, ThemeToggle, ToggleProjectDropdownDetail, UseHeaderProjectResult, buildEndpoints, getSessionClaims, getSessionToken, isSessionValid, useGlobalHeader, useHeaderCredits, useHeaderProject };
@@ -1,2 +1,2 @@
1
- import { C as Fetcher, E as ProjectNode, S as ThemeToggle, T as HeaderProps, _ as Header, a as getSessionClaims, b as OrgPill, c as HeaderSelection, d as useHeaderProject, f as GlobalHeaderState, g as ProjectPicker, h as useGlobalHeader, i as SessionClaims, l as UseHeaderProjectResult, m as ToggleProjectDropdownDetail, n as Labels, o as getSessionToken, p as TOGGLE_PROJECT_DROPDOWN_EVENT, r as buildEndpoints, s as isSessionValid, t as DEFAULT_LABELS, u as useHeaderCredits, v as HeaderBar, w as HeaderEndpoints, x as ProfileMenu, y as HeaderLogo } from "../../index71.js";
1
+ import { C as Fetcher, E as ProjectNode, S as ThemeToggle, T as HeaderProps, _ as Header, a as getSessionClaims, b as OrgPill, c as HeaderSelection, d as useHeaderProject, f as GlobalHeaderState, g as ProjectPicker, h as useGlobalHeader, i as SessionClaims, l as UseHeaderProjectResult, m as ToggleProjectDropdownDetail, n as Labels, o as getSessionToken, p as TOGGLE_PROJECT_DROPDOWN_EVENT, r as buildEndpoints, s as isSessionValid, t as DEFAULT_LABELS, u as useHeaderCredits, v as HeaderBar, w as HeaderEndpoints, x as ProfileMenu, y as HeaderLogo } from "../../index72.js";
2
2
  export { DEFAULT_LABELS, Fetcher, GlobalHeaderState, Header, HeaderBar, HeaderEndpoints, HeaderLogo, HeaderProps, HeaderSelection, Labels, OrgPill, ProfileMenu, ProjectNode, ProjectPicker, SessionClaims, TOGGLE_PROJECT_DROPDOWN_EVENT, ThemeToggle, ToggleProjectDropdownDetail, UseHeaderProjectResult, buildEndpoints, getSessionClaims, getSessionToken, isSessionValid, useGlobalHeader, useHeaderCredits, useHeaderProject };
@@ -2,8 +2,8 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_cn = require("../../cn.cjs");
3
3
  const require_primitives_Heading_index = require("../../primitives/Heading/index.cjs");
4
4
  const require_primitives_Text_index = require("../../primitives/Text/index.cjs");
5
- let react_jsx_runtime = require("react/jsx-runtime");
6
5
  let class_variance_authority = require("class-variance-authority");
6
+ let react_jsx_runtime = require("react/jsx-runtime");
7
7
  //#region src/patterns/MediaObject/MediaObject.tsx
8
8
  /** Root <article> surface of a media card; consumers compose the parts inside it. */
9
9
  function MediaObject({ className, interactive, ...props }) {
@@ -1,7 +1,7 @@
1
1
  import { n as HeadingProps } from "../../index28.cjs";
2
2
  import { t as Text } from "../../index61.cjs";
3
- import * as react_jsx_runtime141 from "react/jsx-runtime";
4
- import * as class_variance_authority_types12 from "class-variance-authority/types";
3
+ import * as react_jsx_runtime196 from "react/jsx-runtime";
4
+ import * as class_variance_authority_types13 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_runtime141.JSX.Element;
18
+ }: MediaObjectProps): react_jsx_runtime196.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_runtime141.JSX.Element;
28
+ }: MediaObjectImageProps): react_jsx_runtime196.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_runtime141.JSX.Element;
33
+ }: React.ComponentProps<"div">): react_jsx_runtime196.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_runtime141.JSX.Element;
38
+ }: React.ComponentProps<"div">): react_jsx_runtime196.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_runtime141.JSX.Element;
47
+ }: MediaObjectTitleProps): react_jsx_runtime196.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_runtime141.JSX.Element;
51
+ }: React.ComponentProps<typeof Text>): react_jsx_runtime196.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_runtime141.JSX.Element;
56
+ }: React.ComponentProps<"div">): react_jsx_runtime196.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_types12.ClassProp) | undefined) => string;
60
+ } & class_variance_authority_types13.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_runtime141.JSX.Element;
68
+ }: MediaObjectGroupProps): react_jsx_runtime196.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,9 +1,9 @@
1
1
  import { n as HeadingProps } from "../../index28.js";
2
2
  import { t as Text } from "../../index61.js";
3
- import * as React from "react";
4
- import * as react_jsx_runtime55 from "react/jsx-runtime";
5
3
  import { VariantProps } from "class-variance-authority";
6
- import * as class_variance_authority_types7 from "class-variance-authority/types";
4
+ import * as React from "react";
5
+ import * as react_jsx_runtime10 from "react/jsx-runtime";
6
+ import * as class_variance_authority_types0 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_runtime55.JSX.Element;
18
+ }: MediaObjectProps): react_jsx_runtime10.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_runtime55.JSX.Element;
28
+ }: MediaObjectImageProps): react_jsx_runtime10.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_runtime55.JSX.Element;
33
+ }: React.ComponentProps<"div">): react_jsx_runtime10.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_runtime55.JSX.Element;
38
+ }: React.ComponentProps<"div">): react_jsx_runtime10.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_runtime55.JSX.Element;
47
+ }: MediaObjectTitleProps): react_jsx_runtime10.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_runtime55.JSX.Element;
51
+ }: React.ComponentProps<typeof Text>): react_jsx_runtime10.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_runtime55.JSX.Element;
56
+ }: React.ComponentProps<"div">): react_jsx_runtime10.JSX.Element;
57
57
  declare const mediaObjectGroupVariants: (props?: ({
58
- columns?: 1 | 2 | 3 | 4 | null | undefined;
59
- gap?: "sm" | "lg" | "md" | null | undefined;
60
- } & class_variance_authority_types7.ClassProp) | undefined) => string;
58
+ columns?: 3 | 1 | 2 | 4 | null | undefined;
59
+ gap?: "sm" | "md" | "lg" | null | undefined;
60
+ } & class_variance_authority_types0.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_runtime55.JSX.Element;
68
+ }: MediaObjectGroupProps): react_jsx_runtime10.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,8 +1,8 @@
1
1
  import { t as cn } from "../../cn.js";
2
2
  import { Heading } from "../../primitives/Heading/index.js";
3
3
  import { Text } from "../../primitives/Text/index.js";
4
- import { jsx } from "react/jsx-runtime";
5
4
  import { cva } from "class-variance-authority";
5
+ import { jsx } from "react/jsx-runtime";
6
6
  //#region src/patterns/MediaObject/MediaObject.tsx
7
7
  /** Root <article> surface of a media card; consumers compose the parts inside it. */
8
8
  function MediaObject({ className, interactive, ...props }) {
@@ -1,13 +1,14 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
2
  const require_chunk = require("../../chunk.cjs");
3
3
  const require_cn = require("../../cn.cjs");
4
+ const require_Icon = require("../../Icon.cjs");
4
5
  const require_primitives_Popover_index = require("../../primitives/Popover/index.cjs");
5
6
  const require_primitives_Tooltip_index = require("../../primitives/Tooltip/index.cjs");
6
7
  let react = require("react");
7
8
  react = require_chunk.__toESM(react);
9
+ let react_jsx_runtime = require("react/jsx-runtime");
8
10
  let lucide_react = require("lucide-react");
9
11
  let radix_ui = require("radix-ui");
10
- let react_jsx_runtime = require("react/jsx-runtime");
11
12
  //#region src/patterns/NavRail/NavRail.tsx
12
13
  const NavRailContext = react.createContext("icon");
13
14
  const RAIL_BY_MODE = {
@@ -152,7 +153,8 @@ function NavRailMenuTrigger({ label, active, className, children, ...props }) {
152
153
  className: LABEL_BY_MODE[mode],
153
154
  children: label
154
155
  }),
155
- /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRightIcon, {
156
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Icon.Icon, {
157
+ as: lucide_react.ChevronRightIcon,
156
158
  "aria-hidden": true,
157
159
  className: CHEVRON_BY_MODE[mode]
158
160
  })