shadcn-glass-ui 2.2.1 → 2.2.4

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 (368) hide show
  1. package/CHANGELOG.md +51 -0
  2. package/dist/cli/commands/info.d.ts +15 -0
  3. package/dist/cli/commands/info.d.ts.map +1 -0
  4. package/dist/cli/commands/list.d.ts +23 -0
  5. package/dist/cli/commands/list.d.ts.map +1 -0
  6. package/dist/cli/index.cjs +1 -1
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/{index.js → index.mjs} +1 -1
  9. package/dist/cli/index.mjs.map +1 -0
  10. package/dist/cli/utils/format.d.ts +76 -0
  11. package/dist/cli/utils/format.d.ts.map +1 -0
  12. package/dist/cli/utils/fuzzy-search.d.ts +73 -0
  13. package/dist/cli/utils/fuzzy-search.d.ts.map +1 -0
  14. package/dist/cli/utils/load-exports.d.ts +141 -0
  15. package/dist/cli/utils/load-exports.d.ts.map +1 -0
  16. package/dist/components/blocks/avatar-gallery/index.d.ts +2 -0
  17. package/dist/components/blocks/avatar-gallery/index.d.ts.map +1 -0
  18. package/dist/components/blocks/avatar-gallery/page.d.ts +7 -0
  19. package/dist/components/blocks/avatar-gallery/page.d.ts.map +1 -0
  20. package/dist/components/blocks/badges/index.d.ts +2 -0
  21. package/dist/components/blocks/badges/index.d.ts.map +1 -0
  22. package/dist/components/blocks/badges/page.d.ts +7 -0
  23. package/dist/components/blocks/badges/page.d.ts.map +1 -0
  24. package/dist/components/blocks/buttons/index.d.ts +2 -0
  25. package/dist/components/blocks/buttons/index.d.ts.map +1 -0
  26. package/dist/components/blocks/buttons/page.d.ts +7 -0
  27. package/dist/components/blocks/buttons/page.d.ts.map +1 -0
  28. package/dist/components/blocks/form-elements/index.d.ts +2 -0
  29. package/dist/components/blocks/form-elements/index.d.ts.map +1 -0
  30. package/dist/components/blocks/form-elements/page.d.ts +7 -0
  31. package/dist/components/blocks/form-elements/page.d.ts.map +1 -0
  32. package/dist/components/blocks/index.d.ts +14 -0
  33. package/dist/components/blocks/index.d.ts.map +1 -0
  34. package/dist/components/blocks/notifications/index.d.ts +2 -0
  35. package/dist/components/blocks/notifications/index.d.ts.map +1 -0
  36. package/dist/components/blocks/notifications/page.d.ts +7 -0
  37. package/dist/components/blocks/notifications/page.d.ts.map +1 -0
  38. package/dist/components/blocks/progress/index.d.ts +2 -0
  39. package/dist/components/blocks/progress/index.d.ts.map +1 -0
  40. package/dist/components/blocks/progress/page.d.ts +7 -0
  41. package/dist/components/blocks/progress/page.d.ts.map +1 -0
  42. package/dist/components/blocks/registry.d.ts +16 -0
  43. package/dist/components/blocks/registry.d.ts.map +1 -0
  44. package/dist/components/demos/AnimatedBackground.d.ts +5 -0
  45. package/dist/components/demos/AnimatedBackground.d.ts.map +1 -0
  46. package/dist/components/demos/ComponentShowcase.d.ts +6 -0
  47. package/dist/components/demos/ComponentShowcase.d.ts.map +1 -0
  48. package/dist/components/demos/DesktopShowcase.d.ts +3 -0
  49. package/dist/components/demos/DesktopShowcase.d.ts.map +1 -0
  50. package/dist/components/demos/GlassFixesDemo.d.ts +6 -0
  51. package/dist/components/demos/GlassFixesDemo.d.ts.map +1 -0
  52. package/dist/components/demos/MobileShowcase.d.ts +3 -0
  53. package/dist/components/demos/MobileShowcase.d.ts.map +1 -0
  54. package/dist/components/glass/atomic/expandable-header-glass.d.ts +16 -0
  55. package/dist/components/glass/atomic/expandable-header-glass.d.ts.map +1 -0
  56. package/dist/components/glass/atomic/icon-button-glass.d.ts +18 -0
  57. package/dist/components/glass/atomic/icon-button-glass.d.ts.map +1 -0
  58. package/dist/components/glass/atomic/index.d.ts +14 -0
  59. package/dist/components/glass/atomic/index.d.ts.map +1 -0
  60. package/dist/components/glass/atomic/insight-card-glass.d.ts +22 -0
  61. package/dist/components/glass/atomic/insight-card-glass.d.ts.map +1 -0
  62. package/dist/components/glass/atomic/search-box-glass.d.ts +17 -0
  63. package/dist/components/glass/atomic/search-box-glass.d.ts.map +1 -0
  64. package/dist/components/glass/atomic/sort-dropdown-glass.d.ts +38 -0
  65. package/dist/components/glass/atomic/sort-dropdown-glass.d.ts.map +1 -0
  66. package/dist/components/glass/atomic/stat-item-glass.d.ts +22 -0
  67. package/dist/components/glass/atomic/stat-item-glass.d.ts.map +1 -0
  68. package/dist/components/glass/atomic/theme-toggle-glass.d.ts +11 -0
  69. package/dist/components/glass/atomic/theme-toggle-glass.d.ts.map +1 -0
  70. package/dist/components/glass/composite/ai-card-glass.d.ts +7 -0
  71. package/dist/components/glass/composite/ai-card-glass.d.ts.map +1 -0
  72. package/dist/components/glass/composite/career-stats-header-glass.d.ts +15 -0
  73. package/dist/components/glass/composite/career-stats-header-glass.d.ts.map +1 -0
  74. package/dist/components/glass/composite/circular-metric-glass.d.ts +24 -0
  75. package/dist/components/glass/composite/circular-metric-glass.d.ts.map +1 -0
  76. package/dist/components/glass/composite/contribution-metrics-glass.d.ts +15 -0
  77. package/dist/components/glass/composite/contribution-metrics-glass.d.ts.map +1 -0
  78. package/dist/components/glass/composite/index.d.ts +22 -0
  79. package/dist/components/glass/composite/index.d.ts.map +1 -0
  80. package/dist/components/glass/composite/metric-card-glass.d.ts +96 -0
  81. package/dist/components/glass/composite/metric-card-glass.d.ts.map +1 -0
  82. package/dist/components/glass/composite/metrics-grid-glass.d.ts +17 -0
  83. package/dist/components/glass/composite/metrics-grid-glass.d.ts.map +1 -0
  84. package/dist/components/glass/composite/repository-card-glass.d.ts +16 -0
  85. package/dist/components/glass/composite/repository-card-glass.d.ts.map +1 -0
  86. package/dist/components/glass/composite/repository-header-glass.d.ts +16 -0
  87. package/dist/components/glass/composite/repository-header-glass.d.ts.map +1 -0
  88. package/dist/components/glass/composite/repository-metadata-glass.d.ts +13 -0
  89. package/dist/components/glass/composite/repository-metadata-glass.d.ts.map +1 -0
  90. package/dist/components/glass/composite/split-layout-glass/index.d.ts +16 -0
  91. package/dist/components/glass/composite/split-layout-glass/index.d.ts.map +1 -0
  92. package/dist/components/glass/composite/split-layout-glass/split-layout-accordion.d.ts +66 -0
  93. package/dist/components/glass/composite/split-layout-glass/split-layout-accordion.d.ts.map +1 -0
  94. package/dist/components/glass/composite/split-layout-glass/split-layout-context.d.ts +122 -0
  95. package/dist/components/glass/composite/split-layout-glass/split-layout-context.d.ts.map +1 -0
  96. package/dist/components/glass/composite/split-layout-glass/split-layout-glass.d.ts +177 -0
  97. package/dist/components/glass/composite/split-layout-glass/split-layout-glass.d.ts.map +1 -0
  98. package/dist/components/glass/composite/trust-score-display-glass.d.ts +15 -0
  99. package/dist/components/glass/composite/trust-score-display-glass.d.ts.map +1 -0
  100. package/dist/components/glass/composite/user-info-glass.d.ts +15 -0
  101. package/dist/components/glass/composite/user-info-glass.d.ts.map +1 -0
  102. package/dist/components/glass/composite/user-stats-line-glass.d.ts +15 -0
  103. package/dist/components/glass/composite/user-stats-line-glass.d.ts.map +1 -0
  104. package/dist/components/glass/composite/year-card-glass.d.ts +53 -0
  105. package/dist/components/glass/composite/year-card-glass.d.ts.map +1 -0
  106. package/dist/components/glass/index.d.ts +16 -0
  107. package/dist/components/glass/index.d.ts.map +1 -0
  108. package/dist/components/glass/primitives/form-field-wrapper.d.ts +69 -0
  109. package/dist/components/glass/primitives/form-field-wrapper.d.ts.map +1 -0
  110. package/dist/components/glass/primitives/index.d.ts +12 -0
  111. package/dist/components/glass/primitives/index.d.ts.map +1 -0
  112. package/dist/components/glass/primitives/interactive-card.d.ts +91 -0
  113. package/dist/components/glass/primitives/interactive-card.d.ts.map +1 -0
  114. package/dist/components/glass/primitives/style-utils.d.ts +147 -0
  115. package/dist/components/glass/primitives/style-utils.d.ts.map +1 -0
  116. package/dist/components/glass/primitives/touch-target.d.ts +46 -0
  117. package/dist/components/glass/primitives/touch-target.d.ts.map +1 -0
  118. package/dist/components/glass/sections/career-stats-glass.d.ts +17 -0
  119. package/dist/components/glass/sections/career-stats-glass.d.ts.map +1 -0
  120. package/dist/components/glass/sections/flags-section-glass.d.ts +13 -0
  121. package/dist/components/glass/sections/flags-section-glass.d.ts.map +1 -0
  122. package/dist/components/glass/sections/header-branding-glass.d.ts +16 -0
  123. package/dist/components/glass/sections/header-branding-glass.d.ts.map +1 -0
  124. package/dist/components/glass/sections/header-nav-glass.d.ts +7 -0
  125. package/dist/components/glass/sections/header-nav-glass.d.ts.map +1 -0
  126. package/dist/components/glass/sections/index.d.ts +13 -0
  127. package/dist/components/glass/sections/index.d.ts.map +1 -0
  128. package/dist/components/glass/sections/profile-header-glass.d.ts +16 -0
  129. package/dist/components/glass/sections/profile-header-glass.d.ts.map +1 -0
  130. package/dist/components/glass/sections/projects-list-glass.d.ts +42 -0
  131. package/dist/components/glass/sections/projects-list-glass.d.ts.map +1 -0
  132. package/dist/components/glass/sections/trust-score-card-glass.d.ts +12 -0
  133. package/dist/components/glass/sections/trust-score-card-glass.d.ts.map +1 -0
  134. package/dist/components/glass/specialized/base-progress-glass.d.ts +8 -0
  135. package/dist/components/glass/specialized/base-progress-glass.d.ts.map +1 -0
  136. package/dist/components/glass/specialized/flag-alert-glass.d.ts +8 -0
  137. package/dist/components/glass/specialized/flag-alert-glass.d.ts.map +1 -0
  138. package/dist/components/glass/specialized/index.d.ts +21 -0
  139. package/dist/components/glass/specialized/index.d.ts.map +1 -0
  140. package/dist/components/glass/specialized/language-bar-glass.d.ts +24 -0
  141. package/dist/components/glass/specialized/language-bar-glass.d.ts.map +1 -0
  142. package/dist/components/glass/specialized/profile-avatar-glass.d.ts +26 -0
  143. package/dist/components/glass/specialized/profile-avatar-glass.d.ts.map +1 -0
  144. package/dist/components/glass/specialized/progress-glass.d.ts +9 -0
  145. package/dist/components/glass/specialized/progress-glass.d.ts.map +1 -0
  146. package/dist/components/glass/specialized/rainbow-progress-glass.d.ts +8 -0
  147. package/dist/components/glass/specialized/rainbow-progress-glass.d.ts.map +1 -0
  148. package/dist/components/glass/specialized/segmented-control-glass.d.ts +11 -0
  149. package/dist/components/glass/specialized/segmented-control-glass.d.ts.map +1 -0
  150. package/dist/components/glass/specialized/sparkline-glass.d.ts +34 -0
  151. package/dist/components/glass/specialized/sparkline-glass.d.ts.map +1 -0
  152. package/dist/components/glass/specialized/status-indicator-glass.d.ts +8 -0
  153. package/dist/components/glass/specialized/status-indicator-glass.d.ts.map +1 -0
  154. package/dist/components/glass/ui/alert-glass.d.ts +13 -0
  155. package/dist/components/glass/ui/alert-glass.d.ts.map +1 -0
  156. package/dist/components/glass/ui/avatar-glass.d.ts +58 -0
  157. package/dist/components/glass/ui/avatar-glass.d.ts.map +1 -0
  158. package/dist/components/glass/ui/badge-glass.d.ts +74 -0
  159. package/dist/components/glass/ui/badge-glass.d.ts.map +1 -0
  160. package/dist/components/glass/ui/button-glass.d.ts +110 -0
  161. package/dist/components/glass/ui/button-glass.d.ts.map +1 -0
  162. package/dist/components/glass/ui/card-glass.d.ts +115 -0
  163. package/dist/components/glass/ui/card-glass.d.ts.map +1 -0
  164. package/dist/components/glass/ui/checkbox-glass.d.ts +80 -0
  165. package/dist/components/glass/ui/checkbox-glass.d.ts.map +1 -0
  166. package/dist/components/glass/ui/circular-progress-glass.d.ts +36 -0
  167. package/dist/components/glass/ui/circular-progress-glass.d.ts.map +1 -0
  168. package/dist/components/glass/ui/combobox-glass.d.ts +61 -0
  169. package/dist/components/glass/ui/combobox-glass.d.ts.map +1 -0
  170. package/dist/components/glass/ui/dropdown-glass.d.ts +83 -0
  171. package/dist/components/glass/ui/dropdown-glass.d.ts.map +1 -0
  172. package/dist/components/glass/ui/dropdown-menu-glass.d.ts +77 -0
  173. package/dist/components/glass/ui/dropdown-menu-glass.d.ts.map +1 -0
  174. package/dist/components/glass/ui/glass-card.d.ts +78 -0
  175. package/dist/components/glass/ui/glass-card.d.ts.map +1 -0
  176. package/dist/components/glass/ui/index.d.ts +44 -0
  177. package/dist/components/glass/ui/index.d.ts.map +1 -0
  178. package/dist/components/glass/ui/input-glass.d.ts +98 -0
  179. package/dist/components/glass/ui/input-glass.d.ts.map +1 -0
  180. package/dist/components/glass/ui/modal-glass.d.ts +180 -0
  181. package/dist/components/glass/ui/modal-glass.d.ts.map +1 -0
  182. package/dist/components/glass/ui/notification-glass.d.ts +13 -0
  183. package/dist/components/glass/ui/notification-glass.d.ts.map +1 -0
  184. package/dist/components/glass/ui/popover-glass.d.ts +71 -0
  185. package/dist/components/glass/ui/popover-glass.d.ts.map +1 -0
  186. package/dist/components/glass/ui/sidebar-glass/index.d.ts +100 -0
  187. package/dist/components/glass/ui/sidebar-glass/index.d.ts.map +1 -0
  188. package/dist/components/glass/ui/sidebar-glass/sidebar-context.d.ts +96 -0
  189. package/dist/components/glass/ui/sidebar-glass/sidebar-context.d.ts.map +1 -0
  190. package/dist/components/glass/ui/sidebar-glass/sidebar-glass.d.ts +88 -0
  191. package/dist/components/glass/ui/sidebar-glass/sidebar-glass.d.ts.map +1 -0
  192. package/dist/components/glass/ui/sidebar-glass/sidebar-menu.d.ts +121 -0
  193. package/dist/components/glass/ui/sidebar-glass/sidebar-menu.d.ts.map +1 -0
  194. package/dist/components/glass/ui/skeleton-glass.d.ts +8 -0
  195. package/dist/components/glass/ui/skeleton-glass.d.ts.map +1 -0
  196. package/dist/components/glass/ui/slider-glass.d.ts +38 -0
  197. package/dist/components/glass/ui/slider-glass.d.ts.map +1 -0
  198. package/dist/components/glass/ui/stepper-glass.d.ts +63 -0
  199. package/dist/components/glass/ui/stepper-glass.d.ts.map +1 -0
  200. package/dist/components/glass/ui/tabs-glass.d.ts +149 -0
  201. package/dist/components/glass/ui/tabs-glass.d.ts.map +1 -0
  202. package/dist/components/glass/ui/toggle-glass.d.ts +27 -0
  203. package/dist/components/glass/ui/toggle-glass.d.ts.map +1 -0
  204. package/dist/components/glass/ui/tooltip-glass.d.ts +65 -0
  205. package/dist/components/glass/ui/tooltip-glass.d.ts.map +1 -0
  206. package/dist/components/ui/alert.d.ts +8 -0
  207. package/dist/components/ui/alert.d.ts.map +1 -0
  208. package/dist/components/ui/avatar.d.ts +7 -0
  209. package/dist/components/ui/avatar.d.ts.map +1 -0
  210. package/dist/components/ui/badge.d.ts +8 -0
  211. package/dist/components/ui/badge.d.ts.map +1 -0
  212. package/dist/components/ui/button.d.ts +8 -0
  213. package/dist/components/ui/button.d.ts.map +1 -0
  214. package/dist/components/ui/card.d.ts +10 -0
  215. package/dist/components/ui/card.d.ts.map +1 -0
  216. package/dist/components/ui/chart.d.ts +69 -0
  217. package/dist/components/ui/chart.d.ts.map +1 -0
  218. package/dist/components/ui/checkbox.d.ts +5 -0
  219. package/dist/components/ui/checkbox.d.ts.map +1 -0
  220. package/dist/components/ui/collapsible.d.ts +6 -0
  221. package/dist/components/ui/collapsible.d.ts.map +1 -0
  222. package/dist/components/ui/command.d.ts +19 -0
  223. package/dist/components/ui/command.d.ts.map +1 -0
  224. package/dist/components/ui/dialog.d.ts +16 -0
  225. package/dist/components/ui/dialog.d.ts.map +1 -0
  226. package/dist/components/ui/dropdown-menu.d.ts +26 -0
  227. package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
  228. package/dist/components/ui/input.d.ts +4 -0
  229. package/dist/components/ui/input.d.ts.map +1 -0
  230. package/dist/components/ui/popover.d.ts +8 -0
  231. package/dist/components/ui/popover.d.ts.map +1 -0
  232. package/dist/components/ui/progress.d.ts +5 -0
  233. package/dist/components/ui/progress.d.ts.map +1 -0
  234. package/dist/components/ui/scroll-area.d.ts +6 -0
  235. package/dist/components/ui/scroll-area.d.ts.map +1 -0
  236. package/dist/components/ui/separator.d.ts +5 -0
  237. package/dist/components/ui/separator.d.ts.map +1 -0
  238. package/dist/components/ui/skeleton.d.ts +3 -0
  239. package/dist/components/ui/skeleton.d.ts.map +1 -0
  240. package/dist/components/ui/slider.d.ts +5 -0
  241. package/dist/components/ui/slider.d.ts.map +1 -0
  242. package/dist/components/ui/sonner.d.ts +4 -0
  243. package/dist/components/ui/sonner.d.ts.map +1 -0
  244. package/dist/components/ui/switch.d.ts +5 -0
  245. package/dist/components/ui/switch.d.ts.map +1 -0
  246. package/dist/components/ui/tabs.d.ts +8 -0
  247. package/dist/components/ui/tabs.d.ts.map +1 -0
  248. package/dist/components/ui/tooltip.d.ts +8 -0
  249. package/dist/components/ui/tooltip.d.ts.map +1 -0
  250. package/dist/components.cjs +4 -4
  251. package/dist/components.d.ts +56 -1932
  252. package/dist/components.d.ts.map +1 -0
  253. package/dist/components.mjs +5 -0
  254. package/dist/hooks.cjs +2 -2
  255. package/dist/hooks.d.ts +5 -225
  256. package/dist/hooks.d.ts.map +1 -0
  257. package/dist/{hooks.js → hooks.mjs} +2 -2
  258. package/dist/index.cjs +138 -1109
  259. package/dist/index.cjs.map +1 -1
  260. package/dist/index.d.ts +81 -1
  261. package/dist/index.d.ts.map +1 -0
  262. package/dist/{index.js → index.mjs} +116 -1115
  263. package/dist/index.mjs.map +1 -0
  264. package/dist/lib/config.d.ts +28 -0
  265. package/dist/lib/config.d.ts.map +1 -0
  266. package/dist/lib/hooks/index.d.ts +11 -0
  267. package/dist/lib/hooks/index.d.ts.map +1 -0
  268. package/dist/lib/hooks/use-focus.d.ts +61 -0
  269. package/dist/lib/hooks/use-focus.d.ts.map +1 -0
  270. package/dist/lib/hooks/use-hover.d.ts +54 -0
  271. package/dist/lib/hooks/use-hover.d.ts.map +1 -0
  272. package/dist/lib/hooks/use-responsive.d.ts +44 -0
  273. package/dist/lib/hooks/use-responsive.d.ts.map +1 -0
  274. package/dist/lib/hooks/use-wallpaper-tint.d.ts +57 -0
  275. package/dist/lib/hooks/use-wallpaper-tint.d.ts.map +1 -0
  276. package/dist/lib/hooks.d.ts +92 -0
  277. package/dist/lib/hooks.d.ts.map +1 -0
  278. package/dist/lib/theme/tokens.d.ts +441 -0
  279. package/dist/lib/theme/tokens.d.ts.map +1 -0
  280. package/dist/lib/theme-context.d.ts +115 -0
  281. package/dist/lib/theme-context.d.ts.map +1 -0
  282. package/dist/lib/types.d.ts +24 -0
  283. package/dist/lib/types.d.ts.map +1 -0
  284. package/dist/lib/utils.d.ts +8 -0
  285. package/dist/lib/utils.d.ts.map +1 -0
  286. package/dist/lib/variants/alert-glass-variants.d.ts +10 -0
  287. package/dist/lib/variants/alert-glass-variants.d.ts.map +1 -0
  288. package/dist/lib/variants/alert-variants.d.ts +8 -0
  289. package/dist/lib/variants/alert-variants.d.ts.map +1 -0
  290. package/dist/lib/variants/avatar-glass-variants.d.ts +12 -0
  291. package/dist/lib/variants/avatar-glass-variants.d.ts.map +1 -0
  292. package/dist/lib/variants/badge-glass-variants.d.ts +10 -0
  293. package/dist/lib/variants/badge-glass-variants.d.ts.map +1 -0
  294. package/dist/lib/variants/badge-variants.d.ts +8 -0
  295. package/dist/lib/variants/badge-variants.d.ts.map +1 -0
  296. package/dist/lib/variants/button-glass-variants.d.ts +29 -0
  297. package/dist/lib/variants/button-glass-variants.d.ts.map +1 -0
  298. package/dist/lib/variants/button-variants.d.ts +9 -0
  299. package/dist/lib/variants/button-variants.d.ts.map +1 -0
  300. package/dist/lib/variants/dropdown-content-styles.d.ts +102 -0
  301. package/dist/lib/variants/dropdown-content-styles.d.ts.map +1 -0
  302. package/dist/lib/variants/dropdown-glass-variants.d.ts +9 -0
  303. package/dist/lib/variants/dropdown-glass-variants.d.ts.map +1 -0
  304. package/dist/lib/variants/glass-card-variants.d.ts +13 -0
  305. package/dist/lib/variants/glass-card-variants.d.ts.map +1 -0
  306. package/dist/lib/variants/index.d.ts +26 -0
  307. package/dist/lib/variants/index.d.ts.map +1 -0
  308. package/dist/lib/variants/input-glass-variants.d.ts +9 -0
  309. package/dist/lib/variants/input-glass-variants.d.ts.map +1 -0
  310. package/dist/lib/variants/insight-card-glass-variants.d.ts +11 -0
  311. package/dist/lib/variants/insight-card-glass-variants.d.ts.map +1 -0
  312. package/dist/lib/variants/modal-glass-variants.d.ts +9 -0
  313. package/dist/lib/variants/modal-glass-variants.d.ts.map +1 -0
  314. package/dist/lib/variants/notification-glass-variants.d.ts +9 -0
  315. package/dist/lib/variants/notification-glass-variants.d.ts.map +1 -0
  316. package/dist/lib/variants/progress-glass-variants.d.ts +10 -0
  317. package/dist/lib/variants/progress-glass-variants.d.ts.map +1 -0
  318. package/dist/lib/variants/skeleton-glass-variants.d.ts +9 -0
  319. package/dist/lib/variants/skeleton-glass-variants.d.ts.map +1 -0
  320. package/dist/lib/variants/sparkline-glass-variants.d.ts +10 -0
  321. package/dist/lib/variants/sparkline-glass-variants.d.ts.map +1 -0
  322. package/dist/lib/variants/stepper-glass-variants.d.ts +40 -0
  323. package/dist/lib/variants/stepper-glass-variants.d.ts.map +1 -0
  324. package/dist/lib/variants/toggle-glass-variants.d.ts +26 -0
  325. package/dist/lib/variants/toggle-glass-variants.d.ts.map +1 -0
  326. package/dist/lib/variants/tooltip-glass-variants.d.ts +9 -0
  327. package/dist/lib/variants/tooltip-glass-variants.d.ts.map +1 -0
  328. package/dist/{theme-context-BEA8K_rq.cjs → theme-context-DBAPfMto.cjs} +2 -2
  329. package/dist/{theme-context-BEA8K_rq.cjs.map → theme-context-DBAPfMto.cjs.map} +1 -1
  330. package/dist/{theme-context-_T5r1KG4.js → theme-context-DLS2uAgJ.mjs} +1 -1
  331. package/dist/theme-context-DLS2uAgJ.mjs.map +1 -0
  332. package/dist/themes.cjs +1 -1
  333. package/dist/themes.d.ts +2 -124
  334. package/dist/themes.d.ts.map +1 -0
  335. package/dist/{themes.js → themes.mjs} +1 -1
  336. package/dist/trust-score-card-glass-BUt9MIF0.mjs +4197 -0
  337. package/dist/trust-score-card-glass-BUt9MIF0.mjs.map +1 -0
  338. package/dist/trust-score-card-glass-_v9hGnCW.cjs +4834 -0
  339. package/dist/trust-score-card-glass-_v9hGnCW.cjs.map +1 -0
  340. package/dist/{use-focus-CX0TJJIj.js → use-focus-C5kPAKr_.mjs} +1 -1
  341. package/dist/use-focus-C5kPAKr_.mjs.map +1 -0
  342. package/dist/{use-focus-CdoUzFQ8.cjs → use-focus-DBs46Dxv.cjs} +2 -2
  343. package/dist/{use-focus-CdoUzFQ8.cjs.map → use-focus-DBs46Dxv.cjs.map} +1 -1
  344. package/dist/{use-wallpaper-tint-DUgmytlY.js → use-wallpaper-tint-C0kYXNiN.mjs} +1 -1
  345. package/dist/use-wallpaper-tint-C0kYXNiN.mjs.map +1 -0
  346. package/dist/{use-wallpaper-tint-Rq5UgY9L.cjs → use-wallpaper-tint-DNdTbD1y.cjs} +2 -2
  347. package/dist/{use-wallpaper-tint-Rq5UgY9L.cjs.map → use-wallpaper-tint-DNdTbD1y.cjs.map} +1 -1
  348. package/dist/{utils-CcyeqpKQ.js → utils-B792GPM_.mjs} +1 -1
  349. package/dist/utils-B792GPM_.mjs.map +1 -0
  350. package/dist/{utils-NLnOCttr.cjs → utils-D5ef293O.cjs} +2 -2
  351. package/dist/{utils-NLnOCttr.cjs.map → utils-D5ef293O.cjs.map} +1 -1
  352. package/dist/utils.cjs +1 -1
  353. package/dist/utils.d.ts +2 -10
  354. package/dist/utils.d.ts.map +1 -0
  355. package/dist/utils.mjs +2 -0
  356. package/package.json +9 -9
  357. package/dist/cli/index.js.map +0 -1
  358. package/dist/components.js +0 -5
  359. package/dist/index.js.map +0 -1
  360. package/dist/theme-context-_T5r1KG4.js.map +0 -1
  361. package/dist/trust-score-card-glass-DTS1RdIt.cjs +0 -28660
  362. package/dist/trust-score-card-glass-DTS1RdIt.cjs.map +0 -1
  363. package/dist/trust-score-card-glass-Dg4_b_g_.js +0 -27660
  364. package/dist/trust-score-card-glass-Dg4_b_g_.js.map +0 -1
  365. package/dist/use-focus-CX0TJJIj.js.map +0 -1
  366. package/dist/use-wallpaper-tint-DUgmytlY.js.map +0 -1
  367. package/dist/utils-CcyeqpKQ.js.map +0 -1
  368. package/dist/utils.js +0 -2
@@ -1,1932 +1,56 @@
1
- import * as AvatarPrimitive from '@radix-ui/react-avatar';
2
- import { ButtonHTMLAttributes } from 'react';
3
- import { ClassProp } from 'class-variance-authority/types';
4
- import { ComponentPropsWithoutRef } from 'react';
5
- import * as DialogPrimitive from '@radix-ui/react-dialog';
6
- import { FC } from 'react';
7
- import { ForwardRefExoticComponent } from 'react';
8
- import { HTMLAttributes } from 'react';
9
- import { InputHTMLAttributes } from 'react';
10
- import { JSX } from 'react/jsx-runtime';
11
- import { LucideIcon } from 'lucide-react';
12
- import * as PopoverPrimitive from '@radix-ui/react-popover';
13
- import * as React_2 from 'react';
14
- import { ReactNode } from 'react';
15
- import { RefAttributes } from 'react';
16
- import * as SliderPrimitive from '@radix-ui/react-slider';
17
- import * as TooltipPrimitive from '@radix-ui/react-tooltip';
18
- import { VariantProps } from 'class-variance-authority';
19
-
20
- export declare const AICardGlass: ForwardRefExoticComponent<AICardGlassProps & RefAttributes<HTMLDivElement>>;
21
-
22
- declare interface AICardGlassProps extends React.HTMLAttributes<HTMLDivElement> {
23
- readonly onGenerate?: () => void;
24
- readonly features?: readonly string[];
25
- readonly estimatedTime?: string;
26
- }
27
-
28
- export declare const AlertGlass: ForwardRefExoticComponent<AlertGlassProps & RefAttributes<HTMLDivElement>>;
29
-
30
- declare interface AlertGlassProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'style'>, VariantProps<typeof alertVariants> {
31
- dismissible?: boolean;
32
- onDismiss?: () => void;
33
- }
34
-
35
- declare const alertVariants: (props?: ({
36
- variant?: "default" | "destructive" | "success" | "warning" | "info" | "error" | null | undefined;
37
- } & ClassProp) | undefined) => string;
38
-
39
- export declare const AvatarGlass: React_2.ForwardRefExoticComponent<AvatarGlassRootProps & React_2.RefAttributes<HTMLSpanElement>>;
40
-
41
- declare interface AvatarGlassRootProps extends React_2.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root> {
42
- size?: AvatarSize;
43
- status?: AvatarStatus;
44
- glowing?: boolean;
45
- }
46
-
47
- declare type AvatarSize = 'sm' | 'md' | 'lg' | 'xl';
48
-
49
- declare type AvatarStatus = 'online' | 'offline' | 'busy' | 'away';
50
-
51
- export declare const BadgeGlass: ForwardRefExoticComponent<BadgeGlassProps & RefAttributes<HTMLSpanElement>>;
52
-
53
- /**
54
- * Props for the BadgeGlass component
55
- *
56
- * A glass-themed badge with semantic variants and optional animated status dot.
57
- * Features shadcn/ui compatible variants plus extended Glass UI variants.
58
- *
59
- * @accessibility
60
- * - **Keyboard Navigation:** Badges are non-interactive by default (display-only)
61
- * - **Focus Management:** N/A - badges do not receive focus unless wrapped in interactive elements
62
- * - **Screen Readers:** Semantic `<span>` element, content announced naturally
63
- * - **Status Indicators:** Use `aria-label` to provide context for status badges (e.g., "Status: Active")
64
- * - **Animated Dot:** Pulse animation respects `prefers-reduced-motion` settings
65
- * - **Touch Targets:** N/A for display badges, ensure 44x44px if wrapping in button/link (WCAG 2.5.5)
66
- * - **Color Contrast:** All variant text meets WCAG AA contrast ratio 4.5:1 against badge background
67
- * - **Motion:** Dot pulse animation can be disabled for users with motion sensitivity
68
- *
69
- * @example
70
- * ```tsx
71
- * // Basic badge with variant
72
- * <BadgeGlass variant="default">New</BadgeGlass>
73
- *
74
- * // Status badge with aria-label for screen readers
75
- * <BadgeGlass variant="success" aria-label="Status: Active">
76
- * Active
77
- * </BadgeGlass>
78
- *
79
- * // Different variants (shadcn/ui compatible)
80
- * <BadgeGlass variant="default">Default</BadgeGlass>
81
- * <BadgeGlass variant="secondary">Secondary</BadgeGlass>
82
- * <BadgeGlass variant="destructive">Error</BadgeGlass>
83
- * <BadgeGlass variant="outline">Outline</BadgeGlass>
84
- *
85
- * // Extended Glass UI variants
86
- * <BadgeGlass variant="success">Success</BadgeGlass>
87
- * <BadgeGlass variant="warning">Warning</BadgeGlass>
88
- * <BadgeGlass variant="info">Info</BadgeGlass>
89
- *
90
- * // With animated status dot
91
- * <BadgeGlass variant="success" dot aria-label="Status: Online">
92
- * Online
93
- * </BadgeGlass>
94
- * <BadgeGlass variant="destructive" dot aria-label="Status: Offline">
95
- * Offline
96
- * </BadgeGlass>
97
- *
98
- * // Size variants
99
- * <BadgeGlass size="sm">Small</BadgeGlass>
100
- * <BadgeGlass size="default">Medium</BadgeGlass>
101
- * <BadgeGlass size="lg">Large</BadgeGlass>
102
- *
103
- * // Inside interactive elements (ensure accessible labels)
104
- * <button aria-label="Filter by active status">
105
- * Filter: <BadgeGlass variant="success">Active</BadgeGlass>
106
- * </button>
107
- *
108
- * // Count badge with semantic meaning
109
- * <div>
110
- * <span>Notifications</span>
111
- * <BadgeGlass variant="destructive" aria-label="3 unread notifications">
112
- * 3
113
- * </BadgeGlass>
114
- * </div>
115
- * ```
116
- */
117
- declare interface BadgeGlassProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'style'>, VariantProps<typeof badgeVariants> {
118
- readonly children: ReactNode;
119
- readonly variant?: BadgeVariant;
120
- readonly dot?: boolean;
121
- }
122
-
123
- /**
124
- * BadgeGlass CVA Variants
125
- * Extracted for Fast Refresh compatibility
126
- */
127
- declare type BadgeVariant = 'default' | 'secondary' | 'destructive' | 'outline' | 'success' | 'warning' | 'info';
128
-
129
- declare const badgeVariants: (props?: ({
130
- size?: "sm" | "md" | "lg" | null | undefined;
131
- } & ClassProp) | undefined) => string;
132
-
133
- export declare const BaseProgressGlass: ForwardRefExoticComponent<BaseProgressGlassProps & RefAttributes<HTMLDivElement>>;
134
-
135
- declare interface BaseProgressGlassProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'> {
136
- readonly value?: number;
137
- readonly max?: number;
138
- readonly children?: ReactNode | ((percentage: number) => ReactNode);
139
- }
140
-
141
- export declare const ButtonGlass: ForwardRefExoticComponent<ButtonGlassProps & RefAttributes<HTMLButtonElement>>;
142
-
143
- /**
144
- * Props for the ButtonGlass component
145
- *
146
- * A glass-themed button with ripple effects, loading states, and icon support.
147
- * Features theme-aware styling and hover animations.
148
- *
149
- * **shadcn/ui compatible variants:**
150
- * - `default` - Primary action button with glow effects
151
- * - `secondary` - Secondary action with border
152
- * - `ghost` - Minimal visual presence
153
- * - `destructive` - Dangerous/delete actions (red)
154
- * - `outline` - Border with transparent background
155
- * - `link` - Text-only button with underline on hover
156
- * - `success` - Positive feedback (glass-ui extension)
157
- *
158
- * @accessibility
159
- * - **Keyboard Navigation:** Fully keyboard accessible with native `<button>` element
160
- * - **Focus Management:** Visible focus ring using `--focus-glow` CSS variable (WCAG 2.4.7)
161
- * - **Screen Readers:** Semantic `<button>` element, disabled state announced automatically
162
- * - **Loading State:** When loading=true, button is disabled and loading spinner is visible
163
- * - **Touch Targets:** Minimum 44x44px touch target (WCAG 2.5.5) via size variants
164
- * - **Color Contrast:** All variants meet WCAG AA contrast ratio 4.5:1 minimum
165
- * - **Motion:** Respects `prefers-reduced-motion` for ripple/shine animations
166
- *
167
- * @example
168
- * ```tsx
169
- * // Basic button (default variant)
170
- * <ButtonGlass>Click me</ButtonGlass>
171
- * <ButtonGlass variant="default">Primary action</ButtonGlass>
172
- *
173
- * // With icon and aria-label for icon-only buttons
174
- * <ButtonGlass icon={Check} iconPosition="left">Save</ButtonGlass>
175
- * <ButtonGlass icon={X} size="icon" aria-label="Close dialog" />
176
- *
177
- * // Loading state (automatically disables and shows spinner)
178
- * <ButtonGlass loading aria-live="polite">Processing...</ButtonGlass>
179
- *
180
- * // Different variants (shadcn/ui compatible)
181
- * <ButtonGlass variant="secondary">Secondary</ButtonGlass>
182
- * <ButtonGlass variant="ghost">Cancel</ButtonGlass>
183
- * <ButtonGlass variant="outline">Outline</ButtonGlass>
184
- * <ButtonGlass variant="destructive">Delete</ButtonGlass>
185
- * <ButtonGlass variant="link">Learn more</ButtonGlass>
186
- * <ButtonGlass variant="success">Confirm</ButtonGlass>
187
- *
188
- * // As a link (asChild pattern) - maintains semantic HTML
189
- * <ButtonGlass asChild>
190
- * <a href="/dashboard">Go to Dashboard</a>
191
- * </ButtonGlass>
192
- *
193
- * // With Next.js Link
194
- * <ButtonGlass asChild variant="ghost">
195
- * <Link href="/settings">Settings</Link>
196
- * </ButtonGlass>
197
- *
198
- * // Form submit button
199
- * <ButtonGlass type="submit">
200
- * Submit Form
201
- * </ButtonGlass>
202
- * ```
203
- */
204
- declare interface ButtonGlassProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'style'>, VariantProps<typeof buttonGlassVariants> {
205
- /**
206
- * Render as child element instead of button (polymorphic rendering).
207
- * Useful for rendering buttons as links or other interactive elements.
208
- *
209
- * **Note:** When using `asChild`, decorative effects (ripple, shine, glow)
210
- * are disabled to maintain compatibility with Radix UI Slot.
211
- * Only styles and event handlers are passed to the child element.
212
- *
213
- * @default false
214
- * @example
215
- * ```tsx
216
- * <ButtonGlass asChild>
217
- * <a href="/about">About Us</a>
218
- * </ButtonGlass>
219
- * ```
220
- */
221
- readonly asChild?: boolean;
222
- /**
223
- * Visual style variant of the button (shadcn/ui compatible)
224
- * @default "default"
225
- */
226
- readonly variant?: ButtonGlassVariant;
227
- /**
228
- * Show loading spinner and disable interactions
229
- * @default false
230
- */
231
- readonly loading?: boolean;
232
- /**
233
- * Icon component from lucide-react to display
234
- * @example icon={Check}
235
- */
236
- readonly icon?: LucideIcon;
237
- /**
238
- * Position of the icon relative to button text
239
- * @default "left"
240
- */
241
- readonly iconPosition?: 'left' | 'right';
242
- /**
243
- * Size variant of the button (shadcn/ui compatible)
244
- * @default "default"
245
- */
246
- readonly size?: 'default' | 'sm' | 'lg' | 'xl' | 'icon';
247
- }
248
-
249
- /**
250
- * ButtonGlass CVA Variants
251
- * Extracted for Fast Refresh compatibility
252
- */
253
- /**
254
- * ButtonGlass variant types (shadcn/ui compatible)
255
- * - default: Primary action (was 'primary')
256
- * - secondary: Secondary action
257
- * - ghost: Minimal visual presence
258
- * - destructive: Dangerous/delete actions
259
- * - outline: Border with transparent background (shadcn/ui standard)
260
- * - success: Positive feedback (glass-ui extension)
261
- * - link: Text-only button (was 'text', shadcn/ui standard name)
262
- */
263
- declare type ButtonGlassVariant = 'default' | 'secondary' | 'ghost' | 'destructive' | 'outline' | 'success' | 'link';
264
-
265
- declare const buttonGlassVariants: (props?: ({
266
- variant?: "default" | "destructive" | "success" | "link" | "secondary" | "outline" | "ghost" | null | undefined;
267
- size?: "default" | "sm" | "lg" | "xl" | "icon" | null | undefined;
268
- } & ClassProp) | undefined) => string;
269
-
270
- declare const cardIntensity: (props?: ({
271
- intensity?: "medium" | "strong" | "subtle" | null | undefined;
272
- hover?: boolean | null | undefined;
273
- padding?: "default" | "none" | "compact" | "featured" | null | undefined;
274
- } & ClassProp) | undefined) => string;
275
-
276
- export declare const CareerStatsGlass: ForwardRefExoticComponent<CareerStatsGlassProps & RefAttributes<HTMLDivElement>>;
277
-
278
- declare interface CareerStatsGlassProps extends React.HTMLAttributes<HTMLDivElement> {
279
- readonly totalCommits?: number;
280
- readonly totalPRs?: number;
281
- readonly totalRepos?: number;
282
- readonly years?: readonly YearData[];
283
- }
284
-
285
- export declare const CareerStatsHeaderGlass: ForwardRefExoticComponent<CareerStatsHeaderGlassProps & RefAttributes<HTMLDivElement>>;
286
-
287
- declare interface CareerStatsHeaderGlassProps extends HTMLAttributes<HTMLDivElement> {
288
- /** Total commits count */
289
- readonly totalCommits: number;
290
- /** Total pull requests count */
291
- readonly totalPRs: number;
292
- /** Total repositories count */
293
- readonly totalRepos: number;
294
- /** Header title */
295
- readonly title?: string;
296
- /** Stats wrap on mobile */
297
- readonly wrapStats?: boolean;
298
- }
299
-
300
- export declare const CheckboxGlass: ForwardRefExoticComponent<CheckboxGlassProps & RefAttributes<HTMLInputElement>>;
301
-
302
- /**
303
- * Props for the CheckboxGlass component
304
- *
305
- * A glass-themed checkbox with accessible keyboard navigation, focus management,
306
- * and touch-friendly targets. Features glow effects and theme-aware styling.
307
- *
308
- * @accessibility
309
- * - **Keyboard Navigation:** Full keyboard support with Enter/Space to toggle, Tab to focus (WCAG 2.1.1)
310
- * - **Focus Management:** Visible focus ring using `--focus-glow` CSS variable (WCAG 2.4.7)
311
- * - **Screen Readers:** Dual implementation with native `<input type="checkbox">` (hidden) + visual `<div role="checkbox">`
312
- * - **ARIA Attributes:** Uses `role="checkbox"` and `aria-checked` for proper state announcement
313
- * - **Label Association:** Visual label automatically associated with checkbox via `<label>` wrapper
314
- * - **Touch Targets:** 44x44px minimum touch area per Apple HIG (WCAG 2.5.5 compliance)
315
- * - **Color Contrast:** Check mark and backgrounds meet WCAG AA contrast ratio 4.5:1
316
- * - **Motion:** Transitions respect `prefers-reduced-motion` settings
317
- *
318
- * @example
319
- * ```tsx
320
- * // Basic checkbox with label
321
- * <CheckboxGlass checked={agreed} onChange={setAgreed} label="I agree to terms" />
322
- *
323
- * // Checkbox with accessible name (no visual label)
324
- * <CheckboxGlass
325
- * checked={checked}
326
- * onChange={setChecked}
327
- * aria-label="Select all items"
328
- * />
329
- *
330
- * // Form integration with validation
331
- * <form onSubmit={handleSubmit}>
332
- * <CheckboxGlass
333
- * checked={newsletter}
334
- * onChange={setNewsletter}
335
- * label="Subscribe to newsletter"
336
- * aria-describedby="newsletter-help"
337
- * />
338
- * <p id="newsletter-help">Receive weekly updates</p>
339
- * <CheckboxGlass
340
- * checked={terms}
341
- * onChange={setTerms}
342
- * label="Accept terms and conditions"
343
- * required
344
- * aria-invalid={submitted && !terms}
345
- * />
346
- * {submitted && !terms && (
347
- * <span role="alert">You must accept the terms</span>
348
- * )}
349
- * </form>
350
- *
351
- * // Disabled checkbox (state announced to screen readers)
352
- * <CheckboxGlass
353
- * checked={true}
354
- * onChange={() => {}}
355
- * label="This option is locked"
356
- * disabled
357
- * />
358
- *
359
- * // Checkbox group with fieldset
360
- * <fieldset>
361
- * <legend>Select your interests</legend>
362
- * <CheckboxGlass
363
- * checked={interests.tech}
364
- * onChange={(checked) => setInterests({ ...interests, tech: checked })}
365
- * label="Technology"
366
- * />
367
- * <CheckboxGlass
368
- * checked={interests.design}
369
- * onChange={(checked) => setInterests({ ...interests, design: checked })}
370
- * label="Design"
371
- * />
372
- * </fieldset>
373
- * ```
374
- */
375
- declare interface CheckboxGlassProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
376
- readonly checked: boolean;
377
- readonly onChange?: (checked: boolean) => void;
378
- readonly label?: string;
379
- }
380
-
381
- declare type CircularMetricColor = 'emerald' | 'amber' | 'blue' | 'red';
382
-
383
- /**
384
- * CircularMetricGlass - Compact circular progress metric display
385
- *
386
- * Designed for mobile layouts where rectangular MetricCardGlass is too wide.
387
- * Shows a circular progress indicator with percentage inside and label below.
388
- *
389
- * @example
390
- * ```tsx
391
- * <CircularMetricGlass label="Reg" value={84} color="emerald" />
392
- * ```
393
- */
394
- export declare const CircularMetricGlass: ForwardRefExoticComponent<CircularMetricGlassProps & RefAttributes<HTMLDivElement>>;
395
-
396
- declare interface CircularMetricGlassProps extends React.HTMLAttributes<HTMLDivElement> {
397
- /** Metric label (e.g., "Reg", "Imp") */
398
- readonly label: string;
399
- /** Metric value (0-100) */
400
- readonly value: number;
401
- /** Metric color */
402
- readonly color?: CircularMetricColor;
403
- /** Size variant */
404
- readonly size?: 'sm' | 'md';
405
- }
406
-
407
- export declare const CircularProgressGlass: ForwardRefExoticComponent<CircularProgressGlassProps & RefAttributes<HTMLDivElement>>;
408
-
409
- declare interface CircularProgressGlassProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>, VariantProps<typeof circularProgressVariants> {
410
- /** Progress value (0-100) for determinate variant */
411
- readonly value?: number;
412
- /** Variant type */
413
- readonly variant?: 'determinate' | 'indeterminate';
414
- /** Stroke width in pixels */
415
- readonly thickness?: number;
416
- /** Background track width in pixels */
417
- readonly trackWidth?: number;
418
- /** Progress color gradient */
419
- readonly color?: CircularProgressGradient;
420
- /** Track color (background circle) */
421
- readonly trackColor?: string;
422
- /** Show percentage label in center */
423
- readonly showLabel?: boolean;
424
- /** Custom label text (overrides percentage) */
425
- readonly label?: string;
426
- /** Custom color for the center label text */
427
- readonly labelColor?: string;
428
- /** Show glow effect */
429
- readonly showGlow?: boolean;
430
- /** Glow intensity */
431
- readonly glowIntensity?: 'low' | 'medium' | 'high';
432
- /** Stroke linecap style */
433
- readonly strokeLinecap?: 'round' | 'butt' | 'square';
434
- /** Animation duration in seconds */
435
- readonly animationDuration?: number;
436
- }
437
-
438
- declare type CircularProgressGradient = 'violet' | 'blue' | 'cyan' | 'amber' | 'emerald' | 'rose';
439
-
440
- declare const circularProgressVariants: (props?: ({
441
- size?: "sm" | "md" | "lg" | "xl" | null | undefined;
442
- } & ClassProp) | undefined) => string;
443
-
444
- export declare const ComboBoxGlass: <T = string>(props: ComboBoxGlassProps<T> & {
445
- ref?: React.ForwardedRef<HTMLButtonElement>;
446
- }) => ReturnType<typeof ComboBoxGlassInner>;
447
-
448
- declare function ComboBoxGlassInner<T = string>({ options, value, onValueChange, placeholder, emptyText, searchPlaceholder, glassVariant, disabled, className, popoverClassName, clearable, side, align, label, error, success, required, size, searchable, icon: TriggerIcon, }: ComboBoxGlassProps<T>, ref: React.ForwardedRef<HTMLButtonElement>): JSX.Element;
449
-
450
- declare namespace ComboBoxGlassInner {
451
- var displayName: string;
452
- }
453
-
454
- declare interface ComboBoxGlassProps<T = string> {
455
- /** Available options */
456
- readonly options: readonly ComboBoxOption<T>[];
457
- /** Currently selected value */
458
- readonly value?: T;
459
- /** Callback when value changes */
460
- readonly onValueChange?: (value: T | undefined) => void;
461
- /** Placeholder text for trigger button */
462
- readonly placeholder?: string;
463
- /** Text shown when no results found */
464
- readonly emptyText?: string;
465
- /** Placeholder for search input */
466
- readonly searchPlaceholder?: string;
467
- /** Glass variant style */
468
- readonly glassVariant?: GlassVariant;
469
- /** Disabled state */
470
- readonly disabled?: boolean;
471
- /** Custom className for container */
472
- readonly className?: string;
473
- /** Custom className for popover content */
474
- readonly popoverClassName?: string;
475
- /** Allow clearing selection */
476
- readonly clearable?: boolean;
477
- /** Popover side */
478
- readonly side?: 'top' | 'right' | 'bottom' | 'left';
479
- /** Popover alignment */
480
- readonly align?: 'start' | 'center' | 'end';
481
- /** Label text displayed above the field */
482
- readonly label?: string;
483
- /** Error message - displays in red below the field */
484
- readonly error?: string;
485
- /** Success message - displays in green if no error */
486
- readonly success?: string;
487
- /** Shows required asterisk (*) next to label */
488
- readonly required?: boolean;
489
- /** Size variant (affects trigger button height and padding) */
490
- readonly size?: InputGlassSize;
491
- /** Enable/disable search functionality */
492
- readonly searchable?: boolean;
493
- /** Optional icon for trigger button (displayed before text) */
494
- readonly icon?: LucideIcon;
495
- }
496
-
497
- declare interface ComboBoxOption<T = string> {
498
- readonly value: T;
499
- readonly label: string;
500
- readonly disabled?: boolean;
501
- /** Optional icon component for the option */
502
- readonly icon?: LucideIcon;
503
- }
504
-
505
- export declare const ContributionMetricsGlass: ForwardRefExoticComponent<ContributionMetricsGlassProps & RefAttributes<HTMLDivElement>>;
506
-
507
- declare interface ContributionMetricsGlassProps extends HTMLAttributes<HTMLDivElement> {
508
- /** User's commit count */
509
- readonly userCommits: number;
510
- /** User's contribution percentage */
511
- readonly userContribution: number;
512
- /** Total project commits (calculated if not provided) */
513
- readonly totalProjectCommits?: number;
514
- /** Estimated lines of code */
515
- readonly estimatedLines?: number;
516
- /** Grid layout (1 or 2 columns) */
517
- readonly columns?: 1 | 2;
518
- }
519
-
520
- /**
521
- * DropdownGlass - Simple API wrapper
522
- *
523
- * For complex dropdowns with checkboxes, radio groups, sub-menus, etc.,
524
- * use the compound components from dropdown-menu-glass.tsx directly.
525
- */
526
- export declare const DropdownGlass: React_2.ForwardRefExoticComponent<DropdownGlassProps & React_2.RefAttributes<HTMLDivElement>>;
527
-
528
- /**
529
- * Props for the DropdownGlass component (Simple API)
530
- *
531
- * @accessibility
532
- * - **Keyboard Navigation:** Arrow keys navigate, Enter/Space activates, Escape closes
533
- * - **Focus Management:** Focus trapped within menu when open
534
- * - **Screen Readers:** Uses role="menu" and role="menuitem"
535
- * - **Touch Targets:** All items meet minimum 44x44px
536
- */
537
- declare interface DropdownGlassProps {
538
- /** Trigger element (button, etc.) */
539
- readonly trigger: React_2.ReactNode;
540
- /** Menu items array */
541
- readonly items: readonly DropdownItem[];
542
- /** Dropdown alignment */
543
- readonly align?: 'left' | 'right';
544
- /** Additional className */
545
- readonly className?: string;
546
- }
547
-
548
- declare interface DropdownItem {
549
- readonly label?: string;
550
- readonly icon?: LucideIcon;
551
- readonly onClick?: () => void;
552
- readonly danger?: boolean;
553
- readonly divider?: boolean;
554
- }
555
-
556
- export declare const ExpandableHeaderGlass: ForwardRefExoticComponent<ExpandableHeaderGlassProps & RefAttributes<HTMLButtonElement>>;
557
-
558
- declare interface ExpandableHeaderGlassProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'title'> {
559
- /** Header title */
560
- readonly title: ReactNode;
561
- /** Leading icon component */
562
- readonly icon?: LucideIcon;
563
- /** Icon color (CSS variable or color value) */
564
- readonly iconColor?: string;
565
- /** Expanded state */
566
- readonly expanded: boolean;
567
- /** Toggle callback */
568
- readonly onToggle?: () => void;
569
- }
570
-
571
- export declare const FlagAlertGlass: ForwardRefExoticComponent<FlagAlertGlassProps & RefAttributes<HTMLDivElement>>;
572
-
573
- declare interface FlagAlertGlassProps extends React.HTMLAttributes<HTMLDivElement> {
574
- readonly type?: FlagType;
575
- readonly title: string;
576
- readonly description?: string;
577
- }
578
-
579
- declare interface FlagData {
580
- readonly type: FlagType;
581
- readonly title: string;
582
- readonly description?: string;
583
- }
584
-
585
- export declare const FlagsSectionGlass: ForwardRefExoticComponent<FlagsSectionGlassProps & RefAttributes<HTMLDivElement>>;
586
-
587
- declare interface FlagsSectionGlassProps extends React.HTMLAttributes<HTMLDivElement> {
588
- readonly flags?: readonly FlagData[];
589
- readonly expanded?: boolean;
590
- readonly onToggle?: () => void;
591
- }
592
-
593
- declare type FlagType = 'warning' | 'danger';
594
-
595
- /**
596
- * FormFieldWrapper component
597
- *
598
- * Provides consistent structure for form fields with labels and validation messages.
599
- * Used by InputGlass, SliderGlass, and other form components.
600
- *
601
- * @example
602
- * ```tsx
603
- * // Basic usage
604
- * <FormFieldWrapper label="Email" htmlFor="email-input">
605
- * <input id="email-input" type="email" />
606
- * </FormFieldWrapper>
607
- *
608
- * // With validation
609
- * <FormFieldWrapper
610
- * label="Username"
611
- * error="Username is required"
612
- * required
613
- * htmlFor="username"
614
- * >
615
- * <input id="username" />
616
- * </FormFieldWrapper>
617
- *
618
- * // Success state
619
- * <FormFieldWrapper
620
- * label="Password"
621
- * success="Strong password"
622
- * htmlFor="password"
623
- * >
624
- * <input id="password" type="password" />
625
- * </FormFieldWrapper>
626
- * ```
627
- */
628
- export declare const FormFieldWrapper: ForwardRefExoticComponent<FormFieldWrapperProps & RefAttributes<HTMLDivElement>>;
629
-
630
- /**
631
- * Props for the FormFieldWrapper component
632
- */
633
- declare interface FormFieldWrapperProps extends HTMLAttributes<HTMLDivElement> {
634
- /**
635
- * Label text displayed above the field
636
- */
637
- label?: string;
638
- /**
639
- * Error message - takes priority over success
640
- * Displays in red below the field
641
- */
642
- error?: string;
643
- /**
644
- * Success message - displays in green if no error
645
- * Displays below the field
646
- */
647
- success?: string;
648
- /**
649
- * ID to link label with input via htmlFor
650
- * Should match the input's id attribute
651
- */
652
- htmlFor?: string;
653
- /**
654
- * Shows red asterisk (*) next to label
655
- * @default false
656
- */
657
- required?: boolean;
658
- /**
659
- * The form control element(s) to wrap
660
- */
661
- children: ReactNode;
662
- }
663
-
664
- export declare const GlassCard: ForwardRefExoticComponent<GlassCardProps & RefAttributes<HTMLDivElement>>;
665
-
666
- /**
667
- * Props for the GlassCard component
668
- *
669
- * A glass-themed container with configurable blur, glow effects, and hover animations.
670
- * Features polymorphic rendering via `asChild` for semantic HTML flexibility.
671
- *
672
- * @accessibility
673
- * - **Keyboard Navigation:** When used with `asChild` as a link/button, inherits native keyboard support (Enter/Space activation)
674
- * - **Focus Management:** Focus ring applied to child element when using `asChild` pattern with interactive elements
675
- * - **Screen Readers:** Semantic HTML preserved via `asChild` - use appropriate elements (`<a>`, `<button>`, `<article>`)
676
- * - **Hover State:** Hover effects are purely visual and do not affect functionality (progressive enhancement)
677
- * - **Touch Targets:** When interactive, ensure child element meets minimum 44x44px touch target (WCAG 2.5.5)
678
- * - **Color Contrast:** Card border and background meet WCAG AA contrast requirements, content contrast is consumer's responsibility
679
- * - **Motion:** Hover scale animation respects `prefers-reduced-motion` settings via CSS transitions
680
- *
681
- * @example
682
- * ```tsx
683
- * // Basic card
684
- * <GlassCard intensity="medium">Content</GlassCard>
685
- *
686
- * // As a clickable link with accessible name
687
- * <GlassCard asChild intensity="medium">
688
- * <a href="/details" aria-label="View product details">
689
- * <h3>Product Title</h3>
690
- * <p>Description</p>
691
- * </a>
692
- * </GlassCard>
693
- *
694
- * // Different intensity levels
695
- * <GlassCard intensity="subtle">Subtle blur</GlassCard>
696
- * <GlassCard intensity="medium">Standard blur</GlassCard>
697
- * <GlassCard intensity="strong">Heavy blur</GlassCard>
698
- *
699
- * // With glow effects
700
- * <GlassCard glow="blue">Blue glow card</GlassCard>
701
- * <GlassCard glow="violet">Violet glow card</GlassCard>
702
- * <GlassCard glow="cyan">Cyan glow card</GlassCard>
703
- *
704
- * // As a button (interactive) with role
705
- * <GlassCard asChild hover intensity="medium">
706
- * <button onClick={handleClick} aria-label="Open settings">
707
- * <Settings className="w-6 h-6" />
708
- * <span>Settings</span>
709
- * </button>
710
- * </GlassCard>
711
- *
712
- * // Article card with semantic HTML
713
- * <GlassCard asChild intensity="medium" padding="lg">
714
- * <article>
715
- * <header><h2>Article Title</h2></header>
716
- * <p>Article content...</p>
717
- * <footer>Published: Jan 1, 2025</footer>
718
- * </article>
719
- * </GlassCard>
720
- * ```
721
- */
722
- declare interface GlassCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'style'>, VariantProps<typeof cardIntensity> {
723
- /**
724
- * Render as child element instead of div (polymorphic rendering).
725
- * Useful for making cards clickable links or custom interactive elements.
726
- * @default false
727
- * @example
728
- * ```tsx
729
- * <GlassCard asChild>
730
- * <a href="/article">Article Content</a>
731
- * </GlassCard>
732
- * ```
733
- */
734
- readonly asChild?: boolean;
735
- readonly children: ReactNode;
736
- readonly glow?: GlowType;
737
- readonly padding?: PaddingType;
738
- }
739
-
740
- declare type GlassVariant = 'glass' | 'frosted' | 'fluted' | 'crystal';
741
-
742
- /**
743
- * GlassCard CVA Variants
744
- * Extracted for Fast Refresh compatibility
745
- */
746
- declare type GlowType = 'blue' | 'violet' | 'cyan' | null;
747
-
748
- export declare const HeaderBrandingGlass: ForwardRefExoticComponent<HeaderBrandingGlassProps & RefAttributes<HTMLDivElement>>;
749
-
750
- declare interface HeaderBrandingGlassProps extends HTMLAttributes<HTMLDivElement> {
751
- /** Logo icon component */
752
- readonly logoIcon: LucideIcon;
753
- /** Main title */
754
- readonly title: string;
755
- /** Subtitle (hidden on mobile) */
756
- readonly subtitle?: string;
757
- /** Logo click handler */
758
- readonly onLogoClick?: () => void;
759
- /** Logo aria label */
760
- readonly logoAriaLabel?: string;
761
- }
762
-
763
- export declare const HeaderNavGlass: ForwardRefExoticComponent<HeaderNavGlassProps & RefAttributes<HTMLElement>>;
764
-
765
- declare interface HeaderNavGlassProps extends React.HTMLAttributes<HTMLElement> {
766
- readonly username?: string;
767
- readonly onSearch?: (value: string) => void;
768
- readonly onThemeToggle?: () => void;
769
- }
770
-
771
- export declare const IconButtonGlass: ForwardRefExoticComponent<IconButtonGlassProps & RefAttributes<HTMLButtonElement>>;
772
-
773
- declare interface IconButtonGlassProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof iconButtonVariants> {
774
- /** Lucide icon component */
775
- readonly icon: LucideIcon;
776
- /** Icon size in pixels (default: 20) */
777
- readonly iconSize?: number;
778
- /** Accessible label for screen readers */
779
- readonly 'aria-label': string;
780
- }
781
-
782
- declare const iconButtonVariants: (props?: ({
783
- size?: "sm" | "md" | "lg" | "touch" | null | undefined;
784
- variant?: "ghost" | "subtle" | "gradient" | null | undefined;
785
- } & ClassProp) | undefined) => string;
786
-
787
- export declare const InputGlass: ForwardRefExoticComponent<InputGlassProps & RefAttributes<HTMLInputElement>>;
788
-
789
- /**
790
- * Props for the InputGlass component
791
- *
792
- * A glass-themed input field with labels, validation states, and icon support.
793
- * Features focus glow effects and theme-aware styling.
794
- *
795
- * @accessibility
796
- * - **Keyboard Navigation:** Full keyboard support with native `<input>` element, standard tab navigation
797
- * - **Focus Management:** Visible focus ring using `--focus-glow` CSS variable (WCAG 2.4.7)
798
- * - **Screen Readers:** Semantic `<label>` elements properly associated via `htmlFor`, error/success messages announced with `aria-describedby`
799
- * - **Error State:** Red border and error message displayed below input, programmatically associated for screen readers
800
- * - **Success State:** Green border and success message displayed below input, programmatically associated for screen readers
801
- * - **Touch Targets:** Minimum 44x44px touch target on mobile devices (WCAG 2.5.5)
802
- * - **Color Contrast:** All text meets WCAG AA contrast ratio 4.5:1 minimum against backgrounds
803
- * - **Motion:** Icon color transitions respect `prefers-reduced-motion` settings
804
- *
805
- * @example
806
- * ```tsx
807
- * // Basic input with label
808
- * <InputGlass label="Email" placeholder="you@example.com" />
809
- *
810
- * // With aria-describedby for additional context
811
- * <InputGlass
812
- * label="Username"
813
- * placeholder="Enter username"
814
- * aria-describedby="username-help"
815
- * />
816
- * <span id="username-help">Must be 3-20 characters</span>
817
- *
818
- * // With validation states (automatically announced to screen readers)
819
- * <InputGlass label="Username" error="Username is required" />
820
- * <InputGlass label="Password" success="Strong password" type="password" />
821
- *
822
- * // With icon and accessible label
823
- * <InputGlass
824
- * icon={Search}
825
- * placeholder="Search..."
826
- * aria-label="Search products"
827
- * />
828
- * <InputGlass icon={Mail} iconPosition="right" type="email" />
829
- *
830
- * // Disabled state (automatically announced)
831
- * <InputGlass label="Email" disabled value="locked@example.com" />
832
- *
833
- * // Form integration with accessible error handling
834
- * <form onSubmit={handleSubmit}>
835
- * <InputGlass
836
- * label="Email"
837
- * type="email"
838
- * required
839
- * error={errors.email}
840
- * aria-invalid={!!errors.email}
841
- * />
842
- * <InputGlass
843
- * label="Password"
844
- * type="password"
845
- * icon={Lock}
846
- * error={errors.password}
847
- * />
848
- * <ButtonGlass type="submit">Sign In</ButtonGlass>
849
- * </form>
850
- * ```
851
- */
852
- declare interface InputGlassProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof inputVariants> {
853
- /**
854
- * Label text displayed above the input field
855
- */
856
- readonly label?: string;
857
- /**
858
- * Error message to display below the input (red styling)
859
- */
860
- readonly error?: string;
861
- /**
862
- * Success message to display below the input (green styling)
863
- */
864
- readonly success?: string;
865
- /**
866
- * Icon component from lucide-react to display
867
- * @example icon={Search}
868
- */
869
- readonly icon?: LucideIcon;
870
- /**
871
- * Position of the icon relative to input text
872
- * @default "left"
873
- */
874
- readonly iconPosition?: 'left' | 'right';
875
- /**
876
- * @deprecated Use `size` prop instead. Will be removed in v4.0
877
- * @default "md"
878
- */
879
- readonly inputSize?: 'sm' | 'md' | 'lg';
880
- }
881
-
882
- /**
883
- * InputGlass CVA Variants
884
- * Extracted for Fast Refresh compatibility
885
- */
886
- declare type InputGlassSize = 'sm' | 'md' | 'lg';
887
-
888
- declare const inputVariants: (props?: ({
889
- size?: "sm" | "md" | "lg" | null | undefined;
890
- } & ClassProp) | undefined) => string;
891
-
892
- /**
893
- * InteractiveCard component
894
- *
895
- * Provides consistent hover animations and glass effects for card components.
896
- * Replaces ~80 lines of duplicated hover state management across 4+ components.
897
- *
898
- * @example
899
- * ```tsx
900
- * // Basic usage
901
- * <InteractiveCard>
902
- * <h3>Card Title</h3>
903
- * <p>Card content</p>
904
- * </InteractiveCard>
905
- *
906
- * // With hover effects
907
- * <InteractiveCard
908
- * hoverLift
909
- * hoverGlow="var(--glow-primary)"
910
- * hoverBg="var(--card-hover-bg)"
911
- * hoverBorderColor="var(--card-hover-border)"
912
- * >
913
- * <MetricContent />
914
- * </InteractiveCard>
915
- *
916
- * // Custom blur and rounding
917
- * <InteractiveCard
918
- * blur="md"
919
- * rounded="rounded-3xl"
920
- * baseBg="var(--metric-success-bg)"
921
- * >
922
- * <StatusCard />
923
- * </InteractiveCard>
924
- * ```
925
- */
926
- export declare const InteractiveCard: ForwardRefExoticComponent<InteractiveCardProps & RefAttributes<HTMLDivElement>>;
927
-
928
- /**
929
- * Props for the InteractiveCard component
930
- */
931
- declare interface InteractiveCardProps extends HTMLAttributes<HTMLDivElement> {
932
- /**
933
- * Enable hover lift effect (translateY -2px)
934
- * @default true
935
- */
936
- hoverLift?: boolean;
937
- /**
938
- * CSS variable for hover glow effect
939
- * @example 'var(--glow-primary)'
940
- */
941
- hoverGlow?: string;
942
- /**
943
- * CSS variable for hover background
944
- * @example 'var(--card-hover-bg)'
945
- */
946
- hoverBg?: string;
947
- /**
948
- * CSS variable for base background
949
- * @default 'var(--card-bg)'
950
- */
951
- baseBg?: string;
952
- /**
953
- * CSS variable for border color
954
- * @default 'var(--card-border)'
955
- */
956
- borderColor?: string;
957
- /**
958
- * CSS variable for hover border color
959
- */
960
- hoverBorderColor?: string;
961
- /**
962
- * Blur level for glass effect
963
- * @default 'sm'
964
- */
965
- blur?: 'sm' | 'md' | 'lg' | 'xl';
966
- /**
967
- * Disable all hover interactions
968
- * @default false
969
- */
970
- disabled?: boolean;
971
- /**
972
- * Border radius class
973
- * @default 'rounded-2xl'
974
- */
975
- rounded?: 'rounded-xl' | 'rounded-2xl' | 'rounded-3xl';
976
- /**
977
- * Transition speed
978
- * @default 'var(--transition-slow)'
979
- */
980
- transition?: string;
981
- }
982
-
983
- export declare const LanguageBarGlass: ForwardRefExoticComponent<LanguageBarGlassProps & RefAttributes<HTMLDivElement>>;
984
-
985
- declare interface LanguageBarGlassProps extends React.HTMLAttributes<HTMLDivElement> {
986
- readonly languages: readonly LanguageData[];
987
- readonly showLegend?: boolean;
988
- }
989
-
990
- declare interface LanguageData {
991
- readonly name: string;
992
- readonly percent: number;
993
- /**
994
- * Custom color for the language segment.
995
- * Accepts any valid CSS color value:
996
- * - OKLCH (recommended): `oklch(66.6% 0.159 303)`
997
- * - Hex: `#3b82f6`
998
- * - RGB: `rgb(59, 130, 246)`
999
- * - HSL: `hsl(221, 83%, 53%)`
1000
- *
1001
- * **Note:** CSS variables like `var(--oklch-blue-500)` may not work if they're
1002
- * tree-shaken out in production builds. Use direct color values instead.
1003
- *
1004
- * If not provided, falls back to default language colors defined in `defaultLangColors`.
1005
- */
1006
- readonly color?: string;
1007
- }
1008
-
1009
- export declare const MetricCardGlass: ForwardRefExoticComponent<MetricCardGlassProps & RefAttributes<HTMLDivElement>>;
1010
-
1011
- /**
1012
- * MetricCardGlass Props
1013
- *
1014
- * Follows shadcn/ui Card pattern with Glass UI extensions.
1015
- * Compatible with AlertGlass, BadgeGlass, ButtonGlass variant system.
1016
- *
1017
- * @example Simple usage (shadcn/ui style)
1018
- * ```tsx
1019
- * <MetricCardGlass
1020
- * title="Total Revenue"
1021
- * value="$45,231"
1022
- * change="+12.5%"
1023
- * variant="success"
1024
- * icon={<DollarSign />}
1025
- * />
1026
- * ```
1027
- *
1028
- * @example With progress and sparkline (Glass UI extensions)
1029
- * ```tsx
1030
- * <MetricCardGlass
1031
- * title="Completion Rate"
1032
- * value="85%"
1033
- * description="Project milestones"
1034
- * change={{ value: 5.2, direction: 'up', period: 'vs last month' }}
1035
- * variant="success"
1036
- * progress={85}
1037
- * sparklineData={[70, 75, 78, 80, 82, 84, 85]}
1038
- * showProgress
1039
- * showSparkline
1040
- * />
1041
- * ```
1042
- */
1043
- declare interface MetricCardGlassProps extends React.HTMLAttributes<HTMLDivElement> {
1044
- /** Metric title (shadcn/ui Card: title) */
1045
- readonly title: string;
1046
- /** Display value (shadcn/ui Card: value) */
1047
- readonly value: string | number;
1048
- /** Optional description/subtitle (shadcn/ui Card: description) */
1049
- readonly description?: string;
1050
- /** Change indicator (shadcn/ui: change). Can be string "+12.5%" or detailed object */
1051
- readonly change?: string | number | MetricChange;
1052
- /** Semantic variant (follows AlertGlass, BadgeGlass pattern) */
1053
- readonly variant?: MetricVariant;
1054
- /** Icon to display */
1055
- readonly icon?: ReactNode;
1056
- /** Data for sparkline visualization */
1057
- readonly sparklineData?: readonly number[];
1058
- /** Show sparkline chart */
1059
- readonly showSparkline?: boolean;
1060
- /** Show progress bar (requires progress prop) */
1061
- readonly showProgress?: boolean;
1062
- /** Progress percentage (0-100, separate from display value) */
1063
- readonly progress?: number;
1064
- /** @deprecated Use `title` instead. Will be removed in v2.0 */
1065
- readonly label?: string;
1066
- /** @deprecated Use `variant` instead. Mapping: emerald→success, amber→warning, blue→default, red→destructive. Will be removed in v2.0 */
1067
- readonly color?: MetricColor;
1068
- /** @deprecated Format value before passing. Use `value` prop directly. Will be removed in v2.0 */
1069
- readonly valueFormatter?: (value: number) => string;
1070
- /** @deprecated Use `description` instead. Will be removed in v2.0 */
1071
- readonly valueSuffix?: string;
1072
- /** @deprecated Use `change` instead. Will be removed in v2.0 */
1073
- readonly trend?: MetricTrend;
1074
- }
1075
-
1076
- /**
1077
- * Detailed change object with trend information
1078
- */
1079
- declare interface MetricChange {
1080
- /** Change value (e.g., 12.5 for +12.5%) */
1081
- readonly value: number;
1082
- /** Trend direction (auto-detected from value if not provided) */
1083
- readonly direction?: TrendDirection;
1084
- /** Optional period label (e.g., "vs last month") */
1085
- readonly period?: string;
1086
- }
1087
-
1088
- /** @deprecated Use MetricVariant instead */
1089
- declare type MetricColor = 'emerald' | 'amber' | 'blue' | 'red';
1090
-
1091
- declare interface MetricData {
1092
- readonly title: string;
1093
- readonly value: string | number;
1094
- readonly variant: MetricVariant;
1095
- }
1096
-
1097
- declare interface MetricData_2 {
1098
- readonly title: string;
1099
- readonly value: string | number;
1100
- readonly variant: MetricVariant;
1101
- }
1102
-
1103
- export declare const MetricsGridGlass: ForwardRefExoticComponent<MetricsGridGlassProps & RefAttributes<HTMLDivElement>>;
1104
-
1105
- declare interface MetricsGridGlassProps extends HTMLAttributes<HTMLDivElement> {
1106
- /** Array of metrics to display */
1107
- readonly metrics: readonly MetricData[];
1108
- /** Number of columns on desktop (1-6) */
1109
- readonly columns?: 1 | 2 | 3 | 4 | 5 | 6;
1110
- /** Gap size */
1111
- readonly gap?: 'sm' | 'md' | 'lg';
1112
- }
1113
-
1114
- /** @deprecated Use MetricChange instead */
1115
- declare interface MetricTrend {
1116
- readonly value: number;
1117
- readonly direction: TrendDirection;
1118
- readonly label?: string;
1119
- }
1120
-
1121
- /**
1122
- * Metric variant system (following AlertGlass, BadgeGlass pattern)
1123
- * - default: Blue (primary metric)
1124
- * - secondary: Gray (neutral metric)
1125
- * - success: Green (positive metric)
1126
- * - warning: Yellow (caution metric)
1127
- * - destructive: Red (negative metric)
1128
- */
1129
- declare type MetricVariant = 'default' | 'secondary' | 'success' | 'warning' | 'destructive';
1130
-
1131
- /**
1132
- * ModalGlass.Body - Main content area
1133
- *
1134
- * Note: shadcn/ui Dialog doesn't have DialogBody, but we keep it for convenience.
1135
- */
1136
- declare function ModalBody({ className, ...props }: React_2.ComponentProps<'div'>): JSX.Element;
1137
-
1138
- /**
1139
- * ModalGlass.Close - Closes the modal when clicked
1140
- *
1141
- * Use `asChild` to render as the child element.
1142
- *
1143
- * @example
1144
- * ```tsx
1145
- * <ModalGlass.Close asChild>
1146
- * <ButtonGlass variant="ghost">Cancel</ButtonGlass>
1147
- * </ModalGlass.Close>
1148
- * ```
1149
- */
1150
- declare function ModalClose({ ...props }: React_2.ComponentProps<typeof DialogPrimitive.Close>): JSX.Element;
1151
-
1152
- declare interface ModalContentProps extends React_2.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {
1153
- /** Show close button in top-right corner */
1154
- showCloseButton?: boolean;
1155
- /** Override size from Root */
1156
- size?: ModalSize;
1157
- }
1158
-
1159
- /**
1160
- * ModalGlass.Footer - Footer section with flex layout for actions
1161
- */
1162
- declare function ModalFooter({ className, ...props }: React_2.ComponentProps<'div'>): JSX.Element;
1163
-
1164
- /**
1165
- * ModalGlass - Glass-themed Dialog with shadcn/ui API compatibility
1166
- *
1167
- * Built on @radix-ui/react-dialog for full accessibility support.
1168
- *
1169
- * @example Uncontrolled (with Trigger)
1170
- * ```tsx
1171
- * <ModalGlass.Root>
1172
- * <ModalGlass.Trigger asChild>
1173
- * <ButtonGlass>Open</ButtonGlass>
1174
- * </ModalGlass.Trigger>
1175
- * <ModalGlass.Content>
1176
- * <ModalGlass.Header>
1177
- * <ModalGlass.Title>Title</ModalGlass.Title>
1178
- * </ModalGlass.Header>
1179
- * <ModalGlass.Body>Content</ModalGlass.Body>
1180
- * <ModalGlass.Footer>
1181
- * <ModalGlass.Close asChild>
1182
- * <ButtonGlass>Close</ButtonGlass>
1183
- * </ModalGlass.Close>
1184
- * </ModalGlass.Footer>
1185
- * </ModalGlass.Content>
1186
- * </ModalGlass.Root>
1187
- * ```
1188
- *
1189
- * @example Controlled
1190
- * ```tsx
1191
- * <ModalGlass.Root open={open} onOpenChange={setOpen}>
1192
- * <ModalGlass.Content showCloseButton={false}>
1193
- * <ModalGlass.Header>
1194
- * <ModalGlass.Title>Confirm</ModalGlass.Title>
1195
- * </ModalGlass.Header>
1196
- * <ModalGlass.Footer>
1197
- * <ButtonGlass onClick={() => setOpen(false)}>OK</ButtonGlass>
1198
- * </ModalGlass.Footer>
1199
- * </ModalGlass.Content>
1200
- * </ModalGlass.Root>
1201
- * ```
1202
- */
1203
- export declare const ModalGlass: {
1204
- Root: typeof ModalRoot;
1205
- Trigger: typeof ModalTrigger;
1206
- Portal: typeof ModalPortal;
1207
- Overlay: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React_2.RefAttributes<HTMLDivElement>, "ref"> & React_2.RefAttributes<HTMLDivElement>>;
1208
- Content: React_2.ForwardRefExoticComponent<ModalContentProps & React_2.RefAttributes<HTMLDivElement>>;
1209
- Header: typeof ModalHeader;
1210
- Body: typeof ModalBody;
1211
- Footer: typeof ModalFooter;
1212
- Title: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React_2.RefAttributes<HTMLHeadingElement>, "ref"> & React_2.RefAttributes<HTMLHeadingElement>>;
1213
- Description: React_2.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React_2.RefAttributes<HTMLParagraphElement>, "ref"> & React_2.RefAttributes<HTMLParagraphElement>>;
1214
- Close: typeof ModalClose;
1215
- };
1216
-
1217
- /**
1218
- * ModalGlass.Header - Header section with flex layout
1219
- */
1220
- declare function ModalHeader({ className, ...props }: React_2.ComponentProps<'div'>): JSX.Element;
1221
-
1222
- /**
1223
- * ModalGlass.Portal - Renders children into a portal
1224
- */
1225
- declare function ModalPortal({ ...props }: React_2.ComponentProps<typeof DialogPrimitive.Portal>): JSX.Element;
1226
-
1227
- /**
1228
- * ModalGlass.Root - Dialog root component
1229
- *
1230
- * Supports both controlled (open/onOpenChange) and uncontrolled (with Trigger) modes.
1231
- */
1232
- declare function ModalRoot({ size, children, ...props }: ModalRootProps): JSX.Element;
1233
-
1234
- declare interface ModalRootProps extends React_2.ComponentProps<typeof DialogPrimitive.Root> {
1235
- /** Size variant for the modal */
1236
- size?: ModalSize;
1237
- }
1238
-
1239
- /**
1240
- * ModalGlass CVA Variants
1241
- * Extracted for Fast Refresh compatibility
1242
- */
1243
- declare type ModalSize = 'sm' | 'md' | 'lg' | 'xl' | 'full';
1244
-
1245
- /**
1246
- * ModalGlass.Trigger - Opens the modal when clicked
1247
- *
1248
- * Use `asChild` to render as the child element instead of a button.
1249
- */
1250
- declare function ModalTrigger({ ...props }: React_2.ComponentProps<typeof DialogPrimitive.Trigger>): JSX.Element;
1251
-
1252
- export declare const NotificationGlass: ForwardRefExoticComponent<NotificationGlassProps & RefAttributes<HTMLDivElement>>;
1253
-
1254
- declare interface NotificationGlassProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'title' | 'style'>, VariantProps<typeof notificationVariants> {
1255
- readonly title: string;
1256
- readonly message: string;
1257
- /** Notification variant (shadcn/ui compatible) */
1258
- readonly variant?: 'default' | 'destructive' | 'success' | 'warning';
1259
- /** @deprecated Use variant prop instead. Will be removed in next major version. */
1260
- readonly type?: NotificationType;
1261
- readonly onClose: () => void;
1262
- }
1263
-
1264
- /**
1265
- * NotificationGlass CVA Variants
1266
- * Extracted for Fast Refresh compatibility
1267
- */
1268
- declare type NotificationType = 'info' | 'success' | 'warning' | 'error';
1269
-
1270
- declare const notificationVariants: (props?: ({
1271
- type?: "success" | "warning" | "info" | "error" | null | undefined;
1272
- } & ClassProp) | undefined) => string;
1273
-
1274
- declare type OwnershipFilter = 'your' | 'contrib' | 'all';
1275
-
1276
- declare type PaddingType = 'none' | 'compact' | 'default' | 'featured';
1277
-
1278
- export declare const PopoverGlass: React_2.FC<PopoverPrimitive.PopoverProps>;
1279
-
1280
- /**
1281
- * ProfileAvatarGlass - Large profile avatar with bold styling
1282
- *
1283
- * Built on top of the same CSS variables as AvatarGlass but with
1284
- * profile-specific sizing and bold font weight.
1285
- *
1286
- * @example
1287
- * ```tsx
1288
- * <ProfileAvatarGlass initials="JD" size="lg" glowing />
1289
- * <ProfileAvatarGlass initials="AS" status="online" />
1290
- * ```
1291
- */
1292
- export declare const ProfileAvatarGlass: ForwardRefExoticComponent<ProfileAvatarGlassProps & RefAttributes<HTMLDivElement>>;
1293
-
1294
- declare interface ProfileAvatarGlassProps extends React.HTMLAttributes<HTMLDivElement> {
1295
- /** User initials to display */
1296
- readonly initials: string;
1297
- /** Size variant (profile-specific sizing - larger than AvatarGlass) */
1298
- readonly size?: ProfileAvatarSize;
1299
- /** Optional status indicator */
1300
- readonly status?: AvatarStatus;
1301
- /** Enable pulsing glow animation */
1302
- readonly glowing?: boolean;
1303
- }
1304
-
1305
- declare type ProfileAvatarSize = 'sm' | 'md' | 'lg' | 'xl';
1306
-
1307
- export declare const ProfileHeaderGlass: ForwardRefExoticComponent<ProfileHeaderGlassProps & RefAttributes<HTMLDivElement>>;
1308
-
1309
- declare interface ProfileHeaderGlassProps extends React.HTMLAttributes<HTMLDivElement> {
1310
- readonly name?: string;
1311
- readonly username?: string;
1312
- readonly joinDate?: string;
1313
- readonly stats?: ProfileStats;
1314
- readonly languages?: readonly LanguageData[];
1315
- readonly onAIGenerate?: () => void;
1316
- }
1317
-
1318
- declare interface ProfileStats {
1319
- readonly repos?: number;
1320
- readonly followers?: number;
1321
- readonly following?: number;
1322
- }
1323
-
1324
- export declare const ProgressGlass: ForwardRefExoticComponent<ProgressGlassProps & RefAttributes<HTMLDivElement>>;
1325
-
1326
- declare interface ProgressGlassProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'style'>, VariantProps<typeof progressSizes> {
1327
- readonly value: number;
1328
- readonly gradient?: ProgressGradient;
1329
- readonly showLabel?: boolean;
1330
- }
1331
-
1332
- declare type ProgressGradient = 'violet' | 'blue' | 'cyan' | 'amber' | 'emerald' | 'rose';
1333
-
1334
- declare const progressSizes: (props?: ({
1335
- size?: "sm" | "md" | "lg" | "xl" | null | undefined;
1336
- } & ClassProp) | undefined) => string;
1337
-
1338
- export declare const ProjectsListGlass: ForwardRefExoticComponent<ProjectsListGlassProps & RefAttributes<HTMLDivElement>>;
1339
-
1340
- declare interface ProjectsListGlassProps extends React.HTMLAttributes<HTMLDivElement> {
1341
- /** List of repositories to display */
1342
- readonly repositories: readonly Repository[];
1343
- /** Show only flagged (non-green) repositories */
1344
- readonly showFlaggedOnly?: boolean;
1345
- /** Filter by creation year */
1346
- readonly selectedYear?: number | null;
1347
- /** Callback to clear all filters */
1348
- readonly onClearFilters?: () => void;
1349
- /** Custom title (overrides auto-generated) */
1350
- readonly title?: string;
1351
- /** Current ownership filter */
1352
- readonly ownershipFilter?: OwnershipFilter;
1353
- /** Callback when ownership filter changes */
1354
- readonly onOwnershipChange?: (filter: OwnershipFilter) => void;
1355
- /** Current sort field */
1356
- readonly sortBy?: SortField;
1357
- /** Current sort order */
1358
- readonly sortOrder?: SortOrder;
1359
- /** Callback when sort changes */
1360
- readonly onSortChange?: (field: SortField, order: SortOrder) => void;
1361
- /** Show header controls (sort dropdown, ownership filter). Default: true when callbacks provided */
1362
- readonly showControls?: boolean;
1363
- }
1364
-
1365
- export declare const RainbowProgressGlass: ForwardRefExoticComponent<RainbowProgressGlassProps & RefAttributes<HTMLDivElement>>;
1366
-
1367
- declare interface RainbowProgressGlassProps extends React.HTMLAttributes<HTMLDivElement> {
1368
- readonly value: number;
1369
- readonly size?: RainbowProgressSize;
1370
- readonly showGlow?: boolean;
1371
- }
1372
-
1373
- declare type RainbowProgressSize = 'sm' | 'md' | 'lg' | 'xl';
1374
-
1375
- declare interface Repository {
1376
- readonly name: string;
1377
- readonly languages: string;
1378
- readonly commits: number;
1379
- readonly contribution: number;
1380
- readonly stars?: number;
1381
- readonly flagType?: RepositoryFlagType;
1382
- readonly issues?: readonly string[];
1383
- readonly createdYear?: number;
1384
- /** Ownership type for Your/Contrib filtering */
1385
- readonly ownership?: 'your' | 'contrib';
1386
- }
1387
-
1388
- export declare const RepositoryCardGlass: ForwardRefExoticComponent<RepositoryCardGlassProps & RefAttributes<HTMLDivElement>>;
1389
-
1390
- declare interface RepositoryCardGlassProps extends React.HTMLAttributes<HTMLDivElement> {
1391
- readonly name: string;
1392
- readonly languages: string;
1393
- readonly commits: number;
1394
- readonly contribution: number;
1395
- readonly stars?: number;
1396
- readonly flagType?: RepositoryFlagType;
1397
- readonly issues?: readonly string[];
1398
- readonly expanded?: boolean;
1399
- readonly onToggle?: () => void;
1400
- readonly onGitHubClick?: () => void;
1401
- readonly onAIAnalysisClick?: () => void;
1402
- }
1403
-
1404
- declare type RepositoryFlagType = 'green' | 'yellow' | 'red';
1405
-
1406
- declare type RepositoryFlagType_2 = 'green' | 'yellow' | 'red';
1407
-
1408
- export declare const RepositoryHeaderGlass: ForwardRefExoticComponent<RepositoryHeaderGlassProps & RefAttributes<HTMLDivElement>>;
1409
-
1410
- declare interface RepositoryHeaderGlassProps extends HTMLAttributes<HTMLDivElement> {
1411
- /** Repository name */
1412
- readonly name: string;
1413
- /** Flag/status type */
1414
- readonly flagType?: RepositoryFlagType_2;
1415
- /** Star count */
1416
- readonly stars?: number;
1417
- /** Is expanded state */
1418
- readonly expanded?: boolean;
1419
- /** Abbreviated star count for mobile (1.2k instead of 1234) */
1420
- readonly abbreviatedStars?: boolean;
1421
- }
1422
-
1423
- export declare const RepositoryMetadataGlass: ForwardRefExoticComponent<RepositoryMetadataGlassProps & RefAttributes<HTMLDivElement>>;
1424
-
1425
- declare interface RepositoryMetadataGlassProps extends HTMLAttributes<HTMLDivElement> {
1426
- /** Programming languages used */
1427
- readonly languages: string;
1428
- /** Number of commits */
1429
- readonly commits: number;
1430
- /** Contribution percentage */
1431
- readonly contribution: number;
1432
- /** Stacked layout for mobile */
1433
- readonly stacked?: boolean;
1434
- }
1435
-
1436
- export declare const SearchBoxGlass: ForwardRefExoticComponent<SearchBoxGlassProps & RefAttributes<HTMLInputElement>>;
1437
-
1438
- declare interface SearchBoxGlassProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'onSubmit' | 'onChange'> {
1439
- /** Callback when search is submitted (Enter key or button click) */
1440
- readonly onSubmit?: (value: string) => void;
1441
- /** Initial search value */
1442
- readonly defaultValue?: string;
1443
- /** Controlled value */
1444
- readonly value?: string;
1445
- /** Controlled change handler */
1446
- readonly onChange?: (value: string) => void;
1447
- /** Compact variant for mobile (icon only button) */
1448
- readonly variant?: 'default' | 'compact';
1449
- /** Input width class (default: w-48) */
1450
- readonly inputWidth?: string;
1451
- }
1452
-
1453
- export declare const SegmentedControlGlass: ForwardRefExoticComponent<SegmentedControlGlassProps & RefAttributes<HTMLDivElement>>;
1454
-
1455
- declare interface SegmentedControlGlassProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'onChange'> {
1456
- readonly options: readonly SegmentOption[];
1457
- readonly value: string;
1458
- readonly onChange?: (value: string) => void;
1459
- }
1460
-
1461
- declare interface SegmentOption {
1462
- readonly value: string;
1463
- readonly label: string;
1464
- }
1465
-
1466
- export declare const SkeletonGlass: ForwardRefExoticComponent<SkeletonGlassProps & RefAttributes<HTMLDivElement>>;
1467
-
1468
- declare interface SkeletonGlassProps extends React.HTMLAttributes<HTMLDivElement>, VariantProps<typeof skeletonVariants> {
1469
- readonly width?: string | number;
1470
- readonly height?: string | number;
1471
- }
1472
-
1473
- declare const skeletonVariants: (props?: ({
1474
- variant?: "title" | "text" | "avatar" | "thumbnail" | "card" | null | undefined;
1475
- } & ClassProp) | undefined) => string;
1476
-
1477
- export declare const SliderGlass: ForwardRefExoticComponent<SliderGlassProps & RefAttributes<HTMLSpanElement>>;
1478
-
1479
- declare interface SliderGlassProps extends Omit<ComponentPropsWithoutRef<typeof SliderPrimitive.Root>, 'value' | 'defaultValue' | 'onValueChange'> {
1480
- /**
1481
- * Controlled value (shadcn/ui compatible - array for range support)
1482
- */
1483
- readonly value?: number[];
1484
- /**
1485
- * Default value for uncontrolled usage (array for range support)
1486
- */
1487
- readonly defaultValue?: number[];
1488
- /**
1489
- * Callback when value changes (shadcn/ui compatible)
1490
- */
1491
- readonly onValueChange?: (value: number[]) => void;
1492
- /**
1493
- * Callback when interaction ends (mouse up / touch end)
1494
- */
1495
- readonly onValueCommit?: (value: number[]) => void;
1496
- /**
1497
- * Show current value(s) next to label
1498
- */
1499
- readonly showValue?: boolean;
1500
- /**
1501
- * Optional label text
1502
- */
1503
- readonly label?: string;
1504
- /**
1505
- * Error message to display
1506
- */
1507
- readonly error?: string;
1508
- /**
1509
- * Success message to display
1510
- */
1511
- readonly success?: string;
1512
- }
1513
-
1514
- export declare const SortDropdownGlass: React_2.ForwardRefExoticComponent<SortDropdownGlassProps & React_2.RefAttributes<HTMLDivElement>>;
1515
-
1516
- declare interface SortDropdownGlassProps extends Omit<React_2.HTMLAttributes<HTMLDivElement>, 'onChange'> {
1517
- /** Current sort field */
1518
- readonly sortBy: SortField;
1519
- /** Current sort order */
1520
- readonly sortOrder: SortOrder;
1521
- /** Callback when sort changes */
1522
- readonly onSortChange: (field: SortField, order: SortOrder) => void;
1523
- /** Available sort options (default: all) */
1524
- readonly options?: readonly SortField[];
1525
- /** Compact mode for mobile */
1526
- readonly compact?: boolean;
1527
- }
1528
-
1529
- declare type SortField = 'commits' | 'stars' | 'name' | 'contribution';
1530
-
1531
- declare type SortOrder = 'asc' | 'desc';
1532
-
1533
- export declare const StatItemGlass: ForwardRefExoticComponent<StatItemGlassProps & RefAttributes<HTMLSpanElement>>;
1534
-
1535
- declare interface StatItemGlassProps extends HTMLAttributes<HTMLSpanElement>, VariantProps<typeof statItemVariants> {
1536
- /** Lucide icon component */
1537
- readonly icon: LucideIcon;
1538
- /** Stat value (number or formatted string) */
1539
- readonly value: number | string;
1540
- /** Stat label */
1541
- readonly label: string;
1542
- /** Icon size in pixels */
1543
- readonly iconSize?: number;
1544
- /** Abbreviated format for mobile (1.2k instead of 1234) */
1545
- readonly abbreviated?: boolean;
1546
- }
1547
-
1548
- declare const statItemVariants: (props?: ({
1549
- size?: "sm" | "md" | "lg" | null | undefined;
1550
- layout?: "horizontal" | "vertical" | null | undefined;
1551
- } & ClassProp) | undefined) => string;
1552
-
1553
- export declare const StatusIndicatorGlass: ForwardRefExoticComponent<StatusIndicatorGlassProps & RefAttributes<HTMLDivElement>>;
1554
-
1555
- declare interface StatusIndicatorGlassProps extends React.HTMLAttributes<HTMLDivElement> {
1556
- readonly type?: StatusType;
1557
- readonly size?: StatusSize;
1558
- }
1559
-
1560
- declare type StatusSize = "normal" | "large";
1561
-
1562
- declare type StatusType = "green" | "yellow" | "red";
1563
-
1564
- declare interface TabsContentProps {
1565
- /** Value of the tab this content belongs to */
1566
- value: string;
1567
- /** Content to display when tab is active */
1568
- children: ReactNode;
1569
- /** Optional className */
1570
- className?: string;
1571
- }
1572
-
1573
- /**
1574
- * TabsGlass - Compound Component API
1575
- *
1576
- * @example
1577
- * ```tsx
1578
- * <TabsGlass.Root value={activeTab} onValueChange={setActiveTab}>
1579
- * <TabsGlass.List>
1580
- * <TabsGlass.Trigger value="tab1">Overview</TabsGlass.Trigger>
1581
- * <TabsGlass.Trigger value="tab2">Analytics</TabsGlass.Trigger>
1582
- * </TabsGlass.List>
1583
- * <TabsGlass.Content value="tab1">
1584
- * <p>Overview content</p>
1585
- * </TabsGlass.Content>
1586
- * <TabsGlass.Content value="tab2">
1587
- * <p>Analytics content</p>
1588
- * </TabsGlass.Content>
1589
- * </TabsGlass.Root>
1590
- * ```
1591
- *
1592
- * @since v1.0.0 - Legacy API removed (tabs/activeTab/onChange props)
1593
- */
1594
- export declare const TabsGlass: {
1595
- Root: FC<TabsRootProps>;
1596
- List: ForwardRefExoticComponent<TabsListProps & RefAttributes<HTMLDivElement>>;
1597
- Trigger: ForwardRefExoticComponent<TabsTriggerProps & RefAttributes<HTMLButtonElement>>;
1598
- Content: FC<TabsContentProps>;
1599
- };
1600
-
1601
- declare interface TabsListProps extends React.HTMLAttributes<HTMLDivElement> {
1602
- children: ReactNode;
1603
- className?: string;
1604
- }
1605
-
1606
- /**
1607
- * Props for TabsGlass.Root component
1608
- *
1609
- * Root component that manages tab state and provides context for child components.
1610
- * Features accessible keyboard navigation and ARIA attributes.
1611
- *
1612
- * @accessibility
1613
- * - **Keyboard Navigation:** Arrow keys navigate between tabs, Tab moves to tab panel content (WCAG 2.1.1)
1614
- * - **Focus Management:** Visible focus ring on active tab using `--focus-glow` CSS variable (WCAG 2.4.7)
1615
- * - **Screen Readers:** Uses `role="tablist"`, `role="tab"`, `role="tabpanel"` for proper tab semantics (WCAG 4.1.3)
1616
- * - **ARIA Attributes:** Tabs marked with `aria-selected`, panels with `aria-hidden` for state announcement
1617
- * - **Active State:** Visual indicator (underline) plus color change for multi-modal feedback
1618
- * - **Touch Targets:** Tab triggers meet minimum 44x44px touch target (WCAG 2.5.5)
1619
- * - **Color Contrast:** Active and inactive tab text meet WCAG AA contrast ratio 4.5:1
1620
- * - **Motion:** Transitions and indicator animations respect `prefers-reduced-motion` settings
1621
- *
1622
- * @example
1623
- * ```tsx
1624
- * // Basic tabs
1625
- * <TabsGlass.Root value={activeTab} onValueChange={setActiveTab}>
1626
- * <TabsGlass.List>
1627
- * <TabsGlass.Trigger value="overview">Overview</TabsGlass.Trigger>
1628
- * <TabsGlass.Trigger value="analytics">Analytics</TabsGlass.Trigger>
1629
- * <TabsGlass.Trigger value="settings">Settings</TabsGlass.Trigger>
1630
- * </TabsGlass.List>
1631
- * <TabsGlass.Content value="overview">
1632
- * <h2>Overview</h2>
1633
- * <p>Overview content here</p>
1634
- * </TabsGlass.Content>
1635
- * <TabsGlass.Content value="analytics">
1636
- * <h2>Analytics</h2>
1637
- * <p>Analytics content here</p>
1638
- * </TabsGlass.Content>
1639
- * <TabsGlass.Content value="settings">
1640
- * <h2>Settings</h2>
1641
- * <p>Settings content here</p>
1642
- * </TabsGlass.Content>
1643
- * </TabsGlass.Root>
1644
- *
1645
- * // Tabs with icons (ensure accessible labels)
1646
- * <TabsGlass.Root value={activeTab} onValueChange={setActiveTab}>
1647
- * <TabsGlass.List>
1648
- * <TabsGlass.Trigger value="home" aria-label="Home dashboard">
1649
- * <Home className="w-4 h-4" />
1650
- * </TabsGlass.Trigger>
1651
- * <TabsGlass.Trigger value="search" aria-label="Search">
1652
- * <Search className="w-4 h-4" />
1653
- * </TabsGlass.Trigger>
1654
- * </TabsGlass.List>
1655
- * <TabsGlass.Content value="home">Dashboard content</TabsGlass.Content>
1656
- * <TabsGlass.Content value="search">Search content</TabsGlass.Content>
1657
- * </TabsGlass.Root>
1658
- *
1659
- * // Disabled tab (announced to screen readers)
1660
- * <TabsGlass.Root value={activeTab} onValueChange={setActiveTab}>
1661
- * <TabsGlass.List>
1662
- * <TabsGlass.Trigger value="tab1">Available Tab</TabsGlass.Trigger>
1663
- * <TabsGlass.Trigger value="tab2" disabled>
1664
- * Locked Tab
1665
- * </TabsGlass.Trigger>
1666
- * </TabsGlass.List>
1667
- * <TabsGlass.Content value="tab1">Content 1</TabsGlass.Content>
1668
- * </TabsGlass.Root>
1669
- *
1670
- * // Form tabs with proper focus management
1671
- * <TabsGlass.Root value={currentStep} onValueChange={setCurrentStep}>
1672
- * <TabsGlass.List aria-label="Registration steps">
1673
- * <TabsGlass.Trigger value="account">Account Info</TabsGlass.Trigger>
1674
- * <TabsGlass.Trigger value="profile">Profile Details</TabsGlass.Trigger>
1675
- * <TabsGlass.Trigger value="confirm">Confirmation</TabsGlass.Trigger>
1676
- * </TabsGlass.List>
1677
- * <TabsGlass.Content value="account">
1678
- * <InputGlass label="Email" type="email" />
1679
- * </TabsGlass.Content>
1680
- * <TabsGlass.Content value="profile">
1681
- * <InputGlass label="Name" />
1682
- * </TabsGlass.Content>
1683
- * <TabsGlass.Content value="confirm">
1684
- * <p>Review your information</p>
1685
- * </TabsGlass.Content>
1686
- * </TabsGlass.Root>
1687
- * ```
1688
- */
1689
- declare interface TabsRootProps {
1690
- /** Current active tab value */
1691
- value: string;
1692
- /** Callback when tab value changes */
1693
- onValueChange?: (value: string) => void;
1694
- /** Child components */
1695
- children: ReactNode;
1696
- /** Optional className for container */
1697
- className?: string;
1698
- }
1699
-
1700
- declare interface TabsTriggerProps {
1701
- /** Value of this tab */
1702
- value: string;
1703
- /** Tab label/content */
1704
- children: ReactNode;
1705
- /** Optional className */
1706
- className?: string;
1707
- /** Disabled state */
1708
- disabled?: boolean;
1709
- }
1710
-
1711
- export declare const ThemeToggleGlass: ForwardRefExoticComponent<ThemeToggleGlassProps & RefAttributes<HTMLButtonElement>>;
1712
-
1713
- declare interface ThemeToggleGlassProps extends ButtonHTMLAttributes<HTMLButtonElement> {
1714
- /** Custom theme toggle handler (overrides default cycleTheme) */
1715
- readonly onToggle?: () => void;
1716
- /** Icon size in pixels (default: 20) */
1717
- readonly iconSize?: number;
1718
- /** Show icon only (hide label on mobile) */
1719
- readonly iconOnly?: boolean;
1720
- }
1721
-
1722
- export declare const ToggleGlass: ForwardRefExoticComponent<ToggleGlassProps & RefAttributes<HTMLButtonElement>>;
1723
-
1724
- declare interface ToggleGlassProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'defaultValue'>, VariantProps<typeof toggleSizes> {
1725
- /**
1726
- * Controlled pressed state (shadcn/ui compatible)
1727
- */
1728
- readonly pressed?: boolean;
1729
- /**
1730
- * Default pressed state for uncontrolled usage
1731
- */
1732
- readonly defaultPressed?: boolean;
1733
- /**
1734
- * Callback when pressed state changes (shadcn/ui compatible)
1735
- */
1736
- readonly onPressedChange?: (pressed: boolean) => void;
1737
- /**
1738
- * Visual variant (shadcn/ui compatible)
1739
- * @default "default"
1740
- */
1741
- readonly variant?: ToggleGlassVariant;
1742
- /**
1743
- * Optional label text
1744
- */
1745
- readonly label?: string;
1746
- }
1747
-
1748
- /**
1749
- * Toggle variant types (shadcn/ui compatible)
1750
- * - default: Filled toggle with glass effect
1751
- * - outline: Border only toggle
1752
- */
1753
- declare type ToggleGlassVariant = 'default' | 'outline';
1754
-
1755
- declare const toggleSizes: (props?: ({
1756
- size?: "default" | "sm" | "lg" | null | undefined;
1757
- variant?: "default" | "outline" | null | undefined;
1758
- } & ClassProp) | undefined) => string;
1759
-
1760
- export declare const TooltipGlass: typeof TooltipGlassRoot;
1761
-
1762
- /**
1763
- * TooltipGlassRoot - Individual tooltip instance
1764
- * Wraps Radix TooltipPrimitive.Root with auto-included Provider (shadcn/ui pattern)
1765
- */
1766
- declare function TooltipGlassRoot({ ...props }: React_2.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root>): JSX.Element;
1767
-
1768
- /**
1769
- * TouchTarget wrapper component
1770
- *
1771
- * Ensures interactive elements meet accessibility standards for touch devices.
1772
- * Automatically applies minimum dimensions and optional centering.
1773
- *
1774
- * @example
1775
- * ```tsx
1776
- * // Basic usage with default 44px minimum
1777
- * <TouchTarget>
1778
- * <button className="w-8 h-8">×</button>
1779
- * </TouchTarget>
1780
- *
1781
- * // Material Design 48px minimum
1782
- * <TouchTarget minSize={48}>
1783
- * <Checkbox />
1784
- * </TouchTarget>
1785
- *
1786
- * // Custom alignment
1787
- * <TouchTarget center={false} className="justify-start">
1788
- * <IconButton />
1789
- * </TouchTarget>
1790
- * ```
1791
- */
1792
- export declare const TouchTarget: ForwardRefExoticComponent<TouchTargetProps & RefAttributes<HTMLDivElement>>;
1793
-
1794
- /**
1795
- * Props for the TouchTarget component
1796
- */
1797
- declare interface TouchTargetProps extends HTMLAttributes<HTMLDivElement> {
1798
- /**
1799
- * Child element(s) to wrap with touch target
1800
- */
1801
- children: ReactNode;
1802
- /**
1803
- * Minimum touch target size in pixels
1804
- * @default 44 - Apple HIG minimum
1805
- */
1806
- minSize?: 44 | 48;
1807
- /**
1808
- * Center content within touch target
1809
- * @default true
1810
- */
1811
- center?: boolean;
1812
- }
1813
-
1814
- declare type TrendDirection = 'up' | 'down' | 'neutral';
1815
-
1816
- export declare const TrustScoreCardGlass: ForwardRefExoticComponent<TrustScoreCardGlassProps & RefAttributes<HTMLDivElement>>;
1817
-
1818
- declare interface TrustScoreCardGlassProps extends React.HTMLAttributes<HTMLDivElement> {
1819
- readonly score?: number;
1820
- readonly metrics?: readonly MetricData_2[];
1821
- }
1822
-
1823
- export declare const TrustScoreDisplayGlass: ForwardRefExoticComponent<TrustScoreDisplayGlassProps & RefAttributes<HTMLDivElement>>;
1824
-
1825
- declare interface TrustScoreDisplayGlassProps extends HTMLAttributes<HTMLDivElement> {
1826
- /** Score value (0-100) */
1827
- readonly score: number;
1828
- /** Maximum score (default: 100) */
1829
- readonly maxScore?: number;
1830
- /** Title text */
1831
- readonly title?: string;
1832
- /** Show icon */
1833
- readonly showIcon?: boolean;
1834
- /** Size variant */
1835
- readonly size?: 'sm' | 'md' | 'lg';
1836
- }
1837
-
1838
- export declare const UserInfoGlass: ForwardRefExoticComponent<UserInfoGlassProps & RefAttributes<HTMLDivElement>>;
1839
-
1840
- declare interface UserInfoGlassProps extends HTMLAttributes<HTMLDivElement> {
1841
- /** Full name */
1842
- readonly name: string;
1843
- /** Username (without @) */
1844
- readonly username: string;
1845
- /** Join date string (e.g., "Jan 2023") */
1846
- readonly joinDate: string;
1847
- /** Username link URL (default: #) */
1848
- readonly profileUrl?: string;
1849
- /** Layout orientation */
1850
- readonly layout?: 'vertical' | 'horizontal';
1851
- }
1852
-
1853
- export declare const UserStatsLineGlass: ForwardRefExoticComponent<UserStatsLineGlassProps & RefAttributes<HTMLDivElement>>;
1854
-
1855
- declare interface UserStatsLineGlassProps extends HTMLAttributes<HTMLDivElement> {
1856
- /** Number of repositories */
1857
- readonly repos: number;
1858
- /** Number of followers */
1859
- readonly followers: number;
1860
- /** Number of following */
1861
- readonly following: number;
1862
- /** Wrap stats on mobile */
1863
- readonly wrap?: boolean;
1864
- /** Abbreviated numbers for mobile (1.2k instead of 1234) */
1865
- readonly abbreviated?: boolean;
1866
- }
1867
-
1868
- export declare const YearCardGlass: ForwardRefExoticComponent<YearCardGlassProps & RefAttributes<HTMLDivElement>>;
1869
-
1870
- declare interface YearCardGlassInsight {
1871
- readonly variant?: 'default' | 'tip' | 'highlight' | 'warning' | 'stat' | 'growth' | 'decline';
1872
- readonly emoji?: string;
1873
- readonly text: string;
1874
- readonly detail?: string;
1875
- }
1876
-
1877
- declare interface YearCardGlassProps extends React.HTMLAttributes<HTMLDivElement> {
1878
- /** Year to display (string or number) */
1879
- readonly year: string | number;
1880
- /** Emoji for the badge */
1881
- readonly emoji: string;
1882
- /** Label for the badge (e.g., "Peak Year") */
1883
- readonly label: string;
1884
- /** Primary metric value (e.g., "629 commits") */
1885
- readonly commits: string;
1886
- /** Progress percentage (0-100) */
1887
- readonly progress: number;
1888
- /** Whether the card is expanded to show details */
1889
- readonly isExpanded?: boolean;
1890
- /** Progress bar gradient color */
1891
- readonly gradient?: ProgressGradient;
1892
- /** Number of PRs (shown in expanded view) */
1893
- readonly prs?: number;
1894
- /** Number of repos (shown in expanded view) */
1895
- readonly repos?: number;
1896
- /** Callback when "Show repos" button is clicked */
1897
- readonly onShowYear?: () => void;
1898
- /** Monthly activity data for sparkline */
1899
- readonly sparklineData?: readonly number[];
1900
- /** Labels for sparkline (e.g., month names) */
1901
- readonly sparklineLabels?: readonly string[];
1902
- /** Insights to display in expanded view */
1903
- readonly insights?: readonly YearCardGlassInsight[];
1904
- /** Custom stats for expanded view (replaces default commits/prs/repos grid) */
1905
- readonly stats?: readonly YearCardGlassStat[];
1906
- /** Custom action button text */
1907
- readonly actionLabel?: string;
1908
- /** Show sparkline in collapsed view */
1909
- readonly showSparklineCollapsed?: boolean;
1910
- /** Custom value formatter for commits display */
1911
- readonly valueFormatter?: (commits: string) => string;
1912
- /** Additional content for expanded section */
1913
- readonly children?: ReactNode;
1914
- }
1915
-
1916
- declare interface YearCardGlassStat {
1917
- readonly label: string;
1918
- readonly value: string | number;
1919
- readonly icon?: ReactNode;
1920
- }
1921
-
1922
- declare interface YearData {
1923
- readonly year: string | number;
1924
- readonly emoji: string;
1925
- readonly label: string;
1926
- readonly commits: string;
1927
- readonly progress: number;
1928
- readonly prs?: number;
1929
- readonly repos?: number;
1930
- }
1931
-
1932
- export { }
1
+ export { AlertGlass } from './components/glass/ui/alert-glass';
2
+ export { AvatarGlass } from './components/glass/ui/avatar-glass';
3
+ export { BadgeGlass } from './components/glass/ui/badge-glass';
4
+ export { ButtonGlass } from './components/glass/ui/button-glass';
5
+ export { CheckboxGlass } from './components/glass/ui/checkbox-glass';
6
+ export { CircularProgressGlass } from './components/glass/ui/circular-progress-glass';
7
+ export { ComboBoxGlass } from './components/glass/ui/combobox-glass';
8
+ export { DropdownGlass } from './components/glass/ui/dropdown-glass';
9
+ export { GlassCard } from './components/glass/ui/glass-card';
10
+ export { InputGlass } from './components/glass/ui/input-glass';
11
+ export { ModalGlass } from './components/glass/ui/modal-glass';
12
+ export { NotificationGlass } from './components/glass/ui/notification-glass';
13
+ export { PopoverGlass } from './components/glass/ui/popover-glass';
14
+ export { SkeletonGlass } from './components/glass/ui/skeleton-glass';
15
+ export { SliderGlass } from './components/glass/ui/slider-glass';
16
+ export { TabsGlass } from './components/glass/ui/tabs-glass';
17
+ export { ToggleGlass } from './components/glass/ui/toggle-glass';
18
+ export { TooltipGlass } from './components/glass/ui/tooltip-glass';
19
+ export { ExpandableHeaderGlass } from './components/glass/atomic/expandable-header-glass';
20
+ export { IconButtonGlass } from './components/glass/atomic/icon-button-glass';
21
+ export { SearchBoxGlass } from './components/glass/atomic/search-box-glass';
22
+ export { SortDropdownGlass } from './components/glass/atomic/sort-dropdown-glass';
23
+ export { StatItemGlass } from './components/glass/atomic/stat-item-glass';
24
+ export { ThemeToggleGlass } from './components/glass/atomic/theme-toggle-glass';
25
+ export { BaseProgressGlass } from './components/glass/specialized/base-progress-glass';
26
+ export { FlagAlertGlass } from './components/glass/specialized/flag-alert-glass';
27
+ export { LanguageBarGlass } from './components/glass/specialized/language-bar-glass';
28
+ export { ProfileAvatarGlass } from './components/glass/specialized/profile-avatar-glass';
29
+ export { ProgressGlass } from './components/glass/specialized/progress-glass';
30
+ export { RainbowProgressGlass } from './components/glass/specialized/rainbow-progress-glass';
31
+ export { SegmentedControlGlass } from './components/glass/specialized/segmented-control-glass';
32
+ export { StatusIndicatorGlass } from './components/glass/specialized/status-indicator-glass';
33
+ export { AICardGlass } from './components/glass/composite/ai-card-glass';
34
+ export { CareerStatsHeaderGlass } from './components/glass/composite/career-stats-header-glass';
35
+ export { CircularMetricGlass } from './components/glass/composite/circular-metric-glass';
36
+ export { ContributionMetricsGlass } from './components/glass/composite/contribution-metrics-glass';
37
+ export { MetricCardGlass } from './components/glass/composite/metric-card-glass';
38
+ export { MetricsGridGlass } from './components/glass/composite/metrics-grid-glass';
39
+ export { RepositoryCardGlass } from './components/glass/composite/repository-card-glass';
40
+ export { RepositoryHeaderGlass } from './components/glass/composite/repository-header-glass';
41
+ export { RepositoryMetadataGlass } from './components/glass/composite/repository-metadata-glass';
42
+ export { TrustScoreDisplayGlass } from './components/glass/composite/trust-score-display-glass';
43
+ export { UserInfoGlass } from './components/glass/composite/user-info-glass';
44
+ export { UserStatsLineGlass } from './components/glass/composite/user-stats-line-glass';
45
+ export { YearCardGlass } from './components/glass/composite/year-card-glass';
46
+ export { CareerStatsGlass } from './components/glass/sections/career-stats-glass';
47
+ export { FlagsSectionGlass } from './components/glass/sections/flags-section-glass';
48
+ export { HeaderBrandingGlass } from './components/glass/sections/header-branding-glass';
49
+ export { HeaderNavGlass } from './components/glass/sections/header-nav-glass';
50
+ export { ProfileHeaderGlass } from './components/glass/sections/profile-header-glass';
51
+ export { ProjectsListGlass } from './components/glass/sections/projects-list-glass';
52
+ export { TrustScoreCardGlass } from './components/glass/sections/trust-score-card-glass';
53
+ export { FormFieldWrapper } from './components/glass/primitives/form-field-wrapper';
54
+ export { InteractiveCard } from './components/glass/primitives/interactive-card';
55
+ export { TouchTarget } from './components/glass/primitives/touch-target';
56
+ //# sourceMappingURL=components.d.ts.map