shadcn-glass-ui 2.3.1 → 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/package.json +21 -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 -18
- 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 -88
- 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 -83
- 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 -50
- 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 -74
- 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 -150
- 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-7NcW0KZL.cjs.map +0 -1
- package/dist/theme-context-DLS2uAgJ.mjs.map +0 -1
- package/dist/themes.d.ts.map +0 -1
- package/dist/trust-score-card-glass-BGqBcdyJ.mjs.map +0 -1
- package/dist/trust-score-card-glass-DtgFygh5.cjs.map +0 -1
- package/dist/use-focus-BFBcpBh1.cjs.map +0 -1
- package/dist/use-focus-C5kPAKr_.mjs.map +0 -1
- package/dist/use-wallpaper-tint-C0kYXNiN.mjs.map +0 -1
- package/dist/use-wallpaper-tint-DTTStm5f.cjs.map +0 -1
- package/dist/utils-B792GPM_.mjs.map +0 -1
- package/dist/utils-CiuCe_Aq.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,436 +0,0 @@
|
|
|
1
|
-
# Compliance Testing Guide
|
|
2
|
-
|
|
3
|
-
This guide explains how to use the Design System Compliance Testing framework to validate components against the glassmorphism design system specifications.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Quick Start
|
|
8
|
-
|
|
9
|
-
### jsdom Mode (Fast, ~73% pass rate)
|
|
10
|
-
|
|
11
|
-
```bash
|
|
12
|
-
# Run all compliance tests in jsdom
|
|
13
|
-
npm run test:compliance
|
|
14
|
-
|
|
15
|
-
# Single run (CI mode)
|
|
16
|
-
npm run test:compliance:run
|
|
17
|
-
|
|
18
|
-
# Run specific test file
|
|
19
|
-
npm run test:compliance -- spacing
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### Browser Mode (Accurate, ~95-100% pass rate)
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
# Run all compliance tests in real browser (Playwright)
|
|
26
|
-
npm run test:compliance:browser
|
|
27
|
-
|
|
28
|
-
# Single run (CI mode)
|
|
29
|
-
npm run test:compliance:browser:run
|
|
30
|
-
|
|
31
|
-
# Run specific browser test
|
|
32
|
-
npm run test:compliance:browser -- blur.browser
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### Which Mode to Use?
|
|
36
|
-
|
|
37
|
-
| Scenario | Mode | Command |
|
|
38
|
-
|----------|------|---------|
|
|
39
|
-
| **Pre-commit** | jsdom | `npm run test:compliance:run` |
|
|
40
|
-
| **CI/CD** | jsdom | `npm run test:compliance:run` |
|
|
41
|
-
| **Pre-release** | browser | `npm run test:compliance:browser:run` |
|
|
42
|
-
| **Debugging blur issues** | browser | `npm run test:compliance:browser` |
|
|
43
|
-
| **Local development** | jsdom | `npm run test:compliance` |
|
|
44
|
-
|
|
45
|
-
---
|
|
46
|
-
|
|
47
|
-
## Test Structure
|
|
48
|
-
|
|
49
|
-
### Directory Layout
|
|
50
|
-
|
|
51
|
-
```
|
|
52
|
-
src/test/
|
|
53
|
-
compliance/
|
|
54
|
-
__setup__/
|
|
55
|
-
compliance-setup.ts # Custom matchers and mocks
|
|
56
|
-
theme-test-wrapper.tsx # ThemeProvider wrapper
|
|
57
|
-
tokens/
|
|
58
|
-
spacing.compliance.test.tsx # 8px grid validation
|
|
59
|
-
typography.compliance.test.tsx # Font size, weight, line-height
|
|
60
|
-
border-radius.compliance.test.tsx # Radius scale validation
|
|
61
|
-
glassmorphism/
|
|
62
|
-
blur.compliance.test.tsx # Blur value validation
|
|
63
|
-
opacity.compliance.test.tsx # Surface opacity ranges
|
|
64
|
-
antipatterns.compliance.test.tsx # Detect violations
|
|
65
|
-
components/
|
|
66
|
-
button.compliance.test.tsx # Button-specific rules
|
|
67
|
-
card.compliance.test.tsx # Card-specific rules
|
|
68
|
-
modal.compliance.test.tsx # Modal-specific rules
|
|
69
|
-
tooltip.compliance.test.tsx # Tooltip-specific rules
|
|
70
|
-
badge.compliance.test.tsx # Badge-specific rules
|
|
71
|
-
accessibility/
|
|
72
|
-
contrast.compliance.test.tsx # WCAG contrast ratios
|
|
73
|
-
touch-targets.compliance.test.tsx # 44x44px minimum
|
|
74
|
-
focus-states.compliance.test.tsx # Double-outline technique
|
|
75
|
-
utils/
|
|
76
|
-
design-tokens.ts # Token definitions from UI_DESIGN.md
|
|
77
|
-
spacing-validator.ts # 8px grid checker
|
|
78
|
-
contrast-checker.ts # WCAG contrast calculator
|
|
79
|
-
blur-validator.ts # Glassmorphism property parser
|
|
80
|
-
computed-style-reader.ts # CSS computed value extractor
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
---
|
|
84
|
-
|
|
85
|
-
## Running Tests
|
|
86
|
-
|
|
87
|
-
### All Compliance Tests
|
|
88
|
-
|
|
89
|
-
```bash
|
|
90
|
-
npm run test:compliance
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Specific Categories
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
# Token tests only
|
|
97
|
-
npm run test:compliance -- tokens
|
|
98
|
-
|
|
99
|
-
# Glassmorphism tests only
|
|
100
|
-
npm run test:compliance -- glassmorphism
|
|
101
|
-
|
|
102
|
-
# Component tests only
|
|
103
|
-
npm run test:compliance -- components
|
|
104
|
-
|
|
105
|
-
# Accessibility tests only
|
|
106
|
-
npm run test:compliance -- accessibility
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### Single File
|
|
110
|
-
|
|
111
|
-
```bash
|
|
112
|
-
npm run test:compliance -- button.compliance
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### Watch Mode
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
npm run test:compliance -- --watch
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## Understanding Test Output
|
|
124
|
-
|
|
125
|
-
### Passing Tests
|
|
126
|
-
|
|
127
|
-
```
|
|
128
|
-
PASS compliance src/test/compliance/tokens/spacing.compliance.test.tsx
|
|
129
|
-
Spacing Compliance Tests
|
|
130
|
-
8px Grid System
|
|
131
|
-
✓ validates that 0 is on grid
|
|
132
|
-
✓ validates 4px half-grid increments
|
|
133
|
-
```
|
|
134
|
-
|
|
135
|
-
### Failing Tests
|
|
136
|
-
|
|
137
|
-
```
|
|
138
|
-
FAIL compliance src/test/compliance/tokens/typography.compliance.test.tsx
|
|
139
|
-
Typography Compliance Tests
|
|
140
|
-
Font Weight Compliance
|
|
141
|
-
✗ Button text has medium weight (500+)
|
|
142
|
-
expected 400 to be greater than or equal to 500
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
This indicates the Button component has `font-weight: 400` but should have `font-weight: 500` per the design system.
|
|
146
|
-
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
## Custom Matchers
|
|
150
|
-
|
|
151
|
-
The compliance setup adds custom Vitest matchers:
|
|
152
|
-
|
|
153
|
-
### toBeOnGrid
|
|
154
|
-
|
|
155
|
-
Checks if a value is on the 8px grid (4px increments):
|
|
156
|
-
|
|
157
|
-
```typescript
|
|
158
|
-
expect(16).toBeOnGrid(); // passes
|
|
159
|
-
expect(8).toBeOnGrid(); // passes
|
|
160
|
-
expect(15).toBeOnGrid(); // fails
|
|
161
|
-
```
|
|
162
|
-
|
|
163
|
-
### toMeetContrastAA
|
|
164
|
-
|
|
165
|
-
Checks WCAG AA contrast requirements:
|
|
166
|
-
|
|
167
|
-
```typescript
|
|
168
|
-
expect(4.5).toMeetContrastAA(); // passes (normal text)
|
|
169
|
-
expect(3.0).toMeetContrastAA(true); // passes (large text)
|
|
170
|
-
expect(2.0).toMeetContrastAA(); // fails
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
### toMeetTouchTarget
|
|
174
|
-
|
|
175
|
-
Checks minimum touch target size:
|
|
176
|
-
|
|
177
|
-
```typescript
|
|
178
|
-
expect({ width: 48, height: 48 }).toMeetTouchTarget(); // passes
|
|
179
|
-
expect({ width: 30, height: 30 }).toMeetTouchTarget(); // fails
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
### toBeValidBlurToken
|
|
183
|
-
|
|
184
|
-
Checks if blur is a valid token:
|
|
185
|
-
|
|
186
|
-
```typescript
|
|
187
|
-
expect(16).toBeValidBlurToken(); // passes (md)
|
|
188
|
-
expect(24).toBeValidBlurToken(); // passes (lg)
|
|
189
|
-
expect(15).toBeValidBlurToken(); // fails
|
|
190
|
-
```
|
|
191
|
-
|
|
192
|
-
---
|
|
193
|
-
|
|
194
|
-
## Test Utilities
|
|
195
|
-
|
|
196
|
-
### Design Tokens
|
|
197
|
-
|
|
198
|
-
Import token values for assertions:
|
|
199
|
-
|
|
200
|
-
```typescript
|
|
201
|
-
import {
|
|
202
|
-
SPACING_TOKENS,
|
|
203
|
-
TYPOGRAPHY_TOKENS,
|
|
204
|
-
BLUR_TOKENS,
|
|
205
|
-
COMPONENT_SPECS
|
|
206
|
-
} from '@/test/utils/design-tokens';
|
|
207
|
-
|
|
208
|
-
// Use in tests
|
|
209
|
-
expect(buttonHeight).toBe(COMPONENT_SPECS.BUTTON.md.height);
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
### Spacing Validator
|
|
213
|
-
|
|
214
|
-
```typescript
|
|
215
|
-
import {
|
|
216
|
-
isOnGrid,
|
|
217
|
-
validateElementSpacing,
|
|
218
|
-
validateTouchTarget
|
|
219
|
-
} from '@/test/utils/spacing-validator';
|
|
220
|
-
|
|
221
|
-
// Check if value is on grid
|
|
222
|
-
expect(isOnGrid(16)).toBe(true);
|
|
223
|
-
|
|
224
|
-
// Validate element spacing
|
|
225
|
-
const result = validateElementSpacing(element);
|
|
226
|
-
expect(result.valid).toBe(true);
|
|
227
|
-
|
|
228
|
-
// Check touch target
|
|
229
|
-
const touchResult = validateTouchTarget(element);
|
|
230
|
-
expect(touchResult.valid).toBe(true);
|
|
231
|
-
```
|
|
232
|
-
|
|
233
|
-
### Contrast Checker
|
|
234
|
-
|
|
235
|
-
```typescript
|
|
236
|
-
import {
|
|
237
|
-
checkContrast,
|
|
238
|
-
isPureBlack,
|
|
239
|
-
validateElementContrast
|
|
240
|
-
} from '@/test/utils/contrast-checker';
|
|
241
|
-
|
|
242
|
-
// Check contrast between colors
|
|
243
|
-
const result = checkContrast('#ffffff', '#000000');
|
|
244
|
-
expect(result.meetsAA).toBe(true);
|
|
245
|
-
expect(result.ratio).toBeCloseTo(21, 0);
|
|
246
|
-
|
|
247
|
-
// Check for forbidden pure black
|
|
248
|
-
expect(isPureBlack('#000000')).toBe(true);
|
|
249
|
-
expect(isPureBlack('#0a0a0f')).toBe(false);
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
### Blur Validator
|
|
253
|
-
|
|
254
|
-
```typescript
|
|
255
|
-
import {
|
|
256
|
-
hasGlassEffect,
|
|
257
|
-
validateBlurValue,
|
|
258
|
-
validateModalBlur,
|
|
259
|
-
countGlassLayers
|
|
260
|
-
} from '@/test/utils/blur-validator';
|
|
261
|
-
|
|
262
|
-
// Check for glass effect
|
|
263
|
-
expect(hasGlassEffect(element)).toBe(true);
|
|
264
|
-
|
|
265
|
-
// Validate blur value
|
|
266
|
-
const result = validateBlurValue(element);
|
|
267
|
-
expect(result.valid).toBe(true);
|
|
268
|
-
expect(result.value).toBe(16);
|
|
269
|
-
|
|
270
|
-
// Check modal blur
|
|
271
|
-
const modalResult = validateModalBlur(element);
|
|
272
|
-
expect(modalResult.value).toBe(24);
|
|
273
|
-
|
|
274
|
-
// Count glass layers
|
|
275
|
-
const layers = countGlassLayers(container);
|
|
276
|
-
expect(layers.count).toBeLessThanOrEqual(3);
|
|
277
|
-
```
|
|
278
|
-
|
|
279
|
-
### Computed Style Reader
|
|
280
|
-
|
|
281
|
-
```typescript
|
|
282
|
-
import {
|
|
283
|
-
getComputedStyleSnapshot,
|
|
284
|
-
comparePadding,
|
|
285
|
-
compareDimensions
|
|
286
|
-
} from '@/test/utils/computed-style-reader';
|
|
287
|
-
|
|
288
|
-
// Get full style snapshot
|
|
289
|
-
const snapshot = getComputedStyleSnapshot(element);
|
|
290
|
-
expect(snapshot.typography.fontSize).toBe(16);
|
|
291
|
-
expect(snapshot.borderRadius.topLeft).toBe(8);
|
|
292
|
-
|
|
293
|
-
// Compare padding
|
|
294
|
-
const paddingResult = comparePadding(element, { top: 24, bottom: 24 });
|
|
295
|
-
expect(paddingResult.matches).toBe(true);
|
|
296
|
-
```
|
|
297
|
-
|
|
298
|
-
---
|
|
299
|
-
|
|
300
|
-
## Theme Wrapper
|
|
301
|
-
|
|
302
|
-
Use `ThemeTestWrapper` to test components in theme context:
|
|
303
|
-
|
|
304
|
-
```typescript
|
|
305
|
-
import { ThemeTestWrapper, THEMES } from '@/test/compliance/__setup__/theme-test-wrapper';
|
|
306
|
-
|
|
307
|
-
// Test in all themes
|
|
308
|
-
describe.each(THEMES)('Theme: %s', (theme) => {
|
|
309
|
-
it('renders correctly', () => {
|
|
310
|
-
render(
|
|
311
|
-
<ThemeTestWrapper theme={theme}>
|
|
312
|
-
<ButtonGlass>Click me</ButtonGlass>
|
|
313
|
-
</ThemeTestWrapper>
|
|
314
|
-
);
|
|
315
|
-
// assertions
|
|
316
|
-
});
|
|
317
|
-
});
|
|
318
|
-
```
|
|
319
|
-
|
|
320
|
-
---
|
|
321
|
-
|
|
322
|
-
## Writing New Compliance Tests
|
|
323
|
-
|
|
324
|
-
### Template
|
|
325
|
-
|
|
326
|
-
```typescript
|
|
327
|
-
import { describe, it, expect } from 'vitest';
|
|
328
|
-
import { render, screen } from '@testing-library/react';
|
|
329
|
-
|
|
330
|
-
import { COMPONENT_SPECS } from '@/test/utils/design-tokens';
|
|
331
|
-
import { getComputedStyleSnapshot } from '@/test/utils/computed-style-reader';
|
|
332
|
-
import { ThemeTestWrapper, THEMES } from '@/test/compliance/__setup__/theme-test-wrapper';
|
|
333
|
-
|
|
334
|
-
import { MyComponent } from '@/components/glass/ui/my-component';
|
|
335
|
-
|
|
336
|
-
describe('MyComponent Compliance Tests', () => {
|
|
337
|
-
describe('Specification Constants', () => {
|
|
338
|
-
it('has correct default specs', () => {
|
|
339
|
-
expect(COMPONENT_SPECS.MY_COMPONENT.padding).toBe(16);
|
|
340
|
-
});
|
|
341
|
-
});
|
|
342
|
-
|
|
343
|
-
describe('Visual Properties', () => {
|
|
344
|
-
describe.each(THEMES)('Theme: %s', (theme) => {
|
|
345
|
-
it('has correct padding', () => {
|
|
346
|
-
render(
|
|
347
|
-
<ThemeTestWrapper theme={theme}>
|
|
348
|
-
<MyComponent data-testid="test-component">
|
|
349
|
-
Content
|
|
350
|
-
</MyComponent>
|
|
351
|
-
</ThemeTestWrapper>
|
|
352
|
-
);
|
|
353
|
-
|
|
354
|
-
const element = screen.getByTestId('test-component');
|
|
355
|
-
const snapshot = getComputedStyleSnapshot(element);
|
|
356
|
-
|
|
357
|
-
expect(snapshot.padding.top).toBe(COMPONENT_SPECS.MY_COMPONENT.padding);
|
|
358
|
-
});
|
|
359
|
-
});
|
|
360
|
-
});
|
|
361
|
-
});
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
---
|
|
365
|
-
|
|
366
|
-
## Interpreting Violations
|
|
367
|
-
|
|
368
|
-
### Common Violations and Fixes
|
|
369
|
-
|
|
370
|
-
#### "Value not on 8px grid"
|
|
371
|
-
|
|
372
|
-
**Cause**: Spacing value like 15px or 22px used.
|
|
373
|
-
**Fix**: Use values from spacing scale (4, 8, 12, 16, 20, 24, 32, etc.)
|
|
374
|
-
|
|
375
|
-
#### "Font weight below 500"
|
|
376
|
-
|
|
377
|
-
**Cause**: Using `font-weight: 400` (normal) on glass background.
|
|
378
|
-
**Fix**: Add `font-weight: 500` or use `font-medium` Tailwind class.
|
|
379
|
-
|
|
380
|
-
#### "Touch target too small"
|
|
381
|
-
|
|
382
|
-
**Cause**: Button or input height below 44px.
|
|
383
|
-
**Fix**: Increase padding or set minimum height.
|
|
384
|
-
|
|
385
|
-
#### "Glass effect on badge"
|
|
386
|
-
|
|
387
|
-
**Cause**: Badge has `backdrop-filter: blur()`.
|
|
388
|
-
**Fix**: Remove blur, use solid background color.
|
|
389
|
-
|
|
390
|
-
#### "Blur not a valid token"
|
|
391
|
-
|
|
392
|
-
**Cause**: Using non-standard blur like `blur(15px)`.
|
|
393
|
-
**Fix**: Use token values: 8px, 16px, 24px, or 32px.
|
|
394
|
-
|
|
395
|
-
#### "Too many glass layers"
|
|
396
|
-
|
|
397
|
-
**Cause**: More than 3 elements with backdrop-filter in view.
|
|
398
|
-
**Fix**: Reduce glass usage or use solid backgrounds for some elements.
|
|
399
|
-
|
|
400
|
-
---
|
|
401
|
-
|
|
402
|
-
## Known Limitations
|
|
403
|
-
|
|
404
|
-
### jsdom Limitations
|
|
405
|
-
|
|
406
|
-
jsdom doesn't support real layout, so `getBoundingClientRect()` returns 0 for all dimensions. Tests that check actual pixel sizes may fail in jsdom.
|
|
407
|
-
|
|
408
|
-
**Workaround**: These tests pass in browser environment (Storybook/Playwright tests).
|
|
409
|
-
|
|
410
|
-
### CSS Custom Properties
|
|
411
|
-
|
|
412
|
-
Computed styles in jsdom don't resolve CSS variables the same as browsers.
|
|
413
|
-
|
|
414
|
-
**Workaround**: Test the raw class names or use browser-based tests for full validation.
|
|
415
|
-
|
|
416
|
-
---
|
|
417
|
-
|
|
418
|
-
## CI Integration
|
|
419
|
-
|
|
420
|
-
The compliance tests run as part of the test suite:
|
|
421
|
-
|
|
422
|
-
```yaml
|
|
423
|
-
# In GitHub Actions
|
|
424
|
-
- name: Run Compliance Tests
|
|
425
|
-
run: npm run test:compliance:run
|
|
426
|
-
```
|
|
427
|
-
|
|
428
|
-
---
|
|
429
|
-
|
|
430
|
-
## Adding to Existing Components
|
|
431
|
-
|
|
432
|
-
1. Check component against COMPLIANCE_CHECKLIST.md
|
|
433
|
-
2. Add compliance test file in appropriate directory
|
|
434
|
-
3. Run tests to identify violations
|
|
435
|
-
4. Fix component to meet specifications
|
|
436
|
-
5. Commit with passing tests
|