<link href="//netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
<script src="//netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
<script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<!------ Include the above in your HEAD tag ---------->
<!DOCTYPE html><html lang='en' class=''>
<head><script src='//production-assets.codepen.io/assets/editor/live/console_runner-079c09a0e3b9ff743e39ee2d5637b9216b3545af0de366d4b9aad9dc87e26bfd.js'></script><script src='//production-assets.codepen.io/assets/editor/live/events_runner-73716630c22bbc8cff4bd0f07b135f00a0bdc5d14629260c3ec49e5606f98fdd.js'></script><script src='//production-assets.codepen.io/assets/editor/live/css_live_reload_init-2c0dc5167d60a5af3ee189d570b1835129687ea2a61bee3513dee3a50c115a77.js'></script><meta charset='UTF-8'><meta name="robots" content="noindex"><link rel="shortcut icon" type="image/x-icon" href="//production-assets.codepen.io/assets/favicon/favicon-8ea04875e70c4b0bb41da869e81236e54394d63638a1ef12fa558a4a835f1164.ico" /><link rel="mask-icon" type="" href="//production-assets.codepen.io/assets/favicon/logo-pin-f2d2b6d2c61838f7e76325261b7195c27224080bc099486ddd6dccb469b8e8e6.svg" color="#111" /><link rel="canonical" href="https://codepen.io/WhoisJamesMyers/pen/zBQmYw?depth=everything&order=popularity&page=2&q=shortener&show_forks=false" />
<link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/normalize/4.2.0/normalize.min.css'><link rel='stylesheet prefetch' href='https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.6.3/css/font-awesome.min.css'>
<style class="cp-pen-styles">@keyframes load {
0% {
transform: perspective(120px) rotateX(0deg) rotateY(0deg);
-webkit-transform: perspective(120px) rotateX(0deg) rotateY(0deg)
}
50% {
transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg);
-webkit-transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg)
}
100% {
transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
-webkit-transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg);
}
}
body,
html {
height: 100%;
}
body {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
background: #0b8261;
}
form {
display: flex-item;
}
button,
input {
border: 0px;
outline: 0px;
}
input {
width: 250px;
height: 50px;
transition: width 1s;
background: #ddd;
color: rgba(0, 0, 0, 1);
padding: 6px 0px 6px 15px;
}
button {
height: 62px;
background-color: #d33222;
color: #fff;
padding: 6px 15px 6px 15px;
}
form.short button {
padding: 6px 15px 6px 15px;
}
form.short input {
transition: width 0.5s ease-in, background-color 0.25s, color 0.25s;
width: 0px;
padding: 6px 0px 6px 0px;
background-color: #d33222;
color: rgba(0, 0, 0, 0);
}
form.short button > i {
position: relative;
}
.load {
animation: load 1000ms linear infinite;
}</style></head><body>
<body>
<form id="searchForm">
<input type="text"/ value="http://google.ca"><button><i class="fa fa-search" aria-hidden="true"></i>
</button>
</form>
</body>
<script src='//production-assets.codepen.io/assets/common/stopExecutionOnTimeout-b2a7b3fe212eaa732349046d8416e00a9dec26eb7fd347590fbced3ab38af52e.js'></script>
<script >const searchInput = document.querySelector("#searchForm input");
const searchButton = document.querySelector("#searchForm button");
const searchButtonText = document.querySelector("#searchForm > button > i");
const searchForm = document.querySelector("#searchForm");
const transitionEnd = ('WebkitTransition' in document.documentElement.style) ? 'webkitTransitionEnd' : 'transitionend'
var longUrl = searchInput.value;
var shortUrl = 'http://gg.le';
let submitFunction = function(e) {
e.preventDefault();
searchForm.classList.add("short")
}
let completedHandler = function(e) {
if (e.propertyName === "width" && searchInput.value != shortUrl) {
searchButton.classList.add("load")
console.log(e);
searchButtonText.style.color = 'rgba(255,255,255,0)';
searchButtonText.style.color = 'rgba(255,255,255,1)';
setTimeout(revertForm, 2500);
}
}
let revertForm = function() {
searchForm.classList.remove("short");
searchButton.classList.remove("load")
searchButtonText.classList.remove("fa-search");
searchButtonText.classList.add("fa-clipboard"); searchInput.value = shortUrl;
searchInput.style.width = ((shortUrl.length) * 8) + 'px';
searchButtonText.style.color = 'rgba(255,255,255,0)';
searchButtonText.style.color = 'rgba(255,255,255,1)';
searchButton.disabled = true;
searchInput.disabled = true;
}
searchButton.addEventListener("click", submitFunction, false);
searchInput.addEventListener(transitionEnd, completedHandler);
//# sourceURL=pen.js
</script>
</body></html>