Files
PathFinder-Frontend/wp-includes/js/jquery/ui/core.min.js
2026-01-05 15:09:40 +05:45

683 lines
33 KiB
JavaScript
Raw Blame History

/*! jQuery UI - v1.13.3 - 2024-04-26
* https://jqueryui.com
* Includes: widget.js, position.js, data.js, disable-selection.js, effect.js, effects/effect-blind.js, effects/effect-bounce.js, effects/effect-clip.js, effects/effect-drop.js, effects/effect-explode.js, effects/effect-fade.js, effects/effect-fold.js, effects/effect-highlight.js, effects/effect-puff.js, effects/effect-pulsate.js, effects/effect-scale.js, effects/effect-shake.js, effects/effect-size.js, effects/effect-slide.js, effects/effect-transfer.js, focusable.js, form-reset-mixin.js, jquery-patch.js, keycode.js, labels.js, scroll-parent.js, tabbable.js, unique-id.js, widgets/accordion.js, widgets/autocomplete.js, widgets/button.js, widgets/checkboxradio.js, widgets/controlgroup.js, widgets/datepicker.js, widgets/dialog.js, widgets/draggable.js, widgets/droppable.js, widgets/menu.js, widgets/mouse.js, widgets/progressbar.js, widgets/resizable.js, widgets/selectable.js, widgets/selectmenu.js, widgets/slider.js, widgets/sortable.js, widgets/spinner.js, widgets/tabs.js, widgets/tooltip.js
* Copyright jQuery Foundation and other contributors; Licensed MIT */
! function(t) {
"use strict";
"function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery)
}(function(x) {
"use strict";
var t, e, i, n, W, C, o, s, r, l, a, h, u;
function E(t, e, i) {
return [parseFloat(t[0]) * (a.test(t[0]) ? e / 100 : 1), parseFloat(t[1]) * (a.test(t[1]) ? i / 100 : 1)]
}
function L(t, e) {
return parseInt(x.css(t, e), 10) || 0
}
function N(t) {
return null != t && t === t.window
}
x.ui = x.ui || {}, x.ui.version = "1.13.3",
/*!
* jQuery UI :data 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.extend(x.expr.pseudos, {
data: x.expr.createPseudo ? x.expr.createPseudo(function(e) {
return function(t) {
return !!x.data(t, e)
}
}) : function(t, e, i) {
return !!x.data(t, i[3])
}
}),
/*!
* jQuery UI Disable Selection 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.extend({
disableSelection: (t = "onselectstart" in document.createElement("div") ? "selectstart" : "mousedown", function() {
return this.on(t + ".ui-disableSelection", function(t) {
t.preventDefault()
})
}),
enableSelection: function() {
return this.off(".ui-disableSelection")
}
}),
/*!
* jQuery UI Focusable 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.ui.focusable = function(t, e) {
var i, n, o, s = t.nodeName.toLowerCase();
return "area" === s ? (o = (i = t.parentNode).name, !(!t.href || !o || "map" !== i.nodeName.toLowerCase()) && 0 < (i = x("img[usemap='#" + o + "']")).length && i.is(":visible")) : (/^(input|select|textarea|button|object)$/.test(s) ? (n = !t.disabled) && (o = x(t).closest("fieldset")[0]) && (n = !o.disabled) : n = "a" === s && t.href || e, n && x(t).is(":visible") && function(t) {
var e = t.css("visibility");
for (;
"inherit" === e;) t = t.parent(), e = t.css("visibility");
return "visible" === e
}(x(t)))
}, x.extend(x.expr.pseudos, {
focusable: function(t) {
return x.ui.focusable(t, null != x.attr(t, "tabindex"))
}
}), x.fn._form = function() {
return "string" == typeof this[0].form ? this.closest("form") : x(this[0].form)
},
/*!
* jQuery UI Form Reset Mixin 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.ui.formResetMixin = {
_formResetHandler: function() {
var e = x(this);
setTimeout(function() {
var t = e.data("ui-form-reset-instances");
x.each(t, function() {
this.refresh()
})
})
},
_bindFormResetHandler: function() {
var t;
this.form = this.element._form(), this.form.length && ((t = this.form.data("ui-form-reset-instances") || []).length || this.form.on("reset.ui-form-reset", this._formResetHandler), t.push(this), this.form.data("ui-form-reset-instances", t))
},
_unbindFormResetHandler: function() {
var t;
this.form.length && ((t = this.form.data("ui-form-reset-instances")).splice(x.inArray(this, t), 1), t.length ? this.form.data("ui-form-reset-instances", t) : this.form.removeData("ui-form-reset-instances").off("reset.ui-form-reset"))
}
}, x.ui.ie = !!/msie [\w.]+/.exec(navigator.userAgent.toLowerCase()),
/*!
* jQuery UI Support for jQuery core 1.8.x and newer 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*
*/
x.expr.pseudos || (x.expr.pseudos = x.expr[":"]), x.uniqueSort || (x.uniqueSort = x.unique), x.escapeSelector || (e = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g, i = function(t, e) {
return e ? "\0" === t ? "<22>" : t.slice(0, -1) + "\\" + t.charCodeAt(t.length - 1).toString(16) + " " : "\\" + t
}, x.escapeSelector = function(t) {
return (t + "").replace(e, i)
}), x.fn.even && x.fn.odd || x.fn.extend({
even: function() {
return this.filter(function(t) {
return t % 2 == 0
})
},
odd: function() {
return this.filter(function(t) {
return t % 2 == 1
})
}
}),
/*!
* jQuery UI Keycode 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.ui.keyCode = {
BACKSPACE: 8,
COMMA: 188,
DELETE: 46,
DOWN: 40,
END: 35,
ENTER: 13,
ESCAPE: 27,
HOME: 36,
LEFT: 37,
PAGE_DOWN: 34,
PAGE_UP: 33,
PERIOD: 190,
RIGHT: 39,
SPACE: 32,
TAB: 9,
UP: 38
},
/*!
* jQuery UI Labels 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.labels = function() {
var t, e, i;
return this.length ? this[0].labels && this[0].labels.length ? this.pushStack(this[0].labels) : (e = this.eq(0).parents("label"), (t = this.attr("id")) && (i = (i = this.eq(0).parents().last()).add((i.length ? i : this).siblings()), t = "label[for='" + x.escapeSelector(t) + "']", e = e.add(i.find(t).addBack(t))), this.pushStack(e)) : this.pushStack([])
}, x.ui.plugin = {
add: function(t, e, i) {
var n, o = x.ui[t].prototype;
for (n in i) o.plugins[n] = o.plugins[n] || [], o.plugins[n].push([e, i[n]])
},
call: function(t, e, i, n) {
var o, s = t.plugins[e];
if (s && (n || t.element[0].parentNode && 11 !== t.element[0].parentNode.nodeType))
for (o = 0; o < s.length; o++) t.options[s[o][0]] && s[o][1].apply(t.element, i)
}
},
/*!
* jQuery UI Position 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*
* https://api.jqueryui.com/position/
*/
W = Math.max, C = Math.abs, o = /left|center|right/, s = /top|center|bottom/, r = /[\+\-]\d+(\.[\d]+)?%?/, l = /^\w+/, a = /%$/, h = x.fn.position, x.position = {
scrollbarWidth: function() {
var t, e, i;
return void 0 !== n ? n : (i = (e = x("<div style='display:block;position:absolute;width:200px;height:200px;overflow:hidden;'><div style='height:300px;width:auto;'></div></div>")).children()[0], x("body").append(e), t = i.offsetWidth, e.css("overflow", "scroll"), t === (i = i.offsetWidth) && (i = e[0].clientWidth), e.remove(), n = t - i)
},
getScrollInfo: function(t) {
var e = t.isWindow || t.isDocument ? "" : t.element.css("overflow-x"),
i = t.isWindow || t.isDocument ? "" : t.element.css("overflow-y"),
e = "scroll" === e || "auto" === e && t.width < t.element[0].scrollWidth;
return {
width: "scroll" === i || "auto" === i && t.height < t.element[0].scrollHeight ? x.position.scrollbarWidth() : 0,
height: e ? x.position.scrollbarWidth() : 0
}
},
getWithinInfo: function(t) {
var e = x(t || window),
i = N(e[0]),
n = !!e[0] && 9 === e[0].nodeType;
return {
element: e,
isWindow: i,
isDocument: n,
offset: !i && !n ? x(t).offset() : {
left: 0,
top: 0
},
scrollLeft: e.scrollLeft(),
scrollTop: e.scrollTop(),
width: e.outerWidth(),
height: e.outerHeight()
}
}
}, x.fn.position = function(f) {
var c, d, p, g, m, v, y, w, b, _, t, e;
return f && f.of ? (v = "string" == typeof(f = x.extend({}, f)).of ? x(document).find(f.of) : x(f.of), y = x.position.getWithinInfo(f.within), w = x.position.getScrollInfo(y), b = (f.collision || "flip").split(" "), _ = {}, e = 9 === (e = (t = v)[0]).nodeType ? {
width: t.width(),
height: t.height(),
offset: {
top: 0,
left: 0
}
} : N(e) ? {
width: t.width(),
height: t.height(),
offset: {
top: t.scrollTop(),
left: t.scrollLeft()
}
} : e.preventDefault ? {
width: 0,
height: 0,
offset: {
top: e.pageY,
left: e.pageX
}
} : {
width: t.outerWidth(),
height: t.outerHeight(),
offset: t.offset()
}, v[0].preventDefault && (f.at = "left top"), d = e.width, p = e.height, m = x.extend({}, g = e.offset), x.each(["my", "at"], function() {
var t, e, i = (f[this] || "").split(" ");
(i = 1 === i.length ? o.test(i[0]) ? i.concat(["center"]) : s.test(i[0]) ? ["center"].concat(i) : ["center", "center"] : i)[0] = o.test(i[0]) ? i[0] : "center", i[1] = s.test(i[1]) ? i[1] : "center", t = r.exec(i[0]), e = r.exec(i[1]), _[this] = [t ? t[0] : 0, e ? e[0] : 0], f[this] = [l.exec(i[0])[0], l.exec(i[1])[0]]
}), 1 === b.length && (b[1] = b[0]), "right" === f.at[0] ? m.left += d : "center" === f.at[0] && (m.left += d / 2), "bottom" === f.at[1] ? m.top += p : "center" === f.at[1] && (m.top += p / 2), c = E(_.at, d, p), m.left += c[0], m.top += c[1], this.each(function() {
var i, t, r = x(this),
l = r.outerWidth(),
a = r.outerHeight(),
e = L(this, "marginLeft"),
n = L(this, "marginTop"),
o = l + e + L(this, "marginRight") + w.width,
s = a + n + L(this, "marginBottom") + w.height,
h = x.extend({}, m),
u = E(_.my, r.outerWidth(), r.outerHeight());
"right" === f.my[0] ? h.left -= l : "center" === f.my[0] && (h.left -= l / 2), "bottom" === f.my[1] ? h.top -= a : "center" === f.my[1] && (h.top -= a / 2), h.left += u[0], h.top += u[1], i = {
marginLeft: e,
marginTop: n
}, x.each(["left", "top"], function(t, e) {
x.ui.position[b[t]] && x.ui.position[b[t]][e](h, {
targetWidth: d,
targetHeight: p,
elemWidth: l,
elemHeight: a,
collisionPosition: i,
collisionWidth: o,
collisionHeight: s,
offset: [c[0] + u[0], c[1] + u[1]],
my: f.my,
at: f.at,
within: y,
elem: r
})
}), f.using && (t = function(t) {
var e = g.left - h.left,
i = e + d - l,
n = g.top - h.top,
o = n + p - a,
s = {
target: {
element: v,
left: g.left,
top: g.top,
width: d,
height: p
},
element: {
element: r,
left: h.left,
top: h.top,
width: l,
height: a
},
horizontal: i < 0 ? "left" : 0 < e ? "right" : "center",
vertical: o < 0 ? "top" : 0 < n ? "bottom" : "middle"
};
d < l && C(e + i) < d && (s.horizontal = "center"), p < a && C(n + o) < p && (s.vertical = "middle"), W(C(e), C(i)) > W(C(n), C(o)) ? s.important = "horizontal" : s.important = "vertical", f.using.call(this, t, s)
}), r.offset(x.extend(h, {
using: t
}))
})) : h.apply(this, arguments)
}, x.ui.position = {
fit: {
left: function(t, e) {
var i, n = e.within,
o = n.isWindow ? n.scrollLeft : n.offset.left,
n = n.width,
s = t.left - e.collisionPosition.marginLeft,
r = o - s,
l = s + e.collisionWidth - n - o;
n < e.collisionWidth ? 0 < r && l <= 0 ? (i = t.left + r + e.collisionWidth - n - o, t.left += r - i) : t.left = !(0 < l && r <= 0) && l < r ? o + n - e.collisionWidth : o : 0 < r ? t.left += r : 0 < l ? t.left -= l : t.left = W(t.left - s, t.left)
},
top: function(t, e) {
var i, n = e.within,
n = n.isWindow ? n.scrollTop : n.offset.top,
o = e.within.height,
s = t.top - e.collisionPosition.marginTop,
r = n - s,
l = s + e.collisionHeight - o - n;
o < e.collisionHeight ? 0 < r && l <= 0 ? (i = t.top + r + e.collisionHeight - o - n, t.top += r - i) : t.top = !(0 < l && r <= 0) && l < r ? n + o - e.collisionHeight : n : 0 < r ? t.top += r : 0 < l ? t.top -= l : t.top = W(t.top - s, t.top)
}
},
flip: {
left: function(t, e) {
var i = e.within,
n = i.offset.left + i.scrollLeft,
o = i.width,
i = i.isWindow ? i.scrollLeft : i.offset.left,
s = t.left - e.collisionPosition.marginLeft,
r = s - i,
s = s + e.collisionWidth - o - i,
l = "left" === e.my[0] ? -e.elemWidth : "right" === e.my[0] ? e.elemWidth : 0,
a = "left" === e.at[0] ? e.targetWidth : "right" === e.at[0] ? -e.targetWidth : 0,
h = -2 * e.offset[0];
r < 0 ? ((o = t.left + l + a + h + e.collisionWidth - o - n) < 0 || o < C(r)) && (t.left += l + a + h) : 0 < s && (0 < (n = t.left - e.collisionPosition.marginLeft + l + a + h - i) || C(n) < s) && (t.left += l + a + h)
},
top: function(t, e) {
var i = e.within,
n = i.offset.top + i.scrollTop,
o = i.height,
i = i.isWindow ? i.scrollTop : i.offset.top,
s = t.top - e.collisionPosition.marginTop,
r = s - i,
s = s + e.collisionHeight - o - i,
l = "top" === e.my[1] ? -e.elemHeight : "bottom" === e.my[1] ? e.elemHeight : 0,
a = "top" === e.at[1] ? e.targetHeight : "bottom" === e.at[1] ? -e.targetHeight : 0,
h = -2 * e.offset[1];
r < 0 ? ((o = t.top + l + a + h + e.collisionHeight - o - n) < 0 || o < C(r)) && (t.top += l + a + h) : 0 < s && (0 < (n = t.top - e.collisionPosition.marginTop + l + a + h - i) || C(n) < s) && (t.top += l + a + h)
}
},
flipfit: {
left: function() {
x.ui.position.flip.left.apply(this, arguments), x.ui.position.fit.left.apply(this, arguments)
},
top: function() {
x.ui.position.flip.top.apply(this, arguments), x.ui.position.fit.top.apply(this, arguments)
}
}
}, x.ui.safeActiveElement = function(e) {
var i;
try {
i = e.activeElement
} catch (t) {
i = e.body
}
return i = (i = i || e.body).nodeName ? i : e.body
}, x.ui.safeBlur = function(t) {
t && "body" !== t.nodeName.toLowerCase() && x(t).trigger("blur")
},
/*!
* jQuery UI Scroll Parent 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.scrollParent = function(t) {
var e = this.css("position"),
i = "absolute" === e,
n = t ? /(auto|scroll|hidden)/ : /(auto|scroll)/,
t = this.parents().filter(function() {
var t = x(this);
return (!i || "static" !== t.css("position")) && n.test(t.css("overflow") + t.css("overflow-y") + t.css("overflow-x"))
}).eq(0);
return "fixed" !== e && t.length ? t : x(this[0].ownerDocument || document)
},
/*!
* jQuery UI Tabbable 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.extend(x.expr.pseudos, {
tabbable: function(t) {
var e = x.attr(t, "tabindex"),
i = null != e;
return (!i || 0 <= e) && x.ui.focusable(t, i)
}
}),
/*!
* jQuery UI Unique ID 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
x.fn.extend({
uniqueId: (u = 0, function() {
return this.each(function() {
this.id || (this.id = "ui-id-" + ++u)
})
}),
removeUniqueId: function() {
return this.each(function() {
/^ui-id-\d+$/.test(this.id) && x(this).removeAttr("id")
})
}
});
/*!
* jQuery UI Widget 1.13.3
* https://jqueryui.com
*
* Copyright OpenJS Foundation and other contributors
* Released under the MIT license.
* https://jquery.org/license
*/
var f, c = 0,
d = Array.prototype.hasOwnProperty,
p = Array.prototype.slice;
x.cleanData = (f = x.cleanData, function(t) {
for (var e, i, n = 0; null != (i = t[n]); n++)(e = x._data(i, "events")) && e.remove && x(i).triggerHandler("remove");
f(t)
}), x.widget = function(t, i, e) {
var n, o, s, r = {},
l = t.split(".")[0],
a = l + "-" + (t = t.split(".")[1]);
return e || (e = i, i = x.Widget), Array.isArray(e) && (e = x.extend.apply(null, [{}].concat(e))), x.expr.pseudos[a.toLowerCase()] = function(t) {
return !!x.data(t, a)
}, x[l] = x[l] || {}, n = x[l][t], o = x[l][t] = function(t, e) {
if (!this || !this._createWidget) return new o(t, e);
arguments.length && this._createWidget(t, e)
}, x.extend(o, n, {
version: e.version,
_proto: x.extend({}, e),
_childConstructors: []
}), (s = new i).options = x.widget.extend({}, s.options), x.each(e, function(e, n) {
function o() {
return i.prototype[e].apply(this, arguments)
}
function s(t) {
return i.prototype[e].apply(this, t)
}
r[e] = "function" != typeof n ? n : function() {
var t, e = this._super,
i = this._superApply;
return this._super = o, this._superApply = s, t = n.apply(this, arguments), this._super = e, this._superApply = i, t
}
}), o.prototype = x.widget.extend(s, {
widgetEventPrefix: n && s.widgetEventPrefix || t
}, r, {
constructor: o,
namespace: l,
widgetName: t,
widgetFullName: a
}), n ? (x.each(n._childConstructors, function(t, e) {
var i = e.prototype;
x.widget(i.namespace + "." + i.widgetName, o, e._proto)
}), delete n._childConstructors) : i._childConstructors.push(o), x.widget.bridge(t, o), o
}, x.widget.extend = function(t) {
for (var e, i, n = p.call(arguments, 1), o = 0, s = n.length; o < s; o++)
for (e in n[o]) i = n[o][e], d.call(n[o], e) && void 0 !== i && (x.isPlainObject(i) ? t[e] = x.isPlainObject(t[e]) ? x.widget.extend({}, t[e], i) : x.widget.extend({}, i) : t[e] = i);
return t
}, x.widget.bridge = function(s, e) {
var r = e.prototype.widgetFullName || s;
x.fn[s] = function(i) {
var t = "string" == typeof i,
n = p.call(arguments, 1),
o = this;
return t ? this.length || "instance" !== i ? this.each(function() {
var t, e = x.data(this, r);
return "instance" === i ? (o = e, !1) : e ? "function" != typeof e[i] || "_" === i.charAt(0) ? x.error("no such method '" + i + "' for " + s + " widget instance") : (t = e[i].apply(e, n)) !== e && void 0 !== t ? (o = t && t.jquery ? o.pushStack(t.get()) : t, !1) : void 0 : x.error("cannot call methods on " + s + " prior to initialization; attempted to call method '" + i + "'")
}) : o = void 0 : (n.length && (i = x.widget.extend.apply(null, [i].concat(n))), this.each(function() {
var t = x.data(this, r);
t ? (t.option(i || {}), t._init && t._init()) : x.data(this, r, new e(i, this))
})), o
}
}, x.Widget = function() {}, x.Widget._childConstructors = [], x.Widget.prototype = {
widgetName: "widget",
widgetEventPrefix: "",
defaultElement: "<div>",
options: {
classes: {},
disabled: !1,
create: null
},
_createWidget: function(t, e) {
e = x(e || this.defaultElement || this)[0], this.element = x(e), this.uuid = c++, this.eventNamespace = "." + this.widgetName + this.uuid, this.bindings = x(), this.hoverable = x(), this.focusable = x(), this.classesElementLookup = {}, e !== this && (x.data(e, this.widgetFullName, this), this._on(!0, this.element, {
remove: function(t) {
t.target === e && this.destroy()
}
}), this.document = x(e.style ? e.ownerDocument : e.document || e), this.window = x(this.document[0].defaultView || this.document[0].parentWindow)), this.options = x.widget.extend({}, this.options, this._getCreateOptions(), t), this._create(), this.options.disabled && this._setOptionDisabled(this.options.disabled), this._trigger("create", null, this._getCreateEventData()), this._init()
},
_getCreateOptions: function() {
return {}
},
_getCreateEventData: x.noop,
_create: x.noop,
_init: x.noop,
destroy: function() {
var i = this;
this._destroy(), x.each(this.classesElementLookup, function(t, e) {
i._removeClass(e, t)
}), this.element.off(this.eventNamespace).removeData(this.widgetFullName), this.widget().off(this.eventNamespace).removeAttr("aria-disabled"), this.bindings.off(this.eventNamespace)
},
_destroy: x.noop,
widget: function() {
return this.element
},
option: function(t, e) {
var i, n, o, s = t;
if (0 === arguments.length) return x.widget.extend({}, this.options);
if ("string" == typeof t)
if (s = {}, t = (i = t.split(".")).shift(), i.length) {
for (n = s[t] = x.widget.extend({}, this.options[t]), o = 0; o < i.length - 1; o++) n[i[o]] = n[i[o]] || {}, n = n[i[o]];
if (t = i.pop(), 1 === arguments.length) return void 0 === n[t] ? null : n[t];
n[t] = e
} else {
if (1 === arguments.length) return void 0 === this.options[t] ? null : this.options[t];
s[t] = e
}
return this._setOptions(s), this
},
_setOptions: function(t) {
for (var e in t) this._setOption(e, t[e]);
return this
},
_setOption: function(t, e) {
return "classes" === t && this._setOptionClasses(e), this.options[t] = e, "disabled" === t && this._setOptionDisabled(e), this
},
_setOptionClasses: function(t) {
var e, i, n;
for (e in t) n = this.classesElementLookup[e], t[e] !== this.options.classes[e] && n && n.length && (i = x(n.get()), this._removeClass(n, e), i.addClass(this._classes({
element: i,
keys: e,
classes: t,
add: !0
})))
},
_setOptionDisabled: function(t) {
this._toggleClass(this.widget(), this.widgetFullName + "-disabled", null, !!t), t && (this._removeClass(this.hoverable, null, "ui-state-hover"), this._removeClass(this.focusable, null, "ui-state-focus"))
},
enable: function() {
return this._setOptions({
disabled: !1
})
},
disable: function() {
return this._setOptions({
disabled: !0
})
},
_classes: function(o) {
var s = [],
r = this;
function t(t, e) {
for (var i, n = 0; n < t.length; n++) i = r.classesElementLookup[t[n]] || x(), i = o.add ? (function() {
var i = [];
o.element.each(function(t, e) {
x.map(r.classesElementLookup, function(t) {
return t
}).some(function(t) {
return t.is(e)
}) || i.push(e)
}), r._on(x(i), {
remove: "_untrackClassesElement"
})
}(), x(x.uniqueSort(i.get().concat(o.element.get())))) : x(i.not(o.element).get()), r.classesElementLookup[t[n]] = i, s.push(t[n]), e && o.classes[t[n]] && s.push(o.classes[t[n]])
}
return (o = x.extend({
element: this.element,
classes: this.options.classes || {}
}, o)).keys && t(o.keys.match(/\S+/g) || [], !0), o.extra && t(o.extra.match(/\S+/g) || []), s.join(" ")
},
_untrackClassesElement: function(i) {
var n = this;
x.each(n.classesElementLookup, function(t, e) {
-1 !== x.inArray(i.target, e) && (n.classesElementLookup[t] = x(e.not(i.target).get()))
}), this._off(x(i.target))
},
_removeClass: function(t, e, i) {
return this._toggleClass(t, e, i, !1)
},
_addClass: function(t, e, i) {
return this._toggleClass(t, e, i, !0)
},
_toggleClass: function(t, e, i, n) {
var o = "string" == typeof t || null === t,
e = {
extra: o ? e : i,
keys: o ? t : e,
element: o ? this.element : t,
add: n = "boolean" == typeof n ? n : i
};
return e.element.toggleClass(this._classes(e), n), this
},
_on: function(o, s, t) {
var r, l = this;
"boolean" != typeof o && (t = s, s = o, o = !1), t ? (s = r = x(s), this.bindings = this.bindings.add(s)) : (t = s, s = this.element, r = this.widget()), x.each(t, function(t, e) {
function i() {
if (o || !0 !== l.options.disabled && !x(this).hasClass("ui-state-disabled")) return ("string" == typeof e ? l[e] : e).apply(l, arguments)
}
"string" != typeof e && (i.guid = e.guid = e.guid || i.guid || x.guid++);
var t = t.match(/^([\w:-]*)\s*(.*)$/),
n = t[1] + l.eventNamespace,
t = t[2];
t ? r.on(n, t, i) : s.on(n, i)
})
},
_off: function(t, e) {
e = (e || "").split(" ").join(this.eventNamespace + " ") + this.eventNamespace, t.off(e), this.bindings = x(this.bindings.not(t).get()), this.focusable = x(this.focusable.not(t).get()), this.hoverable = x(this.hoverable.not(t).get())
},
_delay: function(t, e) {
var i = this;
return setTimeout(function() {
return ("string" == typeof t ? i[t] : t).apply(i, arguments)
}, e || 0)
},
_hoverable: function(t) {
this.hoverable = this.hoverable.add(t), this._on(t, {
mouseenter: function(t) {
this._addClass(x(t.currentTarget), null, "ui-state-hover")
},
mouseleave: function(t) {
this._removeClass(x(t.currentTarget), null, "ui-state-hover")
}
})
},
_focusable: function(t) {
this.focusable = this.focusable.add(t), this._on(t, {
focusin: function(t) {
this._addClass(x(t.currentTarget), null, "ui-state-focus")
},
focusout: function(t) {
this._removeClass(x(t.currentTarget), null, "ui-state-focus")
}
})
},
_trigger: function(t, e, i) {
var n, o, s = this.options[t];
if (i = i || {}, (e = x.Event(e)).type = (t === this.widgetEventPrefix ? t : this.widgetEventPrefix + t).toLowerCase(), e.target = this.element[0], o = e.originalEvent)
for (n in o) n in e || (e[n] = o[n]);
return this.element.trigger(e, i), !("function" == typeof s && !1 === s.apply(this.element[0], [e].concat(i)) || e.isDefaultPrevented())
}
}, x.each({
show: "fadeIn",
hide: "fadeOut"
}, function(s, r) {
x.Widget.prototype["_" + s] = function(e, t, i) {
var n, o = (t = "string" == typeof t ? {
effect: t
} : t) ? !0 !== t && "number" != typeof t && t.effect || r : s;
"number" == typeof(t = t || {}) ? t = {
duration: t
}: !0 === t && (t = {}), n = !x.isEmptyObject(t), t.complete = i, t.delay && e.delay(t.delay), n && x.effects && x.effects.effect[o] ? e[s](t) : o !== s && e[o] ? e[o](t.duration, t.easing, i) : e.queue(function(t) {
x(this)[s](), i && i.call(e[0]), t()
})
}
})
});