UNPKG

holo-card

Version:

A React component for holographic card effects

77 lines (62 loc) 2.38 kB
.card[data-set="Shiny_raycast"] .card_shine, .card[data-set="Shiny_raycast"] .card_shine::after { --space: 5%; --angle: 113deg; --img-size: cover; background-image: var(--foil), repeating-linear-gradient( 0deg, var(--sunpillar-clr-1) calc(var(--space) * 1), var(--sunpillar-clr-2) calc(var(--space) * 2), var(--sunpillar-clr-3) calc(var(--space) * 3), var(--sunpillar-clr-4) calc(var(--space) * 4), var(--sunpillar-clr-5) calc(var(--space) * 5), var(--sunpillar-clr-6) calc(var(--space) * 6), var(--sunpillar-clr-1) calc(var(--space) * 7) ), repeating-linear-gradient( var(--angle), #0e152e 0%, hsl(180, 10%, 60%) 3.8%, hsl(180, 29%, 66%) 4.5%, hsl(180, 10%, 60%) 5.2%, #0e152e 10%, #0e152e 12% ), radial-gradient( farthest-corner circle at var(--pointer-x) var(--pointer-y), hsla(0, 0%, 0%, 0.1) 12%, hsla(0, 0%, 0%, 0.15) 20%, hsla(0, 0%, 0%, 0.25) 120% ); background-position: center center, 0% var(--background-y), calc(var(--background-x) + (var(--background-y) * 0.2)) var(--background-y), var(--background-x) var(--background-y); background-blend-mode: soft-light, hue, hard-light; background-size: var(--imgsize), 200% 700%, 300% 100%, 200% 100%; filter: brightness(calc((var(--pointer-from-center) * 0.4) + 0.4)) contrast(1.4) saturate(2.25); } .card[data-set="Shiny_raycast"] .card_shine::after { content: ""; background-position: center, center, 0% var(--background-y), calc(var(--background-x) + ((var(--background-y) * 0.2)) * -1) calc(var(--background-y) * -1); background-size: var(--imgsize), 200% 400%, 195% 100%, 200%, 100%; filter: brightness(calc((var(--pointer-from-center) * 0.4) + 0.8)) contrast(1.5) saturate(1.25); mix-blend-mode: exclusion; } .card[data-set="Shiny_raycast"] .card_glare { background-image: radial-gradient( farthest-corner circle at var(--pointer-x) var(--pointer-y), hsl(0, 0%, 75%) 5%, hsl(200, 5%, 35%) 60%, hsl(320, 40%, 10%) 150% ); background-size: 120%, 150; background-position: center center; mix-blend-mode: hard-light; filter: brightness(1) contrast(1.2) saturate(1); opacity: calc(var(--card-opacity) * 0.75); }