Velocity X Components by Aidxn Design

Custom Framer Component · Free, unlicensed

Liquid Glass

A frosted, tinted glass panel with a soft animated glow and a hover lift — drop any content inside as a child override.

glassmorphismcardpanelblureffect

This is a standalone Framer Code File — not installed with the CLI, not gated behind a subscription. Copy the whole file and paste it into Framer via Assets → Code → Create Code File.

Property controls

These are Framer's own addPropertyControls fields, which show up as the right-hand properties panel once this is pasted into Framer. They are not React props and have nothing to do with this site's licensed component API.

Panel label Control key Control type
Tint tint Color
Blur blur Number
Opacity opacity Number
Content children ComponentInstance

Component source

The complete, unmodified file — copy the whole thing.

tsx
import { addPropertyControls, ControlType } from "framer"
import { motion } from "framer-motion"
import React from "react"

/**
 * META — read by scripts/gen-framer-components.mjs to build
 * src/data/framer-components.json. Keep this a plain object literal: string
 * and string-array values only, no function calls, no template interpolation.
 */
export const META = {
    slug: "liquid-glass",
    title: "Liquid Glass",
    description:
        "A frosted, tinted glass panel with a soft animated glow and a hover lift — drop any content inside as a child override.",
    tags: ["glassmorphism", "card", "panel", "blur", "effect"],
    category: "custom-framer",
}

interface LiquidGlassProps {
    tint: string
    blur: number
    opacity: number
    children?: React.ReactNode
}

/**
 * @framerSupportedLayoutWidth auto
 * @framerSupportedLayoutHeight auto
 */
export default function LiquidGlass(props: LiquidGlassProps) {
    const { tint, blur, opacity, children } = props

    return (
        <motion.div
            style={{
                position: "relative",
                padding: 24,
                borderRadius: 20,
                background: `linear-gradient(135deg, ${tint}20, ${tint}10)`,
                backdropFilter: `blur(${blur}px)`,
                WebkitBackdropFilter: `blur(${blur}px)`,
                border: `1px solid ${tint}30`,
                boxShadow: `
                    0 8px 32px rgba(0, 0, 0, 0.12),
                    inset 0 1px 0 rgba(255, 255, 255, 0.2)
                `,
                opacity: opacity,
                overflow: "hidden",
            }}
            initial={{ opacity: 0, y: 20 }}
            animate={{ opacity: 1, y: 0 }}
            whileHover={{
                scale: 1.02,
                transition: { duration: 0.3, ease: "easeOut" }
            }}
            transition={{ duration: 0.6, ease: "easeOut" }}
        >
            <motion.div
                style={{
                    position: "absolute",
                    top: 0,
                    left: 0,
                    right: 0,
                    bottom: 0,
                    background: `radial-gradient(circle at 50% 0%, ${tint}15, transparent 70%)`,
                    pointerEvents: "none",
                }}
                animate={{
                    opacity: [0.3, 0.7, 0.3],
                }}
                transition={{
                    duration: 4,
                    repeat: Infinity,
                    ease: "easeInOut"
                }}
            />
            <div style={{ position: "relative", zIndex: 1 }}>
                {children || (
                    <div>
                        <h2 style={{ margin: 0, marginBottom: 12, color: "#ffffff", fontSize: 18, fontWeight: 600 }}>
                            Liquid Glass
                        </h2>
                        <p style={{ margin: 0, color: "#ffffff90", fontSize: 14, lineHeight: 1.4 }}>
                            Experience the future of UI design with smooth, organic animations.
                        </p>
                    </div>
                )}
            </div>
        </motion.div>
    )
}

addPropertyControls(LiquidGlass, {
    tint: {
        title: "Tint",
        type: ControlType.Color,
        defaultValue: "#09F",
    },
    blur: {
        title: "Blur",
        type: ControlType.Number,
        defaultValue: 10,
        min: 0,
        max: 30,
        step: 1,
    },
    opacity: {
        title: "Opacity",
        type: ControlType.Number,
        defaultValue: 0.9,
        min: 0,
        max: 1,
        step: 0.1,
    },
    children: {
        title: "Content",
        type: ControlType.ComponentInstance,
    },
})
  1. 1. In Framer: Assets → Code → Create Code File.
  2. 2. Delete the placeholder and paste this entire file — it already carries its default export and addPropertyControls.