UNPKG

buttercake

Version:

Butter Cake is an open source and lightweight modular toolkit for developing with HTML, CSS, and JS. Quickly prototype your ideas or build your entire app with our Sass(SCSS) variables and mixins, responsive grid system, extensive prebuilt components.

1 lines 7.02 kB
!function(a,t){"use strict";var e,s,n;Window.prototype.ButterCake=Window.prototype.$BC=(e={plugins:{}},s={},n={breakPoints:{sm:580,md:780,lg:1150,xl:1250},body:a("body , html")},{plugin:function(t,a,n){n=n,e.plugins[t]={enabled:n,run:a},s[t]=n,this[t]=a,n&&s[t]&&e.plugins[t].run()},plugins:e.plugins,init:function(){var t=setTimeout(function(){a.each(s,function(t){this&&e.plugins[t].run()}),clearTimeout(t)},100)},initPlugin:function(t){e.plugins[t]&&e.plugins[t].run()},settings:n})}(jQuery,window),ButterCake.plugin("navbar",function(){function t(){var a=$(window).width()+15;$(".navbar").each(function(){var t=$(this).attr("data-toggle");void 0!==t&&("null"===t&&"none"!==t||(t<=a?$(this).find(".menu-box").removeClass("sideNavbar toggled"):$(this).find(".menu-box").addClass("sideNavbar")))})}var a=$(".navbar .toggler");$(".navbar").each(function(){$(this).hasClass("expand-sm")?$(this).attr("data-toggle",ButterCake.settings.breakPoints.sm):$(this).hasClass("expand-md")?$(this).attr("data-toggle",ButterCake.settings.breakPoints.md):$(this).hasClass("expand-lg")?$(this).attr("data-toggle",ButterCake.settings.breakPoints.lg):$(this).hasClass("expand-xl")?$(this).attr("data-toggle",ButterCake.settings.breakPoints.xl):$(this).hasClass("expanded")?$(this).attr("data-toggle","null"):$(this).attr("data-toggle","none"),t(),$(this).find(".container").append('<div class="shadow-fixed"></div>'),$(this).find(".container-fluid").append('<div class="shadow-fixed"></div>')}),$(window).on("resize",function(){t()}),a.on("click",function(){var t=$(this).attr("data-nav");ButterCake.settings.body.toggleClass("noScroll"),$(t).toggleClass("toggled")}),$(".menu-close").on("click",function(){ButterCake.settings.body.removeClass("noScroll"),$(".navbar .menu-box").removeClass("toggled")}),$(".navbar .shadow-fixed").click(function(t){$(this).parents(".navbar").find(".toggled").removeClass("toggled"),ButterCake.settings.body.removeClass("noScroll")})},!0),ButterCake.plugin("slideNavbar",function(){function t(){var a=$(window).width();$(".navbar").each(function(){var t=$(this).attr("data-toggle");void 0!==t&&("null"===t&&"none"!==t||(t<a?($(".menu-box").css("max-height",""),$(this).find(".menu-box").removeClass("slidedown toggled")):($(".menu-box").css("max-height",0),$(this).find(".menu-box").addClass("slidedown"),n.each(function(t){var a=$(n)[t].scrollHeight;$(this).attr("data-height",a)}))))})}var n=$(".navbar .menu-box"),a=$(".navbar .toggler");$(".navbar").each(function(){$(this).hasClass("expand-sm")?$(this).attr("data-toggle",ButterCake.settings.breakPoints.sm):$(this).hasClass("expand-md")?$(this).attr("data-toggle",ButterCake.settings.breakPoints.md):$(this).hasClass("expand-lg")?$(this).attr("data-toggle",ButterCake.settings.breakPoints.lg):$(this).hasClass("expand-xl")?$(this).attr("data-toggle",ButterCake.settings.breakPoints.xl):$(this).hasClass("expanded")?$(this).attr("data-toggle","null"):$(this).attr("data-toggle","none"),t()}),$(window).on("resize",function(){t()}),a.on("click",function(){var t=$(this).attr("data-nav");$(t).toggleClass("toggled");var a=parseFloat($(t).attr("data-height"));$(t).css("max-height",a+"px"),parseFloat($(t).css("max-height"))?$(t).css("max-height",0):$(t).css("max-height",a+"px")})}),ButterCake.plugin("dropdown",function(){var t=$(".dropdown");$(".dropdown > a").on("click",function(t){t.preventDefault()}),t.on("click",function(t){t.stopPropagation(),$(this).siblings(".dropdown").removeClass("menu-showing"),$(this).toggleClass("menu-showing")}),t.on("mouseleave",function(t){t.stopPropagation(),$(this).removeClass("menu-showing")}),ButterCake.settings.body.on("click",function(t){$(t.target).is(".dropdown")||$(".dropdown").removeClass("menu-showing")})},!0),ButterCake.plugin("modal",function(){function a(t){var a=t.find(".modal-container").attr("data-modal-animate");return void 0!==a&&!1!==a?a=a.split(","):(t.find(".modal-container").addClass("animation-added"),["",""])}function n(t){t.removeClass("modal-exit").addClass("modal-show"),t.find(".modal-container").addClass("animated "+a(t)[0]),ButterCake.settings.body.addClass("noScroll"),setTimeout(function(){t.find(".modal-container").removeClass("animated "+a(t)[0])},1e3)}function e(t){t.find(".modal-container").addClass("animated "+a(t)[1]),""===a(t)[1]?(t.find(".modal-container").removeClass("animated "+a(t)[1]),t.removeClass("modal-show").addClass("modal-exit"),ButterCake.settings.body.removeClass("noScroll")):setTimeout(function(){t.find(".modal-container").removeClass("animated "+a(t)[1]),t.removeClass("modal-show").addClass("modal-exit"),0===$(".modal-show").length&&ButterCake.settings.body.removeClass("noScroll")},1e3)}$(".modal-open").on("click",function(t){t.preventDefault();var a=$(this).attr("data-modal");n($("#"+a))}),$(".modal-close").on("click",function(t){t.preventDefault();var a=$(this).attr("data-modal");e($("#"+a))}),$.fn.BCModal=function(){var t=$(this);return{open:function(){n(t)},close:function(){e(t)}}},$(".modal").on("click",function(t){$(t.target).is(".modal")&&e($(".modal.modal-show"))})},!0),ButterCake.plugin("tabs",function(){$(".tab-link").on("click",function(){var t=$(this).attr("data-tab"),a=$(this).closest(".tabs");a.find(".tab-nav .tab-link").removeClass("active"),$("[data-tab='"+t+"']").addClass("active"),a.find(".tab-content").removeClass("active"),$("#"+t).addClass("active")}),$(".tab-close").on("click",function(){$(this).closest(".tab-content").removeClass("active")})},!0),ButterCake.plugin("accordion",function(){$(".accordion").each(function(){if($(this).hasClass("active")){var t=$(this).next(".panel");$(this).next(".panel").css("max-height",t[0].scrollHeight+"px")}$(".accordion").on("click",function(){$(".accordion").next(".panel").css("max-height",0),$(".accordion").removeClass("active"),t=$(this).next(".panel"),$(this).addClass("active"),parseFloat($(this).next(".panel").css("max-height"))?($(this).next(".panel").css("max-height",0),$(this).removeClass("active")):$(this).next(".panel").css("max-height",t[0].scrollHeight+"px")})})},!0),ButterCake.plugin("alert",function(){$(".alert .alert-close").on("click",function(){var t=$(this);t.parent(".dismissable").fadeOut("fast",function(){t.parent(".dismissable").remove()})})},!0),ButterCake.plugin("chip",function(){$(".chip .btn-clear-chip").on("click",function(){var t=$(this);t.closest(".chip").fadeOut("fast",function(){t.closest(".chip").remove()})})},!0),ButterCake.plugin("scrollSpy",function(t){var n={el:".scrollSpy",spyEl:".scrollSpy-item",menu:".scrollSpyMenu",menuLi:".scrollSpyMenu li",offset:150,speed:100,activeClass:"active"};$.extend(n,t),$(n.el).on("click",function(t){t.preventDefault();var a=this.hash;$("html, body").animate({scrollTop:$(a).offset().top},n.speed,function(){window.location.hash=a})}),$(window).on("scroll",function(){$(n.spyEl).each(function(){if($(window).scrollTop()>=$(this).offset().top-n.offset){var t=$(this).attr("id");$(n.menuLi).removeClass(n.active),$(n.menu+" a[href=#"+t+"]").parents("li").addClass(n.active)}})})});