uikit2-rails 0.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/.gitignore +10 -0
- data/.travis.yml +4 -0
- data/Gemfile +4 -0
- data/README.md +66 -0
- data/Rakefile +1 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/lib/uikit2/rails.rb +8 -0
- data/lib/uikit2/rails/version.rb +5 -0
- data/uikit2-rails.gemspec +25 -0
- data/vendor/assets/fonts/FontAwesome.otf +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/fonts/fontawesome-webfont.woff2 +0 -0
- data/vendor/assets/javascripts/uikit.js +3537 -0
- data/vendor/assets/javascripts/uikit/components/accordion.js +172 -0
- data/vendor/assets/javascripts/uikit/components/accordion.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/autocomplete.js +334 -0
- data/vendor/assets/javascripts/uikit/components/autocomplete.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/datepicker.js +3166 -0
- data/vendor/assets/javascripts/uikit/components/datepicker.min.js +3 -0
- data/vendor/assets/javascripts/uikit/components/form-password.js +67 -0
- data/vendor/assets/javascripts/uikit/components/form-password.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/form-select.js +70 -0
- data/vendor/assets/javascripts/uikit/components/form-select.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/grid.js +523 -0
- data/vendor/assets/javascripts/uikit/components/grid.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/htmleditor.js +623 -0
- data/vendor/assets/javascripts/uikit/components/htmleditor.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/lightbox.js +555 -0
- data/vendor/assets/javascripts/uikit/components/lightbox.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/nestable.js +638 -0
- data/vendor/assets/javascripts/uikit/components/nestable.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/notify.js +189 -0
- data/vendor/assets/javascripts/uikit/components/notify.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/pagination.js +147 -0
- data/vendor/assets/javascripts/uikit/components/pagination.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/parallax.js +417 -0
- data/vendor/assets/javascripts/uikit/components/parallax.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/search.js +92 -0
- data/vendor/assets/javascripts/uikit/components/search.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/slider.js +520 -0
- data/vendor/assets/javascripts/uikit/components/slider.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/slideset.js +502 -0
- data/vendor/assets/javascripts/uikit/components/slideset.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/slideshow-fx.js +375 -0
- data/vendor/assets/javascripts/uikit/components/slideshow-fx.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/slideshow.js +545 -0
- data/vendor/assets/javascripts/uikit/components/slideshow.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/sortable.js +664 -0
- data/vendor/assets/javascripts/uikit/components/sortable.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/sticky.js +349 -0
- data/vendor/assets/javascripts/uikit/components/sticky.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/timepicker.js +192 -0
- data/vendor/assets/javascripts/uikit/components/timepicker.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/tooltip.js +234 -0
- data/vendor/assets/javascripts/uikit/components/tooltip.min.js +2 -0
- data/vendor/assets/javascripts/uikit/components/upload.js +260 -0
- data/vendor/assets/javascripts/uikit/components/upload.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/alert.js +66 -0
- data/vendor/assets/javascripts/uikit/core/alert.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/button.js +157 -0
- data/vendor/assets/javascripts/uikit/core/button.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/core.js +725 -0
- data/vendor/assets/javascripts/uikit/core/core.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/cover.js +95 -0
- data/vendor/assets/javascripts/uikit/core/cover.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/dropdown.js +421 -0
- data/vendor/assets/javascripts/uikit/core/dropdown.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/grid.js +114 -0
- data/vendor/assets/javascripts/uikit/core/grid.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/modal.js +372 -0
- data/vendor/assets/javascripts/uikit/core/modal.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/nav.js +136 -0
- data/vendor/assets/javascripts/uikit/core/nav.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/offcanvas.js +180 -0
- data/vendor/assets/javascripts/uikit/core/offcanvas.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/scrollspy.js +208 -0
- data/vendor/assets/javascripts/uikit/core/scrollspy.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/smooth-scroll.js +62 -0
- data/vendor/assets/javascripts/uikit/core/smooth-scroll.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/switcher.js +304 -0
- data/vendor/assets/javascripts/uikit/core/switcher.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/tab.js +165 -0
- data/vendor/assets/javascripts/uikit/core/tab.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/toggle.js +120 -0
- data/vendor/assets/javascripts/uikit/core/toggle.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/touch.js +173 -0
- data/vendor/assets/javascripts/uikit/core/touch.min.js +2 -0
- data/vendor/assets/javascripts/uikit/core/utility.js +239 -0
- data/vendor/assets/javascripts/uikit/core/utility.min.js +2 -0
- data/vendor/assets/stylesheets/uikit.almost-flat.css +8551 -0
- data/vendor/assets/stylesheets/uikit.css +8252 -0
- data/vendor/assets/stylesheets/uikit.gradient.css +8614 -0
- data/vendor/assets/stylesheets/uikit/components/accordion.almost-flat.css +39 -0
- data/vendor/assets/stylesheets/uikit/components/accordion.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/accordion.css +37 -0
- data/vendor/assets/stylesheets/uikit/components/accordion.gradient.css +39 -0
- data/vendor/assets/stylesheets/uikit/components/accordion.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/accordion.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/autocomplete.almost-flat.css +52 -0
- data/vendor/assets/stylesheets/uikit/components/autocomplete.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/autocomplete.css +50 -0
- data/vendor/assets/stylesheets/uikit/components/autocomplete.gradient.css +52 -0
- data/vendor/assets/stylesheets/uikit/components/autocomplete.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/autocomplete.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/datepicker.almost-flat.css +129 -0
- data/vendor/assets/stylesheets/uikit/components/datepicker.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/datepicker.css +123 -0
- data/vendor/assets/stylesheets/uikit/components/datepicker.gradient.css +139 -0
- data/vendor/assets/stylesheets/uikit/components/datepicker.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/datepicker.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/dotnav.almost-flat.css +128 -0
- data/vendor/assets/stylesheets/uikit/components/dotnav.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/dotnav.css +124 -0
- data/vendor/assets/stylesheets/uikit/components/dotnav.gradient.css +128 -0
- data/vendor/assets/stylesheets/uikit/components/dotnav.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/dotnav.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-advanced.almost-flat.css +78 -0
- data/vendor/assets/stylesheets/uikit/components/form-advanced.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-advanced.css +78 -0
- data/vendor/assets/stylesheets/uikit/components/form-advanced.gradient.css +78 -0
- data/vendor/assets/stylesheets/uikit/components/form-advanced.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-advanced.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-file.almost-flat.css +34 -0
- data/vendor/assets/stylesheets/uikit/components/form-file.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-file.css +34 -0
- data/vendor/assets/stylesheets/uikit/components/form-file.gradient.css +34 -0
- data/vendor/assets/stylesheets/uikit/components/form-file.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-file.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-password.almost-flat.css +34 -0
- data/vendor/assets/stylesheets/uikit/components/form-password.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-password.css +34 -0
- data/vendor/assets/stylesheets/uikit/components/form-password.gradient.css +34 -0
- data/vendor/assets/stylesheets/uikit/components/form-password.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-password.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-select.almost-flat.css +35 -0
- data/vendor/assets/stylesheets/uikit/components/form-select.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-select.css +35 -0
- data/vendor/assets/stylesheets/uikit/components/form-select.gradient.css +35 -0
- data/vendor/assets/stylesheets/uikit/components/form-select.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/form-select.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/htmleditor.almost-flat.css +222 -0
- data/vendor/assets/stylesheets/uikit/components/htmleditor.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/htmleditor.css +164 -0
- data/vendor/assets/stylesheets/uikit/components/htmleditor.gradient.css +229 -0
- data/vendor/assets/stylesheets/uikit/components/htmleditor.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/htmleditor.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/nestable.almost-flat.css +135 -0
- data/vendor/assets/stylesheets/uikit/components/nestable.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/nestable.css +132 -0
- data/vendor/assets/stylesheets/uikit/components/nestable.gradient.css +139 -0
- data/vendor/assets/stylesheets/uikit/components/nestable.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/nestable.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/notify.almost-flat.css +98 -0
- data/vendor/assets/stylesheets/uikit/components/notify.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/notify.css +92 -0
- data/vendor/assets/stylesheets/uikit/components/notify.gradient.css +98 -0
- data/vendor/assets/stylesheets/uikit/components/notify.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/notify.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/placeholder.almost-flat.css +29 -0
- data/vendor/assets/stylesheets/uikit/components/placeholder.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/placeholder.css +29 -0
- data/vendor/assets/stylesheets/uikit/components/placeholder.gradient.css +29 -0
- data/vendor/assets/stylesheets/uikit/components/placeholder.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/placeholder.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/progress.almost-flat.css +104 -0
- data/vendor/assets/stylesheets/uikit/components/progress.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/progress.css +94 -0
- data/vendor/assets/stylesheets/uikit/components/progress.gradient.css +112 -0
- data/vendor/assets/stylesheets/uikit/components/progress.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/progress.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/search.almost-flat.css +191 -0
- data/vendor/assets/stylesheets/uikit/components/search.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/search.css +189 -0
- data/vendor/assets/stylesheets/uikit/components/search.gradient.css +191 -0
- data/vendor/assets/stylesheets/uikit/components/search.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/search.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/slidenav.almost-flat.css +98 -0
- data/vendor/assets/stylesheets/uikit/components/slidenav.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/slidenav.css +98 -0
- data/vendor/assets/stylesheets/uikit/components/slidenav.gradient.css +98 -0
- data/vendor/assets/stylesheets/uikit/components/slidenav.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/slidenav.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/slider.almost-flat.css +85 -0
- data/vendor/assets/stylesheets/uikit/components/slider.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/slider.css +85 -0
- data/vendor/assets/stylesheets/uikit/components/slider.gradient.css +85 -0
- data/vendor/assets/stylesheets/uikit/components/slider.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/slider.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/slideshow.almost-flat.css +140 -0
- data/vendor/assets/stylesheets/uikit/components/slideshow.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/slideshow.css +140 -0
- data/vendor/assets/stylesheets/uikit/components/slideshow.gradient.css +140 -0
- data/vendor/assets/stylesheets/uikit/components/slideshow.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/slideshow.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/sortable.almost-flat.css +62 -0
- data/vendor/assets/stylesheets/uikit/components/sortable.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/sortable.css +62 -0
- data/vendor/assets/stylesheets/uikit/components/sortable.gradient.css +62 -0
- data/vendor/assets/stylesheets/uikit/components/sortable.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/sortable.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/sticky.almost-flat.css +31 -0
- data/vendor/assets/stylesheets/uikit/components/sticky.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/sticky.css +31 -0
- data/vendor/assets/stylesheets/uikit/components/sticky.gradient.css +31 -0
- data/vendor/assets/stylesheets/uikit/components/sticky.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/sticky.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/tooltip.almost-flat.css +118 -0
- data/vendor/assets/stylesheets/uikit/components/tooltip.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/tooltip.css +116 -0
- data/vendor/assets/stylesheets/uikit/components/tooltip.gradient.css +118 -0
- data/vendor/assets/stylesheets/uikit/components/tooltip.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/tooltip.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/upload.almost-flat.css +10 -0
- data/vendor/assets/stylesheets/uikit/components/upload.almost-flat.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/upload.css +10 -0
- data/vendor/assets/stylesheets/uikit/components/upload.gradient.css +10 -0
- data/vendor/assets/stylesheets/uikit/components/upload.gradient.min.css +2 -0
- data/vendor/assets/stylesheets/uikit/components/upload.min.css +2 -0
- metadata +295 -0
@@ -0,0 +1,2 @@
|
|
1
|
+
/*! UIkit 2.22.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
2
|
+
!function(t){"use strict";function i(i,o){return o?("object"==typeof i?(i=i instanceof jQuery?i:t.$(i),i.parent().length&&(o.persist=i,o.persist.data("modalPersistParent",i.parent()))):i="string"==typeof i||"number"==typeof i?t.$("<div></div>").html(i):t.$("<div></div>").html("UIkit.modal Error: Unsupported data type: "+typeof i),i.appendTo(o.element.find(".uk-modal-dialog")),o):void 0}var o,e=!1,n=0,s=t.$html;t.component("modal",{defaults:{keyboard:!0,bgclose:!0,minScrollHeight:150,center:!1,modal:!0},scrollable:!1,transition:!1,init:function(){if(o||(o=t.$("body")),this.element.length){var i=this;this.paddingdir="padding-"+("left"==t.langdirection?"right":"left"),this.dialog=this.find(".uk-modal-dialog"),this.active=!1,this.element.attr("aria-hidden",this.element.hasClass("uk-open")),this.on("click",".uk-modal-close",function(t){t.preventDefault(),i.hide()}).on("click",function(o){var e=t.$(o.target);e[0]==i.element[0]&&i.options.bgclose&&i.hide()})}},toggle:function(){return this[this.isActive()?"hide":"show"]()},show:function(){if(this.element.length){if(!this.isActive())return this.options.modal&&e&&e.hide(!0),this.element.removeClass("uk-open").show(),this.resize(),this.options.modal&&(e=this),this.active=!0,n++,this.element.addClass("uk-open"),s.addClass("uk-modal-page").height(),this.element.attr("aria-hidden","false"),this.element.trigger("show.uk.modal"),t.Utils.checkDisplay(this.dialog,!0),this}},hide:function(i){if(!i&&t.support.transition){var o=this;this.one(t.support.transition.end,function(){o._hide()}).removeClass("uk-open")}else this._hide();return this},resize:function(){var t=o.width();if(this.scrollbarwidth=window.innerWidth-t,o.css(this.paddingdir,this.scrollbarwidth),this.element.css("overflow-y",this.scrollbarwidth?"scroll":"auto"),!this.updateScrollable()&&this.options.center){var i=this.dialog.outerHeight(),e=parseInt(this.dialog.css("margin-top"),10)+parseInt(this.dialog.css("margin-bottom"),10);i+e<window.innerHeight?this.dialog.css({top:window.innerHeight/2-i/2-e}):this.dialog.css({top:""})}},updateScrollable:function(){var t=this.dialog.find(".uk-overflow-container:visible:first");if(t.length){t.css("height",0);var i=Math.abs(parseInt(this.dialog.css("margin-top"),10)),o=this.dialog.outerHeight(),e=window.innerHeight,n=e-2*(20>i?20:i)-o;return t.css("height",n<this.options.minScrollHeight?"":n),!0}return!1},_hide:function(){this.active=!1,n--,this.element.hide().removeClass("uk-open"),this.element.attr("aria-hidden","true"),n||(s.removeClass("uk-modal-page"),o.css(this.paddingdir,"")),e===this&&(e=!1),this.trigger("hide.uk.modal")},isActive:function(){return this.active}}),t.component("modalTrigger",{boot:function(){t.$html.on("click.modal.uikit","[data-uk-modal]",function(i){var o=t.$(this);if(o.is("a")&&i.preventDefault(),!o.data("modalTrigger")){var e=t.modalTrigger(o,t.Utils.options(o.attr("data-uk-modal")));e.show()}}),t.$html.on("keydown.modal.uikit",function(t){e&&27===t.keyCode&&e.options.keyboard&&(t.preventDefault(),e.hide())}),t.$win.on("resize orientationchange",t.Utils.debounce(function(){e&&e.resize()},150))},init:function(){var i=this;this.options=t.$.extend({target:i.element.is("a")?i.element.attr("href"):!1},this.options),this.modal=t.modal(this.options.target,this.options),this.on("click",function(t){t.preventDefault(),i.show()}),this.proxy(this.modal,"show hide isActive")}}),t.modal.dialog=function(o,e){var n=t.modal(t.$(t.modal.dialog.template).appendTo("body"),e);return n.on("hide.uk.modal",function(){n.persist&&(n.persist.appendTo(n.persist.data("modalPersistParent")),n.persist=!1),n.element.remove()}),i(o,n),n},t.modal.dialog.template='<div class="uk-modal"><div class="uk-modal-dialog" style="min-height:0;"></div></div>',t.modal.alert=function(i,o){o=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},o);var e=t.modal.dialog(['<div class="uk-margin uk-modal-content">'+String(i)+"</div>",'<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-button-primary uk-modal-close">'+o.labels.Ok+"</button></div>"].join(""),o);return e.on("show.uk.modal",function(){setTimeout(function(){e.element.find("button:first").focus()},50)}),e.show()},t.modal.confirm=function(i,o,e){o=t.$.isFunction(o)?o:function(){},e=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},e);var n=t.modal.dialog(['<div class="uk-margin uk-modal-content">'+String(i)+"</div>",'<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-modal-close">'+e.labels.Cancel+'</button> <button class="uk-button uk-button-primary js-modal-confirm">'+e.labels.Ok+"</button></div>"].join(""),e);return n.element.find(".js-modal-confirm").on("click",function(){o(),n.hide()}),n.on("show.uk.modal",function(){setTimeout(function(){n.element.find(".js-modal-confirm").focus()},50)}),n.show()},t.modal.prompt=function(i,o,e,n){e=t.$.isFunction(e)?e:function(){},n=t.$.extend(!0,{bgclose:!1,keyboard:!1,modal:!1,labels:t.modal.labels},n);var s=t.modal.dialog([i?'<div class="uk-modal-content uk-form">'+String(i)+"</div>":"",'<div class="uk-margin-small-top uk-modal-content uk-form"><p><input type="text" class="uk-width-1-1"></p></div>','<div class="uk-modal-footer uk-text-right"><button class="uk-button uk-modal-close">'+n.labels.Cancel+'</button> <button class="uk-button uk-button-primary js-modal-ok">'+n.labels.Ok+"</button></div>"].join(""),n),a=s.element.find("input[type='text']").val(o||"").on("keyup",function(t){13==t.keyCode&&s.element.find(".js-modal-ok").trigger("click")});return s.element.find(".js-modal-ok").on("click",function(){e(a.val())!==!1&&s.hide()}),s.on("show.uk.modal",function(){setTimeout(function(){a.focus()},50)}),s.show()},t.modal.blockUI=function(i,o){var e=t.modal.dialog(['<div class="uk-margin uk-modal-content">'+String(i||'<div class="uk-text-center">...</div>')+"</div>"].join(""),t.$.extend({bgclose:!1,keyboard:!1,modal:!1},o));return e.content=e.element.find(".uk-modal-content:first"),e.show()},t.modal.labels={Ok:"Ok",Cancel:"Cancel"}}(UIkit);
|
@@ -0,0 +1,136 @@
|
|
1
|
+
/*! UIkit 2.22.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
2
|
+
(function(UI) {
|
3
|
+
|
4
|
+
"use strict";
|
5
|
+
|
6
|
+
UI.component('nav', {
|
7
|
+
|
8
|
+
defaults: {
|
9
|
+
"toggle": ">li.uk-parent > a[href='#']",
|
10
|
+
"lists": ">li.uk-parent > ul",
|
11
|
+
"multiple": false
|
12
|
+
},
|
13
|
+
|
14
|
+
boot: function() {
|
15
|
+
|
16
|
+
// init code
|
17
|
+
UI.ready(function(context) {
|
18
|
+
|
19
|
+
UI.$("[data-uk-nav]", context).each(function() {
|
20
|
+
var nav = UI.$(this);
|
21
|
+
|
22
|
+
if (!nav.data("nav")) {
|
23
|
+
var obj = UI.nav(nav, UI.Utils.options(nav.attr("data-uk-nav")));
|
24
|
+
}
|
25
|
+
});
|
26
|
+
});
|
27
|
+
},
|
28
|
+
|
29
|
+
init: function() {
|
30
|
+
|
31
|
+
var $this = this;
|
32
|
+
|
33
|
+
this.on("click.uikit.nav", this.options.toggle, function(e) {
|
34
|
+
e.preventDefault();
|
35
|
+
var ele = UI.$(this);
|
36
|
+
$this.open(ele.parent()[0] == $this.element[0] ? ele : ele.parent("li"));
|
37
|
+
});
|
38
|
+
|
39
|
+
this.find(this.options.lists).each(function() {
|
40
|
+
var $ele = UI.$(this),
|
41
|
+
parent = $ele.parent(),
|
42
|
+
active = parent.hasClass("uk-active");
|
43
|
+
|
44
|
+
$ele.wrap('<div style="overflow:hidden;height:0;position:relative;"></div>');
|
45
|
+
parent.data("list-container", $ele.parent()[active ? 'removeClass':'addClass']('uk-hidden'));
|
46
|
+
|
47
|
+
// Init ARIA
|
48
|
+
parent.attr('aria-expanded', parent.hasClass("uk-open"));
|
49
|
+
|
50
|
+
if (active) $this.open(parent, true);
|
51
|
+
});
|
52
|
+
|
53
|
+
},
|
54
|
+
|
55
|
+
open: function(li, noanimation) {
|
56
|
+
|
57
|
+
var $this = this, element = this.element, $li = UI.$(li), $container = $li.data('list-container');
|
58
|
+
|
59
|
+
if (!this.options.multiple) {
|
60
|
+
|
61
|
+
element.children('.uk-open').not(li).each(function() {
|
62
|
+
|
63
|
+
var ele = UI.$(this);
|
64
|
+
|
65
|
+
if (ele.data('list-container')) {
|
66
|
+
ele.data('list-container').stop().animate({height: 0}, function() {
|
67
|
+
UI.$(this).parent().removeClass('uk-open').end().addClass('uk-hidden');
|
68
|
+
});
|
69
|
+
}
|
70
|
+
});
|
71
|
+
}
|
72
|
+
|
73
|
+
$li.toggleClass('uk-open');
|
74
|
+
|
75
|
+
// Update ARIA
|
76
|
+
$li.attr('aria-expanded', $li.hasClass('uk-open'));
|
77
|
+
|
78
|
+
if ($container) {
|
79
|
+
|
80
|
+
if ($li.hasClass('uk-open')) {
|
81
|
+
$container.removeClass('uk-hidden');
|
82
|
+
}
|
83
|
+
|
84
|
+
if (noanimation) {
|
85
|
+
|
86
|
+
$container.stop().height($li.hasClass('uk-open') ? 'auto' : 0);
|
87
|
+
|
88
|
+
if (!$li.hasClass('uk-open')) {
|
89
|
+
$container.addClass('uk-hidden');
|
90
|
+
}
|
91
|
+
|
92
|
+
this.trigger('display.uk.check');
|
93
|
+
|
94
|
+
} else {
|
95
|
+
|
96
|
+
$container.stop().animate({
|
97
|
+
height: ($li.hasClass('uk-open') ? getHeight($container.find('ul:first')) : 0)
|
98
|
+
}, function() {
|
99
|
+
|
100
|
+
if (!$li.hasClass('uk-open')) {
|
101
|
+
$container.addClass('uk-hidden');
|
102
|
+
} else {
|
103
|
+
$container.css('height', '');
|
104
|
+
}
|
105
|
+
|
106
|
+
$this.trigger('display.uk.check');
|
107
|
+
});
|
108
|
+
}
|
109
|
+
}
|
110
|
+
}
|
111
|
+
});
|
112
|
+
|
113
|
+
|
114
|
+
// helper
|
115
|
+
|
116
|
+
function getHeight(ele) {
|
117
|
+
var $ele = UI.$(ele), height = "auto";
|
118
|
+
|
119
|
+
if ($ele.is(":visible")) {
|
120
|
+
height = $ele.outerHeight();
|
121
|
+
} else {
|
122
|
+
var tmp = {
|
123
|
+
position: $ele.css("position"),
|
124
|
+
visibility: $ele.css("visibility"),
|
125
|
+
display: $ele.css("display")
|
126
|
+
};
|
127
|
+
|
128
|
+
height = $ele.css({position: 'absolute', visibility: 'hidden', display: 'block'}).outerHeight();
|
129
|
+
|
130
|
+
$ele.css(tmp); // reset element
|
131
|
+
}
|
132
|
+
|
133
|
+
return height;
|
134
|
+
}
|
135
|
+
|
136
|
+
})(UIkit);
|
@@ -0,0 +1,2 @@
|
|
1
|
+
/*! UIkit 2.22.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
2
|
+
!function(i){"use strict";function t(t){var s=i.$(t),a="auto";if(s.is(":visible"))a=s.outerHeight();else{var e={position:s.css("position"),visibility:s.css("visibility"),display:s.css("display")};a=s.css({position:"absolute",visibility:"hidden",display:"block"}).outerHeight(),s.css(e)}return a}i.component("nav",{defaults:{toggle:">li.uk-parent > a[href='#']",lists:">li.uk-parent > ul",multiple:!1},boot:function(){i.ready(function(t){i.$("[data-uk-nav]",t).each(function(){var t=i.$(this);if(!t.data("nav")){i.nav(t,i.Utils.options(t.attr("data-uk-nav")))}})})},init:function(){var t=this;this.on("click.uikit.nav",this.options.toggle,function(s){s.preventDefault();var a=i.$(this);t.open(a.parent()[0]==t.element[0]?a:a.parent("li"))}),this.find(this.options.lists).each(function(){var s=i.$(this),a=s.parent(),e=a.hasClass("uk-active");s.wrap('<div style="overflow:hidden;height:0;position:relative;"></div>'),a.data("list-container",s.parent()[e?"removeClass":"addClass"]("uk-hidden")),a.attr("aria-expanded",a.hasClass("uk-open")),e&&t.open(a,!0)})},open:function(s,a){var e=this,n=this.element,o=i.$(s),l=o.data("list-container");this.options.multiple||n.children(".uk-open").not(s).each(function(){var t=i.$(this);t.data("list-container")&&t.data("list-container").stop().animate({height:0},function(){i.$(this).parent().removeClass("uk-open").end().addClass("uk-hidden")})}),o.toggleClass("uk-open"),o.attr("aria-expanded",o.hasClass("uk-open")),l&&(o.hasClass("uk-open")&&l.removeClass("uk-hidden"),a?(l.stop().height(o.hasClass("uk-open")?"auto":0),o.hasClass("uk-open")||l.addClass("uk-hidden"),this.trigger("display.uk.check")):l.stop().animate({height:o.hasClass("uk-open")?t(l.find("ul:first")):0},function(){o.hasClass("uk-open")?l.css("height",""):l.addClass("uk-hidden"),e.trigger("display.uk.check")}))}})}(UIkit);
|
@@ -0,0 +1,180 @@
|
|
1
|
+
/*! UIkit 2.22.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
2
|
+
(function(UI) {
|
3
|
+
|
4
|
+
"use strict";
|
5
|
+
|
6
|
+
var scrollpos = {x: window.scrollX, y: window.scrollY},
|
7
|
+
$win = UI.$win,
|
8
|
+
$doc = UI.$doc,
|
9
|
+
$html = UI.$html,
|
10
|
+
Offcanvas = {
|
11
|
+
|
12
|
+
show: function(element) {
|
13
|
+
|
14
|
+
element = UI.$(element);
|
15
|
+
|
16
|
+
if (!element.length) return;
|
17
|
+
|
18
|
+
var $body = UI.$('body'),
|
19
|
+
bar = element.find(".uk-offcanvas-bar:first"),
|
20
|
+
rtl = (UI.langdirection == "right"),
|
21
|
+
flip = bar.hasClass("uk-offcanvas-bar-flip") ? -1:1,
|
22
|
+
dir = flip * (rtl ? -1 : 1),
|
23
|
+
|
24
|
+
scrollbarwidth = window.innerWidth - $body.width();
|
25
|
+
|
26
|
+
scrollpos = {x: window.pageXOffset, y: window.pageYOffset};
|
27
|
+
|
28
|
+
element.addClass("uk-active");
|
29
|
+
|
30
|
+
$body.css({"width": window.innerWidth - scrollbarwidth, "height": window.innerHeight}).addClass("uk-offcanvas-page");
|
31
|
+
$body.css((rtl ? "margin-right" : "margin-left"), (rtl ? -1 : 1) * (bar.outerWidth() * dir)).width(); // .width() - force redraw
|
32
|
+
|
33
|
+
$html.css('margin-top', scrollpos.y * -1);
|
34
|
+
|
35
|
+
bar.addClass("uk-offcanvas-bar-show");
|
36
|
+
|
37
|
+
this._initElement(element);
|
38
|
+
|
39
|
+
bar.trigger('show.uk.offcanvas', [element, bar]);
|
40
|
+
|
41
|
+
// Update ARIA
|
42
|
+
element.attr('aria-hidden', 'false');
|
43
|
+
},
|
44
|
+
|
45
|
+
hide: function(force) {
|
46
|
+
|
47
|
+
var $body = UI.$('body'),
|
48
|
+
panel = UI.$(".uk-offcanvas.uk-active"),
|
49
|
+
rtl = (UI.langdirection == "right"),
|
50
|
+
bar = panel.find(".uk-offcanvas-bar:first"),
|
51
|
+
finalize = function() {
|
52
|
+
$body.removeClass("uk-offcanvas-page").css({"width": "", "height": "", "margin-left": "", "margin-right": ""});
|
53
|
+
panel.removeClass("uk-active");
|
54
|
+
|
55
|
+
bar.removeClass("uk-offcanvas-bar-show");
|
56
|
+
$html.css('margin-top', '');
|
57
|
+
window.scrollTo(scrollpos.x, scrollpos.y);
|
58
|
+
bar.trigger('hide.uk.offcanvas', [panel, bar]);
|
59
|
+
|
60
|
+
// Update ARIA
|
61
|
+
panel.attr('aria-hidden', 'true');
|
62
|
+
};
|
63
|
+
|
64
|
+
if (!panel.length) return;
|
65
|
+
|
66
|
+
if (UI.support.transition && !force) {
|
67
|
+
|
68
|
+
$body.one(UI.support.transition.end, function() {
|
69
|
+
finalize();
|
70
|
+
}).css((rtl ? "margin-right" : "margin-left"), "");
|
71
|
+
|
72
|
+
setTimeout(function(){
|
73
|
+
bar.removeClass("uk-offcanvas-bar-show");
|
74
|
+
}, 0);
|
75
|
+
|
76
|
+
} else {
|
77
|
+
finalize();
|
78
|
+
}
|
79
|
+
},
|
80
|
+
|
81
|
+
_initElement: function(element) {
|
82
|
+
|
83
|
+
if (element.data("OffcanvasInit")) return;
|
84
|
+
|
85
|
+
element.on("click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas", function(e) {
|
86
|
+
|
87
|
+
var target = UI.$(e.target);
|
88
|
+
|
89
|
+
if (!e.type.match(/swipe/)) {
|
90
|
+
|
91
|
+
if (!target.hasClass("uk-offcanvas-close")) {
|
92
|
+
if (target.hasClass("uk-offcanvas-bar")) return;
|
93
|
+
if (target.parents(".uk-offcanvas-bar:first").length) return;
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
e.stopImmediatePropagation();
|
98
|
+
Offcanvas.hide();
|
99
|
+
});
|
100
|
+
|
101
|
+
element.on("click", "a[href^='#']", function(e){
|
102
|
+
|
103
|
+
var link = UI.$(this),
|
104
|
+
href = link.attr("href");
|
105
|
+
|
106
|
+
if (href == "#") {
|
107
|
+
return;
|
108
|
+
}
|
109
|
+
|
110
|
+
UI.$doc.one('hide.uk.offcanvas', function() {
|
111
|
+
|
112
|
+
var target;
|
113
|
+
|
114
|
+
try {
|
115
|
+
target = UI.$(href);
|
116
|
+
} catch (e){
|
117
|
+
target = ""
|
118
|
+
}
|
119
|
+
|
120
|
+
if (!target.length) {
|
121
|
+
target = UI.$('[name="'+href.replace('#','')+'"]');
|
122
|
+
}
|
123
|
+
|
124
|
+
if (target.length && link.attr('data-uk-smooth-scroll') && UI.Utils.scrollToElement) {
|
125
|
+
UI.Utils.scrollToElement(target, UI.Utils.options(link.attr('data-uk-smooth-scroll') || '{}'));
|
126
|
+
} else {
|
127
|
+
window.location.href = href;
|
128
|
+
}
|
129
|
+
});
|
130
|
+
|
131
|
+
Offcanvas.hide();
|
132
|
+
});
|
133
|
+
|
134
|
+
element.data("OffcanvasInit", true);
|
135
|
+
}
|
136
|
+
};
|
137
|
+
|
138
|
+
UI.component('offcanvasTrigger', {
|
139
|
+
|
140
|
+
boot: function() {
|
141
|
+
|
142
|
+
// init code
|
143
|
+
$html.on("click.offcanvas.uikit", "[data-uk-offcanvas]", function(e) {
|
144
|
+
|
145
|
+
e.preventDefault();
|
146
|
+
|
147
|
+
var ele = UI.$(this);
|
148
|
+
|
149
|
+
if (!ele.data("offcanvasTrigger")) {
|
150
|
+
var obj = UI.offcanvasTrigger(ele, UI.Utils.options(ele.attr("data-uk-offcanvas")));
|
151
|
+
ele.trigger("click");
|
152
|
+
}
|
153
|
+
});
|
154
|
+
|
155
|
+
$html.on('keydown.uk.offcanvas', function(e) {
|
156
|
+
|
157
|
+
if (e.keyCode === 27) { // ESC
|
158
|
+
Offcanvas.hide();
|
159
|
+
}
|
160
|
+
});
|
161
|
+
},
|
162
|
+
|
163
|
+
init: function() {
|
164
|
+
|
165
|
+
var $this = this;
|
166
|
+
|
167
|
+
this.options = UI.$.extend({
|
168
|
+
"target": $this.element.is("a") ? $this.element.attr("href") : false
|
169
|
+
}, this.options);
|
170
|
+
|
171
|
+
this.on("click", function(e) {
|
172
|
+
e.preventDefault();
|
173
|
+
Offcanvas.show($this.options.target);
|
174
|
+
});
|
175
|
+
}
|
176
|
+
});
|
177
|
+
|
178
|
+
UI.offcanvas = Offcanvas;
|
179
|
+
|
180
|
+
})(UIkit);
|
@@ -0,0 +1,2 @@
|
|
1
|
+
/*! UIkit 2.22.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
2
|
+
!function(a){"use strict";var t={x:window.scrollX,y:window.scrollY},n=(a.$win,a.$doc,a.$html),i={show:function(i){if(i=a.$(i),i.length){var o=a.$("body"),s=i.find(".uk-offcanvas-bar:first"),e="right"==a.langdirection,f=s.hasClass("uk-offcanvas-bar-flip")?-1:1,r=f*(e?-1:1),c=window.innerWidth-o.width();t={x:window.pageXOffset,y:window.pageYOffset},i.addClass("uk-active"),o.css({width:window.innerWidth-c,height:window.innerHeight}).addClass("uk-offcanvas-page"),o.css(e?"margin-right":"margin-left",(e?-1:1)*s.outerWidth()*r).width(),n.css("margin-top",-1*t.y),s.addClass("uk-offcanvas-bar-show"),this._initElement(i),s.trigger("show.uk.offcanvas",[i,s]),i.attr("aria-hidden","false")}},hide:function(i){var o=a.$("body"),s=a.$(".uk-offcanvas.uk-active"),e="right"==a.langdirection,f=s.find(".uk-offcanvas-bar:first"),r=function(){o.removeClass("uk-offcanvas-page").css({width:"",height:"","margin-left":"","margin-right":""}),s.removeClass("uk-active"),f.removeClass("uk-offcanvas-bar-show"),n.css("margin-top",""),window.scrollTo(t.x,t.y),f.trigger("hide.uk.offcanvas",[s,f]),s.attr("aria-hidden","true")};s.length&&(a.support.transition&&!i?(o.one(a.support.transition.end,function(){r()}).css(e?"margin-right":"margin-left",""),setTimeout(function(){f.removeClass("uk-offcanvas-bar-show")},0)):r())},_initElement:function(t){t.data("OffcanvasInit")||(t.on("click.uk.offcanvas swipeRight.uk.offcanvas swipeLeft.uk.offcanvas",function(t){var n=a.$(t.target);if(!t.type.match(/swipe/)&&!n.hasClass("uk-offcanvas-close")){if(n.hasClass("uk-offcanvas-bar"))return;if(n.parents(".uk-offcanvas-bar:first").length)return}t.stopImmediatePropagation(),i.hide()}),t.on("click","a[href^='#']",function(){var t=a.$(this),n=t.attr("href");"#"!=n&&(a.$doc.one("hide.uk.offcanvas",function(){var i;try{i=a.$(n)}catch(o){i=""}i.length||(i=a.$('[name="'+n.replace("#","")+'"]')),i.length&&t.attr("data-uk-smooth-scroll")&&a.Utils.scrollToElement?a.Utils.scrollToElement(i,a.Utils.options(t.attr("data-uk-smooth-scroll")||"{}")):window.location.href=n}),i.hide())}),t.data("OffcanvasInit",!0))}};a.component("offcanvasTrigger",{boot:function(){n.on("click.offcanvas.uikit","[data-uk-offcanvas]",function(t){t.preventDefault();var n=a.$(this);if(!n.data("offcanvasTrigger")){{a.offcanvasTrigger(n,a.Utils.options(n.attr("data-uk-offcanvas")))}n.trigger("click")}}),n.on("keydown.uk.offcanvas",function(a){27===a.keyCode&&i.hide()})},init:function(){var t=this;this.options=a.$.extend({target:t.element.is("a")?t.element.attr("href"):!1},this.options),this.on("click",function(a){a.preventDefault(),i.show(t.options.target)})}}),a.offcanvas=i}(UIkit);
|
@@ -0,0 +1,208 @@
|
|
1
|
+
/*! UIkit 2.22.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */
|
2
|
+
(function(UI) {
|
3
|
+
|
4
|
+
"use strict";
|
5
|
+
|
6
|
+
var $win = UI.$win,
|
7
|
+
$doc = UI.$doc,
|
8
|
+
scrollspies = [],
|
9
|
+
checkScrollSpy = function() {
|
10
|
+
for(var i=0; i < scrollspies.length; i++) {
|
11
|
+
window.requestAnimationFrame.apply(window, [scrollspies[i].check]);
|
12
|
+
}
|
13
|
+
};
|
14
|
+
|
15
|
+
UI.component('scrollspy', {
|
16
|
+
|
17
|
+
defaults: {
|
18
|
+
"target" : false,
|
19
|
+
"cls" : "uk-scrollspy-inview",
|
20
|
+
"initcls" : "uk-scrollspy-init-inview",
|
21
|
+
"topoffset" : 0,
|
22
|
+
"leftoffset" : 0,
|
23
|
+
"repeat" : false,
|
24
|
+
"delay" : 0
|
25
|
+
},
|
26
|
+
|
27
|
+
boot: function() {
|
28
|
+
|
29
|
+
// listen to scroll and resize
|
30
|
+
$doc.on("scrolling.uk.document", checkScrollSpy);
|
31
|
+
$win.on("load resize orientationchange", UI.Utils.debounce(checkScrollSpy, 50));
|
32
|
+
|
33
|
+
// init code
|
34
|
+
UI.ready(function(context) {
|
35
|
+
|
36
|
+
UI.$("[data-uk-scrollspy]", context).each(function() {
|
37
|
+
|
38
|
+
var element = UI.$(this);
|
39
|
+
|
40
|
+
if (!element.data("scrollspy")) {
|
41
|
+
var obj = UI.scrollspy(element, UI.Utils.options(element.attr("data-uk-scrollspy")));
|
42
|
+
}
|
43
|
+
});
|
44
|
+
});
|
45
|
+
},
|
46
|
+
|
47
|
+
init: function() {
|
48
|
+
|
49
|
+
var $this = this, inviewstate, initinview, togglecls = this.options.cls.split(/,/), fn = function(){
|
50
|
+
|
51
|
+
var elements = $this.options.target ? $this.element.find($this.options.target) : $this.element,
|
52
|
+
delayIdx = elements.length === 1 ? 1 : 0,
|
53
|
+
toggleclsIdx = 0;
|
54
|
+
|
55
|
+
elements.each(function(idx){
|
56
|
+
|
57
|
+
var element = UI.$(this),
|
58
|
+
inviewstate = element.data('inviewstate'),
|
59
|
+
inview = UI.Utils.isInView(element, $this.options),
|
60
|
+
toggle = element.data('ukScrollspyCls') || togglecls[toggleclsIdx].trim();
|
61
|
+
|
62
|
+
if (inview && !inviewstate && !element.data('scrollspy-idle')) {
|
63
|
+
|
64
|
+
if (!initinview) {
|
65
|
+
element.addClass($this.options.initcls);
|
66
|
+
$this.offset = element.offset();
|
67
|
+
initinview = true;
|
68
|
+
|
69
|
+
element.trigger("init.uk.scrollspy");
|
70
|
+
}
|
71
|
+
|
72
|
+
element.data('scrollspy-idle', setTimeout(function(){
|
73
|
+
|
74
|
+
element.addClass("uk-scrollspy-inview").toggleClass(toggle).width();
|
75
|
+
element.trigger("inview.uk.scrollspy");
|
76
|
+
|
77
|
+
element.data('scrollspy-idle', false);
|
78
|
+
element.data('inviewstate', true);
|
79
|
+
|
80
|
+
}, $this.options.delay * delayIdx));
|
81
|
+
|
82
|
+
delayIdx++;
|
83
|
+
}
|
84
|
+
|
85
|
+
if (!inview && inviewstate && $this.options.repeat) {
|
86
|
+
|
87
|
+
if (element.data('scrollspy-idle')) {
|
88
|
+
clearTimeout(element.data('scrollspy-idle'));
|
89
|
+
}
|
90
|
+
|
91
|
+
element.removeClass("uk-scrollspy-inview").toggleClass(toggle);
|
92
|
+
element.data('inviewstate', false);
|
93
|
+
|
94
|
+
element.trigger("outview.uk.scrollspy");
|
95
|
+
}
|
96
|
+
|
97
|
+
toggleclsIdx = togglecls[toggleclsIdx + 1] ? (toggleclsIdx + 1) : 0;
|
98
|
+
|
99
|
+
});
|
100
|
+
};
|
101
|
+
|
102
|
+
fn();
|
103
|
+
|
104
|
+
this.check = fn;
|
105
|
+
|
106
|
+
scrollspies.push(this);
|
107
|
+
}
|
108
|
+
});
|
109
|
+
|
110
|
+
|
111
|
+
var scrollspynavs = [],
|
112
|
+
checkScrollSpyNavs = function() {
|
113
|
+
for(var i=0; i < scrollspynavs.length; i++) {
|
114
|
+
window.requestAnimationFrame.apply(window, [scrollspynavs[i].check]);
|
115
|
+
}
|
116
|
+
};
|
117
|
+
|
118
|
+
UI.component('scrollspynav', {
|
119
|
+
|
120
|
+
defaults: {
|
121
|
+
"cls" : 'uk-active',
|
122
|
+
"closest" : false,
|
123
|
+
"topoffset" : 0,
|
124
|
+
"leftoffset" : 0,
|
125
|
+
"smoothscroll" : false
|
126
|
+
},
|
127
|
+
|
128
|
+
boot: function() {
|
129
|
+
|
130
|
+
// listen to scroll and resize
|
131
|
+
$doc.on("scrolling.uk.document", checkScrollSpyNavs);
|
132
|
+
$win.on("resize orientationchange", UI.Utils.debounce(checkScrollSpyNavs, 50));
|
133
|
+
|
134
|
+
// init code
|
135
|
+
UI.ready(function(context) {
|
136
|
+
|
137
|
+
UI.$("[data-uk-scrollspy-nav]", context).each(function() {
|
138
|
+
|
139
|
+
var element = UI.$(this);
|
140
|
+
|
141
|
+
if (!element.data("scrollspynav")) {
|
142
|
+
var obj = UI.scrollspynav(element, UI.Utils.options(element.attr("data-uk-scrollspy-nav")));
|
143
|
+
}
|
144
|
+
});
|
145
|
+
});
|
146
|
+
},
|
147
|
+
|
148
|
+
init: function() {
|
149
|
+
|
150
|
+
var ids = [],
|
151
|
+
links = this.find("a[href^='#']").each(function(){ ids.push(UI.$(this).attr("href")); }),
|
152
|
+
targets = UI.$(ids.join(",")),
|
153
|
+
|
154
|
+
clsActive = this.options.cls,
|
155
|
+
clsClosest = this.options.closest || this.options.closest;
|
156
|
+
|
157
|
+
var $this = this, inviews, fn = function(){
|
158
|
+
|
159
|
+
inviews = [];
|
160
|
+
|
161
|
+
for (var i=0 ; i < targets.length ; i++) {
|
162
|
+
if (UI.Utils.isInView(targets.eq(i), $this.options)) {
|
163
|
+
inviews.push(targets.eq(i));
|
164
|
+
}
|
165
|
+
}
|
166
|
+
|
167
|
+
if (inviews.length) {
|
168
|
+
|
169
|
+
var navitems,
|
170
|
+
scrollTop = $win.scrollTop(),
|
171
|
+
target = (function(){
|
172
|
+
for(var i=0; i< inviews.length;i++){
|
173
|
+
if(inviews[i].offset().top >= scrollTop){
|
174
|
+
return inviews[i];
|
175
|
+
}
|
176
|
+
}
|
177
|
+
})();
|
178
|
+
|
179
|
+
if (!target) return;
|
180
|
+
|
181
|
+
if ($this.options.closest) {
|
182
|
+
links.closest(clsClosest).removeClass(clsActive);
|
183
|
+
navitems = links.filter("a[href='#"+target.attr("id")+"']").closest(clsClosest).addClass(clsActive);
|
184
|
+
} else {
|
185
|
+
navitems = links.removeClass(clsActive).filter("a[href='#"+target.attr("id")+"']").addClass(clsActive);
|
186
|
+
}
|
187
|
+
|
188
|
+
$this.element.trigger("inview.uk.scrollspynav", [target, navitems]);
|
189
|
+
}
|
190
|
+
};
|
191
|
+
|
192
|
+
if (this.options.smoothscroll && UI.smoothScroll) {
|
193
|
+
links.each(function(){
|
194
|
+
UI.smoothScroll(this, $this.options.smoothscroll);
|
195
|
+
});
|
196
|
+
}
|
197
|
+
|
198
|
+
fn();
|
199
|
+
|
200
|
+
this.element.data("scrollspynav", this);
|
201
|
+
|
202
|
+
this.check = fn;
|
203
|
+
scrollspynavs.push(this);
|
204
|
+
|
205
|
+
}
|
206
|
+
});
|
207
|
+
|
208
|
+
})(UIkit);
|