shadcn-glass-ui 2.3.1 → 2.3.2

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 (458) hide show
  1. package/package.json +21 -3
  2. package/dist/components/blocks/avatar-gallery/index.d.ts +0 -2
  3. package/dist/components/blocks/avatar-gallery/index.d.ts.map +0 -1
  4. package/dist/components/blocks/avatar-gallery/page.d.ts +0 -7
  5. package/dist/components/blocks/avatar-gallery/page.d.ts.map +0 -1
  6. package/dist/components/blocks/badges/index.d.ts +0 -2
  7. package/dist/components/blocks/badges/index.d.ts.map +0 -1
  8. package/dist/components/blocks/badges/page.d.ts +0 -7
  9. package/dist/components/blocks/badges/page.d.ts.map +0 -1
  10. package/dist/components/blocks/buttons/index.d.ts +0 -2
  11. package/dist/components/blocks/buttons/index.d.ts.map +0 -1
  12. package/dist/components/blocks/buttons/page.d.ts +0 -7
  13. package/dist/components/blocks/buttons/page.d.ts.map +0 -1
  14. package/dist/components/blocks/form-elements/index.d.ts +0 -2
  15. package/dist/components/blocks/form-elements/index.d.ts.map +0 -1
  16. package/dist/components/blocks/form-elements/page.d.ts +0 -7
  17. package/dist/components/blocks/form-elements/page.d.ts.map +0 -1
  18. package/dist/components/blocks/index.d.ts +0 -14
  19. package/dist/components/blocks/index.d.ts.map +0 -1
  20. package/dist/components/blocks/notifications/index.d.ts +0 -2
  21. package/dist/components/blocks/notifications/index.d.ts.map +0 -1
  22. package/dist/components/blocks/notifications/page.d.ts +0 -7
  23. package/dist/components/blocks/notifications/page.d.ts.map +0 -1
  24. package/dist/components/blocks/progress/index.d.ts +0 -2
  25. package/dist/components/blocks/progress/index.d.ts.map +0 -1
  26. package/dist/components/blocks/progress/page.d.ts +0 -7
  27. package/dist/components/blocks/progress/page.d.ts.map +0 -1
  28. package/dist/components/blocks/registry.d.ts +0 -16
  29. package/dist/components/blocks/registry.d.ts.map +0 -1
  30. package/dist/components/demos/AnimatedBackground.d.ts +0 -5
  31. package/dist/components/demos/AnimatedBackground.d.ts.map +0 -1
  32. package/dist/components/demos/ComponentShowcase.d.ts +0 -6
  33. package/dist/components/demos/ComponentShowcase.d.ts.map +0 -1
  34. package/dist/components/demos/DesktopShowcase.d.ts +0 -3
  35. package/dist/components/demos/DesktopShowcase.d.ts.map +0 -1
  36. package/dist/components/demos/GlassFixesDemo.d.ts +0 -6
  37. package/dist/components/demos/GlassFixesDemo.d.ts.map +0 -1
  38. package/dist/components/demos/MobileShowcase.d.ts +0 -3
  39. package/dist/components/demos/MobileShowcase.d.ts.map +0 -1
  40. package/dist/components/glass/atomic/expandable-header-glass.d.ts +0 -16
  41. package/dist/components/glass/atomic/expandable-header-glass.d.ts.map +0 -1
  42. package/dist/components/glass/atomic/icon-button-glass.d.ts +0 -18
  43. package/dist/components/glass/atomic/icon-button-glass.d.ts.map +0 -1
  44. package/dist/components/glass/atomic/index.d.ts +0 -14
  45. package/dist/components/glass/atomic/index.d.ts.map +0 -1
  46. package/dist/components/glass/atomic/insight-card-glass.d.ts +0 -22
  47. package/dist/components/glass/atomic/insight-card-glass.d.ts.map +0 -1
  48. package/dist/components/glass/atomic/search-box-glass.d.ts +0 -17
  49. package/dist/components/glass/atomic/search-box-glass.d.ts.map +0 -1
  50. package/dist/components/glass/atomic/sort-dropdown-glass.d.ts +0 -38
  51. package/dist/components/glass/atomic/sort-dropdown-glass.d.ts.map +0 -1
  52. package/dist/components/glass/atomic/stat-item-glass.d.ts +0 -22
  53. package/dist/components/glass/atomic/stat-item-glass.d.ts.map +0 -1
  54. package/dist/components/glass/atomic/theme-toggle-glass.d.ts +0 -11
  55. package/dist/components/glass/atomic/theme-toggle-glass.d.ts.map +0 -1
  56. package/dist/components/glass/composite/ai-card-glass.d.ts +0 -7
  57. package/dist/components/glass/composite/ai-card-glass.d.ts.map +0 -1
  58. package/dist/components/glass/composite/career-stats-header-glass.d.ts +0 -15
  59. package/dist/components/glass/composite/career-stats-header-glass.d.ts.map +0 -1
  60. package/dist/components/glass/composite/circular-metric-glass.d.ts +0 -24
  61. package/dist/components/glass/composite/circular-metric-glass.d.ts.map +0 -1
  62. package/dist/components/glass/composite/contribution-metrics-glass.d.ts +0 -15
  63. package/dist/components/glass/composite/contribution-metrics-glass.d.ts.map +0 -1
  64. package/dist/components/glass/composite/index.d.ts +0 -22
  65. package/dist/components/glass/composite/index.d.ts.map +0 -1
  66. package/dist/components/glass/composite/metric-card-glass.d.ts +0 -96
  67. package/dist/components/glass/composite/metric-card-glass.d.ts.map +0 -1
  68. package/dist/components/glass/composite/metrics-grid-glass.d.ts +0 -17
  69. package/dist/components/glass/composite/metrics-grid-glass.d.ts.map +0 -1
  70. package/dist/components/glass/composite/repository-card-glass.d.ts +0 -16
  71. package/dist/components/glass/composite/repository-card-glass.d.ts.map +0 -1
  72. package/dist/components/glass/composite/repository-header-glass.d.ts +0 -16
  73. package/dist/components/glass/composite/repository-header-glass.d.ts.map +0 -1
  74. package/dist/components/glass/composite/repository-metadata-glass.d.ts +0 -13
  75. package/dist/components/glass/composite/repository-metadata-glass.d.ts.map +0 -1
  76. package/dist/components/glass/composite/split-layout-glass/index.d.ts +0 -16
  77. package/dist/components/glass/composite/split-layout-glass/index.d.ts.map +0 -1
  78. package/dist/components/glass/composite/split-layout-glass/split-layout-accordion.d.ts +0 -66
  79. package/dist/components/glass/composite/split-layout-glass/split-layout-accordion.d.ts.map +0 -1
  80. package/dist/components/glass/composite/split-layout-glass/split-layout-context.d.ts +0 -122
  81. package/dist/components/glass/composite/split-layout-glass/split-layout-context.d.ts.map +0 -1
  82. package/dist/components/glass/composite/split-layout-glass/split-layout-glass.d.ts +0 -177
  83. package/dist/components/glass/composite/split-layout-glass/split-layout-glass.d.ts.map +0 -1
  84. package/dist/components/glass/composite/trust-score-display-glass.d.ts +0 -15
  85. package/dist/components/glass/composite/trust-score-display-glass.d.ts.map +0 -1
  86. package/dist/components/glass/composite/user-info-glass.d.ts +0 -15
  87. package/dist/components/glass/composite/user-info-glass.d.ts.map +0 -1
  88. package/dist/components/glass/composite/user-stats-line-glass.d.ts +0 -15
  89. package/dist/components/glass/composite/user-stats-line-glass.d.ts.map +0 -1
  90. package/dist/components/glass/composite/year-card-glass.d.ts +0 -53
  91. package/dist/components/glass/composite/year-card-glass.d.ts.map +0 -1
  92. package/dist/components/glass/index.d.ts +0 -18
  93. package/dist/components/glass/index.d.ts.map +0 -1
  94. package/dist/components/glass/primitives/form-field-wrapper.d.ts +0 -69
  95. package/dist/components/glass/primitives/form-field-wrapper.d.ts.map +0 -1
  96. package/dist/components/glass/primitives/index.d.ts +0 -12
  97. package/dist/components/glass/primitives/index.d.ts.map +0 -1
  98. package/dist/components/glass/primitives/interactive-card.d.ts +0 -91
  99. package/dist/components/glass/primitives/interactive-card.d.ts.map +0 -1
  100. package/dist/components/glass/primitives/style-utils.d.ts +0 -147
  101. package/dist/components/glass/primitives/style-utils.d.ts.map +0 -1
  102. package/dist/components/glass/primitives/touch-target.d.ts +0 -46
  103. package/dist/components/glass/primitives/touch-target.d.ts.map +0 -1
  104. package/dist/components/glass/sections/career-stats-glass.d.ts +0 -17
  105. package/dist/components/glass/sections/career-stats-glass.d.ts.map +0 -1
  106. package/dist/components/glass/sections/flags-section-glass.d.ts +0 -13
  107. package/dist/components/glass/sections/flags-section-glass.d.ts.map +0 -1
  108. package/dist/components/glass/sections/header-branding-glass.d.ts +0 -16
  109. package/dist/components/glass/sections/header-branding-glass.d.ts.map +0 -1
  110. package/dist/components/glass/sections/header-nav-glass.d.ts +0 -7
  111. package/dist/components/glass/sections/header-nav-glass.d.ts.map +0 -1
  112. package/dist/components/glass/sections/index.d.ts +0 -13
  113. package/dist/components/glass/sections/index.d.ts.map +0 -1
  114. package/dist/components/glass/sections/profile-header-glass.d.ts +0 -16
  115. package/dist/components/glass/sections/profile-header-glass.d.ts.map +0 -1
  116. package/dist/components/glass/sections/projects-list-glass.d.ts +0 -42
  117. package/dist/components/glass/sections/projects-list-glass.d.ts.map +0 -1
  118. package/dist/components/glass/sections/trust-score-card-glass.d.ts +0 -12
  119. package/dist/components/glass/sections/trust-score-card-glass.d.ts.map +0 -1
  120. package/dist/components/glass/specialized/base-progress-glass.d.ts +0 -8
  121. package/dist/components/glass/specialized/base-progress-glass.d.ts.map +0 -1
  122. package/dist/components/glass/specialized/flag-alert-glass.d.ts +0 -8
  123. package/dist/components/glass/specialized/flag-alert-glass.d.ts.map +0 -1
  124. package/dist/components/glass/specialized/index.d.ts +0 -21
  125. package/dist/components/glass/specialized/index.d.ts.map +0 -1
  126. package/dist/components/glass/specialized/language-bar-glass.d.ts +0 -24
  127. package/dist/components/glass/specialized/language-bar-glass.d.ts.map +0 -1
  128. package/dist/components/glass/specialized/profile-avatar-glass.d.ts +0 -26
  129. package/dist/components/glass/specialized/profile-avatar-glass.d.ts.map +0 -1
  130. package/dist/components/glass/specialized/progress-glass.d.ts +0 -9
  131. package/dist/components/glass/specialized/progress-glass.d.ts.map +0 -1
  132. package/dist/components/glass/specialized/rainbow-progress-glass.d.ts +0 -8
  133. package/dist/components/glass/specialized/rainbow-progress-glass.d.ts.map +0 -1
  134. package/dist/components/glass/specialized/segmented-control-glass.d.ts +0 -11
  135. package/dist/components/glass/specialized/segmented-control-glass.d.ts.map +0 -1
  136. package/dist/components/glass/specialized/sparkline-glass.d.ts +0 -34
  137. package/dist/components/glass/specialized/sparkline-glass.d.ts.map +0 -1
  138. package/dist/components/glass/specialized/status-indicator-glass.d.ts +0 -8
  139. package/dist/components/glass/specialized/status-indicator-glass.d.ts.map +0 -1
  140. package/dist/components/glass/ui/alert-glass.d.ts +0 -13
  141. package/dist/components/glass/ui/alert-glass.d.ts.map +0 -1
  142. package/dist/components/glass/ui/avatar-glass.d.ts +0 -58
  143. package/dist/components/glass/ui/avatar-glass.d.ts.map +0 -1
  144. package/dist/components/glass/ui/badge-glass.d.ts +0 -74
  145. package/dist/components/glass/ui/badge-glass.d.ts.map +0 -1
  146. package/dist/components/glass/ui/button-glass.d.ts +0 -110
  147. package/dist/components/glass/ui/button-glass.d.ts.map +0 -1
  148. package/dist/components/glass/ui/card-glass.d.ts +0 -115
  149. package/dist/components/glass/ui/card-glass.d.ts.map +0 -1
  150. package/dist/components/glass/ui/checkbox-glass.d.ts +0 -88
  151. package/dist/components/glass/ui/checkbox-glass.d.ts.map +0 -1
  152. package/dist/components/glass/ui/circular-progress-glass.d.ts +0 -36
  153. package/dist/components/glass/ui/circular-progress-glass.d.ts.map +0 -1
  154. package/dist/components/glass/ui/combobox-glass.d.ts +0 -61
  155. package/dist/components/glass/ui/combobox-glass.d.ts.map +0 -1
  156. package/dist/components/glass/ui/dropdown-glass.d.ts +0 -83
  157. package/dist/components/glass/ui/dropdown-glass.d.ts.map +0 -1
  158. package/dist/components/glass/ui/dropdown-menu-glass.d.ts +0 -83
  159. package/dist/components/glass/ui/dropdown-menu-glass.d.ts.map +0 -1
  160. package/dist/components/glass/ui/glass-card.d.ts +0 -78
  161. package/dist/components/glass/ui/glass-card.d.ts.map +0 -1
  162. package/dist/components/glass/ui/index.d.ts +0 -50
  163. package/dist/components/glass/ui/index.d.ts.map +0 -1
  164. package/dist/components/glass/ui/input-glass.d.ts +0 -98
  165. package/dist/components/glass/ui/input-glass.d.ts.map +0 -1
  166. package/dist/components/glass/ui/modal-glass.d.ts +0 -180
  167. package/dist/components/glass/ui/modal-glass.d.ts.map +0 -1
  168. package/dist/components/glass/ui/notification-glass.d.ts +0 -13
  169. package/dist/components/glass/ui/notification-glass.d.ts.map +0 -1
  170. package/dist/components/glass/ui/popover-glass.d.ts +0 -74
  171. package/dist/components/glass/ui/popover-glass.d.ts.map +0 -1
  172. package/dist/components/glass/ui/sidebar-glass/index.d.ts +0 -100
  173. package/dist/components/glass/ui/sidebar-glass/index.d.ts.map +0 -1
  174. package/dist/components/glass/ui/sidebar-glass/sidebar-context.d.ts +0 -96
  175. package/dist/components/glass/ui/sidebar-glass/sidebar-context.d.ts.map +0 -1
  176. package/dist/components/glass/ui/sidebar-glass/sidebar-glass.d.ts +0 -88
  177. package/dist/components/glass/ui/sidebar-glass/sidebar-glass.d.ts.map +0 -1
  178. package/dist/components/glass/ui/sidebar-glass/sidebar-menu.d.ts +0 -121
  179. package/dist/components/glass/ui/sidebar-glass/sidebar-menu.d.ts.map +0 -1
  180. package/dist/components/glass/ui/skeleton-glass.d.ts +0 -8
  181. package/dist/components/glass/ui/skeleton-glass.d.ts.map +0 -1
  182. package/dist/components/glass/ui/slider-glass.d.ts +0 -38
  183. package/dist/components/glass/ui/slider-glass.d.ts.map +0 -1
  184. package/dist/components/glass/ui/stepper-glass.d.ts +0 -63
  185. package/dist/components/glass/ui/stepper-glass.d.ts.map +0 -1
  186. package/dist/components/glass/ui/tabs-glass.d.ts +0 -150
  187. package/dist/components/glass/ui/tabs-glass.d.ts.map +0 -1
  188. package/dist/components/glass/ui/toggle-glass.d.ts +0 -27
  189. package/dist/components/glass/ui/toggle-glass.d.ts.map +0 -1
  190. package/dist/components/glass/ui/tooltip-glass.d.ts +0 -65
  191. package/dist/components/glass/ui/tooltip-glass.d.ts.map +0 -1
  192. package/dist/components/ui/alert.d.ts +0 -8
  193. package/dist/components/ui/alert.d.ts.map +0 -1
  194. package/dist/components/ui/avatar.d.ts +0 -7
  195. package/dist/components/ui/avatar.d.ts.map +0 -1
  196. package/dist/components/ui/badge.d.ts +0 -8
  197. package/dist/components/ui/badge.d.ts.map +0 -1
  198. package/dist/components/ui/button.d.ts +0 -8
  199. package/dist/components/ui/button.d.ts.map +0 -1
  200. package/dist/components/ui/card.d.ts +0 -10
  201. package/dist/components/ui/card.d.ts.map +0 -1
  202. package/dist/components/ui/chart.d.ts +0 -69
  203. package/dist/components/ui/chart.d.ts.map +0 -1
  204. package/dist/components/ui/checkbox.d.ts +0 -5
  205. package/dist/components/ui/checkbox.d.ts.map +0 -1
  206. package/dist/components/ui/collapsible.d.ts +0 -6
  207. package/dist/components/ui/collapsible.d.ts.map +0 -1
  208. package/dist/components/ui/command.d.ts +0 -19
  209. package/dist/components/ui/command.d.ts.map +0 -1
  210. package/dist/components/ui/dialog.d.ts +0 -16
  211. package/dist/components/ui/dialog.d.ts.map +0 -1
  212. package/dist/components/ui/dropdown-menu.d.ts +0 -26
  213. package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
  214. package/dist/components/ui/input.d.ts +0 -4
  215. package/dist/components/ui/input.d.ts.map +0 -1
  216. package/dist/components/ui/popover.d.ts +0 -8
  217. package/dist/components/ui/popover.d.ts.map +0 -1
  218. package/dist/components/ui/progress.d.ts +0 -5
  219. package/dist/components/ui/progress.d.ts.map +0 -1
  220. package/dist/components/ui/scroll-area.d.ts +0 -6
  221. package/dist/components/ui/scroll-area.d.ts.map +0 -1
  222. package/dist/components/ui/separator.d.ts +0 -5
  223. package/dist/components/ui/separator.d.ts.map +0 -1
  224. package/dist/components/ui/skeleton.d.ts +0 -3
  225. package/dist/components/ui/skeleton.d.ts.map +0 -1
  226. package/dist/components/ui/slider.d.ts +0 -5
  227. package/dist/components/ui/slider.d.ts.map +0 -1
  228. package/dist/components/ui/sonner.d.ts +0 -4
  229. package/dist/components/ui/sonner.d.ts.map +0 -1
  230. package/dist/components/ui/switch.d.ts +0 -5
  231. package/dist/components/ui/switch.d.ts.map +0 -1
  232. package/dist/components/ui/tabs.d.ts +0 -8
  233. package/dist/components/ui/tabs.d.ts.map +0 -1
  234. package/dist/components/ui/tooltip.d.ts +0 -8
  235. package/dist/components/ui/tooltip.d.ts.map +0 -1
  236. package/dist/components.d.ts.map +0 -1
  237. package/dist/demo-screenshot-aurora.png +0 -0
  238. package/dist/demo-screenshot.png +0 -0
  239. package/dist/demo-screenshot.png.zip +0 -0
  240. package/dist/hooks.d.ts.map +0 -1
  241. package/dist/index.cjs.map +0 -1
  242. package/dist/index.d.ts.map +0 -1
  243. package/dist/index.mjs.map +0 -1
  244. package/dist/lib/config.d.ts +0 -28
  245. package/dist/lib/config.d.ts.map +0 -1
  246. package/dist/lib/hooks/index.d.ts +0 -11
  247. package/dist/lib/hooks/index.d.ts.map +0 -1
  248. package/dist/lib/hooks/use-focus.d.ts +0 -61
  249. package/dist/lib/hooks/use-focus.d.ts.map +0 -1
  250. package/dist/lib/hooks/use-hover.d.ts +0 -54
  251. package/dist/lib/hooks/use-hover.d.ts.map +0 -1
  252. package/dist/lib/hooks/use-responsive.d.ts +0 -44
  253. package/dist/lib/hooks/use-responsive.d.ts.map +0 -1
  254. package/dist/lib/hooks/use-wallpaper-tint.d.ts +0 -57
  255. package/dist/lib/hooks/use-wallpaper-tint.d.ts.map +0 -1
  256. package/dist/lib/hooks.d.ts +0 -92
  257. package/dist/lib/hooks.d.ts.map +0 -1
  258. package/dist/lib/theme/tokens.d.ts +0 -441
  259. package/dist/lib/theme/tokens.d.ts.map +0 -1
  260. package/dist/lib/theme-context.d.ts +0 -115
  261. package/dist/lib/theme-context.d.ts.map +0 -1
  262. package/dist/lib/types.d.ts +0 -24
  263. package/dist/lib/types.d.ts.map +0 -1
  264. package/dist/lib/utils.d.ts +0 -8
  265. package/dist/lib/utils.d.ts.map +0 -1
  266. package/dist/lib/variants/alert-glass-variants.d.ts +0 -10
  267. package/dist/lib/variants/alert-glass-variants.d.ts.map +0 -1
  268. package/dist/lib/variants/alert-variants.d.ts +0 -8
  269. package/dist/lib/variants/alert-variants.d.ts.map +0 -1
  270. package/dist/lib/variants/avatar-glass-variants.d.ts +0 -12
  271. package/dist/lib/variants/avatar-glass-variants.d.ts.map +0 -1
  272. package/dist/lib/variants/badge-glass-variants.d.ts +0 -10
  273. package/dist/lib/variants/badge-glass-variants.d.ts.map +0 -1
  274. package/dist/lib/variants/badge-variants.d.ts +0 -8
  275. package/dist/lib/variants/badge-variants.d.ts.map +0 -1
  276. package/dist/lib/variants/button-glass-variants.d.ts +0 -29
  277. package/dist/lib/variants/button-glass-variants.d.ts.map +0 -1
  278. package/dist/lib/variants/button-variants.d.ts +0 -9
  279. package/dist/lib/variants/button-variants.d.ts.map +0 -1
  280. package/dist/lib/variants/dropdown-content-styles.d.ts +0 -102
  281. package/dist/lib/variants/dropdown-content-styles.d.ts.map +0 -1
  282. package/dist/lib/variants/dropdown-glass-variants.d.ts +0 -9
  283. package/dist/lib/variants/dropdown-glass-variants.d.ts.map +0 -1
  284. package/dist/lib/variants/glass-card-variants.d.ts +0 -13
  285. package/dist/lib/variants/glass-card-variants.d.ts.map +0 -1
  286. package/dist/lib/variants/index.d.ts +0 -26
  287. package/dist/lib/variants/index.d.ts.map +0 -1
  288. package/dist/lib/variants/input-glass-variants.d.ts +0 -9
  289. package/dist/lib/variants/input-glass-variants.d.ts.map +0 -1
  290. package/dist/lib/variants/insight-card-glass-variants.d.ts +0 -11
  291. package/dist/lib/variants/insight-card-glass-variants.d.ts.map +0 -1
  292. package/dist/lib/variants/modal-glass-variants.d.ts +0 -9
  293. package/dist/lib/variants/modal-glass-variants.d.ts.map +0 -1
  294. package/dist/lib/variants/notification-glass-variants.d.ts +0 -9
  295. package/dist/lib/variants/notification-glass-variants.d.ts.map +0 -1
  296. package/dist/lib/variants/progress-glass-variants.d.ts +0 -10
  297. package/dist/lib/variants/progress-glass-variants.d.ts.map +0 -1
  298. package/dist/lib/variants/skeleton-glass-variants.d.ts +0 -9
  299. package/dist/lib/variants/skeleton-glass-variants.d.ts.map +0 -1
  300. package/dist/lib/variants/sparkline-glass-variants.d.ts +0 -10
  301. package/dist/lib/variants/sparkline-glass-variants.d.ts.map +0 -1
  302. package/dist/lib/variants/stepper-glass-variants.d.ts +0 -40
  303. package/dist/lib/variants/stepper-glass-variants.d.ts.map +0 -1
  304. package/dist/lib/variants/toggle-glass-variants.d.ts +0 -26
  305. package/dist/lib/variants/toggle-glass-variants.d.ts.map +0 -1
  306. package/dist/lib/variants/tooltip-glass-variants.d.ts +0 -9
  307. package/dist/lib/variants/tooltip-glass-variants.d.ts.map +0 -1
  308. package/dist/theme-context-7NcW0KZL.cjs.map +0 -1
  309. package/dist/theme-context-DLS2uAgJ.mjs.map +0 -1
  310. package/dist/themes.d.ts.map +0 -1
  311. package/dist/trust-score-card-glass-BGqBcdyJ.mjs.map +0 -1
  312. package/dist/trust-score-card-glass-DtgFygh5.cjs.map +0 -1
  313. package/dist/use-focus-BFBcpBh1.cjs.map +0 -1
  314. package/dist/use-focus-C5kPAKr_.mjs.map +0 -1
  315. package/dist/use-wallpaper-tint-C0kYXNiN.mjs.map +0 -1
  316. package/dist/use-wallpaper-tint-DTTStm5f.cjs.map +0 -1
  317. package/dist/utils-B792GPM_.mjs.map +0 -1
  318. package/dist/utils-CiuCe_Aq.cjs.map +0 -1
  319. package/dist/utils.d.ts.map +0 -1
  320. package/docs/AI_IMPROVEMENTS_COMPLETE.md +0 -574
  321. package/docs/API_PATTERNS_COMPARISON.md +0 -419
  322. package/docs/COMPLIANCE_CHECKLIST.md +0 -307
  323. package/docs/COMPLIANCE_TESTING.md +0 -436
  324. package/docs/CSS_VARIABLES_AUDIT.md +0 -306
  325. package/docs/CSS_VARIABLES_REFACTORING_PLAN.md +0 -330
  326. package/docs/DROPDOWN_ARCHITECTURE.md +0 -290
  327. package/docs/METRIC_CARD_API_REDESIGN.md +0 -354
  328. package/docs/PRIMITIVE_MAPPING.md +0 -404
  329. package/docs/PUBLISHING.md +0 -593
  330. package/docs/REGISTRY_SUMMARY.md +0 -96
  331. package/docs/SECURITY.md +0 -117
  332. package/docs/api/README.md +0 -723
  333. package/docs/api/functions/ThemeProvider.md +0 -21
  334. package/docs/api/functions/cn.md +0 -27
  335. package/docs/api/functions/getNextTheme.md +0 -21
  336. package/docs/api/functions/getThemeConfig.md +0 -21
  337. package/docs/api/functions/useFocus.md +0 -53
  338. package/docs/api/functions/useHover.md +0 -47
  339. package/docs/api/functions/useResponsive.md +0 -31
  340. package/docs/api/functions/useTheme.md +0 -15
  341. package/docs/api/functions/useWallpaperTint.md +0 -36
  342. package/docs/api/globals.md +0 -139
  343. package/docs/api/interfaces/AlertGlassProps.md +0 -131
  344. package/docs/api/interfaces/AvatarGlassProps.md +0 -114
  345. package/docs/api/interfaces/BadgeGlassProps.md +0 -125
  346. package/docs/api/interfaces/ButtonGlassProps.md +0 -186
  347. package/docs/api/interfaces/CheckboxGlassProps.md +0 -125
  348. package/docs/api/interfaces/DropdownGlassProps.md +0 -123
  349. package/docs/api/interfaces/DropdownItem.md +0 -53
  350. package/docs/api/interfaces/GlassCardProps.md +0 -151
  351. package/docs/api/interfaces/InputGlassProps.md +0 -169
  352. package/docs/api/interfaces/NotificationGlassProps.md +0 -67
  353. package/docs/api/interfaces/ProgressGlassProps.md +0 -49
  354. package/docs/api/interfaces/SkeletonGlassProps.md +0 -41
  355. package/docs/api/interfaces/SliderGlassProps.md +0 -107
  356. package/docs/api/interfaces/TabItem.md +0 -25
  357. package/docs/api/interfaces/ThemeConfig.md +0 -25
  358. package/docs/api/interfaces/ThemeContextValue.md +0 -47
  359. package/docs/api/interfaces/ToggleGlassProps.md +0 -59
  360. package/docs/api/interfaces/TooltipGlassProps.md +0 -119
  361. package/docs/api/type-aliases/AlertType.md +0 -11
  362. package/docs/api/type-aliases/AlertVariant.md +0 -11
  363. package/docs/api/type-aliases/AvatarSize.md +0 -11
  364. package/docs/api/type-aliases/AvatarStatus.md +0 -13
  365. package/docs/api/type-aliases/BadgeSize.md +0 -11
  366. package/docs/api/type-aliases/BadgeVariant.md +0 -11
  367. package/docs/api/type-aliases/ButtonGlassSize.md +0 -11
  368. package/docs/api/type-aliases/ButtonGlassVariant.md +0 -11
  369. package/docs/api/type-aliases/DropdownAlign.md +0 -11
  370. package/docs/api/type-aliases/GlowType.md +0 -11
  371. package/docs/api/type-aliases/InputGlassSize.md +0 -11
  372. package/docs/api/type-aliases/IntensityType.md +0 -11
  373. package/docs/api/type-aliases/ModalSize.md +0 -11
  374. package/docs/api/type-aliases/NotificationType.md +0 -11
  375. package/docs/api/type-aliases/PaddingType.md +0 -11
  376. package/docs/api/type-aliases/ProgressGradient.md +0 -11
  377. package/docs/api/type-aliases/ProgressSize.md +0 -11
  378. package/docs/api/type-aliases/SkeletonVariant.md +0 -11
  379. package/docs/api/type-aliases/Theme.md +0 -11
  380. package/docs/api/type-aliases/ToggleGlassSize.md +0 -11
  381. package/docs/api/type-aliases/TooltipPosition.md +0 -11
  382. package/docs/api/variables/AICardGlass.md +0 -11
  383. package/docs/api/variables/AlertGlass.md +0 -11
  384. package/docs/api/variables/AvatarGlass.md +0 -11
  385. package/docs/api/variables/BadgeGlass.md +0 -11
  386. package/docs/api/variables/BaseProgressGlass.md +0 -11
  387. package/docs/api/variables/ButtonGlass.md +0 -11
  388. package/docs/api/variables/CareerStatsGlass.md +0 -11
  389. package/docs/api/variables/CareerStatsHeaderGlass.md +0 -11
  390. package/docs/api/variables/CheckboxGlass.md +0 -11
  391. package/docs/api/variables/CircularMetricGlass.md +0 -22
  392. package/docs/api/variables/CircularProgressGlass.md +0 -11
  393. package/docs/api/variables/ComboBoxGlass.md +0 -27
  394. package/docs/api/variables/ContributionMetricsGlass.md +0 -11
  395. package/docs/api/variables/DropdownGlass.md +0 -11
  396. package/docs/api/variables/ExpandableHeaderGlass.md +0 -11
  397. package/docs/api/variables/FlagAlertGlass.md +0 -11
  398. package/docs/api/variables/FlagsSectionGlass.md +0 -11
  399. package/docs/api/variables/FormFieldWrapper.md +0 -44
  400. package/docs/api/variables/GlassCard.md +0 -11
  401. package/docs/api/variables/HeaderBrandingGlass.md +0 -11
  402. package/docs/api/variables/HeaderNavGlass.md +0 -11
  403. package/docs/api/variables/IconButtonGlass.md +0 -11
  404. package/docs/api/variables/InputGlass.md +0 -11
  405. package/docs/api/variables/InteractiveCard.md +0 -45
  406. package/docs/api/variables/LanguageBarGlass.md +0 -11
  407. package/docs/api/variables/MetricCardGlass.md +0 -11
  408. package/docs/api/variables/MetricsGridGlass.md +0 -11
  409. package/docs/api/variables/ModalGlass.md +0 -73
  410. package/docs/api/variables/NotificationGlass.md +0 -11
  411. package/docs/api/variables/PopoverGlass.md +0 -11
  412. package/docs/api/variables/ProfileAvatarGlass.md +0 -11
  413. package/docs/api/variables/ProfileHeaderGlass.md +0 -11
  414. package/docs/api/variables/ProgressGlass.md +0 -11
  415. package/docs/api/variables/ProjectsListGlass.md +0 -11
  416. package/docs/api/variables/RainbowProgressGlass.md +0 -11
  417. package/docs/api/variables/RepositoryCardGlass.md +0 -11
  418. package/docs/api/variables/RepositoryHeaderGlass.md +0 -11
  419. package/docs/api/variables/RepositoryMetadataGlass.md +0 -11
  420. package/docs/api/variables/SearchBoxGlass.md +0 -11
  421. package/docs/api/variables/SegmentedControlGlass.md +0 -11
  422. package/docs/api/variables/SkeletonGlass.md +0 -11
  423. package/docs/api/variables/SliderGlass.md +0 -11
  424. package/docs/api/variables/SortDropdownGlass.md +0 -11
  425. package/docs/api/variables/StatItemGlass.md +0 -11
  426. package/docs/api/variables/StatusIndicatorGlass.md +0 -11
  427. package/docs/api/variables/THEMES.md +0 -11
  428. package/docs/api/variables/THEME_CONFIG.md +0 -11
  429. package/docs/api/variables/TabsGlass.md +0 -52
  430. package/docs/api/variables/ThemeToggleGlass.md +0 -11
  431. package/docs/api/variables/ToggleGlass.md +0 -11
  432. package/docs/api/variables/TooltipGlass.md +0 -11
  433. package/docs/api/variables/TouchTarget.md +0 -35
  434. package/docs/api/variables/TrustScoreCardGlass.md +0 -11
  435. package/docs/api/variables/TrustScoreDisplayGlass.md +0 -11
  436. package/docs/api/variables/UserInfoGlass.md +0 -11
  437. package/docs/api/variables/UserStatsLineGlass.md +0 -11
  438. package/docs/api/variables/YearCardGlass.md +0 -11
  439. package/docs/api/variables/alertVariants.md +0 -21
  440. package/docs/api/variables/avatarSizes.md +0 -21
  441. package/docs/api/variables/badgeVariants.md +0 -21
  442. package/docs/api/variables/buttonGlassVariants.md +0 -21
  443. package/docs/api/variables/cardIntensity.md +0 -21
  444. package/docs/api/variables/dropdownAlign.md +0 -21
  445. package/docs/api/variables/inputVariants.md +0 -21
  446. package/docs/api/variables/modalSizes.md +0 -21
  447. package/docs/api/variables/notificationVariants.md +0 -21
  448. package/docs/api/variables/progressSizes.md +0 -21
  449. package/docs/api/variables/shadcnAlertVariants.md +0 -21
  450. package/docs/api/variables/shadcnBadgeVariants.md +0 -21
  451. package/docs/api/variables/shadcnButtonVariants.md +0 -21
  452. package/docs/api/variables/skeletonVariants.md +0 -21
  453. package/docs/api/variables/statusSizes.md +0 -21
  454. package/docs/api/variables/toggleSizes.md +0 -21
  455. package/docs/api/variables/tooltipPositions.md +0 -21
  456. package/docs/design-system/UI_DESIGN.md +0 -628
  457. package/docs/technical/DEPENDENCIES.md +0 -291
  458. package/docs/visual-testing-guide.md +0 -362
@@ -1,290 +0,0 @@
1
- # Dropdown Components Architecture
2
-
3
- ## Overview
4
-
5
- All dropdown-style components in the Glass UI library follow the **shadcn/ui compound component
6
- pattern**, built on **Radix UI primitives** and **shared styling utilities**.
7
-
8
- ## Architecture
9
-
10
- ```
11
- ┌─────────────────────────────────────────────────────────────────┐
12
- │ Radix UI Primitives │
13
- │ @radix-ui/react-dropdown-menu │
14
- └──────────────────────────────┬──────────────────────────────────┘
15
-
16
-
17
- ┌─────────────────────────────────────────────────────────────────┐
18
- │ Shared Styling Utilities │
19
- │ src/lib/variants/dropdown-content-styles.ts │
20
- └──────────────────────────────┬──────────────────────────────────┘
21
-
22
-
23
- ┌─────────────────────────────────────────────────────────────────┐
24
- │ DropdownMenuGlass (Compound Components) │
25
- │ src/components/glass/ui/dropdown-menu-glass.tsx │
26
- │ │
27
- │ Exports: │
28
- │ • DropdownMenuGlass (Root) │
29
- │ • DropdownMenuGlassTrigger │
30
- │ • DropdownMenuGlassContent │
31
- │ • DropdownMenuGlassItem │
32
- │ • DropdownMenuGlassSeparator │
33
- │ • DropdownMenuGlassLabel │
34
- │ • DropdownMenuGlassCheckboxItem │
35
- │ • DropdownMenuGlassRadioGroup / RadioItem │
36
- │ • DropdownMenuGlassSub / SubTrigger / SubContent │
37
- │ • DropdownMenuGlassShortcut │
38
- └──────────────────────────────┬──────────────────────────────────┘
39
-
40
- ┌───────────────┼───────────────┐
41
- ▼ ▼ ▼
42
- ┌──────────┐ ┌──────────┐ ┌───────────────┐
43
- │ Dropdown │ │ Sort │ │ ComboBox │
44
- │ Glass │ │ Dropdown │ │ Glass │
45
- │ (Simple) │ │ Glass │ │ (Searchable) │
46
- └──────────┘ └──────────┘ └───────────────┘
47
- ```
48
-
49
- ## Component APIs
50
-
51
- ### 1. DropdownMenuGlass (Compound Components) - shadcn/ui Pattern
52
-
53
- **Location:** `src/components/glass/ui/dropdown-menu-glass.tsx`
54
-
55
- **Purpose:** Base compound components for building any dropdown menu
56
-
57
- ```tsx
58
- import {
59
- DropdownMenuGlass,
60
- DropdownMenuGlassTrigger,
61
- DropdownMenuGlassContent,
62
- DropdownMenuGlassItem,
63
- DropdownMenuGlassSeparator,
64
- DropdownMenuGlassLabel,
65
- } from '@/components/glass/ui/dropdown-menu-glass';
66
-
67
- // Basic usage
68
- <DropdownMenuGlass>
69
- <DropdownMenuGlassTrigger asChild>
70
- <Button>Open Menu</Button>
71
- </DropdownMenuGlassTrigger>
72
- <DropdownMenuGlassContent>
73
- <DropdownMenuGlassLabel>Actions</DropdownMenuGlassLabel>
74
- <DropdownMenuGlassItem onSelect={() => console.log('Edit')}>
75
- <Edit className="mr-2 h-4 w-4" />
76
- Edit
77
- </DropdownMenuGlassItem>
78
- <DropdownMenuGlassSeparator />
79
- <DropdownMenuGlassItem variant="destructive">
80
- <Trash className="mr-2 h-4 w-4" />
81
- Delete
82
- </DropdownMenuGlassItem>
83
- </DropdownMenuGlassContent>
84
- </DropdownMenuGlass>;
85
- ```
86
-
87
- **Available Components:**
88
-
89
- | Component | Description |
90
- | ------------------------------- | ------------------------------- |
91
- | `DropdownMenuGlass` | Root component (manages state) |
92
- | `DropdownMenuGlassTrigger` | Trigger element (use `asChild`) |
93
- | `DropdownMenuGlassContent` | Dropdown content container |
94
- | `DropdownMenuGlassItem` | Menu item with `variant` prop |
95
- | `DropdownMenuGlassSeparator` | Visual divider |
96
- | `DropdownMenuGlassLabel` | Section label |
97
- | `DropdownMenuGlassCheckboxItem` | Checkbox menu item |
98
- | `DropdownMenuGlassRadioGroup` | Radio group container |
99
- | `DropdownMenuGlassRadioItem` | Radio menu item |
100
- | `DropdownMenuGlassSub` | Sub-menu root |
101
- | `DropdownMenuGlassSubTrigger` | Sub-menu trigger |
102
- | `DropdownMenuGlassSubContent` | Sub-menu content |
103
- | `DropdownMenuGlassShortcut` | Keyboard shortcut hint |
104
-
105
- ### 2. DropdownGlass (Simple API)
106
-
107
- **Location:** `src/components/glass/ui/dropdown-glass.tsx`
108
-
109
- **Purpose:** Quick setup for basic dropdown menus (wrapper over compound components)
110
-
111
- ```tsx
112
- import { DropdownGlass } from '@/components/glass/ui/dropdown-glass';
113
-
114
- <DropdownGlass
115
- trigger={
116
- <button>
117
- <MoreVertical />
118
- </button>
119
- }
120
- items={[
121
- { label: 'Edit', icon: Edit, onClick: handleEdit },
122
- { divider: true },
123
- { label: 'Delete', icon: Trash, onClick: handleDelete, danger: true },
124
- ]}
125
- align="left"
126
- />;
127
- ```
128
-
129
- **When to use:**
130
-
131
- - Simple menus with items, dividers, and icons
132
- - No need for checkboxes, radio groups, or sub-menus
133
-
134
- ### 3. SortDropdownGlass (Specialized)
135
-
136
- **Location:** `src/components/glass/atomic/sort-dropdown-glass.tsx`
137
-
138
- **Purpose:** Sort field selection with order toggle
139
-
140
- ```tsx
141
- import { SortDropdownGlass } from '@/components/glass/atomic/sort-dropdown-glass';
142
-
143
- <SortDropdownGlass
144
- sortBy="commits"
145
- sortOrder="desc"
146
- onSortChange={(field, order) => console.log(field, order)}
147
- options={['commits', 'stars', 'name']}
148
- compact={false}
149
- />;
150
- ```
151
-
152
- **Built on:** DropdownMenuGlass compound components
153
-
154
- ### 4. ComboBoxGlass (Searchable)
155
-
156
- **Location:** `src/components/glass/ui/combobox-glass.tsx`
157
-
158
- **Purpose:** Searchable select dropdown with filtering
159
-
160
- ```tsx
161
- import { ComboBoxGlass } from '@/components/glass/ui/combobox-glass';
162
-
163
- <ComboBoxGlass
164
- options={[
165
- { value: '1', label: 'Option 1' },
166
- { value: '2', label: 'Option 2' },
167
- ]}
168
- value={selectedValue}
169
- onChange={setSelectedValue}
170
- searchable
171
- />;
172
- ```
173
-
174
- **Built on:** Radix UI Popover + shadcn Command (separate pattern for search)
175
-
176
- ## Shared Styling
177
-
178
- ### CSS Variables
179
-
180
- ```css
181
- --dropdown-bg /* Background color */
182
- --dropdown-border /* Border color */
183
- --dropdown-glow /* Shadow/glow effect */
184
- --dropdown-item-text /* Item text color */
185
- --dropdown-item-hover /* Hover background */
186
- --dropdown-icon /* Icon color */
187
- --dropdown-icon-hover /* Icon hover color */
188
- --dropdown-divider /* Separator color */
189
- ```
190
-
191
- ### Styling Utilities
192
-
193
- **Location:** `src/lib/variants/dropdown-content-styles.ts`
194
-
195
- ```typescript
196
- // Glass surface styling
197
- getDropdownContentStyles(): CSSProperties
198
-
199
- // Container classes
200
- dropdownContentClasses: string
201
-
202
- // Item classes with state support
203
- getDropdownItemClasses({ danger?, selected?, highlighted? }): string
204
-
205
- // Icon classes
206
- getDropdownIconClasses({ danger? }): string
207
-
208
- // Other classes
209
- dropdownSeparatorClasses: string
210
- dropdownLabelClasses: string
211
- ```
212
-
213
- ## Creating New Dropdown Components
214
-
215
- ### Step 1: Import DropdownMenuGlass primitives
216
-
217
- ```tsx
218
- import {
219
- DropdownMenuGlass,
220
- DropdownMenuGlassTrigger,
221
- DropdownMenuGlassContent,
222
- DropdownMenuGlassItem,
223
- } from '@/components/glass/ui/dropdown-menu-glass';
224
- ```
225
-
226
- ### Step 2: Build your component
227
-
228
- ```tsx
229
- export function MyDropdown({ value, onChange, options }) {
230
- return (
231
- <DropdownMenuGlass>
232
- <DropdownMenuGlassTrigger asChild>
233
- <button>{value}</button>
234
- </DropdownMenuGlassTrigger>
235
- <DropdownMenuGlassContent>
236
- {options.map((opt) => (
237
- <DropdownMenuGlassItem key={opt.value} onSelect={() => onChange(opt.value)}>
238
- {opt.label}
239
- </DropdownMenuGlassItem>
240
- ))}
241
- </DropdownMenuGlassContent>
242
- </DropdownMenuGlass>
243
- );
244
- }
245
- ```
246
-
247
- ### Step 3: Add custom styling if needed
248
-
249
- ```tsx
250
- <DropdownMenuGlassItem
251
- className={cn(
252
- 'justify-between',
253
- isSelected && 'bg-(--select-item-selected-bg)'
254
- )}
255
- >
256
- ```
257
-
258
- ## Benefits
259
-
260
- 1. **shadcn/ui Compatible**: Same compound component pattern
261
- 2. **Composable**: Mix and match components as needed
262
- 3. **Accessible**: Full Radix UI accessibility support
263
- 4. **Themeable**: Uses CSS variables for easy customization
264
- 5. **Tree-shakeable**: Import only what you need
265
-
266
- ## Migration from v1.x
267
-
268
- ### SortDropdownGlass Changes
269
-
270
- **Before (v1.x):**
271
-
272
- - Manual state management with useState
273
- - Custom click outside/Escape handlers
274
- - Z-index hacks
275
-
276
- **After (v2.x):**
277
-
278
- - Built on DropdownMenuGlass primitives
279
- - Radix UI handles all interactions
280
- - No z-index issues
281
-
282
- The API remains the same - no breaking changes for consumers.
283
-
284
- ## Related Files
285
-
286
- - `src/components/glass/ui/dropdown-menu-glass.tsx` - Compound components
287
- - `src/components/glass/ui/dropdown-glass.tsx` - Simple API wrapper
288
- - `src/components/glass/atomic/sort-dropdown-glass.tsx` - Sort dropdown
289
- - `src/components/glass/ui/combobox-glass.tsx` - Searchable dropdown
290
- - `src/lib/variants/dropdown-content-styles.ts` - Shared styling
@@ -1,354 +0,0 @@
1
- # MetricCardGlass API Redesign
2
-
3
- ## Goal
4
-
5
- Make `MetricCardGlass` fully compatible with **shadcn/ui patterns** and **consistent** with other
6
- Glass UI library components.
7
-
8
- ---
9
-
10
- ## 📋 Analysis of Existing Glass UI Patterns
11
-
12
- ### 1. Variant System Pattern
13
-
14
- All components follow a unified variant system:
15
-
16
- #### AlertGlass
17
-
18
- ```tsx
19
- variant?: 'default' | 'destructive' | 'success' | 'warning'
20
- // ^^^^^^^^ ^^^^^^^^^^^^ shadcn/ui compatible
21
- // ^^^^^^^^ ^^^^^^^^ Glass UI extensions
22
- ```
23
-
24
- #### BadgeGlass
25
-
26
- ```tsx
27
- variant?: 'default' | 'secondary' | 'destructive' | 'outline' | 'success' | 'warning' | 'info'
28
- // ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^ shadcn/ui
29
- // ^^^^^^^^ ^^^^^^^^ ^^^^^ Glass UI
30
- ```
31
-
32
- #### ButtonGlass
33
-
34
- ```tsx
35
- variant?: 'primary' | 'secondary' | 'ghost' | 'destructive' | 'success' | 'text'
36
- // ^^^^^^^^ ^^^^^^^^^^^ ^^^^^^ ^^^^^^^^^^^^^ shadcn/ui-like
37
- // ^^^^^^^^^ Glass UI
38
- ```
39
-
40
- **Conclusion:** Uses `variant` prop with base shadcn/ui variants + extensions.
41
-
42
- ---
43
-
44
- ### 2. CSS Variables Pattern
45
-
46
- All components use CSS variables for styling:
47
-
48
- ```tsx
49
- // AlertGlass
50
- const variantStyles: Record<AlertVariant, AlertStyleVars> = {
51
- default: {
52
- bg: 'var(--alert-default-bg)',
53
- border: 'var(--alert-default-border)',
54
- text: 'var(--alert-default-text)',
55
- },
56
- destructive: { ... },
57
- success: { ... },
58
- };
59
- ```
60
-
61
- **Conclusion:** Each variant has corresponding CSS variables in the format
62
- `--component-variant-property`.
63
-
64
- ---
65
-
66
- ### 3. Props Interface Pattern
67
-
68
- Standard structure:
69
-
70
- ```tsx
71
- export interface ComponentProps
72
- extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof componentVariants> {
73
- // Required props
74
- readonly label: string;
75
- readonly value: string | number;
76
-
77
- // Optional extensions
78
- readonly icon?: ReactNode;
79
- readonly variant?: Variant;
80
- readonly size?: Size;
81
- }
82
- ```
83
-
84
- **Conclusion:** Uses `readonly`, extends `HTMLAttributes`, integrates with CVA
85
- (class-variance-authority).
86
-
87
- ---
88
-
89
- ## 🔍 Analysis of Current MetricCardGlass API
90
-
91
- ### Problems:
92
-
93
- 1. **❌ No `variant` system**
94
- - Uses custom `color` instead of standard `variant`
95
- - Colors: `'emerald' | 'amber' | 'blue' | 'red'` don't match shadcn/ui
96
-
97
- 2. **❌ Complex data model**
98
- - `value` as percentage 0-100 + `valueFormatter` - unintuitive
99
- - Requires math for displaying real values
100
-
101
- 3. **❌ Incompatible with shadcn/ui**
102
- - Uses `label` instead of standard `title` from shadcn/ui Card
103
- - No `description` support
104
-
105
- 4. **❌ `trend` object too complex**
106
- - Requires `{ value: number, direction: 'up' | 'down', label?: string }`
107
- - shadcn/ui typically uses a simple `change` string
108
-
109
- ---
110
-
111
- ## ✅ Proposed Solution
112
-
113
- ### New API (v2.0)
114
-
115
- ```tsx
116
- // ========================================
117
- // TYPES
118
- // ========================================
119
-
120
- export type MetricVariant =
121
- | 'default' // shadcn/ui base
122
- | 'secondary' // shadcn/ui base
123
- | 'success' // Glass UI extension
124
- | 'warning' // Glass UI extension
125
- | 'destructive'; // shadcn/ui base
126
-
127
- export type TrendDirection = 'up' | 'down' | 'neutral';
128
-
129
- export interface MetricChange {
130
- /** Change value (e.g., 12.5 for +12.5%) */
131
- readonly value: number;
132
- /** Trend direction */
133
- readonly direction?: TrendDirection;
134
- /** Optional period label (e.g., "vs last month") */
135
- readonly period?: string;
136
- }
137
-
138
- export interface MetricCardGlassProps
139
- extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof metricCardVariants> {
140
- // ========================================
141
- // CORE PROPS (shadcn/ui compatible)
142
- // ========================================
143
-
144
- /** Metric title (shadcn/ui Card: title) */
145
- readonly title: string;
146
-
147
- /** Display value (shadcn/ui Card: value) */
148
- readonly value: string | number;
149
-
150
- /** Optional description (shadcn/ui Card: description) */
151
- readonly description?: string;
152
-
153
- /** Change indicator (shadcn/ui: change) */
154
- readonly change?: string | number | MetricChange;
155
-
156
- /** Semantic variant (shadcn/ui: variant) */
157
- readonly variant?: MetricVariant;
158
-
159
- // ========================================
160
- // GLASS UI EXTENSIONS
161
- // ========================================
162
-
163
- /** Icon to display */
164
- readonly icon?: ReactNode;
165
-
166
- /** Data for sparkline visualization */
167
- readonly sparklineData?: readonly number[];
168
-
169
- /** Show sparkline chart */
170
- readonly showSparkline?: boolean;
171
-
172
- /** Show progress bar (value must be 0-100) */
173
- readonly showProgress?: boolean;
174
-
175
- /** Progress percentage (0-100, separate from display value) */
176
- readonly progress?: number;
177
- }
178
- ```
179
-
180
- ---
181
-
182
- ## 📝 Usage Examples
183
-
184
- ### Simple variant (shadcn/ui style)
185
-
186
- ```tsx
187
- <MetricCardGlass
188
- title="Total Revenue"
189
- value="$45,231"
190
- change="+12.5%"
191
- variant="success"
192
- icon={<DollarSign />}
193
- />
194
- ```
195
-
196
- ### With detailed change object
197
-
198
- ```tsx
199
- <MetricCardGlass
200
- title="Total Revenue"
201
- value="$45,231"
202
- change={{
203
- value: 12.5,
204
- direction: 'up',
205
- period: 'vs last month',
206
- }}
207
- variant="success"
208
- icon={<DollarSign />}
209
- />
210
- ```
211
-
212
- ### With progress and sparkline (Glass UI extensions)
213
-
214
- ```tsx
215
- <MetricCardGlass
216
- title="Completion Rate"
217
- value="85%"
218
- description="Project progress"
219
- change="+5.2%"
220
- variant="success"
221
- progress={85}
222
- sparklineData={[70, 75, 78, 80, 82, 84, 85]}
223
- showProgress
224
- showSparkline
225
- />
226
- ```
227
-
228
- ### Backward Compatibility (optional)
229
-
230
- To support the old API, aliases can be added:
231
-
232
- ```tsx
233
- <MetricCardGlass
234
- label="Total Revenue" // ⚠️ deprecated, use title
235
- value={75}
236
- valueFormatter={(v) => `$${v}`} // ⚠️ deprecated, use value directly
237
- color="emerald" // ⚠️ deprecated, use variant="success"
238
- />
239
- ```
240
-
241
- ---
242
-
243
- ## 🎨 Mapping: old API → new API
244
-
245
- | Old API | New API | Note |
246
- | ----------------------------- | -------------------------- | ------------------------------------- |
247
- | `label` | `title` | shadcn/ui standard |
248
- | `value: number (0-100)` | `value: string \| number` | Simplification |
249
- | `valueFormatter` | — | Removed, format before passing |
250
- | `valueSuffix` | `description` | shadcn/ui standard |
251
- | `color: 'emerald'` | `variant: 'success'` | Unification |
252
- | `color: 'amber'` | `variant: 'warning'` | Unification |
253
- | `color: 'blue'` | `variant: 'default'` | Unification |
254
- | `color: 'red'` | `variant: 'destructive'` | Unification |
255
- | `trend: { value, direction }` | `change: string \| object` | Simplification |
256
- | — | `progress: number` | New: separation of value and progress |
257
-
258
- ---
259
-
260
- ## 🛠 CSS Variables Structure
261
-
262
- Following the library pattern:
263
-
264
- ```css
265
- /* glass-theme.css */
266
-
267
- /* Default variant */
268
- --metric-default-bg: rgba(255, 255, 255, 0.08);
269
- --metric-default-border: rgba(255, 255, 255, 0.15);
270
- --metric-default-text: var(--text-primary);
271
- --metric-default-glow: 0 0 20px rgba(59, 130, 246, 0.3);
272
-
273
- /* Success variant (emerald) */
274
- --metric-success-bg: rgba(16, 185, 129, 0.08);
275
- --metric-success-border: rgba(16, 185, 129, 0.25);
276
- --metric-success-text: rgb(52, 211, 153);
277
- --metric-success-glow: 0 0 20px rgba(16, 185, 129, 0.3);
278
-
279
- /* Warning variant (amber) */
280
- --metric-warning-bg: rgba(245, 158, 11, 0.08);
281
- --metric-warning-border: rgba(245, 158, 11, 0.25);
282
- --metric-warning-text: rgb(251, 191, 36);
283
- --metric-warning-glow: 0 0 20px rgba(245, 158, 11, 0.3);
284
-
285
- /* Destructive variant (red/rose) */
286
- --metric-destructive-bg: rgba(244, 63, 94, 0.08);
287
- --metric-destructive-border: rgba(244, 63, 94, 0.25);
288
- --metric-destructive-text: rgb(251, 113, 133);
289
- --metric-destructive-glow: 0 0 20px rgba(244, 63, 94, 0.3);
290
- ```
291
-
292
- ---
293
-
294
- ## 🎯 Advantages of New API
295
-
296
- ### 1. **shadcn/ui compatibility** ✅
297
-
298
- - Uses standard props: `title`, `value`, `description`, `variant`
299
- - Can easily be replaced with shadcn/ui Card without API changes
300
-
301
- ### 2. **Consistency with the library** ✅
302
-
303
- - Follows `AlertGlass`, `BadgeGlass`, `ButtonGlass` patterns
304
- - Uses unified `variant` system
305
- - CSS variables in unified format
306
-
307
- ### 3. **Ease of use** ✅
308
-
309
- - No need for `valueFormatter` and math
310
- - Simple string `change="+12.5%"` instead of object
311
- - Clear separation of `value` (display) and `progress` (0-100)
312
-
313
- ### 4. **Flexibility** ✅
314
-
315
- - Supports both simple strings and objects for `change`
316
- - Optional Glass UI extensions (sparkline, progress)
317
- - Backward compatibility through aliases (optional)
318
-
319
- ---
320
-
321
- ## 🚀 Migration Plan
322
-
323
- ### Step 1: Create new component
324
-
325
- - [ ] Create `metric-card-glass-v2.tsx` with new API
326
- - [ ] Add CVA variants to `metric-card-glass-variants.ts`
327
- - [ ] Add CSS variables to `glass-theme.css`
328
-
329
- ### Step 2: Testing
330
-
331
- - [ ] Create stories for new API
332
- - [ ] Add unit tests
333
- - [ ] Add visual regression tests
334
-
335
- ### Step 3: Migration
336
-
337
- - [ ] Update `dashboard.stories.tsx`
338
- - [ ] Update other usages
339
- - [ ] Add deprecation warnings for old API
340
-
341
- ### Step 4: Documentation
342
-
343
- - [ ] Update Storybook docs
344
- - [ ] Add migration guide
345
- - [ ] Update README
346
-
347
- ---
348
-
349
- ## 📚 References
350
-
351
- - [Card - shadcn/ui](https://ui.shadcn.com/docs/components/card)
352
- - [The Anatomy of shadcn/ui Components | Vercel Academy](https://vercel.com/academy/shadcn-ui/extending-shadcn-ui-with-custom-components)
353
- - [Shadcn UI Dashboard Widgets](https://shadcnstore.com/blocks/application/widgets)
354
- - [Stat Cards - Shadcn UI Kit](https://shadcnuikit.com/components/cards/stat)