kube_for_rails 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +21 -0
- data/README.md +43 -0
- data/Rakefile +2 -0
- data/app/assets/css/kube.css +2156 -0
- data/app/assets/css/kube.min.css +1 -0
- data/app/assets/js/kube.js +2201 -0
- data/app/assets/js/kube.min.js +1 -0
- data/app/assets/scss/kube.scss +585 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/kube_for_rails.gemspec +35 -0
- data/lib/kube_for_rails/version.rb +3 -0
- data/lib/kube_for_rails.rb +5 -0
- metadata +88 -0
@@ -0,0 +1 @@
|
|
1
|
+
if("undefined"==typeof jQuery)throw new Error("Kube's requires jQuery");!function(t){var e=t.fn.jquery.split(".");if(1==e[0]&&e[1]<8)throw new Error("Kube's requires at least jQuery v1.8")}(jQuery),function(){Function.prototype.inherits=function(t){var e=function(){};e.prototype=t.prototype;var s=new e;for(var i in this.prototype)s[i]=this.prototype[i];this.prototype=s,this.prototype["super"]=t.prototype};var t=function(t,e){e="object"==typeof e?e:{},this.$element=$(t),this.opts=$.extend(!0,this.defaults,$.fn[this.namespace].options,this.$element.data(),e),this.$target="string"==typeof this.opts.target?$(this.opts.target):null};t.prototype={getInstance:function(){return this.$element.data("fn."+this.namespace)},hasTarget:function(){return!(null===this.$target)},callback:function(t){var e=[].slice.call(arguments).splice(1);return this.$element&&(e=this._fireCallback($._data(this.$element[0],"events"),t,this.namespace,e)),this.$target&&(e=this._fireCallback($._data(this.$target[0],"events"),t,this.namespace,e)),this.opts&&this.opts.callbacks&&$.isFunction(this.opts.callbacks[t])?this.opts.callbacks[t].apply(this,e):e},_fireCallback:function(t,e,s,i){if(t&&"undefined"!=typeof t[e])for(var n=t[e].length,o=0;n>o;o++){var a=t[e][o].namespace;if(a===s)var h=t[e][o].handler.apply(this,i)}return"undefined"==typeof h?i:h}},window.Kube=t}(),function(t){t.Plugin={create:function(e,s){return s="undefined"==typeof s?e.toLowerCase():s,$.fn[s]=function(i,n){var o=Array.prototype.slice.call(arguments,1),a="fn."+s,h=[];return this.each(function(){var s=$(this),l=s.data(a);if(n="object"==typeof i?i:n,l||(s.data(a,{}),s.data(a,l=new t[e](this,n))),"string"==typeof i)if($.isFunction(l[i])){var c=l[i].apply(l,o);void 0!==c&&h.push(c)}else $.error('No such method "'+i+'" for '+e)}),0===h.length||1===h.length?0===h.length?this:h[0]:h},$.fn[s].options={},this},autoload:function(t){for(var e=t.split(","),s=e.length,i=0;s>i;i++){var n=e[i].toLowerCase().split(",").map(function(t){return t.trim()}).join(",");this.autoloadQueue.push(n)}return this},autoloadQueue:[],startAutoload:function(){if(window.MutationObserver&&0!==this.autoloadQueue.length){var t=this,e=new MutationObserver(function(e){e.forEach(function(e){var s=e.addedNodes;0===s.length||1===s.length&&3===s.nodeType||t.startAutoloadOnce()})});e.observe(document,{subtree:!0,childList:!0})}},startAutoloadOnce:function(){var t=this,e=$("[data-component]").not("[data-loaded]");e.each(function(){var e=$(this),s=e.data("component");-1!==t.autoloadQueue.indexOf(s)&&(e.attr("data-loaded",!0),e[s]())})},watch:function(){t.Plugin.startAutoloadOnce(),t.Plugin.startAutoload()}},$(window).on("load",function(){t.Plugin.watch()})}(Kube),function(t){t.Animation=function(e,s,i){this.namespace="animation",this.defaults={},t.apply(this,arguments),this.effect=s,this.completeCallback="undefined"==typeof i?!1:i,this.prefixes=["","-moz-","-o-animation-","-webkit-"],this.queue=[],this.start()},t.Animation.prototype={start:function(){this.isSlideEffect()&&this.setElementHeight(),this.addToQueue(),this.clean(),this.animate()},addToQueue:function(){this.queue.push(this.effect)},setElementHeight:function(){this.$element.height(this.$element.height())},removeElementHeight:function(){this.$element.css("height","")},isSlideEffect:function(){return"slideDown"===this.effect||"slideUp"===this.effect},isHideableEffect:function(){var t=["fadeOut","slideUp","flipOut","zoomOut","slideOutUp","slideOutRight","slideOutLeft"];return-1!==$.inArray(this.effect,t)},isToggleEffect:function(){return"show"===this.effect||"hide"===this.effect},storeHideClasses:function(){this.$element.hasClass("hide-sm")?this.$element.data("hide-sm-class",!0):this.$element.hasClass("hide-md")&&this.$element.data("hide-md-class",!0)},revertHideClasses:function(){this.$element.data("hide-sm-class")?this.$element.addClass("hide-sm").removeData("hide-sm-class"):this.$element.data("hide-md-class")?this.$element.addClass("hide-md").removeData("hide-md-class"):this.$element.addClass("hide")},removeHideClass:function(){this.$element.data("hide-sm-class")?this.$element.removeClass("hide-sm"):this.$element.data("hide-md-class")?this.$element.removeClass("hide-md"):this.$element.removeClass("hide")},animate:function(){if(this.storeHideClasses(),this.isToggleEffect())return this.makeSimpleEffects();this.$element.addClass("kubeanimated"),this.$element.addClass(this.queue[0]),this.removeHideClass();var t=this.queue.length>1?null:this.completeCallback;this.complete("AnimationEnd",$.proxy(this.makeComplete,this),t)},makeSimpleEffects:function(){"show"===this.effect?this.removeHideClass():"hide"===this.effect&&this.revertHideClasses(),"function"==typeof this.completeCallback&&this.completeCallback(this)},makeComplete:function(){this.$element.hasClass(this.queue[0])&&(this.clean(),this.queue.shift(),this.queue.length&&this.animate())},complete:function(t,e,s){var i=t.toLowerCase()+" webkit"+t+" o"+t+" MS"+t;this.$element.one(i,$.proxy(function(){"function"==typeof e&&e(),this.isHideableEffect()&&this.revertHideClasses(),this.isSlideEffect()&&this.removeElementHeight(),"function"==typeof s&&s(this),this.$element.off(i)},this))},clean:function(){this.$element.removeClass("kubeanimated").removeClass(this.queue[0])}},t.Animation.inherits(t)}(Kube),function(t){t.fn.animation=function(e,s){var i="fn.animation";return this.each(function(){var n=t(this),o=n.data(i);n.data(i,{}),n.data(i,o=new Kube.Animation(this,e,s))})},t.fn.animation.options={}}(jQuery),function(t){t.Detect=function(){},t.Detect.prototype={isMobile:function(){return/(iPhone|iPod|BlackBerry|Android)/.test(navigator.userAgent)},isDesktop:function(){return!/(iPhone|iPod|iPad|BlackBerry|Android)/.test(navigator.userAgent)},isMobileScreen:function(){return $(window).width()<=768},isTabletScreen:function(){return $(window).width()>=768&&$(window).width()<=1024},isDesktopScreen:function(){return $(window).width()>1024}}}(Kube),function(t){t.FormData=function(t){this.opts=t.opts},t.FormData.prototype={set:function(t){this.data=t},get:function(t){return this.formdata=t,this.opts.appendForms&&this.appendForms(),this.opts.appendFields&&this.appendFields(),this.data},appendFields:function(){var t=$(this.opts.appendFields);if(0!==t.length){var e=this,s="";this.formdata?t.each(function(){e.data.append($(this).attr("name"),$(this).val())}):(t.each(function(){s+="&"+$(this).attr("name")+"="+$(this).val()}),this.data=""===this.data?s.replace(/^&/,""):this.data+s)}},appendForms:function(){var t=$(this.opts.appendForms);if(0!==t.length)if(this.formdata){var e=this,s=$(this.opts.appendForms).serializeArray();$.each(s,function(t,s){e.data.append(s.name,s.value)})}else{var i=t.serialize();this.data=""===this.data?i:this.data+"&"+i}}}}(Kube),function(t){t.Response=function(t){},t.Response.prototype={parse:function(t){if(""===t)return!1;var e={};try{e=JSON.parse(t)}catch(s){return!1}if(void 0!==e[0])for(var i in e)this.parseItem(e[i]);else this.parseItem(e);return e},parseItem:function(t){return"value"===t.type?$.each(t.data,$.proxy(function(t,e){e=null===e||e===!1?0:e,e=e===!0?1:e,$(t).val(e)},this)):"html"===t.type?$.each(t.data,$.proxy(function(t,e){e=null===e||e===!1?"":e,$(t).html(this.stripslashes(e))},this)):"addClass"===t.type?$.each(t.data,function(t,e){$(t).addClass(e)}):"removeClass"===t.type?$.each(t.data,function(t,e){$(t).removeClass(e)}):"command"===t.type?$.each(t.data,function(t,e){$(e)[t]()}):"animation"===t.type?$.each(t.data,function(t,e){e.opts="undefined"==typeof e.opts?{}:e.opts,$(t).animation(e.name,e.opts)}):"location"===t.type?top.location.href=t.data:"notify"===t.type&&$.notify(t.data),t},stripslashes:function(t){return(t+"").replace(/\0/g,"0").replace(/\\([\\'"])/g,"$1")}}}(Kube),function(t){t.Utils=function(){},t.Utils.prototype={disableBodyScroll:function(){var t=$("html"),e=window.innerWidth;if(!e){var s=document.documentElement.getBoundingClientRect();e=s.right-Math.abs(s.left)}var i=document.body.clientWidth<e,n=this.measureScrollbar();t.css("overflow","hidden"),i&&t.css("padding-right",n)},measureScrollbar:function(){var t=$("body"),e=document.createElement("div");e.className="scrollbar-measure",t.append(e);var s=e.offsetWidth-e.clientWidth;return t[0].removeChild(e),s},enableBodyScroll:function(){$("html").css({overflow:"","padding-right":""})}}}(Kube),function(t){t.Message=function(e,s){this.namespace="message",this.defaults={closeSelector:".close",closeEvent:"click",animationOpen:"fadeIn",animationClose:"fadeOut",callbacks:["open","opened","close","closed"]},t.apply(this,arguments),this.start()},t.Message.prototype={start:function(){this.$close=this.$element.find(this.opts.closeSelector),this.$close.on(this.opts.closeEvent+"."+this.namespace,$.proxy(this.close,this)),this.$element.addClass("open")},stop:function(){this.$close.off("."+this.namespace),this.$element.removeClass("open")},open:function(t){t&&t.preventDefault(),this.isOpened()||(this.callback("open"),this.$element.animation(this.opts.animationOpen,$.proxy(this.onOpened,this)))},isOpened:function(){return this.$element.hasClass("open")},onOpened:function(){this.callback("opened"),this.$element.addClass("open")},close:function(t){t&&t.preventDefault(),this.isOpened()&&(this.callback("close"),this.$element.animation(this.opts.animationClose,$.proxy(this.onClosed,this)))},onClosed:function(){this.callback("closed"),this.$element.removeClass("open")}},t.Message.inherits(t),t.Plugin.create("Message"),t.Plugin.autoload("Message")}(Kube),function(t){t.Sticky=function(e,s){this.namespace="sticky",this.defaults={classname:"fixed",offset:0,callbacks:["fixed","unfixed"]},t.apply(this,arguments),this.start()},t.Sticky.prototype={start:function(){this.offsetTop=this.getOffsetTop(),this.load(),$(window).scroll($.proxy(this.load,this))},getOffsetTop:function(){return this.$element.offset().top},load:function(){return this.isFix()?this.fixed():this.unfixed()},isFix:function(){return $(window).scrollTop()>this.offsetTop+this.opts.offset},fixed:function(){this.$element.addClass(this.opts.classname).css("top",this.opts.offset+"px"),this.callback("fixed")},unfixed:function(){this.$element.removeClass(this.opts.classname).css("top",""),this.callback("unfixed")}},t.Sticky.inherits(t),t.Plugin.create("Sticky"),t.Plugin.autoload("Sticky")}(Kube),function(t){t.Toggleme=function(e,s){this.namespace="toggleme",this.defaults={toggleEvent:"click",target:null,text:"",animationOpen:"slideDown",animationClose:"slideUp",callbacks:["open","opened","close","closed"]},t.apply(this,arguments),this.start()},t.Toggleme.prototype={start:function(){this.hasTarget()&&this.$element.on(this.opts.toggleEvent+"."+this.namespace,$.proxy(this.toggle,this))},stop:function(){this.$element.off("."+this.namespace),this.revertText()},toggle:function(t){this.isOpened()?this.close(t):this.open(t)},open:function(t){t&&t.preventDefault(),this.isOpened()||(this.storeText(),this.callback("open"),this.$target.animation("slideDown",$.proxy(this.onOpened,this)),setTimeout($.proxy(this.replaceText,this),100))},close:function(t){t&&t.preventDefault(),this.isOpened()&&(this.callback("close"),this.$target.animation("slideUp",$.proxy(this.onClosed,this)))},isOpened:function(){return this.$target.hasClass("open")},onOpened:function(){this.$target.addClass("open"),this.callback("opened")},onClosed:function(){this.$target.removeClass("open"),this.revertText(),this.callback("closed")},storeText:function(){this.$element.data("replacement-text",this.$element.html())},revertText:function(){var t=this.$element.data("replacement-text");t&&this.$element.html(t),this.$element.removeData("replacement-text")},replaceText:function(){""!==this.opts.text&&this.$element.html(this.opts.text)}},t.Toggleme.inherits(t),t.Plugin.create("Toggleme"),t.Plugin.autoload("Toggleme")}(Kube),function(t){t.Offcanvas=function(e,s){this.namespace="offcanvas",this.defaults={target:null,push:!0,width:"250px",direction:"left",toggleEvent:"click",clickOutside:!0,animationOpen:"slideInLeft",animationClose:"slideOutLeft",callbacks:["open","opened","close","closed"]},t.apply(this,arguments),this.utils=new t.Utils,this.detect=new t.Detect,this.start()},t.Offcanvas.prototype={start:function(){this.hasTarget()&&(this.buildTargetWidth(),this.buildAnimationDirection(),this.$close=this.getCloseLink(),this.$element.on(this.opts.toggleEvent+"."+this.namespace,$.proxy(this.toggle,this)),this.$target.addClass("offcanvas"))},stop:function(){this.closeAll(),this.$element.off("."+this.namespace),this.$close.off("."+this.namespace),$(document).off("."+this.namespace)},toggle:function(t){this.isOpened()?this.close(t):this.open(t)},buildTargetWidth:function(){this.opts.width=$(window).width()<parseInt(this.opts.width)?"100%":this.opts.width},buildAnimationDirection:function(){"right"===this.opts.direction&&(this.opts.animationOpen="slideInRight",this.opts.animationClose="slideOutRight")},getCloseLink:function(){return this.$target.find(".close")},open:function(t){t&&t.preventDefault(),this.isOpened()||(this.closeAll(),this.callback("open"),this.$target.addClass("offcanvas-"+this.opts.direction),this.$target.css("width",this.opts.width),this.pushBody(),this.$target.animation(this.opts.animationOpen,$.proxy(this.onOpened,this)))},closeAll:function(){var t=$(document).find(".offcanvas");0!==t.length&&(t.each(function(){var t=$(this);t.hasClass("open")&&(t.css("width","").animation("hide"),t.removeClass("open offcanvas-left offcanvas-right"))}),$(document).off("."+this.namespace),$("body").css("left",""))},close:function(t){if(t){var e=$(t.target),s="A"===e[0].tagName||"BUTTON"===e[0].tagName;if(s&&0!==e.closest(".offcanvas").length&&!e.hasClass("close"))return;t.preventDefault()}this.isOpened()&&(this.utils.enableBodyScroll(),this.callback("close"),this.pullBody(),this.$target.animation(this.opts.animationClose,$.proxy(this.onClosed,this)))},isOpened:function(){return this.$target.hasClass("open")},onOpened:function(){this.opts.clickOutside&&$(document).on("click."+this.namespace,$.proxy(this.close,this)),this.detect.isMobileScreen()&&$("html").addClass("no-scroll"),$(document).on("keyup."+this.namespace,$.proxy(this.handleKeyboard,this)),this.$close.on("click."+this.namespace,$.proxy(this.close,this)),this.utils.disableBodyScroll(),this.$target.addClass("open"),this.callback("opened")},onClosed:function(){this.detect.isMobileScreen()&&$("html").removeClass("no-scroll"),this.$target.css("width","").removeClass("offcanvas-"+this.opts.direction),this.$close.off("."+this.namespace),$(document).off("."+this.namespace),this.$target.removeClass("open"),this.callback("closed")},handleKeyboard:function(t){27===t.which&&this.close()},pullBody:function(){this.opts.push&&$("body").animate({left:0},350,function(){$(this).removeClass("offcanvas-push-body")})},pushBody:function(){if(this.opts.push){var t="left"===this.opts.direction?{left:this.opts.width}:{left:"-"+this.opts.width};$("body").addClass("offcanvas-push-body").animate(t,200)}}},t.Offcanvas.inherits(t),t.Plugin.create("Offcanvas"),t.Plugin.autoload("Offcanvas")}(Kube),function(t){t.Collapse=function(e,s){this.namespace="collapse",this.defaults={target:null,toggle:!0,active:!1,toggleClass:"collapse-toggle",boxClass:"collapse-box",callbacks:["open","opened","close","closed"],hashes:[],currentHash:!1,currentItem:!1},t.apply(this,arguments),this.start()},t.Collapse.prototype={start:function(){this.$items=this.getItems(),this.$items.each($.proxy(this.loadItems,this)),this.$boxes=this.getBoxes(),this.setActiveItem()},getItems:function(){return this.$element.find("."+this.opts.toggleClass)},getBoxes:function(){return this.$element.find("."+this.opts.boxClass)},loadItems:function(t,e){var s=this.getItem(e);s.$el.attr("rel",s.hash),$(s.hash).hasClass("hide")||(this.opts.currentItem=s,this.opts.active=s.hash,s.$el.addClass("active")),s.$el.on("click.collapse",$.proxy(this.toggle,this))},setActiveItem:function(){this.opts.active!==!1&&(this.opts.currentItem=this.getItemBy(this.opts.active),this.opts.active=this.opts.currentItem.hash),this.opts.currentItem!==!1&&(this.addActive(this.opts.currentItem),this.opts.currentItem.$box.removeClass("hide"))},addActive:function(t){t.$box.removeClass("hide").addClass("open"),t.$el.addClass("active"),t.$caret!==!1&&t.$caret.removeClass("down").addClass("up"),t.$parent!==!1&&t.$parent.addClass("active"),this.opts.currentItem=t},removeActive:function(t){t.$box.removeClass("open"),t.$el.removeClass("active"),t.$caret!==!1&&t.$caret.addClass("down").removeClass("up"),t.$parent!==!1&&t.$parent.removeClass("active"),this.opts.currentItem=!1},toggle:function(t){t&&t.preventDefault();var e=$(t.target).closest("."+this.opts.toggleClass).get(0)||t.target,s=this.getItem(e);this.isOpened(s.hash)?this.close(s.hash):this.open(t)},openAll:function(){this.$items.addClass("active"),this.$boxes.addClass("open").removeClass("hide")},open:function(t,e){if("undefined"!=typeof t){"object"==typeof t&&t.preventDefault();var s=$(t.target).closest("."+this.opts.toggleClass).get(0)||t.target,i="object"==typeof t?this.getItem(s):this.getItemBy(t);i.$box.hasClass("open")||(this.opts.toggle&&this.closeAll(),this.callback("open",i),this.addActive(i),i.$box.animation("slideDown",$.proxy(this.onOpened,this)))}},onOpened:function(){this.callback("opened",this.opts.currentItem)},closeAll:function(){this.$items.removeClass("active").closest("li").removeClass("active"),this.$boxes.removeClass("open").addClass("hide")},close:function(t){var e=this.getItemBy(t);this.callback("close",e),this.opts.currentItem=e,e.$box.animation("slideUp",$.proxy(this.onClosed,this))},onClosed:function(){var t=this.opts.currentItem;this.removeActive(t),this.callback("closed",t)},isOpened:function(t){return $(t).hasClass("open")},getItem:function(t){var e={};e.$el=$(t),e.hash=e.$el.attr("href"),e.$box=$(e.hash);var s=e.$el.parent();e.$parent="LI"===s[0].tagName?s:!1;var i=e.$el.find(".caret");return e.$caret=0!==i.length?i:!1,e},getItemBy:function(t){var e="number"==typeof t?this.$items.eq(t-1):this.$element.find('[rel="'+t+'"]');return this.getItem(e)}},t.Collapse.inherits(t),t.Plugin.create("Collapse"),t.Plugin.autoload("Collapse")}(Kube),function(t){t.Dropdown=function(e,s){this.namespace="dropdown",this.defaults={target:null,toggleEvent:"click",height:!1,width:!1,animationOpen:"slideDown",animationClose:"slideUp",caretUp:!1,callbacks:["open","opened","close","closed"]},t.apply(this,arguments),this.utils=new t.Utils,this.detect=new t.Detect,this.start()},t.Dropdown.prototype={start:function(){this.buildClose(),this.buildCaret(),this.detect.isMobile()&&this.buildMobileAnimation(),this.$target.addClass("hide"),this.$element.on(this.opts.toggleEvent+"."+this.namespace,$.proxy(this.toggle,this))},stop:function(){this.$element.off("."+this.namespace),this.$target.removeClass("open").addClass("hide"),this.disableEvents()},buildMobileAnimation:function(){this.opts.animationOpen="fadeIn",this.opts.animationClose="fadeOut"},buildClose:function(){this.$close=this.$target.find(".close")},buildCaret:function(){this.$caret=this.getCaret(),this.buildCaretPosition()},buildCaretPosition:function(){var t=this.$element.offset().top+this.$element.innerHeight()+this.$target.innerHeight();$(document).height()>t||(this.opts.caretUp=!0,this.$caret.addClass("up"))},getCaret:function(){return this.$element.find(".caret")},toggleCaretOpen:function(){this.opts.caretUp?this.$caret.removeClass("up").addClass("down"):this.$caret.removeClass("down").addClass("up")},toggleCaretClose:function(){this.opts.caretUp?this.$caret.removeClass("down").addClass("up"):this.$caret.removeClass("up").addClass("down")},toggle:function(t){this.isOpened()?this.close(t):this.open(t)},open:function(t){t&&t.preventDefault(),this.callback("open"),$(".dropdown").removeClass("open").addClass("hide"),this.opts.height&&this.$target.css("min-height",this.opts.height+"px"),this.opts.width&&this.$target.width(this.opts.width),this.setPosition(),this.toggleCaretOpen(),this.$target.animation(this.opts.animationOpen,$.proxy(this.onOpened,this))},close:function(t){if(this.isOpened()){if(t){if(this.shouldNotBeClosed(t.target))return;t.preventDefault()}this.utils.enableBodyScroll(),this.callback("close"),this.toggleCaretClose(),this.$target.animation(this.opts.animationClose,$.proxy(this.onClosed,this))}},onClosed:function(){this.$target.removeClass("open"),this.disableEvents(),this.callback("closed")},onOpened:function(){this.$target.addClass("open"),this.enableEvents(),this.callback("opened")},isOpened:function(){return this.$target.hasClass("open")},enableEvents:function(){this.detect.isDesktop()&&this.$target.on("mouseover."+this.namespace,$.proxy(this.utils.disableBodyScroll,this.utils)).on("mouseout."+this.namespace,$.proxy(this.utils.enableBodyScroll,this.utils)),$(document).on("scroll."+this.namespace,$.proxy(this.setPosition,this)),$(window).on("resize."+this.namespace,$.proxy(this.setPosition,this)),$(document).on("click."+this.namespace+" touchstart."+this.namespace,$.proxy(this.close,this)),$(document).on("keydown."+this.namespace,$.proxy(this.handleKeyboard,this)),this.$target.find('[data-action="dropdown-close"]').on("click."+this.namespace,$.proxy(this.close,this))},disableEvents:function(){this.$target.off("."+this.namespace),$(document).off("."+this.namespace),$(window).off("."+this.namespace)},handleKeyboard:function(t){27===t.which&&this.close(t)},shouldNotBeClosed:function(t){return"dropdown-close"===$(t).attr("data-action")||t===this.$close[0]?!1:0!==$(t).closest(".dropdown").length},isNavigationFixed:function(){return 0!==this.$element.closest(".fixed").length},getPlacement:function(t){return $(document).height()<t?"top":"bottom"},getOffset:function(t){return this.isNavigationFixed()?this.$element.position():this.$element.offset()},getPosition:function(){return this.isNavigationFixed()?"fixed":"absolute"},setPosition:function(){if(this.detect.isMobile())return void this.$target.addClass("dropdown-mobile");var t,e=this.getPosition(),s=this.getOffset(e),i=this.$target.innerHeight(),n=this.$target.innerWidth(),o=this.getPlacement(s.top+i+this.$element.innerHeight()),a=$(window).width()<s.left+n?n-this.$element.innerWidth():0,h=s.left-a;"bottom"===o?(this.isOpened()||this.$caret.removeClass("up").addClass("down"),this.opts.caretUp=!1,t=s.top+this.$element.outerHeight()+1):(this.opts.animationOpen="show",this.opts.animationClose="hide",this.isOpened()||this.$caret.addClass("up").removeClass("down"),this.opts.caretUp=!0,t=s.top-i-1),this.$target.css({position:e,top:t+"px",left:h+"px"})}},t.Dropdown.inherits(t),t.Plugin.create("Dropdown"),t.Plugin.autoload("Dropdown")}(Kube),function(t){t.Tabs=function(e,s){this.namespace="tabs",this.defaults={equals:!1,active:!1,live:!1,hash:!0,callbacks:["init","next","prev","open","opened","close","closed"]},t.apply(this,arguments),this.start()},t.Tabs.prototype={start:function(){this.opts.live!==!1&&this.buildLiveTabs(),this.tabsCollection=[],this.hashesCollection=[],this.currentHash=[],this.currentItem=!1,this.$items=this.getItems(),this.$items.each($.proxy(this.loadItems,this)),this.$tabs=this.getTabs(),this.currentHash=this.getLocationHash(),this.closeAll(),this.setActiveItem(),this.setItemHeight(),this.callback("init")},getTabs:function(){return $(this.tabsCollection).map(function(){return this.toArray()})},getItems:function(){return this.$element.find("a")},loadItems:function(t,e){var s=this.getItem(e);s.$el.attr("rel",s.hash),this.collectItem(s),s.$parent.hasClass("active")&&(this.currentItem=s,this.opts.active=s.hash),s.$el.on("click.tabs",$.proxy(this.open,this))},collectItem:function(t){this.tabsCollection.push(t.$tab),this.hashesCollection.push(t.hash)},buildLiveTabs:function(){var t=$(this.opts.live);0!==t.length&&(this.$liveTabsList=$("<ul />"),t.each($.proxy(this.buildLiveItem,this)),this.$element.html("").append(this.$liveTabsList))},buildLiveItem:function(t,e){var s=$(e),i=$("<li />"),n=$("<a />"),o=t+1;s.attr("id",this.getLiveItemId(s,o));var a="#"+s.attr("id"),h=this.getLiveItemTitle(s);n.attr("href",a).attr("rel",a).text(h),i.append(n),this.$liveTabsList.append(i)},getLiveItemId:function(t,e){return"undefined"==typeof t.attr("id")?this.opts.live.replace(".","")+e:t.attr("id")},getLiveItemTitle:function(t){return"undefined"==typeof t.attr("data-title")?t.attr("id"):t.attr("data-title")},setActiveItem:function(){this.currentHash?(this.currentItem=this.getItemBy(this.currentHash),this.opts.active=this.currentHash):this.opts.active===!1&&(this.currentItem=this.getItem(this.$items.first()),this.opts.active=this.currentItem.hash),this.addActive(this.currentItem)},addActive:function(t){t.$parent.addClass("active"),t.$tab.removeClass("hide").addClass("open"),this.currentItem=t},removeActive:function(t){t.$parent.removeClass("active"),t.$tab.addClass("hide").removeClass("open"),this.currentItem=!1},next:function(t){t&&t.preventDefault();var e=this.getItem(this.fetchElement("next"));this.open(e.hash),this.callback("next",e)},prev:function(t){t&&t.preventDefault();var e=this.getItem(this.fetchElement("prev"));this.open(e.hash),this.callback("prev",e)},fetchElement:function(t){var e;if(this.currentItem!==!1){if(e=this.currentItem.$parent[t]().find("a"),0===e.length)return}else e=this.$items[0];return e},open:function(t,e){if("undefined"!=typeof t){"object"==typeof t&&t.preventDefault();var s="object"==typeof t?this.getItem(t.target):this.getItemBy(t);this.closeAll(),this.callback("open",s),this.addActive(s),this.pushStateOpen(e,s),this.callback("opened",s)}},pushStateOpen:function(t,e){t!==!1&&this.opts.hash!==!1&&history.pushState(!1,!1,e.hash)},close:function(t){var e=this.getItemBy(t);e.$parent.hasClass("active")&&(this.callback("close",e),this.removeActive(e),this.pushStateClose(),this.callback("closed",e))},pushStateClose:function(){this.opts.hash!==!1&&history.pushState(!1,!1," ")},closeAll:function(){this.$tabs.removeClass("open").addClass("hide"),this.$items.parent().removeClass("active")},getItem:function(t){var e={};return e.$el=$(t),e.hash=e.$el.attr("href"),e.$parent=e.$el.parent(),e.$tab=$(e.hash),e},getItemBy:function(t){var e="number"==typeof t?this.$items.eq(t-1):this.$element.find('[rel="'+t+'"]');return this.getItem(e)},getLocationHash:function(){return this.opts.hash===!1?!1:this.isHash()?top.location.hash:!1},isHash:function(){return!(""===top.location.hash||-1===$.inArray(top.location.hash,this.hashesCollection))},setItemHeight:function(){if(this.opts.equals){var t=this.getItemMaxHeight()+"px";this.$tabs.css("min-height",t)}},getItemMaxHeight:function(){var t=0;return this.$tabs.each(function(){var e=$(this).height();t=e>t?e:t}),t}},t.Tabs.inherits(t),t.Plugin.create("Tabs"),t.Plugin.autoload("Tabs")}(Kube),function(t){t.modalcurrent=null,t.modalwindow=function(e){var s=t.extend({},e,{show:!0}),i=t("<span />");i.modal(s)}}(jQuery),function(t){t.Modal=function(e,s){this.namespace="modal",this.defaults={target:null,show:!1,url:!1,header:!1,width:"600px",height:!1,maxHeight:!1,position:"center",overlay:!0,appendForms:!1,appendFields:!1,animationOpen:"show",animationClose:"hide",callbacks:["open","opened","close","closed"]},t.apply(this,arguments),this.utils=new t.Utils,this.detect=new t.Detect,this.start()},t.Modal.prototype={start:function(){this.hasTarget()&&(this.opts.show?this.load():this.$element.on("click."+this.namespace,$.proxy(this.load,this)))},buildModal:function(){this.$modal=this.$target.find(".modal"),this.$header=this.$target.find(".modal-header"),this.$close=this.$target.find(".close"),this.$body=this.$target.find(".modal-body")},buildOverlay:function(){this.opts.overlay!==!1&&(0!==$("#modal-overlay").length?this.$overlay=$("#modal-overlay"):(this.$overlay=$('<div id="modal-overlay">').addClass("hide"),$("body").prepend(this.$overlay)),this.$overlay.addClass("overlay"))},buildHeader:function(){this.opts.header&&this.$header.html(this.opts.header)},load:function(t){this.buildModal(),this.buildOverlay(),this.buildHeader(),this.opts.url?this.buildContent():this.open(t)},open:function(t){t&&t.preventDefault(),this.isOpened()||(this.detect.isMobile()&&(this.opts.width="96%"),this.opts.overlay&&this.$overlay.removeClass("hide"),this.$target.removeClass("hide"),this.$modal.removeClass("hide"),this.enableEvents(),this.findActions(),this.resize(),$(window).on("resize."+this.namespace,$.proxy(this.resize,this)),this.detect.isDesktop()&&this.utils.disableBodyScroll(),this.$modal.find("input[type=text],input[type=url],input[type=email]").on("keydown."+this.namespace,$.proxy(this.handleEnter,this)),this.callback("open"),this.$modal.animation(this.opts.animationOpen,$.proxy(this.onOpened,this)))},close:function(t){if(this.$modal&&this.isOpened()){if(t){if(this.shouldNotBeClosed(t.target))return;t.preventDefault()}this.callback("close"),this.disableEvents(),this.$modal.animation(this.opts.animationClose,$.proxy(this.onClosed,this)),this.opts.overlay&&this.$overlay.animation(this.opts.animationClose)}},onOpened:function(){this.$modal.addClass("open"),this.callback("opened"),$.modalcurrent=this},onClosed:function(){this.callback("closed"),this.$target.addClass("hide"),this.$modal.removeClass("open"),this.detect.isDesktop()&&this.utils.enableBodyScroll(),this.$body.css("height",""),$.modalcurrent=null},isOpened:function(){return this.$modal.hasClass("open")},getData:function(){var e=new t.FormData(this);return e.set(""),e.get()},buildContent:function(){$.ajax({url:this.opts.url+"?"+(new Date).getTime(),cache:!1,type:"post",data:this.getData(),success:$.proxy(function(t){this.$body.html(t),this.open()},this)})},buildWidth:function(){var t=this.opts.width,e="2%",s="2%",i=t.match(/%$/);parseInt(this.opts.width)>$(window).width()&&!i?t="96%":i||(e="16px",s="16px"),this.$modal.css({width:t,"margin-top":e,"margin-bottom":s})},buildPosition:function(){if("center"===this.opts.position){var t=$(window).height(),e=this.$modal.outerHeight(),s=t/2-e/2+"px";this.detect.isMobile()?s="2%":e>t&&(s="16px"),this.$modal.css("margin-top",s)}},buildHeight:function(){var t=$(window).height();if(this.opts.maxHeight){var e=parseInt(this.$body.css("padding-top"))+parseInt(this.$body.css("padding-bottom")),s=parseInt(this.$modal.css("margin-top"))+parseInt(this.$modal.css("margin-bottom")),i=t-this.$header.innerHeight()-e-s;this.$body.height(i)}else this.opts.height!==!1&&this.$body.css("height",this.opts.height);var n=this.$modal.outerHeight();n>t&&(this.opts.animationOpen="show",this.opts.animationClose="hide")},resize:function(){this.buildWidth(),this.buildPosition(),this.buildHeight()},enableEvents:function(){this.$close.on("click."+this.namespace,$.proxy(this.close,this)),$(document).on("keyup."+this.namespace,$.proxy(this.handleEscape,this)),this.$target.on("click."+this.namespace,$.proxy(this.close,this))},disableEvents:function(){this.$close.off("."+this.namespace),$(document).off("."+this.namespace),this.$target.off("."+this.namespace),$(window).off("."+this.namespace)},findActions:function(){this.$body.find('[data-action="modal-close"]').on("mousedown."+this.namespace,$.proxy(this.close,this))},setHeader:function(t){this.$header.html(t)},setContent:function(t){this.$body.html(t)},setWidth:function(t){this.opts.width=t,this.resize()},getModal:function(){return this.$modal},getBody:function(){return this.$body},getHeader:function(){return this.$header},handleEnter:function(t){13===t.which&&(t.preventDefault(),this.close(!1))},handleEscape:function(t){return 27===t.which?this.close(!1):!0},shouldNotBeClosed:function(t){return"modal-close"===$(t).attr("data-action")||t===this.$close[0]?!1:0!==$(t).closest(".modal").length}},t.Modal.inherits(t),t.Plugin.create("Modal"),t.Plugin.autoload("Modal")}(Kube);
|
@@ -0,0 +1,585 @@
|
|
1
|
+
// BREAKPOINTS
|
2
|
+
// ---------------------------------------------------------------------------
|
3
|
+
$sm: 768px !default;
|
4
|
+
$md: 1024px !default;
|
5
|
+
$lg: 1200px !default;
|
6
|
+
|
7
|
+
|
8
|
+
// WIDTH
|
9
|
+
// ---------------------------------------------------------------------------
|
10
|
+
$w-small: 480px !default;
|
11
|
+
$w-medium: 600px !default;
|
12
|
+
$w-big: 740px !default;
|
13
|
+
$w-large: 840px !default;
|
14
|
+
|
15
|
+
|
16
|
+
// Z-INDEX
|
17
|
+
// ---------------------------------------------------------------------------
|
18
|
+
$z-over-content: 100 !default;
|
19
|
+
$z-over-control: 200 !default;
|
20
|
+
$z-over-page: 300 !default;
|
21
|
+
$z-over-screen: 400 !default;
|
22
|
+
$z-over-all: 500 !default;
|
23
|
+
|
24
|
+
|
25
|
+
// GRID
|
26
|
+
// ---------------------------------------------------------------------------
|
27
|
+
$grid-columns: 12 !default;
|
28
|
+
$grid-gutter: 2% !default;
|
29
|
+
|
30
|
+
|
31
|
+
// FONT FAMILY
|
32
|
+
// ---------------------------------------------------------------------------
|
33
|
+
$text-font-family: Arial, 'Helvetica Neue', Helvetica, sans-serif !default;
|
34
|
+
$monospace-font-family: Consolas, Monaco, 'Courier New', monospace !default;
|
35
|
+
$headings-font-family: $text-font-family !default;
|
36
|
+
$buttons-font-family: $text-font-family !default;
|
37
|
+
$input-font-family: $text-font-family !default;
|
38
|
+
|
39
|
+
|
40
|
+
// COLORS
|
41
|
+
// ---------------------------------------------------------------------------
|
42
|
+
|
43
|
+
// Text
|
44
|
+
$color-text: #313439 !default;
|
45
|
+
$color-headings: #0d0d0e !default;
|
46
|
+
|
47
|
+
// Links
|
48
|
+
$color-link: #3794de !default;
|
49
|
+
$color-link-hover: #f03c69 !default;
|
50
|
+
|
51
|
+
// Button
|
52
|
+
$color-button-primary: #1c86f2 !default;
|
53
|
+
$color-button-primary-text: #fff !default;
|
54
|
+
$color-button-secondary: #313439 !default;
|
55
|
+
$color-button-secondary-text: #fff !default;
|
56
|
+
|
57
|
+
// States
|
58
|
+
$color-error: #f03c69 !default;
|
59
|
+
$color-success: #35beb1 !default;
|
60
|
+
$color-warning: #f7ba45 !default;
|
61
|
+
$color-focus: #1c86f2 !default;
|
62
|
+
|
63
|
+
// Extra
|
64
|
+
$color-inverted: #fff !default;
|
65
|
+
$color-highlight: #edf2ff !default; // color-focus 15% opacity
|
66
|
+
|
67
|
+
// Grayscale
|
68
|
+
$color-black: #0d0d0e !default;
|
69
|
+
$color-darkgray: #313439 !default;
|
70
|
+
$color-midgray: #676b72 !default;
|
71
|
+
$color-gray: #bdbdbd !default;
|
72
|
+
$color-lightgray: #d4d4d4 !default;
|
73
|
+
$color-silver: #e0e1e1 !default;
|
74
|
+
$color-aluminum: #f8f8f8 !default;
|
75
|
+
|
76
|
+
|
77
|
+
// TEXT
|
78
|
+
// ---------------------------------------------------------------------------
|
79
|
+
|
80
|
+
// Font Size
|
81
|
+
$font-size: 16px !default;
|
82
|
+
$font-size-smaller: $font-size - 4px !default;
|
83
|
+
$font-size-small: $font-size - 2px !default;
|
84
|
+
$font-size-big: $font-size + 2px !default;
|
85
|
+
$font-size-large: $font-size + 4px !default;
|
86
|
+
|
87
|
+
// Baseline
|
88
|
+
$base-line: 24px !default;
|
89
|
+
$base-line-smaller: 20px !default;
|
90
|
+
$base-line-small: 20px !default;
|
91
|
+
$base-line-big: 28px !default;
|
92
|
+
$base-line-large: 32px !default;
|
93
|
+
|
94
|
+
// Margin
|
95
|
+
$text-margin-bottom: $font-size !default;
|
96
|
+
|
97
|
+
|
98
|
+
// HEADINGS
|
99
|
+
// ---------------------------------------------------------------------------
|
100
|
+
|
101
|
+
// Font Size
|
102
|
+
// By default: 60, 48, 36, 24, 21, 18, 16
|
103
|
+
$heading-font-size-title: 60px !default;
|
104
|
+
$heading-font-size-1: 48px !default;
|
105
|
+
$heading-font-size-2: 36px !default;
|
106
|
+
$heading-font-size-3: 24px !default;
|
107
|
+
$heading-font-size-4: 21px !default;
|
108
|
+
$heading-font-size-5: 18px !default;
|
109
|
+
$heading-font-size-6: 16px !default;
|
110
|
+
|
111
|
+
// Baseline
|
112
|
+
$heading-base-line-title: 64px !default;
|
113
|
+
$heading-base-line-1: 52px !default;
|
114
|
+
$heading-base-line-2: 40px !default;
|
115
|
+
$heading-base-line-3: 32px !default;
|
116
|
+
$heading-base-line-4: 32px !default;
|
117
|
+
$heading-base-line-5: 28px !default;
|
118
|
+
$heading-base-line-6: 24px !default;
|
119
|
+
|
120
|
+
// Margin
|
121
|
+
$heading-margin-bottom: $font-size !default;
|
122
|
+
|
123
|
+
|
124
|
+
// TABLES
|
125
|
+
// ---------------------------------------------------------------------------
|
126
|
+
|
127
|
+
// Font Size
|
128
|
+
$table-font-size: $font-size - 1px !default;
|
129
|
+
|
130
|
+
// Baseline
|
131
|
+
$table-base-line: 24px !default;
|
132
|
+
|
133
|
+
// Padding
|
134
|
+
$table-padding-tb: 1rem !default;
|
135
|
+
$table-padding-rl: 1rem !default;
|
136
|
+
|
137
|
+
// Border
|
138
|
+
$table-border: 1px solid rgba(0, 0, 0, .05) !default;
|
139
|
+
|
140
|
+
// Striped
|
141
|
+
$table-background-striped: $color-aluminum !default;
|
142
|
+
|
143
|
+
|
144
|
+
// BUTTONS
|
145
|
+
// ---------------------------------------------------------------------------
|
146
|
+
|
147
|
+
// Font Size
|
148
|
+
$button-font-size: 15px !default;
|
149
|
+
$button-font-size-smaller: $button-font-size - 4px !default;
|
150
|
+
$button-font-size-small: $button-font-size - 2px !default;
|
151
|
+
$button-font-size-big: $button-font-size + 2px !default;
|
152
|
+
$button-font-size-large: $button-font-size + 4px !default;
|
153
|
+
|
154
|
+
// Baseline
|
155
|
+
$button-base-line: 20px !default;
|
156
|
+
|
157
|
+
// Height
|
158
|
+
$button-height: 40px !default;
|
159
|
+
$button-height-small: 36px !default;
|
160
|
+
$button-height-big: 48px !default;
|
161
|
+
$button-height-large: 56px !default;
|
162
|
+
|
163
|
+
// Padding
|
164
|
+
$button-padding-tb: 8px !default;
|
165
|
+
$button-padding-rl: 20px !default;
|
166
|
+
$button-padding-small-tb: 6px !default;
|
167
|
+
$button-padding-small-rl: 20px !default;
|
168
|
+
$button-padding-big-tb: 13px !default;
|
169
|
+
$button-padding-big-rl: 24px !default;
|
170
|
+
$button-padding-large-tb: 20px !default;
|
171
|
+
$button-padding-large-rl: 36px !default;
|
172
|
+
|
173
|
+
// Weight
|
174
|
+
$button-font-weight: 500 !default;
|
175
|
+
|
176
|
+
// Radius
|
177
|
+
$button-border-radius: 3px !default;
|
178
|
+
|
179
|
+
|
180
|
+
// INPUTS
|
181
|
+
// ---------------------------------------------------------------------------
|
182
|
+
|
183
|
+
// Font Size
|
184
|
+
$input-font-size: 15px !default;
|
185
|
+
$input-font-size-smaller: $input-font-size - 4px !default;
|
186
|
+
$input-font-size-small: $input-font-size - 2px !default;
|
187
|
+
$input-font-size-big: $input-font-size + 2px !default;
|
188
|
+
$input-font-size-large: $input-font-size + 4px !default;
|
189
|
+
|
190
|
+
// Baseline
|
191
|
+
$textarea-base-line: $base-line !default;
|
192
|
+
|
193
|
+
// Height
|
194
|
+
$input-height: 40px !default;
|
195
|
+
$input-height-small: 36px !default;
|
196
|
+
$input-height-big: 48px !default;
|
197
|
+
$input-height-large: 56px !default;
|
198
|
+
|
199
|
+
// Padding
|
200
|
+
$input-padding-rl: 12px !default;
|
201
|
+
$input-padding-small-rl: 12px !default;
|
202
|
+
$input-padding-big-rl: 12px !default;
|
203
|
+
$input-padding-large-rl: 12px !default;
|
204
|
+
$input-textarea-padding-tb: 8px !default;
|
205
|
+
|
206
|
+
// States
|
207
|
+
$input-border-width: 1px !default;
|
208
|
+
$input-border-color: $color-lightgray !default;
|
209
|
+
$input-background-color: #fff !default;
|
210
|
+
$input-box-shadow: none !default;
|
211
|
+
|
212
|
+
$input-focus-background-color: #fff !default;
|
213
|
+
$input-focus-border-color: $color-focus !default;
|
214
|
+
$input-focus-box-shadow: 0 0 1px $color-focus inset !default;
|
215
|
+
|
216
|
+
$input-error-background-color: $color-error !default;
|
217
|
+
$input-error-border-color: $color-error !default;
|
218
|
+
$input-error-focus-box-shadow: 0 0 1px $color-error inset !default;
|
219
|
+
|
220
|
+
$input-success-background-color: $color-success !default;
|
221
|
+
$input-success-border-color: $color-success !default;
|
222
|
+
$input-success-focus-box-shadow: 0 0 1px $color-success inset !default;
|
223
|
+
|
224
|
+
$input-disabled-opacity: .6;
|
225
|
+
$input-disabled-color: rgba(0, 0, 0, .5);
|
226
|
+
|
227
|
+
// Radius
|
228
|
+
$input-border-radius: 3px !default;
|
229
|
+
|
230
|
+
|
231
|
+
// OVERLAY
|
232
|
+
// ---------------------------------------------------------------------------
|
233
|
+
$overlay-background-color: rgba(#fff, .95);
|
234
|
+
@mixin breakpoint($min: 0, $max: 0) {
|
235
|
+
|
236
|
+
$type: type-of($min);
|
237
|
+
|
238
|
+
@if $type == string
|
239
|
+
{
|
240
|
+
@if $min == sm
|
241
|
+
{
|
242
|
+
@media (max-width: $sm) { @content; }
|
243
|
+
}
|
244
|
+
@else if $min == md
|
245
|
+
{
|
246
|
+
@media (min-width: $sm) and (max-width: $md) { @content; }
|
247
|
+
}
|
248
|
+
@else if $min == lg
|
249
|
+
{
|
250
|
+
@media (min-width: $lg) { @content; }
|
251
|
+
}
|
252
|
+
}
|
253
|
+
@else if $type == number
|
254
|
+
{
|
255
|
+
$query: "all" !default;
|
256
|
+
@if $min != 0 and $max != 0 { $query: "(min-width: #{$min}) and (max-width: #{$max})"; }
|
257
|
+
@else if $min != 0 and $max == 0 { $query: "(min-width: #{$min})"; }
|
258
|
+
@else if $min == 0 and $max != 0 { $query: "(max-width: #{$max})"; }
|
259
|
+
@media #{$query} { @content; }
|
260
|
+
}
|
261
|
+
}
|
262
|
+
// Text
|
263
|
+
@mixin text-font($font) {
|
264
|
+
body {
|
265
|
+
font-family: #{$font};
|
266
|
+
}
|
267
|
+
}
|
268
|
+
|
269
|
+
// Headings
|
270
|
+
@mixin headings-font($font) {
|
271
|
+
h1.title, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 {
|
272
|
+
font-family: #{$font};
|
273
|
+
}
|
274
|
+
}
|
275
|
+
|
276
|
+
// Buttons
|
277
|
+
@mixin buttons-font($font) {
|
278
|
+
button, .button {
|
279
|
+
font-family: #{$font};
|
280
|
+
}
|
281
|
+
}
|
282
|
+
|
283
|
+
// Inputs
|
284
|
+
@mixin inputs-font($font) {
|
285
|
+
input, textarea, select {
|
286
|
+
font-family: #{$font};
|
287
|
+
}
|
288
|
+
}
|
289
|
+
// display
|
290
|
+
@mixin flex {
|
291
|
+
display: flex;
|
292
|
+
}
|
293
|
+
|
294
|
+
// basis
|
295
|
+
@mixin flex-basis($width) {
|
296
|
+
flex-basis: $width;
|
297
|
+
}
|
298
|
+
|
299
|
+
// items wrap
|
300
|
+
@mixin flex-items-wrap {
|
301
|
+
flex-wrap: wrap;
|
302
|
+
}
|
303
|
+
|
304
|
+
// items nowrap
|
305
|
+
@mixin flex-items-nowrap {
|
306
|
+
flex-wrap: nowrap;
|
307
|
+
}
|
308
|
+
|
309
|
+
// items row
|
310
|
+
@mixin flex-items-row {
|
311
|
+
flex-direction: row;
|
312
|
+
}
|
313
|
+
|
314
|
+
// items columns
|
315
|
+
@mixin flex-items-column {
|
316
|
+
flex-direction: column;
|
317
|
+
}
|
318
|
+
|
319
|
+
// items left
|
320
|
+
@mixin flex-items-left {
|
321
|
+
justify-content: flex-start;
|
322
|
+
}
|
323
|
+
|
324
|
+
// items right
|
325
|
+
@mixin flex-items-right {
|
326
|
+
justify-content: flex-end;
|
327
|
+
}
|
328
|
+
|
329
|
+
// items center
|
330
|
+
@mixin flex-items-center {
|
331
|
+
justify-content: center;
|
332
|
+
}
|
333
|
+
|
334
|
+
// items between
|
335
|
+
@mixin flex-items-space-between {
|
336
|
+
justify-content: space-between;
|
337
|
+
}
|
338
|
+
|
339
|
+
// items around
|
340
|
+
@mixin flex-items-space-around {
|
341
|
+
justify-content: space-around;
|
342
|
+
}
|
343
|
+
|
344
|
+
// items vertical top
|
345
|
+
@mixin flex-items-top {
|
346
|
+
align-items: flex-start;
|
347
|
+
}
|
348
|
+
|
349
|
+
// items vertical middle
|
350
|
+
@mixin flex-items-middle {
|
351
|
+
align-items: center;
|
352
|
+
}
|
353
|
+
|
354
|
+
// items vertical bottom
|
355
|
+
@mixin flex-items-bottom {
|
356
|
+
align-items: flex-end;
|
357
|
+
}
|
358
|
+
|
359
|
+
// item grow
|
360
|
+
@mixin flex-item-grow($grow: 0) {
|
361
|
+
flex-grow: $grow;
|
362
|
+
}
|
363
|
+
|
364
|
+
|
365
|
+
// item auto
|
366
|
+
@mixin flex-item-auto {
|
367
|
+
flex: auto;
|
368
|
+
}
|
369
|
+
|
370
|
+
// item one
|
371
|
+
@mixin flex-item-one {
|
372
|
+
flex: 1;
|
373
|
+
}
|
374
|
+
|
375
|
+
// item shrink
|
376
|
+
@mixin flex-item-shrink($num: 0) {
|
377
|
+
flex-shrink: $num;
|
378
|
+
}
|
379
|
+
|
380
|
+
// item width
|
381
|
+
@mixin flex-item-width($width) {
|
382
|
+
flex: 0 0 $width;
|
383
|
+
|
384
|
+
@include breakpoint(sm) {
|
385
|
+
flex: 0 0 100% !important;
|
386
|
+
}
|
387
|
+
}
|
388
|
+
// Make Row
|
389
|
+
@mixin grid-row {
|
390
|
+
@include flex;
|
391
|
+
@include flex-items-row;
|
392
|
+
@include flex-items-wrap;
|
393
|
+
|
394
|
+
@include breakpoint(sm) {
|
395
|
+
@include flex-items-column;
|
396
|
+
@include flex-items-nowrap;
|
397
|
+
}
|
398
|
+
}
|
399
|
+
|
400
|
+
// Generate Columns
|
401
|
+
@mixin generate-grid-columns {
|
402
|
+
|
403
|
+
@for $i from 1 through $grid-columns
|
404
|
+
{
|
405
|
+
.col-#{$i} {
|
406
|
+
width: 100% / $grid-columns * $i;
|
407
|
+
}
|
408
|
+
.offset-#{$i} {
|
409
|
+
$width: 100% / $grid-columns * $i;
|
410
|
+
margin-left: $width;
|
411
|
+
}
|
412
|
+
|
413
|
+
}
|
414
|
+
|
415
|
+
.gutters {
|
416
|
+
@for $i from 1 through $grid-columns
|
417
|
+
{
|
418
|
+
& > .col-#{$i} {
|
419
|
+
$width: 100% / $grid-columns * $i;
|
420
|
+
width: calc(#{$width} - #{$grid-gutter});
|
421
|
+
}
|
422
|
+
& > .offset-#{$i} {
|
423
|
+
$width: 100% / $grid-columns * $i;
|
424
|
+
margin-left: calc(#{$width} + #{$grid-gutter}) !important;
|
425
|
+
}
|
426
|
+
}
|
427
|
+
}
|
428
|
+
}
|
429
|
+
|
430
|
+
|
431
|
+
// Grid Media Columns
|
432
|
+
@mixin grid-media-columns($num) {
|
433
|
+
|
434
|
+
-webkit-column-count: $num;
|
435
|
+
-moz-column-count: $num;
|
436
|
+
column-count: $num;
|
437
|
+
|
438
|
+
-webkit-column-gap: $grid-gutter;
|
439
|
+
-moz-column-gap: $grid-gutter;
|
440
|
+
column-gap: $grid-gutter;
|
441
|
+
|
442
|
+
& > div {
|
443
|
+
display: inline-block;
|
444
|
+
width: 100%;
|
445
|
+
}
|
446
|
+
|
447
|
+
@include breakpoint(sm) {
|
448
|
+
-webkit-column-count: 1;
|
449
|
+
-moz-column-count: 1;
|
450
|
+
column-count: 1;
|
451
|
+
}
|
452
|
+
}
|
453
|
+
// Clearfix
|
454
|
+
@mixin clearfix {
|
455
|
+
&:after {
|
456
|
+
content: '';
|
457
|
+
display: table;
|
458
|
+
clear: both;
|
459
|
+
}
|
460
|
+
}
|
461
|
+
|
462
|
+
// Transition
|
463
|
+
@mixin transition($transition: all linear .2s) {
|
464
|
+
-moz-transition: $transition;
|
465
|
+
transition: $transition;
|
466
|
+
}
|
467
|
+
|
468
|
+
// transform
|
469
|
+
@mixin transform($transforms) {
|
470
|
+
-moz-transform: $transforms;
|
471
|
+
-ms-transform: $transforms;
|
472
|
+
-webkit-transform: $transforms;
|
473
|
+
transform: $transforms;
|
474
|
+
}
|
475
|
+
|
476
|
+
// blur
|
477
|
+
@mixin blur($radius) {
|
478
|
+
-webkit-filter: blur($radius);
|
479
|
+
-moz-filter: blur($radius);
|
480
|
+
-ms-filter: blur($radius);
|
481
|
+
filter: blur($radius);
|
482
|
+
}
|
483
|
+
|
484
|
+
// striped
|
485
|
+
@mixin striped($color: rgba(255, 255, 255, .2), $angle: 45deg) {
|
486
|
+
background-image: -webkit-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
487
|
+
background-image: -o-linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
488
|
+
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
489
|
+
}
|
490
|
+
|
491
|
+
// animation
|
492
|
+
@mixin animation($animation) {
|
493
|
+
-webkit-animation: $animation;
|
494
|
+
-moz-animation: $animation;
|
495
|
+
animation: $animation;
|
496
|
+
}
|
497
|
+
|
498
|
+
|
499
|
+
// Retina Images
|
500
|
+
@mixin retina-background-image($file, $type, $width: auto, $height: auto) {
|
501
|
+
|
502
|
+
background-repeat: no-repeat;
|
503
|
+
background-image: url($file + '.' + $type);
|
504
|
+
|
505
|
+
@media
|
506
|
+
only screen and (-webkit-min-device-pixel-ratio: 2),
|
507
|
+
only screen and (min--moz-device-pixel-ratio: 2),
|
508
|
+
only screen and (-o-min-device-pixel-ratio: 2/1),
|
509
|
+
only screen and (min-device-pixel-ratio: 2),
|
510
|
+
only screen and (min-resolution: 192dpi),
|
511
|
+
only screen and (min-resolution: 2dppx) {
|
512
|
+
background-image: url($file + '-2x.' + $type);
|
513
|
+
background-size: $width $height;
|
514
|
+
}
|
515
|
+
}
|
516
|
+
@mixin button($color-text, $color-back)
|
517
|
+
{
|
518
|
+
color: $color-text;
|
519
|
+
background-color: $color-back;
|
520
|
+
|
521
|
+
&:hover {
|
522
|
+
color: $color-text;
|
523
|
+
background-color: lighten($color-back, 20%);
|
524
|
+
}
|
525
|
+
&:disabled,
|
526
|
+
&.disabled {
|
527
|
+
color: rgba($color-text, .7);
|
528
|
+
background-color: rgba($color-back, .7);
|
529
|
+
}
|
530
|
+
&.outline {
|
531
|
+
background: none;
|
532
|
+
color: $color-back;
|
533
|
+
border-color: $color-back;
|
534
|
+
|
535
|
+
&:hover {
|
536
|
+
color: rgba($color-back, .6);
|
537
|
+
border-color: rgba($color-back, .5);
|
538
|
+
}
|
539
|
+
&:disabled,
|
540
|
+
&.disabled {
|
541
|
+
background: none;
|
542
|
+
color: rgba($color-back, .7);
|
543
|
+
border-color: rgba($color-back, .5);
|
544
|
+
}
|
545
|
+
}
|
546
|
+
}
|
547
|
+
// vertical
|
548
|
+
@mixin gradient-vertical($start: #555, $end: #333) {
|
549
|
+
background-color: $start;
|
550
|
+
background-image: linear-gradient(to bottom, $start 0%, $end 100%);
|
551
|
+
}
|
552
|
+
|
553
|
+
// vertical to opacity
|
554
|
+
@mixin gradient-vertical-to-opacity($color, $opacity: 0) {
|
555
|
+
$rgba: rgba(red($color), green($color), blue($color), $opacity);
|
556
|
+
background: linear-gradient(to bottom, $color 0%, $rgba 100%);
|
557
|
+
}
|
558
|
+
|
559
|
+
// horizontal
|
560
|
+
@mixin gradient-horizontal($start: #555, $end: #333) {
|
561
|
+
background-color: $start;
|
562
|
+
background: linear-gradient(to right, $start 0%, $end 100%);
|
563
|
+
}
|
564
|
+
|
565
|
+
// horizontal to opacity
|
566
|
+
@mixin gradient-horizontal-to-opacity($color: #555, $opacity: 0) {
|
567
|
+
$rgba: rgba(red($color), green($color), blue($color), $opacity);
|
568
|
+
background: linear-gradient(to right, $color 0%, $rgba 100%);
|
569
|
+
}
|
570
|
+
|
571
|
+
// radial
|
572
|
+
@mixin gradient-radial($inner: #555, $outer: #333) {
|
573
|
+
background-image: radial-gradient(circle, $inner, $outer);
|
574
|
+
}
|
575
|
+
@mixin label($text, $back) {
|
576
|
+
background: $back;
|
577
|
+
color: $text;
|
578
|
+
|
579
|
+
&.tag,
|
580
|
+
&.outline {
|
581
|
+
background: none;
|
582
|
+
border-color: $back;
|
583
|
+
color: $back;
|
584
|
+
}
|
585
|
+
}
|
data/bin/console
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require "bundler/setup"
|
4
|
+
require "kube_for_rails"
|
5
|
+
|
6
|
+
# You can add fixtures and/or initialization code here to make experimenting
|
7
|
+
# with your gem easier. You can also use a different console, if you like.
|
8
|
+
|
9
|
+
# (If you use this, don't forget to add pry to your Gemfile!)
|
10
|
+
# require "pry"
|
11
|
+
# Pry.start
|
12
|
+
|
13
|
+
require "irb"
|
14
|
+
IRB.start(__FILE__)
|