aura-glass
Version:
A comprehensive glassmorphism design system for React applications with 142+ production-ready components
58 lines (55 loc) • 1.5 kB
JavaScript
'use client';
import { jsx } from 'react/jsx-runtime';
import { forwardRef } from 'react';
import { cn } from '../lib/utilsComprehensive.js';
import { createGlassStyle } from '../core/mixins/glassMixins.js';
const GlassCore = /*#__PURE__*/forwardRef(({
intent = 'neutral',
elevation = 'level2',
tier = 'high',
radius = 'md',
interactive = false,
hoverLift = false,
focusRing = false,
press = false,
className,
children,
style,
...props
}, ref) => {
// Generate glass styles using the modern token-based mixin
const glassStyles = createGlassStyle({
intent,
elevation,
tier,
interactive,
hoverLift,
focusRing,
press
});
// Apply border radius based on token system
const radiusStyles = {
borderRadius: radius === 'none' ? '0px' : radius === 'sm' ? '4px' : radius === 'md' ? '8px' : radius === 'lg' ? '12px' : radius === 'xl' ? '16px' : radius === 'full' ? '9999px' : '8px'
};
// Combine all styles
const combinedStyles = {
...glassStyles,
...radiusStyles,
...style
};
return jsx("div", {
ref: ref,
className: cn('glass-foundation-basic', {
'glass-state-interactive': interactive,
'glass-state-hoverable': hoverLift,
'glass-focus': focusRing,
'glass-state-pressable': press
}, className),
style: combinedStyles,
...props,
children: children
});
});
GlassCore.displayName = 'GlassCore';
export { GlassCore, GlassCore as default };
//# sourceMappingURL=GlassCore.js.map