fontawesome-iconpicker
Advanced tools
Comparing version 1.3.0 to 1.3.1
{ | ||
"name": "fontawesome-iconpicker", | ||
"version": "1.2.2", | ||
"main": [ | ||
@@ -5,0 +4,0 @@ "dist/css/fontawesome-iconpicker.css", |
@@ -11,7 +11,7 @@ { | ||
], | ||
"homepage": "https://itsjavi.com/fontawesome-iconpicker/", | ||
"homepage": "https://farbelous.github.io/fontawesome-iconpicker/", | ||
"minimum-stability": "stable", | ||
"repositories": [{ | ||
"type": "vcs", | ||
"url": "https://github.com/itsjavi/fontawesome-iconpicker" | ||
"url": "https://github.com/farbelous/fontawesome-iconpicker" | ||
}], | ||
@@ -26,5 +26,5 @@ "license": "MIT", | ||
"support": { | ||
"issues": "https://github.com/itsjavi/fontawesome-iconpicker/issues", | ||
"source": "https://github.com/itsjavi/fontawesome-iconpicker" | ||
"issues": "https://github.com/farbelous/fontawesome-iconpicker/issues", | ||
"source": "https://github.com/farbelous/fontawesome-iconpicker" | ||
} | ||
} |
@@ -1,348 +0,354 @@ | ||
(function(a, b) { | ||
(function(a) { | ||
if (typeof define === "function" && define.amd) { | ||
define([ "jquery" ], a); | ||
} else { | ||
a(jQuery); | ||
} | ||
})(function(a) { | ||
a.ui = a.ui || {}; | ||
var c, d = Math.max, e = Math.abs, f = Math.round, g = /left|center|right/, h = /top|center|bottom/, i = /[\+\-]\d+(\.[\d]+)?%?/, j = /^\w+/, k = /%$/, l = a.fn.pos; | ||
function m(a, b, c) { | ||
return [ parseFloat(a[0]) * (k.test(a[0]) ? b / 100 : 1), parseFloat(a[1]) * (k.test(a[1]) ? c / 100 : 1) ]; | ||
} | ||
function n(b, c) { | ||
return parseInt(a.css(b, c), 10) || 0; | ||
} | ||
function o(b) { | ||
var c = b[0]; | ||
if (c.nodeType === 9) { | ||
return { | ||
width: b.width(), | ||
height: b.height(), | ||
offset: { | ||
top: 0, | ||
left: 0 | ||
} | ||
}; | ||
var b = a.ui.version = "1.12.1"; | ||
(function() { | ||
var b, c = Math.max, d = Math.abs, e = /left|center|right/, f = /top|center|bottom/, g = /[\+\-]\d+(\.[\d]+)?%?/, h = /^\w+/, i = /%$/, j = a.fn.pos; | ||
function k(a, b, c) { | ||
return [ parseFloat(a[0]) * (i.test(a[0]) ? b / 100 : 1), parseFloat(a[1]) * (i.test(a[1]) ? c / 100 : 1) ]; | ||
} | ||
if (a.isWindow(c)) { | ||
function l(b, c) { | ||
return parseInt(a.css(b, c), 10) || 0; | ||
} | ||
function m(b) { | ||
var c = b[0]; | ||
if (c.nodeType === 9) { | ||
return { | ||
width: b.width(), | ||
height: b.height(), | ||
offset: { | ||
top: 0, | ||
left: 0 | ||
} | ||
}; | ||
} | ||
if (a.isWindow(c)) { | ||
return { | ||
width: b.width(), | ||
height: b.height(), | ||
offset: { | ||
top: b.scrollTop(), | ||
left: b.scrollLeft() | ||
} | ||
}; | ||
} | ||
if (c.preventDefault) { | ||
return { | ||
width: 0, | ||
height: 0, | ||
offset: { | ||
top: c.pageY, | ||
left: c.pageX | ||
} | ||
}; | ||
} | ||
return { | ||
width: b.width(), | ||
height: b.height(), | ||
offset: { | ||
top: b.scrollTop(), | ||
left: b.scrollLeft() | ||
} | ||
width: b.outerWidth(), | ||
height: b.outerHeight(), | ||
offset: b.offset() | ||
}; | ||
} | ||
if (c.preventDefault) { | ||
return { | ||
width: 0, | ||
height: 0, | ||
offset: { | ||
top: c.pageY, | ||
left: c.pageX | ||
a.pos = { | ||
scrollbarWidth: function() { | ||
if (b !== undefined) { | ||
return b; | ||
} | ||
}; | ||
} | ||
return { | ||
width: b.outerWidth(), | ||
height: b.outerHeight(), | ||
offset: b.offset() | ||
var c, d, e = a("<div " + "style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" + "<div style='height:100px;width:auto;'></div></div>"), f = e.children()[0]; | ||
a("body").append(e); | ||
c = f.offsetWidth; | ||
e.css("overflow", "scroll"); | ||
d = f.offsetWidth; | ||
if (c === d) { | ||
d = e[0].clientWidth; | ||
} | ||
e.remove(); | ||
return b = c - d; | ||
}, | ||
getScrollInfo: function(b) { | ||
var c = b.isWindow || b.isDocument ? "" : b.element.css("overflow-x"), d = b.isWindow || b.isDocument ? "" : b.element.css("overflow-y"), e = c === "scroll" || c === "auto" && b.width < b.element[0].scrollWidth, f = d === "scroll" || d === "auto" && b.height < b.element[0].scrollHeight; | ||
return { | ||
width: f ? a.pos.scrollbarWidth() : 0, | ||
height: e ? a.pos.scrollbarWidth() : 0 | ||
}; | ||
}, | ||
getWithinInfo: function(b) { | ||
var c = a(b || window), d = a.isWindow(c[0]), e = !!c[0] && c[0].nodeType === 9, f = !d && !e; | ||
return { | ||
element: c, | ||
isWindow: d, | ||
isDocument: e, | ||
offset: f ? a(b).offset() : { | ||
left: 0, | ||
top: 0 | ||
}, | ||
scrollLeft: c.scrollLeft(), | ||
scrollTop: c.scrollTop(), | ||
width: c.outerWidth(), | ||
height: c.outerHeight() | ||
}; | ||
} | ||
}; | ||
} | ||
a.pos = { | ||
scrollbarWidth: function() { | ||
if (c !== b) { | ||
return c; | ||
a.fn.pos = function(b) { | ||
if (!b || !b.of) { | ||
return j.apply(this, arguments); | ||
} | ||
var d, e, f = a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"), g = f.children()[0]; | ||
a("body").append(f); | ||
d = g.offsetWidth; | ||
f.css("overflow", "scroll"); | ||
e = g.offsetWidth; | ||
if (d === e) { | ||
e = f[0].clientWidth; | ||
b = a.extend({}, b); | ||
var i, n, o, p, q, r, s = a(b.of), t = a.pos.getWithinInfo(b.within), u = a.pos.getScrollInfo(t), v = (b.collision || "flip").split(" "), w = {}; | ||
r = m(s); | ||
if (s[0].preventDefault) { | ||
b.at = "left top"; | ||
} | ||
f.remove(); | ||
return c = d - e; | ||
}, | ||
getScrollInfo: function(b) { | ||
var c = b.isWindow || b.isDocument ? "" : b.element.css("overflow-x"), d = b.isWindow || b.isDocument ? "" : b.element.css("overflow-y"), e = c === "scroll" || c === "auto" && b.width < b.element[0].scrollWidth, f = d === "scroll" || d === "auto" && b.height < b.element[0].scrollHeight; | ||
return { | ||
width: f ? a.pos.scrollbarWidth() : 0, | ||
height: e ? a.pos.scrollbarWidth() : 0 | ||
}; | ||
}, | ||
getWithinInfo: function(b) { | ||
var c = a(b || window), d = a.isWindow(c[0]), e = !!c[0] && c[0].nodeType === 9; | ||
return { | ||
element: c, | ||
isWindow: d, | ||
isDocument: e, | ||
offset: c.offset() || { | ||
left: 0, | ||
top: 0 | ||
}, | ||
scrollLeft: c.scrollLeft(), | ||
scrollTop: c.scrollTop(), | ||
width: d ? c.width() : c.outerWidth(), | ||
height: d ? c.height() : c.outerHeight() | ||
}; | ||
} | ||
}; | ||
a.fn.pos = function(b) { | ||
if (!b || !b.of) { | ||
return l.apply(this, arguments); | ||
} | ||
b = a.extend({}, b); | ||
var c, k, p, q, r, s, t = a(b.of), u = a.pos.getWithinInfo(b.within), v = a.pos.getScrollInfo(u), w = (b.collision || "flip").split(" "), x = {}; | ||
s = o(t); | ||
if (t[0].preventDefault) { | ||
b.at = "left top"; | ||
} | ||
k = s.width; | ||
p = s.height; | ||
q = s.offset; | ||
r = a.extend({}, q); | ||
a.each([ "my", "at" ], function() { | ||
var a = (b[this] || "").split(" "), c, d; | ||
if (a.length === 1) { | ||
a = g.test(a[0]) ? a.concat([ "center" ]) : h.test(a[0]) ? [ "center" ].concat(a) : [ "center", "center" ]; | ||
n = r.width; | ||
o = r.height; | ||
p = r.offset; | ||
q = a.extend({}, p); | ||
a.each([ "my", "at" ], function() { | ||
var a = (b[this] || "").split(" "), c, d; | ||
if (a.length === 1) { | ||
a = e.test(a[0]) ? a.concat([ "center" ]) : f.test(a[0]) ? [ "center" ].concat(a) : [ "center", "center" ]; | ||
} | ||
a[0] = e.test(a[0]) ? a[0] : "center"; | ||
a[1] = f.test(a[1]) ? a[1] : "center"; | ||
c = g.exec(a[0]); | ||
d = g.exec(a[1]); | ||
w[this] = [ c ? c[0] : 0, d ? d[0] : 0 ]; | ||
b[this] = [ h.exec(a[0])[0], h.exec(a[1])[0] ]; | ||
}); | ||
if (v.length === 1) { | ||
v[1] = v[0]; | ||
} | ||
a[0] = g.test(a[0]) ? a[0] : "center"; | ||
a[1] = h.test(a[1]) ? a[1] : "center"; | ||
c = i.exec(a[0]); | ||
d = i.exec(a[1]); | ||
x[this] = [ c ? c[0] : 0, d ? d[0] : 0 ]; | ||
b[this] = [ j.exec(a[0])[0], j.exec(a[1])[0] ]; | ||
}); | ||
if (w.length === 1) { | ||
w[1] = w[0]; | ||
} | ||
if (b.at[0] === "right") { | ||
r.left += k; | ||
} else if (b.at[0] === "center") { | ||
r.left += k / 2; | ||
} | ||
if (b.at[1] === "bottom") { | ||
r.top += p; | ||
} else if (b.at[1] === "center") { | ||
r.top += p / 2; | ||
} | ||
c = m(x.at, k, p); | ||
r.left += c[0]; | ||
r.top += c[1]; | ||
return this.each(function() { | ||
var g, h, i = a(this), j = i.outerWidth(), l = i.outerHeight(), o = n(this, "marginLeft"), s = n(this, "marginTop"), y = j + o + n(this, "marginRight") + v.width, z = l + s + n(this, "marginBottom") + v.height, A = a.extend({}, r), B = m(x.my, i.outerWidth(), i.outerHeight()); | ||
if (b.my[0] === "right") { | ||
A.left -= j; | ||
} else if (b.my[0] === "center") { | ||
A.left -= j / 2; | ||
if (b.at[0] === "right") { | ||
q.left += n; | ||
} else if (b.at[0] === "center") { | ||
q.left += n / 2; | ||
} | ||
if (b.my[1] === "bottom") { | ||
A.top -= l; | ||
} else if (b.my[1] === "center") { | ||
A.top -= l / 2; | ||
if (b.at[1] === "bottom") { | ||
q.top += o; | ||
} else if (b.at[1] === "center") { | ||
q.top += o / 2; | ||
} | ||
A.left += B[0]; | ||
A.top += B[1]; | ||
if (!a.support.offsetFractions) { | ||
A.left = f(A.left); | ||
A.top = f(A.top); | ||
} | ||
g = { | ||
marginLeft: o, | ||
marginTop: s | ||
}; | ||
a.each([ "left", "top" ], function(d, e) { | ||
if (a.ui.pos[w[d]]) { | ||
a.ui.pos[w[d]][e](A, { | ||
targetWidth: k, | ||
targetHeight: p, | ||
elemWidth: j, | ||
elemHeight: l, | ||
collisionPosition: g, | ||
collisionWidth: y, | ||
collisionHeight: z, | ||
offset: [ c[0] + B[0], c[1] + B[1] ], | ||
my: b.my, | ||
at: b.at, | ||
within: u, | ||
elem: i | ||
}); | ||
i = k(w.at, n, o); | ||
q.left += i[0]; | ||
q.top += i[1]; | ||
return this.each(function() { | ||
var e, f, g = a(this), h = g.outerWidth(), j = g.outerHeight(), m = l(this, "marginLeft"), r = l(this, "marginTop"), x = h + m + l(this, "marginRight") + u.width, y = j + r + l(this, "marginBottom") + u.height, z = a.extend({}, q), A = k(w.my, g.outerWidth(), g.outerHeight()); | ||
if (b.my[0] === "right") { | ||
z.left -= h; | ||
} else if (b.my[0] === "center") { | ||
z.left -= h / 2; | ||
} | ||
}); | ||
if (b.using) { | ||
h = function(a) { | ||
var c = q.left - A.left, f = c + k - j, g = q.top - A.top, h = g + p - l, m = { | ||
target: { | ||
element: t, | ||
left: q.left, | ||
top: q.top, | ||
width: k, | ||
height: p | ||
}, | ||
element: { | ||
element: i, | ||
left: A.left, | ||
top: A.top, | ||
width: j, | ||
height: l | ||
}, | ||
horizontal: f < 0 ? "left" : c > 0 ? "right" : "center", | ||
vertical: h < 0 ? "top" : g > 0 ? "bottom" : "middle" | ||
}; | ||
if (k < j && e(c + f) < k) { | ||
m.horizontal = "center"; | ||
if (b.my[1] === "bottom") { | ||
z.top -= j; | ||
} else if (b.my[1] === "center") { | ||
z.top -= j / 2; | ||
} | ||
z.left += A[0]; | ||
z.top += A[1]; | ||
e = { | ||
marginLeft: m, | ||
marginTop: r | ||
}; | ||
a.each([ "left", "top" ], function(c, d) { | ||
if (a.ui.pos[v[c]]) { | ||
a.ui.pos[v[c]][d](z, { | ||
targetWidth: n, | ||
targetHeight: o, | ||
elemWidth: h, | ||
elemHeight: j, | ||
collisionPosition: e, | ||
collisionWidth: x, | ||
collisionHeight: y, | ||
offset: [ i[0] + A[0], i[1] + A[1] ], | ||
my: b.my, | ||
at: b.at, | ||
within: t, | ||
elem: g | ||
}); | ||
} | ||
if (p < l && e(g + h) < p) { | ||
m.vertical = "middle"; | ||
} | ||
if (d(e(c), e(f)) > d(e(g), e(h))) { | ||
m.important = "horizontal"; | ||
} else { | ||
m.important = "vertical"; | ||
} | ||
b.using.call(this, a, m); | ||
}; | ||
} | ||
i.offset(a.extend(A, { | ||
using: h | ||
})); | ||
}); | ||
}; | ||
a.ui.pos = { | ||
_trigger: function(a, b, c, d) { | ||
if (b.elem) { | ||
b.elem.trigger({ | ||
type: c, | ||
position: a, | ||
positionData: b, | ||
triggered: d | ||
}); | ||
} | ||
}, | ||
fit: { | ||
left: function(b, c) { | ||
a.ui.pos._trigger(b, c, "posCollide", "fitLeft"); | ||
var e = c.within, f = e.isWindow ? e.scrollLeft : e.offset.left, g = e.width, h = b.left - c.collisionPosition.marginLeft, i = f - h, j = h + c.collisionWidth - g - f, k; | ||
if (c.collisionWidth > g) { | ||
if (i > 0 && j <= 0) { | ||
k = b.left + i + c.collisionWidth - g - f; | ||
b.left += i - k; | ||
} else if (j > 0 && i <= 0) { | ||
b.left = f; | ||
} else { | ||
if (i > j) { | ||
b.left = f + g - c.collisionWidth; | ||
if (b.using) { | ||
f = function(a) { | ||
var e = p.left - z.left, f = e + n - h, i = p.top - z.top, k = i + o - j, l = { | ||
target: { | ||
element: s, | ||
left: p.left, | ||
top: p.top, | ||
width: n, | ||
height: o | ||
}, | ||
element: { | ||
element: g, | ||
left: z.left, | ||
top: z.top, | ||
width: h, | ||
height: j | ||
}, | ||
horizontal: f < 0 ? "left" : e > 0 ? "right" : "center", | ||
vertical: k < 0 ? "top" : i > 0 ? "bottom" : "middle" | ||
}; | ||
if (n < h && d(e + f) < n) { | ||
l.horizontal = "center"; | ||
} | ||
if (o < j && d(i + k) < o) { | ||
l.vertical = "middle"; | ||
} | ||
if (c(d(e), d(f)) > c(d(i), d(k))) { | ||
l.important = "horizontal"; | ||
} else { | ||
b.left = f; | ||
l.important = "vertical"; | ||
} | ||
} | ||
} else if (i > 0) { | ||
b.left += i; | ||
} else if (j > 0) { | ||
b.left -= j; | ||
} else { | ||
b.left = d(b.left - h, b.left); | ||
b.using.call(this, a, l); | ||
}; | ||
} | ||
a.ui.pos._trigger(b, c, "posCollided", "fitLeft"); | ||
g.offset(a.extend(z, { | ||
using: f | ||
})); | ||
}); | ||
}; | ||
a.ui.pos = { | ||
_trigger: function(a, b, c, d) { | ||
if (b.elem) { | ||
b.elem.trigger({ | ||
type: c, | ||
position: a, | ||
positionData: b, | ||
triggered: d | ||
}); | ||
} | ||
}, | ||
top: function(b, c) { | ||
a.ui.pos._trigger(b, c, "posCollide", "fitTop"); | ||
var e = c.within, f = e.isWindow ? e.scrollTop : e.offset.top, g = c.within.height, h = b.top - c.collisionPosition.marginTop, i = f - h, j = h + c.collisionHeight - g - f, k; | ||
if (c.collisionHeight > g) { | ||
if (i > 0 && j <= 0) { | ||
k = b.top + i + c.collisionHeight - g - f; | ||
b.top += i - k; | ||
} else if (j > 0 && i <= 0) { | ||
b.top = f; | ||
fit: { | ||
left: function(b, d) { | ||
a.ui.pos._trigger(b, d, "posCollide", "fitLeft"); | ||
var e = d.within, f = e.isWindow ? e.scrollLeft : e.offset.left, g = e.width, h = b.left - d.collisionPosition.marginLeft, i = f - h, j = h + d.collisionWidth - g - f, k; | ||
if (d.collisionWidth > g) { | ||
if (i > 0 && j <= 0) { | ||
k = b.left + i + d.collisionWidth - g - f; | ||
b.left += i - k; | ||
} else if (j > 0 && i <= 0) { | ||
b.left = f; | ||
} else { | ||
if (i > j) { | ||
b.left = f + g - d.collisionWidth; | ||
} else { | ||
b.left = f; | ||
} | ||
} | ||
} else if (i > 0) { | ||
b.left += i; | ||
} else if (j > 0) { | ||
b.left -= j; | ||
} else { | ||
if (i > j) { | ||
b.top = f + g - c.collisionHeight; | ||
b.left = c(b.left - h, b.left); | ||
} | ||
a.ui.pos._trigger(b, d, "posCollided", "fitLeft"); | ||
}, | ||
top: function(b, d) { | ||
a.ui.pos._trigger(b, d, "posCollide", "fitTop"); | ||
var e = d.within, f = e.isWindow ? e.scrollTop : e.offset.top, g = d.within.height, h = b.top - d.collisionPosition.marginTop, i = f - h, j = h + d.collisionHeight - g - f, k; | ||
if (d.collisionHeight > g) { | ||
if (i > 0 && j <= 0) { | ||
k = b.top + i + d.collisionHeight - g - f; | ||
b.top += i - k; | ||
} else if (j > 0 && i <= 0) { | ||
b.top = f; | ||
} else { | ||
b.top = f; | ||
if (i > j) { | ||
b.top = f + g - d.collisionHeight; | ||
} else { | ||
b.top = f; | ||
} | ||
} | ||
} else if (i > 0) { | ||
b.top += i; | ||
} else if (j > 0) { | ||
b.top -= j; | ||
} else { | ||
b.top = c(b.top - h, b.top); | ||
} | ||
} else if (i > 0) { | ||
b.top += i; | ||
} else if (j > 0) { | ||
b.top -= j; | ||
} else { | ||
b.top = d(b.top - h, b.top); | ||
a.ui.pos._trigger(b, d, "posCollided", "fitTop"); | ||
} | ||
a.ui.pos._trigger(b, c, "posCollided", "fitTop"); | ||
} | ||
}, | ||
flip: { | ||
left: function(b, c) { | ||
a.ui.pos._trigger(b, c, "posCollide", "flipLeft"); | ||
var d = c.within, f = d.offset.left + d.scrollLeft, g = d.width, h = d.isWindow ? d.scrollLeft : d.offset.left, i = b.left - c.collisionPosition.marginLeft, j = i - h, k = i + c.collisionWidth - g - h, l = c.my[0] === "left" ? -c.elemWidth : c.my[0] === "right" ? c.elemWidth : 0, m = c.at[0] === "left" ? c.targetWidth : c.at[0] === "right" ? -c.targetWidth : 0, n = -2 * c.offset[0], o, p; | ||
if (j < 0) { | ||
o = b.left + l + m + n + c.collisionWidth - g - f; | ||
if (o < 0 || o < e(j)) { | ||
b.left += l + m + n; | ||
}, | ||
flip: { | ||
left: function(b, c) { | ||
a.ui.pos._trigger(b, c, "posCollide", "flipLeft"); | ||
var e = c.within, f = e.offset.left + e.scrollLeft, g = e.width, h = e.isWindow ? e.scrollLeft : e.offset.left, i = b.left - c.collisionPosition.marginLeft, j = i - h, k = i + c.collisionWidth - g - h, l = c.my[0] === "left" ? -c.elemWidth : c.my[0] === "right" ? c.elemWidth : 0, m = c.at[0] === "left" ? c.targetWidth : c.at[0] === "right" ? -c.targetWidth : 0, n = -2 * c.offset[0], o, p; | ||
if (j < 0) { | ||
o = b.left + l + m + n + c.collisionWidth - g - f; | ||
if (o < 0 || o < d(j)) { | ||
b.left += l + m + n; | ||
} | ||
} else if (k > 0) { | ||
p = b.left - c.collisionPosition.marginLeft + l + m + n - h; | ||
if (p > 0 || d(p) < k) { | ||
b.left += l + m + n; | ||
} | ||
} | ||
} else if (k > 0) { | ||
p = b.left - c.collisionPosition.marginLeft + l + m + n - h; | ||
if (p > 0 || e(p) < k) { | ||
b.left += l + m + n; | ||
a.ui.pos._trigger(b, c, "posCollided", "flipLeft"); | ||
}, | ||
top: function(b, c) { | ||
a.ui.pos._trigger(b, c, "posCollide", "flipTop"); | ||
var e = c.within, f = e.offset.top + e.scrollTop, g = e.height, h = e.isWindow ? e.scrollTop : e.offset.top, i = b.top - c.collisionPosition.marginTop, j = i - h, k = i + c.collisionHeight - g - h, l = c.my[1] === "top", m = l ? -c.elemHeight : c.my[1] === "bottom" ? c.elemHeight : 0, n = c.at[1] === "top" ? c.targetHeight : c.at[1] === "bottom" ? -c.targetHeight : 0, o = -2 * c.offset[1], p, q; | ||
if (j < 0) { | ||
q = b.top + m + n + o + c.collisionHeight - g - f; | ||
if (q < 0 || q < d(j)) { | ||
b.top += m + n + o; | ||
} | ||
} else if (k > 0) { | ||
p = b.top - c.collisionPosition.marginTop + m + n + o - h; | ||
if (p > 0 || d(p) < k) { | ||
b.top += m + n + o; | ||
} | ||
} | ||
a.ui.pos._trigger(b, c, "posCollided", "flipTop"); | ||
} | ||
a.ui.pos._trigger(b, c, "posCollided", "flipLeft"); | ||
}, | ||
top: function(b, c) { | ||
a.ui.pos._trigger(b, c, "posCollide", "flipTop"); | ||
var d = c.within, f = d.offset.top + d.scrollTop, g = d.height, h = d.isWindow ? d.scrollTop : d.offset.top, i = b.top - c.collisionPosition.marginTop, j = i - h, k = i + c.collisionHeight - g - h, l = c.my[1] === "top", m = l ? -c.elemHeight : c.my[1] === "bottom" ? c.elemHeight : 0, n = c.at[1] === "top" ? c.targetHeight : c.at[1] === "bottom" ? -c.targetHeight : 0, o = -2 * c.offset[1], p, q; | ||
if (j < 0) { | ||
q = b.top + m + n + o + c.collisionHeight - g - f; | ||
if (b.top + m + n + o > j && (q < 0 || q < e(j))) { | ||
b.top += m + n + o; | ||
} | ||
} else if (k > 0) { | ||
p = b.top - c.collisionPosition.marginTop + m + n + o - h; | ||
if (b.top + m + n + o > k && (p > 0 || e(p) < k)) { | ||
b.top += m + n + o; | ||
} | ||
flipfit: { | ||
left: function() { | ||
a.ui.pos.flip.left.apply(this, arguments); | ||
a.ui.pos.fit.left.apply(this, arguments); | ||
}, | ||
top: function() { | ||
a.ui.pos.flip.top.apply(this, arguments); | ||
a.ui.pos.fit.top.apply(this, arguments); | ||
} | ||
a.ui.pos._trigger(b, c, "posCollided", "flipTop"); | ||
} | ||
}, | ||
flipfit: { | ||
left: function() { | ||
a.ui.pos.flip.left.apply(this, arguments); | ||
a.ui.pos.fit.left.apply(this, arguments); | ||
}, | ||
top: function() { | ||
a.ui.pos.flip.top.apply(this, arguments); | ||
a.ui.pos.fit.top.apply(this, arguments); | ||
}; | ||
(function() { | ||
var b, c, d, e, f, g = document.getElementsByTagName("body")[0], h = document.createElement("div"); | ||
b = document.createElement(g ? "div" : "body"); | ||
d = { | ||
visibility: "hidden", | ||
width: 0, | ||
height: 0, | ||
border: 0, | ||
margin: 0, | ||
background: "none" | ||
}; | ||
if (g) { | ||
a.extend(d, { | ||
position: "absolute", | ||
left: "-1000px", | ||
top: "-1000px" | ||
}); | ||
} | ||
} | ||
}; | ||
(function() { | ||
var b, c, d, e, f, g = document.getElementsByTagName("body")[0], h = document.createElement("div"); | ||
b = document.createElement(g ? "div" : "body"); | ||
d = { | ||
visibility: "hidden", | ||
width: 0, | ||
height: 0, | ||
border: 0, | ||
margin: 0, | ||
background: "none" | ||
}; | ||
if (g) { | ||
a.extend(d, { | ||
position: "absolute", | ||
left: "-1000px", | ||
top: "-1000px" | ||
}); | ||
} | ||
for (f in d) { | ||
b.style[f] = d[f]; | ||
} | ||
b.appendChild(h); | ||
c = g || document.documentElement; | ||
c.insertBefore(b, c.firstChild); | ||
h.style.cssText = "position: absolute; left: 10.7432222px;"; | ||
e = a(h).offset().left; | ||
a.support.offsetFractions = e > 10 && e < 11; | ||
b.innerHTML = ""; | ||
c.removeChild(b); | ||
for (f in d) { | ||
b.style[f] = d[f]; | ||
} | ||
b.appendChild(h); | ||
c = g || document.documentElement; | ||
c.insertBefore(b, c.firstChild); | ||
h.style.cssText = "position: absolute; left: 10.7432222px;"; | ||
e = a(h).offset().left; | ||
a.support.offsetFractions = e > 10 && e < 11; | ||
b.innerHTML = ""; | ||
c.removeChild(b); | ||
})(); | ||
})(); | ||
})(jQuery); | ||
var c = a.ui.position; | ||
}); | ||
@@ -349,0 +355,0 @@ (function(a) { |
@@ -1,2 +0,1 @@ | ||
!function(a,b){function c(a,b,c){return[parseFloat(a[0])*(n.test(a[0])?b/100:1),parseFloat(a[1])*(n.test(a[1])?c/100:1)]}function d(b,c){return parseInt(a.css(b,c),10)||0}function e(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}a.ui=a.ui||{};var f,g=Math.max,h=Math.abs,i=Math.round,j=/left|center|right/,k=/top|center|bottom/,l=/[\+\-]\d+(\.[\d]+)?%?/,m=/^\w+/,n=/%$/,o=a.fn.pos;a.pos={scrollbarWidth:function(){if(f!==b)return f;var c,d,e=a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),g=e.children()[0];return a("body").append(e),c=g.offsetWidth,e.css("overflow","scroll"),d=g.offsetWidth,c===d&&(d=e[0].clientWidth),e.remove(),f=c-d},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth,f="scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight;return{width:f?a.pos.scrollbarWidth():0,height:e?a.pos.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]),e=!!c[0]&&9===c[0].nodeType;return{element:c,isWindow:d,isDocument:e,offset:c.offset()||{left:0,top:0},scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:d?c.width():c.outerWidth(),height:d?c.height():c.outerHeight()}}},a.fn.pos=function(b){if(!b||!b.of)return o.apply(this,arguments);b=a.extend({},b);var f,n,p,q,r,s,t=a(b.of),u=a.pos.getWithinInfo(b.within),v=a.pos.getScrollInfo(u),w=(b.collision||"flip").split(" "),x={};return s=e(t),t[0].preventDefault&&(b.at="left top"),n=s.width,p=s.height,q=s.offset,r=a.extend({},q),a.each(["my","at"],function(){var a,c,d=(b[this]||"").split(" ");1===d.length&&(d=j.test(d[0])?d.concat(["center"]):k.test(d[0])?["center"].concat(d):["center","center"]),d[0]=j.test(d[0])?d[0]:"center",d[1]=k.test(d[1])?d[1]:"center",a=l.exec(d[0]),c=l.exec(d[1]),x[this]=[a?a[0]:0,c?c[0]:0],b[this]=[m.exec(d[0])[0],m.exec(d[1])[0]]}),1===w.length&&(w[1]=w[0]),"right"===b.at[0]?r.left+=n:"center"===b.at[0]&&(r.left+=n/2),"bottom"===b.at[1]?r.top+=p:"center"===b.at[1]&&(r.top+=p/2),f=c(x.at,n,p),r.left+=f[0],r.top+=f[1],this.each(function(){var e,j,k=a(this),l=k.outerWidth(),m=k.outerHeight(),o=d(this,"marginLeft"),s=d(this,"marginTop"),y=l+o+d(this,"marginRight")+v.width,z=m+s+d(this,"marginBottom")+v.height,A=a.extend({},r),B=c(x.my,k.outerWidth(),k.outerHeight());"right"===b.my[0]?A.left-=l:"center"===b.my[0]&&(A.left-=l/2),"bottom"===b.my[1]?A.top-=m:"center"===b.my[1]&&(A.top-=m/2),A.left+=B[0],A.top+=B[1],a.support.offsetFractions||(A.left=i(A.left),A.top=i(A.top)),e={marginLeft:o,marginTop:s},a.each(["left","top"],function(c,d){a.ui.pos[w[c]]&&a.ui.pos[w[c]][d](A,{targetWidth:n,targetHeight:p,elemWidth:l,elemHeight:m,collisionPosition:e,collisionWidth:y,collisionHeight:z,offset:[f[0]+B[0],f[1]+B[1]],my:b.my,at:b.at,within:u,elem:k})}),b.using&&(j=function(a){var c=q.left-A.left,d=c+n-l,e=q.top-A.top,f=e+p-m,i={target:{element:t,left:q.left,top:q.top,width:n,height:p},element:{element:k,left:A.left,top:A.top,width:l,height:m},horizontal:d<0?"left":c>0?"right":"center",vertical:f<0?"top":e>0?"bottom":"middle"};n<l&&h(c+d)<n&&(i.horizontal="center"),p<m&&h(e+f)<p&&(i.vertical="middle"),g(h(c),h(d))>g(h(e),h(f))?i.important="horizontal":i.important="vertical",b.using.call(this,a,i)}),k.offset(a.extend(A,{using:j}))})},a.ui.pos={_trigger:function(a,b,c,d){b.elem&&b.elem.trigger({type:c,position:a,positionData:b,triggered:d})},fit:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitLeft");var d,e=c.within,f=e.isWindow?e.scrollLeft:e.offset.left,h=e.width,i=b.left-c.collisionPosition.marginLeft,j=f-i,k=i+c.collisionWidth-h-f;c.collisionWidth>h?j>0&&k<=0?(d=b.left+j+c.collisionWidth-h-f,b.left+=j-d):k>0&&j<=0?b.left=f:j>k?b.left=f+h-c.collisionWidth:b.left=f:j>0?b.left+=j:k>0?b.left-=k:b.left=g(b.left-i,b.left),a.ui.pos._trigger(b,c,"posCollided","fitLeft")},top:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitTop");var d,e=c.within,f=e.isWindow?e.scrollTop:e.offset.top,h=c.within.height,i=b.top-c.collisionPosition.marginTop,j=f-i,k=i+c.collisionHeight-h-f;c.collisionHeight>h?j>0&&k<=0?(d=b.top+j+c.collisionHeight-h-f,b.top+=j-d):k>0&&j<=0?b.top=f:j>k?b.top=f+h-c.collisionHeight:b.top=f:j>0?b.top+=j:k>0?b.top-=k:b.top=g(b.top-i,b.top),a.ui.pos._trigger(b,c,"posCollided","fitTop")}},flip:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","flipLeft");var d,e,f=c.within,g=f.offset.left+f.scrollLeft,i=f.width,j=f.isWindow?f.scrollLeft:f.offset.left,k=b.left-c.collisionPosition.marginLeft,l=k-j,m=k+c.collisionWidth-i-j,n="left"===c.my[0]?-c.elemWidth:"right"===c.my[0]?c.elemWidth:0,o="left"===c.at[0]?c.targetWidth:"right"===c.at[0]?-c.targetWidth:0,p=-2*c.offset[0];l<0?(d=b.left+n+o+p+c.collisionWidth-i-g,(d<0||d<h(l))&&(b.left+=n+o+p)):m>0&&(e=b.left-c.collisionPosition.marginLeft+n+o+p-j,(e>0||h(e)<m)&&(b.left+=n+o+p)),a.ui.pos._trigger(b,c,"posCollided","flipLeft")},top:function(b,c){a.ui.pos._trigger(b,c,"posCollide","flipTop");var d,e,f=c.within,g=f.offset.top+f.scrollTop,i=f.height,j=f.isWindow?f.scrollTop:f.offset.top,k=b.top-c.collisionPosition.marginTop,l=k-j,m=k+c.collisionHeight-i-j,n="top"===c.my[1],o=n?-c.elemHeight:"bottom"===c.my[1]?c.elemHeight:0,p="top"===c.at[1]?c.targetHeight:"bottom"===c.at[1]?-c.targetHeight:0,q=-2*c.offset[1];l<0?(e=b.top+o+p+q+c.collisionHeight-i-g,b.top+o+p+q>l&&(e<0||e<h(l))&&(b.top+=o+p+q)):m>0&&(d=b.top-c.collisionPosition.marginTop+o+p+q-j,b.top+o+p+q>m&&(d>0||h(d)<m)&&(b.top+=o+p+q)),a.ui.pos._trigger(b,c,"posCollided","flipTop")}},flipfit:{left:function(){a.ui.pos.flip.left.apply(this,arguments),a.ui.pos.fit.left.apply(this,arguments)},top:function(){a.ui.pos.flip.top.apply(this,arguments),a.ui.pos.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,f,g=document.getElementsByTagName("body")[0],h=document.createElement("div");b=document.createElement(g?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},g&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(f in d)b.style[f]=d[f];b.appendChild(h),c=g||document.documentElement,c.insertBefore(b,c.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",e=a(h).offset().left,a.support.offsetFractions=e>10&&e<11,b.innerHTML="",c.removeChild(b)}()}(jQuery),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):window.jQuery&&!window.jQuery.fn.iconpicker&&a(window.jQuery)}(function(a){"use strict";var b={isEmpty:function(a){return a===!1||""===a||null===a||void 0===a},isEmptyObject:function(a){return this.isEmpty(a)===!0||0===a.length},isElement:function(b){return a(b).length>0},isString:function(a){return"string"==typeof a||a instanceof String},isArray:function(b){return a.isArray(b)},inArray:function(b,c){return a.inArray(b,c)!==-1},throwError:function(a){throw"Font Awesome Icon Picker Exception: "+a}},c=function(d,e){this._id=c._idCounter++,this.element=a(d).addClass("iconpicker-element"),this._trigger("iconpickerCreate"),this.options=a.extend({},c.defaultOptions,this.element.data(),e),this.options.templates=a.extend({},c.defaultOptions.templates,this.options.templates),this.options.originalPlacement=this.options.placement,this.container=!!b.isElement(this.options.container)&&a(this.options.container),this.container===!1&&(this.element.is(".dropdown-toggle")?this.container=a("~ .dropdown-menu:first",this.element):this.container=this.element.is("input,textarea,button,.btn")?this.element.parent():this.element),this.container.addClass("iconpicker-container"),this.isDropdownMenu()&&(this.options.templates.search=!1,this.options.templates.buttons=!1,this.options.placement="inline"),this.input=!!this.element.is("input,textarea")&&this.element.addClass("iconpicker-input"),this.input===!1&&(this.input=this.container.find(this.options.input),this.input.is("input,textarea")||(this.input=!1)),this.component=this.isDropdownMenu()?this.container.parent().find(this.options.component):this.container.find(this.options.component),0===this.component.length?this.component=!1:this.component.find("i").addClass("iconpicker-component"),this._createPopover(),this._createIconpicker(),0===this.getAcceptButton().length&&(this.options.mustAccept=!1),this.isInputGroup()?this.container.parent().append(this.popover):this.container.append(this.popover),this._bindElementEvents(),this._bindWindowEvents(),this.update(this.options.selected),this.isInline()&&this.show(),this._trigger("iconpickerCreated")};c._idCounter=0,c.defaultOptions={title:!1,selected:!1,defaultValue:!1,placement:"bottom",collision:"none",animation:!0,hideOnSelect:!1,showFooter:!1,searchInFooter:!1,mustAccept:!1,selectedCustomClass:"bg-primary",icons:[],fullClassFormatter:function(a){return"fa "+a},input:"input,.iconpicker-input",inputSearch:!1,container:!1,component:".input-group-addon,.iconpicker-component",templates:{popover:'<div class="iconpicker-popover popover"><div class="arrow"></div><div class="popover-title"></div><div class="popover-content"></div></div>',footer:'<div class="popover-footer"></div>',buttons:'<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">Cancel</button> <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',search:'<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',iconpicker:'<div class="iconpicker"><div class="iconpicker-items"></div></div>',iconpickerItem:'<a role="button" href="#" class="iconpicker-item"><i></i></a>'}},c.batch=function(b,c){var d=Array.prototype.slice.call(arguments,2);return a(b).each(function(){var b=a(this).data("iconpicker");b&&b[c].apply(b,d)})},c.prototype={constructor:c,options:{},_id:0,_trigger:function(b,c){c=c||{},this.element.trigger(a.extend({type:b,iconpickerInstance:this},c))},_createPopover:function(){this.popover=a(this.options.templates.popover);var c=this.popover.find(".popover-title");if(this.options.title&&c.append(a('<div class="popover-title-text">'+this.options.title+"</div>")),this.hasSeparatedSearchInput()&&!this.options.searchInFooter?c.append(this.options.templates.search):this.options.title||c.remove(),this.options.showFooter&&!b.isEmpty(this.options.templates.footer)){var d=a(this.options.templates.footer);this.hasSeparatedSearchInput()&&this.options.searchInFooter&&d.append(a(this.options.templates.search)),b.isEmpty(this.options.templates.buttons)||d.append(a(this.options.templates.buttons)),this.popover.append(d)}return this.options.animation===!0&&this.popover.addClass("fade"),this.popover},_createIconpicker:function(){var b=this;this.iconpicker=a(this.options.templates.iconpicker);var c=function(c){var d=a(this);return d.is("i")&&(d=d.parent()),b._trigger("iconpickerSelect",{iconpickerItem:d,iconpickerValue:b.iconpickerValue}),b.options.mustAccept===!1?(b.update(d.data("iconpickerValue")),b._trigger("iconpickerSelected",{iconpickerItem:this,iconpickerValue:b.iconpickerValue})):b.update(d.data("iconpickerValue"),!0),b.options.hideOnSelect&&b.options.mustAccept===!1&&b.hide(),c.preventDefault(),!1};for(var d in this.options.icons)if("string"==typeof this.options.icons[d]){var e=a(this.options.templates.iconpickerItem);e.find("i").addClass(this.options.fullClassFormatter(this.options.icons[d])),e.data("iconpickerValue",this.options.icons[d]).on("click.iconpicker",c),this.iconpicker.find(".iconpicker-items").append(e.attr("title","."+this.options.icons[d]))}return this.popover.find(".popover-content").append(this.iconpicker),this.iconpicker},_isEventInsideIconpicker:function(b){var c=a(b.target);return!((!c.hasClass("iconpicker-element")||c.hasClass("iconpicker-element")&&!c.is(this.element))&&0===c.parents(".iconpicker-popover").length)},_bindElementEvents:function(){var c=this;this.getSearchInput().on("keyup.iconpicker",function(){c.filter(a(this).val().toLowerCase())}),this.getAcceptButton().on("click.iconpicker",function(){var a=c.iconpicker.find(".iconpicker-selected").get(0);c.update(c.iconpickerValue),c._trigger("iconpickerSelected",{iconpickerItem:a,iconpickerValue:c.iconpickerValue}),c.isInline()||c.hide()}),this.getCancelButton().on("click.iconpicker",function(){c.isInline()||c.hide()}),this.element.on("focus.iconpicker",function(a){c.show(),a.stopPropagation()}),this.hasComponent()&&this.component.on("click.iconpicker",function(){c.toggle()}),this.hasInput()&&this.input.on("keyup.iconpicker",function(d){b.inArray(d.keyCode,[38,40,37,39,16,17,18,9,8,91,93,20,46,186,190,46,78,188,44,86])?c._updateFormGroupStatus(c.getValid(this.value)!==!1):c.update(),c.options.inputSearch===!0&&c.filter(a(this).val().toLowerCase())})},_bindWindowEvents:function(){var b=a(window.document),c=this,d=".iconpicker.inst"+this._id;return a(window).on("resize.iconpicker"+d+" orientationchange.iconpicker"+d,function(a){c.popover.hasClass("in")&&c.updatePlacement()}),c.isInline()||b.on("mouseup"+d,function(a){return c._isEventInsideIconpicker(a)||c.isInline()||c.hide(),a.stopPropagation(),a.preventDefault(),!1}),!1},_unbindElementEvents:function(){this.popover.off(".iconpicker"),this.element.off(".iconpicker"),this.hasInput()&&this.input.off(".iconpicker"),this.hasComponent()&&this.component.off(".iconpicker"),this.hasContainer()&&this.container.off(".iconpicker")},_unbindWindowEvents:function(){a(window).off(".iconpicker.inst"+this._id),a(window.document).off(".iconpicker.inst"+this._id)},updatePlacement:function(b,c){b=b||this.options.placement,this.options.placement=b,c=c||this.options.collision,c=c===!0?"flip":c;var d={at:"right bottom",my:"right top",of:this.hasInput()&&!this.isInputGroup()?this.input:this.container,collision:c===!0?"flip":c,within:window};if(this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner rightTop right rightBottom bottomRight bottomRightCorner bottom bottomLeft bottomLeftCorner leftBottom left leftTop"),"object"==typeof b)return this.popover.pos(a.extend({},d,b));switch(b){case"inline":d=!1;break;case"topLeftCorner":d.my="right bottom",d.at="left top";break;case"topLeft":d.my="left bottom",d.at="left top";break;case"top":d.my="center bottom",d.at="center top";break;case"topRight":d.my="right bottom",d.at="right top";break;case"topRightCorner":d.my="left bottom",d.at="right top";break;case"rightTop":d.my="left bottom",d.at="right center";break;case"right":d.my="left center",d.at="right center";break;case"rightBottom":d.my="left top",d.at="right center";break;case"bottomRightCorner":d.my="left top",d.at="right bottom";break;case"bottomRight":d.my="right top",d.at="right bottom";break;case"bottom":d.my="center top",d.at="center bottom";break;case"bottomLeft":d.my="left top",d.at="left bottom";break;case"bottomLeftCorner":d.my="right top",d.at="left bottom";break;case"leftBottom":d.my="right top",d.at="left center";break;case"left":d.my="right center",d.at="left center";break;case"leftTop":d.my="right bottom",d.at="left center";break;default:return!1}return this.popover.css({display:"inline"===this.options.placement?"":"block"}),d!==!1?this.popover.pos(d).css("maxWidth",a(window).width()-this.container.offset().left-5):this.popover.css({top:"auto",right:"auto",bottom:"auto",left:"auto",maxWidth:"none"}),this.popover.addClass(this.options.placement),!0},_updateComponents:function(){if(this.iconpicker.find(".iconpicker-item.iconpicker-selected").removeClass("iconpicker-selected "+this.options.selectedCustomClass),this.iconpickerValue&&this.iconpicker.find("."+this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g,".")).parent().addClass("iconpicker-selected "+this.options.selectedCustomClass),this.hasComponent()){var a=this.component.find("i");a.length>0?a.attr("class",this.options.fullClassFormatter(this.iconpickerValue)):this.component.html(this.getHtml())}},_updateFormGroupStatus:function(a){return!!this.hasInput()&&(a!==!1?this.input.parents(".form-group:first").removeClass("has-error"):this.input.parents(".form-group:first").addClass("has-error"),!0)},getValid:function(c){b.isString(c)||(c="");var d=""===c;return c=a.trim(c),!(!b.inArray(c,this.options.icons)&&!d)&&c},setValue:function(a){var b=this.getValid(a);return b!==!1?(this.iconpickerValue=b,this._trigger("iconpickerSetValue",{iconpickerValue:b}),this.iconpickerValue):(this._trigger("iconpickerInvalid",{iconpickerValue:a}),!1)},getHtml:function(){return'<i class="'+this.options.fullClassFormatter(this.iconpickerValue)+'"></i>'},setSourceValue:function(a){return a=this.setValue(a),a!==!1&&""!==a&&(this.hasInput()?this.input.val(this.iconpickerValue):this.element.data("iconpickerValue",this.iconpickerValue),this._trigger("iconpickerSetSourceValue",{iconpickerValue:a})),a},getSourceValue:function(a){a=a||this.options.defaultValue;var b=a;return b=this.hasInput()?this.input.val():this.element.data("iconpickerValue"),void 0!==b&&""!==b&&null!==b&&b!==!1||(b=a),b},hasInput:function(){return this.input!==!1},isInputSearch:function(){return this.hasInput()&&this.options.inputSearch===!0},isInputGroup:function(){return this.container.is(".input-group")},isDropdownMenu:function(){return this.container.is(".dropdown-menu")},hasSeparatedSearchInput:function(){return this.options.templates.search!==!1&&!this.isInputSearch()},hasComponent:function(){return this.component!==!1},hasContainer:function(){return this.container!==!1},getAcceptButton:function(){return this.popover.find(".iconpicker-btn-accept")},getCancelButton:function(){return this.popover.find(".iconpicker-btn-cancel")},getSearchInput:function(){return this.popover.find(".iconpicker-search")},filter:function(c){if(b.isEmpty(c))return this.iconpicker.find(".iconpicker-item").show(),a(!1);var d=[];return this.iconpicker.find(".iconpicker-item").each(function(){var b=a(this),e=b.attr("title").toLowerCase(),f=!1;try{f=new RegExp(c,"g")}catch(a){f=!1}f!==!1&&e.match(f)?(d.push(b),b.show()):b.hide()}),d},show:function(){return!this.popover.hasClass("in")&&(a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover),"hide"),this._trigger("iconpickerShow"),this.updatePlacement(),this.popover.addClass("in"),void setTimeout(a.proxy(function(){this.popover.css("display",this.isInline()?"":"block"),this._trigger("iconpickerShown")},this),this.options.animation?300:1))},hide:function(){return!!this.popover.hasClass("in")&&(this._trigger("iconpickerHide"),this.popover.removeClass("in"),void setTimeout(a.proxy(function(){this.popover.css("display","none"),this.getSearchInput().val(""),this.filter(""),this._trigger("iconpickerHidden")},this),this.options.animation?300:1))},toggle:function(){this.popover.is(":visible")?this.hide():this.show(!0)},update:function(a,b){return a=a?a:this.getSourceValue(this.iconpickerValue),this._trigger("iconpickerUpdate"),b===!0?a=this.setValue(a):(a=this.setSourceValue(a),this._updateFormGroupStatus(a!==!1)),a!==!1&&this._updateComponents(),this._trigger("iconpickerUpdated"),a},destroy:function(){this._trigger("iconpickerDestroy"),this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"),this._unbindElementEvents(),this._unbindWindowEvents(),a(this.popover).remove(),this._trigger("iconpickerDestroyed")},disable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!0),!0)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),!0)},isDisabled:function(){return!!this.hasInput()&&this.input.prop("disabled")===!0},isInline:function(){return"inline"===this.options.placement||this.popover.hasClass("inline")}},a.iconpicker=c,a.fn.iconpicker=function(b){return this.each(function(){var d=a(this);d.data("iconpicker")||d.data("iconpicker",new c(this,"object"==typeof b?b:{}))})},c.defaultOptions.icons=["fa-500px","fa-address-book","fa-address-book-o","fa-address-card","fa-address-card-o","fa-adjust","fa-adn","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-amazon","fa-ambulance","fa-american-sign-language-interpreting","fa-anchor","fa-android","fa-angellist","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-apple","fa-archive","fa-area-chart","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-o-down","fa-arrow-circle-o-left","fa-arrow-circle-o-right","fa-arrow-circle-o-up","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows","fa-arrows-alt","fa-arrows-h","fa-arrows-v","fa-asl-interpreting","fa-assistive-listening-systems","fa-asterisk","fa-at","fa-audio-description","fa-automobile","fa-backward","fa-balance-scale","fa-ban","fa-bandcamp","fa-bank","fa-bar-chart","fa-bar-chart-o","fa-barcode","fa-bars","fa-bath","fa-bathtub","fa-battery","fa-battery-0","fa-battery-1","fa-battery-2","fa-battery-3","fa-battery-4","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bed","fa-beer","fa-behance","fa-behance-square","fa-bell","fa-bell-o","fa-bell-slash","fa-bell-slash-o","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-bitbucket","fa-bitbucket-square","fa-bitcoin","fa-black-tie","fa-blind","fa-bluetooth","fa-bluetooth-b","fa-bold","fa-bolt","fa-bomb","fa-book","fa-bookmark","fa-bookmark-o","fa-braille","fa-briefcase","fa-btc","fa-bug","fa-building","fa-building-o","fa-bullhorn","fa-bullseye","fa-bus","fa-buysellads","fa-cab","fa-calculator","fa-calendar","fa-calendar-check-o","fa-calendar-minus-o","fa-calendar-o","fa-calendar-plus-o","fa-calendar-times-o","fa-camera","fa-camera-retro","fa-car","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-o-down","fa-caret-square-o-left","fa-caret-square-o-right","fa-caret-square-o-up","fa-caret-up","fa-cart-arrow-down","fa-cart-plus","fa-cc","fa-cc-amex","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-chain","fa-chain-broken","fa-check","fa-check-circle","fa-check-circle-o","fa-check-square","fa-check-square-o","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-child","fa-chrome","fa-circle","fa-circle-o","fa-circle-o-notch","fa-circle-thin","fa-clipboard","fa-clock-o","fa-clone","fa-close","fa-cloud","fa-cloud-download","fa-cloud-upload","fa-cny","fa-code","fa-code-fork","fa-codepen","fa-codiepie","fa-coffee","fa-cog","fa-cogs","fa-columns","fa-comment","fa-comment-o","fa-commenting","fa-commenting-o","fa-comments","fa-comments-o","fa-compass","fa-compress","fa-connectdevelop","fa-contao","fa-copy","fa-copyright","fa-creative-commons","fa-credit-card","fa-credit-card-alt","fa-crop","fa-crosshairs","fa-css3","fa-cube","fa-cubes","fa-cut","fa-cutlery","fa-dashboard","fa-dashcube","fa-database","fa-deaf","fa-deafness","fa-dedent","fa-delicious","fa-desktop","fa-deviantart","fa-diamond","fa-digg","fa-dollar","fa-dot-circle-o","fa-download","fa-dribbble","fa-drivers-license","fa-drivers-license-o","fa-dropbox","fa-drupal","fa-edge","fa-edit","fa-eercast","fa-eject","fa-ellipsis-h","fa-ellipsis-v","fa-empire","fa-envelope","fa-envelope-o","fa-envelope-open","fa-envelope-open-o","fa-envelope-square","fa-envira","fa-eraser","fa-etsy","fa-eur","fa-euro","fa-exchange","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-expand","fa-expeditedssl","fa-external-link","fa-external-link-square","fa-eye","fa-eye-slash","fa-eyedropper","fa-fa","fa-facebook","fa-facebook-f","fa-facebook-official","fa-facebook-square","fa-fast-backward","fa-fast-forward","fa-fax","fa-feed","fa-female","fa-fighter-jet","fa-file","fa-file-archive-o","fa-file-audio-o","fa-file-code-o","fa-file-excel-o","fa-file-image-o","fa-file-movie-o","fa-file-o","fa-file-pdf-o","fa-file-photo-o","fa-file-picture-o","fa-file-powerpoint-o","fa-file-sound-o","fa-file-text","fa-file-text-o","fa-file-video-o","fa-file-word-o","fa-file-zip-o","fa-files-o","fa-film","fa-filter","fa-fire","fa-fire-extinguisher","fa-firefox","fa-first-order","fa-flag","fa-flag-checkered","fa-flag-o","fa-flash","fa-flask","fa-flickr","fa-floppy-o","fa-folder","fa-folder-o","fa-folder-open","fa-folder-open-o","fa-font","fa-font-awesome","fa-fonticons","fa-fort-awesome","fa-forumbee","fa-forward","fa-foursquare","fa-free-code-camp","fa-frown-o","fa-futbol-o","fa-gamepad","fa-gavel","fa-gbp","fa-ge","fa-gear","fa-gears","fa-genderless","fa-get-pocket","fa-gg","fa-gg-circle","fa-gift","fa-git","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitlab","fa-gittip","fa-glass","fa-glide","fa-glide-g","fa-globe","fa-google","fa-google-plus","fa-google-plus-circle","fa-google-plus-official","fa-google-plus-square","fa-google-wallet","fa-graduation-cap","fa-gratipay","fa-grav","fa-group","fa-h-square","fa-hacker-news","fa-hand-grab-o","fa-hand-lizard-o","fa-hand-o-down","fa-hand-o-left","fa-hand-o-right","fa-hand-o-up","fa-hand-paper-o","fa-hand-peace-o","fa-hand-pointer-o","fa-hand-rock-o","fa-hand-scissors-o","fa-hand-spock-o","fa-hand-stop-o","fa-handshake-o","fa-hard-of-hearing","fa-hashtag","fa-hdd-o","fa-header","fa-headphones","fa-heart","fa-heart-o","fa-heartbeat","fa-history","fa-home","fa-hospital-o","fa-hotel","fa-hourglass","fa-hourglass-1","fa-hourglass-2","fa-hourglass-3","fa-hourglass-end","fa-hourglass-half","fa-hourglass-o","fa-hourglass-start","fa-houzz","fa-html5","fa-i-cursor","fa-id-badge","fa-id-card","fa-id-card-o","fa-ils","fa-image","fa-imdb","fa-inbox","fa-indent","fa-industry","fa-info","fa-info-circle","fa-inr","fa-instagram","fa-institution","fa-internet-explorer","fa-intersex","fa-ioxhost","fa-italic","fa-joomla","fa-jpy","fa-jsfiddle","fa-key","fa-keyboard-o","fa-krw","fa-language","fa-laptop","fa-lastfm","fa-lastfm-square","fa-leaf","fa-leanpub","fa-legal","fa-lemon-o","fa-level-down","fa-level-up","fa-life-bouy","fa-life-buoy","fa-life-ring","fa-life-saver","fa-lightbulb-o","fa-line-chart","fa-link","fa-linkedin","fa-linkedin-square","fa-linode","fa-linux","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-location-arrow","fa-lock","fa-long-arrow-down","fa-long-arrow-left","fa-long-arrow-right","fa-long-arrow-up","fa-low-vision","fa-magic","fa-magnet","fa-mail-forward","fa-mail-reply","fa-mail-reply-all","fa-male","fa-map","fa-map-marker","fa-map-o","fa-map-pin","fa-map-signs","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-maxcdn","fa-meanpath","fa-medium","fa-medkit","fa-meetup","fa-meh-o","fa-mercury","fa-microchip","fa-microphone","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-minus-square-o","fa-mixcloud","fa-mobile","fa-mobile-phone","fa-modx","fa-money","fa-moon-o","fa-mortar-board","fa-motorcycle","fa-mouse-pointer","fa-music","fa-navicon","fa-neuter","fa-newspaper-o","fa-object-group","fa-object-ungroup","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-outdent","fa-pagelines","fa-paint-brush","fa-paper-plane","fa-paper-plane-o","fa-paperclip","fa-paragraph","fa-paste","fa-pause","fa-pause-circle","fa-pause-circle-o","fa-paw","fa-paypal","fa-pencil","fa-pencil-square","fa-pencil-square-o","fa-percent","fa-phone","fa-phone-square","fa-photo","fa-picture-o","fa-pie-chart","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-pp","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane","fa-play","fa-play-circle","fa-play-circle-o","fa-plug","fa-plus","fa-plus-circle","fa-plus-square","fa-plus-square-o","fa-podcast","fa-power-off","fa-print","fa-product-hunt","fa-puzzle-piece","fa-qq","fa-qrcode","fa-question","fa-question-circle","fa-question-circle-o","fa-quora","fa-quote-left","fa-quote-right","fa-ra","fa-random","fa-ravelry","fa-rebel","fa-recycle","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-refresh","fa-registered","fa-remove","fa-renren","fa-reorder","fa-repeat","fa-reply","fa-reply-all","fa-resistance","fa-retweet","fa-rmb","fa-road","fa-rocket","fa-rotate-left","fa-rotate-right","fa-rouble","fa-rss","fa-rss-square","fa-rub","fa-ruble","fa-rupee","fa-s15","fa-safari","fa-save","fa-scissors","fa-scribd","fa-search","fa-search-minus","fa-search-plus","fa-sellsy","fa-send","fa-send-o","fa-server","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-share-square-o","fa-shekel","fa-sheqel","fa-shield","fa-ship","fa-shirtsinbulk","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sign-in","fa-sign-language","fa-sign-out","fa-signal","fa-signing","fa-simplybuilt","fa-sitemap","fa-skyatlas","fa-skype","fa-slack","fa-sliders","fa-slideshare","fa-smile-o","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-snowflake-o","fa-soccer-ball-o","fa-sort","fa-sort-alpha-asc","fa-sort-alpha-desc","fa-sort-amount-asc","fa-sort-amount-desc","fa-sort-asc","fa-sort-desc","fa-sort-down","fa-sort-numeric-asc","fa-sort-numeric-desc","fa-sort-up","fa-soundcloud","fa-space-shuttle","fa-spinner","fa-spoon","fa-spotify","fa-square","fa-square-o","fa-stack-exchange","fa-stack-overflow","fa-star","fa-star-half","fa-star-half-empty","fa-star-half-full","fa-star-half-o","fa-star-o","fa-steam","fa-steam-square","fa-step-backward","fa-step-forward","fa-stethoscope","fa-sticky-note","fa-sticky-note-o","fa-stop","fa-stop-circle","fa-stop-circle-o","fa-street-view","fa-strikethrough","fa-stumbleupon","fa-stumbleupon-circle","fa-subscript","fa-subway","fa-suitcase","fa-sun-o","fa-superpowers","fa-superscript","fa-support","fa-table","fa-tablet","fa-tachometer","fa-tag","fa-tags","fa-tasks","fa-taxi","fa-telegram","fa-television","fa-tencent-weibo","fa-terminal","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-themeisle","fa-thermometer","fa-thermometer-0","fa-thermometer-1","fa-thermometer-2","fa-thermometer-3","fa-thermometer-4","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumb-tack","fa-thumbs-down","fa-thumbs-o-down","fa-thumbs-o-up","fa-thumbs-up","fa-ticket","fa-times","fa-times-circle","fa-times-circle-o","fa-times-rectangle","fa-times-rectangle-o","fa-tint","fa-toggle-down","fa-toggle-left","fa-toggle-off","fa-toggle-on","fa-toggle-right","fa-toggle-up","fa-trademark","fa-train","fa-transgender","fa-transgender-alt","fa-trash","fa-trash-o","fa-tree","fa-trello","fa-tripadvisor","fa-trophy","fa-truck","fa-try","fa-tty","fa-tumblr","fa-tumblr-square","fa-turkish-lira","fa-tv","fa-twitch","fa-twitter","fa-twitter-square","fa-umbrella","fa-underline","fa-undo","fa-universal-access","fa-university","fa-unlink","fa-unlock","fa-unlock-alt","fa-unsorted","fa-upload","fa-usb","fa-usd","fa-user","fa-user-circle","fa-user-circle-o","fa-user-md","fa-user-o","fa-user-plus","fa-user-secret","fa-user-times","fa-users","fa-vcard","fa-vcard-o","fa-venus","fa-venus-double","fa-venus-mars","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-video-camera","fa-vimeo","fa-vimeo-square","fa-vine","fa-vk","fa-volume-control-phone","fa-volume-down","fa-volume-off","fa-volume-up","fa-warning","fa-wechat","fa-weibo","fa-weixin","fa-whatsapp","fa-wheelchair","fa-wheelchair-alt","fa-wifi","fa-wikipedia-w","fa-window-close","fa-window-close-o","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-windows","fa-won","fa-wordpress","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wrench","fa-xing","fa-xing-square","fa-y-combinator","fa-y-combinator-square","fa-yahoo","fa-yc","fa-yc-square","fa-yelp","fa-yen","fa-yoast","fa-youtube","fa-youtube-play","fa-youtube-square"]; | ||
}); | ||
!function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.ui=a.ui||{};a.ui.version="1.12.1";!function(){function b(a,b,c){return[parseFloat(a[0])*(l.test(a[0])?b/100:1),parseFloat(a[1])*(l.test(a[1])?c/100:1)]}function c(b,c){return parseInt(a.css(b,c),10)||0}function d(b){var c=b[0];return 9===c.nodeType?{width:b.width(),height:b.height(),offset:{top:0,left:0}}:a.isWindow(c)?{width:b.width(),height:b.height(),offset:{top:b.scrollTop(),left:b.scrollLeft()}}:c.preventDefault?{width:0,height:0,offset:{top:c.pageY,left:c.pageX}}:{width:b.outerWidth(),height:b.outerHeight(),offset:b.offset()}}var e,f=Math.max,g=Math.abs,h=/left|center|right/,i=/top|center|bottom/,j=/[\+\-]\d+(\.[\d]+)?%?/,k=/^\w+/,l=/%$/,m=a.fn.pos;a.pos={scrollbarWidth:function(){if(void 0!==e)return e;var b,c,d=a("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"),f=d.children()[0];return a("body").append(d),b=f.offsetWidth,d.css("overflow","scroll"),c=f.offsetWidth,b===c&&(c=d[0].clientWidth),d.remove(),e=b-c},getScrollInfo:function(b){var c=b.isWindow||b.isDocument?"":b.element.css("overflow-x"),d=b.isWindow||b.isDocument?"":b.element.css("overflow-y"),e="scroll"===c||"auto"===c&&b.width<b.element[0].scrollWidth;return{width:"scroll"===d||"auto"===d&&b.height<b.element[0].scrollHeight?a.pos.scrollbarWidth():0,height:e?a.pos.scrollbarWidth():0}},getWithinInfo:function(b){var c=a(b||window),d=a.isWindow(c[0]),e=!!c[0]&&9===c[0].nodeType;return{element:c,isWindow:d,isDocument:e,offset:d||e?{left:0,top:0}:a(b).offset(),scrollLeft:c.scrollLeft(),scrollTop:c.scrollTop(),width:c.outerWidth(),height:c.outerHeight()}}},a.fn.pos=function(e){if(!e||!e.of)return m.apply(this,arguments);e=a.extend({},e);var l,n,o,p,q,r,s=a(e.of),t=a.pos.getWithinInfo(e.within),u=a.pos.getScrollInfo(t),v=(e.collision||"flip").split(" "),w={};return r=d(s),s[0].preventDefault&&(e.at="left top"),n=r.width,o=r.height,p=r.offset,q=a.extend({},p),a.each(["my","at"],function(){var a,b,c=(e[this]||"").split(" ");1===c.length&&(c=h.test(c[0])?c.concat(["center"]):i.test(c[0])?["center"].concat(c):["center","center"]),c[0]=h.test(c[0])?c[0]:"center",c[1]=i.test(c[1])?c[1]:"center",a=j.exec(c[0]),b=j.exec(c[1]),w[this]=[a?a[0]:0,b?b[0]:0],e[this]=[k.exec(c[0])[0],k.exec(c[1])[0]]}),1===v.length&&(v[1]=v[0]),"right"===e.at[0]?q.left+=n:"center"===e.at[0]&&(q.left+=n/2),"bottom"===e.at[1]?q.top+=o:"center"===e.at[1]&&(q.top+=o/2),l=b(w.at,n,o),q.left+=l[0],q.top+=l[1],this.each(function(){var d,h,i=a(this),j=i.outerWidth(),k=i.outerHeight(),m=c(this,"marginLeft"),r=c(this,"marginTop"),x=j+m+c(this,"marginRight")+u.width,y=k+r+c(this,"marginBottom")+u.height,z=a.extend({},q),A=b(w.my,i.outerWidth(),i.outerHeight());"right"===e.my[0]?z.left-=j:"center"===e.my[0]&&(z.left-=j/2),"bottom"===e.my[1]?z.top-=k:"center"===e.my[1]&&(z.top-=k/2),z.left+=A[0],z.top+=A[1],d={marginLeft:m,marginTop:r},a.each(["left","top"],function(b,c){a.ui.pos[v[b]]&&a.ui.pos[v[b]][c](z,{targetWidth:n,targetHeight:o,elemWidth:j,elemHeight:k,collisionPosition:d,collisionWidth:x,collisionHeight:y,offset:[l[0]+A[0],l[1]+A[1]],my:e.my,at:e.at,within:t,elem:i})}),e.using&&(h=function(a){var b=p.left-z.left,c=b+n-j,d=p.top-z.top,h=d+o-k,l={target:{element:s,left:p.left,top:p.top,width:n,height:o},element:{element:i,left:z.left,top:z.top,width:j,height:k},horizontal:c<0?"left":b>0?"right":"center",vertical:h<0?"top":d>0?"bottom":"middle"};n<j&&g(b+c)<n&&(l.horizontal="center"),o<k&&g(d+h)<o&&(l.vertical="middle"),f(g(b),g(c))>f(g(d),g(h))?l.important="horizontal":l.important="vertical",e.using.call(this,a,l)}),i.offset(a.extend(z,{using:h}))})},a.ui.pos={_trigger:function(a,b,c,d){b.elem&&b.elem.trigger({type:c,position:a,positionData:b,triggered:d})},fit:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitLeft");var d,e=c.within,g=e.isWindow?e.scrollLeft:e.offset.left,h=e.width,i=b.left-c.collisionPosition.marginLeft,j=g-i,k=i+c.collisionWidth-h-g;c.collisionWidth>h?j>0&&k<=0?(d=b.left+j+c.collisionWidth-h-g,b.left+=j-d):b.left=k>0&&j<=0?g:j>k?g+h-c.collisionWidth:g:j>0?b.left+=j:k>0?b.left-=k:b.left=f(b.left-i,b.left),a.ui.pos._trigger(b,c,"posCollided","fitLeft")},top:function(b,c){a.ui.pos._trigger(b,c,"posCollide","fitTop");var d,e=c.within,g=e.isWindow?e.scrollTop:e.offset.top,h=c.within.height,i=b.top-c.collisionPosition.marginTop,j=g-i,k=i+c.collisionHeight-h-g;c.collisionHeight>h?j>0&&k<=0?(d=b.top+j+c.collisionHeight-h-g,b.top+=j-d):b.top=k>0&&j<=0?g:j>k?g+h-c.collisionHeight:g:j>0?b.top+=j:k>0?b.top-=k:b.top=f(b.top-i,b.top),a.ui.pos._trigger(b,c,"posCollided","fitTop")}},flip:{left:function(b,c){a.ui.pos._trigger(b,c,"posCollide","flipLeft");var d,e,f=c.within,h=f.offset.left+f.scrollLeft,i=f.width,j=f.isWindow?f.scrollLeft:f.offset.left,k=b.left-c.collisionPosition.marginLeft,l=k-j,m=k+c.collisionWidth-i-j,n="left"===c.my[0]?-c.elemWidth:"right"===c.my[0]?c.elemWidth:0,o="left"===c.at[0]?c.targetWidth:"right"===c.at[0]?-c.targetWidth:0,p=-2*c.offset[0];l<0?((d=b.left+n+o+p+c.collisionWidth-i-h)<0||d<g(l))&&(b.left+=n+o+p):m>0&&((e=b.left-c.collisionPosition.marginLeft+n+o+p-j)>0||g(e)<m)&&(b.left+=n+o+p),a.ui.pos._trigger(b,c,"posCollided","flipLeft")},top:function(b,c){a.ui.pos._trigger(b,c,"posCollide","flipTop");var d,e,f=c.within,h=f.offset.top+f.scrollTop,i=f.height,j=f.isWindow?f.scrollTop:f.offset.top,k=b.top-c.collisionPosition.marginTop,l=k-j,m=k+c.collisionHeight-i-j,n="top"===c.my[1],o=n?-c.elemHeight:"bottom"===c.my[1]?c.elemHeight:0,p="top"===c.at[1]?c.targetHeight:"bottom"===c.at[1]?-c.targetHeight:0,q=-2*c.offset[1];l<0?((e=b.top+o+p+q+c.collisionHeight-i-h)<0||e<g(l))&&(b.top+=o+p+q):m>0&&((d=b.top-c.collisionPosition.marginTop+o+p+q-j)>0||g(d)<m)&&(b.top+=o+p+q),a.ui.pos._trigger(b,c,"posCollided","flipTop")}},flipfit:{left:function(){a.ui.pos.flip.left.apply(this,arguments),a.ui.pos.fit.left.apply(this,arguments)},top:function(){a.ui.pos.flip.top.apply(this,arguments),a.ui.pos.fit.top.apply(this,arguments)}}},function(){var b,c,d,e,f,g=document.getElementsByTagName("body")[0],h=document.createElement("div");b=document.createElement(g?"div":"body"),d={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"},g&&a.extend(d,{position:"absolute",left:"-1000px",top:"-1000px"});for(f in d)b.style[f]=d[f];b.appendChild(h),c=g||document.documentElement,c.insertBefore(b,c.firstChild),h.style.cssText="position: absolute; left: 10.7432222px;",e=a(h).offset().left,a.support.offsetFractions=e>10&&e<11,b.innerHTML="",c.removeChild(b)}()}();a.ui.position}),function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):window.jQuery&&!window.jQuery.fn.iconpicker&&a(window.jQuery)}(function(a){"use strict";var b={isEmpty:function(a){return!1===a||""===a||null===a||void 0===a},isEmptyObject:function(a){return!0===this.isEmpty(a)||0===a.length},isElement:function(b){return a(b).length>0},isString:function(a){return"string"==typeof a||a instanceof String},isArray:function(b){return a.isArray(b)},inArray:function(b,c){return-1!==a.inArray(b,c)},throwError:function(a){throw"Font Awesome Icon Picker Exception: "+a}},c=function(d,e){this._id=c._idCounter++,this.element=a(d).addClass("iconpicker-element"),this._trigger("iconpickerCreate"),this.options=a.extend({},c.defaultOptions,this.element.data(),e),this.options.templates=a.extend({},c.defaultOptions.templates,this.options.templates),this.options.originalPlacement=this.options.placement,this.container=!!b.isElement(this.options.container)&&a(this.options.container),!1===this.container&&(this.element.is(".dropdown-toggle")?this.container=a("~ .dropdown-menu:first",this.element):this.container=this.element.is("input,textarea,button,.btn")?this.element.parent():this.element),this.container.addClass("iconpicker-container"),this.isDropdownMenu()&&(this.options.templates.search=!1,this.options.templates.buttons=!1,this.options.placement="inline"),this.input=!!this.element.is("input,textarea")&&this.element.addClass("iconpicker-input"),!1===this.input&&(this.input=this.container.find(this.options.input),this.input.is("input,textarea")||(this.input=!1)),this.component=this.isDropdownMenu()?this.container.parent().find(this.options.component):this.container.find(this.options.component),0===this.component.length?this.component=!1:this.component.find("i").addClass("iconpicker-component"),this._createPopover(),this._createIconpicker(),0===this.getAcceptButton().length&&(this.options.mustAccept=!1),this.isInputGroup()?this.container.parent().append(this.popover):this.container.append(this.popover),this._bindElementEvents(),this._bindWindowEvents(),this.update(this.options.selected),this.isInline()&&this.show(),this._trigger("iconpickerCreated")};c._idCounter=0,c.defaultOptions={title:!1,selected:!1,defaultValue:!1,placement:"bottom",collision:"none",animation:!0,hideOnSelect:!1,showFooter:!1,searchInFooter:!1,mustAccept:!1,selectedCustomClass:"bg-primary",icons:[],fullClassFormatter:function(a){return"fa "+a},input:"input,.iconpicker-input",inputSearch:!1,container:!1,component:".input-group-addon,.iconpicker-component",templates:{popover:'<div class="iconpicker-popover popover"><div class="arrow"></div><div class="popover-title"></div><div class="popover-content"></div></div>',footer:'<div class="popover-footer"></div>',buttons:'<button class="iconpicker-btn iconpicker-btn-cancel btn btn-default btn-sm">Cancel</button> <button class="iconpicker-btn iconpicker-btn-accept btn btn-primary btn-sm">Accept</button>',search:'<input type="search" class="form-control iconpicker-search" placeholder="Type to filter" />',iconpicker:'<div class="iconpicker"><div class="iconpicker-items"></div></div>',iconpickerItem:'<a role="button" href="#" class="iconpicker-item"><i></i></a>'}},c.batch=function(b,c){var d=Array.prototype.slice.call(arguments,2);return a(b).each(function(){var b=a(this).data("iconpicker");b&&b[c].apply(b,d)})},c.prototype={constructor:c,options:{},_id:0,_trigger:function(b,c){c=c||{},this.element.trigger(a.extend({type:b,iconpickerInstance:this},c))},_createPopover:function(){this.popover=a(this.options.templates.popover);var c=this.popover.find(".popover-title");if(this.options.title&&c.append(a('<div class="popover-title-text">'+this.options.title+"</div>")),this.hasSeparatedSearchInput()&&!this.options.searchInFooter?c.append(this.options.templates.search):this.options.title||c.remove(),this.options.showFooter&&!b.isEmpty(this.options.templates.footer)){var d=a(this.options.templates.footer);this.hasSeparatedSearchInput()&&this.options.searchInFooter&&d.append(a(this.options.templates.search)),b.isEmpty(this.options.templates.buttons)||d.append(a(this.options.templates.buttons)),this.popover.append(d)}return!0===this.options.animation&&this.popover.addClass("fade"),this.popover},_createIconpicker:function(){var b=this;this.iconpicker=a(this.options.templates.iconpicker);var c=function(c){var d=a(this);return d.is("i")&&(d=d.parent()),b._trigger("iconpickerSelect",{iconpickerItem:d,iconpickerValue:b.iconpickerValue}),!1===b.options.mustAccept?(b.update(d.data("iconpickerValue")),b._trigger("iconpickerSelected",{iconpickerItem:this,iconpickerValue:b.iconpickerValue})):b.update(d.data("iconpickerValue"),!0),b.options.hideOnSelect&&!1===b.options.mustAccept&&b.hide(),c.preventDefault(),!1};for(var d in this.options.icons)if("string"==typeof this.options.icons[d]){var e=a(this.options.templates.iconpickerItem);e.find("i").addClass(this.options.fullClassFormatter(this.options.icons[d])),e.data("iconpickerValue",this.options.icons[d]).on("click.iconpicker",c),this.iconpicker.find(".iconpicker-items").append(e.attr("title","."+this.options.icons[d]))}return this.popover.find(".popover-content").append(this.iconpicker),this.iconpicker},_isEventInsideIconpicker:function(b){var c=a(b.target);return!((!c.hasClass("iconpicker-element")||c.hasClass("iconpicker-element")&&!c.is(this.element))&&0===c.parents(".iconpicker-popover").length)},_bindElementEvents:function(){var c=this;this.getSearchInput().on("keyup.iconpicker",function(){c.filter(a(this).val().toLowerCase())}),this.getAcceptButton().on("click.iconpicker",function(){var a=c.iconpicker.find(".iconpicker-selected").get(0);c.update(c.iconpickerValue),c._trigger("iconpickerSelected",{iconpickerItem:a,iconpickerValue:c.iconpickerValue}),c.isInline()||c.hide()}),this.getCancelButton().on("click.iconpicker",function(){c.isInline()||c.hide()}),this.element.on("focus.iconpicker",function(a){c.show(),a.stopPropagation()}),this.hasComponent()&&this.component.on("click.iconpicker",function(){c.toggle()}),this.hasInput()&&this.input.on("keyup.iconpicker",function(d){b.inArray(d.keyCode,[38,40,37,39,16,17,18,9,8,91,93,20,46,186,190,46,78,188,44,86])?c._updateFormGroupStatus(!1!==c.getValid(this.value)):c.update(),!0===c.options.inputSearch&&c.filter(a(this).val().toLowerCase())})},_bindWindowEvents:function(){var b=a(window.document),c=this,d=".iconpicker.inst"+this._id;return a(window).on("resize.iconpicker"+d+" orientationchange.iconpicker"+d,function(a){c.popover.hasClass("in")&&c.updatePlacement()}),c.isInline()||b.on("mouseup"+d,function(a){return c._isEventInsideIconpicker(a)||c.isInline()||c.hide(),a.stopPropagation(),a.preventDefault(),!1}),!1},_unbindElementEvents:function(){this.popover.off(".iconpicker"),this.element.off(".iconpicker"),this.hasInput()&&this.input.off(".iconpicker"),this.hasComponent()&&this.component.off(".iconpicker"),this.hasContainer()&&this.container.off(".iconpicker")},_unbindWindowEvents:function(){a(window).off(".iconpicker.inst"+this._id),a(window.document).off(".iconpicker.inst"+this._id)},updatePlacement:function(b,c){b=b||this.options.placement,this.options.placement=b,c=c||this.options.collision,c=!0===c?"flip":c;var d={at:"right bottom",my:"right top",of:this.hasInput()&&!this.isInputGroup()?this.input:this.container,collision:!0===c?"flip":c,within:window};if(this.popover.removeClass("inline topLeftCorner topLeft top topRight topRightCorner rightTop right rightBottom bottomRight bottomRightCorner bottom bottomLeft bottomLeftCorner leftBottom left leftTop"),"object"==typeof b)return this.popover.pos(a.extend({},d,b));switch(b){case"inline":d=!1;break;case"topLeftCorner":d.my="right bottom",d.at="left top";break;case"topLeft":d.my="left bottom",d.at="left top";break;case"top":d.my="center bottom",d.at="center top";break;case"topRight":d.my="right bottom",d.at="right top";break;case"topRightCorner":d.my="left bottom",d.at="right top";break;case"rightTop":d.my="left bottom",d.at="right center";break;case"right":d.my="left center",d.at="right center";break;case"rightBottom":d.my="left top",d.at="right center";break;case"bottomRightCorner":d.my="left top",d.at="right bottom";break;case"bottomRight":d.my="right top",d.at="right bottom";break;case"bottom":d.my="center top",d.at="center bottom";break;case"bottomLeft":d.my="left top",d.at="left bottom";break;case"bottomLeftCorner":d.my="right top",d.at="left bottom";break;case"leftBottom":d.my="right top",d.at="left center";break;case"left":d.my="right center",d.at="left center";break;case"leftTop":d.my="right bottom",d.at="left center";break;default:return!1}return this.popover.css({display:"inline"===this.options.placement?"":"block"}),!1!==d?this.popover.pos(d).css("maxWidth",a(window).width()-this.container.offset().left-5):this.popover.css({top:"auto",right:"auto",bottom:"auto",left:"auto",maxWidth:"none"}),this.popover.addClass(this.options.placement),!0},_updateComponents:function(){if(this.iconpicker.find(".iconpicker-item.iconpicker-selected").removeClass("iconpicker-selected "+this.options.selectedCustomClass),this.iconpickerValue&&this.iconpicker.find("."+this.options.fullClassFormatter(this.iconpickerValue).replace(/ /g,".")).parent().addClass("iconpicker-selected "+this.options.selectedCustomClass),this.hasComponent()){var a=this.component.find("i");a.length>0?a.attr("class",this.options.fullClassFormatter(this.iconpickerValue)):this.component.html(this.getHtml())}},_updateFormGroupStatus:function(a){return!!this.hasInput()&&(!1!==a?this.input.parents(".form-group:first").removeClass("has-error"):this.input.parents(".form-group:first").addClass("has-error"),!0)},getValid:function(c){b.isString(c)||(c="");var d=""===c;return c=a.trim(c),!(!b.inArray(c,this.options.icons)&&!d)&&c},setValue:function(a){var b=this.getValid(a);return!1!==b?(this.iconpickerValue=b,this._trigger("iconpickerSetValue",{iconpickerValue:b}),this.iconpickerValue):(this._trigger("iconpickerInvalid",{iconpickerValue:a}),!1)},getHtml:function(){return'<i class="'+this.options.fullClassFormatter(this.iconpickerValue)+'"></i>'},setSourceValue:function(a){return a=this.setValue(a),!1!==a&&""!==a&&(this.hasInput()?this.input.val(this.iconpickerValue):this.element.data("iconpickerValue",this.iconpickerValue),this._trigger("iconpickerSetSourceValue",{iconpickerValue:a})),a},getSourceValue:function(a){a=a||this.options.defaultValue;var b=a;return b=this.hasInput()?this.input.val():this.element.data("iconpickerValue"),void 0!==b&&""!==b&&null!==b&&!1!==b||(b=a),b},hasInput:function(){return!1!==this.input},isInputSearch:function(){return this.hasInput()&&!0===this.options.inputSearch},isInputGroup:function(){return this.container.is(".input-group")},isDropdownMenu:function(){return this.container.is(".dropdown-menu")},hasSeparatedSearchInput:function(){return!1!==this.options.templates.search&&!this.isInputSearch()},hasComponent:function(){return!1!==this.component},hasContainer:function(){return!1!==this.container},getAcceptButton:function(){return this.popover.find(".iconpicker-btn-accept")},getCancelButton:function(){return this.popover.find(".iconpicker-btn-cancel")},getSearchInput:function(){return this.popover.find(".iconpicker-search")},filter:function(c){if(b.isEmpty(c))return this.iconpicker.find(".iconpicker-item").show(),a(!1);var d=[];return this.iconpicker.find(".iconpicker-item").each(function(){var b=a(this),e=b.attr("title").toLowerCase(),f=!1;try{f=new RegExp(c,"g")}catch(a){f=!1}!1!==f&&e.match(f)?(d.push(b),b.show()):b.hide()}),d},show:function(){if(this.popover.hasClass("in"))return!1;a.iconpicker.batch(a(".iconpicker-popover.in:not(.inline)").not(this.popover),"hide"),this._trigger("iconpickerShow"),this.updatePlacement(),this.popover.addClass("in"),setTimeout(a.proxy(function(){this.popover.css("display",this.isInline()?"":"block"),this._trigger("iconpickerShown")},this),this.options.animation?300:1)},hide:function(){if(!this.popover.hasClass("in"))return!1;this._trigger("iconpickerHide"),this.popover.removeClass("in"),setTimeout(a.proxy(function(){this.popover.css("display","none"),this.getSearchInput().val(""),this.filter(""),this._trigger("iconpickerHidden")},this),this.options.animation?300:1)},toggle:function(){this.popover.is(":visible")?this.hide():this.show(!0)},update:function(a,b){return a=a||this.getSourceValue(this.iconpickerValue),this._trigger("iconpickerUpdate"),!0===b?a=this.setValue(a):(a=this.setSourceValue(a),this._updateFormGroupStatus(!1!==a)),!1!==a&&this._updateComponents(),this._trigger("iconpickerUpdated"),a},destroy:function(){this._trigger("iconpickerDestroy"),this.element.removeData("iconpicker").removeData("iconpickerValue").removeClass("iconpicker-element"),this._unbindElementEvents(),this._unbindWindowEvents(),a(this.popover).remove(),this._trigger("iconpickerDestroyed")},disable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!0),!0)},enable:function(){return!!this.hasInput()&&(this.input.prop("disabled",!1),!0)},isDisabled:function(){return!!this.hasInput()&&!0===this.input.prop("disabled")},isInline:function(){return"inline"===this.options.placement||this.popover.hasClass("inline")}},a.iconpicker=c,a.fn.iconpicker=function(b){return this.each(function(){var d=a(this);d.data("iconpicker")||d.data("iconpicker",new c(this,"object"==typeof b?b:{}))})},c.defaultOptions.icons=["fa-500px","fa-address-book","fa-address-book-o","fa-address-card","fa-address-card-o","fa-adjust","fa-adn","fa-align-center","fa-align-justify","fa-align-left","fa-align-right","fa-amazon","fa-ambulance","fa-american-sign-language-interpreting","fa-anchor","fa-android","fa-angellist","fa-angle-double-down","fa-angle-double-left","fa-angle-double-right","fa-angle-double-up","fa-angle-down","fa-angle-left","fa-angle-right","fa-angle-up","fa-apple","fa-archive","fa-area-chart","fa-arrow-circle-down","fa-arrow-circle-left","fa-arrow-circle-o-down","fa-arrow-circle-o-left","fa-arrow-circle-o-right","fa-arrow-circle-o-up","fa-arrow-circle-right","fa-arrow-circle-up","fa-arrow-down","fa-arrow-left","fa-arrow-right","fa-arrow-up","fa-arrows","fa-arrows-alt","fa-arrows-h","fa-arrows-v","fa-asl-interpreting","fa-assistive-listening-systems","fa-asterisk","fa-at","fa-audio-description","fa-automobile","fa-backward","fa-balance-scale","fa-ban","fa-bandcamp","fa-bank","fa-bar-chart","fa-bar-chart-o","fa-barcode","fa-bars","fa-bath","fa-bathtub","fa-battery","fa-battery-0","fa-battery-1","fa-battery-2","fa-battery-3","fa-battery-4","fa-battery-empty","fa-battery-full","fa-battery-half","fa-battery-quarter","fa-battery-three-quarters","fa-bed","fa-beer","fa-behance","fa-behance-square","fa-bell","fa-bell-o","fa-bell-slash","fa-bell-slash-o","fa-bicycle","fa-binoculars","fa-birthday-cake","fa-bitbucket","fa-bitbucket-square","fa-bitcoin","fa-black-tie","fa-blind","fa-bluetooth","fa-bluetooth-b","fa-bold","fa-bolt","fa-bomb","fa-book","fa-bookmark","fa-bookmark-o","fa-braille","fa-briefcase","fa-btc","fa-bug","fa-building","fa-building-o","fa-bullhorn","fa-bullseye","fa-bus","fa-buysellads","fa-cab","fa-calculator","fa-calendar","fa-calendar-check-o","fa-calendar-minus-o","fa-calendar-o","fa-calendar-plus-o","fa-calendar-times-o","fa-camera","fa-camera-retro","fa-car","fa-caret-down","fa-caret-left","fa-caret-right","fa-caret-square-o-down","fa-caret-square-o-left","fa-caret-square-o-right","fa-caret-square-o-up","fa-caret-up","fa-cart-arrow-down","fa-cart-plus","fa-cc","fa-cc-amex","fa-cc-diners-club","fa-cc-discover","fa-cc-jcb","fa-cc-mastercard","fa-cc-paypal","fa-cc-stripe","fa-cc-visa","fa-certificate","fa-chain","fa-chain-broken","fa-check","fa-check-circle","fa-check-circle-o","fa-check-square","fa-check-square-o","fa-chevron-circle-down","fa-chevron-circle-left","fa-chevron-circle-right","fa-chevron-circle-up","fa-chevron-down","fa-chevron-left","fa-chevron-right","fa-chevron-up","fa-child","fa-chrome","fa-circle","fa-circle-o","fa-circle-o-notch","fa-circle-thin","fa-clipboard","fa-clock-o","fa-clone","fa-close","fa-cloud","fa-cloud-download","fa-cloud-upload","fa-cny","fa-code","fa-code-fork","fa-codepen","fa-codiepie","fa-coffee","fa-cog","fa-cogs","fa-columns","fa-comment","fa-comment-o","fa-commenting","fa-commenting-o","fa-comments","fa-comments-o","fa-compass","fa-compress","fa-connectdevelop","fa-contao","fa-copy","fa-copyright","fa-creative-commons","fa-credit-card","fa-credit-card-alt","fa-crop","fa-crosshairs","fa-css3","fa-cube","fa-cubes","fa-cut","fa-cutlery","fa-dashboard","fa-dashcube","fa-database","fa-deaf","fa-deafness","fa-dedent","fa-delicious","fa-desktop","fa-deviantart","fa-diamond","fa-digg","fa-dollar","fa-dot-circle-o","fa-download","fa-dribbble","fa-drivers-license","fa-drivers-license-o","fa-dropbox","fa-drupal","fa-edge","fa-edit","fa-eercast","fa-eject","fa-ellipsis-h","fa-ellipsis-v","fa-empire","fa-envelope","fa-envelope-o","fa-envelope-open","fa-envelope-open-o","fa-envelope-square","fa-envira","fa-eraser","fa-etsy","fa-eur","fa-euro","fa-exchange","fa-exclamation","fa-exclamation-circle","fa-exclamation-triangle","fa-expand","fa-expeditedssl","fa-external-link","fa-external-link-square","fa-eye","fa-eye-slash","fa-eyedropper","fa-fa","fa-facebook","fa-facebook-f","fa-facebook-official","fa-facebook-square","fa-fast-backward","fa-fast-forward","fa-fax","fa-feed","fa-female","fa-fighter-jet","fa-file","fa-file-archive-o","fa-file-audio-o","fa-file-code-o","fa-file-excel-o","fa-file-image-o","fa-file-movie-o","fa-file-o","fa-file-pdf-o","fa-file-photo-o","fa-file-picture-o","fa-file-powerpoint-o","fa-file-sound-o","fa-file-text","fa-file-text-o","fa-file-video-o","fa-file-word-o","fa-file-zip-o","fa-files-o","fa-film","fa-filter","fa-fire","fa-fire-extinguisher","fa-firefox","fa-first-order","fa-flag","fa-flag-checkered","fa-flag-o","fa-flash","fa-flask","fa-flickr","fa-floppy-o","fa-folder","fa-folder-o","fa-folder-open","fa-folder-open-o","fa-font","fa-font-awesome","fa-fonticons","fa-fort-awesome","fa-forumbee","fa-forward","fa-foursquare","fa-free-code-camp","fa-frown-o","fa-futbol-o","fa-gamepad","fa-gavel","fa-gbp","fa-ge","fa-gear","fa-gears","fa-genderless","fa-get-pocket","fa-gg","fa-gg-circle","fa-gift","fa-git","fa-git-square","fa-github","fa-github-alt","fa-github-square","fa-gitlab","fa-gittip","fa-glass","fa-glide","fa-glide-g","fa-globe","fa-google","fa-google-plus","fa-google-plus-circle","fa-google-plus-official","fa-google-plus-square","fa-google-wallet","fa-graduation-cap","fa-gratipay","fa-grav","fa-group","fa-h-square","fa-hacker-news","fa-hand-grab-o","fa-hand-lizard-o","fa-hand-o-down","fa-hand-o-left","fa-hand-o-right","fa-hand-o-up","fa-hand-paper-o","fa-hand-peace-o","fa-hand-pointer-o","fa-hand-rock-o","fa-hand-scissors-o","fa-hand-spock-o","fa-hand-stop-o","fa-handshake-o","fa-hard-of-hearing","fa-hashtag","fa-hdd-o","fa-header","fa-headphones","fa-heart","fa-heart-o","fa-heartbeat","fa-history","fa-home","fa-hospital-o","fa-hotel","fa-hourglass","fa-hourglass-1","fa-hourglass-2","fa-hourglass-3","fa-hourglass-end","fa-hourglass-half","fa-hourglass-o","fa-hourglass-start","fa-houzz","fa-html5","fa-i-cursor","fa-id-badge","fa-id-card","fa-id-card-o","fa-ils","fa-image","fa-imdb","fa-inbox","fa-indent","fa-industry","fa-info","fa-info-circle","fa-inr","fa-instagram","fa-institution","fa-internet-explorer","fa-intersex","fa-ioxhost","fa-italic","fa-joomla","fa-jpy","fa-jsfiddle","fa-key","fa-keyboard-o","fa-krw","fa-language","fa-laptop","fa-lastfm","fa-lastfm-square","fa-leaf","fa-leanpub","fa-legal","fa-lemon-o","fa-level-down","fa-level-up","fa-life-bouy","fa-life-buoy","fa-life-ring","fa-life-saver","fa-lightbulb-o","fa-line-chart","fa-link","fa-linkedin","fa-linkedin-square","fa-linode","fa-linux","fa-list","fa-list-alt","fa-list-ol","fa-list-ul","fa-location-arrow","fa-lock","fa-long-arrow-down","fa-long-arrow-left","fa-long-arrow-right","fa-long-arrow-up","fa-low-vision","fa-magic","fa-magnet","fa-mail-forward","fa-mail-reply","fa-mail-reply-all","fa-male","fa-map","fa-map-marker","fa-map-o","fa-map-pin","fa-map-signs","fa-mars","fa-mars-double","fa-mars-stroke","fa-mars-stroke-h","fa-mars-stroke-v","fa-maxcdn","fa-meanpath","fa-medium","fa-medkit","fa-meetup","fa-meh-o","fa-mercury","fa-microchip","fa-microphone","fa-microphone-slash","fa-minus","fa-minus-circle","fa-minus-square","fa-minus-square-o","fa-mixcloud","fa-mobile","fa-mobile-phone","fa-modx","fa-money","fa-moon-o","fa-mortar-board","fa-motorcycle","fa-mouse-pointer","fa-music","fa-navicon","fa-neuter","fa-newspaper-o","fa-object-group","fa-object-ungroup","fa-odnoklassniki","fa-odnoklassniki-square","fa-opencart","fa-openid","fa-opera","fa-optin-monster","fa-outdent","fa-pagelines","fa-paint-brush","fa-paper-plane","fa-paper-plane-o","fa-paperclip","fa-paragraph","fa-paste","fa-pause","fa-pause-circle","fa-pause-circle-o","fa-paw","fa-paypal","fa-pencil","fa-pencil-square","fa-pencil-square-o","fa-percent","fa-phone","fa-phone-square","fa-photo","fa-picture-o","fa-pie-chart","fa-pied-piper","fa-pied-piper-alt","fa-pied-piper-pp","fa-pinterest","fa-pinterest-p","fa-pinterest-square","fa-plane","fa-play","fa-play-circle","fa-play-circle-o","fa-plug","fa-plus","fa-plus-circle","fa-plus-square","fa-plus-square-o","fa-podcast","fa-power-off","fa-print","fa-product-hunt","fa-puzzle-piece","fa-qq","fa-qrcode","fa-question","fa-question-circle","fa-question-circle-o","fa-quora","fa-quote-left","fa-quote-right","fa-ra","fa-random","fa-ravelry","fa-rebel","fa-recycle","fa-reddit","fa-reddit-alien","fa-reddit-square","fa-refresh","fa-registered","fa-remove","fa-renren","fa-reorder","fa-repeat","fa-reply","fa-reply-all","fa-resistance","fa-retweet","fa-rmb","fa-road","fa-rocket","fa-rotate-left","fa-rotate-right","fa-rouble","fa-rss","fa-rss-square","fa-rub","fa-ruble","fa-rupee","fa-s15","fa-safari","fa-save","fa-scissors","fa-scribd","fa-search","fa-search-minus","fa-search-plus","fa-sellsy","fa-send","fa-send-o","fa-server","fa-share","fa-share-alt","fa-share-alt-square","fa-share-square","fa-share-square-o","fa-shekel","fa-sheqel","fa-shield","fa-ship","fa-shirtsinbulk","fa-shopping-bag","fa-shopping-basket","fa-shopping-cart","fa-shower","fa-sign-in","fa-sign-language","fa-sign-out","fa-signal","fa-signing","fa-simplybuilt","fa-sitemap","fa-skyatlas","fa-skype","fa-slack","fa-sliders","fa-slideshare","fa-smile-o","fa-snapchat","fa-snapchat-ghost","fa-snapchat-square","fa-snowflake-o","fa-soccer-ball-o","fa-sort","fa-sort-alpha-asc","fa-sort-alpha-desc","fa-sort-amount-asc","fa-sort-amount-desc","fa-sort-asc","fa-sort-desc","fa-sort-down","fa-sort-numeric-asc","fa-sort-numeric-desc","fa-sort-up","fa-soundcloud","fa-space-shuttle","fa-spinner","fa-spoon","fa-spotify","fa-square","fa-square-o","fa-stack-exchange","fa-stack-overflow","fa-star","fa-star-half","fa-star-half-empty","fa-star-half-full","fa-star-half-o","fa-star-o","fa-steam","fa-steam-square","fa-step-backward","fa-step-forward","fa-stethoscope","fa-sticky-note","fa-sticky-note-o","fa-stop","fa-stop-circle","fa-stop-circle-o","fa-street-view","fa-strikethrough","fa-stumbleupon","fa-stumbleupon-circle","fa-subscript","fa-subway","fa-suitcase","fa-sun-o","fa-superpowers","fa-superscript","fa-support","fa-table","fa-tablet","fa-tachometer","fa-tag","fa-tags","fa-tasks","fa-taxi","fa-telegram","fa-television","fa-tencent-weibo","fa-terminal","fa-text-height","fa-text-width","fa-th","fa-th-large","fa-th-list","fa-themeisle","fa-thermometer","fa-thermometer-0","fa-thermometer-1","fa-thermometer-2","fa-thermometer-3","fa-thermometer-4","fa-thermometer-empty","fa-thermometer-full","fa-thermometer-half","fa-thermometer-quarter","fa-thermometer-three-quarters","fa-thumb-tack","fa-thumbs-down","fa-thumbs-o-down","fa-thumbs-o-up","fa-thumbs-up","fa-ticket","fa-times","fa-times-circle","fa-times-circle-o","fa-times-rectangle","fa-times-rectangle-o","fa-tint","fa-toggle-down","fa-toggle-left","fa-toggle-off","fa-toggle-on","fa-toggle-right","fa-toggle-up","fa-trademark","fa-train","fa-transgender","fa-transgender-alt","fa-trash","fa-trash-o","fa-tree","fa-trello","fa-tripadvisor","fa-trophy","fa-truck","fa-try","fa-tty","fa-tumblr","fa-tumblr-square","fa-turkish-lira","fa-tv","fa-twitch","fa-twitter","fa-twitter-square","fa-umbrella","fa-underline","fa-undo","fa-universal-access","fa-university","fa-unlink","fa-unlock","fa-unlock-alt","fa-unsorted","fa-upload","fa-usb","fa-usd","fa-user","fa-user-circle","fa-user-circle-o","fa-user-md","fa-user-o","fa-user-plus","fa-user-secret","fa-user-times","fa-users","fa-vcard","fa-vcard-o","fa-venus","fa-venus-double","fa-venus-mars","fa-viacoin","fa-viadeo","fa-viadeo-square","fa-video-camera","fa-vimeo","fa-vimeo-square","fa-vine","fa-vk","fa-volume-control-phone","fa-volume-down","fa-volume-off","fa-volume-up","fa-warning","fa-wechat","fa-weibo","fa-weixin","fa-whatsapp","fa-wheelchair","fa-wheelchair-alt","fa-wifi","fa-wikipedia-w","fa-window-close","fa-window-close-o","fa-window-maximize","fa-window-minimize","fa-window-restore","fa-windows","fa-won","fa-wordpress","fa-wpbeginner","fa-wpexplorer","fa-wpforms","fa-wrench","fa-xing","fa-xing-square","fa-y-combinator","fa-y-combinator-square","fa-yahoo","fa-yc","fa-yc-square","fa-yelp","fa-yen","fa-yoast","fa-youtube","fa-youtube-play","fa-youtube-square"]}); |
@@ -16,3 +16,3 @@ { | ||
"permissions": [], | ||
"content_security_policy":"script-src 'self' https://netdna.bootstrapcdn.com https://code.jquery.com https://itsjavi.com; object-src 'self'" | ||
"content_security_policy":"script-src 'self' https://netdna.bootstrapcdn.com https://code.jquery.com https://farbelous.github.io; object-src 'self'" | ||
} |
/*! | ||
* Font Awesome Icon Picker | ||
* https://itsjavi.com/fontawesome-iconpicker/ | ||
* https://farbelous.github.io/fontawesome-iconpicker/ | ||
* | ||
* Originally written by (c) 2016 Javi Aguilar | ||
* Licensed under the MIT License | ||
* https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE | ||
* https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE | ||
* | ||
@@ -77,2 +77,2 @@ */ | ||
getRemoteCssRules('https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css'); | ||
}); | ||
}); |
{ | ||
"name": "fontawesome-iconpicker", | ||
"version": "1.3.0", | ||
"version": "1.3.1", | ||
"description": "Font Awesome Icon Picker plugin for Twitter Bootstrap", | ||
"homepage": "https://itsjavi.com/fontawesome-iconpicker/", | ||
"homepage": "https://farbelous.github.io/fontawesome-iconpicker/", | ||
"repository": { | ||
"type": "git", | ||
"url": "git@github.com:itsjavi/fontawesome-iconpicker.git" | ||
"url": "git@github.com:farbelous/fontawesome-iconpicker.git" | ||
}, | ||
"main": "dist/js/fontawesome-iconpicker.js", | ||
"bugs": { | ||
"url": "https://github.com/itsjavi/fontawesome-iconpicker/issues" | ||
"url": "https://github.com/farbelous/fontawesome-iconpicker/issues" | ||
}, | ||
@@ -25,3 +25,3 @@ "keywords": [ | ||
"type": "MIT", | ||
"url": "https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE" | ||
"url": "https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE" | ||
} | ||
@@ -28,0 +28,0 @@ ], |
@@ -5,7 +5,7 @@ fontawesome-iconpicker | ||
Font Awesome Icon Picker is a fully customizable plugin for Twitter Bootstrap, | ||
with a powerful base API, based on [bootstrap-popover-picker](https://itsjavi.com/bootstrap-popover-picker/) | ||
with a powerful base API, based on [bootstrap-popover-picker](https://farbelous.github.io/bootstrap-popover-picker/) | ||
You can use Font Awesome or another font icon set of your choice (icon list is totally customizable). | ||
[View demos](https://itsjavi.com/fontawesome-iconpicker/) | ||
[View demos](https://farbelous.github.io/fontawesome-iconpicker/) | ||
@@ -63,3 +63,3 @@ ## Instantiation | ||
D C B A 9 | ||
0. inline (no placement, display as inline-block) | ||
@@ -130,2 +130,2 @@ 1. topLeftCorner | ||
- [x] Ability to mix various class prefixes and use a customizable class formatter function | ||
- [ ] ~~Ability to select and copy the icon character (the would need to be hardcoded in js)~~ (Use the chrome extension) | ||
- [ ] ~~Ability to select and copy the icon character (the would need to be hardcoded in js)~~ (Use the chrome extension) |
/*! | ||
* Font Awesome Icon Picker | ||
* https://itsjavi.com/fontawesome-iconpicker/ | ||
* https://farbelous.github.io/fontawesome-iconpicker/ | ||
* | ||
* Originally written by (c) 2016 Javi Aguilar | ||
* Licensed under the MIT License | ||
* https://github.com/itsjavi/fontawesome-iconpicker/blob/master/LICENSE | ||
* https://github.com/farbelous/fontawesome-iconpicker/blob/master/LICENSE | ||
* | ||
@@ -73,3 +73,3 @@ */ | ||
// Is the element an input? Should we search inside for any input? | ||
// Is the element an input? Should we search inside for any input? | ||
this.input = (this.element.is('input,textarea') ? this.element.addClass('iconpicker-input') : false); | ||
@@ -388,3 +388,3 @@ if (this.input === false) { | ||
of: (this.hasInput() && !this.isInputGroup()) ? this.input : this.container, | ||
// collision: When the positioned element overflows the window (or within element) | ||
// collision: When the positioned element overflows the window (or within element) | ||
// in some direction, move it to an alternative position. | ||
@@ -391,0 +391,0 @@ collision: (collision === true ? 'flip' : collision), |
@@ -1,532 +0,581 @@ | ||
/*! | ||
* .pos() plugin based on jQuery UI Position 1.10.4, renamed to avoid | ||
* problems with jQuery native .position(), and added some triggers when position | ||
* collapses | ||
* | ||
/*! jQuery UI - v1.12.1 - 2017-08-12 | ||
* http://jqueryui.com | ||
* | ||
* Copyright 2014 jQuery Foundation and other contributors | ||
* Released under the MIT license. | ||
* http://jquery.org/license | ||
* | ||
* http://api.jqueryui.com/position/ | ||
*/ | ||
(function($, undefined) { | ||
* Includes: position.js | ||
* Copyright jQuery Foundation and other contributors; Licensed MIT */ | ||
$.ui = $.ui || {}; | ||
(function(factory) { | ||
if (typeof define === "function" && define.amd) { | ||
var cachedScrollbarWidth, | ||
max = Math.max, | ||
abs = Math.abs, | ||
round = Math.round, | ||
rhorizontal = /left|center|right/, | ||
rvertical = /top|center|bottom/, | ||
roffset = /[\+\-]\d+(\.[\d]+)?%?/, | ||
rposition = /^\w+/, | ||
rpercent = /%$/, | ||
_position = $.fn.pos; | ||
// AMD. Register as an anonymous module. | ||
define(["jquery"], factory); | ||
} else { | ||
function getOffsets(offsets, width, height) { | ||
return [ | ||
parseFloat(offsets[0]) * (rpercent.test(offsets[0]) ? width / 100 : 1), | ||
parseFloat(offsets[1]) * (rpercent.test(offsets[1]) ? height / 100 : 1) | ||
]; | ||
// Browser globals | ||
factory(jQuery); | ||
} | ||
}(function($) { | ||
function parseCss(element, property) { | ||
return parseInt($.css(element, property), 10) || 0; | ||
} | ||
$.ui = $.ui || {}; | ||
function getDimensions(elem) { | ||
var raw = elem[0]; | ||
if (raw.nodeType === 9) { | ||
return { | ||
width: elem.width(), | ||
height: elem.height(), | ||
offset: { | ||
top: 0, | ||
left: 0 | ||
} | ||
}; | ||
} | ||
if ($.isWindow(raw)) { | ||
return { | ||
width: elem.width(), | ||
height: elem.height(), | ||
offset: { | ||
top: elem.scrollTop(), | ||
left: elem.scrollLeft() | ||
} | ||
}; | ||
} | ||
if (raw.preventDefault) { | ||
return { | ||
width: 0, | ||
height: 0, | ||
offset: { | ||
top: raw.pageY, | ||
left: raw.pageX | ||
} | ||
}; | ||
} | ||
return { | ||
width: elem.outerWidth(), | ||
height: elem.outerHeight(), | ||
offset: elem.offset() | ||
}; | ||
} | ||
var version = $.ui.version = "1.12.1"; | ||
$.pos = { | ||
scrollbarWidth: function() { | ||
if (cachedScrollbarWidth !== undefined) { | ||
return cachedScrollbarWidth; | ||
} | ||
var w1, w2, | ||
div = $("<div style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'><div style='height:100px;width:auto;'></div></div>"), | ||
innerDiv = div.children()[0]; | ||
$("body").append(div); | ||
w1 = innerDiv.offsetWidth; | ||
div.css("overflow", "scroll"); | ||
/*! | ||
* jQuery UI Position 1.12.1 | ||
* http://jqueryui.com | ||
* | ||
* Copyright jQuery Foundation and other contributors | ||
* Released under the MIT license. | ||
* http://jquery.org/license | ||
* | ||
* http://api.jqueryui.com/position/ | ||
*/ | ||
w2 = innerDiv.offsetWidth; | ||
//>>label: Position | ||
//>>group: Core | ||
//>>description: Positions elements relative to other elements. | ||
//>>docs: http://api.jqueryui.com/position/ | ||
//>>demos: http://jqueryui.com/position/ | ||
if (w1 === w2) { | ||
w2 = div[0].clientWidth; | ||
} | ||
div.remove(); | ||
(function() { | ||
var cachedScrollbarWidth, | ||
max = Math.max, | ||
abs = Math.abs, | ||
rhorizontal = /left|center|right/, | ||
rvertical = /top|center|bottom/, | ||
roffset = /[\+\-]\d+(\.[\d]+)?%?/, | ||
rposition = /^\w+/, | ||
rpercent = /%$/, | ||
_position = $.fn.pos; | ||
return (cachedScrollbarWidth = w1 - w2); | ||
}, | ||
getScrollInfo: function(within) { | ||
var overflowX = within.isWindow || within.isDocument ? "" : | ||
within.element.css("overflow-x"), | ||
overflowY = within.isWindow || within.isDocument ? "" : | ||
within.element.css("overflow-y"), | ||
hasOverflowX = overflowX === "scroll" || | ||
(overflowX === "auto" && within.width < within.element[0].scrollWidth), | ||
hasOverflowY = overflowY === "scroll" || | ||
(overflowY === "auto" && within.height < within.element[0].scrollHeight); | ||
function getOffsets(offsets, width, height) { | ||
return [ | ||
parseFloat(offsets[0]) * (rpercent.test(offsets[0]) ? width / 100 : 1), | ||
parseFloat(offsets[1]) * (rpercent.test(offsets[1]) ? height / 100 : 1) | ||
]; | ||
} | ||
function parseCss(element, property) { | ||
return parseInt($.css(element, property), 10) || 0; | ||
} | ||
function getDimensions(elem) { | ||
var raw = elem[0]; | ||
if (raw.nodeType === 9) { | ||
return { | ||
width: elem.width(), | ||
height: elem.height(), | ||
offset: { | ||
top: 0, | ||
left: 0 | ||
} | ||
}; | ||
} | ||
if ($.isWindow(raw)) { | ||
return { | ||
width: elem.width(), | ||
height: elem.height(), | ||
offset: { | ||
top: elem.scrollTop(), | ||
left: elem.scrollLeft() | ||
} | ||
}; | ||
} | ||
if (raw.preventDefault) { | ||
return { | ||
width: 0, | ||
height: 0, | ||
offset: { | ||
top: raw.pageY, | ||
left: raw.pageX | ||
} | ||
}; | ||
} | ||
return { | ||
width: hasOverflowY ? $.pos.scrollbarWidth() : 0, | ||
height: hasOverflowX ? $.pos.scrollbarWidth() : 0 | ||
width: elem.outerWidth(), | ||
height: elem.outerHeight(), | ||
offset: elem.offset() | ||
}; | ||
}, | ||
getWithinInfo: function(element) { | ||
var withinElement = $(element || window), | ||
isWindow = $.isWindow(withinElement[0]), | ||
isDocument = !!withinElement[0] && withinElement[0].nodeType === 9; | ||
return { | ||
element: withinElement, | ||
isWindow: isWindow, | ||
isDocument: isDocument, | ||
offset: withinElement.offset() || { | ||
left: 0, | ||
top: 0 | ||
}, | ||
scrollLeft: withinElement.scrollLeft(), | ||
scrollTop: withinElement.scrollTop(), | ||
width: isWindow ? withinElement.width() : withinElement.outerWidth(), | ||
height: isWindow ? withinElement.height() : withinElement.outerHeight() | ||
}; | ||
} | ||
}; | ||
$.fn.pos = function(options) { | ||
if (!options || !options.of) { | ||
return _position.apply(this, arguments); | ||
} | ||
$.pos = { | ||
scrollbarWidth: function() { | ||
if (cachedScrollbarWidth !== undefined) { | ||
return cachedScrollbarWidth; | ||
} | ||
var w1, w2, | ||
div = $("<div " + | ||
"style='display:block;position:absolute;width:50px;height:50px;overflow:hidden;'>" + | ||
"<div style='height:100px;width:auto;'></div></div>"), | ||
innerDiv = div.children()[0]; | ||
// make a copy, we don't want to modify arguments | ||
options = $.extend({}, options); | ||
$("body").append(div); | ||
w1 = innerDiv.offsetWidth; | ||
div.css("overflow", "scroll"); | ||
var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, | ||
target = $(options.of), | ||
within = $.pos.getWithinInfo(options.within), | ||
scrollInfo = $.pos.getScrollInfo(within), | ||
collision = (options.collision || "flip").split(" "), | ||
offsets = {}; | ||
w2 = innerDiv.offsetWidth; | ||
dimensions = getDimensions(target); | ||
if (target[0].preventDefault) { | ||
// force left top to allow flipping | ||
options.at = "left top"; | ||
} | ||
targetWidth = dimensions.width; | ||
targetHeight = dimensions.height; | ||
targetOffset = dimensions.offset; | ||
// clone to reuse original targetOffset later | ||
basePosition = $.extend({}, targetOffset); | ||
if (w1 === w2) { | ||
w2 = div[0].clientWidth; | ||
} | ||
// force my and at to have valid horizontal and vertical positions | ||
// if a value is missing or invalid, it will be converted to center | ||
$.each(["my", "at"], function() { | ||
var pos = (options[this] || "").split(" "), | ||
horizontalOffset, | ||
verticalOffset; | ||
div.remove(); | ||
if (pos.length === 1) { | ||
pos = rhorizontal.test(pos[0]) ? | ||
pos.concat(["center"]) : | ||
rvertical.test(pos[0]) ? ["center"].concat(pos) : ["center", "center"]; | ||
return (cachedScrollbarWidth = w1 - w2); | ||
}, | ||
getScrollInfo: function(within) { | ||
var overflowX = within.isWindow || within.isDocument ? "" : | ||
within.element.css("overflow-x"), | ||
overflowY = within.isWindow || within.isDocument ? "" : | ||
within.element.css("overflow-y"), | ||
hasOverflowX = overflowX === "scroll" || | ||
(overflowX === "auto" && within.width < within.element[0].scrollWidth), | ||
hasOverflowY = overflowY === "scroll" || | ||
(overflowY === "auto" && within.height < within.element[0].scrollHeight); | ||
return { | ||
width: hasOverflowY ? $.pos.scrollbarWidth() : 0, | ||
height: hasOverflowX ? $.pos.scrollbarWidth() : 0 | ||
}; | ||
}, | ||
getWithinInfo: function(element) { | ||
var withinElement = $(element || window), | ||
isWindow = $.isWindow(withinElement[0]), | ||
isDocument = !!withinElement[0] && withinElement[0].nodeType === 9, | ||
hasOffset = !isWindow && !isDocument; | ||
return { | ||
element: withinElement, | ||
isWindow: isWindow, | ||
isDocument: isDocument, | ||
offset: hasOffset ? $(element).offset() : { | ||
left: 0, | ||
top: 0 | ||
}, | ||
scrollLeft: withinElement.scrollLeft(), | ||
scrollTop: withinElement.scrollTop(), | ||
width: withinElement.outerWidth(), | ||
height: withinElement.outerHeight() | ||
}; | ||
} | ||
pos[0] = rhorizontal.test(pos[0]) ? pos[0] : "center"; | ||
pos[1] = rvertical.test(pos[1]) ? pos[1] : "center"; | ||
}; | ||
// calculate offsets | ||
horizontalOffset = roffset.exec(pos[0]); | ||
verticalOffset = roffset.exec(pos[1]); | ||
offsets[this] = [ | ||
horizontalOffset ? horizontalOffset[0] : 0, | ||
verticalOffset ? verticalOffset[0] : 0 | ||
]; | ||
$.fn.pos = function(options) { | ||
if (!options || !options.of) { | ||
return _position.apply(this, arguments); | ||
} | ||
// reduce to just the positions without the offsets | ||
options[this] = [ | ||
rposition.exec(pos[0])[0], | ||
rposition.exec(pos[1])[0] | ||
]; | ||
}); | ||
// Make a copy, we don't want to modify arguments | ||
options = $.extend({}, options); | ||
// normalize collision option | ||
if (collision.length === 1) { | ||
collision[1] = collision[0]; | ||
} | ||
var atOffset, targetWidth, targetHeight, targetOffset, basePosition, dimensions, | ||
target = $(options.of), | ||
within = $.pos.getWithinInfo(options.within), | ||
scrollInfo = $.pos.getScrollInfo(within), | ||
collision = (options.collision || "flip").split(" "), | ||
offsets = {}; | ||
if (options.at[0] === "right") { | ||
basePosition.left += targetWidth; | ||
} else if (options.at[0] === "center") { | ||
basePosition.left += targetWidth / 2; | ||
} | ||
dimensions = getDimensions(target); | ||
if (target[0].preventDefault) { | ||
if (options.at[1] === "bottom") { | ||
basePosition.top += targetHeight; | ||
} else if (options.at[1] === "center") { | ||
basePosition.top += targetHeight / 2; | ||
} | ||
// Force left top to allow flipping | ||
options.at = "left top"; | ||
} | ||
targetWidth = dimensions.width; | ||
targetHeight = dimensions.height; | ||
targetOffset = dimensions.offset; | ||
atOffset = getOffsets(offsets.at, targetWidth, targetHeight); | ||
basePosition.left += atOffset[0]; | ||
basePosition.top += atOffset[1]; | ||
// Clone to reuse original targetOffset later | ||
basePosition = $.extend({}, targetOffset); | ||
return this.each(function() { | ||
var collisionPosition, using, | ||
elem = $(this), | ||
elemWidth = elem.outerWidth(), | ||
elemHeight = elem.outerHeight(), | ||
marginLeft = parseCss(this, "marginLeft"), | ||
marginTop = parseCss(this, "marginTop"), | ||
collisionWidth = elemWidth + marginLeft + parseCss(this, "marginRight") + scrollInfo.width, | ||
collisionHeight = elemHeight + marginTop + parseCss(this, "marginBottom") + scrollInfo.height, | ||
position = $.extend({}, basePosition), | ||
myOffset = getOffsets(offsets.my, elem.outerWidth(), elem.outerHeight()); | ||
// Force my and at to have valid horizontal and vertical positions | ||
// if a value is missing or invalid, it will be converted to center | ||
$.each(["my", "at"], function() { | ||
var pos = (options[this] || "").split(" "), | ||
horizontalOffset, | ||
verticalOffset; | ||
if (options.my[0] === "right") { | ||
position.left -= elemWidth; | ||
} else if (options.my[0] === "center") { | ||
position.left -= elemWidth / 2; | ||
if (pos.length === 1) { | ||
pos = rhorizontal.test(pos[0]) ? | ||
pos.concat(["center"]) : | ||
rvertical.test(pos[0]) ? ["center"].concat(pos) : ["center", "center"]; | ||
} | ||
pos[0] = rhorizontal.test(pos[0]) ? pos[0] : "center"; | ||
pos[1] = rvertical.test(pos[1]) ? pos[1] : "center"; | ||
// Calculate offsets | ||
horizontalOffset = roffset.exec(pos[0]); | ||
verticalOffset = roffset.exec(pos[1]); | ||
offsets[this] = [ | ||
horizontalOffset ? horizontalOffset[0] : 0, | ||
verticalOffset ? verticalOffset[0] : 0 | ||
]; | ||
// Reduce to just the positions without the offsets | ||
options[this] = [ | ||
rposition.exec(pos[0])[0], | ||
rposition.exec(pos[1])[0] | ||
]; | ||
}); | ||
// Normalize collision option | ||
if (collision.length === 1) { | ||
collision[1] = collision[0]; | ||
} | ||
if (options.my[1] === "bottom") { | ||
position.top -= elemHeight; | ||
} else if (options.my[1] === "center") { | ||
position.top -= elemHeight / 2; | ||
if (options.at[0] === "right") { | ||
basePosition.left += targetWidth; | ||
} else if (options.at[0] === "center") { | ||
basePosition.left += targetWidth / 2; | ||
} | ||
position.left += myOffset[0]; | ||
position.top += myOffset[1]; | ||
// if the browser doesn't support fractions, then round for consistent results | ||
if (!$.support.offsetFractions) { | ||
position.left = round(position.left); | ||
position.top = round(position.top); | ||
if (options.at[1] === "bottom") { | ||
basePosition.top += targetHeight; | ||
} else if (options.at[1] === "center") { | ||
basePosition.top += targetHeight / 2; | ||
} | ||
collisionPosition = { | ||
marginLeft: marginLeft, | ||
marginTop: marginTop | ||
}; | ||
atOffset = getOffsets(offsets.at, targetWidth, targetHeight); | ||
basePosition.left += atOffset[0]; | ||
basePosition.top += atOffset[1]; | ||
$.each(["left", "top"], function(i, dir) { | ||
if ($.ui.pos[collision[i]]) { | ||
$.ui.pos[collision[i]][dir](position, { | ||
targetWidth: targetWidth, | ||
targetHeight: targetHeight, | ||
elemWidth: elemWidth, | ||
elemHeight: elemHeight, | ||
collisionPosition: collisionPosition, | ||
collisionWidth: collisionWidth, | ||
collisionHeight: collisionHeight, | ||
offset: [atOffset[0] + myOffset[0], atOffset[1] + myOffset[1]], | ||
my: options.my, | ||
at: options.at, | ||
within: within, | ||
elem: elem | ||
}); | ||
return this.each(function() { | ||
var collisionPosition, using, | ||
elem = $(this), | ||
elemWidth = elem.outerWidth(), | ||
elemHeight = elem.outerHeight(), | ||
marginLeft = parseCss(this, "marginLeft"), | ||
marginTop = parseCss(this, "marginTop"), | ||
collisionWidth = elemWidth + marginLeft + parseCss(this, "marginRight") + | ||
scrollInfo.width, | ||
collisionHeight = elemHeight + marginTop + parseCss(this, "marginBottom") + | ||
scrollInfo.height, | ||
position = $.extend({}, basePosition), | ||
myOffset = getOffsets(offsets.my, elem.outerWidth(), elem.outerHeight()); | ||
if (options.my[0] === "right") { | ||
position.left -= elemWidth; | ||
} else if (options.my[0] === "center") { | ||
position.left -= elemWidth / 2; | ||
} | ||
}); | ||
if (options.using) { | ||
// adds feedback as second argument to using callback, if present | ||
using = function(props) { | ||
var left = targetOffset.left - position.left, | ||
right = left + targetWidth - elemWidth, | ||
top = targetOffset.top - position.top, | ||
bottom = top + targetHeight - elemHeight, | ||
feedback = { | ||
target: { | ||
element: target, | ||
left: targetOffset.left, | ||
top: targetOffset.top, | ||
width: targetWidth, | ||
height: targetHeight | ||
}, | ||
element: { | ||
element: elem, | ||
left: position.left, | ||
top: position.top, | ||
width: elemWidth, | ||
height: elemHeight | ||
}, | ||
horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", | ||
vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" | ||
}; | ||
if (targetWidth < elemWidth && abs(left + right) < targetWidth) { | ||
feedback.horizontal = "center"; | ||
} | ||
if (targetHeight < elemHeight && abs(top + bottom) < targetHeight) { | ||
feedback.vertical = "middle"; | ||
} | ||
if (max(abs(left), abs(right)) > max(abs(top), abs(bottom))) { | ||
feedback.important = "horizontal"; | ||
} else { | ||
feedback.important = "vertical"; | ||
} | ||
options.using.call(this, props, feedback); | ||
if (options.my[1] === "bottom") { | ||
position.top -= elemHeight; | ||
} else if (options.my[1] === "center") { | ||
position.top -= elemHeight / 2; | ||
} | ||
position.left += myOffset[0]; | ||
position.top += myOffset[1]; | ||
collisionPosition = { | ||
marginLeft: marginLeft, | ||
marginTop: marginTop | ||
}; | ||
} | ||
elem.offset($.extend(position, { | ||
using: using | ||
})); | ||
}); | ||
}; | ||
$.ui.pos = { | ||
_trigger: function(position, data, name, triggered) { | ||
if (data.elem) { | ||
data.elem.trigger({ | ||
'type': name, | ||
'position': position, | ||
'positionData': data, | ||
'triggered': triggered | ||
$.each(["left", "top"], function(i, dir) { | ||
if ($.ui.pos[collision[i]]) { | ||
$.ui.pos[collision[i]][dir](position, { | ||
targetWidth: targetWidth, | ||
targetHeight: targetHeight, | ||
elemWidth: elemWidth, | ||
elemHeight: elemHeight, | ||
collisionPosition: collisionPosition, | ||
collisionWidth: collisionWidth, | ||
collisionHeight: collisionHeight, | ||
offset: [atOffset[0] + myOffset[0], atOffset[1] + myOffset[1]], | ||
my: options.my, | ||
at: options.at, | ||
within: within, | ||
elem: elem | ||
}); | ||
} | ||
}); | ||
} | ||
}, | ||
fit: { | ||
left: function(position, data) { | ||
$.ui.pos._trigger(position, data, 'posCollide', 'fitLeft'); | ||
var within = data.within, | ||
withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, | ||
outerWidth = within.width, | ||
collisionPosLeft = position.left - data.collisionPosition.marginLeft, | ||
overLeft = withinOffset - collisionPosLeft, | ||
overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, | ||
newOverRight; | ||
// element is wider than within | ||
if (data.collisionWidth > outerWidth) { | ||
// element is initially over the left side of within | ||
if (overLeft > 0 && overRight <= 0) { | ||
newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - withinOffset; | ||
position.left += overLeft - newOverRight; | ||
// element is initially over right side of within | ||
} else if (overRight > 0 && overLeft <= 0) { | ||
position.left = withinOffset; | ||
// element is initially over both left and right sides of within | ||
} else { | ||
if (overLeft > overRight) { | ||
position.left = withinOffset + outerWidth - data.collisionWidth; | ||
if (options.using) { | ||
// Adds feedback as second argument to using callback, if present | ||
using = function(props) { | ||
var left = targetOffset.left - position.left, | ||
right = left + targetWidth - elemWidth, | ||
top = targetOffset.top - position.top, | ||
bottom = top + targetHeight - elemHeight, | ||
feedback = { | ||
target: { | ||
element: target, | ||
left: targetOffset.left, | ||
top: targetOffset.top, | ||
width: targetWidth, | ||
height: targetHeight | ||
}, | ||
element: { | ||
element: elem, | ||
left: position.left, | ||
top: position.top, | ||
width: elemWidth, | ||
height: elemHeight | ||
}, | ||
horizontal: right < 0 ? "left" : left > 0 ? "right" : "center", | ||
vertical: bottom < 0 ? "top" : top > 0 ? "bottom" : "middle" | ||
}; | ||
if (targetWidth < elemWidth && abs(left + right) < targetWidth) { | ||
feedback.horizontal = "center"; | ||
} | ||
if (targetHeight < elemHeight && abs(top + bottom) < targetHeight) { | ||
feedback.vertical = "middle"; | ||
} | ||
if (max(abs(left), abs(right)) > max(abs(top), abs(bottom))) { | ||
feedback.important = "horizontal"; | ||
} else { | ||
position.left = withinOffset; | ||
feedback.important = "vertical"; | ||
} | ||
} | ||
// too far left -> align with left edge | ||
} else if (overLeft > 0) { | ||
position.left += overLeft; | ||
// too far right -> align with right edge | ||
} else if (overRight > 0) { | ||
position.left -= overRight; | ||
// adjust based on position and margin | ||
} else { | ||
position.left = max(position.left - collisionPosLeft, position.left); | ||
options.using.call(this, props, feedback); | ||
}; | ||
} | ||
$.ui.pos._trigger(position, data, 'posCollided', 'fitLeft'); | ||
elem.offset($.extend(position, { | ||
using: using | ||
})); | ||
}); | ||
}; | ||
$.ui.pos = { | ||
_trigger: function(position, data, name, triggered) { | ||
if (data.elem) { | ||
data.elem.trigger({ | ||
'type': name, | ||
'position': position, | ||
'positionData': data, | ||
'triggered': triggered | ||
}); | ||
} | ||
}, | ||
top: function(position, data) { | ||
$.ui.pos._trigger(position, data, 'posCollide', 'fitTop'); | ||
var within = data.within, | ||
withinOffset = within.isWindow ? within.scrollTop : within.offset.top, | ||
outerHeight = data.within.height, | ||
collisionPosTop = position.top - data.collisionPosition.marginTop, | ||
overTop = withinOffset - collisionPosTop, | ||
overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, | ||
newOverBottom; | ||
fit: { | ||
left: function(position, data) { | ||
$.ui.pos._trigger(position, data, 'posCollide', 'fitLeft'); | ||
var within = data.within, | ||
withinOffset = within.isWindow ? within.scrollLeft : within.offset.left, | ||
outerWidth = within.width, | ||
collisionPosLeft = position.left - data.collisionPosition.marginLeft, | ||
overLeft = withinOffset - collisionPosLeft, | ||
overRight = collisionPosLeft + data.collisionWidth - outerWidth - withinOffset, | ||
newOverRight; | ||
// element is taller than within | ||
if (data.collisionHeight > outerHeight) { | ||
// element is initially over the top of within | ||
if (overTop > 0 && overBottom <= 0) { | ||
newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - withinOffset; | ||
position.top += overTop - newOverBottom; | ||
// element is initially over bottom of within | ||
} else if (overBottom > 0 && overTop <= 0) { | ||
position.top = withinOffset; | ||
// element is initially over both top and bottom of within | ||
// Element is wider than within | ||
if (data.collisionWidth > outerWidth) { | ||
// Element is initially over the left side of within | ||
if (overLeft > 0 && overRight <= 0) { | ||
newOverRight = position.left + overLeft + data.collisionWidth - outerWidth - | ||
withinOffset; | ||
position.left += overLeft - newOverRight; | ||
// Element is initially over right side of within | ||
} else if (overRight > 0 && overLeft <= 0) { | ||
position.left = withinOffset; | ||
// Element is initially over both left and right sides of within | ||
} else { | ||
if (overLeft > overRight) { | ||
position.left = withinOffset + outerWidth - data.collisionWidth; | ||
} else { | ||
position.left = withinOffset; | ||
} | ||
} | ||
// Too far left -> align with left edge | ||
} else if (overLeft > 0) { | ||
position.left += overLeft; | ||
// Too far right -> align with right edge | ||
} else if (overRight > 0) { | ||
position.left -= overRight; | ||
// Adjust based on position and margin | ||
} else { | ||
if (overTop > overBottom) { | ||
position.top = withinOffset + outerHeight - data.collisionHeight; | ||
position.left = max(position.left - collisionPosLeft, position.left); | ||
} | ||
$.ui.pos._trigger(position, data, 'posCollided', 'fitLeft'); | ||
}, | ||
top: function(position, data) { | ||
$.ui.pos._trigger(position, data, 'posCollide', 'fitTop'); | ||
var within = data.within, | ||
withinOffset = within.isWindow ? within.scrollTop : within.offset.top, | ||
outerHeight = data.within.height, | ||
collisionPosTop = position.top - data.collisionPosition.marginTop, | ||
overTop = withinOffset - collisionPosTop, | ||
overBottom = collisionPosTop + data.collisionHeight - outerHeight - withinOffset, | ||
newOverBottom; | ||
// Element is taller than within | ||
if (data.collisionHeight > outerHeight) { | ||
// Element is initially over the top of within | ||
if (overTop > 0 && overBottom <= 0) { | ||
newOverBottom = position.top + overTop + data.collisionHeight - outerHeight - | ||
withinOffset; | ||
position.top += overTop - newOverBottom; | ||
// Element is initially over bottom of within | ||
} else if (overBottom > 0 && overTop <= 0) { | ||
position.top = withinOffset; | ||
// Element is initially over both top and bottom of within | ||
} else { | ||
position.top = withinOffset; | ||
if (overTop > overBottom) { | ||
position.top = withinOffset + outerHeight - data.collisionHeight; | ||
} else { | ||
position.top = withinOffset; | ||
} | ||
} | ||
// Too far up -> align with top | ||
} else if (overTop > 0) { | ||
position.top += overTop; | ||
// Too far down -> align with bottom edge | ||
} else if (overBottom > 0) { | ||
position.top -= overBottom; | ||
// Adjust based on position and margin | ||
} else { | ||
position.top = max(position.top - collisionPosTop, position.top); | ||
} | ||
// too far up -> align with top | ||
} else if (overTop > 0) { | ||
position.top += overTop; | ||
// too far down -> align with bottom edge | ||
} else if (overBottom > 0) { | ||
position.top -= overBottom; | ||
// adjust based on position and margin | ||
} else { | ||
position.top = max(position.top - collisionPosTop, position.top); | ||
$.ui.pos._trigger(position, data, 'posCollided', 'fitTop'); | ||
} | ||
$.ui.pos._trigger(position, data, 'posCollided', 'fitTop'); | ||
} | ||
}, | ||
flip: { | ||
left: function(position, data) { | ||
$.ui.pos._trigger(position, data, 'posCollide', 'flipLeft'); | ||
var within = data.within, | ||
withinOffset = within.offset.left + within.scrollLeft, | ||
outerWidth = within.width, | ||
offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, | ||
collisionPosLeft = position.left - data.collisionPosition.marginLeft, | ||
overLeft = collisionPosLeft - offsetLeft, | ||
overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, | ||
myOffset = data.my[0] === "left" ? | ||
-data.elemWidth : | ||
data.my[0] === "right" ? | ||
data.elemWidth : | ||
0, | ||
atOffset = data.at[0] === "left" ? | ||
data.targetWidth : | ||
data.at[0] === "right" ? | ||
-data.targetWidth : | ||
0, | ||
offset = -2 * data.offset[0], | ||
newOverRight, | ||
newOverLeft; | ||
}, | ||
flip: { | ||
left: function(position, data) { | ||
$.ui.pos._trigger(position, data, 'posCollide', 'flipLeft'); | ||
var within = data.within, | ||
withinOffset = within.offset.left + within.scrollLeft, | ||
outerWidth = within.width, | ||
offsetLeft = within.isWindow ? within.scrollLeft : within.offset.left, | ||
collisionPosLeft = position.left - data.collisionPosition.marginLeft, | ||
overLeft = collisionPosLeft - offsetLeft, | ||
overRight = collisionPosLeft + data.collisionWidth - outerWidth - offsetLeft, | ||
myOffset = data.my[0] === "left" ? | ||
-data.elemWidth : | ||
data.my[0] === "right" ? | ||
data.elemWidth : | ||
0, | ||
atOffset = data.at[0] === "left" ? | ||
data.targetWidth : | ||
data.at[0] === "right" ? | ||
-data.targetWidth : | ||
0, | ||
offset = -2 * data.offset[0], | ||
newOverRight, | ||
newOverLeft; | ||
if (overLeft < 0) { | ||
newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - outerWidth - withinOffset; | ||
if (newOverRight < 0 || newOverRight < abs(overLeft)) { | ||
position.left += myOffset + atOffset + offset; | ||
if (overLeft < 0) { | ||
newOverRight = position.left + myOffset + atOffset + offset + data.collisionWidth - | ||
outerWidth - withinOffset; | ||
if (newOverRight < 0 || newOverRight < abs(overLeft)) { | ||
position.left += myOffset + atOffset + offset; | ||
} | ||
} else if (overRight > 0) { | ||
newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + | ||
atOffset + offset - offsetLeft; | ||
if (newOverLeft > 0 || abs(newOverLeft) < overRight) { | ||
position.left += myOffset + atOffset + offset; | ||
} | ||
} | ||
} else if (overRight > 0) { | ||
newOverLeft = position.left - data.collisionPosition.marginLeft + myOffset + atOffset + offset - offsetLeft; | ||
if (newOverLeft > 0 || abs(newOverLeft) < overRight) { | ||
position.left += myOffset + atOffset + offset; | ||
$.ui.pos._trigger(position, data, 'posCollided', 'flipLeft'); | ||
}, | ||
top: function(position, data) { | ||
$.ui.pos._trigger(position, data, 'posCollide', 'flipTop'); | ||
var within = data.within, | ||
withinOffset = within.offset.top + within.scrollTop, | ||
outerHeight = within.height, | ||
offsetTop = within.isWindow ? within.scrollTop : within.offset.top, | ||
collisionPosTop = position.top - data.collisionPosition.marginTop, | ||
overTop = collisionPosTop - offsetTop, | ||
overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, | ||
top = data.my[1] === "top", | ||
myOffset = top ? | ||
-data.elemHeight : | ||
data.my[1] === "bottom" ? | ||
data.elemHeight : | ||
0, | ||
atOffset = data.at[1] === "top" ? | ||
data.targetHeight : | ||
data.at[1] === "bottom" ? | ||
-data.targetHeight : | ||
0, | ||
offset = -2 * data.offset[1], | ||
newOverTop, | ||
newOverBottom; | ||
if (overTop < 0) { | ||
newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - | ||
outerHeight - withinOffset; | ||
if (newOverBottom < 0 || newOverBottom < abs(overTop)) { | ||
position.top += myOffset + atOffset + offset; | ||
} | ||
} else if (overBottom > 0) { | ||
newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + | ||
offset - offsetTop; | ||
if (newOverTop > 0 || abs(newOverTop) < overBottom) { | ||
position.top += myOffset + atOffset + offset; | ||
} | ||
} | ||
$.ui.pos._trigger(position, data, 'posCollided', 'flipTop'); | ||
} | ||
$.ui.pos._trigger(position, data, 'posCollided', 'flipLeft'); | ||
}, | ||
top: function(position, data) { | ||
$.ui.pos._trigger(position, data, 'posCollide', 'flipTop'); | ||
var within = data.within, | ||
withinOffset = within.offset.top + within.scrollTop, | ||
outerHeight = within.height, | ||
offsetTop = within.isWindow ? within.scrollTop : within.offset.top, | ||
collisionPosTop = position.top - data.collisionPosition.marginTop, | ||
overTop = collisionPosTop - offsetTop, | ||
overBottom = collisionPosTop + data.collisionHeight - outerHeight - offsetTop, | ||
top = data.my[1] === "top", | ||
myOffset = top ? | ||
-data.elemHeight : | ||
data.my[1] === "bottom" ? | ||
data.elemHeight : | ||
0, | ||
atOffset = data.at[1] === "top" ? | ||
data.targetHeight : | ||
data.at[1] === "bottom" ? | ||
-data.targetHeight : | ||
0, | ||
offset = -2 * data.offset[1], | ||
newOverTop, | ||
newOverBottom; | ||
if (overTop < 0) { | ||
newOverBottom = position.top + myOffset + atOffset + offset + data.collisionHeight - outerHeight - withinOffset; | ||
if ((position.top + myOffset + atOffset + offset) > overTop && (newOverBottom < 0 || newOverBottom < abs(overTop))) { | ||
position.top += myOffset + atOffset + offset; | ||
} | ||
} else if (overBottom > 0) { | ||
newOverTop = position.top - data.collisionPosition.marginTop + myOffset + atOffset + offset - offsetTop; | ||
if ((position.top + myOffset + atOffset + offset) > overBottom && (newOverTop > 0 || abs(newOverTop) < overBottom)) { | ||
position.top += myOffset + atOffset + offset; | ||
} | ||
flipfit: { | ||
left: function() { | ||
$.ui.pos.flip.left.apply(this, arguments); | ||
$.ui.pos.fit.left.apply(this, arguments); | ||
}, | ||
top: function() { | ||
$.ui.pos.flip.top.apply(this, arguments); | ||
$.ui.pos.fit.top.apply(this, arguments); | ||
} | ||
$.ui.pos._trigger(position, data, 'posCollided', 'flipTop'); | ||
} | ||
}, | ||
flipfit: { | ||
left: function() { | ||
$.ui.pos.flip.left.apply(this, arguments); | ||
$.ui.pos.fit.left.apply(this, arguments); | ||
}, | ||
top: function() { | ||
$.ui.pos.flip.top.apply(this, arguments); | ||
$.ui.pos.fit.top.apply(this, arguments); | ||
}; | ||
// fraction support test | ||
(function() { | ||
var testElement, testElementParent, testElementStyle, offsetLeft, i, | ||
body = document.getElementsByTagName("body")[0], | ||
div = document.createElement("div"); | ||
//Create a "fake body" for testing based on method used in jQuery.support | ||
testElement = document.createElement(body ? "div" : "body"); | ||
testElementStyle = { | ||
visibility: "hidden", | ||
width: 0, | ||
height: 0, | ||
border: 0, | ||
margin: 0, | ||
background: "none" | ||
}; | ||
if (body) { | ||
$.extend(testElementStyle, { | ||
position: "absolute", | ||
left: "-1000px", | ||
top: "-1000px" | ||
}); | ||
} | ||
} | ||
}; | ||
for (i in testElementStyle) { | ||
testElement.style[i] = testElementStyle[i]; | ||
} | ||
testElement.appendChild(div); | ||
testElementParent = body || document.documentElement; | ||
testElementParent.insertBefore(testElement, testElementParent.firstChild); | ||
// fraction support test | ||
(function() { | ||
var testElement, testElementParent, testElementStyle, offsetLeft, i, | ||
body = document.getElementsByTagName("body")[0], | ||
div = document.createElement("div"); | ||
div.style.cssText = "position: absolute; left: 10.7432222px;"; | ||
//Create a "fake body" for testing based on method used in jQuery.support | ||
testElement = document.createElement(body ? "div" : "body"); | ||
testElementStyle = { | ||
visibility: "hidden", | ||
width: 0, | ||
height: 0, | ||
border: 0, | ||
margin: 0, | ||
background: "none" | ||
}; | ||
if (body) { | ||
$.extend(testElementStyle, { | ||
position: "absolute", | ||
left: "-1000px", | ||
top: "-1000px" | ||
}); | ||
} | ||
for (i in testElementStyle) { | ||
testElement.style[i] = testElementStyle[i]; | ||
} | ||
testElement.appendChild(div); | ||
testElementParent = body || document.documentElement; | ||
testElementParent.insertBefore(testElement, testElementParent.firstChild); | ||
offsetLeft = $(div).offset().left; | ||
$.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11; | ||
div.style.cssText = "position: absolute; left: 10.7432222px;"; | ||
testElement.innerHTML = ""; | ||
testElementParent.removeChild(testElement); | ||
})(); | ||
offsetLeft = $(div).offset().left; | ||
$.support.offsetFractions = offsetLeft > 10 && offsetLeft < 11; | ||
testElement.innerHTML = ""; | ||
testElementParent.removeChild(testElement); | ||
})(); | ||
}(jQuery)); | ||
var position = $.ui.position; | ||
})); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
3314143
29
129
2986
1