---
/**
* CelestialFrame.astro
* ---------------------------------------------------------------------------
* An ornamental frame for imagery: rounded image container with thin gold
* hairline + small star-burst flourishes in the corners and a faint sacred-
* geometry tint behind. Wraps an
(or any media) passed via the default
* slot.
*
* The frame is structural (not just decorative), so it owns the rounded
* corners + border + overflow. The corner sparkles are absolutely positioned
* SVGs that inherit the accent color.
*
* Usage:
*
*
*
* ...
*/
import StarBurst from './StarBurst.astro';
interface Props {
class?: string;
/** Corner rounding. */
rounded?: 'lg' | 'xl' | '2xl' | 'none';
/** Stroke emphasis on the frame border. */
emphasis?: 'subtle' | 'strong';
}
const {
class: className = '',
rounded = '2xl',
emphasis = 'subtle',
} = Astro.props;
const radius = {
none: 'rounded-none',
lg: 'rounded-lg',
xl: 'rounded-xl',
'2xl': 'rounded-2xl',
}[rounded];
const borderStyle =
emphasis === 'strong'
? 'border-2'
: 'border';
---
{/* Faint sacred-geometry tint behind the image. */}
{/* The media itself, clipped to the frame. */}
{/* Corner star-burst flourishes (sit on the border corners). */}