/*
* selection-sharer: Medium like popover menu to share on Twitter or by email any text selected on the page
*
* -- Requires jQuery --
* -- AMD compatible --
*
* Author: Xavier Damman (@xdamman)
* GIT: https://github.com/xdamman/selection-sharer
* MIT License
*/
@keyframes selectionSharerPopover-animation {
0% {
transform: matrix(0.97, 0, 0, 1, 0, 12);
filter: alpha(opacity=0);
opacity: 0;
}
20% {
transform: matrix(0.99, 0, 0, 1, 0, 2);
filter: alpha(opacity=70);
opacity: 0.7;
}
40% {
transform: matrix(1, 0, 0, 1, 0, -1);
filter: alpha(opacity=100);
opacity: 1;
}
70% {
transform: matrix(1, 0, 0, 1, 0, 0);
filter: alpha(opacity=100);
opacity: 1;
}
100% {
transform: matrix(1, 0, 0, 1, 0, 0);
filter: alpha(opacity=100);
opacity: 1;
}
}
#selectionSharerPopover {
display: none;
position: absolute;
top: -100px;
left: -100px;
z-index: 1010;
}
#selectionSharerPopover::after {
content: '';
display: block;
position: absolute;
bottom: -3px;
left: 50%;
margin-left: -4px;
width: 8px;
height: 8px;
-webkit-transform: rotate(45deg);
transform: rotate(45deg);
background: #262625;
box-shadow: 0 0 2px #262625;
}
#selectionSharerPopover.anim {
transition: top 0.075s ease-out;
animation: selectionSharerPopover-animation 180ms forwards linear;
-webkit-animation: selectionSharerPopover-animation 180ms forwards linear;
}
#selectionSharerPopover-inner {
position: relative;
overflow: hidden;
-webkit-border-radius: 5px;
border-radius: 5px;
border: 1px solid;
border-color: #262625 #1c1c1b #121211;
box-shadow: 0 1px 3px -1px rgba(0, 0, 0, 0.7), inset 0 0 1px rgba(255, 255, 255, 0.07), inset 0 0 2px rgba(255, 255, 255, 0.15);
background-image: linear-gradient(to bottom, rgba(49, 49, 47, 0.97), #262625);
background-repeat: repeat-x;
}
#selectionSharerPopover .selectionSharerPopover-clip {
position: absolute;
bottom: -11px;
display: block;
left: 50%;
clip: rect(12px 24px 24px 0);
margin-left: -12px;
width: 24px;
height: 24px;
line-height: 24px;
}
#selectionSharerPopover .selectionSharerPopover-arrow {
display: block;
width: 20px;
height: 20px;
-webkit-transform: rotate(45deg) scale(0.5);
transform: rotate(45deg) scale(0.5);
background-color: #454543;
border: 2px solid #121211;
box-sizing: content-box;
}
.selectionSharer ul {
padding: 0;
display: inline;
}
.selectionSharer ul li {
float: left;
list-style: none;
background: none;
margin: 0;
}
.selectionSharer a.action {
display: block;
text-indent: -200px;
margin: 5px 7px;
width: 20px;
height: 20px;
border: none;
}
.selectionSharer a:hover {
color: #ccc;
}
.selectionSharer a.tweet {
background: url("data:image/svg+xml;charset=utf8,%3csvg xmlns='http://www.w3.org/2000/svg' width='171' height='139'%3e%3cg transform='translate(-282.32053,-396.30734)'%3e%3cpath style='fill:white' d='m 453.82593,412.80619 c -6.3097,2.79897 -13.09189,4.68982 -20.20852,5.54049 7.26413,-4.35454 12.84406,-11.24992 15.47067,-19.46675 -6.79934,4.03295 -14.3293,6.96055 -22.34461,8.53841 -6.41775,-6.83879 -15.56243,-11.111 -25.68298,-11.111 -19.43159,0 -35.18696,15.75365 -35.18696,35.18525 0,2.75781 0.31128,5.44359 0.91155,8.01875 -29.24344,-1.46723 -55.16995,-15.47582 -72.52461,-36.76396 -3.02879,5.19662 -4.76443,11.24048 -4.76443,17.6891 0,12.20777 6.21194,22.97747 15.65332,29.28716 -5.76773,-0.18265 -11.19331,-1.76565 -15.93716,-4.40083 -0.004,0.14663 -0.004,0.29412 -0.004,0.44248 0,17.04767 12.12889,31.26806 28.22555,34.50266 -2.95247,0.80436 -6.06101,1.23398 -9.26989,1.23398 -2.2673,0 -4.47114,-0.22124 -6.62011,-0.63114 4.47801,13.97857 17.47214,24.15143 32.86992,24.43441 -12.04227,9.43796 -27.21366,15.06335 -43.69965,15.06335 -2.84014,0 -5.64082,-0.16722 -8.39349,-0.49223 15.57186,9.98421 34.06703,15.8094 53.93768,15.8094 64.72024,0 100.11301,-53.61524 100.11301,-100.11387 0,-1.52554 -0.0343,-3.04251 -0.10204,-4.55261 6.87394,-4.95995 12.83891,-11.15646 17.55618,-18.21305 z' /%3e%3c/g%3e%3c/svg%3e") no-repeat;
background-size: 18px;
background-position: 2px 4px;
}
.selectionSharer a.facebook {
background: url("data:image/svg+xml;charset=utf8,%3csvg viewBox='0 0 33 33' width='25' height='25' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3e%3cg%3e%3cpath style='fill:white' d='M 17.996,32L 12,32 L 12,16 l-4,0 l0-5.514 l 4-0.002l-0.006-3.248C 11.993,2.737, 13.213,0, 18.512,0l 4.412,0 l0,5.515 l-2.757,0 c-2.063,0-2.163,0.77-2.163,2.209l-0.008,2.76l 4.959,0 l-0.585,5.514L 18,16L 17.996,32z'%3e%3c/path%3e%3c/g%3e%3c/svg%3e") no-repeat;
background-size: 18px;
background-position: 0 2px;
display: none;
}
.selectionSharer a.linkedin {
background: url('data:image/svg+xml;utf8,') 2px 4px/18px no-repeat;
background-size: 18px;
background-position: 0 2px;
}
.selectionSharer a.telegram {
background: url('data:image/svg+xml;utf8,') no-repeat;
background-size: 18px;
background-position: 0 2px;
}
.selectionSharer a.email {
background: url("data:image/svg+xml;charset=utf8,%3csvg xmlns='http://www.w3.org/2000/svg' width='94' height='64'%3e%3cg transform='translate(-10, -10)' fill='transparent'%3e%3crect x='0' y='0' width='114' height='114'%3e%3c/rect%3e%3cpath d='M12,12 L102,12 L102,72 L12,72 L12,12 Z M16,12 L53,49 C55.6666667,51 58.3333333,51 61,49 L98,12 L16,12 Z M15,72 L45,42 L15,72 Z M69,42 L99,72 L69,42 Z' stroke='white' stroke-width='5'%3e%3c/path%3e%3c/g%3e%3c/svg%3e") no-repeat;
background-size: 20px;
background-position: 0 4px;
}
#selectionSharerPopunder.fixed {
transition: bottom 0.5s ease-in-out;
width: 100%;
position: fixed;
left: 0;
bottom: -50px;
}
.selectionSharer {
transition: -webkit-transform 0.6s ease-in-out;
}
.selectionSharer.moveDown {
-webkit-transform: translate3d(0, 60px, 0);
}
#selectionSharerPopunder {
position: absolute;
left: 0;
width: 100%;
height: 0;
transition: height 0.5s ease-in-out;
background: #ccc;
border: none;
box-shadow: inset 0 10px 5px -10px rgba(0, 0, 0, 0.5), inset 0 -10px 5px -10px rgba(0, 0, 0, 0.5);
border-radius: 0;
overflow: hidden;
}
#selectionSharerPopunder.show {
height: 50px;
}
.selectionSharerPlaceholder {
height: 1em;
margin-bottom: -2em;
transition: height 0.5s ease-in-out;
}
.selectionSharerPlaceholder.show {
height: 50px !important;
}
#selectionSharerPopunder-inner ul {
overflow: hidden;
margin: 0;
display: inline;
}
#selectionSharerPopunder-inner ul li {
padding: 5px;
overflow: hidden;
}
#selectionSharerPopunder-inner label {
color: white;
font-weight: 300;
line-height: 50px;
margin: 0 20px 0 10px;
}
#selectionSharerPopunder-inner a {
width: 30px;
height: 30px;
background-size: 30px;
}
#selectionSharerPopunder-inner a.tweet {
background-position: 0 2px;
}