shadcn-glass-ui 2.2.1 → 2.2.4
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 +51 -0
- package/dist/cli/commands/info.d.ts +15 -0
- package/dist/cli/commands/info.d.ts.map +1 -0
- package/dist/cli/commands/list.d.ts +23 -0
- package/dist/cli/commands/list.d.ts.map +1 -0
- package/dist/cli/index.cjs +1 -1
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/{index.js → index.mjs} +1 -1
- package/dist/cli/index.mjs.map +1 -0
- package/dist/cli/utils/format.d.ts +76 -0
- package/dist/cli/utils/format.d.ts.map +1 -0
- package/dist/cli/utils/fuzzy-search.d.ts +73 -0
- package/dist/cli/utils/fuzzy-search.d.ts.map +1 -0
- package/dist/cli/utils/load-exports.d.ts +141 -0
- package/dist/cli/utils/load-exports.d.ts.map +1 -0
- package/dist/components/blocks/avatar-gallery/index.d.ts +2 -0
- package/dist/components/blocks/avatar-gallery/index.d.ts.map +1 -0
- package/dist/components/blocks/avatar-gallery/page.d.ts +7 -0
- package/dist/components/blocks/avatar-gallery/page.d.ts.map +1 -0
- package/dist/components/blocks/badges/index.d.ts +2 -0
- package/dist/components/blocks/badges/index.d.ts.map +1 -0
- package/dist/components/blocks/badges/page.d.ts +7 -0
- package/dist/components/blocks/badges/page.d.ts.map +1 -0
- package/dist/components/blocks/buttons/index.d.ts +2 -0
- package/dist/components/blocks/buttons/index.d.ts.map +1 -0
- package/dist/components/blocks/buttons/page.d.ts +7 -0
- package/dist/components/blocks/buttons/page.d.ts.map +1 -0
- package/dist/components/blocks/form-elements/index.d.ts +2 -0
- package/dist/components/blocks/form-elements/index.d.ts.map +1 -0
- package/dist/components/blocks/form-elements/page.d.ts +7 -0
- package/dist/components/blocks/form-elements/page.d.ts.map +1 -0
- package/dist/components/blocks/index.d.ts +14 -0
- package/dist/components/blocks/index.d.ts.map +1 -0
- package/dist/components/blocks/notifications/index.d.ts +2 -0
- package/dist/components/blocks/notifications/index.d.ts.map +1 -0
- package/dist/components/blocks/notifications/page.d.ts +7 -0
- package/dist/components/blocks/notifications/page.d.ts.map +1 -0
- package/dist/components/blocks/progress/index.d.ts +2 -0
- package/dist/components/blocks/progress/index.d.ts.map +1 -0
- package/dist/components/blocks/progress/page.d.ts +7 -0
- package/dist/components/blocks/progress/page.d.ts.map +1 -0
- package/dist/components/blocks/registry.d.ts +16 -0
- package/dist/components/blocks/registry.d.ts.map +1 -0
- package/dist/components/demos/AnimatedBackground.d.ts +5 -0
- package/dist/components/demos/AnimatedBackground.d.ts.map +1 -0
- package/dist/components/demos/ComponentShowcase.d.ts +6 -0
- package/dist/components/demos/ComponentShowcase.d.ts.map +1 -0
- package/dist/components/demos/DesktopShowcase.d.ts +3 -0
- package/dist/components/demos/DesktopShowcase.d.ts.map +1 -0
- package/dist/components/demos/GlassFixesDemo.d.ts +6 -0
- package/dist/components/demos/GlassFixesDemo.d.ts.map +1 -0
- package/dist/components/demos/MobileShowcase.d.ts +3 -0
- package/dist/components/demos/MobileShowcase.d.ts.map +1 -0
- package/dist/components/glass/atomic/expandable-header-glass.d.ts +16 -0
- package/dist/components/glass/atomic/expandable-header-glass.d.ts.map +1 -0
- package/dist/components/glass/atomic/icon-button-glass.d.ts +18 -0
- package/dist/components/glass/atomic/icon-button-glass.d.ts.map +1 -0
- package/dist/components/glass/atomic/index.d.ts +14 -0
- package/dist/components/glass/atomic/index.d.ts.map +1 -0
- package/dist/components/glass/atomic/insight-card-glass.d.ts +22 -0
- package/dist/components/glass/atomic/insight-card-glass.d.ts.map +1 -0
- package/dist/components/glass/atomic/search-box-glass.d.ts +17 -0
- package/dist/components/glass/atomic/search-box-glass.d.ts.map +1 -0
- package/dist/components/glass/atomic/sort-dropdown-glass.d.ts +38 -0
- package/dist/components/glass/atomic/sort-dropdown-glass.d.ts.map +1 -0
- package/dist/components/glass/atomic/stat-item-glass.d.ts +22 -0
- package/dist/components/glass/atomic/stat-item-glass.d.ts.map +1 -0
- package/dist/components/glass/atomic/theme-toggle-glass.d.ts +11 -0
- package/dist/components/glass/atomic/theme-toggle-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/ai-card-glass.d.ts +7 -0
- package/dist/components/glass/composite/ai-card-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/career-stats-header-glass.d.ts +15 -0
- package/dist/components/glass/composite/career-stats-header-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/circular-metric-glass.d.ts +24 -0
- package/dist/components/glass/composite/circular-metric-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/contribution-metrics-glass.d.ts +15 -0
- package/dist/components/glass/composite/contribution-metrics-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/index.d.ts +22 -0
- package/dist/components/glass/composite/index.d.ts.map +1 -0
- package/dist/components/glass/composite/metric-card-glass.d.ts +96 -0
- package/dist/components/glass/composite/metric-card-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/metrics-grid-glass.d.ts +17 -0
- package/dist/components/glass/composite/metrics-grid-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/repository-card-glass.d.ts +16 -0
- package/dist/components/glass/composite/repository-card-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/repository-header-glass.d.ts +16 -0
- package/dist/components/glass/composite/repository-header-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/repository-metadata-glass.d.ts +13 -0
- package/dist/components/glass/composite/repository-metadata-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/split-layout-glass/index.d.ts +16 -0
- package/dist/components/glass/composite/split-layout-glass/index.d.ts.map +1 -0
- package/dist/components/glass/composite/split-layout-glass/split-layout-accordion.d.ts +66 -0
- package/dist/components/glass/composite/split-layout-glass/split-layout-accordion.d.ts.map +1 -0
- package/dist/components/glass/composite/split-layout-glass/split-layout-context.d.ts +122 -0
- package/dist/components/glass/composite/split-layout-glass/split-layout-context.d.ts.map +1 -0
- package/dist/components/glass/composite/split-layout-glass/split-layout-glass.d.ts +177 -0
- package/dist/components/glass/composite/split-layout-glass/split-layout-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/trust-score-display-glass.d.ts +15 -0
- package/dist/components/glass/composite/trust-score-display-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/user-info-glass.d.ts +15 -0
- package/dist/components/glass/composite/user-info-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/user-stats-line-glass.d.ts +15 -0
- package/dist/components/glass/composite/user-stats-line-glass.d.ts.map +1 -0
- package/dist/components/glass/composite/year-card-glass.d.ts +53 -0
- package/dist/components/glass/composite/year-card-glass.d.ts.map +1 -0
- package/dist/components/glass/index.d.ts +16 -0
- package/dist/components/glass/index.d.ts.map +1 -0
- package/dist/components/glass/primitives/form-field-wrapper.d.ts +69 -0
- package/dist/components/glass/primitives/form-field-wrapper.d.ts.map +1 -0
- package/dist/components/glass/primitives/index.d.ts +12 -0
- package/dist/components/glass/primitives/index.d.ts.map +1 -0
- package/dist/components/glass/primitives/interactive-card.d.ts +91 -0
- package/dist/components/glass/primitives/interactive-card.d.ts.map +1 -0
- package/dist/components/glass/primitives/style-utils.d.ts +147 -0
- package/dist/components/glass/primitives/style-utils.d.ts.map +1 -0
- package/dist/components/glass/primitives/touch-target.d.ts +46 -0
- package/dist/components/glass/primitives/touch-target.d.ts.map +1 -0
- package/dist/components/glass/sections/career-stats-glass.d.ts +17 -0
- package/dist/components/glass/sections/career-stats-glass.d.ts.map +1 -0
- package/dist/components/glass/sections/flags-section-glass.d.ts +13 -0
- package/dist/components/glass/sections/flags-section-glass.d.ts.map +1 -0
- package/dist/components/glass/sections/header-branding-glass.d.ts +16 -0
- package/dist/components/glass/sections/header-branding-glass.d.ts.map +1 -0
- package/dist/components/glass/sections/header-nav-glass.d.ts +7 -0
- package/dist/components/glass/sections/header-nav-glass.d.ts.map +1 -0
- package/dist/components/glass/sections/index.d.ts +13 -0
- package/dist/components/glass/sections/index.d.ts.map +1 -0
- package/dist/components/glass/sections/profile-header-glass.d.ts +16 -0
- package/dist/components/glass/sections/profile-header-glass.d.ts.map +1 -0
- package/dist/components/glass/sections/projects-list-glass.d.ts +42 -0
- package/dist/components/glass/sections/projects-list-glass.d.ts.map +1 -0
- package/dist/components/glass/sections/trust-score-card-glass.d.ts +12 -0
- package/dist/components/glass/sections/trust-score-card-glass.d.ts.map +1 -0
- package/dist/components/glass/specialized/base-progress-glass.d.ts +8 -0
- package/dist/components/glass/specialized/base-progress-glass.d.ts.map +1 -0
- package/dist/components/glass/specialized/flag-alert-glass.d.ts +8 -0
- package/dist/components/glass/specialized/flag-alert-glass.d.ts.map +1 -0
- package/dist/components/glass/specialized/index.d.ts +21 -0
- package/dist/components/glass/specialized/index.d.ts.map +1 -0
- package/dist/components/glass/specialized/language-bar-glass.d.ts +24 -0
- package/dist/components/glass/specialized/language-bar-glass.d.ts.map +1 -0
- package/dist/components/glass/specialized/profile-avatar-glass.d.ts +26 -0
- package/dist/components/glass/specialized/profile-avatar-glass.d.ts.map +1 -0
- package/dist/components/glass/specialized/progress-glass.d.ts +9 -0
- package/dist/components/glass/specialized/progress-glass.d.ts.map +1 -0
- package/dist/components/glass/specialized/rainbow-progress-glass.d.ts +8 -0
- package/dist/components/glass/specialized/rainbow-progress-glass.d.ts.map +1 -0
- package/dist/components/glass/specialized/segmented-control-glass.d.ts +11 -0
- package/dist/components/glass/specialized/segmented-control-glass.d.ts.map +1 -0
- package/dist/components/glass/specialized/sparkline-glass.d.ts +34 -0
- package/dist/components/glass/specialized/sparkline-glass.d.ts.map +1 -0
- package/dist/components/glass/specialized/status-indicator-glass.d.ts +8 -0
- package/dist/components/glass/specialized/status-indicator-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/alert-glass.d.ts +13 -0
- package/dist/components/glass/ui/alert-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/avatar-glass.d.ts +58 -0
- package/dist/components/glass/ui/avatar-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/badge-glass.d.ts +74 -0
- package/dist/components/glass/ui/badge-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/button-glass.d.ts +110 -0
- package/dist/components/glass/ui/button-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/card-glass.d.ts +115 -0
- package/dist/components/glass/ui/card-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/checkbox-glass.d.ts +80 -0
- package/dist/components/glass/ui/checkbox-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/circular-progress-glass.d.ts +36 -0
- package/dist/components/glass/ui/circular-progress-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/combobox-glass.d.ts +61 -0
- package/dist/components/glass/ui/combobox-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/dropdown-glass.d.ts +83 -0
- package/dist/components/glass/ui/dropdown-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/dropdown-menu-glass.d.ts +77 -0
- package/dist/components/glass/ui/dropdown-menu-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/glass-card.d.ts +78 -0
- package/dist/components/glass/ui/glass-card.d.ts.map +1 -0
- package/dist/components/glass/ui/index.d.ts +44 -0
- package/dist/components/glass/ui/index.d.ts.map +1 -0
- package/dist/components/glass/ui/input-glass.d.ts +98 -0
- package/dist/components/glass/ui/input-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/modal-glass.d.ts +180 -0
- package/dist/components/glass/ui/modal-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/notification-glass.d.ts +13 -0
- package/dist/components/glass/ui/notification-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/popover-glass.d.ts +71 -0
- package/dist/components/glass/ui/popover-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/sidebar-glass/index.d.ts +100 -0
- package/dist/components/glass/ui/sidebar-glass/index.d.ts.map +1 -0
- package/dist/components/glass/ui/sidebar-glass/sidebar-context.d.ts +96 -0
- package/dist/components/glass/ui/sidebar-glass/sidebar-context.d.ts.map +1 -0
- package/dist/components/glass/ui/sidebar-glass/sidebar-glass.d.ts +88 -0
- package/dist/components/glass/ui/sidebar-glass/sidebar-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/sidebar-glass/sidebar-menu.d.ts +121 -0
- package/dist/components/glass/ui/sidebar-glass/sidebar-menu.d.ts.map +1 -0
- package/dist/components/glass/ui/skeleton-glass.d.ts +8 -0
- package/dist/components/glass/ui/skeleton-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/slider-glass.d.ts +38 -0
- package/dist/components/glass/ui/slider-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/stepper-glass.d.ts +63 -0
- package/dist/components/glass/ui/stepper-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/tabs-glass.d.ts +149 -0
- package/dist/components/glass/ui/tabs-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/toggle-glass.d.ts +27 -0
- package/dist/components/glass/ui/toggle-glass.d.ts.map +1 -0
- package/dist/components/glass/ui/tooltip-glass.d.ts +65 -0
- package/dist/components/glass/ui/tooltip-glass.d.ts.map +1 -0
- package/dist/components/ui/alert.d.ts +8 -0
- package/dist/components/ui/alert.d.ts.map +1 -0
- package/dist/components/ui/avatar.d.ts +7 -0
- package/dist/components/ui/avatar.d.ts.map +1 -0
- package/dist/components/ui/badge.d.ts +8 -0
- package/dist/components/ui/badge.d.ts.map +1 -0
- package/dist/components/ui/button.d.ts +8 -0
- package/dist/components/ui/button.d.ts.map +1 -0
- package/dist/components/ui/card.d.ts +10 -0
- package/dist/components/ui/card.d.ts.map +1 -0
- package/dist/components/ui/chart.d.ts +69 -0
- package/dist/components/ui/chart.d.ts.map +1 -0
- package/dist/components/ui/checkbox.d.ts +5 -0
- package/dist/components/ui/checkbox.d.ts.map +1 -0
- package/dist/components/ui/collapsible.d.ts +6 -0
- package/dist/components/ui/collapsible.d.ts.map +1 -0
- package/dist/components/ui/command.d.ts +19 -0
- package/dist/components/ui/command.d.ts.map +1 -0
- package/dist/components/ui/dialog.d.ts +16 -0
- package/dist/components/ui/dialog.d.ts.map +1 -0
- package/dist/components/ui/dropdown-menu.d.ts +26 -0
- package/dist/components/ui/dropdown-menu.d.ts.map +1 -0
- package/dist/components/ui/input.d.ts +4 -0
- package/dist/components/ui/input.d.ts.map +1 -0
- package/dist/components/ui/popover.d.ts +8 -0
- package/dist/components/ui/popover.d.ts.map +1 -0
- package/dist/components/ui/progress.d.ts +5 -0
- package/dist/components/ui/progress.d.ts.map +1 -0
- package/dist/components/ui/scroll-area.d.ts +6 -0
- package/dist/components/ui/scroll-area.d.ts.map +1 -0
- package/dist/components/ui/separator.d.ts +5 -0
- package/dist/components/ui/separator.d.ts.map +1 -0
- package/dist/components/ui/skeleton.d.ts +3 -0
- package/dist/components/ui/skeleton.d.ts.map +1 -0
- package/dist/components/ui/slider.d.ts +5 -0
- package/dist/components/ui/slider.d.ts.map +1 -0
- package/dist/components/ui/sonner.d.ts +4 -0
- package/dist/components/ui/sonner.d.ts.map +1 -0
- package/dist/components/ui/switch.d.ts +5 -0
- package/dist/components/ui/switch.d.ts.map +1 -0
- package/dist/components/ui/tabs.d.ts +8 -0
- package/dist/components/ui/tabs.d.ts.map +1 -0
- package/dist/components/ui/tooltip.d.ts +8 -0
- package/dist/components/ui/tooltip.d.ts.map +1 -0
- package/dist/components.cjs +4 -4
- package/dist/components.d.ts +56 -1932
- package/dist/components.d.ts.map +1 -0
- package/dist/components.mjs +5 -0
- package/dist/hooks.cjs +2 -2
- package/dist/hooks.d.ts +5 -225
- package/dist/hooks.d.ts.map +1 -0
- package/dist/{hooks.js → hooks.mjs} +2 -2
- package/dist/index.cjs +138 -1109
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +81 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/{index.js → index.mjs} +116 -1115
- package/dist/index.mjs.map +1 -0
- package/dist/lib/config.d.ts +28 -0
- package/dist/lib/config.d.ts.map +1 -0
- package/dist/lib/hooks/index.d.ts +11 -0
- package/dist/lib/hooks/index.d.ts.map +1 -0
- package/dist/lib/hooks/use-focus.d.ts +61 -0
- package/dist/lib/hooks/use-focus.d.ts.map +1 -0
- package/dist/lib/hooks/use-hover.d.ts +54 -0
- package/dist/lib/hooks/use-hover.d.ts.map +1 -0
- package/dist/lib/hooks/use-responsive.d.ts +44 -0
- package/dist/lib/hooks/use-responsive.d.ts.map +1 -0
- package/dist/lib/hooks/use-wallpaper-tint.d.ts +57 -0
- package/dist/lib/hooks/use-wallpaper-tint.d.ts.map +1 -0
- package/dist/lib/hooks.d.ts +92 -0
- package/dist/lib/hooks.d.ts.map +1 -0
- package/dist/lib/theme/tokens.d.ts +441 -0
- package/dist/lib/theme/tokens.d.ts.map +1 -0
- package/dist/lib/theme-context.d.ts +115 -0
- package/dist/lib/theme-context.d.ts.map +1 -0
- package/dist/lib/types.d.ts +24 -0
- package/dist/lib/types.d.ts.map +1 -0
- package/dist/lib/utils.d.ts +8 -0
- package/dist/lib/utils.d.ts.map +1 -0
- package/dist/lib/variants/alert-glass-variants.d.ts +10 -0
- package/dist/lib/variants/alert-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/alert-variants.d.ts +8 -0
- package/dist/lib/variants/alert-variants.d.ts.map +1 -0
- package/dist/lib/variants/avatar-glass-variants.d.ts +12 -0
- package/dist/lib/variants/avatar-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/badge-glass-variants.d.ts +10 -0
- package/dist/lib/variants/badge-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/badge-variants.d.ts +8 -0
- package/dist/lib/variants/badge-variants.d.ts.map +1 -0
- package/dist/lib/variants/button-glass-variants.d.ts +29 -0
- package/dist/lib/variants/button-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/button-variants.d.ts +9 -0
- package/dist/lib/variants/button-variants.d.ts.map +1 -0
- package/dist/lib/variants/dropdown-content-styles.d.ts +102 -0
- package/dist/lib/variants/dropdown-content-styles.d.ts.map +1 -0
- package/dist/lib/variants/dropdown-glass-variants.d.ts +9 -0
- package/dist/lib/variants/dropdown-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/glass-card-variants.d.ts +13 -0
- package/dist/lib/variants/glass-card-variants.d.ts.map +1 -0
- package/dist/lib/variants/index.d.ts +26 -0
- package/dist/lib/variants/index.d.ts.map +1 -0
- package/dist/lib/variants/input-glass-variants.d.ts +9 -0
- package/dist/lib/variants/input-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/insight-card-glass-variants.d.ts +11 -0
- package/dist/lib/variants/insight-card-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/modal-glass-variants.d.ts +9 -0
- package/dist/lib/variants/modal-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/notification-glass-variants.d.ts +9 -0
- package/dist/lib/variants/notification-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/progress-glass-variants.d.ts +10 -0
- package/dist/lib/variants/progress-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/skeleton-glass-variants.d.ts +9 -0
- package/dist/lib/variants/skeleton-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/sparkline-glass-variants.d.ts +10 -0
- package/dist/lib/variants/sparkline-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/stepper-glass-variants.d.ts +40 -0
- package/dist/lib/variants/stepper-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/toggle-glass-variants.d.ts +26 -0
- package/dist/lib/variants/toggle-glass-variants.d.ts.map +1 -0
- package/dist/lib/variants/tooltip-glass-variants.d.ts +9 -0
- package/dist/lib/variants/tooltip-glass-variants.d.ts.map +1 -0
- package/dist/{theme-context-BEA8K_rq.cjs → theme-context-DBAPfMto.cjs} +2 -2
- package/dist/{theme-context-BEA8K_rq.cjs.map → theme-context-DBAPfMto.cjs.map} +1 -1
- package/dist/{theme-context-_T5r1KG4.js → theme-context-DLS2uAgJ.mjs} +1 -1
- package/dist/theme-context-DLS2uAgJ.mjs.map +1 -0
- package/dist/themes.cjs +1 -1
- package/dist/themes.d.ts +2 -124
- package/dist/themes.d.ts.map +1 -0
- package/dist/{themes.js → themes.mjs} +1 -1
- package/dist/trust-score-card-glass-BUt9MIF0.mjs +4197 -0
- package/dist/trust-score-card-glass-BUt9MIF0.mjs.map +1 -0
- package/dist/trust-score-card-glass-_v9hGnCW.cjs +4834 -0
- package/dist/trust-score-card-glass-_v9hGnCW.cjs.map +1 -0
- package/dist/{use-focus-CX0TJJIj.js → use-focus-C5kPAKr_.mjs} +1 -1
- package/dist/use-focus-C5kPAKr_.mjs.map +1 -0
- package/dist/{use-focus-CdoUzFQ8.cjs → use-focus-DBs46Dxv.cjs} +2 -2
- package/dist/{use-focus-CdoUzFQ8.cjs.map → use-focus-DBs46Dxv.cjs.map} +1 -1
- package/dist/{use-wallpaper-tint-DUgmytlY.js → use-wallpaper-tint-C0kYXNiN.mjs} +1 -1
- package/dist/use-wallpaper-tint-C0kYXNiN.mjs.map +1 -0
- package/dist/{use-wallpaper-tint-Rq5UgY9L.cjs → use-wallpaper-tint-DNdTbD1y.cjs} +2 -2
- package/dist/{use-wallpaper-tint-Rq5UgY9L.cjs.map → use-wallpaper-tint-DNdTbD1y.cjs.map} +1 -1
- package/dist/{utils-CcyeqpKQ.js → utils-B792GPM_.mjs} +1 -1
- package/dist/utils-B792GPM_.mjs.map +1 -0
- package/dist/{utils-NLnOCttr.cjs → utils-D5ef293O.cjs} +2 -2
- package/dist/{utils-NLnOCttr.cjs.map → utils-D5ef293O.cjs.map} +1 -1
- package/dist/utils.cjs +1 -1
- package/dist/utils.d.ts +2 -10
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.mjs +2 -0
- package/package.json +9 -9
- package/dist/cli/index.js.map +0 -1
- package/dist/components.js +0 -5
- package/dist/index.js.map +0 -1
- package/dist/theme-context-_T5r1KG4.js.map +0 -1
- package/dist/trust-score-card-glass-DTS1RdIt.cjs +0 -28660
- package/dist/trust-score-card-glass-DTS1RdIt.cjs.map +0 -1
- package/dist/trust-score-card-glass-Dg4_b_g_.js +0 -27660
- package/dist/trust-score-card-glass-Dg4_b_g_.js.map +0 -1
- package/dist/use-focus-CX0TJJIj.js.map +0 -1
- package/dist/use-wallpaper-tint-DUgmytlY.js.map +0 -1
- package/dist/utils-CcyeqpKQ.js.map +0 -1
- package/dist/utils.js +0 -2
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { LucideIcon } from 'lucide-react';
|
|
2
|
+
import { InputGlassSize } from '../../../lib/variants/input-glass-variants';
|
|
3
|
+
export type GlassVariant = 'glass' | 'frosted' | 'fluted' | 'crystal';
|
|
4
|
+
export interface ComboBoxOption<T = string> {
|
|
5
|
+
readonly value: T;
|
|
6
|
+
readonly label: string;
|
|
7
|
+
readonly disabled?: boolean;
|
|
8
|
+
/** Optional icon component for the option */
|
|
9
|
+
readonly icon?: LucideIcon;
|
|
10
|
+
}
|
|
11
|
+
export interface ComboBoxGlassProps<T = string> {
|
|
12
|
+
/** Available options */
|
|
13
|
+
readonly options: readonly ComboBoxOption<T>[];
|
|
14
|
+
/** Currently selected value */
|
|
15
|
+
readonly value?: T;
|
|
16
|
+
/** Callback when value changes */
|
|
17
|
+
readonly onValueChange?: (value: T | undefined) => void;
|
|
18
|
+
/** Placeholder text for trigger button */
|
|
19
|
+
readonly placeholder?: string;
|
|
20
|
+
/** Text shown when no results found */
|
|
21
|
+
readonly emptyText?: string;
|
|
22
|
+
/** Placeholder for search input */
|
|
23
|
+
readonly searchPlaceholder?: string;
|
|
24
|
+
/** Glass variant style */
|
|
25
|
+
readonly glassVariant?: GlassVariant;
|
|
26
|
+
/** Disabled state */
|
|
27
|
+
readonly disabled?: boolean;
|
|
28
|
+
/** Custom className for container */
|
|
29
|
+
readonly className?: string;
|
|
30
|
+
/** Custom className for popover content */
|
|
31
|
+
readonly popoverClassName?: string;
|
|
32
|
+
/** Allow clearing selection */
|
|
33
|
+
readonly clearable?: boolean;
|
|
34
|
+
/** Popover side */
|
|
35
|
+
readonly side?: 'top' | 'right' | 'bottom' | 'left';
|
|
36
|
+
/** Popover alignment */
|
|
37
|
+
readonly align?: 'start' | 'center' | 'end';
|
|
38
|
+
/** Label text displayed above the field */
|
|
39
|
+
readonly label?: string;
|
|
40
|
+
/** Error message - displays in red below the field */
|
|
41
|
+
readonly error?: string;
|
|
42
|
+
/** Success message - displays in green if no error */
|
|
43
|
+
readonly success?: string;
|
|
44
|
+
/** Shows required asterisk (*) next to label */
|
|
45
|
+
readonly required?: boolean;
|
|
46
|
+
/** Size variant (affects trigger button height and padding) */
|
|
47
|
+
readonly size?: InputGlassSize;
|
|
48
|
+
/** Enable/disable search functionality */
|
|
49
|
+
readonly searchable?: boolean;
|
|
50
|
+
/** Optional icon for trigger button (displayed before text) */
|
|
51
|
+
readonly icon?: LucideIcon;
|
|
52
|
+
}
|
|
53
|
+
declare function ComboBoxGlassInner<T = string>({ options, value, onValueChange, placeholder, emptyText, searchPlaceholder, glassVariant, disabled, className, popoverClassName, clearable, side, align, label, error, success, required, size, searchable, icon: TriggerIcon, }: ComboBoxGlassProps<T>, ref: React.ForwardedRef<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
|
|
54
|
+
declare namespace ComboBoxGlassInner {
|
|
55
|
+
var displayName: string;
|
|
56
|
+
}
|
|
57
|
+
export declare const ComboBoxGlass: <T = string>(props: ComboBoxGlassProps<T> & {
|
|
58
|
+
ref?: React.ForwardedRef<HTMLButtonElement>;
|
|
59
|
+
}) => ReturnType<typeof ComboBoxGlassInner>;
|
|
60
|
+
export {};
|
|
61
|
+
//# sourceMappingURL=combobox-glass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"combobox-glass.d.ts","sourceRoot":"","sources":["../../../../src/components/glass/ui/combobox-glass.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,EAAiC,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAa9E,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAOzF,OAAO,mBAAmB,CAAC;AAM3B,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAEtE,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,MAAM;IACxC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,6CAA6C;IAC7C,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;CAC5B;AAED,MAAM,WAAW,kBAAkB,CAAC,CAAC,GAAG,MAAM;IAC5C,wBAAwB;IACxB,QAAQ,CAAC,OAAO,EAAE,SAAS,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,+BAA+B;IAC/B,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACnB,kCAAkC;IAClC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,KAAK,IAAI,CAAC;IACxD,0CAA0C;IAC1C,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,uCAAuC;IACvC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,mCAAmC;IACnC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,0BAA0B;IAC1B,QAAQ,CAAC,YAAY,CAAC,EAAE,YAAY,CAAC;IACrC,qBAAqB;IACrB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,qCAAqC;IACrC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,+BAA+B;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,mBAAmB;IACnB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IACpD,wBAAwB;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,CAAC;IAM5C,2CAA2C;IAC3C,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,sDAAsD;IACtD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,cAAc,CAAC;IAC/B,0CAA0C;IAC1C,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,+DAA+D;IAC/D,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;CAC5B;AAMD,iBAAS,kBAAkB,CAAC,CAAC,GAAG,MAAM,EACpC,EACE,OAAO,EACP,KAAK,EACL,aAAa,EACb,WAAgC,EAChC,SAA+B,EAC/B,iBAA+B,EAC/B,YAAsB,EACtB,QAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,SAAiB,EACjB,IAAe,EACf,KAAe,EAEf,KAAK,EACL,KAAK,EACL,OAAO,EACP,QAAgB,EAChB,IAAW,EACX,UAAiB,EACjB,IAAI,EAAE,WAAW,GAClB,EAAE,kBAAkB,CAAC,CAAC,CAAC,EACxB,GAAG,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,2CA+J3C;kBAvLQ,kBAAkB;;;AA0L3B,eAAO,MAAM,aAAa,EAAqC,CAAC,CAAC,GAAG,MAAM,EACxE,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAA;CAAE,KAC3E,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { LucideIcon } from 'lucide-react';
|
|
2
|
+
/**
|
|
3
|
+
* DropdownGlass Component
|
|
4
|
+
*
|
|
5
|
+
* Glass-themed dropdown menu with two APIs:
|
|
6
|
+
*
|
|
7
|
+
* 1. **Simple API** (items prop) - Quick setup for basic menus
|
|
8
|
+
* 2. **Compound API** (DropdownMenuGlass.*) - Full shadcn/ui pattern for complex menus
|
|
9
|
+
*
|
|
10
|
+
* @example Simple API (recommended for basic dropdowns)
|
|
11
|
+
* ```tsx
|
|
12
|
+
* import { DropdownGlass } from '@/components/glass/ui/dropdown-glass';
|
|
13
|
+
*
|
|
14
|
+
* <DropdownGlass
|
|
15
|
+
* trigger={<button><MoreVertical /></button>}
|
|
16
|
+
* items={[
|
|
17
|
+
* { label: 'Edit', icon: Edit, onClick: handleEdit },
|
|
18
|
+
* { divider: true },
|
|
19
|
+
* { label: 'Delete', icon: Trash, onClick: handleDelete, danger: true }
|
|
20
|
+
* ]}
|
|
21
|
+
* />
|
|
22
|
+
* ```
|
|
23
|
+
*
|
|
24
|
+
* @example Compound API (for complex dropdowns)
|
|
25
|
+
* ```tsx
|
|
26
|
+
* import {
|
|
27
|
+
* DropdownMenuGlass,
|
|
28
|
+
* DropdownMenuGlassTrigger,
|
|
29
|
+
* DropdownMenuGlassContent,
|
|
30
|
+
* DropdownMenuGlassItem,
|
|
31
|
+
* DropdownMenuGlassSeparator,
|
|
32
|
+
* } from '@/components/glass/ui/dropdown-menu-glass';
|
|
33
|
+
*
|
|
34
|
+
* <DropdownMenuGlass>
|
|
35
|
+
* <DropdownMenuGlassTrigger asChild>
|
|
36
|
+
* <Button>Open Menu</Button>
|
|
37
|
+
* </DropdownMenuGlassTrigger>
|
|
38
|
+
* <DropdownMenuGlassContent>
|
|
39
|
+
* <DropdownMenuGlassItem>Edit</DropdownMenuGlassItem>
|
|
40
|
+
* <DropdownMenuGlassSeparator />
|
|
41
|
+
* <DropdownMenuGlassItem variant="destructive">Delete</DropdownMenuGlassItem>
|
|
42
|
+
* </DropdownMenuGlassContent>
|
|
43
|
+
* </DropdownMenuGlass>
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @see ./dropdown-menu-glass.tsx for compound component exports
|
|
47
|
+
*/
|
|
48
|
+
import * as React from 'react';
|
|
49
|
+
export interface DropdownItem {
|
|
50
|
+
readonly label?: string;
|
|
51
|
+
readonly icon?: LucideIcon;
|
|
52
|
+
readonly onClick?: () => void;
|
|
53
|
+
readonly danger?: boolean;
|
|
54
|
+
readonly divider?: boolean;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Props for the DropdownGlass component (Simple API)
|
|
58
|
+
*
|
|
59
|
+
* @accessibility
|
|
60
|
+
* - **Keyboard Navigation:** Arrow keys navigate, Enter/Space activates, Escape closes
|
|
61
|
+
* - **Focus Management:** Focus trapped within menu when open
|
|
62
|
+
* - **Screen Readers:** Uses role="menu" and role="menuitem"
|
|
63
|
+
* - **Touch Targets:** All items meet minimum 44x44px
|
|
64
|
+
*/
|
|
65
|
+
export interface DropdownGlassProps {
|
|
66
|
+
/** Trigger element (button, etc.) */
|
|
67
|
+
readonly trigger: React.ReactNode;
|
|
68
|
+
/** Menu items array */
|
|
69
|
+
readonly items: readonly DropdownItem[];
|
|
70
|
+
/** Dropdown alignment */
|
|
71
|
+
readonly align?: 'left' | 'right';
|
|
72
|
+
/** Additional className */
|
|
73
|
+
readonly className?: string;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* DropdownGlass - Simple API wrapper
|
|
77
|
+
*
|
|
78
|
+
* For complex dropdowns with checkboxes, radio groups, sub-menus, etc.,
|
|
79
|
+
* use the compound components from dropdown-menu-glass.tsx directly.
|
|
80
|
+
*/
|
|
81
|
+
export declare const DropdownGlass: React.ForwardRefExoticComponent<DropdownGlassProps & React.RefAttributes<HTMLDivElement>>;
|
|
82
|
+
export { DropdownMenuGlass, DropdownMenuGlassTrigger, DropdownMenuGlassContent, DropdownMenuGlassItem, DropdownMenuGlassSeparator, } from './dropdown-menu-glass';
|
|
83
|
+
//# sourceMappingURL=dropdown-glass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-glass.d.ts","sourceRoot":"","sources":["../../../../src/components/glass/ui/dropdown-glass.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAU/C,OAAO,mBAAmB,CAAC;AAM3B,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAMD;;;;;;;;GAQG;AACH,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,QAAQ,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;IAClC,uBAAuB;IACvB,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,yBAAyB;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAClC,2BAA2B;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC7B;AAMD;;;;;GAKG;AACH,eAAO,MAAM,aAAa,2FAqCzB,CAAC;AAQF,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DropdownMenuGlass - Compound Component
|
|
3
|
+
*
|
|
4
|
+
* Glass-themed dropdown menu following shadcn/ui compound component pattern.
|
|
5
|
+
* Built on Radix UI primitives with unified glass styling.
|
|
6
|
+
*
|
|
7
|
+
* @example Basic usage
|
|
8
|
+
* ```tsx
|
|
9
|
+
* <DropdownMenuGlass>
|
|
10
|
+
* <DropdownMenuGlassTrigger asChild>
|
|
11
|
+
* <Button>Open Menu</Button>
|
|
12
|
+
* </DropdownMenuGlassTrigger>
|
|
13
|
+
* <DropdownMenuGlassContent>
|
|
14
|
+
* <DropdownMenuGlassItem onSelect={() => console.log('Edit')}>
|
|
15
|
+
* <Edit className="mr-2 h-4 w-4" />
|
|
16
|
+
* Edit
|
|
17
|
+
* </DropdownMenuGlassItem>
|
|
18
|
+
* <DropdownMenuGlassSeparator />
|
|
19
|
+
* <DropdownMenuGlassItem variant="destructive">
|
|
20
|
+
* <Trash className="mr-2 h-4 w-4" />
|
|
21
|
+
* Delete
|
|
22
|
+
* </DropdownMenuGlassItem>
|
|
23
|
+
* </DropdownMenuGlassContent>
|
|
24
|
+
* </DropdownMenuGlass>
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @example With labels and groups
|
|
28
|
+
* ```tsx
|
|
29
|
+
* <DropdownMenuGlass>
|
|
30
|
+
* <DropdownMenuGlassTrigger asChild>
|
|
31
|
+
* <Button variant="outline">Options</Button>
|
|
32
|
+
* </DropdownMenuGlassTrigger>
|
|
33
|
+
* <DropdownMenuGlassContent>
|
|
34
|
+
* <DropdownMenuGlassLabel>Actions</DropdownMenuGlassLabel>
|
|
35
|
+
* <DropdownMenuGlassGroup>
|
|
36
|
+
* <DropdownMenuGlassItem>Copy</DropdownMenuGlassItem>
|
|
37
|
+
* <DropdownMenuGlassItem>Paste</DropdownMenuGlassItem>
|
|
38
|
+
* </DropdownMenuGlassGroup>
|
|
39
|
+
* <DropdownMenuGlassSeparator />
|
|
40
|
+
* <DropdownMenuGlassLabel>Danger Zone</DropdownMenuGlassLabel>
|
|
41
|
+
* <DropdownMenuGlassItem variant="destructive">Delete</DropdownMenuGlassItem>
|
|
42
|
+
* </DropdownMenuGlassContent>
|
|
43
|
+
* </DropdownMenuGlass>
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @see https://www.radix-ui.com/primitives/docs/components/dropdown-menu
|
|
47
|
+
*/
|
|
48
|
+
import * as React from 'react';
|
|
49
|
+
import * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';
|
|
50
|
+
declare const DropdownMenuGlass: React.FC<DropdownMenuPrimitive.DropdownMenuProps>;
|
|
51
|
+
declare const DropdownMenuGlassTrigger: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuTriggerProps & React.RefAttributes<HTMLButtonElement>>;
|
|
52
|
+
declare const DropdownMenuGlassGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
53
|
+
declare const DropdownMenuGlassPortal: React.FC<DropdownMenuPrimitive.DropdownMenuPortalProps>;
|
|
54
|
+
declare const DropdownMenuGlassSub: React.FC<DropdownMenuPrimitive.DropdownMenuSubProps>;
|
|
55
|
+
declare const DropdownMenuGlassRadioGroup: React.ForwardRefExoticComponent<DropdownMenuPrimitive.DropdownMenuRadioGroupProps & React.RefAttributes<HTMLDivElement>>;
|
|
56
|
+
declare const DropdownMenuGlassSubTrigger: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubTriggerProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
57
|
+
inset?: boolean;
|
|
58
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
59
|
+
declare const DropdownMenuGlassSubContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSubContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
60
|
+
declare const DropdownMenuGlassContent: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
61
|
+
export interface DropdownMenuGlassItemProps extends React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> {
|
|
62
|
+
inset?: boolean;
|
|
63
|
+
variant?: 'default' | 'destructive';
|
|
64
|
+
}
|
|
65
|
+
declare const DropdownMenuGlassItem: React.ForwardRefExoticComponent<DropdownMenuGlassItemProps & React.RefAttributes<HTMLDivElement>>;
|
|
66
|
+
declare const DropdownMenuGlassCheckboxItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuCheckboxItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
67
|
+
declare const DropdownMenuGlassRadioItem: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuRadioItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
68
|
+
declare const DropdownMenuGlassLabel: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
|
|
69
|
+
inset?: boolean;
|
|
70
|
+
} & React.RefAttributes<HTMLDivElement>>;
|
|
71
|
+
declare const DropdownMenuGlassSeparator: React.ForwardRefExoticComponent<Omit<DropdownMenuPrimitive.DropdownMenuSeparatorProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
72
|
+
declare const DropdownMenuGlassShortcut: {
|
|
73
|
+
({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>): import("react/jsx-runtime").JSX.Element;
|
|
74
|
+
displayName: string;
|
|
75
|
+
};
|
|
76
|
+
export { DropdownMenuGlass, DropdownMenuGlassTrigger, DropdownMenuGlassContent, DropdownMenuGlassItem, DropdownMenuGlassCheckboxItem, DropdownMenuGlassRadioItem, DropdownMenuGlassLabel, DropdownMenuGlassSeparator, DropdownMenuGlassShortcut, DropdownMenuGlassGroup, DropdownMenuGlassPortal, DropdownMenuGlassSub, DropdownMenuGlassSubContent, DropdownMenuGlassSubTrigger, DropdownMenuGlassRadioGroup, };
|
|
77
|
+
//# sourceMappingURL=dropdown-menu-glass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dropdown-menu-glass.d.ts","sourceRoot":"","sources":["../../../../src/components/glass/ui/dropdown-menu-glass.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AAIH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,qBAAqB,MAAM,+BAA+B,CAAC;AAUvE,OAAO,mBAAmB,CAAC;AAM3B,QAAA,MAAM,iBAAiB,mDAA6B,CAAC;AAMrD,QAAA,MAAM,wBAAwB,0HAAgC,CAAC;AAM/D,QAAA,MAAM,sBAAsB,qHAA8B,CAAC;AAM3D,QAAA,MAAM,uBAAuB,yDAA+B,CAAC;AAM7D,QAAA,MAAM,oBAAoB,sDAA4B,CAAC;AAMvD,QAAA,MAAM,2BAA2B,0HAAmC,CAAC;AAMrE,QAAA,MAAM,2BAA2B;YAGrB,OAAO;wCAgBjB,CAAC;AAOH,QAAA,MAAM,2BAA2B,6KAU/B,CAAC;AAOH,QAAA,MAAM,wBAAwB,0KAa5B,CAAC;AAOH,MAAM,WAAW,0BAA2B,SAAQ,KAAK,CAAC,wBAAwB,CAChF,OAAO,qBAAqB,CAAC,IAAI,CAClC;IACC,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,SAAS,GAAG,aAAa,CAAC;CACrC;AAED,QAAA,MAAM,qBAAqB,mGAazB,CAAC;AAOH,QAAA,MAAM,6BAA6B,+KAiBjC,CAAC;AAOH,QAAA,MAAM,0BAA0B,4KAgB9B,CAAC;AAOH,QAAA,MAAM,sBAAsB;YAGhB,OAAO;wCAQjB,CAAC;AAOH,QAAA,MAAM,0BAA0B,4KAS9B,CAAC;AAOH,QAAA,MAAM,yBAAyB;8BAG5B,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;;CAOvC,CAAC;AAOF,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,EACxB,qBAAqB,EACrB,6BAA6B,EAC7B,0BAA0B,EAC1B,sBAAsB,EACtB,0BAA0B,EAC1B,yBAAyB,EACzB,sBAAsB,EACtB,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,EAC3B,2BAA2B,GAC5B,CAAC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { cardIntensity, GlowType, PaddingType } from '../../../lib/variants/glass-card-variants';
|
|
4
|
+
/**
|
|
5
|
+
* Props for the GlassCard component
|
|
6
|
+
*
|
|
7
|
+
* A glass-themed container with configurable blur, glow effects, and hover animations.
|
|
8
|
+
* Features polymorphic rendering via `asChild` for semantic HTML flexibility.
|
|
9
|
+
*
|
|
10
|
+
* @accessibility
|
|
11
|
+
* - **Keyboard Navigation:** When used with `asChild` as a link/button, inherits native keyboard support (Enter/Space activation)
|
|
12
|
+
* - **Focus Management:** Focus ring applied to child element when using `asChild` pattern with interactive elements
|
|
13
|
+
* - **Screen Readers:** Semantic HTML preserved via `asChild` - use appropriate elements (`<a>`, `<button>`, `<article>`)
|
|
14
|
+
* - **Hover State:** Hover effects are purely visual and do not affect functionality (progressive enhancement)
|
|
15
|
+
* - **Touch Targets:** When interactive, ensure child element meets minimum 44x44px touch target (WCAG 2.5.5)
|
|
16
|
+
* - **Color Contrast:** Card border and background meet WCAG AA contrast requirements, content contrast is consumer's responsibility
|
|
17
|
+
* - **Motion:** Hover scale animation respects `prefers-reduced-motion` settings via CSS transitions
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```tsx
|
|
21
|
+
* // Basic card
|
|
22
|
+
* <GlassCard intensity="medium">Content</GlassCard>
|
|
23
|
+
*
|
|
24
|
+
* // As a clickable link with accessible name
|
|
25
|
+
* <GlassCard asChild intensity="medium">
|
|
26
|
+
* <a href="/details" aria-label="View product details">
|
|
27
|
+
* <h3>Product Title</h3>
|
|
28
|
+
* <p>Description</p>
|
|
29
|
+
* </a>
|
|
30
|
+
* </GlassCard>
|
|
31
|
+
*
|
|
32
|
+
* // Different intensity levels
|
|
33
|
+
* <GlassCard intensity="subtle">Subtle blur</GlassCard>
|
|
34
|
+
* <GlassCard intensity="medium">Standard blur</GlassCard>
|
|
35
|
+
* <GlassCard intensity="strong">Heavy blur</GlassCard>
|
|
36
|
+
*
|
|
37
|
+
* // With glow effects
|
|
38
|
+
* <GlassCard glow="blue">Blue glow card</GlassCard>
|
|
39
|
+
* <GlassCard glow="violet">Violet glow card</GlassCard>
|
|
40
|
+
* <GlassCard glow="cyan">Cyan glow card</GlassCard>
|
|
41
|
+
*
|
|
42
|
+
* // As a button (interactive) with role
|
|
43
|
+
* <GlassCard asChild hover intensity="medium">
|
|
44
|
+
* <button onClick={handleClick} aria-label="Open settings">
|
|
45
|
+
* <Settings className="w-6 h-6" />
|
|
46
|
+
* <span>Settings</span>
|
|
47
|
+
* </button>
|
|
48
|
+
* </GlassCard>
|
|
49
|
+
*
|
|
50
|
+
* // Article card with semantic HTML
|
|
51
|
+
* <GlassCard asChild intensity="medium" padding="lg">
|
|
52
|
+
* <article>
|
|
53
|
+
* <header><h2>Article Title</h2></header>
|
|
54
|
+
* <p>Article content...</p>
|
|
55
|
+
* <footer>Published: Jan 1, 2025</footer>
|
|
56
|
+
* </article>
|
|
57
|
+
* </GlassCard>
|
|
58
|
+
* ```
|
|
59
|
+
*/
|
|
60
|
+
export interface GlassCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, 'style'>, VariantProps<typeof cardIntensity> {
|
|
61
|
+
/**
|
|
62
|
+
* Render as child element instead of div (polymorphic rendering).
|
|
63
|
+
* Useful for making cards clickable links or custom interactive elements.
|
|
64
|
+
* @default false
|
|
65
|
+
* @example
|
|
66
|
+
* ```tsx
|
|
67
|
+
* <GlassCard asChild>
|
|
68
|
+
* <a href="/article">Article Content</a>
|
|
69
|
+
* </GlassCard>
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
readonly asChild?: boolean;
|
|
73
|
+
readonly children: ReactNode;
|
|
74
|
+
readonly glow?: GlowType;
|
|
75
|
+
readonly padding?: PaddingType;
|
|
76
|
+
}
|
|
77
|
+
export declare const GlassCard: import('react').ForwardRefExoticComponent<GlassCardProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
78
|
+
//# sourceMappingURL=glass-card.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glass-card.d.ts","sourceRoot":"","sources":["../../../../src/components/glass/ui/glass-card.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAEL,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,QAAQ,EAAiB,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAoB/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,MAAM,WAAW,cACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC;;;;;;;;;;OAUG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAE3B,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,OAAO,CAAC,EAAE,WAAW,CAAC;CAChC;AA0BD,eAAO,MAAM,SAAS,2GA6CrB,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Glass UI Components - Barrel Exports
|
|
3
|
+
*
|
|
4
|
+
* Level 1: UI Components (18 components)
|
|
5
|
+
* Base glassmorphism components with theme-aware styling
|
|
6
|
+
* Note: ProgressGlass moved to specialized/
|
|
7
|
+
* Note: SelectGlass removed in v1.0.0 (replaced by ComboBoxGlass)
|
|
8
|
+
*/
|
|
9
|
+
export { AlertGlass, AlertGlassTitle, AlertGlassDescription } from './alert-glass';
|
|
10
|
+
export type { AlertGlassProps, AlertGlassTitleProps, AlertGlassDescriptionProps, } from './alert-glass';
|
|
11
|
+
export { AvatarGlass, AvatarGlassImage, AvatarGlassFallback, AvatarGlassSimple, } from './avatar-glass';
|
|
12
|
+
export type { AvatarStatus, AvatarSize } from './avatar-glass';
|
|
13
|
+
export { BadgeGlass } from './badge-glass';
|
|
14
|
+
export type { BadgeGlassProps } from './badge-glass';
|
|
15
|
+
export { ButtonGlass } from './button-glass';
|
|
16
|
+
export type { ButtonGlassProps } from './button-glass';
|
|
17
|
+
export { CheckboxGlass } from './checkbox-glass';
|
|
18
|
+
export type { CheckboxGlassProps } from './checkbox-glass';
|
|
19
|
+
export { CircularProgressGlass } from './circular-progress-glass';
|
|
20
|
+
export type { CircularProgressGlassProps } from './circular-progress-glass';
|
|
21
|
+
export { ComboBoxGlass } from './combobox-glass';
|
|
22
|
+
export type { ComboBoxGlassProps } from './combobox-glass';
|
|
23
|
+
export { DropdownGlass } from './dropdown-glass';
|
|
24
|
+
export type { DropdownGlassProps } from './dropdown-glass';
|
|
25
|
+
export { GlassCard } from './glass-card';
|
|
26
|
+
export type { GlassCardProps } from './glass-card';
|
|
27
|
+
export { CardGlass, CardGlassRoot, CardGlassHeader, CardGlassTitle, CardGlassDescription, CardGlassAction, CardGlassContent, CardGlassFooter, } from './card-glass';
|
|
28
|
+
export type { CardGlassRootProps } from './card-glass';
|
|
29
|
+
export { InputGlass } from './input-glass';
|
|
30
|
+
export type { InputGlassProps } from './input-glass';
|
|
31
|
+
export { ModalGlass } from './modal-glass';
|
|
32
|
+
export { NotificationGlass } from './notification-glass';
|
|
33
|
+
export type { NotificationGlassProps } from './notification-glass';
|
|
34
|
+
export { PopoverGlass, PopoverGlassTrigger, PopoverGlassContent, PopoverGlassAnchor, PopoverGlassLegacy, } from './popover-glass';
|
|
35
|
+
export type { PopoverGlassLegacyProps } from './popover-glass';
|
|
36
|
+
export { SkeletonGlass } from './skeleton-glass';
|
|
37
|
+
export type { SkeletonGlassProps } from './skeleton-glass';
|
|
38
|
+
export { SliderGlass } from './slider-glass';
|
|
39
|
+
export type { SliderGlassProps } from './slider-glass';
|
|
40
|
+
export { TabsGlass } from './tabs-glass';
|
|
41
|
+
export { ToggleGlass } from './toggle-glass';
|
|
42
|
+
export type { ToggleGlassProps } from './toggle-glass';
|
|
43
|
+
export { TooltipGlass, TooltipGlassProvider, TooltipGlassTrigger, TooltipGlassContent, TooltipGlassSimple, } from './tooltip-glass';
|
|
44
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/glass/ui/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACnF,YAAY,EACV,eAAe,EACf,oBAAoB,EACpB,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AAEvB,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,GAClB,MAAM,gBAAgB,CAAC;AACxB,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAClE,YAAY,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,YAAY,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAGnD,OAAO,EACL,SAAS,EACT,aAAa,EACb,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEvD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,YAAY,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,EACL,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE/D,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,YAAY,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,YAAY,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,GACnB,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { LucideIcon } from 'lucide-react';
|
|
4
|
+
import { inputVariants } from '../../../lib/variants/input-glass-variants';
|
|
5
|
+
/**
|
|
6
|
+
* Props for the InputGlass component
|
|
7
|
+
*
|
|
8
|
+
* A glass-themed input field with labels, validation states, and icon support.
|
|
9
|
+
* Features focus glow effects and theme-aware styling.
|
|
10
|
+
*
|
|
11
|
+
* @accessibility
|
|
12
|
+
* - **Keyboard Navigation:** Full keyboard support with native `<input>` element, standard tab navigation
|
|
13
|
+
* - **Focus Management:** Visible focus ring using `--focus-glow` CSS variable (WCAG 2.4.7)
|
|
14
|
+
* - **Screen Readers:** Semantic `<label>` elements properly associated via `htmlFor`, error/success messages announced with `aria-describedby`
|
|
15
|
+
* - **Error State:** Red border and error message displayed below input, programmatically associated for screen readers
|
|
16
|
+
* - **Success State:** Green border and success message displayed below input, programmatically associated for screen readers
|
|
17
|
+
* - **Touch Targets:** Minimum 44x44px touch target on mobile devices (WCAG 2.5.5)
|
|
18
|
+
* - **Color Contrast:** All text meets WCAG AA contrast ratio 4.5:1 minimum against backgrounds
|
|
19
|
+
* - **Motion:** Icon color transitions respect `prefers-reduced-motion` settings
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```tsx
|
|
23
|
+
* // Basic input with label
|
|
24
|
+
* <InputGlass label="Email" placeholder="you@example.com" />
|
|
25
|
+
*
|
|
26
|
+
* // With aria-describedby for additional context
|
|
27
|
+
* <InputGlass
|
|
28
|
+
* label="Username"
|
|
29
|
+
* placeholder="Enter username"
|
|
30
|
+
* aria-describedby="username-help"
|
|
31
|
+
* />
|
|
32
|
+
* <span id="username-help">Must be 3-20 characters</span>
|
|
33
|
+
*
|
|
34
|
+
* // With validation states (automatically announced to screen readers)
|
|
35
|
+
* <InputGlass label="Username" error="Username is required" />
|
|
36
|
+
* <InputGlass label="Password" success="Strong password" type="password" />
|
|
37
|
+
*
|
|
38
|
+
* // With icon and accessible label
|
|
39
|
+
* <InputGlass
|
|
40
|
+
* icon={Search}
|
|
41
|
+
* placeholder="Search..."
|
|
42
|
+
* aria-label="Search products"
|
|
43
|
+
* />
|
|
44
|
+
* <InputGlass icon={Mail} iconPosition="right" type="email" />
|
|
45
|
+
*
|
|
46
|
+
* // Disabled state (automatically announced)
|
|
47
|
+
* <InputGlass label="Email" disabled value="locked@example.com" />
|
|
48
|
+
*
|
|
49
|
+
* // Form integration with accessible error handling
|
|
50
|
+
* <form onSubmit={handleSubmit}>
|
|
51
|
+
* <InputGlass
|
|
52
|
+
* label="Email"
|
|
53
|
+
* type="email"
|
|
54
|
+
* required
|
|
55
|
+
* error={errors.email}
|
|
56
|
+
* aria-invalid={!!errors.email}
|
|
57
|
+
* />
|
|
58
|
+
* <InputGlass
|
|
59
|
+
* label="Password"
|
|
60
|
+
* type="password"
|
|
61
|
+
* icon={Lock}
|
|
62
|
+
* error={errors.password}
|
|
63
|
+
* />
|
|
64
|
+
* <ButtonGlass type="submit">Sign In</ButtonGlass>
|
|
65
|
+
* </form>
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
68
|
+
export interface InputGlassProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'>, VariantProps<typeof inputVariants> {
|
|
69
|
+
/**
|
|
70
|
+
* Label text displayed above the input field
|
|
71
|
+
*/
|
|
72
|
+
readonly label?: string;
|
|
73
|
+
/**
|
|
74
|
+
* Error message to display below the input (red styling)
|
|
75
|
+
*/
|
|
76
|
+
readonly error?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Success message to display below the input (green styling)
|
|
79
|
+
*/
|
|
80
|
+
readonly success?: string;
|
|
81
|
+
/**
|
|
82
|
+
* Icon component from lucide-react to display
|
|
83
|
+
* @example icon={Search}
|
|
84
|
+
*/
|
|
85
|
+
readonly icon?: LucideIcon;
|
|
86
|
+
/**
|
|
87
|
+
* Position of the icon relative to input text
|
|
88
|
+
* @default "left"
|
|
89
|
+
*/
|
|
90
|
+
readonly iconPosition?: 'left' | 'right';
|
|
91
|
+
/**
|
|
92
|
+
* @deprecated Use `size` prop instead. Will be removed in v4.0
|
|
93
|
+
* @default "md"
|
|
94
|
+
*/
|
|
95
|
+
readonly inputSize?: 'sm' | 'md' | 'lg';
|
|
96
|
+
}
|
|
97
|
+
export declare const InputGlass: import('react').ForwardRefExoticComponent<InputGlassProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
98
|
+
//# sourceMappingURL=input-glass.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-glass.d.ts","sourceRoot":"","sources":["../../../../src/components/glass/ui/input-glass.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAGL,KAAK,mBAAmB,EAGzB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAEpE,OAAO,mBAAmB,CAAC;AA6B3B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,MAAM,WAAW,eACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC,EAAE,YAAY,CAAC,OAAO,aAAa,CAAC;IAC/F;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAExB;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAE1B;;;OAGG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEzC;;;OAGG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;CAGzC;AAMD,eAAO,MAAM,UAAU,8GAgGtB,CAAC"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { ModalSize } from '../../../lib/variants/modal-glass-variants';
|
|
2
|
+
/**
|
|
3
|
+
* ModalGlass Component (Radix UI Dialog-based)
|
|
4
|
+
*
|
|
5
|
+
* Glass-themed modal/dialog with full shadcn/ui Dialog API compatibility.
|
|
6
|
+
* Built on @radix-ui/react-dialog for accessibility and state management.
|
|
7
|
+
*
|
|
8
|
+
* @example Uncontrolled with Trigger (shadcn/ui pattern)
|
|
9
|
+
* ```tsx
|
|
10
|
+
* <ModalGlass.Root>
|
|
11
|
+
* <ModalGlass.Trigger asChild>
|
|
12
|
+
* <ButtonGlass>Open Dialog</ButtonGlass>
|
|
13
|
+
* </ModalGlass.Trigger>
|
|
14
|
+
* <ModalGlass.Content>
|
|
15
|
+
* <ModalGlass.Header>
|
|
16
|
+
* <ModalGlass.Title>Dialog Title</ModalGlass.Title>
|
|
17
|
+
* <ModalGlass.Description>Dialog description</ModalGlass.Description>
|
|
18
|
+
* </ModalGlass.Header>
|
|
19
|
+
* <ModalGlass.Body>Content here</ModalGlass.Body>
|
|
20
|
+
* <ModalGlass.Footer>
|
|
21
|
+
* <ModalGlass.Close asChild>
|
|
22
|
+
* <ButtonGlass variant="ghost">Cancel</ButtonGlass>
|
|
23
|
+
* </ModalGlass.Close>
|
|
24
|
+
* <ButtonGlass>Confirm</ButtonGlass>
|
|
25
|
+
* </ModalGlass.Footer>
|
|
26
|
+
* </ModalGlass.Content>
|
|
27
|
+
* </ModalGlass.Root>
|
|
28
|
+
* ```
|
|
29
|
+
*
|
|
30
|
+
* @example Controlled mode (programmatic)
|
|
31
|
+
* ```tsx
|
|
32
|
+
* <ModalGlass.Root open={open} onOpenChange={setOpen}>
|
|
33
|
+
* <ModalGlass.Content>
|
|
34
|
+
* <ModalGlass.Header>
|
|
35
|
+
* <ModalGlass.Title>Confirm Action</ModalGlass.Title>
|
|
36
|
+
* </ModalGlass.Header>
|
|
37
|
+
* <ModalGlass.Body>Are you sure?</ModalGlass.Body>
|
|
38
|
+
* <ModalGlass.Footer>
|
|
39
|
+
* <ButtonGlass onClick={() => setOpen(false)}>Cancel</ButtonGlass>
|
|
40
|
+
* </ModalGlass.Footer>
|
|
41
|
+
* </ModalGlass.Content>
|
|
42
|
+
* </ModalGlass.Root>
|
|
43
|
+
* ```
|
|
44
|
+
*
|
|
45
|
+
* @accessibility
|
|
46
|
+
* - Built on Radix UI Dialog with full WCAG 2.1 AA compliance
|
|
47
|
+
* - Keyboard: Escape to close, Tab for focus trap
|
|
48
|
+
* - Screen Readers: role="dialog", aria-modal, aria-labelledby, aria-describedby
|
|
49
|
+
* - Focus Management: Auto-focus on open, return focus on close
|
|
50
|
+
*
|
|
51
|
+
* @since v2.0.0 - Migrated to Radix UI Dialog, added Trigger and Portal
|
|
52
|
+
*/
|
|
53
|
+
import * as React from 'react';
|
|
54
|
+
import * as DialogPrimitive from '@radix-ui/react-dialog';
|
|
55
|
+
interface ModalRootProps extends React.ComponentProps<typeof DialogPrimitive.Root> {
|
|
56
|
+
/** Size variant for the modal */
|
|
57
|
+
size?: ModalSize;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* ModalGlass.Root - Dialog root component
|
|
61
|
+
*
|
|
62
|
+
* Supports both controlled (open/onOpenChange) and uncontrolled (with Trigger) modes.
|
|
63
|
+
*/
|
|
64
|
+
declare function ModalRoot({ size, children, ...props }: ModalRootProps): import("react/jsx-runtime").JSX.Element;
|
|
65
|
+
/**
|
|
66
|
+
* ModalGlass.Trigger - Opens the modal when clicked
|
|
67
|
+
*
|
|
68
|
+
* Use `asChild` to render as the child element instead of a button.
|
|
69
|
+
*/
|
|
70
|
+
declare function ModalTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
|
|
71
|
+
/**
|
|
72
|
+
* ModalGlass.Portal - Renders children into a portal
|
|
73
|
+
*/
|
|
74
|
+
declare function ModalPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
|
|
75
|
+
/**
|
|
76
|
+
* ModalGlass.Overlay - Backdrop with glass blur effect
|
|
77
|
+
*/
|
|
78
|
+
declare const ModalOverlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
79
|
+
interface ModalContentProps extends React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> {
|
|
80
|
+
/** Show close button in top-right corner */
|
|
81
|
+
showCloseButton?: boolean;
|
|
82
|
+
/** Override size from Root */
|
|
83
|
+
size?: ModalSize;
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* ModalGlass.Content - Main modal container with glass styling
|
|
87
|
+
*
|
|
88
|
+
* Automatically renders Portal and Overlay.
|
|
89
|
+
*/
|
|
90
|
+
declare const ModalContent: React.ForwardRefExoticComponent<ModalContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
91
|
+
/**
|
|
92
|
+
* ModalGlass.Header - Header section with flex layout
|
|
93
|
+
*/
|
|
94
|
+
declare function ModalHeader({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
95
|
+
/**
|
|
96
|
+
* ModalGlass.Body - Main content area
|
|
97
|
+
*
|
|
98
|
+
* Note: shadcn/ui Dialog doesn't have DialogBody, but we keep it for convenience.
|
|
99
|
+
*/
|
|
100
|
+
declare function ModalBody({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
101
|
+
/**
|
|
102
|
+
* ModalGlass.Footer - Footer section with flex layout for actions
|
|
103
|
+
*/
|
|
104
|
+
declare function ModalFooter({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
|
|
105
|
+
/**
|
|
106
|
+
* ModalGlass.Title - Modal title with proper accessibility
|
|
107
|
+
*/
|
|
108
|
+
declare const ModalTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
109
|
+
/**
|
|
110
|
+
* ModalGlass.Description - Modal description text
|
|
111
|
+
*/
|
|
112
|
+
declare const ModalDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
113
|
+
/**
|
|
114
|
+
* ModalGlass.Close - Closes the modal when clicked
|
|
115
|
+
*
|
|
116
|
+
* Use `asChild` to render as the child element.
|
|
117
|
+
*
|
|
118
|
+
* @example
|
|
119
|
+
* ```tsx
|
|
120
|
+
* <ModalGlass.Close asChild>
|
|
121
|
+
* <ButtonGlass variant="ghost">Cancel</ButtonGlass>
|
|
122
|
+
* </ModalGlass.Close>
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
declare function ModalClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
|
|
126
|
+
/**
|
|
127
|
+
* ModalGlass - Glass-themed Dialog with shadcn/ui API compatibility
|
|
128
|
+
*
|
|
129
|
+
* Built on @radix-ui/react-dialog for full accessibility support.
|
|
130
|
+
*
|
|
131
|
+
* @example Uncontrolled (with Trigger)
|
|
132
|
+
* ```tsx
|
|
133
|
+
* <ModalGlass.Root>
|
|
134
|
+
* <ModalGlass.Trigger asChild>
|
|
135
|
+
* <ButtonGlass>Open</ButtonGlass>
|
|
136
|
+
* </ModalGlass.Trigger>
|
|
137
|
+
* <ModalGlass.Content>
|
|
138
|
+
* <ModalGlass.Header>
|
|
139
|
+
* <ModalGlass.Title>Title</ModalGlass.Title>
|
|
140
|
+
* </ModalGlass.Header>
|
|
141
|
+
* <ModalGlass.Body>Content</ModalGlass.Body>
|
|
142
|
+
* <ModalGlass.Footer>
|
|
143
|
+
* <ModalGlass.Close asChild>
|
|
144
|
+
* <ButtonGlass>Close</ButtonGlass>
|
|
145
|
+
* </ModalGlass.Close>
|
|
146
|
+
* </ModalGlass.Footer>
|
|
147
|
+
* </ModalGlass.Content>
|
|
148
|
+
* </ModalGlass.Root>
|
|
149
|
+
* ```
|
|
150
|
+
*
|
|
151
|
+
* @example Controlled
|
|
152
|
+
* ```tsx
|
|
153
|
+
* <ModalGlass.Root open={open} onOpenChange={setOpen}>
|
|
154
|
+
* <ModalGlass.Content showCloseButton={false}>
|
|
155
|
+
* <ModalGlass.Header>
|
|
156
|
+
* <ModalGlass.Title>Confirm</ModalGlass.Title>
|
|
157
|
+
* </ModalGlass.Header>
|
|
158
|
+
* <ModalGlass.Footer>
|
|
159
|
+
* <ButtonGlass onClick={() => setOpen(false)}>OK</ButtonGlass>
|
|
160
|
+
* </ModalGlass.Footer>
|
|
161
|
+
* </ModalGlass.Content>
|
|
162
|
+
* </ModalGlass.Root>
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
export declare const ModalGlass: {
|
|
166
|
+
Root: typeof ModalRoot;
|
|
167
|
+
Trigger: typeof ModalTrigger;
|
|
168
|
+
Portal: typeof ModalPortal;
|
|
169
|
+
Overlay: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogOverlayProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
170
|
+
Content: React.ForwardRefExoticComponent<ModalContentProps & React.RefAttributes<HTMLDivElement>>;
|
|
171
|
+
Header: typeof ModalHeader;
|
|
172
|
+
Body: typeof ModalBody;
|
|
173
|
+
Footer: typeof ModalFooter;
|
|
174
|
+
Title: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
|
|
175
|
+
Description: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
176
|
+
Close: typeof ModalClose;
|
|
177
|
+
};
|
|
178
|
+
export { ModalRoot, ModalTrigger, ModalPortal, ModalOverlay, ModalContent, ModalHeader, ModalBody, ModalFooter, ModalTitle, ModalDescription, ModalClose, };
|
|
179
|
+
export type { ModalRootProps, ModalContentProps };
|
|
180
|
+
//# sourceMappingURL=modal-glass.d.ts.map
|