UNPKG

ng-repeat-fast

Version:

Faster ng-repeat realization that caches DOM nodes.

507 lines (506 loc) 9.94 kB
@keyframes star-wars { 0% { transform: translate3d(0, 0, -100px); opacity: 0; } 100% { transform: translate3d(0, 0, 0); opacity: 1; } } @-webkit-keyframes star-wars { 0% { transform: translate3d(0, 0, -100px); opacity: 0; } 100% { transform: translate3d(0, 0, 0); opacity: 1; } } @-moz-keyframes star-wars { 0% { transform: translate3d(0, 0, -100px); opacity: 0; } 100% { transform: translate3d(0, 0, 0); opacity: 1; } } @keyframes slide-from-bottom { 0% { transform: translateY(2000px); } 100% { transform: translateY(0); } } @-webkit-keyframes slide-from-bottom { 0% { transform: translateY(2000px); } 100% { transform: translateY(0); } } @-moz-keyframes slide-from-bottom { 0% { transform: translateY(2000px); } 100% { transform: translateY(0); } } @keyframes slide-from-top { 0% { transform: translateY(-500px); } 100% { transform: translateY(0); } } @-webkit-keyframes slide-from-top { 0% { transform: translateY(-500px); } 100% { transform: translateY(0); } } @-moz-keyframes slide-from-top { 0% { transform: translateY(-500px); } 100% { transform: translateY(0); } } @keyframes opacity { 0% { opacity: 0; } 100% { opacity: 1; } } @-webkit-keyframes opacity { 0% { opacity: 0; } 100% { opacity: 1; } } @-moz-keyframes opacity { 0% { opacity: 0; } 100% { opacity: 1; } } @keyframes shift-left-to-right { 0% { transform: translateX(-500px); } 100% { transform: translateX(0); } } @-webkit-keyframes shift-left-to-right { 0% { transform: translateX(-500px); } 100% { transform: translateX(0); } } @-moz-keyframes shift-left-to-right { 0% { transform: translateX(-500px); } 100% { transform: translateX(0); } } @keyframes rotation-y { 0% { transform: rotateY(180deg); } 100% { transform: rotateY(0deg); } } @-webkit-keyframes rotation-y { 0% { transform: rotateY(180deg); } 100% { transform: rotateY(0deg); } } @-moz-keyframes rotation-y { 0% { transform: rotateY(180deg); } 100% { transform: rotateY(0deg); } } @keyframes rotation-y2 { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(180deg); } 100% { transform: rotateY(0deg); } } @-webkit-keyframes rotation-y2 { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(180deg); } 100% { transform: rotateY(0deg); } } @-moz-keyframes rotation-y2 { 0% { transform: rotateY(0deg); } 50% { transform: rotateY(180deg); } 100% { transform: rotateY(360deg); } } [class^=col-] { margin: 0 !important; padding: 0 !important; } body { margin: 20px; background-color: #262626; color: #70a7c2; font: 20px/1.2 Arial, sans-serif; letter-spacing: .1px; text-rendering: optimizeLegibility; box-sizing: border-box; overflow-y: scroll; perspective: 512px; perspective-origin: 50%; transform-style: preserve-3d; backface-visibility: visible; } .container { position: absolute; left: 0; right: 0; top: 20px; margin: auto; width: 600px; height: 300px; opacity: 0; transition: .5s; } .on .container { opacity: 1; } h1 { font-size: 24px; text-shadow: 0 0 3px #70a7c2, 0 0 10px #70a7c2; } section { width: 100%; margin: 0 0 20px; text-align: center; letter-spacing: 10px; } section > * { letter-spacing: .1px; } button { position: relative; margin: 0 0 0 0; padding: 10px 20px; border: 1px solid #70a7c2; border-radius: 2px; background-color: rgba(112, 167, 194, 0.15); transition: .4s; outline: none; } button.big { padding: 20px; } button .glyphicon { font-size: 10px; top: -2px; } button:hover { box-shadow: 0 0 10px #70a7c2; -webkit-animation: rotation-y2 2.4s ease, opacity 2.4s ease; -moz-animation: rotation-y2 2.4s ease, opacity 2.4s ease; animation: rotation-y2 2.4s ease, opacity 2.4s ease; background-color: rgba(112, 167, 194, 0.3); -webkit-transform: scale(1); -ms-transform: scale(1); -o-transform: scale(1); transform: scale(1); } button.active, button:active { border: 1px solid #7e70c2; box-shadow: 0 0 10px #7e70c2; color: #7e70c2; background: rgba(126, 112, 194, 0.15); } .on button { -webkit-animation: slide-from-top 1.4s ease, opacity 1.4s ease; -moz-animation: slide-from-top 1.4s ease, opacity 1.4s ease; animation: slide-from-top 1.4s ease, opacity 1.4s ease; } input[type=search] { width: 100%; margin: 0; padding: 20px; border-radius: 2px; border: 1px solid #70a7c2; box-shadow: 0 0 10px #70a7c2; color: #70a7c2; background: #262626; font-size: 20px; transition: 4s; position: relative; opacity: 0; } input[type=search]:focus, .on input[type=search] { opacity: 1; outline: none; border: 1px solid #7e70c2; box-shadow: 0 0 10px #7e70c2; color: #7e70c2; background: rgba(126, 112, 194, 0.15); -webkit-animation: shift-left-to-right 1.4s ease; -o-animation: shift-left-to-right 1.4s ease; animation: shift-left-to-right 1.4s ease; } .list { width: 100%; margin: 0 0 20px; padding: 20px; border: 1px solid #70a7c2; border-radius: 2px; box-shadow: 0 0 10px #70a7c2; background-color: rgba(112, 167, 194, 0.15); font-family: monospace; text-align: center; position: relative; -webkit-animation: slide-from-bottom 1.4s ease, opacity 1.4s ease; -moz-animation: slide-from-bottom 1.4s ease, opacity 1.4s ease; animation: slide-from-bottom 1.4s ease, opacity 1.4s ease; } .list .list-item { transition: .1s; } .hl { color: #262626; background-color: #70a7c2; box-shadow: 0 0 15px 4px #70a7c2; display: inline-block; border-radius: 2px; } .char-16 { margin-left: 16px; transition: 1s; color: #70c2a7; text-shadow: 0 0 2px 10px #70c2a7; } .on .char-16 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-15 { margin-left: 16px; transition: 1s; color: #70c28b; text-shadow: 0 0 2px 10px #70c28b; } .on .char-15 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-14 { margin-left: 16px; transition: 1s; color: #70c270; text-shadow: 0 0 2px 10px #70c270; } .on .char-14 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-13 { margin-left: 16px; transition: 1s; color: #8bc270; text-shadow: 0 0 2px 10px #8bc270; } .on .char-13 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-12 { margin-left: 16px; transition: 1s; color: #a7c270; text-shadow: 0 0 2px 10px #a7c270; } .on .char-12 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-11 { margin-left: 16px; transition: 1s; color: #c2c270; text-shadow: 0 0 2px 10px #c2c270; } .on .char-11 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-10 { margin-left: 16px; transition: 1s; color: #c2a770; text-shadow: 0 0 2px 10px #c2a770; } .on .char-10 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-9 { margin-left: 16px; transition: 1s; color: #c28b70; text-shadow: 0 0 2px 10px #c28b70; } .on .char-9 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-8 { margin-left: 16px; transition: 1s; color: #c27070; text-shadow: 0 0 2px 10px #c27070; } .on .char-8 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-7 { margin-left: 16px; transition: 1s; color: #c2708b; text-shadow: 0 0 2px 10px #c2708b; } .on .char-7 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-6 { margin-left: 16px; transition: 1s; color: #c270a7; text-shadow: 0 0 2px 10px #c270a7; } .on .char-6 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-5 { margin-left: 16px; transition: 1s; color: #c270c2; text-shadow: 0 0 2px 10px #c270c2; } .on .char-5 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-4 { margin-left: 16px; transition: 1s; color: #a770c2; text-shadow: 0 0 2px 10px #a770c2; } .on .char-4 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-3 { margin-left: 16px; transition: 1s; color: #8b70c2; text-shadow: 0 0 2px 10px #8b70c2; } .on .char-3 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-2 { margin-left: 16px; transition: 1s; color: #7070c2; text-shadow: 0 0 2px 10px #7070c2; } .on .char-2 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-1 { margin-left: 16px; transition: 1s; color: #708bc2; text-shadow: 0 0 2px 10px #708bc2; } .on .char-1 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; } .char-0 { margin-left: 16px; transition: 1s; color: #70a7c2; text-shadow: 0 0 2px 10px #70a7c2; } .on .char-0 { -webkit-animation: opacity 1s ease-in-out; -o-animation: opacity 1s ease-in-out; animation: opacity 1s ease-in-out; }