/*! UIkit 2.27.4 | http://www.getuikit.com | (c) 2014 YOOtheme | MIT License */ (function(UI) { "use strict"; UI.component('buttonRadio', { defaults: { activeClass: 'uk-active', 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('.' + $this.options.activeClass).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($this.options.activeClass).blur(); ele.addClass($this.options.activeClass); // 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('.' + this.options.activeClass); } }); UI.component('buttonCheckbox', { defaults: { activeClass: 'uk-active', 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('.' + $this.options.activeClass).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($this.options.activeClass).blur(); // Update ARIA ele.attr('aria-checked', ele.hasClass($this.options.activeClass)); $this.trigger('change.uk.button', [ele]); }); }, getSelected: function() { return this.find('.' + this.options.activeClass); } }); 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')); } }); })(UIkit2);