shadcn-glass-ui 1.0.10 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (216) hide show
  1. package/CHANGELOG.md +259 -16
  2. package/README.md +248 -28
  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 +5 -12
  19. package/dist/r/avatar-glass.json +5 -15
  20. package/dist/r/circular-metric-glass.json +5 -11
  21. package/dist/r/circular-progress-glass.json +5 -12
  22. package/dist/r/combobox-glass.json +5 -13
  23. package/dist/r/flag-alert-glass.json +5 -11
  24. package/dist/r/flags-section-glass.json +5 -12
  25. package/dist/r/insight-card-glass.json +17 -0
  26. package/dist/r/interactive-card.json +5 -12
  27. package/dist/r/language-bar-glass.json +5 -11
  28. package/dist/r/metric-card-glass.json +6 -13
  29. package/dist/r/metrics-grid-glass.json +5 -11
  30. package/dist/r/modal-glass.json +5 -15
  31. package/dist/r/popover-glass.json +1 -1
  32. package/dist/r/progress-glass.json +5 -13
  33. package/dist/r/registry.json +20 -2
  34. package/dist/r/segmented-control-glass.json +5 -11
  35. package/dist/r/sparkline-glass.json +17 -0
  36. package/dist/r/stepper-glass.json +33 -0
  37. package/dist/r/tabs-glass.json +4 -9
  38. package/dist/r/trust-score-card-glass.json +5 -12
  39. package/dist/r/year-card-glass.json +5 -13
  40. package/dist/shadcn-glass-ui.css +1 -1
  41. package/dist/{theme-context-XtasSxRT.cjs → theme-context-CVW50BKW.cjs} +2 -2
  42. package/dist/{theme-context-XtasSxRT.cjs.map → theme-context-CVW50BKW.cjs.map} +1 -1
  43. package/dist/themes.cjs +1 -1
  44. package/dist/trust-score-card-glass-BcZbul0P.js +26895 -0
  45. package/dist/trust-score-card-glass-BcZbul0P.js.map +1 -0
  46. package/dist/trust-score-card-glass-r3qM09Jp.cjs +27689 -0
  47. package/dist/trust-score-card-glass-r3qM09Jp.cjs.map +1 -0
  48. package/dist/{use-focus-BbpE2qGq.cjs → use-focus-ZE8ozmZE.cjs} +2 -2
  49. package/dist/{use-focus-BbpE2qGq.cjs.map → use-focus-ZE8ozmZE.cjs.map} +1 -1
  50. package/dist/{use-wallpaper-tint-CIqtoETa.cjs → use-wallpaper-tint-BuS80tbN.cjs} +2 -2
  51. package/dist/{use-wallpaper-tint-CIqtoETa.cjs.map → use-wallpaper-tint-BuS80tbN.cjs.map} +1 -1
  52. package/dist/{utils-CGCOTvxT.js → utils-CcyeqpKQ.js} +1 -1
  53. package/dist/{utils-CGCOTvxT.js.map → utils-CcyeqpKQ.js.map} +1 -1
  54. package/dist/{utils-CriE74ig.cjs → utils-DLXayspX.cjs} +2 -2
  55. package/dist/{utils-CriE74ig.cjs.map → utils-DLXayspX.cjs.map} +1 -1
  56. package/dist/utils.cjs +1 -1
  57. package/dist/utils.js +1 -1
  58. package/docs/AI_IMPROVEMENTS_COMPLETE.md +574 -0
  59. package/docs/AI_USAGE.md +1328 -0
  60. package/docs/API_PATTERNS_COMPARISON.md +418 -0
  61. package/docs/BEST_PRACTICES.md +800 -0
  62. package/docs/COMPLIANCE_CHECKLIST.md +307 -0
  63. package/docs/COMPLIANCE_TESTING.md +436 -0
  64. package/docs/COMPONENTS_CATALOG.md +1076 -0
  65. package/docs/CSS_VARIABLES_AUDIT.md +306 -0
  66. package/docs/CSS_VARIABLES_REFACTORING_PLAN.md +330 -0
  67. package/docs/EXPORTS_MAP.json +875 -0
  68. package/docs/EXPORTS_STRUCTURE.md +729 -0
  69. package/docs/GETTING_STARTED.md +655 -0
  70. package/docs/METRIC_CARD_API_REDESIGN.md +354 -0
  71. package/docs/PRIMITIVE_MAPPING.md +404 -0
  72. package/docs/PUBLISHING.md +593 -0
  73. package/docs/REGISTRY_SUMMARY.md +96 -0
  74. package/docs/REGISTRY_USAGE.md +339 -0
  75. package/docs/SECURITY.md +117 -0
  76. package/docs/THEME_CREATION_GUIDE.md +455 -0
  77. package/docs/TOKEN_ARCHITECTURE.md +365 -0
  78. package/docs/announcements/v1.0.5-devto.md +363 -0
  79. package/docs/announcements/v1.0.5-reddit.md +115 -0
  80. package/docs/announcements/v1.0.5-twitter.md +70 -0
  81. package/docs/api/README.md +725 -0
  82. package/docs/api/functions/ThemeProvider.md +21 -0
  83. package/docs/api/functions/cn.md +27 -0
  84. package/docs/api/functions/getNextTheme.md +21 -0
  85. package/docs/api/functions/getThemeConfig.md +21 -0
  86. package/docs/api/functions/useFocus.md +53 -0
  87. package/docs/api/functions/useHover.md +47 -0
  88. package/docs/api/functions/useResponsive.md +31 -0
  89. package/docs/api/functions/useTheme.md +15 -0
  90. package/docs/api/functions/useWallpaperTint.md +36 -0
  91. package/docs/api/globals.md +139 -0
  92. package/docs/api/interfaces/AlertGlassProps.md +131 -0
  93. package/docs/api/interfaces/AvatarGlassProps.md +114 -0
  94. package/docs/api/interfaces/BadgeGlassProps.md +118 -0
  95. package/docs/api/interfaces/ButtonGlassProps.md +179 -0
  96. package/docs/api/interfaces/CheckboxGlassProps.md +125 -0
  97. package/docs/api/interfaces/DropdownGlassProps.md +123 -0
  98. package/docs/api/interfaces/DropdownItem.md +53 -0
  99. package/docs/api/interfaces/GlassCardProps.md +151 -0
  100. package/docs/api/interfaces/InputGlassProps.md +169 -0
  101. package/docs/api/interfaces/NotificationGlassProps.md +67 -0
  102. package/docs/api/interfaces/ProgressGlassProps.md +49 -0
  103. package/docs/api/interfaces/SkeletonGlassProps.md +41 -0
  104. package/docs/api/interfaces/SliderGlassProps.md +107 -0
  105. package/docs/api/interfaces/TabItem.md +25 -0
  106. package/docs/api/interfaces/ThemeConfig.md +25 -0
  107. package/docs/api/interfaces/ThemeContextValue.md +47 -0
  108. package/docs/api/interfaces/ToggleGlassProps.md +59 -0
  109. package/docs/api/interfaces/TooltipGlassProps.md +119 -0
  110. package/docs/api/type-aliases/AlertType.md +11 -0
  111. package/docs/api/type-aliases/AlertVariant.md +11 -0
  112. package/docs/api/type-aliases/AvatarSize.md +11 -0
  113. package/docs/api/type-aliases/AvatarStatus.md +13 -0
  114. package/docs/api/type-aliases/BadgeSize.md +11 -0
  115. package/docs/api/type-aliases/BadgeVariant.md +11 -0
  116. package/docs/api/type-aliases/ButtonGlassSize.md +11 -0
  117. package/docs/api/type-aliases/ButtonGlassVariant.md +11 -0
  118. package/docs/api/type-aliases/DropdownAlign.md +11 -0
  119. package/docs/api/type-aliases/GlowType.md +11 -0
  120. package/docs/api/type-aliases/InputGlassSize.md +11 -0
  121. package/docs/api/type-aliases/IntensityType.md +11 -0
  122. package/docs/api/type-aliases/ModalSize.md +11 -0
  123. package/docs/api/type-aliases/NotificationType.md +11 -0
  124. package/docs/api/type-aliases/PaddingType.md +11 -0
  125. package/docs/api/type-aliases/ProgressGradient.md +11 -0
  126. package/docs/api/type-aliases/ProgressSize.md +11 -0
  127. package/docs/api/type-aliases/SkeletonVariant.md +11 -0
  128. package/docs/api/type-aliases/Theme.md +11 -0
  129. package/docs/api/type-aliases/ToggleGlassSize.md +11 -0
  130. package/docs/api/type-aliases/TooltipPosition.md +11 -0
  131. package/docs/api/variables/AICardGlass.md +11 -0
  132. package/docs/api/variables/AlertGlass.md +11 -0
  133. package/docs/api/variables/AvatarGlass.md +11 -0
  134. package/docs/api/variables/BadgeGlass.md +11 -0
  135. package/docs/api/variables/BaseProgressGlass.md +11 -0
  136. package/docs/api/variables/ButtonGlass.md +11 -0
  137. package/docs/api/variables/CareerStatsGlass.md +11 -0
  138. package/docs/api/variables/CareerStatsHeaderGlass.md +11 -0
  139. package/docs/api/variables/CheckboxGlass.md +11 -0
  140. package/docs/api/variables/CircularMetricGlass.md +22 -0
  141. package/docs/api/variables/CircularProgressGlass.md +11 -0
  142. package/docs/api/variables/ComboBoxGlass.md +27 -0
  143. package/docs/api/variables/ContributionMetricsGlass.md +11 -0
  144. package/docs/api/variables/DropdownGlass.md +11 -0
  145. package/docs/api/variables/ExpandableHeaderGlass.md +11 -0
  146. package/docs/api/variables/FlagAlertGlass.md +11 -0
  147. package/docs/api/variables/FlagsSectionGlass.md +11 -0
  148. package/docs/api/variables/FormFieldWrapper.md +44 -0
  149. package/docs/api/variables/GlassCard.md +11 -0
  150. package/docs/api/variables/HeaderBrandingGlass.md +11 -0
  151. package/docs/api/variables/HeaderNavGlass.md +11 -0
  152. package/docs/api/variables/IconButtonGlass.md +11 -0
  153. package/docs/api/variables/InputGlass.md +11 -0
  154. package/docs/api/variables/InteractiveCard.md +45 -0
  155. package/docs/api/variables/LanguageBarGlass.md +11 -0
  156. package/docs/api/variables/MetricCardGlass.md +11 -0
  157. package/docs/api/variables/MetricsGridGlass.md +11 -0
  158. package/docs/api/variables/ModalGlass.md +72 -0
  159. package/docs/api/variables/NotificationGlass.md +11 -0
  160. package/docs/api/variables/PopoverGlass.md +11 -0
  161. package/docs/api/variables/ProfileAvatarGlass.md +11 -0
  162. package/docs/api/variables/ProfileHeaderGlass.md +11 -0
  163. package/docs/api/variables/ProgressGlass.md +11 -0
  164. package/docs/api/variables/ProjectsListGlass.md +11 -0
  165. package/docs/api/variables/RainbowProgressGlass.md +11 -0
  166. package/docs/api/variables/RepositoryCardGlass.md +11 -0
  167. package/docs/api/variables/RepositoryHeaderGlass.md +11 -0
  168. package/docs/api/variables/RepositoryMetadataGlass.md +11 -0
  169. package/docs/api/variables/SearchBoxGlass.md +11 -0
  170. package/docs/api/variables/SegmentedControlGlass.md +11 -0
  171. package/docs/api/variables/SkeletonGlass.md +11 -0
  172. package/docs/api/variables/SliderGlass.md +11 -0
  173. package/docs/api/variables/SortDropdownGlass.md +11 -0
  174. package/docs/api/variables/StatItemGlass.md +11 -0
  175. package/docs/api/variables/StatusIndicatorGlass.md +11 -0
  176. package/docs/api/variables/THEMES.md +11 -0
  177. package/docs/api/variables/THEME_CONFIG.md +11 -0
  178. package/docs/api/variables/TabsGlass.md +52 -0
  179. package/docs/api/variables/ThemeToggleGlass.md +11 -0
  180. package/docs/api/variables/ToggleGlass.md +11 -0
  181. package/docs/api/variables/TooltipGlass.md +11 -0
  182. package/docs/api/variables/TouchTarget.md +35 -0
  183. package/docs/api/variables/TrustScoreCardGlass.md +11 -0
  184. package/docs/api/variables/TrustScoreDisplayGlass.md +11 -0
  185. package/docs/api/variables/UserInfoGlass.md +11 -0
  186. package/docs/api/variables/UserStatsLineGlass.md +11 -0
  187. package/docs/api/variables/YearCardGlass.md +11 -0
  188. package/docs/api/variables/alertVariants.md +21 -0
  189. package/docs/api/variables/avatarSizes.md +21 -0
  190. package/docs/api/variables/badgeVariants.md +21 -0
  191. package/docs/api/variables/buttonGlassVariants.md +21 -0
  192. package/docs/api/variables/cardIntensity.md +21 -0
  193. package/docs/api/variables/dropdownAlign.md +21 -0
  194. package/docs/api/variables/inputVariants.md +21 -0
  195. package/docs/api/variables/modalSizes.md +21 -0
  196. package/docs/api/variables/notificationVariants.md +21 -0
  197. package/docs/api/variables/progressSizes.md +21 -0
  198. package/docs/api/variables/shadcnAlertVariants.md +21 -0
  199. package/docs/api/variables/shadcnBadgeVariants.md +21 -0
  200. package/docs/api/variables/shadcnButtonVariants.md +21 -0
  201. package/docs/api/variables/skeletonVariants.md +21 -0
  202. package/docs/api/variables/statusSizes.md +21 -0
  203. package/docs/api/variables/toggleSizes.md +21 -0
  204. package/docs/api/variables/tooltipPositions.md +21 -0
  205. package/docs/design-system/UI_DESIGN.md +628 -0
  206. package/docs/migration/CSS_VARIABLES_MIGRATION_2.0.md +325 -0
  207. package/docs/migration/modal-glass-compound-api.md +458 -0
  208. package/docs/migration/select-to-combobox.md +386 -0
  209. package/docs/migration/tabs-glass-compound-api.md +579 -0
  210. package/docs/technical/DEPENDENCIES.md +291 -0
  211. package/docs/visual-testing-guide.md +324 -0
  212. package/package.json +16 -3
  213. package/dist/trust-score-card-glass-CNcQveNY.cjs +0 -8231
  214. package/dist/trust-score-card-glass-CNcQveNY.cjs.map +0 -1
  215. package/dist/trust-score-card-glass-CowcDyxH.js +0 -7795
  216. package/dist/trust-score-card-glass-CowcDyxH.js.map +0 -1
@@ -0,0 +1,118 @@
1
+ [**shadcn-glass-ui API Reference v1.0.7**](../README.md)
2
+
3
+ ***
4
+
5
+ [shadcn-glass-ui API Reference](../globals.md) / BadgeGlassProps
6
+
7
+ # Interface: BadgeGlassProps
8
+
9
+ Defined in: [src/components/glass/ui/badge-glass.tsx:141](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/badge-glass.tsx#L141)
10
+
11
+ Props for the BadgeGlass component
12
+
13
+ A glass-themed badge with semantic variants and optional animated status dot.
14
+ Features shadcn/ui compatible variants plus extended Glass UI variants.
15
+
16
+ ## Accessibility
17
+
18
+ - **Keyboard Navigation:** Badges are non-interactive by default (display-only)
19
+ - **Focus Management:** N/A - badges do not receive focus unless wrapped in interactive elements
20
+ - **Screen Readers:** Semantic `<span>` element, content announced naturally
21
+ - **Status Indicators:** Use `aria-label` to provide context for status badges (e.g., "Status: Active")
22
+ - **Animated Dot:** Pulse animation respects `prefers-reduced-motion` settings
23
+ - **Touch Targets:** N/A for display badges, ensure 44x44px if wrapping in button/link (WCAG 2.5.5)
24
+ - **Color Contrast:** All variant text meets WCAG AA contrast ratio 4.5:1 against badge background
25
+ - **Motion:** Dot pulse animation can be disabled for users with motion sensitivity
26
+
27
+ ## Example
28
+
29
+ ```tsx
30
+ // Basic badge with variant
31
+ <BadgeGlass variant="default">New</BadgeGlass>
32
+
33
+ // Status badge with aria-label for screen readers
34
+ <BadgeGlass variant="success" aria-label="Status: Active">
35
+ Active
36
+ </BadgeGlass>
37
+
38
+ // Different variants (shadcn/ui compatible)
39
+ <BadgeGlass variant="default">Default</BadgeGlass>
40
+ <BadgeGlass variant="secondary">Secondary</BadgeGlass>
41
+ <BadgeGlass variant="destructive">Error</BadgeGlass>
42
+ <BadgeGlass variant="outline">Outline</BadgeGlass>
43
+
44
+ // Extended Glass UI variants
45
+ <BadgeGlass variant="success">Success</BadgeGlass>
46
+ <BadgeGlass variant="warning">Warning</BadgeGlass>
47
+ <BadgeGlass variant="info">Info</BadgeGlass>
48
+
49
+ // With animated status dot
50
+ <BadgeGlass variant="success" dot aria-label="Status: Online">
51
+ Online
52
+ </BadgeGlass>
53
+ <BadgeGlass variant="destructive" dot aria-label="Status: Offline">
54
+ Offline
55
+ </BadgeGlass>
56
+
57
+ // Size variants
58
+ <BadgeGlass size="sm">Small</BadgeGlass>
59
+ <BadgeGlass size="md">Medium</BadgeGlass>
60
+ <BadgeGlass size="lg">Large</BadgeGlass>
61
+
62
+ // Inside interactive elements (ensure accessible labels)
63
+ <button aria-label="Filter by active status">
64
+ Filter: <BadgeGlass variant="success">Active</BadgeGlass>
65
+ </button>
66
+
67
+ // Count badge with semantic meaning
68
+ <div>
69
+ <span>Notifications</span>
70
+ <BadgeGlass variant="destructive" aria-label="3 unread notifications">
71
+ 3
72
+ </BadgeGlass>
73
+ </div>
74
+ ```
75
+
76
+ ## Extends
77
+
78
+ - `Omit`\<`React.HTMLAttributes`\<`HTMLSpanElement`\>, `"style"`\>.`VariantProps`\<*typeof* [`badgeVariants`](../variables/badgeVariants.md)\>
79
+
80
+ ## Properties
81
+
82
+ ### children
83
+
84
+ > `readonly` **children**: `ReactNode`
85
+
86
+ Defined in: [src/components/glass/ui/badge-glass.tsx:144](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/badge-glass.tsx#L144)
87
+
88
+ #### Overrides
89
+
90
+ `Omit.children`
91
+
92
+ ***
93
+
94
+ ### variant?
95
+
96
+ > `readonly` `optional` **variant**: [`BadgeVariant`](../type-aliases/BadgeVariant.md)
97
+
98
+ Defined in: [src/components/glass/ui/badge-glass.tsx:145](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/badge-glass.tsx#L145)
99
+
100
+ ***
101
+
102
+ ### dot?
103
+
104
+ > `readonly` `optional` **dot**: `boolean`
105
+
106
+ Defined in: [src/components/glass/ui/badge-glass.tsx:146](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/badge-glass.tsx#L146)
107
+
108
+ ***
109
+
110
+ ### size?
111
+
112
+ > `optional` **size**: `"sm"` \| `"md"` \| `"lg"` \| `null`
113
+
114
+ Defined in: [src/lib/variants/badge-glass-variants.ts:24](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/lib/variants/badge-glass-variants.ts#L24)
115
+
116
+ #### Inherited from
117
+
118
+ `VariantProps.size`
@@ -0,0 +1,179 @@
1
+ [**shadcn-glass-ui API Reference v1.0.7**](../README.md)
2
+
3
+ ***
4
+
5
+ [shadcn-glass-ui API Reference](../globals.md) / ButtonGlassProps
6
+
7
+ # Interface: ButtonGlassProps
8
+
9
+ Defined in: [src/components/glass/ui/button-glass.tsx:157](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/button-glass.tsx#L157)
10
+
11
+ Props for the ButtonGlass component
12
+
13
+ A glass-themed button with ripple effects, loading states, and icon support.
14
+ Features theme-aware styling and hover animations.
15
+
16
+ ## Accessibility
17
+
18
+ - **Keyboard Navigation:** Fully keyboard accessible with native `<button>` element
19
+ - **Focus Management:** Visible focus ring using `--focus-glow` CSS variable (WCAG 2.4.7)
20
+ - **Screen Readers:** Semantic `<button>` element, disabled state announced automatically
21
+ - **Loading State:** When loading=true, button is disabled and loading spinner is visible
22
+ - **Touch Targets:** Minimum 44x44px touch target (WCAG 2.5.5) via size variants
23
+ - **Color Contrast:** All variants meet WCAG AA contrast ratio 4.5:1 minimum
24
+ - **Motion:** Respects `prefers-reduced-motion` for ripple/shine animations
25
+
26
+ ## Example
27
+
28
+ ```tsx
29
+ // Basic button
30
+ <ButtonGlass variant="primary">Click me</ButtonGlass>
31
+
32
+ // With icon and aria-label for icon-only buttons
33
+ <ButtonGlass icon={Check} iconPosition="left">Save</ButtonGlass>
34
+ <ButtonGlass icon={X} size="icon" aria-label="Close dialog" />
35
+
36
+ // Loading state (automatically disables and shows spinner)
37
+ <ButtonGlass loading aria-live="polite">Processing...</ButtonGlass>
38
+
39
+ // Different variants
40
+ <ButtonGlass variant="ghost">Cancel</ButtonGlass>
41
+ <ButtonGlass variant="success">Confirm</ButtonGlass>
42
+ <ButtonGlass variant="destructive">Delete</ButtonGlass>
43
+
44
+ // As a link (asChild pattern) - maintains semantic HTML
45
+ <ButtonGlass asChild variant="primary">
46
+ <a href="/dashboard">Go to Dashboard</a>
47
+ </ButtonGlass>
48
+
49
+ // With Next.js Link
50
+ <ButtonGlass asChild variant="ghost">
51
+ <Link href="/settings">Settings</Link>
52
+ </ButtonGlass>
53
+
54
+ // Form submit button
55
+ <ButtonGlass type="submit" variant="primary">
56
+ Submit Form
57
+ </ButtonGlass>
58
+ ```
59
+
60
+ ## Extends
61
+
62
+ - `Omit`\<`React.ButtonHTMLAttributes`\<`HTMLButtonElement`\>, `"style"`\>.`VariantProps`\<*typeof* [`buttonGlassVariants`](../variables/buttonGlassVariants.md)\>
63
+
64
+ ## Properties
65
+
66
+ ### asChild?
67
+
68
+ > `readonly` `optional` **asChild**: `boolean`
69
+
70
+ Defined in: [src/components/glass/ui/button-glass.tsx:176](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/button-glass.tsx#L176)
71
+
72
+ Render as child element instead of button (polymorphic rendering).
73
+ Useful for rendering buttons as links or other interactive elements.
74
+
75
+ **Note:** When using `asChild`, decorative effects (ripple, shine, glow)
76
+ are disabled to maintain compatibility with Radix UI Slot.
77
+ Only styles and event handlers are passed to the child element.
78
+
79
+ #### Default
80
+
81
+ ```ts
82
+ false
83
+ ```
84
+
85
+ #### Example
86
+
87
+ ```tsx
88
+ <ButtonGlass asChild>
89
+ <a href="/about">About Us</a>
90
+ </ButtonGlass>
91
+ ```
92
+
93
+ ***
94
+
95
+ ### variant?
96
+
97
+ > `readonly` `optional` **variant**: [`ButtonGlassVariant`](../type-aliases/ButtonGlassVariant.md)
98
+
99
+ Defined in: [src/components/glass/ui/button-glass.tsx:182](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/button-glass.tsx#L182)
100
+
101
+ Visual style variant of the button
102
+
103
+ #### Default
104
+
105
+ ```ts
106
+ "primary"
107
+ ```
108
+
109
+ #### Overrides
110
+
111
+ `VariantProps.variant`
112
+
113
+ ***
114
+
115
+ ### loading?
116
+
117
+ > `readonly` `optional` **loading**: `boolean`
118
+
119
+ Defined in: [src/components/glass/ui/button-glass.tsx:188](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/button-glass.tsx#L188)
120
+
121
+ Show loading spinner and disable interactions
122
+
123
+ #### Default
124
+
125
+ ```ts
126
+ false
127
+ ```
128
+
129
+ ***
130
+
131
+ ### icon?
132
+
133
+ > `readonly` `optional` **icon**: `LucideIcon`
134
+
135
+ Defined in: [src/components/glass/ui/button-glass.tsx:194](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/button-glass.tsx#L194)
136
+
137
+ Icon component from lucide-react to display
138
+
139
+ #### Example
140
+
141
+ ```ts
142
+ icon={Check}
143
+ ```
144
+
145
+ ***
146
+
147
+ ### iconPosition?
148
+
149
+ > `readonly` `optional` **iconPosition**: `"left"` \| `"right"`
150
+
151
+ Defined in: [src/components/glass/ui/button-glass.tsx:200](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/button-glass.tsx#L200)
152
+
153
+ Position of the icon relative to button text
154
+
155
+ #### Default
156
+
157
+ ```ts
158
+ "left"
159
+ ```
160
+
161
+ ***
162
+
163
+ ### size?
164
+
165
+ > `readonly` `optional` **size**: `"sm"` \| `"md"` \| `"lg"` \| `"icon"`
166
+
167
+ Defined in: [src/components/glass/ui/button-glass.tsx:206](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/button-glass.tsx#L206)
168
+
169
+ Size variant of the button
170
+
171
+ #### Default
172
+
173
+ ```ts
174
+ "md"
175
+ ```
176
+
177
+ #### Overrides
178
+
179
+ `VariantProps.size`
@@ -0,0 +1,125 @@
1
+ [**shadcn-glass-ui API Reference v1.0.7**](../README.md)
2
+
3
+ ***
4
+
5
+ [shadcn-glass-ui API Reference](../globals.md) / CheckboxGlassProps
6
+
7
+ # Interface: CheckboxGlassProps
8
+
9
+ Defined in: [src/components/glass/ui/checkbox-glass.tsx:94](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/checkbox-glass.tsx#L94)
10
+
11
+ Props for the CheckboxGlass component
12
+
13
+ A glass-themed checkbox with accessible keyboard navigation, focus management,
14
+ and touch-friendly targets. Features glow effects and theme-aware styling.
15
+
16
+ ## Accessibility
17
+
18
+ - **Keyboard Navigation:** Full keyboard support with Enter/Space to toggle, Tab to focus (WCAG 2.1.1)
19
+ - **Focus Management:** Visible focus ring using `--focus-glow` CSS variable (WCAG 2.4.7)
20
+ - **Screen Readers:** Dual implementation with native `<input type="checkbox">` (hidden) + visual `<div role="checkbox">`
21
+ - **ARIA Attributes:** Uses `role="checkbox"` and `aria-checked` for proper state announcement
22
+ - **Label Association:** Visual label automatically associated with checkbox via `<label>` wrapper
23
+ - **Touch Targets:** 44x44px minimum touch area per Apple HIG (WCAG 2.5.5 compliance)
24
+ - **Color Contrast:** Check mark and backgrounds meet WCAG AA contrast ratio 4.5:1
25
+ - **Motion:** Transitions respect `prefers-reduced-motion` settings
26
+
27
+ ## Example
28
+
29
+ ```tsx
30
+ // Basic checkbox with label
31
+ <CheckboxGlass checked={agreed} onChange={setAgreed} label="I agree to terms" />
32
+
33
+ // Checkbox with accessible name (no visual label)
34
+ <CheckboxGlass
35
+ checked={checked}
36
+ onChange={setChecked}
37
+ aria-label="Select all items"
38
+ />
39
+
40
+ // Form integration with validation
41
+ <form onSubmit={handleSubmit}>
42
+ <CheckboxGlass
43
+ checked={newsletter}
44
+ onChange={setNewsletter}
45
+ label="Subscribe to newsletter"
46
+ aria-describedby="newsletter-help"
47
+ />
48
+ <p id="newsletter-help">Receive weekly updates</p>
49
+ <CheckboxGlass
50
+ checked={terms}
51
+ onChange={setTerms}
52
+ label="Accept terms and conditions"
53
+ required
54
+ aria-invalid={submitted && !terms}
55
+ />
56
+ {submitted && !terms && (
57
+ <span role="alert">You must accept the terms</span>
58
+ )}
59
+ </form>
60
+
61
+ // Disabled checkbox (state announced to screen readers)
62
+ <CheckboxGlass
63
+ checked={true}
64
+ onChange={() => {}}
65
+ label="This option is locked"
66
+ disabled
67
+ />
68
+
69
+ // Checkbox group with fieldset
70
+ <fieldset>
71
+ <legend>Select your interests</legend>
72
+ <CheckboxGlass
73
+ checked={interests.tech}
74
+ onChange={(checked) => setInterests({ ...interests, tech: checked })}
75
+ label="Technology"
76
+ />
77
+ <CheckboxGlass
78
+ checked={interests.design}
79
+ onChange={(checked) => setInterests({ ...interests, design: checked })}
80
+ label="Design"
81
+ />
82
+ </fieldset>
83
+ ```
84
+
85
+ ## Extends
86
+
87
+ - `Omit`\<`React.InputHTMLAttributes`\<`HTMLInputElement`\>, `"onChange"`\>
88
+
89
+ ## Properties
90
+
91
+ ### checked
92
+
93
+ > `readonly` **checked**: `boolean`
94
+
95
+ Defined in: [src/components/glass/ui/checkbox-glass.tsx:96](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/checkbox-glass.tsx#L96)
96
+
97
+ #### Overrides
98
+
99
+ `Omit.checked`
100
+
101
+ ***
102
+
103
+ ### onChange()?
104
+
105
+ > `readonly` `optional` **onChange**: (`checked`) => `void`
106
+
107
+ Defined in: [src/components/glass/ui/checkbox-glass.tsx:97](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/checkbox-glass.tsx#L97)
108
+
109
+ #### Parameters
110
+
111
+ ##### checked
112
+
113
+ `boolean`
114
+
115
+ #### Returns
116
+
117
+ `void`
118
+
119
+ ***
120
+
121
+ ### label?
122
+
123
+ > `readonly` `optional` **label**: `string`
124
+
125
+ Defined in: [src/components/glass/ui/checkbox-glass.tsx:98](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/checkbox-glass.tsx#L98)
@@ -0,0 +1,123 @@
1
+ [**shadcn-glass-ui API Reference v1.0.7**](../README.md)
2
+
3
+ ***
4
+
5
+ [shadcn-glass-ui API Reference](../globals.md) / DropdownGlassProps
6
+
7
+ # Interface: DropdownGlassProps
8
+
9
+ Defined in: [src/components/glass/ui/dropdown-glass.tsx:208](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/dropdown-glass.tsx#L208)
10
+
11
+ Props for the DropdownGlass component
12
+
13
+ A glass-themed dropdown menu with accessible keyboard navigation, based on Radix UI primitives.
14
+ Features theme-aware styling, smooth animations, and WCAG-compliant interactions.
15
+
16
+ ## Accessibility
17
+
18
+ - **Keyboard Navigation:** Arrow keys navigate menu items, Enter/Space activates, Escape closes (WCAG 2.1.1)
19
+ - **Focus Management:** Focus trapped within menu when open, returned to trigger on close (WCAG 2.4.3)
20
+ - **Screen Readers:** Uses `role="menu"` and `role="menuitem"` for proper menu semantics (WCAG 4.1.3)
21
+ - **ARIA Attributes:** Items marked with `data-highlighted` state for screen reader announcement
22
+ - **Trigger Association:** Menu automatically associated with trigger button via Radix UI primitives
23
+ - **Touch Targets:** All menu items meet minimum 44x44px touch target (WCAG 2.5.5)
24
+ - **Color Contrast:** Menu text and backgrounds meet WCAG AA contrast ratio 4.5:1
25
+ - **Motion:** Open/close animations respect `prefers-reduced-motion` settings
26
+
27
+ ## Example
28
+
29
+ ```tsx
30
+ // Basic dropdown with icon items
31
+ <DropdownGlass
32
+ trigger={
33
+ <button aria-label="Open menu">
34
+ <MoreVertical className="w-5 h-5" />
35
+ </button>
36
+ }
37
+ items={[
38
+ { label: 'Edit', icon: Edit, onClick: handleEdit },
39
+ { label: 'Delete', icon: Trash, onClick: handleDelete, danger: true }
40
+ ]}
41
+ />
42
+
43
+ // Dropdown with dividers and alignment
44
+ <DropdownGlass
45
+ trigger={<ButtonGlass>Actions</ButtonGlass>}
46
+ align="right"
47
+ items={[
48
+ { label: 'View', icon: Eye, onClick: () => navigate('/view') },
49
+ { label: 'Edit', icon: Edit, onClick: () => setEditMode(true) },
50
+ { divider: true },
51
+ { label: 'Archive', icon: Archive, onClick: handleArchive },
52
+ { divider: true },
53
+ { label: 'Delete', icon: Trash, onClick: handleDelete, danger: true }
54
+ ]}
55
+ />
56
+
57
+ // Dropdown in table row (ensure trigger has accessible label)
58
+ <DropdownGlass
59
+ trigger={
60
+ <button aria-label={`Actions for ${user.name}`}>
61
+ <MoreHorizontal />
62
+ </button>
63
+ }
64
+ items={[
65
+ { label: 'View Profile', onClick: () => viewProfile(user.id) },
66
+ { label: 'Send Message', onClick: () => sendMessage(user.id) }
67
+ ]}
68
+ />
69
+
70
+ // Dropdown with keyboard-friendly trigger
71
+ <DropdownGlass
72
+ trigger={
73
+ <ButtonGlass
74
+ icon={Settings}
75
+ variant="ghost"
76
+ aria-haspopup="menu"
77
+ aria-label="Settings menu"
78
+ >
79
+ Settings
80
+ </ButtonGlass>
81
+ }
82
+ items={[
83
+ { label: 'Preferences', icon: Sliders, onClick: () => navigate('/settings/preferences') },
84
+ { label: 'Security', icon: Lock, onClick: () => navigate('/settings/security') },
85
+ { divider: true },
86
+ { label: 'Log Out', icon: LogOut, onClick: handleLogout }
87
+ ]}
88
+ />
89
+
90
+ // Advanced: Using Radix primitives directly (see component JSDoc for examples)
91
+ ```
92
+
93
+ ## Properties
94
+
95
+ ### trigger
96
+
97
+ > `readonly` **trigger**: `ReactNode`
98
+
99
+ Defined in: [src/components/glass/ui/dropdown-glass.tsx:209](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/dropdown-glass.tsx#L209)
100
+
101
+ ***
102
+
103
+ ### items
104
+
105
+ > `readonly` **items**: readonly [`DropdownItem`](DropdownItem.md)[]
106
+
107
+ Defined in: [src/components/glass/ui/dropdown-glass.tsx:210](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/dropdown-glass.tsx#L210)
108
+
109
+ ***
110
+
111
+ ### align?
112
+
113
+ > `readonly` `optional` **align**: `"left"` \| `"right"`
114
+
115
+ Defined in: [src/components/glass/ui/dropdown-glass.tsx:211](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/dropdown-glass.tsx#L211)
116
+
117
+ ***
118
+
119
+ ### className?
120
+
121
+ > `readonly` `optional` **className**: `string`
122
+
123
+ Defined in: [src/components/glass/ui/dropdown-glass.tsx:212](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/dropdown-glass.tsx#L212)
@@ -0,0 +1,53 @@
1
+ [**shadcn-glass-ui API Reference v1.0.7**](../README.md)
2
+
3
+ ***
4
+
5
+ [shadcn-glass-ui API Reference](../globals.md) / DropdownItem
6
+
7
+ # Interface: DropdownItem
8
+
9
+ Defined in: [src/components/glass/ui/dropdown-glass.tsx:115](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/dropdown-glass.tsx#L115)
10
+
11
+ ## Properties
12
+
13
+ ### label?
14
+
15
+ > `readonly` `optional` **label**: `string`
16
+
17
+ Defined in: [src/components/glass/ui/dropdown-glass.tsx:116](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/dropdown-glass.tsx#L116)
18
+
19
+ ***
20
+
21
+ ### icon?
22
+
23
+ > `readonly` `optional` **icon**: `LucideIcon`
24
+
25
+ Defined in: [src/components/glass/ui/dropdown-glass.tsx:117](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/dropdown-glass.tsx#L117)
26
+
27
+ ***
28
+
29
+ ### onClick()?
30
+
31
+ > `readonly` `optional` **onClick**: () => `void`
32
+
33
+ Defined in: [src/components/glass/ui/dropdown-glass.tsx:118](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/dropdown-glass.tsx#L118)
34
+
35
+ #### Returns
36
+
37
+ `void`
38
+
39
+ ***
40
+
41
+ ### danger?
42
+
43
+ > `readonly` `optional` **danger**: `boolean`
44
+
45
+ Defined in: [src/components/glass/ui/dropdown-glass.tsx:119](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/dropdown-glass.tsx#L119)
46
+
47
+ ***
48
+
49
+ ### divider?
50
+
51
+ > `readonly` `optional` **divider**: `boolean`
52
+
53
+ Defined in: [src/components/glass/ui/dropdown-glass.tsx:120](https://github.com/Yhooi2/shadcn-glass-ui-library/blob/926c43a35b985ce0dee6d96ce88a1fc3d72f4d67/src/components/glass/ui/dropdown-glass.tsx#L120)