'use client'; import { cx } from '@nx/nx-dev/ui-primitives'; import { CSSProperties, ReactNode } from 'react'; type TColorProp = `#${string}` | `#${string}`[]; interface ShineBorderProps { borderRadius?: number; borderWidth?: number; duration?: number; color?: TColorProp; className?: string; children: ReactNode; } /** * Shines a border around a container element. * * @param borderRadius - The radius of the border corners in pixels. Defaults to 8. * @param borderWidth - The width of the border in pixels. Defaults to 1. * @param duration - The duration of the shine animation in seconds. Defaults to 14. * @param color - The color of the shine. Can be a single color (string) or an array of colors. Defaults to '#fff'. * @param className - Additional CSS classes to apply to the container element. * @param children - The content to display inside the container element. * * @return The container element with a shining border. */ export function ShineBorder({ borderRadius = 8, borderWidth = 1, duration = 14, color = '#fff', className, children, }: ShineBorderProps) { return (