UNPKG

bismillahcss

Version:

The next-gen utility-first CSS framework for modern, futuristic web development.

758 lines (603 loc) 11.8 kB
/* ========== BismillahCSS Animations ========== */ /* Fade Animations */ .bismillah-fade-in { animation: bismillahFadeIn 0.5s ease-in-out forwards; } .bismillah-fade-out { animation: bismillahFadeOut 0.5s ease-in-out forwards; } @keyframes bismillahFadeIn { from { opacity: 0; } to { opacity: 1; } } @keyframes bismillahFadeOut { from { opacity: 1; } to { opacity: 0; } } /* Slide Animations */ .bismillah-slide-in-up { animation: bismillahSlideInUp 0.5s ease-out forwards; } .bismillah-slide-in-down { animation: bismillahSlideInDown 0.5s ease-out forwards; } .bismillah-slide-in-left { animation: bismillahSlideInLeft 0.5s ease-out forwards; } .bismillah-slide-in-right { animation: bismillahSlideInRight 0.5s ease-out forwards; } @keyframes bismillahSlideInUp { from { transform: translateY(30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } @keyframes bismillahSlideInDown { from { transform: translateY(-30px); opacity: 0; } to { transform: translateY(0); opacity: 1; } } @keyframes bismillahSlideInLeft { from { transform: translateX(-30px); opacity: 0; } to { transform: translateX(0); opacity: 1; } } @keyframes bismillahSlideInRight { from { transform: translateX(30px); opacity: 0; } to { transform: translateX(0); opacity: 1; } } /* Scale Animations */ .bismillah-scale-in { animation: bismillahScaleIn 0.5s ease-out forwards; } .bismillah-scale-out { animation: bismillahScaleOut 0.5s ease-in forwards; } @keyframes bismillahScaleIn { from { transform: scale(0.8); opacity: 0; } to { transform: scale(1); opacity: 1; } } @keyframes bismillahScaleOut { from { transform: scale(1); opacity: 1; } to { transform: scale(0.8); opacity: 0; } } /* Rotate Animations */ .bismillah-rotate-in { animation: bismillahRotateIn 0.5s ease-out forwards; } .bismillah-spin { animation: bismillahSpin 1s infinite linear; } @keyframes bismillahRotateIn { from { transform: rotate(-180deg) scale(0.5); opacity: 0; } to { transform: rotate(0) scale(1); opacity: 1; } } @keyframes bismillahSpin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Bounce Animations */ .bismillah-bounce { animation: bismillahBounce 1s infinite; } .bismillah-bounce-in { animation: bismillahBounceIn 0.75s ease-out forwards; } @keyframes bismillahBounce { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-15px); } } @keyframes bismillahBounceIn { 0% { transform: scale(0.3); opacity: 0; } 40% { transform: scale(1.1); opacity: 1; } 60% { transform: scale(0.9); } 80% { transform: scale(1.03); } 100% { transform: scale(1); } } /* Pulse Animations */ .bismillah-pulse { animation: bismillahPulse 2s infinite; } @keyframes bismillahPulse { 0% { transform: scale(1); } 50% { transform: scale(1.05); } 100% { transform: scale(1); } } /* Shake Animations */ .bismillah-shake { animation: bismillahShake 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both; } @keyframes bismillahShake { 10%, 90% { transform: translate3d(-1px, 0, 0); } 20%, 80% { transform: translate3d(2px, 0, 0); } 30%, 50%, 70% { transform: translate3d(-4px, 0, 0); } 40%, 60% { transform: translate3d(4px, 0, 0); } } /* Heartbeat Animation */ .bismillah-heartbeat { animation: bismillahHeartbeat 1.5s ease-in-out infinite; } @keyframes bismillahHeartbeat { 0% { transform: scale(1); } 14% { transform: scale(1.15); } 28% { transform: scale(1); } 42% { transform: scale(1.15); } 70% { transform: scale(1); } } /* Flip Animations */ .bismillah-flip-x { animation: bismillahFlipX 1s ease-in-out; backface-visibility: visible; } .bismillah-flip-y { animation: bismillahFlipY 1s ease-in-out; backface-visibility: visible; } @keyframes bismillahFlipX { 0% { transform: perspective(400px) rotateX(90deg); opacity: 0; } 40% { transform: perspective(400px) rotateX(-10deg); } 70% { transform: perspective(400px) rotateX(10deg); } 100% { transform: perspective(400px) rotateX(0deg); opacity: 1; } } @keyframes bismillahFlipY { 0% { transform: perspective(400px) rotateY(90deg); opacity: 0; } 40% { transform: perspective(400px) rotateY(-10deg); } 70% { transform: perspective(400px) rotateY(10deg); } 100% { transform: perspective(400px) rotateY(0deg); opacity: 1; } } /* Hinge Animation */ .bismillah-hinge { animation: bismillahHinge 2s ease-in-out; transform-origin: top left; } @keyframes bismillahHinge { 0% { transform: rotate(0); } 20%, 60% { transform: rotate(80deg); } 40%, 80% { transform: rotate(60deg); } 100% { transform: translateY(700px); opacity: 0; } } /* Roll In/Out Animations */ .bismillah-roll-in { animation: bismillahRollIn 1s ease-out forwards; } .bismillah-roll-out { animation: bismillahRollOut 1s ease-in forwards; } @keyframes bismillahRollIn { from { transform: translateX(-100%) rotate(-120deg); opacity: 0; } to { transform: translateX(0) rotate(0); opacity: 1; } } @keyframes bismillahRollOut { from { transform: translateX(0) rotate(0); opacity: 1; } to { transform: translateX(100%) rotate(120deg); opacity: 0; } } /* Typing Animation */ .bismillah-typing { overflow: hidden; white-space: nowrap; border-right: 2px solid var(--bismillah-primary-color, #4361ee); animation: bismillahTyping 3.5s steps(40, end) infinite, bismillahBlink 0.75s step-end infinite; } @keyframes bismillahTyping { from { width: 0; } to { width: 100%; } } @keyframes bismillahBlink { from, to { border-color: transparent; } 50% { border-color: var(--bismillah-primary-color, #4361ee); } } /* Focus Attention Animation */ .bismillah-focus-attention { animation: bismillahFocusAttention 2s ease-in-out; } @keyframes bismillahFocusAttention { 0% { transform: scale(1); } 50% { transform: scale(1.05); box-shadow: 0 0 20px rgba(0, 123, 255, 0.5); } 100% { transform: scale(1); } } /* Float Animation */ .bismillah-float { animation: bismillahFloat 3s ease-in-out infinite; } @keyframes bismillahFloat { 0% { transform: translateY(0); } 50% { transform: translateY(-10px); } 100% { transform: translateY(0); } } /* Wobble Animation */ .bismillah-wobble { animation: bismillahWobble 1s ease-in-out; } @keyframes bismillahWobble { 0% { transform: translateX(0%); } 15% { transform: translateX(-25%) rotate(-5deg); } 30% { transform: translateX(20%) rotate(3deg); } 45% { transform: translateX(-15%) rotate(-3deg); } 60% { transform: translateX(10%) rotate(2deg); } 75% { transform: translateX(-5%) rotate(-1deg); } 100% { transform: translateX(0%); } } /* Jello Animation */ .bismillah-jello { animation: bismillahJello 1s ease; } @keyframes bismillahJello { 11.1% { transform: none; } 22.2% { transform: skewX(-12.5deg) skewY(-12.5deg); } 33.3% { transform: skewX(6.25deg) skewY(6.25deg); } 44.4% { transform: skewX(-3.125deg) skewY(-3.125deg); } 55.5% { transform: skewX(1.5625deg) skewY(1.5625deg); } 66.6% { transform: skewX(-0.78125deg) skewY(-0.78125deg); } 77.7% { transform: skewX(0.390625deg) skewY(0.390625deg); } 88.8% { transform: skewX(-0.1953125deg) skewY(-0.1953125deg); } 100% { transform: none; } } /* Swing Animation */ .bismillah-swing { transform-origin: top center; animation: bismillahSwing 1s ease; } @keyframes bismillahSwing { 20% { transform: rotate(15deg); } 40% { transform: rotate(-10deg); } 60% { transform: rotate(5deg); } 80% { transform: rotate(-5deg); } 100% { transform: rotate(0deg); } } /* Tada Animation */ .bismillah-tada { animation: bismillahTada 1s ease; } @keyframes bismillahTada { 0% { transform: scale(1); } 10%, 20% { transform: scale(0.9) rotate(-3deg); } 30%, 50%, 70%, 90% { transform: scale(1.1) rotate(3deg); } 40%, 60%, 80% { transform: scale(1.1) rotate(-3deg); } 100% { transform: scale(1) rotate(0); } } /* Glitch Effect */ .bismillah-glitch { position: relative; animation: bismillahGlitch 1s linear infinite; } .bismillah-glitch::before, .bismillah-glitch::after { content: attr(data-text); position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .bismillah-glitch::before { left: 2px; text-shadow: -1px 0 #00fff9; clip: rect(44px, 450px, 56px, 0); animation: bismillahGlitchBefore 2s linear alternate-reverse infinite; } .bismillah-glitch::after { left: -2px; text-shadow: -1px 0 #ff00c1; clip: rect(44px, 450px, 56px, 0); animation: bismillahGlitchAfter 3s linear alternate-reverse infinite; } @keyframes bismillahGlitch { 2%, 64% { transform: translate(2px, 0) skew(0deg); } 4%, 60% { transform: translate(-2px, 0) skew(0deg); } 62% { transform: translate(0, 0) skew(5deg); } } @keyframes bismillahGlitchBefore { 0% { clip: rect(31px, 9999px, 94px, 0); } 10% { clip: rect(112px, 9999px, 76px, 0); } 20% { clip: rect(85px, 9999px, 33px, 0); } 30% { clip: rect(24px, 9999px, 64px, 0); } 40% { clip: rect(59px, 9999px, 26px, 0); } 50% { clip: rect(93px, 9999px, 37px, 0); } 60% { clip: rect(79px, 9999px, 83px, 0); } 70% { clip: rect(129px, 9999px, 39px, 0); } 80% { clip: rect(37px, 9999px, 144px, 0); } 90% { clip: rect(71px, 9999px, 61px, 0); } 100% { clip: rect(10px, 9999px, 145px, 0); } } @keyframes bismillahGlitchAfter { 0% { top: -10px; clip: rect(21px, 9999px, 154px, 0); } 10% { clip: rect(32px, 9999px, 16px, 0); } 20% { clip: rect(95px, 9999px, 83px, 0); } 30% { clip: rect(14px, 9999px, 4px, 0); } 40% { clip: rect(59px, 9999px, 126px, 0); } 50% { clip: rect(93px, 9999px, 37px, 0); } 60% { clip: rect(79px, 9999px, 83px, 0); } 70% { clip: rect(19px, 9999px, 39px, 0); } 80% { clip: rect(37px, 9999px, 14px, 0); } 90% { clip: rect(71px, 9999px, 61px, 0); } 100% { clip: rect(10px, 9999px, 45px, 0); } } /* Background Animations */ .bismillah-bg-gradient-animate { background-size: 400% 400%; animation: bismillahGradientBG 15s ease infinite; } @keyframes bismillahGradientBG { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } }