shadcn-glass-ui 2.3.0 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +26 -0
- package/dist/cli/index.cjs +1 -1
- package/dist/components.cjs +4 -4
- package/dist/components.mjs +1 -1
- package/dist/hooks.cjs +2 -2
- package/dist/index.cjs +12 -5
- package/dist/index.mjs +8 -1
- package/dist/r/avatar-glass.json +1 -1
- package/dist/r/checkbox-glass.json +4 -5
- package/dist/r/circular-progress-glass.json +1 -1
- package/dist/r/dropdown-glass.json +1 -1
- package/dist/r/dropdown-menu-glass.json +1 -1
- package/dist/r/flag-alert-glass.json +1 -1
- package/dist/r/glass-card.json +3 -2
- package/dist/r/notification-glass.json +1 -1
- package/dist/r/popover-glass.json +1 -1
- package/dist/r/progress-glass.json +1 -1
- package/dist/r/registry.json +2 -2
- package/dist/r/skeleton-glass.json +1 -1
- package/dist/r/slider-glass.json +1 -1
- package/dist/r/stepper-glass.json +1 -1
- package/dist/r/tabs-glass.json +5 -4
- package/dist/r/toggle-glass.json +1 -1
- package/dist/shadcn-glass-ui.css +1 -1
- package/dist/{theme-context-DmTETrFi.cjs → theme-context-7NcW0KZL.cjs} +2 -2
- package/dist/themes.cjs +1 -1
- package/dist/{trust-score-card-glass-EfMB5l5J.mjs → trust-score-card-glass-BGqBcdyJ.mjs} +120 -177
- package/dist/{trust-score-card-glass-3VBi9soW.cjs → trust-score-card-glass-DtgFygh5.cjs} +124 -179
- package/dist/{use-focus-CswOSq71.cjs → use-focus-BFBcpBh1.cjs} +2 -2
- package/dist/{use-wallpaper-tint-WtRWtupA.cjs → use-wallpaper-tint-DTTStm5f.cjs} +2 -2
- package/dist/{utils-DX6rdBol.cjs → utils-CiuCe_Aq.cjs} +2 -2
- package/dist/utils.cjs +1 -1
- package/package.json +25 -3
- package/dist/components/blocks/avatar-gallery/index.d.ts +0 -2
- package/dist/components/blocks/avatar-gallery/index.d.ts.map +0 -1
- package/dist/components/blocks/avatar-gallery/page.d.ts +0 -7
- package/dist/components/blocks/avatar-gallery/page.d.ts.map +0 -1
- package/dist/components/blocks/badges/index.d.ts +0 -2
- package/dist/components/blocks/badges/index.d.ts.map +0 -1
- package/dist/components/blocks/badges/page.d.ts +0 -7
- package/dist/components/blocks/badges/page.d.ts.map +0 -1
- package/dist/components/blocks/buttons/index.d.ts +0 -2
- package/dist/components/blocks/buttons/index.d.ts.map +0 -1
- package/dist/components/blocks/buttons/page.d.ts +0 -7
- package/dist/components/blocks/buttons/page.d.ts.map +0 -1
- package/dist/components/blocks/form-elements/index.d.ts +0 -2
- package/dist/components/blocks/form-elements/index.d.ts.map +0 -1
- package/dist/components/blocks/form-elements/page.d.ts +0 -7
- package/dist/components/blocks/form-elements/page.d.ts.map +0 -1
- package/dist/components/blocks/index.d.ts +0 -14
- package/dist/components/blocks/index.d.ts.map +0 -1
- package/dist/components/blocks/notifications/index.d.ts +0 -2
- package/dist/components/blocks/notifications/index.d.ts.map +0 -1
- package/dist/components/blocks/notifications/page.d.ts +0 -7
- package/dist/components/blocks/notifications/page.d.ts.map +0 -1
- package/dist/components/blocks/progress/index.d.ts +0 -2
- package/dist/components/blocks/progress/index.d.ts.map +0 -1
- package/dist/components/blocks/progress/page.d.ts +0 -7
- package/dist/components/blocks/progress/page.d.ts.map +0 -1
- package/dist/components/blocks/registry.d.ts +0 -16
- package/dist/components/blocks/registry.d.ts.map +0 -1
- package/dist/components/demos/AnimatedBackground.d.ts +0 -5
- package/dist/components/demos/AnimatedBackground.d.ts.map +0 -1
- package/dist/components/demos/ComponentShowcase.d.ts +0 -6
- package/dist/components/demos/ComponentShowcase.d.ts.map +0 -1
- package/dist/components/demos/DesktopShowcase.d.ts +0 -3
- package/dist/components/demos/DesktopShowcase.d.ts.map +0 -1
- package/dist/components/demos/GlassFixesDemo.d.ts +0 -6
- package/dist/components/demos/GlassFixesDemo.d.ts.map +0 -1
- package/dist/components/demos/MobileShowcase.d.ts +0 -3
- package/dist/components/demos/MobileShowcase.d.ts.map +0 -1
- package/dist/components/glass/atomic/expandable-header-glass.d.ts +0 -16
- package/dist/components/glass/atomic/expandable-header-glass.d.ts.map +0 -1
- package/dist/components/glass/atomic/icon-button-glass.d.ts +0 -18
- package/dist/components/glass/atomic/icon-button-glass.d.ts.map +0 -1
- package/dist/components/glass/atomic/index.d.ts +0 -14
- package/dist/components/glass/atomic/index.d.ts.map +0 -1
- package/dist/components/glass/atomic/insight-card-glass.d.ts +0 -22
- package/dist/components/glass/atomic/insight-card-glass.d.ts.map +0 -1
- package/dist/components/glass/atomic/search-box-glass.d.ts +0 -17
- package/dist/components/glass/atomic/search-box-glass.d.ts.map +0 -1
- package/dist/components/glass/atomic/sort-dropdown-glass.d.ts +0 -38
- package/dist/components/glass/atomic/sort-dropdown-glass.d.ts.map +0 -1
- package/dist/components/glass/atomic/stat-item-glass.d.ts +0 -22
- package/dist/components/glass/atomic/stat-item-glass.d.ts.map +0 -1
- package/dist/components/glass/atomic/theme-toggle-glass.d.ts +0 -11
- package/dist/components/glass/atomic/theme-toggle-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/ai-card-glass.d.ts +0 -7
- package/dist/components/glass/composite/ai-card-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/career-stats-header-glass.d.ts +0 -15
- package/dist/components/glass/composite/career-stats-header-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/circular-metric-glass.d.ts +0 -24
- package/dist/components/glass/composite/circular-metric-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/contribution-metrics-glass.d.ts +0 -15
- package/dist/components/glass/composite/contribution-metrics-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/index.d.ts +0 -22
- package/dist/components/glass/composite/index.d.ts.map +0 -1
- package/dist/components/glass/composite/metric-card-glass.d.ts +0 -96
- package/dist/components/glass/composite/metric-card-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/metrics-grid-glass.d.ts +0 -17
- package/dist/components/glass/composite/metrics-grid-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/repository-card-glass.d.ts +0 -16
- package/dist/components/glass/composite/repository-card-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/repository-header-glass.d.ts +0 -16
- package/dist/components/glass/composite/repository-header-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/repository-metadata-glass.d.ts +0 -13
- package/dist/components/glass/composite/repository-metadata-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/split-layout-glass/index.d.ts +0 -16
- package/dist/components/glass/composite/split-layout-glass/index.d.ts.map +0 -1
- package/dist/components/glass/composite/split-layout-glass/split-layout-accordion.d.ts +0 -66
- package/dist/components/glass/composite/split-layout-glass/split-layout-accordion.d.ts.map +0 -1
- package/dist/components/glass/composite/split-layout-glass/split-layout-context.d.ts +0 -122
- package/dist/components/glass/composite/split-layout-glass/split-layout-context.d.ts.map +0 -1
- package/dist/components/glass/composite/split-layout-glass/split-layout-glass.d.ts +0 -177
- package/dist/components/glass/composite/split-layout-glass/split-layout-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/trust-score-display-glass.d.ts +0 -15
- package/dist/components/glass/composite/trust-score-display-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/user-info-glass.d.ts +0 -15
- package/dist/components/glass/composite/user-info-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/user-stats-line-glass.d.ts +0 -15
- package/dist/components/glass/composite/user-stats-line-glass.d.ts.map +0 -1
- package/dist/components/glass/composite/year-card-glass.d.ts +0 -53
- package/dist/components/glass/composite/year-card-glass.d.ts.map +0 -1
- package/dist/components/glass/index.d.ts +0 -16
- package/dist/components/glass/index.d.ts.map +0 -1
- package/dist/components/glass/primitives/form-field-wrapper.d.ts +0 -69
- package/dist/components/glass/primitives/form-field-wrapper.d.ts.map +0 -1
- package/dist/components/glass/primitives/index.d.ts +0 -12
- package/dist/components/glass/primitives/index.d.ts.map +0 -1
- package/dist/components/glass/primitives/interactive-card.d.ts +0 -91
- package/dist/components/glass/primitives/interactive-card.d.ts.map +0 -1
- package/dist/components/glass/primitives/style-utils.d.ts +0 -147
- package/dist/components/glass/primitives/style-utils.d.ts.map +0 -1
- package/dist/components/glass/primitives/touch-target.d.ts +0 -46
- package/dist/components/glass/primitives/touch-target.d.ts.map +0 -1
- package/dist/components/glass/sections/career-stats-glass.d.ts +0 -17
- package/dist/components/glass/sections/career-stats-glass.d.ts.map +0 -1
- package/dist/components/glass/sections/flags-section-glass.d.ts +0 -13
- package/dist/components/glass/sections/flags-section-glass.d.ts.map +0 -1
- package/dist/components/glass/sections/header-branding-glass.d.ts +0 -16
- package/dist/components/glass/sections/header-branding-glass.d.ts.map +0 -1
- package/dist/components/glass/sections/header-nav-glass.d.ts +0 -7
- package/dist/components/glass/sections/header-nav-glass.d.ts.map +0 -1
- package/dist/components/glass/sections/index.d.ts +0 -13
- package/dist/components/glass/sections/index.d.ts.map +0 -1
- package/dist/components/glass/sections/profile-header-glass.d.ts +0 -16
- package/dist/components/glass/sections/profile-header-glass.d.ts.map +0 -1
- package/dist/components/glass/sections/projects-list-glass.d.ts +0 -42
- package/dist/components/glass/sections/projects-list-glass.d.ts.map +0 -1
- package/dist/components/glass/sections/trust-score-card-glass.d.ts +0 -12
- package/dist/components/glass/sections/trust-score-card-glass.d.ts.map +0 -1
- package/dist/components/glass/specialized/base-progress-glass.d.ts +0 -8
- package/dist/components/glass/specialized/base-progress-glass.d.ts.map +0 -1
- package/dist/components/glass/specialized/flag-alert-glass.d.ts +0 -8
- package/dist/components/glass/specialized/flag-alert-glass.d.ts.map +0 -1
- package/dist/components/glass/specialized/index.d.ts +0 -21
- package/dist/components/glass/specialized/index.d.ts.map +0 -1
- package/dist/components/glass/specialized/language-bar-glass.d.ts +0 -24
- package/dist/components/glass/specialized/language-bar-glass.d.ts.map +0 -1
- package/dist/components/glass/specialized/profile-avatar-glass.d.ts +0 -26
- package/dist/components/glass/specialized/profile-avatar-glass.d.ts.map +0 -1
- package/dist/components/glass/specialized/progress-glass.d.ts +0 -9
- package/dist/components/glass/specialized/progress-glass.d.ts.map +0 -1
- package/dist/components/glass/specialized/rainbow-progress-glass.d.ts +0 -8
- package/dist/components/glass/specialized/rainbow-progress-glass.d.ts.map +0 -1
- package/dist/components/glass/specialized/segmented-control-glass.d.ts +0 -11
- package/dist/components/glass/specialized/segmented-control-glass.d.ts.map +0 -1
- package/dist/components/glass/specialized/sparkline-glass.d.ts +0 -34
- package/dist/components/glass/specialized/sparkline-glass.d.ts.map +0 -1
- package/dist/components/glass/specialized/status-indicator-glass.d.ts +0 -8
- package/dist/components/glass/specialized/status-indicator-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/alert-glass.d.ts +0 -13
- package/dist/components/glass/ui/alert-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/avatar-glass.d.ts +0 -58
- package/dist/components/glass/ui/avatar-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/badge-glass.d.ts +0 -74
- package/dist/components/glass/ui/badge-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/button-glass.d.ts +0 -110
- package/dist/components/glass/ui/button-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/card-glass.d.ts +0 -115
- package/dist/components/glass/ui/card-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/checkbox-glass.d.ts +0 -113
- package/dist/components/glass/ui/checkbox-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/circular-progress-glass.d.ts +0 -36
- package/dist/components/glass/ui/circular-progress-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/combobox-glass.d.ts +0 -61
- package/dist/components/glass/ui/combobox-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/dropdown-glass.d.ts +0 -83
- package/dist/components/glass/ui/dropdown-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/dropdown-menu-glass.d.ts +0 -77
- package/dist/components/glass/ui/dropdown-menu-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/glass-card.d.ts +0 -78
- package/dist/components/glass/ui/glass-card.d.ts.map +0 -1
- package/dist/components/glass/ui/index.d.ts +0 -44
- package/dist/components/glass/ui/index.d.ts.map +0 -1
- package/dist/components/glass/ui/input-glass.d.ts +0 -98
- package/dist/components/glass/ui/input-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/modal-glass.d.ts +0 -180
- package/dist/components/glass/ui/modal-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/notification-glass.d.ts +0 -13
- package/dist/components/glass/ui/notification-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/popover-glass.d.ts +0 -71
- package/dist/components/glass/ui/popover-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/sidebar-glass/index.d.ts +0 -100
- package/dist/components/glass/ui/sidebar-glass/index.d.ts.map +0 -1
- package/dist/components/glass/ui/sidebar-glass/sidebar-context.d.ts +0 -96
- package/dist/components/glass/ui/sidebar-glass/sidebar-context.d.ts.map +0 -1
- package/dist/components/glass/ui/sidebar-glass/sidebar-glass.d.ts +0 -88
- package/dist/components/glass/ui/sidebar-glass/sidebar-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/sidebar-glass/sidebar-menu.d.ts +0 -121
- package/dist/components/glass/ui/sidebar-glass/sidebar-menu.d.ts.map +0 -1
- package/dist/components/glass/ui/skeleton-glass.d.ts +0 -8
- package/dist/components/glass/ui/skeleton-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/slider-glass.d.ts +0 -38
- package/dist/components/glass/ui/slider-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/stepper-glass.d.ts +0 -63
- package/dist/components/glass/ui/stepper-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/tabs-glass.d.ts +0 -199
- package/dist/components/glass/ui/tabs-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/toggle-glass.d.ts +0 -27
- package/dist/components/glass/ui/toggle-glass.d.ts.map +0 -1
- package/dist/components/glass/ui/tooltip-glass.d.ts +0 -65
- package/dist/components/glass/ui/tooltip-glass.d.ts.map +0 -1
- package/dist/components/ui/alert.d.ts +0 -8
- package/dist/components/ui/alert.d.ts.map +0 -1
- package/dist/components/ui/avatar.d.ts +0 -7
- package/dist/components/ui/avatar.d.ts.map +0 -1
- package/dist/components/ui/badge.d.ts +0 -8
- package/dist/components/ui/badge.d.ts.map +0 -1
- package/dist/components/ui/button.d.ts +0 -8
- package/dist/components/ui/button.d.ts.map +0 -1
- package/dist/components/ui/card.d.ts +0 -10
- package/dist/components/ui/card.d.ts.map +0 -1
- package/dist/components/ui/chart.d.ts +0 -69
- package/dist/components/ui/chart.d.ts.map +0 -1
- package/dist/components/ui/checkbox.d.ts +0 -5
- package/dist/components/ui/checkbox.d.ts.map +0 -1
- package/dist/components/ui/collapsible.d.ts +0 -6
- package/dist/components/ui/collapsible.d.ts.map +0 -1
- package/dist/components/ui/command.d.ts +0 -19
- package/dist/components/ui/command.d.ts.map +0 -1
- package/dist/components/ui/dialog.d.ts +0 -16
- package/dist/components/ui/dialog.d.ts.map +0 -1
- package/dist/components/ui/dropdown-menu.d.ts +0 -26
- package/dist/components/ui/dropdown-menu.d.ts.map +0 -1
- package/dist/components/ui/input.d.ts +0 -4
- package/dist/components/ui/input.d.ts.map +0 -1
- package/dist/components/ui/popover.d.ts +0 -8
- package/dist/components/ui/popover.d.ts.map +0 -1
- package/dist/components/ui/progress.d.ts +0 -5
- package/dist/components/ui/progress.d.ts.map +0 -1
- package/dist/components/ui/scroll-area.d.ts +0 -6
- package/dist/components/ui/scroll-area.d.ts.map +0 -1
- package/dist/components/ui/separator.d.ts +0 -5
- package/dist/components/ui/separator.d.ts.map +0 -1
- package/dist/components/ui/skeleton.d.ts +0 -3
- package/dist/components/ui/skeleton.d.ts.map +0 -1
- package/dist/components/ui/slider.d.ts +0 -5
- package/dist/components/ui/slider.d.ts.map +0 -1
- package/dist/components/ui/sonner.d.ts +0 -4
- package/dist/components/ui/sonner.d.ts.map +0 -1
- package/dist/components/ui/switch.d.ts +0 -5
- package/dist/components/ui/switch.d.ts.map +0 -1
- package/dist/components/ui/tabs.d.ts +0 -8
- package/dist/components/ui/tabs.d.ts.map +0 -1
- package/dist/components/ui/tooltip.d.ts +0 -8
- package/dist/components/ui/tooltip.d.ts.map +0 -1
- package/dist/components.d.ts.map +0 -1
- package/dist/demo-screenshot-aurora.png +0 -0
- package/dist/demo-screenshot.png +0 -0
- package/dist/demo-screenshot.png.zip +0 -0
- package/dist/hooks.d.ts.map +0 -1
- package/dist/index.cjs.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/lib/config.d.ts +0 -28
- package/dist/lib/config.d.ts.map +0 -1
- package/dist/lib/hooks/index.d.ts +0 -11
- package/dist/lib/hooks/index.d.ts.map +0 -1
- package/dist/lib/hooks/use-focus.d.ts +0 -61
- package/dist/lib/hooks/use-focus.d.ts.map +0 -1
- package/dist/lib/hooks/use-hover.d.ts +0 -54
- package/dist/lib/hooks/use-hover.d.ts.map +0 -1
- package/dist/lib/hooks/use-responsive.d.ts +0 -44
- package/dist/lib/hooks/use-responsive.d.ts.map +0 -1
- package/dist/lib/hooks/use-wallpaper-tint.d.ts +0 -57
- package/dist/lib/hooks/use-wallpaper-tint.d.ts.map +0 -1
- package/dist/lib/hooks.d.ts +0 -92
- package/dist/lib/hooks.d.ts.map +0 -1
- package/dist/lib/theme/tokens.d.ts +0 -441
- package/dist/lib/theme/tokens.d.ts.map +0 -1
- package/dist/lib/theme-context.d.ts +0 -115
- package/dist/lib/theme-context.d.ts.map +0 -1
- package/dist/lib/types.d.ts +0 -24
- package/dist/lib/types.d.ts.map +0 -1
- package/dist/lib/utils.d.ts +0 -8
- package/dist/lib/utils.d.ts.map +0 -1
- package/dist/lib/variants/alert-glass-variants.d.ts +0 -10
- package/dist/lib/variants/alert-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/alert-variants.d.ts +0 -8
- package/dist/lib/variants/alert-variants.d.ts.map +0 -1
- package/dist/lib/variants/avatar-glass-variants.d.ts +0 -12
- package/dist/lib/variants/avatar-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/badge-glass-variants.d.ts +0 -10
- package/dist/lib/variants/badge-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/badge-variants.d.ts +0 -8
- package/dist/lib/variants/badge-variants.d.ts.map +0 -1
- package/dist/lib/variants/button-glass-variants.d.ts +0 -29
- package/dist/lib/variants/button-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/button-variants.d.ts +0 -9
- package/dist/lib/variants/button-variants.d.ts.map +0 -1
- package/dist/lib/variants/dropdown-content-styles.d.ts +0 -102
- package/dist/lib/variants/dropdown-content-styles.d.ts.map +0 -1
- package/dist/lib/variants/dropdown-glass-variants.d.ts +0 -9
- package/dist/lib/variants/dropdown-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/glass-card-variants.d.ts +0 -13
- package/dist/lib/variants/glass-card-variants.d.ts.map +0 -1
- package/dist/lib/variants/index.d.ts +0 -26
- package/dist/lib/variants/index.d.ts.map +0 -1
- package/dist/lib/variants/input-glass-variants.d.ts +0 -9
- package/dist/lib/variants/input-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/insight-card-glass-variants.d.ts +0 -11
- package/dist/lib/variants/insight-card-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/modal-glass-variants.d.ts +0 -9
- package/dist/lib/variants/modal-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/notification-glass-variants.d.ts +0 -9
- package/dist/lib/variants/notification-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/progress-glass-variants.d.ts +0 -10
- package/dist/lib/variants/progress-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/skeleton-glass-variants.d.ts +0 -9
- package/dist/lib/variants/skeleton-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/sparkline-glass-variants.d.ts +0 -10
- package/dist/lib/variants/sparkline-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/stepper-glass-variants.d.ts +0 -40
- package/dist/lib/variants/stepper-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/toggle-glass-variants.d.ts +0 -26
- package/dist/lib/variants/toggle-glass-variants.d.ts.map +0 -1
- package/dist/lib/variants/tooltip-glass-variants.d.ts +0 -9
- package/dist/lib/variants/tooltip-glass-variants.d.ts.map +0 -1
- package/dist/theme-context-DLS2uAgJ.mjs.map +0 -1
- package/dist/theme-context-DmTETrFi.cjs.map +0 -1
- package/dist/themes.d.ts.map +0 -1
- package/dist/trust-score-card-glass-3VBi9soW.cjs.map +0 -1
- package/dist/trust-score-card-glass-EfMB5l5J.mjs.map +0 -1
- package/dist/use-focus-C5kPAKr_.mjs.map +0 -1
- package/dist/use-focus-CswOSq71.cjs.map +0 -1
- package/dist/use-wallpaper-tint-C0kYXNiN.mjs.map +0 -1
- package/dist/use-wallpaper-tint-WtRWtupA.cjs.map +0 -1
- package/dist/utils-B792GPM_.mjs.map +0 -1
- package/dist/utils-DX6rdBol.cjs.map +0 -1
- package/dist/utils.d.ts.map +0 -1
- package/docs/AI_IMPROVEMENTS_COMPLETE.md +0 -574
- package/docs/API_PATTERNS_COMPARISON.md +0 -419
- package/docs/COMPLIANCE_CHECKLIST.md +0 -307
- package/docs/COMPLIANCE_TESTING.md +0 -436
- package/docs/CSS_VARIABLES_AUDIT.md +0 -306
- package/docs/CSS_VARIABLES_REFACTORING_PLAN.md +0 -330
- package/docs/DROPDOWN_ARCHITECTURE.md +0 -290
- package/docs/METRIC_CARD_API_REDESIGN.md +0 -354
- package/docs/PRIMITIVE_MAPPING.md +0 -404
- package/docs/PUBLISHING.md +0 -593
- package/docs/REGISTRY_SUMMARY.md +0 -96
- package/docs/SECURITY.md +0 -117
- package/docs/api/README.md +0 -723
- package/docs/api/functions/ThemeProvider.md +0 -21
- package/docs/api/functions/cn.md +0 -27
- package/docs/api/functions/getNextTheme.md +0 -21
- package/docs/api/functions/getThemeConfig.md +0 -21
- package/docs/api/functions/useFocus.md +0 -53
- package/docs/api/functions/useHover.md +0 -47
- package/docs/api/functions/useResponsive.md +0 -31
- package/docs/api/functions/useTheme.md +0 -15
- package/docs/api/functions/useWallpaperTint.md +0 -36
- package/docs/api/globals.md +0 -139
- package/docs/api/interfaces/AlertGlassProps.md +0 -131
- package/docs/api/interfaces/AvatarGlassProps.md +0 -114
- package/docs/api/interfaces/BadgeGlassProps.md +0 -125
- package/docs/api/interfaces/ButtonGlassProps.md +0 -186
- package/docs/api/interfaces/CheckboxGlassProps.md +0 -125
- package/docs/api/interfaces/DropdownGlassProps.md +0 -123
- package/docs/api/interfaces/DropdownItem.md +0 -53
- package/docs/api/interfaces/GlassCardProps.md +0 -151
- package/docs/api/interfaces/InputGlassProps.md +0 -169
- package/docs/api/interfaces/NotificationGlassProps.md +0 -67
- package/docs/api/interfaces/ProgressGlassProps.md +0 -49
- package/docs/api/interfaces/SkeletonGlassProps.md +0 -41
- package/docs/api/interfaces/SliderGlassProps.md +0 -107
- package/docs/api/interfaces/TabItem.md +0 -25
- package/docs/api/interfaces/ThemeConfig.md +0 -25
- package/docs/api/interfaces/ThemeContextValue.md +0 -47
- package/docs/api/interfaces/ToggleGlassProps.md +0 -59
- package/docs/api/interfaces/TooltipGlassProps.md +0 -119
- package/docs/api/type-aliases/AlertType.md +0 -11
- package/docs/api/type-aliases/AlertVariant.md +0 -11
- package/docs/api/type-aliases/AvatarSize.md +0 -11
- package/docs/api/type-aliases/AvatarStatus.md +0 -13
- package/docs/api/type-aliases/BadgeSize.md +0 -11
- package/docs/api/type-aliases/BadgeVariant.md +0 -11
- package/docs/api/type-aliases/ButtonGlassSize.md +0 -11
- package/docs/api/type-aliases/ButtonGlassVariant.md +0 -11
- package/docs/api/type-aliases/DropdownAlign.md +0 -11
- package/docs/api/type-aliases/GlowType.md +0 -11
- package/docs/api/type-aliases/InputGlassSize.md +0 -11
- package/docs/api/type-aliases/IntensityType.md +0 -11
- package/docs/api/type-aliases/ModalSize.md +0 -11
- package/docs/api/type-aliases/NotificationType.md +0 -11
- package/docs/api/type-aliases/PaddingType.md +0 -11
- package/docs/api/type-aliases/ProgressGradient.md +0 -11
- package/docs/api/type-aliases/ProgressSize.md +0 -11
- package/docs/api/type-aliases/SkeletonVariant.md +0 -11
- package/docs/api/type-aliases/Theme.md +0 -11
- package/docs/api/type-aliases/ToggleGlassSize.md +0 -11
- package/docs/api/type-aliases/TooltipPosition.md +0 -11
- package/docs/api/variables/AICardGlass.md +0 -11
- package/docs/api/variables/AlertGlass.md +0 -11
- package/docs/api/variables/AvatarGlass.md +0 -11
- package/docs/api/variables/BadgeGlass.md +0 -11
- package/docs/api/variables/BaseProgressGlass.md +0 -11
- package/docs/api/variables/ButtonGlass.md +0 -11
- package/docs/api/variables/CareerStatsGlass.md +0 -11
- package/docs/api/variables/CareerStatsHeaderGlass.md +0 -11
- package/docs/api/variables/CheckboxGlass.md +0 -11
- package/docs/api/variables/CircularMetricGlass.md +0 -22
- package/docs/api/variables/CircularProgressGlass.md +0 -11
- package/docs/api/variables/ComboBoxGlass.md +0 -27
- package/docs/api/variables/ContributionMetricsGlass.md +0 -11
- package/docs/api/variables/DropdownGlass.md +0 -11
- package/docs/api/variables/ExpandableHeaderGlass.md +0 -11
- package/docs/api/variables/FlagAlertGlass.md +0 -11
- package/docs/api/variables/FlagsSectionGlass.md +0 -11
- package/docs/api/variables/FormFieldWrapper.md +0 -44
- package/docs/api/variables/GlassCard.md +0 -11
- package/docs/api/variables/HeaderBrandingGlass.md +0 -11
- package/docs/api/variables/HeaderNavGlass.md +0 -11
- package/docs/api/variables/IconButtonGlass.md +0 -11
- package/docs/api/variables/InputGlass.md +0 -11
- package/docs/api/variables/InteractiveCard.md +0 -45
- package/docs/api/variables/LanguageBarGlass.md +0 -11
- package/docs/api/variables/MetricCardGlass.md +0 -11
- package/docs/api/variables/MetricsGridGlass.md +0 -11
- package/docs/api/variables/ModalGlass.md +0 -73
- package/docs/api/variables/NotificationGlass.md +0 -11
- package/docs/api/variables/PopoverGlass.md +0 -11
- package/docs/api/variables/ProfileAvatarGlass.md +0 -11
- package/docs/api/variables/ProfileHeaderGlass.md +0 -11
- package/docs/api/variables/ProgressGlass.md +0 -11
- package/docs/api/variables/ProjectsListGlass.md +0 -11
- package/docs/api/variables/RainbowProgressGlass.md +0 -11
- package/docs/api/variables/RepositoryCardGlass.md +0 -11
- package/docs/api/variables/RepositoryHeaderGlass.md +0 -11
- package/docs/api/variables/RepositoryMetadataGlass.md +0 -11
- package/docs/api/variables/SearchBoxGlass.md +0 -11
- package/docs/api/variables/SegmentedControlGlass.md +0 -11
- package/docs/api/variables/SkeletonGlass.md +0 -11
- package/docs/api/variables/SliderGlass.md +0 -11
- package/docs/api/variables/SortDropdownGlass.md +0 -11
- package/docs/api/variables/StatItemGlass.md +0 -11
- package/docs/api/variables/StatusIndicatorGlass.md +0 -11
- package/docs/api/variables/THEMES.md +0 -11
- package/docs/api/variables/THEME_CONFIG.md +0 -11
- package/docs/api/variables/TabsGlass.md +0 -52
- package/docs/api/variables/ThemeToggleGlass.md +0 -11
- package/docs/api/variables/ToggleGlass.md +0 -11
- package/docs/api/variables/TooltipGlass.md +0 -11
- package/docs/api/variables/TouchTarget.md +0 -35
- package/docs/api/variables/TrustScoreCardGlass.md +0 -11
- package/docs/api/variables/TrustScoreDisplayGlass.md +0 -11
- package/docs/api/variables/UserInfoGlass.md +0 -11
- package/docs/api/variables/UserStatsLineGlass.md +0 -11
- package/docs/api/variables/YearCardGlass.md +0 -11
- package/docs/api/variables/alertVariants.md +0 -21
- package/docs/api/variables/avatarSizes.md +0 -21
- package/docs/api/variables/badgeVariants.md +0 -21
- package/docs/api/variables/buttonGlassVariants.md +0 -21
- package/docs/api/variables/cardIntensity.md +0 -21
- package/docs/api/variables/dropdownAlign.md +0 -21
- package/docs/api/variables/inputVariants.md +0 -21
- package/docs/api/variables/modalSizes.md +0 -21
- package/docs/api/variables/notificationVariants.md +0 -21
- package/docs/api/variables/progressSizes.md +0 -21
- package/docs/api/variables/shadcnAlertVariants.md +0 -21
- package/docs/api/variables/shadcnBadgeVariants.md +0 -21
- package/docs/api/variables/shadcnButtonVariants.md +0 -21
- package/docs/api/variables/skeletonVariants.md +0 -21
- package/docs/api/variables/statusSizes.md +0 -21
- package/docs/api/variables/toggleSizes.md +0 -21
- package/docs/api/variables/tooltipPositions.md +0 -21
- package/docs/design-system/UI_DESIGN.md +0 -628
- package/docs/technical/DEPENDENCIES.md +0 -291
- package/docs/visual-testing-guide.md +0 -362
|
@@ -1,291 +0,0 @@
|
|
|
1
|
-
# Dependencies Documentation
|
|
2
|
-
|
|
3
|
-
This document provides comprehensive information about the key dependencies used in the shadcn-glass-ui-library project.
|
|
4
|
-
|
|
5
|
-
## Core Framework & Build Tools
|
|
6
|
-
|
|
7
|
-
### React 19.2
|
|
8
|
-
**Version:** 19.2.0
|
|
9
|
-
**Purpose:** UI library foundation
|
|
10
|
-
**Official Docs:** [react.dev](https://react.dev/)
|
|
11
|
-
|
|
12
|
-
**Key Features:**
|
|
13
|
-
- **React Server Components** - Production-ready and stable in React 19. Render components ahead of time before bundling in a separate environment from client app or SSR server. Can run once at build time on CI server or per-request using a web server. Libraries can now target React 19 with `react-server` export condition for Full-stack React Architecture support.
|
|
14
|
-
- **Server Actions** - Stable feature for replacing traditional REST/GraphQL APIs in frameworks like Next.js and Remix. Note: `"use server"` directive is for Server Actions, not Server Components (which have no directive).
|
|
15
|
-
- **React Compiler** - Production-ready compiler automating performance optimizations, eliminating manual memoization with `useMemo` and `useCallback`
|
|
16
|
-
- **`use()` API** - Read resources in render, allowing promise reading with automatic Suspense integration
|
|
17
|
-
- **Document Metadata Support** - Native support for rendering `<title>`, `<link>`, and `<meta>` tags with automatic hoisting to `<head>`
|
|
18
|
-
- **Framework Integration** - Server Components stable for use in frameworks but bundler/framework APIs don't follow semver and may break between React 19.x minors
|
|
19
|
-
|
|
20
|
-
**References:**
|
|
21
|
-
- [React 19 Documentation](https://react.dev/blog/2024/12/05/react-19)
|
|
22
|
-
- [React Server Components Reference](https://react.dev/reference/rsc/server-components)
|
|
23
|
-
|
|
24
|
-
### Vite 7 (rolldown-vite)
|
|
25
|
-
**Version:** 7.2.5 (rolldown-vite)
|
|
26
|
-
**Purpose:** Build tool and development server
|
|
27
|
-
**Official Docs:** [vite.dev](https://vite.dev/)
|
|
28
|
-
|
|
29
|
-
**About Rolldown:**
|
|
30
|
-
- **Rust-based Next-Gen Bundler** - High-performance JavaScript bundler developed by VoidZero as part of Vite's modernization strategy
|
|
31
|
-
- **Drop-in Replacement** - Available today via `rolldown-vite` package with Rollup-compatible API
|
|
32
|
-
- **Unification** - Replaces both esbuild (dependency pre-bundling) and Rollup (production builds) with single bundler
|
|
33
|
-
- **Performance Gains:**
|
|
34
|
-
- **3-16x faster** production builds vs JavaScript bundlers
|
|
35
|
-
- **100x reduction** in memory usage
|
|
36
|
-
- GitLab: 2.5 minutes → 40 seconds (100x less memory)
|
|
37
|
-
- Excalidraw: 22.9 seconds → 1.4 seconds (16x faster)
|
|
38
|
-
- **Future Default** - Will eventually become default bundler for Vite, particularly beneficial for larger projects
|
|
39
|
-
- **Dev/Build Consistency** - Eliminates inconsistencies between development and production by using same bundler
|
|
40
|
-
|
|
41
|
-
**Vite Evolution:**
|
|
42
|
-
- Vite 4.3: Significant dev server performance improvements
|
|
43
|
-
- Vite 5.1: 8s → 5.35s load time for 10K modules (bundle-less approach)
|
|
44
|
-
- Vite 7: Rolldown integration for unified, high-performance bundling
|
|
45
|
-
|
|
46
|
-
**References:**
|
|
47
|
-
- [Vite Rolldown Integration Guide](https://vite.dev/guide/rolldown)
|
|
48
|
-
- [Announcing Rolldown-Vite](https://voidzero.dev/posts/announcing-rolldown-vite)
|
|
49
|
-
- [Report Issues](https://github.com/vitejs/rolldown-vite)
|
|
50
|
-
|
|
51
|
-
### TypeScript 5.9
|
|
52
|
-
**Version:** ~5.9.3
|
|
53
|
-
**Purpose:** Type safety and developer experience
|
|
54
|
-
**Configuration:** Strict mode enabled
|
|
55
|
-
|
|
56
|
-
## Styling Framework
|
|
57
|
-
|
|
58
|
-
### Tailwind CSS 4.1
|
|
59
|
-
**Version:** 4.1.17
|
|
60
|
-
**Purpose:** Utility-first CSS framework
|
|
61
|
-
**Official Docs:** [tailwindcss.com](https://tailwindcss.com/)
|
|
62
|
-
|
|
63
|
-
**Major v4 Features:**
|
|
64
|
-
- **Performance Breakthrough:**
|
|
65
|
-
- **5x faster** full builds vs v3
|
|
66
|
-
- **100x faster** incremental builds (measured in microseconds, not seconds)
|
|
67
|
-
- Significant reduction in build time impact for CSS modules
|
|
68
|
-
- **CSS-First Configuration:**
|
|
69
|
-
- No more `tailwind.config.js` - all customizations in CSS using `@import`
|
|
70
|
-
- Use `@reference` to import theme definitions into CSS modules without duplication
|
|
71
|
-
- Migration: Replace `@tailwind` directives with standard CSS `@import` statements
|
|
72
|
-
- **Automatic Content Detection** - Zero configuration, automatic template file discovery
|
|
73
|
-
- **CSS Variables by Default** - All design tokens available as CSS variables for runtime access
|
|
74
|
-
- **Modern Web Platform:**
|
|
75
|
-
- Built on cascade layers, `@property`, and `color-mix()`
|
|
76
|
-
- Browser targets: Safari 16.4+, Chrome 111+, Firefox 128+ (March 2023+)
|
|
77
|
-
- Native support for container queries, `@starting-style`, popovers
|
|
78
|
-
- Wide-gamut color space support
|
|
79
|
-
- **First-Party Vite Plugin** - Tight integration via `@tailwindcss/vite` for optimal performance
|
|
80
|
-
|
|
81
|
-
**Breaking Changes from v3:**
|
|
82
|
-
- CSS modules require explicit `@reference` imports for theme access
|
|
83
|
-
- Preflight updates: placeholder color, button cursor, dialog centering, `hidden` attribute priority
|
|
84
|
-
- No `@tailwind` directives - use standard CSS imports
|
|
85
|
-
|
|
86
|
-
**Packages:**
|
|
87
|
-
- `tailwindcss@4.1.17` - Core framework
|
|
88
|
-
- `@tailwindcss/vite@4.1.17` - Vite integration plugin
|
|
89
|
-
- `@tailwindcss/postcss@4.1.17` - PostCSS plugin
|
|
90
|
-
|
|
91
|
-
**References:**
|
|
92
|
-
- [Tailwind CSS v4.0 Release](https://tailwindcss.com/blog/tailwindcss-v4)
|
|
93
|
-
- [Upgrade Guide](https://tailwindcss.com/docs/upgrade-guide)
|
|
94
|
-
|
|
95
|
-
## Development Tools
|
|
96
|
-
|
|
97
|
-
### Storybook 10.1
|
|
98
|
-
**Version:** 10.1.0
|
|
99
|
-
**Purpose:** Component development workshop
|
|
100
|
-
**Official Docs:** [storybook.js.org](https://storybook.js.org/)
|
|
101
|
-
|
|
102
|
-
**Key Features:**
|
|
103
|
-
- **ESM-only Distribution** - 29% smaller install size (on top of 50% savings from v9), all packages use ESM-only format
|
|
104
|
-
- **Module Automocking** - Automatic mocking of API calls and services for easier component testing in isolation
|
|
105
|
-
- **Typesafe CSF Factories** - Enhanced type safety and autocompletion for React component stories
|
|
106
|
-
- **Enhanced Tag Filtering** - Improved sidebar organization with tag-based filtering, exclusion, and configuration
|
|
107
|
-
- **Vitest Integration** - Native Vitest addon transforms stories into Vitest tests, run with browser mode
|
|
108
|
-
- **Framework Support** - Next 16 and Vitest 4 support, Svelte async components
|
|
109
|
-
- **Ecosystem** - Extensible through presets and addons for documentation, a11y testing, design tools, test runners
|
|
110
|
-
|
|
111
|
-
**Testing Capabilities:**
|
|
112
|
-
- **Storybook Test** - Real-time testing via Vitest addon with automatic story-to-test transformation
|
|
113
|
-
- **composeStories API** - Reuse development stories as test fixtures, eliminating duplication
|
|
114
|
-
- **Unified Workflow** - Same component examples for development, testing, and documentation
|
|
115
|
-
|
|
116
|
-
**Breaking Changes (v9 → v10):**
|
|
117
|
-
- Main configuration (`.storybook/main.js|ts`) must be valid ESM
|
|
118
|
-
- Node 20.19+ or 22.12+ now required (was 20.16+ or 22.19+)
|
|
119
|
-
- Vitest setup file (`.storybook/vitest.setup.ts`) can be removed with CSF Next upgrade
|
|
120
|
-
|
|
121
|
-
**Installed Addons:**
|
|
122
|
-
- `@storybook/addon-a11y@10.1.0` - Accessibility testing with Axe
|
|
123
|
-
- `@storybook/addon-docs@10.1.0` - Documentation generation
|
|
124
|
-
- `@storybook/addon-vitest@10.1.0` - Vitest integration for component testing
|
|
125
|
-
- `@storybook/addon-mcp@0.1.3` - MCP integration
|
|
126
|
-
- `@chromatic-com/storybook@4.1.3` - Visual regression testing
|
|
127
|
-
|
|
128
|
-
**Node Requirements:** Node 20.19+, 22.12+, or 24+
|
|
129
|
-
|
|
130
|
-
**References:**
|
|
131
|
-
- [Storybook 10 Release](https://storybook.js.org/blog/storybook-10/)
|
|
132
|
-
- [Migration Guide](https://storybook.js.org/docs/releases/migration-guide)
|
|
133
|
-
|
|
134
|
-
### Vitest 4.0
|
|
135
|
-
**Version:** 4.0.14
|
|
136
|
-
**Purpose:** Testing framework
|
|
137
|
-
**Official Docs:** [vitest.dev](https://vitest.dev/)
|
|
138
|
-
|
|
139
|
-
**Key Features:**
|
|
140
|
-
- **Stable Browser Mode** - Test UI components in real browsers (Playwright/WebDriver/Preview). Removed `experimental` tag. Separate provider packages: `@vitest/browser-playwright`, `@vitest/browser-webdriverio`, `@vitest/browser-preview`
|
|
141
|
-
- **Visual Regression Testing:**
|
|
142
|
-
- `toMatchScreenshot` assertion for screenshot comparison
|
|
143
|
-
- `toBeInViewport` matcher using IntersectionObserver API
|
|
144
|
-
- Screenshot storage in `__screenshots__/` directories
|
|
145
|
-
- Update baselines with `--update` flag
|
|
146
|
-
- **Playwright Traces Integration:**
|
|
147
|
-
- First-class trace support via `trace` config option
|
|
148
|
-
- Trace modes: `off`, `on`, `on-first-retry`, `on-all-retries`, `retain-on-failure`
|
|
149
|
-
- Traces available as annotations in reporters (e.g., HTML reporter)
|
|
150
|
-
- View traces with Playwright Trace Viewer for CI debugging
|
|
151
|
-
- **Enhanced Debugging:**
|
|
152
|
-
- "Debug Test" button in VSCode extension for browser tests
|
|
153
|
-
- `--inspect` flag support (playwright/webdriverio)
|
|
154
|
-
- Automatic `trackUnhandledErrors` disable during debugging
|
|
155
|
-
- **Architecture:** Tests run natively in browser (vs Playwright component tests running in Node.js with remote browser control)
|
|
156
|
-
|
|
157
|
-
**CI Configuration:**
|
|
158
|
-
- **Playwright:** Use `npx playwright install --with-deps --only-shell`
|
|
159
|
-
- **WebdriverIO:** Use browser setup actions (e.g., `@browser-actions/setup-chrome`)
|
|
160
|
-
|
|
161
|
-
**Installed Packages:**
|
|
162
|
-
- `vitest@4.0.14` - Core testing framework
|
|
163
|
-
- `@vitest/browser-playwright@4.0.14` - Browser testing with Playwright
|
|
164
|
-
- `@vitest/coverage-v8@4.0.14` - Code coverage with V8
|
|
165
|
-
- `@testing-library/react@16.3.0` - React testing utilities
|
|
166
|
-
|
|
167
|
-
**Breaking Changes:**
|
|
168
|
-
- Browser mode providers now require separate packages
|
|
169
|
-
- See [Migration Guide](https://vitest.dev/guide/migration.html) for detailed changes
|
|
170
|
-
|
|
171
|
-
**References:**
|
|
172
|
-
- [Vitest 4.0 Release](https://vitest.dev/blog/vitest-4)
|
|
173
|
-
- [Visual Regression Testing Guide](https://vitest.dev/guide/browser/visual-regression-testing)
|
|
174
|
-
- [Announcing Vitest 4.0](https://voidzero.dev/posts/announcing-vitest-4)
|
|
175
|
-
|
|
176
|
-
## UI Component Libraries
|
|
177
|
-
|
|
178
|
-
### shadcn/ui
|
|
179
|
-
**Version:** 3.5.0
|
|
180
|
-
**Purpose:** Accessible component primitives
|
|
181
|
-
**Official Docs:** [ui.shadcn.com](https://ui.shadcn.com/)
|
|
182
|
-
|
|
183
|
-
**Configuration:**
|
|
184
|
-
- Style: `new-york`
|
|
185
|
-
- Components path: `@/components/ui`
|
|
186
|
-
- Utils path: `@/lib/utils`
|
|
187
|
-
- Icon library: `lucide-react@0.555.0`
|
|
188
|
-
- CSS variables: Enabled with `neutral` base color
|
|
189
|
-
|
|
190
|
-
### Lucide React
|
|
191
|
-
**Version:** 0.555.0
|
|
192
|
-
**Purpose:** Icon library
|
|
193
|
-
**Official Docs:** [lucide.dev](https://lucide.dev/)
|
|
194
|
-
|
|
195
|
-
## Utility Libraries
|
|
196
|
-
|
|
197
|
-
### Class Utilities
|
|
198
|
-
- `clsx@2.1.1` - Conditional className construction
|
|
199
|
-
- `tailwind-merge@3.4.0` - Tailwind class merging without conflicts
|
|
200
|
-
- `class-variance-authority@0.7.1` - CVA for variant-based styling
|
|
201
|
-
|
|
202
|
-
**Combined Usage:** The `cn()` utility in [src/lib/utils.ts](src/lib/utils.ts) combines `clsx` and `tailwind-merge` for optimal className handling.
|
|
203
|
-
|
|
204
|
-
## Code Quality & Linting
|
|
205
|
-
|
|
206
|
-
### ESLint 9.39
|
|
207
|
-
**Configuration:** Flat config format
|
|
208
|
-
**Plugins:**
|
|
209
|
-
- `@eslint/js@9.39.1` - Core ESLint rules
|
|
210
|
-
- `typescript-eslint@8.46.4` - TypeScript linting
|
|
211
|
-
- `eslint-plugin-react-hooks@7.0.1` - React hooks rules
|
|
212
|
-
- `eslint-plugin-react-refresh@0.4.24` - React refresh rules
|
|
213
|
-
- `eslint-plugin-storybook@10.1.0` - Storybook-specific rules
|
|
214
|
-
|
|
215
|
-
### Prettier
|
|
216
|
-
**Version:** 3.7.1
|
|
217
|
-
**Purpose:** Code formatting
|
|
218
|
-
|
|
219
|
-
## Development Dependencies
|
|
220
|
-
|
|
221
|
-
### Build & Dev Tools
|
|
222
|
-
- `@vitejs/plugin-react@5.1.1` - Vite React plugin with Fast Refresh
|
|
223
|
-
- `postcss@8.5.6` - CSS transformations
|
|
224
|
-
- `sass@1.94.2` - Sass preprocessing
|
|
225
|
-
|
|
226
|
-
### Testing Infrastructure
|
|
227
|
-
- `playwright@1.57.0` - End-to-end browser testing
|
|
228
|
-
- `@testing-library/react@16.3.0` - React component testing utilities
|
|
229
|
-
|
|
230
|
-
### Type Definitions
|
|
231
|
-
- `@types/react@19.2.5` - React type definitions
|
|
232
|
-
- `@types/react-dom@19.2.3` - React DOM type definitions
|
|
233
|
-
- `@types/node@24.10.1` - Node.js type definitions
|
|
234
|
-
|
|
235
|
-
## Version Requirements
|
|
236
|
-
|
|
237
|
-
**Node.js:** 20.16+, 22.19+, or 24+ (required for Storybook 10 ESM-only)
|
|
238
|
-
**npm:** Latest stable version recommended
|
|
239
|
-
|
|
240
|
-
## Package Manager Configuration
|
|
241
|
-
|
|
242
|
-
The project uses npm with package overrides to ensure `rolldown-vite` is used consistently:
|
|
243
|
-
|
|
244
|
-
```json
|
|
245
|
-
"overrides": {
|
|
246
|
-
"vite": "npm:rolldown-vite@7.2.5"
|
|
247
|
-
}
|
|
248
|
-
```
|
|
249
|
-
|
|
250
|
-
## Dependency Management Best Practices
|
|
251
|
-
|
|
252
|
-
1. **Version Pinning:** All dependencies use specific versions (with `^` for minor updates)
|
|
253
|
-
2. **Regular Updates:** Review dependency updates monthly, test thoroughly
|
|
254
|
-
3. **Security:** Run `npm audit` regularly to check for vulnerabilities
|
|
255
|
-
4. **Bundle Size:** Monitor bundle size impact when adding new dependencies
|
|
256
|
-
5. **Tree Shaking:** Prefer ESM packages for better tree shaking
|
|
257
|
-
|
|
258
|
-
## Performance Metrics
|
|
259
|
-
|
|
260
|
-
Based on the current dependency stack:
|
|
261
|
-
- **Build Time:** 3-16x faster production builds with Rolldown vs traditional Rollup/JavaScript bundlers
|
|
262
|
-
- **Memory Usage:** 100x reduction vs traditional bundlers (real-world examples: GitLab 2.5min → 40sec)
|
|
263
|
-
- **CSS Build Performance:**
|
|
264
|
-
- Full builds: 5x faster than Tailwind v3
|
|
265
|
-
- Incremental builds: 100x faster (measured in microseconds)
|
|
266
|
-
- **Dev Server:** Near-instant start with Vite's on-demand compilation
|
|
267
|
-
- **Install Size:** 29% smaller with Storybook 10 ESM-only distribution
|
|
268
|
-
- **Bundle Size:** Optimized through automatic tree shaking and unified Rolldown bundling
|
|
269
|
-
|
|
270
|
-
## Future Considerations
|
|
271
|
-
|
|
272
|
-
- **React 19.x:** Monitor patch releases for bug fixes. Note that Server Components bundler/framework APIs may break between minors (19.x) - pin version if building framework support
|
|
273
|
-
- **Vite/Rolldown:** Rolldown will eventually become default bundler for Vite. Track development for further performance optimizations and ecosystem compatibility
|
|
274
|
-
- **Tailwind CSS 4.x:** Watch for updates to modern CSS features, browser support expansion, and performance improvements
|
|
275
|
-
- **Storybook 10.x:** Follow releases for experimental features (new test syntax, RSC testing) and ecosystem improvements
|
|
276
|
-
- **Vitest 4.x:** Monitor updates for browser mode enhancements, visual regression testing improvements, and new assertion helpers
|
|
277
|
-
- **Browser Support:** Current stack requires modern browsers (Chrome 111+, Safari 16.4+, Firefox 128+). Consider compatibility mode if older browser support needed
|
|
278
|
-
|
|
279
|
-
## Migration Notes
|
|
280
|
-
|
|
281
|
-
### Key Breaking Changes to Be Aware Of:
|
|
282
|
-
1. **Storybook 10:** Requires Node 20.19+/22.12+/24+, ESM-only main configuration
|
|
283
|
-
2. **Tailwind v4:** No `@tailwind` directives (use `@import`), CSS modules need `@reference` imports
|
|
284
|
-
3. **Vitest 4:** Browser mode providers require separate packages
|
|
285
|
-
4. **React 19:** Server Components stable, but bundler APIs may break between minors
|
|
286
|
-
|
|
287
|
-
---
|
|
288
|
-
|
|
289
|
-
**Last Updated:** 2025-11-28
|
|
290
|
-
**Document Version:** 2.0.0
|
|
291
|
-
**Data Sources:** Official documentation via Context7 MCP
|
|
@@ -1,362 +0,0 @@
|
|
|
1
|
-
# Visual Testing Guide
|
|
2
|
-
|
|
3
|
-
This guide explains how to work with visual regression tests in this project.
|
|
4
|
-
|
|
5
|
-
## Overview
|
|
6
|
-
|
|
7
|
-
The project uses **Vitest 4.0 browser mode** with **Playwright** for visual regression testing. All
|
|
8
|
-
reference screenshots are generated on **Linux (ubuntu-latest)** in CI to ensure consistency across
|
|
9
|
-
environments.
|
|
10
|
-
|
|
11
|
-
**Key Points:**
|
|
12
|
-
|
|
13
|
-
- ✅ Reference screenshots are generated on Linux
|
|
14
|
-
- ✅ All platforms use the same screenshot files (no `-darwin`/`-linux` suffixes)
|
|
15
|
-
- ✅ Automatic workflow for updating screenshots
|
|
16
|
-
- ✅ Cross-platform tolerance configured (8% pixel mismatch allowed)
|
|
17
|
-
|
|
18
|
-
## Running Tests Locally
|
|
19
|
-
|
|
20
|
-
### Run all visual tests
|
|
21
|
-
|
|
22
|
-
```bash
|
|
23
|
-
npm run test:visual:ci
|
|
24
|
-
```
|
|
25
|
-
|
|
26
|
-
### Update screenshots locally (for reference only)
|
|
27
|
-
|
|
28
|
-
```bash
|
|
29
|
-
npm run test:visual:update
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
**⚠️ IMPORTANT:** Do NOT commit screenshots generated on macOS. Always use the GitHub Actions
|
|
33
|
-
workflow to generate production screenshots.
|
|
34
|
-
|
|
35
|
-
**Cleaning local screenshots:** If you accidentally generated screenshots locally, use this script
|
|
36
|
-
to remove them:
|
|
37
|
-
|
|
38
|
-
```bash
|
|
39
|
-
./scripts/clean-local-screenshots.sh
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
**Protection:** A pre-commit hook automatically blocks commits of new screenshots from non-Linux
|
|
43
|
-
platforms. If you see this error:
|
|
44
|
-
|
|
45
|
-
```
|
|
46
|
-
❌ ERROR: Cannot commit visual test screenshots from Darwin
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
This is working as intended. Use the GitHub Actions workflow instead.
|
|
50
|
-
|
|
51
|
-
## Updating Reference Screenshots
|
|
52
|
-
|
|
53
|
-
When you modify UI components and need to update screenshots:
|
|
54
|
-
|
|
55
|
-
### Option 1: Using GitHub CLI (Recommended)
|
|
56
|
-
|
|
57
|
-
```bash
|
|
58
|
-
gh workflow run update-screenshots.yml
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### Option 2: Via GitHub Web UI
|
|
62
|
-
|
|
63
|
-
1. Go to **Actions** → **Update Visual Test Screenshots**
|
|
64
|
-
2. Click **Run workflow**
|
|
65
|
-
3. Optionally provide a custom commit message
|
|
66
|
-
4. Click **Run workflow**
|
|
67
|
-
|
|
68
|
-
The workflow will:
|
|
69
|
-
|
|
70
|
-
1. Delete existing screenshots
|
|
71
|
-
2. Generate new screenshots on Linux (ubuntu-latest)
|
|
72
|
-
3. Commit and push changes automatically
|
|
73
|
-
4. Upload screenshots as artifacts
|
|
74
|
-
|
|
75
|
-
### Monitoring Workflow Progress
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
# Check workflow status
|
|
79
|
-
gh run list --workflow=update-screenshots.yml --limit 1
|
|
80
|
-
|
|
81
|
-
# View workflow logs
|
|
82
|
-
gh run view <run-id> --log
|
|
83
|
-
```
|
|
84
|
-
|
|
85
|
-
## Configuration
|
|
86
|
-
|
|
87
|
-
### Visual Test Thresholds
|
|
88
|
-
|
|
89
|
-
**File:** `vite.config.ts`
|
|
90
|
-
|
|
91
|
-
```typescript
|
|
92
|
-
comparatorOptions: {
|
|
93
|
-
threshold: 0.05, // Allow 5% color difference (macOS vs Linux)
|
|
94
|
-
allowedMismatchedPixelRatio: 0.08, // Allow 8% pixel mismatch
|
|
95
|
-
}
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
These tolerances account for:
|
|
99
|
-
|
|
100
|
-
- Font rendering differences between macOS and Linux
|
|
101
|
-
- Subpixel anti-aliasing variations
|
|
102
|
-
- Minor layout shifts (1-2px height differences)
|
|
103
|
-
|
|
104
|
-
### Screenshot Naming
|
|
105
|
-
|
|
106
|
-
Screenshots use a unified naming pattern:
|
|
107
|
-
|
|
108
|
-
```
|
|
109
|
-
{test-name}-{theme}-chromium.png
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
Example: `button-primary-glass-chromium.png`
|
|
113
|
-
|
|
114
|
-
**No platform suffixes** (`-darwin`, `-linux`) are added.
|
|
115
|
-
|
|
116
|
-
## Test Structure
|
|
117
|
-
|
|
118
|
-
### Visual Test Locations
|
|
119
|
-
|
|
120
|
-
```
|
|
121
|
-
src/components/__visual__/
|
|
122
|
-
├── components.visual.test.tsx # Individual component tests
|
|
123
|
-
├── componentshowcase.visual.test.tsx # ComponentShowcase demo page (55 tests)
|
|
124
|
-
├── desktop.visual.test.tsx # DesktopShowcase demo page (80+ tests)
|
|
125
|
-
├── mobileshowcase.visual.test.tsx # MobileShowcase demo page
|
|
126
|
-
├── phase2-components.visual.test.tsx # Phase 2 components
|
|
127
|
-
├── projects-list.visual.test.tsx # ProjectsList component
|
|
128
|
-
└── __screenshots__/ # Reference screenshots (603 files)
|
|
129
|
-
```
|
|
130
|
-
|
|
131
|
-
### Screenshot Organization
|
|
132
|
-
|
|
133
|
-
```
|
|
134
|
-
src/components/__visual__/__screenshots__/
|
|
135
|
-
├── components.visual.test.tsx/
|
|
136
|
-
│ ├── alert-error-aurora-chromium.png
|
|
137
|
-
│ ├── alert-error-glass-chromium.png
|
|
138
|
-
│ ├── alert-error-light-chromium.png
|
|
139
|
-
│ └── ...
|
|
140
|
-
├── desktop.visual.test.tsx/
|
|
141
|
-
└── ...
|
|
142
|
-
```
|
|
143
|
-
|
|
144
|
-
## Git Pre-commit Hook
|
|
145
|
-
|
|
146
|
-
The repository includes a pre-commit hook that prevents accidentally committing screenshots
|
|
147
|
-
generated on non-Linux platforms.
|
|
148
|
-
|
|
149
|
-
**Setup (Automatic):**
|
|
150
|
-
|
|
151
|
-
The hook is located at `.git/hooks/pre-commit` and should work automatically. If you encounter
|
|
152
|
-
issues:
|
|
153
|
-
|
|
154
|
-
```bash
|
|
155
|
-
# Ensure Git is using the correct hooks directory
|
|
156
|
-
git config --unset core.hookspath
|
|
157
|
-
|
|
158
|
-
# Verify hook is executable
|
|
159
|
-
chmod +x .git/hooks/pre-commit
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
**How it works:**
|
|
163
|
-
|
|
164
|
-
- Blocks commits of new `.png` files in `__screenshots__/` directories
|
|
165
|
-
- Only allows commits from Linux (CI environment)
|
|
166
|
-
- Shows helpful error message with instructions
|
|
167
|
-
|
|
168
|
-
**Bypassing the hook (not recommended):**
|
|
169
|
-
|
|
170
|
-
```bash
|
|
171
|
-
git commit --no-verify # Skip all git hooks
|
|
172
|
-
```
|
|
173
|
-
|
|
174
|
-
Only bypass if you're sure you're committing Linux-generated screenshots.
|
|
175
|
-
|
|
176
|
-
## CI/CD Integration
|
|
177
|
-
|
|
178
|
-
### Automatic Testing
|
|
179
|
-
|
|
180
|
-
Visual tests run automatically on every push/PR:
|
|
181
|
-
|
|
182
|
-
**File:** `.github/workflows/ci.yml`
|
|
183
|
-
|
|
184
|
-
```yaml
|
|
185
|
-
- name: Run visual regression tests
|
|
186
|
-
run: npm run test:visual:ci
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### Manual Screenshot Updates
|
|
190
|
-
|
|
191
|
-
**File:** `.github/workflows/update-screenshots.yml`
|
|
192
|
-
|
|
193
|
-
Workflow features:
|
|
194
|
-
|
|
195
|
-
- ✅ Manual trigger only (`workflow_dispatch`)
|
|
196
|
-
- ✅ Runs on Linux (ubuntu-latest)
|
|
197
|
-
- ✅ Deletes old screenshots before regeneration
|
|
198
|
-
- ✅ Commits and pushes changes automatically
|
|
199
|
-
- ✅ Uploads screenshots as artifacts (30-day retention)
|
|
200
|
-
- ✅ Custom commit message support
|
|
201
|
-
|
|
202
|
-
## Troubleshooting
|
|
203
|
-
|
|
204
|
-
### Tests Fail After Component Changes
|
|
205
|
-
|
|
206
|
-
**Symptoms:**
|
|
207
|
-
|
|
208
|
-
- CI shows screenshot mismatches
|
|
209
|
-
- Error: "Screenshot does not match the stored reference"
|
|
210
|
-
- Pixel ratio > 0.08 or dimension differences
|
|
211
|
-
|
|
212
|
-
**Solution:**
|
|
213
|
-
|
|
214
|
-
1. Review the changes to ensure they're intentional
|
|
215
|
-
2. Run the screenshot update workflow:
|
|
216
|
-
```bash
|
|
217
|
-
gh workflow run update-screenshots.yml -f commit_message="chore: update screenshots after [your change]"
|
|
218
|
-
```
|
|
219
|
-
3. Wait for the workflow to complete
|
|
220
|
-
4. Trigger CI with an empty commit if needed:
|
|
221
|
-
```bash
|
|
222
|
-
git commit --allow-empty -m "chore: verify visual tests"
|
|
223
|
-
git push
|
|
224
|
-
```
|
|
225
|
-
|
|
226
|
-
### Local Screenshots Don't Match CI
|
|
227
|
-
|
|
228
|
-
**Symptoms:**
|
|
229
|
-
|
|
230
|
-
- Tests pass locally but fail in CI
|
|
231
|
-
- Opposite: tests fail locally but pass in CI
|
|
232
|
-
|
|
233
|
-
**Cause:**
|
|
234
|
-
|
|
235
|
-
- Platform differences (macOS vs Linux)
|
|
236
|
-
- Font rendering variations
|
|
237
|
-
- Different screenshot generation environment
|
|
238
|
-
|
|
239
|
-
**Solution:**
|
|
240
|
-
|
|
241
|
-
- **DO NOT** commit local screenshots from macOS
|
|
242
|
-
- Always use the GitHub Actions workflow
|
|
243
|
-
- Linux screenshots are the source of truth
|
|
244
|
-
|
|
245
|
-
### Workflow Fails to Commit
|
|
246
|
-
|
|
247
|
-
**Symptoms:**
|
|
248
|
-
|
|
249
|
-
- Workflow succeeds but no new commit appears
|
|
250
|
-
- Error: "Updates were rejected"
|
|
251
|
-
|
|
252
|
-
**Cause:**
|
|
253
|
-
|
|
254
|
-
- Race condition: new commits pushed while workflow was running
|
|
255
|
-
|
|
256
|
-
**Solution:**
|
|
257
|
-
|
|
258
|
-
- Workflow includes `git pull --rebase` before push
|
|
259
|
-
- If still failing, manually re-run the workflow
|
|
260
|
-
|
|
261
|
-
## Best Practices
|
|
262
|
-
|
|
263
|
-
### When to Update Screenshots
|
|
264
|
-
|
|
265
|
-
Update screenshots when:
|
|
266
|
-
|
|
267
|
-
- ✅ Intentional UI changes (new features, design updates)
|
|
268
|
-
- ✅ Component refactoring that affects rendering
|
|
269
|
-
- ✅ Theme or styling changes
|
|
270
|
-
- ✅ Breaking changes in dependencies (React, Tailwind, etc.)
|
|
271
|
-
|
|
272
|
-
Do NOT update screenshots for:
|
|
273
|
-
|
|
274
|
-
- ❌ Random pixel differences without code changes
|
|
275
|
-
- ❌ Flaky tests (investigate root cause first)
|
|
276
|
-
- ❌ Local development screenshots
|
|
277
|
-
|
|
278
|
-
### Reviewing Screenshot Changes
|
|
279
|
-
|
|
280
|
-
Before approving screenshot updates:
|
|
281
|
-
|
|
282
|
-
1. **Download artifacts** from the workflow run
|
|
283
|
-
2. **Compare** old vs new screenshots visually
|
|
284
|
-
3. **Verify** changes are intentional and expected
|
|
285
|
-
4. **Check** that all themes (glass, light, aurora) are consistent
|
|
286
|
-
|
|
287
|
-
### Writing New Visual Tests
|
|
288
|
-
|
|
289
|
-
```typescript
|
|
290
|
-
import { test, expect } from '@vitest/browser/context';
|
|
291
|
-
|
|
292
|
-
test('MyComponent - default state - glass theme', async () => {
|
|
293
|
-
const { page } = await import('@vitest/browser/context');
|
|
294
|
-
|
|
295
|
-
// Render component
|
|
296
|
-
const container = page.locator('[data-testid="my-component"]');
|
|
297
|
-
|
|
298
|
-
// Take screenshot
|
|
299
|
-
await expect(container).toMatchScreenshot('my-component-default-glass');
|
|
300
|
-
});
|
|
301
|
-
```
|
|
302
|
-
|
|
303
|
-
**Naming convention:**
|
|
304
|
-
|
|
305
|
-
- Use descriptive names: `{component}-{variant}-{theme}`
|
|
306
|
-
- Include theme: `glass`, `light`, `aurora`
|
|
307
|
-
- Use kebab-case
|
|
308
|
-
|
|
309
|
-
## Statistics
|
|
310
|
-
|
|
311
|
-
**Current Coverage:**
|
|
312
|
-
|
|
313
|
-
- **582 visual tests** (as of v1.0.0)
|
|
314
|
-
- **603 reference screenshots**
|
|
315
|
-
- **99.5% pass rate** in CI
|
|
316
|
-
- **3 themes tested:** glass, light, aurora
|
|
317
|
-
|
|
318
|
-
## Related Documentation
|
|
319
|
-
|
|
320
|
-
- [CLAUDE.md](../CLAUDE.md) - Project overview and architecture
|
|
321
|
-
- [DEPENDENCIES.md](technical/DEPENDENCIES.md) - Tech stack details
|
|
322
|
-
- [visual-tests-audit.md](./visual-tests-audit.md) - Detailed test audit
|
|
323
|
-
- [Migration Guides](./migration/) - Component API changes
|
|
324
|
-
|
|
325
|
-
## Workflow Reference
|
|
326
|
-
|
|
327
|
-
### Update Screenshots Workflow
|
|
328
|
-
|
|
329
|
-
**Trigger:**
|
|
330
|
-
|
|
331
|
-
```bash
|
|
332
|
-
gh workflow run update-screenshots.yml
|
|
333
|
-
```
|
|
334
|
-
|
|
335
|
-
**With custom message:**
|
|
336
|
-
|
|
337
|
-
```bash
|
|
338
|
-
gh workflow run update-screenshots.yml -f commit_message="chore: update screenshots after AlertGlass refactor"
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
**Check status:**
|
|
342
|
-
|
|
343
|
-
```bash
|
|
344
|
-
gh run list --workflow=update-screenshots.yml --limit 1
|
|
345
|
-
```
|
|
346
|
-
|
|
347
|
-
**View logs:**
|
|
348
|
-
|
|
349
|
-
```bash
|
|
350
|
-
gh run view <run-id> --log
|
|
351
|
-
```
|
|
352
|
-
|
|
353
|
-
**Download artifacts:**
|
|
354
|
-
|
|
355
|
-
```bash
|
|
356
|
-
gh run download <run-id> -n visual-test-screenshots
|
|
357
|
-
```
|
|
358
|
-
|
|
359
|
-
---
|
|
360
|
-
|
|
361
|
-
**Last Updated:** 2025-12-05 **Vitest Version:** 4.0 **Playwright Version:** Latest **Node
|
|
362
|
-
Version:** 20.16+, 22.19+, or 24+
|