j1-template 2020.0.22 → 2020.0.24
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/layouts/content_generator_page.html +1 -1
- data/_includes/themes/j1/layouts/content_generator_post.html +63 -161
- data/_includes/themes/j1/modules/connectors/ad/google-adsense.html +14 -0
- data/_includes/themes/j1/modules/connectors/analytic/google-analytics.html +1 -3
- data/_includes/themes/j1/modules/connectors/comment/disqus.html +37 -24
- data/_includes/themes/j1/modules/navigator/generator.html +8 -3
- data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +36 -26
- data/_includes/themes/j1/procedures/layouts/module_writer.proc +1 -1
- data/_includes/themes/j1/procedures/posts/create_series_header.proc +9 -5
- data/assets/data/banner.html +1 -1
- data/assets/data/fam.html +124 -0
- data/assets/data/mmenu_sidebar.html +3 -3
- data/assets/data/panel.html +9 -9
- data/assets/data/quicklinks.html +13 -13
- data/assets/error_pages/HTTP204.html +1 -0
- data/assets/error_pages/HTTP400.html +3 -2
- data/assets/error_pages/HTTP401.html +3 -2
- data/assets/error_pages/HTTP403.html +3 -2
- data/assets/error_pages/HTTP404.html +3 -2
- data/assets/error_pages/HTTP500.html +3 -2
- data/assets/error_pages/HTTP501.html +3 -2
- data/assets/error_pages/HTTP502.html +3 -2
- data/assets/error_pages/HTTP503.html +3 -2
- data/assets/error_pages/HTTP520.html +3 -2
- data/assets/error_pages/HTTP521.html +3 -2
- data/assets/error_pages/HTTP533.html +3 -2
- data/assets/themes/j1/adapter/js/{ssm.js → fam.js} +248 -138
- data/assets/themes/j1/adapter/js/framer.js +72 -56
- data/assets/themes/j1/adapter/js/gallery_customizer.js +2 -1
- data/assets/themes/j1/adapter/js/j1.js +8 -2
- data/assets/themes/j1/adapter/js/{searcher.js → lunr_search.js} +68 -65
- data/assets/themes/j1/adapter/js/toccer.js +62 -30
- data/assets/themes/j1/core/css/bootstrap.css +7154 -0
- data/assets/themes/j1/core/css/bootstrap.min.css +6 -0
- data/assets/themes/j1/core/css/custom.scss +28 -0
- data/assets/themes/j1/core/css/globals.css +14523 -0
- data/assets/themes/j1/core/css/globals.min.css +1 -0
- data/assets/themes/j1/core/css/globals.scss +28 -0
- data/assets/themes/j1/core/css/theme_extensions.css +11558 -0
- data/assets/themes/j1/core/css/theme_extensions.min.css +1 -0
- data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.css +7 -4
- data/assets/themes/j1/core/css/themes/bootstrap/bootstrap.min.css +2 -2
- data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.css +7 -4
- data/assets/themes/j1/core/css/themes/uno-dark/bootstrap.min.css +2 -2
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.css +514 -417
- data/assets/themes/j1/core/css/themes/uno-light/bootstrap.min.css +2 -2
- data/assets/themes/j1/core/css/uno.css +11823 -0
- data/assets/themes/j1/core/css/uno.min.css +1 -0
- data/assets/themes/j1/core/css/uno.scss +28 -0
- data/assets/themes/j1/core/css/vendor.css +5 -4
- data/assets/themes/j1/core/css/vendor.min.css +1 -1
- data/assets/themes/j1/core/css/vendor.scss +28 -0
- data/assets/themes/j1/core/js/template.js +6 -11
- data/assets/themes/j1/core/js/template.js.map +1 -1
- data/assets/themes/j1/core/js/template.min.js +1 -1
- data/assets/themes/j1/modules/bmd/js/bootstrap-material-design.js +6 -0
- data/assets/themes/j1/modules/cash/js/cash.js +1374 -0
- data/assets/themes/j1/modules/cash/js/cash.min.js +42 -0
- data/assets/themes/j1/modules/fam/css/uno/fam.css +369 -0
- data/assets/themes/j1/modules/fam/js/fam.js +477 -0
- data/assets/themes/j1/modules/iframeResizer/examples/frame.nested.html +1 -1
- data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.js → resizer.js} +0 -0
- data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.map → resizer.map} +0 -0
- data/assets/themes/j1/modules/iframeResizer/js/{iframeResizer.min.js → resizer.min.js} +0 -0
- data/assets/themes/j1/modules/jquery/js/require.js +2145 -0
- data/assets/themes/j1/modules/jquery/js/require.min.js +5 -0
- data/assets/themes/j1/modules/lunrSearch/css/lunr_search.css +32 -0
- data/assets/themes/j1/modules/lunrSearch/css/lunr_search.min.css +25 -0
- data/assets/themes/j1/modules/lunrSearch/js/dateformat.js +125 -0
- data/assets/themes/j1/modules/lunrSearch/js/dateformat.min.js +14 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr.js +3475 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr.min.js +51 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr_search.js +184 -0
- data/assets/themes/j1/modules/lunrSearch/js/lunr_search.min.js +17 -0
- data/assets/themes/j1/modules/lunrSearch/js/mustache.js +772 -0
- data/assets/themes/j1/modules/lunrSearch/js/mustache.min.js +772 -0
- data/assets/themes/j1/modules/lunrSearch/js/uri.js +2340 -0
- data/assets/themes/j1/modules/lunrSearch/js/uri.min.js +93 -0
- data/assets/themes/j1/modules/materialize/js/anime.js +1283 -0
- data/assets/themes/j1/modules/materialize/js/anime.min.js +34 -0
- data/assets/themes/j1/modules/materialize/js/autocomplete.js +450 -0
- data/assets/themes/j1/modules/materialize/js/buttons.js +409 -0
- data/assets/themes/j1/modules/materialize/js/cards.js +40 -0
- data/assets/themes/j1/modules/materialize/js/carousel.js +717 -0
- data/assets/themes/j1/modules/materialize/js/cash-dom.js +1044 -0
- data/assets/themes/j1/modules/materialize/js/cash.js +960 -0
- data/assets/themes/j1/modules/materialize/js/characterCounter.js +136 -0
- data/assets/themes/j1/modules/materialize/js/chips.js +481 -0
- data/assets/themes/j1/modules/materialize/js/collapsible.js +275 -0
- data/assets/themes/j1/modules/materialize/js/component.js +44 -0
- data/assets/themes/j1/modules/materialize/js/datepicker.js +975 -0
- data/assets/themes/j1/modules/materialize/js/dropdown.js +617 -0
- data/assets/themes/j1/modules/materialize/js/forms.js +275 -0
- data/assets/themes/j1/modules/materialize/js/global.js +427 -0
- data/assets/themes/j1/modules/materialize/js/materialbox.js +453 -0
- data/assets/themes/j1/modules/materialize/js/modal.js +382 -0
- data/assets/themes/j1/modules/materialize/js/parallax.js +138 -0
- data/assets/themes/j1/modules/materialize/js/pushpin.js +145 -0
- data/assets/themes/j1/modules/materialize/js/range.js +263 -0
- data/assets/themes/j1/modules/materialize/js/ripple.js +335 -0
- data/assets/themes/j1/modules/materialize/js/scrollspy.js +295 -0
- data/assets/themes/j1/modules/materialize/js/select.js +432 -0
- data/assets/themes/j1/modules/materialize/js/sidenav.js +580 -0
- data/assets/themes/j1/modules/materialize/js/slider.js +359 -0
- data/assets/themes/j1/modules/materialize/js/tabs.js +402 -0
- data/assets/themes/j1/modules/materialize/js/tapTarget.js +314 -0
- data/assets/themes/j1/modules/materialize/js/timepicker.js +647 -0
- data/assets/themes/j1/modules/materialize/js/toasts.js +310 -0
- data/assets/themes/j1/modules/materialize/js/tooltip.js +303 -0
- data/assets/themes/j1/modules/materialize/js/waves.js +335 -0
- data/assets/themes/j1/modules/materialize/scss/components/_badges.scss +55 -0
- data/assets/themes/j1/modules/materialize/scss/components/_buttons.scss +322 -0
- data/assets/themes/j1/modules/materialize/scss/components/_cards.scss +195 -0
- data/assets/themes/j1/modules/materialize/scss/components/_carousel.scss +90 -0
- data/assets/themes/j1/modules/materialize/scss/components/_chips.scss +90 -0
- data/assets/themes/j1/modules/materialize/scss/components/_collapsible.scss +91 -0
- data/assets/themes/j1/modules/materialize/scss/components/_color-classes.scss +32 -0
- data/assets/themes/j1/modules/materialize/scss/components/_color-variables.scss +370 -0
- data/assets/themes/j1/modules/materialize/scss/components/_datepicker.scss +191 -0
- data/assets/themes/j1/modules/materialize/scss/components/_dropdown.scss +85 -0
- data/assets/themes/j1/modules/materialize/scss/components/_global.scss +769 -0
- data/assets/themes/j1/modules/materialize/scss/components/_grid.scss +156 -0
- data/assets/themes/j1/modules/materialize/scss/components/_icons-material-design.scss +5 -0
- data/assets/themes/j1/modules/materialize/scss/components/_materialbox.scss +43 -0
- data/assets/themes/j1/modules/materialize/scss/components/_modal.scss +94 -0
- data/assets/themes/j1/modules/materialize/scss/components/_navbar.scss +208 -0
- data/assets/themes/j1/modules/materialize/scss/components/_normalize.scss +447 -0
- data/assets/themes/j1/modules/materialize/scss/components/_preloader.scss +334 -0
- data/assets/themes/j1/modules/materialize/scss/components/_pulse.scss +34 -0
- data/assets/themes/j1/modules/materialize/scss/components/_sidenav.scss +216 -0
- data/assets/themes/j1/modules/materialize/scss/components/_slider.scss +92 -0
- data/assets/themes/j1/modules/materialize/scss/components/_table_of_contents.scss +33 -0
- data/assets/themes/j1/modules/materialize/scss/components/_tabs.scss +99 -0
- data/assets/themes/j1/modules/materialize/scss/components/_tapTarget.scss +103 -0
- data/assets/themes/j1/modules/materialize/scss/components/_timepicker.scss +183 -0
- data/assets/themes/j1/modules/materialize/scss/components/_toast.scss +58 -0
- data/assets/themes/j1/modules/materialize/scss/components/_tooltip.scss +32 -0
- data/assets/themes/j1/modules/materialize/scss/components/_transitions.scss +13 -0
- data/assets/themes/j1/modules/materialize/scss/components/_typography.scss +60 -0
- data/assets/themes/j1/modules/materialize/scss/components/_variables.scss +349 -0
- data/assets/themes/j1/modules/materialize/scss/components/_waves.scss +114 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_checkboxes.scss +200 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_file-input.scss +44 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_forms.scss +22 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_input-fields.scss +354 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_radio-buttons.scss +115 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_range.scss +161 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_select.scss +180 -0
- data/assets/themes/j1/modules/materialize/scss/components/forms/_switches.scss +89 -0
- data/assets/themes/j1/modules/materialize/scss/materialize.scss +41 -0
- data/assets/themes/j1/modules/{bsThemeSwitcher → themeSwitcher}/js/switcher.js +0 -0
- data/assets/themes/j1/modules/{bsThemeSwitcher → themeSwitcher}/js/switcher.min.js +0 -0
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +12 -16
- data/lib/starter_web/_config.yml +95 -21
- data/lib/starter_web/_data/blocks/banner.yml +1 -1
- data/lib/starter_web/_data/blocks/panel.yml +6 -6
- data/lib/starter_web/_data/j1_config.yml +7 -6
- data/lib/starter_web/_data/layouts/home.yml +13 -3
- data/lib/starter_web/_data/layouts/page.yml +10 -0
- data/lib/starter_web/_data/layouts/post.yml +10 -0
- data/lib/starter_web/_data/modules/defaults/{ssm.yml → fam.yml} +12 -15
- data/lib/starter_web/_data/modules/defaults/lunr_search.yml +171 -0
- data/lib/starter_web/_data/modules/defaults/navigator.yml +4 -4
- data/lib/starter_web/_data/modules/defaults/toccer.yml +4 -2
- data/lib/starter_web/_data/modules/fam.yml +158 -0
- data/lib/starter_web/_data/modules/{back2top.yml → lunr_search.yml} +15 -9
- data/lib/starter_web/_data/modules/navigator.yml +2 -2
- data/lib/starter_web/_data/modules/navigator_menu.yml +57 -6
- data/lib/starter_web/_data/modules/toccer.yml +0 -73
- data/lib/starter_web/_data/resources.yml +151 -104
- data/lib/starter_web/_includes/attributes.asciidoc +2 -2
- data/lib/starter_web/_includes/breadcrumbs.html +11 -0
- data/lib/starter_web/_plugins/debug.rb +0 -1
- data/lib/starter_web/_plugins/filters.rb +0 -1
- data/lib/starter_web/_plugins/{lorem-inline.rb → lorem_inline.rb} +1 -2
- data/lib/starter_web/_plugins/lunr_index.rb +313 -0
- data/lib/starter_web/_plugins/prettify.rb +0 -3
- data/lib/starter_web/_plugins/simple_search_filter.rb +0 -1
- data/lib/starter_web/_plugins/symlink_watcher.rb +2 -3
- data/lib/starter_web/assets/images/modules/attics/banner/lunr-banner-1280x800.jpg +0 -0
- data/lib/starter_web/assets/images/pages/winlogbeat/coordinate-map.png +0 -0
- data/lib/starter_web/assets/images/pages/winlogbeat/kibana-powershell.jpg +0 -0
- data/lib/starter_web/assets/images/pages/winlogbeat/option_ignore_outgoing.png +0 -0
- data/lib/starter_web/assets/images/pages/winlogbeat/winlogbeat-dashboard.png +0 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/2018-05-01-confusion-about-base-url.adoc +2 -4
- data/lib/starter_web/collections/posts/public/featured/_posts/2019-05-01-top-open-source-static-site-generators.adoc +4 -2
- data/lib/starter_web/collections/posts/public/featured/_posts/2019-06-01-about-cookies.adoc +3 -2
- data/lib/starter_web/collections/posts/public/series/_posts/2018-11-01-docker-using-shared-folders.adoc +5 -4
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-01-post-test-series.adoc +144 -0
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-02-post-test-series.adoc +146 -0
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-03-post-test-series.adoc +146 -0
- data/lib/starter_web/collections/posts/public/series/_posts/2020-01-04-post-test-series.adoc +146 -0
- data/lib/starter_web/collections/posts/public/test_posts/_posts/2020-09-11-test_post.adoc +2 -4
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-20-minneapolis.adoc +2 -3
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-24-narcisse-snake-dens.adoc +2 -7
- data/lib/starter_web/collections/posts/public/wikipedia/_posts/2016-11-26-columbia-river.adoc +2 -6
- data/lib/starter_web/index.html +16 -10
- data/lib/starter_web/package.json +5 -2
- data/lib/starter_web/pages/public/about/about_site.adoc +0 -2
- data/lib/starter_web/pages/public/about/become_a_patron.adoc +1 -3
- data/lib/starter_web/pages/public/blog/navigator/archive.html +8 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/categoryview.html +7 -3
- data/lib/starter_web/pages/public/blog/navigator/archive/dateview.html +8 -1
- data/lib/starter_web/pages/public/blog/navigator/archive/tagview.html +7 -2
- data/lib/starter_web/pages/public/blog/navigator/index.html +6 -2
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/100_meet_and_greet_jekyll.adoc +3 -4
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/200_preparations.adoc +3 -4
- data/lib/starter_web/pages/public/learn/kickstarter/web_in_a_day/300_first_awesome_web.adoc +3 -4
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +25 -20
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_videos.adoc +14 -12
- data/lib/starter_web/pages/public/learn/roundtrip/200_typography.adoc +20 -20
- data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +13 -8
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +14 -9
- data/lib/starter_web/pages/public/learn/roundtrip/410_bs_modals_extentions.adoc +9 -6
- data/lib/starter_web/pages/public/learn/roundtrip/420_responsive_tables_extensions.adoc +62 -8
- data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +9 -7
- data/lib/starter_web/pages/public/learn/roundtrip/600_lunr.adoc +237 -0
- data/lib/starter_web/pages/public/learn/roundtrip/610_fam.adoc +302 -0
- data/lib/starter_web/pages/public/learn/where_to_go.adoc +3 -7
- data/lib/starter_web/pages/public/legal/de/100_impress.adoc +3 -2
- data/lib/starter_web/pages/public/legal/de/200_terms_of_use.adoc +2 -1
- data/lib/starter_web/pages/public/legal/de/300_privacy.adoc +2 -1
- data/lib/starter_web/pages/public/legal/de/400_license_agreement.adoc +2 -1
- data/lib/starter_web/pages/public/legal/de/500_support.adoc +2 -1
- data/lib/starter_web/pages/public/legal/en/000_copyright.adoc +30 -27
- data/lib/starter_web/pages/public/legal/en/100_impress.adoc +8 -5
- data/lib/starter_web/pages/public/legal/en/200_terms_of_use.adoc +12 -8
- data/lib/starter_web/pages/public/legal/en/300_privacy.adoc +7 -0
- data/lib/starter_web/pages/public/legal/en/400_license_agreement.adoc +8 -1
- data/lib/starter_web/pages/public/legal/en/500_support.adoc +8 -1
- data/lib/starter_web/pages/public/previewer/bootstrap_theme.adoc +3 -1
- data/lib/starter_web/pages/public/previewer/iframer.adoc +36 -28
- data/lib/starter_web/pages/public/previewer/justified_gallery.html +2 -1
- data/lib/starter_web/pages/public/previewer/mdi_icons_preview.adoc +2 -1
- data/lib/starter_web/pages/public/previewer/rouge.adoc +4 -2
- data/lib/starter_web/pages/public/previewer/twitter_emoji_preview.adoc +2 -1
- data/lib/starter_web/pages/public/test_pages/breadcrumbs_tester.adoc +62 -0
- data/lib/starter_web/pages/public/test_pages/deck_of_posts.adoc +3 -0
- data/lib/starter_web/pages/public/test_pages/floating_actions_button.adoc +523 -0
- data/lib/starter_web/pages/public/test_pages/floating_ad.adoc +1 -0
- data/lib/starter_web/pages/public/test_pages/floating_div.adoc +1 -0
- data/lib/starter_web/pages/public/test_pages/lunr_tester.adoc +89 -0
- data/lib/starter_web/pages/public/test_pages/nav_pagination_tester.adoc +1 -0
- data/lib/starter_web/pages/public/test_pages/page_attribute_tester.adoc +1 -0
- data/lib/starter_web/pages/public/test_pages/responsive_images.adoc +3 -2
- data/lib/starter_web/pages/public/test_pages/responsive_tables.adoc +1 -0
- data/lib/starter_web/pages/public/test_pages/toccer_tester.adoc +2245 -0
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +137 -29
- data/assets/data/search.json +0 -165
- data/assets/data/ssm.html +0 -242
- data/assets/themes/j1/adapter/js/back2top.js +0 -231
- data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.js +0 -468
- data/assets/themes/j1/modules/jekyllSearch/js/simple-jekyll-search.min.js +0 -6
- data/assets/themes/j1/modules/tocbot/css/theme/uno.css +0 -95
- data/assets/themes/j1/modules/tocbot/css/theme/uno.min.css +0 -15
- data/assets/themes/j1/modules/tocbot/css/tocbot.css +0 -75
- data/assets/themes/j1/modules/tocbot/css/tocbot.min.css +0 -19
- data/assets/themes/j1/modules/tocbot/js/tocbot.js +0 -19
- data/assets/themes/j1/modules/tocbot/js/tocbot.min.js +0 -19
- data/lib/starter_web/_data/modules/defaults/back2top.yml +0 -146
- data/lib/starter_web/_data/modules/defaults/stickybits.yml +0 -36
- data/lib/starter_web/_data/modules/ssm.yml +0 -142
@@ -0,0 +1,42 @@
|
|
1
|
+
/* MIT https://github.com/fabiospampinato/cash */
|
2
|
+
(function(){
|
3
|
+
'use strict';var e={"class":"className",contenteditable:"contentEditable","for":"htmlFor",readonly:"readOnly",maxlength:"maxLength",tabindex:"tabIndex",colspan:"colSpan",rowspan:"rowSpan",usemap:"useMap"};function aa(a,b){try{return a(b)}catch(c){return b}}
|
4
|
+
var k=document,m=window,ba=k.documentElement,n=k.createElement.bind(k),ca=n("div"),p=n("table"),da=n("tbody"),ea=n("tr"),q=Array.isArray,r=Array.prototype,fa=r.concat,t=r.filter,ha=r.indexOf,ia=r.map,ja=r.push,ka=r.slice,u=r.some,la=r.splice,ma=/^#(?:[\w-]|\\.|[^\x00-\xa0])*$/,na=/^\.(?:[\w-]|\\.|[^\x00-\xa0])*$/,oa=/<.+>/,pa=/^\w+$/;function v(a,b){return a&&(w(b)||x(b))?na.test(a)?b.getElementsByClassName(a.slice(1)):pa.test(a)?b.getElementsByTagName(a):b.querySelectorAll(a):[]}
|
5
|
+
var B=function(){function a(a,c){if(a){if(a instanceof B)return a;var b=a;if(C(a)){if(b=(c instanceof B?c[0]:c)||k,b=ma.test(a)?b.getElementById(a.slice(1)):oa.test(a)?qa(a):v(a,b),!b)return}else if(D(a))return this.ready(a);if(b.nodeType||b===m)b=[b];this.length=b.length;a=0;for(c=this.length;a<c;a++)this[a]=b[a]}}a.prototype.init=function(b,c){return new a(b,c)};return a}(),E=B.prototype,F=E.init;F.fn=F.prototype=E;E.length=0;E.splice=la;"function"===typeof Symbol&&(E[Symbol.iterator]=r[Symbol.iterator]);
|
6
|
+
E.map=function(a){return F(fa.apply([],ia.call(this,function(b,c){return a.call(b,c,b)})))};E.slice=function(a,b){return F(ka.call(this,a,b))};var ra=/-([a-z])/g;function G(a){return a.replace(ra,function(a,c){return c.toUpperCase()})}F.guid=1;function sa(a,b){var c=a&&(a.matches||a.webkitMatchesSelector||a.msMatchesSelector);return!!c&&!!b&&c.call(a,b)}function H(a){return!!a&&a===a.window}function w(a){return!!a&&9===a.nodeType}function x(a){return!!a&&1===a.nodeType}
|
7
|
+
function D(a){return"function"===typeof a}function C(a){return"string"===typeof a}function ta(a){return!isNaN(parseFloat(a))&&isFinite(a)}function I(a){if("object"!==typeof a||null===a)return!1;a=Object.getPrototypeOf(a);return null===a||a===Object.prototype}F.isWindow=H;F.isFunction=D;F.isArray=q;F.isNumeric=ta;F.isPlainObject=I;E.get=function(a){if(void 0===a)return ka.call(this);a=Number(a);return this[0>a?a+this.length:a]};E.eq=function(a){return F(this.get(a))};E.first=function(){return this.eq(0)};
|
8
|
+
E.last=function(){return this.eq(-1)};function J(a,b,c){if(c)for(c=a.length;c--&&!1!==b.call(a[c],c,a[c]););else if(I(a)){var d=Object.keys(a);c=0;for(var h=d.length;c<h;c++){var f=d[c];if(!1===b.call(a[f],f,a[f]))break}}else for(c=0,h=a.length;c<h&&!1!==b.call(a[c],c,a[c]);c++);return a}F.each=J;E.each=function(a){return J(this,a)};E.prop=function(a,b){if(a){if(C(a))return a=e[a]||a,2>arguments.length?this[0]&&this[0][a]:this.each(function(c,h){h[a]=b});for(var c in a)this.prop(c,a[c]);return this}};
|
9
|
+
E.removeProp=function(a){return this.each(function(b,c){delete c[e[a]||a]})};function K(){for(var a=[],b=0;b<arguments.length;b++)a[b]=arguments[b];b="boolean"===typeof a[0]?a.shift():!1;var c=a.shift(),d=a.length;if(!c)return{};if(!d)return K(b,F,c);for(var h=0;h<d;h++){var f=a[h],g;for(g in f)b&&(q(f[g])||I(f[g]))?(c[g]&&c[g].constructor===f[g].constructor||(c[g]=new f[g].constructor),K(b,c[g],f[g])):c[g]=f[g]}return c}F.extend=K;E.extend=function(a){return K(E,a)};
|
10
|
+
function L(a){return C(a)?function(b,c){return sa(c,a)}:D(a)?a:a instanceof B?function(b,c){return a.is(c)}:a?function(b,c){return c===a}:function(){return!1}}E.filter=function(a){var b=L(a);return F(t.call(this,function(a,d){return b.call(a,d,a)}))};function M(a,b){return b?a.filter(b):a}var ua=/\S+/g;function N(a){return C(a)?a.match(ua)||[]:[]}E.hasClass=function(a){return!!a&&u.call(this,function(b){return x(b)&&b.classList.contains(a)})};
|
11
|
+
E.removeAttr=function(a){var b=N(a);return this.each(function(a,d){x(d)&&J(b,function(a,b){d.removeAttribute(b)})})};E.attr=function(a,b){if(a){if(C(a)){if(2>arguments.length){if(!this[0]||!x(this[0]))return;var c=this[0].getAttribute(a);return null===c?void 0:c}return void 0===b?this:null===b?this.removeAttr(a):this.each(function(c,h){x(h)&&h.setAttribute(a,b)})}for(c in a)this.attr(c,a[c]);return this}};
|
12
|
+
E.toggleClass=function(a,b){var c=N(a),d=void 0!==b;return this.each(function(a,f){x(f)&&J(c,function(a,c){d?b?f.classList.add(c):f.classList.remove(c):f.classList.toggle(c)})})};E.addClass=function(a){return this.toggleClass(a,!0)};E.removeClass=function(a){return arguments.length?this.toggleClass(a,!1):this.attr("class","")};
|
13
|
+
function O(a,b,c,d){for(var h=[],f=D(b),g=d&&L(d),y=0,z=a.length;y<z;y++)if(f){var l=b(a[y]);l.length&&ja.apply(h,l)}else for(l=a[y][b];!(null==l||d&&g(-1,l));)h.push(l),l=c?l[b]:null;return h}function P(a){return 1<a.length?t.call(a,function(a,c,d){return ha.call(d,a)===c}):a}F.unique=P;E.add=function(a,b){return F(P(this.get().concat(F(a,b).get())))};function Q(a,b,c){if(x(a)){var d=m.getComputedStyle(a,null);return c?d.getPropertyValue(b)||void 0:d[b]||a.style[b]}}
|
14
|
+
function R(a,b){return parseInt(Q(a,b),10)||0}var S=/^--/,T={},va=ca.style,wa=["webkit","moz","ms"];function xa(a,b){void 0===b&&(b=S.test(a));if(b)return a;if(!T[a]){b=G(a);var c=""+b[0].toUpperCase()+b.slice(1);b=(b+" "+wa.join(c+" ")+c).split(" ");J(b,function(b,c){if(c in va)return T[a]=c,!1})}return T[a]}
|
15
|
+
var ya={animationIterationCount:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0};function za(a,b,c){void 0===c&&(c=S.test(a));return c||ya[a]||!ta(b)?b:b+"px"}
|
16
|
+
E.css=function(a,b){if(C(a)){var c=S.test(a);a=xa(a,c);if(2>arguments.length)return this[0]&&Q(this[0],a,c);if(!a)return this;b=za(a,b,c);return this.each(function(d,f){x(f)&&(c?f.style.setProperty(a,b):f.style[a]=b)})}for(var d in a)this.css(d,a[d]);return this};var Aa=/^\s+|\s+$/;function Ba(a,b){a=a.dataset[b]||a.dataset[G(b)];return Aa.test(a)?a:aa(JSON.parse,a)}
|
17
|
+
E.data=function(a,b){if(!a){if(!this[0])return;var c={},d;for(d in this[0].dataset)c[d]=Ba(this[0],d);return c}if(C(a))return 2>arguments.length?this[0]&&Ba(this[0],a):void 0===b?this:this.each(function(c,d){c=b;c=aa(JSON.stringify,c);d.dataset[G(a)]=c});for(d in a)this.data(d,a[d]);return this};function Ca(a,b){var c=a.documentElement;return Math.max(a.body["scroll"+b],c["scroll"+b],a.body["offset"+b],c["offset"+b],c["client"+b])}
|
18
|
+
function Da(a,b){return R(a,"border"+(b?"Left":"Top")+"Width")+R(a,"padding"+(b?"Left":"Top"))+R(a,"padding"+(b?"Right":"Bottom"))+R(a,"border"+(b?"Right":"Bottom")+"Width")}
|
19
|
+
J([!0,!1],function(a,b){J(["Width","Height"],function(a,d){E[(b?"outer":"inner")+d]=function(c){if(this[0])return H(this[0])?b?this[0]["inner"+d]:this[0].document.documentElement["client"+d]:w(this[0])?Ca(this[0],d):this[0][(b?"offset":"client")+d]+(c&&b?R(this[0],"margin"+(a?"Top":"Left"))+R(this[0],"margin"+(a?"Bottom":"Right")):0)}})});
|
20
|
+
J(["Width","Height"],function(a,b){var c=b.toLowerCase();E[c]=function(d){if(!this[0])return void 0===d?void 0:this;if(!arguments.length)return H(this[0])?this[0].document.documentElement["client"+b]:w(this[0])?Ca(this[0],b):this[0].getBoundingClientRect()[c]-Da(this[0],!a);var h=parseInt(d,10);return this.each(function(b,d){x(d)&&(b=Q(d,"boxSizing"),d.style[c]=za(c,h+("border-box"===b?Da(d,!a):0)))})}});var U={};
|
21
|
+
E.toggle=function(a){return this.each(function(b,c){if(x(c))if(void 0===a?"none"===Q(c,"display"):a){if(c.style.display=c.___cd||"","none"===Q(c,"display")){b=c.style;c=c.tagName;if(U[c])c=U[c];else{var d=n(c);k.body.insertBefore(d,null);var h=Q(d,"display");k.body.removeChild(d);c=U[c]="none"!==h?h:"block"}b.display=c}}else c.___cd=Q(c,"display"),c.style.display="none"})};E.hide=function(){return this.toggle(!1)};E.show=function(){return this.toggle(!0)};
|
22
|
+
function Ea(a,b){return!b||!u.call(b,function(b){return 0>a.indexOf(b)})}var V={focus:"focusin",blur:"focusout"},W={mouseenter:"mouseover",mouseleave:"mouseout"},Fa=/^(mouse|pointer|contextmenu|drag|drop|click|dblclick)/i;function Ga(a,b,c,d,h){var f=a.___ce=a.___ce||{};f[b]=f[b]||[];f[b].push([c,d,h]);a.addEventListener(b,h)}function X(a){a=a.split(".");return[a[0],a.slice(1).sort()]}
|
23
|
+
function Y(a,b,c,d,h){var f=a.___ce=a.___ce||{};if(b)f[b]&&(f[b]=f[b].filter(function(f){var g=f[0],z=f[1];f=f[2];if(h&&f.guid!==h.guid||!Ea(g,c)||d&&d!==z)return!0;a.removeEventListener(b,f)}));else for(b in f)Y(a,b,c,d,h)}
|
24
|
+
E.off=function(a,b,c){var d=this;if(void 0===a)this.each(function(a,b){(x(b)||w(b)||H(b))&&Y(b)});else if(C(a))D(b)&&(c=b,b=""),J(N(a),function(a,h){a=X(h);h=a[0];var f=a[1],g=W[h]||V[h]||h;d.each(function(a,d){(x(d)||w(d)||H(d))&&Y(d,g,f,b,c)})});else for(var h in a)this.off(h,a[h]);return this};
|
25
|
+
E.on=function(a,b,c,d,h){var f=this;if(!C(a)){for(var g in a)this.on(g,b,c,a[g],h);return this}C(b)||(void 0!==b&&null!==b&&(void 0!==c&&(d=c),c=b),b="");D(d)||(d=c,c=void 0);if(!d)return this;J(N(a),function(a,g){a=X(g);g=a[0];var l=a[1],z=W[g]||V[g]||g,y=g in W,Ka=g in V;z&&f.each(function(a,f){if(x(f)||w(f)||H(f))a=function La(a){if(a.target["___i"+a.type])return a.stopImmediatePropagation();if(!a.namespace||Ea(l,a.namespace.split(".")))if(b||!(Ka&&(a.target!==f||a.___ot===z)||y&&a.relatedTarget&&
|
26
|
+
f.contains(a.relatedTarget))){var g=f;if(b){for(var A=a.target;!sa(A,b);){if(A===f)return;A=A.parentNode;if(!A)return}g=A;a.___cd=!0}a.___cd&&Object.defineProperty(a,"currentTarget",{configurable:!0,get:function(){return g}});Object.defineProperty(a,"data",{configurable:!0,get:function(){return c}});A=d.call(g,a,a.___td);h&&Y(f,z,l,b,La);!1===A&&(a.preventDefault(),a.stopPropagation())}},a.guid=d.guid=d.guid||F.guid++,Ga(f,z,l,b,a)})});return this};E.one=function(a,b,c,d){return this.on(a,b,c,d,!0)};
|
27
|
+
E.ready=function(a){function b(){return setTimeout(a,0,F)}"loading"!==k.readyState?b():k.addEventListener("DOMContentLoaded",b);return this};E.trigger=function(a,b){if(C(a)){var c=X(a),d=c[0];c=c[1];var h=W[d]||V[d]||d;if(!h)return this;var f=Fa.test(h)?"MouseEvents":"HTMLEvents";a=k.createEvent(f);a.initEvent(h,!0,!0);a.namespace=c.join(".");a.___ot=d}a.___td=b;var g=a.___ot in V;return this.each(function(b,c){g&&D(c[a.___ot])&&(c["___i"+a.type]=!0,c[a.___ot](),c["___i"+a.type]=!1);c.dispatchEvent(a)})};
|
28
|
+
function Ha(a){return a.multiple&&a.options?O(t.call(a.options,function(a){return a.selected&&!a.disabled&&!a.parentNode.disabled}),"value"):a.value||""}var Ia=/%20/g,Ja=/\r?\n/g,Ma=/file|reset|submit|button|image/i,Na=/radio|checkbox/i;
|
29
|
+
E.serialize=function(){var a="";this.each(function(b,c){J(c.elements||[c],function(b,c){c.disabled||!c.name||"FIELDSET"===c.tagName||Ma.test(c.type)||Na.test(c.type)&&!c.checked||(b=Ha(c),void 0!==b&&(b=q(b)?b:[b],J(b,function(b,d){b=a;d="&"+encodeURIComponent(c.name)+"="+encodeURIComponent(d.replace(Ja,"\r\n")).replace(Ia,"+");a=b+d})))})});return a.slice(1)};
|
30
|
+
E.val=function(a){return arguments.length?this.each(function(b,c){if((b=c.multiple&&c.options)||Na.test(c.type)){var d=q(a)?ia.call(a,String):null===a?[]:[String(a)];b?J(c.options,function(a,b){b.selected=0<=d.indexOf(b.value)},!0):c.checked=0<=d.indexOf(c.value)}else c.value=void 0===a||null===a?"":a}):this[0]&&Ha(this[0])};E.clone=function(){return this.map(function(a,b){return b.cloneNode(!0)})};E.detach=function(a){M(this,a).each(function(a,c){c.parentNode&&c.parentNode.removeChild(c)});return this};
|
31
|
+
var Oa=/^\s*<(\w+)[^>]*>/,Pa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,Qa={"*":ca,tr:da,td:ea,th:ea,thead:p,tbody:p,tfoot:p};function qa(a){if(!C(a))return[];if(Pa.test(a))return[n(RegExp.$1)];var b=Oa.test(a)&&RegExp.$1;b=Qa[b]||Qa["*"];b.innerHTML=a;return F(b.childNodes).detach().get()}F.parseHTML=qa;E.empty=function(){return this.each(function(a,b){for(;b.firstChild;)b.removeChild(b.firstChild)})};
|
32
|
+
E.html=function(a){return arguments.length?void 0===a?this:this.each(function(b,c){x(c)&&(c.innerHTML=a)}):this[0]&&this[0].innerHTML};E.remove=function(a){M(this,a).detach().off();return this};E.text=function(a){return void 0===a?this[0]?this[0].textContent:"":this.each(function(b,c){x(c)&&(c.textContent=a)})};E.unwrap=function(){this.parent().each(function(a,b){"BODY"!==b.tagName&&(a=F(b),a.replaceWith(a.children()))});return this};
|
33
|
+
E.offset=function(){var a=this[0];if(a)return a=a.getBoundingClientRect(),{top:a.top+m.pageYOffset,left:a.left+m.pageXOffset}};E.offsetParent=function(){return this.map(function(a,b){for(a=b.offsetParent;a&&"static"===Q(a,"position");)a=a.offsetParent;return a||ba})};
|
34
|
+
E.position=function(){var a=this[0];if(a){var b="fixed"===Q(a,"position"),c=b?a.getBoundingClientRect():this.offset();if(!b){var d=a.ownerDocument;for(b=a.offsetParent||d.documentElement;(b===d.body||b===d.documentElement)&&"static"===Q(b,"position");)b=b.parentNode;b!==a&&x(b)&&(d=F(b).offset(),c.top-=d.top+R(b,"borderTopWidth"),c.left-=d.left+R(b,"borderLeftWidth"))}return{top:c.top-R(a,"marginTop"),left:c.left-R(a,"marginLeft")}}};
|
35
|
+
E.children=function(a){return M(F(P(O(this,function(a){return a.children}))),a)};E.contents=function(){return F(P(O(this,function(a){return"IFRAME"===a.tagName?[a.contentDocument]:"TEMPLATE"===a.tagName?a.content.childNodes:a.childNodes})))};E.find=function(a){return F(P(O(this,function(b){return v(a,b)})))};var Ra=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,Sa=/^$|^module$|\/(java|ecma)script/i,Ta=["type","src","nonce","noModule"];
|
36
|
+
function Ua(a,b){a=F(a);a.filter("script").add(a.find("script")).each(function(a,d){if(Sa.test(d.type)&&ba.contains(d)){var c=n("script");c.text=d.textContent.replace(Ra,"");J(Ta,function(a,b){d[b]&&(c[b]=d[b])});b.head.insertBefore(c,null);b.head.removeChild(c)}})}
|
37
|
+
function Z(a,b,c,d,h,f,g,y){J(a,function(a,f){J(F(f),function(a,f){J(F(b),function(b,g){var l=c?g:f;b=c?a:b;g=c?f:g;l=b?l.cloneNode(!0):l;b=!b;h?g.insertBefore(l,d?g.firstChild:null):g.parentNode.insertBefore(l,d?g:g.nextSibling);b&&Ua(l,g.ownerDocument)},y)},g)},f);return b}E.after=function(){return Z(arguments,this,!1,!1,!1,!0,!0)};E.append=function(){return Z(arguments,this,!1,!1,!0)};E.appendTo=function(a){return Z(arguments,this,!0,!1,!0)};E.before=function(){return Z(arguments,this,!1,!0)};
|
38
|
+
E.insertAfter=function(a){return Z(arguments,this,!0,!1,!1,!1,!1,!0)};E.insertBefore=function(a){return Z(arguments,this,!0,!0)};E.prepend=function(){return Z(arguments,this,!1,!0,!0,!0,!0)};E.prependTo=function(a){return Z(arguments,this,!0,!0,!0,!1,!1,!0)};E.replaceWith=function(a){return this.before(a).remove()};E.replaceAll=function(a){F(a).replaceWith(this);return this};E.wrapAll=function(a){a=F(a);for(var b=a[0];b.children.length;)b=b.firstElementChild;this.first().before(a);return this.appendTo(b)};
|
39
|
+
E.wrap=function(a){return this.each(function(b,c){var d=F(a)[0];F(c).wrapAll(b?d.cloneNode(!0):d)})};E.wrapInner=function(a){return this.each(function(b,c){b=F(c);c=b.contents();c.length?c.wrapAll(a):b.append(a)})};E.has=function(a){var b=C(a)?function(b,d){return v(a,d).length}:function(b,d){return d.contains(a)};return this.filter(b)};E.is=function(a){var b=L(a);return u.call(this,function(a,d){return b.call(a,d,a)})};E.next=function(a,b,c){return M(F(P(O(this,"nextElementSibling",b,c))),a)};
|
40
|
+
E.nextAll=function(a){return this.next(a,!0)};E.nextUntil=function(a,b){return this.next(b,!0,a)};E.not=function(a){var b=L(a);return this.filter(function(c,d){return(!C(a)||x(d))&&!b.call(d,c,d)})};E.parent=function(a){return M(F(P(O(this,"parentNode"))),a)};E.index=function(a){var b=a?F(a)[0]:this[0];a=a?this:F(b).parent().children();return ha.call(a,b)};E.closest=function(a){var b=this.filter(a);if(b.length)return b;var c=this.parent();return c.length?c.closest(a):b};
|
41
|
+
E.parents=function(a,b){return M(F(P(O(this,"parentElement",!0,b))),a)};E.parentsUntil=function(a,b){return this.parents(b,a)};E.prev=function(a,b,c){return M(F(P(O(this,"previousElementSibling",b,c))),a)};E.prevAll=function(a){return this.prev(a,!0)};E.prevUntil=function(a,b){return this.prev(b,!0,a)};E.siblings=function(a){return M(F(P(O(this,function(a){return F(a).parent().children().not(a)}))),a)};"undefined"!==typeof exports?module.exports=F:m.cash=m.$=F;
|
42
|
+
})();
|
@@ -0,0 +1,369 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/assets/themes/j1/modules/fam/css/fam.css
|
4
|
+
# Provides styles for J1 Module FAM (Floating Button Menu)
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
#
|
9
|
+
# Copyright (C) 2020 Juergen Adams
|
10
|
+
#
|
11
|
+
# J1 Template is licensed under the MIT License.
|
12
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
13
|
+
# -----------------------------------------------------------------------------
|
14
|
+
*/
|
15
|
+
|
16
|
+
.fam-btn ul {
|
17
|
+
left: 0;
|
18
|
+
right: 0;
|
19
|
+
text-align: center;
|
20
|
+
position: absolute;
|
21
|
+
bottom: 64px;
|
22
|
+
margin: 0;
|
23
|
+
visibility: hidden;
|
24
|
+
padding-left: 0;
|
25
|
+
list-style-type: none;
|
26
|
+
}
|
27
|
+
|
28
|
+
.btn-large,
|
29
|
+
.btn-small {
|
30
|
+
border: none;
|
31
|
+
border-radius: 2px;
|
32
|
+
display: inline-block;
|
33
|
+
height: 36px;
|
34
|
+
line-height: 36px;
|
35
|
+
padding: 0 16px;
|
36
|
+
text-transform: uppercase;
|
37
|
+
vertical-align: middle;
|
38
|
+
-webkit-tap-highlight-color: transparent
|
39
|
+
}
|
40
|
+
|
41
|
+
.disabled.btn-large,
|
42
|
+
.disabled.btn-small,
|
43
|
+
.btn-fab-floating.disabled,
|
44
|
+
.btn-large.disabled,
|
45
|
+
.btn-small.disabled,
|
46
|
+
.btn-large:disabled,
|
47
|
+
.btn-small:disabled,
|
48
|
+
.btn-fab-floating:disabled,
|
49
|
+
.btn-large:disabled,
|
50
|
+
.btn-small:disabled,
|
51
|
+
[disabled].btn-large,
|
52
|
+
[disabled].btn-small,
|
53
|
+
.btn-fab-floating[disabled],
|
54
|
+
.btn-large[disabled],
|
55
|
+
.btn-small[disabled] {
|
56
|
+
pointer-events: none;
|
57
|
+
background-color: #DFDFDF !important;
|
58
|
+
-webkit-box-shadow: none;
|
59
|
+
box-shadow: none;
|
60
|
+
color: #9F9F9F !important;
|
61
|
+
cursor: default
|
62
|
+
}
|
63
|
+
|
64
|
+
.disabled.btn-large:hover,
|
65
|
+
.disabled.btn-small:hover,
|
66
|
+
.btn-fab-floating.disabled:hover,
|
67
|
+
.btn-large.disabled:hover,
|
68
|
+
.btn-small.disabled:hover,
|
69
|
+
.btn-large:disabled:hover,
|
70
|
+
.btn-small:disabled:hover,
|
71
|
+
.btn-fab-floating:disabled:hover,
|
72
|
+
.btn-large:disabled:hover,
|
73
|
+
.btn-small:disabled:hover,
|
74
|
+
[disabled].btn-large:hover,
|
75
|
+
[disabled].btn-small:hover,
|
76
|
+
.btn-fab-floating[disabled]:hover,
|
77
|
+
.btn-large[disabled]:hover,
|
78
|
+
.btn-small[disabled]:hover {
|
79
|
+
background-color: #DFDFDF !important;
|
80
|
+
color: #9F9F9F !important
|
81
|
+
}
|
82
|
+
|
83
|
+
.btn-large,
|
84
|
+
.btn-small,
|
85
|
+
.btn-fab-floating {
|
86
|
+
font-size: 14px;
|
87
|
+
outline: 0
|
88
|
+
}
|
89
|
+
|
90
|
+
.btn-large i,
|
91
|
+
.btn-small i,
|
92
|
+
.btn-fab-floating i {
|
93
|
+
font-size: 1.3rem;
|
94
|
+
line-height: inherit
|
95
|
+
}
|
96
|
+
|
97
|
+
.btn-large:focus,
|
98
|
+
.btn-small:focus,
|
99
|
+
.btn-fab-floating:focus {
|
100
|
+
background-color: #1d7d74
|
101
|
+
}
|
102
|
+
|
103
|
+
.btn-large,
|
104
|
+
.btn-small {
|
105
|
+
text-decoration: none;
|
106
|
+
color: #fff;
|
107
|
+
background-color: #26a69a;
|
108
|
+
text-align: center;
|
109
|
+
letter-spacing: .5px;
|
110
|
+
-webkit-transition: background-color .2s ease-out;
|
111
|
+
transition: background-color .2s ease-out;
|
112
|
+
cursor: pointer
|
113
|
+
}
|
114
|
+
|
115
|
+
.btn-large:hover,
|
116
|
+
.btn-small:hover {
|
117
|
+
background-color: #424242 !important;
|
118
|
+
}
|
119
|
+
|
120
|
+
.btn-fab-floating:hover {
|
121
|
+
background-color: #424242 !important;
|
122
|
+
}
|
123
|
+
|
124
|
+
.btn-fab-floating {
|
125
|
+
display: inline-block;
|
126
|
+
color: #fff;
|
127
|
+
position: relative;
|
128
|
+
overflow: hidden;
|
129
|
+
z-index: 1;
|
130
|
+
width: 40px;
|
131
|
+
height: 40px;
|
132
|
+
line-height: 40px;
|
133
|
+
padding: 0;
|
134
|
+
background-color: #26a69a;
|
135
|
+
border-radius: 50%;
|
136
|
+
-webkit-transition: background-color .3s;
|
137
|
+
transition: background-color .3s;
|
138
|
+
cursor: pointer;
|
139
|
+
vertical-align: middle
|
140
|
+
}
|
141
|
+
|
142
|
+
.btn-fab-floating:before {
|
143
|
+
border-radius: 0
|
144
|
+
}
|
145
|
+
|
146
|
+
.btn-fab-floating.btn-large {
|
147
|
+
width: 56px;
|
148
|
+
height: 56px;
|
149
|
+
padding: 0
|
150
|
+
}
|
151
|
+
|
152
|
+
.btn-fab-floating.btn-large.halfway-fab {
|
153
|
+
bottom: -28px
|
154
|
+
}
|
155
|
+
|
156
|
+
.btn-fab-floating.btn-large i {
|
157
|
+
line-height: 56px
|
158
|
+
}
|
159
|
+
|
160
|
+
.btn-fab-floating.btn-small {
|
161
|
+
width: 32.4px;
|
162
|
+
height: 32.4px
|
163
|
+
}
|
164
|
+
|
165
|
+
.btn-fab-floating.btn-small.halfway-fab {
|
166
|
+
bottom: -16.2px
|
167
|
+
}
|
168
|
+
|
169
|
+
.btn-fab-floating.btn-small i {
|
170
|
+
line-height: 32.4px
|
171
|
+
}
|
172
|
+
|
173
|
+
.btn-fab-floating.halfway-fab {
|
174
|
+
position: absolute;
|
175
|
+
right: 24px;
|
176
|
+
bottom: -20px
|
177
|
+
}
|
178
|
+
|
179
|
+
.btn-fab-floating.halfway-fab.left {
|
180
|
+
right: auto;
|
181
|
+
left: 24px
|
182
|
+
}
|
183
|
+
|
184
|
+
.btn-fab-floating i {
|
185
|
+
width: inherit;
|
186
|
+
display: inline-block;
|
187
|
+
text-align: center;
|
188
|
+
color: #fff;
|
189
|
+
font-size: 1.6rem;
|
190
|
+
line-height: 40px
|
191
|
+
}
|
192
|
+
|
193
|
+
button.btn-fab-floating {
|
194
|
+
border: none
|
195
|
+
}
|
196
|
+
|
197
|
+
.fam-btn {
|
198
|
+
position: fixed;
|
199
|
+
right: 1rem;
|
200
|
+
bottom: 1rem;
|
201
|
+
padding-top: 4rem;
|
202
|
+
margin-bottom: 0;
|
203
|
+
z-index: 9;
|
204
|
+
}
|
205
|
+
|
206
|
+
.fam-btn.active ul {
|
207
|
+
visibility: visible
|
208
|
+
}
|
209
|
+
|
210
|
+
.fam-btn.direction-left,
|
211
|
+
.fam-btn.direction-right {
|
212
|
+
padding: 0 0 0 15px
|
213
|
+
}
|
214
|
+
|
215
|
+
.fam-btn.direction-left ul,
|
216
|
+
.fam-btn.direction-right ul {
|
217
|
+
text-align: right;
|
218
|
+
right: 64px;
|
219
|
+
top: 50%;
|
220
|
+
-webkit-transform: translateY(-50%);
|
221
|
+
transform: translateY(-50%);
|
222
|
+
height: 100%;
|
223
|
+
left: auto;
|
224
|
+
width: 500px
|
225
|
+
}
|
226
|
+
|
227
|
+
.fam-btn.direction-left ul li,
|
228
|
+
.fam-btn.direction-right ul li {
|
229
|
+
display: inline-block;
|
230
|
+
margin: 7.5px 15px 0 0
|
231
|
+
}
|
232
|
+
|
233
|
+
.fam-btn.direction-right {
|
234
|
+
padding: 0 15px 0 0
|
235
|
+
}
|
236
|
+
|
237
|
+
.fam-btn.direction-right ul {
|
238
|
+
text-align: left;
|
239
|
+
direction: rtl;
|
240
|
+
left: 64px;
|
241
|
+
right: auto
|
242
|
+
}
|
243
|
+
|
244
|
+
.fam-btn.direction-right ul li {
|
245
|
+
margin: 7.5px 0 0 15px
|
246
|
+
}
|
247
|
+
|
248
|
+
.fam-btn.direction-bottom {
|
249
|
+
padding: 0 0 15px 0
|
250
|
+
}
|
251
|
+
|
252
|
+
.fam-btn.direction-bottom ul {
|
253
|
+
top: 64px;
|
254
|
+
bottom: auto;
|
255
|
+
display: -webkit-box;
|
256
|
+
display: -webkit-flex;
|
257
|
+
display: -ms-flexbox;
|
258
|
+
display: flex;
|
259
|
+
-webkit-box-orient: vertical;
|
260
|
+
-webkit-box-direction: reverse;
|
261
|
+
-webkit-flex-direction: column-reverse;
|
262
|
+
-ms-flex-direction: column-reverse;
|
263
|
+
flex-direction: column-reverse
|
264
|
+
}
|
265
|
+
|
266
|
+
.fam-btn.direction-bottom ul li {
|
267
|
+
margin: 15px 0 0 0
|
268
|
+
}
|
269
|
+
|
270
|
+
.fam-btn.toolbar {
|
271
|
+
padding: 0;
|
272
|
+
height: 56px
|
273
|
+
}
|
274
|
+
|
275
|
+
.fam-btn.toolbar.active>a i {
|
276
|
+
opacity: 0
|
277
|
+
}
|
278
|
+
|
279
|
+
.fam-btn.toolbar ul {
|
280
|
+
display: -webkit-box;
|
281
|
+
display: -webkit-flex;
|
282
|
+
display: -ms-flexbox;
|
283
|
+
display: flex;
|
284
|
+
top: 0;
|
285
|
+
bottom: 0;
|
286
|
+
z-index: 1
|
287
|
+
}
|
288
|
+
|
289
|
+
.fam-btn.toolbar ul li {
|
290
|
+
-webkit-box-flex: 1;
|
291
|
+
-webkit-flex: 1;
|
292
|
+
-ms-flex: 1;
|
293
|
+
flex: 1;
|
294
|
+
display: inline-block;
|
295
|
+
margin: 0;
|
296
|
+
height: 100%;
|
297
|
+
-webkit-transition: none;
|
298
|
+
transition: none
|
299
|
+
}
|
300
|
+
|
301
|
+
.fam-btn.toolbar ul li a {
|
302
|
+
display: block;
|
303
|
+
overflow: hidden;
|
304
|
+
position: relative;
|
305
|
+
width: 100%;
|
306
|
+
height: 100%;
|
307
|
+
background-color: transparent;
|
308
|
+
-webkit-box-shadow: none;
|
309
|
+
box-shadow: none;
|
310
|
+
color: #fff;
|
311
|
+
line-height: 56px;
|
312
|
+
z-index: 1
|
313
|
+
}
|
314
|
+
|
315
|
+
.fam-btn.toolbar ul li a i {
|
316
|
+
line-height: inherit
|
317
|
+
}
|
318
|
+
|
319
|
+
.fam-btn ul {
|
320
|
+
left: 0;
|
321
|
+
right: 0;
|
322
|
+
text-align: center;
|
323
|
+
position: absolute;
|
324
|
+
bottom: 64px;
|
325
|
+
margin: 0;
|
326
|
+
visibility: hidden
|
327
|
+
}
|
328
|
+
|
329
|
+
.fam-btn ul li {
|
330
|
+
margin-bottom: 15px
|
331
|
+
}
|
332
|
+
|
333
|
+
.fam-btn ul a.btn-fab-floating {
|
334
|
+
opacity: 0
|
335
|
+
}
|
336
|
+
|
337
|
+
.fam-btn .fam-btn-backdrop {
|
338
|
+
position: absolute;
|
339
|
+
top: 0;
|
340
|
+
left: 0;
|
341
|
+
z-index: -1;
|
342
|
+
width: 40px;
|
343
|
+
height: 40px;
|
344
|
+
background-color: #26a69a;
|
345
|
+
border-radius: 50%;
|
346
|
+
-webkit-transform: scale(0);
|
347
|
+
transform: scale(0)
|
348
|
+
}
|
349
|
+
|
350
|
+
.btn-large {
|
351
|
+
height: 54px;
|
352
|
+
line-height: 54px;
|
353
|
+
font-size: 15px;
|
354
|
+
padding: 0 28px
|
355
|
+
}
|
356
|
+
|
357
|
+
.btn-large i {
|
358
|
+
font-size: 1.6rem
|
359
|
+
}
|
360
|
+
|
361
|
+
.btn-small {
|
362
|
+
height: 32.4px;
|
363
|
+
line-height: 32.4px;
|
364
|
+
font-size: 13px
|
365
|
+
}
|
366
|
+
|
367
|
+
.btn-small i {
|
368
|
+
font-size: 1.2rem
|
369
|
+
}
|
@@ -0,0 +1,477 @@
|
|
1
|
+
/*
|
2
|
+
# -----------------------------------------------------------------------------
|
3
|
+
# ~/assets/themes/j1/modules/fam/js/fam.js
|
4
|
+
# Provides JS Core for J1 Module FAM (Floating Button Menu)
|
5
|
+
#
|
6
|
+
# Product/Info:
|
7
|
+
# https://jekyll.one
|
8
|
+
#
|
9
|
+
# Copyright (C) 2020 Juergen Adams
|
10
|
+
#
|
11
|
+
# J1 Template is licensed under the MIT License.
|
12
|
+
# See: https://github.com/jekyll-one-org/J1 Template/blob/master/LICENSE
|
13
|
+
# -----------------------------------------------------------------------------
|
14
|
+
# TODO:
|
15
|
+
# jadams, 2020-10-11: module needs to be rewitten to PURE jQuery
|
16
|
+
# -----------------------------------------------------------------------------
|
17
|
+
*/
|
18
|
+
'use strict';
|
19
|
+
|
20
|
+
// -----------------------------------------------------------------------------
|
21
|
+
// ESLint shimming
|
22
|
+
// -----------------------------------------------------------------------------
|
23
|
+
/* eslint indent: "off" */
|
24
|
+
/* eslint no-unused-vars: "off" */
|
25
|
+
/* eslint no-undef: "off" */
|
26
|
+
/* eslint no-redeclare: "off" */
|
27
|
+
/* eslint indent: "off" */
|
28
|
+
// -----------------------------------------------------------------------------
|
29
|
+
|
30
|
+
(function($, anim) {
|
31
|
+
|
32
|
+
var _defaults = {
|
33
|
+
direction: 'top',
|
34
|
+
hoverEnabled: true,
|
35
|
+
toolbarEnabled: false
|
36
|
+
};
|
37
|
+
|
38
|
+
$.fn.reverse = [].reverse;
|
39
|
+
|
40
|
+
// jadams, 2020-10-10, added class from main (materialize.js)
|
41
|
+
//
|
42
|
+
class Component {
|
43
|
+
/**
|
44
|
+
* Generic constructor for all components
|
45
|
+
* @constructor
|
46
|
+
* @param {Element} el
|
47
|
+
* @param {Object} options
|
48
|
+
*/
|
49
|
+
constructor(classDef, el, options) {
|
50
|
+
// Display error if el is valid HTML Element
|
51
|
+
if (!(el instanceof Element)) {
|
52
|
+
console.error(Error(el + ' is not an HTML Element'));
|
53
|
+
}
|
54
|
+
|
55
|
+
// If exists, destroy and reinitialize in child
|
56
|
+
var ins = classDef.getInstance(el);
|
57
|
+
if (!!ins) {
|
58
|
+
ins.destroy();
|
59
|
+
}
|
60
|
+
|
61
|
+
this.el = el;
|
62
|
+
this.$el = cash(el);
|
63
|
+
}
|
64
|
+
|
65
|
+
/**
|
66
|
+
* Initializes components
|
67
|
+
* @param {class} classDef
|
68
|
+
* @param {Element | NodeList | jQuery} els
|
69
|
+
* @param {Object} options
|
70
|
+
*/
|
71
|
+
static init(classDef, els, options) {
|
72
|
+
var instances = null;
|
73
|
+
if (els instanceof Element) {
|
74
|
+
instances = new classDef(els, options);
|
75
|
+
} else if (!!els && (els.jquery || els.cash || els instanceof NodeList)) {
|
76
|
+
var instancesArr = [];
|
77
|
+
for (var i = 0; i < els.length; i++) {
|
78
|
+
instancesArr.push(new classDef(els[i], options));
|
79
|
+
}
|
80
|
+
instances = instancesArr;
|
81
|
+
}
|
82
|
+
return instances;
|
83
|
+
}
|
84
|
+
}
|
85
|
+
|
86
|
+
/**
|
87
|
+
* Initialize jQuery wrapper for plugin
|
88
|
+
* @param {Class} plugin javascript class
|
89
|
+
* @param {string} pluginName jQuery plugin name
|
90
|
+
* @param {string} classRef Class reference name
|
91
|
+
*/
|
92
|
+
j1.initializeJqueryWrapper = function (plugin, pluginName, classRef) {
|
93
|
+
jQuery.fn[pluginName] = function (methodOrOptions) {
|
94
|
+
// Call plugin method if valid method name is passed in
|
95
|
+
if (plugin.prototype[methodOrOptions]) {
|
96
|
+
var params = Array.prototype.slice.call(arguments, 1);
|
97
|
+
|
98
|
+
// Getter methods
|
99
|
+
if (methodOrOptions.slice(0, 3) === 'get') {
|
100
|
+
var instance = this.first()[0][classRef];
|
101
|
+
return instance[methodOrOptions].apply(instance, params);
|
102
|
+
}
|
103
|
+
|
104
|
+
// Void methods
|
105
|
+
return this.each(function () {
|
106
|
+
var instance = this[classRef];
|
107
|
+
instance[methodOrOptions].apply(instance, params);
|
108
|
+
});
|
109
|
+
|
110
|
+
// Initialize plugin if options or no argument is passed in
|
111
|
+
} else if (typeof methodOrOptions === 'object' || !methodOrOptions) {
|
112
|
+
plugin.init(this, arguments[0]);
|
113
|
+
return this;
|
114
|
+
}
|
115
|
+
|
116
|
+
// Return error if an unrecognized method name is passed in
|
117
|
+
jQuery.error("Method " + methodOrOptions + " does not exist on jQuery." + pluginName);
|
118
|
+
};
|
119
|
+
};
|
120
|
+
|
121
|
+
/**
|
122
|
+
* @class
|
123
|
+
*
|
124
|
+
*/
|
125
|
+
class FloatingActionButton extends Component {
|
126
|
+
/**
|
127
|
+
* Construct FloatingActionButton instance
|
128
|
+
* @constructor
|
129
|
+
* @param {Element} el
|
130
|
+
* @param {Object} options
|
131
|
+
*/
|
132
|
+
constructor(el, options) {
|
133
|
+
super(FloatingActionButton, el, options);
|
134
|
+
this.el.M_FloatingActionButton = this;
|
135
|
+
|
136
|
+
/**
|
137
|
+
* Options for the fab
|
138
|
+
* @member FloatingActionButton#options
|
139
|
+
* @prop {Boolean} [direction] - Direction fab menu opens
|
140
|
+
* @prop {Boolean} [hoverEnabled=true] - Enable hover vs click
|
141
|
+
* @prop {Boolean} [toolbarEnabled=false] - Enable toolbar transition
|
142
|
+
*/
|
143
|
+
this.options = $.extend({}, FloatingActionButton.defaults, options);
|
144
|
+
|
145
|
+
this.isOpen = false;
|
146
|
+
this.$anchor = this.$el.children('a').first();
|
147
|
+
this.$menu = this.$el.children('ul').first();
|
148
|
+
this.$floatingBtns = this.$el.find('ul .btn-fab-floating');
|
149
|
+
this.$floatingBtnsReverse = this.$el.find('ul .btn-fab-floating').reverse();
|
150
|
+
this.offsetY = 0;
|
151
|
+
this.offsetX = 0;
|
152
|
+
|
153
|
+
this.$el.addClass(`direction-${this.options.direction}`);
|
154
|
+
if (this.options.direction === 'top') {
|
155
|
+
this.offsetY = 40;
|
156
|
+
} else if (this.options.direction === 'right') {
|
157
|
+
this.offsetX = -40;
|
158
|
+
} else if (this.options.direction === 'bottom') {
|
159
|
+
this.offsetY = -40;
|
160
|
+
} else {
|
161
|
+
this.offsetX = 40;
|
162
|
+
}
|
163
|
+
this._setupEventHandlers();
|
164
|
+
}
|
165
|
+
|
166
|
+
static get defaults() {
|
167
|
+
return _defaults;
|
168
|
+
}
|
169
|
+
|
170
|
+
static init(els, options) {
|
171
|
+
return super.init(this, els, options);
|
172
|
+
}
|
173
|
+
|
174
|
+
/**
|
175
|
+
* Get Instance
|
176
|
+
*/
|
177
|
+
static getInstance(el) {
|
178
|
+
var domElem = !!el.jquery ? el[0] : el;
|
179
|
+
return domElem.M_FloatingActionButton;
|
180
|
+
}
|
181
|
+
|
182
|
+
/**
|
183
|
+
* Teardown component
|
184
|
+
*/
|
185
|
+
destroy() {
|
186
|
+
this._removeEventHandlers();
|
187
|
+
this.el.M_FloatingActionButton = undefined;
|
188
|
+
}
|
189
|
+
|
190
|
+
/**
|
191
|
+
* Setup Event Handlers
|
192
|
+
*/
|
193
|
+
_setupEventHandlers() {
|
194
|
+
this._handleFABClickBound = this._handleFABClick.bind(this);
|
195
|
+
this._handleOpenBound = this.open.bind(this);
|
196
|
+
this._handleCloseBound = this.close.bind(this);
|
197
|
+
|
198
|
+
if (this.options.hoverEnabled && !this.options.toolbarEnabled) {
|
199
|
+
this.el.addEventListener('mouseenter', this._handleOpenBound);
|
200
|
+
this.el.addEventListener('mouseleave', this._handleCloseBound);
|
201
|
+
} else {
|
202
|
+
this.el.addEventListener('click', this._handleFABClickBound);
|
203
|
+
}
|
204
|
+
}
|
205
|
+
|
206
|
+
/**
|
207
|
+
* Remove Event Handlers
|
208
|
+
*/
|
209
|
+
_removeEventHandlers() {
|
210
|
+
if (this.options.hoverEnabled && !this.options.toolbarEnabled) {
|
211
|
+
this.el.removeEventListener('mouseenter', this._handleOpenBound);
|
212
|
+
this.el.removeEventListener('mouseleave', this._handleCloseBound);
|
213
|
+
} else {
|
214
|
+
this.el.removeEventListener('click', this._handleFABClickBound);
|
215
|
+
}
|
216
|
+
}
|
217
|
+
|
218
|
+
/**
|
219
|
+
* Handle FAB Click
|
220
|
+
*/
|
221
|
+
_handleFABClick() {
|
222
|
+
if (this.isOpen) {
|
223
|
+
this.close();
|
224
|
+
} else {
|
225
|
+
this.open();
|
226
|
+
}
|
227
|
+
}
|
228
|
+
|
229
|
+
/**
|
230
|
+
* Handle Document Click
|
231
|
+
* @param {Event} e
|
232
|
+
*/
|
233
|
+
_handleDocumentClick(e) {
|
234
|
+
if (!$(e.target).closest(this.$menu).length) {
|
235
|
+
this.close();
|
236
|
+
}
|
237
|
+
}
|
238
|
+
|
239
|
+
/**
|
240
|
+
* Open FAB
|
241
|
+
*/
|
242
|
+
open() {
|
243
|
+
if (this.isOpen) {
|
244
|
+
return;
|
245
|
+
}
|
246
|
+
|
247
|
+
if (this.options.toolbarEnabled) {
|
248
|
+
this._animateInToolbar();
|
249
|
+
} else {
|
250
|
+
this._animateInFAB();
|
251
|
+
}
|
252
|
+
this.isOpen = true;
|
253
|
+
}
|
254
|
+
|
255
|
+
/**
|
256
|
+
* Close FAB
|
257
|
+
*/
|
258
|
+
close() {
|
259
|
+
if (!this.isOpen) {
|
260
|
+
return;
|
261
|
+
}
|
262
|
+
|
263
|
+
if (this.options.toolbarEnabled) {
|
264
|
+
window.removeEventListener('scroll', this._handleCloseBound, true);
|
265
|
+
document.body.removeEventListener('click', this._handleDocumentClickBound, true);
|
266
|
+
this._animateOutToolbar();
|
267
|
+
} else {
|
268
|
+
this._animateOutFAB();
|
269
|
+
}
|
270
|
+
this.isOpen = false;
|
271
|
+
}
|
272
|
+
|
273
|
+
/**
|
274
|
+
* Classic FAB Menu open
|
275
|
+
*/
|
276
|
+
_animateInFAB() {
|
277
|
+
this.$el.addClass('active');
|
278
|
+
|
279
|
+
var time = 0;
|
280
|
+
this.$floatingBtnsReverse.each((el) => {
|
281
|
+
anim({
|
282
|
+
targets: el,
|
283
|
+
opacity: 1,
|
284
|
+
scale: [0.4, 1],
|
285
|
+
translateY: [this.offsetY, 0],
|
286
|
+
translateX: [this.offsetX, 0],
|
287
|
+
duration: 275,
|
288
|
+
delay: time,
|
289
|
+
easing: 'easeInOutQuad'
|
290
|
+
});
|
291
|
+
time += 40;
|
292
|
+
});
|
293
|
+
}
|
294
|
+
|
295
|
+
/**
|
296
|
+
* Classic FAB Menu close
|
297
|
+
*/
|
298
|
+
_animateOutFAB() {
|
299
|
+
this.$floatingBtnsReverse.each((el) => {
|
300
|
+
anim.remove(el);
|
301
|
+
anim({
|
302
|
+
targets: el,
|
303
|
+
opacity: 0,
|
304
|
+
scale: 0.4,
|
305
|
+
translateY: this.offsetY,
|
306
|
+
translateX: this.offsetX,
|
307
|
+
duration: 175,
|
308
|
+
easing: 'easeOutQuad',
|
309
|
+
complete: () => {
|
310
|
+
this.$el.removeClass('active');
|
311
|
+
}
|
312
|
+
});
|
313
|
+
});
|
314
|
+
}
|
315
|
+
|
316
|
+
/**
|
317
|
+
* Toolbar transition Menu open
|
318
|
+
*/
|
319
|
+
_animateInToolbar() {
|
320
|
+
var scaleFactor;
|
321
|
+
var windowWidth = window.innerWidth;
|
322
|
+
var windowHeight = window.innerHeight;
|
323
|
+
var btnRect = this.el.getBoundingClientRect();
|
324
|
+
var backdrop = $('<div class="fam-btn-backdrop"></div>');
|
325
|
+
var fabColor = this.$anchor.css('background-color');
|
326
|
+
|
327
|
+
this.$anchor.append(backdrop);
|
328
|
+
|
329
|
+
this.offsetX = btnRect.left - windowWidth / 2 + btnRect.width / 2;
|
330
|
+
this.offsetY = windowHeight - btnRect.bottom;
|
331
|
+
scaleFactor = windowWidth / backdrop[0].clientWidth;
|
332
|
+
this.btnBottom = btnRect.bottom;
|
333
|
+
this.btnLeft = btnRect.left;
|
334
|
+
this.btnWidth = btnRect.width;
|
335
|
+
|
336
|
+
// Set initial state
|
337
|
+
this.$el.addClass('active');
|
338
|
+
this.$el.css({
|
339
|
+
'text-align': 'center',
|
340
|
+
width: '100%',
|
341
|
+
bottom: 0,
|
342
|
+
left: 0,
|
343
|
+
transform: 'translateX(' + this.offsetX + 'px)',
|
344
|
+
transition: 'none'
|
345
|
+
});
|
346
|
+
this.$anchor.css({
|
347
|
+
transform: 'translateY(' + -this.offsetY + 'px)',
|
348
|
+
transition: 'none'
|
349
|
+
});
|
350
|
+
backdrop.css({
|
351
|
+
'background-color': fabColor
|
352
|
+
});
|
353
|
+
|
354
|
+
setTimeout(() => {
|
355
|
+
this.$el.css({
|
356
|
+
transform: '',
|
357
|
+
transition:
|
358
|
+
'transform .2s cubic-bezier(0.550, 0.085, 0.680, 0.530), background-color 0s linear .2s'
|
359
|
+
});
|
360
|
+
this.$anchor.css({
|
361
|
+
overflow: 'visible',
|
362
|
+
transform: '',
|
363
|
+
transition: 'transform .2s'
|
364
|
+
});
|
365
|
+
|
366
|
+
setTimeout(() => {
|
367
|
+
this.$el.css({
|
368
|
+
overflow: 'hidden',
|
369
|
+
'background-color': fabColor
|
370
|
+
});
|
371
|
+
backdrop.css({
|
372
|
+
transform: 'scale(' + scaleFactor + ')',
|
373
|
+
transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
|
374
|
+
});
|
375
|
+
this.$menu
|
376
|
+
.children('li')
|
377
|
+
.children('a')
|
378
|
+
.css({
|
379
|
+
opacity: 1
|
380
|
+
});
|
381
|
+
|
382
|
+
// Scroll to close
|
383
|
+
this._handleDocumentClickBound = this._handleDocumentClick.bind(this);
|
384
|
+
window.addEventListener('scroll', this._handleCloseBound, true);
|
385
|
+
document.body.addEventListener('click', this._handleDocumentClickBound, true);
|
386
|
+
}, 100);
|
387
|
+
}, 0);
|
388
|
+
}
|
389
|
+
|
390
|
+
/**
|
391
|
+
* Toolbar transition Menu close
|
392
|
+
*/
|
393
|
+
_animateOutToolbar() {
|
394
|
+
var windowWidth = window.innerWidth;
|
395
|
+
var windowHeight = window.innerHeight;
|
396
|
+
var backdrop = this.$el.find('.fam-btn-backdrop');
|
397
|
+
var fabColor = this.$anchor.css('background-color');
|
398
|
+
|
399
|
+
this.offsetX = this.btnLeft - windowWidth / 2 + this.btnWidth / 2;
|
400
|
+
this.offsetY = windowHeight - this.btnBottom;
|
401
|
+
|
402
|
+
// Hide backdrop
|
403
|
+
this.$el.removeClass('active');
|
404
|
+
this.$el.css({
|
405
|
+
'background-color': 'transparent',
|
406
|
+
transition: 'none'
|
407
|
+
});
|
408
|
+
this.$anchor.css({
|
409
|
+
transition: 'none'
|
410
|
+
});
|
411
|
+
backdrop.css({
|
412
|
+
transform: 'scale(0)',
|
413
|
+
'background-color': fabColor
|
414
|
+
});
|
415
|
+
this.$menu
|
416
|
+
.children('li')
|
417
|
+
.children('a')
|
418
|
+
.css({
|
419
|
+
opacity: ''
|
420
|
+
});
|
421
|
+
|
422
|
+
setTimeout(() => {
|
423
|
+
backdrop.remove();
|
424
|
+
|
425
|
+
// Set initial state.
|
426
|
+
this.$el.css({
|
427
|
+
'text-align': '',
|
428
|
+
width: '',
|
429
|
+
bottom: '',
|
430
|
+
left: '',
|
431
|
+
overflow: '',
|
432
|
+
'background-color': '',
|
433
|
+
transform: 'translate3d(' + -this.offsetX + 'px,0,0)'
|
434
|
+
});
|
435
|
+
this.$anchor.css({
|
436
|
+
overflow: '',
|
437
|
+
transform: 'translate3d(0,' + this.offsetY + 'px,0)'
|
438
|
+
});
|
439
|
+
|
440
|
+
setTimeout(() => {
|
441
|
+
this.$el.css({
|
442
|
+
transform: 'translate3d(0,0,0)',
|
443
|
+
transition: 'transform .2s'
|
444
|
+
});
|
445
|
+
this.$anchor.css({
|
446
|
+
transform: 'translate3d(0,0,0)',
|
447
|
+
transition: 'transform .2s cubic-bezier(0.550, 0.055, 0.675, 0.190)'
|
448
|
+
});
|
449
|
+
}, 20);
|
450
|
+
}, 200);
|
451
|
+
}
|
452
|
+
}
|
453
|
+
|
454
|
+
// jadams, 2020-10-10: moved to j1 name space
|
455
|
+
//
|
456
|
+
// M.FloatingActionButton = FloatingActionButton;
|
457
|
+
j1.fam = FloatingActionButton;
|
458
|
+
|
459
|
+
// jadams, 2020-10-10: check how to transform to jQuery
|
460
|
+
//
|
461
|
+
|
462
|
+
// Check for jQuery
|
463
|
+
//
|
464
|
+
j1.jQueryLoaded = !!window.jQuery;
|
465
|
+
|
466
|
+
if (j1.jQueryLoaded) {
|
467
|
+
j1.initializeJqueryWrapper (
|
468
|
+
FloatingActionButton,
|
469
|
+
'floatingActionButton',
|
470
|
+
'M_FloatingActionButton'
|
471
|
+
);
|
472
|
+
}
|
473
|
+
|
474
|
+
// jadams, 2020-10-10: TODO: check if anime could be a replacement
|
475
|
+
// for (huge) animate.css
|
476
|
+
// })($, j1.anime);
|
477
|
+
})(cash, j1.anime);
|