D
Digmarket. Preview
Navigation
Home Free

Pet Heart Monitor – Rose Gold Frosted

<div class="fp-veterinary-heart-rate-monitor-ui">
    <div class="fp-veterinary-heart-rate-monitor-ui-stage" id="fp-veterinary-heart-rate-monitor-ui-stage">
        
        <div class="fp-veterinary-heart-rate-monitor-ui-grid"></div>
        <div class="fp-veterinary-heart-rate-monitor-ui-ambient"></div>

        <div class="fp-veterinary-heart-rate-monitor-ui-radial-bg">
            <div class="fp-veterinary-heart-rate-monitor-ui-ring-dashed"></div>
            <div class="fp-veterinary-heart-rate-monitor-ui-ring-dotted"></div>
        </div>

        <div class="fp-veterinary-heart-rate-monitor-ui-panel">
            
            <div class="fp-veterinary-heart-rate-monitor-ui-header">
                <div class="fp-veterinary-heart-rate-monitor-ui-icon-wrap">
                    <svg viewBox="0 0 24 24" width="24" height="24" fill="currentColor">
                        <path d="M12 8.5c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3zm-5.5 1c1.38 0 2.5-1.12 2.5-2.5s-1.12-2.5-2.5-2.5-2.5 1.12-2.5 2.5 1.12 2.5 2.5 2.5zm11 0c1.38 0 2.5-1.12 2.5-2.5s-1.12-2.5-2.5-2.5-2.5 1.12-2.5 2.5 1.12 2.5 2.5 2.5zm-5.5 1.5c-3.3 0-6 2.7-6 6 0 2.92 1.48 5.6 3.75 7.15.69.47 1.58.37 2.14-.23l.11-.12c1.07-1.18 2.93-1.18 4 0l.11.12c.56.6 1.45.7 2.14.23C20.52 22.6 22 19.92 22 17c0-3.3-2.7-6-6-6-1.17 0-2.26.34-3.17.92-.25.16-.54.26-.83.26s-.58-.1-.83-.26c-.91-.58-2-.92-3.17-.92z"/>
                    </svg>
                </div>
                <div class="fp-veterinary-heart-rate-monitor-ui-patient-info">
                    <h3 class="fp-veterinary-heart-rate-monitor-ui-patient-name">Patient: Luna</h3>
                    <span class="fp-veterinary-heart-rate-monitor-ui-patient-type">Feline • Domestic Shorthair</span>
                </div>
                <div class="fp-veterinary-heart-rate-monitor-ui-status-dot"></div>
            </div>

            <div class="fp-veterinary-heart-rate-monitor-ui-vital-center">
                <div class="fp-veterinary-heart-rate-monitor-ui-heart-container">
                    <div class="fp-veterinary-heart-rate-monitor-ui-pulse-ring"></div>
                    <svg class="fp-veterinary-heart-rate-monitor-ui-heart-svg" viewBox="0 0 24 24" fill="currentColor">
                        <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/>
                    </svg>
                </div>
                <div class="fp-veterinary-heart-rate-monitor-ui-bpm-display">
                    <span class="fp-veterinary-heart-rate-monitor-ui-bpm-val" id="fp-veterinary-heart-rate-monitor-ui-bpm">115</span>
                    <span class="fp-veterinary-heart-rate-monitor-ui-bpm-lbl">BPM</span>
                </div>
            </div>

            <div class="fp-veterinary-heart-rate-monitor-ui-ecg-wrap">
                <svg class="fp-veterinary-heart-rate-monitor-ui-ecg-svg" viewBox="0 0 300 60" preserveAspectRatio="none">
                    <path class="fp-veterinary-heart-rate-monitor-ui-ecg-path" id="fp-veterinary-heart-rate-monitor-ui-ecg-path" d="" />
                </svg>
            </div>

        </div>

    </div>
</div>
.fp-veterinary-heart-rate-monitor-ui {
    --fp-container-width: 100%;
    --fp-max-width: 500px;
    --fp-aspect-ratio: 1 / 1;

    --fp-primary-color: #fcfbfb; 
    --fp-secondary-color: rgba(255, 255, 255, 0.45); 
    --fp-muted-color: #8f7c81; 
    --fp-soft-color: #f2e6e8; 
    --fp-background-color: transparent;

    --fp-info-color: #dcb8c4; 
    --fp-warning-color: #cf94a6; 
    --fp-danger-color: #2a2426; 
    --fp-accent-color: #b76e79; 
    --fp-text-color: #2a2426; 

    width: var(--fp-container-width);
    max-width: var(--fp-max-width);
    margin: 0 auto;
    background: var(--fp-background-color);
    font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    box-sizing: border-box;
    position: relative;
}

.fp-veterinary-heart-rate-monitor-ui * {
    box-sizing: inherit;
}

.fp-veterinary-heart-rate-monitor-ui-stage {
    aspect-ratio: var(--fp-aspect-ratio);
    background: var(--fp-primary-color);
    border-radius: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
    border: 1px solid var(--fp-soft-color);
    box-shadow: 0 24px 48px -12px rgba(183, 110, 121, 0.08);
}

.fp-veterinary-heart-rate-monitor-ui-grid {
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-size: 20px 20px;
    background-image: 
        linear-gradient(to right, rgba(183, 110, 121, 0.05) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(183, 110, 121, 0.05) 1px, transparent 1px);
    z-index: 0;
}

.fp-veterinary-heart-rate-monitor-ui-ambient {
    position: absolute;
    width: 140%;
    height: 140%;
    background: radial-gradient(circle at center, rgba(183, 110, 121, 0.15) 0%, transparent 60%);
    animation: fp-veterinary-heart-rate-monitor-ui-breathe 5s ease-in-out infinite alternate;
    z-index: 1;
    pointer-events: none;
}

@keyframes fp-veterinary-heart-rate-monitor-ui-breathe {
    0% { transform: scale(0.9); opacity: 0.6; }
    100% { transform: scale(1.1); opacity: 1; }
}

.fp-veterinary-heart-rate-monitor-ui-radial-bg {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 360px; height: 360px;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: none;
}

.fp-veterinary-heart-rate-monitor-ui-ring-dashed {
    position: absolute;
    width: 100%; height: 100%;
    border-radius: 50%;
    border: 2px dashed rgba(183, 110, 121, 0.2);
    animation: fp-veterinary-heart-rate-monitor-ui-spin 25s linear infinite;
}

.fp-veterinary-heart-rate-monitor-ui-ring-dotted {
    position: absolute;
    width: 70%; height: 70%;
    border-radius: 50%;
    border: 2px dotted rgba(183, 110, 121, 0.25);
    animation: fp-veterinary-heart-rate-monitor-ui-spin-rev 15s linear infinite;
}

@keyframes fp-veterinary-heart-rate-monitor-ui-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

@keyframes fp-veterinary-heart-rate-monitor-ui-spin-rev {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(-360deg); }
}

.fp-veterinary-heart-rate-monitor-ui-panel {
    position: relative;
    z-index: 10;
    width: 82%;
    height: 82%;
    background: var(--fp-secondary-color);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.8);
    border-radius: 28px;
    box-shadow: 
        0 16px 40px rgba(183, 110, 121, 0.1),
        inset 0 0 0 1px rgba(255, 255, 255, 0.5),
        inset 0 2px 8px rgba(255, 255, 255, 0.6);
    display: flex;
    flex-direction: column;
    padding: 24px;
}

.fp-veterinary-heart-rate-monitor-ui-header {
    display: flex;
    align-items: center;
    gap: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid var(--fp-soft-color);
}

.fp-veterinary-heart-rate-monitor-ui-icon-wrap {
    width: 48px;
    height: 48px;
    background: rgba(255, 255, 255, 0.6);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--fp-accent-color);
    box-shadow: inset 0 2px 4px rgba(183, 110, 121, 0.05);
    border: 1px solid #fff;
}

.fp-veterinary-heart-rate-monitor-ui-patient-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.fp-veterinary-heart-rate-monitor-ui-patient-name {
    font-size: 1.05rem;
    font-weight: 800;
    color: var(--fp-danger-color);
    margin: 0;
    letter-spacing: -0.01em;
}

.fp-veterinary-heart-rate-monitor-ui-patient-type {
    font-size: 0.7rem;
    font-weight: 600;
    color: var(--fp-muted-color);
}

.fp-veterinary-heart-rate-monitor-ui-status-dot {
    width: 10px; height: 10px;
    background: var(--fp-accent-color);
    border-radius: 50%;
    box-shadow: 0 0 8px var(--fp-accent-color);
    animation: fp-veterinary-heart-rate-monitor-ui-pulse-dot 2s infinite;
}

@keyframes fp-veterinary-heart-rate-monitor-ui-pulse-dot {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(0.9); }
}

.fp-veterinary-heart-rate-monitor-ui-vital-center {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 24px;
    position: relative;
}

.fp-veterinary-heart-rate-monitor-ui-heart-container {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 80px; height: 80px;
}

.fp-veterinary-heart-rate-monitor-ui-heart-svg {
    width: 56px; height: 56px;
    color: var(--fp-accent-color);
    z-index: 5;
    transition: transform 0.15s cubic-bezier(0.2, 1.5, 0.8, 1);
    filter: drop-shadow(0 8px 12px rgba(183, 110, 121, 0.3));
}

.fp-veterinary-heart-rate-monitor-ui-pulse-ring {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 56px; height: 56px;
    border-radius: 50%;
    background: rgba(183, 110, 121, 0.4);
    opacity: 0;
    pointer-events: none;
}

.fp-veterinary-heart-rate-monitor-ui-bpm-display {
    display: flex;
    align-items: baseline;
    gap: 6px;
    color: var(--fp-danger-color);
}

.fp-veterinary-heart-rate-monitor-ui-bpm-val {
    font-size: 3.5rem;
    font-weight: 900;
    line-height: 1;
    font-variant-numeric: tabular-nums;
    letter-spacing: -0.04em;
}

.fp-veterinary-heart-rate-monitor-ui-bpm-lbl {
    font-size: 0.85rem;
    font-weight: 700;
    color: var(--fp-muted-color);
    margin-bottom: 6px;
}

.fp-veterinary-heart-rate-monitor-ui-ecg-wrap {
    height: 60px;
    width: 100%;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 16px;
    border: 1px solid rgba(255, 255, 255, 0.6);
    box-shadow: inset 0 2px 8px rgba(183, 110, 121, 0.05);
    padding: 8px;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.fp-veterinary-heart-rate-monitor-ui-ecg-svg {
    width: 100%;
    height: 100%;
    overflow: visible;
}

.fp-veterinary-heart-rate-monitor-ui-ecg-path {
    fill: none;
    stroke: var(--fp-accent-color);
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 2px 4px rgba(183, 110, 121, 0.4));
}

.fp-veterinary-heart-rate-monitor-ui-stage.is-beating .fp-veterinary-heart-rate-monitor-ui-heart-svg {
    transform: scale(1.15);
}

.fp-veterinary-heart-rate-monitor-ui-stage.is-beating .fp-veterinary-heart-rate-monitor-ui-pulse-ring {
    animation: fp-veterinary-heart-rate-monitor-ui-ping 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@keyframes fp-veterinary-heart-rate-monitor-ui-ping {
    0% { transform: translate(-50%, -50%) scale(1); opacity: 0.8; }
    100% { transform: translate(-50%, -50%) scale(3); opacity: 0; }
}

@media (max-width: 480px) {
    .fp-veterinary-heart-rate-monitor-ui-panel { width: 90%; height: 90%; padding: 20px; }
    .fp-veterinary-heart-rate-monitor-ui-vital-center { flex-direction: column; gap: 8px; }
    .fp-veterinary-heart-rate-monitor-ui-bpm-val { font-size: 3rem; }
}
(function() {
    document.querySelectorAll('.fp-veterinary-heart-rate-monitor-ui').forEach(root => {
        const stage = root.querySelector('#fp-veterinary-heart-rate-monitor-ui-stage');
        const bpmEl = root.querySelector('#fp-veterinary-heart-rate-monitor-ui-bpm');
        const pathEl = root.querySelector('#fp-veterinary-heart-rate-monitor-ui-ecg-path');

        if (!stage || !bpmEl || !pathEl) return;

        let animationFrameId;
        let lastUpdate = 0;
        
        let targetBpm = 115;
        let currentBpm = 115;
        let nextBeatTime = 0;
        
        const numPoints = 80;
        const pointsY = new Array(numPoints).fill(30); 
        const W = 300;
        const stepX = W / (numPoints - 1);
        
        const ecgSpike = [0, 4, -20, 30, -5, 2, 0];
        let spikeQueue = [];

        function fp_veterinary_heart_rate_monitor_ui_drawWave() {
            let d = `M 0 ${pointsY[0]}`;
            for (let i = 1; i < numPoints; i++) {
                d += ` L ${i * stepX} ${pointsY[i]}`;
            }
            if (pathEl) pathEl.setAttribute('d', d);
        }

        function fp_veterinary_heart_rate_monitor_ui_loop(timestamp) {
            if (!document.body.contains(root)) {
                cancelAnimationFrame(animationFrameId);
                if (typeof observer !== 'undefined') observer.disconnect();
                document.removeEventListener('visibilitychange', fp_veterinary_heart_rate_monitor_ui_handleVisibilityChange);
                return;
            }

            if (document.visibilityState === 'visible') {
                if (!lastUpdate) lastUpdate = timestamp;
                const delta = timestamp - lastUpdate;
                
                if (delta >= 16) {
                    lastUpdate = timestamp;

                    pointsY.shift();

                    let nextY = 30 + (Math.random() * 2 - 1);

                    if (spikeQueue.length > 0) {
                        nextY = 30 + spikeQueue.shift();
                    }
                    
                    pointsY.push(nextY);
                    fp_veterinary_heart_rate_monitor_ui_drawWave();

                    if (timestamp >= nextBeatTime) {
                        stage.classList.remove('is-beating');
                        void stage.offsetWidth; 
                        stage.classList.add('is-beating');

                        spikeQueue = [...ecgSpike];

                        targetBpm = 110 + Math.floor(Math.random() * 15);
                        
                        let interval = (60000 / targetBpm) + (Math.random() * 50 - 25);
                        nextBeatTime = timestamp + interval;

                        currentBpm += (targetBpm - currentBpm) * 0.1;
                        if (bpmEl) bpmEl.textContent = Math.round(currentBpm);
                    }
                }
            }

            animationFrameId = requestAnimationFrame(fp_veterinary_heart_rate_monitor_ui_loop);
        }

        function fp_veterinary_heart_rate_monitor_ui_handleVisibilityChange() {
            if (document.visibilityState === 'hidden') {
                if (animationFrameId) {
                    cancelAnimationFrame(animationFrameId);
                    animationFrameId = null;
                    lastUpdate = 0;
                }
            } else {
                if (!animationFrameId) {
                    lastUpdate = performance.now();
                    nextBeatTime = performance.now(); 
                    animationFrameId = requestAnimationFrame(fp_veterinary_heart_rate_monitor_ui_loop);
                }
            }
        }

        document.addEventListener('visibilitychange', fp_veterinary_heart_rate_monitor_ui_handleVisibilityChange);

        const observer = new IntersectionObserver((entries) => {
            entries.forEach(entry => {
                if (entry.isIntersecting) {
                    if (!animationFrameId && document.visibilityState === 'visible') {
                        lastUpdate = performance.now();
                        nextBeatTime = performance.now();
                        animationFrameId = requestAnimationFrame(fp_veterinary_heart_rate_monitor_ui_loop);
                    }
                } else {
                    if (animationFrameId) {
                        cancelAnimationFrame(animationFrameId);
                        animationFrameId = null;
                    }
                }
            });
        }, { threshold: 0.1 });

        observer.observe(root);
        
        fp_veterinary_heart_rate_monitor_ui_drawWave();
    });
})();
Created by Digital Market Created: Apr 28, 2026 • Updated: Apr 28, 2026

Description

Let us look at the Pet Heart Monitor Rose Gold Frosted component. This free UI asset offers a modular card system specifically engineered for the pet care and veterinary clinic sector. We built this entirely from scratch to handle live biometric telemetry without the usual framework bloat. You get a sterile DOM structure that integrates cleanly into your existing animal health software architecture.

Veterinary platforms often process heavy streams of live animal vital signs and require absolute reliability during surgeries or intensive care. Massive client side payloads completely ruin performance metrics when immediate visual feedback is needed for active heart rate monitoring. This component solves that bottleneck directly. By strictly avoiding external libraries like Tailwind, Bootstrap, or GSAP, it keeps your bundle size minimal. This ensures rapid rendering for veterinarians and vet techs who need to monitor active patient vitals on busy clinic networks.

Technical Architecture & Performance

  • Zero dependency codebase: Built strictly with pure HTML, CSS, and Vanilla JavaScript to keep your front end stack incredibly light.

  • Guaranteed performance metrics: Optimized to help your veterinary software maintain 90 plus PageSpeed scores and pass Core Web Vitals easily.

  • Safely scoped CSS: All styling is strictly scoped to prevent any class name collisions when you drop these cards into a massive monolithic repository.

  • Sterile DOM markup: Features clean HTML with absolutely no unnecessary wrappers or deep nesting trees to parse.

Design & Aesthetic Impact

The visual direction pairs premium Rose Gold tones with a frosted finish to establish a calming and focused clinical environment. This warm and highly readable aesthetic ensures visual clarity for users analyzing complex animal biometrics and dense veterinary health logs. For the interaction layer, we implemented custom radial pulse and heartbeat animations. These smooth cyclical transitions provide clear visual feedback for live heart rate monitoring and active patient vitals without requiring heavy javascript animation scripts. The final result is a clean user interface that looks professional and functions perfectly for strict enterprise veterinary clinic environments.

Enterprise Use Cases

  • Veterinary ICU dashboards: Display active heart rates and vital signs using the card grid so surgical teams can monitor resting patients quickly.

  • Pet telehealth portals: Build a fast rendering biometric page where remote veterinarians can organize and review massive datasets of wearable collar data within a lightweight interface.

  • Animal hospital triage panels: Create a responsive control layout for clinic staff to track active emergency queue statuses and priority patient alerts across multiple exam rooms.

Technical Details

  • ElementCards
  • IndustryPet Care
  • StyleSoft Glassmorphism
  • AnimationHeartbeat, Radial Pulse
  • ColorWhite
Report Issue

Highlights & Benefits

Copy-Paste Ready

Drop the code straight into your project without configuration.

Zero Dependencies

Built strictly with pure CSS & Vanilla JS for maximum speed.

ADA & WCAG Ready

Constructed with strict adherence to WCAG accessibility standards for perfect contrast and screen-reader support.

Sterile DOM Structure

Utilizes a highly optimized, clean DOM architecture ensuring lightning-fast render and maximum PageSpeed scores.

You need an active subscription or purchase to leave a review for this premium component.

Pet Heart Monitor – Rose Gold Frosted

Category:

Description

Let us look at the Pet Heart Monitor Rose Gold Frosted component. This free UI asset offers a modular card system specifically engineered for the pet care and veterinary clinic sector. We built this entirely from scratch to handle live biometric telemetry without the usual framework bloat. You get a sterile DOM structure that integrates cleanly into your existing animal health software architecture.

Veterinary platforms often process heavy streams of live animal vital signs and require absolute reliability during surgeries or intensive care. Massive client side payloads completely ruin performance metrics when immediate visual feedback is needed for active heart rate monitoring. This component solves that bottleneck directly. By strictly avoiding external libraries like Tailwind, Bootstrap, or GSAP, it keeps your bundle size minimal. This ensures rapid rendering for veterinarians and vet techs who need to monitor active patient vitals on busy clinic networks.

Technical Architecture & Performance

  • Zero dependency codebase: Built strictly with pure HTML, CSS, and Vanilla JavaScript to keep your front end stack incredibly light.

  • Guaranteed performance metrics: Optimized to help your veterinary software maintain 90 plus PageSpeed scores and pass Core Web Vitals easily.

  • Safely scoped CSS: All styling is strictly scoped to prevent any class name collisions when you drop these cards into a massive monolithic repository.

  • Sterile DOM markup: Features clean HTML with absolutely no unnecessary wrappers or deep nesting trees to parse.

Design & Aesthetic Impact

The visual direction pairs premium Rose Gold tones with a frosted finish to establish a calming and focused clinical environment. This warm and highly readable aesthetic ensures visual clarity for users analyzing complex animal biometrics and dense veterinary health logs. For the interaction layer, we implemented custom radial pulse and heartbeat animations. These smooth cyclical transitions provide clear visual feedback for live heart rate monitoring and active patient vitals without requiring heavy javascript animation scripts. The final result is a clean user interface that looks professional and functions perfectly for strict enterprise veterinary clinic environments.

Enterprise Use Cases

  • Veterinary ICU dashboards: Display active heart rates and vital signs using the card grid so surgical teams can monitor resting patients quickly.

  • Pet telehealth portals: Build a fast rendering biometric page where remote veterinarians can organize and review massive datasets of wearable collar data within a lightweight interface.

  • Animal hospital triage panels: Create a responsive control layout for clinic staff to track active emergency queue statuses and priority patient alerts across multiple exam rooms.