Merge remote-tracking branch 'origin/develop'

This commit is contained in:
nobody 2022-08-07 07:40:25 +02:00
commit 657ed05ce7
No known key found for this signature in database
GPG Key ID: 8F6DE3D614FCFD7A
113 changed files with 1813 additions and 305 deletions

View File

@ -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

View File

@ -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.

View File

@ -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

View File

@ -136,7 +136,7 @@
"description": "Internal statistics"
},
"internalStatisticsDescription": {
"message": "Эта функция находится в эеспериментальном состоянии. Данные не передаются. Все хранится только на вашем устройстве.",
"message": "Эта функция находится в экспериментальном состоянии. Данные не передаются. Все хранится только на вашем устройстве.",
"description": "No data transmission. Its 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": {

View File

@ -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 thats 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": {

View File

@ -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

View File

@ -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,

View File

@ -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) {

View File

@ -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

View File

@ -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 || {};

View File

@ -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'

View File

@ -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;

View File

@ -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}",

View File

@ -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`;

View File

@ -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',

View File

@ -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}`;

View File

@ -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>

View File

@ -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;

View File

@ -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}`;

View File

@ -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>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

Before

Width:  |  Height:  |  Size: 458 KiB

After

Width:  |  Height:  |  Size: 458 KiB

View File

Before

Width:  |  Height:  |  Size: 107 KiB

After

Width:  |  Height:  |  Size: 107 KiB

View File

Before

Width:  |  Height:  |  Size: 640 KiB

After

Width:  |  Height:  |  Size: 640 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 618 B

View File

@ -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;
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -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 */

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More