Merge remote-tracking branch 'origin/develop'
|
@ -1,4 +1,4 @@
|
|||
## Please note the following tips
|
||||
## Please read this text carefully(!)
|
||||
|
||||
* Only Firefox: Does the website work after you activate the HTML filter?
|
||||
|
||||
|
@ -6,9 +6,11 @@
|
|||
|
||||
* For the most common problems and solutions I have created an online tool. Please test the broken website there: https://www.localcdn.org/test/check
|
||||
|
||||
### If none of the points apply
|
||||
* delete this template and describe the problem
|
||||
## If none of the points apply
|
||||
* write the URL in the title
|
||||
* one or two screenshots can be helpful
|
||||
|
||||
## Please delete this text(!)
|
||||
## and describe the problem
|
||||
|
||||
Thank you for your understanding
|
||||
|
|
|
@ -10,7 +10,7 @@ LocalCDN is a fork of Decentraleyes and a web browser extension that emulates Co
|
|||
* Removes integrity and crossorigin tags from embedded script and style elements to replace even more frameworks <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png">
|
||||
* Font Awesome <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png">
|
||||
* Google Material Icons <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png">
|
||||
* jQuery up to 3.5.1 <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
|
||||
* jQuery <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
|
||||
* Bootstrap CSS <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png">
|
||||
* Bootstrap JavaScript <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
|
||||
* AngularJS, AngularJS-Animate, AngularJS-Sanitize, AngularJS-Cookies and AngularJS-Touch <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
|
||||
|
@ -18,7 +18,7 @@ LocalCDN is a fork of Decentraleyes and a web browser extension that emulates Co
|
|||
* MathJax (minimal) <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
|
||||
* TinyMCE (without plugins) <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
|
||||
* Internal statistics about CDNs and frameworks (day, week, month, year) <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
|
||||
* Export/Import your config (day, week, month, year) <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
|
||||
* Export/Import your config <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
|
||||
* Prepared rules for uBlock Origin, uMatrix, AdGuard and NoScript <img width="15px" src="https://www.localcdn.org/img/icon-firefox-25.png"> <img width="15px" src="https://www.localcdn.org/img/icon-chrome-25.png">
|
||||
|
||||
> **Note:** LocalCDN is no silver bullet, but it does prevent a lot of websites from making you send these kinds of requests. Ultimately, you can make LocalCDN block requests for any missing CDN resources, too.
|
||||
|
|
120
THIRD_PARTY.txt
|
@ -131,7 +131,7 @@ https://cdn.embed.ly/player-0.1.0.min.js
|
|||
https://cdnjs.cloudflare.com/ajax/libs/1000hz-bootstrap-validator/0.11.9/validator.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/ajax-bootstrap-select/1.4.5/js/ajax-bootstrap-select.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/3.35.1/algoliasearch.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/4.14.1/algoliasearch.umd.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/algoliasearch/4.14.2/algoliasearch.umd.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/2.8.2/alpine.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/alpinejs/3.10.3/cdn.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/angucomplete-alt/3.0.0/angucomplete-alt.min.js
|
||||
|
@ -298,7 +298,7 @@ https://cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.22.0/bootstrap-vue.min.cs
|
|||
https://cdnjs.cloudflare.com/ajax/libs/bootstrap-vue/2.22.0/bootstrap-vue.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/bootswatch/3.4.0/flatly/bootstrap.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/bootswatch/4.6.1/flatly/bootstrap.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.1.3/flatly/bootstrap.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/bootswatch/5.2.0/flatly/bootstrap.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/bowser/1.9.4/bowser.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/bowser/2.11.0/bundled.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/bulma/0.9.4/css/bulma.min.css
|
||||
|
@ -404,12 +404,12 @@ https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/js/all.min.js
|
|||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-brands-400.woff2
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-regular-400.woff2
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/webfonts/fa-solid-900.woff2
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/all.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/css/v4-shims.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/js/all.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/webfonts/fa-brands-400.woff2
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/webfonts/fa-regular-400.woff2
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.1/webfonts/fa-solid-900.woff2
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/all.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/css/v4-shims.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/js/all.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/webfonts/fa-brands-400.woff2
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/webfonts/fa-regular-400.woff2
|
||||
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.1.2/webfonts/fa-solid-900.woff2
|
||||
https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.2.0/css/fork-awesome.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/fork-awesome/1.2.0/fonts/forkawesome-webfont.woff2
|
||||
https://cdnjs.cloudflare.com/ajax/libs/foundation/5.5.3/css/foundation.min.css
|
||||
|
@ -1150,7 +1150,7 @@ https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.5/styles/zenburn.min.cs
|
|||
https://cdnjs.cloudflare.com/ajax/libs/history/4.10.1/history.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/history/5.3.0/history.production.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/hls.js/0.14.17/hls.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.1.5/hls.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/hls.js/1.2.0/hls.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/hogan.js/3.0.2/hogan.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/3.7.0/instantsearch.production.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/instantsearch.js/4.43.1/instantsearch.production.min.js
|
||||
|
@ -1228,7 +1228,7 @@ https://cdnjs.cloudflare.com/ajax/libs/jquery.tablesorter/2.31.3/js/jquery.table
|
|||
https://cdnjs.cloudflare.com/ajax/libs/jquery-timeago/1.6.7/jquery.timeago.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/jquery-tiny-pubsub/0.7.0/ba-tiny-pubsub.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.10.0/jquery-ui.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.13.2/jquery-ui.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.24/jquery-ui.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/jqueryui/1.8.24/themes/base/minified/jquery-ui.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/jquery-ujs/1.2.3/rails.min.js
|
||||
|
@ -1242,11 +1242,13 @@ https://cdnjs.cloudflare.com/ajax/libs/lazysizes/4.1.8/lazysizes.min.js
|
|||
https://cdnjs.cloudflare.com/ajax/libs/lazysizes/5.3.2/lazysizes.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/leaflet.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/leaflet/0.7.7/leaflet.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/leaflet.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.8.0/leaflet.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.8.0/leaflet.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/Leaflet.EasyButton/2.4.0/easy-button.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/leaflet.markercluster/1.5.3/leaflet.markercluster.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.10.9/libphonenumber-js.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/libphonenumber-js/1.10.11/libphonenumber-js.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/libsodium-wrappers/0.5.4/sodium.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/lightbox2/2.11.3/js/lightbox.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/lightcase/2.5.0/css/lightcase.min.css
|
||||
|
@ -1261,6 +1263,7 @@ https://cdnjs.cloudflare.com/ajax/libs/lightgallery/2.5.0/lightgallery.min.js
|
|||
https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/lozad.js/1.16.0/lozad.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/lunr.js/2.3.9/lunr.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/jquery.magnific-popup.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/magnific-popup.js/1.1.0/magnific-popup.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/markdown-it/13.0.1/markdown-it.min.js
|
||||
|
@ -1276,6 +1279,7 @@ https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS_CHTML.js
|
|||
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS_HTML-full.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-AMS-MML_HTMLorMML.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-MML-AM_CHTML.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/config/TeX-MML-AM_SVG.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/extensions/asciimath2jax.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/extensions/MathEvents.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/extensions/MathMenu.js
|
||||
|
@ -1343,8 +1347,8 @@ https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.20.0/css/mdb.min.css
|
|||
https://cdnjs.cloudflare.com/ajax/libs/mdbootstrap/4.20.0/js/mdb.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.11.0/mdb.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.11.0/mdb.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.3.0/mdb.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.3.0/mdb.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.4.0/mdb.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/4.4.0/mdb.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/Modaal/0.4.4/css/modaal.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/Modaal/0.4.4/js/modaal.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/modernizr/2.8.3/modernizr.min.js
|
||||
|
@ -1691,32 +1695,32 @@ https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/skins/ui/oxide/skin.shadow
|
|||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/themes/mobile/theme.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/themes/silver/theme.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/5.10.5/tinymce.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/icons/default/icons.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/models/dom/model.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/dark/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/default/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/document/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/tinymce-5/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/tinymce-5-dark/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/content/writer/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide/content.inline.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide-dark/content.inline.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide-dark/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide-dark/skin.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide-dark/skin.shadowdom.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide/skin.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/oxide/skin.shadowdom.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5/content.inline.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5-dark/content.inline.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5-dark/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5-dark/skin.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5-dark/skin.shadowdom.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5/skin.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/skins/ui/tinymce-5/skin.shadowdom.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/themes/silver/theme.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.0/tinymce.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/icons/default/icons.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/models/dom/model.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/dark/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/default/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/document/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/tinymce-5/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/tinymce-5-dark/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/content/writer/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide/content.inline.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide-dark/content.inline.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide-dark/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide-dark/skin.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide-dark/skin.shadowdom.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide/skin.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/oxide/skin.shadowdom.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5/content.inline.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5-dark/content.inline.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5-dark/content.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5-dark/skin.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5-dark/skin.shadowdom.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5/skin.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/skins/ui/tinymce-5/skin.shadowdom.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/themes/silver/theme.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tinymce/6.1.2/tinymce.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/toastr.js/2.1.4/toastr.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/tooltipster/3.3.0/js/jquery.tooltipster.min.js
|
||||
|
@ -1760,11 +1764,11 @@ https://cdnjs.cloudflare.com/ajax/libs/video.js/5.20.5/video-js.min.css
|
|||
https://cdnjs.cloudflare.com/ajax/libs/video.js/5.20.5/video.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/video.js/6.13.0/video-js.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/video.js/6.13.0/video.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/video.js/7.20.1/video-js.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/video.js/7.20.1/video.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/video.js/7.20.2/video-js.min.css
|
||||
https://cdnjs.cloudflare.com/ajax/libs/video.js/7.20.2/video.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/vue/3.2.37/vue.global.prod.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/8.27.2/vue-i18n.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/9.1.10/vue-i18n.cjs.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/9.2.2/vue-i18n.cjs.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/vuex/3.6.2/vuex.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/vuex/4.0.2/vuex.cjs.min.js
|
||||
https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js
|
||||
|
@ -1788,10 +1792,10 @@ https://cdn.jsdelivr.net/npm/anchor-js@3.2.2/anchor.min.js
|
|||
https://cdn.jsdelivr.net/npm/anchor-js@4.3.1/anchor.min.js
|
||||
https://cdn.jsdelivr.net/npm/angular-stripe-checkout@5.1.0/angular-stripe-checkout.min.js
|
||||
https://cdn.jsdelivr.net/npm/appboy-web-sdk@3.5.1/appboy.min.js
|
||||
https://cdn.jsdelivr.net/npm/chart.js@3.8.0/dist/chart.min.js
|
||||
https://cdn.jsdelivr.net/npm/docsify-themeable@0.8.6/dist/css/theme-defaults.css
|
||||
https://cdn.jsdelivr.net/npm/docsify-themeable@0.8.6/dist/css/theme-simple.css
|
||||
https://cdn.jsdelivr.net/npm/docsify-themeable@0.8.6/dist/css/theme-simple-dark.css
|
||||
https://cdn.jsdelivr.net/npm/chart.js@3.9.1/dist/chart.min.js
|
||||
https://cdn.jsdelivr.net/npm/docsify-themeable@0.9.0/dist/css/theme-defaults.css
|
||||
https://cdn.jsdelivr.net/npm/docsify-themeable@0.9.0/dist/css/theme-simple.css
|
||||
https://cdn.jsdelivr.net/npm/docsify-themeable@0.9.0/dist/css/theme-simple-dark.css
|
||||
https://cdn.jsdelivr.net/npm/ethjs@0.4.0/dist/ethjs.min.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/autocomplete.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@6.17.0/dist/bundle.js
|
||||
|
@ -1813,26 +1817,28 @@ https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/styles.css
|
|||
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~components~initializer.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~initializer.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@6.9.15/dist/vendors~sentry.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/autocomplete.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/bundle.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/initializer.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/polyfill.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/raw.css
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/recommendation.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/search.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/sentry.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.55/dist/styles.css
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/autocomplete.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/bundle.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/initializer.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/polyfill.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/raw.css
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/recommendation.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/search.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/sentry.js
|
||||
https://cdn.jsdelivr.net/npm/@findify/bundle@7.1.56/dist/styles.css
|
||||
https://cdn.jsdelivr.net/npm/instantsearch.css@7.4.5/themes/algolia-min.css
|
||||
https://cdn.jsdelivr.net/npm/leaflet.featuregroup.subgroup@1.0.2/dist/leaflet.featuregroup.subgroup.js
|
||||
https://cdn.jsdelivr.net/npm/ngx-bootstrap@6.2.0/datepicker/bs-datepicker.css
|
||||
https://cdn.jsdelivr.net/npm/ngx-bootstrap@7.1.2/datepicker/bs-datepicker.css
|
||||
https://cdn.jsdelivr.net/npm/ngx-bootstrap@8.0.0/datepicker/bs-datepicker.css
|
||||
https://cdn.jsdelivr.net/npm/ngx-bootstrap@9.0.0/datepicker/bs-datepicker.css
|
||||
https://cdn.jsdelivr.net/npm/object-assign@4.1.1/index.js
|
||||
https://cdn.jsdelivr.net/npm/p2p-media-loader-core@0.6.2/build/p2p-media-loader-core.min.js
|
||||
https://cdn.jsdelivr.net/npm/p2p-media-loader-hlsjs@0.6.2/build/p2p-media-loader-hlsjs.min.js
|
||||
https://cdn.jsdelivr.net/npm/plyr@3.7.2/dist/plyr.css
|
||||
https://cdn.jsdelivr.net/npm/plyr@3.7.2/dist/plyr.min.js
|
||||
https://cdn.jsdelivr.net/npm/raven-js@3.27.2/dist/raven.min.js
|
||||
https://cdn.jsdelivr.net/npm/react-intl@6.0.5/react-intl.iife.min.js
|
||||
https://cdn.jsdelivr.net/npm/react-lifecycles-compat@3.0.4/react-lifecycles-compat.min.js
|
||||
https://cdn.jsdelivr.net/npm/search-insights@1.8.0/dist/search-insights.min.js
|
||||
https://cdn.jsdelivr.net/npm/search-insights@2.2.1/dist/search-insights.min.js
|
||||
|
@ -1840,8 +1846,8 @@ https://cdn.jsdelivr.net/npm/swiper@6.8.4/swiper-bundle.min.css
|
|||
https://cdn.jsdelivr.net/npm/swiper@6.8.4/swiper-bundle.min.js
|
||||
https://cdn.jsdelivr.net/npm/swiper@7.4.1/swiper-bundle.min.css
|
||||
https://cdn.jsdelivr.net/npm/swiper@7.4.1/swiper-bundle.min.js
|
||||
https://cdn.jsdelivr.net/npm/swiper@8.3.1/swiper-bundle.min.css
|
||||
https://cdn.jsdelivr.net/npm/swiper@8.3.1/swiper-bundle.min.js
|
||||
https://cdn.jsdelivr.net/npm/swiper@8.3.2/swiper-bundle.min.css
|
||||
https://cdn.jsdelivr.net/npm/swiper@8.3.2/swiper-bundle.min.js
|
||||
https://cdn.jsdelivr.net/npm/urlize.js/urlize.js
|
||||
https://cdn.jsdelivr.net/npm/vanilla-lazyload@17.8.3/dist/lazyload.min.js
|
||||
https://cdn.jsdelivr.net/npm/videojs-seek-buttons@1.6.0/dist/videojs-seek-buttons.css
|
||||
|
|
|
@ -136,7 +136,7 @@
|
|||
"description": "Internal statistics"
|
||||
},
|
||||
"internalStatisticsDescription": {
|
||||
"message": "Эта функция находится в эеспериментальном состоянии. Данные не передаются. Все хранится только на вашем устройстве.",
|
||||
"message": "Эта функция находится в экспериментальном состоянии. Данные не передаются. Все хранится только на вашем устройстве.",
|
||||
"description": "No data transmission. It’s all local on your device."
|
||||
},
|
||||
"headerStatistics": {
|
||||
|
@ -408,7 +408,7 @@
|
|||
"description": "What will be synchronized when I select »sync« as storage type?"
|
||||
},
|
||||
"helpSyncDescription": {
|
||||
"message": "Синхронизация будет работать только в том случае, если вы вошли в систему с учетной записью Firefox на устройстве и разрешили синхронизацию расширений в настройках. Также будет работать отдельный сервер синхронизации под вашим контролем. Это синхронизирует большинство настроек LocalCDN на всех устройствах.",
|
||||
"message": "Синхронизация будет работать только в том случае, если вы вошли в учетную запись Firefox на устройстве и разрешили синхронизацию расширений в настройках. Также будет работать отдельный сервер синхронизации под вашим контролем. Это синхронизирует большинство настроек LocalCDN на всех устройствах.",
|
||||
"description": "Sync will only work if you are logged in with a Firefox account on the device and have allowed add-ons to sync in the settings. A separate sync server under your control will also work. This will synchronize most of the settings of LocalCDN across all devices."
|
||||
},
|
||||
"helpSyncAccount": {
|
||||
|
|
|
@ -104,7 +104,7 @@
|
|||
"description": "Enable this option to always apply the HTML filter. The domains in the list will be ignored then. If this option is disabled, the HTML filter is only applied to domains in the list."
|
||||
},
|
||||
"negateHtmlFilterListWarning": {
|
||||
"message": "Ця функція може зламати веб-сайти. Будь ласка, зверніть увагу на інформацію у вікі-сторінці.",
|
||||
"message": "Ця функція може зламати веб-сайти. Будь ласка, примічайте інформацію у вікі-сторінці.",
|
||||
"description": "This function can break websites. Please note the information on the Wiki page."
|
||||
},
|
||||
"htmlFilterDomainsTitleExclude": {
|
||||
|
@ -400,7 +400,7 @@
|
|||
"description": "How do I know that‘s true?"
|
||||
},
|
||||
"helpStatisticsTruthDescription": {
|
||||
"message": "Сховище розширень можна продивитися безпосередньо в браузері Firefox. Відкрийте URL-адресу \"about:debugging\", перейдіть на \"Сховище\" і оберіть \"Сховище розширень\". Під ключем \"internalStatisticsData\" ви знайдете всі зібрані дані. Скопіюйте їх та помістить в JSON PrettyPrinter для того, щоб зробити їх більш зрозумілими. Зверніть увагу, що ви повинні спочатку прибрати перші та останні лапки і ключ до неї. Ви побачите все ясно побачите на цьому відео.",
|
||||
"message": "Сховище розширень можна продивитися безпосередньо в браузері Firefox. Відкрийте URL-адресу \"about:debugging\", перейдіть на \"Сховище\" і оберіть \"Сховище розширень\". Під ключем \"internalStatisticsData\" ви знайдете всі зібрані дані. Скопіюйте їх та помістить в JSON PrettyPrinter для того, щоб зробити їх більш зрозумілими. Будь ласка, завбачте, що ви повинні спочатку прибрати перші та останні лапки і ключ до неї. Ви побачите все ясно побачите на цьому відео.",
|
||||
"description": "The extension storage can be viewed directly with the Firefox browser. Open the URL »about:debugging«, switch to »Storage« and select »Extension Storage«. Under the key »internalStatisticsData« you will find the collected data. Just copy it and put it into a JSON PrettyPrinter to make it more readable. Please note that you have to remove the first and last quotation mark and the key to it. You should be able to see this clearly in this video."
|
||||
},
|
||||
"helpSyncTitle": {
|
||||
|
|
|
@ -716,6 +716,8 @@ function create_url() {
|
|||
url="$CREATEJS/$version/createjs.min.js"
|
||||
elif [ "$folder" = "moment.js" ] && [ "$version" = "2.5.1" ];then
|
||||
url="$CLOUDFLARE/$folder/$version/moment-with-langs.min.js"
|
||||
elif [ "$folder" = "react-intl" ]; then
|
||||
url="$JSDELIVR/npm/react-intl@$version/react-intl.iife.min.js"
|
||||
# --------------------------------------------------------------------------
|
||||
else
|
||||
if [ "$subfile" = "$jfile" ]; then
|
||||
|
|
|
@ -262,7 +262,7 @@ const Regex = {
|
|||
'FONT_AWESOME_WITH_CODE': /use\.fontawesome\.com\/[a-z0-9]{10}\.(js|css)/,
|
||||
'FONT_AWESOME_FONTS_ONLY': /\/font-?awesome\/(?:\d{1,2}\.){1,3}\d{1,2}\/fonts\//,
|
||||
'BOOTSTRAP_FONTS_ONLY': /\/bootstrap\/(?:\d{1,2}\.){1,3}\d{1,2}\/fonts\//,
|
||||
'ROCKET_LOADER': /ajax\.cloudflare\.com\/cdn-cgi\/scripts\/[\d\w]{8}\/cloudflare-static\/rocket-loader\.min\.js/
|
||||
'ROCKET_LOADER': /ajax\.cloudflare\.com\/cdn-cgi\/scripts\/[a-zA-Z0-9]{8}\/cloudflare-static\/rocket-loader\.min\.js/
|
||||
};
|
||||
|
||||
const MaterialIcons = {
|
||||
|
@ -343,6 +343,7 @@ const MathJaxFiles = {
|
|||
'config/TeX-AMS_HTML-full.js': true,
|
||||
'config/TeX-AMS-MML_HTMLorMML.js': true,
|
||||
'config/TeX-MML-AM_CHTML.js': true,
|
||||
'config/TeX-MML-AM_SVG.js': true,
|
||||
'extensions/TeX/begingroup.js': true,
|
||||
'extensions/TeX/cancel.js': true,
|
||||
'extensions/TeX/color.js': true,
|
||||
|
|
|
@ -76,13 +76,6 @@ interceptor.handleRequest = function (requestDetails, tabIdentifier, tab) {
|
|||
'cancel': false
|
||||
};
|
||||
}
|
||||
} else if (!BrowserType.FIREFOX && (isGoogleFont || isGoogleMaterialIcons)) {
|
||||
initiatorDomain = helpers.extractDomainFromUrl(tab.url, true);
|
||||
isListed = helpers.checkAllowlisted(initiatorDomain, interceptor.allowedDomainsGoogleFonts);
|
||||
// Check if the website is allowed to load Google Fonts
|
||||
return {
|
||||
'cancel': interceptor.blockGoogleFonts === true && isListed === false
|
||||
};
|
||||
}
|
||||
|
||||
if (targetDetails['result'] === false) {
|
||||
|
|
|
@ -385,6 +385,7 @@ mappings.cdn = {
|
|||
'lightgallery/{version}/css/lightgallery.': resources.lightGalleryCSS,
|
||||
'lodash.js/{version}/lodash.': resources.lodashJS,
|
||||
'lozad.js/{version}/lozad.': resources.lozad,
|
||||
'lunr.js/{version}/lunr.': resources.lunrJS,
|
||||
'magnific-popup.js/{version}/jquery.magnific-popup.min.js': resources.magnificPopupJS,
|
||||
'magnific-popup.js/{version}/jquery.magnific-popup.js': resources.magnificPopupJS,
|
||||
'magnific-popup.js/{version}/magnific-popup.css': resources.magnificPopupCSS,
|
||||
|
@ -618,6 +619,7 @@ mappings.cdn = {
|
|||
'leaflet.featuregroup.subgroup@{version}/dist/leaflet.featuregroup.subgroup.': resources.leafletFeatureGroupSubGroup,
|
||||
'lodash@{version}/lodash.min.js': resources.lodashJS,
|
||||
'lozad': resources.lozad,
|
||||
'lunr@{version}/lunr.': resources.lunrJS,
|
||||
'npm-modernizr@{version}/modernizr.': resources.modernizr,
|
||||
'npm-modernizr@{version}/modernizr.min.': resources.modernizr,
|
||||
'markdown-it@{version}/dist/markdown-it.': resources.markdownIt,
|
||||
|
@ -642,6 +644,7 @@ mappings.cdn = {
|
|||
'purecss@{version}/build/': resources.pureCSS,
|
||||
'redux@{version}/dist/redux.': resources.redux,
|
||||
'react-dom@{version}/umd/react-dom.production.min.js': resources.reactDOM,
|
||||
'react-intl@{version}/react-intl.iife.': resources.reactIntl,
|
||||
'react@{version}/umd/react.production.min.js': resources.react,
|
||||
'search-insights@{version}/dist/search-insights.': resources.searchInsights,
|
||||
'select2@{version}/': resources.select2,
|
||||
|
@ -1169,6 +1172,14 @@ mappings.cdn['cdn.bootcdn.net'] = mappings.cdn['cdnjs.cloudflare.com'];
|
|||
// CDN for the "Block Google Fonts" option (see: https://codeberg.org/nobody/LocalCDN/issues/269)
|
||||
mappings.cdn['fonts.gstatic.com'] = mappings.cdn['fonts.googleapis.com'];
|
||||
|
||||
|
||||
// Remove Google Fonts Endpoints for Chromium browsers (https://codeberg.org/nobody/LocalCDN/issues/1085)
|
||||
if (!BrowserType.FIREFOX) {
|
||||
delete mappings.cdn['fonts.gstatic.com'];
|
||||
delete mappings.cdn['fonts.googleapis.com'];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* List of CNAME CDNs
|
||||
* https://codeberg.org/nobody/LocalCDN/issues/816
|
||||
|
|
|
@ -57,12 +57,6 @@ requestAnalyzer.isValidCandidate = function (requestDetails, tabDetails) {
|
|||
log.append(tabDetails.url, requestDetails.url, LogString.FONT_AWESOME, true);
|
||||
return false;
|
||||
}
|
||||
if (requestAnalyzer.isGoogleMaterialIcons(requestedDomain, requestDetails.url)) {
|
||||
// also valid for Google Material icons
|
||||
console.warn(`${LogString.PREFIX} ${LogString.GOOGLE_MATERIAL_ICONS}`);
|
||||
log.append(tabDetails.url, requestDetails.url, LogString.GOOGLE_MATERIAL_ICONS, true);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
// Ignore requests if website is 'yandex.com' and CDN is 'yastatic.net', because website and CDN are the same.
|
||||
|
@ -238,37 +232,61 @@ requestAnalyzer._findLocalTarget = function (resourceMappings, basePath, channel
|
|||
|
||||
requestAnalyzer._getPathOfBundle = function (initiator, channelHost, channelPath, targetPath, bundle) {
|
||||
let filename = channelPath.split('/').pop();
|
||||
|
||||
if (bundle === 'MathJax (Bundle)' && filename !== 'MathJax.js') {
|
||||
filename = channelPath.replace(Resource.MATHJAX, '');
|
||||
if (filename.startsWith('/npm/mathjax@3')) {
|
||||
filename = filename.replace('/npm/mathjax@3/', '');
|
||||
}
|
||||
if (filename === 'config/TeX-AMS_HTML.js') {
|
||||
filename = 'config/TeX-AMS_HTML-full.js';
|
||||
}
|
||||
if (!MathJaxFiles[filename] && !MathJax3Files[filename]) {
|
||||
console.warn(`${LogString.PREFIX} ${LogString.MISSING_RESOURCE} ${channelHost + channelPath}`);
|
||||
log.append(initiator, channelHost + channelPath, '-', true);
|
||||
return {
|
||||
'result': false,
|
||||
};
|
||||
}
|
||||
filename = requestAnalyzer._handleMathJax(filename, channelPath, channelHost, initiator);
|
||||
} else if (bundle === 'TinyMCE (Bundle)' && filename !== 'tinymce.min.js') {
|
||||
filename = requestAnalyzer._handleTinyMCE(filename, channelPath, channelHost, initiator);
|
||||
} else if (bundle === 'DataTables (Bundle)') {
|
||||
filename = requestAnalyzer._handleDataTables(filename);
|
||||
}
|
||||
if (bundle === 'TinyMCE (Bundle)' && filename !== 'tinymce.min.js') {
|
||||
filename = channelPath.replace(Resource.TINYMCE, '');
|
||||
if (filename.startsWith('plugins/')) {
|
||||
console.warn(`${LogString.PREFIX} ${LogString.MISSING_RESOURCE} ${channelHost + channelPath}`);
|
||||
log.append(initiator, channelHost + channelPath, '-', true);
|
||||
return {
|
||||
'result': false,
|
||||
};
|
||||
}
|
||||
|
||||
if (filename === false) {
|
||||
return {
|
||||
'result': false,
|
||||
};
|
||||
}
|
||||
|
||||
return helpers.formatFilename(filename.endsWith('.js')
|
||||
? `${targetPath + filename}m`
|
||||
: targetPath + filename);
|
||||
};
|
||||
|
||||
requestAnalyzer._handleMathJax = function (filename, channelPath, channelHost, initiator) {
|
||||
filename = channelPath.replace(Resource.MATHJAX, '');
|
||||
if (filename.startsWith('/npm/mathjax@3')) {
|
||||
filename = filename.replace('/npm/mathjax@3/', '');
|
||||
}
|
||||
if (filename === 'config/TeX-AMS_HTML.js') {
|
||||
filename = 'config/TeX-AMS_HTML-full.js';
|
||||
}
|
||||
if (!MathJaxFiles[filename] && !MathJax3Files[filename]) {
|
||||
console.warn(`${LogString.PREFIX} ${LogString.MISSING_RESOURCE} ${channelHost + channelPath}`);
|
||||
log.append(initiator, channelHost + channelPath, '-', true);
|
||||
return false;
|
||||
}
|
||||
return filename;
|
||||
};
|
||||
|
||||
requestAnalyzer._handleDataTables = function (filename) {
|
||||
if (!filename.endsWith('.min.js') && filename.endsWith('.js')) {
|
||||
return filename.replace('.js', '.min.js');
|
||||
} else if (!filename.endsWith('.min.css') && filename.endsWith('.css')) {
|
||||
return filename.replace('.css', '.min.css');
|
||||
}
|
||||
return filename;
|
||||
};
|
||||
|
||||
requestAnalyzer._handleTinyMCE = function (filename, channelPath, channelHost, initiator) {
|
||||
filename = channelPath.replace(Resource.TINYMCE, '');
|
||||
if (filename.startsWith('plugins/')) {
|
||||
console.warn(`${LogString.PREFIX} ${LogString.MISSING_RESOURCE} ${channelHost + channelPath}`);
|
||||
log.append(initiator, channelHost + channelPath, '-', true);
|
||||
return false;
|
||||
}
|
||||
return filename;
|
||||
};
|
||||
|
||||
requestAnalyzer._applyAllowlistedDomains = function () {
|
||||
storageManager.type.get(Setting.ALLOWLISTED_DOMAINS, function (items) {
|
||||
requestAnalyzer.allowlistedDomains = items.allowlistedDomains || {};
|
||||
|
|
|
@ -711,6 +711,10 @@ var resources = {
|
|||
'lozad': {
|
||||
'path': 'resources/lozad.js/{version}/lozad.min.jsm'
|
||||
},
|
||||
// lunr.js
|
||||
'lunrJS': {
|
||||
'path': 'resources/lunr.js/{version}/lunr.min.jsm'
|
||||
},
|
||||
// MathJax
|
||||
'mathJax': {
|
||||
'path': 'resources/mathjax/{version}/'
|
||||
|
@ -885,6 +889,10 @@ var resources = {
|
|||
'reactDOM': {
|
||||
'path': 'resources/react-dom/{version}/umd/react-dom.production.min.jsm'
|
||||
},
|
||||
// react-intl
|
||||
'reactIntl': {
|
||||
'path': 'resources/react-intl/{version}/react-intl.iife.min.jsm'
|
||||
},
|
||||
// react-lifecycles-compat
|
||||
'reactLifecyclesCompat': {
|
||||
'path': 'resources/react-lifecycles-compat/{version}/react-lifecycles-compat.min.jsm'
|
||||
|
|
|
@ -212,7 +212,7 @@ storageManager._validateDomainsAndStatistics = function (type, obj) {
|
|||
if (type === 'allowedDomainsGoogleFonts' || type === 'domainsManipulateDOM' || type === 'allowlistedDomains') {
|
||||
for (const [key, value] of Object.entries(obj)) {
|
||||
// eslint-disable-next-line no-useless-escape
|
||||
if ((/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,24}/.test(key) || key === '') && value === true) {
|
||||
if (((/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,24}/).test(key) || key === '') && value === true) {
|
||||
valid[key] = value;
|
||||
} else {
|
||||
alert(`${chrome.i18n.getMessage('dialogImportFailed')}: ${key}`);
|
||||
|
@ -221,7 +221,7 @@ storageManager._validateDomainsAndStatistics = function (type, obj) {
|
|||
}
|
||||
} else if (type === 'internalStatisticsData') {
|
||||
for (const [date, values] of Object.entries(obj)) {
|
||||
if (/((2[0-9])[0-9]{2})-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])/.test(date)) {
|
||||
if ((/((2\d)\d{2})-(0[1-9]|1[012])-(0[1-9]|[12]\d|3[01])/).test(date)) {
|
||||
for (const [types, category] of Object.entries(values)) {
|
||||
if (types === 'frameworks') {
|
||||
for (const [name, counter] of Object.entries(category)) {
|
||||
|
@ -258,9 +258,9 @@ storageManager._validateDomainsAndStatistics = function (type, obj) {
|
|||
};
|
||||
|
||||
storageManager._validateStrings = function (value) {
|
||||
if (/((2[0-9])[0-9]{2})-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])/.test(value)) {
|
||||
if ((/((2\d)\d{2})-(0[1-9]|1[012])-(0[1-9]|[12]\d|3[01])/).test(value)) {
|
||||
return value;
|
||||
} else if (/#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/.test(value)) {
|
||||
} else if ((/#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})/).test(value)) {
|
||||
return value;
|
||||
} else if (value === 'Default' || value === 'Light' || value === 'Grey') {
|
||||
return value;
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
{
|
||||
"manifest_version": 2,
|
||||
"name": "LocalCDN",
|
||||
"version": "2.6.31",
|
||||
"version": "2.6.32",
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "{b86e4813-687a-43e6-ab65-0bde4ab75758}",
|
||||
|
|
|
@ -38,6 +38,11 @@ ruleGenerator.openRuleSet = function ({target}) {
|
|||
textArea.style.display = 'block';
|
||||
btnCopy.style.display = 'block';
|
||||
|
||||
if (!BrowserType.FIREFOX) {
|
||||
delete urls['fonts.googleapis.com'];
|
||||
delete urls['fonts.gstatic.com'];
|
||||
}
|
||||
|
||||
for (const domain in urls) {
|
||||
if (key === 'uMatrix') {
|
||||
content += `* ${domain} script allow\n`;
|
||||
|
|
|
@ -80,7 +80,7 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/1000hz-bootstrap-validator/0.')) return '0.11.9';
|
||||
if (type.startsWith('/ajax-bootstrap-select/1.')) return '1.4.5';
|
||||
if (type.startsWith('/algoliasearch/3.')) return '3.35.1';
|
||||
if (type.startsWith('/algoliasearch/4.')) return '4.14.1';
|
||||
if (type.startsWith('/algoliasearch/4.')) return '4.14.2';
|
||||
if (type.startsWith('/alpinejs/2.')) return '2.8.2';
|
||||
if (type.startsWith('/alpinejs/3.')) return '3.10.3';
|
||||
if (type.startsWith('/anchor-js/3.')) return '3.2.2';
|
||||
|
@ -158,7 +158,7 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/bootstrap-3-typeahead/4.')) return '4.0.2';
|
||||
if (type.startsWith('/bootswatch/3.')) return '3.4.0';
|
||||
if (type.startsWith('/bootswatch/4.')) return '4.6.1';
|
||||
if (type.startsWith('/bootswatch/5.')) return '5.1.3';
|
||||
if (type.startsWith('/bootswatch/5.')) return '5.2.0';
|
||||
if (type.startsWith('/bowser/')) {
|
||||
if (version !== 'latest' && helpers.compareVersion('1.9.4', version)) return '1.9.4';
|
||||
return '2.11.0';
|
||||
|
@ -166,7 +166,7 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/bulma/0.')) return '0.9.4';
|
||||
if (type.startsWith('/bxslider/4.')) return '4.2.15';
|
||||
if (type.startsWith('/Chart.js/2.')) return '2.9.4';
|
||||
if (type.startsWith('/Chart.js/3.')) return '3.8.0';
|
||||
if (type.startsWith('/Chart.js/3.')) return '3.9.1';
|
||||
if (type.startsWith('/clappr/0.') || type.startsWith('/clappr/latest/')) return '0.4.7';
|
||||
if (type.startsWith('/chosen/1.')) return '1.8.7';
|
||||
if (type.startsWith('/clipboard.js/1.')) return '1.7.1';
|
||||
|
@ -185,7 +185,7 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/dexie/3.') || type.startsWith('/dexie/latest')) return '3.2.2';
|
||||
if (type.startsWith('/docsearch.js/2.')) return '2.6.3';
|
||||
if (type.startsWith('/docsify/4.') || type.startsWith('/docsify/')) return '4.12.2';
|
||||
if (type.startsWith('/docsify-themeable/0.')) return '0.8.6';
|
||||
if (type.startsWith('/docsify-themeable/0.')) return '0.9.0';
|
||||
if (type.startsWith('/drawer/3.')) return '3.2.2';
|
||||
if (type.startsWith('/dygraph/1.')) return '1.1.1';
|
||||
if (type.startsWith('/dygraph/2.')) return '2.1.0';
|
||||
|
@ -198,7 +198,7 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/findify')) {
|
||||
if (helpers.compareVersion('6.9.15', version)) return '6.9.15'; // <= 6.9.15
|
||||
if (helpers.compareVersion('6.17.0', version)) return '6.17.0'; // > 6.9.15 to <= 6.17.0
|
||||
return '7.1.55';
|
||||
return '7.1.56';
|
||||
}
|
||||
if (type.startsWith('/fancybox/2.')) return '2.1.7';
|
||||
if (type.startsWith('/fancybox/3.')) return '3.5.7';
|
||||
|
@ -209,7 +209,7 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/font-awesome/3.')) return '3.2.1';
|
||||
if (type.startsWith('/font-awesome/4.')) return '4.7.0';
|
||||
if (type.startsWith('/font-awesome/5.')) return '5.15.4';
|
||||
if (type.startsWith('/font-awesome/6.')) return '6.1.1';
|
||||
if (type.startsWith('/font-awesome/6.')) return '6.1.2';
|
||||
if (type.startsWith('/fork-awesome/1.')) return '1.2.0';
|
||||
if (type.startsWith('/foundation/5.')) return '5.5.3';
|
||||
if (type.startsWith('/foundation/6.')) return '6.7.5';
|
||||
|
@ -235,7 +235,7 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/history/4.')) return '4.10.1';
|
||||
if (type.startsWith('/history/5.')) return '5.3.0';
|
||||
if (type.startsWith('/hls.js/0.')) return '0.14.17';
|
||||
if (type.startsWith('/hls.js/1.')) return '1.1.5';
|
||||
if (type.startsWith('/hls.js/1.')) return '1.2.0';
|
||||
if (type.startsWith('/hogan.js/')) return '3.0.2';
|
||||
if (type.startsWith('/instantsearch.css/7.')) return '7.4.5';
|
||||
if (type.startsWith('/instantsearch.js/3.')) return '3.7.0';
|
||||
|
@ -261,7 +261,7 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/jqueryui/1.')) {
|
||||
if (helpers.compareVersion('1.8.24', version)) return '1.8.24'; // <= v1.8.24
|
||||
if (helpers.compareVersion('1.10.0', version)) return '1.10.0'; // > v1.8.24 to <= v1.10.0
|
||||
return '1.12.1'; // >= 1.8.19
|
||||
return '1.13.2'; // >= 1.8.19
|
||||
}
|
||||
if (type.startsWith('/jquery-ajax-unobtrusive/3.')) return '3.2.6';
|
||||
if (type.startsWith('/jquery.blockUI/2.')) return '2.70';
|
||||
|
@ -300,11 +300,14 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/lazysizes/4.')) return '4.1.8';
|
||||
if (type.startsWith('/lazysizes/5.')) return '5.3.2';
|
||||
if (type.startsWith('/leaflet/0.')) return '0.7.7';
|
||||
if (type.startsWith('/leaflet/1.')) return '1.8.0';
|
||||
if (type.startsWith('/leaflet/1.')) {
|
||||
if (helpers.compareVersion('1.7.1', version)) return '1.7.1'; // <= v1.7.1
|
||||
return '1.8.0';
|
||||
}
|
||||
if (type.startsWith('/Leaflet.EasyButton/2.')) return '2.4.0';
|
||||
if (type.startsWith('/leaflet.featuregroup.subgroup/1.')) return '1.0.2';
|
||||
if (type.startsWith('/leaflet.markercluster/1.')) return '1.5.3';
|
||||
if (type.startsWith('/libphonenumber-js/1.')) return '1.10.9';
|
||||
if (type.startsWith('/libphonenumber-js/1.')) return '1.10.11';
|
||||
if (type.startsWith('/libsodium-wrappers/0.')) return '0.5.4';
|
||||
if (type.startsWith('/lightbox2/2.')) return '2.11.3';
|
||||
if (type.startsWith('/lightcase/2.')) return '2.5.0';
|
||||
|
@ -313,6 +316,7 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/lodash.js/3.')) return '3.10.1';
|
||||
if (type.startsWith('/lodash.js/4.')) return '4.17.21';
|
||||
if (type.startsWith('/lozad')) return '1.16.0';
|
||||
if (type.startsWith('/lunr.js/2.')) return '2.3.9';
|
||||
if (type.startsWith('/magnific-popup.js/1.')) return '1.1.0';
|
||||
if (type.startsWith('/markdown-it/')) return '13.0.1';
|
||||
if (type.startsWith('/mdbootstrap/4.')) return '4.20.0';
|
||||
|
@ -328,7 +332,7 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/mathjax/2.') || type.startsWith('/mathjax/latest')) return '2.7.5';
|
||||
if (type.startsWith('/mathjax/3.')) return '3.2.2';
|
||||
if (type.startsWith('/mdb-ui-kit/3.')) return '3.11.0';
|
||||
if (type.startsWith('/mdb-ui-kit/4.')) return '4.3.0';
|
||||
if (type.startsWith('/mdb-ui-kit/4.')) return '4.4.0';
|
||||
if (type.startsWith('/mobile/1.')) return '1.4.5';
|
||||
if (type.startsWith('/Modaal/0.')) return '0.4.4';
|
||||
if (type.startsWith('/modernizr/2.')) return '2.8.3';
|
||||
|
@ -343,6 +347,7 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/ngx-bootstrap/6.')) return '6.2.0';
|
||||
if (type.startsWith('/ngx-bootstrap/7.')) return '7.1.2';
|
||||
if (type.startsWith('/ngx-bootstrap/8.')) return '8.0.0';
|
||||
if (type.startsWith('/ngx-bootstrap/9.')) return '9.0.0';
|
||||
if (type.startsWith('/noUiSlider/14.')) return '14.7.0';
|
||||
if (type.startsWith('/noUiSlider/15.')) return '15.6.0';
|
||||
if (type.startsWith('/nvd3/1.')) return '1.8.6';
|
||||
|
@ -372,6 +377,8 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/react-dom/16.')) return '16.14.0';
|
||||
if (type.startsWith('/react-dom/17.')) return '17.0.2';
|
||||
if (type.startsWith('/react-dom/18.')) return '18.2.0';
|
||||
if (type.startsWith('/react-intl/5.')) return '6.0.5';
|
||||
if (type.startsWith('/react-intl/6.')) return '6.0.5';
|
||||
if (type.startsWith('/react-redux/7.')) return '7.2.8';
|
||||
if (type.startsWith('/react-redux/8.')) return '8.0.2';
|
||||
if (type.startsWith('/react-router/5.')) return '5.3.3';
|
||||
|
@ -415,10 +422,10 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/Swiper/5.')) return '5.4.5';
|
||||
if (type.startsWith('/Swiper/6.')) return '6.8.4';
|
||||
if (type.startsWith('/Swiper/7.')) return '7.4.1';
|
||||
if (type.startsWith('/Swiper/8.') || type.startsWith('/Swiper/')) return '8.3.1';
|
||||
if (type.startsWith('/Swiper/8.') || type.startsWith('/Swiper/')) return '8.3.2';
|
||||
if (type.startsWith('/tether/1.')) return '1.4.7';
|
||||
if (type.startsWith('/tinymce/5.')) return '5.10.5';
|
||||
if (type.startsWith('/tinymce/6.')) return '6.1.0';
|
||||
if (type.startsWith('/tinymce/6.')) return '6.1.2';
|
||||
if (type.startsWith('/tooltipster/3.')) return '3.3.0';
|
||||
if (type.startsWith('/tooltipster/4.')) return '4.2.8';
|
||||
if (type.startsWith('/toastr.js/2.') || type.startsWith('/toastr.js/latest/')) return '2.1.4';
|
||||
|
@ -442,13 +449,13 @@ targets.setLastVersion = function (type, version) {
|
|||
if (type.startsWith('/video.js/')) {
|
||||
if (helpers.compareVersion('5.20.5', version)) return '5.20.5'; // <= 5.20.5
|
||||
if (helpers.compareVersion('6.13.0', version)) return '6.13.0'; // > 5.20.5 to <= 6.13.0
|
||||
return '7.20.1';
|
||||
return '7.20.2';
|
||||
}
|
||||
if (type.startsWith('/vue/1.')) return '1.0.28';
|
||||
if (type.startsWith('/vue/2.')) return '2.6.14';
|
||||
if (type.startsWith('/vue/3.')) return '3.2.37';
|
||||
if (type.startsWith('/vue-i18n/8.')) return '8.27.2';
|
||||
if (type.startsWith('/vue-i18n/9.')) return '9.1.10';
|
||||
if (type.startsWith('/vue-i18n/9.')) return '9.2.2';
|
||||
if (type.startsWith('/vue-match-media/1.')) return '1.0.3';
|
||||
if (type.startsWith('/vue-resource/1.')) return '1.5.3';
|
||||
if (type.startsWith('/vuex/3.')) return '3.6.2';
|
||||
|
@ -469,6 +476,8 @@ targets.determineResourceName = function (filename) {
|
|||
};
|
||||
|
||||
const ListOfFiles = {
|
||||
'react-intl.iife.min.jsm': 'react-intl',
|
||||
'lunr.min.jsm': 'lunr.js',
|
||||
'jquery.scrollTo.min.jsm': 'jQuery.scrollTo',
|
||||
'twix.min.jsm': 'twix.js',
|
||||
'angular-locale_en-us.min.jsm': 'angular-i18n',
|
||||
|
|
|
@ -59,6 +59,7 @@ optionsAdvanced.init = function (opt) {
|
|||
|
||||
if (BrowserType.CHROMIUM) {
|
||||
document.getElementById('html-filter-div').style.display = 'none';
|
||||
document.getElementById('block-google-fonts').style.display = 'none';
|
||||
}
|
||||
|
||||
document.getElementById('last-mapping-update').textContent += ` ${mappings.lastMappingUpdate}`;
|
||||
|
|
|
@ -310,7 +310,7 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="div-badge">
|
||||
<div id="div-html-badge" class="div-badge">
|
||||
<p class="title-option" data-i18n-content="titleBadgeHTMLFilter">HTML filter badge</p>
|
||||
<div id="html-badge-preview-top">
|
||||
<div>
|
||||
|
|
|
@ -44,6 +44,7 @@ options._renderContents = function () {
|
|||
|
||||
if (!BrowserType.FIREFOX) {
|
||||
document.getElementById('chromium-banner').style.display = 'block';
|
||||
document.getElementById('div-html-badge').style.display = 'none';
|
||||
}
|
||||
|
||||
document.getElementById('label-version').textContent = chrome.runtime.getManifest().version;
|
||||
|
|
|
@ -49,6 +49,7 @@ popup._renderContents = function () {
|
|||
|
||||
if (BrowserType.CHROMIUM) {
|
||||
document.getElementById('div-manipulateDOM').hidden = true;
|
||||
document.getElementById('div-google-fonts').hidden = true;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -434,8 +435,10 @@ popup._createVersionNode = function (versionRequested, versionDelivered) {
|
|||
let version = '';
|
||||
|
||||
if (versionRequested === undefined || versionDelivered === undefined) {
|
||||
version = '';
|
||||
} else if (versionRequested === versionDelivered && versionDelivered !== 'latest') {
|
||||
return version;
|
||||
}
|
||||
|
||||
if (versionRequested === versionDelivered && versionDelivered !== 'latest') {
|
||||
version = `v${versionRequested}`;
|
||||
} else if (versionRequested === versionDelivered) {
|
||||
version = `v${versionRequested}`;
|
||||
|
|
|
@ -27,42 +27,37 @@
|
|||
<div class="release-notes-area">
|
||||
<p>Updated</p>
|
||||
<ul>
|
||||
<li>findify-bundle v7.1.50 -> v7.1.55 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1055">#1055</a>)</li>
|
||||
<li>Swiper v8.3.0 -> v8.3.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1056">#1056</a>)</li>
|
||||
<li>foundation v6.7.4 -> v6.7.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1057">#1057</a>)</li>
|
||||
<li>mdb-ui-kit v4.2.0 -> v4.3.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1058">#1058</a>)</li>
|
||||
<li>highlight.js v11.5.1 -> v11.6.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1059">#1059</a>)</li>
|
||||
<li>bootstrap-icons v1.8.3 -> v1.9.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1060">#1060</a>)</li>
|
||||
<li>instantsearch.js v4.43.0 -> v4.43.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1061">#1061</a>)</li>
|
||||
<li>libphonenumber-js v1.10.7 -> v1.10.9 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1062">#1062</a>)</li>
|
||||
<li>algoliasearch v4.13.1 -> v4.14.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1064">#1064</a>)</li>
|
||||
<li>Google Material Icons v134 -> v135 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
|
||||
<li>Google Material Icons Outlined v106 -> v107 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
|
||||
<li>Google Material Icons Round v105 -> v106 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
|
||||
<li>Google Material Icons Sharp v106 -> v107 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
|
||||
<li>Google Material Icons TwoTone v109 -> v110 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
|
||||
<li>twitter-bootstrap v5.1.3 -> v5.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1066">#1066</a>)</li>
|
||||
<li>dayjs v1.11.3 -> v1.11.4 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1067">#1067</a>)</li>
|
||||
<li>vanilla-lazyload v17.8.2 -> v17.8.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1071">#1071</a>)</li>
|
||||
<li>alpinejs v3.10.2 -> v3.10.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1072">#1072</a>)</li>
|
||||
<li>p5.js v1.4.1 -> v1.4.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1073">#1073</a>)</li>
|
||||
<li>Chart.js v3.8.0 -> v3.9.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1075">#1075</a>)</li>
|
||||
<li>font-awesome v6.1.1 -> v6.1.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1080">#1080</a>)</li>
|
||||
<li>bootswatch v5.1.3 -> v5.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1081">#1081</a>)</li>
|
||||
<li>Swiper v8.3.1 -> v8.3.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1086">#1086</a>)</li>
|
||||
<li>tinymce v6.1.0 -> v6.1.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1087">#1087</a>)</li>
|
||||
<li>hls.js v1.1.5 -> v1.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1088">#1088</a>)</li>
|
||||
<li>libphonenumber-js v1.10.9 -> v1.10.11 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1089">#1089</a>)</li>
|
||||
<li>algoliasearch v4.14.1 -> v4.14.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1090">#1090</a>)</li>
|
||||
<li>docsify-themeable v0.8.6 -> v0.9.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1092">#1092</a>)</li>
|
||||
<li>video.js v7.20.1 -> v7.20.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1093">#1093</a>)</li>
|
||||
<li>jqueryui v1.12.1 -> v1.13.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1098">#1098</a>)</li>
|
||||
<li>mdb-ui-kit v4.3.0 -> v4.4.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1100">#1100</a>)</li>
|
||||
<li>vue-i18n v9.1.10 -> v9.2.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1101">#1101</a>)</li>
|
||||
<li>findify-bundle v7.1.55 -> v7.1.56 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1102">#1102</a>)</li>
|
||||
</ul>
|
||||
<p>Added</p>
|
||||
<ul>
|
||||
<li>jQuery Mobile CSS v1.4.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1063">#1063</a>)</li>
|
||||
<li>jQuery Mobile CSS & JS v1.3.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1063">#1063</a>)</li>
|
||||
<li>jQuery.scrollTo v2.1.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1070">#1070</a>)</li>
|
||||
<li>jquery-validation-unobtrusive v4.0.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1074">#1074</a>)</li>
|
||||
<li>lunr.js v2.3.9 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1077">#1077</a>)</li>
|
||||
<li>react-intl v6.0.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1078">#1078</a>)</li>
|
||||
<li>MathJax: TeX-MML-AM_SVG.js (<a href="https://codeberg.org/nobody/LocalCDN/issues/1091">#1091</a>)</li>
|
||||
<li>ngx-bootstrap v9.0.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1095">#1095</a>)</li>
|
||||
<li>leaflet v1.7.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1096">#1096</a>)</li>
|
||||
</ul>
|
||||
<p>Improved</p>
|
||||
<ul>
|
||||
<li>Custom block screen (<a href="https://codeberg.org/nobody/LocalCDN/issues/1050">#1050</a>)</li>
|
||||
<li>Banner for chromium based browser (<a href="https://codeberg.org/nobody/LocalCDN/issues/1068">#1068</a>)</li>
|
||||
<li>Chromium: Badge color for missing resources (<a href="https://codeberg.org/nobody/LocalCDN/issues/1031">#1031</a>)</li>
|
||||
<li>Chromium: Remove option to change badge color for HTML filter (<a href="https://codeberg.org/nobody/LocalCDN/issues/1082">#1082</a>)</li>
|
||||
<li>Chromium: Remove option to block Google Fonts (<a href="https://codeberg.org/nobody/LocalCDN/issues/1085">#1085</a>)</li>
|
||||
</ul>
|
||||
<p>Removed</p>
|
||||
<p>Mapping</p>
|
||||
<ul>
|
||||
<li>Dojo removed (<a href="https://codeberg.org/nobody/LocalCDN/issues/1054">#1054</a>)</li>
|
||||
<li>DataTables: Use minified JS & CSS files (<a href="https://codeberg.org/nobody/LocalCDN/issues/1094">#1094</a>)</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div id="generator-section">
|
||||
|
@ -101,6 +96,46 @@
|
|||
</div>
|
||||
<div id="history"><span id="history-indicator">+</span> Previous Versions</div>
|
||||
<div id="history-release-notes">
|
||||
<p class='release-date'>2022-07-24 (v2.6.31)</p>
|
||||
<p>Updated</p>
|
||||
<ul>
|
||||
<li>findify-bundle v7.1.50 -> v7.1.55 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1055">#1055</a>)</li>
|
||||
<li>Swiper v8.3.0 -> v8.3.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1056">#1056</a>)</li>
|
||||
<li>foundation v6.7.4 -> v6.7.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1057">#1057</a>)</li>
|
||||
<li>mdb-ui-kit v4.2.0 -> v4.3.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1058">#1058</a>)</li>
|
||||
<li>highlight.js v11.5.1 -> v11.6.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1059">#1059</a>)</li>
|
||||
<li>bootstrap-icons v1.8.3 -> v1.9.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1060">#1060</a>)</li>
|
||||
<li>instantsearch.js v4.43.0 -> v4.43.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1061">#1061</a>)</li>
|
||||
<li>libphonenumber-js v1.10.7 -> v1.10.9 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1062">#1062</a>)</li>
|
||||
<li>algoliasearch v4.13.1 -> v4.14.1 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1064">#1064</a>)</li>
|
||||
<li>Google Material Icons v134 -> v135 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
|
||||
<li>Google Material Icons Outlined v106 -> v107 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
|
||||
<li>Google Material Icons Round v105 -> v106 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
|
||||
<li>Google Material Icons Sharp v106 -> v107 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
|
||||
<li>Google Material Icons TwoTone v109 -> v110 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1065">#1065</a>)</li>
|
||||
<li>twitter-bootstrap v5.1.3 -> v5.2.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1066">#1066</a>)</li>
|
||||
<li>dayjs v1.11.3 -> v1.11.4 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1067">#1067</a>)</li>
|
||||
<li>vanilla-lazyload v17.8.2 -> v17.8.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1071">#1071</a>)</li>
|
||||
<li>alpinejs v3.10.2 -> v3.10.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1072">#1072</a>)</li>
|
||||
<li>p5.js v1.4.1 -> v1.4.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1073">#1073</a>)</li>
|
||||
</ul>
|
||||
<p>Added</p>
|
||||
<ul>
|
||||
<li>jQuery Mobile CSS v1.4.5 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1063">#1063</a>)</li>
|
||||
<li>jQuery Mobile CSS & JS v1.3.2 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1063">#1063</a>)</li>
|
||||
<li>jQuery.scrollTo v2.1.3 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1070">#1070</a>)</li>
|
||||
<li>jquery-validation-unobtrusive v4.0.0 (<a href="https://codeberg.org/nobody/LocalCDN/issues/1074">#1074</a>)</li>
|
||||
</ul>
|
||||
<p>Improved</p>
|
||||
<ul>
|
||||
<li>Custom block screen (<a href="https://codeberg.org/nobody/LocalCDN/issues/1050">#1050</a>)</li>
|
||||
<li>Banner for chromium based browser (<a href="https://codeberg.org/nobody/LocalCDN/issues/1068">#1068</a>)</li>
|
||||
<li>Chromium: Badge color for missing resources (<a href="https://codeberg.org/nobody/LocalCDN/issues/1031">#1031</a>)</li>
|
||||
</ul>
|
||||
<p>Removed</p>
|
||||
<ul>
|
||||
<li>Dojo removed (<a href="https://codeberg.org/nobody/LocalCDN/issues/1054">#1054</a>)</li>
|
||||
</ul>
|
||||
<p class='release-date'>2022-07-09 (v2.6.30)</p>
|
||||
<p>Updated</p>
|
||||
<ul>
|
||||
|
|
Before Width: | Height: | Size: 458 KiB After Width: | Height: | Size: 458 KiB |
Before Width: | Height: | Size: 107 KiB After Width: | Height: | Size: 107 KiB |
Before Width: | Height: | Size: 640 KiB After Width: | Height: | Size: 640 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 696 B |
After Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 618 B |
|
@ -0,0 +1,640 @@
|
|||
/* required styles */
|
||||
|
||||
.leaflet-pane,
|
||||
.leaflet-tile,
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow,
|
||||
.leaflet-tile-container,
|
||||
.leaflet-pane > svg,
|
||||
.leaflet-pane > canvas,
|
||||
.leaflet-zoom-box,
|
||||
.leaflet-image-layer,
|
||||
.leaflet-layer {
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 0;
|
||||
}
|
||||
.leaflet-container {
|
||||
overflow: hidden;
|
||||
}
|
||||
.leaflet-tile,
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow {
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
user-select: none;
|
||||
-webkit-user-drag: none;
|
||||
}
|
||||
/* Prevents IE11 from highlighting tiles in blue */
|
||||
.leaflet-tile::selection {
|
||||
background: transparent;
|
||||
}
|
||||
/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
|
||||
.leaflet-safari .leaflet-tile {
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
}
|
||||
/* hack that prevents hw layers "stretching" when loading new tiles */
|
||||
.leaflet-safari .leaflet-tile-container {
|
||||
width: 1600px;
|
||||
height: 1600px;
|
||||
-webkit-transform-origin: 0 0;
|
||||
}
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow {
|
||||
display: block;
|
||||
}
|
||||
/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
|
||||
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
|
||||
.leaflet-container .leaflet-overlay-pane svg,
|
||||
.leaflet-container .leaflet-marker-pane img,
|
||||
.leaflet-container .leaflet-shadow-pane img,
|
||||
.leaflet-container .leaflet-tile-pane img,
|
||||
.leaflet-container img.leaflet-image-layer,
|
||||
.leaflet-container .leaflet-tile {
|
||||
max-width: none !important;
|
||||
max-height: none !important;
|
||||
}
|
||||
|
||||
.leaflet-container.leaflet-touch-zoom {
|
||||
-ms-touch-action: pan-x pan-y;
|
||||
touch-action: pan-x pan-y;
|
||||
}
|
||||
.leaflet-container.leaflet-touch-drag {
|
||||
-ms-touch-action: pinch-zoom;
|
||||
/* Fallback for FF which doesn't support pinch-zoom */
|
||||
touch-action: none;
|
||||
touch-action: pinch-zoom;
|
||||
}
|
||||
.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
|
||||
-ms-touch-action: none;
|
||||
touch-action: none;
|
||||
}
|
||||
.leaflet-container {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
.leaflet-container a {
|
||||
-webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
|
||||
}
|
||||
.leaflet-tile {
|
||||
filter: inherit;
|
||||
visibility: hidden;
|
||||
}
|
||||
.leaflet-tile-loaded {
|
||||
visibility: inherit;
|
||||
}
|
||||
.leaflet-zoom-box {
|
||||
width: 0;
|
||||
height: 0;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
z-index: 800;
|
||||
}
|
||||
/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
|
||||
.leaflet-overlay-pane svg {
|
||||
-moz-user-select: none;
|
||||
}
|
||||
|
||||
.leaflet-pane { z-index: 400; }
|
||||
|
||||
.leaflet-tile-pane { z-index: 200; }
|
||||
.leaflet-overlay-pane { z-index: 400; }
|
||||
.leaflet-shadow-pane { z-index: 500; }
|
||||
.leaflet-marker-pane { z-index: 600; }
|
||||
.leaflet-tooltip-pane { z-index: 650; }
|
||||
.leaflet-popup-pane { z-index: 700; }
|
||||
|
||||
.leaflet-map-pane canvas { z-index: 100; }
|
||||
.leaflet-map-pane svg { z-index: 200; }
|
||||
|
||||
.leaflet-vml-shape {
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
}
|
||||
.lvml {
|
||||
behavior: url(#default#VML);
|
||||
display: inline-block;
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
|
||||
/* control positioning */
|
||||
|
||||
.leaflet-control {
|
||||
position: relative;
|
||||
z-index: 800;
|
||||
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
|
||||
pointer-events: auto;
|
||||
}
|
||||
.leaflet-top,
|
||||
.leaflet-bottom {
|
||||
position: absolute;
|
||||
z-index: 1000;
|
||||
pointer-events: none;
|
||||
}
|
||||
.leaflet-top {
|
||||
top: 0;
|
||||
}
|
||||
.leaflet-right {
|
||||
right: 0;
|
||||
}
|
||||
.leaflet-bottom {
|
||||
bottom: 0;
|
||||
}
|
||||
.leaflet-left {
|
||||
left: 0;
|
||||
}
|
||||
.leaflet-control {
|
||||
float: left;
|
||||
clear: both;
|
||||
}
|
||||
.leaflet-right .leaflet-control {
|
||||
float: right;
|
||||
}
|
||||
.leaflet-top .leaflet-control {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.leaflet-bottom .leaflet-control {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.leaflet-left .leaflet-control {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.leaflet-right .leaflet-control {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
|
||||
/* zoom and fade animations */
|
||||
|
||||
.leaflet-fade-anim .leaflet-tile {
|
||||
will-change: opacity;
|
||||
}
|
||||
.leaflet-fade-anim .leaflet-popup {
|
||||
opacity: 0;
|
||||
-webkit-transition: opacity 0.2s linear;
|
||||
-moz-transition: opacity 0.2s linear;
|
||||
transition: opacity 0.2s linear;
|
||||
}
|
||||
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
|
||||
opacity: 1;
|
||||
}
|
||||
.leaflet-zoom-animated {
|
||||
-webkit-transform-origin: 0 0;
|
||||
-ms-transform-origin: 0 0;
|
||||
transform-origin: 0 0;
|
||||
}
|
||||
.leaflet-zoom-anim .leaflet-zoom-animated {
|
||||
will-change: transform;
|
||||
}
|
||||
.leaflet-zoom-anim .leaflet-zoom-animated {
|
||||
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
|
||||
}
|
||||
.leaflet-zoom-anim .leaflet-tile,
|
||||
.leaflet-pan-anim .leaflet-tile {
|
||||
-webkit-transition: none;
|
||||
-moz-transition: none;
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.leaflet-zoom-anim .leaflet-zoom-hide {
|
||||
visibility: hidden;
|
||||
}
|
||||
|
||||
|
||||
/* cursors */
|
||||
|
||||
.leaflet-interactive {
|
||||
cursor: pointer;
|
||||
}
|
||||
.leaflet-grab {
|
||||
cursor: -webkit-grab;
|
||||
cursor: -moz-grab;
|
||||
cursor: grab;
|
||||
}
|
||||
.leaflet-crosshair,
|
||||
.leaflet-crosshair .leaflet-interactive {
|
||||
cursor: crosshair;
|
||||
}
|
||||
.leaflet-popup-pane,
|
||||
.leaflet-control {
|
||||
cursor: auto;
|
||||
}
|
||||
.leaflet-dragging .leaflet-grab,
|
||||
.leaflet-dragging .leaflet-grab .leaflet-interactive,
|
||||
.leaflet-dragging .leaflet-marker-draggable {
|
||||
cursor: move;
|
||||
cursor: -webkit-grabbing;
|
||||
cursor: -moz-grabbing;
|
||||
cursor: grabbing;
|
||||
}
|
||||
|
||||
/* marker & overlays interactivity */
|
||||
.leaflet-marker-icon,
|
||||
.leaflet-marker-shadow,
|
||||
.leaflet-image-layer,
|
||||
.leaflet-pane > svg path,
|
||||
.leaflet-tile-container {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.leaflet-marker-icon.leaflet-interactive,
|
||||
.leaflet-image-layer.leaflet-interactive,
|
||||
.leaflet-pane > svg path.leaflet-interactive,
|
||||
svg.leaflet-image-layer.leaflet-interactive path {
|
||||
pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
/* visual tweaks */
|
||||
|
||||
.leaflet-container {
|
||||
background: #ddd;
|
||||
outline: 0;
|
||||
}
|
||||
.leaflet-container a {
|
||||
color: #0078A8;
|
||||
}
|
||||
.leaflet-container a.leaflet-active {
|
||||
outline: 2px solid orange;
|
||||
}
|
||||
.leaflet-zoom-box {
|
||||
border: 2px dotted #38f;
|
||||
background: rgba(255,255,255,0.5);
|
||||
}
|
||||
|
||||
|
||||
/* general typography */
|
||||
.leaflet-container {
|
||||
font: 12px/1.5 "Helvetica Neue", Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
|
||||
/* general toolbar styles */
|
||||
|
||||
.leaflet-bar {
|
||||
box-shadow: 0 1px 5px rgba(0,0,0,0.65);
|
||||
border-radius: 4px;
|
||||
}
|
||||
.leaflet-bar a,
|
||||
.leaflet-bar a:hover {
|
||||
background-color: #fff;
|
||||
border-bottom: 1px solid #ccc;
|
||||
width: 26px;
|
||||
height: 26px;
|
||||
line-height: 26px;
|
||||
display: block;
|
||||
text-align: center;
|
||||
text-decoration: none;
|
||||
color: black;
|
||||
}
|
||||
.leaflet-bar a,
|
||||
.leaflet-control-layers-toggle {
|
||||
background-position: 50% 50%;
|
||||
background-repeat: no-repeat;
|
||||
display: block;
|
||||
}
|
||||
.leaflet-bar a:hover {
|
||||
background-color: #f4f4f4;
|
||||
}
|
||||
.leaflet-bar a:first-child {
|
||||
border-top-left-radius: 4px;
|
||||
border-top-right-radius: 4px;
|
||||
}
|
||||
.leaflet-bar a:last-child {
|
||||
border-bottom-left-radius: 4px;
|
||||
border-bottom-right-radius: 4px;
|
||||
border-bottom: none;
|
||||
}
|
||||
.leaflet-bar a.leaflet-disabled {
|
||||
cursor: default;
|
||||
background-color: #f4f4f4;
|
||||
color: #bbb;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-bar a {
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
}
|
||||
.leaflet-touch .leaflet-bar a:first-child {
|
||||
border-top-left-radius: 2px;
|
||||
border-top-right-radius: 2px;
|
||||
}
|
||||
.leaflet-touch .leaflet-bar a:last-child {
|
||||
border-bottom-left-radius: 2px;
|
||||
border-bottom-right-radius: 2px;
|
||||
}
|
||||
|
||||
/* zoom control */
|
||||
|
||||
.leaflet-control-zoom-in,
|
||||
.leaflet-control-zoom-out {
|
||||
font: bold 18px 'Lucida Console', Monaco, monospace;
|
||||
text-indent: 1px;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
|
||||
font-size: 22px;
|
||||
}
|
||||
|
||||
|
||||
/* layers control */
|
||||
|
||||
.leaflet-control-layers {
|
||||
box-shadow: 0 1px 5px rgba(0,0,0,0.4);
|
||||
background: #fff;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.leaflet-control-layers-toggle {
|
||||
background-image: url(images/layers.png);
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
}
|
||||
.leaflet-retina .leaflet-control-layers-toggle {
|
||||
background-image: url(images/layers-2x.png);
|
||||
background-size: 26px 26px;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-layers-toggle {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
}
|
||||
.leaflet-control-layers .leaflet-control-layers-list,
|
||||
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
|
||||
display: none;
|
||||
}
|
||||
.leaflet-control-layers-expanded .leaflet-control-layers-list {
|
||||
display: block;
|
||||
position: relative;
|
||||
}
|
||||
.leaflet-control-layers-expanded {
|
||||
padding: 6px 10px 6px 6px;
|
||||
color: #333;
|
||||
background: #fff;
|
||||
}
|
||||
.leaflet-control-layers-scrollbar {
|
||||
overflow-y: scroll;
|
||||
overflow-x: hidden;
|
||||
padding-right: 5px;
|
||||
}
|
||||
.leaflet-control-layers-selector {
|
||||
margin-top: 2px;
|
||||
position: relative;
|
||||
top: 1px;
|
||||
}
|
||||
.leaflet-control-layers label {
|
||||
display: block;
|
||||
}
|
||||
.leaflet-control-layers-separator {
|
||||
height: 0;
|
||||
border-top: 1px solid #ddd;
|
||||
margin: 5px -10px 5px -6px;
|
||||
}
|
||||
|
||||
/* Default icon URLs */
|
||||
.leaflet-default-icon-path {
|
||||
background-image: url(images/marker-icon.png);
|
||||
}
|
||||
|
||||
|
||||
/* attribution and scale controls */
|
||||
|
||||
.leaflet-container .leaflet-control-attribution {
|
||||
background: #fff;
|
||||
background: rgba(255, 255, 255, 0.7);
|
||||
margin: 0;
|
||||
}
|
||||
.leaflet-control-attribution,
|
||||
.leaflet-control-scale-line {
|
||||
padding: 0 5px;
|
||||
color: #333;
|
||||
}
|
||||
.leaflet-control-attribution a {
|
||||
text-decoration: none;
|
||||
}
|
||||
.leaflet-control-attribution a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
.leaflet-container .leaflet-control-attribution,
|
||||
.leaflet-container .leaflet-control-scale {
|
||||
font-size: 11px;
|
||||
}
|
||||
.leaflet-left .leaflet-control-scale {
|
||||
margin-left: 5px;
|
||||
}
|
||||
.leaflet-bottom .leaflet-control-scale {
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
.leaflet-control-scale-line {
|
||||
border: 2px solid #777;
|
||||
border-top: none;
|
||||
line-height: 1.1;
|
||||
padding: 2px 5px 1px;
|
||||
font-size: 11px;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
-moz-box-sizing: border-box;
|
||||
box-sizing: border-box;
|
||||
|
||||
background: #fff;
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
.leaflet-control-scale-line:not(:first-child) {
|
||||
border-top: 2px solid #777;
|
||||
border-bottom: none;
|
||||
margin-top: -2px;
|
||||
}
|
||||
.leaflet-control-scale-line:not(:first-child):not(:last-child) {
|
||||
border-bottom: 2px solid #777;
|
||||
}
|
||||
|
||||
.leaflet-touch .leaflet-control-attribution,
|
||||
.leaflet-touch .leaflet-control-layers,
|
||||
.leaflet-touch .leaflet-bar {
|
||||
box-shadow: none;
|
||||
}
|
||||
.leaflet-touch .leaflet-control-layers,
|
||||
.leaflet-touch .leaflet-bar {
|
||||
border: 2px solid rgba(0,0,0,0.2);
|
||||
background-clip: padding-box;
|
||||
}
|
||||
|
||||
|
||||
/* popup */
|
||||
|
||||
.leaflet-popup {
|
||||
position: absolute;
|
||||
text-align: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.leaflet-popup-content-wrapper {
|
||||
padding: 1px;
|
||||
text-align: left;
|
||||
border-radius: 12px;
|
||||
}
|
||||
.leaflet-popup-content {
|
||||
margin: 13px 19px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
.leaflet-popup-content p {
|
||||
margin: 18px 0;
|
||||
}
|
||||
.leaflet-popup-tip-container {
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
position: absolute;
|
||||
left: 50%;
|
||||
margin-left: -20px;
|
||||
overflow: hidden;
|
||||
pointer-events: none;
|
||||
}
|
||||
.leaflet-popup-tip {
|
||||
width: 17px;
|
||||
height: 17px;
|
||||
padding: 1px;
|
||||
|
||||
margin: -10px auto 0;
|
||||
|
||||
-webkit-transform: rotate(45deg);
|
||||
-moz-transform: rotate(45deg);
|
||||
-ms-transform: rotate(45deg);
|
||||
transform: rotate(45deg);
|
||||
}
|
||||
.leaflet-popup-content-wrapper,
|
||||
.leaflet-popup-tip {
|
||||
background: white;
|
||||
color: #333;
|
||||
box-shadow: 0 3px 14px rgba(0,0,0,0.4);
|
||||
}
|
||||
.leaflet-container a.leaflet-popup-close-button {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
padding: 4px 4px 0 0;
|
||||
border: none;
|
||||
text-align: center;
|
||||
width: 18px;
|
||||
height: 14px;
|
||||
font: 16px/14px Tahoma, Verdana, sans-serif;
|
||||
color: #c3c3c3;
|
||||
text-decoration: none;
|
||||
font-weight: bold;
|
||||
background: transparent;
|
||||
}
|
||||
.leaflet-container a.leaflet-popup-close-button:hover {
|
||||
color: #999;
|
||||
}
|
||||
.leaflet-popup-scrolled {
|
||||
overflow: auto;
|
||||
border-bottom: 1px solid #ddd;
|
||||
border-top: 1px solid #ddd;
|
||||
}
|
||||
|
||||
.leaflet-oldie .leaflet-popup-content-wrapper {
|
||||
-ms-zoom: 1;
|
||||
}
|
||||
.leaflet-oldie .leaflet-popup-tip {
|
||||
width: 24px;
|
||||
margin: 0 auto;
|
||||
|
||||
-ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
|
||||
filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
|
||||
}
|
||||
.leaflet-oldie .leaflet-popup-tip-container {
|
||||
margin-top: -1px;
|
||||
}
|
||||
|
||||
.leaflet-oldie .leaflet-control-zoom,
|
||||
.leaflet-oldie .leaflet-control-layers,
|
||||
.leaflet-oldie .leaflet-popup-content-wrapper,
|
||||
.leaflet-oldie .leaflet-popup-tip {
|
||||
border: 1px solid #999;
|
||||
}
|
||||
|
||||
|
||||
/* div icon */
|
||||
|
||||
.leaflet-div-icon {
|
||||
background: #fff;
|
||||
border: 1px solid #666;
|
||||
}
|
||||
|
||||
|
||||
/* Tooltip */
|
||||
/* Base styles for the element that has a tooltip */
|
||||
.leaflet-tooltip {
|
||||
position: absolute;
|
||||
padding: 6px;
|
||||
background-color: #fff;
|
||||
border: 1px solid #fff;
|
||||
border-radius: 3px;
|
||||
color: #222;
|
||||
white-space: nowrap;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
pointer-events: none;
|
||||
box-shadow: 0 1px 3px rgba(0,0,0,0.4);
|
||||
}
|
||||
.leaflet-tooltip.leaflet-clickable {
|
||||
cursor: pointer;
|
||||
pointer-events: auto;
|
||||
}
|
||||
.leaflet-tooltip-top:before,
|
||||
.leaflet-tooltip-bottom:before,
|
||||
.leaflet-tooltip-left:before,
|
||||
.leaflet-tooltip-right:before {
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
border: 6px solid transparent;
|
||||
background: transparent;
|
||||
content: "";
|
||||
}
|
||||
|
||||
/* Directions */
|
||||
|
||||
.leaflet-tooltip-bottom {
|
||||
margin-top: 6px;
|
||||
}
|
||||
.leaflet-tooltip-top {
|
||||
margin-top: -6px;
|
||||
}
|
||||
.leaflet-tooltip-bottom:before,
|
||||
.leaflet-tooltip-top:before {
|
||||
left: 50%;
|
||||
margin-left: -6px;
|
||||
}
|
||||
.leaflet-tooltip-top:before {
|
||||
bottom: 0;
|
||||
margin-bottom: -12px;
|
||||
border-top-color: #fff;
|
||||
}
|
||||
.leaflet-tooltip-bottom:before {
|
||||
top: 0;
|
||||
margin-top: -12px;
|
||||
margin-left: -6px;
|
||||
border-bottom-color: #fff;
|
||||
}
|
||||
.leaflet-tooltip-left {
|
||||
margin-left: -6px;
|
||||
}
|
||||
.leaflet-tooltip-right {
|
||||
margin-left: 6px;
|
||||
}
|
||||
.leaflet-tooltip-left:before,
|
||||
.leaflet-tooltip-right:before {
|
||||
top: 50%;
|
||||
margin-top: -6px;
|
||||
}
|
||||
.leaflet-tooltip-left:before {
|
||||
right: 0;
|
||||
margin-right: -12px;
|
||||
border-left-color: #fff;
|
||||
}
|
||||
.leaflet-tooltip-right:before {
|
||||
left: 0;
|
||||
margin-left: -12px;
|
||||
border-right-color: #fff;
|
||||
}
|
|
@ -0,0 +1,680 @@
|
|||
/* .bs-datepicker */
|
||||
.bs-datepicker {
|
||||
display: flex;
|
||||
align-items: stretch;
|
||||
flex-flow: row wrap;
|
||||
background: #fff;
|
||||
box-shadow: 0 0 10px 0 #aaa;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
/* button */
|
||||
/* .bs-datepicker-head */
|
||||
/* .bs-datepicker-body */
|
||||
/* .current-timedate */
|
||||
/* .bs-datepicker-multiple */
|
||||
/* .bs-datepicker-btns */
|
||||
/*.bs-datepicker-custom-range */
|
||||
/* .bs-datepicker-predefined-btns */
|
||||
/* .bs-datepicker-buttons */
|
||||
}
|
||||
.bs-datepicker:after {
|
||||
clear: both;
|
||||
content: "";
|
||||
display: block;
|
||||
}
|
||||
.bs-datepicker bs-day-picker {
|
||||
float: left;
|
||||
}
|
||||
.bs-datepicker button:hover,
|
||||
.bs-datepicker button:focus,
|
||||
.bs-datepicker button:active,
|
||||
.bs-datepicker input:hover,
|
||||
.bs-datepicker input:focus,
|
||||
.bs-datepicker input:active, .bs-datepicker-btns button:hover, .bs-datepicker-btns button:focus, .bs-datepicker-btns button:active, .bs-datepicker-predefined-btns button:active, .bs-datepicker-predefined-btns button:focus {
|
||||
outline: none;
|
||||
}
|
||||
.bs-datepicker-head {
|
||||
min-width: 270px;
|
||||
height: 50px;
|
||||
padding: 10px;
|
||||
border-radius: 3px 3px 0 0;
|
||||
text-align: justify;
|
||||
/* .bs-datepicker-head button */
|
||||
}
|
||||
.bs-datepicker-head:after {
|
||||
content: "";
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
width: 100%;
|
||||
}
|
||||
.bs-datepicker-head button {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
padding: 0;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border: 0;
|
||||
background: transparent;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
color: #fff;
|
||||
transition: 0.3s;
|
||||
}
|
||||
.bs-datepicker-head button[disabled], .bs-datepicker-head button[disabled]:hover, .bs-datepicker-head button[disabled]:active {
|
||||
background: rgba(221, 221, 221, 0.3);
|
||||
color: #f5f5f5;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
.bs-datepicker-head button.previous span {
|
||||
transform: translate(-1px, -1px);
|
||||
}
|
||||
.bs-datepicker-head button.next span {
|
||||
transform: translate(1px, -1px);
|
||||
}
|
||||
.bs-datepicker-head button.next, .bs-datepicker-head button.previous {
|
||||
border-radius: 50%;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
}
|
||||
.bs-datepicker-head button.next span, .bs-datepicker-head button.previous span {
|
||||
font-size: 28px;
|
||||
line-height: 1;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.bs-datepicker-head button.current {
|
||||
border-radius: 15px;
|
||||
max-width: 155px;
|
||||
padding: 0 13px;
|
||||
}
|
||||
.bs-datepicker-head button:hover {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
.bs-datepicker-head button:active {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
.bs-datepicker-body {
|
||||
padding: 10px;
|
||||
border-radius: 0 0 3px 3px;
|
||||
min-height: 232px;
|
||||
min-width: 278px;
|
||||
border: 1px solid #e9edf0;
|
||||
/* .bs-datepicker-body table */
|
||||
}
|
||||
.bs-datepicker-body .days.weeks {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
.bs-datepicker-body table {
|
||||
width: 100%;
|
||||
border-collapse: separate;
|
||||
border-spacing: 0;
|
||||
/* .bs-datepicker-body table.days */
|
||||
/* .bs-datepicker-body table.weeks */
|
||||
}
|
||||
.bs-datepicker-body table th {
|
||||
font-size: 13px;
|
||||
color: #9aaec1;
|
||||
font-weight: 400;
|
||||
text-align: center;
|
||||
}
|
||||
.bs-datepicker-body table td {
|
||||
color: #54708b;
|
||||
text-align: center;
|
||||
position: relative;
|
||||
padding: 0;
|
||||
/* todo: check first :not(.disabled) usage */
|
||||
}
|
||||
.bs-datepicker-body table td span {
|
||||
display: block;
|
||||
margin: 0 auto;
|
||||
font-size: 13px;
|
||||
border-radius: 50%;
|
||||
/*z-index: 1;*/
|
||||
-moz-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
.bs-datepicker-body table td:not(.disabled):not(.week) span:not(.disabled):not(.is-other-month) {
|
||||
cursor: pointer;
|
||||
}
|
||||
.bs-datepicker-body table td.is-highlighted:not(.disabled):not(.selected) span,
|
||||
.bs-datepicker-body table td span.is-highlighted:not(.disabled):not(.selected) {
|
||||
background-color: #e9edf0;
|
||||
transition: 0s;
|
||||
}
|
||||
.bs-datepicker-body table td.is-active-other-month:not(.disabled):not(.selected) span,
|
||||
.bs-datepicker-body table td span.is-active-other-month:not(.disabled):not(.selected) {
|
||||
background-color: #e9edf0;
|
||||
transition: 0s;
|
||||
cursor: pointer;
|
||||
}
|
||||
.bs-datepicker-body table td span.disabled, .bs-datepicker-body table td.disabled span {
|
||||
color: #9aaec1;
|
||||
}
|
||||
.bs-datepicker-body table td span.selected, .bs-datepicker-body table td.selected span {
|
||||
color: #fff;
|
||||
}
|
||||
.bs-datepicker-body table td span.is-other-month, .bs-datepicker-body table td.is-other-month span {
|
||||
color: rgba(0, 0, 0, 0.25);
|
||||
}
|
||||
.bs-datepicker-body table td.active {
|
||||
position: relative;
|
||||
}
|
||||
.bs-datepicker-body table td.active.select-start:before {
|
||||
left: 35%;
|
||||
}
|
||||
.bs-datepicker-body table td.active.select-end:before {
|
||||
left: -85%;
|
||||
}
|
||||
.bs-datepicker-body table td span.active.select-start:after,
|
||||
.bs-datepicker-body table td span.active.select-end:after, .bs-datepicker-body table td.active.select-start span:after, .bs-datepicker-body table td.active.select-end span:after {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
transition: 0.3s;
|
||||
top: 0;
|
||||
border-radius: 50%;
|
||||
}
|
||||
.bs-datepicker-body table td:before,
|
||||
.bs-datepicker-body table td span:before {
|
||||
content: "";
|
||||
display: block;
|
||||
position: absolute;
|
||||
z-index: -1;
|
||||
top: 6px;
|
||||
bottom: 6px;
|
||||
left: -3px;
|
||||
right: -2px;
|
||||
box-sizing: content-box;
|
||||
background: transparent;
|
||||
}
|
||||
.bs-datepicker-body table td.active.select-start + td.active:before {
|
||||
left: -20%;
|
||||
}
|
||||
.bs-datepicker-body table td:last-child.active:before {
|
||||
border-radius: 0 3px 3px 0;
|
||||
width: 125%;
|
||||
left: -25%;
|
||||
}
|
||||
.bs-datepicker-body table td span[class*=select-], .bs-datepicker-body table td[class*=select-] span {
|
||||
border-radius: 50%;
|
||||
color: #fff;
|
||||
}
|
||||
.bs-datepicker-body table.days td.active:not(.select-start):before, .bs-datepicker-body table.days td.in-range:not(.select-start):before,
|
||||
.bs-datepicker-body table.days span.active:not(.select-start):before,
|
||||
.bs-datepicker-body table.days span.in-range:not(.select-start):before {
|
||||
background: #e9edf0;
|
||||
}
|
||||
.bs-datepicker-body table.days span {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
}
|
||||
.bs-datepicker-body table.days span.select-start {
|
||||
z-index: 2;
|
||||
}
|
||||
.bs-datepicker-body table.days span.is-highlighted.in-range:before {
|
||||
right: 3px;
|
||||
left: 0;
|
||||
}
|
||||
.bs-datepicker-body table.days span.in-range.select-end:before {
|
||||
right: 4px;
|
||||
left: 0;
|
||||
}
|
||||
.bs-datepicker-body table.days td.select-start + td.select-end:before, .bs-datepicker-body table.days td.select-start + td.is-highlighted:before, .bs-datepicker-body table.days td.active + td.is-highlighted:before, .bs-datepicker-body table.days td.active + td.select-end:before, .bs-datepicker-body table.days td.in-range + td.is-highlighted:before, .bs-datepicker-body table.days td.in-range + td.select-end:before {
|
||||
background: #e9edf0;
|
||||
width: 100%;
|
||||
}
|
||||
.bs-datepicker-body table.weeks tr td:nth-child(2).active:before {
|
||||
border-radius: 3px 0 0 3px;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
.bs-datepicker-body table:not(.weeks) tr td:first-child:before {
|
||||
border-radius: 3px 0 0 3px;
|
||||
}
|
||||
.bs-datepicker-body table.years td span {
|
||||
width: 46px;
|
||||
height: 46px;
|
||||
line-height: 45px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
.bs-datepicker-body table.years tr:not(:last-child) td span {
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
.bs-datepicker-body table.months td {
|
||||
height: 52px;
|
||||
}
|
||||
.bs-datepicker-body table.months td span {
|
||||
padding: 6px;
|
||||
border-radius: 15px;
|
||||
}
|
||||
.bs-datepicker .current-timedate {
|
||||
color: #54708b;
|
||||
font-size: 15px;
|
||||
text-align: center;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border-radius: 20px;
|
||||
border: 1px solid #e9edf0;
|
||||
margin-bottom: 10px;
|
||||
cursor: pointer;
|
||||
text-transform: uppercase;
|
||||
-moz-user-select: none;
|
||||
-webkit-user-select: none;
|
||||
-ms-user-select: none;
|
||||
}
|
||||
.bs-datepicker .current-timedate span:not(:empty):before {
|
||||
content: "";
|
||||
width: 15px;
|
||||
height: 16px;
|
||||
display: inline-block;
|
||||
margin-right: 4px;
|
||||
vertical-align: text-bottom;
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAQCAYAAADJViUEAAABMklEQVQoU9VTwW3CQBCcOUgBtEBKSAukAnBKME+wFCAlYIhk8sQlxFABtJAScAsuAPBEewYcxCP8ouxrPDsza61uiVN1o6RNHD4htSCmq49RfO71BvMJqBBkITRf1kmUW49nQRC9h1I5AZlBClaL8aP1fKgOOxCx8aSLs+Q19eZuNO8QmPqJRtDFguy7OAcDbJPs+/BKVPDIPrvD2ZJgWAmVe7O0rI0Vqs1seyWUXpuJoppYCa5L+U++NpNPkr5OE2oMdARsb3gykJT5ydZcL8Z9Ww60nxg2LhjON9li9OwXZzo+xLbp3nC2s9CL2RrueGyVrgwNm8HpsCzZ9EEW6kqXlo1GQe03FzP/7W8Hl0dBtu7Bf7zt6mIwvX1RvzDCm7+q3mAW0Dl/GPdUCeXrZLT9BrDrGkm4qlPvAAAAAElFTkSuQmCC);
|
||||
}
|
||||
.bs-datepicker-multiple {
|
||||
border-radius: 4px 0 0 4px;
|
||||
}
|
||||
.bs-datepicker-multiple + .bs-datepicker-multiple {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.bs-datepicker-multiple .bs-datepicker {
|
||||
box-shadow: none;
|
||||
position: relative;
|
||||
}
|
||||
.bs-datepicker-multiple .bs-datepicker:not(:last-child) {
|
||||
padding-right: 10px;
|
||||
}
|
||||
.bs-datepicker-multiple .bs-datepicker + .bs-datepicker:after {
|
||||
content: "";
|
||||
display: block;
|
||||
width: 14px;
|
||||
height: 10px;
|
||||
background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAKCAYAAABrGwT5AAAA1ElEQVQoU42RsQrCUAxF77VuDu7O4oMWW//BURBBpZvgKk4uIrjoqKOTf+DopIO4uYggtFTfw3+pkQqCW1/G5J7kJiFy4m5MxUlxAzgIPHX+lzMPzupRYlYgxiR7vqsOP8YKzsTx0yxFMCUZ+q7aZzlr+OvgoWcAFyAHgat2jLWu48252DdqAihDJGSSJNUUxYmQjs3+hPQBlAh2rG2LCOPnaw3IiGDX99TRCs7ASJsNhUOA7d/LcuHvRG22FIZvsNXw1MX6VZExCilOQKEfeLXr/10+aC9Ho7arh7oAAAAASUVORK5CYII=);
|
||||
position: absolute;
|
||||
top: 25px;
|
||||
left: -8px;
|
||||
}
|
||||
.bs-datepicker-multiple .bs-datepicker .left {
|
||||
float: left;
|
||||
}
|
||||
.bs-datepicker-multiple .bs-datepicker .right {
|
||||
float: right;
|
||||
}
|
||||
.bs-datepicker-container {
|
||||
padding: 15px;
|
||||
}
|
||||
.bs-datepicker .bs-media-container {
|
||||
display: flex;
|
||||
}
|
||||
@media (max-width: 768px) {
|
||||
.bs-datepicker .bs-media-container {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
.bs-datepicker .bs-timepicker-in-datepicker-container {
|
||||
display: flex;
|
||||
justify-content: space-around;
|
||||
}
|
||||
.bs-datepicker-custom-range {
|
||||
padding: 15px;
|
||||
background: #eee;
|
||||
}
|
||||
.bs-datepicker-predefined-btns button {
|
||||
width: 100%;
|
||||
display: block;
|
||||
height: 30px;
|
||||
background-color: #9aaec1;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
border: 0;
|
||||
margin-bottom: 10px;
|
||||
padding: 0 18px;
|
||||
text-align: left;
|
||||
transition: 0.3s;
|
||||
}
|
||||
.bs-datepicker-predefined-btns button:hover {
|
||||
background-color: #54708b;
|
||||
}
|
||||
.bs-datepicker-buttons {
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
justify-content: flex-end;
|
||||
padding-top: 10px;
|
||||
border-top: 1px solid #e9edf0;
|
||||
}
|
||||
.bs-datepicker-buttons .btn-default {
|
||||
margin-left: 10px;
|
||||
}
|
||||
.bs-datepicker-buttons .btn-today-wrapper {
|
||||
display: flex;
|
||||
flex-flow: row wrap;
|
||||
}
|
||||
.bs-datepicker-buttons .clear-right,
|
||||
.bs-datepicker-buttons .today-right {
|
||||
flex-grow: 0;
|
||||
}
|
||||
.bs-datepicker-buttons .clear-left,
|
||||
.bs-datepicker-buttons .today-left {
|
||||
flex-grow: 1;
|
||||
}
|
||||
.bs-datepicker-buttons .clear-center,
|
||||
.bs-datepicker-buttons .today-center {
|
||||
flex-grow: 0.5;
|
||||
}
|
||||
|
||||
/* .bs-timepicker */
|
||||
.bs-timepicker-container {
|
||||
padding: 10px 0;
|
||||
}
|
||||
.bs-timepicker-label {
|
||||
color: #54708b;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.bs-timepicker-controls {
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin-right: 10px;
|
||||
}
|
||||
.bs-timepicker-controls button {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
border: 0;
|
||||
background-color: #e9edf0;
|
||||
color: #54708b;
|
||||
font-size: 16px;
|
||||
font-weight: 700;
|
||||
vertical-align: middle;
|
||||
line-height: 0;
|
||||
padding: 0;
|
||||
transition: 0.3s;
|
||||
}
|
||||
.bs-timepicker-controls button:hover {
|
||||
background-color: #d5dadd;
|
||||
}
|
||||
.bs-timepicker-controls input {
|
||||
width: 35px;
|
||||
height: 25px;
|
||||
border-radius: 13px;
|
||||
text-align: center;
|
||||
border: 1px solid #e9edf0;
|
||||
}
|
||||
.bs-timepicker .switch-time-format {
|
||||
text-transform: uppercase;
|
||||
min-width: 54px;
|
||||
height: 25px;
|
||||
border-radius: 20px;
|
||||
border: 1px solid #e9edf0;
|
||||
background: #fff;
|
||||
color: #54708b;
|
||||
font-size: 13px;
|
||||
}
|
||||
.bs-timepicker .switch-time-format img {
|
||||
vertical-align: initial;
|
||||
margin-left: 4px;
|
||||
}
|
||||
|
||||
bs-datepicker-container,
|
||||
bs-daterangepicker-container {
|
||||
z-index: 1080;
|
||||
}
|
||||
|
||||
/* screen size < 1024px */
|
||||
@media (max-width: 768px) {
|
||||
.bs-datepicker {
|
||||
width: min-content;
|
||||
justify-content: center;
|
||||
}
|
||||
.bs-datepicker-multiple {
|
||||
display: flex;
|
||||
}
|
||||
.bs-datepicker-multiple + .bs-datepicker-multiple {
|
||||
margin-top: 10px;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
/* theming */
|
||||
.theme-default .bs-datepicker-head {
|
||||
background-color: #777;
|
||||
}
|
||||
.theme-default .btn-today-wrapper .btn-success, .theme-default .btn-clear-wrapper .btn-success {
|
||||
background-color: #777;
|
||||
border-color: #777;
|
||||
}
|
||||
.theme-default .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-default .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-default .btn-today-wrapper .btn-success:focus, .theme-default .btn-clear-wrapper .btn-success:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-default .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-default .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
|
||||
background-color: #616161;
|
||||
border-color: #616161;
|
||||
}
|
||||
.theme-default .btn-today-wrapper .btn-success:hover, .theme-default .btn-clear-wrapper .btn-success:hover {
|
||||
background-color: #6F6E6E;
|
||||
border-color: #6F6E6E;
|
||||
}
|
||||
.theme-default .bs-datepicker-predefined-btns button.selected {
|
||||
background-color: #777;
|
||||
}
|
||||
.theme-default .bs-datepicker-body table td span.selected, .theme-default .bs-datepicker-body table td.selected span,
|
||||
.theme-default .bs-datepicker-body table td span[class*=select-]:after, .theme-default .bs-datepicker-body table td[class*=select-] span:after {
|
||||
background-color: #777;
|
||||
}
|
||||
.theme-default .bs-datepicker-body table td.week span {
|
||||
color: #777;
|
||||
}
|
||||
.theme-default .bs-datepicker-body table td.active-week span:hover {
|
||||
cursor: pointer;
|
||||
background-color: #777;
|
||||
color: #fff;
|
||||
opacity: 0.5;
|
||||
transition: 0s;
|
||||
}
|
||||
|
||||
.theme-green .bs-datepicker-head {
|
||||
background-color: #5cb85c;
|
||||
}
|
||||
.theme-green .btn-today-wrapper .btn-success, .theme-green .btn-clear-wrapper .btn-success {
|
||||
background-color: #5cb85c;
|
||||
border-color: #5cb85c;
|
||||
}
|
||||
.theme-green .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-green .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-green .btn-today-wrapper .btn-success:focus, .theme-green .btn-clear-wrapper .btn-success:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-green .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-green .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
|
||||
background-color: #1e7e34;
|
||||
border-color: #1e7e34;
|
||||
}
|
||||
.theme-green .btn-today-wrapper .btn-success:hover, .theme-green .btn-clear-wrapper .btn-success:hover {
|
||||
background-color: #218838;
|
||||
border-color: #218838;
|
||||
}
|
||||
.theme-green .bs-datepicker-predefined-btns button.selected {
|
||||
background-color: #5cb85c;
|
||||
}
|
||||
.theme-green .bs-datepicker-body table td span.selected, .theme-green .bs-datepicker-body table td.selected span,
|
||||
.theme-green .bs-datepicker-body table td span[class*=select-]:after, .theme-green .bs-datepicker-body table td[class*=select-] span:after {
|
||||
background-color: #5cb85c;
|
||||
}
|
||||
.theme-green .bs-datepicker-body table td.week span {
|
||||
color: #5cb85c;
|
||||
}
|
||||
.theme-green .bs-datepicker-body table td.active-week span:hover {
|
||||
cursor: pointer;
|
||||
background-color: #5cb85c;
|
||||
color: #fff;
|
||||
opacity: 0.5;
|
||||
transition: 0s;
|
||||
}
|
||||
|
||||
.theme-blue .bs-datepicker-head {
|
||||
background-color: #5bc0de;
|
||||
}
|
||||
.theme-blue .btn-today-wrapper .btn-success, .theme-blue .btn-clear-wrapper .btn-success {
|
||||
background-color: #5bc0de;
|
||||
border-color: #5bc0de;
|
||||
}
|
||||
.theme-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-blue .btn-today-wrapper .btn-success:focus, .theme-blue .btn-clear-wrapper .btn-success:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
|
||||
background-color: #2AA8CD;
|
||||
border-color: #2AA8CD;
|
||||
}
|
||||
.theme-blue .btn-today-wrapper .btn-success:hover, .theme-blue .btn-clear-wrapper .btn-success:hover {
|
||||
background-color: #3AB3D7;
|
||||
border-color: #3AB3D7;
|
||||
}
|
||||
.theme-blue .bs-datepicker-predefined-btns button.selected {
|
||||
background-color: #5bc0de;
|
||||
}
|
||||
.theme-blue .bs-datepicker-body table td span.selected, .theme-blue .bs-datepicker-body table td.selected span,
|
||||
.theme-blue .bs-datepicker-body table td span[class*=select-]:after, .theme-blue .bs-datepicker-body table td[class*=select-] span:after {
|
||||
background-color: #5bc0de;
|
||||
}
|
||||
.theme-blue .bs-datepicker-body table td.week span {
|
||||
color: #5bc0de;
|
||||
}
|
||||
.theme-blue .bs-datepicker-body table td.active-week span:hover {
|
||||
cursor: pointer;
|
||||
background-color: #5bc0de;
|
||||
color: #fff;
|
||||
opacity: 0.5;
|
||||
transition: 0s;
|
||||
}
|
||||
|
||||
.theme-dark-blue .bs-datepicker-head {
|
||||
background-color: #337ab7;
|
||||
}
|
||||
.theme-dark-blue .btn-today-wrapper .btn-success, .theme-dark-blue .btn-clear-wrapper .btn-success {
|
||||
background-color: #337ab7;
|
||||
border-color: #337ab7;
|
||||
}
|
||||
.theme-dark-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-dark-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-dark-blue .btn-today-wrapper .btn-success:focus, .theme-dark-blue .btn-clear-wrapper .btn-success:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-dark-blue .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-dark-blue .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
|
||||
background-color: #266498;
|
||||
border-color: #266498;
|
||||
}
|
||||
.theme-dark-blue .btn-today-wrapper .btn-success:hover, .theme-dark-blue .btn-clear-wrapper .btn-success:hover {
|
||||
background-color: #2C6FA9;
|
||||
border-color: #2C6FA9;
|
||||
}
|
||||
.theme-dark-blue .bs-datepicker-predefined-btns button.selected {
|
||||
background-color: #337ab7;
|
||||
}
|
||||
.theme-dark-blue .bs-datepicker-body table td span.selected, .theme-dark-blue .bs-datepicker-body table td.selected span,
|
||||
.theme-dark-blue .bs-datepicker-body table td span[class*=select-]:after, .theme-dark-blue .bs-datepicker-body table td[class*=select-] span:after {
|
||||
background-color: #337ab7;
|
||||
}
|
||||
.theme-dark-blue .bs-datepicker-body table td.week span {
|
||||
color: #337ab7;
|
||||
}
|
||||
.theme-dark-blue .bs-datepicker-body table td.active-week span:hover {
|
||||
cursor: pointer;
|
||||
background-color: #337ab7;
|
||||
color: #fff;
|
||||
opacity: 0.5;
|
||||
transition: 0s;
|
||||
}
|
||||
|
||||
.theme-red .bs-datepicker-head {
|
||||
background-color: #d9534f;
|
||||
}
|
||||
.theme-red .btn-today-wrapper .btn-success, .theme-red .btn-clear-wrapper .btn-success {
|
||||
background-color: #d9534f;
|
||||
border-color: #d9534f;
|
||||
}
|
||||
.theme-red .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-red .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-red .btn-today-wrapper .btn-success:focus, .theme-red .btn-clear-wrapper .btn-success:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-red .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-red .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
|
||||
background-color: #D23531;
|
||||
border-color: #D23531;
|
||||
}
|
||||
.theme-red .btn-today-wrapper .btn-success:hover, .theme-red .btn-clear-wrapper .btn-success:hover {
|
||||
background-color: #E33732;
|
||||
border-color: #E33732;
|
||||
}
|
||||
.theme-red .bs-datepicker-predefined-btns button.selected {
|
||||
background-color: #d9534f;
|
||||
}
|
||||
.theme-red .bs-datepicker-body table td span.selected, .theme-red .bs-datepicker-body table td.selected span,
|
||||
.theme-red .bs-datepicker-body table td span[class*=select-]:after, .theme-red .bs-datepicker-body table td[class*=select-] span:after {
|
||||
background-color: #d9534f;
|
||||
}
|
||||
.theme-red .bs-datepicker-body table td.week span {
|
||||
color: #d9534f;
|
||||
}
|
||||
.theme-red .bs-datepicker-body table td.active-week span:hover {
|
||||
cursor: pointer;
|
||||
background-color: #d9534f;
|
||||
color: #fff;
|
||||
opacity: 0.5;
|
||||
transition: 0s;
|
||||
}
|
||||
|
||||
.theme-orange .bs-datepicker-head {
|
||||
background-color: #f0ad4e;
|
||||
}
|
||||
.theme-orange .btn-today-wrapper .btn-success, .theme-orange .btn-clear-wrapper .btn-success {
|
||||
background-color: #f0ad4e;
|
||||
border-color: #f0ad4e;
|
||||
}
|
||||
.theme-orange .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active:focus, .theme-orange .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-orange .btn-today-wrapper .btn-success:focus, .theme-orange .btn-clear-wrapper .btn-success:focus {
|
||||
box-shadow: none;
|
||||
}
|
||||
.theme-orange .btn-today-wrapper .btn-success:not(:disabled):not(.disabled):active, .theme-orange .btn-clear-wrapper .btn-success:not(:disabled):not(.disabled):active {
|
||||
background-color: #ED9C29;
|
||||
border-color: #ED9C29;
|
||||
}
|
||||
.theme-orange .btn-today-wrapper .btn-success:hover, .theme-orange .btn-clear-wrapper .btn-success:hover {
|
||||
background-color: #FFAC35;
|
||||
border-color: #FFAC35;
|
||||
}
|
||||
.theme-orange .bs-datepicker-predefined-btns button.selected {
|
||||
background-color: #f0ad4e;
|
||||
}
|
||||
.theme-orange .bs-datepicker-body table td span.selected, .theme-orange .bs-datepicker-body table td.selected span,
|
||||
.theme-orange .bs-datepicker-body table td span[class*=select-]:after, .theme-orange .bs-datepicker-body table td[class*=select-] span:after {
|
||||
background-color: #f0ad4e;
|
||||
}
|
||||
.theme-orange .bs-datepicker-body table td.week span {
|
||||
color: #f0ad4e;
|
||||
}
|
||||
.theme-orange .bs-datepicker-body table td.active-week span:hover {
|
||||
cursor: pointer;
|
||||
background-color: #f0ad4e;
|
||||
color: #fff;
|
||||
opacity: 0.5;
|
||||
transition: 0s;
|
||||
}
|
||||
|
||||
/*# sourceMappingURL=bs-datepicker.css.map */
|