Compare commits
21 Commits
feature/lo
...
0ad2da71b2
| Author | SHA1 | Date | |
|---|---|---|---|
| 0ad2da71b2 | |||
|
|
79dc248825 | ||
|
|
180b7ee04b | ||
|
|
ef31ee2cba | ||
|
|
f62b83cb1a | ||
| 0d3289a900 | |||
|
|
5f60054c1f | ||
|
|
1764bbaa24 | ||
|
|
8e56887b7a | ||
|
|
2001ed947c | ||
|
|
67e4e01708 | ||
|
|
862d65c894 | ||
|
|
df5a05dfc5 | ||
| f9fa9974af | |||
|
|
8575f417da | ||
|
|
8f8cfa4283 | ||
|
|
79cfaf0a95 | ||
|
|
43f2422b88 | ||
|
|
bb501daeb1 | ||
|
|
bbee4c0057 | ||
|
|
663456cbcd |
160
README.md
160
README.md
@@ -120,88 +120,88 @@ git submodule add https://git.seemsleg.it/pub/cssjs-func-lib cssjs
|
||||
<script src="/cssjs/ckeditor.js"></script>
|
||||
|
||||
<script>ClassicEditor
|
||||
.create( document.querySelector( '.editor' ), {
|
||||
.create( document.querySelector( '.editor' ), {
|
||||
|
||||
toolbar: {
|
||||
items: [
|
||||
'heading',
|
||||
'|',
|
||||
'bold',
|
||||
'italic',
|
||||
'underline',
|
||||
'link',
|
||||
'removeFormat',
|
||||
'fontSize',
|
||||
'fontFamily',
|
||||
'|',
|
||||
'bulletedList',
|
||||
'numberedList',
|
||||
'todoList',
|
||||
'|',
|
||||
'indent',
|
||||
'outdent',
|
||||
'alignment',
|
||||
'horizontalLine',
|
||||
'|',
|
||||
'imageUpload',
|
||||
'imageInsert',
|
||||
'blockQuote',
|
||||
'insertTable',
|
||||
'mediaEmbed',
|
||||
'undo',
|
||||
'redo',
|
||||
'|',
|
||||
'codeBlock',
|
||||
'exportPdf',
|
||||
'htmlEmbed',
|
||||
'exportWord',
|
||||
'highlight'
|
||||
]
|
||||
},
|
||||
language: 'de',
|
||||
image: {
|
||||
toolbar: [
|
||||
'imageTextAlternative',
|
||||
'|',
|
||||
'imageStyle:full',
|
||||
'imageStyle:side',
|
||||
'imageStyle:alignLeft', 'imageStyle:alignCenter', 'imageStyle:alignRight',
|
||||
toolbar: {
|
||||
items: [
|
||||
'heading',
|
||||
'|',
|
||||
'bold',
|
||||
'italic',
|
||||
'underline',
|
||||
'link',
|
||||
'removeFormat',
|
||||
'fontSize',
|
||||
'fontFamily',
|
||||
'|',
|
||||
'bulletedList',
|
||||
'numberedList',
|
||||
'todoList',
|
||||
'|',
|
||||
'indent',
|
||||
'outdent',
|
||||
'alignment',
|
||||
'horizontalLine',
|
||||
'|',
|
||||
'imageUpload',
|
||||
'imageInsert',
|
||||
'blockQuote',
|
||||
'insertTable',
|
||||
'mediaEmbed',
|
||||
'undo',
|
||||
'redo',
|
||||
'|',
|
||||
'codeBlock',
|
||||
'exportPdf',
|
||||
'htmlEmbed',
|
||||
'exportWord',
|
||||
'highlight'
|
||||
]
|
||||
},
|
||||
language: 'de',
|
||||
image: {
|
||||
toolbar: [
|
||||
'imageTextAlternative',
|
||||
'|',
|
||||
'imageStyle:full',
|
||||
'imageStyle:side',
|
||||
'imageStyle:alignLeft', 'imageStyle:alignCenter', 'imageStyle:alignRight',
|
||||
'|',
|
||||
'imageResize',
|
||||
]
|
||||
},
|
||||
table: {
|
||||
contentToolbar: [
|
||||
'tableColumn',
|
||||
'tableRow',
|
||||
'mergeTableCells'
|
||||
]
|
||||
},
|
||||
licenseKey: '',
|
||||
]
|
||||
},
|
||||
table: {
|
||||
contentToolbar: [
|
||||
'tableColumn',
|
||||
'tableRow',
|
||||
'mergeTableCells'
|
||||
]
|
||||
},
|
||||
licenseKey: '',
|
||||
|
||||
} )
|
||||
.then( editor => {
|
||||
window.editor = editor;
|
||||
} )
|
||||
.catch( error => {
|
||||
console.error( 'Oops, something went wrong!' );
|
||||
console.error( 'Please, report the following error on https://github.com/ckeditor/ckeditor5/issues with the build id and the error stack trace:' );
|
||||
console.warn( 'Build id: p276tlu14l98-tj7z79o4qxsd' );
|
||||
console.error( error );
|
||||
} );
|
||||
} )
|
||||
.then( editor => {
|
||||
window.editor = editor;
|
||||
} )
|
||||
.catch( error => {
|
||||
console.error( 'Oops, something went wrong!' );
|
||||
console.error( 'Please, report the following error on https://github.com/ckeditor/ckeditor5/issues with the build id and the error stack trace:' );
|
||||
console.warn( 'Build id: p276tlu14l98-tj7z79o4qxsd' );
|
||||
console.error( error );
|
||||
} );
|
||||
</script>
|
||||
```
|
||||
|
||||
Heading
|
||||
```
|
||||
...
|
||||
heading: {
|
||||
options: [
|
||||
{ model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph' },
|
||||
{ model: 'heading1', view: 'h1', title: 'Heading 1', class: 'ck-heading_heading1' },
|
||||
{ model: 'heading2', view: 'h2', title: 'Heading 2', class: 'ck-heading_heading2' }
|
||||
]
|
||||
}
|
||||
heading: {
|
||||
options: [
|
||||
{ model: 'paragraph', title: 'Paragraph', class: 'ck-heading_paragraph' },
|
||||
{ model: 'heading1', view: 'h1', title: 'Heading 1', class: 'ck-heading_heading1' },
|
||||
{ model: 'heading2', view: 'h2', title: 'Heading 2', class: 'ck-heading_heading2' }
|
||||
]
|
||||
}
|
||||
...
|
||||
```
|
||||
|
||||
@@ -304,4 +304,18 @@ benötigt "Fader"
|
||||
<noscript><p><img src="https://log.seemsleg.it/logit?idsite=10&rec=1" style="border:0;" alt="" /></p></noscript>
|
||||
<!-- End logit -->
|
||||
```
|
||||
nicht vergessen bei setSiteId die richtige id anzugeben
|
||||
nicht vergessen bei setSiteId die richtige id anzugeben
|
||||
|
||||
## Flag
|
||||
einfach folgende zeilen in den footer
|
||||
```
|
||||
<script src="/cssjs/flag.min.js"></script>
|
||||
<link rel="stylesheet" href="/cssjs/flag.min.css">
|
||||
|
||||
```
|
||||
|
||||
um zusätzliche infos zu liefern muss ein
|
||||
```
|
||||
data-flaginfo="<key>:<val>"
|
||||
```
|
||||
in irgend ein html tag gepackt werden, ,das wird dann vom script abgeholt wenn es gebraucht wird.
|
||||
@@ -1,3 +1,8 @@
|
||||
body {
|
||||
background-color: #000 !important;
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
textarea {
|
||||
display: block;
|
||||
width: 100%;
|
||||
@@ -21,7 +26,6 @@ form .label {
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
|
||||
.hover {
|
||||
border: 1px solid white;
|
||||
}
|
||||
|
||||
2
admin.min.css
vendored
2
admin.min.css
vendored
@@ -1 +1 @@
|
||||
textarea{display:block;width:100%}form .label{float:left;width:200px}.admin_navi{display:block;width:100%;border-bottom:1px solid #000;overflow:overlay}.admin_navi li{display:block;float:left;margin:0 10px}.hover{border:1px solid #fff}.hover:hover{border:1px solid #000}
|
||||
body{background-color:#000!important;color:#fff}textarea{display:block;width:100%}form .label{float:left;width:200px}.admin_navi{display:block;width:100%;border-bottom:1px solid #000;overflow:overlay}.admin_navi li{display:block;float:left;margin:0 10px}.hover{border:1px solid #fff}.hover:hover{border:1px solid #000}
|
||||
37
flag.css
37
flag.css
@@ -2,11 +2,21 @@
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
right: 0px;
|
||||
width: 150px;
|
||||
width: 170px;
|
||||
border: 1px solid #fff;
|
||||
border-top-left-radius: 15px;
|
||||
border-bottom-left-radius: 15px;
|
||||
margin-right: -130px;
|
||||
margin-right: -145px;
|
||||
z-index: 99999;
|
||||
}
|
||||
|
||||
@media (max-width:1081px) {
|
||||
#flag-panel {
|
||||
border: 10px solid #fff;
|
||||
border-top-left-radius: 23px;
|
||||
border-bottom-left-radius: 23px;
|
||||
margin-right: -135px;
|
||||
}
|
||||
}
|
||||
|
||||
#flag-panel.open {
|
||||
@@ -32,24 +42,29 @@
|
||||
z-index: 9999;
|
||||
}
|
||||
|
||||
#flag-overlay iframe {
|
||||
width: 80%;
|
||||
min-width: 350px;
|
||||
margin: 0 auto;
|
||||
margin-top: 1vh;
|
||||
display: block;
|
||||
background-color: #fff;
|
||||
border: 3px solid #000;
|
||||
#flag-iframe {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
z-index: 10000;
|
||||
background-color: #000;
|
||||
border: 3px solid #fff;
|
||||
border-radius: 1em;
|
||||
overflow-y: scroll;
|
||||
height: 97vh;
|
||||
min-width: 350px;
|
||||
width: 80%;
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
margin-top: 1vh;
|
||||
}
|
||||
|
||||
#flag-overlay.closing {
|
||||
transition: opacity 0.5s;
|
||||
}
|
||||
|
||||
#flag-overlay.closing iframe {
|
||||
#flag-iframe.closing {
|
||||
transition: margin 1s ease, width 1s ease, height 1s ease;
|
||||
width: 350px;
|
||||
height: 170px;
|
||||
|
||||
35
flag.js
35
flag.js
@@ -14,24 +14,34 @@
|
||||
|
||||
var closeFlag = function(ev) {
|
||||
flag.classList.add('closing');
|
||||
iframe.classList.add('closing');
|
||||
setTimeout(function() {
|
||||
flag.style.opacity = 0;
|
||||
iframe.style.opacity = 0;
|
||||
setTimeout(function() {
|
||||
flag.remove();
|
||||
iframe.remove();
|
||||
document.body.style.overflowY = 'auto';
|
||||
},500);
|
||||
},3000);
|
||||
},1000);
|
||||
}
|
||||
|
||||
var openFlag = function(ev) {
|
||||
var openFlag = function(ev, infos=false) {
|
||||
flag = document.createElement('div');
|
||||
document.body.style.overflowY = 'hidden';
|
||||
flag.id = 'flag-overlay';
|
||||
iframe = document.createElement('iframe');
|
||||
iframe.src= '';
|
||||
iframe.name = 'flag-iframe';
|
||||
flag.appendChild(iframe);
|
||||
iframe.id = 'flag-iframe';
|
||||
document.body.appendChild(flag);
|
||||
setTimeout(function() {
|
||||
flag.addEventListener('click',function(){
|
||||
closeFlag();
|
||||
//console.log('close2');
|
||||
});
|
||||
},3000);
|
||||
document.body.appendChild(iframe);
|
||||
|
||||
var form = document.createElement('form');
|
||||
form.action = connector+"?style="+style;
|
||||
@@ -45,10 +55,25 @@
|
||||
});*/
|
||||
var fields = {};
|
||||
fields['s'] = window.location.hostname;
|
||||
var datas = document.querySelectorAll('[data-flaginfo]');
|
||||
if(datas) {
|
||||
for(var i=0; i<datas.length;i++) {
|
||||
console.log(datas[i].dataset['flaginfo']);
|
||||
var tmp = datas[i].dataset['flaginfo'];
|
||||
tmp = tmp.split(':',2);
|
||||
fields[tmp[0]] = tmp[1];
|
||||
}
|
||||
}
|
||||
if(document.referrer) {fields['r'] = document.referrer;}
|
||||
if(window.location.href) {fields['u'] = window.location.href;}
|
||||
if(navigator.userAgent) {fields['a'] = navigator.userAgent;}
|
||||
fields['d'] = ''+window.screen.width+'x'+window.screen.height+' ('+window.screen.colorDepth+'bit)';
|
||||
if(infos && typeof(infos) == typeof({})) {
|
||||
for(var i in infos) {
|
||||
fields[i] = infos[i];
|
||||
}
|
||||
}
|
||||
console.log('Fields',fields);
|
||||
|
||||
for(var f in fields) {
|
||||
var inp = document.createElement('input');
|
||||
@@ -61,6 +86,7 @@
|
||||
form.style = 'display:none';
|
||||
document.body.appendChild(form);
|
||||
form.submit();
|
||||
form.remove();
|
||||
}
|
||||
|
||||
var panel = document.createElement('div');
|
||||
@@ -83,6 +109,7 @@
|
||||
window.addEventListener("message", (event) => {
|
||||
//console.log(event);
|
||||
if(event.data == 'close') {
|
||||
//console.log('close1');
|
||||
closeFlag();
|
||||
}
|
||||
});
|
||||
@@ -92,7 +119,7 @@
|
||||
for(var l=0;l<links.length;l++) {
|
||||
//console.log(l,links[l]);
|
||||
links[l].addEventListener('click',function(ev) {
|
||||
openFlag(ev);
|
||||
openFlag(ev,ev.target.dataset);
|
||||
ev.preventDefault();
|
||||
return false;
|
||||
});
|
||||
|
||||
2
flag.min.css
vendored
2
flag.min.css
vendored
@@ -1 +1 @@
|
||||
#flag-panel{position:fixed;bottom:0;right:0;width:150px;border:1px solid #fff;border-top-left-radius:15px;border-bottom-left-radius:15px;margin-right:-130px}#flag-panel.open{margin-right:0!important}#flag-panel.opened{transition:margin-right 1s}#flag-panel span{margin-right:10px;margin-left:5px}#flag-overlay{position:fixed;width:100%;height:100vh;top:0;left:0;background-color:rgba(0,0,0,.5);z-index:9999}#flag-overlay iframe{width:80%;min-width:350px;margin:0 auto;margin-top:1vh;display:block;background-color:#fff;border:3px solid #000;border-radius:1em;overflow-y:scroll;height:97vh}#flag-overlay.closing{transition:opacity .5s}#flag-overlay.closing iframe{transition:margin 1s ease,width 1s ease,height 1s ease;width:350px;height:170px;margin-top:calc(50vh - 50px);overflow:hidden}
|
||||
#flag-panel{position:fixed;bottom:0;right:0;width:170px;border:1px solid #fff;border-top-left-radius:15px;border-bottom-left-radius:15px;margin-right:-145px;z-index:99999}@media (max-width:1081px){#flag-panel{border:10px solid #fff;border-top-left-radius:23px;border-bottom-left-radius:23px;margin-right:-135px}}#flag-panel.open{margin-right:0!important}#flag-panel.opened{transition:margin-right 1s}#flag-panel span{margin-right:10px;margin-left:5px}#flag-overlay{position:fixed;width:100%;height:100vh;top:0;left:0;background-color:rgba(0,0,0,.5);z-index:9999}#flag-iframe{position:fixed;top:0;left:50%;transform:translateX(-50%);z-index:10000;background-color:#000;border:3px solid #fff;border-radius:1em;overflow-y:scroll;height:97vh;min-width:350px;width:80%;display:block;margin:1vh auto 0}#flag-overlay.closing{transition:opacity .5s}#flag-iframe.closing{transition:margin 1s,width 1s,height 1s;width:350px;height:170px;margin-top:calc(50vh - 50px);overflow:hidden}
|
||||
2
flag.min.js
vendored
2
flag.min.js
vendored
@@ -1,2 +1,2 @@
|
||||
!function(connector){"use strict";var style="default",iframe,flag;document.body.dataset.feedbackstyle&&(style=document.body.dataset.feedbackstyle);var col="light",closeFlag=function(ev){flag.classList.add("closing"),setTimeout((function(){flag.style.opacity=0,setTimeout((function(){flag.remove(),document.body.style.overflowY="auto"}),500)}),3e3)},openFlag=function(ev){flag=document.createElement("div"),document.body.style.overflowY="hidden",flag.id="flag-overlay",(iframe=document.createElement("iframe")).src="",iframe.name="flag-iframe",flag.appendChild(iframe),document.body.appendChild(flag);var form=document.createElement("form");form.action=connector+"?style="+style,form.target="flag-iframe",form.method="POST";const screenshotTarget=document.body;var fields={};for(var f in fields.s=window.location.hostname,document.referrer&&(fields.r=document.referrer),window.location.href&&(fields.u=window.location.href),navigator.userAgent&&(fields.a=navigator.userAgent),fields.d=window.screen.width+"x"+window.screen.height+" ("+window.screen.colorDepth+"bit)",fields){var inp=document.createElement("input");inp.type="hidden",inp.name=f,inp.value=fields[f],form.appendChild(inp)}form.style="display:none",document.body.appendChild(form),form.submit()},panel=document.createElement("div");panel.id="flag-panel";var tab=document.createElement("span");tab.innerHTML="⚑",tab.addEventListener("mouseenter",(function(ev){panel.classList.contains("opened")||panel.classList.add("opened"),panel.classList.toggle("open")}));var button=document.createElement("button");button.innerHTML="Problem melden",button.addEventListener("click",openFlag),window.addEventListener("message",event=>{"close"==event.data&&closeFlag()});var links=document.getElementsByClassName("flag-link");if(links.length>0)for(var l=0;l<links.length;l++)links[l].addEventListener("click",(function(ev){return openFlag(ev),ev.preventDefault(),!1}));panel.appendChild(tab),panel.appendChild(button),document.body.appendChild(panel)}("https://troy-grunt.de/feedback");
|
||||
!function(connector){"use strict";var style="default",iframe,flag;document.body.dataset.feedbackstyle&&(style=document.body.dataset.feedbackstyle);var col="light",closeFlag=function(ev){flag.classList.add("closing"),iframe.classList.add("closing"),setTimeout((function(){flag.style.opacity=0,iframe.style.opacity=0,setTimeout((function(){flag.remove(),iframe.remove(),document.body.style.overflowY="auto"}),500)}),1e3)},openFlag=function(ev,infos=!1){flag=document.createElement("div"),document.body.style.overflowY="hidden",flag.id="flag-overlay",(iframe=document.createElement("iframe")).src="",iframe.name="flag-iframe",iframe.id="flag-iframe",document.body.appendChild(flag),setTimeout((function(){flag.addEventListener("click",(function(){closeFlag()}))}),3e3),document.body.appendChild(iframe);var form=document.createElement("form");form.action=connector+"?style="+style,form.target="flag-iframe",form.method="POST";const screenshotTarget=document.body;var fields={};fields.s=window.location.hostname;var datas=document.querySelectorAll("[data-flaginfo]");if(datas)for(var i=0;i<datas.length;i++){console.log(datas[i].dataset.flaginfo);var tmp=datas[i].dataset.flaginfo;fields[(tmp=tmp.split(":",2))[0]]=tmp[1]}if(document.referrer&&(fields.r=document.referrer),window.location.href&&(fields.u=window.location.href),navigator.userAgent&&(fields.a=navigator.userAgent),fields.d=window.screen.width+"x"+window.screen.height+" ("+window.screen.colorDepth+"bit)",infos&&typeof infos==typeof{})for(var i in infos)fields[i]=infos[i];for(var f in console.log("Fields",fields),fields){var inp=document.createElement("input");inp.type="hidden",inp.name=f,inp.value=fields[f],form.appendChild(inp)}form.style="display:none",document.body.appendChild(form),form.submit(),form.remove()},panel=document.createElement("div");panel.id="flag-panel";var tab=document.createElement("span");tab.innerHTML="⚑",tab.addEventListener("mouseenter",(function(ev){panel.classList.contains("opened")||panel.classList.add("opened"),panel.classList.toggle("open")}));var button=document.createElement("button");button.innerHTML="Problem melden",button.addEventListener("click",openFlag),window.addEventListener("message",event=>{"close"==event.data&&closeFlag()});var links=document.getElementsByClassName("flag-link");if(links.length>0)for(var l=0;l<links.length;l++)links[l].addEventListener("click",(function(ev){return openFlag(ev,ev.target.dataset),ev.preventDefault(),!1}));panel.appendChild(tab),panel.appendChild(button),document.body.appendChild(panel)}("https://troy-grunt.de/feedback");
|
||||
//# sourceMappingURL=flag.min.js.map
|
||||
@@ -22,21 +22,30 @@
|
||||
"remove",
|
||||
"overflowY",
|
||||
"openFlag",
|
||||
"infos",
|
||||
"createElement",
|
||||
"id",
|
||||
"src",
|
||||
"name",
|
||||
"appendChild",
|
||||
"addEventListener",
|
||||
"form",
|
||||
"action",
|
||||
"target",
|
||||
"method",
|
||||
"screenshotTarget",
|
||||
"fields",
|
||||
"f",
|
||||
"window",
|
||||
"location",
|
||||
"hostname",
|
||||
"datas",
|
||||
"querySelectorAll",
|
||||
"i",
|
||||
"length",
|
||||
"console",
|
||||
"log",
|
||||
"tmp",
|
||||
"split",
|
||||
"referrer",
|
||||
"href",
|
||||
"navigator",
|
||||
@@ -45,6 +54,7 @@
|
||||
"width",
|
||||
"height",
|
||||
"colorDepth",
|
||||
"f",
|
||||
"inp",
|
||||
"type",
|
||||
"value",
|
||||
@@ -52,7 +62,6 @@
|
||||
"panel",
|
||||
"tab",
|
||||
"innerHTML",
|
||||
"addEventListener",
|
||||
"contains",
|
||||
"toggle",
|
||||
"button",
|
||||
@@ -60,10 +69,9 @@
|
||||
"data",
|
||||
"links",
|
||||
"getElementsByClassName",
|
||||
"length",
|
||||
"l",
|
||||
"preventDefault"
|
||||
],
|
||||
"mappings": "CAAA,SAAUA,WACR,aAEA,IAAIC,MAAQ,UAKRC,OACAC,KALDC,SAASC,KAAKC,QAAQC,gBACvBN,MAAQG,SAASC,KAAKC,QAAQC,eAKhC,IAAIC,IAAM,QAINC,UAAY,SAASC,IACvBP,KAAKQ,UAAUC,IAAI,WACnBC,YAAW,WACTV,KAAKF,MAAMa,QAAU,EACrBD,YAAW,WACTV,KAAKY,SACLX,SAASC,KAAKJ,MAAMe,UAAY,SAChC,OACF,MAGAC,SAAW,SAASP,IACtBP,KAAOC,SAASc,cAAc,OAC9Bd,SAASC,KAAKJ,MAAMe,UAAY,SAChCb,KAAKgB,GAAK,gBACVjB,OAASE,SAASc,cAAc,WACzBE,IAAK,GACZlB,OAAOmB,KAAO,cACdlB,KAAKmB,YAAYpB,QACjBE,SAASC,KAAKiB,YAAYnB,MAE1B,IAAIoB,KAAOnB,SAASc,cAAc,QAClCK,KAAKC,OAASxB,UAAU,UAAUC,MAClCsB,KAAKE,OAAS,cACdF,KAAKG,OAAS,OACd,MAAMC,iBAAmBvB,SAASC,KAMlC,IAAIuB,OAAS,GAOb,IAAI,IAAIC,KANRD,OAAU,EAAIE,OAAOC,SAASC,SAC3B5B,SAAS6B,WAAWL,OAAU,EAAIxB,SAAS6B,UAC3CH,OAAOC,SAASG,OAAON,OAAU,EAAIE,OAAOC,SAASG,MACrDC,UAAUC,YAAYR,OAAU,EAAIO,UAAUC,WACjDR,OAAU,EAAOE,OAAOO,OAAOC,MAAM,IAAIR,OAAOO,OAAOE,OAAO,KAAKT,OAAOO,OAAOG,WAAW,OAE/EZ,OAAQ,CACnB,IAAIa,IAAMrC,SAASc,cAAc,SACjCuB,IAAIC,KAAO,SACXD,IAAIpB,KAAOQ,EACXY,IAAIE,MAAQf,OAAOC,GACnBN,KAAKD,YAAYmB,KAGnBlB,KAAKtB,MAAQ,eACbG,SAASC,KAAKiB,YAAYC,MAC1BA,KAAKqB,UAGHC,MAAQzC,SAASc,cAAc,OACnC2B,MAAM1B,GAAK,aAEX,IAAI2B,IAAM1C,SAASc,cAAc,QACjC4B,IAAIC,UAAY,UAChBD,IAAIE,iBAAiB,cAAa,SAAStC,IACrCmC,MAAMlC,UAAUsC,SAAS,WAC3BJ,MAAMlC,UAAUC,IAAI,UAEtBiC,MAAMlC,UAAUuC,OAAO,WAGzB,IAAIC,OAAS/C,SAASc,cAAc,UAEpCiC,OAAOJ,UAAY,iBACnBI,OAAOH,iBAAiB,QAAQ/B,UAEhCa,OAAOkB,iBAAiB,UAAYI,QAEjB,SAAdA,MAAMC,MACP5C,cAIJ,IAAI6C,MAAQlD,SAASmD,uBAAuB,aAC5C,GAAGD,MAAME,OAAS,EAChB,IAAI,IAAIC,EAAE,EAAEA,EAAEH,MAAME,OAAOC,IAEzBH,MAAMG,GAAGT,iBAAiB,SAAQ,SAAStC,IAGzC,OAFAO,SAASP,IACTA,GAAGgD,kBACI,KAKbb,MAAMvB,YAAYwB,KAClBD,MAAMvB,YAAY6B,QAElB/C,SAASC,KAAKiB,YAAYuB,OAxG5B,CAyGG",
|
||||
"mappings": "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",
|
||||
"file": "flag.js"
|
||||
}
|
||||
46
frontlog.css
Normal file
46
frontlog.css
Normal file
@@ -0,0 +1,46 @@
|
||||
frontlog {
|
||||
position: fixed;
|
||||
min-width: 200px;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
flogelem {
|
||||
display:block;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-radius: 8px;
|
||||
overflow: hidden;
|
||||
max-height: 0;
|
||||
margin-bottom: 0;
|
||||
padding: 0;
|
||||
opacity: 0;
|
||||
position: relative;
|
||||
bottom: 0;
|
||||
-webkit-transition: max-height 3s, margin-bottom 3s, padding 3s,opacity 3s, bottom 3s;
|
||||
-moz-transition: max-height 3s, margin-bottom 3s, padding 3s,opacity 3s, bottom 3s;
|
||||
transition: max-height 3s, margin-bottom 3s, padding 3s,opacity 3s, bottom 3s;
|
||||
}
|
||||
|
||||
.flshow {
|
||||
max-height: 200px!important;
|
||||
margin-bottom: 1em;
|
||||
padding: 4px;
|
||||
opacity: 1;
|
||||
}
|
||||
.flvanish {
|
||||
position: relative;
|
||||
bottom: 3em;
|
||||
max-height: 0 !important;
|
||||
opacity: 0 !important;
|
||||
}
|
||||
|
||||
fltitle {
|
||||
display: block;
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
flogelem img {
|
||||
float: left;
|
||||
width: 25px;
|
||||
}
|
||||
68
frontlog.js
Normal file
68
frontlog.js
Normal file
@@ -0,0 +1,68 @@
|
||||
let frontlogList = [];
|
||||
let frontlogMaxEl = document.body.dataset['frontlog']||3;
|
||||
let frontlog = document.createElement('frontlog');
|
||||
document.body.appendChild(frontlog);
|
||||
|
||||
let frontlogVanish = function(elem) {
|
||||
elem.classList.add('flvanish');
|
||||
setTimeout(function() {
|
||||
elem.remove();
|
||||
let elems = document.getElementsByTagName('flogelem');
|
||||
if(elems.length < frontlogMaxEl && frontlogList.length) {
|
||||
let p = frontlogList.shift();
|
||||
frontlogPipe(p.title,p.icon,p.msg,p.col,p.time);
|
||||
}
|
||||
},3100);
|
||||
}
|
||||
|
||||
let frontlogAdd = function(title,icon,msg,col,time) {
|
||||
let elems = document.getElementsByTagName('flogelem');
|
||||
if(elems.length < frontlogMaxEl) {
|
||||
frontlogPipe(title,icon,msg,col,time);
|
||||
}else{
|
||||
let pElem = {"title":title,"icon":icon,"msg":msg,"col":col,"time":time};
|
||||
frontlogList.push(pElem);
|
||||
}
|
||||
}
|
||||
|
||||
let frontlogPipe = function(title,icon,msg,col, time) {
|
||||
let elem = document.createElement('flogelem');
|
||||
{
|
||||
let elemid = 'fl_';
|
||||
{
|
||||
let ch = 'abcdefghijklmnopqrstuvwxyz0123456789';
|
||||
let chl = ch.length;
|
||||
for ( let i = 0; i < 16; i++ ) {
|
||||
elemid += ch.charAt(Math.floor(Math.random() * chl));
|
||||
}
|
||||
}
|
||||
elem.id = elemid;
|
||||
let flicon = document.createElement('img');
|
||||
flicon.src = icon;
|
||||
elem.appendChild(flicon);
|
||||
|
||||
let fltitle = document.createElement('fltitle');
|
||||
fltitle.innerText = title;
|
||||
elem.appendChild(fltitle);
|
||||
|
||||
let flmsg = document.createElement('flmsg');
|
||||
flmsg.innerText = msg;
|
||||
elem.appendChild(flmsg);
|
||||
}
|
||||
|
||||
elem.style = 'border-color: '+col+';';
|
||||
elem.addEventListener('click',function(ev){
|
||||
let tg = ev.target;
|
||||
if(tg.tagName.toLowerCase() != 'flogelem') {
|
||||
tg = ev.target.parentNode;
|
||||
}
|
||||
frontlogVanish(tg);
|
||||
});
|
||||
setTimeout(function(){
|
||||
frontlogVanish(elem);
|
||||
},time*1000)
|
||||
frontlog.appendChild(elem);
|
||||
setTimeout(function(){
|
||||
elem.classList.add('flshow');
|
||||
},10);
|
||||
}
|
||||
180
html2canvas.js
180
html2canvas.js
@@ -9,94 +9,94 @@
|
||||
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.html2canvas = factory());
|
||||
}(this, (function () { 'use strict';
|
||||
|
||||
/*! *****************************************************************************
|
||||
Copyright (c) Microsoft Corporation.
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
***************************************************************************** */
|
||||
/* global Reflect, Promise */
|
||||
|
||||
var extendStatics = function(d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
|
||||
function __extends(d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
}
|
||||
|
||||
var __assign = function() {
|
||||
__assign = Object.assign || function __assign(t) {
|
||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||||
s = arguments[i];
|
||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
||||
}
|
||||
return t;
|
||||
};
|
||||
return __assign.apply(this, arguments);
|
||||
};
|
||||
|
||||
function __awaiter(thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
}
|
||||
|
||||
function __generator(thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
}
|
||||
|
||||
function __spreadArray(to, from, pack) {
|
||||
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
||||
if (ar || !(i in from)) {
|
||||
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
||||
ar[i] = from[i];
|
||||
}
|
||||
}
|
||||
return to.concat(ar || from);
|
||||
/*! *****************************************************************************
|
||||
Copyright (c) Microsoft Corporation.
|
||||
|
||||
Permission to use, copy, modify, and/or distribute this software for any
|
||||
purpose with or without fee is hereby granted.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||
PERFORMANCE OF THIS SOFTWARE.
|
||||
***************************************************************************** */
|
||||
/* global Reflect, Promise */
|
||||
|
||||
var extendStatics = function(d, b) {
|
||||
extendStatics = Object.setPrototypeOf ||
|
||||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
||||
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
|
||||
function __extends(d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
}
|
||||
|
||||
var __assign = function() {
|
||||
__assign = Object.assign || function __assign(t) {
|
||||
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
||||
s = arguments[i];
|
||||
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
|
||||
}
|
||||
return t;
|
||||
};
|
||||
return __assign.apply(this, arguments);
|
||||
};
|
||||
|
||||
function __awaiter(thisArg, _arguments, P, generator) {
|
||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||
return new (P || (P = Promise))(function (resolve, reject) {
|
||||
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
||||
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
||||
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||
});
|
||||
}
|
||||
|
||||
function __generator(thisArg, body) {
|
||||
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
||||
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
||||
function verb(n) { return function (v) { return step([n, v]); }; }
|
||||
function step(op) {
|
||||
if (f) throw new TypeError("Generator is already executing.");
|
||||
while (_) try {
|
||||
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
||||
if (y = 0, t) op = [op[0] & 2, t.value];
|
||||
switch (op[0]) {
|
||||
case 0: case 1: t = op; break;
|
||||
case 4: _.label++; return { value: op[1], done: false };
|
||||
case 5: _.label++; y = op[1]; op = [0]; continue;
|
||||
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
||||
default:
|
||||
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
||||
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
||||
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
||||
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
||||
if (t[2]) _.ops.pop();
|
||||
_.trys.pop(); continue;
|
||||
}
|
||||
op = body.call(thisArg, _);
|
||||
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
||||
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
||||
}
|
||||
}
|
||||
|
||||
function __spreadArray(to, from, pack) {
|
||||
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
||||
if (ar || !(i in from)) {
|
||||
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
||||
ar[i] = from[i];
|
||||
}
|
||||
}
|
||||
return to.concat(ar || from);
|
||||
}
|
||||
|
||||
var Bounds = /** @class */ (function () {
|
||||
@@ -701,7 +701,7 @@
|
||||
(next === NU || ([OP, HY].indexOf(next) !== -1 && classTypes[afterIndex + 1] === NU))) ||
|
||||
// ( OP | HY ) × NU
|
||||
([OP, HY].indexOf(current) !== -1 && next === NU) ||
|
||||
// NU × (NU | SY | IS)
|
||||
// NU × (NU | SY | IS)
|
||||
(current === NU && [NU, SY, IS].indexOf(next) !== -1)) {
|
||||
return BREAK_NOT_ALLOWED$1;
|
||||
}
|
||||
@@ -7010,7 +7010,7 @@
|
||||
case 4:
|
||||
_i++;
|
||||
return [3 /*break*/, 2];
|
||||
case 5:
|
||||
case 5:
|
||||
// 3. For all its in-flow, non-positioned, block-level descendants in tree order:
|
||||
return [4 /*yield*/, this.renderNodeContent(stack.element)];
|
||||
case 6:
|
||||
|
||||
21
html2canvas.min.js
vendored
Normal file
21
html2canvas.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1717
html2canvas.min.js.map
Normal file
1717
html2canvas.min.js.map
Normal file
File diff suppressed because one or more lines are too long
44
jquery-autoresize.js
vendored
44
jquery-autoresize.js
vendored
@@ -1,7 +1,7 @@
|
||||
(function($){
|
||||
|
||||
|
||||
$.fn.autoResize = function(options) {
|
||||
|
||||
|
||||
// Just some abstracted details,
|
||||
// to make plugin users happy:
|
||||
var settings = $.extend({
|
||||
@@ -12,28 +12,28 @@
|
||||
extraSpace : 20,
|
||||
limit: 1000
|
||||
}, options);
|
||||
|
||||
|
||||
// Only textarea's auto-resize:
|
||||
this.filter('textarea').each(function(){
|
||||
|
||||
|
||||
// Get rid of scrollbars and disable WebKit resizing:
|
||||
var textarea = $(this).css({resize:'none','overflow-y':'hidden'}),
|
||||
|
||||
|
||||
// Cache original height, for use later:
|
||||
origHeight = textarea.height(),
|
||||
|
||||
|
||||
// Need clone of textarea, hidden off screen:
|
||||
clone = (function(){
|
||||
|
||||
|
||||
// Properties which may effect space taken up by chracters:
|
||||
var props = ['height','width','lineHeight','textDecoration','letterSpacing'],
|
||||
propOb = {};
|
||||
|
||||
|
||||
// Create object of styles to apply:
|
||||
$.each(props, function(i, prop){
|
||||
propOb[prop] = textarea.css(prop);
|
||||
});
|
||||
|
||||
|
||||
// Clone the actual textarea removing unique properties
|
||||
// and insert before original textarea:
|
||||
return textarea.clone().removeAttr('id').removeAttr('name').css({
|
||||
@@ -41,22 +41,22 @@
|
||||
top: 0,
|
||||
left: -9999
|
||||
}).css(propOb).attr('tabIndex','-1').insertBefore(textarea);
|
||||
|
||||
|
||||
})(),
|
||||
lastScrollTop = null,
|
||||
updateSize = function() {
|
||||
|
||||
|
||||
// Prepare the clone:
|
||||
clone.height(0).val($(this).val()).scrollTop(10000);
|
||||
|
||||
|
||||
// Find the height of text:
|
||||
var scrollTop = Math.max(clone.scrollTop(), origHeight) + settings.extraSpace,
|
||||
toChange = $(this).add(clone);
|
||||
|
||||
|
||||
// Don't do anything if scrollTip hasen't changed:
|
||||
if (lastScrollTop === scrollTop) { return; }
|
||||
lastScrollTop = scrollTop;
|
||||
|
||||
|
||||
// Check for limit:
|
||||
if ( scrollTop >= settings.limit ) {
|
||||
$(this).css('overflow-y','');
|
||||
@@ -64,27 +64,27 @@
|
||||
}
|
||||
// Fire off callback:
|
||||
settings.onResize.call(this);
|
||||
|
||||
|
||||
// Either animate or directly apply height:
|
||||
settings.animate && textarea.css('display') === 'block' ?
|
||||
toChange.stop().animate({height:scrollTop}, settings.animateDuration, settings.animateCallback)
|
||||
: toChange.height(scrollTop);
|
||||
};
|
||||
|
||||
|
||||
// Bind namespaced handlers to appropriate events:
|
||||
textarea
|
||||
.unbind('.dynSiz')
|
||||
.bind('keyup.dynSiz', updateSize)
|
||||
.bind('keydown.dynSiz', updateSize)
|
||||
.bind('change.dynSiz', updateSize);
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
// Chain:
|
||||
return this;
|
||||
|
||||
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
})(jQuery);
|
||||
12
parallax.css
12
parallax.css
@@ -1,8 +1,8 @@
|
||||
.parallax{
|
||||
height: 600px;
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: fixed;
|
||||
background-size: cover;
|
||||
background-position: 100% auto;
|
||||
position:relative;
|
||||
height: 600px;
|
||||
background-repeat: no-repeat;
|
||||
background-attachment: fixed;
|
||||
background-size: cover;
|
||||
background-position: 100% auto;
|
||||
position:relative;
|
||||
}
|
||||
@@ -12,7 +12,7 @@ input.switch[type="checkbox"] + label {
|
||||
float: left;
|
||||
margin-right: 5px;
|
||||
transition: background-color 0.5s linear;
|
||||
margin-top: 15px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
input.switch[type="checkbox"] + label:hover {
|
||||
cursor: pointer;
|
||||
|
||||
2
switch.min.css
vendored
2
switch.min.css
vendored
@@ -1 +1 @@
|
||||
input.switch[type=checkbox]{display:none}input.switch[type=checkbox]+label{width:60px;height:30px;border-radius:30px;border:2px solid #ddd;background-color:#eee;display:inline-block;content:"";float:left;margin-right:5px;transition:background-color .5s linear;margin-top:15px}input.switch[type=checkbox]+label:hover{cursor:pointer}input.switch[type=checkbox]+label::before{width:30px;height:30px;border-radius:30px;background-color:#fff;display:block;content:"";float:left;margin-right:5px;transition:margin .1s linear;box-shadow:0 0 5px #aaa}input.switch[type=checkbox]:checked+label{background-color:#2b8718}input.switch[type=checkbox]:checked+label::before{margin:0 0 0 30px}
|
||||
input.switch[type=checkbox]{display:none}input.switch[type=checkbox]+label{width:60px;height:30px;border-radius:30px;border:2px solid #ddd;background-color:#eee;display:inline-block;content:"";float:left;margin-right:5px;transition:background-color .5s linear;margin-bottom:15px}input.switch[type=checkbox]+label:hover{cursor:pointer}input.switch[type=checkbox]+label::before{width:30px;height:30px;border-radius:30px;background-color:#fff;display:block;content:"";float:left;margin-right:5px;transition:margin .1s linear;box-shadow:0 0 5px #aaa}input.switch[type=checkbox]:checked+label{background-color:#2b8718}input.switch[type=checkbox]:checked+label::before{margin:0 0 0 30px}
|
||||
Reference in New Issue
Block a user