<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/index.php?action=history&amp;feed=atom&amp;title=Template%3AClickable_button%2Fjquery.ui.button.js</id>
	<title>Template:Clickable button/jquery.ui.button.js - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/index.php?action=history&amp;feed=atom&amp;title=Template%3AClickable_button%2Fjquery.ui.button.js"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Template:Clickable_button/jquery.ui.button.js&amp;action=history"/>
	<updated>2026-06-15T13:29:17Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=Template:Clickable_button/jquery.ui.button.js&amp;diff=232941&amp;oldid=prev</id>
		<title>RogueScholar: Import jquery.ui.button.js prior to deprecation from mediawiki.core next week to serve locally</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Template:Clickable_button/jquery.ui.button.js&amp;diff=232941&amp;oldid=prev"/>
		<updated>2021-08-15T16:51:24Z</updated>

		<summary type="html">&lt;p&gt;Import jquery.ui.button.js prior to deprecation from mediawiki.core next week to serve locally&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;/*!&lt;br /&gt;
 * SPDX-FileCopyrightText: © 2012 jQuery Foundation, and other contributors.&lt;br /&gt;
 * SPDX-License-Identifier: MIT&lt;br /&gt;
 *&lt;br /&gt;
 * jQuery UI Button, v1.9.2&lt;br /&gt;
 * &amp;lt;https://jqueryui.com/&amp;gt;&lt;br /&gt;
 *&lt;br /&gt;
 * &amp;lt;https://api.jqueryui.com/button/&amp;gt;&lt;br /&gt;
 *&lt;br /&gt;
 * Dependencies:&lt;br /&gt;
 *   jquery.ui.core.js&lt;br /&gt;
 *	 jquery.ui.widget.js&lt;br /&gt;
 */&lt;br /&gt;
(function( $, undefined ) {&lt;br /&gt;
&lt;br /&gt;
var lastActive, startXPos, startYPos, clickDragged,&lt;br /&gt;
	baseClasses = &amp;quot;ui-button ui-widget ui-state-default ui-corner-all&amp;quot;,&lt;br /&gt;
	stateClasses = &amp;quot;ui-state-hover ui-state-active &amp;quot;,&lt;br /&gt;
	typeClasses = &amp;quot;ui-button-icons-only ui-button-icon-only ui-button-text-icons ui-button-text-icon-primary ui-button-text-icon-secondary ui-button-text-only&amp;quot;,&lt;br /&gt;
	formResetHandler = function() {&lt;br /&gt;
		var buttons = $( this ).find( &amp;quot;:ui-button&amp;quot; );&lt;br /&gt;
		setTimeout(function() {&lt;br /&gt;
			buttons.button( &amp;quot;refresh&amp;quot; );&lt;br /&gt;
		}, 1 );&lt;br /&gt;
	},&lt;br /&gt;
	radioGroup = function( radio ) {&lt;br /&gt;
		var name = radio.name,&lt;br /&gt;
			form = radio.form,&lt;br /&gt;
			radios = $( [] );&lt;br /&gt;
		if ( name ) {&lt;br /&gt;
			if ( form ) {&lt;br /&gt;
				radios = $( form ).find( &amp;quot;[name=&amp;#039;&amp;quot; + name + &amp;quot;&amp;#039;]&amp;quot; );&lt;br /&gt;
			} else {&lt;br /&gt;
				radios = $( &amp;quot;[name=&amp;#039;&amp;quot; + name + &amp;quot;&amp;#039;]&amp;quot;, radio.ownerDocument )&lt;br /&gt;
					.filter(function() {&lt;br /&gt;
						return !this.form;&lt;br /&gt;
					});&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
		return radios;&lt;br /&gt;
	};&lt;br /&gt;
&lt;br /&gt;
$.widget( &amp;quot;ui.button&amp;quot;, {&lt;br /&gt;
	version: &amp;quot;1.9.2&amp;quot;,&lt;br /&gt;
	defaultElement: &amp;quot;&amp;lt;button&amp;gt;&amp;quot;,&lt;br /&gt;
	options: {&lt;br /&gt;
		disabled: null,&lt;br /&gt;
		text: true,&lt;br /&gt;
		label: null,&lt;br /&gt;
		icons: {&lt;br /&gt;
			primary: null,&lt;br /&gt;
			secondary: null&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
	_create: function() {&lt;br /&gt;
		this.element.closest( &amp;quot;form&amp;quot; )&lt;br /&gt;
			.unbind( &amp;quot;reset&amp;quot; + this.eventNamespace )&lt;br /&gt;
			.bind( &amp;quot;reset&amp;quot; + this.eventNamespace, formResetHandler );&lt;br /&gt;
&lt;br /&gt;
		if ( typeof this.options.disabled !== &amp;quot;boolean&amp;quot; ) {&lt;br /&gt;
			this.options.disabled = !!this.element.prop( &amp;quot;disabled&amp;quot; );&lt;br /&gt;
		} else {&lt;br /&gt;
			this.element.prop( &amp;quot;disabled&amp;quot;, this.options.disabled );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		this._determineButtonType();&lt;br /&gt;
		this.hasTitle = !!this.buttonElement.attr( &amp;quot;title&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
		var that = this,&lt;br /&gt;
			options = this.options,&lt;br /&gt;
			toggleButton = this.type === &amp;quot;checkbox&amp;quot; || this.type === &amp;quot;radio&amp;quot;,&lt;br /&gt;
			activeClass = !toggleButton ? &amp;quot;ui-state-active&amp;quot; : &amp;quot;&amp;quot;,&lt;br /&gt;
			focusClass = &amp;quot;ui-state-focus&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
		if ( options.label === null ) {&lt;br /&gt;
			options.label = (this.type === &amp;quot;input&amp;quot; ? this.buttonElement.val() : this.buttonElement.html());&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		this._hoverable( this.buttonElement );&lt;br /&gt;
&lt;br /&gt;
		this.buttonElement&lt;br /&gt;
			.addClass( baseClasses )&lt;br /&gt;
			.attr( &amp;quot;role&amp;quot;, &amp;quot;button&amp;quot; )&lt;br /&gt;
			.bind( &amp;quot;mouseenter&amp;quot; + this.eventNamespace, function() {&lt;br /&gt;
				if ( options.disabled ) {&lt;br /&gt;
					return;&lt;br /&gt;
				}&lt;br /&gt;
				if ( this === lastActive ) {&lt;br /&gt;
					$( this ).addClass( &amp;quot;ui-state-active&amp;quot; );&lt;br /&gt;
				}&lt;br /&gt;
			})&lt;br /&gt;
			.bind( &amp;quot;mouseleave&amp;quot; + this.eventNamespace, function() {&lt;br /&gt;
				if ( options.disabled ) {&lt;br /&gt;
					return;&lt;br /&gt;
				}&lt;br /&gt;
				$( this ).removeClass( activeClass );&lt;br /&gt;
			})&lt;br /&gt;
			.bind( &amp;quot;click&amp;quot; + this.eventNamespace, function( event ) {&lt;br /&gt;
				if ( options.disabled ) {&lt;br /&gt;
					event.preventDefault();&lt;br /&gt;
					event.stopImmediatePropagation();&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
		this.element&lt;br /&gt;
			.bind( &amp;quot;focus&amp;quot; + this.eventNamespace, function() {&lt;br /&gt;
				that.buttonElement.addClass( focusClass );&lt;br /&gt;
			})&lt;br /&gt;
			.bind( &amp;quot;blur&amp;quot; + this.eventNamespace, function() {&lt;br /&gt;
				that.buttonElement.removeClass( focusClass );&lt;br /&gt;
			});&lt;br /&gt;
&lt;br /&gt;
		if ( toggleButton ) {&lt;br /&gt;
			this.element.bind( &amp;quot;change&amp;quot; + this.eventNamespace, function() {&lt;br /&gt;
				if ( clickDragged ) {&lt;br /&gt;
					return;&lt;br /&gt;
				}&lt;br /&gt;
				that.refresh();&lt;br /&gt;
			});&lt;br /&gt;
			this.buttonElement&lt;br /&gt;
				.bind( &amp;quot;mousedown&amp;quot; + this.eventNamespace, function( event ) {&lt;br /&gt;
					if ( options.disabled ) {&lt;br /&gt;
						return;&lt;br /&gt;
					}&lt;br /&gt;
					clickDragged = false;&lt;br /&gt;
					startXPos = event.pageX;&lt;br /&gt;
					startYPos = event.pageY;&lt;br /&gt;
				})&lt;br /&gt;
				.bind( &amp;quot;mouseup&amp;quot; + this.eventNamespace, function( event ) {&lt;br /&gt;
					if ( options.disabled ) {&lt;br /&gt;
						return;&lt;br /&gt;
					}&lt;br /&gt;
					if ( startXPos !== event.pageX || startYPos !== event.pageY ) {&lt;br /&gt;
						clickDragged = true;&lt;br /&gt;
					}&lt;br /&gt;
			});&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if ( this.type === &amp;quot;checkbox&amp;quot; ) {&lt;br /&gt;
			this.buttonElement.bind( &amp;quot;click&amp;quot; + this.eventNamespace, function() {&lt;br /&gt;
				if ( options.disabled || clickDragged ) {&lt;br /&gt;
					return false;&lt;br /&gt;
				}&lt;br /&gt;
				$( this ).toggleClass( &amp;quot;ui-state-active&amp;quot; );&lt;br /&gt;
				that.buttonElement.attr( &amp;quot;aria-pressed&amp;quot;, that.element[0].checked );&lt;br /&gt;
			});&lt;br /&gt;
		} else if ( this.type === &amp;quot;radio&amp;quot; ) {&lt;br /&gt;
			this.buttonElement.bind( &amp;quot;click&amp;quot; + this.eventNamespace, function() {&lt;br /&gt;
				if ( options.disabled || clickDragged ) {&lt;br /&gt;
					return false;&lt;br /&gt;
				}&lt;br /&gt;
				$( this ).addClass( &amp;quot;ui-state-active&amp;quot; );&lt;br /&gt;
				that.buttonElement.attr( &amp;quot;aria-pressed&amp;quot;, &amp;quot;true&amp;quot; );&lt;br /&gt;
				var radio = that.element[ 0 ];&lt;br /&gt;
				radioGroup( radio )&lt;br /&gt;
					.not( radio )&lt;br /&gt;
					.map(function() {&lt;br /&gt;
						return $( this ).button( &amp;quot;widget&amp;quot; )[ 0 ];&lt;br /&gt;
					})&lt;br /&gt;
					.removeClass( &amp;quot;ui-state-active&amp;quot; )&lt;br /&gt;
					.attr( &amp;quot;aria-pressed&amp;quot;, &amp;quot;false&amp;quot; );&lt;br /&gt;
			});&lt;br /&gt;
		} else {&lt;br /&gt;
			this.buttonElement&lt;br /&gt;
				.bind( &amp;quot;mousedown&amp;quot; + this.eventNamespace, function() {&lt;br /&gt;
					if ( options.disabled ) {&lt;br /&gt;
						return false;&lt;br /&gt;
					}&lt;br /&gt;
					$( this ).addClass( &amp;quot;ui-state-active&amp;quot; );&lt;br /&gt;
					lastActive = this;&lt;br /&gt;
					that.document.one( &amp;quot;mouseup&amp;quot;, function() {&lt;br /&gt;
						lastActive = null;&lt;br /&gt;
					});&lt;br /&gt;
				})&lt;br /&gt;
				.bind( &amp;quot;mouseup&amp;quot; + this.eventNamespace, function() {&lt;br /&gt;
					if ( options.disabled ) {&lt;br /&gt;
						return false;&lt;br /&gt;
					}&lt;br /&gt;
					$( this ).removeClass( &amp;quot;ui-state-active&amp;quot; );&lt;br /&gt;
				})&lt;br /&gt;
				.bind( &amp;quot;keydown&amp;quot; + this.eventNamespace, function(event) {&lt;br /&gt;
					if ( options.disabled ) {&lt;br /&gt;
						return false;&lt;br /&gt;
					}&lt;br /&gt;
					if ( event.keyCode === $.ui.keyCode.SPACE || event.keyCode === $.ui.keyCode.ENTER ) {&lt;br /&gt;
						$( this ).addClass( &amp;quot;ui-state-active&amp;quot; );&lt;br /&gt;
					}&lt;br /&gt;
				})&lt;br /&gt;
				.bind( &amp;quot;keyup&amp;quot; + this.eventNamespace, function() {&lt;br /&gt;
					$( this ).removeClass( &amp;quot;ui-state-active&amp;quot; );&lt;br /&gt;
				});&lt;br /&gt;
&lt;br /&gt;
			if ( this.buttonElement.is(&amp;quot;a&amp;quot;) ) {&lt;br /&gt;
				this.buttonElement.keyup(function(event) {&lt;br /&gt;
					if ( event.keyCode === $.ui.keyCode.SPACE ) {&lt;br /&gt;
						// TODO pass through original event correctly (just as 2nd argument doesn&amp;#039;t work)&lt;br /&gt;
						$( this ).click();&lt;br /&gt;
					}&lt;br /&gt;
				});&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		this._setOption( &amp;quot;disabled&amp;quot;, options.disabled );&lt;br /&gt;
		this._resetButton();&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	_determineButtonType: function() {&lt;br /&gt;
		var ancestor, labelSelector, checked;&lt;br /&gt;
&lt;br /&gt;
		if ( this.element.is(&amp;quot;[type=checkbox]&amp;quot;) ) {&lt;br /&gt;
			this.type = &amp;quot;checkbox&amp;quot;;&lt;br /&gt;
		} else if ( this.element.is(&amp;quot;[type=radio]&amp;quot;) ) {&lt;br /&gt;
			this.type = &amp;quot;radio&amp;quot;;&lt;br /&gt;
		} else if ( this.element.is(&amp;quot;input&amp;quot;) ) {&lt;br /&gt;
			this.type = &amp;quot;input&amp;quot;;&lt;br /&gt;
		} else {&lt;br /&gt;
			this.type = &amp;quot;button&amp;quot;;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if ( this.type === &amp;quot;checkbox&amp;quot; || this.type === &amp;quot;radio&amp;quot; ) {&lt;br /&gt;
			// we don&amp;#039;t search against the document in case the element&lt;br /&gt;
			// is disconnected from the DOM&lt;br /&gt;
			ancestor = this.element.parents().last();&lt;br /&gt;
			labelSelector = &amp;quot;label[for=&amp;#039;&amp;quot; + this.element.attr(&amp;quot;id&amp;quot;) + &amp;quot;&amp;#039;]&amp;quot;;&lt;br /&gt;
			this.buttonElement = ancestor.find( labelSelector );&lt;br /&gt;
			if ( !this.buttonElement.length ) {&lt;br /&gt;
				ancestor = ancestor.length ? ancestor.siblings() : this.element.siblings();&lt;br /&gt;
				this.buttonElement = ancestor.filter( labelSelector );&lt;br /&gt;
				if ( !this.buttonElement.length ) {&lt;br /&gt;
					this.buttonElement = ancestor.find( labelSelector );&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
			this.element.addClass( &amp;quot;ui-helper-hidden-accessible&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
			checked = this.element.is( &amp;quot;:checked&amp;quot; );&lt;br /&gt;
			if ( checked ) {&lt;br /&gt;
				this.buttonElement.addClass( &amp;quot;ui-state-active&amp;quot; );&lt;br /&gt;
			}&lt;br /&gt;
			this.buttonElement.prop( &amp;quot;aria-pressed&amp;quot;, checked );&lt;br /&gt;
		} else {&lt;br /&gt;
			this.buttonElement = this.element;&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	widget: function() {&lt;br /&gt;
		return this.buttonElement;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	_destroy: function() {&lt;br /&gt;
		this.element&lt;br /&gt;
			.removeClass( &amp;quot;ui-helper-hidden-accessible&amp;quot; );&lt;br /&gt;
		this.buttonElement&lt;br /&gt;
			.removeClass( baseClasses + &amp;quot; &amp;quot; + stateClasses + &amp;quot; &amp;quot; + typeClasses )&lt;br /&gt;
			.removeAttr( &amp;quot;role&amp;quot; )&lt;br /&gt;
			.removeAttr( &amp;quot;aria-pressed&amp;quot; )&lt;br /&gt;
			.html( this.buttonElement.find(&amp;quot;.ui-button-text&amp;quot;).html() );&lt;br /&gt;
&lt;br /&gt;
		if ( !this.hasTitle ) {&lt;br /&gt;
			this.buttonElement.removeAttr( &amp;quot;title&amp;quot; );&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	_setOption: function( key, value ) {&lt;br /&gt;
		this._super( key, value );&lt;br /&gt;
		if ( key === &amp;quot;disabled&amp;quot; ) {&lt;br /&gt;
			if ( value ) {&lt;br /&gt;
				this.element.prop( &amp;quot;disabled&amp;quot;, true );&lt;br /&gt;
			} else {&lt;br /&gt;
				this.element.prop( &amp;quot;disabled&amp;quot;, false );&lt;br /&gt;
			}&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		this._resetButton();&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	refresh: function() {&lt;br /&gt;
		//See #8237 &amp;amp; #8828&lt;br /&gt;
		var isDisabled = this.element.is( &amp;quot;input, button&amp;quot; ) ? this.element.is( &amp;quot;:disabled&amp;quot; ) : this.element.hasClass( &amp;quot;ui-button-disabled&amp;quot; );&lt;br /&gt;
		if ( isDisabled !== this.options.disabled ) {&lt;br /&gt;
			this._setOption( &amp;quot;disabled&amp;quot;, isDisabled );&lt;br /&gt;
		}&lt;br /&gt;
		if ( this.type === &amp;quot;radio&amp;quot; ) {&lt;br /&gt;
			radioGroup( this.element[0] ).each(function() {&lt;br /&gt;
				if ( $( this ).is( &amp;quot;:checked&amp;quot; ) ) {&lt;br /&gt;
					$( this ).button( &amp;quot;widget&amp;quot; )&lt;br /&gt;
						.addClass( &amp;quot;ui-state-active&amp;quot; )&lt;br /&gt;
						.attr( &amp;quot;aria-pressed&amp;quot;, &amp;quot;true&amp;quot; );&lt;br /&gt;
				} else {&lt;br /&gt;
					$( this ).button( &amp;quot;widget&amp;quot; )&lt;br /&gt;
						.removeClass( &amp;quot;ui-state-active&amp;quot; )&lt;br /&gt;
						.attr( &amp;quot;aria-pressed&amp;quot;, &amp;quot;false&amp;quot; );&lt;br /&gt;
				}&lt;br /&gt;
			});&lt;br /&gt;
		} else if ( this.type === &amp;quot;checkbox&amp;quot; ) {&lt;br /&gt;
			if ( this.element.is( &amp;quot;:checked&amp;quot; ) ) {&lt;br /&gt;
				this.buttonElement&lt;br /&gt;
					.addClass( &amp;quot;ui-state-active&amp;quot; )&lt;br /&gt;
					.attr( &amp;quot;aria-pressed&amp;quot;, &amp;quot;true&amp;quot; );&lt;br /&gt;
			} else {&lt;br /&gt;
				this.buttonElement&lt;br /&gt;
					.removeClass( &amp;quot;ui-state-active&amp;quot; )&lt;br /&gt;
					.attr( &amp;quot;aria-pressed&amp;quot;, &amp;quot;false&amp;quot; );&lt;br /&gt;
			}&lt;br /&gt;
		}&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	_resetButton: function() {&lt;br /&gt;
		if ( this.type === &amp;quot;input&amp;quot; ) {&lt;br /&gt;
			if ( this.options.label ) {&lt;br /&gt;
				this.element.val( this.options.label );&lt;br /&gt;
			}&lt;br /&gt;
			return;&lt;br /&gt;
		}&lt;br /&gt;
		var buttonElement = this.buttonElement.removeClass( typeClasses ),&lt;br /&gt;
			buttonText = $( &amp;quot;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;&amp;quot;, this.document[0] )&lt;br /&gt;
				.addClass( &amp;quot;ui-button-text&amp;quot; )&lt;br /&gt;
				.html( this.options.label )&lt;br /&gt;
				.appendTo( buttonElement.empty() )&lt;br /&gt;
				.text(),&lt;br /&gt;
			icons = this.options.icons,&lt;br /&gt;
			multipleIcons = icons.primary &amp;amp;&amp;amp; icons.secondary,&lt;br /&gt;
			buttonClasses = [];&lt;br /&gt;
&lt;br /&gt;
		if ( icons.primary || icons.secondary ) {&lt;br /&gt;
			if ( this.options.text ) {&lt;br /&gt;
				buttonClasses.push( &amp;quot;ui-button-text-icon&amp;quot; + ( multipleIcons ? &amp;quot;s&amp;quot; : ( icons.primary ? &amp;quot;-primary&amp;quot; : &amp;quot;-secondary&amp;quot; ) ) );&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if ( icons.primary ) {&lt;br /&gt;
				buttonElement.prepend( &amp;quot;&amp;lt;span class=&amp;#039;ui-button-icon-primary ui-icon &amp;quot; + icons.primary + &amp;quot;&amp;#039;&amp;gt;&amp;lt;/span&amp;gt;&amp;quot; );&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if ( icons.secondary ) {&lt;br /&gt;
				buttonElement.append( &amp;quot;&amp;lt;span class=&amp;#039;ui-button-icon-secondary ui-icon &amp;quot; + icons.secondary + &amp;quot;&amp;#039;&amp;gt;&amp;lt;/span&amp;gt;&amp;quot; );&lt;br /&gt;
			}&lt;br /&gt;
&lt;br /&gt;
			if ( !this.options.text ) {&lt;br /&gt;
				buttonClasses.push( multipleIcons ? &amp;quot;ui-button-icons-only&amp;quot; : &amp;quot;ui-button-icon-only&amp;quot; );&lt;br /&gt;
&lt;br /&gt;
				if ( !this.hasTitle ) {&lt;br /&gt;
					buttonElement.attr( &amp;quot;title&amp;quot;, $.trim( buttonText ) );&lt;br /&gt;
				}&lt;br /&gt;
			}&lt;br /&gt;
		} else {&lt;br /&gt;
			buttonClasses.push( &amp;quot;ui-button-text-only&amp;quot; );&lt;br /&gt;
		}&lt;br /&gt;
		buttonElement.addClass( buttonClasses.join( &amp;quot; &amp;quot; ) );&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
$.widget( &amp;quot;ui.buttonset&amp;quot;, {&lt;br /&gt;
	version: &amp;quot;1.9.2&amp;quot;,&lt;br /&gt;
	options: {&lt;br /&gt;
		items: &amp;quot;button, input[type=button], input[type=submit], input[type=reset], input[type=checkbox], input[type=radio], a, :data(button)&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	_create: function() {&lt;br /&gt;
		this.element.addClass( &amp;quot;ui-buttonset&amp;quot; );&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	_init: function() {&lt;br /&gt;
		this.refresh();&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	_setOption: function( key, value ) {&lt;br /&gt;
		if ( key === &amp;quot;disabled&amp;quot; ) {&lt;br /&gt;
			this.buttons.button( &amp;quot;option&amp;quot;, key, value );&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		this._super( key, value );&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	refresh: function() {&lt;br /&gt;
		var rtl = this.element.css( &amp;quot;direction&amp;quot; ) === &amp;quot;rtl&amp;quot;;&lt;br /&gt;
		this.buttons = this.element.find( this.options.items )&lt;br /&gt;
			.filter( &amp;quot;:ui-button&amp;quot; )&lt;br /&gt;
				.button( &amp;quot;refresh&amp;quot; )&lt;br /&gt;
			.end()&lt;br /&gt;
			.not( &amp;quot;:ui-button&amp;quot; )&lt;br /&gt;
				.button()&lt;br /&gt;
			.end()&lt;br /&gt;
			.map(function() {&lt;br /&gt;
				return $( this ).button( &amp;quot;widget&amp;quot; )[ 0 ];&lt;br /&gt;
			})&lt;br /&gt;
				.removeClass( &amp;quot;ui-corner-all ui-corner-left ui-corner-right&amp;quot; )&lt;br /&gt;
				.filter( &amp;quot;:first&amp;quot; )&lt;br /&gt;
					.addClass( rtl ? &amp;quot;ui-corner-right&amp;quot; : &amp;quot;ui-corner-left&amp;quot; )&lt;br /&gt;
				.end()&lt;br /&gt;
				.filter( &amp;quot;:last&amp;quot; )&lt;br /&gt;
					.addClass( rtl ? &amp;quot;ui-corner-left&amp;quot; : &amp;quot;ui-corner-right&amp;quot; )&lt;br /&gt;
				.end()&lt;br /&gt;
			.end();&lt;br /&gt;
	},&lt;br /&gt;
&lt;br /&gt;
	_destroy: function() {&lt;br /&gt;
		this.element.removeClass( &amp;quot;ui-buttonset&amp;quot; );&lt;br /&gt;
		this.buttons&lt;br /&gt;
			.map(function() {&lt;br /&gt;
				return $( this ).button( &amp;quot;widget&amp;quot; )[ 0 ];&lt;br /&gt;
			})&lt;br /&gt;
				.removeClass( &amp;quot;ui-corner-left ui-corner-right&amp;quot; )&lt;br /&gt;
			.end()&lt;br /&gt;
			.button( &amp;quot;destroy&amp;quot; );&lt;br /&gt;
	}&lt;br /&gt;
});&lt;br /&gt;
&lt;br /&gt;
}( jQuery ) );&lt;/div&gt;</summary>
		<author><name>RogueScholar</name></author>
	</entry>
</feed>