shadcn-glass-ui 1.0.11 → 2.0.1

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 (215) hide show
  1. package/CHANGELOG.md +213 -0
  2. package/README.md +174 -17
  3. package/context7.json +58 -0
  4. package/dist/cli/index.cjs +470 -0
  5. package/dist/cli/index.cjs.map +1 -0
  6. package/dist/cli/index.d.ts +18 -0
  7. package/dist/cli/index.js +469 -0
  8. package/dist/cli/index.js.map +1 -0
  9. package/dist/components.cjs +4 -4
  10. package/dist/components.d.ts +153 -22
  11. package/dist/components.js +2 -2
  12. package/dist/hooks.cjs +2 -2
  13. package/dist/index.cjs +872 -5
  14. package/dist/index.cjs.map +1 -1
  15. package/dist/index.d.ts +0 -2390
  16. package/dist/index.js +844 -3
  17. package/dist/index.js.map +1 -1
  18. package/dist/r/ai-card-glass.json +1 -1
  19. package/dist/r/avatar-glass.json +1 -1
  20. package/dist/r/circular-metric-glass.json +1 -1
  21. package/dist/r/circular-progress-glass.json +1 -1
  22. package/dist/r/combobox-glass.json +1 -1
  23. package/dist/r/flag-alert-glass.json +1 -1
  24. package/dist/r/flags-section-glass.json +1 -1
  25. package/dist/r/insight-card-glass.json +26 -0
  26. package/dist/r/interactive-card.json +1 -1
  27. package/dist/r/language-bar-glass.json +1 -1
  28. package/dist/r/metric-card-glass.json +3 -2
  29. package/dist/r/metrics-grid-glass.json +1 -1
  30. package/dist/r/modal-glass.json +1 -1
  31. package/dist/r/progress-glass.json +1 -1
  32. package/dist/r/registry.json +19 -1
  33. package/dist/r/segmented-control-glass.json +1 -1
  34. package/dist/r/sparkline-glass.json +26 -0
  35. package/dist/r/stepper-glass.json +41 -0
  36. package/dist/r/tabs-glass.json +1 -1
  37. package/dist/r/trust-score-card-glass.json +1 -1
  38. package/dist/r/year-card-glass.json +1 -1
  39. package/dist/shadcn-glass-ui.css +1 -1
  40. package/dist/{theme-context-XtasSxRT.cjs → theme-context-CVW50BKW.cjs} +2 -2
  41. package/dist/{theme-context-XtasSxRT.cjs.map → theme-context-CVW50BKW.cjs.map} +1 -1
  42. package/dist/themes.cjs +1 -1
  43. package/dist/trust-score-card-glass-BcZbul0P.js +26895 -0
  44. package/dist/trust-score-card-glass-BcZbul0P.js.map +1 -0
  45. package/dist/trust-score-card-glass-r3qM09Jp.cjs +27689 -0
  46. package/dist/trust-score-card-glass-r3qM09Jp.cjs.map +1 -0
  47. package/dist/{use-focus-BbpE2qGq.cjs → use-focus-ZE8ozmZE.cjs} +2 -2
  48. package/dist/{use-focus-BbpE2qGq.cjs.map → use-focus-ZE8ozmZE.cjs.map} +1 -1
  49. package/dist/{use-wallpaper-tint-CIqtoETa.cjs → use-wallpaper-tint-BuS80tbN.cjs} +2 -2
  50. package/dist/{use-wallpaper-tint-CIqtoETa.cjs.map → use-wallpaper-tint-BuS80tbN.cjs.map} +1 -1
  51. package/dist/{utils-CGCOTvxT.js → utils-CcyeqpKQ.js} +1 -1
  52. package/dist/{utils-CGCOTvxT.js.map → utils-CcyeqpKQ.js.map} +1 -1
  53. package/dist/{utils-CriE74ig.cjs → utils-DLXayspX.cjs} +2 -2
  54. package/dist/{utils-CriE74ig.cjs.map → utils-DLXayspX.cjs.map} +1 -1
  55. package/dist/utils.cjs +1 -1
  56. package/dist/utils.js +1 -1
  57. package/docs/AI_IMPROVEMENTS_COMPLETE.md +574 -0
  58. package/docs/AI_USAGE.md +1328 -0
  59. package/docs/API_PATTERNS_COMPARISON.md +418 -0
  60. package/docs/BEST_PRACTICES.md +800 -0
  61. package/docs/COMPLIANCE_CHECKLIST.md +307 -0
  62. package/docs/COMPLIANCE_TESTING.md +436 -0
  63. package/docs/COMPONENTS_CATALOG.md +1076 -0
  64. package/docs/CSS_VARIABLES_AUDIT.md +306 -0
  65. package/docs/CSS_VARIABLES_REFACTORING_PLAN.md +330 -0
  66. package/docs/EXPORTS_MAP.json +875 -0
  67. package/docs/EXPORTS_STRUCTURE.md +729 -0
  68. package/docs/GETTING_STARTED.md +655 -0
  69. package/docs/METRIC_CARD_API_REDESIGN.md +354 -0
  70. package/docs/PRIMITIVE_MAPPING.md +404 -0
  71. package/docs/PUBLISHING.md +593 -0
  72. package/docs/REGISTRY_SUMMARY.md +96 -0
  73. package/docs/REGISTRY_USAGE.md +339 -0
  74. package/docs/SECURITY.md +117 -0
  75. package/docs/THEME_CREATION_GUIDE.md +455 -0
  76. package/docs/TOKEN_ARCHITECTURE.md +365 -0
  77. package/docs/announcements/v1.0.5-devto.md +363 -0
  78. package/docs/announcements/v1.0.5-reddit.md +115 -0
  79. package/docs/announcements/v1.0.5-twitter.md +70 -0
  80. package/docs/api/README.md +725 -0
  81. package/docs/api/functions/ThemeProvider.md +21 -0
  82. package/docs/api/functions/cn.md +27 -0
  83. package/docs/api/functions/getNextTheme.md +21 -0
  84. package/docs/api/functions/getThemeConfig.md +21 -0
  85. package/docs/api/functions/useFocus.md +53 -0
  86. package/docs/api/functions/useHover.md +47 -0
  87. package/docs/api/functions/useResponsive.md +31 -0
  88. package/docs/api/functions/useTheme.md +15 -0
  89. package/docs/api/functions/useWallpaperTint.md +36 -0
  90. package/docs/api/globals.md +139 -0
  91. package/docs/api/interfaces/AlertGlassProps.md +131 -0
  92. package/docs/api/interfaces/AvatarGlassProps.md +114 -0
  93. package/docs/api/interfaces/BadgeGlassProps.md +118 -0
  94. package/docs/api/interfaces/ButtonGlassProps.md +179 -0
  95. package/docs/api/interfaces/CheckboxGlassProps.md +125 -0
  96. package/docs/api/interfaces/DropdownGlassProps.md +123 -0
  97. package/docs/api/interfaces/DropdownItem.md +53 -0
  98. package/docs/api/interfaces/GlassCardProps.md +151 -0
  99. package/docs/api/interfaces/InputGlassProps.md +169 -0
  100. package/docs/api/interfaces/NotificationGlassProps.md +67 -0
  101. package/docs/api/interfaces/ProgressGlassProps.md +49 -0
  102. package/docs/api/interfaces/SkeletonGlassProps.md +41 -0
  103. package/docs/api/interfaces/SliderGlassProps.md +107 -0
  104. package/docs/api/interfaces/TabItem.md +25 -0
  105. package/docs/api/interfaces/ThemeConfig.md +25 -0
  106. package/docs/api/interfaces/ThemeContextValue.md +47 -0
  107. package/docs/api/interfaces/ToggleGlassProps.md +59 -0
  108. package/docs/api/interfaces/TooltipGlassProps.md +119 -0
  109. package/docs/api/type-aliases/AlertType.md +11 -0
  110. package/docs/api/type-aliases/AlertVariant.md +11 -0
  111. package/docs/api/type-aliases/AvatarSize.md +11 -0
  112. package/docs/api/type-aliases/AvatarStatus.md +13 -0
  113. package/docs/api/type-aliases/BadgeSize.md +11 -0
  114. package/docs/api/type-aliases/BadgeVariant.md +11 -0
  115. package/docs/api/type-aliases/ButtonGlassSize.md +11 -0
  116. package/docs/api/type-aliases/ButtonGlassVariant.md +11 -0
  117. package/docs/api/type-aliases/DropdownAlign.md +11 -0
  118. package/docs/api/type-aliases/GlowType.md +11 -0
  119. package/docs/api/type-aliases/InputGlassSize.md +11 -0
  120. package/docs/api/type-aliases/IntensityType.md +11 -0
  121. package/docs/api/type-aliases/ModalSize.md +11 -0
  122. package/docs/api/type-aliases/NotificationType.md +11 -0
  123. package/docs/api/type-aliases/PaddingType.md +11 -0
  124. package/docs/api/type-aliases/ProgressGradient.md +11 -0
  125. package/docs/api/type-aliases/ProgressSize.md +11 -0
  126. package/docs/api/type-aliases/SkeletonVariant.md +11 -0
  127. package/docs/api/type-aliases/Theme.md +11 -0
  128. package/docs/api/type-aliases/ToggleGlassSize.md +11 -0
  129. package/docs/api/type-aliases/TooltipPosition.md +11 -0
  130. package/docs/api/variables/AICardGlass.md +11 -0
  131. package/docs/api/variables/AlertGlass.md +11 -0
  132. package/docs/api/variables/AvatarGlass.md +11 -0
  133. package/docs/api/variables/BadgeGlass.md +11 -0
  134. package/docs/api/variables/BaseProgressGlass.md +11 -0
  135. package/docs/api/variables/ButtonGlass.md +11 -0
  136. package/docs/api/variables/CareerStatsGlass.md +11 -0
  137. package/docs/api/variables/CareerStatsHeaderGlass.md +11 -0
  138. package/docs/api/variables/CheckboxGlass.md +11 -0
  139. package/docs/api/variables/CircularMetricGlass.md +22 -0
  140. package/docs/api/variables/CircularProgressGlass.md +11 -0
  141. package/docs/api/variables/ComboBoxGlass.md +27 -0
  142. package/docs/api/variables/ContributionMetricsGlass.md +11 -0
  143. package/docs/api/variables/DropdownGlass.md +11 -0
  144. package/docs/api/variables/ExpandableHeaderGlass.md +11 -0
  145. package/docs/api/variables/FlagAlertGlass.md +11 -0
  146. package/docs/api/variables/FlagsSectionGlass.md +11 -0
  147. package/docs/api/variables/FormFieldWrapper.md +44 -0
  148. package/docs/api/variables/GlassCard.md +11 -0
  149. package/docs/api/variables/HeaderBrandingGlass.md +11 -0
  150. package/docs/api/variables/HeaderNavGlass.md +11 -0
  151. package/docs/api/variables/IconButtonGlass.md +11 -0
  152. package/docs/api/variables/InputGlass.md +11 -0
  153. package/docs/api/variables/InteractiveCard.md +45 -0
  154. package/docs/api/variables/LanguageBarGlass.md +11 -0
  155. package/docs/api/variables/MetricCardGlass.md +11 -0
  156. package/docs/api/variables/MetricsGridGlass.md +11 -0
  157. package/docs/api/variables/ModalGlass.md +72 -0
  158. package/docs/api/variables/NotificationGlass.md +11 -0
  159. package/docs/api/variables/PopoverGlass.md +11 -0
  160. package/docs/api/variables/ProfileAvatarGlass.md +11 -0
  161. package/docs/api/variables/ProfileHeaderGlass.md +11 -0
  162. package/docs/api/variables/ProgressGlass.md +11 -0
  163. package/docs/api/variables/ProjectsListGlass.md +11 -0
  164. package/docs/api/variables/RainbowProgressGlass.md +11 -0
  165. package/docs/api/variables/RepositoryCardGlass.md +11 -0
  166. package/docs/api/variables/RepositoryHeaderGlass.md +11 -0
  167. package/docs/api/variables/RepositoryMetadataGlass.md +11 -0
  168. package/docs/api/variables/SearchBoxGlass.md +11 -0
  169. package/docs/api/variables/SegmentedControlGlass.md +11 -0
  170. package/docs/api/variables/SkeletonGlass.md +11 -0
  171. package/docs/api/variables/SliderGlass.md +11 -0
  172. package/docs/api/variables/SortDropdownGlass.md +11 -0
  173. package/docs/api/variables/StatItemGlass.md +11 -0
  174. package/docs/api/variables/StatusIndicatorGlass.md +11 -0
  175. package/docs/api/variables/THEMES.md +11 -0
  176. package/docs/api/variables/THEME_CONFIG.md +11 -0
  177. package/docs/api/variables/TabsGlass.md +52 -0
  178. package/docs/api/variables/ThemeToggleGlass.md +11 -0
  179. package/docs/api/variables/ToggleGlass.md +11 -0
  180. package/docs/api/variables/TooltipGlass.md +11 -0
  181. package/docs/api/variables/TouchTarget.md +35 -0
  182. package/docs/api/variables/TrustScoreCardGlass.md +11 -0
  183. package/docs/api/variables/TrustScoreDisplayGlass.md +11 -0
  184. package/docs/api/variables/UserInfoGlass.md +11 -0
  185. package/docs/api/variables/UserStatsLineGlass.md +11 -0
  186. package/docs/api/variables/YearCardGlass.md +11 -0
  187. package/docs/api/variables/alertVariants.md +21 -0
  188. package/docs/api/variables/avatarSizes.md +21 -0
  189. package/docs/api/variables/badgeVariants.md +21 -0
  190. package/docs/api/variables/buttonGlassVariants.md +21 -0
  191. package/docs/api/variables/cardIntensity.md +21 -0
  192. package/docs/api/variables/dropdownAlign.md +21 -0
  193. package/docs/api/variables/inputVariants.md +21 -0
  194. package/docs/api/variables/modalSizes.md +21 -0
  195. package/docs/api/variables/notificationVariants.md +21 -0
  196. package/docs/api/variables/progressSizes.md +21 -0
  197. package/docs/api/variables/shadcnAlertVariants.md +21 -0
  198. package/docs/api/variables/shadcnBadgeVariants.md +21 -0
  199. package/docs/api/variables/shadcnButtonVariants.md +21 -0
  200. package/docs/api/variables/skeletonVariants.md +21 -0
  201. package/docs/api/variables/statusSizes.md +21 -0
  202. package/docs/api/variables/toggleSizes.md +21 -0
  203. package/docs/api/variables/tooltipPositions.md +21 -0
  204. package/docs/design-system/UI_DESIGN.md +628 -0
  205. package/docs/migration/CSS_VARIABLES_MIGRATION_2.0.md +325 -0
  206. package/docs/migration/modal-glass-compound-api.md +458 -0
  207. package/docs/migration/select-to-combobox.md +386 -0
  208. package/docs/migration/tabs-glass-compound-api.md +579 -0
  209. package/docs/technical/DEPENDENCIES.md +291 -0
  210. package/docs/visual-testing-guide.md +324 -0
  211. package/package.json +20 -3
  212. package/dist/trust-score-card-glass-CNcQveNY.cjs +0 -8231
  213. package/dist/trust-score-card-glass-CNcQveNY.cjs.map +0 -1
  214. package/dist/trust-score-card-glass-CowcDyxH.js +0 -7795
  215. package/dist/trust-score-card-glass-CowcDyxH.js.map +0 -1
@@ -0,0 +1,1076 @@
1
+ # Component Catalog
2
+
3
+ Searchable index of all **58 components** in shadcn-glass-ui.
4
+
5
+ **v2.0.0 Update:** All components now use the 3-layer token system with semantic CSS variables. Zero
6
+ hardcoded OKLCH values across all components.
7
+
8
+ ## Quick Reference Table
9
+
10
+ | Component | Level | File | Props | Key Features |
11
+ | ---------------------------- | ----------- | --------------------------------------------------------------- | ----- | ------------------------------------------ |
12
+ | **ButtonGlass** | Core UI | `src/components/glass/ui/button-glass.tsx` | 7 | asChild, loading, icon, ripple, 6 variants |
13
+ | **InputGlass** | Core UI | `src/components/glass/ui/input-glass.tsx` | 8 | label, error, success, icon, validation |
14
+ | **CheckboxGlass** | Core UI | `src/components/glass/ui/checkbox-glass.tsx` | 5 | label, checked, glow effect |
15
+ | **ToggleGlass** | Core UI | `src/components/glass/ui/toggle-glass.tsx` | 5 | label, switch variant, accessible |
16
+ | **SliderGlass** | Core UI | `src/components/glass/ui/slider-glass.tsx` | 6 | min/max/step, label, single/range |
17
+ | **ModalGlass** | Core UI | `src/components/glass/ui/modal-glass.tsx` | - | Compound API, overlay, 3 sizes |
18
+ | **TabsGlass** | Core UI | `src/components/glass/ui/tabs-glass.tsx` | - | Compound API, animated |
19
+ | **DropdownGlass** | Core UI | `src/components/glass/ui/dropdown-glass.tsx` | 8 | Radix UI based, submenu support |
20
+ | **TooltipGlass** | Core UI | `src/components/glass/ui/tooltip-glass.tsx` | 6 | Radix UI, 4 sides, delay config |
21
+ | **AlertGlass** | Core UI | `src/components/glass/ui/alert-glass.tsx` | 5 | 4 variants, icon, dismissable |
22
+ | **NotificationGlass** | Core UI | `src/components/glass/ui/notification-glass.tsx` | 6 | Toast style, 4 variants, auto-close |
23
+ | **BadgeGlass** | Core UI | `src/components/glass/ui/badge-glass.tsx` | 4 | 7 variants, dot variant |
24
+ | **AvatarGlass** | Core UI | `src/components/glass/ui/avatar-glass.tsx` | 5 | asChild, status, 4 sizes, fallback |
25
+ | **GlassCard** | Core UI | `src/components/glass/ui/glass-card.tsx` | 6 | asChild, 4 variants, 3 intensities |
26
+ | **ProgressGlass** | Core UI | `src/components/glass/ui/progress-glass.tsx` | 5 | value, max, label, variants |
27
+ | **CircularProgressGlass** | Core UI | `src/components/glass/ui/circular-progress-glass.tsx` | 6 | value, size, stroke, label |
28
+ | **SkeletonGlass** | Core UI | `src/components/glass/ui/skeleton-glass.tsx` | 5 | width, height, circle, variants |
29
+ | **ComboBoxGlass** | Core UI | `src/components/glass/ui/combobox-glass.tsx` | 8 | searchable, multi-select, async |
30
+ | **PopoverGlass** | Core UI | `src/components/glass/ui/popover-glass.tsx` | 6 | Radix UI, trigger, content |
31
+ | **IconButtonGlass** | Atomic | `src/components/glass/atomic/icon-button-glass.tsx` | 5 | Icon-only, aria-label, 4 sizes |
32
+ | **ThemeToggleGlass** | Atomic | `src/components/glass/atomic/theme-toggle-glass.tsx` | 3 | 3 themes, icon animated |
33
+ | **SearchBoxGlass** | Atomic | `src/components/glass/atomic/search-box-glass.tsx` | 6 | Search icon, clear button |
34
+ | **SortDropdownGlass** | Atomic | `src/components/glass/atomic/sort-dropdown-glass.tsx` | 5 | Sort options, ascending/descending |
35
+ | **StatItemGlass** | Atomic | `src/components/glass/atomic/stat-item-glass.tsx` | 5 | Label, value, change, trend |
36
+ | **ExpandableHeaderGlass** | Atomic | `src/components/glass/atomic/expandable-header-glass.tsx` | 5 | Collapsible, animated |
37
+ | **InsightCardGlass** | Atomic | `src/components/glass/atomic/insight-card-glass.tsx` | 7 | 7 variants, inline/card mode, clickable |
38
+ | **StatusIndicatorGlass** | Specialized | `src/components/glass/specialized/status-indicator-glass.tsx` | 4 | Status dot, 4 states, glow |
39
+ | **SegmentedControlGlass** | Specialized | `src/components/glass/specialized/segmented-control-glass.tsx` | 5 | Button group, exclusive selection |
40
+ | **RainbowProgressGlass** | Specialized | `src/components/glass/specialized/rainbow-progress-glass.tsx` | 4 | Gradient progress, animated |
41
+ | **LanguageBarGlass** | Specialized | `src/components/glass/specialized/language-bar-glass.tsx` | 5 | Proficiency bar, legend |
42
+ | **ProfileAvatarGlass** | Specialized | `src/components/glass/specialized/profile-avatar-glass.tsx` | 5 | Large avatar, glow animation |
43
+ | **FlagAlertGlass** | Specialized | `src/components/glass/specialized/flag-alert-glass.tsx` | 5 | Warning/danger, icon, dismissable |
44
+ | **ProgressGlass** | Specialized | `src/components/glass/specialized/progress-glass.tsx` | 5 | Enhanced progress bar |
45
+ | **BaseProgressGlass** | Specialized | `src/components/glass/specialized/base-progress-glass.tsx` | 4 | Base progress component |
46
+ | **SparklineGlass** | Specialized | `src/components/glass/specialized/sparkline-glass.tsx` | 6 | Time series chart, height/gap variants |
47
+ | **MetricCardGlass** | Composite | `src/components/glass/composite/metric-card-glass.tsx` | 6 | Metric display, progress, trend |
48
+ | **YearCardGlass** | Composite | `src/components/glass/composite/year-card-glass.tsx` | 5 | Timeline card, expandable |
49
+ | **AICardGlass** | Composite | `src/components/glass/composite/ai-card-glass.tsx` | 5 | AI summary, feature list |
50
+ | **RepositoryCardGlass** | Composite | `src/components/glass/composite/repository-card-glass.tsx` | 7 | Repo info, expandable, stats |
51
+ | **TrustScoreDisplayGlass** | Composite | `src/components/glass/composite/trust-score-display-glass.tsx` | 5 | Score, visual indicator |
52
+ | **CareerStatsHeaderGlass** | Composite | `src/components/glass/composite/career-stats-header-glass.tsx` | 5 | Career stats, timeline |
53
+ | **CircularMetricGlass** | Composite | `src/components/glass/composite/circular-metric-glass.tsx` | 5 | Circular progress, metric |
54
+ | **ContributionMetricsGlass** | Composite | `src/components/glass/composite/contribution-metrics-glass.tsx` | 5 | Contribution grid |
55
+ | **MetricsGridGlass** | Composite | `src/components/glass/composite/metrics-grid-glass.tsx` | 4 | Grid layout, responsive |
56
+ | **RepositoryHeaderGlass** | Composite | `src/components/glass/composite/repository-header-glass.tsx` | 6 | Repo header, metadata |
57
+ | **RepositoryMetadataGlass** | Composite | `src/components/glass/composite/repository-metadata-glass.tsx` | 6 | Repo metadata display |
58
+ | **UserInfoGlass** | Composite | `src/components/glass/composite/user-info-glass.tsx` | 5 | User card, avatar, stats |
59
+ | **UserStatsLineGlass** | Composite | `src/components/glass/composite/user-stats-line-glass.tsx` | 4 | Horizontal stats line |
60
+ | **HeaderNavGlass** | Section | `src/components/glass/sections/header-nav-glass.tsx` | 6 | Navigation, search, theme |
61
+ | **ProfileHeaderGlass** | Section | `src/components/glass/sections/profile-header-glass.tsx` | 7 | Profile, avatar, stats, langs |
62
+ | **CareerStatsGlass** | Section | `src/components/glass/sections/career-stats-glass.tsx` | 5 | Career stats, year cards |
63
+ | **FlagsSectionGlass** | Section | `src/components/glass/sections/flags-section-glass.tsx` | 5 | Expandable flags/warnings |
64
+ | **TrustScoreCardGlass** | Section | `src/components/glass/sections/trust-score-card-glass.tsx` | 6 | Trust score, metrics |
65
+ | **ProjectsListGlass** | Section | `src/components/glass/sections/projects-list-glass.tsx` | 6 | Projects, filtering, sorting |
66
+ | **HeaderBrandingGlass** | Section | `src/components/glass/sections/header-branding-glass.tsx` | 5 | Branded header, logo, nav |
67
+ | **FormFieldWrapper** | Primitive | `src/components/glass/primitives/form-field-wrapper.tsx` | 6 | Unified form field structure |
68
+ | **InteractiveCard** | Primitive | `src/components/glass/primitives/interactive-card.tsx` | 5 | Hover animations, glass effects |
69
+ | **TouchTarget** | Primitive | `src/components/glass/primitives/touch-target.tsx` | 4 | Touch-friendly wrapper, 44px min |
70
+
71
+ ---
72
+
73
+ ## By Level
74
+
75
+ ### Level 0 - Primitives (3)
76
+
77
+ Foundation components for building other components.
78
+
79
+ #### FormFieldWrapper
80
+
81
+ **File:** `src/components/glass/primitives/form-field-wrapper.tsx` **Purpose:** Unified form field
82
+ structure with label, error, and success states **Props:** `label`, `error`, `success`, `required`,
83
+ `children`, `className` **Usage:**
84
+
85
+ ```tsx
86
+ <FormFieldWrapper label="Email" error={emailError}>
87
+ <input type="email" />
88
+ </FormFieldWrapper>
89
+ ```
90
+
91
+ #### InteractiveCard
92
+
93
+ **File:** `src/components/glass/primitives/interactive-card.tsx` **Purpose:** Card with hover
94
+ animations and glass effects **Props:** `asChild`, `children`, `className`, `onClick`, `onHover`
95
+ **Usage:**
96
+
97
+ ```tsx
98
+ <InteractiveCard onClick={() => console.log('clicked')}>
99
+ <h3>Interactive Card</h3>
100
+ </InteractiveCard>
101
+ ```
102
+
103
+ #### TouchTarget
104
+
105
+ **File:** `src/components/glass/primitives/touch-target.tsx` **Purpose:** Touch-friendly wrapper
106
+ ensuring 44×44px minimum (Apple HIG) **Props:** `asChild`, `children`, `className`, `minSize`
107
+ **Usage:**
108
+
109
+ ```tsx
110
+ <TouchTarget minSize={44}>
111
+ <button>Tap me</button>
112
+ </TouchTarget>
113
+ ```
114
+
115
+ ---
116
+
117
+ ### Level 1 - Core UI (18)
118
+
119
+ Essential building blocks for any application.
120
+
121
+ #### ButtonGlass
122
+
123
+ **File:** `src/components/glass/ui/button-glass.tsx` **Variants:** primary, secondary, ghost,
124
+ destructive, success, text **Sizes:** sm, md, lg, xl, icon **Features:** asChild, loading, icon,
125
+ ripple effect, glow
126
+
127
+ **Basic:**
128
+
129
+ ```tsx
130
+ <ButtonGlass variant="primary">Click me</ButtonGlass>
131
+ ```
132
+
133
+ **With Loading State:**
134
+
135
+ ```tsx
136
+ <ButtonGlass variant="primary" loading={isLoading} disabled={isLoading}>
137
+ {isLoading ? 'Saving...' : 'Save Changes'}
138
+ </ButtonGlass>
139
+ ```
140
+
141
+ **With Icon:**
142
+
143
+ ```tsx
144
+ <ButtonGlass variant="secondary" icon={Download} iconPosition="left">
145
+ Download File
146
+ </ButtonGlass>
147
+ ```
148
+
149
+ **As Link (asChild pattern):**
150
+
151
+ ```tsx
152
+ <ButtonGlass asChild variant="ghost">
153
+ <Link href="/dashboard">Go to Dashboard</Link>
154
+ </ButtonGlass>
155
+ ```
156
+
157
+ **Icon Only Button:**
158
+
159
+ ```tsx
160
+ <ButtonGlass variant="ghost" size="icon" aria-label="Close dialog">
161
+ <X className="h-4 w-4" />
162
+ </ButtonGlass>
163
+ ```
164
+
165
+ **Props:** | Prop | Type | Default | Description | |------|------|---------|-------------| | variant
166
+ | string | primary | Visual style | | size | string | md | Button size | | loading | boolean | false
167
+ | Show spinner | | icon | LucideIcon | - | Icon component | | iconPosition | left \| right | left |
168
+ Icon placement | | asChild | boolean | false | Polymorphic rendering |
169
+
170
+ #### InputGlass
171
+
172
+ **File:** `src/components/glass/ui/input-glass.tsx` **Features:** label, error, success, icon, focus
173
+ glow
174
+
175
+ **Basic:**
176
+
177
+ ```tsx
178
+ <InputGlass label="Username" placeholder="Enter username" />
179
+ ```
180
+
181
+ **With Validation:**
182
+
183
+ ```tsx
184
+ <InputGlass
185
+ label="Email"
186
+ type="email"
187
+ value={email}
188
+ onChange={(e) => setEmail(e.target.value)}
189
+ error={!isValidEmail ? 'Invalid email format' : undefined}
190
+ success={isValidEmail ? 'Email is valid' : undefined}
191
+ />
192
+ ```
193
+
194
+ **With Icon:**
195
+
196
+ ```tsx
197
+ <InputGlass label="Search" icon={Search} placeholder="Search..." aria-label="Search" />
198
+ ```
199
+
200
+ **Props:** | Prop | Type | Default | Description | |------|------|---------|-------------| | label |
201
+ string | - | Input label | | error | string | - | Error message (red border) | | success | string
202
+ | - | Success message (green border) | | icon | LucideIcon | - | Left icon | | iconPosition | left
203
+ \| right | left | Icon placement |
204
+
205
+ #### CheckboxGlass
206
+
207
+ **File:** `src/components/glass/ui/checkbox-glass.tsx` **Features:** label, checked state, glow
208
+ effect, accessible **Usage:**
209
+
210
+ ```tsx
211
+ <CheckboxGlass
212
+ id="terms"
213
+ checked={accepted}
214
+ onCheckedChange={setAccepted}
215
+ label="I accept the terms"
216
+ />
217
+ ```
218
+
219
+ #### ToggleGlass
220
+
221
+ **File:** `src/components/glass/ui/toggle-glass.tsx` **Features:** label, switch variant,
222
+ accessible, animated **Usage:**
223
+
224
+ ```tsx
225
+ <ToggleGlass checked={enabled} onCheckedChange={setEnabled} label="Enable notifications" />
226
+ ```
227
+
228
+ #### SliderGlass
229
+
230
+ **File:** `src/components/glass/ui/slider-glass.tsx` **Features:** min/max/step, label, single/range
231
+ values **Usage:**
232
+
233
+ ```tsx
234
+ <SliderGlass
235
+ label="Volume"
236
+ value={[volume]}
237
+ onValueChange={([v]) => setVolume(v)}
238
+ min={0}
239
+ max={100}
240
+ />
241
+ ```
242
+
243
+ #### ModalGlass (Compound API)
244
+
245
+ **File:** `src/components/glass/ui/modal-glass.tsx` **Components:** Root, Overlay, Content, Header,
246
+ Title, Description, Body, Footer, Close **Sizes:** sm, md, lg **Features:** Compound API, focus
247
+ trap, scroll lock, click-outside-to-close
248
+
249
+ **Basic Confirmation:**
250
+
251
+ ```tsx
252
+ <ModalGlass.Root open={open} onOpenChange={setOpen}>
253
+ <ModalGlass.Overlay />
254
+ <ModalGlass.Content>
255
+ <ModalGlass.Header>
256
+ <ModalGlass.Title>Confirm</ModalGlass.Title>
257
+ <ModalGlass.Close />
258
+ </ModalGlass.Header>
259
+ <ModalGlass.Body>Are you sure?</ModalGlass.Body>
260
+ <ModalGlass.Footer>
261
+ <ButtonGlass onClick={() => setOpen(false)}>Cancel</ButtonGlass>
262
+ </ModalGlass.Footer>
263
+ </ModalGlass.Content>
264
+ </ModalGlass.Root>
265
+ ```
266
+
267
+ **Delete Confirmation:**
268
+
269
+ ```tsx
270
+ <ModalGlass.Root open={open} onOpenChange={setOpen}>
271
+ <ModalGlass.Overlay />
272
+ <ModalGlass.Content size="sm">
273
+ <ModalGlass.Header>
274
+ <ModalGlass.Title>Delete Item</ModalGlass.Title>
275
+ </ModalGlass.Header>
276
+ <ModalGlass.Body>
277
+ <p>This action cannot be undone. This will permanently delete the item.</p>
278
+ </ModalGlass.Body>
279
+ <ModalGlass.Footer>
280
+ <ButtonGlass variant="ghost" onClick={() => setOpen(false)}>
281
+ Cancel
282
+ </ButtonGlass>
283
+ <ButtonGlass variant="destructive" onClick={handleDelete}>
284
+ Delete
285
+ </ButtonGlass>
286
+ </ModalGlass.Footer>
287
+ </ModalGlass.Content>
288
+ </ModalGlass.Root>
289
+ ```
290
+
291
+ **Form Modal:**
292
+
293
+ ```tsx
294
+ <ModalGlass.Root open={open} onOpenChange={setOpen}>
295
+ <ModalGlass.Overlay />
296
+ <ModalGlass.Content size="md">
297
+ <ModalGlass.Header>
298
+ <ModalGlass.Title>Create New Project</ModalGlass.Title>
299
+ <ModalGlass.Description>Fill in the details below</ModalGlass.Description>
300
+ </ModalGlass.Header>
301
+ <ModalGlass.Body>
302
+ <form onSubmit={handleSubmit}>
303
+ <InputGlass label="Project Name" required />
304
+ <InputGlass label="Description" />
305
+ </form>
306
+ </ModalGlass.Body>
307
+ <ModalGlass.Footer>
308
+ <ButtonGlass variant="ghost" onClick={() => setOpen(false)}>
309
+ Cancel
310
+ </ButtonGlass>
311
+ <ButtonGlass variant="primary" onClick={handleSubmit}>
312
+ Create
313
+ </ButtonGlass>
314
+ </ModalGlass.Footer>
315
+ </ModalGlass.Content>
316
+ </ModalGlass.Root>
317
+ ```
318
+
319
+ **Props (Root):** | Prop | Type | Default | Description | |------|------|---------|-------------| |
320
+ open | boolean | - | Controlled open state | | onOpenChange | (open: boolean) => void | - | Open
321
+ state change handler | | children | ReactNode | - | Modal content |
322
+
323
+ **Props (Content):** | Prop | Type | Default | Description | |------|------|---------|-------------|
324
+ | size | sm \| md \| lg | md | Modal width | | className | string | - | Additional styles |
325
+
326
+ #### TabsGlass (Compound API)
327
+
328
+ **File:** `src/components/glass/ui/tabs-glass.tsx` **Components:** Root, List, Trigger, Content
329
+ **Features:** Animated indicator, keyboard navigation, ARIA support
330
+
331
+ **Basic Tabs:**
332
+
333
+ ```tsx
334
+ <TabsGlass.Root value={tab} onValueChange={setTab}>
335
+ <TabsGlass.List>
336
+ <TabsGlass.Trigger value="tab1">Tab 1</TabsGlass.Trigger>
337
+ <TabsGlass.Trigger value="tab2">Tab 2</TabsGlass.Trigger>
338
+ </TabsGlass.List>
339
+ <TabsGlass.Content value="tab1">Content 1</TabsGlass.Content>
340
+ <TabsGlass.Content value="tab2">Content 2</TabsGlass.Content>
341
+ </TabsGlass.Root>
342
+ ```
343
+
344
+ **Settings Tabs with Icons:**
345
+
346
+ ```tsx
347
+ <TabsGlass.Root defaultValue="general">
348
+ <TabsGlass.List>
349
+ <TabsGlass.Trigger value="general">
350
+ <Settings className="w-4 h-4 mr-2" />
351
+ General
352
+ </TabsGlass.Trigger>
353
+ <TabsGlass.Trigger value="security">
354
+ <Shield className="w-4 h-4 mr-2" />
355
+ Security
356
+ </TabsGlass.Trigger>
357
+ <TabsGlass.Trigger value="notifications">
358
+ <Bell className="w-4 h-4 mr-2" />
359
+ Notifications
360
+ </TabsGlass.Trigger>
361
+ </TabsGlass.List>
362
+ <TabsGlass.Content value="general">
363
+ <GlassCard>General settings content</GlassCard>
364
+ </TabsGlass.Content>
365
+ <TabsGlass.Content value="security">
366
+ <GlassCard>Security settings content</GlassCard>
367
+ </TabsGlass.Content>
368
+ <TabsGlass.Content value="notifications">
369
+ <GlassCard>Notification preferences</GlassCard>
370
+ </TabsGlass.Content>
371
+ </TabsGlass.Root>
372
+ ```
373
+
374
+ **Props (Root):** | Prop | Type | Default | Description | |------|------|---------|-------------| |
375
+ value | string | - | Controlled active tab | | defaultValue | string | - | Initial tab | |
376
+ onValueChange | (value: string) => void | - | Change handler |
377
+
378
+ **Props (Trigger):** | Prop | Type | Default | Description | |------|------|---------|-------------|
379
+ | value | string | - | Tab identifier | | disabled | boolean | false | Disable tab |
380
+
381
+ #### DropdownGlass
382
+
383
+ **File:** `src/components/glass/ui/dropdown-glass.tsx` **Features:** Radix UI based, submenu
384
+ support, keyboard navigation **Usage:**
385
+
386
+ ```tsx
387
+ <DropdownGlass
388
+ trigger={<ButtonGlass>Menu</ButtonGlass>}
389
+ items={[
390
+ { label: 'Profile', onClick: () => {} },
391
+ { label: 'Settings', onClick: () => {} },
392
+ { separator: true },
393
+ { label: 'Logout', onClick: () => {} },
394
+ ]}
395
+ />
396
+ ```
397
+
398
+ #### AlertGlass
399
+
400
+ **File:** `src/components/glass/ui/alert-glass.tsx` **Variants:** default, destructive, success,
401
+ warning **Features:** Icon, title, description, dismissable, custom icons
402
+
403
+ **Default Alert:**
404
+
405
+ ```tsx
406
+ <AlertGlass variant="default" title="Information">
407
+ This is an informational message.
408
+ </AlertGlass>
409
+ ```
410
+
411
+ **Destructive Alert:**
412
+
413
+ ```tsx
414
+ <AlertGlass variant="destructive" title="Error">
415
+ Something went wrong. Please try again.
416
+ </AlertGlass>
417
+ ```
418
+
419
+ **Success Alert:**
420
+
421
+ ```tsx
422
+ <AlertGlass variant="success" title="Success!">
423
+ Your changes have been saved successfully.
424
+ </AlertGlass>
425
+ ```
426
+
427
+ **Warning Alert:**
428
+
429
+ ```tsx
430
+ <AlertGlass variant="warning" title="Warning">
431
+ This action may have unintended consequences.
432
+ </AlertGlass>
433
+ ```
434
+
435
+ **Dismissable Alert:**
436
+
437
+ ```tsx
438
+ <AlertGlass
439
+ variant="warning"
440
+ title="Session Expiring"
441
+ dismissable
442
+ onDismiss={() => console.log('dismissed')}
443
+ >
444
+ Your session will expire in 5 minutes.
445
+ </AlertGlass>
446
+ ```
447
+
448
+ **Props:** | Prop | Type | Default | Description | |------|------|---------|-------------| | variant
449
+ | default \| destructive \| success \| warning | default | Visual style | | title | string | - |
450
+ Alert title | | children | ReactNode | - | Alert description | | icon | LucideIcon | - | Custom icon
451
+ (auto-selected by variant) | | dismissable | boolean | false | Show dismiss button | | onDismiss |
452
+ () => void | - | Dismiss callback |
453
+
454
+ #### BadgeGlass
455
+
456
+ **File:** `src/components/glass/ui/badge-glass.tsx` **Variants:** default, secondary, outline,
457
+ destructive, success, warning, info **Features:** Multiple variants, clickable, with icons
458
+
459
+ **Status Badges:**
460
+
461
+ ```tsx
462
+ <BadgeGlass variant="success">Active</BadgeGlass>
463
+ <BadgeGlass variant="warning">Pending</BadgeGlass>
464
+ <BadgeGlass variant="destructive">Expired</BadgeGlass>
465
+ ```
466
+
467
+ **Badge with Icon:**
468
+
469
+ ```tsx
470
+ <BadgeGlass variant="info">
471
+ <Star className="w-3 h-3 mr-1" />
472
+ Featured
473
+ </BadgeGlass>
474
+ ```
475
+
476
+ **Badge Group:**
477
+
478
+ ```tsx
479
+ <div className="flex gap-2">
480
+ <BadgeGlass variant="default">React</BadgeGlass>
481
+ <BadgeGlass variant="default">TypeScript</BadgeGlass>
482
+ <BadgeGlass variant="default">Tailwind</BadgeGlass>
483
+ </div>
484
+ ```
485
+
486
+ **Outline Badges:**
487
+
488
+ ```tsx
489
+ <BadgeGlass variant="outline">Draft</BadgeGlass>
490
+ <BadgeGlass variant="secondary">v1.0.0</BadgeGlass>
491
+ ```
492
+
493
+ **Props:** | Prop | Type | Default | Description | |------|------|---------|-------------| | variant
494
+ | string | default | Visual style (7 options) | | children | ReactNode | - | Badge content | |
495
+ className | string | - | Additional styles |
496
+
497
+ #### AvatarGlass
498
+
499
+ **File:** `src/components/glass/ui/avatar-glass.tsx` **Sizes:** sm (32px), md (48px), lg (64px), xl
500
+ (96px) **Status:** online, offline, busy, away **Features:** asChild, fallback, image **Usage:**
501
+
502
+ ```tsx
503
+ <AvatarGlass name="John Doe" src="/avatar.jpg" status="online" size="lg" />
504
+ ```
505
+
506
+ #### GlassCard
507
+
508
+ **File:** `src/components/glass/ui/glass-card.tsx` **Variants:** glass, light, aurora, outline
509
+ **Intensities:** subtle (8px blur), medium (16px blur), strong (24px blur) **Features:** asChild,
510
+ padding variants, hover effects
511
+
512
+ **Basic Card:**
513
+
514
+ ```tsx
515
+ <GlassCard variant="glass" intensity="medium" padding="default">
516
+ <h3>Card Title</h3>
517
+ <p>Card content</p>
518
+ </GlassCard>
519
+ ```
520
+
521
+ **Subtle Glass (Low Blur):**
522
+
523
+ ```tsx
524
+ <GlassCard intensity="subtle">
525
+ <p>Subtle glass effect for layered content</p>
526
+ </GlassCard>
527
+ ```
528
+
529
+ **Strong Glass (High Blur):**
530
+
531
+ ```tsx
532
+ <GlassCard intensity="strong" padding="lg">
533
+ <h2 className="text-xl font-bold">Featured Section</h2>
534
+ <p>High visibility glass card for important content</p>
535
+ </GlassCard>
536
+ ```
537
+
538
+ **As Clickable Link (asChild):**
539
+
540
+ ```tsx
541
+ <GlassCard asChild>
542
+ <a href="/dashboard">
543
+ <h3>Go to Dashboard</h3>
544
+ <p>Click to navigate</p>
545
+ </a>
546
+ </GlassCard>
547
+ ```
548
+
549
+ **Props:** | Prop | Type | Default | Description | |------|------|---------|-------------| | variant
550
+ | glass \| light \| aurora \| outline | glass | Theme variant | | intensity | subtle \| medium \|
551
+ strong | medium | Blur intensity | | padding | none \| sm \| default \| lg | default | Padding size
552
+ | | asChild | boolean | false | Polymorphic rendering |
553
+
554
+ #### ProgressGlass
555
+
556
+ **File:** `src/components/glass/ui/progress-glass.tsx` **Features:** value, max, label, variants
557
+ **Usage:**
558
+
559
+ ```tsx
560
+ <ProgressGlass value={60} max={100} label="60%" />
561
+ ```
562
+
563
+ #### CircularProgressGlass
564
+
565
+ **File:** `src/components/glass/ui/circular-progress-glass.tsx` **Features:** value, size, stroke
566
+ width, label **Usage:**
567
+
568
+ ```tsx
569
+ <CircularProgressGlass value={75} size={120} strokeWidth={8}>
570
+ 75%
571
+ </CircularProgressGlass>
572
+ ```
573
+
574
+ #### SkeletonGlass
575
+
576
+ **File:** `src/components/glass/ui/skeleton-glass.tsx` **Features:** width, height, circle variant,
577
+ animated **Usage:**
578
+
579
+ ```tsx
580
+ <SkeletonGlass width={200} height={20} />
581
+ <SkeletonGlass circle size={48} />
582
+ ```
583
+
584
+ #### ComboBoxGlass
585
+
586
+ **File:** `src/components/glass/ui/combobox-glass.tsx` **Features:** Searchable, multi-select, async
587
+ loading, keyboard navigation
588
+
589
+ **Basic ComboBox:**
590
+
591
+ ```tsx
592
+ const options = [
593
+ { value: 'react', label: 'React' },
594
+ { value: 'vue', label: 'Vue' },
595
+ { value: 'angular', label: 'Angular' },
596
+ ];
597
+
598
+ <ComboBoxGlass
599
+ options={options}
600
+ value={selected}
601
+ onChange={setSelected}
602
+ placeholder="Select framework..."
603
+ />;
604
+ ```
605
+
606
+ **Searchable ComboBox:**
607
+
608
+ ```tsx
609
+ <ComboBoxGlass
610
+ options={options}
611
+ value={selected}
612
+ onChange={setSelected}
613
+ placeholder="Search frameworks..."
614
+ searchable
615
+ />
616
+ ```
617
+
618
+ **Multi-Select:**
619
+
620
+ ```tsx
621
+ <ComboBoxGlass
622
+ options={options}
623
+ value={selectedItems}
624
+ onChange={setSelectedItems}
625
+ placeholder="Select multiple..."
626
+ multiple
627
+ />
628
+ ```
629
+
630
+ **With Performance Optimization (useMemo):**
631
+
632
+ ```tsx
633
+ // IMPORTANT: Memoize options to prevent re-renders
634
+ const options = useMemo(
635
+ () => [
636
+ { value: 'react', label: 'React' },
637
+ { value: 'vue', label: 'Vue' },
638
+ ],
639
+ []
640
+ );
641
+
642
+ <ComboBoxGlass options={options} value={value} onChange={setValue} />;
643
+ ```
644
+
645
+ **Props:** | Prop | Type | Default | Description | |------|------|---------|-------------| | options
646
+ | Option[] | - | Available options | | value | string \| string[] | - | Selected value(s) | |
647
+ onChange | (value) => void | - | Change handler | | placeholder | string | - | Placeholder text | |
648
+ searchable | boolean | false | Enable search | | multiple | boolean | false | Allow multi-select | |
649
+ disabled | boolean | false | Disable input |
650
+
651
+ #### NotificationGlass
652
+
653
+ **File:** `src/components/glass/ui/notification-glass.tsx` **Variants:** default, destructive,
654
+ success, warning **Features:** Toast style, auto-close, dismissable, actions
655
+
656
+ **Success Notification:**
657
+
658
+ ```tsx
659
+ <NotificationGlass
660
+ variant="success"
661
+ title="Success"
662
+ message="Changes saved successfully"
663
+ onClose={() => {}}
664
+ autoClose={3000}
665
+ />
666
+ ```
667
+
668
+ **Error Notification:**
669
+
670
+ ```tsx
671
+ <NotificationGlass
672
+ variant="destructive"
673
+ title="Error"
674
+ message="Failed to save changes. Please try again."
675
+ onClose={() => {}}
676
+ />
677
+ ```
678
+
679
+ **Warning Notification:**
680
+
681
+ ```tsx
682
+ <NotificationGlass
683
+ variant="warning"
684
+ title="Warning"
685
+ message="Your session will expire in 5 minutes."
686
+ onClose={() => {}}
687
+ autoClose={10000}
688
+ />
689
+ ```
690
+
691
+ **Notification with Action:**
692
+
693
+ ```tsx
694
+ <NotificationGlass
695
+ variant="default"
696
+ title="New Update Available"
697
+ message="A new version is ready to install."
698
+ onClose={() => {}}
699
+ action={
700
+ <ButtonGlass size="sm" variant="secondary" onClick={handleUpdate}>
701
+ Update Now
702
+ </ButtonGlass>
703
+ }
704
+ />
705
+ ```
706
+
707
+ **Props:** | Prop | Type | Default | Description | |------|------|---------|-------------| | variant
708
+ | default \| destructive \| success \| warning | default | Visual style | | title | string | - |
709
+ Notification title | | message | string | - | Notification message | | onClose | () => void | - |
710
+ Close handler | | autoClose | number | - | Auto-close delay (ms) | | action | ReactNode | - | Action
711
+ button |
712
+
713
+ #### TooltipGlass
714
+
715
+ **File:** `src/components/glass/ui/tooltip-glass.tsx` **Sides:** top, bottom, left, right
716
+ **Features:** Delay config, Radix UI based, accessible
717
+
718
+ **Basic Tooltip:**
719
+
720
+ ```tsx
721
+ <TooltipGlass content="This is a tooltip" side="top">
722
+ <ButtonGlass>Hover me</ButtonGlass>
723
+ </TooltipGlass>
724
+ ```
725
+
726
+ **Tooltip on Icon Button (Accessibility):**
727
+
728
+ ```tsx
729
+ <TooltipGlass content="Delete item" side="bottom">
730
+ <ButtonGlass variant="ghost" size="icon" aria-label="Delete item">
731
+ <Trash className="h-4 w-4" />
732
+ </ButtonGlass>
733
+ </TooltipGlass>
734
+ ```
735
+
736
+ **Tooltip with Custom Delay:**
737
+
738
+ ```tsx
739
+ <TooltipGlass content="Detailed information" side="right" delayDuration={500}>
740
+ <Info className="h-4 w-4 text-muted-foreground" />
741
+ </TooltipGlass>
742
+ ```
743
+
744
+ **Props:** | Prop | Type | Default | Description | |------|------|---------|-------------| | content
745
+ | ReactNode | - | Tooltip content | | side | top \| bottom \| left \| right | top | Position | |
746
+ delayDuration | number | 200 | Show delay (ms) | | sideOffset | number | 4 | Distance from trigger |
747
+ | children | ReactNode | - | Trigger element |
748
+
749
+ #### PopoverGlass
750
+
751
+ **File:** `src/components/glass/ui/popover-glass.tsx` **Features:** Trigger, content, Radix UI based
752
+ **Usage:**
753
+
754
+ ```tsx
755
+ <PopoverGlass>
756
+ <PopoverGlass.Trigger asChild>
757
+ <ButtonGlass>Open</ButtonGlass>
758
+ </PopoverGlass.Trigger>
759
+ <PopoverGlass.Content>
760
+ <p>Popover content</p>
761
+ </PopoverGlass.Content>
762
+ </PopoverGlass>
763
+ ```
764
+
765
+ ---
766
+
767
+ ### Level 2 - Atomic (7)
768
+
769
+ Small, specialized components for specific use cases.
770
+
771
+ #### IconButtonGlass
772
+
773
+ **File:** `src/components/glass/atomic/icon-button-glass.tsx` **Sizes:** sm, md, lg, xl **Usage:**
774
+
775
+ ```tsx
776
+ <IconButtonGlass size="md" aria-label="Close">
777
+ <X />
778
+ </IconButtonGlass>
779
+ ```
780
+
781
+ #### ThemeToggleGlass
782
+
783
+ **File:** `src/components/glass/atomic/theme-toggle-glass.tsx` **Themes:** glass, light, aurora
784
+ **Usage:**
785
+
786
+ ```tsx
787
+ <ThemeToggleGlass />
788
+ ```
789
+
790
+ #### SearchBoxGlass
791
+
792
+ **File:** `src/components/glass/atomic/search-box-glass.tsx` **Features:** Search icon, clear
793
+ button, debounced **Usage:**
794
+
795
+ ```tsx
796
+ <SearchBoxGlass placeholder="Search..." onSearch={(query) => handleSearch(query)} />
797
+ ```
798
+
799
+ #### SortDropdownGlass
800
+
801
+ **File:** `src/components/glass/atomic/sort-dropdown-glass.tsx` **Features:** Sort options,
802
+ ascending/descending **Usage:**
803
+
804
+ ```tsx
805
+ <SortDropdownGlass options={['Name', 'Date', 'Size']} value={sortBy} onChange={setSortBy} />
806
+ ```
807
+
808
+ #### StatItemGlass
809
+
810
+ **File:** `src/components/glass/atomic/stat-item-glass.tsx` **Features:** Label, value, change
811
+ percentage, trend indicator **Usage:**
812
+
813
+ ```tsx
814
+ <StatItemGlass label="Total Users" value="12,345" change={12.5} trend="up" />
815
+ ```
816
+
817
+ #### ExpandableHeaderGlass
818
+
819
+ **File:** `src/components/glass/atomic/expandable-header-glass.tsx` **Features:** Collapsible,
820
+ animated, chevron icon **Usage:**
821
+
822
+ ```tsx
823
+ <ExpandableHeaderGlass title="Section Title" defaultExpanded>
824
+ <p>Expandable content</p>
825
+ </ExpandableHeaderGlass>
826
+ ```
827
+
828
+ ---
829
+
830
+ ### Level 3 - Specialized (9)
831
+
832
+ Advanced specialized components for specific use cases.
833
+
834
+ #### StatusIndicatorGlass
835
+
836
+ **File:** `src/components/glass/specialized/status-indicator-glass.tsx` **States:** online, offline,
837
+ busy, away **Features:** Glow effect, pulsing animation **Usage:**
838
+
839
+ ```tsx
840
+ <StatusIndicatorGlass status="online" />
841
+ ```
842
+
843
+ #### SegmentedControlGlass
844
+
845
+ **File:** `src/components/glass/specialized/segmented-control-glass.tsx` **Features:** Button group,
846
+ exclusive selection, animated indicator **Usage:**
847
+
848
+ ```tsx
849
+ <SegmentedControlGlass options={['Day', 'Week', 'Month']} value={period} onChange={setPeriod} />
850
+ ```
851
+
852
+ #### RainbowProgressGlass
853
+
854
+ **File:** `src/components/glass/specialized/rainbow-progress-glass.tsx` **Features:** Gradient
855
+ progress, animated, smooth transitions **Usage:**
856
+
857
+ ```tsx
858
+ <RainbowProgressGlass value={60} max={100} />
859
+ ```
860
+
861
+ #### LanguageBarGlass
862
+
863
+ **File:** `src/components/glass/specialized/language-bar-glass.tsx` **Features:** Proficiency bar,
864
+ language legend, color-coded **Usage:**
865
+
866
+ ```tsx
867
+ <LanguageBarGlass
868
+ languages={[
869
+ { name: 'TypeScript', percentage: 45, color: '#3178c6' },
870
+ { name: 'JavaScript', percentage: 30, color: '#f7df1e' },
871
+ { name: 'CSS', percentage: 25, color: '#1572b6' },
872
+ ]}
873
+ />
874
+ ```
875
+
876
+ #### ProfileAvatarGlass
877
+
878
+ **File:** `src/components/glass/specialized/profile-avatar-glass.tsx` **Sizes:** xl (128px), xxl
879
+ (160px) **Features:** Large avatar, glow animation, status indicator **Usage:**
880
+
881
+ ```tsx
882
+ <ProfileAvatarGlass name="John Doe" src="/avatar.jpg" status="online" size="xl" />
883
+ ```
884
+
885
+ #### FlagAlertGlass
886
+
887
+ **File:** `src/components/glass/specialized/flag-alert-glass.tsx` **Types:** warning, danger
888
+ **Features:** Icon, dismissable, prominent styling **Usage:**
889
+
890
+ ```tsx
891
+ <FlagAlertGlass type="warning" title="Warning">
892
+ This action requires admin privileges
893
+ </FlagAlertGlass>
894
+ ```
895
+
896
+ ---
897
+
898
+ ### Level 4 - Composite (13)
899
+
900
+ Pre-built complex components combining multiple elements.
901
+
902
+ #### MetricCardGlass
903
+
904
+ **File:** `src/components/glass/composite/metric-card-glass.tsx` **Features:** Metric display,
905
+ progress indicator, trend **Usage:**
906
+
907
+ ```tsx
908
+ <MetricCardGlass label="Revenue" value="$45,678" change={12.5} trend="up" progress={75} />
909
+ ```
910
+
911
+ #### AICardGlass
912
+
913
+ **File:** `src/components/glass/composite/ai-card-glass.tsx` **Features:** AI summary card with
914
+ feature list **Usage:**
915
+
916
+ ```tsx
917
+ <AICardGlass
918
+ title="AI Analysis"
919
+ summary="User shows high engagement"
920
+ features={['Active user', 'High trust score', 'Regular contributor']}
921
+ />
922
+ ```
923
+
924
+ ---
925
+
926
+ ### Level 5 - Sections (7)
927
+
928
+ Full-page sections ready to use in your application.
929
+
930
+ #### HeaderNavGlass
931
+
932
+ **File:** `src/components/glass/sections/header-nav-glass.tsx` **Features:** Navigation header,
933
+ search, theme toggle **Usage:**
934
+
935
+ ```tsx
936
+ <HeaderNavGlass logo={<Logo />} navigation={navItems} onSearch={(query) => handleSearch(query)} />
937
+ ```
938
+
939
+ #### ProfileHeaderGlass
940
+
941
+ **File:** `src/components/glass/sections/profile-header-glass.tsx` **Features:** User profile,
942
+ avatar, stats, languages **Usage:**
943
+
944
+ ```tsx
945
+ <ProfileHeaderGlass user={userData} stats={userStats} languages={userLanguages} />
946
+ ```
947
+
948
+ ---
949
+
950
+ ## By Use Case
951
+
952
+ ### Forms
953
+
954
+ - **InputGlass** - Text, email, password inputs
955
+ - **CheckboxGlass** - Checkboxes with labels
956
+ - **ToggleGlass** - Toggle switches
957
+ - **SliderGlass** - Range sliders
958
+ - **ComboBoxGlass** - Searchable select
959
+ - **FormFieldWrapper** (primitive) - Form field structure
960
+
961
+ ### Navigation
962
+
963
+ - **HeaderNavGlass** - Navigation header
964
+ - **TabsGlass** - Tab navigation
965
+ - **DropdownGlass** - Dropdown menus
966
+ - **ButtonGlass** (asChild) - Link buttons
967
+ - **SegmentedControlGlass** - Segmented buttons
968
+
969
+ ### Feedback
970
+
971
+ - **AlertGlass** - Alert messages (4 variants)
972
+ - **NotificationGlass** - Toast notifications
973
+ - **TooltipGlass** - Tooltips
974
+ - **BadgeGlass** - Status badges (7 variants)
975
+ - **SkeletonGlass** - Loading skeletons
976
+ - **ProgressGlass** - Progress bars
977
+
978
+ ### Data Display
979
+
980
+ - **GlassCard** - Card containers
981
+ - **MetricCardGlass** - Metric displays
982
+ - **CircularMetricGlass** - Circular metrics
983
+ - **TrustScoreCardGlass** - Score displays
984
+ - **StatItemGlass** - Stat items
985
+
986
+ ### Modals & Overlays
987
+
988
+ - **ModalGlass** (compound) - Modal dialogs
989
+ - **PopoverGlass** - Popovers
990
+ - **DropdownGlass** - Dropdowns
991
+
992
+ ---
993
+
994
+ ## Search Index
995
+
996
+ For AI assistants: Use Ctrl+F to search by keyword.
997
+
998
+ **Keywords mapping:**
999
+
1000
+ - "button" → ButtonGlass, IconButtonGlass
1001
+ - "input, text field" → InputGlass, SearchBoxGlass
1002
+ - "form, validation" → InputGlass, CheckboxGlass, ToggleGlass, SliderGlass, FormFieldWrapper
1003
+ - "modal, dialog, popup" → ModalGlass
1004
+ - "dropdown, menu, select" → DropdownGlass, ComboBoxGlass, SortDropdownGlass
1005
+ - "notification, toast, alert, message" → NotificationGlass, AlertGlass, FlagAlertGlass
1006
+ - "progress, loading, spinner" → ProgressGlass, CircularProgressGlass, RainbowProgressGlass,
1007
+ SkeletonGlass
1008
+ - "card, container, box" → GlassCard, MetricCardGlass, AICardGlass, YearCardGlass,
1009
+ TrustScoreCardGlass
1010
+ - "avatar, profile, user" → AvatarGlass, ProfileAvatarGlass, ProfileHeaderGlass, UserInfoGlass
1011
+ - "badge, tag, label, status" → BadgeGlass, StatusIndicatorGlass
1012
+ - "tabs, navigation, switch" → TabsGlass, HeaderNavGlass, SegmentedControlGlass
1013
+ - "theme, dark mode" → ThemeProvider, ThemeToggleGlass, useTheme
1014
+ - "tooltip, hint, help" → TooltipGlass
1015
+ - "slider, range" → SliderGlass
1016
+ - "checkbox, check" → CheckboxGlass
1017
+ - "toggle, switch" → ToggleGlass
1018
+ - "search, filter" → SearchBoxGlass, ComboBoxGlass
1019
+ - "sort, order" → SortDropdownGlass
1020
+ - "stats, metrics, analytics" → StatItemGlass, MetricCardGlass, MetricsGridGlass
1021
+ - "repository, repo, project" → RepositoryCardGlass, ProjectsListGlass
1022
+ - "header, navigation, nav" → HeaderNavGlass, HeaderBrandingGlass
1023
+ - "expandable, collapsible, accordion" → ExpandableHeaderGlass
1024
+ - "touch, mobile, accessibility" → TouchTarget
1025
+ - "primitive, wrapper, container" → FormFieldWrapper, InteractiveCard, TouchTarget
1026
+
1027
+ ---
1028
+
1029
+ ## Quick Start Examples
1030
+
1031
+ ### Simple Form
1032
+
1033
+ ```tsx
1034
+ import { InputGlass, CheckboxGlass, ButtonGlass } from 'shadcn-glass-ui';
1035
+
1036
+ <form>
1037
+ <InputGlass label="Email" type="email" required />
1038
+ <InputGlass label="Password" type="password" required />
1039
+ <CheckboxGlass label="Remember me" />
1040
+ <ButtonGlass type="submit">Sign In</ButtonGlass>
1041
+ </form>;
1042
+ ```
1043
+
1044
+ ### Dashboard
1045
+
1046
+ ```tsx
1047
+ import { MetricCardGlass, ProgressGlass, GlassCard } from 'shadcn-glass-ui';
1048
+
1049
+ <div className="grid grid-cols-3 gap-4">
1050
+ <MetricCardGlass label="Users" value="12,345" change={12.5} trend="up" />
1051
+ <MetricCardGlass label="Revenue" value="$45k" change={-3.2} trend="down" />
1052
+ <GlassCard>
1053
+ <ProgressGlass value={75} label="Completion" />
1054
+ </GlassCard>
1055
+ </div>;
1056
+ ```
1057
+
1058
+ ### Navigation
1059
+
1060
+ ```tsx
1061
+ import { TabsGlass, ButtonGlass } from 'shadcn-glass-ui';
1062
+
1063
+ <TabsGlass.Root value={tab} onValueChange={setTab}>
1064
+ <TabsGlass.List>
1065
+ <TabsGlass.Trigger value="overview">Overview</TabsGlass.Trigger>
1066
+ <TabsGlass.Trigger value="analytics">Analytics</TabsGlass.Trigger>
1067
+ </TabsGlass.List>
1068
+ <TabsGlass.Content value="overview">...</TabsGlass.Content>
1069
+ <TabsGlass.Content value="analytics">...</TabsGlass.Content>
1070
+ </TabsGlass.Root>;
1071
+ ```
1072
+
1073
+ ---
1074
+
1075
+ **Total Components:** 55 **Total Variants:** 100+ **Accessibility:** WCAG 2.1 AA compliant
1076
+ **TypeScript:** Full type definitions **Themes:** 3 (glass, light, aurora)