/*! UIkit 2.21.0 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ (function(UI) { "use strict"; UI.component('buttonRadio', { defaults: { "target": ".uk-button" }, boot: function() { // init code UI.$html.on("click.buttonradio.uikit", "[data-uk-button-radio]", function(e) { var ele = UI.$(this); if (!ele.data("buttonRadio")) { var obj = UI.buttonRadio(ele, UI.Utils.options(ele.attr("data-uk-button-radio"))), target = UI.$(e.target); if (target.is(obj.options.target)) { target.trigger("click"); } } }); }, init: function() { var $this = this; // Init ARIA this.find($this.options.target).attr('aria-checked', 'false').filter(".uk-active").attr('aria-checked', 'true'); this.on("click", this.options.target, function(e) { var ele = UI.$(this); if (ele.is('a[href="#"]')) e.preventDefault(); $this.find($this.options.target).not(ele).removeClass("uk-active").blur(); ele.addClass("uk-active"); // Update ARIA $this.find($this.options.target).not(ele).attr('aria-checked', 'false'); ele.attr('aria-checked', 'true'); $this.trigger("change.uk.button", [ele]); }); }, getSelected: function() { return this.find(".uk-active"); } }); UI.component('buttonCheckbox', { defaults: { "target": ".uk-button" }, boot: function() { UI.$html.on("click.buttoncheckbox.uikit", "[data-uk-button-checkbox]", function(e) { var ele = UI.$(this); if (!ele.data("buttonCheckbox")) { var obj = UI.buttonCheckbox(ele, UI.Utils.options(ele.attr("data-uk-button-checkbox"))), target = UI.$(e.target); if (target.is(obj.options.target)) { target.trigger("click"); } } }); }, init: function() { var $this = this; // Init ARIA this.find($this.options.target).attr('aria-checked', 'false').filter(".uk-active").attr('aria-checked', 'true'); this.on("click", this.options.target, function(e) { var ele = UI.$(this); if (ele.is('a[href="#"]')) e.preventDefault(); ele.toggleClass("uk-active").blur(); // Update ARIA ele.attr('aria-checked', ele.hasClass("uk-active")); $this.trigger("change.uk.button", [ele]); }); }, getSelected: function() { return this.find(".uk-active"); } }); UI.component('button', { defaults: {}, boot: function() { UI.$html.on("click.button.uikit", "[data-uk-button]", function(e) { var ele = UI.$(this); if (!ele.data("button")) { var obj = UI.button(ele, UI.Utils.options(ele.attr("data-uk-button"))); ele.trigger("click"); } }); }, init: function() { var $this = this; // Init ARIA this.element.attr('aria-pressed', this.element.hasClass("uk-active")); this.on("click", function(e) { if ($this.element.is('a[href="#"]')) e.preventDefault(); $this.toggle(); $this.trigger("change.uk.button", [$this.element.blur().hasClass("uk-active")]); }); }, toggle: function() { this.element.toggleClass("uk-active"); // Update ARIA this.element.attr('aria-pressed', this.element.hasClass("uk-active")); } }); })(UIkit);