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.
- package/CHANGELOG.md +259 -16
- package/README.md +248 -28
- package/context7.json +58 -0
- package/dist/cli/index.cjs +470 -0
- package/dist/cli/index.cjs.map +1 -0
- package/dist/cli/index.d.ts +18 -0
- package/dist/cli/index.js +469 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/components.cjs +4 -4
- package/dist/components.d.ts +153 -22
- package/dist/components.js +2 -2
- package/dist/hooks.cjs +2 -2
- package/dist/index.cjs +872 -5
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +0 -2390
- package/dist/index.js +844 -3
- package/dist/index.js.map +1 -1
- package/dist/r/ai-card-glass.json +5 -12
- package/dist/r/avatar-glass.json +5 -15
- package/dist/r/circular-metric-glass.json +5 -11
- package/dist/r/circular-progress-glass.json +5 -12
- package/dist/r/combobox-glass.json +5 -13
- package/dist/r/flag-alert-glass.json +5 -11
- package/dist/r/flags-section-glass.json +5 -12
- package/dist/r/insight-card-glass.json +17 -0
- package/dist/r/interactive-card.json +5 -12
- package/dist/r/language-bar-glass.json +5 -11
- package/dist/r/metric-card-glass.json +6 -13
- package/dist/r/metrics-grid-glass.json +5 -11
- package/dist/r/modal-glass.json +5 -15
- package/dist/r/popover-glass.json +1 -1
- package/dist/r/progress-glass.json +5 -13
- package/dist/r/registry.json +20 -2
- package/dist/r/segmented-control-glass.json +5 -11
- package/dist/r/sparkline-glass.json +17 -0
- package/dist/r/stepper-glass.json +33 -0
- package/dist/r/tabs-glass.json +4 -9
- package/dist/r/trust-score-card-glass.json +5 -12
- package/dist/r/year-card-glass.json +5 -13
- package/dist/shadcn-glass-ui.css +1 -1
- package/dist/{theme-context-XtasSxRT.cjs → theme-context-CVW50BKW.cjs} +2 -2
- package/dist/{theme-context-XtasSxRT.cjs.map → theme-context-CVW50BKW.cjs.map} +1 -1
- package/dist/themes.cjs +1 -1
- package/dist/trust-score-card-glass-BcZbul0P.js +26895 -0
- package/dist/trust-score-card-glass-BcZbul0P.js.map +1 -0
- package/dist/trust-score-card-glass-r3qM09Jp.cjs +27689 -0
- package/dist/trust-score-card-glass-r3qM09Jp.cjs.map +1 -0
- package/dist/{use-focus-BbpE2qGq.cjs → use-focus-ZE8ozmZE.cjs} +2 -2
- package/dist/{use-focus-BbpE2qGq.cjs.map → use-focus-ZE8ozmZE.cjs.map} +1 -1
- package/dist/{use-wallpaper-tint-CIqtoETa.cjs → use-wallpaper-tint-BuS80tbN.cjs} +2 -2
- package/dist/{use-wallpaper-tint-CIqtoETa.cjs.map → use-wallpaper-tint-BuS80tbN.cjs.map} +1 -1
- package/dist/{utils-CGCOTvxT.js → utils-CcyeqpKQ.js} +1 -1
- package/dist/{utils-CGCOTvxT.js.map → utils-CcyeqpKQ.js.map} +1 -1
- package/dist/{utils-CriE74ig.cjs → utils-DLXayspX.cjs} +2 -2
- package/dist/{utils-CriE74ig.cjs.map → utils-DLXayspX.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.js +1 -1
- package/docs/AI_IMPROVEMENTS_COMPLETE.md +574 -0
- package/docs/AI_USAGE.md +1328 -0
- package/docs/API_PATTERNS_COMPARISON.md +418 -0
- package/docs/BEST_PRACTICES.md +800 -0
- package/docs/COMPLIANCE_CHECKLIST.md +307 -0
- package/docs/COMPLIANCE_TESTING.md +436 -0
- package/docs/COMPONENTS_CATALOG.md +1076 -0
- package/docs/CSS_VARIABLES_AUDIT.md +306 -0
- package/docs/CSS_VARIABLES_REFACTORING_PLAN.md +330 -0
- package/docs/EXPORTS_MAP.json +875 -0
- package/docs/EXPORTS_STRUCTURE.md +729 -0
- package/docs/GETTING_STARTED.md +655 -0
- package/docs/METRIC_CARD_API_REDESIGN.md +354 -0
- package/docs/PRIMITIVE_MAPPING.md +404 -0
- package/docs/PUBLISHING.md +593 -0
- package/docs/REGISTRY_SUMMARY.md +96 -0
- package/docs/REGISTRY_USAGE.md +339 -0
- package/docs/SECURITY.md +117 -0
- package/docs/THEME_CREATION_GUIDE.md +455 -0
- package/docs/TOKEN_ARCHITECTURE.md +365 -0
- package/docs/announcements/v1.0.5-devto.md +363 -0
- package/docs/announcements/v1.0.5-reddit.md +115 -0
- package/docs/announcements/v1.0.5-twitter.md +70 -0
- package/docs/api/README.md +725 -0
- package/docs/api/functions/ThemeProvider.md +21 -0
- package/docs/api/functions/cn.md +27 -0
- package/docs/api/functions/getNextTheme.md +21 -0
- package/docs/api/functions/getThemeConfig.md +21 -0
- package/docs/api/functions/useFocus.md +53 -0
- package/docs/api/functions/useHover.md +47 -0
- package/docs/api/functions/useResponsive.md +31 -0
- package/docs/api/functions/useTheme.md +15 -0
- package/docs/api/functions/useWallpaperTint.md +36 -0
- package/docs/api/globals.md +139 -0
- package/docs/api/interfaces/AlertGlassProps.md +131 -0
- package/docs/api/interfaces/AvatarGlassProps.md +114 -0
- package/docs/api/interfaces/BadgeGlassProps.md +118 -0
- package/docs/api/interfaces/ButtonGlassProps.md +179 -0
- package/docs/api/interfaces/CheckboxGlassProps.md +125 -0
- package/docs/api/interfaces/DropdownGlassProps.md +123 -0
- package/docs/api/interfaces/DropdownItem.md +53 -0
- package/docs/api/interfaces/GlassCardProps.md +151 -0
- package/docs/api/interfaces/InputGlassProps.md +169 -0
- package/docs/api/interfaces/NotificationGlassProps.md +67 -0
- package/docs/api/interfaces/ProgressGlassProps.md +49 -0
- package/docs/api/interfaces/SkeletonGlassProps.md +41 -0
- package/docs/api/interfaces/SliderGlassProps.md +107 -0
- package/docs/api/interfaces/TabItem.md +25 -0
- package/docs/api/interfaces/ThemeConfig.md +25 -0
- package/docs/api/interfaces/ThemeContextValue.md +47 -0
- package/docs/api/interfaces/ToggleGlassProps.md +59 -0
- package/docs/api/interfaces/TooltipGlassProps.md +119 -0
- package/docs/api/type-aliases/AlertType.md +11 -0
- package/docs/api/type-aliases/AlertVariant.md +11 -0
- package/docs/api/type-aliases/AvatarSize.md +11 -0
- package/docs/api/type-aliases/AvatarStatus.md +13 -0
- package/docs/api/type-aliases/BadgeSize.md +11 -0
- package/docs/api/type-aliases/BadgeVariant.md +11 -0
- package/docs/api/type-aliases/ButtonGlassSize.md +11 -0
- package/docs/api/type-aliases/ButtonGlassVariant.md +11 -0
- package/docs/api/type-aliases/DropdownAlign.md +11 -0
- package/docs/api/type-aliases/GlowType.md +11 -0
- package/docs/api/type-aliases/InputGlassSize.md +11 -0
- package/docs/api/type-aliases/IntensityType.md +11 -0
- package/docs/api/type-aliases/ModalSize.md +11 -0
- package/docs/api/type-aliases/NotificationType.md +11 -0
- package/docs/api/type-aliases/PaddingType.md +11 -0
- package/docs/api/type-aliases/ProgressGradient.md +11 -0
- package/docs/api/type-aliases/ProgressSize.md +11 -0
- package/docs/api/type-aliases/SkeletonVariant.md +11 -0
- package/docs/api/type-aliases/Theme.md +11 -0
- package/docs/api/type-aliases/ToggleGlassSize.md +11 -0
- package/docs/api/type-aliases/TooltipPosition.md +11 -0
- package/docs/api/variables/AICardGlass.md +11 -0
- package/docs/api/variables/AlertGlass.md +11 -0
- package/docs/api/variables/AvatarGlass.md +11 -0
- package/docs/api/variables/BadgeGlass.md +11 -0
- package/docs/api/variables/BaseProgressGlass.md +11 -0
- package/docs/api/variables/ButtonGlass.md +11 -0
- package/docs/api/variables/CareerStatsGlass.md +11 -0
- package/docs/api/variables/CareerStatsHeaderGlass.md +11 -0
- package/docs/api/variables/CheckboxGlass.md +11 -0
- package/docs/api/variables/CircularMetricGlass.md +22 -0
- package/docs/api/variables/CircularProgressGlass.md +11 -0
- package/docs/api/variables/ComboBoxGlass.md +27 -0
- package/docs/api/variables/ContributionMetricsGlass.md +11 -0
- package/docs/api/variables/DropdownGlass.md +11 -0
- package/docs/api/variables/ExpandableHeaderGlass.md +11 -0
- package/docs/api/variables/FlagAlertGlass.md +11 -0
- package/docs/api/variables/FlagsSectionGlass.md +11 -0
- package/docs/api/variables/FormFieldWrapper.md +44 -0
- package/docs/api/variables/GlassCard.md +11 -0
- package/docs/api/variables/HeaderBrandingGlass.md +11 -0
- package/docs/api/variables/HeaderNavGlass.md +11 -0
- package/docs/api/variables/IconButtonGlass.md +11 -0
- package/docs/api/variables/InputGlass.md +11 -0
- package/docs/api/variables/InteractiveCard.md +45 -0
- package/docs/api/variables/LanguageBarGlass.md +11 -0
- package/docs/api/variables/MetricCardGlass.md +11 -0
- package/docs/api/variables/MetricsGridGlass.md +11 -0
- package/docs/api/variables/ModalGlass.md +72 -0
- package/docs/api/variables/NotificationGlass.md +11 -0
- package/docs/api/variables/PopoverGlass.md +11 -0
- package/docs/api/variables/ProfileAvatarGlass.md +11 -0
- package/docs/api/variables/ProfileHeaderGlass.md +11 -0
- package/docs/api/variables/ProgressGlass.md +11 -0
- package/docs/api/variables/ProjectsListGlass.md +11 -0
- package/docs/api/variables/RainbowProgressGlass.md +11 -0
- package/docs/api/variables/RepositoryCardGlass.md +11 -0
- package/docs/api/variables/RepositoryHeaderGlass.md +11 -0
- package/docs/api/variables/RepositoryMetadataGlass.md +11 -0
- package/docs/api/variables/SearchBoxGlass.md +11 -0
- package/docs/api/variables/SegmentedControlGlass.md +11 -0
- package/docs/api/variables/SkeletonGlass.md +11 -0
- package/docs/api/variables/SliderGlass.md +11 -0
- package/docs/api/variables/SortDropdownGlass.md +11 -0
- package/docs/api/variables/StatItemGlass.md +11 -0
- package/docs/api/variables/StatusIndicatorGlass.md +11 -0
- package/docs/api/variables/THEMES.md +11 -0
- package/docs/api/variables/THEME_CONFIG.md +11 -0
- package/docs/api/variables/TabsGlass.md +52 -0
- package/docs/api/variables/ThemeToggleGlass.md +11 -0
- package/docs/api/variables/ToggleGlass.md +11 -0
- package/docs/api/variables/TooltipGlass.md +11 -0
- package/docs/api/variables/TouchTarget.md +35 -0
- package/docs/api/variables/TrustScoreCardGlass.md +11 -0
- package/docs/api/variables/TrustScoreDisplayGlass.md +11 -0
- package/docs/api/variables/UserInfoGlass.md +11 -0
- package/docs/api/variables/UserStatsLineGlass.md +11 -0
- package/docs/api/variables/YearCardGlass.md +11 -0
- package/docs/api/variables/alertVariants.md +21 -0
- package/docs/api/variables/avatarSizes.md +21 -0
- package/docs/api/variables/badgeVariants.md +21 -0
- package/docs/api/variables/buttonGlassVariants.md +21 -0
- package/docs/api/variables/cardIntensity.md +21 -0
- package/docs/api/variables/dropdownAlign.md +21 -0
- package/docs/api/variables/inputVariants.md +21 -0
- package/docs/api/variables/modalSizes.md +21 -0
- package/docs/api/variables/notificationVariants.md +21 -0
- package/docs/api/variables/progressSizes.md +21 -0
- package/docs/api/variables/shadcnAlertVariants.md +21 -0
- package/docs/api/variables/shadcnBadgeVariants.md +21 -0
- package/docs/api/variables/shadcnButtonVariants.md +21 -0
- package/docs/api/variables/skeletonVariants.md +21 -0
- package/docs/api/variables/statusSizes.md +21 -0
- package/docs/api/variables/toggleSizes.md +21 -0
- package/docs/api/variables/tooltipPositions.md +21 -0
- package/docs/design-system/UI_DESIGN.md +628 -0
- package/docs/migration/CSS_VARIABLES_MIGRATION_2.0.md +325 -0
- package/docs/migration/modal-glass-compound-api.md +458 -0
- package/docs/migration/select-to-combobox.md +386 -0
- package/docs/migration/tabs-glass-compound-api.md +579 -0
- package/docs/technical/DEPENDENCIES.md +291 -0
- package/docs/visual-testing-guide.md +324 -0
- package/package.json +16 -3
- package/dist/trust-score-card-glass-CNcQveNY.cjs +0 -8231
- package/dist/trust-score-card-glass-CNcQveNY.cjs.map +0 -1
- package/dist/trust-score-card-glass-CowcDyxH.js +0 -7795
- package/dist/trust-score-card-glass-CowcDyxH.js.map +0 -1
|
@@ -0,0 +1,339 @@
|
|
|
1
|
+
# shadcn-glass-ui Registry Usage
|
|
2
|
+
|
|
3
|
+
This guide explains how to use the shadcn-glass-ui component registry with the shadcn CLI.
|
|
4
|
+
|
|
5
|
+
## Overview
|
|
6
|
+
|
|
7
|
+
The shadcn-glass-ui registry provides **55+ glassmorphism UI components** that can be installed
|
|
8
|
+
directly into your project using the shadcn CLI, just like official shadcn/ui components.
|
|
9
|
+
|
|
10
|
+
**Registry URL:** `https://raw.githubusercontent.com/Yhooi2/shadcn-glass-ui-library/main/public/r`
|
|
11
|
+
|
|
12
|
+
**v2.0.0 Update:** All registry components now use the 3-layer token system. If upgrading from v1.x,
|
|
13
|
+
see the [CSS Variables Migration Guide](migration/CSS_VARIABLES_MIGRATION_2.0.md) for automated
|
|
14
|
+
migration scripts.
|
|
15
|
+
|
|
16
|
+
## Quick Start
|
|
17
|
+
|
|
18
|
+
### 1. Configure Your Project
|
|
19
|
+
|
|
20
|
+
Add the shadcn-glass-ui registry to your `components.json`:
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"$schema": "https://ui.shadcn.com/schema.json",
|
|
25
|
+
"style": "new-york",
|
|
26
|
+
"rsc": false,
|
|
27
|
+
"tsx": true,
|
|
28
|
+
"tailwind": {
|
|
29
|
+
"config": "",
|
|
30
|
+
"css": "src/index.css",
|
|
31
|
+
"baseColor": "neutral",
|
|
32
|
+
"cssVariables": true,
|
|
33
|
+
"prefix": ""
|
|
34
|
+
},
|
|
35
|
+
"iconLibrary": "lucide",
|
|
36
|
+
"aliases": {
|
|
37
|
+
"components": "@/components",
|
|
38
|
+
"utils": "@/lib/utils",
|
|
39
|
+
"ui": "@/components/ui",
|
|
40
|
+
"lib": "@/lib",
|
|
41
|
+
"hooks": "@/hooks"
|
|
42
|
+
},
|
|
43
|
+
"registries": {
|
|
44
|
+
"@shadcn-glass-ui": {
|
|
45
|
+
"url": "https://raw.githubusercontent.com/Yhooi2/shadcn-glass-ui-library/main/public/r"
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### 2. Install Components
|
|
52
|
+
|
|
53
|
+
Use the shadcn CLI with the registry namespace:
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# Install a single component
|
|
57
|
+
npx shadcn@latest add @shadcn-glass-ui/button-glass
|
|
58
|
+
|
|
59
|
+
# Install multiple components
|
|
60
|
+
npx shadcn@latest add @shadcn-glass-ui/button-glass @shadcn-glass-ui/input-glass @shadcn-glass-ui/modal-glass
|
|
61
|
+
|
|
62
|
+
# Install with dependencies
|
|
63
|
+
npx shadcn@latest add @shadcn-glass-ui/button-glass --deps
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
### 3. Use in Your Code
|
|
67
|
+
|
|
68
|
+
After installation, components will be available in your project:
|
|
69
|
+
|
|
70
|
+
```tsx
|
|
71
|
+
import { ButtonGlass } from '@/components/glass/ui/button-glass';
|
|
72
|
+
import { InputGlass } from '@/components/glass/ui/input-glass';
|
|
73
|
+
import { ThemeProvider } from '@/lib/theme-context';
|
|
74
|
+
|
|
75
|
+
function App() {
|
|
76
|
+
return (
|
|
77
|
+
<ThemeProvider defaultTheme="glass">
|
|
78
|
+
<div className="p-8 space-y-4">
|
|
79
|
+
<ButtonGlass variant="primary">Click me</ButtonGlass>
|
|
80
|
+
<InputGlass placeholder="Enter text..." />
|
|
81
|
+
</div>
|
|
82
|
+
</ThemeProvider>
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
## Available Components
|
|
88
|
+
|
|
89
|
+
### Core UI Components (18)
|
|
90
|
+
|
|
91
|
+
| Component | Registry Name | Description |
|
|
92
|
+
| --------------------- | ------------------------------------------ | --------------------------------- |
|
|
93
|
+
| ButtonGlass | `@shadcn-glass-ui/button-glass` | Glass button with 6 variants |
|
|
94
|
+
| InputGlass | `@shadcn-glass-ui/input-glass` | Glass text input field |
|
|
95
|
+
| CheckboxGlass | `@shadcn-glass-ui/checkbox-glass` | Glass checkbox |
|
|
96
|
+
| ToggleGlass | `@shadcn-glass-ui/toggle-glass` | Glass toggle switch |
|
|
97
|
+
| SliderGlass | `@shadcn-glass-ui/slider-glass` | Glass range slider |
|
|
98
|
+
| ModalGlass | `@shadcn-glass-ui/modal-glass` | Glass modal dialog (compound API) |
|
|
99
|
+
| TabsGlass | `@shadcn-glass-ui/tabs-glass` | Glass tabs (compound API) |
|
|
100
|
+
| DropdownGlass | `@shadcn-glass-ui/dropdown-glass` | Glass dropdown menu |
|
|
101
|
+
| TooltipGlass | `@shadcn-glass-ui/tooltip-glass` | Glass tooltip |
|
|
102
|
+
| AlertGlass | `@shadcn-glass-ui/alert-glass` | Glass alert (4 variants) |
|
|
103
|
+
| NotificationGlass | `@shadcn-glass-ui/notification-glass` | Glass toast notification |
|
|
104
|
+
| BadgeGlass | `@shadcn-glass-ui/badge-glass` | Glass badge (7 variants) |
|
|
105
|
+
| AvatarGlass | `@shadcn-glass-ui/avatar-glass` | Glass avatar with status |
|
|
106
|
+
| GlassCard | `@shadcn-glass-ui/glass-card` | Glass card (4 variants) |
|
|
107
|
+
| ProgressGlass | `@shadcn-glass-ui/progress-glass` | Glass progress bar |
|
|
108
|
+
| CircularProgressGlass | `@shadcn-glass-ui/circular-progress-glass` | Circular progress indicator |
|
|
109
|
+
| SkeletonGlass | `@shadcn-glass-ui/skeleton-glass` | Glass loading skeleton |
|
|
110
|
+
| ComboBoxGlass | `@shadcn-glass-ui/combobox-glass` | Glass combobox with search |
|
|
111
|
+
| PopoverGlass | `@shadcn-glass-ui/popover-glass` | Glass popover |
|
|
112
|
+
|
|
113
|
+
### Atomic Components (6)
|
|
114
|
+
|
|
115
|
+
| Component | Registry Name | Description |
|
|
116
|
+
| --------------------- | ------------------------------------------ | ----------------- |
|
|
117
|
+
| IconButtonGlass | `@shadcn-glass-ui/icon-button-glass` | Icon-only button |
|
|
118
|
+
| ThemeToggleGlass | `@shadcn-glass-ui/theme-toggle-glass` | Theme switcher |
|
|
119
|
+
| SearchBoxGlass | `@shadcn-glass-ui/search-box-glass` | Search input |
|
|
120
|
+
| SortDropdownGlass | `@shadcn-glass-ui/sort-dropdown-glass` | Sorting dropdown |
|
|
121
|
+
| StatItemGlass | `@shadcn-glass-ui/stat-item-glass` | Stat display |
|
|
122
|
+
| ExpandableHeaderGlass | `@shadcn-glass-ui/expandable-header-glass` | Expandable header |
|
|
123
|
+
|
|
124
|
+
### Specialized Components (8)
|
|
125
|
+
|
|
126
|
+
| Component | Registry Name | Description |
|
|
127
|
+
| --------------------- | ------------------------------------------ | ------------------------- |
|
|
128
|
+
| StatusIndicatorGlass | `@shadcn-glass-ui/status-indicator-glass` | Status dots with glow |
|
|
129
|
+
| SegmentedControlGlass | `@shadcn-glass-ui/segmented-control-glass` | Segmented button group |
|
|
130
|
+
| RainbowProgressGlass | `@shadcn-glass-ui/rainbow-progress-glass` | Rainbow gradient progress |
|
|
131
|
+
| LanguageBarGlass | `@shadcn-glass-ui/language-bar-glass` | Language proficiency bar |
|
|
132
|
+
| ProfileAvatarGlass | `@shadcn-glass-ui/profile-avatar-glass` | Large avatar with glow |
|
|
133
|
+
| FlagAlertGlass | `@shadcn-glass-ui/flag-alert-glass` | Warning/danger flag |
|
|
134
|
+
| BaseProgressGlass | `@shadcn-glass-ui/base-progress-glass` | Base progress component |
|
|
135
|
+
|
|
136
|
+
### Composite Components (13)
|
|
137
|
+
|
|
138
|
+
| Component | Registry Name | Description |
|
|
139
|
+
| ------------------------ | --------------------------------------------- | ----------------------- |
|
|
140
|
+
| MetricCardGlass | `@shadcn-glass-ui/metric-card-glass` | Metric display card |
|
|
141
|
+
| YearCardGlass | `@shadcn-glass-ui/year-card-glass` | Year card for timeline |
|
|
142
|
+
| AICardGlass | `@shadcn-glass-ui/ai-card-glass` | AI summary card |
|
|
143
|
+
| RepositoryCardGlass | `@shadcn-glass-ui/repository-card-glass` | Repository card |
|
|
144
|
+
| TrustScoreDisplayGlass | `@shadcn-glass-ui/trust-score-display-glass` | Trust score display |
|
|
145
|
+
| CareerStatsHeaderGlass | `@shadcn-glass-ui/career-stats-header-glass` | Career stats header |
|
|
146
|
+
| CircularMetricGlass | `@shadcn-glass-ui/circular-metric-glass` | Circular metric display |
|
|
147
|
+
| ContributionMetricsGlass | `@shadcn-glass-ui/contribution-metrics-glass` | Contribution metrics |
|
|
148
|
+
| MetricsGridGlass | `@shadcn-glass-ui/metrics-grid-glass` | Metrics grid layout |
|
|
149
|
+
| RepositoryHeaderGlass | `@shadcn-glass-ui/repository-header-glass` | Repository header |
|
|
150
|
+
| RepositoryMetadataGlass | `@shadcn-glass-ui/repository-metadata-glass` | Repository metadata |
|
|
151
|
+
| UserInfoGlass | `@shadcn-glass-ui/user-info-glass` | User info display |
|
|
152
|
+
| UserStatsLineGlass | `@shadcn-glass-ui/user-stats-line-glass` | User stats line |
|
|
153
|
+
|
|
154
|
+
### Section Components (7)
|
|
155
|
+
|
|
156
|
+
| Component | Registry Name | Description |
|
|
157
|
+
| ------------------- | ----------------------------------------- | -------------------------- |
|
|
158
|
+
| HeaderNavGlass | `@shadcn-glass-ui/header-nav-glass` | Navigation header |
|
|
159
|
+
| ProfileHeaderGlass | `@shadcn-glass-ui/profile-header-glass` | Profile header with avatar |
|
|
160
|
+
| CareerStatsGlass | `@shadcn-glass-ui/career-stats-glass` | Career statistics |
|
|
161
|
+
| FlagsSectionGlass | `@shadcn-glass-ui/flags-section-glass` | Flags/warnings section |
|
|
162
|
+
| TrustScoreCardGlass | `@shadcn-glass-ui/trust-score-card-glass` | Trust score card |
|
|
163
|
+
| ProjectsListGlass | `@shadcn-glass-ui/projects-list-glass` | Projects list |
|
|
164
|
+
| HeaderBrandingGlass | `@shadcn-glass-ui/header-branding-glass` | Branded header |
|
|
165
|
+
|
|
166
|
+
### Primitive Components (3)
|
|
167
|
+
|
|
168
|
+
| Component | Registry Name | Description |
|
|
169
|
+
| ---------------- | ------------------------------------- | --------------------------- |
|
|
170
|
+
| TouchTarget | `@shadcn-glass-ui/touch-target` | Touch-friendly wrapper |
|
|
171
|
+
| FormFieldWrapper | `@shadcn-glass-ui/form-field-wrapper` | Form field structure |
|
|
172
|
+
| InteractiveCard | `@shadcn-glass-ui/interactive-card` | Interactive card with hover |
|
|
173
|
+
|
|
174
|
+
## Utilities & Hooks
|
|
175
|
+
|
|
176
|
+
### Utilities
|
|
177
|
+
|
|
178
|
+
- **cn** - Class name merging (clsx + tailwind-merge)
|
|
179
|
+
- **Theme utilities** - Theme configuration and helpers
|
|
180
|
+
|
|
181
|
+
### Hooks
|
|
182
|
+
|
|
183
|
+
- **use-hover** - Hover state management
|
|
184
|
+
- **use-focus** - Focus state management
|
|
185
|
+
- **use-responsive** - Responsive breakpoint detection
|
|
186
|
+
- **use-wallpaper-tint** - Wallpaper tint effect
|
|
187
|
+
|
|
188
|
+
## Installation Examples
|
|
189
|
+
|
|
190
|
+
### Example 1: Complete Form Setup
|
|
191
|
+
|
|
192
|
+
Install all form-related components at once:
|
|
193
|
+
|
|
194
|
+
```bash
|
|
195
|
+
npx shadcn@latest add \
|
|
196
|
+
@shadcn-glass-ui/button-glass \
|
|
197
|
+
@shadcn-glass-ui/input-glass \
|
|
198
|
+
@shadcn-glass-ui/checkbox-glass \
|
|
199
|
+
@shadcn-glass-ui/toggle-glass \
|
|
200
|
+
@shadcn-glass-ui/slider-glass
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### Example 2: Dashboard UI
|
|
204
|
+
|
|
205
|
+
Install components for a dashboard interface:
|
|
206
|
+
|
|
207
|
+
```bash
|
|
208
|
+
npx shadcn@latest add \
|
|
209
|
+
@shadcn-glass-ui/glass-card \
|
|
210
|
+
@shadcn-glass-ui/metric-card-glass \
|
|
211
|
+
@shadcn-glass-ui/progress-glass \
|
|
212
|
+
@shadcn-glass-ui/badge-glass \
|
|
213
|
+
@shadcn-glass-ui/avatar-glass
|
|
214
|
+
```
|
|
215
|
+
|
|
216
|
+
### Example 3: Navigation Setup
|
|
217
|
+
|
|
218
|
+
Install header and navigation components:
|
|
219
|
+
|
|
220
|
+
```bash
|
|
221
|
+
npx shadcn@latest add \
|
|
222
|
+
@shadcn-glass-ui/header-nav-glass \
|
|
223
|
+
@shadcn-glass-ui/theme-toggle-glass \
|
|
224
|
+
@shadcn-glass-ui/search-box-glass \
|
|
225
|
+
@shadcn-glass-ui/dropdown-glass
|
|
226
|
+
```
|
|
227
|
+
|
|
228
|
+
## Features
|
|
229
|
+
|
|
230
|
+
- ✅ **shadcn/ui Compatible** - Works with existing shadcn/ui components
|
|
231
|
+
- ✅ **Automatic Dependencies** - CLI installs all required dependencies
|
|
232
|
+
- ✅ **Type Safe** - Full TypeScript support
|
|
233
|
+
- ✅ **Tree Shakeable** - Only bundle what you use
|
|
234
|
+
- ✅ **Theme System** - 3 built-in themes (glass, light, aurora)
|
|
235
|
+
- ✅ **Accessible** - WCAG 2.1 AA compliant
|
|
236
|
+
- ✅ **Customizable** - CSS variables for easy theming
|
|
237
|
+
|
|
238
|
+
## Registry Structure
|
|
239
|
+
|
|
240
|
+
The registry follows shadcn/ui v4 schema:
|
|
241
|
+
|
|
242
|
+
```
|
|
243
|
+
public/r/
|
|
244
|
+
├── registry.json # Main index
|
|
245
|
+
├── button-glass.json # Component metadata
|
|
246
|
+
├── input-glass.json
|
|
247
|
+
└── ... (55 total components)
|
|
248
|
+
```
|
|
249
|
+
|
|
250
|
+
Each component JSON includes:
|
|
251
|
+
|
|
252
|
+
- **$schema** - JSON schema validation
|
|
253
|
+
- **name** - Component identifier
|
|
254
|
+
- **type** - Component type (registry:ui, registry:block, etc.)
|
|
255
|
+
- **description** - Component description
|
|
256
|
+
- **dependencies** - npm dependencies
|
|
257
|
+
- **registryDependencies** - Other registry components
|
|
258
|
+
- **files** - Component source code
|
|
259
|
+
- **cssVars** - CSS variables for theming
|
|
260
|
+
|
|
261
|
+
## Troubleshooting
|
|
262
|
+
|
|
263
|
+
### Error: Registry not found
|
|
264
|
+
|
|
265
|
+
Make sure your `components.json` includes the registry configuration:
|
|
266
|
+
|
|
267
|
+
```json
|
|
268
|
+
{
|
|
269
|
+
"registries": {
|
|
270
|
+
"@shadcn-glass-ui": {
|
|
271
|
+
"url": "https://raw.githubusercontent.com/Yhooi2/shadcn-glass-ui-library/main/public/r"
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
```
|
|
276
|
+
|
|
277
|
+
### Error: Component not found
|
|
278
|
+
|
|
279
|
+
Check that you're using the correct component name with the `@shadcn-glass-ui/` prefix:
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
# ✅ Correct
|
|
283
|
+
npx shadcn@latest add @shadcn-glass-ui/button-glass
|
|
284
|
+
|
|
285
|
+
# ❌ Incorrect (missing prefix)
|
|
286
|
+
npx shadcn@latest add button-glass
|
|
287
|
+
|
|
288
|
+
# ❌ Incorrect (wrong name)
|
|
289
|
+
npx shadcn@latest add @shadcn-glass-ui/ButtonGlass
|
|
290
|
+
```
|
|
291
|
+
|
|
292
|
+
### Missing Dependencies
|
|
293
|
+
|
|
294
|
+
If you encounter missing dependencies, install them manually:
|
|
295
|
+
|
|
296
|
+
```bash
|
|
297
|
+
npm install @radix-ui/react-slot class-variance-authority lucide-react
|
|
298
|
+
```
|
|
299
|
+
|
|
300
|
+
Or use the `--deps` flag:
|
|
301
|
+
|
|
302
|
+
```bash
|
|
303
|
+
npx shadcn@latest add @shadcn-glass-ui/button-glass --deps
|
|
304
|
+
```
|
|
305
|
+
|
|
306
|
+
## Alternative Installation
|
|
307
|
+
|
|
308
|
+
If you prefer not to use the registry, you can install components via npm:
|
|
309
|
+
|
|
310
|
+
```bash
|
|
311
|
+
npm install shadcn-glass-ui
|
|
312
|
+
```
|
|
313
|
+
|
|
314
|
+
```tsx
|
|
315
|
+
import { ButtonGlass, InputGlass } from 'shadcn-glass-ui';
|
|
316
|
+
import 'shadcn-glass-ui/dist/styles.css';
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
See [GETTING_STARTED.md](./GETTING_STARTED.md) for npm installation guide.
|
|
320
|
+
|
|
321
|
+
## Resources
|
|
322
|
+
|
|
323
|
+
- **Live Demo:** https://yhooi2.github.io/shadcn-glass-ui-library/
|
|
324
|
+
- **GitHub:** https://github.com/Yhooi2/shadcn-glass-ui-library
|
|
325
|
+
- **npm Package:** https://www.npmjs.com/package/shadcn-glass-ui
|
|
326
|
+
- **Documentation:** https://github.com/Yhooi2/shadcn-glass-ui-library/tree/main/docs
|
|
327
|
+
|
|
328
|
+
## Contributing
|
|
329
|
+
|
|
330
|
+
Found a bug or want to add a component to the registry? Contributions are welcome!
|
|
331
|
+
|
|
332
|
+
1. Fork the repository
|
|
333
|
+
2. Make your changes
|
|
334
|
+
3. Run `npm run generate:registry` to update registry files
|
|
335
|
+
4. Submit a pull request
|
|
336
|
+
|
|
337
|
+
## License
|
|
338
|
+
|
|
339
|
+
MIT © shadcn-glass-ui
|
package/docs/SECURITY.md
ADDED
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
# Security Configuration
|
|
2
|
+
|
|
3
|
+
This document describes the security measures implemented in this project.
|
|
4
|
+
|
|
5
|
+
## Automated Security Checks
|
|
6
|
+
|
|
7
|
+
### 1. GitHub Dependabot
|
|
8
|
+
|
|
9
|
+
**File:** `.github/dependabot.yml`
|
|
10
|
+
|
|
11
|
+
Automatically creates PRs for:
|
|
12
|
+
|
|
13
|
+
- npm dependency updates (weekly, Monday 9:00 UTC)
|
|
14
|
+
- GitHub Actions updates (weekly)
|
|
15
|
+
|
|
16
|
+
Features:
|
|
17
|
+
|
|
18
|
+
- Groups related dependencies to reduce PR noise
|
|
19
|
+
- Cooldown periods to avoid too-frequent updates
|
|
20
|
+
- Ignores major version updates for critical packages (requires manual review)
|
|
21
|
+
|
|
22
|
+
### 2. Security Workflow
|
|
23
|
+
|
|
24
|
+
**File:** `.github/workflows/security.yml`
|
|
25
|
+
|
|
26
|
+
Runs on every push/PR and weekly:
|
|
27
|
+
|
|
28
|
+
| Check | Description | Fail Condition |
|
|
29
|
+
| --------------------- | -------------------------------------- | ----------------------------- |
|
|
30
|
+
| **npm audit** | Checks for known vulnerabilities | Critical vulnerabilities |
|
|
31
|
+
| **CodeQL** | Static analysis for security issues | Security alerts |
|
|
32
|
+
| **License check** | Verifies dependency licenses | Non-approved licenses |
|
|
33
|
+
| **Dependency review** | Reviews new dependencies in PRs | High/critical vulnerabilities |
|
|
34
|
+
| **Secrets scan** | Detects accidentally committed secrets | Verified secrets found |
|
|
35
|
+
|
|
36
|
+
### 3. Pre-commit Hooks
|
|
37
|
+
|
|
38
|
+
**Files:** `.husky/pre-commit`, `.lintstagedrc.json`
|
|
39
|
+
|
|
40
|
+
Runs before every commit:
|
|
41
|
+
|
|
42
|
+
- ESLint with `--max-warnings=0`
|
|
43
|
+
- Prettier formatting
|
|
44
|
+
- Only on staged files (fast)
|
|
45
|
+
|
|
46
|
+
### 4. Bundle Size Tracking
|
|
47
|
+
|
|
48
|
+
**File:** `.github/workflows/bundle-size.yml`
|
|
49
|
+
|
|
50
|
+
Monitors bundle size on every PR:
|
|
51
|
+
|
|
52
|
+
- Reports size of ESM, CJS, and CSS bundles
|
|
53
|
+
- Warns if bundles exceed soft limits
|
|
54
|
+
- Fails if bundles exceed hard limits
|
|
55
|
+
|
|
56
|
+
## Manual Setup Required
|
|
57
|
+
|
|
58
|
+
### Socket.dev (Recommended)
|
|
59
|
+
|
|
60
|
+
Socket.dev provides advanced supply-chain attack protection. It's free for open source projects.
|
|
61
|
+
|
|
62
|
+
**To enable:**
|
|
63
|
+
|
|
64
|
+
1. Go to [GitHub Marketplace - Socket Security](https://github.com/marketplace/socket-security)
|
|
65
|
+
2. Click "Install it for free"
|
|
66
|
+
3. Select this repository
|
|
67
|
+
4. Socket will automatically scan all PRs for:
|
|
68
|
+
- Known malware in dependencies
|
|
69
|
+
- Suspicious package behavior (network access, eval, shell commands)
|
|
70
|
+
- Typosquatting attacks
|
|
71
|
+
- Protestware
|
|
72
|
+
- Telemetry/data collection
|
|
73
|
+
|
|
74
|
+
**Why Socket.dev?**
|
|
75
|
+
|
|
76
|
+
Traditional security tools (npm audit, Snyk) only detect _known_ vulnerabilities. Socket.dev uses
|
|
77
|
+
static analysis to detect _suspicious behavior_ in packages, catching supply-chain attacks before
|
|
78
|
+
they're publicly known.
|
|
79
|
+
|
|
80
|
+
### GitHub Security Settings
|
|
81
|
+
|
|
82
|
+
Enable these in repository Settings → Security:
|
|
83
|
+
|
|
84
|
+
1. **Secret scanning** - Detects accidentally committed secrets
|
|
85
|
+
2. **Push protection** - Blocks pushes containing secrets
|
|
86
|
+
3. **Dependabot security updates** - Auto-creates PRs for security fixes
|
|
87
|
+
4. **Code scanning** - Already configured via CodeQL workflow
|
|
88
|
+
|
|
89
|
+
## Approved Licenses
|
|
90
|
+
|
|
91
|
+
The following licenses are allowed for dependencies:
|
|
92
|
+
|
|
93
|
+
- MIT, MIT\*, MIT-0, (MIT OR CC0-1.0)
|
|
94
|
+
- Apache-2.0
|
|
95
|
+
- BSD-2-Clause, BSD-3-Clause
|
|
96
|
+
- ISC, 0BSD
|
|
97
|
+
- CC0-1.0, CC-BY-3.0, CC-BY-4.0
|
|
98
|
+
- MPL-2.0
|
|
99
|
+
- Unlicense
|
|
100
|
+
- Python-2.0
|
|
101
|
+
- BlueOak-1.0.0
|
|
102
|
+
|
|
103
|
+
## Security Contacts
|
|
104
|
+
|
|
105
|
+
For security issues, please:
|
|
106
|
+
|
|
107
|
+
1. **DO NOT** open a public issue
|
|
108
|
+
2. Use GitHub's private vulnerability reporting
|
|
109
|
+
3. Or email the maintainers directly
|
|
110
|
+
|
|
111
|
+
## Best Practices for Contributors
|
|
112
|
+
|
|
113
|
+
1. **Never commit secrets** - Use environment variables
|
|
114
|
+
2. **Review dependency changes** - Check `package-lock.json` diffs carefully
|
|
115
|
+
3. **Avoid unnecessary dependencies** - Each dependency is a potential attack vector
|
|
116
|
+
4. **Keep dependencies updated** - Merge Dependabot PRs promptly
|
|
117
|
+
5. **Use `npm ci`** - Not `npm install` in CI (ensures lockfile integrity)
|